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.
- checksums.yaml +4 -4
- data/.circleci/config.yml +21 -0
- data/.gitignore +3 -0
- data/.ruby-version +1 -0
- data/Dockerfile +39 -0
- data/Gemfile +10 -3
- data/Gemfile.lock +35 -20
- data/LICENSE.md +12 -0
- data/README.md +79 -0
- data/checks/ftp/base.rb +15 -0
- data/checks/ftp/filezilla.rb +28 -0
- data/checks/ftp/microsoft.rb +27 -0
- data/checks/ftp/proftp.rb +28 -0
- data/checks/ftp/pureftpd.rb +27 -0
- data/checks/ftp/vsftp.rb +28 -0
- data/checks/http/123reg.rb +31 -0
- data/checks/http/acme.rb +28 -0
- data/checks/http/acquia.rb +28 -0
- data/checks/http/adeptia.rb +30 -0
- data/checks/http/adobe.rb +168 -0
- data/checks/http/advantshop.rb +33 -0
- data/checks/http/afrihost.rb +29 -0
- data/checks/http/aftermarketpl.rb +46 -0
- data/checks/http/agility.rb +34 -0
- data/checks/http/akamai.rb +88 -0
- data/checks/http/alkacon.rb +30 -0
- data/checks/http/allegro.rb +28 -0
- data/checks/http/almuba.rb +30 -0
- data/checks/http/amazon.rb +263 -0
- data/checks/http/amirocms.rb +30 -0
- data/checks/http/anelectron.rb +29 -0
- data/checks/http/anquanbao.rb +32 -0
- data/checks/http/aol.rb +29 -0
- data/checks/http/apache.rb +358 -0
- data/checks/http/appdynamics.rb +43 -0
- data/checks/http/arris.rb +30 -0
- data/checks/http/artifactory.rb +30 -0
- data/checks/http/aruba.rb +27 -0
- data/checks/http/atlassian.rb +152 -0
- data/checks/http/auth0.rb +44 -0
- data/checks/http/automattic.rb +292 -0
- data/checks/http/axinom.rb +30 -0
- data/checks/http/axios.rb +29 -0
- data/checks/http/axis.rb +27 -0
- data/checks/http/axway.rb +33 -0
- data/checks/http/backdrop.rb +30 -0
- data/checks/http/banu.rb +30 -0
- data/checks/http/barracuda.rb +99 -0
- data/checks/http/base.rb +139 -0
- data/checks/http/beehive.rb +30 -0
- data/checks/http/bigcartel.rb +33 -0
- data/checks/http/bigcommerce.rb +33 -0
- data/checks/http/binarysec.rb +47 -0
- data/checks/http/bitly.rb +40 -0
- data/checks/http/blackboard.rb +44 -0
- data/checks/http/blueimp.rb +27 -0
- data/checks/http/bomgar.rb +27 -0
- data/checks/http/bootstrap.rb +27 -0
- data/checks/http/bower.rb +28 -0
- data/checks/http/broadcom.rb +29 -0
- data/checks/http/brocade.rb +39 -0
- data/checks/http/browsermedia.rb +29 -0
- data/checks/http/bsm.rb +29 -0
- data/checks/http/bynder.rb +31 -0
- data/checks/http/calibre.rb +33 -0
- data/checks/http/centos.rb +28 -0
- data/checks/http/cerberus.rb +28 -0
- data/checks/http/charity_engine.rb +27 -0
- data/checks/http/checkpoint.rb +56 -0
- data/checks/http/cherokee.rb +29 -0
- data/checks/http/cisco.rb +134 -0
- data/checks/http/citrix.rb +137 -0
- data/checks/http/cloud_city.rb +30 -0
- data/checks/http/cloudflare.rb +219 -0
- data/checks/http/cmsimple.rb +30 -0
- data/checks/http/codeigniter.rb +26 -0
- data/checks/http/communigate.rb +32 -0
- data/checks/http/concrete5.rb +30 -0
- data/checks/http/contenido.rb +33 -0
- data/checks/http/content/analytics.rb +40 -0
- data/checks/http/content/authentication.rb +111 -0
- data/checks/http/content/content.rb +92 -0
- data/checks/http/content/security_headers.rb +70 -0
- data/checks/http/cpanel.rb +56 -0
- data/checks/http/cradlepoint.rb +30 -0
- data/checks/http/craft.rb +42 -0
- data/checks/http/crazydomains.rb +31 -0
- data/checks/http/crowdstrike.rb +27 -0
- data/checks/http/dan.rb +30 -0
- data/checks/http/danneo.rb +30 -0
- data/checks/http/day.rb +31 -0
- data/checks/http/debian.rb +27 -0
- data/checks/http/dell.rb +43 -0
- data/checks/http/dev_php.rb +30 -0
- data/checks/http/discourse.rb +30 -0
- data/checks/http/discuz!.rb +30 -0
- data/checks/http/distil.rb +27 -0
- data/checks/http/django.rb +27 -0
- data/checks/http/dmanager.rb +29 -0
- data/checks/http/dns_made_easy.rb +29 -0
- data/checks/http/docuwiki.rb +27 -0
- data/checks/http/docverify.rb +29 -0
- data/checks/http/domain_parking_ru.rb +31 -0
- data/checks/http/domainname_shop.rb +30 -0
- data/checks/http/dosarrest.rb +29 -0
- data/checks/http/dreamhost.rb +31 -0
- data/checks/http/drupal.rb +91 -0
- data/checks/http/duo.rb +45 -0
- data/checks/http/dyn.rb +41 -0
- data/checks/http/dynamicweb.rb +29 -0
- data/checks/http/dynatrace.rb +40 -0
- data/checks/http/easyname.rb +44 -0
- data/checks/http/eclipse.rb +64 -0
- data/checks/http/enservio.rb +29 -0
- data/checks/http/envoy.rb +26 -0
- data/checks/http/epiccom.rb +31 -0
- data/checks/http/ergon.rb +31 -0
- data/checks/http/expressjs.rb +27 -0
- data/checks/http/ezproxy.rb +28 -0
- data/checks/http/f5.rb +122 -0
- data/checks/http/facebook.rb +27 -0
- data/checks/http/fastly.rb +67 -0
- data/checks/http/first_domains.rb +31 -0
- data/checks/http/flywheel.rb +30 -0
- data/checks/http/forgerock.rb +43 -0
- data/checks/http/fortinet.rb +29 -0
- data/checks/http/fresh_service.rb +30 -0
- data/checks/http/frontify.rb +29 -0
- data/checks/http/generic.rb +272 -0
- data/checks/http/github.rb +40 -0
- data/checks/http/gitlab.rb +30 -0
- data/checks/http/glimpse.rb +32 -0
- data/checks/http/globalscape.rb +27 -0
- data/checks/http/goahead.rb +31 -0
- data/checks/http/godaddy.rb +31 -0
- data/checks/http/google.rb +164 -0
- data/checks/http/google_cloud.rb +27 -0
- data/checks/http/grafana.rb +27 -0
- data/checks/http/gunicorn.rb +30 -0
- data/checks/http/haskell.rb +31 -0
- data/checks/http/heroku.rb +77 -0
- data/checks/http/hikvision.rb +29 -0
- data/checks/http/hp.rb +27 -0
- data/checks/http/hubspot.rb +104 -0
- data/checks/http/ibm.rb +182 -0
- data/checks/http/icewarp.rb +29 -0
- data/checks/http/impresspages.rb +30 -0
- data/checks/http/imunify360.rb +28 -0
- data/checks/http/incapsula.rb +54 -0
- data/checks/http/ingram_micro.rb +28 -0
- data/checks/http/innovative_interfaces_inc.rb +27 -0
- data/checks/http/inside_sales.rb +27 -0
- data/checks/http/instra.rb +61 -0
- data/checks/http/intercom.rb +27 -0
- data/checks/http/ivanti.rb +28 -0
- data/checks/http/jamf.rb +31 -0
- data/checks/http/jekyll.rb +31 -0
- data/checks/http/jenkins.rb +59 -0
- data/checks/http/jetbrains.rb +27 -0
- data/checks/http/jetty.rb +27 -0
- data/checks/http/jforum.rb +27 -0
- data/checks/http/jitbit.rb +30 -0
- data/checks/http/jive.rb +27 -0
- data/checks/http/joomla.rb +43 -0
- data/checks/http/jquery.rb +58 -0
- data/checks/http/jupyter.rb +28 -0
- data/checks/http/kentico.rb +27 -0
- data/checks/http/kerio.rb +34 -0
- data/checks/http/kibana.rb +56 -0
- data/checks/http/kong.rb +32 -0
- data/checks/http/kubernetes.rb +66 -0
- data/checks/http/laravel.rb +27 -0
- data/checks/http/lastpass.rb +27 -0
- data/checks/http/lcn.rb +27 -0
- data/checks/http/leadpages.rb +29 -0
- data/checks/http/lighttpd.rb +31 -0
- data/checks/http/limelight_networks.rb +43 -0
- data/checks/http/limesuvey.rb +27 -0
- data/checks/http/link1.rb +31 -0
- data/checks/http/linksys.rb +38 -0
- data/checks/http/litespeed.rb +29 -0
- data/checks/http/lithium.rb +43 -0
- data/checks/http/lotus.rb +55 -0
- data/checks/http/magento.rb +96 -0
- data/checks/http/magnolia.rb +27 -0
- data/checks/http/mailchimp.rb +27 -0
- data/checks/http/manage_engine.rb +27 -0
- data/checks/http/markmonitor.rb +27 -0
- data/checks/http/mbf_bioscience.rb +29 -0
- data/checks/http/mcafee.rb +27 -0
- data/checks/http/media_temple.rb +27 -0
- data/checks/http/mediawiki.rb +54 -0
- data/checks/http/mhcsoftwareinc.rb +29 -0
- data/checks/http/microsoft.rb +1325 -0
- data/checks/http/mikrotik.rb +44 -0
- data/checks/http/modwsgi.rb +30 -0
- data/checks/http/mojolicious.rb +32 -0
- data/checks/http/moodle.rb +28 -0
- data/checks/http/mura.rb +30 -0
- data/checks/http/nagios.rb +27 -0
- data/checks/http/namesilo.rb +31 -0
- data/checks/http/nationbuilder.rb +30 -0
- data/checks/http/nec.rb +32 -0
- data/checks/http/netlify.rb +40 -0
- data/checks/http/netobjects_inc.rb +30 -0
- data/checks/http/netscape.rb +29 -0
- data/checks/http/neustar.rb +29 -0
- data/checks/http/new_relic.rb +27 -0
- data/checks/http/nexicom.rb +44 -0
- data/checks/http/nginx.rb +82 -0
- data/checks/http/nisource.rb +29 -0
- data/checks/http/nodejs.rb +79 -0
- data/checks/http/okta.rb +53 -0
- data/checks/http/ookla.rb +28 -0
- data/checks/http/openbsd.rb +30 -0
- data/checks/http/openresty.rb +41 -0
- data/checks/http/openscholar.rb +27 -0
- data/checks/http/opensolution.rb +46 -0
- data/checks/http/openssl.rb +43 -0
- data/checks/http/opentext.rb +46 -0
- data/checks/http/openvpn.rb +27 -0
- data/checks/http/opscode.rb +43 -0
- data/checks/http/oracle.rb +335 -0
- data/checks/http/orion_technology.rb +30 -0
- data/checks/http/ovh.rb +46 -0
- data/checks/http/palo_alto.rb +27 -0
- data/checks/http/pantheon.rb +54 -0
- data/checks/http/papercut.rb +29 -0
- data/checks/http/parallels.rb +44 -0
- data/checks/http/pardot.rb +44 -0
- data/checks/http/parkingcrew.rb +47 -0
- data/checks/http/pbworks.rb +27 -0
- data/checks/http/perfectsense.rb +28 -0
- data/checks/http/perl.rb +62 -0
- data/checks/http/pfsense.rb +27 -0
- data/checks/http/php.rb +72 -0
- data/checks/http/phpmyadmin.rb +40 -0
- data/checks/http/phpwind.rb +30 -0
- data/checks/http/phusion.rb +59 -0
- data/checks/http/ping_identity.rb +28 -0
- data/checks/http/pivotal_software.rb +97 -0
- data/checks/http/pjax.rb +40 -0
- data/checks/http/plesk.rb +58 -0
- data/checks/http/porkbun.rb +31 -0
- data/checks/http/progress.rb +30 -0
- data/checks/http/proofpoint.rb +30 -0
- data/checks/http/pulsesecure.rb +91 -0
- data/checks/http/python.rb +30 -0
- data/checks/http/qnap.rb +43 -0
- data/checks/http/qualys.rb +69 -0
- data/checks/http/rapid7.rb +27 -0
- data/checks/http/rbs.rb +30 -0
- data/checks/http/readmeio.rb +28 -0
- data/checks/http/red_hat.rb +95 -0
- data/checks/http/redmine.rb +38 -0
- data/checks/http/restlet.rb +30 -0
- data/checks/http/ritecms.rb +30 -0
- data/checks/http/roadiz.rb +30 -0
- data/checks/http/rock.rb +30 -0
- data/checks/http/rollbar.rb +27 -0
- data/checks/http/roundcube.rb +42 -0
- data/checks/http/ruby.rb +92 -0
- data/checks/http/ruckus_wireless.rb +26 -0
- data/checks/http/sailpoint.rb +30 -0
- data/checks/http/salesforce.rb +28 -0
- data/checks/http/sap.rb +149 -0
- data/checks/http/seamless_cms.rb +30 -0
- data/checks/http/securi.rb +54 -0
- data/checks/http/sedo.rb +63 -0
- data/checks/http/segment.rb +27 -0
- data/checks/http/sencha.rb +31 -0
- data/checks/http/sentry.rb +27 -0
- data/checks/http/serendipity.rb +30 -0
- data/checks/http/shopfactory.rb +30 -0
- data/checks/http/sip.rb +29 -0
- data/checks/http/sitecore.rb +39 -0
- data/checks/http/smartling.rb +27 -0
- data/checks/http/smf.rb +30 -0
- data/checks/http/snews.rb +30 -0
- data/checks/http/software_ag.rb +47 -0
- data/checks/http/soha.rb +66 -0
- data/checks/http/solarwinds.rb +41 -0
- data/checks/http/sonatype.rb +43 -0
- data/checks/http/sonicwall.rb +63 -0
- data/checks/http/sophos.rb +40 -0
- data/checks/http/southriver.rb +43 -0
- data/checks/http/splash.rb +29 -0
- data/checks/http/splunk.rb +27 -0
- data/checks/http/springfox.rb +43 -0
- data/checks/http/squarespace.rb +41 -0
- data/checks/http/stackpath.rb +29 -0
- data/checks/http/stibo_systems.rb +35 -0
- data/checks/http/subrion.rb +29 -0
- data/checks/http/symantec.rb +27 -0
- data/checks/http/synacor.rb +26 -0
- data/checks/http/tableau_software.rb +42 -0
- data/checks/http/telerik.rb +46 -0
- data/checks/http/tengine.rb +29 -0
- data/checks/http/tibco.rb +57 -0
- data/checks/http/townnews.rb +33 -0
- data/checks/http/tridium.rb +28 -0
- data/checks/http/twiki.rb +27 -0
- data/checks/http/typo3.rb +27 -0
- data/checks/http/uberflip.rb +28 -0
- data/checks/http/ucoz.rb +31 -0
- data/checks/http/umbraco.rb +29 -0
- data/checks/http/unbounce.rb +28 -0
- data/checks/http/united_domains.rb +27 -0
- data/checks/http/vanilla_forums.rb +27 -0
- data/checks/http/varnish.rb +79 -0
- data/checks/http/vbulletin.rb +66 -0
- data/checks/http/verizon.rb +27 -0
- data/checks/http/vmware.rb +53 -0
- data/checks/http/vue_js.rb +27 -0
- data/checks/http/webflow.rb +44 -0
- data/checks/http/webgui.rb +30 -0
- data/checks/http/webmin.rb +44 -0
- data/checks/http/webpagetest_project.rb +30 -0
- data/checks/http/wftpserver.rb +28 -0
- data/checks/http/wildfly.rb +29 -0
- data/checks/http/wix.rb +28 -0
- data/checks/http/woltlab_gmbh.rb +30 -0
- data/checks/http/wordpress/ithemes.rb +50 -0
- data/checks/http/wordpress/john_godley.rb +29 -0
- data/checks/http/wordpress/pixelcraft.rb +31 -0
- data/checks/http/wordpress/rocklobster.rb +29 -0
- data/checks/http/wordpress/team_heateor.rb +31 -0
- data/checks/http/wordpress/w3_total_cache.rb +30 -0
- data/checks/http/wordpress/wp_fastest_cache.rb +30 -0
- data/checks/http/wordpress/wp_super_cache.rb +46 -0
- data/checks/http/wordpress/wpbakery.rb +30 -0
- data/checks/http/world4you.rb +46 -0
- data/checks/http/wp_engine.rb +57 -0
- data/checks/http/xcms.rb +30 -0
- data/checks/http/xelion.rb +27 -0
- data/checks/http/xerox.rb +27 -0
- data/checks/http/xmb.rb +30 -0
- data/checks/http/xtec.rb +30 -0
- data/checks/http/yaf.rb +30 -0
- data/checks/http/yaws.rb +30 -0
- data/checks/http/yoast.rb +31 -0
- data/checks/http/zeit.rb +30 -0
- data/checks/http/zendesk.rb +41 -0
- data/checks/http/zengenti.rb +30 -0
- data/checks/http/zoho.rb +69 -0
- data/checks/http/zscaler.rb +30 -0
- data/checks/smtp/base.rb +16 -0
- data/checks/smtp/exim.rb +30 -0
- data/checks/snmp/base.rb +15 -0
- data/checks/snmp/cisco.rb +59 -0
- data/checks/ssh/array_networks.rb +28 -0
- data/checks/ssh/base.rb +16 -0
- data/checks/ssh/openssh.rb +26 -0
- data/checks/telnet/base.rb +16 -0
- data/checks/telnet/huawei.rb +26 -0
- data/data/logos/acquia.png +0 -0
- data/data/logos/amazon_cloudfront.png +0 -0
- data/data/logos/apache_coyote.png +0 -0
- data/data/logos/apache_tomcat.png +0 -0
- data/data/logos/atlassian_bamboo.png +0 -0
- data/data/logos/atlassian_bitbucket.png +0 -0
- data/data/logos/atlassian_confluence.png +0 -0
- data/data/logos/atlassian_crowd.png +0 -0
- data/data/logos/atlassian_crucible.png +0 -0
- data/data/logos/atlassian_fisheye.png +0 -0
- data/data/logos/atlassian_jira.png +0 -0
- data/data/logos/atlassian_sourcetree.png +0 -0
- data/data/logos/automattic_wordpress.png +0 -0
- data/data/logos/calibre.png +0 -0
- data/data/logos/cisco_ssl_vpn.png +0 -0
- data/data/logos/citrix_netscaler_gateway.png +0 -0
- data/data/logos/cloudflare_cdn.png +0 -0
- data/data/logos/drupal.png +0 -0
- data/data/logos/f5_big-ip.png +0 -0
- data/data/logos/f5_big-ip_apm.png +0 -0
- data/data/logos/fastly.png +0 -0
- data/data/logos/generic.png +0 -0
- data/data/logos/gitlab.png +0 -0
- data/data/logos/ibm_axway_securetransport.png +0 -0
- data/data/logos/lithium.png +0 -0
- data/data/logos/microsoft_asp.net.png +0 -0
- data/data/logos/microsoft_iis.png +0 -0
- data/data/logos/microsoft_outlook_web_access.png +0 -0
- data/data/logos/microsoft_sharepoint.png +0 -0
- data/data/logos/microtik_routeros.png +0 -0
- data/data/logos/mikrotik_routeros.png +0 -0
- data/data/logos/newrelic.png +0 -0
- data/data/logos/nginx.png +0 -0
- data/data/logos/okta.png +0 -0
- data/data/logos/oracle_glassfish.png +0 -0
- data/data/logos/oracle_java_application_server.png +0 -0
- data/data/logos/oracle_java_server_pages.png +0 -0
- data/data/logos/oracle_weblogic.png +0 -0
- data/data/logos/phpmyadmin.png +0 -0
- data/data/logos/tableau.png +0 -0
- data/data/logos/vmware_esxi.png +0 -0
- data/data/logos/vmware_horizon.png +0 -0
- data/data/logos/zendesk.png +0 -0
- data/data/logos/zimbra_server.png +0 -0
- data/data/microsoft_sharepoint_versions.csv +224 -0
- data/intrigue-ident.gemspec +8 -7
- data/lib/banner_helpers.rb +36 -0
- data/lib/ftp/check_factory.rb +24 -0
- data/lib/ftp/content.rb +13 -0
- data/lib/ftp/ftp.rb +52 -0
- data/lib/ftp/matchers.rb +26 -0
- data/lib/http/browser.rb +260 -0
- data/lib/http/check_factory.rb +47 -0
- data/lib/http/content.rb +45 -0
- data/lib/http/http.rb +463 -0
- data/lib/http/matchers.rb +132 -0
- data/lib/ident.rb +263 -0
- data/lib/recog_wrapper.rb +70 -0
- data/lib/simple_socket.rb +41 -0
- data/lib/smtp/check_factory.rb +24 -0
- data/lib/smtp/content.rb +13 -0
- data/lib/smtp/matchers.rb +28 -0
- data/lib/smtp/smtp.rb +53 -0
- data/lib/snmp/check_factory.rb +24 -0
- data/lib/snmp/content.rb +13 -0
- data/lib/snmp/matchers.rb +25 -0
- data/lib/snmp/snmp.rb +55 -0
- data/lib/ssh/check_factory.rb +24 -0
- data/lib/ssh/content.rb +13 -0
- data/lib/ssh/matchers.rb +26 -0
- data/lib/ssh/ssh.rb +52 -0
- data/lib/telnet/check_factory.rb +24 -0
- data/lib/telnet/content.rb +13 -0
- data/lib/telnet/matchers.rb +26 -0
- data/lib/telnet/telnet.rb +52 -0
- data/lib/utils.rb +19 -0
- data/lib/version.rb +3 -0
- data/lib/vulndb_client.rb +43 -0
- data/util/console.rb +9 -0
- data/util/docker.sh +2 -0
- data/util/ident.rb +375 -0
- data/util/list_paths.rb +12 -0
- data/util/tags.rb +36 -0
- data/utils.rb +19 -0
- metadata +487 -55
- data/ident.rb +0 -319
- data/lib/check_factory.rb +0 -22
- data/lib/checks/akamai.rb +0 -22
- data/lib/checks/amazon.rb +0 -26
- data/lib/checks/aruba.rb +0 -20
- data/lib/checks/asp_net.rb +0 -70
- data/lib/checks/atlassian.rb +0 -55
- data/lib/checks/base.rb +0 -13
- data/lib/checks/chef.rb +0 -31
- data/lib/checks/cisco.rb +0 -33
- data/lib/checks/citrix.rb +0 -24
- data/lib/checks/cloudflare.rb +0 -59
- data/lib/checks/cloudfront.rb +0 -41
- data/lib/checks/cpanel.rb +0 -23
- data/lib/checks/django.rb +0 -22
- data/lib/checks/drupal.rb +0 -26
- data/lib/checks/f5.rb +0 -24
- data/lib/checks/fastly.rb +0 -22
- data/lib/checks/generic.rb +0 -23
- data/lib/checks/gitlab.rb +0 -22
- data/lib/checks/google.rb +0 -23
- data/lib/checks/grafana.rb +0 -22
- data/lib/checks/jenkins.rb +0 -40
- data/lib/checks/joomla.rb +0 -23
- data/lib/checks/limesuvey.rb +0 -22
- data/lib/checks/lithium.rb +0 -30
- data/lib/checks/magento.rb +0 -22
- data/lib/checks/mcafee.rb +0 -22
- data/lib/checks/mediawiki.rb +0 -38
- data/lib/checks/microsoft.rb +0 -69
- data/lib/checks/nagios.rb +0 -22
- data/lib/checks/oracle.rb +0 -38
- data/lib/checks/palo_alto.rb +0 -23
- data/lib/checks/pardot.rb +0 -22
- data/lib/checks/pfsense.rb +0 -25
- data/lib/checks/phpmyadmin.rb +0 -22
- data/lib/checks/rabbitmq.rb +0 -29
- data/lib/checks/spring.rb +0 -31
- data/lib/checks/team_city.rb +0 -22
- data/lib/checks/telerik.rb +0 -25
- data/lib/checks/tomcat.rb +0 -22
- data/lib/checks/varnish.rb +0 -27
- data/lib/checks/wordpress.rb +0 -120
- data/lib/checks/wp_engine.rb +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32cb17663810844bd445fbd30fc87ed296e432dee65c809c55c0103c2018223f
|
4
|
+
data.tar.gz: ab582bae1548877adda260b27b3cc36c3c399f5dfac4bc2120df58ff11c028c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
+
|
data/.gitignore
ADDED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.6.5
|
data/Dockerfile
ADDED
@@ -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
|
2
|
+
ruby '2.6.5'
|
3
3
|
|
4
|
-
gem
|
5
|
-
gem
|
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'
|
data/Gemfile.lock
CHANGED
@@ -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.
|
11
|
+
coderay (1.1.3)
|
5
12
|
diff-lcs (1.3)
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
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.
|
22
|
-
rspec-support (3.
|
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
|
-
|
39
|
+
recog-intrigue!
|
40
|
+
rspec-core
|
41
|
+
rspec-expectations
|
42
|
+
slop
|
43
|
+
snmp
|
44
|
+
socketry
|
30
45
|
|
31
46
|
RUBY VERSION
|
32
|
-
ruby 2.
|
47
|
+
ruby 2.6.5p114
|
33
48
|
|
34
49
|
BUNDLED WITH
|
35
|
-
1.
|
50
|
+
2.1.4
|
data/LICENSE.md
ADDED
@@ -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.
|
data/README.md
ADDED
@@ -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
|
data/checks/ftp/base.rb
ADDED
@@ -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
|
data/checks/ftp/vsftp.rb
ADDED
@@ -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
|
+
|