intrigue-ident 0.2 → 0.9.9

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 (484) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +21 -0
  3. data/.gitignore +3 -0
  4. data/.ruby-version +1 -0
  5. data/Dockerfile +39 -0
  6. data/Gemfile +10 -3
  7. data/Gemfile.lock +35 -20
  8. data/LICENSE.md +12 -0
  9. data/README.md +79 -0
  10. data/checks/ftp/base.rb +15 -0
  11. data/checks/ftp/filezilla.rb +28 -0
  12. data/checks/ftp/microsoft.rb +27 -0
  13. data/checks/ftp/proftp.rb +28 -0
  14. data/checks/ftp/pureftpd.rb +27 -0
  15. data/checks/ftp/vsftp.rb +28 -0
  16. data/checks/http/123reg.rb +31 -0
  17. data/checks/http/acme.rb +28 -0
  18. data/checks/http/acquia.rb +28 -0
  19. data/checks/http/adeptia.rb +30 -0
  20. data/checks/http/adobe.rb +168 -0
  21. data/checks/http/advantshop.rb +33 -0
  22. data/checks/http/afrihost.rb +29 -0
  23. data/checks/http/aftermarketpl.rb +46 -0
  24. data/checks/http/agility.rb +34 -0
  25. data/checks/http/akamai.rb +88 -0
  26. data/checks/http/alkacon.rb +30 -0
  27. data/checks/http/allegro.rb +28 -0
  28. data/checks/http/almuba.rb +30 -0
  29. data/checks/http/amazon.rb +263 -0
  30. data/checks/http/amirocms.rb +30 -0
  31. data/checks/http/anelectron.rb +29 -0
  32. data/checks/http/anquanbao.rb +32 -0
  33. data/checks/http/aol.rb +29 -0
  34. data/checks/http/apache.rb +358 -0
  35. data/checks/http/appdynamics.rb +43 -0
  36. data/checks/http/arris.rb +30 -0
  37. data/checks/http/artifactory.rb +30 -0
  38. data/checks/http/aruba.rb +27 -0
  39. data/checks/http/atlassian.rb +152 -0
  40. data/checks/http/auth0.rb +44 -0
  41. data/checks/http/automattic.rb +292 -0
  42. data/checks/http/axinom.rb +30 -0
  43. data/checks/http/axios.rb +29 -0
  44. data/checks/http/axis.rb +27 -0
  45. data/checks/http/axway.rb +33 -0
  46. data/checks/http/backdrop.rb +30 -0
  47. data/checks/http/banu.rb +30 -0
  48. data/checks/http/barracuda.rb +99 -0
  49. data/checks/http/base.rb +139 -0
  50. data/checks/http/beehive.rb +30 -0
  51. data/checks/http/bigcartel.rb +33 -0
  52. data/checks/http/bigcommerce.rb +33 -0
  53. data/checks/http/binarysec.rb +47 -0
  54. data/checks/http/bitly.rb +40 -0
  55. data/checks/http/blackboard.rb +44 -0
  56. data/checks/http/blueimp.rb +27 -0
  57. data/checks/http/bomgar.rb +27 -0
  58. data/checks/http/bootstrap.rb +27 -0
  59. data/checks/http/bower.rb +28 -0
  60. data/checks/http/broadcom.rb +29 -0
  61. data/checks/http/brocade.rb +39 -0
  62. data/checks/http/browsermedia.rb +29 -0
  63. data/checks/http/bsm.rb +29 -0
  64. data/checks/http/bynder.rb +31 -0
  65. data/checks/http/calibre.rb +33 -0
  66. data/checks/http/centos.rb +28 -0
  67. data/checks/http/cerberus.rb +28 -0
  68. data/checks/http/charity_engine.rb +27 -0
  69. data/checks/http/checkpoint.rb +56 -0
  70. data/checks/http/cherokee.rb +29 -0
  71. data/checks/http/cisco.rb +134 -0
  72. data/checks/http/citrix.rb +137 -0
  73. data/checks/http/cloud_city.rb +30 -0
  74. data/checks/http/cloudflare.rb +219 -0
  75. data/checks/http/cmsimple.rb +30 -0
  76. data/checks/http/codeigniter.rb +26 -0
  77. data/checks/http/communigate.rb +32 -0
  78. data/checks/http/concrete5.rb +30 -0
  79. data/checks/http/contenido.rb +33 -0
  80. data/checks/http/content/analytics.rb +40 -0
  81. data/checks/http/content/authentication.rb +111 -0
  82. data/checks/http/content/content.rb +92 -0
  83. data/checks/http/content/security_headers.rb +70 -0
  84. data/checks/http/cpanel.rb +56 -0
  85. data/checks/http/cradlepoint.rb +30 -0
  86. data/checks/http/craft.rb +42 -0
  87. data/checks/http/crazydomains.rb +31 -0
  88. data/checks/http/crowdstrike.rb +27 -0
  89. data/checks/http/dan.rb +30 -0
  90. data/checks/http/danneo.rb +30 -0
  91. data/checks/http/day.rb +31 -0
  92. data/checks/http/debian.rb +27 -0
  93. data/checks/http/dell.rb +43 -0
  94. data/checks/http/dev_php.rb +30 -0
  95. data/checks/http/discourse.rb +30 -0
  96. data/checks/http/discuz!.rb +30 -0
  97. data/checks/http/distil.rb +27 -0
  98. data/checks/http/django.rb +27 -0
  99. data/checks/http/dmanager.rb +29 -0
  100. data/checks/http/dns_made_easy.rb +29 -0
  101. data/checks/http/docuwiki.rb +27 -0
  102. data/checks/http/docverify.rb +29 -0
  103. data/checks/http/domain_parking_ru.rb +31 -0
  104. data/checks/http/domainname_shop.rb +30 -0
  105. data/checks/http/dosarrest.rb +29 -0
  106. data/checks/http/dreamhost.rb +31 -0
  107. data/checks/http/drupal.rb +91 -0
  108. data/checks/http/duo.rb +45 -0
  109. data/checks/http/dyn.rb +41 -0
  110. data/checks/http/dynamicweb.rb +29 -0
  111. data/checks/http/dynatrace.rb +40 -0
  112. data/checks/http/easyname.rb +44 -0
  113. data/checks/http/eclipse.rb +64 -0
  114. data/checks/http/enservio.rb +29 -0
  115. data/checks/http/envoy.rb +26 -0
  116. data/checks/http/epiccom.rb +31 -0
  117. data/checks/http/ergon.rb +31 -0
  118. data/checks/http/expressjs.rb +27 -0
  119. data/checks/http/ezproxy.rb +28 -0
  120. data/checks/http/f5.rb +122 -0
  121. data/checks/http/facebook.rb +27 -0
  122. data/checks/http/fastly.rb +67 -0
  123. data/checks/http/first_domains.rb +31 -0
  124. data/checks/http/flywheel.rb +30 -0
  125. data/checks/http/forgerock.rb +43 -0
  126. data/checks/http/fortinet.rb +29 -0
  127. data/checks/http/fresh_service.rb +30 -0
  128. data/checks/http/frontify.rb +29 -0
  129. data/checks/http/generic.rb +272 -0
  130. data/checks/http/github.rb +40 -0
  131. data/checks/http/gitlab.rb +30 -0
  132. data/checks/http/glimpse.rb +32 -0
  133. data/checks/http/globalscape.rb +27 -0
  134. data/checks/http/goahead.rb +31 -0
  135. data/checks/http/godaddy.rb +31 -0
  136. data/checks/http/google.rb +164 -0
  137. data/checks/http/google_cloud.rb +27 -0
  138. data/checks/http/grafana.rb +27 -0
  139. data/checks/http/gunicorn.rb +30 -0
  140. data/checks/http/haskell.rb +31 -0
  141. data/checks/http/heroku.rb +77 -0
  142. data/checks/http/hikvision.rb +29 -0
  143. data/checks/http/hp.rb +27 -0
  144. data/checks/http/hubspot.rb +104 -0
  145. data/checks/http/ibm.rb +182 -0
  146. data/checks/http/icewarp.rb +29 -0
  147. data/checks/http/impresspages.rb +30 -0
  148. data/checks/http/imunify360.rb +28 -0
  149. data/checks/http/incapsula.rb +54 -0
  150. data/checks/http/ingram_micro.rb +28 -0
  151. data/checks/http/innovative_interfaces_inc.rb +27 -0
  152. data/checks/http/inside_sales.rb +27 -0
  153. data/checks/http/instra.rb +61 -0
  154. data/checks/http/intercom.rb +27 -0
  155. data/checks/http/ivanti.rb +28 -0
  156. data/checks/http/jamf.rb +31 -0
  157. data/checks/http/jekyll.rb +31 -0
  158. data/checks/http/jenkins.rb +59 -0
  159. data/checks/http/jetbrains.rb +27 -0
  160. data/checks/http/jetty.rb +27 -0
  161. data/checks/http/jforum.rb +27 -0
  162. data/checks/http/jitbit.rb +30 -0
  163. data/checks/http/jive.rb +27 -0
  164. data/checks/http/joomla.rb +43 -0
  165. data/checks/http/jquery.rb +58 -0
  166. data/checks/http/jupyter.rb +28 -0
  167. data/checks/http/kentico.rb +27 -0
  168. data/checks/http/kerio.rb +34 -0
  169. data/checks/http/kibana.rb +56 -0
  170. data/checks/http/kong.rb +32 -0
  171. data/checks/http/kubernetes.rb +66 -0
  172. data/checks/http/laravel.rb +27 -0
  173. data/checks/http/lastpass.rb +27 -0
  174. data/checks/http/lcn.rb +27 -0
  175. data/checks/http/leadpages.rb +29 -0
  176. data/checks/http/lighttpd.rb +31 -0
  177. data/checks/http/limelight_networks.rb +43 -0
  178. data/checks/http/limesuvey.rb +27 -0
  179. data/checks/http/link1.rb +31 -0
  180. data/checks/http/linksys.rb +38 -0
  181. data/checks/http/litespeed.rb +29 -0
  182. data/checks/http/lithium.rb +43 -0
  183. data/checks/http/lotus.rb +55 -0
  184. data/checks/http/magento.rb +96 -0
  185. data/checks/http/magnolia.rb +27 -0
  186. data/checks/http/mailchimp.rb +27 -0
  187. data/checks/http/manage_engine.rb +27 -0
  188. data/checks/http/markmonitor.rb +27 -0
  189. data/checks/http/mbf_bioscience.rb +29 -0
  190. data/checks/http/mcafee.rb +27 -0
  191. data/checks/http/media_temple.rb +27 -0
  192. data/checks/http/mediawiki.rb +54 -0
  193. data/checks/http/mhcsoftwareinc.rb +29 -0
  194. data/checks/http/microsoft.rb +1325 -0
  195. data/checks/http/mikrotik.rb +44 -0
  196. data/checks/http/modwsgi.rb +30 -0
  197. data/checks/http/mojolicious.rb +32 -0
  198. data/checks/http/moodle.rb +28 -0
  199. data/checks/http/mura.rb +30 -0
  200. data/checks/http/nagios.rb +27 -0
  201. data/checks/http/namesilo.rb +31 -0
  202. data/checks/http/nationbuilder.rb +30 -0
  203. data/checks/http/nec.rb +32 -0
  204. data/checks/http/netlify.rb +40 -0
  205. data/checks/http/netobjects_inc.rb +30 -0
  206. data/checks/http/netscape.rb +29 -0
  207. data/checks/http/neustar.rb +29 -0
  208. data/checks/http/new_relic.rb +27 -0
  209. data/checks/http/nexicom.rb +44 -0
  210. data/checks/http/nginx.rb +82 -0
  211. data/checks/http/nisource.rb +29 -0
  212. data/checks/http/nodejs.rb +79 -0
  213. data/checks/http/okta.rb +53 -0
  214. data/checks/http/ookla.rb +28 -0
  215. data/checks/http/openbsd.rb +30 -0
  216. data/checks/http/openresty.rb +41 -0
  217. data/checks/http/openscholar.rb +27 -0
  218. data/checks/http/opensolution.rb +46 -0
  219. data/checks/http/openssl.rb +43 -0
  220. data/checks/http/opentext.rb +46 -0
  221. data/checks/http/openvpn.rb +27 -0
  222. data/checks/http/opscode.rb +43 -0
  223. data/checks/http/oracle.rb +335 -0
  224. data/checks/http/orion_technology.rb +30 -0
  225. data/checks/http/ovh.rb +46 -0
  226. data/checks/http/palo_alto.rb +27 -0
  227. data/checks/http/pantheon.rb +54 -0
  228. data/checks/http/papercut.rb +29 -0
  229. data/checks/http/parallels.rb +44 -0
  230. data/checks/http/pardot.rb +44 -0
  231. data/checks/http/parkingcrew.rb +47 -0
  232. data/checks/http/pbworks.rb +27 -0
  233. data/checks/http/perfectsense.rb +28 -0
  234. data/checks/http/perl.rb +62 -0
  235. data/checks/http/pfsense.rb +27 -0
  236. data/checks/http/php.rb +72 -0
  237. data/checks/http/phpmyadmin.rb +40 -0
  238. data/checks/http/phpwind.rb +30 -0
  239. data/checks/http/phusion.rb +59 -0
  240. data/checks/http/ping_identity.rb +28 -0
  241. data/checks/http/pivotal_software.rb +97 -0
  242. data/checks/http/pjax.rb +40 -0
  243. data/checks/http/plesk.rb +58 -0
  244. data/checks/http/porkbun.rb +31 -0
  245. data/checks/http/progress.rb +30 -0
  246. data/checks/http/proofpoint.rb +30 -0
  247. data/checks/http/pulsesecure.rb +91 -0
  248. data/checks/http/python.rb +30 -0
  249. data/checks/http/qnap.rb +43 -0
  250. data/checks/http/qualys.rb +69 -0
  251. data/checks/http/rapid7.rb +27 -0
  252. data/checks/http/rbs.rb +30 -0
  253. data/checks/http/readmeio.rb +28 -0
  254. data/checks/http/red_hat.rb +95 -0
  255. data/checks/http/redmine.rb +38 -0
  256. data/checks/http/restlet.rb +30 -0
  257. data/checks/http/ritecms.rb +30 -0
  258. data/checks/http/roadiz.rb +30 -0
  259. data/checks/http/rock.rb +30 -0
  260. data/checks/http/rollbar.rb +27 -0
  261. data/checks/http/roundcube.rb +42 -0
  262. data/checks/http/ruby.rb +92 -0
  263. data/checks/http/ruckus_wireless.rb +26 -0
  264. data/checks/http/sailpoint.rb +30 -0
  265. data/checks/http/salesforce.rb +28 -0
  266. data/checks/http/sap.rb +149 -0
  267. data/checks/http/seamless_cms.rb +30 -0
  268. data/checks/http/securi.rb +54 -0
  269. data/checks/http/sedo.rb +63 -0
  270. data/checks/http/segment.rb +27 -0
  271. data/checks/http/sencha.rb +31 -0
  272. data/checks/http/sentry.rb +27 -0
  273. data/checks/http/serendipity.rb +30 -0
  274. data/checks/http/shopfactory.rb +30 -0
  275. data/checks/http/sip.rb +29 -0
  276. data/checks/http/sitecore.rb +39 -0
  277. data/checks/http/smartling.rb +27 -0
  278. data/checks/http/smf.rb +30 -0
  279. data/checks/http/snews.rb +30 -0
  280. data/checks/http/software_ag.rb +47 -0
  281. data/checks/http/soha.rb +66 -0
  282. data/checks/http/solarwinds.rb +41 -0
  283. data/checks/http/sonatype.rb +43 -0
  284. data/checks/http/sonicwall.rb +63 -0
  285. data/checks/http/sophos.rb +40 -0
  286. data/checks/http/southriver.rb +43 -0
  287. data/checks/http/splash.rb +29 -0
  288. data/checks/http/splunk.rb +27 -0
  289. data/checks/http/springfox.rb +43 -0
  290. data/checks/http/squarespace.rb +41 -0
  291. data/checks/http/stackpath.rb +29 -0
  292. data/checks/http/stibo_systems.rb +35 -0
  293. data/checks/http/subrion.rb +29 -0
  294. data/checks/http/symantec.rb +27 -0
  295. data/checks/http/synacor.rb +26 -0
  296. data/checks/http/tableau_software.rb +42 -0
  297. data/checks/http/telerik.rb +46 -0
  298. data/checks/http/tengine.rb +29 -0
  299. data/checks/http/tibco.rb +57 -0
  300. data/checks/http/townnews.rb +33 -0
  301. data/checks/http/tridium.rb +28 -0
  302. data/checks/http/twiki.rb +27 -0
  303. data/checks/http/typo3.rb +27 -0
  304. data/checks/http/uberflip.rb +28 -0
  305. data/checks/http/ucoz.rb +31 -0
  306. data/checks/http/umbraco.rb +29 -0
  307. data/checks/http/unbounce.rb +28 -0
  308. data/checks/http/united_domains.rb +27 -0
  309. data/checks/http/vanilla_forums.rb +27 -0
  310. data/checks/http/varnish.rb +79 -0
  311. data/checks/http/vbulletin.rb +66 -0
  312. data/checks/http/verizon.rb +27 -0
  313. data/checks/http/vmware.rb +53 -0
  314. data/checks/http/vue_js.rb +27 -0
  315. data/checks/http/webflow.rb +44 -0
  316. data/checks/http/webgui.rb +30 -0
  317. data/checks/http/webmin.rb +44 -0
  318. data/checks/http/webpagetest_project.rb +30 -0
  319. data/checks/http/wftpserver.rb +28 -0
  320. data/checks/http/wildfly.rb +29 -0
  321. data/checks/http/wix.rb +28 -0
  322. data/checks/http/woltlab_gmbh.rb +30 -0
  323. data/checks/http/wordpress/ithemes.rb +50 -0
  324. data/checks/http/wordpress/john_godley.rb +29 -0
  325. data/checks/http/wordpress/pixelcraft.rb +31 -0
  326. data/checks/http/wordpress/rocklobster.rb +29 -0
  327. data/checks/http/wordpress/team_heateor.rb +31 -0
  328. data/checks/http/wordpress/w3_total_cache.rb +30 -0
  329. data/checks/http/wordpress/wp_fastest_cache.rb +30 -0
  330. data/checks/http/wordpress/wp_super_cache.rb +46 -0
  331. data/checks/http/wordpress/wpbakery.rb +30 -0
  332. data/checks/http/world4you.rb +46 -0
  333. data/checks/http/wp_engine.rb +57 -0
  334. data/checks/http/xcms.rb +30 -0
  335. data/checks/http/xelion.rb +27 -0
  336. data/checks/http/xerox.rb +27 -0
  337. data/checks/http/xmb.rb +30 -0
  338. data/checks/http/xtec.rb +30 -0
  339. data/checks/http/yaf.rb +30 -0
  340. data/checks/http/yaws.rb +30 -0
  341. data/checks/http/yoast.rb +31 -0
  342. data/checks/http/zeit.rb +30 -0
  343. data/checks/http/zendesk.rb +41 -0
  344. data/checks/http/zengenti.rb +30 -0
  345. data/checks/http/zoho.rb +69 -0
  346. data/checks/http/zscaler.rb +30 -0
  347. data/checks/smtp/base.rb +16 -0
  348. data/checks/smtp/exim.rb +30 -0
  349. data/checks/snmp/base.rb +15 -0
  350. data/checks/snmp/cisco.rb +59 -0
  351. data/checks/ssh/array_networks.rb +28 -0
  352. data/checks/ssh/base.rb +16 -0
  353. data/checks/ssh/openssh.rb +26 -0
  354. data/checks/telnet/base.rb +16 -0
  355. data/checks/telnet/huawei.rb +26 -0
  356. data/data/logos/acquia.png +0 -0
  357. data/data/logos/amazon_cloudfront.png +0 -0
  358. data/data/logos/apache_coyote.png +0 -0
  359. data/data/logos/apache_tomcat.png +0 -0
  360. data/data/logos/atlassian_bamboo.png +0 -0
  361. data/data/logos/atlassian_bitbucket.png +0 -0
  362. data/data/logos/atlassian_confluence.png +0 -0
  363. data/data/logos/atlassian_crowd.png +0 -0
  364. data/data/logos/atlassian_crucible.png +0 -0
  365. data/data/logos/atlassian_fisheye.png +0 -0
  366. data/data/logos/atlassian_jira.png +0 -0
  367. data/data/logos/atlassian_sourcetree.png +0 -0
  368. data/data/logos/automattic_wordpress.png +0 -0
  369. data/data/logos/calibre.png +0 -0
  370. data/data/logos/cisco_ssl_vpn.png +0 -0
  371. data/data/logos/citrix_netscaler_gateway.png +0 -0
  372. data/data/logos/cloudflare_cdn.png +0 -0
  373. data/data/logos/drupal.png +0 -0
  374. data/data/logos/f5_big-ip.png +0 -0
  375. data/data/logos/f5_big-ip_apm.png +0 -0
  376. data/data/logos/fastly.png +0 -0
  377. data/data/logos/generic.png +0 -0
  378. data/data/logos/gitlab.png +0 -0
  379. data/data/logos/ibm_axway_securetransport.png +0 -0
  380. data/data/logos/lithium.png +0 -0
  381. data/data/logos/microsoft_asp.net.png +0 -0
  382. data/data/logos/microsoft_iis.png +0 -0
  383. data/data/logos/microsoft_outlook_web_access.png +0 -0
  384. data/data/logos/microsoft_sharepoint.png +0 -0
  385. data/data/logos/microtik_routeros.png +0 -0
  386. data/data/logos/mikrotik_routeros.png +0 -0
  387. data/data/logos/newrelic.png +0 -0
  388. data/data/logos/nginx.png +0 -0
  389. data/data/logos/okta.png +0 -0
  390. data/data/logos/oracle_glassfish.png +0 -0
  391. data/data/logos/oracle_java_application_server.png +0 -0
  392. data/data/logos/oracle_java_server_pages.png +0 -0
  393. data/data/logos/oracle_weblogic.png +0 -0
  394. data/data/logos/phpmyadmin.png +0 -0
  395. data/data/logos/tableau.png +0 -0
  396. data/data/logos/vmware_esxi.png +0 -0
  397. data/data/logos/vmware_horizon.png +0 -0
  398. data/data/logos/zendesk.png +0 -0
  399. data/data/logos/zimbra_server.png +0 -0
  400. data/data/microsoft_sharepoint_versions.csv +224 -0
  401. data/intrigue-ident.gemspec +8 -7
  402. data/lib/banner_helpers.rb +36 -0
  403. data/lib/ftp/check_factory.rb +24 -0
  404. data/lib/ftp/content.rb +13 -0
  405. data/lib/ftp/ftp.rb +52 -0
  406. data/lib/ftp/matchers.rb +26 -0
  407. data/lib/http/browser.rb +260 -0
  408. data/lib/http/check_factory.rb +47 -0
  409. data/lib/http/content.rb +45 -0
  410. data/lib/http/http.rb +463 -0
  411. data/lib/http/matchers.rb +132 -0
  412. data/lib/ident.rb +263 -0
  413. data/lib/recog_wrapper.rb +70 -0
  414. data/lib/simple_socket.rb +41 -0
  415. data/lib/smtp/check_factory.rb +24 -0
  416. data/lib/smtp/content.rb +13 -0
  417. data/lib/smtp/matchers.rb +28 -0
  418. data/lib/smtp/smtp.rb +53 -0
  419. data/lib/snmp/check_factory.rb +24 -0
  420. data/lib/snmp/content.rb +13 -0
  421. data/lib/snmp/matchers.rb +25 -0
  422. data/lib/snmp/snmp.rb +55 -0
  423. data/lib/ssh/check_factory.rb +24 -0
  424. data/lib/ssh/content.rb +13 -0
  425. data/lib/ssh/matchers.rb +26 -0
  426. data/lib/ssh/ssh.rb +52 -0
  427. data/lib/telnet/check_factory.rb +24 -0
  428. data/lib/telnet/content.rb +13 -0
  429. data/lib/telnet/matchers.rb +26 -0
  430. data/lib/telnet/telnet.rb +52 -0
  431. data/lib/utils.rb +19 -0
  432. data/lib/version.rb +3 -0
  433. data/lib/vulndb_client.rb +43 -0
  434. data/util/console.rb +9 -0
  435. data/util/docker.sh +2 -0
  436. data/util/ident.rb +375 -0
  437. data/util/list_paths.rb +12 -0
  438. data/util/tags.rb +36 -0
  439. data/utils.rb +19 -0
  440. metadata +487 -55
  441. data/ident.rb +0 -319
  442. data/lib/check_factory.rb +0 -22
  443. data/lib/checks/akamai.rb +0 -22
  444. data/lib/checks/amazon.rb +0 -26
  445. data/lib/checks/aruba.rb +0 -20
  446. data/lib/checks/asp_net.rb +0 -70
  447. data/lib/checks/atlassian.rb +0 -55
  448. data/lib/checks/base.rb +0 -13
  449. data/lib/checks/chef.rb +0 -31
  450. data/lib/checks/cisco.rb +0 -33
  451. data/lib/checks/citrix.rb +0 -24
  452. data/lib/checks/cloudflare.rb +0 -59
  453. data/lib/checks/cloudfront.rb +0 -41
  454. data/lib/checks/cpanel.rb +0 -23
  455. data/lib/checks/django.rb +0 -22
  456. data/lib/checks/drupal.rb +0 -26
  457. data/lib/checks/f5.rb +0 -24
  458. data/lib/checks/fastly.rb +0 -22
  459. data/lib/checks/generic.rb +0 -23
  460. data/lib/checks/gitlab.rb +0 -22
  461. data/lib/checks/google.rb +0 -23
  462. data/lib/checks/grafana.rb +0 -22
  463. data/lib/checks/jenkins.rb +0 -40
  464. data/lib/checks/joomla.rb +0 -23
  465. data/lib/checks/limesuvey.rb +0 -22
  466. data/lib/checks/lithium.rb +0 -30
  467. data/lib/checks/magento.rb +0 -22
  468. data/lib/checks/mcafee.rb +0 -22
  469. data/lib/checks/mediawiki.rb +0 -38
  470. data/lib/checks/microsoft.rb +0 -69
  471. data/lib/checks/nagios.rb +0 -22
  472. data/lib/checks/oracle.rb +0 -38
  473. data/lib/checks/palo_alto.rb +0 -23
  474. data/lib/checks/pardot.rb +0 -22
  475. data/lib/checks/pfsense.rb +0 -25
  476. data/lib/checks/phpmyadmin.rb +0 -22
  477. data/lib/checks/rabbitmq.rb +0 -29
  478. data/lib/checks/spring.rb +0 -31
  479. data/lib/checks/team_city.rb +0 -22
  480. data/lib/checks/telerik.rb +0 -25
  481. data/lib/checks/tomcat.rb +0 -22
  482. data/lib/checks/varnish.rb +0 -27
  483. data/lib/checks/wordpress.rb +0 -120
  484. data/lib/checks/wp_engine.rb +0 -22
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1d05d96fbb44b3e9ea2ed428a0c63873fcfe5679a74882faa3534051ffe51338
4
- data.tar.gz: 56e52215528ae59c96cdeb9a832ea2e9a7655a607da986499dc714b9a90fa74d
3
+ metadata.gz: 32cb17663810844bd445fbd30fc87ed296e432dee65c809c55c0103c2018223f
4
+ data.tar.gz: ab582bae1548877adda260b27b3cc36c3c399f5dfac4bc2120df58ff11c028c5
5
5
  SHA512:
6
- metadata.gz: 17b3fe532217c204bd8ac15f42e395268ea010f409f9b37d623d115f4fa24b5a245b77a0b79e9fd5d1a76fd9558443ad13280245d15e012e3f0180f23e6f4b47
7
- data.tar.gz: 664d65996160c1ce2ab55569e76b9342f4574a34a6e2aec92f20810590f31056ec568191b14828a35f6745892f6820e24ab863fff50a62b44aae3ad1e8e794ae
6
+ metadata.gz: cdb9095cd2c3b4eef1515260b929f9685293d9a888a50cf30942c875557e736ddf328e13fc60a14302f1a92489ca5f1658839ac1294e29c2e2d6a5567d58226d
7
+ data.tar.gz: '09a8a0beb4ccca2821c8543f8939491dbbec030b873e7211cde9966f5367a7cd599b67cd77908ebf69a59c85d8f26611adb6b1dcc5fdc41c433ef074c7ce6b54'
@@ -0,0 +1,21 @@
1
+ version: 2.1
2
+ orbs:
3
+ ruby: circleci/ruby@0.1.2
4
+
5
+ jobs:
6
+ build:
7
+ docker:
8
+ - image: circleci/ruby:2.6.5-stretch-node
9
+ environment:
10
+ BUNDLER_VERSION: 2.1.4
11
+ executor: ruby/default
12
+ steps:
13
+ - checkout
14
+ - run:
15
+ name: Install dependencies & run specs
16
+ command: |
17
+ gem update --system
18
+ gem install bundler:2.1.4
19
+ bundle install
20
+ bundle exec rspec spec/*
21
+
@@ -0,0 +1,3 @@
1
+ .rbenv-gemsets
2
+ requests.txt
3
+ .DS_Store
@@ -0,0 +1 @@
1
+ 2.6.5
@@ -0,0 +1,39 @@
1
+ FROM debian:bullseye-slim
2
+
3
+ ENV CHROME_BIN=/usr/bin/chromium \
4
+ CHROME_PATH=/usr/lib/chromium/ \
5
+ GEM_HOME="/home/ident/.gem"
6
+
7
+ RUN adduser --disabled-password --gecos "" ident \
8
+ && apt-get update \
9
+ && apt-get install -yq apt-utils build-essential curl gcc \
10
+ libbison-dev libcurl4-openssl-dev libgdbm-compat-dev libgdbm-dev \
11
+ libgmp-dev libharfbuzz-dev libssl-dev libxml2-dev libxslt1-dev openssl \
12
+ readline-common \
13
+ && mkdir -p /src/ruby \
14
+ && cd /src/ruby \
15
+ && curl -O https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.5.tar.gz \
16
+ && tar -xvzf ruby-2.6.5.tar.gz \
17
+ && cd ruby-2.6.5 \
18
+ && ./configure --disable-install-rdoc \
19
+ && make && make install \
20
+ && rm -rf /var/cache/apt/* \
21
+ && cd / \
22
+ && rm -rf /src/ruby/ \
23
+ /usr/local/share/{doc,man}
24
+
25
+ # if Chrome support is desired:
26
+ # apt-get install 'xvfb chromium chromium-driver zlib1g-dev zlib1g'
27
+
28
+ # Save some space if needed:
29
+ # apt-get remove -yq gcc build-essential \
30
+ #&& apt-get autoremove -yq \
31
+ #&& bundle config build.nokogiri --use-system-libraries
32
+
33
+ ADD . /home/ident
34
+ RUN chown -R ident:ident /home/ident
35
+ USER ident
36
+ WORKDIR /home/ident
37
+ RUN gem install bundler:2.0.2 \
38
+ && bundle install
39
+ ENTRYPOINT ["/home/ident/util/docker.sh"]
data/Gemfile CHANGED
@@ -1,5 +1,12 @@
1
1
  source 'https://rubygems.org'
2
- ruby '2.5.1'
2
+ ruby '2.6.5'
3
3
 
4
- gem "rspec"
5
- gem "pry"
4
+ gem 'pry'
5
+ gem 'socketry'
6
+ gem 'recog-intrigue', :git => 'https://github.com/intrigueio/recog.git'
7
+ #gem 'recog-intrigue', :path => "/Users/jcran/work/intrigue/local/recog"
8
+ gem 'slop'
9
+ gem 'snmp'
10
+ gem 'json'
11
+ gem 'rspec-core'
12
+ gem 'rspec-expectations'
@@ -1,35 +1,50 @@
1
+ GIT
2
+ remote: https://github.com/intrigueio/recog.git
3
+ revision: d6be4b8008add1cc90c69b276c223cf7345e31f1
4
+ specs:
5
+ recog-intrigue (2.3.7)
6
+ nokogiri
7
+
1
8
  GEM
2
9
  remote: https://rubygems.org/
3
10
  specs:
4
- coderay (1.1.2)
11
+ coderay (1.1.3)
5
12
  diff-lcs (1.3)
6
- method_source (0.9.0)
7
- pry (0.11.3)
8
- coderay (~> 1.1.0)
9
- method_source (~> 0.9.0)
10
- rspec (3.7.0)
11
- rspec-core (~> 3.7.0)
12
- rspec-expectations (~> 3.7.0)
13
- rspec-mocks (~> 3.7.0)
14
- rspec-core (3.7.1)
15
- rspec-support (~> 3.7.0)
16
- rspec-expectations (3.7.0)
17
- diff-lcs (>= 1.2.0, < 2.0)
18
- rspec-support (~> 3.7.0)
19
- rspec-mocks (3.7.0)
13
+ hitimes (1.3.1)
14
+ json (2.3.0)
15
+ method_source (1.0.0)
16
+ mini_portile2 (2.4.0)
17
+ nokogiri (1.10.9)
18
+ mini_portile2 (~> 2.4.0)
19
+ pry (0.13.1)
20
+ coderay (~> 1.1)
21
+ method_source (~> 1.0)
22
+ rspec-core (3.9.2)
23
+ rspec-support (~> 3.9.3)
24
+ rspec-expectations (3.9.2)
20
25
  diff-lcs (>= 1.2.0, < 2.0)
21
- rspec-support (~> 3.7.0)
22
- rspec-support (3.7.1)
26
+ rspec-support (~> 3.9.0)
27
+ rspec-support (3.9.3)
28
+ slop (4.8.1)
29
+ snmp (1.3.2)
30
+ socketry (0.5.1)
31
+ hitimes (~> 1.2)
23
32
 
24
33
  PLATFORMS
25
34
  ruby
26
35
 
27
36
  DEPENDENCIES
37
+ json
28
38
  pry
29
- rspec
39
+ recog-intrigue!
40
+ rspec-core
41
+ rspec-expectations
42
+ slop
43
+ snmp
44
+ socketry
30
45
 
31
46
  RUBY VERSION
32
- ruby 2.5.1p57
47
+ ruby 2.6.5p114
33
48
 
34
49
  BUNDLED WITH
35
- 1.16.1
50
+ 2.1.4
@@ -0,0 +1,12 @@
1
+ Copyright (c) 2020, Intrigue Corp
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
5
+
6
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7
+
8
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
9
+
10
+ 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
11
+
12
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,79 @@
1
+ Ident is an application and service fingerprinting library used within Intrigue Core.
2
+
3
+ The Ident project has a few stated goals:
4
+ - To deeply identify network service and app software while remain extremely fast - limiting unnecessary requests
5
+ - To be the most complete library for modern application and server software identification
6
+ - To integrate well as a library, for easy use in other projects
7
+ - To be commercially viable through use of the BSD license
8
+ - To maintain a robust command line interface for use as a standalone tool
9
+
10
+ Ident is written in Ruby and uses core Ruby (HTTP|Socket|etc) libraries to make requests.
11
+
12
+ Below, find instruction on how to get stated:
13
+
14
+ Using ident via Docker image:
15
+ =============================
16
+ 1) Pull and run the docker image! It'll download directly from [DockerHub](https://cloud.docker.com/u/intrigueio/repository/docker/intrigueio/intrigue-ident) if the image doesnt exist locally
17
+ `docker pull intrigueio/intrigue-ident && docker run -t intrigueio/intrigue-ident --url https://intrigue.io`
18
+
19
+ Installing directly on OSX:
20
+ ===========================
21
+ 1) [Install brew](https://brew.sh/) (if you don't already have it)
22
+ 2) Install ruby [preferrably using rbenv](https://github.com/rbenv/rbenv#installation)
23
+ 3) Install bundler `gem install bundler`
24
+ 4) Clone the ident repository `git clone https://github.com/intrigueio/intrigue-ident.git`
25
+ 5) Install the ident gem dependencies `bundle install`
26
+ 6) Now use the check utility to test. Example below:
27
+ ```
28
+ $ bundle exec ruby ./util/ident.rb -v -u https://xyz.com:443
29
+ Checking... https://xyz.com:443
30
+ Fingerprint:
31
+ - PHP PHP 5.4.16 - x-powered-by header (CPE: cpe:2.3:a:php:php:5.4.16:) (Tags: ["Web Framework"])
32
+ - Vuln: CVE-2016-5768 (CVSSv3: 9.8)
33
+ - Vuln: CVE-2016-4538 (CVSSv3: 9.8)
34
+ - PHP PHP - PHPSESSID cookie (CPE: cpe:2.3:a:php:php::) (Tags: ["Web Framework"])
35
+ - Apache HTTP Server 2.4.6 - Apache web server - server header - with versions (CPE: cpe:2.3:a:apache:http_server:2.4.6:) (Tags: ["Web Server"])
36
+ - Vuln: CVE-2018-1312 (CVSSv3: 9.8)
37
+ - Vuln: CVE-2017-15715 (CVSSv3: 8.1)
38
+ - Wordpress Wordpress - common link (CPE: cpe:2.3:a:wordpress:wordpress::) (Tags: ["CMS"])
39
+ - Yoast Wordpress SEO - unique string (CPE: cpe:2.3:a:yoast:wordpress_seo::) (Tags: ["Marketing", "Wordpress Plugin"])
40
+ - Bootstrap Bootstrap - boostrap css (CPE: cpe:2.3:a:bootstrap:bootstrap::) (Tags: ["Web Framework"])
41
+ - OpenSSL OpenSSL 1.0.2k-fips - server header (CPE: cpe:2.3:a:openssl:openssl:1.0.2k-fips:) (Tags: ["Library"])
42
+ - Vuln: CVE-2018-0732 (CVSSv3: 7.5)
43
+ Content Checks:
44
+ - Authentication - HTTP: false
45
+ - Authentication - Session Identifier: true
46
+ - Google Analytics Account Detected: false
47
+ - Location Header:
48
+ - Directory Listing Detected: false
49
+ - Form Detected: false
50
+ - File Upload Form Detected: false
51
+ - Email Addresses Detected: []
52
+ - Access-Control-Allow-Origin Header: false
53
+ - P3P Header: false
54
+ - X-Frame-Options Header: true
55
+ - X-XSS-Protection Header: false
56
+ ```
57
+
58
+ For Check Writers:
59
+ ===================
60
+ ```
61
+ HTTP Check types are in the following categories. See each check's 'match_content':
62
+ - content_body: checks should be run against body
63
+ - content_headers: checks should be run against response headers (assumes one string of text, each header '\n' delimited)
64
+ - content_title: checks should be run against text inside the <title> tag (do not include the tag when writing checks)
65
+ - content_generator: checks should be run against text inside the <meta generator> tag (do not include the tag when writing checks)
66
+ - content_cookies; checks should be run against the set-cookie: header (do not include the header name, just the content when writing checks)
67
+ ```
68
+
69
+
70
+ Contributors:
71
+ =============
72
+
73
+ A special thanks to the following contributors who help make ident awesome!
74
+ - @duartemateus: Checks!
75
+ - @jen140: Checks
76
+ - @bensalah_anas: Checks
77
+ - @bcoles: Checks, bugfixes, JSON output
78
+ - @bmcdevitt: Checks
79
+ - @retornam: Dockerization
@@ -0,0 +1,15 @@
1
+ module Intrigue
2
+ module Ident
3
+ module FtpCheck
4
+ class Base
5
+
6
+ include Intrigue::Ident::BannerHelpers
7
+
8
+ def self.inherited(base)
9
+ Intrigue::Ident::Ftp::CheckFactory.register(base)
10
+ end
11
+
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,28 @@
1
+ module Intrigue
2
+ module Ident
3
+ module FtpCheck
4
+ class Filezilla < Intrigue::Ident::FtpCheck::Base
5
+
6
+ def generate_checks
7
+ [
8
+ {
9
+ :type => "fingerprint",
10
+ :category => "application",
11
+ :tags => ["FTP Server"],
12
+ :vendor => "Filezilla",
13
+ :product => "Server",
14
+ :references => [],
15
+ :version => nil,
16
+ :match_type => :content_banner,
17
+ :match_content => /FileZilla Server/i,
18
+ :dynamic_version => lambda { |x| _first_banner_capture(x, /FileZilla Server version ([\d\.]+)/i)},
19
+ :match_details => "banner",
20
+ :hide => false,
21
+ :inference => true
22
+ }
23
+ ]
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,27 @@
1
+ module Intrigue
2
+ module Ident
3
+ module FtpCheck
4
+ class Microsoft < Intrigue::Ident::FtpCheck::Base
5
+
6
+ def generate_checks
7
+ [
8
+ {
9
+ :type => "fingerprint",
10
+ :category => "application",
11
+ :tags => ["FTP Server"],
12
+ :vendor => "Microsoft",
13
+ :product => "FTP Service",
14
+ :references => [],
15
+ :version => nil,
16
+ :match_type => :content_banner,
17
+ :match_content => /Microsoft FTP Service/i,
18
+ :match_details => "banner",
19
+ :hide => false,
20
+ :inference => false
21
+ }
22
+ ]
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,28 @@
1
+ module Intrigue
2
+ module Ident
3
+ module FtpCheck
4
+ class ProFtp < Intrigue::Ident::FtpCheck::Base
5
+
6
+ def generate_checks
7
+ [
8
+ {
9
+ :type => "fingerprint",
10
+ :category => "application",
11
+ :tags => ["FTP Server"],
12
+ :vendor => "ProFTP",
13
+ :product => "ProFTPd",
14
+ :references => [],
15
+ :version => nil,
16
+ :match_type => :content_banner,
17
+ :match_content => /ProFTPD ([\d\w\.]+) Server/i,
18
+ :dynamic_version => lambda { |x| _first_banner_capture(x, /ProFTPD ([\d\w\.]+) Server/i)},
19
+ :match_details => "banner",
20
+ :hide => false,
21
+ :inference => true
22
+ }
23
+ ]
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,27 @@
1
+ module Intrigue
2
+ module Ident
3
+ module FtpCheck
4
+ class PureFtpd < Intrigue::Ident::FtpCheck::Base
5
+
6
+ def generate_checks
7
+ [
8
+ {
9
+ :type => "fingerprint",
10
+ :category => "application",
11
+ :tags => ["FTP Server"],
12
+ :vendor => "PureFtpd",
13
+ :product => "PureFtpd",
14
+ :references => [],
15
+ :version => nil,
16
+ :match_type => :content_banner,
17
+ :match_content => /Welcome to Pure-FTPd/i,
18
+ :match_details => "banner",
19
+ :hide => false,
20
+ :inference => false
21
+ }
22
+ ]
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,28 @@
1
+ module Intrigue
2
+ module Ident
3
+ module FtpCheck
4
+ class Vsftp < Intrigue::Ident::FtpCheck::Base
5
+
6
+ def generate_checks
7
+ [
8
+ {
9
+ :type => "fingerprint",
10
+ :category => "application",
11
+ :tags => ["FTP Server"],
12
+ :vendor => "vsFTPd",
13
+ :product => "vsFTPd",
14
+ :references => [],
15
+ :version => nil,
16
+ :match_type => :content_banner,
17
+ :match_content => /\(vsFTPd\s[\d\.]+\)/i,
18
+ :dynamic_version => lambda { |x| _first_banner_capture(x, /\(vsFTPd\s([\d\.]+)\)/i)},
19
+ :match_details => "banner",
20
+ :hide => false,
21
+ :inference => true
22
+ }
23
+ ]
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,31 @@
1
+ module Intrigue
2
+ module Ident
3
+ module Check
4
+ class OneTwoThreeReg < Intrigue::Ident::Check::Base
5
+
6
+ def generate_checks(url)
7
+ [
8
+ {
9
+ :type => "fingerprint",
10
+ :category => "service",
11
+ :tags => ["Parked"],
12
+ :vendor => "123Reg",
13
+ :product => "123Reg",
14
+ :website => "https://www.123-reg.co.uk/",
15
+ :references => [],
16
+ :version => nil,
17
+ :match_type => :content_title,
18
+ :match_content => /Want your own website\? \| 123 Reg/i,
19
+ :match_details => "Want your own website\? \| 123 Reg",
20
+ :hide => false,
21
+ :paths => ["#{url}"],
22
+ :inference => false
23
+ }
24
+ ]
25
+ end
26
+
27
+ end
28
+ end
29
+ end
30
+ end
31
+