pwn 0.4.704 → 0.4.706

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: 9d620db070015a7a752384a7ab89962a4123d5af5a8fe934b42fdd48fced848e
4
- data.tar.gz: 4fb7055ad49d1c63ae772f29fc580b43f7f306e0756266cb116b387dd14205bc
3
+ metadata.gz: d297206c67aed46fc11f899ebeb049b99268321cfd43de12ad9bdabdbe800e18
4
+ data.tar.gz: 227bc9a6a41c960e7b8d8d9b4901d06dcf5d50fb326967113fedea7352c99dd9
5
5
  SHA512:
6
- metadata.gz: b439cd9b4dd11a9113f68b40413887e026bbe9c3e3b3104f8261158d62a4acb92b797c894d6c1fd5972e9c49ac5c23b8cdbcb010007a635c73aed276f7897f40
7
- data.tar.gz: 11c1ce9cfb9024f51c7e5c23a7a6783c27d306a356d49e00a045989107fd9818da1687f3c607bb6d3092ba13ea719ea644c89d85b69f56e4bf16fd683b92b2df
6
+ metadata.gz: 79cff249d43ec99c285f53ccf476a1a962420547f09d99733517b1c59849404b74c5abc17ee5ce3b1f17cb80489a4db38f29a6657a190b7d5361a97448ba402c
7
+ data.tar.gz: d06d828ddb31e7d6915a5615338ea52a121341fa8db5801976cec9428e94a4f6fa850a6824802327ec6e84729b02c07d496d27556c34cab445d1445ef6993a17
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ rvm use ruby-3.2.2@pwn
37
37
  $ rvm list gemsets
38
38
  $ gem install --verbose pwn
39
39
  $ pwn
40
- pwn[v0.4.704]:001 >>> PWN.help
40
+ pwn[v0.4.706]: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.2.2@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.4.704]:001 >>> PWN.help
55
+ pwn[v0.4.706]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
data/bin/pwn CHANGED
@@ -18,6 +18,17 @@ OptionParser.new do |options|
18
18
  end.parse!
19
19
 
20
20
  begin
21
+ def cleanup_pids(opts = {})
22
+ pids_arr = opts[:pids_arr]
23
+
24
+ pids_arr.each do |pid_line|
25
+ pid = pid_line[2].to_i
26
+ Process.kill('TERM', pid)
27
+ rescue Errno::ESRCH
28
+ next
29
+ end
30
+ end
31
+
21
32
  def refresh_ps1_proc(opts = {})
22
33
  mode = opts[:mode]
23
34
 
@@ -312,21 +323,6 @@ ensure
312
323
  end
313
324
  # pp grandkid_pids_arr
314
325
 
315
- grandkid_pids_arr.each do |grandkid_pid|
316
- begin
317
- pid = grandkid_pid[2].to_i
318
- Process.kill('TERM', pid)
319
- rescue Errno::ESRCH
320
- next
321
- end
322
- end
323
-
324
- kid_pids_arr.each do |kid_pid|
325
- begin
326
- pid = kid_pid[2].to_i
327
- Process.kill('TERM', pid)
328
- rescue Errno::ESRCH
329
- next
330
- end
331
- end
326
+ cleanup_pids(pids_arr: grandkid_pids_arr)
327
+ cleanup_pids(pids_arr: kid_pids_arr)
332
328
  end
@@ -11,7 +11,10 @@ module PWN
11
11
 
12
12
  public_class_method def self.type
13
13
  return :cygwin if OS.cygwin?
14
+ return :freebsd if OS.freebsd?
14
15
  return :linux if OS.linux?
16
+ return :netbsd if OS.host_os.include?('netbsd')
17
+ return :openbsd if OS.host_os.include?('openbsd')
15
18
  return :osx if OS.osx?
16
19
  return :windows if OS.windows?
17
20
  rescue StandardError => e
@@ -12,25 +12,23 @@ module PWN
12
12
  public_class_method def self.list(opts = {})
13
13
  pid = opts[:pid]
14
14
 
15
- format = 'user,pcpu,pid,ppid,uid,gid,euid,egid,uname,group,args:1000,pmem'
15
+ which_os = PWN::Plugins::DetectOS.type
16
16
 
17
- if pid.nil?
18
- stdout, _stderr, _status = Open3.capture3(
19
- 'ps',
20
- 'ax',
21
- '-o',
22
- format
23
- )
17
+ case which_os
18
+ when :linux
19
+ format = 'user,pcpu,pid,ppid,uid,group,gid,cpu,command:1000,pmem'
20
+ cmd = ['ps', '-p', pid.to_s, '-o', format]
21
+ cmd = ['ps', 'ax', '-o', format] if pid.nil?
22
+ when :freebsd, :netbsd, :openbsd, :osx
23
+ format = 'user,pcpu,pid,ppid,uid,group,gid,cpu,command,pmem'
24
+ cmd = ['ps', '-p', pid.to_s, '-o', format]
25
+ cmd = ['ps', 'ax', '-o', format] if pid.nil?
24
26
  else
25
- stdout, _stderr, _status = Open3.capture3(
26
- 'ps',
27
- '-p',
28
- pid.to_s,
29
- '-o',
30
- format
31
- )
27
+ raise "Unsupported OS: #{which_os}"
32
28
  end
33
29
 
30
+ stdout, _stderr, _status = Open3.capture3(cmd)
31
+
34
32
  proc_list_arr = []
35
33
  stdout_arr = stdout.split("\n")
36
34
  stdout_arr.each do |line|
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.4.704'
4
+ VERSION = '0.4.706'
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.4.704
4
+ version: 0.4.706
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.