pwn 0.5.508 → 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 -416
  636. data/lib/pwn/sdr/gqrx.rb +0 -655
  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
@@ -1,1313 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'packetfu'
4
- require 'packetfu/protos/arp'
5
- require 'packetfu/protos/eth'
6
- require 'packetfu/protos/hsrp'
7
- require 'packetfu/protos/icmp'
8
- require 'packetfu/protos/ip'
9
- require 'packetfu/protos/ipv6'
10
- require 'packetfu/protos/lldp'
11
- require 'packetfu/protos/tcp'
12
- require 'packetfu/protos/udp'
13
- require 'socket'
14
-
15
- module PWN
16
- module Plugins
17
- # This plugin is used for interacting with PCAP files to map out and visualize in an
18
- # automated fashion what comprises a infrastructure, network, and/or application
19
- module Packet
20
- # Supported Method Parameters::
21
- # pcap = PWN::Plugins::Packet.open_pcap_file(
22
- # path: 'required - path to packet capture file'
23
- # )
24
-
25
- public_class_method def self.open_pcap_file(opts = {})
26
- path = opts[:path].to_s.scrub.strip.chomp if File.exist?(opts[:path].to_s.scrub.strip.chomp)
27
-
28
- PacketFu::PcapFile.read_packets(path)
29
- rescue StandardError => e
30
- raise e
31
- end
32
-
33
- # Supported Method Parameters::
34
- # pkt = PWN::Plugins::Packet.construct_arp(
35
- # ip_saddr: 'required - source ip of packet',
36
- # ip_daddr: 'required - destination ip to send packet',
37
- # payload: 'optional - packet payload defaults to empty string',
38
- # ip_id: 'optional - defaults to 0xfeed',
39
- # iface: 'optional - interface to send packet (defaults to eth0)',
40
- # )
41
-
42
- public_class_method def self.construct_arp(opts = {})
43
- # Ethernet Header
44
- eth_src = opts[:eth_src]
45
- eth_dst = opts[:eth_dst]
46
-
47
- if opts[:eth_proto]
48
- eth_proto = opts[:eth_proto]
49
- else
50
- eth_proto = 0x0806 # ARP
51
- end
52
-
53
- # ARP Header
54
- if opts[:arp_hw]
55
- arp_hw = opts[:arp_hw].to_i
56
- else
57
- arp_hw = 1
58
- end
59
-
60
- if opts[:arp_proto]
61
- arp_proto = opts[:arp_proto]
62
- else
63
- arp_proto = 0x0800 # IPv4
64
- end
65
-
66
- if opts[:arp_hw_len]
67
- arp_hw_len = opts[:arp_hw_len].to_i
68
- else
69
- arp_hw_len = 6
70
- end
71
-
72
- if opts[:arp_proto_len]
73
- arp_proto_len = opts[:arp_proto_len].to_i
74
- else
75
- arp_proto_len = 4
76
- end
77
-
78
- if opts[:arp_opcode]
79
- arp_opcode = opts[:arp_opcode].to_i
80
- else
81
- arp_opcode = 1
82
- end
83
-
84
- arp_src_mac = opts[:arp_src_mac]
85
- arp_ip_saddr = opts[:ip_saddr].to_s.scrub.strip.chomp
86
-
87
- arp_dst_mac = opts[:arp_dst_mac]
88
- arp_ip_daddr = opts[:ip_daddr].to_s.scrub.strip.chomp
89
-
90
- # Payload
91
- payload = opts[:payload]
92
-
93
- pkt = PacketFu::ARPPacket.new(config: PacketFu::Utils.whoami?)
94
- # Ethernet Header
95
- pkt.eth_saddr = eth_src unless eth_src.nil?
96
- pkt.eth_daddr = eth_dst unless eth_dst.nil?
97
- pkt.eth_proto = eth_proto
98
- # ARP Header
99
- pkt.arp_hw = arp_hw
100
- pkt.arp_proto = arp_proto
101
- pkt.arp_hw_len = arp_hw_len
102
- pkt.arp_proto_len = arp_proto_len
103
- pkt.arp_opcode = arp_opcode
104
- pkt.arp_saddr_mac = arp_src_mac
105
- pkt.arp_saddr_ip = arp_ip_saddr
106
- pkt.arp_daddr_mac = arp_dst_mac
107
- pkt.arp_daddr_ip = arp_ip_daddr
108
- # Payload
109
- pkt.payload = payload if payload
110
-
111
- pkt
112
- rescue StandardError => e
113
- raise e
114
- end
115
-
116
- # Supported Method Parameters::
117
- # pkt = PWN::Plugins::Packet.construct_eth(
118
- # ip_saddr: 'required - source ip of packet',
119
- # ip_daddr: 'required - destination ip to send packet',
120
- # payload: 'optional - packet payload defaults to empty string',
121
- # ip_id: 'optional - defaults to 0xfeed',
122
- # iface: 'optional - interface to send packet (defaults to eth0)',
123
- # )
124
-
125
- public_class_method def self.construct_eth(opts = {})
126
- # Ethernet Header
127
- eth_src = opts[:eth_src]
128
- eth_dst = opts[:eth_dst]
129
-
130
- if opts[:eth_proto]
131
- eth_proto = opts[:eth_proto]
132
- else
133
- eth_proto = 0x0800 # IPv4
134
- end
135
-
136
- # Payload
137
- payload = opts[:payload]
138
-
139
- pkt = PacketFu::EthPacket.new(config: PacketFu::Utils.whoami?)
140
- # Ethernet Header
141
- pkt.eth_saddr = eth_src unless eth_src.nil?
142
- pkt.eth_daddr = eth_dst unless eth_dst.nil?
143
- pkt.eth_proto = eth_proto
144
- # Payload
145
- pkt.payload = payload if payload
146
-
147
- pkt
148
- rescue StandardError => e
149
- raise e
150
- end
151
-
152
- # Supported Method Parameters::
153
- # pkt = PWN::Plugins::Packet.construct_hsrp(
154
- # ip_saddr: 'required - source ip of packet',
155
- # ip_daddr: 'required - destination ip to send packet',
156
- # payload: 'optional - packet payload defaults to empty string',
157
- # ip_id: 'optional - defaults to 0xfeed',
158
- # iface: 'optional - interface to send packet (defaults to eth0)',
159
- # )
160
-
161
- public_class_method def self.construct_hsrp(opts = {})
162
- # Ethernet Header
163
- eth_src = opts[:eth_src]
164
- eth_dst = opts[:eth_dst]
165
-
166
- if opts[:eth_proto]
167
- eth_proto = opts[:eth_proto]
168
- else
169
- eth_proto = 0x0800 # IPv4
170
- end
171
-
172
- # IP Header
173
- if opts[:ip_v]
174
- ip_v = opts[:ip_v]
175
- else
176
- ip_v = 4
177
- end
178
-
179
- if opts[:ip_hl]
180
- ip_hl = opts[:ip_hl]
181
- else
182
- ip_hl = 5
183
- end
184
-
185
- if opts[:ip_tos]
186
- ip_tos = opts[:ip_tos]
187
- else
188
- ip_tos = 0
189
- end
190
-
191
- if opts[:ip_len]
192
- ip_len = opts[:ip_len]
193
- else
194
- ip_len = 20
195
- end
196
-
197
- if opts[:ip_id]
198
- ip_id = opts[:ip_id]
199
- else
200
- ip_id = 0xfeed
201
- end
202
-
203
- if opts[:ip_frag]
204
- ip_frag = opts[:ip_frag]
205
- else
206
- ip_frag = 0
207
- end
208
-
209
- if opts[:ip_ttl]
210
- ip_ttl = opts[:ip_ttl]
211
- else
212
- ip_ttl = 32
213
- end
214
-
215
- if opts[:ip_proto]
216
- ip_proto = opts[:ip_proto]
217
- else
218
- ip_proto = 17 # UDP
219
- end
220
-
221
- if opts[:ip_sum]
222
- ip_sum = opts[:ip_sum]
223
- else
224
- ip_sum = 0xffff
225
- end
226
-
227
- ip_saddr = opts[:ip_saddr]
228
- ip_daddr = opts[:ip_daddr]
229
-
230
- # UDP Header
231
- udp_src_port = opts[:udp_src_port]
232
- udp_dst_port = opts[:udp_dst_port]
233
-
234
- if opts[:udp_len]
235
- udp_len = opts[:udp_len]
236
- else
237
- udp_len = 8
238
- end
239
-
240
- if opts[:udp_sum]
241
- udp_sum = opts[:udp_sum]
242
- else
243
- udp_sum = 0x0000
244
- end
245
-
246
- # HSRP Header
247
- if opts[:hsrp_version]
248
- hsrp_version = opts[:hsrp_version]
249
- else
250
- hsrp_version = 0
251
- end
252
-
253
- if opts[:hsrp_opcode]
254
- hsrp_opcode = opts[:hsrp_opcode]
255
- else
256
- hsrp_opcode = 0
257
- end
258
-
259
- if opts[:hsrp_state]
260
- hsrp_state = opts[:hsrp_state]
261
- else
262
- hsrp_state = 0
263
- end
264
-
265
- if opts[:hsrp_hellotime]
266
- hsrp_state = opts[:hsrp_hellotime]
267
- else
268
- hsrp_state = 3
269
- end
270
-
271
- if opts[:hsrp_holdtime]
272
- hsrp_holdtime = opts[:hsrp_holdtime]
273
- else
274
- hsrp_holdtime = 10
275
- end
276
-
277
- if opts[:hsrp_priority]
278
- hsrp_priority = opts[:hsrp_priority]
279
- else
280
- hsrp_priority = 0
281
- end
282
-
283
- if opts[:hsrp_group]
284
- hsrp_group = opts[:hsrp_group]
285
- else
286
- hsrp_group = 0
287
- end
288
-
289
- if opts[:hsrp_reserved]
290
- hsrp_reserved = opts[:hsrp_reserved]
291
- else
292
- hsrp_reserved = 0
293
- end
294
-
295
- if opts[:hsrp_password]
296
- hsrp_password = opts[:hsrp_password]
297
- else
298
- hsrp_password = "cicso\x00\x00\x00"
299
- end
300
-
301
- if opts[:hsrp_addr]
302
- hsrp_addr = opts[:hsrp_addr]
303
- else
304
- hsrp_addr = '0.0.0.0'
305
- end
306
-
307
- # Payload
308
- payload = opts[:payload]
309
-
310
- pkt = PacketFu::HSRPPacket.new(config: PacketFu::Utils.whoami?)
311
- # Ethernet Header
312
- pkt.eth_saddr = eth_src unless eth_src.nil?
313
- pkt.eth_daddr = eth_dst unless eth_dst.nil?
314
- pkt.eth_proto = eth_proto
315
- # IP Header
316
- pkt.ip_v = ip_v
317
- pkt.ip_hl = ip_hl
318
- pkt.ip_tos = ip_tos
319
- pkt.ip_len = ip_len
320
- pkt.ip_id = ip_id
321
- pkt.ip_frag = ip_frag
322
- pkt.ip_ttl = ip_ttl
323
- pkt.ip_proto = ip_proto
324
- pkt.ip_sum = ip_sum
325
- pkt.ip_saddr = ip_saddr
326
- pkt.ip_daddr = ip_daddr
327
- # UDP Header
328
- pkt.udp_src = udp_src_port if udp_src_port
329
- pkt.udp_dst = udp_dst_port if udp_dst_port
330
- pkt.udp_len = udp_len
331
- pkt.udp_sum = udp_sum
332
- # HSRP Header
333
- pkt.hsrp_version = hsrp_version
334
- pkt.hsrp_opcode = hsrp_opcode
335
- pkt.hsrp_state = hsrp_state
336
- pkt.hsrp_hellotime = hsrp_hellotime
337
- pkt.hsrp_holdtime = hsrp_holdtime
338
- pkt.hsrp_priority = hsrp_priority
339
- pkt.hsrp_group = hsrp_group
340
- pkt.hsrp_reserved = hsrp_reserved
341
- pkt.hsrp_password = hsrp_password
342
- pkt.hsrp_addr = hsrp_addr
343
- # Payload
344
- pkt.payload = payload if payload
345
-
346
- pkt
347
- rescue StandardError => e
348
- raise e
349
- end
350
-
351
- # Supported Method Parameters::
352
- # pkt = PWN::Plugins::Packet.construct_icmp(
353
- # ip_saddr: 'required - source ip of packet',
354
- # ip_daddr: 'required - destination ip to send packet',
355
- # payload: 'optional - packet payload defaults to "*ping*"',
356
- # ip_id: 'optional - defaults to 0xfeed',
357
- # iface: 'optional - interface to send packet (defaults to eth0)',
358
- # )
359
-
360
- public_class_method def self.construct_icmp(opts = {})
361
- # Ethernet Header
362
- eth_src = opts[:eth_src]
363
- eth_dst = opts[:eth_dst]
364
-
365
- if opts[:eth_proto]
366
- eth_proto = opts[:eth_proto]
367
- else
368
- eth_proto = 0x0800 # IPv4
369
- end
370
-
371
- # IP Header
372
- if opts[:ip_v]
373
- ip_v = opts[:ip_v]
374
- else
375
- ip_v = 4
376
- end
377
-
378
- if opts[:ip_hl]
379
- ip_hl = opts[:ip_hl]
380
- else
381
- ip_hl = 5
382
- end
383
-
384
- if opts[:ip_tos]
385
- ip_tos = opts[:ip_tos]
386
- else
387
- ip_tos = 0
388
- end
389
-
390
- if opts[:ip_len]
391
- ip_len = opts[:ip_len]
392
- else
393
- ip_len = 20
394
- end
395
-
396
- if opts[:ip_id]
397
- ip_id = opts[:ip_id]
398
- else
399
- ip_id = 0xfeed
400
- end
401
-
402
- if opts[:ip_frag]
403
- ip_frag = opts[:ip_frag]
404
- else
405
- ip_frag = 0
406
- end
407
-
408
- if opts[:ip_ttl]
409
- ip_ttl = opts[:ip_ttl]
410
- else
411
- ip_ttl = 32
412
- end
413
-
414
- if opts[:ip_proto]
415
- ip_proto = opts[:ip_proto]
416
- else
417
- ip_proto = 1 # ICMP
418
- end
419
-
420
- if opts[:ip_sum]
421
- ip_sum = opts[:ip_sum]
422
- else
423
- ip_sum = 0xffff
424
- end
425
-
426
- ip_saddr = opts[:ip_saddr]
427
- ip_daddr = opts[:ip_daddr]
428
-
429
- # ICMP Header
430
- if opts[:icmp_type]
431
- icmp_type = opts[:icmp_type]
432
- else
433
- icmp_type = 8
434
- end
435
-
436
- if opts[:icmp_code]
437
- icmp_code = opts[:icmp_code]
438
- else
439
- icmp_code = 0
440
- end
441
-
442
- if opts[:icmp_sum]
443
- icmp_sum = opts[:icmp_sum]
444
- else
445
- icmp_sum = 0xffff
446
- end
447
-
448
- # Payload
449
- opts[:payload] ? payload = opts[:payload] : payload = '*ping*'
450
-
451
- pkt = PacketFu::ICMPPacket.new(config: PacketFu::Utils.whoami?)
452
- # Ethernet Header
453
- pkt.eth_saddr = eth_src unless eth_src.nil?
454
- pkt.eth_daddr = eth_dst unless eth_dst.nil?
455
- pkt.eth_proto = eth_proto
456
- # IP Header
457
- pkt.ip_v = ip_v
458
- pkt.ip_hl = ip_hl
459
- pkt.ip_tos = ip_tos
460
- pkt.ip_len = ip_len
461
- pkt.ip_id = ip_id
462
- pkt.ip_frag = ip_frag
463
- pkt.ip_ttl = ip_ttl
464
- pkt.ip_proto = ip_proto
465
- pkt.ip_sum = ip_sum
466
- pkt.ip_saddr = ip_saddr
467
- pkt.ip_daddr = ip_daddr
468
- # ICMP Header
469
- pkt.icmp_type = icmp_type
470
- pkt.icmp_code = icmp_code
471
- pkt.icmp_sum = icmp_sum
472
- # Payload
473
- pkt.payload = payload if payload
474
-
475
- pkt
476
- rescue StandardError => e
477
- raise e
478
- end
479
-
480
- # Supported Method Parameters::
481
- # pkt = PWN::Plugins::Packet.construct_icmpv6(
482
- # ip_saddr: 'required - source ip of packet',
483
- # ip_daddr: 'required - destination ip to send packet',
484
- # payload: 'optional - packet payload defaults to empty string',
485
- # ip_id: 'optional - defaults to 0xfeed',
486
- # iface: 'optional - interface to send packet (defaults to eth0)',
487
- # )
488
-
489
- public_class_method def self.construct_icmpv6(opts = {})
490
- # Ethernet Header
491
- eth_src = opts[:eth_src]
492
- eth_dst = opts[:eth_dst]
493
-
494
- if opts[:eth_proto]
495
- eth_proto = opts[:eth_proto]
496
- else
497
- eth_proto = 0x86dd # IPv6
498
- end
499
-
500
- # IPv6 Header
501
- if opts[:ipv6_v]
502
- ipv6_v = opts[:ipv6_v]
503
- else
504
- ipv6_v = 6
505
- end
506
-
507
- if opts[:ipv6_class]
508
- ipv6_class = opts[:ipv6_class]
509
- else
510
- ipv6_class = 0
511
- end
512
-
513
- if opts[:ipv6_label]
514
- ipv6_label = opts[:ipv6_label]
515
- else
516
- ipv6_label = 0
517
- end
518
-
519
- if opts[:ipv6_len]
520
- ipv6_len = opts[:ipv6_len]
521
- else
522
- ipv6_len = 0
523
- end
524
-
525
- if opts[:ipv6_next]
526
- ipv6_next = opts[:ipv6_next]
527
- else
528
- ipv6_next = 58
529
- end
530
-
531
- if opts[:ipv6_hop]
532
- ipv6_hop = opts[:ipv6_hop]
533
- else
534
- ipv6_hop = 255
535
- end
536
-
537
- ipv6_saddr = opts[:ipv6_saddr]
538
- ipv6_daddr = opts[:ipv6_daddr]
539
-
540
- # ICMPv6 Header
541
- if opts[:icmpv6_type]
542
- icmpv6_type = opts[:icmpv6_type]
543
- else
544
- icmp_type = 8
545
- end
546
-
547
- if opts[:icmpv6_code]
548
- icmpv6_code = opts[:icmpv6_code]
549
- else
550
- icmpv6_code = 0
551
- end
552
-
553
- if opts[:icmpv6_sum]
554
- icmp_sum = opts[:icmpv6_sum]
555
- else
556
- icmpv6_sum = 0x0000
557
- end
558
-
559
- # Payload
560
- payload = opts[:payload]
561
-
562
- pkt = PacketFu::IPv6Packet.new(config: PacketFu::Utils.whoami?)
563
- # Ethernet Header
564
- pkt.eth_saddr = eth_src unless eth_src.nil?
565
- pkt.eth_daddr = eth_dst unless eth_dst.nil?
566
- pkt.eth_proto = eth_proto
567
- # IPv6 Header
568
- pkt.ipv6_v = ipv6_v
569
- pkt.ipv6_hl = ipv6_hl
570
- pkt.ipv6_tos = ipv6_tos
571
- pkt.ipv6_len = ipv6_len
572
- pkt.ipv6_id = ipv6_id
573
- pkt.ipv6_frag = ipv6_frag
574
- pkt.ipv6_saddr = ipv6_saddr
575
- pkt.ipv6_daddr = ipv6_daddr
576
- # ICMPv6 Header
577
- pkt.icmpv6_type = icmpv6_type
578
- pkt.icmpv6_code = icmpv6_code
579
- pkt.icmpv6_sum = icmpv6_sum
580
- # Payload
581
- pkt.payload = payload if payload
582
-
583
- pkt
584
- rescue StandardError => e
585
- raise e
586
- end
587
-
588
- # Supported Method Parameters::
589
- # pkt = PWN::Plugins::Packet.construct_ip(
590
- # ip_saddr: 'required - source ip of packet',
591
- # ip_daddr: 'required - destination ip to send packet',
592
- # payload: 'optional - packet payload defaults to empty string',
593
- # ip_id: 'optional - defaults to 0xfeed',
594
- # iface: 'optional - interface to send packet (defaults to eth0)',
595
- # )
596
-
597
- public_class_method def self.construct_ip(opts = {})
598
- # Ethernet Header
599
- eth_src = opts[:eth_src]
600
- eth_dst = opts[:eth_dst]
601
-
602
- if opts[:eth_proto]
603
- eth_proto = opts[:eth_proto]
604
- else
605
- eth_proto = 0x0800 # IPv4
606
- end
607
-
608
- # IP Header
609
- if opts[:ip_v]
610
- ip_v = opts[:ip_v]
611
- else
612
- ip_v = 4
613
- end
614
-
615
- if opts[:ip_hl]
616
- ip_hl = opts[:ip_hl]
617
- else
618
- ip_hl = 5
619
- end
620
-
621
- if opts[:ip_tos]
622
- ip_tos = opts[:ip_tos]
623
- else
624
- ip_tos = 0
625
- end
626
-
627
- if opts[:ip_len]
628
- ip_len = opts[:ip_len]
629
- else
630
- ip_len = 20
631
- end
632
-
633
- if opts[:ip_id]
634
- ip_id = opts[:ip_id]
635
- else
636
- ip_id = 0xfeed
637
- end
638
-
639
- if opts[:ip_frag]
640
- ip_frag = opts[:ip_frag]
641
- else
642
- ip_frag = 0
643
- end
644
-
645
- if opts[:ip_ttl]
646
- ip_ttl = opts[:ip_ttl]
647
- else
648
- ip_ttl = 32
649
- end
650
-
651
- if opts[:ip_proto]
652
- ip_proto = opts[:ip_proto]
653
- else
654
- ip_proto = -1
655
- end
656
-
657
- if opts[:ip_sum]
658
- ip_sum = opts[:ip_sum]
659
- else
660
- ip_sum = 0xffff
661
- end
662
-
663
- ip_saddr = opts[:ip_saddr]
664
- ip_daddr = opts[:ip_daddr]
665
-
666
- # Payload
667
- payload = opts[:payload]
668
-
669
- pkt = PacketFu::IPPacket.new(config: PacketFu::Utils.whoami?)
670
- # Ethernet Header
671
- pkt.eth_saddr = eth_src unless eth_src.nil?
672
- pkt.eth_daddr = eth_dst unless eth_dst.nil?
673
- pkt.eth_proto = eth_proto
674
- # IP Header
675
- pkt.ip_v = ip_v
676
- pkt.ip_hl = ip_hl
677
- pkt.ip_tos = ip_tos
678
- pkt.ip_len = ip_len
679
- pkt.ip_id = ip_id
680
- pkt.ip_frag = ip_frag
681
- pkt.ip_ttl = ip_ttl
682
- pkt.ip_proto = ip_proto
683
- pkt.ip_sum = ip_sum
684
- pkt.ip_saddr = ip_saddr
685
- pkt.ip_daddr = ip_daddr
686
- # Payload
687
- pkt.payload = payload if payload
688
-
689
- pkt
690
- rescue StandardError => e
691
- raise e
692
- end
693
-
694
- # Supported Method Parameters::
695
- # pkt = PWN::Plugins::Packet.construct_ipv6(
696
- # ip_saddr: 'required - source ip of packet',
697
- # ip_daddr: 'required - destination ip to send packet',
698
- # payload: 'optional - packet payload defaults to empty string',
699
- # ip_id: 'optional - defaults to 0xfeed',
700
- # iface: 'optional - interface to send packet (defaults to eth0)',
701
- # )
702
-
703
- public_class_method def self.construct_ipv6(opts = {})
704
- # Ethernet Header
705
- eth_src = opts[:eth_src]
706
- eth_dst = opts[:eth_dst]
707
-
708
- if opts[:eth_proto]
709
- eth_proto = opts[:eth_proto]
710
- else
711
- eth_proto = 0x86dd # IPv6
712
- end
713
-
714
- # IPv6 Header
715
- if opts[:ipv6_v]
716
- ipv6_v = opts[:ipv6_v]
717
- else
718
- ipv6_v = 6
719
- end
720
-
721
- if opts[:ipv6_class]
722
- ipv6_class = opts[:ipv6_class]
723
- else
724
- ipv6_class = 0
725
- end
726
-
727
- if opts[:ipv6_label]
728
- ipv6_label = opts[:ipv6_label]
729
- else
730
- ipv6_label = 0
731
- end
732
-
733
- if opts[:ipv6_len]
734
- ipv6_len = opts[:ipv6_len]
735
- else
736
- ipv6_len = 0
737
- end
738
-
739
- if opts[:ipv6_next]
740
- ipv6_next = opts[:ipv6_next]
741
- else
742
- ipv6_next = 0
743
- end
744
-
745
- if opts[:ipv6_hop]
746
- ipv6_hop = opts[:ipv6_hop]
747
- else
748
- ipv6_hop = 255
749
- end
750
-
751
- ipv6_saddr = opts[:ipv6_saddr]
752
- ipv6_daddr = opts[:ipv6_daddr]
753
-
754
- # Payload
755
- payload = opts[:payload]
756
-
757
- pkt = PacketFu::IPv6Packet.new(config: PacketFu::Utils.whoami?)
758
- # Ethernet Header
759
- pkt.eth_saddr = eth_src unless eth_src.nil?
760
- pkt.eth_daddr = eth_dst unless eth_dst.nil?
761
- pkt.eth_proto = eth_proto
762
- # IPv6 Header
763
- pkt.ipv6_v = ipv6_v
764
- pkt.ipv6_hl = ipv6_hl
765
- pkt.ipv6_tos = ipv6_tos
766
- pkt.ipv6_len = ipv6_len
767
- pkt.ipv6_id = ipv6_id
768
- pkt.ipv6_frag = ipv6_frag
769
- pkt.ipv6_saddr = ipv6_saddr
770
- pkt.ipv6_daddr = ipv6_daddr
771
- # Payload
772
- pkt.payload = payload if payload
773
-
774
- pkt
775
- rescue StandardError => e
776
- raise e
777
- end
778
-
779
- # Supported Method Parameters::
780
- # pkt = PWN::Plugins::Packet.construct_tcp(
781
- # ip_saddr: 'required - source ip of packet',
782
- # ip_daddr: 'required - destination ip to send packet',
783
- # payload: 'optional - packet payload defaults to empty string',
784
- # ip_id: 'optional - defaults to 0xfeed',
785
- # iface: 'optional - interface to send packet (defaults to eth0)',
786
- # )
787
-
788
- public_class_method def self.construct_tcp(opts = {})
789
- # Ethernet Header
790
- eth_src = opts[:eth_src]
791
- eth_dst = opts[:eth_dst]
792
-
793
- if opts[:eth_proto]
794
- eth_proto = opts[:eth_proto]
795
- else
796
- eth_proto = 0x0800 # IPv4
797
- end
798
-
799
- # IP Header
800
- if opts[:ip_v]
801
- ip_v = opts[:ip_v]
802
- else
803
- ip_v = 4
804
- end
805
-
806
- if opts[:ip_hl]
807
- ip_hl = opts[:ip_hl]
808
- else
809
- ip_hl = 5
810
- end
811
-
812
- if opts[:ip_tos]
813
- ip_tos = opts[:ip_tos]
814
- else
815
- ip_tos = 0
816
- end
817
-
818
- if opts[:ip_len]
819
- ip_len = opts[:ip_len]
820
- else
821
- ip_len = 20
822
- end
823
-
824
- if opts[:ip_id]
825
- ip_id = opts[:ip_id]
826
- else
827
- ip_id = 0xfeed
828
- end
829
-
830
- if opts[:ip_frag]
831
- ip_frag = opts[:ip_frag]
832
- else
833
- ip_frag = 0
834
- end
835
-
836
- if opts[:ip_ttl]
837
- ip_ttl = opts[:ip_ttl]
838
- else
839
- ip_ttl = 32
840
- end
841
-
842
- if opts[:ip_proto]
843
- ip_proto = opts[:ip_proto]
844
- else
845
- ip_proto = 6 # TCP
846
- end
847
-
848
- if opts[:ip_sum]
849
- ip_sum = opts[:ip_sum]
850
- else
851
- ip_sum = 0xffff
852
- end
853
-
854
- ip_saddr = opts[:ip_saddr]
855
- ip_daddr = opts[:ip_daddr]
856
-
857
- # TCP Header
858
- tcp_src_port = opts[:tcp_src_port]
859
- tcp_dst_port = opts[:tcp_dst_port]
860
-
861
- if opts[:tcp_seq]
862
- tcp_seq = opts[:tcp_seq]
863
- else
864
- tcp_seq = 0x5fcea416
865
- end
866
-
867
- if opts[:tcp_ack]
868
- tcp_ack = opts[:tcp_ack]
869
- else
870
- tcp_ack = 0x00000000
871
- end
872
-
873
- if opts[:tcp_hlen]
874
- tcp_hlen = opts[:tcp_hlen]
875
- else
876
- tcp_hlen = 5
877
- end
878
-
879
- if opts[:tcp_reserved]
880
- tcp_reserved = opts[:tcp_reserved]
881
- else
882
- tcp_reserved = 0
883
- end
884
-
885
- if opts[:tcp_ecn]
886
- tcp_ecn = opts[:tcp_ecn]
887
- else
888
- tcp_ecn = 0
889
- end
890
-
891
- tcp_flags = opts[:tcp_flags]
892
-
893
- if opts[:tcp_win]
894
- tcp_win = opts[:tcp_win]
895
- else
896
- tcp_win = 16_384
897
- end
898
-
899
- if opts[:tcp_sum]
900
- tcp_sum = opts[:tcp_sum]
901
- else
902
- tcp_sum = 0x1ab2
903
- end
904
-
905
- if opts[:tcp_urg]
906
- tcp_urg = opts[:tcp_urg]
907
- else
908
- tcp_urg = 0
909
- end
910
-
911
- tcp_opts = opts[:tcp_opts]
912
-
913
- # Payload
914
- payload = opts[:payload]
915
-
916
- pkt = PacketFu::TCPPacket.new(config: PacketFu::Utils.whoami?)
917
- # Ethernet Header
918
- pkt.eth_saddr = eth_src unless eth_src.nil?
919
- pkt.eth_daddr = eth_dst unless eth_dst.nil?
920
- pkt.eth_proto = eth_proto
921
- # IP Header
922
- pkt.ip_v = ip_v
923
- pkt.ip_hl = ip_hl
924
- pkt.ip_tos = ip_tos
925
- pkt.ip_len = ip_len
926
- pkt.ip_id = ip_id
927
- pkt.ip_frag = ip_frag
928
- pkt.ip_ttl = ip_ttl
929
- pkt.ip_proto = ip_proto
930
- pkt.ip_sum = ip_sum
931
- pkt.ip_saddr = ip_saddr
932
- pkt.ip_daddr = ip_daddr
933
- # TCP Header
934
- pkt.tcp_src = tcp_src_port if tcp_src_port
935
- pkt.tcp_dst = tcp_dst_port if tcp_dst_port
936
- pkt.tcp_seq = tcp_seq
937
- pkt.tcp_ack = tcp_ack
938
- pkt.tcp_hlen = tcp_hlen
939
- pkt.tcp_reserved = tcp_reserved
940
- pkt.tcp_ecn = tcp_ecn
941
- pkt.tcp_flags = PacketFu::TcpFlags.new
942
- pkt.tcp_win = tcp_win
943
- pkt.tcp_sum = tcp_sum
944
- pkt.tcp_urg = tcp_urg
945
- pkt.tcp_opts = PacketFu::TcpOptions.new
946
- # Payload
947
- pkt.payload = payload if payload
948
-
949
- pkt
950
- rescue StandardError => e
951
- raise e
952
- end
953
-
954
- # Supported Method Parameters::
955
- # pkt = PWN::Plugins::Packet.construct_udp(
956
- # ip_saddr: 'required - source ip of packet',
957
- # ip_daddr: 'required - destination ip to send packet',
958
- # payload: 'optional - packet payload defaults to empty string',
959
- # ip_id: 'optional - defaults to 0xfeed',
960
- # iface: 'optional - interface to send packet (defaults to eth0)',
961
- # )
962
-
963
- public_class_method def self.construct_udp(opts = {})
964
- # Ethernet Header
965
- eth_src = opts[:eth_src]
966
- eth_dst = opts[:eth_dst]
967
-
968
- if opts[:eth_proto]
969
- eth_proto = opts[:eth_proto]
970
- else
971
- eth_proto = 0x0800 # IPv4
972
- end
973
-
974
- # IP Header
975
- if opts[:ip_v]
976
- ip_v = opts[:ip_v]
977
- else
978
- ip_v = 4
979
- end
980
-
981
- if opts[:ip_hl]
982
- ip_hl = opts[:ip_hl]
983
- else
984
- ip_hl = 5
985
- end
986
-
987
- if opts[:ip_tos]
988
- ip_tos = opts[:ip_tos]
989
- else
990
- ip_tos = 0
991
- end
992
-
993
- if opts[:ip_len]
994
- ip_len = opts[:ip_len]
995
- else
996
- ip_len = 20
997
- end
998
-
999
- if opts[:ip_id]
1000
- ip_id = opts[:ip_id]
1001
- else
1002
- ip_id = 0xfeed
1003
- end
1004
-
1005
- if opts[:ip_frag]
1006
- ip_frag = opts[:ip_frag]
1007
- else
1008
- ip_frag = 0
1009
- end
1010
-
1011
- if opts[:ip_ttl]
1012
- ip_ttl = opts[:ip_ttl]
1013
- else
1014
- ip_ttl = 32
1015
- end
1016
-
1017
- if opts[:ip_proto]
1018
- ip_proto = opts[:ip_proto]
1019
- else
1020
- ip_proto = 17 # UDP
1021
- end
1022
-
1023
- if opts[:ip_sum]
1024
- ip_sum = opts[:ip_sum]
1025
- else
1026
- ip_sum = 0xffff
1027
- end
1028
-
1029
- ip_saddr = opts[:ip_saddr]
1030
- ip_daddr = opts[:ip_daddr]
1031
-
1032
- # UDP Header
1033
- udp_src_port = opts[:udp_src_port]
1034
- udp_dst_port = opts[:udp_dst_port]
1035
-
1036
- if opts[:udp_len]
1037
- udp_len = opts[:udp_len]
1038
- else
1039
- udp_len = 8
1040
- end
1041
-
1042
- if opts[:udp_sum]
1043
- udp_sum = opts[:udp_sum]
1044
- else
1045
- udp_sum = 0xffde
1046
- end
1047
-
1048
- # Payload
1049
- payload = opts[:payload]
1050
-
1051
- pkt = PacketFu::UDPPacket.new(config: PacketFu::Utils.whoami?)
1052
- # Ethernet Header
1053
- pkt.eth_saddr = eth_src unless eth_src.nil?
1054
- pkt.eth_daddr = eth_dst unless eth_dst.nil?
1055
- pkt.eth_proto = eth_proto
1056
- # IP Header
1057
- pkt.ip_v = ip_v
1058
- pkt.ip_hl = ip_hl
1059
- pkt.ip_tos = ip_tos
1060
- pkt.ip_len = ip_len
1061
- pkt.ip_id = ip_id
1062
- pkt.ip_frag = ip_frag
1063
- pkt.ip_ttl = ip_ttl
1064
- pkt.ip_proto = ip_proto
1065
- pkt.ip_sum = ip_sum
1066
- pkt.ip_saddr = ip_saddr
1067
- pkt.ip_daddr = ip_daddr
1068
- # UDP Header
1069
- pkt.udp_src = udp_src_port if udp_src_port
1070
- pkt.udp_dst = udp_dst_port if udp_dst_port
1071
- pkt.udp_len = udp_len
1072
- pkt.udp_sum = udp_sum
1073
- # Payload
1074
- pkt.payload = payload if payload
1075
-
1076
- pkt
1077
- rescue StandardError => e
1078
- raise e
1079
- end
1080
-
1081
- # Supported Method Parameters::
1082
- # PWN::Plugins::Packet.send(
1083
- # pkt: 'required - pkt returned from other #construct_<type> methods',
1084
- # iface: 'optional - interface to send packet (defaults to eth0)',
1085
- # )
1086
-
1087
- public_class_method def self.send(opts = {})
1088
- pkt = opts[:pkt]
1089
-
1090
- if opts[:iface]
1091
- iface = opts[:iface].to_s.scrub.strip.chomp
1092
- else
1093
- iface = 'eth0'
1094
- end
1095
-
1096
- if pkt.instance_of?(PacketFu::TCPPacket)
1097
- this_ip = Socket.ip_address_list.detect(&:ipv4_private?).ip_address
1098
-
1099
- # If we're not passing a RST packet, prevent kernel from sending its own
1100
- if this_ip == pkt.ip_saddr && pkt.tcp_flags.rst.zero?
1101
- # We have to prevent the kernel space from sending a RST
1102
- # because it won't have a socket open on the respective
1103
- # port number before we have a chance to do anything.
1104
- # In other words, the kernel will receive a SYN-ACK first,
1105
- # know it didn't send a SYN & send a RST as a result.
1106
-
1107
- my_os = PWN::Plugins::DetectOS.type
1108
- case my_os
1109
- when :linux
1110
- system_resp = system(
1111
- 'sudo',
1112
- 'iptables',
1113
- '-C',
1114
- 'OUTPUT',
1115
- '--protocol',
1116
- 'tcp',
1117
- '--source',
1118
- pkt.ip_saddr,
1119
- '--destination',
1120
- pkt.ip_daddr,
1121
- '--destination-port',
1122
- pkt.tcp_dst.to_s,
1123
- '--tcp-flags',
1124
- 'RST',
1125
- 'RST',
1126
- '-j',
1127
- 'DROP',
1128
- out: File::NULL,
1129
- err: File::NULL
1130
- )
1131
-
1132
- unless system_resp
1133
- puts 'Preventing kernel from misbehaving when manipulating packets.'
1134
- system(
1135
- 'sudo',
1136
- 'iptables',
1137
- '-A',
1138
- 'OUTPUT',
1139
- '--protocol',
1140
- 'tcp',
1141
- '--source',
1142
- pkt.ip_saddr,
1143
- '--destination',
1144
- pkt.ip_daddr,
1145
- '--destination-port',
1146
- pkt.tcp_dst.to_s,
1147
- '--tcp-flags',
1148
- 'RST',
1149
- 'RST',
1150
- '-j',
1151
- 'DROP'
1152
- )
1153
- end
1154
-
1155
- pkt.recalc
1156
- pkt.to_w(iface)
1157
-
1158
- system(
1159
- 'sudo',
1160
- 'iptables',
1161
- '-D',
1162
- 'OUTPUT',
1163
- '--protocol',
1164
- 'tcp',
1165
- '--source',
1166
- pkt.ip_saddr,
1167
- '--destination',
1168
- pkt.ip_daddr,
1169
- '--destination-port',
1170
- pkt.tcp_dst.to_s,
1171
- '--tcp-flags',
1172
- 'RST',
1173
- 'RST',
1174
- '-j',
1175
- 'DROP'
1176
- )
1177
- # when :osx
1178
- # ipfilter = 'pfctl'
1179
- # ipfilter_rule = "block out proto tcp from #{pkt.ip_saddr} to #{pkt.ip_daddr} port #{pkt.tcp_dst} flags R"
1180
- # system(ipfilter, "pfctl_add_flag #{ipfilter_rule}")
1181
- # pkt.recalc
1182
- # pkt.to_w(iface)
1183
- # system(ipfilter, "pfctl_del_flag #{ipfilter_rule}")
1184
- else
1185
- raise "ERROR: #{self} Does not Support #{my_os}"
1186
- end
1187
- end
1188
- else
1189
- pkt.recalc
1190
- pkt.to_w(iface)
1191
- end
1192
- rescue StandardError => e
1193
- raise e
1194
- end
1195
-
1196
- # Author(s):: 0day Inc. <support@0dayinc.com>
1197
-
1198
- public_class_method def self.authors
1199
- "AUTHOR(S):
1200
- 0day Inc. <support@0dayinc.com>
1201
- "
1202
- end
1203
-
1204
- # Display Usage for this Module
1205
-
1206
- public_class_method def self.help
1207
- puts "USAGE:
1208
- pcap = #{self}.open_pcap_file(
1209
- path: 'required - path to packet capture file'
1210
- )
1211
- pcap[0].public_methods
1212
- pcap.each do |p|
1213
- print \"IP ID: \#{p.ip_id_readable} \"
1214
- print \"IP Sum: \#{p.ip_sum_readable} \"
1215
- print \"SRC IP: \#{p.ip_src_readable} \"
1216
- print \"SRC MAC: (\#{p.eth_src_readable}) \"
1217
- print \"TCP SRC PORT: \#{p.tcp_sport} => \"
1218
- print \"DST IP: \#{p.ip_dst_readable} \"
1219
- print \"DST MAC: (\#{p.eth_dst_readable}) \"
1220
- print \"TCP DST PORT: \#{p.tcp_dport} \"
1221
- print \"ETH PROTO: \#{p.eth_proto_readable} \"
1222
- print \"TCP FLAGS: \#{p.tcp_flags_readable} \"
1223
- print \"TCP ACK: \#{p.tcp_ack_readable} \"
1224
- print \"TCP SEQ: \#{p.tcp_seq_readable} \"
1225
- print \"TCP SUM: \#{p.tcp_sum_readable} \"
1226
- print \"TCP OPTS: \#{p.tcp_opts_readable} \"
1227
- puts \"BODY: \#{p.hexify(p.payload)}\"
1228
- puts \"\\n\\n\\n\"
1229
- end
1230
-
1231
- pkt = #{self}.construct_arp(
1232
- ip_saddr: 'required - source ip of packet',
1233
- ip_daddr: 'required - destination ip to send packet',
1234
- payload: 'optional - packet payload defaults to empty string',
1235
- ip_id: 'optional - defaults to 0xfeed',
1236
- iface: 'optional - interface to send packet (defaults to eth0)',
1237
- )
1238
-
1239
- pkt = #{self}.construct_eth(
1240
- ip_saddr: 'required - source ip of packet',
1241
- ip_daddr: 'required - destination ip to send packet',
1242
- payload: 'optional - packet payload defaults to empty string',
1243
- ip_id: 'optional - defaults to 0xfeed',
1244
- iface: 'optional - interface to send packet (defaults to eth0)',
1245
- )
1246
-
1247
- pkt = #{self}.construct_hsrp(
1248
- ip_saddr: 'required - source ip of packet',
1249
- ip_daddr: 'required - destination ip to send packet',
1250
- payload: 'optional - packet payload defaults to empty string',
1251
- ip_id: 'optional - defaults to 0xfeed',
1252
- iface: 'optional - interface to send packet (defaults to eth0)',
1253
- )
1254
-
1255
- pkt = #{self}.construct_icmp(
1256
- ip_saddr: 'required - source ip of packet',
1257
- ip_daddr: 'required - destination ip to send packet',
1258
- payload: 'optional - packet payload defaults to \"*ping*\"',
1259
- ip_id: 'optional - defaults to 0xfeed',
1260
- iface: 'optional - interface to send packet (defaults to eth0)',
1261
- )
1262
-
1263
- pkt = #{self}.construct_icmpv6(
1264
- ip_saddr: 'required - source ip of packet',
1265
- ip_daddr: 'required - destination ip to send packet',
1266
- payload: 'optional - packet payload defaults to empty string',
1267
- ip_id: 'optional - defaults to 0xfeed',
1268
- iface: 'optional - interface to send packet (defaults to eth0)',
1269
- )
1270
-
1271
- pkt = #{self}.construct_ip(
1272
- ip_saddr: 'required - source ip of packet',
1273
- ip_daddr: 'required - destination ip to send packet',
1274
- payload: 'optional - packet payload defaults to empty string',
1275
- ip_id: 'optional - defaults to 0xfeed',
1276
- iface: 'optional - interface to send packet (defaults to eth0)',
1277
- )
1278
-
1279
- pkt = #{self}.construct_ipv6(
1280
- ip_saddr: 'required - source ip of packet',
1281
- ip_daddr: 'required - destination ip to send packet',
1282
- payload: 'optional - packet payload defaults to empty string',
1283
- ip_id: 'optional - defaults to 0xfeed',
1284
- iface: 'optional - interface to send packet (defaults to eth0)',
1285
- )
1286
-
1287
- pkt = #{self}.construct_tcp(
1288
- ip_saddr: 'required - source ip of packet',
1289
- ip_daddr: 'required - destination ip to send packet',
1290
- payload: 'optional - packet payload defaults to empty string',
1291
- ip_id: 'optional - defaults to 0xfeed',
1292
- iface: 'optional - interface to send packet (defaults to eth0)',
1293
- )
1294
-
1295
- pkt = #{self}.construct_udp(
1296
- ip_saddr: 'required - source ip of packet',
1297
- ip_daddr: 'required - destination ip to send packet',
1298
- payload: 'optional - packet payload defaults to empty string',
1299
- ip_id: 'optional - defaults to 0xfeed',
1300
- iface: 'optional - interface to send packet (defaults to eth0)',
1301
- )
1302
-
1303
- #{self}.send(
1304
- pkt: 'required - pkt returned from other #construct_<type> methods',
1305
- iface: 'optional - interface to send packet (defaults to eth0)',
1306
- )
1307
-
1308
- #{self}.authors
1309
- "
1310
- end
1311
- end
1312
- end
1313
- end