pwn 0.5.20 → 0.5.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0eae675237c1c401d02725100825a91a2a3a526530f168395d586a4c70c18393
4
- data.tar.gz: c75e41212e51d0a547e3902e9d17e0da76736350d0205c6b9bd8a560299fd176
3
+ metadata.gz: 15749f47853a4b45e74230feed45754ace51556f464cf43f37dbb27dad3ede54
4
+ data.tar.gz: fc41034c5b35f20dfa42eca23546d7fbf77e328f705f269b0a0d46169e78c48e
5
5
  SHA512:
6
- metadata.gz: b9c6d09fc541013dbb20f2748b36e0aefe220bd0e16947a94d36c3cc65a8a93fa04fc111c70ea9aee2aff86b2ec3aafb506f49473e5c0dfbaa4b37586af994e9
7
- data.tar.gz: b72b6bab89ea7cbe3e2bd33704cc14758feb55e3e100509e8f827d698efc0db60ac3274c259c95ab6e09612f93b22f6eec13b3b70b43341b82daea304541a671
6
+ metadata.gz: 660c31ae940155bf196aeca986719ecdc74af3e82b83a6a4a99881a04c090483665049313dbb14de645eabc937a1bb6640c198019a70e0ef71fac57c1077959c
7
+ data.tar.gz: 2a9ae878f1b5ea2cd67dd76243d05470f31a299b68c9df2f3c738f17c56a21ec1657753a218204deca7162aed437e3827a188a7d30bbfacc994575629a80f122
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ cd /opt/pwn
37
37
  $ ./install.sh
38
38
  $ ./install.sh ruby-gem
39
39
  $ pwn
40
- pwn[v0.5.20]:001 >>> PWN.help
40
+ pwn[v0.5.22]:001 >>> PWN.help
41
41
  ```
42
42
 
43
43
  [![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
@@ -52,7 +52,7 @@ $ rvm use ruby-3.3.0@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.5.20]:001 >>> PWN.help
55
+ pwn[v0.5.22]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
  If you're using a multi-user install of RVM do:
@@ -62,7 +62,7 @@ $ rvm use ruby-3.3.0@pwn
62
62
  $ rvmsudo gem uninstall --all --executables pwn
63
63
  $ rvmsudo gem install --verbose pwn
64
64
  $ pwn
65
- pwn[v0.5.20]:001 >>> PWN.help
65
+ pwn[v0.5.22]:001 >>> PWN.help
66
66
  ```
67
67
 
68
68
  PWN periodically upgrades to the latest version of Ruby which is reflected in `/opt/pwn/.ruby-version`. The easiest way to upgrade to the latest version of Ruby from a previous PWN installation is to run the following script:
@@ -7,16 +7,18 @@ module PWN
7
7
  # This plugin converts images to readable text
8
8
  module Assembly
9
9
  # Supported Method Parameters::
10
- # PWN::Plugins::Assembly.opcode_to_asm(
11
- # opcodes: 'required - hex escaped opcode(s) (e.g. '\x90\x90\x90')'
10
+ # PWN::Plugins::Assembly.opcodes_to_asm(
11
+ # opcodes: 'required - hex escaped opcode(s) (e.g. "\x90\x90\x90")',
12
+ # arch: 'optional - objdump -i architecture (defaults to i386)'
12
13
  # )
13
14
 
14
15
  public_class_method def self.opcodes_to_asm(opts = {})
15
16
  opcodes = opts[:opcodes]
17
+ arch = opts[:arch] || 'i386'
16
18
 
17
19
  opcodes_tmp = Tempfile.new('pwn_opcodes')
18
20
  File.binwrite(opcodes_tmp.path, opcodes)
19
- `objdump -D #{opcodes_tmp.path}`
21
+ `objdump --disassemble-all --target binary --architecture #{arch} #{opcodes_tmp.path}`
20
22
  rescue StandardError => e
21
23
  raise e
22
24
  ensure
@@ -24,7 +26,7 @@ module PWN
24
26
  end
25
27
 
26
28
  # Supported Method Parameters::
27
- # PWN::Plugins::Assembly.asm_to_opcode(
29
+ # PWN::Plugins::Assembly.asm_to_opcodes(
28
30
  # asm: 'required - assembly instruction(s) (e.g. 'nop\nnop\nnop\njmp rsp\n)'
29
31
  # )
30
32
 
@@ -39,11 +41,12 @@ module PWN
39
41
 
40
42
  asm_tmp_o = "#{asm_tmp.path}.o"
41
43
  system('as', '-o', asm_tmp_o, asm_tmp.path)
42
- `objdump -D #{asm_tmp.path}.o`
44
+ `objdump --disassemble-all #{asm_tmp.path}.o`
43
45
  rescue StandardError => e
44
46
  raise e
45
47
  ensure
46
- FileUtils.rm_f("#{asm_tmp.path}*") if File.exist?(asm_tmp.path)
48
+ files = [asm_tmp.path, asm_tmp_o]
49
+ FileUtils.rm_f(files) if File.exist?(asm_tmp.path)
47
50
  end
48
51
 
49
52
  # Author(s):: 0day Inc. <request.pentest@0dayinc.com>
@@ -59,7 +62,8 @@ module PWN
59
62
  public_class_method def self.help
60
63
  puts "USAGE:
61
64
  #{self}.opcodes_to_asm(
62
- opcodes: 'required - hex escaped opcode(s) (e.g. '\\x90\\x90\\x90')'
65
+ opcodes: 'required - hex escaped opcode(s) (e.g. \"\\x90\\x90\\x90\")',
66
+ arch: 'optional - objdump -i architecture (defaults to i386)'
63
67
  )
64
68
 
65
69
  #{self}.asm_to_opcodes(
data/lib/pwn/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PWN
4
- VERSION = '0.5.20'
4
+ VERSION = '0.5.22'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.20
4
+ version: 0.5.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.