pwn 0.4.698 → 0.4.699

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.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -1
  3. data/README.md +2 -2
  4. data/bin/pwn +18 -0
  5. data/lib/pwn/version.rb +1 -1
  6. metadata +17 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1876724f8a6e17d3f41247dc8bc4daea0f8fadaf433a99883ed67b016c45205d
4
- data.tar.gz: f5f93dd5ed24f7d8e3d880bcd05d183d3105c10f3515302cf88a8db256e5fdf1
3
+ metadata.gz: d745dcbcd6c2a339cc95cd95cf520971dd1cb5d382e440222cad856b610899d4
4
+ data.tar.gz: 0fbe7d75659820c93ff70d1803fc397d4496a43e9148ee303e0d661cc7e88446
5
5
  SHA512:
6
- metadata.gz: f8703953cf8b45c61a0de488246dd9ee19d213d3c7577e43f756d26283f49842fc45371aeddcc00e734f730f9b89146a8df3363f47e9c9476de1c77f53078383
7
- data.tar.gz: 5403587ece0718fa16fb20a053c37b12a32470cca9c97b0dade132d1ad321a4326253e7826458fbbc9fd50933e7f4fc4def891f8856b38658cf18d0e32297fce
6
+ metadata.gz: ccb00ebd0473169fef1745f37cdf988344afa39709590ff96d3d304f041a1a8fa664ade80425eb554649872bc891742466975826a3e79c0e34bbb24238bdb438
7
+ data.tar.gz: a0c6cbcfe85105ace99b455f38804c75f03a24457a0b9b713e9b87cc66927610a09f2366f147cde39f298d8bf02554eb505f83a2c21b15fc7113102b1bc28b7c
data/Gemfile CHANGED
@@ -80,7 +80,8 @@ gem 'sinatra', '3.0.6'
80
80
  gem 'slack-ruby-client', '2.1.0'
81
81
  gem 'socksify', '1.7.1'
82
82
  gem 'spreadsheet', '1.3.0'
83
- gem 'sqlite3', '1.6.2'
83
+ gem 'sqlite3', '1.6.3'
84
+ gem 'sys-proctable', '1.3.0'
84
85
  gem 'thin', '1.8.2'
85
86
  gem 'tty-prompt', '0.23.1'
86
87
  gem 'tty-spinner', '0.9.3'
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.698]:001 >>> PWN.help
40
+ pwn[v0.4.699]: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.698]:001 >>> PWN.help
55
+ pwn[v0.4.699]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
data/bin/pwn CHANGED
@@ -4,6 +4,7 @@
4
4
  require 'optparse'
5
5
  require 'pwn'
6
6
  require 'pry'
7
+ require 'sys/proctable'
7
8
  require 'yaml'
8
9
 
9
10
  opts = {}
@@ -292,10 +293,27 @@ begin
292
293
  )
293
294
 
294
295
  # Start PWN REPL
296
+ pwn_pid = Process.pid
295
297
  Pry.start(
296
298
  self,
297
299
  prompt: prompt
298
300
  )
299
301
  rescue StandardError => e
300
302
  raise e
303
+ ensure
304
+ child_pids = Sys::ProcTable.ps(smaps: false).select do |pe|
305
+ pe.ppid == pwn_pid
306
+ end.map(&:pid)
307
+
308
+ grandkid_pids = Sys::ProcTable.ps(smaps: false).select do |pe|
309
+ child_pids.include?(pe.ppid)
310
+ end.map(&:pid)
311
+
312
+ grandkid_pids.each do |grandkid_pid|
313
+ Process.kill('TERM', grandkid_pid)
314
+ end
315
+
316
+ child_pids.each do |child_pid|
317
+ Process.kill('TERM', child_pid)
318
+ end
301
319
  end
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.698'
4
+ VERSION = '0.4.699'
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.698
4
+ version: 0.4.699
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -982,14 +982,28 @@ dependencies:
982
982
  requirements:
983
983
  - - '='
984
984
  - !ruby/object:Gem::Version
985
- version: 1.6.2
985
+ version: 1.6.3
986
986
  type: :runtime
987
987
  prerelease: false
988
988
  version_requirements: !ruby/object:Gem::Requirement
989
989
  requirements:
990
990
  - - '='
991
991
  - !ruby/object:Gem::Version
992
- version: 1.6.2
992
+ version: 1.6.3
993
+ - !ruby/object:Gem::Dependency
994
+ name: sys-proctable
995
+ requirement: !ruby/object:Gem::Requirement
996
+ requirements:
997
+ - - '='
998
+ - !ruby/object:Gem::Version
999
+ version: 1.3.0
1000
+ type: :runtime
1001
+ prerelease: false
1002
+ version_requirements: !ruby/object:Gem::Requirement
1003
+ requirements:
1004
+ - - '='
1005
+ - !ruby/object:Gem::Version
1006
+ version: 1.3.0
993
1007
  - !ruby/object:Gem::Dependency
994
1008
  name: thin
995
1009
  requirement: !ruby/object:Gem::Requirement