pwn 0.5.534 → 0.5.535

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: db3ea69e1f438111e509b6804f35881807e884b9fc78f24ce1709b7b9eb48a81
4
- data.tar.gz: abc44bd86a1c8e7e96021a01781695cc042d42ae80268e9f3628809c8952db3e
3
+ metadata.gz: 1d4bf5e7e882b5471e93995c1ed90c40171e57c1b6049e7a97923c5bbe35c379
4
+ data.tar.gz: b13eb9dc753d61d5bbd507ed0a4bd6ccc5728207e3048af5a25480c5331ae0c1
5
5
  SHA512:
6
- metadata.gz: a4d6cb9b3a97311baad192e618e0124cbfa11d29b172860cbbc247109d62de675f0f9279ebc487b923b5cb2d482d478a6261e7cbd6bf6fcd3b498dcef59fb89f
7
- data.tar.gz: 4e44bdb57b158c6b5129b969dd3411f6a47c2cb15f663399a68df5043ad5bf48f50a20c484e20a05c16607d752d64ae5d1381cdaf53aadf5342ba10a09941cf6
6
+ metadata.gz: 5100f4c58d2c41d7289716c95cd2511e6c466c769b018b2b82e429437af0ecbfc2b473be51e14d632a252970542ce937bea86200c5b8b1152d829b2c28686ea0
7
+ data.tar.gz: 3648624b971de80a34929ad96e32eed41be334a8179fa4a53ce590bb88ac0eb54db856213e12db536a30b4f4e201173face711090072f9170744e5088dadc5f8
data/Gemfile CHANGED
@@ -18,13 +18,13 @@ gem 'aws-sdk', '3.3.0'
18
18
  gem 'barby', '0.7.0'
19
19
  gem 'base32', '0.3.4'
20
20
  gem 'bitcoin-ruby', '0.0.20'
21
- gem 'brakeman', '7.1.2'
21
+ gem 'brakeman', '8.0.2'
22
22
  gem 'bson', '5.2.0'
23
- gem 'bundler', '>=4.0.4'
23
+ gem 'bundler', '>=4.0.7'
24
24
  gem 'bundler-audit', '>=0.9.3'
25
25
  gem 'bunny', '2.24.0'
26
26
  gem 'colorize', '1.1.0'
27
- gem 'credit_card_validations', '7.1.0'
27
+ gem 'credit_card_validations', '8.0.0'
28
28
  gem 'curses', '1.5.3'
29
29
  gem 'diffy', '3.4.4'
30
30
  gem 'eventmachine', '1.2.7'
@@ -49,17 +49,17 @@ gem 'jwt', '3.1.2'
49
49
  gem 'libusb', '0.7.2'
50
50
  gem 'luhn', '3.0.0'
51
51
  gem 'mail', '2.9.0'
52
- gem 'mcp', '0.6.0'
52
+ gem 'mcp', '0.7.1'
53
53
  gem 'meshtastic', '0.0.151'
54
54
  gem 'metasm', '1.0.5'
55
- gem 'mongo', '2.22.0'
55
+ gem 'mongo', '2.23.0'
56
56
  gem 'msfrpc-client', '1.1.2'
57
57
  gem 'netaddr', '2.0.6'
58
58
  gem 'net-ldap', '0.20.0'
59
59
  gem 'net-openvpn', '0.8.7'
60
60
  gem 'net-smtp', '0.5.1'
61
61
  gem 'nexpose', '7.3.0'
62
- gem 'nokogiri', '1.19.0'
62
+ gem 'nokogiri', '1.19.1'
63
63
  gem 'nokogiri-diff', '0.3.0'
64
64
  gem 'oily_png', '1.2.1'
65
65
  gem 'open3', '0.2.1'
@@ -74,14 +74,14 @@ gem 'pry-doc', '1.7.0'
74
74
  gem 'rake', '13.3.1'
75
75
  gem 'rb-readline', '0.5.5'
76
76
  gem 'rbvmomi2', '3.8.0'
77
- gem 'rdoc', '7.1.0'
77
+ gem 'rdoc', '7.2.0'
78
78
  gem 'rest-client', '2.1.0'
79
79
  gem 'rex', '2.0.13'
80
- gem 'rmagick', '6.1.5'
80
+ gem 'rmagick', '6.2.0'
81
81
  gem 'rqrcode', '3.2.0'
82
82
  gem 'rspec', '3.13.2'
83
83
  gem 'rtesseract', '3.1.4'
84
- gem 'rubocop', '1.82.1'
84
+ gem 'rubocop', '1.84.2'
85
85
  gem 'rubocop-rake', '0.7.1'
86
86
  gem 'rubocop-rspec', '3.9.0'
87
87
  gem 'ruby-audio', '1.6.1'
@@ -90,7 +90,7 @@ gem 'ruby-saml', '1.18.1'
90
90
  gem 'rvm', '1.11.3.9'
91
91
  gem 'savon', '2.15.1'
92
92
  gem 'selenium-devtools', '0.143.0'
93
- gem 'selenium-webdriver', '4.40.0'
93
+ gem 'selenium-webdriver', '4.41.0'
94
94
  gem 'slack-ruby-client', '3.1.0'
95
95
  gem 'socksify', '1.8.1'
96
96
  gem 'spreadsheet', '1.3.4'
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.534]:001 >>> PWN.help
40
+ pwn[v0.5.535]: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-4.0.0@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.5.534]:001 >>> PWN.help
55
+ pwn[v0.5.535]: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-4.0.0@pwn
62
62
  $ rvmsudo gem uninstall --all --executables pwn
63
63
  $ rvmsudo gem install --verbose pwn
64
64
  $ pwn
65
- pwn[v0.5.534]:001 >>> PWN.help
65
+ pwn[v0.5.535]: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:
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.534'
4
+ VERSION = '0.5.535'
5
5
  end
@@ -668,6 +668,7 @@
668
668
  {"messages":[{"role":"user","content":"PWN::Plugins::FileFu.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::FileFu.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
669
669
  {"messages":[{"role":"user","content":"PWN::Plugins::FileFu.help Usage"},{"role":"assistant","content":"`PWN::Plugins::FileFu.help`: "}]}
670
670
  {"messages":[{"role":"user","content":"PWN::Plugins::FileFu.recurse_in_dir Usage"},{"role":"assistant","content":"`PWN::Plugins::FileFu.recurse_in_dir`: Supported Method Parameters\n\nPWN::Plugins::FileFu.recurse_in_dir(\n\ndir_path: 'optional path to dir defaults to .',\ninclude_extensions: 'optional - array of file extensions to search for in scan (e.g. ['.js', '.php'])',\nexclude_extensions: 'optional - array of file extensions to exclude from scan (e.g. ['.log', '.txt', '.spec'])'\n\n)\n"}]}
671
+ {"messages":[{"role":"user","content":"PWN::Plugins::FileFu.shift_file_up Usage"},{"role":"assistant","content":"`PWN::Plugins::FileFu.shift_file_up`: "}]}
671
672
  {"messages":[{"role":"user","content":"PWN::Plugins::FileFu.untar_gz_file Usage"},{"role":"assistant","content":"`PWN::Plugins::FileFu.untar_gz_file`: Supported Method Parameters\n\nPWN::Plugins::FileFu.untar_gz_file(\n\ntar_gz_file: 'required - path to .tar.gz file',\ndestination: 'required - destination folder to save extracted contents'\n\n)\n"}]}
672
673
  {"messages":[{"role":"user","content":"PWN::Plugins::Fuzz.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::Fuzz.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
673
674
  {"messages":[{"role":"user","content":"PWN::Plugins::Fuzz.help Usage"},{"role":"assistant","content":"`PWN::Plugins::Fuzz.help`: "}]}
@@ -955,13 +956,13 @@
955
956
  {"messages":[{"role":"user","content":"PWN::Plugins::SlackClient.logout Usage"},{"role":"assistant","content":"`PWN::Plugins::SlackClient.logout`: Supported Method Parameters\n\nPWN::Plugins::SlackClient.logout(\n\nslack_obj: 'required slack_obj returned from login method'\n\n)\n"}]}
956
957
  {"messages":[{"role":"user","content":"PWN::Plugins::SlackClient.post_message Usage"},{"role":"assistant","content":"`PWN::Plugins::SlackClient.post_message`: Supported Method Parameters\n\nPWN::Plugins::SlackClient.post_message(\n\nslack_obj: 'required slack_obj returned from login method',\nchannel: 'required #channel to post message',\nmessage: 'required message to post'\n\n)\n"}]}
957
958
  {"messages":[{"role":"user","content":"PWN::Plugins::Sock.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::Sock.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
958
- {"messages":[{"role":"user","content":"PWN::Plugins::Sock.check_port_in_use Usage"},{"role":"assistant","content":"`PWN::Plugins::Sock.check_port_in_use`: Supported Method Parameters\n\nPWN::Plugins::Sock.check_port_in_use(\n\nserver_ip: 'optional - target host or ip to check (Defaults to 127.0.0.1)',\nport: 'required - target port',\nprotocol: 'optional - :tcp || :udp (defaults to tcp)'\n\n)\n"}]}
959
+ {"messages":[{"role":"user","content":"PWN::Plugins::Sock.check_port_in_use Usage"},{"role":"assistant","content":"`PWN::Plugins::Sock.check_port_in_use`: Supported Method Parameters\n\nPWN::Plugins::Sock.check_port_in_use(\n\nport: 'required - target port',\nserver_ip: 'optional - target host or ip to check (Defaults to 127.0.0.1)',\nprotocol: 'optional - :tcp || :udp (defaults to tcp)'\n\n)\n"}]}
959
960
  {"messages":[{"role":"user","content":"PWN::Plugins::Sock.connect Usage"},{"role":"assistant","content":"`PWN::Plugins::Sock.connect`: Supported Method Parameters\n\nsock_obj = PWN::Plugins::Sock.connect(\n\ntarget: 'required - target host or ip',\nport: 'required - target port',\nprotocol: 'optional - :tcp || :udp (defaults to :tcp)',\ntls: 'optional - boolean connect to target socket using TLS (defaults to false)'\n\n)\n"}]}
960
961
  {"messages":[{"role":"user","content":"PWN::Plugins::Sock.disconnect Usage"},{"role":"assistant","content":"`PWN::Plugins::Sock.disconnect`: Supported Method Parameters\n\nsock_obj = PWN::Plugins::Sock.disconnect(\n\nsock_obj: 'required - sock_obj returned from #connect method'\n\n)\n"}]}
961
962
  {"messages":[{"role":"user","content":"PWN::Plugins::Sock.get_random_unused_port Usage"},{"role":"assistant","content":"`PWN::Plugins::Sock.get_random_unused_port`: Supported Method Parameters\n\nPWN::Plugins::Sock.get_random_unused_port(\n\nserver_ip: 'optional - target host or ip to check (Defaults to 127.0.0.1)',\nprotocol: 'optional - :tcp || :udp (defaults to tcp)'\n\n)\n"}]}
962
963
  {"messages":[{"role":"user","content":"PWN::Plugins::Sock.get_tls_cert Usage"},{"role":"assistant","content":"`PWN::Plugins::Sock.get_tls_cert`: Supported Method Parameters\n\ncert_obj = PWN::Plugins::Sock.get_tls_cert(\n\ntarget: 'required - target host or ip',\nport: 'optional - target port (defaults to 443)'\n\n)\n"}]}
963
964
  {"messages":[{"role":"user","content":"PWN::Plugins::Sock.help Usage"},{"role":"assistant","content":"`PWN::Plugins::Sock.help`: "}]}
964
- {"messages":[{"role":"user","content":"PWN::Plugins::Sock.listen Usage"},{"role":"assistant","content":"`PWN::Plugins::Sock.listen`: Supported Method Parameters\n\nPWN::Plugins::Sock.listen(\n\nserver_ip: 'required - target host or ip to listen',\nport: 'required - target port',\nprotocol: 'optional - :tcp || :udp (defaults to tcp)',\ntls: 'optional - boolean listen on TLS-enabled socket (defaults to false)'\n\n)\n"}]}
965
+ {"messages":[{"role":"user","content":"PWN::Plugins::Sock.listen Usage"},{"role":"assistant","content":"`PWN::Plugins::Sock.listen`: Supported Method Parameters\n\nlisten_obj = PWN::Plugins::Sock.listen(\n\nport: 'required - target port',\nserver_ip: 'optional - target host or ip to listen (Defaults to 127.0.0.1')',\nprotocol: 'optional - :tcp || :udp (defaults to tcp)',\ntls: 'optional - boolean listen on TLS-enabled socket (defaults to false)',\ndetach: 'optional - boolean to detach listener to background (defaults to false)'\n\n)\n"}]}
965
966
  {"messages":[{"role":"user","content":"PWN::Plugins::Spider.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::Spider.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
966
967
  {"messages":[{"role":"user","content":"PWN::Plugins::Spider.crawl Usage"},{"role":"assistant","content":"`PWN::Plugins::Spider.crawl`: Supported Method Parameters\n\nPWN::Plugins::Spider.crawl(\n\ntarget_fqdn: 'required - target fqdn to spider',\nresults_path: 'required - path to save spider results',\nproxy: 'optional - proxy to spider through e.g. http://127.0.0.1:8080'\n\n)\n"}]}
967
968
  {"messages":[{"role":"user","content":"PWN::Plugins::Spider.help Usage"},{"role":"assistant","content":"`PWN::Plugins::Spider.help`: "}]}
@@ -1041,7 +1042,7 @@
1041
1042
  {"messages":[{"role":"user","content":"PWN::Plugins::Vsphere.login Usage"},{"role":"assistant","content":"`PWN::Plugins::Vsphere.login`: Supported Method Parameters\n\nvsphere_obj = PWN::Plugins::Vsphere.login(\n\nhost: 'required - vsphere host or ip',\nusername: 'required - username',\npassword: 'optional - password (will prompt if nil)',\ninsecure: 'optional - ignore ssl checks (defaults to false)\n\n)\n"}]}
1042
1043
  {"messages":[{"role":"user","content":"PWN::Plugins::Vsphere.logout Usage"},{"role":"assistant","content":"`PWN::Plugins::Vsphere.logout`: Supported Method Parameters\n\nPWN::Plugins::HackerOne.logout(\n\nvsphere_obj: 'required vsphere_obj returned from #login method'\n\n)\n"}]}
1043
1044
  {"messages":[{"role":"user","content":"PWN::Plugins::XXD.authors Usage"},{"role":"assistant","content":"`PWN::Plugins::XXD.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1044
- {"messages":[{"role":"user","content":"PWN::Plugins::XXD.calc_addr_offset Usage"},{"role":"assistant","content":"`PWN::Plugins::XXD.calc_addr_offset`: Supported Method Parameters\n\nhex_offset = PWN::Plugins::XXD.calc_addr_offset(\n\nstart_addr: 'required - start address to evaluate',\ntarget_addr: 'required - memory address to set breakpoint'\n\n) ^^^ Instructions for #{self}.calc_addr_offset: This is useful for calculating address offsets of known functions in debuggers to set breakpoints of instructions that are not known at runtime.\n\nSet a breakpoint at main and record its address - this is the start_addr. For example in r2: “‘ [0x00001050]> db main [0x00001050]> ood [0x7fd16122b360]> dc INFO: hit breakpoint at: 0x562e8547d139 [0x562e8547d139]> db “`\n\nPopulate start_addr w/ address (i.e. ‘0x562e8547d139’) of a known function (i.e. main)\n\nStep down to the instruction where you want to set a breakpoint. Record its address… this is the target_addr. “‘ [0x562e8547d139]> v <step through to the target instruction via F7/F8> “`\n\nGet the hex offset value by calling PWN::Plugins::XXD.calc_addr_offset method\n\nFuture breakpoints can be calculated by adding the hex offset to the updated start_addr (which changes every time the binary is executed). If the offset returned is 0x00000ec2`, a breakpoint for the target instruction can be set in r2 via: “` [0x00001050]> ood [0x7f1a45bea360]> db main [0x7f1a45bea360]> db (main)+0x00000ec2 [0x7f1a45bea360]> db 0x558eebd75139 - 0x558eebd7513a 1 –x sw break enabled valid … 0x558eebd75ffb - 0x558eebd75ffc 1 –x sw break enabled valid … [0x7f1a45bea360]> dc INFO: hit breakpoint at: 0x55ee0a0e5139 [0x55ee0a0e5139]> dc INFO: hit breakpoint at: 0x5558c3101ffb [0x5558c3101ffb]> v <step through via F7, F8, F9, etc. to get to desired instruction> “`\n\n"}]}
1045
+ {"messages":[{"role":"user","content":"PWN::Plugins::XXD.calc_addr_offset Usage"},{"role":"assistant","content":"`PWN::Plugins::XXD.calc_addr_offset`: Supported Method Parameters\n\nhex_offset = PWN::Plugins::XXD.calc_addr_offset(\n\nstart_addr: 'required - start address to evaluate',\ntarget_addr: 'required - memory address to set breakpoint'\n\n) ^^^ Instructions for #{self}.calc_addr_offset: This is useful for calculating address offsets of known functions in debuggers to set breakpoints of instructions that are not known at runtime.\n\nSet a breakpoint at main and record its address - this is the start_addr. For example in r2: “‘ [0x00001050]> db main [0x00001050]> ood [0x7fd16122b360]> dc INFO: hit breakpoint at: 0x562e8547d139 [0x562e8547d139]> db “`\n\nPopulate start_addr w/ address (i.e. ‘0x562e8547d139’) of a known function (i.e. main)\n\nStep down to the instruction where you want to set a breakpoint. Record its address… this is the target_addr. “‘ [0x562e8547d139]> v <step through to the target instruction via F7/F8> “`\n\nGet the hex offset value by calling PWN::Plugins::XXD.calc_addr_offset method\n\nFuture breakpoints can be calculated by adding the hex offset to the updated start_addr (which changes every time the binary is executed). If the offset returned is 0x00000ec2, a breakpoint for the target instruction can be set in r2 via: “‘ [0x00001050]> ood [0x7f1a45bea360]> db main [0x7f1a45bea360]> db (main)+0x00000ec2 [0x7f1a45bea360]> db 0x558eebd75139 - 0x558eebd7513a 1 –x sw break enabled valid … 0x558eebd75ffb - 0x558eebd75ffc 1 –x sw break enabled valid … [0x7f1a45bea360]> dc INFO: hit breakpoint at: 0x55ee0a0e5139 [0x55ee0a0e5139]> dc INFO: hit breakpoint at: 0x5558c3101ffb [0x5558c3101ffb]> v <step through via F7, F8, F9, etc. to get to desired instruction> “`\n\n"}]}
1045
1046
  {"messages":[{"role":"user","content":"PWN::Plugins::XXD.dump Usage"},{"role":"assistant","content":"`PWN::Plugins::XXD.dump`: Supported Method Parameters\n\nhexdump = PWN::Plugins::XXD.dump(\n\nfile: 'required - path to binary file to dump',\nhashed: 'optional - return hexdump as hash instead of string (default: false)'\n\n)\n"}]}
1046
1047
  {"messages":[{"role":"user","content":"PWN::Plugins::XXD.fill_range_w_byte Usage"},{"role":"assistant","content":"`PWN::Plugins::XXD.fill_range_w_byte`: Supported Method Parameters\n\nhexdump = PWN::Plugins::XXD.fill_range_w_byte(\n\nhexdump: 'required - hexdump returned from #dump method',\nstart_addr: 'required - start address to fill with byte',\nend_addr: 'required - end address to fill with byte',\nbyte: 'required - byte to fill range with'\n\n)\n"}]}
1047
1048
  {"messages":[{"role":"user","content":"PWN::Plugins::XXD.help Usage"},{"role":"assistant","content":"`PWN::Plugins::XXD.help`: "}]}
@@ -1277,6 +1278,9 @@
1277
1278
  {"messages":[{"role":"user","content":"PWN::SDR.hz_to_i Usage"},{"role":"assistant","content":"`PWN::SDR.hz_to_i`: "}]}
1278
1279
  {"messages":[{"role":"user","content":"PWN::SDR.hz_to_s Usage"},{"role":"assistant","content":"`PWN::SDR.hz_to_s`: "}]}
1279
1280
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder.help`: "}]}
1281
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Flex.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Flex.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1282
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Flex.decode Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Flex.decode`: Supported Method Parameters\n\npocsag_resp = PWN::SDR::Decoder::Flex.decode(\n\nfreq_obj: 'required - GQRX socket object returned from #connect method'\n\n)\n"}]}
1283
+ {"messages":[{"role":"user","content":"PWN::SDR::Decoder::Flex.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::Flex.help`: "}]}
1280
1284
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::GSM.authors Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::GSM.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1281
1285
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::GSM.help Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::GSM.help`: "}]}
1282
1286
  {"messages":[{"role":"user","content":"PWN::SDR::Decoder::GSM.start Usage"},{"role":"assistant","content":"`PWN::SDR::Decoder::GSM.start`: "}]}
@@ -1302,13 +1306,19 @@
1302
1306
  {"messages":[{"role":"user","content":"PWN::SDR::GQRX.cmd Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.cmd`: Supported Method Parameters\n\ngqrx_resp = PWN::SDR::GQRX.cmd(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\ncmd: 'required - GQRX command to execute',\nresp_ok: 'optional - Expected response from GQRX to indicate success'\n\n)\n"}]}
1303
1307
  {"messages":[{"role":"user","content":"PWN::SDR::GQRX.connect Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.connect`: Supported Method Parameters\n\ngqrx_sock = PWN::SDR::GQRX.connect(\n\ntarget: 'optional - GQRX target IP address (defaults to 127.0.0.1)',\nport: 'optional - GQRX target port (defaults to 7356)'\n\n)\n"}]}
1304
1308
  {"messages":[{"role":"user","content":"PWN::SDR::GQRX.disconnect Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.disconnect`: Supported Method Parameters\n\nPWN::SDR::GQRX.disconnect(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method'\n\n)\n"}]}
1309
+ {"messages":[{"role":"user","content":"PWN::SDR::GQRX.disconnect_udp Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.disconnect_udp`: Supported Method Parameters\n\nPWN::SDR::GQRX.disconnect_udp(\n\nudp_listener: 'required - UDP socket object returned from #listen_udp method'\n\n)\n"}]}
1310
+ {"messages":[{"role":"user","content":"PWN::SDR::GQRX.duration_between Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.duration_between`: Supported Method Parameters\n\nduration = PWN::SDR::GQRX.duration_between(\n\ntimestamp_start: 'required - Start timestamp',\ntimestamp_end: 'required - End timestamp'\n\n)\n"}]}
1305
1311
  {"messages":[{"role":"user","content":"PWN::SDR::GQRX.edge_detection Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.edge_detection`: Supported Method Parameters\n\ncandidate_signals = PWN::SDR::GQRX.edge_detection(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nhz: 'required - Frequency to start edge detection from',\nprecision: 'required - Frequency step precision',\nstep_hz: 'required - Frequency step in Hz for edge detection',\nstrength_lock: 'required - Strength lock in dBFS to determine signal edges'\n\n)\n"}]}
1306
1312
  {"messages":[{"role":"user","content":"PWN::SDR::GQRX.find_best_peak Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.find_best_peak`: Supported Method Parameters\n\nbest_peak = PWN::SDR::GQRX.find_best_peak(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\ncandidate_signals: 'required - Array of candidate signals from edge_detection',\nstep_hz: 'required - Frequency step in Hz for peak finding',\nstrength_lock: 'required - Strength lock in dBFS to determine signal edges'\n\n)\n"}]}
1307
1313
  {"messages":[{"role":"user","content":"PWN::SDR::GQRX.help Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.help`: "}]}
1308
- {"messages":[{"role":"user","content":"PWN::SDR::GQRX.init_freq Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.init_freq`: Supported Method Parameters\n\nfreq_obj = PWN::SDR::GQRX.init_freq(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nfreq: 'required - Frequency to set',\ndemodulator_mode: 'optional - Demodulator mode (defaults to WFM)',\nbandwidth: 'optional - Bandwidth (defaults to \"200.000\")',\nsquelch: 'optional - Squelch level to set (Defaults to current value)',\ndecoder: 'optional - Decoder key (e.g., :gsm) to start live decoding (starts recording if provided)',\nrecord_dir: 'optional - Directory where GQRX saves recordings (required if decoder provided; defaults to /tmp)',\nsuppress_details: 'optional - Boolean to include extra frequency details in return hash (defaults to false)',\nkeep_alive: 'optional - Boolean to keep GQRX connection alive after method completion (defaults to false)'\n\n)\n"}]}
1309
- {"messages":[{"role":"user","content":"PWN::SDR::GQRX.log_signals Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.log_signals`: Supported Method Parameters\n\nscan_resp = PWN::SDR::GQRX.log_signals(\n\nsignals_arr: 'required - Array of detected signals',\ntimestamp_start: 'required - Scan start timestamp',\nscan_log: 'required - Path to save detected signals log'\n\n)\n"}]}
1314
+ {"messages":[{"role":"user","content":"PWN::SDR::GQRX.init_freq Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.init_freq`: Supported Method Parameters\n\nfreq_obj = PWN::SDR::GQRX.init_freq(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nfreq: 'required - Frequency to set',\ndemodulator_mode: 'optional - Demodulator mode (defaults to WFM)',\nbandwidth: 'optional - Bandwidth (defaults to \"200.000\")',\nsquelch: 'optional - Squelch level to set (Defaults to current value)',\ndecoder: 'optional - Decoder key (e.g., :gsm) to start live decoding (starts recording if provided)',\nudp_ip: 'optional - UDP IP address for decoder module (defaults to 127.0.0.1)',\nudp_port: 'optional - UDP port for decoder module (defaults to 7355)',\nsuppress_details: 'optional - Boolean to include extra frequency details in return hash (defaults to false)',\nkeep_alive: 'optional - Boolean to keep GQRX connection alive after method completion (defaults to false)'\n\n)\n"}]}
1315
+ {"messages":[{"role":"user","content":"PWN::SDR::GQRX.listen_udp Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.listen_udp`: Supported Method Parameters\n\nudp_listener = PWN::SDR::GQRX.listen_udp(\n\nudp_ip: 'optional - IP address to bind UDP listener (defaults to 127.0.0.1)',\nupd_port: 'optional - Port to bind UDP listener (defaults to 7355)'\n\n)\n"}]}
1316
+ {"messages":[{"role":"user","content":"PWN::SDR::GQRX.log_signals Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.log_signals`: Supported Method Parameters\n\nscan_resp = PWN::SDR::GQRX.log_signals(\n\nsignals_detected: 'required - Array of detected signals',\ntimestamp_start: 'required - Scan start timestamp',\nscan_log: 'required - Path to save detected signals log',\niteration_metrics: 'optional - Hash of iteration metrics per range iteration'\n\n)\n"}]}
1317
+ {"messages":[{"role":"user","content":"PWN::SDR::GQRX.measure_noise_floor Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.measure_noise_floor`: Supported Method Parameters\n\nnoise_floor = PWN::SDR::GQRX.measure_noise_floor(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nfreq: 'required - Frequency to measure noise floor',\nprecision: 'required - Frequency step precision',\nstep_hz_direction: 'required - Frequency step in Hz direction for noise floor measurement'\n\n)\n"}]}
1310
1318
  {"messages":[{"role":"user","content":"PWN::SDR::GQRX.measure_signal_strength Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.measure_signal_strength`: Supported Method Parameters\n\nstrength_db = PWN::SDR::GQRX.measure_signal_strength(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nfreq: 'required - Frequency to measure signal strength',\nprecision: 'required - Frequency step precision',\nstrength_lock: 'optional - Strength lock in dBFS to determine signal edges (defaults to -70.0)',\nphase: 'optional - Phase of measurement for logging purposes (defaults to :find_candidates)'\n\n)\n"}]}
1311
- {"messages":[{"role":"user","content":"PWN::SDR::GQRX.scan_range Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.scan_range`: Supported Method Parameters\n\nscan_resp = PWN::SDR::GQRX.scan_range(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nranges: 'required - Array of Hash objects with :start_freq and :target_freq keys defining scan ranges',\ndemodulator_mode: 'optional - Demodulator mode (e.g. WFM, AM, FM, USB, LSB, RAW, CW, RTTY / defaults to WFM)',\nbandwidth: 'optional - Bandwidth in Hz (Defaults to \"200.000\")',\nprecision: 'optional - Frequency step precision (number of digits; defaults to 1)',\nstrength_lock: 'optional - Strength lock in dBFS (defaults to -70.0)',\nsquelch: 'optional - Squelch level in dBFS (defaults to strength_lock - 3.0)',\naudio_gain_db: 'optional - Audio gain in dB (defaults to 6.0)',\nrf_gain: 'optional - RF gain (defaults to 0.0)',\nintermediate_gain: 'optional - Intermediate gain (defaults to 32.0)',\nbaseband_gain: 'optional - Baseband gain (defaults to 10.0)',\nkeep_looping: 'optional - Boolean to keep scanning indefinitely (defaults to false)',\nscan_log: 'optional - Path to save detected signals log (defaults to /tmp/pwn_sdr_gqrx_scan_<start_freq>-<target_freq>_<timestamp>_lN.json)',\nlocation: 'optional - Location string to include in AI analysis (e.g., \"New York, NY\", 90210, GPS coords, etc.)'\n\n)\n"}]}
1319
+ {"messages":[{"role":"user","content":"PWN::SDR::GQRX.record Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.record`: Supported Method Parameters\n\niq_raw_file = PWN::SDR::GQRX.record(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method'\n\n)\n"}]}
1320
+ {"messages":[{"role":"user","content":"PWN::SDR::GQRX.scan_range Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.scan_range`: Supported Method Parameters\n\nscan_resp = PWN::SDR::GQRX.scan_range(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nranges: 'required - Array of Hash objects with :start_freq and :target_freq keys defining scan ranges',\ndemodulator_mode: 'optional - Demodulator mode (e.g. WFM, AM, FM, USB, LSB, RAW, CW, RTTY / defaults to WFM)',\nbandwidth: 'optional - Bandwidth in Hz (Defaults to \"200.000\")',\nprecision: 'optional - Frequency step precision (number of digits; defaults to 1)',\nstrength_lock: 'optional - Strength lock in dBFS (defaults to -70.0)',\nsquelch: 'optional - Squelch level in dBFS (defaults to strength_lock - 3.0)',\naudio_gain_db: 'optional - Audio gain in dB (defaults to 0.0)',\nrf_gain: 'optional - RF gain (defaults to 0.0)',\nintermediate_gain: 'optional - Intermediate gain (defaults to 32.0)',\nbaseband_gain: 'optional - Baseband gain (defaults to 10.0)',\nkeep_looping: 'optional - Boolean to keep scanning indefinitely (defaults to false)',\nscan_log: 'optional - Path to save detected signals log (defaults to /tmp/pwn_sdr_gqrx_scan_<start_freq>-<target_freq>_<timestamp>_lN.json)',\nlocation: 'optional - Location string to include in AI analysis (e.g., \"New York, NY\", 90210, GPS coords, etc.)'\n\n)\n"}]}
1321
+ {"messages":[{"role":"user","content":"PWN::SDR::GQRX.stop_recording Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.stop_recording`: Supported Method Parameters\n\nPWN::SDR::GQRX.stop_recording(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\niq_raw_file: 'required - iq_raw_file returned from #connect method'\n\n)\n"}]}
1312
1322
  {"messages":[{"role":"user","content":"PWN::SDR::GQRX.tune_to Usage"},{"role":"assistant","content":"`PWN::SDR::GQRX.tune_to`: Supported Method Parameters\n\ntune_resp = PWN::SDR::GQRX.tune_to(\n\ngqrx_sock: 'required - GQRX socket object returned from #connect method',\nhz: 'required - Frequency to tune to'\n\n)\n"}]}
1313
1323
  {"messages":[{"role":"user","content":"PWN::SDR::RFIDler.authors Usage"},{"role":"assistant","content":"`PWN::SDR::RFIDler.authors`: Author(s)\n\n0day Inc. <support@0dayinc.com>\n"}]}
1314
1324
  {"messages":[{"role":"user","content":"PWN::SDR::RFIDler.connect_via_screen Usage"},{"role":"assistant","content":"`PWN::SDR::RFIDler.connect_via_screen`: Supported Method Parameters\n\nPWN::SDR::RFIDler.connect_via_screen(\n\nblock_dev: 'optional - serial block device path (defaults to /dev/ttyUSB0)'\n\n)\n"}]}
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.534
4
+ version: 0.5.535
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -113,14 +113,14 @@ dependencies:
113
113
  requirements:
114
114
  - - '='
115
115
  - !ruby/object:Gem::Version
116
- version: 7.1.2
116
+ version: 8.0.2
117
117
  type: :runtime
118
118
  prerelease: false
119
119
  version_requirements: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - '='
122
122
  - !ruby/object:Gem::Version
123
- version: 7.1.2
123
+ version: 8.0.2
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: bson
126
126
  requirement: !ruby/object:Gem::Requirement
@@ -141,14 +141,14 @@ dependencies:
141
141
  requirements:
142
142
  - - ">="
143
143
  - !ruby/object:Gem::Version
144
- version: 4.0.4
144
+ version: 4.0.7
145
145
  type: :development
146
146
  prerelease: false
147
147
  version_requirements: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - ">="
150
150
  - !ruby/object:Gem::Version
151
- version: 4.0.4
151
+ version: 4.0.7
152
152
  - !ruby/object:Gem::Dependency
153
153
  name: bundler-audit
154
154
  requirement: !ruby/object:Gem::Requirement
@@ -197,14 +197,14 @@ dependencies:
197
197
  requirements:
198
198
  - - '='
199
199
  - !ruby/object:Gem::Version
200
- version: 7.1.0
200
+ version: 8.0.0
201
201
  type: :runtime
202
202
  prerelease: false
203
203
  version_requirements: !ruby/object:Gem::Requirement
204
204
  requirements:
205
205
  - - '='
206
206
  - !ruby/object:Gem::Version
207
- version: 7.1.0
207
+ version: 8.0.0
208
208
  - !ruby/object:Gem::Dependency
209
209
  name: curses
210
210
  requirement: !ruby/object:Gem::Requirement
@@ -533,14 +533,14 @@ dependencies:
533
533
  requirements:
534
534
  - - '='
535
535
  - !ruby/object:Gem::Version
536
- version: 0.6.0
536
+ version: 0.7.1
537
537
  type: :runtime
538
538
  prerelease: false
539
539
  version_requirements: !ruby/object:Gem::Requirement
540
540
  requirements:
541
541
  - - '='
542
542
  - !ruby/object:Gem::Version
543
- version: 0.6.0
543
+ version: 0.7.1
544
544
  - !ruby/object:Gem::Dependency
545
545
  name: meshtastic
546
546
  requirement: !ruby/object:Gem::Requirement
@@ -575,14 +575,14 @@ dependencies:
575
575
  requirements:
576
576
  - - '='
577
577
  - !ruby/object:Gem::Version
578
- version: 2.22.0
578
+ version: 2.23.0
579
579
  type: :runtime
580
580
  prerelease: false
581
581
  version_requirements: !ruby/object:Gem::Requirement
582
582
  requirements:
583
583
  - - '='
584
584
  - !ruby/object:Gem::Version
585
- version: 2.22.0
585
+ version: 2.23.0
586
586
  - !ruby/object:Gem::Dependency
587
587
  name: msfrpc-client
588
588
  requirement: !ruby/object:Gem::Requirement
@@ -673,14 +673,14 @@ dependencies:
673
673
  requirements:
674
674
  - - '='
675
675
  - !ruby/object:Gem::Version
676
- version: 1.19.0
676
+ version: 1.19.1
677
677
  type: :runtime
678
678
  prerelease: false
679
679
  version_requirements: !ruby/object:Gem::Requirement
680
680
  requirements:
681
681
  - - '='
682
682
  - !ruby/object:Gem::Version
683
- version: 1.19.0
683
+ version: 1.19.1
684
684
  - !ruby/object:Gem::Dependency
685
685
  name: nokogiri-diff
686
686
  requirement: !ruby/object:Gem::Requirement
@@ -883,14 +883,14 @@ dependencies:
883
883
  requirements:
884
884
  - - '='
885
885
  - !ruby/object:Gem::Version
886
- version: 7.1.0
886
+ version: 7.2.0
887
887
  type: :development
888
888
  prerelease: false
889
889
  version_requirements: !ruby/object:Gem::Requirement
890
890
  requirements:
891
891
  - - '='
892
892
  - !ruby/object:Gem::Version
893
- version: 7.1.0
893
+ version: 7.2.0
894
894
  - !ruby/object:Gem::Dependency
895
895
  name: rest-client
896
896
  requirement: !ruby/object:Gem::Requirement
@@ -925,14 +925,14 @@ dependencies:
925
925
  requirements:
926
926
  - - '='
927
927
  - !ruby/object:Gem::Version
928
- version: 6.1.5
928
+ version: 6.2.0
929
929
  type: :runtime
930
930
  prerelease: false
931
931
  version_requirements: !ruby/object:Gem::Requirement
932
932
  requirements:
933
933
  - - '='
934
934
  - !ruby/object:Gem::Version
935
- version: 6.1.5
935
+ version: 6.2.0
936
936
  - !ruby/object:Gem::Dependency
937
937
  name: rqrcode
938
938
  requirement: !ruby/object:Gem::Requirement
@@ -981,14 +981,14 @@ dependencies:
981
981
  requirements:
982
982
  - - '='
983
983
  - !ruby/object:Gem::Version
984
- version: 1.82.1
984
+ version: 1.84.2
985
985
  type: :runtime
986
986
  prerelease: false
987
987
  version_requirements: !ruby/object:Gem::Requirement
988
988
  requirements:
989
989
  - - '='
990
990
  - !ruby/object:Gem::Version
991
- version: 1.82.1
991
+ version: 1.84.2
992
992
  - !ruby/object:Gem::Dependency
993
993
  name: rubocop-rake
994
994
  requirement: !ruby/object:Gem::Requirement
@@ -1107,14 +1107,14 @@ dependencies:
1107
1107
  requirements:
1108
1108
  - - '='
1109
1109
  - !ruby/object:Gem::Version
1110
- version: 4.40.0
1110
+ version: 4.41.0
1111
1111
  type: :runtime
1112
1112
  prerelease: false
1113
1113
  version_requirements: !ruby/object:Gem::Requirement
1114
1114
  requirements:
1115
1115
  - - '='
1116
1116
  - !ruby/object:Gem::Version
1117
- version: 4.40.0
1117
+ version: 4.41.0
1118
1118
  - !ruby/object:Gem::Dependency
1119
1119
  name: slack-ruby-client
1120
1120
  requirement: !ruby/object:Gem::Requirement
@@ -2465,7 +2465,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2465
2465
  - !ruby/object:Gem::Version
2466
2466
  version: '0'
2467
2467
  requirements: []
2468
- rubygems_version: 4.0.4
2468
+ rubygems_version: 4.0.7
2469
2469
  specification_version: 4
2470
2470
  summary: Automated Security Testing for CI/CD Pipelines & Beyond
2471
2471
  test_files: []