pwn 0.5.80 → 0.5.81

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: 3923f535fc7ac63c41eaaaebaf15f02188e32a0778fcf27affde56ee0091e3f9
4
- data.tar.gz: 8318c7472b97602a04eac191973dd16f3cf8d919d7b8dfc4ff209b1ada2a6d80
3
+ metadata.gz: 5abdcbe615c1ace43da0c9b750425cd6d33b202974a0ab0f1bcaa923e4400717
4
+ data.tar.gz: 14229570d88d75bab5e118b7774488e3ffd8ca4865b5cad22b0305f5984be74d
5
5
  SHA512:
6
- metadata.gz: 38311d9cf2164aefe9deaa6b73b74c060e02663706df322dfdcb447351a61c5467fbf59f9f8691e88777c2022cd4d2eaeeedb23e0412ccf0730db70dfdfdc54f
7
- data.tar.gz: 01df4c1b51c6872fbf24dd0d9f52208736bb6cda8cccf32062298c870b62359a24c1ed998c37b70d9ab4b40eb6eaefa298011317ebcdeea6386372ca77c59b7d
6
+ metadata.gz: e6f517aeb08388facf394722d531d34a9cd4d2eaff5c07551067d73ea3b9c88cf77c93f017f76410239643523590ba696c12728387b2cee29107ad656917962b
7
+ data.tar.gz: d0d3ba98d7d46093fddc407027327c5fff000b47303fdc615c75b553fe34878eccc343acea44f2c7f8424c56d9499ec8460047aa59362f48e15cadfd9d615378
data/.rubocop_todo.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2024-03-26 16:48:38 UTC using RuboCop version 1.62.1.
3
+ # on 2024-04-05 20:52:59 UTC using RuboCop version 1.62.1.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
@@ -17,7 +17,7 @@ Layout/LineContinuationSpacing:
17
17
  - 'packer/provisioners/wpscan.rb'
18
18
  - 'vagrant/provisioners/beef.rb'
19
19
 
20
- # Offense count: 24
20
+ # Offense count: 21
21
21
  # This cop supports safe autocorrection (--autocorrect).
22
22
  # Configuration parameters: Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
23
23
  # URISchemes: http, https
@@ -41,7 +41,7 @@ Lint/NestedMethodDefinition:
41
41
  Exclude:
42
42
  - 'lib/pwn/plugins/repl.rb'
43
43
 
44
- # Offense count: 311
44
+ # Offense count: 310
45
45
  # This cop supports unsafe autocorrection (--autocorrect-all).
46
46
  # Configuration parameters: AutoCorrect.
47
47
  Lint/UselessAssignment:
@@ -87,10 +87,10 @@ Metrics/ModuleLength:
87
87
  - 'lib/pwn/banner/code_cave.rb'
88
88
  - 'lib/pwn/plugins/android.rb'
89
89
  - 'lib/pwn/plugins/black_duck_binary_analysis.rb'
90
+ - 'lib/pwn/plugins/gqrx.rb'
90
91
  - 'lib/pwn/plugins/ibm_appscan.rb'
91
92
  - 'lib/pwn/plugins/msr206.rb'
92
93
  - 'lib/pwn/plugins/nessus_cloud.rb'
93
- - 'lib/pwn/plugins/ollama.rb'
94
94
  - 'lib/pwn/plugins/open_ai.rb'
95
95
  - 'lib/pwn/plugins/packet.rb'
96
96
 
@@ -142,7 +142,7 @@ Style/RedundantStringEscape:
142
142
  - 'lib/pwn/sast/redos.rb'
143
143
  - 'vagrant/provisioners/kali_customize.rb'
144
144
 
145
- # Offense count: 51
145
+ # Offense count: 50
146
146
  # This cop supports unsafe autocorrection (--autocorrect-all).
147
147
  Style/SlicingWithRange:
148
148
  Enabled: false
data/Gemfile CHANGED
@@ -64,7 +64,7 @@ gem 'pdf-reader', '2.12.0'
64
64
  gem 'pg', '1.5.6'
65
65
  gem 'pry', '0.14.2'
66
66
  gem 'pry-doc', '1.5.0'
67
- gem 'rake', '13.2.0'
67
+ gem 'rake', '13.2.1'
68
68
  gem 'rb-readline', '0.5.5'
69
69
  gem 'rbvmomi', '3.0.0'
70
70
  gem 'rdoc', '6.6.3.1'
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.80]:001 >>> PWN.help
40
+ pwn[v0.5.81]: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.80]:001 >>> PWN.help
55
+ pwn[v0.5.81]: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.80]:001 >>> PWN.help
65
+ pwn[v0.5.81]: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/bin/pwn_gqrx_scanner CHANGED
@@ -87,7 +87,8 @@ begin
87
87
 
88
88
  list_profiles = opts[:list_profiles]
89
89
  if list_profiles
90
- pp PWN::Plugins::GQRX.list_profiles
90
+ profiles_available = PWN::Plugins::GQRX.list_profiles
91
+ puts JSON.pretty_generate(profiles_available)
91
92
  exit 0
92
93
  end
93
94
 
@@ -108,11 +109,18 @@ begin
108
109
  start_freq = opts[:start_freq]
109
110
  start_freq = start_freq.to_s.delete('.') unless start_freq.nil?
110
111
  start_freq = start_freq.to_i
111
- start_freq = gqrx_cmd(gqrx_sock: gqrx_sock, cmd: 'f', resp_ok: 'RPRT 0').to_i if start_freq.zero?
112
+ if start_freq.zero?
113
+ start_freq = PWN::Plugins::GQRX.gqrx_cmd(
114
+ gqrx_sock: gqrx_sock, cmd: 'f',
115
+ resp_ok: 'RPRT 0'
116
+ ).to_i
117
+ end
112
118
 
113
119
  demodulator_mode = opts[:demodulator_mode] ||= 'WFM_ST'
114
- demodulator_mode.upcase!
115
- raise "ERROR: Invalid demodulator mode: #{demodulator_mode}" unless %w[OFF RAW AM FM WFM WFM_ST WFM_ST_OIRT LSB USB CW CWL CWU].include?(demodulator_mode)
120
+ puts "Demodulator Mode: #{demodulator_mode}"
121
+ # demodulator_mode.upcase! if opts[:demodulator_mode]
122
+ demodulator_modes = %i[OFF RAW AM FM WFM WFM_ST WFM_ST_OIRT LSB USB CW CWL CWU]
123
+ raise "ERROR: Invalid demodulator mode: #{demodulator_mode}" unless demodulator_modes.include?(demodulator_mode)
116
124
 
117
125
  bandwidth = opts[:bandwidth] ||= '200.000'
118
126
 
@@ -331,37 +331,263 @@ module PWN
331
331
  # Supported Method Parameters::
332
332
  # profiles = PWN::Plugins::GQRX.list_profiles
333
333
  public_class_method def self.list_profiles
334
+ # TODO: Wifi5 / Wifi6 profiles,
335
+ # migrate to a YAML file, and add
336
+ # rSpec test to ensure all profiles
337
+ # contain consistent key-value pairs
334
338
  {
335
- ads_b: 'ADS-B, 978mhz to 1090mhz, AM, 4.6mhz bandwidth',
336
- analogue_tv: 'Analogue TV, 55.25mhz to 801.25mhz, WFM, 6mhz bandwidth',
337
- am_radio: 'AM Radio, 540khz to 1600khz, AM, 6khz bandwidth',
338
- bluetooth: 'Bluetooth, 2.4ghz to 2.5ghz, AM, 1mhz bandwidth',
339
- cdma: 'CDMA, 824mhz to 849mhz, AM, 1.25mhz bandwidth',
340
- cw20: 'CW 20m, 14mhz to 14.35mhz, CW, 150hz bandwidth',
341
- cw40: 'CW 40m, 7mhz to 7.3mhz, CW, 150hz bandwidth',
342
- cw80: 'CW 80m, 3.5mhz to 3.8mhz, CW, 150hz bandwidth',
343
- gps: 'GPS, 1.57542ghz to 1.57545ghz, WFM, 9.6mhz bandwidth',
344
- gsm: 'GSM, 935mhz to 960mhz, AM, 200khz bandwidth',
345
- fm_radio: 'FM Radio, 88mhz to 108mhz, WFM, 200khz bandwidth',
346
- lora433: 'LoRa 433mhz, 433mhz, AM, 125khz bandwidth',
347
- lora915: 'LoRa 915mhz, 915mhz, AM, 125khz bandwidth',
348
- lowrfid: 'Low RFID, 125khz, AM, 200khz bandwidth',
349
- nfcrfid: 'NFC RFID, 13.56mhz, AM, 1mhz bandwidth',
350
- radio_fob: 'Radio FOB, 315mhz, AM',
351
- rtty20: 'RTTY 20m, 14mhz to 14.35mhz, RTTY, 170hz bandwidth',
352
- rtty40: 'RTTY 40m, 7mhz to 7.3mhz, RTTY, 170hz bandwidth',
353
- rtty80: 'RTTY 80m, 3.5mhz to 3.8mhz, RTTY, 170hz bandwidth',
354
- ssb10: 'SSB 10m, 28mhz to 29.7mhz, USB, 2.7khz bandwidth',
355
- ssb12: 'SSB 12m, 24.89mhz to 24.99mhz, USB, 2.7khz bandwidth',
356
- ssb15: 'SSB 15m, 21mhz to 21.45mhz, USB, 2.7khz bandwidth',
357
- ssb17: 'SSB 17m, 18.068mhz to 18.168mhz, USB, 2.7khz bandwidth',
358
- ssb20: 'SSB 20m, 14mhz to 14.35mhz, USB, 2.7khz bandwidth',
359
- ssb40: 'SSB 40m, 7mhz to 7.3mhz, LSB, 2.7khz bandwidth',
360
- ssb80: 'SSB 80m, 3.5mhz to 3.8mhz, LSB, 2.7khz bandwidth',
361
- ssb160: 'SSB 160m, 1.8mhz to 2mhz, LSB, 2.7khz bandwidth',
362
- tempest: 'Tempest, 400mhz to 430mhz, AM, 200khz bandwidth',
363
- wifi24: 'WiFi 2.4ghz, 2.4ghz to 2.5ghz, AM, 20mhz bandwidth',
364
- zigbee: 'Zigbee, 2.405ghz to 2.485ghz, AM, 2mhz bandwidth'
339
+ ads_b978: {
340
+ start_freq: '978.000.000',
341
+ target_freq: '979.000.000',
342
+ demodulator_mode: :RAW,
343
+ bandwidth: '1.000.000',
344
+ precision: 5
345
+ },
346
+ ads_b1090: {
347
+ start_freq: '1.090.000.000',
348
+ target_freq: '1.091.000.000',
349
+ demodulator_mode: :RAW,
350
+ bandwidth: '1.000.000',
351
+ precision: 5
352
+ },
353
+ analog_tv_vhf: {
354
+ start_freq: '54.000.000',
355
+ target_freq: '216.000.000',
356
+ demodulator_mode: :WFM,
357
+ bandwidth: '6.000',
358
+ precision: 5
359
+ },
360
+ analog_tv_uhf: {
361
+ start_freq: '470.000.000',
362
+ target_freq: '890.000.000',
363
+ demodulator_mode: :WFM,
364
+ bandwidth: '6.000',
365
+ precision: 5
366
+ },
367
+ am_radio: {
368
+ start_freq: '540.000',
369
+ target_freq: '1.700.000',
370
+ demodulator_mode: :AM,
371
+ bandwidth: '10.000',
372
+ precision: 4
373
+ },
374
+ bluetooth: {
375
+ start_freq: '2.400.000.000',
376
+ target_freq: '2.485.000.000',
377
+ demodulator_mode: :RAW,
378
+ bandwidth: '1.000.000',
379
+ precision: 5
380
+ },
381
+ cdma: {
382
+ start_freq: '824.000.000',
383
+ target_freq: '849.000.000',
384
+ demodulator_mode: :RAW,
385
+ bandwidth: '1.250.000',
386
+ precision: 6
387
+ },
388
+ cw20: {
389
+ start_freq: '14.000.000',
390
+ target_freq: '14.350.000',
391
+ demodulator_mode: :CW,
392
+ bandwidth: '150',
393
+ precision: 3
394
+ },
395
+ cw40: {
396
+ start_freq: '7.000.000',
397
+ target_freq: '7.300.000',
398
+ demodulator_mode: :CW,
399
+ bandwidth: '150',
400
+ precision: 3
401
+ },
402
+ cw80: {
403
+ start_freq: '3.500.000',
404
+ target_freq: '3.800.000',
405
+ demodulator_mode: :CW,
406
+ bandwidth: '150',
407
+ precision: 3
408
+ },
409
+ gps12: {
410
+ start_freq: '1.227.600.000',
411
+ target_freq: '1.227.700.000',
412
+ demodulator_mode: :RAW,
413
+ bandwidth: '2.000.000',
414
+ precision: 6
415
+ },
416
+ gps15: {
417
+ start_freq: '1.575.420.000',
418
+ target_freq: '1.575.450.000',
419
+ demodulator_mode: :RAW,
420
+ bandwidth: '2.000.000',
421
+ precision: 6
422
+ },
423
+ gsm: {
424
+ start_freq: '935.000.000',
425
+ target_freq: '960.000.000',
426
+ demodulator_mode: :RAW,
427
+ bandwidth: '200.000',
428
+ precision: 4
429
+ },
430
+ fm_radio: {
431
+ start_freq: '88.000.000',
432
+ target_freq: '108.000.000',
433
+ demodulator_mode: :WFM,
434
+ bandwidth: '200.000',
435
+ precision: 5
436
+ },
437
+ high_rfid: {
438
+ start_freq: '13.560.000',
439
+ target_freq: '13.570.000',
440
+ demodulator_mode: :RAW,
441
+ bandwidth: '2.000.000',
442
+ precision: 3
443
+ },
444
+ lora433: {
445
+ start_freq: '432.000.000',
446
+ target_freq: '434.000.000',
447
+ demodulator_mode: :RAW,
448
+ bandwidth: '500.000',
449
+ precision: 3
450
+ },
451
+ lora915: {
452
+ start_freq: '914.000.000',
453
+ target_freq: '916.000.000',
454
+ demodulator_mode: :RAW,
455
+ bandwidth: '500.000',
456
+ precision: 3
457
+ },
458
+ low_rfid: {
459
+ start_freq: '125.000',
460
+ target_freq: '125.100',
461
+ demodulator_mode: :RAW,
462
+ bandwidth: '200.000',
463
+ precision: 1
464
+ },
465
+ keyfob300: {
466
+ start_freq: '300.000.000',
467
+ target_freq: '300.100.000',
468
+ demodulator_mode: :RAW,
469
+ bandwidth: '50.000',
470
+ precision: 4
471
+ },
472
+ keyfob310: {
473
+ start_freq: '310.000.000',
474
+ target_freq: '310.100.000',
475
+ demodulator_mode: :RAW,
476
+ bandwidth: '50.000',
477
+ precision: 4
478
+ },
479
+ keyfob315: {
480
+ start_freq: '315.000.000',
481
+ target_freq: '315.100.000',
482
+ demodulator_mode: :RAW,
483
+ bandwidth: '50.000',
484
+ precision: 4
485
+ },
486
+ keyfob390: {
487
+ start_freq: '390.000.000',
488
+ target_freq: '390.100.000',
489
+ demodulator_mode: :RAW,
490
+ bandwidth: '50.000',
491
+ precision: 4
492
+ },
493
+ rtty20: {
494
+ start_freq: '14.000.000',
495
+ target_freq: '14.350.000',
496
+ demodulator_mode: :RTTY,
497
+ bandwidth: '170',
498
+ precision: 3
499
+ },
500
+ rtty40: {
501
+ start_freq: '7.000.000',
502
+ target_freq: '7.300.000',
503
+ demodulator_mode: :RTTY,
504
+ bandwidth: '170',
505
+ precision: 3
506
+ },
507
+ rtty80: {
508
+ start_freq: '3.500.000',
509
+ target_freq: '3.800.000',
510
+ demodulator_mode: :RTTY,
511
+ bandwidth: '170',
512
+ precision: 3
513
+ },
514
+ ssb10: {
515
+ start_freq: '28.000.000',
516
+ target_freq: '29.700.000',
517
+ demodulator_mode: :USB,
518
+ bandwidth: '2.700',
519
+ precision: 6
520
+ },
521
+ ssb12: {
522
+ start_freq: '24.890.000',
523
+ target_freq: '24.990.000',
524
+ demodulator_mode: :USB,
525
+ bandwidth: '2.700',
526
+ precision: 6
527
+ },
528
+ ssb15: {
529
+ start_freq: '21.000.000',
530
+ target_freq: '21.450.000',
531
+ demodulator_mode: :USB,
532
+ bandwidth: '2.700',
533
+ precision: 6
534
+ },
535
+ ssb17: {
536
+ start_freq: '18.068.000',
537
+ target_freq: '18.168.000',
538
+ demodulator_mode: :USB,
539
+ bandwidth: '2.700',
540
+ precision: 6
541
+ },
542
+ ssb20: {
543
+ start_freq: '14.000.000',
544
+ target_freq: '14.350.000',
545
+ demodulator_mode: :USB,
546
+ bandwidth: '2.700',
547
+ precision: 6
548
+ },
549
+ ssb40: {
550
+ start_freq: '7.000.000',
551
+ target_freq: '7.300.000',
552
+ demodulator_mode: :LSB,
553
+ bandwidth: '2.700',
554
+ precision: 6
555
+ },
556
+ ssb80: {
557
+ start_freq: '3.500.000',
558
+ target_freq: '3.800.000',
559
+ demodulator_mode: :LSB,
560
+ bandwidth: '2.700',
561
+ precision: 6
562
+ },
563
+ ssb160: {
564
+ start_freq: '1.800.000',
565
+ target_freq: '2.000.000',
566
+ demodulator_mode: :LSB,
567
+ bandwidth: '2.700',
568
+ precision: 6
569
+ },
570
+ tempest: {
571
+ start_freq: '400.000.000',
572
+ target_freq: '430.000.000',
573
+ demodulator_mode: :WFM,
574
+ bandwidth: '200.000',
575
+ precision: 4
576
+ },
577
+ wifi24: {
578
+ start_freq: '2.400.000.000',
579
+ target_freq: '2.500.000.000',
580
+ demodulator_mode: :RAW,
581
+ bandwidth: '20.000.000',
582
+ precision: 7
583
+ },
584
+ zigbee: {
585
+ start_freq: '2.405.000.000',
586
+ target_freq: '2.485.000.000',
587
+ demodulator_mode: :RAW,
588
+ bandwidth: '2.000.000',
589
+ precision: 7
590
+ }
365
591
  }
366
592
  rescue StandardError => e
367
593
  raise e
@@ -374,157 +600,81 @@ module PWN
374
600
  public_class_method def self.assume_profile(opts = {})
375
601
  profile = opts[:profile].to_s.to_sym
376
602
 
603
+ profiles_available = list_profiles
377
604
  opts = {}
378
605
  case profile
379
- when :ads_b
380
- opts[:start_freq] = '978.000.000'
381
- opts[:target_freq] = '1.090.000.000'
382
- opts[:demodulator_mode] = 'AM'
383
- opts[:bandwidth] = '4.600.000'
384
- when :analogue_tv
385
- opts[:start_freq] = '55.250.000'
386
- opts[:target_freq] = '801.250.000'
387
- opts[:demodulator_mode] = 'WFM'
388
- opts[:bandwidth] = '6.000'
606
+ when :ads_b978
607
+ opts = profiles_available[:ads_b978]
608
+ when :ads_b1090
609
+ opts = profiles_available[:ads_b1090]
610
+ when :analog_tv_vhf
611
+ opts = profiles_available[:analog_tv_vhf]
612
+ when :analog_tv_uhf
613
+ opts = profiles_available[:analog_tv_uhf]
389
614
  when :am_radio
390
- opts[:start_freq] = '540.000'
391
- opts[:target_freq] = '1.600.000'
392
- opts[:demodulator_mode] = 'AM'
393
- opts[:bandwidth] = '6.000'
615
+ opts = profiles_available[:am_radio]
394
616
  when :bluetooth
395
- opts[:start_freq] = '2.400.000.000'
396
- opts[:target_freq] = '2.500.000.000'
397
- opts[:demodulator_mode] = 'AM'
398
- opts[:bandwidth] = '1.000.000'
617
+ opts = profiles_available[:bluetooth]
399
618
  when :cdma
400
- opts[:start_freq] = '824.000.000'
401
- opts[:target_freq] = '849.000.000'
402
- opts[:demodulator_mode] = 'AM'
403
- opts[:bandwidth] = '1.250.000'
619
+ opts = profiles_available[:cdma]
404
620
  when :cw20
405
- opts[:start_freq] = '14.000.000'
406
- opts[:target_freq] = '14.350.000'
407
- opts[:demodulator_mode] = 'CW'
408
- opts[:bandwidth] = '150'
621
+ opts = profiles_available[:cw20]
409
622
  when :cw40
410
- opts[:start_freq] = '7.000.000'
411
- opts[:target_freq] = '7.300.000'
412
- opts[:demodulator_mode] = 'CW'
413
- opts[:bandwidth] = '150'
623
+ opts = profiles_available[:cw40]
414
624
  when :cw80
415
- opts[:start_freq] = '3.500.000'
416
- opts[:target_freq] = '3.800.000'
417
- opts[:demodulator_mode] = 'CW'
418
- opts[:bandwidth] = '150'
419
- when :gps
420
- opts[:start_freq] = '1.575.420.000'
421
- opts[:target_freq] = '1.575.450.000'
422
- opts[:demodulator_mode] = 'WFM'
423
- opts[:bandwidth] = '9.600.000'
625
+ opts = profiles_available[:cw80]
626
+ when :gps12
627
+ opts = profiles_available[:gps12]
628
+ when :gps15
629
+ opts = profiles_available[:gps15]
424
630
  when :gsm
425
- opts[:start_freq] = '935.000.000'
426
- opts[:target_freq] = '960.000.000'
427
- opts[:demodulator_mode] = 'AM'
428
- opts[:bandwidth] = '200.000'
631
+ opts = profiles_available[:gsm]
429
632
  when :fm_radio
430
- opts[:start_freq] = '88.000.000'
431
- opts[:target_freq] = '108.000.000'
432
- opts[:demodulator_mode] = 'WFM'
433
- opts[:bandwidth] = '200.000'
633
+ opts = profiles_available[:fm_radio]
634
+ when :high_rfid
635
+ opts = profiles_available[:high_rfid]
434
636
  when :lora433
435
- opts[:start_freq] = '433.000.000'
436
- opts[:target_freq] = '433.000.000'
437
- opts[:demodulator_mode] = 'AM'
438
- opts[:bandwidth] = '125.000'
637
+ opts = profiles_available[:lora433]
439
638
  when :lora915
440
- opts[:start_freq] = '915.000.000'
441
- opts[:target_freq] = '915.000.000'
442
- opts[:demodulator_mode] = 'AM'
443
- opts[:bandwidth] = '125.000'
444
- when :lowrfid
445
- opts[:start_freq] = '125.000'
446
- opts[:target_freq] = '125.000'
447
- opts[:demodulator_mode] = 'AM'
448
- opts[:bandwidth] = '200.000'
449
- when :nfcrfid
450
- opts[:start_freq] = '13.560.000'
451
- opts[:target_freq] = '13.560.000'
452
- opts[:demodulator_mode] = 'AM'
453
- opts[:bandwidth] = '1.000.000'
454
- when :radio_fob
455
- opts[:start_freq] = '315.000.000'
456
- opts[:target_freq] = '315.000.000'
457
- opts[:demodulator_mode] = 'AM'
639
+ opts = profiles_available[:lora915]
640
+ when :low_rfid
641
+ opts = profiles_available[:low_rfid]
642
+ when :keyfob300
643
+ opts = profiles_available[:keyfob300]
644
+ when :keyfob310
645
+ opts = profiles_available[:keyfob310]
646
+ when :keyfob315
647
+ opts = profiles_available[:keyfob315]
648
+ when :keyfob390
649
+ opts = profiles_available[:keyfob390]
458
650
  when :rtty20
459
- opts[:start_freq] = '14.000.000'
460
- opts[:target_freq] = '14.350.000'
461
- opts[:demodulator_mode] = 'RTTY'
462
- opts[:bandwidth] = '170'
651
+ opts = profiles_available[:rtty20]
463
652
  when :rtty40
464
- opts[:start_freq] = '7.000.000'
465
- opts[:target_freq] = '7.300.000'
466
- opts[:demodulator_mode] = 'RTTY'
467
- opts[:bandwidth] = '170'
653
+ opts = profiles_available[:rtty40]
468
654
  when :rtty80
469
- opts[:start_freq] = '3.500.000'
470
- opts[:target_freq] = '3.800.000'
471
- opts[:demodulator_mode] = 'RTTY'
472
- opts[:bandwidth] = '170'
655
+ opts = profiles_available[:rtty80]
473
656
  when :ssb10
474
- opts[:start_freq] = '28.000.000'
475
- opts[:target_freq] = '29.700.000'
476
- opts[:demodulator_mode] = 'USB'
477
- opts[:bandwidth] = '2.700'
657
+ opts = profiles_available[:ssb10]
478
658
  when :ssb12
479
- opts[:start_freq] = '24.890.000'
480
- opts[:target_freq] = '24.990.000'
481
- opts[:demodulator_mode] = 'USB'
482
- opts[:bandwidth] = '2.700'
659
+ opts = profiles_available[:ssb12]
483
660
  when :ssb15
484
- opts[:start_freq] = '21.000.000'
485
- opts[:target_freq] = '21.450.000'
486
- opts[:demodulator_mode] = 'USB'
487
- opts[:bandwidth] = '2.700'
661
+ opts = profiles_available[:ssb15]
488
662
  when :ssb17
489
- opts[:start_freq] = '18.068.000'
490
- opts[:target_freq] = '18.168.000'
491
- opts[:demodulator_mode] = 'USB'
492
- opts[:bandwidth] = '2.700'
663
+ opts = profiles_available[:ssb17]
493
664
  when :ssb20
494
- opts[:start_freq] = '14.000.000'
495
- opts[:target_freq] = '14.350.000'
496
- opts[:demodulator_mode] = 'USB'
497
- opts[:bandwidth] = '2.700'
665
+ opts = profiles_available[:ssb20]
498
666
  when :ssb40
499
- opts[:start_freq] = '7.000.000'
500
- opts[:target_freq] = '7.300.000'
501
- opts[:demodulator_mode] = 'LSB'
502
- opts[:bandwidth] = '2.700'
667
+ opts = profiles_available[:ssb40]
503
668
  when :ssb80
504
- opts[:start_freq] = '3.500.000'
505
- opts[:target_freq] = '3.800.000'
506
- opts[:demodulator_mode] = 'LSB'
507
- opts[:bandwidth] = '2.700'
669
+ opts = profiles_available[:ssb80]
508
670
  when :ssb160
509
- opts[:start_freq] = '1.800.000'
510
- opts[:target_freq] = '2.000.000'
511
- opts[:demodulator_mode] = 'LSB'
512
- opts[:bandwidth] = '2.700'
671
+ opts = profiles_available[:ssb160]
513
672
  when :tempest
514
- opts[:start_freq] = '400.000.000'
515
- opts[:target_freq] = '430.000.000'
516
- opts[:demodulator_mode] = 'AM'
517
- opts[:bandwidth] = '200.000'
673
+ opts = profiles_available[:tempest]
518
674
  when :wifi24
519
- opts[:start_freq] = '2.400.000.000'
520
- opts[:target_freq] = '2.500.000.000'
521
- opts[:demodulator_mode] = 'AM'
522
- opts[:bandwidth] = '20.000.000'
675
+ opts = profiles_available[:wifi24]
523
676
  when :zigbee
524
- opts[:start_freq] = '2.405.000.000'
525
- opts[:target_freq] = '2.485.000.000'
526
- opts[:demodulator_mode] = 'AM'
527
- opts[:bandwidth] = '2.000.000'
677
+ opts = profiles_available[:zigbee]
528
678
  else
529
679
  raise "ERROR: Invalid profile: #{profile}"
530
680
  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.5.80'
4
+ VERSION = '0.5.81'
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.80
4
+ version: 0.5.81
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -716,14 +716,14 @@ dependencies:
716
716
  requirements:
717
717
  - - '='
718
718
  - !ruby/object:Gem::Version
719
- version: 13.2.0
719
+ version: 13.2.1
720
720
  type: :development
721
721
  prerelease: false
722
722
  version_requirements: !ruby/object:Gem::Requirement
723
723
  requirements:
724
724
  - - '='
725
725
  - !ruby/object:Gem::Version
726
- version: 13.2.0
726
+ version: 13.2.1
727
727
  - !ruby/object:Gem::Dependency
728
728
  name: rb-readline
729
729
  requirement: !ruby/object:Gem::Requirement