123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- require 'spec_helper'
- RSpec.describe Msf::Simple::Payload do
- include_context 'Msf::Simple::Framework#modules loading'
- let(:generator_format) { 'raw' }
- let(:generator_opts) {
- {
- 'BadChars' => '',
- 'Encoder' => '',
- 'Options' => { 'LHOST' => '1.1.1.1', 'LPORT' => '8443' } ,
- 'Format' => generator_format,
- 'NoComment' => false,
- 'NopSledSize' => 0,
- 'MaxSize' => 0,
- 'Iterations' => 1,
- 'ForceEncode' => false
- }
- }
- let!(:payload_module) {
- load_and_create_module(
- ancestor_reference_names: %w{
- stagers/windows/reverse_tcp
- stages/windows/meterpreter
- },
- module_type: 'payload',
- reference_name: 'windows/meterpreter/reverse_tcp'
- )
- }
- subject(:payload) {
- described_class.generate_simple(payload_module, generator_opts)
- }
- it { expect { payload }.not_to raise_error }
- # These are languages that are missing a to_comment implementation in Rex::Text.
- UNSUPPORTED_LANGS = %w(vbapplication vbscript)
- (::Msf::Simple::Buffer.transform_formats - UNSUPPORTED_LANGS).each do |format|
- context "when given the transform format '#{format}'" do
- let(:generator_format) { format }
- it { expect { payload }.not_to raise_error }
- end
- end
- end
|