pwn 0.5.507 → 0.5.509

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 (1057) hide show
  1. checksums.yaml +4 -4
  2. metadata +24 -1131
  3. data/.github/FUNDING.yml +0 -1
  4. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  5. data/.gitignore +0 -65
  6. data/.rubocop.yml +0 -35
  7. data/.rubocop_todo.yml +0 -178
  8. data/.ruby-gemset +0 -1
  9. data/.ruby-version +0 -1
  10. data/.travis.yml +0 -24
  11. data/CHANGELOG_BETWEEN_TAGS.txt +0 -185
  12. data/CODE_OF_CONDUCT.md +0 -46
  13. data/CONTRIBUTING.md +0 -13
  14. data/Gemfile +0 -107
  15. data/LICENSE.txt +0 -22
  16. data/README.md +0 -100
  17. data/Rakefile +0 -20
  18. data/Vagrantfile +0 -250
  19. data/bin/pwn +0 -30
  20. data/bin/pwn_android_war_dialer +0 -151
  21. data/bin/pwn_autoinc_version +0 -58
  22. data/bin/pwn_aws_describe_resources +0 -717
  23. data/bin/pwn_bdba_groups +0 -107
  24. data/bin/pwn_bdba_scan +0 -198
  25. data/bin/pwn_burp_suite_pro_active_rest_api_scan +0 -167
  26. data/bin/pwn_burp_suite_pro_active_scan +0 -132
  27. data/bin/pwn_char_base64_encoding +0 -15
  28. data/bin/pwn_char_dec_encoding +0 -14
  29. data/bin/pwn_char_hex_escaped_encoding +0 -17
  30. data/bin/pwn_char_html_entity_encoding +0 -15
  31. data/bin/pwn_char_unicode_escaped_encoding +0 -14
  32. data/bin/pwn_char_url_encoding +0 -15
  33. data/bin/pwn_crt_sh +0 -73
  34. data/bin/pwn_defectdojo_engagement_create +0 -148
  35. data/bin/pwn_defectdojo_importscan +0 -130
  36. data/bin/pwn_defectdojo_reimportscan +0 -118
  37. data/bin/pwn_diff_csv_files_w_column_exclude +0 -171
  38. data/bin/pwn_domain_reversewhois +0 -76
  39. data/bin/pwn_fuzz_net_app_proto +0 -170
  40. data/bin/pwn_gqrx_scanner +0 -196
  41. data/bin/pwn_jenkins_create_job +0 -58
  42. data/bin/pwn_jenkins_create_view +0 -58
  43. data/bin/pwn_jenkins_install_plugin +0 -83
  44. data/bin/pwn_jenkins_thinBackup_aws_s3 +0 -113
  45. data/bin/pwn_jenkins_update_plugins +0 -77
  46. data/bin/pwn_jenkins_useradd +0 -76
  47. data/bin/pwn_mail_agent +0 -114
  48. data/bin/pwn_msf_postgres_login +0 -28
  49. data/bin/pwn_nessus_cloud_scan_crud +0 -334
  50. data/bin/pwn_nessus_cloud_vulnscan +0 -87
  51. data/bin/pwn_nexpose +0 -42
  52. data/bin/pwn_nmap_discover_tcp_udp +0 -353
  53. data/bin/pwn_openvas_vulnscan +0 -104
  54. data/bin/pwn_pastebin_sample_filter +0 -47
  55. data/bin/pwn_phone +0 -129
  56. data/bin/pwn_rdoc_to_jsonl +0 -83
  57. data/bin/pwn_sast +0 -183
  58. data/bin/pwn_serial_check_voicemail +0 -56
  59. data/bin/pwn_serial_msr206 +0 -168
  60. data/bin/pwn_serial_qualcomm_commands +0 -16
  61. data/bin/pwn_serial_son_micro_sm132_rfid +0 -188
  62. data/bin/pwn_shodan_graphql_introspection +0 -304
  63. data/bin/pwn_shodan_search +0 -90
  64. data/bin/pwn_simple_http_server +0 -44
  65. data/bin/pwn_web_cache_deception +0 -205
  66. data/bin/pwn_www_checkip +0 -77
  67. data/bin/pwn_www_uri_buster +0 -363
  68. data/bin/pwn_xss_dom_vectors +0 -149
  69. data/bin/pwn_zaproxy_active_rest_api_scan +0 -159
  70. data/bin/pwn_zaproxy_active_scan +0 -130
  71. data/build_pwn_gem.sh +0 -33
  72. data/documentation/PWN.png +0 -0
  73. data/documentation/PWN_Contributors_and_Users.png +0 -0
  74. data/documentation/fax-spectrogram.png +0 -0
  75. data/documentation/fax-waveform.png +0 -0
  76. data/documentation/frozen_string_literal_files_changed_from_false_to_true.txt +0 -54
  77. data/documentation/pwn_android_war_dialer_session.png +0 -0
  78. data/documentation/pwn_install.png +0 -0
  79. data/documentation/pwn_wallpaper.jpg +0 -0
  80. data/documentation/ringing-spectrogram.png +0 -0
  81. data/documentation/ringing-waveform.png +0 -0
  82. data/etc/systemd/msfrpcd.service +0 -12
  83. data/etc/systemd/openvas.service +0 -14
  84. data/etc/userland/aws/apache2/jenkins_443.conf +0 -90
  85. data/etc/userland/aws/apache2/jenkins_80.conf +0 -7
  86. data/etc/userland/aws/apache2/openvas_443.conf +0 -87
  87. data/etc/userland/aws/apache2/openvas_80.conf +0 -7
  88. data/etc/userland/aws/apache2/sast_443.conf +0 -87
  89. data/etc/userland/aws/apache2/sast_80.conf +0 -9
  90. data/etc/userland/aws/apache2/vagrant.yaml.EXAMPLE +0 -9
  91. data/etc/userland/aws/arachni/navigation-REST.instruct.EXAMPLE +0 -29
  92. data/etc/userland/aws/arachni/navigation.instruct.EXAMPLE +0 -3
  93. data/etc/userland/aws/burpsuite/navigation.instruct.EXAMPLE +0 -3
  94. data/etc/userland/aws/burpsuite/vagrant.yaml.EXAMPLE +0 -2
  95. data/etc/userland/aws/defectdojo/vagrant.yaml.EXAMPLE +0 -3
  96. data/etc/userland/aws/jenkins/inject_build_envs.sh +0 -15
  97. data/etc/userland/aws/jenkins/jenkins +0 -81
  98. data/etc/userland/aws/jenkins/jobs/pipeline-pwntemplate.xml +0 -298
  99. data/etc/userland/aws/jenkins/jobs/pipeline-selfupdate.xml +0 -462
  100. data/etc/userland/aws/jenkins/jobs/pwntemplate-DOMAIN-burpsuite.xml +0 -44
  101. data/etc/userland/aws/jenkins/jobs/pwntemplate-DOMAIN-owasp_zap.xml +0 -35
  102. data/etc/userland/aws/jenkins/jobs/pwntemplate-DOMAIN-ssllabs-scan.xml +0 -45
  103. data/etc/userland/aws/jenkins/jobs/pwntemplate-GITREPO_BRANCH-sast.xml +0 -71
  104. data/etc/userland/aws/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_discovery_scan_tcp_udp_65k.xml +0 -56
  105. data/etc/userland/aws/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_xml_results_searchsploit.xml +0 -59
  106. data/etc/userland/aws/jenkins/jobs/pwntemplate-NETWORKRANGE-openvas.xml +0 -45
  107. data/etc/userland/aws/jenkins/jobs/selfupdate-exploit-db.xml +0 -43
  108. data/etc/userland/aws/jenkins/jobs/selfupdate-gem.xml +0 -42
  109. data/etc/userland/aws/jenkins/jobs/selfupdate-jenkins_plugins.xml +0 -42
  110. data/etc/userland/aws/jenkins/jobs/selfupdate-metasploit.xml +0 -42
  111. data/etc/userland/aws/jenkins/jobs/selfupdate-nmap_all_live_hosts.xml +0 -42
  112. data/etc/userland/aws/jenkins/jobs/selfupdate-openvas_sync.xml +0 -42
  113. data/etc/userland/aws/jenkins/jobs/selfupdate-openvas_wrappers.xml +0 -42
  114. data/etc/userland/aws/jenkins/jobs/selfupdate-os.xml +0 -42
  115. data/etc/userland/aws/jenkins/jobs/selfupdate-pwn.xml +0 -42
  116. data/etc/userland/aws/jenkins/jobs/selfupdate-rvm.xml +0 -42
  117. data/etc/userland/aws/jenkins/jobs/selfupdate-ssllabs-scan.xml +0 -42
  118. data/etc/userland/aws/jenkins/jobs/selfupdate-wpscan.xml +0 -42
  119. data/etc/userland/aws/jenkins/jobs_userland/.gitkeep +0 -0
  120. data/etc/userland/aws/jenkins/log_parser_rules/arachni.rules +0 -5
  121. data/etc/userland/aws/jenkins/log_parser_rules/sast.rules +0 -2
  122. data/etc/userland/aws/jenkins/log_parser_rules/self_update.rules +0 -14
  123. data/etc/userland/aws/jenkins/log_parser_rules/ssllabs-scan.rules +0 -8
  124. data/etc/userland/aws/jenkins/log_parser_rules/system_maintenance.rules +0 -9
  125. data/etc/userland/aws/jenkins/log_parser_rules/wpscan.rules +0 -2
  126. data/etc/userland/aws/jenkins/vagrant.yaml.EXAMPLE +0 -8
  127. data/etc/userland/aws/letsencrypt/vagrant.yaml.EXAMPLE +0 -5
  128. data/etc/userland/aws/metasploit/vagrant.yaml.EXAMPLE +0 -4
  129. data/etc/userland/aws/nessus/vagrant.yaml.EXAMPLE +0 -15
  130. data/etc/userland/aws/openvas/vagrant.yaml.EXAMPLE +0 -2
  131. data/etc/userland/aws/owasp_zap/navigation.instruct.EXAMPLE +0 -3
  132. data/etc/userland/aws/postgres/vagrant.yaml.EXAMPLE +0 -2
  133. data/etc/userland/aws/recon-ng/vagrant.yaml.EXAMPLE +0 -52
  134. data/etc/userland/aws/vagrant.yaml.EXAMPLE +0 -35
  135. data/etc/userland/docker/apache2/jenkins_443.conf +0 -90
  136. data/etc/userland/docker/apache2/jenkins_80.conf +0 -7
  137. data/etc/userland/docker/apache2/openvas_443.conf +0 -87
  138. data/etc/userland/docker/apache2/openvas_80.conf +0 -7
  139. data/etc/userland/docker/apache2/sast_443.conf +0 -87
  140. data/etc/userland/docker/apache2/sast_80.conf +0 -9
  141. data/etc/userland/docker/apache2/vagrant.yaml.EXAMPLE +0 -9
  142. data/etc/userland/docker/arachni/navigation-REST.instruct.EXAMPLE +0 -29
  143. data/etc/userland/docker/arachni/navigation.instruct.EXAMPLE +0 -3
  144. data/etc/userland/docker/burpsuite/navigation.instruct.EXAMPLE +0 -3
  145. data/etc/userland/docker/burpsuite/vagrant.yaml.EXAMPLE +0 -2
  146. data/etc/userland/docker/defectdojo/vagrant.yaml.EXAMPLE +0 -3
  147. data/etc/userland/docker/jenkins/inject_build_envs.sh +0 -15
  148. data/etc/userland/docker/jenkins/jenkins +0 -81
  149. data/etc/userland/docker/jenkins/jobs/pipeline-pwntemplate.xml +0 -298
  150. data/etc/userland/docker/jenkins/jobs/pipeline-selfupdate.xml +0 -462
  151. data/etc/userland/docker/jenkins/jobs/pwntemplate-DOMAIN-burpsuite.xml +0 -44
  152. data/etc/userland/docker/jenkins/jobs/pwntemplate-DOMAIN-owasp_zap.xml +0 -35
  153. data/etc/userland/docker/jenkins/jobs/pwntemplate-DOMAIN-ssllabs-scan.xml +0 -45
  154. data/etc/userland/docker/jenkins/jobs/pwntemplate-GITREPO_BRANCH-sast.xml +0 -71
  155. data/etc/userland/docker/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_discovery_scan_tcp_udp_65k.xml +0 -56
  156. data/etc/userland/docker/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_xml_results_searchsploit.xml +0 -59
  157. data/etc/userland/docker/jenkins/jobs/pwntemplate-NETWORKRANGE-openvas.xml +0 -45
  158. data/etc/userland/docker/jenkins/jobs/selfupdate-exploit-db.xml +0 -43
  159. data/etc/userland/docker/jenkins/jobs/selfupdate-gem.xml +0 -42
  160. data/etc/userland/docker/jenkins/jobs/selfupdate-jenkins_plugins.xml +0 -42
  161. data/etc/userland/docker/jenkins/jobs/selfupdate-metasploit.xml +0 -42
  162. data/etc/userland/docker/jenkins/jobs/selfupdate-nmap_all_live_hosts.xml +0 -42
  163. data/etc/userland/docker/jenkins/jobs/selfupdate-openvas_sync.xml +0 -42
  164. data/etc/userland/docker/jenkins/jobs/selfupdate-openvas_wrappers.xml +0 -42
  165. data/etc/userland/docker/jenkins/jobs/selfupdate-os.xml +0 -42
  166. data/etc/userland/docker/jenkins/jobs/selfupdate-pwn.xml +0 -42
  167. data/etc/userland/docker/jenkins/jobs/selfupdate-rvm.xml +0 -42
  168. data/etc/userland/docker/jenkins/jobs/selfupdate-ssllabs-scan.xml +0 -42
  169. data/etc/userland/docker/jenkins/jobs/selfupdate-wpscan.xml +0 -42
  170. data/etc/userland/docker/jenkins/jobs_userland/.gitkeep +0 -0
  171. data/etc/userland/docker/jenkins/log_parser_rules/arachni.rules +0 -5
  172. data/etc/userland/docker/jenkins/log_parser_rules/sast.rules +0 -2
  173. data/etc/userland/docker/jenkins/log_parser_rules/self_update.rules +0 -14
  174. data/etc/userland/docker/jenkins/log_parser_rules/ssllabs-scan.rules +0 -8
  175. data/etc/userland/docker/jenkins/log_parser_rules/system_maintenance.rules +0 -9
  176. data/etc/userland/docker/jenkins/log_parser_rules/wpscan.rules +0 -2
  177. data/etc/userland/docker/jenkins/vagrant.yaml.EXAMPLE +0 -8
  178. data/etc/userland/docker/letsencrypt/vagrant.yaml.EXAMPLE +0 -5
  179. data/etc/userland/docker/metasploit/vagrant.yaml.EXAMPLE +0 -4
  180. data/etc/userland/docker/nessus/vagrant.yaml.EXAMPLE +0 -15
  181. data/etc/userland/docker/openvas/vagrant.yaml.EXAMPLE +0 -2
  182. data/etc/userland/docker/owasp_zap/navigation.instruct.EXAMPLE +0 -3
  183. data/etc/userland/docker/postgres/vagrant.yaml.EXAMPLE +0 -2
  184. data/etc/userland/docker/recon-ng/vagrant.yaml.EXAMPLE +0 -52
  185. data/etc/userland/qemu/apache2/jenkins_443.conf +0 -90
  186. data/etc/userland/qemu/apache2/jenkins_80.conf +0 -7
  187. data/etc/userland/qemu/apache2/openvas_443.conf +0 -87
  188. data/etc/userland/qemu/apache2/openvas_80.conf +0 -7
  189. data/etc/userland/qemu/apache2/sast_443.conf +0 -87
  190. data/etc/userland/qemu/apache2/sast_80.conf +0 -9
  191. data/etc/userland/qemu/apache2/vagrant.yaml.EXAMPLE +0 -9
  192. data/etc/userland/qemu/arachni/navigation-REST.instruct.EXAMPLE +0 -29
  193. data/etc/userland/qemu/arachni/navigation.instruct.EXAMPLE +0 -3
  194. data/etc/userland/qemu/burpsuite/navigation.instruct.EXAMPLE +0 -3
  195. data/etc/userland/qemu/burpsuite/vagrant.yaml.EXAMPLE +0 -2
  196. data/etc/userland/qemu/defectdojo/vagrant.yaml.EXAMPLE +0 -3
  197. data/etc/userland/qemu/jenkins/inject_build_envs.sh +0 -15
  198. data/etc/userland/qemu/jenkins/jenkins +0 -81
  199. data/etc/userland/qemu/jenkins/jobs/pipeline-pwntemplate.xml +0 -298
  200. data/etc/userland/qemu/jenkins/jobs/pipeline-selfupdate.xml +0 -462
  201. data/etc/userland/qemu/jenkins/jobs/pwntemplate-DOMAIN-burpsuite.xml +0 -44
  202. data/etc/userland/qemu/jenkins/jobs/pwntemplate-DOMAIN-owasp_zap.xml +0 -35
  203. data/etc/userland/qemu/jenkins/jobs/pwntemplate-DOMAIN-ssllabs-scan.xml +0 -45
  204. data/etc/userland/qemu/jenkins/jobs/pwntemplate-GITREPO_BRANCH-sast.xml +0 -71
  205. data/etc/userland/qemu/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_discovery_scan_tcp_udp_65k.xml +0 -56
  206. data/etc/userland/qemu/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_xml_results_searchsploit.xml +0 -59
  207. data/etc/userland/qemu/jenkins/jobs/pwntemplate-NETWORKRANGE-openvas.xml +0 -45
  208. data/etc/userland/qemu/jenkins/jobs/selfupdate-exploit-db.xml +0 -43
  209. data/etc/userland/qemu/jenkins/jobs/selfupdate-gem.xml +0 -42
  210. data/etc/userland/qemu/jenkins/jobs/selfupdate-jenkins_plugins.xml +0 -42
  211. data/etc/userland/qemu/jenkins/jobs/selfupdate-metasploit.xml +0 -42
  212. data/etc/userland/qemu/jenkins/jobs/selfupdate-nmap_all_live_hosts.xml +0 -42
  213. data/etc/userland/qemu/jenkins/jobs/selfupdate-openvas_sync.xml +0 -42
  214. data/etc/userland/qemu/jenkins/jobs/selfupdate-openvas_wrappers.xml +0 -42
  215. data/etc/userland/qemu/jenkins/jobs/selfupdate-os.xml +0 -42
  216. data/etc/userland/qemu/jenkins/jobs/selfupdate-pwn.xml +0 -42
  217. data/etc/userland/qemu/jenkins/jobs/selfupdate-rvm.xml +0 -42
  218. data/etc/userland/qemu/jenkins/jobs/selfupdate-ssllabs-scan.xml +0 -42
  219. data/etc/userland/qemu/jenkins/jobs/selfupdate-wpscan.xml +0 -42
  220. data/etc/userland/qemu/jenkins/jobs_userland/.gitkeep +0 -0
  221. data/etc/userland/qemu/jenkins/log_parser_rules/arachni.rules +0 -5
  222. data/etc/userland/qemu/jenkins/log_parser_rules/sast.rules +0 -2
  223. data/etc/userland/qemu/jenkins/log_parser_rules/self_update.rules +0 -14
  224. data/etc/userland/qemu/jenkins/log_parser_rules/ssllabs-scan.rules +0 -8
  225. data/etc/userland/qemu/jenkins/log_parser_rules/system_maintenance.rules +0 -9
  226. data/etc/userland/qemu/jenkins/log_parser_rules/wpscan.rules +0 -2
  227. data/etc/userland/qemu/jenkins/vagrant.yaml.EXAMPLE +0 -8
  228. data/etc/userland/qemu/letsencrypt/vagrant.yaml.EXAMPLE +0 -5
  229. data/etc/userland/qemu/metasploit/vagrant.yaml.EXAMPLE +0 -4
  230. data/etc/userland/qemu/nessus/vagrant.yaml.EXAMPLE +0 -15
  231. data/etc/userland/qemu/openvas/vagrant.yaml.EXAMPLE +0 -2
  232. data/etc/userland/qemu/owasp_zap/navigation.instruct.EXAMPLE +0 -3
  233. data/etc/userland/qemu/postgres/vagrant.yaml.EXAMPLE +0 -2
  234. data/etc/userland/qemu/recon-ng/vagrant.yaml.EXAMPLE +0 -52
  235. data/etc/userland/ruby-gem/apache2/jenkins_443.conf +0 -90
  236. data/etc/userland/ruby-gem/apache2/jenkins_80.conf +0 -7
  237. data/etc/userland/ruby-gem/apache2/openvas_443.conf +0 -87
  238. data/etc/userland/ruby-gem/apache2/openvas_80.conf +0 -7
  239. data/etc/userland/ruby-gem/apache2/sast_443.conf +0 -87
  240. data/etc/userland/ruby-gem/apache2/sast_80.conf +0 -9
  241. data/etc/userland/ruby-gem/apache2/vagrant.yaml.EXAMPLE +0 -9
  242. data/etc/userland/ruby-gem/arachni/navigation-REST.instruct.EXAMPLE +0 -29
  243. data/etc/userland/ruby-gem/arachni/navigation.instruct.EXAMPLE +0 -3
  244. data/etc/userland/ruby-gem/burpsuite/navigation.instruct.EXAMPLE +0 -3
  245. data/etc/userland/ruby-gem/burpsuite/vagrant.yaml.EXAMPLE +0 -2
  246. data/etc/userland/ruby-gem/defectdojo/vagrant.yaml.EXAMPLE +0 -3
  247. data/etc/userland/ruby-gem/jenkins/inject_build_envs.sh +0 -15
  248. data/etc/userland/ruby-gem/jenkins/jenkins +0 -81
  249. data/etc/userland/ruby-gem/jenkins/jobs/pipeline-pwntemplate.xml +0 -298
  250. data/etc/userland/ruby-gem/jenkins/jobs/pipeline-selfupdate.xml +0 -462
  251. data/etc/userland/ruby-gem/jenkins/jobs/pwntemplate-DOMAIN-burpsuite.xml +0 -44
  252. data/etc/userland/ruby-gem/jenkins/jobs/pwntemplate-DOMAIN-owasp_zap.xml +0 -35
  253. data/etc/userland/ruby-gem/jenkins/jobs/pwntemplate-DOMAIN-ssllabs-scan.xml +0 -45
  254. data/etc/userland/ruby-gem/jenkins/jobs/pwntemplate-GITREPO_BRANCH-sast.xml +0 -71
  255. data/etc/userland/ruby-gem/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_discovery_scan_tcp_udp_65k.xml +0 -56
  256. data/etc/userland/ruby-gem/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_xml_results_searchsploit.xml +0 -59
  257. data/etc/userland/ruby-gem/jenkins/jobs/pwntemplate-NETWORKRANGE-openvas.xml +0 -45
  258. data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-exploit-db.xml +0 -43
  259. data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-gem.xml +0 -42
  260. data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-jenkins_plugins.xml +0 -42
  261. data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-metasploit.xml +0 -42
  262. data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-nmap_all_live_hosts.xml +0 -42
  263. data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-openvas_sync.xml +0 -42
  264. data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-openvas_wrappers.xml +0 -42
  265. data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-os.xml +0 -42
  266. data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-pwn.xml +0 -42
  267. data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-rvm.xml +0 -42
  268. data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-ssllabs-scan.xml +0 -42
  269. data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-wpscan.xml +0 -42
  270. data/etc/userland/ruby-gem/jenkins/jobs_userland/.gitkeep +0 -0
  271. data/etc/userland/ruby-gem/jenkins/log_parser_rules/arachni.rules +0 -5
  272. data/etc/userland/ruby-gem/jenkins/log_parser_rules/sast.rules +0 -2
  273. data/etc/userland/ruby-gem/jenkins/log_parser_rules/self_update.rules +0 -14
  274. data/etc/userland/ruby-gem/jenkins/log_parser_rules/ssllabs-scan.rules +0 -8
  275. data/etc/userland/ruby-gem/jenkins/log_parser_rules/system_maintenance.rules +0 -9
  276. data/etc/userland/ruby-gem/jenkins/log_parser_rules/wpscan.rules +0 -2
  277. data/etc/userland/ruby-gem/jenkins/vagrant.yaml.EXAMPLE +0 -8
  278. data/etc/userland/ruby-gem/letsencrypt/vagrant.yaml.EXAMPLE +0 -5
  279. data/etc/userland/ruby-gem/metasploit/vagrant.yaml.EXAMPLE +0 -4
  280. data/etc/userland/ruby-gem/nessus/vagrant.yaml.EXAMPLE +0 -15
  281. data/etc/userland/ruby-gem/openvas/vagrant.yaml.EXAMPLE +0 -2
  282. data/etc/userland/ruby-gem/owasp_zap/navigation.instruct.EXAMPLE +0 -3
  283. data/etc/userland/ruby-gem/postgres/vagrant.yaml.EXAMPLE +0 -2
  284. data/etc/userland/ruby-gem/recon-ng/vagrant.yaml.EXAMPLE +0 -52
  285. data/etc/userland/virtualbox/apache2/jenkins_443.conf +0 -90
  286. data/etc/userland/virtualbox/apache2/jenkins_80.conf +0 -7
  287. data/etc/userland/virtualbox/apache2/openvas_443.conf +0 -87
  288. data/etc/userland/virtualbox/apache2/openvas_80.conf +0 -7
  289. data/etc/userland/virtualbox/apache2/sast_443.conf +0 -87
  290. data/etc/userland/virtualbox/apache2/sast_80.conf +0 -9
  291. data/etc/userland/virtualbox/apache2/vagrant.yaml.EXAMPLE +0 -9
  292. data/etc/userland/virtualbox/arachni/navigation-REST.instruct.EXAMPLE +0 -29
  293. data/etc/userland/virtualbox/arachni/navigation.instruct.EXAMPLE +0 -3
  294. data/etc/userland/virtualbox/burpsuite/navigation.instruct.EXAMPLE +0 -3
  295. data/etc/userland/virtualbox/burpsuite/vagrant.yaml.EXAMPLE +0 -2
  296. data/etc/userland/virtualbox/defectdojo/vagrant.yaml.EXAMPLE +0 -3
  297. data/etc/userland/virtualbox/jenkins/inject_build_envs.sh +0 -15
  298. data/etc/userland/virtualbox/jenkins/jenkins +0 -81
  299. data/etc/userland/virtualbox/jenkins/jobs/pipeline-pwntemplate.xml +0 -298
  300. data/etc/userland/virtualbox/jenkins/jobs/pipeline-selfupdate.xml +0 -462
  301. data/etc/userland/virtualbox/jenkins/jobs/pwntemplate-DOMAIN-burpsuite.xml +0 -44
  302. data/etc/userland/virtualbox/jenkins/jobs/pwntemplate-DOMAIN-owasp_zap.xml +0 -35
  303. data/etc/userland/virtualbox/jenkins/jobs/pwntemplate-DOMAIN-ssllabs-scan.xml +0 -45
  304. data/etc/userland/virtualbox/jenkins/jobs/pwntemplate-GITREPO_BRANCH-sast.xml +0 -71
  305. data/etc/userland/virtualbox/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_discovery_scan_tcp_udp_65k.xml +0 -56
  306. data/etc/userland/virtualbox/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_xml_results_searchsploit.xml +0 -59
  307. data/etc/userland/virtualbox/jenkins/jobs/pwntemplate-NETWORKRANGE-openvas.xml +0 -45
  308. data/etc/userland/virtualbox/jenkins/jobs/selfupdate-exploit-db.xml +0 -43
  309. data/etc/userland/virtualbox/jenkins/jobs/selfupdate-gem.xml +0 -42
  310. data/etc/userland/virtualbox/jenkins/jobs/selfupdate-jenkins_plugins.xml +0 -42
  311. data/etc/userland/virtualbox/jenkins/jobs/selfupdate-metasploit.xml +0 -42
  312. data/etc/userland/virtualbox/jenkins/jobs/selfupdate-nmap_all_live_hosts.xml +0 -42
  313. data/etc/userland/virtualbox/jenkins/jobs/selfupdate-openvas_sync.xml +0 -42
  314. data/etc/userland/virtualbox/jenkins/jobs/selfupdate-openvas_wrappers.xml +0 -42
  315. data/etc/userland/virtualbox/jenkins/jobs/selfupdate-os.xml +0 -42
  316. data/etc/userland/virtualbox/jenkins/jobs/selfupdate-pwn.xml +0 -42
  317. data/etc/userland/virtualbox/jenkins/jobs/selfupdate-rvm.xml +0 -42
  318. data/etc/userland/virtualbox/jenkins/jobs/selfupdate-ssllabs-scan.xml +0 -42
  319. data/etc/userland/virtualbox/jenkins/jobs/selfupdate-wpscan.xml +0 -42
  320. data/etc/userland/virtualbox/jenkins/jobs_userland/.gitkeep +0 -0
  321. data/etc/userland/virtualbox/jenkins/log_parser_rules/arachni.rules +0 -5
  322. data/etc/userland/virtualbox/jenkins/log_parser_rules/sast.rules +0 -2
  323. data/etc/userland/virtualbox/jenkins/log_parser_rules/self_update.rules +0 -14
  324. data/etc/userland/virtualbox/jenkins/log_parser_rules/ssllabs-scan.rules +0 -8
  325. data/etc/userland/virtualbox/jenkins/log_parser_rules/system_maintenance.rules +0 -9
  326. data/etc/userland/virtualbox/jenkins/log_parser_rules/wpscan.rules +0 -2
  327. data/etc/userland/virtualbox/jenkins/vagrant.yaml.EXAMPLE +0 -8
  328. data/etc/userland/virtualbox/letsencrypt/vagrant.yaml.EXAMPLE +0 -5
  329. data/etc/userland/virtualbox/metasploit/vagrant.yaml.EXAMPLE +0 -4
  330. data/etc/userland/virtualbox/nessus/vagrant.yaml.EXAMPLE +0 -15
  331. data/etc/userland/virtualbox/openvas/vagrant.yaml.EXAMPLE +0 -2
  332. data/etc/userland/virtualbox/owasp_zap/navigation.instruct.EXAMPLE +0 -3
  333. data/etc/userland/virtualbox/postgres/vagrant.yaml.EXAMPLE +0 -2
  334. data/etc/userland/virtualbox/recon-ng/vagrant.yaml.EXAMPLE +0 -52
  335. data/etc/userland/virtualbox/vagrant.yaml.EXAMPLE +0 -4
  336. data/etc/userland/vmware/apache2/jenkins_443.conf +0 -90
  337. data/etc/userland/vmware/apache2/jenkins_80.conf +0 -7
  338. data/etc/userland/vmware/apache2/openvas_443.conf +0 -87
  339. data/etc/userland/vmware/apache2/openvas_80.conf +0 -7
  340. data/etc/userland/vmware/apache2/sast_443.conf +0 -87
  341. data/etc/userland/vmware/apache2/sast_80.conf +0 -9
  342. data/etc/userland/vmware/apache2/vagrant.yaml.EXAMPLE +0 -9
  343. data/etc/userland/vmware/arachni/navigation-REST.instruct.EXAMPLE +0 -29
  344. data/etc/userland/vmware/arachni/navigation.instruct.EXAMPLE +0 -3
  345. data/etc/userland/vmware/burpsuite/navigation.instruct.EXAMPLE +0 -3
  346. data/etc/userland/vmware/burpsuite/vagrant.yaml.EXAMPLE +0 -2
  347. data/etc/userland/vmware/defectdojo/vagrant.yaml.EXAMPLE +0 -3
  348. data/etc/userland/vmware/jenkins/inject_build_envs.sh +0 -15
  349. data/etc/userland/vmware/jenkins/jenkins +0 -81
  350. data/etc/userland/vmware/jenkins/jobs/pipeline-pwntemplate.xml +0 -298
  351. data/etc/userland/vmware/jenkins/jobs/pipeline-selfupdate.xml +0 -462
  352. data/etc/userland/vmware/jenkins/jobs/pwntemplate-DOMAIN-burpsuite.xml +0 -44
  353. data/etc/userland/vmware/jenkins/jobs/pwntemplate-DOMAIN-owasp_zap.xml +0 -35
  354. data/etc/userland/vmware/jenkins/jobs/pwntemplate-DOMAIN-ssllabs-scan.xml +0 -45
  355. data/etc/userland/vmware/jenkins/jobs/pwntemplate-GITREPO_BRANCH-sast.xml +0 -71
  356. data/etc/userland/vmware/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_discovery_scan_tcp_udp_65k.xml +0 -56
  357. data/etc/userland/vmware/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_xml_results_searchsploit.xml +0 -59
  358. data/etc/userland/vmware/jenkins/jobs/pwntemplate-NETWORKRANGE-openvas.xml +0 -45
  359. data/etc/userland/vmware/jenkins/jobs/selfupdate-exploit-db.xml +0 -43
  360. data/etc/userland/vmware/jenkins/jobs/selfupdate-gem.xml +0 -42
  361. data/etc/userland/vmware/jenkins/jobs/selfupdate-jenkins_plugins.xml +0 -42
  362. data/etc/userland/vmware/jenkins/jobs/selfupdate-metasploit.xml +0 -42
  363. data/etc/userland/vmware/jenkins/jobs/selfupdate-nmap_all_live_hosts.xml +0 -42
  364. data/etc/userland/vmware/jenkins/jobs/selfupdate-openvas_sync.xml +0 -42
  365. data/etc/userland/vmware/jenkins/jobs/selfupdate-openvas_wrappers.xml +0 -42
  366. data/etc/userland/vmware/jenkins/jobs/selfupdate-os.xml +0 -42
  367. data/etc/userland/vmware/jenkins/jobs/selfupdate-pwn.xml +0 -42
  368. data/etc/userland/vmware/jenkins/jobs/selfupdate-rvm.xml +0 -42
  369. data/etc/userland/vmware/jenkins/jobs/selfupdate-ssllabs-scan.xml +0 -42
  370. data/etc/userland/vmware/jenkins/jobs/selfupdate-wpscan.xml +0 -42
  371. data/etc/userland/vmware/jenkins/jobs_userland/.gitkeep +0 -0
  372. data/etc/userland/vmware/jenkins/log_parser_rules/arachni.rules +0 -5
  373. data/etc/userland/vmware/jenkins/log_parser_rules/sast.rules +0 -2
  374. data/etc/userland/vmware/jenkins/log_parser_rules/self_update.rules +0 -14
  375. data/etc/userland/vmware/jenkins/log_parser_rules/ssllabs-scan.rules +0 -8
  376. data/etc/userland/vmware/jenkins/log_parser_rules/system_maintenance.rules +0 -9
  377. data/etc/userland/vmware/jenkins/log_parser_rules/wpscan.rules +0 -2
  378. data/etc/userland/vmware/jenkins/vagrant.yaml.EXAMPLE +0 -8
  379. data/etc/userland/vmware/letsencrypt/vagrant.yaml.EXAMPLE +0 -5
  380. data/etc/userland/vmware/metasploit/vagrant.yaml.EXAMPLE +0 -4
  381. data/etc/userland/vmware/nessus/vagrant.yaml.EXAMPLE +0 -15
  382. data/etc/userland/vmware/openvas/vagrant.yaml.EXAMPLE +0 -2
  383. data/etc/userland/vmware/owasp_zap/navigation.instruct.EXAMPLE +0 -3
  384. data/etc/userland/vmware/postgres/vagrant.yaml.EXAMPLE +0 -2
  385. data/etc/userland/vmware/recon-ng/vagrant.yaml.EXAMPLE +0 -52
  386. data/etc/userland/vmware/vagrant.yaml.EXAMPLE +0 -5
  387. data/find_latest_gem_versions_per_Gemfile.sh +0 -19
  388. data/git_commit_test_reinit_gem.sh +0 -57
  389. data/install.sh +0 -177
  390. data/lib/pwn/ai/grok.rb +0 -258
  391. data/lib/pwn/ai/introspection.rb +0 -100
  392. data/lib/pwn/ai/ollama.rb +0 -260
  393. data/lib/pwn/ai/open_ai.rb +0 -807
  394. data/lib/pwn/ai.rb +0 -19
  395. data/lib/pwn/aws/acm.rb +0 -92
  396. data/lib/pwn/aws/api_gateway.rb +0 -92
  397. data/lib/pwn/aws/app_stream.rb +0 -92
  398. data/lib/pwn/aws/application_auto_scaling.rb +0 -92
  399. data/lib/pwn/aws/application_discovery_service.rb +0 -92
  400. data/lib/pwn/aws/auto_scaling.rb +0 -92
  401. data/lib/pwn/aws/batch.rb +0 -92
  402. data/lib/pwn/aws/budgets.rb +0 -92
  403. data/lib/pwn/aws/cloud_formation.rb +0 -92
  404. data/lib/pwn/aws/cloud_front.rb +0 -92
  405. data/lib/pwn/aws/cloud_hsm.rb +0 -92
  406. data/lib/pwn/aws/cloud_search.rb +0 -92
  407. data/lib/pwn/aws/cloud_search_domain.rb +0 -92
  408. data/lib/pwn/aws/cloud_trail.rb +0 -92
  409. data/lib/pwn/aws/cloud_watch.rb +0 -92
  410. data/lib/pwn/aws/cloud_watch_events.rb +0 -92
  411. data/lib/pwn/aws/cloud_watch_logs.rb +0 -92
  412. data/lib/pwn/aws/code_build.rb +0 -92
  413. data/lib/pwn/aws/code_commit.rb +0 -92
  414. data/lib/pwn/aws/code_deploy.rb +0 -92
  415. data/lib/pwn/aws/code_pipeline.rb +0 -92
  416. data/lib/pwn/aws/cognito_identity.rb +0 -92
  417. data/lib/pwn/aws/cognito_identity_provider.rb +0 -92
  418. data/lib/pwn/aws/cognito_sync.rb +0 -92
  419. data/lib/pwn/aws/config_service.rb +0 -92
  420. data/lib/pwn/aws/data_pipleline.rb +0 -92
  421. data/lib/pwn/aws/database_migration_service.rb +0 -92
  422. data/lib/pwn/aws/device_farm.rb +0 -92
  423. data/lib/pwn/aws/direct_connect.rb +0 -92
  424. data/lib/pwn/aws/directory_service.rb +0 -92
  425. data/lib/pwn/aws/dynamo_db.rb +0 -92
  426. data/lib/pwn/aws/dynamo_db_streams.rb +0 -92
  427. data/lib/pwn/aws/ec2.rb +0 -92
  428. data/lib/pwn/aws/ecr.rb +0 -92
  429. data/lib/pwn/aws/ecs.rb +0 -92
  430. data/lib/pwn/aws/efs.rb +0 -92
  431. data/lib/pwn/aws/elasti_cache.rb +0 -92
  432. data/lib/pwn/aws/elastic_beanstalk.rb +0 -89
  433. data/lib/pwn/aws/elastic_load_balancing.rb +0 -92
  434. data/lib/pwn/aws/elastic_load_balancing_v2.rb +0 -92
  435. data/lib/pwn/aws/elastic_transcoder.rb +0 -92
  436. data/lib/pwn/aws/elasticsearch_service.rb +0 -92
  437. data/lib/pwn/aws/emr.rb +0 -92
  438. data/lib/pwn/aws/firehose.rb +0 -92
  439. data/lib/pwn/aws/game_lift.rb +0 -92
  440. data/lib/pwn/aws/glacier.rb +0 -92
  441. data/lib/pwn/aws/health.rb +0 -92
  442. data/lib/pwn/aws/iam.rb +0 -200
  443. data/lib/pwn/aws/import_export.rb +0 -92
  444. data/lib/pwn/aws/inspector.rb +0 -92
  445. data/lib/pwn/aws/iot.rb +0 -92
  446. data/lib/pwn/aws/iot_data_plane.rb +0 -92
  447. data/lib/pwn/aws/kinesis.rb +0 -92
  448. data/lib/pwn/aws/kinesis_analytics.rb +0 -92
  449. data/lib/pwn/aws/kms.rb +0 -92
  450. data/lib/pwn/aws/lambda.rb +0 -92
  451. data/lib/pwn/aws/lambda_preview.rb +0 -92
  452. data/lib/pwn/aws/lex.rb +0 -92
  453. data/lib/pwn/aws/lightsail.rb +0 -92
  454. data/lib/pwn/aws/machine_learning.rb +0 -92
  455. data/lib/pwn/aws/marketplace_commerce_analytics.rb +0 -92
  456. data/lib/pwn/aws/marketplace_metering.rb +0 -92
  457. data/lib/pwn/aws/ops_works.rb +0 -92
  458. data/lib/pwn/aws/ops_works_cm.rb +0 -92
  459. data/lib/pwn/aws/pinpoint.rb +0 -92
  460. data/lib/pwn/aws/polly.rb +0 -92
  461. data/lib/pwn/aws/rds.rb +0 -92
  462. data/lib/pwn/aws/redshift.rb +0 -92
  463. data/lib/pwn/aws/rekognition.rb +0 -92
  464. data/lib/pwn/aws/route53.rb +0 -92
  465. data/lib/pwn/aws/route53_domains.rb +0 -92
  466. data/lib/pwn/aws/s3.rb +0 -92
  467. data/lib/pwn/aws/service_catalog.rb +0 -92
  468. data/lib/pwn/aws/ses.rb +0 -92
  469. data/lib/pwn/aws/shield.rb +0 -92
  470. data/lib/pwn/aws/simple_db.rb +0 -92
  471. data/lib/pwn/aws/sms.rb +0 -92
  472. data/lib/pwn/aws/snowball.rb +0 -92
  473. data/lib/pwn/aws/sns.rb +0 -92
  474. data/lib/pwn/aws/sqs.rb +0 -92
  475. data/lib/pwn/aws/ssm.rb +0 -92
  476. data/lib/pwn/aws/states.rb +0 -92
  477. data/lib/pwn/aws/storage_gateway.rb +0 -92
  478. data/lib/pwn/aws/sts.rb +0 -63
  479. data/lib/pwn/aws/support.rb +0 -92
  480. data/lib/pwn/aws/swf.rb +0 -92
  481. data/lib/pwn/aws/waf.rb +0 -92
  482. data/lib/pwn/aws/waf_regional.rb +0 -92
  483. data/lib/pwn/aws/workspaces.rb +0 -92
  484. data/lib/pwn/aws/x_ray.rb +0 -92
  485. data/lib/pwn/aws.rb +0 -105
  486. data/lib/pwn/banner/anon.rb +0 -50
  487. data/lib/pwn/banner/bubble.rb +0 -42
  488. data/lib/pwn/banner/cheshire.rb +0 -58
  489. data/lib/pwn/banner/code_cave.rb +0 -1035
  490. data/lib/pwn/banner/dont_panic.rb +0 -52
  491. data/lib/pwn/banner/f_society.rb +0 -60
  492. data/lib/pwn/banner/fork_bomb.rb +0 -39
  493. data/lib/pwn/banner/jmp_esp.rb +0 -44
  494. data/lib/pwn/banner/matrix.rb +0 -206
  495. data/lib/pwn/banner/ninja.rb +0 -55
  496. data/lib/pwn/banner/off_the_air.rb +0 -73
  497. data/lib/pwn/banner/pirate.rb +0 -62
  498. data/lib/pwn/banner/radare2.rb +0 -41
  499. data/lib/pwn/banner/radare2_ai.rb +0 -116
  500. data/lib/pwn/banner/white_rabbit.rb +0 -55
  501. data/lib/pwn/banner.rb +0 -108
  502. data/lib/pwn/blockchain/btc.rb +0 -282
  503. data/lib/pwn/blockchain/eth.rb +0 -160
  504. data/lib/pwn/blockchain.rb +0 -17
  505. data/lib/pwn/config.rb +0 -304
  506. data/lib/pwn/driver.rb +0 -85
  507. data/lib/pwn/ffi/stdio.rb +0 -41
  508. data/lib/pwn/ffi.rb +0 -16
  509. data/lib/pwn/plugins/android.rb +0 -1617
  510. data/lib/pwn/plugins/assembly.rb +0 -275
  511. data/lib/pwn/plugins/authentication_helper.rb +0 -86
  512. data/lib/pwn/plugins/baresip.rb +0 -708
  513. data/lib/pwn/plugins/basic_auth.rb +0 -63
  514. data/lib/pwn/plugins/beef.rb +0 -312
  515. data/lib/pwn/plugins/black_duck_binary_analysis.rb +0 -790
  516. data/lib/pwn/plugins/burp_suite.rb +0 -2208
  517. data/lib/pwn/plugins/bus_pirate.rb +0 -147
  518. data/lib/pwn/plugins/char.rb +0 -474
  519. data/lib/pwn/plugins/credit_card.rb +0 -105
  520. data/lib/pwn/plugins/dao_ldap.rb +0 -131
  521. data/lib/pwn/plugins/dao_mongo.rb +0 -96
  522. data/lib/pwn/plugins/dao_postgres.rb +0 -224
  523. data/lib/pwn/plugins/dao_sqlite3.rb +0 -125
  524. data/lib/pwn/plugins/defect_dojo.rb +0 -841
  525. data/lib/pwn/plugins/detect_os.rb +0 -71
  526. data/lib/pwn/plugins/ein.rb +0 -141
  527. data/lib/pwn/plugins/file_fu.rb +0 -93
  528. data/lib/pwn/plugins/fuzz.rb +0 -204
  529. data/lib/pwn/plugins/git.rb +0 -159
  530. data/lib/pwn/plugins/github.rb +0 -137
  531. data/lib/pwn/plugins/hacker_one.rb +0 -154
  532. data/lib/pwn/plugins/hunter.rb +0 -160
  533. data/lib/pwn/plugins/ip_info.rb +0 -264
  534. data/lib/pwn/plugins/irc.rb +0 -312
  535. data/lib/pwn/plugins/jenkins.rb +0 -537
  536. data/lib/pwn/plugins/jira_data_center.rb +0 -676
  537. data/lib/pwn/plugins/json_pathify.rb +0 -46
  538. data/lib/pwn/plugins/log.rb +0 -123
  539. data/lib/pwn/plugins/mail_agent.rb +0 -344
  540. data/lib/pwn/plugins/metasploit.rb +0 -151
  541. data/lib/pwn/plugins/monkey_patch.rb +0 -182
  542. data/lib/pwn/plugins/msr206.rb +0 -1257
  543. data/lib/pwn/plugins/nessus_cloud.rb +0 -847
  544. data/lib/pwn/plugins/nexpose_vuln_scan.rb +0 -356
  545. data/lib/pwn/plugins/nmap_it.rb +0 -136
  546. data/lib/pwn/plugins/oauth2.rb +0 -67
  547. data/lib/pwn/plugins/ocr.rb +0 -43
  548. data/lib/pwn/plugins/open_api.rb +0 -896
  549. data/lib/pwn/plugins/openvas.rb +0 -314
  550. data/lib/pwn/plugins/packet.rb +0 -1313
  551. data/lib/pwn/plugins/pdf_parse.rb +0 -53
  552. data/lib/pwn/plugins/pony.rb +0 -281
  553. data/lib/pwn/plugins/ps.rb +0 -90
  554. data/lib/pwn/plugins/pwn_logger.rb +0 -64
  555. data/lib/pwn/plugins/rabbit_mq.rb +0 -70
  556. data/lib/pwn/plugins/repl.rb +0 -999
  557. data/lib/pwn/plugins/scannable_codes.rb +0 -87
  558. data/lib/pwn/plugins/serial.rb +0 -273
  559. data/lib/pwn/plugins/shodan.rb +0 -629
  560. data/lib/pwn/plugins/slack_client.rb +0 -104
  561. data/lib/pwn/plugins/sock.rb +0 -289
  562. data/lib/pwn/plugins/spider.rb +0 -78
  563. data/lib/pwn/plugins/ssn.rb +0 -52
  564. data/lib/pwn/plugins/thread_pool.rb +0 -80
  565. data/lib/pwn/plugins/tor.rb +0 -273
  566. data/lib/pwn/plugins/transparent_browser.rb +0 -1738
  567. data/lib/pwn/plugins/twitter_api.rb +0 -151
  568. data/lib/pwn/plugins/uri_scheme.rb +0 -328
  569. data/lib/pwn/plugins/vault.rb +0 -305
  570. data/lib/pwn/plugins/vin.rb +0 -361
  571. data/lib/pwn/plugins/voice.rb +0 -145
  572. data/lib/pwn/plugins/vsphere.rb +0 -81
  573. data/lib/pwn/plugins/xxd.rb +0 -298
  574. data/lib/pwn/plugins/zaproxy.rb +0 -837
  575. data/lib/pwn/plugins.rb +0 -81
  576. data/lib/pwn/reports/fuzz.rb +0 -328
  577. data/lib/pwn/reports/html_footer.rb +0 -160
  578. data/lib/pwn/reports/html_header.rb +0 -271
  579. data/lib/pwn/reports/phone.rb +0 -384
  580. data/lib/pwn/reports/sast.rb +0 -435
  581. data/lib/pwn/reports/uri_buster.rb +0 -335
  582. data/lib/pwn/reports.rb +0 -25
  583. data/lib/pwn/sast/amqp_connect_as_guest.rb +0 -78
  584. data/lib/pwn/sast/apache_file_system_util_api.rb +0 -76
  585. data/lib/pwn/sast/aws.rb +0 -77
  586. data/lib/pwn/sast/banned_function_calls_c.rb +0 -207
  587. data/lib/pwn/sast/base64.rb +0 -74
  588. data/lib/pwn/sast/beef_hook.rb +0 -75
  589. data/lib/pwn/sast/cmd_execution_go_lang.rb +0 -83
  590. data/lib/pwn/sast/cmd_execution_java.rb +0 -80
  591. data/lib/pwn/sast/cmd_execution_python.rb +0 -82
  592. data/lib/pwn/sast/cmd_execution_ruby.rb +0 -90
  593. data/lib/pwn/sast/cmd_execution_scala.rb +0 -80
  594. data/lib/pwn/sast/csrf.rb +0 -74
  595. data/lib/pwn/sast/deserial_java.rb +0 -85
  596. data/lib/pwn/sast/emoticon.rb +0 -82
  597. data/lib/pwn/sast/eval.rb +0 -76
  598. data/lib/pwn/sast/factory.rb +0 -79
  599. data/lib/pwn/sast/http_authorization_header.rb +0 -80
  600. data/lib/pwn/sast/inner_html.rb +0 -76
  601. data/lib/pwn/sast/keystore.rb +0 -75
  602. data/lib/pwn/sast/local_storage.rb +0 -77
  603. data/lib/pwn/sast/location_hash.rb +0 -76
  604. data/lib/pwn/sast/log4j.rb +0 -78
  605. data/lib/pwn/sast/logger.rb +0 -90
  606. data/lib/pwn/sast/md5.rb +0 -75
  607. data/lib/pwn/sast/outer_html.rb +0 -76
  608. data/lib/pwn/sast/padding_oracle.rb +0 -72
  609. data/lib/pwn/sast/password.rb +0 -75
  610. data/lib/pwn/sast/php_input_mechanisms.rb +0 -84
  611. data/lib/pwn/sast/php_type_juggling.rb +0 -82
  612. data/lib/pwn/sast/pom_version.rb +0 -164
  613. data/lib/pwn/sast/port.rb +0 -82
  614. data/lib/pwn/sast/post_message.rb +0 -76
  615. data/lib/pwn/sast/private_key.rb +0 -75
  616. data/lib/pwn/sast/redirect.rb +0 -77
  617. data/lib/pwn/sast/redos.rb +0 -82
  618. data/lib/pwn/sast/shell.rb +0 -83
  619. data/lib/pwn/sast/signature.rb +0 -75
  620. data/lib/pwn/sast/sql.rb +0 -85
  621. data/lib/pwn/sast/ssl.rb +0 -79
  622. data/lib/pwn/sast/sudo.rb +0 -75
  623. data/lib/pwn/sast/task_tag.rb +0 -89
  624. data/lib/pwn/sast/test_case_engine.rb +0 -189
  625. data/lib/pwn/sast/throw_errors.rb +0 -78
  626. data/lib/pwn/sast/token.rb +0 -77
  627. data/lib/pwn/sast/type_script_type_juggling.rb +0 -82
  628. data/lib/pwn/sast/use_after_free.rb +0 -82
  629. data/lib/pwn/sast/version.rb +0 -76
  630. data/lib/pwn/sast/window_location_hash.rb +0 -75
  631. data/lib/pwn/sast.rb +0 -67
  632. data/lib/pwn/sdr/decoder/gsm.rb +0 -200
  633. data/lib/pwn/sdr/decoder.rb +0 -19
  634. data/lib/pwn/sdr/flipper_zero.rb +0 -128
  635. data/lib/pwn/sdr/frequency_allocation.rb +0 -372
  636. data/lib/pwn/sdr/gqrx.rb +0 -656
  637. data/lib/pwn/sdr/rfidler.rb +0 -56
  638. data/lib/pwn/sdr/son_micro_rfid.rb +0 -773
  639. data/lib/pwn/sdr.rb +0 -21
  640. data/lib/pwn/version.rb +0 -5
  641. data/lib/pwn/www/app_cobalt_io.rb +0 -139
  642. data/lib/pwn/www/bing.rb +0 -88
  643. data/lib/pwn/www/bug_crowd.rb +0 -136
  644. data/lib/pwn/www/checkip.rb +0 -69
  645. data/lib/pwn/www/coinbase_pro.rb +0 -136
  646. data/lib/pwn/www/duckduckgo.rb +0 -114
  647. data/lib/pwn/www/facebook.rb +0 -124
  648. data/lib/pwn/www/google.rb +0 -114
  649. data/lib/pwn/www/hacker_one.rb +0 -649
  650. data/lib/pwn/www/linkedin.rb +0 -124
  651. data/lib/pwn/www/pandora.rb +0 -124
  652. data/lib/pwn/www/pastebin.rb +0 -84
  653. data/lib/pwn/www/paypal.rb +0 -208
  654. data/lib/pwn/www/synack.rb +0 -136
  655. data/lib/pwn/www/torch.rb +0 -107
  656. data/lib/pwn/www/trading_view.rb +0 -127
  657. data/lib/pwn/www/twitter.rb +0 -138
  658. data/lib/pwn/www/uber.rb +0 -124
  659. data/lib/pwn/www/upwork.rb +0 -124
  660. data/lib/pwn/www/wayback_machine.rb +0 -113
  661. data/lib/pwn/www/youtube.rb +0 -88
  662. data/lib/pwn/www.rb +0 -36
  663. data/lib/pwn.rb +0 -39
  664. data/packer/daemons/msfrpcd.rb +0 -64
  665. data/packer/daemons/openvas.rb +0 -51
  666. data/packer/deploy_docker_containers.sh +0 -9
  667. data/packer/deploy_packer_box.sh +0 -87
  668. data/packer/docker/kali_rolling_docker_pwn_fuzz_net_app_proto.json +0 -44
  669. data/packer/docker/kali_rolling_docker_pwn_prototyper.json +0 -48
  670. data/packer/docker/kali_rolling_docker_pwn_sast.json +0 -44
  671. data/packer/docker/kali_rolling_docker_pwn_transparent_browser.json +0 -46
  672. data/packer/docker/kali_rolling_docker_pwn_www_checkip.json +0 -34
  673. data/packer/http/kali_rolling_preseed.cfg +0 -81
  674. data/packer/kali_rolling_aws_ami.json +0 -139
  675. data/packer/kali_rolling_qemu_kvm.json +0 -159
  676. data/packer/kali_rolling_virtualbox.json +0 -186
  677. data/packer/kali_rolling_vmware.json +0 -167
  678. data/packer/packer_secrets.json.EXAMPLE +0 -9
  679. data/packer/provisioners/PayloadsAllTheThings.sh +0 -5
  680. data/packer/provisioners/SecLists.sh +0 -5
  681. data/packer/provisioners/afl.sh +0 -28
  682. data/packer/provisioners/aliases.rb +0 -23
  683. data/packer/provisioners/amass.sh +0 -5
  684. data/packer/provisioners/android.sh +0 -18
  685. data/packer/provisioners/ansible.sh +0 -5
  686. data/packer/provisioners/apache2.sh +0 -24
  687. data/packer/provisioners/arachni.sh +0 -28
  688. data/packer/provisioners/awscli.sh +0 -5
  689. data/packer/provisioners/bashrc.sh +0 -13
  690. data/packer/provisioners/beef.rb +0 -23
  691. data/packer/provisioners/burpsuite.sh +0 -24
  692. data/packer/provisioners/chrome.sh +0 -11
  693. data/packer/provisioners/coreutils.sh +0 -6
  694. data/packer/provisioners/curl.sh +0 -6
  695. data/packer/provisioners/docker.sh +0 -43
  696. data/packer/provisioners/docker_bashrc.sh +0 -2
  697. data/packer/provisioners/docker_rvm.sh +0 -22
  698. data/packer/provisioners/eyewitness.sh +0 -5
  699. data/packer/provisioners/ffmpeg.sh +0 -6
  700. data/packer/provisioners/firefox.sh +0 -7
  701. data/packer/provisioners/fuzzdb.sh +0 -5
  702. data/packer/provisioners/gdb.sh +0 -5
  703. data/packer/provisioners/geckodriver.sh +0 -9
  704. data/packer/provisioners/ghidra.sh +0 -5
  705. data/packer/provisioners/git.sh +0 -6
  706. data/packer/provisioners/init_image.sh +0 -103
  707. data/packer/provisioners/install_vagrant_ssh_key.sh +0 -15
  708. data/packer/provisioners/irc.sh +0 -13
  709. data/packer/provisioners/jenkins.sh +0 -77
  710. data/packer/provisioners/metasploit.rb +0 -59
  711. data/packer/provisioners/nmap.sh +0 -5
  712. data/packer/provisioners/openvas.sh +0 -23
  713. data/packer/provisioners/openvas_wrappers.sh +0 -4
  714. data/packer/provisioners/openvpn.sh +0 -7
  715. data/packer/provisioners/peda.sh +0 -4
  716. data/packer/provisioners/phantomjs.rb +0 -28
  717. data/packer/provisioners/phantomjs_wrapper.sh +0 -22
  718. data/packer/provisioners/post_install.sh +0 -41
  719. data/packer/provisioners/postgresql.sh +0 -49
  720. data/packer/provisioners/preeny.sh +0 -8
  721. data/packer/provisioners/pwn.sh +0 -100
  722. data/packer/provisioners/pwntools.sh +0 -13
  723. data/packer/provisioners/radamsa.sh +0 -7
  724. data/packer/provisioners/radare2.sh +0 -29
  725. data/packer/provisioners/rc.local.sh +0 -16
  726. data/packer/provisioners/reboot_os.sh +0 -7
  727. data/packer/provisioners/ruby.sh +0 -35
  728. data/packer/provisioners/rvm.sh +0 -31
  729. data/packer/provisioners/scapy.sh +0 -5
  730. data/packer/provisioners/scout2.sh +0 -5
  731. data/packer/provisioners/sox.sh +0 -5
  732. data/packer/provisioners/ssllabs-scan.sh +0 -9
  733. data/packer/provisioners/strace.sh +0 -5
  734. data/packer/provisioners/sublist3r.sh +0 -5
  735. data/packer/provisioners/terminator.sh +0 -5
  736. data/packer/provisioners/toggle_tor.sh +0 -2
  737. data/packer/provisioners/tor.sh +0 -5
  738. data/packer/provisioners/twinkle.sh +0 -6
  739. data/packer/provisioners/update_os.sh +0 -108
  740. data/packer/provisioners/upload_globals.sh +0 -63
  741. data/packer/provisioners/vim.sh +0 -23
  742. data/packer/provisioners/virtualbox_guest_additions.sh +0 -20
  743. data/packer/provisioners/vmware_tools.sh +0 -8
  744. data/packer/provisioners/wpscan.rb +0 -23
  745. data/packer/provisioners/xrdp.sh +0 -23
  746. data/packer/provisioners/zzuf.sh +0 -5
  747. data/pwn.gemspec +0 -77
  748. data/reinstall_pwn_gemset.sh +0 -30
  749. data/spec/lib/pwn/ai/grok_spec.rb +0 -15
  750. data/spec/lib/pwn/ai/introspection_spec.rb +0 -15
  751. data/spec/lib/pwn/ai/ollama_spec.rb +0 -15
  752. data/spec/lib/pwn/ai/open_ai_spec.rb +0 -15
  753. data/spec/lib/pwn/ai_spec.rb +0 -10
  754. data/spec/lib/pwn/aws/acm_spec.rb +0 -15
  755. data/spec/lib/pwn/aws/api_gateway_spec.rb +0 -15
  756. data/spec/lib/pwn/aws/app_stream_spec.rb +0 -15
  757. data/spec/lib/pwn/aws/application_auto_scaling_spec.rb +0 -15
  758. data/spec/lib/pwn/aws/application_discovery_service_spec.rb +0 -15
  759. data/spec/lib/pwn/aws/auto_scaling_spec.rb +0 -15
  760. data/spec/lib/pwn/aws/batch_spec.rb +0 -15
  761. data/spec/lib/pwn/aws/budgets_spec.rb +0 -15
  762. data/spec/lib/pwn/aws/cloud_formation_spec.rb +0 -15
  763. data/spec/lib/pwn/aws/cloud_front_spec.rb +0 -15
  764. data/spec/lib/pwn/aws/cloud_hsm_spec.rb +0 -15
  765. data/spec/lib/pwn/aws/cloud_search_domain_spec.rb +0 -15
  766. data/spec/lib/pwn/aws/cloud_search_spec.rb +0 -15
  767. data/spec/lib/pwn/aws/cloud_trail_spec.rb +0 -15
  768. data/spec/lib/pwn/aws/cloud_watch_events_spec.rb +0 -15
  769. data/spec/lib/pwn/aws/cloud_watch_logs_spec.rb +0 -15
  770. data/spec/lib/pwn/aws/cloud_watch_spec.rb +0 -15
  771. data/spec/lib/pwn/aws/code_build_spec.rb +0 -15
  772. data/spec/lib/pwn/aws/code_commit_spec.rb +0 -15
  773. data/spec/lib/pwn/aws/code_deploy_spec.rb +0 -15
  774. data/spec/lib/pwn/aws/code_pipeline_spec.rb +0 -15
  775. data/spec/lib/pwn/aws/cognito_identity_provider_spec.rb +0 -15
  776. data/spec/lib/pwn/aws/cognito_identity_spec.rb +0 -15
  777. data/spec/lib/pwn/aws/cognito_sync_spec.rb +0 -15
  778. data/spec/lib/pwn/aws/config_service_spec.rb +0 -15
  779. data/spec/lib/pwn/aws/data_pipleline_spec.rb +0 -15
  780. data/spec/lib/pwn/aws/database_migration_service_spec.rb +0 -15
  781. data/spec/lib/pwn/aws/device_farm_spec.rb +0 -15
  782. data/spec/lib/pwn/aws/direct_connect_spec.rb +0 -15
  783. data/spec/lib/pwn/aws/directory_service_spec.rb +0 -15
  784. data/spec/lib/pwn/aws/dynamo_db_spec.rb +0 -15
  785. data/spec/lib/pwn/aws/dynamo_db_streams_spec.rb +0 -15
  786. data/spec/lib/pwn/aws/ec2_spec.rb +0 -15
  787. data/spec/lib/pwn/aws/ecr_spec.rb +0 -15
  788. data/spec/lib/pwn/aws/ecs_spec.rb +0 -15
  789. data/spec/lib/pwn/aws/efs_spec.rb +0 -15
  790. data/spec/lib/pwn/aws/elasti_cache_spec.rb +0 -15
  791. data/spec/lib/pwn/aws/elastic_beanstalk_spec.rb +0 -15
  792. data/spec/lib/pwn/aws/elastic_load_balancing_spec.rb +0 -15
  793. data/spec/lib/pwn/aws/elastic_load_balancing_v2_spec.rb +0 -15
  794. data/spec/lib/pwn/aws/elastic_transcoder_spec.rb +0 -15
  795. data/spec/lib/pwn/aws/elasticsearch_service_spec.rb +0 -15
  796. data/spec/lib/pwn/aws/emr_spec.rb +0 -15
  797. data/spec/lib/pwn/aws/firehose_spec.rb +0 -15
  798. data/spec/lib/pwn/aws/game_lift_spec.rb +0 -15
  799. data/spec/lib/pwn/aws/glacier_spec.rb +0 -15
  800. data/spec/lib/pwn/aws/health_spec.rb +0 -15
  801. data/spec/lib/pwn/aws/iam_spec.rb +0 -15
  802. data/spec/lib/pwn/aws/import_export_spec.rb +0 -15
  803. data/spec/lib/pwn/aws/inspector_spec.rb +0 -15
  804. data/spec/lib/pwn/aws/iot_data_plane_spec.rb +0 -15
  805. data/spec/lib/pwn/aws/iot_spec.rb +0 -15
  806. data/spec/lib/pwn/aws/kinesis_analytics_spec.rb +0 -15
  807. data/spec/lib/pwn/aws/kinesis_spec.rb +0 -15
  808. data/spec/lib/pwn/aws/kms_spec.rb +0 -15
  809. data/spec/lib/pwn/aws/lambda_preview_spec.rb +0 -15
  810. data/spec/lib/pwn/aws/lambda_spec.rb +0 -15
  811. data/spec/lib/pwn/aws/lex_spec.rb +0 -15
  812. data/spec/lib/pwn/aws/lightsail_spec.rb +0 -15
  813. data/spec/lib/pwn/aws/machine_learning_spec.rb +0 -15
  814. data/spec/lib/pwn/aws/marketplace_commerce_analytics_spec.rb +0 -15
  815. data/spec/lib/pwn/aws/marketplace_metering_spec.rb +0 -15
  816. data/spec/lib/pwn/aws/ops_works_cm_spec.rb +0 -15
  817. data/spec/lib/pwn/aws/ops_works_spec.rb +0 -15
  818. data/spec/lib/pwn/aws/pinpoint_spec.rb +0 -15
  819. data/spec/lib/pwn/aws/polly_spec.rb +0 -15
  820. data/spec/lib/pwn/aws/rds_spec.rb +0 -15
  821. data/spec/lib/pwn/aws/redshift_spec.rb +0 -15
  822. data/spec/lib/pwn/aws/rekognition_spec.rb +0 -15
  823. data/spec/lib/pwn/aws/route53_domains_spec.rb +0 -15
  824. data/spec/lib/pwn/aws/route53_spec.rb +0 -15
  825. data/spec/lib/pwn/aws/s3_spec.rb +0 -15
  826. data/spec/lib/pwn/aws/service_catalog_spec.rb +0 -15
  827. data/spec/lib/pwn/aws/ses_spec.rb +0 -15
  828. data/spec/lib/pwn/aws/shield_spec.rb +0 -15
  829. data/spec/lib/pwn/aws/simple_db_spec.rb +0 -15
  830. data/spec/lib/pwn/aws/sms_spec.rb +0 -15
  831. data/spec/lib/pwn/aws/snowball_spec.rb +0 -15
  832. data/spec/lib/pwn/aws/sns_spec.rb +0 -15
  833. data/spec/lib/pwn/aws/sqs_spec.rb +0 -15
  834. data/spec/lib/pwn/aws/ssm_spec.rb +0 -15
  835. data/spec/lib/pwn/aws/states_spec.rb +0 -15
  836. data/spec/lib/pwn/aws/storage_gateway_spec.rb +0 -15
  837. data/spec/lib/pwn/aws/sts_spec.rb +0 -15
  838. data/spec/lib/pwn/aws/support_spec.rb +0 -15
  839. data/spec/lib/pwn/aws/swf_spec.rb +0 -15
  840. data/spec/lib/pwn/aws/waf_regional_spec.rb +0 -15
  841. data/spec/lib/pwn/aws/waf_spec.rb +0 -15
  842. data/spec/lib/pwn/aws/workspaces_spec.rb +0 -15
  843. data/spec/lib/pwn/aws/x_ray_spec.rb +0 -15
  844. data/spec/lib/pwn/aws_spec.rb +0 -10
  845. data/spec/lib/pwn/banner/anon_spec.rb +0 -20
  846. data/spec/lib/pwn/banner/bubble_spec.rb +0 -20
  847. data/spec/lib/pwn/banner/cheshire_spec.rb +0 -20
  848. data/spec/lib/pwn/banner/code_cave_spec.rb +0 -20
  849. data/spec/lib/pwn/banner/dont_panic_spec.rb +0 -20
  850. data/spec/lib/pwn/banner/f_society_spec.rb +0 -20
  851. data/spec/lib/pwn/banner/fork_bomb_spec.rb +0 -20
  852. data/spec/lib/pwn/banner/jmp_esp_spec.rb +0 -20
  853. data/spec/lib/pwn/banner/matrix_spec.rb +0 -20
  854. data/spec/lib/pwn/banner/ninja_spec.rb +0 -20
  855. data/spec/lib/pwn/banner/off_the_air_spec.rb +0 -20
  856. data/spec/lib/pwn/banner/pirate_spec.rb +0 -20
  857. data/spec/lib/pwn/banner/radare2_ai_spec.rb +0 -20
  858. data/spec/lib/pwn/banner/radare2_spec.rb +0 -20
  859. data/spec/lib/pwn/banner/white_rabbit_spec.rb +0 -20
  860. data/spec/lib/pwn/banner_spec.rb +0 -15
  861. data/spec/lib/pwn/blockchain/btc_spec.rb +0 -15
  862. data/spec/lib/pwn/blockchain/eth_spec.rb +0 -15
  863. data/spec/lib/pwn/blockchain_spec.rb +0 -10
  864. data/spec/lib/pwn/config_spec.rb +0 -15
  865. data/spec/lib/pwn/driver_spec.rb +0 -15
  866. data/spec/lib/pwn/ffi/stdio_spec.rb +0 -15
  867. data/spec/lib/pwn/ffi_spec.rb +0 -10
  868. data/spec/lib/pwn/plugins/android_spec.rb +0 -15
  869. data/spec/lib/pwn/plugins/assembly_spec.rb +0 -15
  870. data/spec/lib/pwn/plugins/authentication_helper_spec.rb +0 -15
  871. data/spec/lib/pwn/plugins/baresip_spec.rb +0 -15
  872. data/spec/lib/pwn/plugins/basic_auth_spec.rb +0 -15
  873. data/spec/lib/pwn/plugins/beef_spec.rb +0 -15
  874. data/spec/lib/pwn/plugins/black_duck_binary_analysis_spec.rb +0 -15
  875. data/spec/lib/pwn/plugins/burp_suite_spec.rb +0 -15
  876. data/spec/lib/pwn/plugins/bus_pirate_spec.rb +0 -15
  877. data/spec/lib/pwn/plugins/char_spec.rb +0 -15
  878. data/spec/lib/pwn/plugins/credit_card_spec.rb +0 -15
  879. data/spec/lib/pwn/plugins/dao_ldap_spec.rb +0 -15
  880. data/spec/lib/pwn/plugins/dao_mongo_spec.rb +0 -15
  881. data/spec/lib/pwn/plugins/dao_postgres_spec.rb +0 -15
  882. data/spec/lib/pwn/plugins/dao_sqlite3_spec.rb +0 -15
  883. data/spec/lib/pwn/plugins/defect_dojo_spec.rb +0 -15
  884. data/spec/lib/pwn/plugins/detect_os_spec.rb +0 -15
  885. data/spec/lib/pwn/plugins/ein_spec.rb +0 -15
  886. data/spec/lib/pwn/plugins/file_fu_spec.rb +0 -15
  887. data/spec/lib/pwn/plugins/fuzz_spec.rb +0 -15
  888. data/spec/lib/pwn/plugins/git_spec.rb +0 -15
  889. data/spec/lib/pwn/plugins/github_spec.rb +0 -15
  890. data/spec/lib/pwn/plugins/hacker_one_spec.rb +0 -15
  891. data/spec/lib/pwn/plugins/hunter_spec.rb +0 -15
  892. data/spec/lib/pwn/plugins/ip_info_spec.rb +0 -15
  893. data/spec/lib/pwn/plugins/irc_spec.rb +0 -15
  894. data/spec/lib/pwn/plugins/jenkins_spec.rb +0 -15
  895. data/spec/lib/pwn/plugins/jira_data_center_spec.rb +0 -15
  896. data/spec/lib/pwn/plugins/json_pathify_spec.rb +0 -15
  897. data/spec/lib/pwn/plugins/log_spec.rb +0 -15
  898. data/spec/lib/pwn/plugins/mail_agent_spec.rb +0 -15
  899. data/spec/lib/pwn/plugins/metasploit_spec.rb +0 -15
  900. data/spec/lib/pwn/plugins/monkey_patch_spec.rb +0 -15
  901. data/spec/lib/pwn/plugins/msr206_spec.rb +0 -15
  902. data/spec/lib/pwn/plugins/nessus_cloud_spec.rb +0 -15
  903. data/spec/lib/pwn/plugins/nexpose_vuln_scan_spec.rb +0 -15
  904. data/spec/lib/pwn/plugins/nmap_it_spec.rb +0 -15
  905. data/spec/lib/pwn/plugins/oauth2_spec.rb +0 -15
  906. data/spec/lib/pwn/plugins/ocr_spec.rb +0 -15
  907. data/spec/lib/pwn/plugins/open_api_spec.rb +0 -15
  908. data/spec/lib/pwn/plugins/openvas_spec.rb +0 -15
  909. data/spec/lib/pwn/plugins/packet_spec.rb +0 -15
  910. data/spec/lib/pwn/plugins/pdf_parse_spec.rb +0 -15
  911. data/spec/lib/pwn/plugins/pony_spec.rb +0 -15
  912. data/spec/lib/pwn/plugins/ps_spec.rb +0 -15
  913. data/spec/lib/pwn/plugins/pwn_logger_spec.rb +0 -15
  914. data/spec/lib/pwn/plugins/rabbit_mq_spec.rb +0 -15
  915. data/spec/lib/pwn/plugins/repl_spec.rb +0 -15
  916. data/spec/lib/pwn/plugins/scannable_codes_spec.rb +0 -15
  917. data/spec/lib/pwn/plugins/serial_spec.rb +0 -15
  918. data/spec/lib/pwn/plugins/shodan_spec.rb +0 -15
  919. data/spec/lib/pwn/plugins/slack_client_spec.rb +0 -15
  920. data/spec/lib/pwn/plugins/sock_spec.rb +0 -15
  921. data/spec/lib/pwn/plugins/spider_spec.rb +0 -15
  922. data/spec/lib/pwn/plugins/ssn_spec.rb +0 -15
  923. data/spec/lib/pwn/plugins/thread_pool_spec.rb +0 -15
  924. data/spec/lib/pwn/plugins/tor_spec.rb +0 -15
  925. data/spec/lib/pwn/plugins/transparent_browser_spec.rb +0 -15
  926. data/spec/lib/pwn/plugins/twitter_api_spec.rb +0 -15
  927. data/spec/lib/pwn/plugins/uri_scheme_spec.rb +0 -15
  928. data/spec/lib/pwn/plugins/vault_spec.rb +0 -15
  929. data/spec/lib/pwn/plugins/vin_spec.rb +0 -15
  930. data/spec/lib/pwn/plugins/voice_spec.rb +0 -15
  931. data/spec/lib/pwn/plugins/vsphere_spec.rb +0 -15
  932. data/spec/lib/pwn/plugins/xxd_spec.rb +0 -15
  933. data/spec/lib/pwn/plugins/zaproxy_spec.rb +0 -15
  934. data/spec/lib/pwn/plugins_spec.rb +0 -10
  935. data/spec/lib/pwn/reports/fuzz_spec.rb +0 -15
  936. data/spec/lib/pwn/reports/html_footer_spec.rb +0 -15
  937. data/spec/lib/pwn/reports/html_header_spec.rb +0 -15
  938. data/spec/lib/pwn/reports/phone_spec.rb +0 -15
  939. data/spec/lib/pwn/reports/sast_spec.rb +0 -15
  940. data/spec/lib/pwn/reports/uri_buster_spec.rb +0 -15
  941. data/spec/lib/pwn/reports_spec.rb +0 -10
  942. data/spec/lib/pwn/sast/amqp_connect_as_guest_spec.rb +0 -25
  943. data/spec/lib/pwn/sast/apache_file_system_util_api_spec.rb +0 -25
  944. data/spec/lib/pwn/sast/aws_spec.rb +0 -25
  945. data/spec/lib/pwn/sast/banned_function_calls_c_spec.rb +0 -25
  946. data/spec/lib/pwn/sast/base64_spec.rb +0 -25
  947. data/spec/lib/pwn/sast/beef_hook_spec.rb +0 -25
  948. data/spec/lib/pwn/sast/cmd_execution_go_lang_spec.rb +0 -25
  949. data/spec/lib/pwn/sast/cmd_execution_java_spec.rb +0 -25
  950. data/spec/lib/pwn/sast/cmd_execution_python_spec.rb +0 -25
  951. data/spec/lib/pwn/sast/cmd_execution_ruby_spec.rb +0 -25
  952. data/spec/lib/pwn/sast/cmd_execution_scala_spec.rb +0 -25
  953. data/spec/lib/pwn/sast/csrf_spec.rb +0 -25
  954. data/spec/lib/pwn/sast/deserial_java_spec.rb +0 -25
  955. data/spec/lib/pwn/sast/emoticon_spec.rb +0 -25
  956. data/spec/lib/pwn/sast/eval_spec.rb +0 -25
  957. data/spec/lib/pwn/sast/factory_spec.rb +0 -25
  958. data/spec/lib/pwn/sast/http_authorization_header_spec.rb +0 -25
  959. data/spec/lib/pwn/sast/inner_html_spec.rb +0 -25
  960. data/spec/lib/pwn/sast/keystore_spec.rb +0 -25
  961. data/spec/lib/pwn/sast/local_storage_spec.rb +0 -25
  962. data/spec/lib/pwn/sast/location_hash_spec.rb +0 -25
  963. data/spec/lib/pwn/sast/log4j_spec.rb +0 -25
  964. data/spec/lib/pwn/sast/logger_spec.rb +0 -25
  965. data/spec/lib/pwn/sast/md5_spec.rb +0 -25
  966. data/spec/lib/pwn/sast/outer_html_spec.rb +0 -25
  967. data/spec/lib/pwn/sast/padding_oracle_spec.rb +0 -25
  968. data/spec/lib/pwn/sast/password_spec.rb +0 -25
  969. data/spec/lib/pwn/sast/php_input_mechanisms_spec.rb +0 -25
  970. data/spec/lib/pwn/sast/php_type_juggling_spec.rb +0 -25
  971. data/spec/lib/pwn/sast/pom_version_spec.rb +0 -25
  972. data/spec/lib/pwn/sast/port_spec.rb +0 -25
  973. data/spec/lib/pwn/sast/post_message_spec.rb +0 -25
  974. data/spec/lib/pwn/sast/private_key_spec.rb +0 -25
  975. data/spec/lib/pwn/sast/redirect_spec.rb +0 -25
  976. data/spec/lib/pwn/sast/redos_spec.rb +0 -25
  977. data/spec/lib/pwn/sast/shell_spec.rb +0 -25
  978. data/spec/lib/pwn/sast/signature_spec.rb +0 -25
  979. data/spec/lib/pwn/sast/sql_spec.rb +0 -25
  980. data/spec/lib/pwn/sast/ssl_spec.rb +0 -25
  981. data/spec/lib/pwn/sast/sudo_spec.rb +0 -25
  982. data/spec/lib/pwn/sast/task_tag_spec.rb +0 -25
  983. data/spec/lib/pwn/sast/test_case_engine_spec.rb +0 -20
  984. data/spec/lib/pwn/sast/throw_errors_spec.rb +0 -25
  985. data/spec/lib/pwn/sast/token_spec.rb +0 -25
  986. data/spec/lib/pwn/sast/type_script_type_juggling_spec.rb +0 -25
  987. data/spec/lib/pwn/sast/use_after_free_spec.rb +0 -25
  988. data/spec/lib/pwn/sast/version_spec.rb +0 -25
  989. data/spec/lib/pwn/sast/window_location_hash_spec.rb +0 -25
  990. data/spec/lib/pwn/sast_spec.rb +0 -10
  991. data/spec/lib/pwn/sdr/decoder/gsm_spec.rb +0 -15
  992. data/spec/lib/pwn/sdr/decoder_spec.rb +0 -10
  993. data/spec/lib/pwn/sdr/flipper_zero_spec.rb +0 -15
  994. data/spec/lib/pwn/sdr/frequency_allocation_spec.rb +0 -15
  995. data/spec/lib/pwn/sdr/gqrx_spec.rb +0 -15
  996. data/spec/lib/pwn/sdr/rfidler_spec.rb +0 -15
  997. data/spec/lib/pwn/sdr/son_micro_rfid_spec.rb +0 -15
  998. data/spec/lib/pwn/sdr_spec.rb +0 -10
  999. data/spec/lib/pwn/version_spec.rb +0 -17
  1000. data/spec/lib/pwn/www/app_cobalt_io_spec.rb +0 -15
  1001. data/spec/lib/pwn/www/bing_spec.rb +0 -15
  1002. data/spec/lib/pwn/www/bug_crowd_spec.rb +0 -15
  1003. data/spec/lib/pwn/www/checkip_spec.rb +0 -15
  1004. data/spec/lib/pwn/www/coinbase_pro_spec.rb +0 -15
  1005. data/spec/lib/pwn/www/duckduckgo_spec.rb +0 -15
  1006. data/spec/lib/pwn/www/facebook_spec.rb +0 -15
  1007. data/spec/lib/pwn/www/google_spec.rb +0 -15
  1008. data/spec/lib/pwn/www/hacker_one_spec.rb +0 -15
  1009. data/spec/lib/pwn/www/linkedin_spec.rb +0 -15
  1010. data/spec/lib/pwn/www/pandora_spec.rb +0 -15
  1011. data/spec/lib/pwn/www/pastebin_spec.rb +0 -15
  1012. data/spec/lib/pwn/www/paypal_spec.rb +0 -15
  1013. data/spec/lib/pwn/www/synack_spec.rb +0 -15
  1014. data/spec/lib/pwn/www/torch_spec.rb +0 -15
  1015. data/spec/lib/pwn/www/trading_view_spec.rb +0 -15
  1016. data/spec/lib/pwn/www/twitter_spec.rb +0 -15
  1017. data/spec/lib/pwn/www/uber_spec.rb +0 -15
  1018. data/spec/lib/pwn/www/upwork_spec.rb +0 -15
  1019. data/spec/lib/pwn/www/wayback_machine_spec.rb +0 -15
  1020. data/spec/lib/pwn/www/youtube_spec.rb +0 -15
  1021. data/spec/lib/pwn/www_spec.rb +0 -10
  1022. data/spec/lib/pwn_spec.rb +0 -10
  1023. data/spec/spec_helper.rb +0 -3
  1024. data/third_party/.gitkeep +0 -0
  1025. data/third_party/http-request-headers-fields-large.txt +0 -1185
  1026. data/third_party/pwn_rdoc.jsonl +0 -1435
  1027. data/third_party/r2-pwn-layout +0 -1
  1028. data/update_pwn.sh +0 -9
  1029. data/upgrade_ruby.sh +0 -42
  1030. data/vagrant/provisioners/apache2.sh +0 -76
  1031. data/vagrant/provisioners/beef.rb +0 -30
  1032. data/vagrant/provisioners/burpsuite_pro.rb +0 -37
  1033. data/vagrant/provisioners/exploit-db.sh +0 -2
  1034. data/vagrant/provisioners/gem.sh +0 -4
  1035. data/vagrant/provisioners/init_env.sh +0 -22
  1036. data/vagrant/provisioners/jenkins.sh +0 -87
  1037. data/vagrant/provisioners/jenkins_ssh-keygen.rb +0 -86
  1038. data/vagrant/provisioners/kali_customize.rb +0 -130
  1039. data/vagrant/provisioners/letsencrypt.rb +0 -35
  1040. data/vagrant/provisioners/metasploit.rb +0 -25
  1041. data/vagrant/provisioners/nmap_all_live_hosts.sh +0 -2
  1042. data/vagrant/provisioners/openvas.sh +0 -23
  1043. data/vagrant/provisioners/openvas_wrappers.sh +0 -2
  1044. data/vagrant/provisioners/post_install.sh +0 -14
  1045. data/vagrant/provisioners/postgres.sh +0 -22
  1046. data/vagrant/provisioners/pwn.sh +0 -13
  1047. data/vagrant/provisioners/rvm.sh +0 -18
  1048. data/vagrant/provisioners/ssllabs-scan.sh +0 -10
  1049. data/vagrant/provisioners/toggle_tor.sh +0 -2
  1050. data/vagrant/provisioners/update_jenkins_plugins.rb +0 -30
  1051. data/vagrant/provisioners/update_os.sh +0 -108
  1052. data/vagrant/provisioners/upload_globals.sh +0 -63
  1053. data/vagrant/provisioners/userland_fdisk.sh +0 -22
  1054. data/vagrant/provisioners/userland_lvm.sh +0 -5
  1055. data/vagrant/provisioners/wpscan.rb +0 -25
  1056. data/vagrant_rsync_third_party.lst +0 -1
  1057. data/vagrant_rsync_userland_template.lst +0 -8
data/lib/pwn/sdr/gqrx.rb DELETED
@@ -1,656 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'json'
4
- require 'time'
5
-
6
- module PWN
7
- module SDR
8
- # This plugin interacts with the remote control interface of GQRX.
9
- module GQRX
10
- # Monkey patches for frequency handling
11
- String.class_eval do
12
- def raw_hz
13
- gsub('.', '').to_i
14
- end
15
- end
16
-
17
- Integer.class_eval do
18
- # Should always return format of X.XXX.XXX.XXX
19
- # So 002_450_000_000 becomes 2.450.000.000
20
- # So 2_450_000_000 becomes 2.450.000.000
21
- # So 960_000_000 becomes 960.000.000
22
- # 1000 should be 1.000
23
- def pretty_hz
24
- str_hz = to_s
25
- # Nuke leading zeros
26
- # E.g., 002450000000 -> 2450000000
27
- str_hz = str_hz.sub(/^0+/, '')
28
- # Insert dots every 3 digits from the right
29
- str_hz.reverse.scan(/.{1,3}/).join('.').reverse
30
- end
31
- end
32
-
33
- # Supported Method Parameters::
34
- # gqrx_sock = PWN::SDR::GQRX.connect(
35
- # target: 'optional - GQRX target IP address (defaults to 127.0.0.1)',
36
- # port: 'optional - GQRX target port (defaults to 7356)'
37
- # )
38
- public_class_method def self.connect(opts = {})
39
- target = opts[:target] ||= '127.0.0.1'
40
- port = opts[:port] ||= 7356
41
-
42
- PWN::Plugins::Sock.connect(target: target, port: port)
43
- rescue StandardError => e
44
- raise e
45
- end
46
-
47
- # Supported Method Parameters::
48
- # gqrx_resp = PWN::SDR::GQRX.gqrx_cmd(
49
- # gqrx_sock: 'required - GQRX socket object returned from #connect method',
50
- # cmd: 'required - GQRX command to execute',
51
- # resp_ok: 'optional - Expected response from GQRX to indicate success'
52
- # )
53
-
54
- public_class_method def self.gqrx_cmd(opts = {})
55
- gqrx_sock = opts[:gqrx_sock]
56
- cmd = opts[:cmd]
57
- resp_ok = opts[:resp_ok]
58
-
59
- # Most Recent GQRX Command Set:
60
- # https://raw.githubusercontent.com/gqrx-sdr/gqrx/master/resources/remote-control.txt
61
- # Supported commands:
62
- # f Get frequency [Hz]
63
- # F <frequency> Set frequency [Hz]
64
- # m Get demodulator mode and passband
65
- # M <mode> [passband]
66
- # Set demodulator mode and passband [Hz]
67
- # Passing a '?' as the first argument instead of 'mode' will return
68
- # a space separated list of radio backend supported modes.
69
- # l|L ?
70
- # Get a space separated list of settings available for reading (l) or writing (L).
71
- # l STRENGTH
72
- # Get signal strength [dBFS]
73
- # l SQL
74
- # Get squelch threshold [dBFS]
75
- # L SQL <sql>
76
- # Set squelch threshold to <sql> [dBFS]
77
- # l AF
78
- # Get audio gain [dB]
79
- # L AF <gain>
80
- # Set audio gain to <gain> [dB]
81
- # l <gain_name>_GAIN
82
- # Get the value of the gain setting with the name <gain_name>
83
- # L <gain_name>_GAIN <value>
84
- # Set the value of the gain setting with the name <gain_name> to <value>
85
- # p RDS_PI
86
- # Get the RDS PI code (in hexadecimal). Returns 0000 if not applicable.
87
- # u RECORD
88
- # Get status of audio recorder
89
- # U RECORD <status>
90
- # Set status of audio recorder to <status>
91
- # u DSP
92
- # Get DSP (SDR receiver) status
93
- # U DSP <status>
94
- # Set DSP (SDR receiver) status to <status>
95
- # u RDS
96
- # Get RDS decoder to <status>. Only functions in WFM mode.
97
- # U RDS <status>
98
- # Set RDS decoder to <status>. Only functions in WFM mode.
99
- # q|Q
100
- # Close connection
101
- # AOS
102
- # Acquisition of signal (AOS) event, start audio recording
103
- # LOS
104
- # Loss of signal (LOS) event, stop audio recording
105
- # LNB_LO [frequency]
106
- # If frequency [Hz] is specified set the LNB LO frequency used for
107
- # display. Otherwise print the current LNB LO frequency [Hz].
108
- # \chk_vfo
109
- # Get VFO option status (only usable for hamlib compatibility)
110
- # \dump_state
111
- # Dump state (only usable for hamlib compatibility)
112
- # \get_powerstat
113
- # Get power status (only usable for hamlib compatibility)
114
- # v
115
- # Get 'VFO' (only usable for hamlib compatibility)
116
- # V
117
- # Set 'VFO' (only usable for hamlib compatibility)
118
- # s
119
- # Get 'Split' mode (only usable for hamlib compatibility)
120
- # S
121
- # Set 'Split' mode (only usable for hamlib compatibility)
122
- # _
123
- # Get version
124
- #
125
- # Reply:
126
- # RPRT 0
127
- # Command successful
128
- # RPRT 1
129
- # Command failed
130
-
131
- gqrx_sock.write("#{cmd}\n")
132
- response = []
133
- start_time = Time.now
134
-
135
- # Wait up to 2 seconds for initial response
136
- if gqrx_sock.wait_readable(2.0)
137
- response.push(gqrx_sock.readline.chomp)
138
- # Drain any additional lines quickly
139
- loop do
140
- # This is the main contributing factor to this scanner being slow.
141
- # We're trading speed for accuracy here.
142
- # break if gqrx_sock.wait_readable(0.0625).nil? && cmd == 'l STRENGTH'
143
- break if gqrx_sock.wait_readable(0.04).nil? && cmd == 'l STRENGTH'
144
- break if gqrx_sock.wait_readable(0.001).nil? && cmd != 'l STRENGTH'
145
-
146
- response.push(gqrx_sock.readline.chomp)
147
- end
148
- end
149
-
150
- raise "No response for command: #{cmd}" if response.empty?
151
-
152
- response_str = response.length == 1 ? response.first : response.join(' ')
153
-
154
- raise "ERROR!!! Command: #{cmd} Expected Resp: #{resp_ok}, Got: #{response_str}" if resp_ok && response_str != resp_ok
155
-
156
- # Reformat positive integer frequency responses (e.g., from 'f')
157
- response_str = response_str.to_i.pretty_hz if response_str.match?(/^\d+$/) && response_str.to_i.positive?
158
-
159
- response_str
160
- rescue RuntimeError => e
161
- puts 'WARNING: RF Gain is not supported by the radio backend.' if e.message.include?('Command: L RF_GAIN')
162
- puts 'WARNING: Intermediate Gain is not supported by the radio backend.' if e.message.include?('Command: L IF_GAIN')
163
- puts 'WARNING: Baseband Gain is not supported by the radio backend.' if e.message.include?('Command: L BB_GAIN')
164
-
165
- raise e unless e.message.include?('Command: L RF_GAIN') ||
166
- e.message.include?('Command: L IF_GAIN') ||
167
- e.message.include?('Command: L BB_GAIN')
168
- rescue StandardError => e
169
- raise e
170
- end
171
-
172
- # Supported Method Parameters::
173
- # init_freq_hash = PWN::SDR::GQRX.init_freq(
174
- # gqrx_sock: 'required - GQRX socket object returned from #connect method',
175
- # freq: 'required - Frequency to set',
176
- # demodulator_mode: 'optional - Demodulator mode (defaults to WFM)',
177
- # bandwidth: 'optional - Bandwidth (defaults to 200_000)',
178
- # squelch: 'optional - Squelch level to set (Defaults to current value)',
179
- # decoder: 'optional - Decoder key (e.g., :gsm) to start live decoding (starts recording if provided)',
180
- # record_dir: 'optional - Directory where GQRX saves recordings (required if decoder provided; defaults to Dir.home)',
181
- # decoder_opts: 'optional - Hash of additional options for the decoder',
182
- # suppress_details: 'optional - Boolean to include extra frequency details in return hash (defaults to false)'
183
- # )
184
- public_class_method def self.init_freq(opts = {})
185
- gqrx_sock = opts[:gqrx_sock]
186
- freq = opts[:freq]
187
- demodulator_mode = opts[:demodulator_mode] ||= 'WFM'
188
- bandwidth = opts[:bandwidth] ||= 200_000
189
- squelch = opts[:squelch]
190
- decoder = opts[:decoder]
191
- record_dir = opts[:record_dir] ||= Dir.home
192
- decoder_opts = opts[:decoder_opts] ||= {}
193
- suppress_details = opts[:suppress_details] || false
194
-
195
- raise "ERROR: record_dir '#{record_dir}' does not exist. Please create it or provide a valid path." if decoder && !Dir.exist?(record_dir)
196
-
197
- hz = freq.to_s.raw_hz
198
-
199
- if squelch.is_a?(Float) && squelch >= -100.0 && squelch <= 0.0
200
- change_squelch_resp = gqrx_cmd(
201
- gqrx_sock: gqrx_sock,
202
- cmd: "L SQL #{squelch}",
203
- resp_ok: 'RPRT 0'
204
- )
205
- end
206
-
207
- change_freq_resp = gqrx_cmd(
208
- gqrx_sock: gqrx_sock,
209
- cmd: "F #{hz}",
210
- resp_ok: 'RPRT 0'
211
- )
212
-
213
- # Set demod mode and bandwidth (always, using defaults if not provided)
214
- mode_str = demodulator_mode.to_s.upcase
215
- passband_hz = bandwidth.to_s.raw_hz
216
- gqrx_cmd(
217
- gqrx_sock: gqrx_sock,
218
- cmd: "M #{mode_str} #{passband_hz}",
219
- resp_ok: 'RPRT 0'
220
- )
221
-
222
- # Get demodulator mode n passband
223
- demod_n_passband = gqrx_cmd(
224
- gqrx_sock: gqrx_sock,
225
- cmd: 'm'
226
- )
227
-
228
- # Get current frequency
229
- current_freq = gqrx_cmd(
230
- gqrx_sock: gqrx_sock,
231
- cmd: 'f'
232
- )
233
-
234
- # Start recording and decoding if decoder provided
235
- decoder_module = nil
236
- decoder_thread = nil
237
- record_path = nil
238
- if decoder
239
- # Resolve decoder module via case statement for extensibility
240
- case decoder
241
- when :gsm
242
- decoder_module = PWN::SDR::Decoder::GSM
243
- else
244
- raise "ERROR: Unknown decoder key: #{decoder}. Supported: :gsm"
245
- end
246
-
247
- # Ensure recording is off before starting
248
- record_status = gqrx_cmd(gqrx_sock: gqrx_sock, cmd: 'u RECORD')
249
- gqrx_cmd(gqrx_sock: gqrx_sock, cmd: 'U RECORD 0', resp_ok: 'RPRT 0') if record_status == '1'
250
-
251
- # Start recording
252
- gqrx_cmd(gqrx_sock: gqrx_sock, cmd: 'U RECORD 1', resp_ok: 'RPRT 0')
253
-
254
- # Prepare for decoder
255
- start_time = Time.now
256
- expected_filename = "gqrx_#{start_time.strftime('%Y%m%d_%H%M%S')}_#{current_freq_raw}.wav"
257
- record_path = File.join(record_dir, expected_filename)
258
-
259
- # Build partial gqrx_obj for decoder start
260
- gqrx_obj_partial = {
261
- gqrx_sock: gqrx_sock,
262
- record_path: record_path,
263
- frequency: current_freq,
264
- bandwidth: bandwidth,
265
- demodulator_mode: demodulator_mode
266
- }
267
-
268
- # Initialize and start decoder (module style: .start returns thread)
269
- decoder_thread = decoder_module.start(
270
- gqrx_obj: gqrx_obj_partial,
271
- **decoder_opts
272
- )
273
- end
274
-
275
- init_freq_hash = {
276
- demod_mode_n_passband: demod_n_passband,
277
- frequency: current_freq,
278
- bandwidth: bandwidth,
279
- decoder: decoder,
280
- decoder_module: decoder_module,
281
- decoder_thread: decoder_thread,
282
- record_path: record_path
283
- }
284
-
285
- unless suppress_details
286
- audio_gain_db = gqrx_cmd(
287
- gqrx_sock: gqrx_sock,
288
- cmd: 'l AF'
289
- ).to_f
290
-
291
- strength_db_float = gqrx_cmd(
292
- gqrx_sock: gqrx_sock,
293
- cmd: 'l STRENGTH'
294
- ).to_f
295
- strength_db = strength_db_float.round(1)
296
-
297
- current_squelch = gqrx_cmd(
298
- gqrx_sock: gqrx_sock,
299
- cmd: 'l SQL'
300
- ).to_f
301
-
302
- rf_gain = gqrx_cmd(
303
- gqrx_sock: gqrx_sock,
304
- cmd: 'l RF_GAIN'
305
- )
306
-
307
- if_gain = gqrx_cmd(
308
- gqrx_sock: gqrx_sock,
309
- cmd: 'l IF_GAIN'
310
- )
311
-
312
- bb_gain = gqrx_cmd(
313
- gqrx_sock: gqrx_sock,
314
- cmd: 'l BB_GAIN'
315
- )
316
-
317
- init_freq_hash = {
318
- demod_mode_n_passband: demod_n_passband,
319
- frequency: current_freq,
320
- bandwidth: bandwidth,
321
- audio_gain_db: audio_gain_db,
322
- squelch: current_squelch,
323
- rf_gain: rf_gain,
324
- if_gain: if_gain,
325
- bb_gain: bb_gain,
326
- strength_db: strength_db,
327
- decoder: decoder,
328
- decoder_module: decoder_module,
329
- decoder_thread: decoder_thread,
330
- record_path: record_path
331
- }
332
- end
333
-
334
- init_freq_hash
335
- rescue StandardError => e
336
- raise e
337
- ensure
338
- # Ensure recording is stopped and decoder is stopped on error
339
- gqrx_cmd(gqrx_sock: gqrx_sock, cmd: 'U RECORD 0', resp_ok: 'RPRT 0') if gqrx_sock && decoder
340
- decoder_module.stop(thread: decoder_thread, gqrx_obj: init_freq_hash) if decoder_module && decoder_thread
341
- end
342
-
343
- # Supported Method Parameters::
344
- # scan_resp = PWN::SDR::GQRX.scan_range(
345
- # gqrx_sock: 'required - GQRX socket object returned from #connect method',
346
- # start_freq: 'required - Start frequency of scan range',
347
- # target_freq: 'required - Target frequency of scan range',
348
- # demodulator_mode: 'optional - Demodulator mode (e.g. WFM, AM, FM, USB, LSB, RAW, CW, RTTY / defaults to WFM)',
349
- # bandwidth: 'optional - Bandwidth in Hz (Defaults to 200_000)',
350
- # precision: 'optional - Frequency step precision (number of digits; defaults to 1)',
351
- # lock_freq_duration: 'optional - Lock frequency duration in seconds (defaults to 0.04)',
352
- # strength_lock: 'optional - Strength lock in dBFS (defaults to -70.0)',
353
- # squelch: 'optional - Squelch level in dBFS (defaults to strength_lock - 3.0)',
354
- # location: 'optional - Location string to include in AI analysis (e.g., "New York, NY", 90210, GPS coords, etc.)'
355
- # )
356
-
357
- public_class_method def self.scan_range(opts = {})
358
- gqrx_sock = opts[:gqrx_sock]
359
- start_freq = opts[:start_freq]
360
- target_freq = opts[:target_freq]
361
- demodulator_mode = opts[:demodulator_mode]
362
- bandwidth = opts[:bandwidth] ||= 200_000
363
- precision = opts[:precision] ||= 1
364
- lock_freq_duration = opts[:lock_freq_duration] ||= 0.04
365
- strength_lock = opts[:strength_lock] ||= -70.0
366
- squelch = opts[:squelch] ||= (strength_lock - 3.0)
367
- location = opts[:location] ||= 'United States'
368
-
369
- timestamp_start = Time.now.strftime('%Y-%m-%d %H:%M:%S%z')
370
-
371
- hz_start = start_freq.to_s.raw_hz
372
- hz_target = target_freq.to_s.raw_hz
373
- # step_hz = 10**(precision - 1)
374
- step_hz = [10**(precision - 1), (bandwidth.to_i / 4)].max
375
- step = hz_start > hz_target ? -step_hz : step_hz
376
-
377
- # Set demodulator mode & passband once
378
- mode_str = demodulator_mode.to_s.upcase
379
- passband_hz = bandwidth.to_s.raw_hz
380
- gqrx_cmd(
381
- gqrx_sock: gqrx_sock,
382
- cmd: "M #{mode_str} #{passband_hz}",
383
- resp_ok: 'RPRT 0'
384
- )
385
-
386
- # Prime radio at starting frequency
387
- prev_freq_hash = init_freq(
388
- gqrx_sock: gqrx_sock,
389
- freq: start_freq,
390
- demodulator_mode: demodulator_mode,
391
- bandwidth: bandwidth,
392
- squelch: squelch,
393
- suppress_details: true
394
- )
395
- prev_freq_hash[:lock_freq_duration] = lock_freq_duration
396
- prev_freq_hash[:strength_lock] = strength_lock
397
-
398
- in_signal = false
399
- candidate_signals = []
400
- strength_history = []
401
-
402
- # ──────────────────────────────────────────────────────────────
403
- # Adaptive peak finder – trims weakest ends after each pass
404
- # Converges quickly to the true center of the bell curve
405
- # ──────────────────────────────────────────────────────────────
406
- find_best_peak = lambda do |opts = {}|
407
- beg_of_signal_hz = opts[:beg_of_signal_hz].to_s.raw_hz
408
- top_of_signal_hz = opts[:top_of_signal_hz].to_s.raw_hz
409
- end_of_signal_hz = top_of_signal_hz + step_hz
410
-
411
- # current_hz = gqrx_cmd(gqrx_sock: gqrx_sock, cmd: 'f').to_s.raw_hz
412
- # puts "Current Frequency: #{current_hz.pretty_hz}"
413
- puts "Signal Began: #{beg_of_signal_hz.pretty_hz}"
414
- puts "Signal Appeared to Peak at: #{top_of_signal_hz.pretty_hz}"
415
- puts "Calculated Signal End: #{end_of_signal_hz.pretty_hz}"
416
- # steps_between_beg_n_end = ((end_of_signal_hz - beg_of_signal_hz) / step_hz).abs
417
- # puts steps_between_beg_n_end.inspect
418
-
419
- samples = []
420
- prev_best_sample = nil
421
- consecutive_best = 0
422
- direction_up = true
423
-
424
- pass_count = 0
425
- infinite_loop_safeguard = false
426
- while true
427
- pass_count += 1
428
-
429
- # Safeguard against infinite loop
430
- infinite_loop_safeguard = true if pass_count >= 100
431
- puts 'WARNING: Infinite loop safeguard triggered in find_best_peak!' if infinite_loop_safeguard
432
- break if infinite_loop_safeguard
433
-
434
- direction_up = !direction_up
435
- start_hz_direction = direction_up ? beg_of_signal_hz : end_of_signal_hz
436
- end_hz_direction = direction_up ? end_of_signal_hz : beg_of_signal_hz
437
- step_hz_direction = direction_up ? step_hz : -step_hz
438
-
439
- start_hz_direction.step(by: step_hz_direction, to: end_hz_direction) do |hz|
440
- print '>' if direction_up
441
- print '<' unless direction_up
442
- gqrx_cmd(gqrx_sock: gqrx_sock, cmd: "F #{hz}")
443
- sleep lock_freq_duration
444
- strength_db_float = gqrx_cmd(gqrx_sock: gqrx_sock, cmd: 'l STRENGTH').to_f
445
- strength_db = strength_db_float.round(1)
446
- samples.push({ hz: hz, strength_db: strength_db })
447
-
448
- # current_hz = gqrx_cmd(gqrx_sock: gqrx_sock, cmd: 'f').to_s.raw_hz
449
- # puts "Sampled Frequency: #{current_hz.pretty_hz} => Strength: #{strength_db} dBFS"
450
- end
451
-
452
- # Compute fresh averaged_samples from all cumulative samples
453
- averaged_samples = []
454
- samples.group_by { |s| s[:hz] }.each do |hz, grouped_samples|
455
- avg_strength = (grouped_samples.map { |s| s[:strength_db] }.sum / grouped_samples.size).round(1)
456
- averaged_samples.push({ hz: hz, strength_db: avg_strength })
457
- end
458
-
459
- # Sort by hz for trimming
460
- averaged_samples.sort_by! { |s| s[:hz] }
461
-
462
- # Find current best for trimming threshold
463
- best_sample = averaged_samples.max_by { |s| s[:strength_db] }
464
- max_strength = best_sample[:strength_db]
465
-
466
- # trim_db_threshold should bet average difference between
467
- # samples near peak, floor to nearest 0.1 dB
468
- trim_db_threshold = samples.map { |s| (s[:strength_db] - max_strength).abs }.sum / samples.size
469
- trim_db_threshold = (trim_db_threshold * 10).floor / 10.0
470
- puts "\nPass #{pass_count}: Calculated trim_db_threshold: #{trim_db_threshold} dB"
471
- # Adaptive trim: Remove weak ends (implements the comment about trimming weakest ends)
472
- averaged_samples.shift while !averaged_samples.empty? && averaged_samples.first[:strength_db] < max_strength - trim_db_threshold
473
- averaged_samples.pop while !averaged_samples.empty? && averaged_samples.last[:strength_db] < max_strength - trim_db_threshold
474
-
475
- # Update range for next pass if trimmed
476
- unless averaged_samples.empty?
477
- beg_of_signal_hz = averaged_samples.first[:hz]
478
- end_of_signal_hz = averaged_samples.last[:hz]
479
- end
480
-
481
- # Recalculate best_sample after trim
482
- best_sample = averaged_samples.max_by { |s| s[:strength_db] }
483
-
484
- # Check for improvement
485
- if best_sample == prev_best_sample
486
- consecutive_best += 1
487
- else
488
- consecutive_best = 0
489
- end
490
-
491
- # Dup to avoid reference issues
492
- prev_best_sample = best_sample.dup
493
-
494
- puts "Pass #{pass_count}: Best #{best_sample[:hz].pretty_hz} => #{best_sample[:strength_db]} dBFS, consecutive best count: #{consecutive_best}"
495
-
496
- # Break if no improvement in 3 consecutive passes or theres only one sample left
497
- break if consecutive_best.positive? || averaged_samples.size == 1
498
- end
499
-
500
- best_sample
501
- end
502
-
503
- # Begin scanning range
504
- puts "INFO: Scanning from #{hz_start.pretty_hz} to #{hz_target.pretty_hz} in steps of #{step.abs.pretty_hz} Hz.\nIf scans are slow and/or you're experiencing false positives/negatives, consider adjusting:\n1. The SDR's sample rate in GQRX\n\s\s- Click on `Configure I/O devices`.\n\s\s- A lower `Input rate` value seems counter-intuitive but works well (e.g. ADALM PLUTO ~ 1000000).\n2. Adjust the :strength_lock parameter.\n3. Adjust the :lock_freq_duration parameter.\n4. Adjust the :precision parameter.\n5. Disable AI introspection in PWN::Env\nHappy scanning!\n\n"
505
-
506
- signals_arr = []
507
- hz_start.step(by: step, to: hz_target) do |hz|
508
- gqrx_cmd(gqrx_sock: gqrx_sock, cmd: "F #{hz}")
509
- sleep lock_freq_duration
510
- strength_db_float = gqrx_cmd(gqrx_sock: gqrx_sock, cmd: 'l STRENGTH').to_f
511
- strength_db = strength_db_float.round(1)
512
- prev_strength_db = strength_history.last || -Float::INFINITY
513
-
514
- if strength_db >= strength_lock && strength_db > prev_strength_db
515
- in_signal = true
516
- strength_history.push(strength_db)
517
- strength_history.shift if strength_history.size > 5
518
- current_strength = (strength_history.sum / strength_history.size).round(1)
519
-
520
- print '.'
521
- # puts "#{hz.pretty_hz} => #{strength_db}"
522
-
523
- candidate = { hz: hz, freq: hz.pretty_hz, strength: current_strength }
524
- candidate_signals.push(candidate)
525
- else
526
- if in_signal
527
- beg_of_signal_hz = candidate_signals.map { |s| s[:hz] }.min
528
- # Previous max step_hz was actually the top of the signal
529
- top_of_signal_hz = candidate_signals.map { |s| s[:hz] }.max - step_hz
530
-
531
- distance_from_prev_freq_hz = (beg_of_signal_hz - prev_freq_hash[:frequency].to_s.raw_hz).abs
532
- next unless distance_from_prev_freq_hz > (bandwidth.to_i / 2)
533
-
534
- best_peak = find_best_peak.call(
535
- beg_of_signal_hz: beg_of_signal_hz,
536
- top_of_signal_hz: top_of_signal_hz
537
- )
538
-
539
- if best_peak[:hz] && best_peak[:strength_db] > strength_lock
540
- detailed = init_freq(
541
- gqrx_sock: gqrx_sock,
542
- freq: best_peak[:hz],
543
- demodulator_mode: demodulator_mode,
544
- bandwidth: bandwidth,
545
- squelch: squelch,
546
- suppress_details: true
547
- )
548
- detailed[:lock_freq_duration] = lock_freq_duration
549
- detailed[:strength_lock] = strength_lock
550
-
551
- system_role_content = "Analyze signal data captured by a software-defined-radio using GQRX at the following location: #{location}. Respond with just FCC information about the transmission if available. If the frequency is unlicensed or not found in FCC records, state that clearly. Be clear and concise in your analysis."
552
- ai_analysis = PWN::AI::Introspection.reflect_on(
553
- request: detailed.to_json,
554
- system_role_content: system_role_content,
555
- suppress_pii_warning: true
556
- )
557
- detailed[:ai_analysis] = ai_analysis unless ai_analysis.nil?
558
- puts "\n**** Detected Signal ****"
559
- puts JSON.pretty_generate(detailed)
560
- signals_arr.push(detailed)
561
- end
562
- candidate_signals.clear
563
- sleep lock_freq_duration
564
- end
565
- in_signal = false
566
- strength_history = []
567
- end
568
- end
569
- signals = signals_arr.sort_by { |s| s[:frequency].to_s.raw_hz }
570
- timestamp_end = Time.now.strftime('%Y-%m-%d %H:%M:%S%z')
571
- duration_secs = Time.parse(timestamp_end) - Time.parse(timestamp_start)
572
- # Convert duration seconds to hours minutes seconds
573
- hours = (duration_secs / 3600).to_i
574
- minutes = ((duration_secs % 3600) / 60).to_i
575
- seconds = (duration_secs % 60).to_i
576
- duration = format('%<hrs>02d:%<mins>02d:%<secs>02d', hrs: hours, mins: minutes, secs: seconds)
577
-
578
- {
579
- signals: signals,
580
- timestamp_start: timestamp_start,
581
- timestamp_end: timestamp_end,
582
- duration: duration
583
- }
584
- rescue StandardError => e
585
- raise e
586
- end
587
-
588
- # Supported Method Parameters::
589
- # PWN::SDR::GQRX.disconnect(
590
- # gqrx_sock: 'required - GQRX socket object returned from #connect method'
591
- # )
592
- public_class_method def self.disconnect(opts = {})
593
- gqrx_sock = opts[:gqrx_sock]
594
-
595
- PWN::Plugins::Sock.disconnect(sock_obj: gqrx_sock)
596
- rescue StandardError => e
597
- raise e
598
- end
599
-
600
- # Author(s):: 0day Inc. <support@0dayinc.com>
601
-
602
- public_class_method def self.authors
603
- "AUTHOR(S):
604
- 0day Inc. <support@0dayinc.com>
605
- "
606
- end
607
-
608
- # Display Usage for this Module
609
-
610
- public_class_method def self.help
611
- puts "USAGE:
612
- gqrx_sock = #{self}.connect(
613
- target: 'optional - GQRX target IP address (defaults to 127.0.0.1)',
614
- port: 'optional - GQRX target port (defaults to 7356)'
615
- )
616
-
617
- gqrx_resp = #{self}.gqrx_cmd(
618
- gqrx_sock: 'required - GQRX socket object returned from #connect method',
619
- cmd: 'required - GQRX command to execute',
620
- resp_ok: 'optional - Expected response from GQRX to indicate success'
621
- )
622
-
623
- init_freq_hash = #{self}.init_freq(
624
- gqrx_sock: 'required - GQRX socket object returned from #connect method',
625
- freq: 'required - Frequency to set',
626
- demodulator_mode: 'optional - Demodulator mode (defaults to WFM)',
627
- bandwidth: 'optional - Bandwidth (defaults to 200_000)',
628
- decoder: 'optional - Decoder key (e.g., :gsm) to start live decoding (starts recording if provided)',
629
- record_dir: 'optional - Directory where GQRX saves recordings (required if decoder provided; defaults to ~/gqrx_recordings)',
630
- decoder_opts: 'optional - Hash of additional options for the decoder',
631
- suppress_details: 'optional - Boolean to include extra frequency details in return hash (defaults to false)'
632
- )
633
-
634
- scan_resp = #{self}.scan_range(
635
- gqrx_sock: 'required - GQRX socket object returned from #connect method',
636
- start_freq: 'required - Starting frequency',
637
- target_freq: 'required - Target frequency',
638
- demodulator_mode: 'optional - Demodulator mode (e.g. WFM, AM, FM, USB, LSB, RAW, CW, RTTY / defaults to WFM)',
639
- bandwidth: 'optional - Bandwidth in Hz (Defaults to 200_000)',
640
- precision: 'optional - Precision (Defaults to 1)',
641
- lock_freq_duration: 'optional - Lock frequency duration in seconds (defaults to 0.04)',
642
- strength_lock: 'optional - Strength lock (defaults to -70.0)',
643
- squelch: 'optional - Squelch level (defaults to strength_lock - 3.0)',
644
- location: 'optional - Location string to include in AI analysis (e.g., \"New York, NY\", 90210, GPS coords, etc.)'
645
- )
646
-
647
- #{self}.disconnect(
648
- gqrx_sock: 'required - GQRX socket object returned from #connect method'
649
- )
650
-
651
- #{self}.authors
652
- "
653
- end
654
- end
655
- end
656
- end