diff options
Diffstat (limited to 'test/docker/expected_results')
54 files changed, 1367 insertions, 0 deletions
diff --git a/test/docker/expected_results/dropbear_2019.78_test1.json b/test/docker/expected_results/dropbear_2019.78_test1.json new file mode 100644 index 0000000..186cb06 --- /dev/null +++ b/test/docker/expected_results/dropbear_2019.78_test1.json @@ -0,0 +1 @@ +{"banner": {"comments": null, "protocol": [2, 0], "raw": "SSH-2.0-dropbear_2019.78", "software": "dropbear_2019.78"}, "compression": ["zlib@openssh.com", "none"], "enc": ["aes128-ctr", "aes256-ctr", "aes128-cbc", "aes256-cbc", "3des-ctr", "3des-cbc"], "fingerprints": [{"hash": "CDfAU12pjQS7/91kg7gYacza0U/6PDbE04Ic3IpYxkM", "hash_alg": "SHA256", "hostkey": "ssh-rsa"}, {"hash": "63:7f:54:f7:0a:28:7f:75:0b:f4:07:0b:fc:66:51:a2", "hash_alg": "MD5", "hostkey": "ssh-rsa"}], "kex": [{"algorithm": "curve25519-sha256"}, {"algorithm": "curve25519-sha256@libssh.org"}, {"algorithm": "ecdh-sha2-nistp521"}, {"algorithm": "ecdh-sha2-nistp384"}, {"algorithm": "ecdh-sha2-nistp256"}, {"algorithm": "diffie-hellman-group14-sha256"}, {"algorithm": "diffie-hellman-group14-sha1"}, {"algorithm": "kexguess2@matt.ucc.asn.au"}], "key": [{"algorithm": "ecdsa-sha2-nistp256"}, {"algorithm": "ssh-rsa", "keysize": 1024}, {"algorithm": "ssh-dss"}], "mac": ["hmac-sha1-96", "hmac-sha1", "hmac-sha2-256"], "target": "localhost"} diff --git a/test/docker/expected_results/dropbear_2019.78_test1.txt b/test/docker/expected_results/dropbear_2019.78_test1.txt new file mode 100644 index 0000000..93205f4 --- /dev/null +++ b/test/docker/expected_results/dropbear_2019.78_test1.txt @@ -0,0 +1,88 @@ +[0;36m# general[0m +[0;32m(gen) banner: SSH-2.0-dropbear_2019.78[0m +[0;32m(gen) software: Dropbear SSH 2019.78[0m +[0;32m(gen) compatibility: OpenSSH 7.4+ (some functionality from 6.6), Dropbear SSH 2018.76+[0m +[0;32m(gen) compression: enabled (zlib@openssh.com)[0m + +[0;36m# key exchange algorithms[0m +[0;32m(kex) curve25519-sha256 -- [info] available since OpenSSH 7.4, Dropbear SSH 2018.76[0m +[0;32m(kex) curve25519-sha256@libssh.org -- [info] available since OpenSSH 6.5, Dropbear SSH 2013.62[0m +[0;31m(kex) ecdh-sha2-nistp521 -- [fail] using weak elliptic curves[0m + `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62 +[0;31m(kex) ecdh-sha2-nistp384 -- [fail] using weak elliptic curves[0m + `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62 +[0;31m(kex) ecdh-sha2-nistp256 -- [fail] using weak elliptic curves[0m + `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62 +[0;32m(kex) diffie-hellman-group14-sha256 -- [info] available since OpenSSH 7.3, Dropbear SSH 2016.73[0m +[0;33m(kex) diffie-hellman-group14-sha1 -- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 3.9, Dropbear SSH 0.53 +[0;32m(kex) kexguess2@matt.ucc.asn.au -- [info] available since Dropbear SSH 2013.57[0m + +[0;36m# host-key algorithms[0m +[0;31m(key) ecdsa-sha2-nistp256 -- [fail] using weak elliptic curves[0m +[0;33m `- [warn] using weak random number generator could reveal the key[0m + `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62 +[0;31m(key) ssh-rsa (1024-bit) -- [fail] using weak hashing algorithm[0m +[0;31m `- [fail] using small 1024-bit modulus[0m + `- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.28 + `- [info] a future deprecation notice has been issued in OpenSSH 8.2: https://www.openssh.com/txt/release-8.2 +[0;31m(key) ssh-dss -- [fail] using small 1024-bit modulus[0m +[0;31m `- [fail] removed (in server) and disabled (in client) since OpenSSH 7.0, weak algorithm[0m +[0;33m `- [warn] using weak random number generator could reveal the key[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 + +[0;36m# encryption algorithms (ciphers)[0m +[0;32m(enc) aes128-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;32m(enc) aes256-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;31m(enc) aes128-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28 +[0;31m(enc) aes256-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.47 +[0;31m(enc) 3des-ctr -- [fail] using weak cipher[0m + `- [info] available since Dropbear SSH 0.52 +[0;31m(enc) 3des-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.4, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 1.2.2, Dropbear SSH 0.28 + +[0;36m# message authentication code algorithms[0m +[0;31m(mac) hmac-sha1-96 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.47 +[0;33m(mac) hmac-sha1 -- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 +[0;33m(mac) hmac-sha2-256 -- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56 + +[0;36m# fingerprints[0m +[0;32m(fin) ssh-rsa: SHA256:CDfAU12pjQS7/91kg7gYacza0U/6PDbE04Ic3IpYxkM[0m + +[0;36m# algorithm recommendations (for Dropbear SSH 2019.78)[0m +[0;31m(rec) -3des-cbc -- enc algorithm to remove [0m +[0;31m(rec) -3des-ctr -- enc algorithm to remove [0m +[0;31m(rec) -aes128-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes256-cbc -- enc algorithm to remove [0m +[0;31m(rec) -ecdh-sha2-nistp256 -- kex algorithm to remove [0m +[0;31m(rec) -ecdh-sha2-nistp384 -- kex algorithm to remove [0m +[0;31m(rec) -ecdh-sha2-nistp521 -- kex algorithm to remove [0m +[0;31m(rec) -ecdsa-sha2-nistp256 -- key algorithm to remove [0m +[0;31m(rec) -hmac-sha1-96 -- mac algorithm to remove [0m +[0;31m(rec) -ssh-dss -- key algorithm to remove [0m +[0;31m(rec) -ssh-rsa -- key algorithm to remove [0m +[0;32m(rec) +diffie-hellman-group16-sha512 -- kex algorithm to append [0m +[0;32m(rec) +twofish128-ctr -- enc algorithm to append [0m +[0;32m(rec) +twofish256-ctr -- enc algorithm to append [0m +[0;33m(rec) -diffie-hellman-group14-sha1 -- kex algorithm to remove [0m +[0;33m(rec) -hmac-sha1 -- mac algorithm to remove [0m +[0;33m(rec) -hmac-sha2-256 -- mac algorithm to remove [0m + +[0;36m# additional info[0m +[0;33m(nfo) For hardening guides on common OSes, please see: <https://www.ssh-audit.com/hardening_guides.html>[0m + diff --git a/test/docker/expected_results/openssh_4.0p1_test1.json b/test/docker/expected_results/openssh_4.0p1_test1.json new file mode 100644 index 0000000..33e63cf --- /dev/null +++ b/test/docker/expected_results/openssh_4.0p1_test1.json @@ -0,0 +1 @@ +{"banner": {"comments": null, "protocol": [1, 99], "raw": "SSH-1.99-OpenSSH_4.0", "software": "OpenSSH_4.0"}, "compression": ["none", "zlib"], "enc": ["aes128-cbc", "3des-cbc", "blowfish-cbc", "cast128-cbc", "arcfour", "aes192-cbc", "aes256-cbc", "rijndael-cbc@lysator.liu.se", "aes128-ctr", "aes192-ctr", "aes256-ctr"], "fingerprints": [{"hash": "YZ457EBcJTSxRKI3yXRgtAj3PBf5B9/F36b1SVooml4", "hash_alg": "SHA256", "hostkey": "ssh-rsa"}, {"hash": "3c:c3:38:f8:55:39:c0:4a:5a:17:89:60:2c:a1:fc:6a", "hash_alg": "MD5", "hostkey": "ssh-rsa"}], "kex": [{"algorithm": "diffie-hellman-group-exchange-sha1", "keysize": 1024}, {"algorithm": "diffie-hellman-group14-sha1"}, {"algorithm": "diffie-hellman-group1-sha1"}], "key": [{"algorithm": "ssh-rsa", "keysize": 1024}, {"algorithm": "ssh-dss"}], "mac": ["hmac-md5", "hmac-sha1", "hmac-ripemd160", "hmac-ripemd160@openssh.com", "hmac-sha1-96", "hmac-md5-96"], "target": "localhost"} diff --git a/test/docker/expected_results/openssh_4.0p1_test1.txt b/test/docker/expected_results/openssh_4.0p1_test1.txt new file mode 100644 index 0000000..419105a --- /dev/null +++ b/test/docker/expected_results/openssh_4.0p1_test1.txt @@ -0,0 +1,145 @@ +[0;36m# general[0m +[0;31m(gen) banner: SSH-1.99-OpenSSH_4.0[0m +[0;31m(gen) protocol SSH1 enabled[0m +[0;32m(gen) software: OpenSSH 4.0[0m +[0;32m(gen) compatibility: OpenSSH 3.9-6.6, Dropbear SSH 0.53+ (some functionality from 0.52)[0m +[0;32m(gen) compression: enabled (zlib)[0m + +[0;36m# security[0m +[0;33m(cve) CVE-2018-15473 -- (CVSSv2: 5.3) enumerate usernames due to timing discrepencies[0m +[0;33m(cve) CVE-2016-3115 -- (CVSSv2: 5.5) bypass command restrictions via crafted X11 forwarding data[0m +[0;33m(cve) CVE-2014-1692 -- (CVSSv2: 7.5) cause DoS via triggering error condition (memory corruption)[0m +[0;33m(cve) CVE-2012-0814 -- (CVSSv2: 3.5) leak data via debug messages[0m +[0;33m(cve) CVE-2011-5000 -- (CVSSv2: 3.5) cause DoS via large value in certain length field (memory consumption)[0m +[0;33m(cve) CVE-2010-5107 -- (CVSSv2: 5.0) cause DoS via large number of connections (slot exhaustion)[0m +[0;33m(cve) CVE-2010-4755 -- (CVSSv2: 4.0) cause DoS via crafted glob expression (CPU and memory consumption)[0m +[0;33m(cve) CVE-2010-4478 -- (CVSSv2: 7.5) bypass authentication check via crafted values[0m +[0;33m(cve) CVE-2008-5161 -- (CVSSv2: 2.6) recover plaintext data from ciphertext[0m +[0;33m(cve) CVE-2008-4109 -- (CVSSv2: 5.0) cause DoS via multiple login attempts (slot exhaustion)[0m +[0;33m(cve) CVE-2008-1657 -- (CVSSv2: 6.5) bypass command restrictions via modifying session file[0m +[0;33m(cve) CVE-2008-1483 -- (CVSSv2: 6.9) hijack forwarded X11 connections[0m +[0;33m(cve) CVE-2007-4752 -- (CVSSv2: 7.5) privilege escalation via causing an X client to be trusted[0m +[0;33m(cve) CVE-2007-2243 -- (CVSSv2: 5.0) discover valid usernames through different responses[0m +[0;33m(cve) CVE-2006-5052 -- (CVSSv2: 5.0) discover valid usernames through different responses[0m +[0;31m(cve) CVE-2006-5051 -- (CVSSv2: 9.3) cause DoS or execute arbitrary code (double free)[0m +[0;33m(cve) CVE-2006-4924 -- (CVSSv2: 7.8) cause DoS via crafted packet (CPU consumption)[0m +[0;33m(cve) CVE-2006-0225 -- (CVSSv2: 4.6) execute arbitrary code[0m +[0;33m(cve) CVE-2005-2798 -- (CVSSv2: 5.0) leak data about authentication credentials[0m +[0;31m(sec) SSH v1 enabled -- SSH v1 can be exploited to recover plaintext passwords[0m + +[0;36m# key exchange algorithms[0m +[0;31m(kex) diffie-hellman-group-exchange-sha1 (1024-bit) -- [fail] using small 1024-bit modulus[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.3.0 +[0;33m(kex) diffie-hellman-group14-sha1 -- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 3.9, Dropbear SSH 0.53 +[0;31m(kex) diffie-hellman-group1-sha1 -- [fail] using small 1024-bit modulus[0m +[0;31m `- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;31m `- [fail] disabled (in client) since OpenSSH 7.0, logjam attack[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28 + +[0;36m# host-key algorithms[0m +[0;31m(key) ssh-rsa (1024-bit) -- [fail] using weak hashing algorithm[0m +[0;31m `- [fail] using small 1024-bit modulus[0m + `- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.28 + `- [info] a future deprecation notice has been issued in OpenSSH 8.2: https://www.openssh.com/txt/release-8.2 +[0;31m(key) ssh-dss -- [fail] using small 1024-bit modulus[0m +[0;31m `- [fail] removed (in server) and disabled (in client) since OpenSSH 7.0, weak algorithm[0m +[0;33m `- [warn] using weak random number generator could reveal the key[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 + +[0;36m# encryption algorithms (ciphers)[0m +[0;31m(enc) aes128-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28 +[0;31m(enc) 3des-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.4, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 1.2.2, Dropbear SSH 0.28 +[0;31m(enc) blowfish-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;31m `- [fail] disabled since Dropbear SSH 0.53[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 1.2.2, Dropbear SSH 0.28 +[0;31m(enc) cast128-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(enc) arcfour -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(enc) aes192-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0 +[0;31m(enc) aes256-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.47 +[0;31m(enc) rijndael-cbc@lysator.liu.se -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0 +[0;32m(enc) aes128-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;32m(enc) aes192-ctr -- [info] available since OpenSSH 3.7[0m +[0;32m(enc) aes256-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m + +[0;36m# message authentication code algorithms[0m +[0;31m(mac) hmac-md5 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 +[0;33m(mac) hmac-sha1 -- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 +[0;31m(mac) hmac-ripemd160 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 2.5.0 +[0;31m(mac) hmac-ripemd160@openssh.com -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(mac) hmac-sha1-96 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.47 +[0;31m(mac) hmac-md5-96 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.5.0 + +[0;36m# fingerprints[0m +[0;32m(fin) ssh-rsa: SHA256:YZ457EBcJTSxRKI3yXRgtAj3PBf5B9/F36b1SVooml4[0m + +[0;36m# algorithm recommendations (for OpenSSH 4.0)[0m +[0;31m(rec) -3des-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes128-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes192-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes256-cbc -- enc algorithm to remove [0m +[0;31m(rec) -arcfour -- enc algorithm to remove [0m +[0;31m(rec) -blowfish-cbc -- enc algorithm to remove [0m +[0;31m(rec) -cast128-cbc -- enc algorithm to remove [0m +[0;31m(rec) -diffie-hellman-group-exchange-sha1 -- kex algorithm to remove [0m +[0;31m(rec) -diffie-hellman-group1-sha1 -- kex algorithm to remove [0m +[0;31m(rec) -hmac-md5 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-md5-96 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-ripemd160 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-ripemd160@openssh.com -- mac algorithm to remove [0m +[0;31m(rec) -hmac-sha1-96 -- mac algorithm to remove [0m +[0;31m(rec) -rijndael-cbc@lysator.liu.se -- enc algorithm to remove [0m +[0;31m(rec) -ssh-dss -- key algorithm to remove [0m +[0;31m(rec) -ssh-rsa -- key algorithm to remove [0m +[0;33m(rec) -diffie-hellman-group14-sha1 -- kex algorithm to remove [0m +[0;33m(rec) -hmac-sha1 -- mac algorithm to remove [0m + +[0;36m# additional info[0m +[0;33m(nfo) For hardening guides on common OSes, please see: <https://www.ssh-audit.com/hardening_guides.html>[0m + diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test1.json b/test/docker/expected_results/openssh_5.6p1_custom_policy_test1.json new file mode 100644 index 0000000..52d9e38 --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test1.json @@ -0,0 +1 @@ +{"errors": [], "host": "localhost", "passed": true, "policy": "Docker policy: test1 (version 1)"} diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test1.txt b/test/docker/expected_results/openssh_5.6p1_custom_policy_test1.txt new file mode 100644 index 0000000..01146f8 --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test1.txt @@ -0,0 +1,3 @@ +Host: localhost:2222 +Policy: Docker policy: test1 (version 1) +Result: [0;32m✔ Passed[0m diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test10.json b/test/docker/expected_results/openssh_5.6p1_custom_policy_test10.json new file mode 100644 index 0000000..7bf35ae --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test10.json @@ -0,0 +1 @@ +{"errors": [{"actual": ["3072"], "expected_optional": [""], "expected_required": ["4096"], "mismatched_field": "RSA host key (ssh-rsa-cert-v01@openssh.com) sizes"}, {"actual": ["1024"], "expected_optional": [""], "expected_required": ["4096"], "mismatched_field": "RSA CA key (ssh-rsa-cert-v01@openssh.com) sizes"}], "host": "localhost", "passed": false, "policy": "Docker poliicy: test10 (version 1)"} diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test10.txt b/test/docker/expected_results/openssh_5.6p1_custom_policy_test10.txt new file mode 100644 index 0000000..7f8befc --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test10.txt @@ -0,0 +1,13 @@ +Host: localhost:2222 +Policy: Docker poliicy: test10 (version 1) +Result: [0;31m❌ Failed![0m +[0;33m +Errors: + * RSA CA key (ssh-rsa-cert-v01@openssh.com) sizes did not match. + - Expected: 4096 + - Actual: 1024 + + * RSA host key (ssh-rsa-cert-v01@openssh.com) sizes did not match. + - Expected: 4096 + - Actual: 3072 +[0m diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test2.json b/test/docker/expected_results/openssh_5.6p1_custom_policy_test2.json new file mode 100644 index 0000000..4d39f6a --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test2.json @@ -0,0 +1 @@ +{"errors": [{"actual": ["diffie-hellman-group-exchange-sha256", "diffie-hellman-group-exchange-sha1", "diffie-hellman-group14-sha1", "diffie-hellman-group1-sha1"], "expected_optional": [""], "expected_required": ["kex_alg1", "kex_alg2"], "mismatched_field": "Key exchanges"}], "host": "localhost", "passed": false, "policy": "Docker policy: test2 (version 1)"} diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test2.txt b/test/docker/expected_results/openssh_5.6p1_custom_policy_test2.txt new file mode 100644 index 0000000..e88e44b --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test2.txt @@ -0,0 +1,9 @@ +Host: localhost:2222 +Policy: Docker policy: test2 (version 1) +Result: [0;31m❌ Failed![0m +[0;33m +Errors: + * Key exchanges did not match. + - Expected: kex_alg1, kex_alg2 + - Actual: diffie-hellman-group-exchange-sha256, diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1, diffie-hellman-group1-sha1 +[0m diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test3.json b/test/docker/expected_results/openssh_5.6p1_custom_policy_test3.json new file mode 100644 index 0000000..519fc40 --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test3.json @@ -0,0 +1 @@ +{"errors": [{"actual": ["ssh-rsa", "ssh-dss"], "expected_optional": [""], "expected_required": ["ssh-rsa", "ssh-dss", "key_alg1"], "mismatched_field": "Host keys"}], "host": "localhost", "passed": false, "policy": "Docker policy: test3 (version 1)"} diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test3.txt b/test/docker/expected_results/openssh_5.6p1_custom_policy_test3.txt new file mode 100644 index 0000000..cf7eefc --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test3.txt @@ -0,0 +1,9 @@ +Host: localhost:2222 +Policy: Docker policy: test3 (version 1) +Result: [0;31m❌ Failed![0m +[0;33m +Errors: + * Host keys did not match. + - Expected: ssh-rsa, ssh-dss, key_alg1 + - Actual: ssh-rsa, ssh-dss +[0m diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test4.json b/test/docker/expected_results/openssh_5.6p1_custom_policy_test4.json new file mode 100644 index 0000000..83db23b --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test4.json @@ -0,0 +1 @@ +{"errors": [{"actual": ["aes128-ctr", "aes192-ctr", "aes256-ctr", "arcfour256", "arcfour128", "aes128-cbc", "3des-cbc", "blowfish-cbc", "cast128-cbc", "aes192-cbc", "aes256-cbc", "arcfour", "rijndael-cbc@lysator.liu.se"], "expected_optional": [""], "expected_required": ["cipher_alg1", "cipher_alg2"], "mismatched_field": "Ciphers"}], "host": "localhost", "passed": false, "policy": "Docker policy: test4 (version 1)"} diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test4.txt b/test/docker/expected_results/openssh_5.6p1_custom_policy_test4.txt new file mode 100644 index 0000000..514b715 --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test4.txt @@ -0,0 +1,9 @@ +Host: localhost:2222 +Policy: Docker policy: test4 (version 1) +Result: [0;31m❌ Failed![0m +[0;33m +Errors: + * Ciphers did not match. + - Expected: cipher_alg1, cipher_alg2 + - Actual: aes128-ctr, aes192-ctr, aes256-ctr, arcfour256, arcfour128, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, aes192-cbc, aes256-cbc, arcfour, rijndael-cbc@lysator.liu.se +[0m diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test5.json b/test/docker/expected_results/openssh_5.6p1_custom_policy_test5.json new file mode 100644 index 0000000..3fbfe09 --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test5.json @@ -0,0 +1 @@ +{"errors": [{"actual": ["hmac-md5", "hmac-sha1", "umac-64@openssh.com", "hmac-ripemd160", "hmac-ripemd160@openssh.com", "hmac-sha1-96", "hmac-md5-96"], "expected_optional": [""], "expected_required": ["hmac-md5", "hmac-sha1", "umac-64@openssh.com", "hmac-ripemd160", "hmac-ripemd160@openssh.com", "hmac_alg1", "hmac-md5-96"], "mismatched_field": "MACs"}], "host": "localhost", "passed": false, "policy": "Docker policy: test5 (version 1)"} diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test5.txt b/test/docker/expected_results/openssh_5.6p1_custom_policy_test5.txt new file mode 100644 index 0000000..746ca8c --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test5.txt @@ -0,0 +1,9 @@ +Host: localhost:2222 +Policy: Docker policy: test5 (version 1) +Result: [0;31m❌ Failed![0m +[0;33m +Errors: + * MACs did not match. + - Expected: hmac-md5, hmac-sha1, umac-64@openssh.com, hmac-ripemd160, hmac-ripemd160@openssh.com, hmac_alg1, hmac-md5-96 + - Actual: hmac-md5, hmac-sha1, umac-64@openssh.com, hmac-ripemd160, hmac-ripemd160@openssh.com, hmac-sha1-96, hmac-md5-96 +[0m diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test7.json b/test/docker/expected_results/openssh_5.6p1_custom_policy_test7.json new file mode 100644 index 0000000..cb4b860 --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test7.json @@ -0,0 +1 @@ +{"errors": [], "host": "localhost", "passed": true, "policy": "Docker poliicy: test7 (version 1)"} diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test7.txt b/test/docker/expected_results/openssh_5.6p1_custom_policy_test7.txt new file mode 100644 index 0000000..4014b23 --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test7.txt @@ -0,0 +1,3 @@ +Host: localhost:2222 +Policy: Docker poliicy: test7 (version 1) +Result: [0;32m✔ Passed[0m diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test8.json b/test/docker/expected_results/openssh_5.6p1_custom_policy_test8.json new file mode 100644 index 0000000..a7fa650 --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test8.json @@ -0,0 +1 @@ +{"errors": [{"actual": ["1024"], "expected_optional": [""], "expected_required": ["2048"], "mismatched_field": "RSA CA key (ssh-rsa-cert-v01@openssh.com) sizes"}], "host": "localhost", "passed": false, "policy": "Docker poliicy: test8 (version 1)"} diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test8.txt b/test/docker/expected_results/openssh_5.6p1_custom_policy_test8.txt new file mode 100644 index 0000000..36dceba --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test8.txt @@ -0,0 +1,9 @@ +Host: localhost:2222 +Policy: Docker poliicy: test8 (version 1) +Result: [0;31m❌ Failed![0m +[0;33m +Errors: + * RSA CA key (ssh-rsa-cert-v01@openssh.com) sizes did not match. + - Expected: 2048 + - Actual: 1024 +[0m diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test9.json b/test/docker/expected_results/openssh_5.6p1_custom_policy_test9.json new file mode 100644 index 0000000..6e9faec --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test9.json @@ -0,0 +1 @@ +{"errors": [{"actual": ["3072"], "expected_optional": [""], "expected_required": ["4096"], "mismatched_field": "RSA host key (ssh-rsa-cert-v01@openssh.com) sizes"}], "host": "localhost", "passed": false, "policy": "Docker poliicy: test9 (version 1)"} diff --git a/test/docker/expected_results/openssh_5.6p1_custom_policy_test9.txt b/test/docker/expected_results/openssh_5.6p1_custom_policy_test9.txt new file mode 100644 index 0000000..fc91c9f --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_custom_policy_test9.txt @@ -0,0 +1,9 @@ +Host: localhost:2222 +Policy: Docker poliicy: test9 (version 1) +Result: [0;31m❌ Failed![0m +[0;33m +Errors: + * RSA host key (ssh-rsa-cert-v01@openssh.com) sizes did not match. + - Expected: 4096 + - Actual: 3072 +[0m diff --git a/test/docker/expected_results/openssh_5.6p1_test1.json b/test/docker/expected_results/openssh_5.6p1_test1.json new file mode 100644 index 0000000..f189bd8 --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_test1.json @@ -0,0 +1 @@ +{"banner": {"comments": null, "protocol": [2, 0], "raw": "SSH-2.0-OpenSSH_5.6", "software": "OpenSSH_5.6"}, "compression": ["none", "zlib@openssh.com"], "enc": ["aes128-ctr", "aes192-ctr", "aes256-ctr", "arcfour256", "arcfour128", "aes128-cbc", "3des-cbc", "blowfish-cbc", "cast128-cbc", "aes192-cbc", "aes256-cbc", "arcfour", "rijndael-cbc@lysator.liu.se"], "fingerprints": [{"hash": "YZ457EBcJTSxRKI3yXRgtAj3PBf5B9/F36b1SVooml4", "hash_alg": "SHA256", "hostkey": "ssh-rsa"}, {"hash": "3c:c3:38:f8:55:39:c0:4a:5a:17:89:60:2c:a1:fc:6a", "hash_alg": "MD5", "hostkey": "ssh-rsa"}], "kex": [{"algorithm": "diffie-hellman-group-exchange-sha256", "keysize": 1024}, {"algorithm": "diffie-hellman-group-exchange-sha1", "keysize": 1024}, {"algorithm": "diffie-hellman-group14-sha1"}, {"algorithm": "diffie-hellman-group1-sha1"}], "key": [{"algorithm": "ssh-rsa", "keysize": 1024}, {"algorithm": "ssh-dss"}], "mac": ["hmac-md5", "hmac-sha1", "umac-64@openssh.com", "hmac-ripemd160", "hmac-ripemd160@openssh.com", "hmac-sha1-96", "hmac-md5-96"], "target": "localhost"} diff --git a/test/docker/expected_results/openssh_5.6p1_test1.txt b/test/docker/expected_results/openssh_5.6p1_test1.txt new file mode 100644 index 0000000..014d7e7 --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_test1.txt @@ -0,0 +1,153 @@ +[0;36m# general[0m +[0;32m(gen) banner: SSH-2.0-OpenSSH_5.6[0m +[0;32m(gen) software: OpenSSH 5.6[0m +[0;32m(gen) compatibility: OpenSSH 4.7-6.6, Dropbear SSH 0.53+ (some functionality from 0.52)[0m +[0;32m(gen) compression: enabled (zlib@openssh.com)[0m + +[0;36m# security[0m +[0;33m(cve) CVE-2018-15473 -- (CVSSv2: 5.3) enumerate usernames due to timing discrepencies[0m +[0;33m(cve) CVE-2016-3115 -- (CVSSv2: 5.5) bypass command restrictions via crafted X11 forwarding data[0m +[0;33m(cve) CVE-2016-1907 -- (CVSSv2: 5.0) cause DoS via crafted network traffic (out of bounds read)[0m +[0;33m(cve) CVE-2015-6564 -- (CVSSv2: 6.9) privilege escalation via leveraging sshd uid[0m +[0;33m(cve) CVE-2015-6563 -- (CVSSv2: 1.9) conduct impersonation attack[0m +[0;33m(cve) CVE-2014-2532 -- (CVSSv2: 5.8) bypass environment restrictions via specific string before wildcard[0m +[0;33m(cve) CVE-2014-1692 -- (CVSSv2: 7.5) cause DoS via triggering error condition (memory corruption)[0m +[0;33m(cve) CVE-2012-0814 -- (CVSSv2: 3.5) leak data via debug messages[0m +[0;33m(cve) CVE-2011-5000 -- (CVSSv2: 3.5) cause DoS via large value in certain length field (memory consumption)[0m +[0;33m(cve) CVE-2010-5107 -- (CVSSv2: 5.0) cause DoS via large number of connections (slot exhaustion)[0m +[0;33m(cve) CVE-2010-4755 -- (CVSSv2: 4.0) cause DoS via crafted glob expression (CPU and memory consumption)[0m +[0;33m(cve) CVE-2010-4478 -- (CVSSv2: 7.5) bypass authentication check via crafted values[0m + +[0;36m# key exchange algorithms[0m +[0;31m(kex) diffie-hellman-group-exchange-sha256 (1024-bit) -- [fail] using small 1024-bit modulus[0m + `- [info] available since OpenSSH 4.4 +[0;31m(kex) diffie-hellman-group-exchange-sha1 (1024-bit) -- [fail] using small 1024-bit modulus[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.3.0 +[0;33m(kex) diffie-hellman-group14-sha1 -- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 3.9, Dropbear SSH 0.53 +[0;31m(kex) diffie-hellman-group1-sha1 -- [fail] using small 1024-bit modulus[0m +[0;31m `- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;31m `- [fail] disabled (in client) since OpenSSH 7.0, logjam attack[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28 + +[0;36m# host-key algorithms[0m +[0;31m(key) ssh-rsa (1024-bit) -- [fail] using weak hashing algorithm[0m +[0;31m `- [fail] using small 1024-bit modulus[0m + `- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.28 + `- [info] a future deprecation notice has been issued in OpenSSH 8.2: https://www.openssh.com/txt/release-8.2 +[0;31m(key) ssh-dss -- [fail] using small 1024-bit modulus[0m +[0;31m `- [fail] removed (in server) and disabled (in client) since OpenSSH 7.0, weak algorithm[0m +[0;33m `- [warn] using weak random number generator could reveal the key[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 + +[0;36m# encryption algorithms (ciphers)[0m +[0;32m(enc) aes128-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;32m(enc) aes192-ctr -- [info] available since OpenSSH 3.7[0m +[0;32m(enc) aes256-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;31m(enc) arcfour256 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher[0m + `- [info] available since OpenSSH 4.2 +[0;31m(enc) arcfour128 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher[0m + `- [info] available since OpenSSH 4.2 +[0;31m(enc) aes128-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28 +[0;31m(enc) 3des-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.4, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 1.2.2, Dropbear SSH 0.28 +[0;31m(enc) blowfish-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;31m `- [fail] disabled since Dropbear SSH 0.53[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 1.2.2, Dropbear SSH 0.28 +[0;31m(enc) cast128-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(enc) aes192-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0 +[0;31m(enc) aes256-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.47 +[0;31m(enc) arcfour -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(enc) rijndael-cbc@lysator.liu.se -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0 + +[0;36m# message authentication code algorithms[0m +[0;31m(mac) hmac-md5 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 +[0;33m(mac) hmac-sha1 -- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 +[0;33m(mac) umac-64@openssh.com -- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using small 64-bit tag size[0m + `- [info] available since OpenSSH 4.7 +[0;31m(mac) hmac-ripemd160 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 2.5.0 +[0;31m(mac) hmac-ripemd160@openssh.com -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(mac) hmac-sha1-96 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.47 +[0;31m(mac) hmac-md5-96 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.5.0 + +[0;36m# fingerprints[0m +[0;32m(fin) ssh-rsa: SHA256:YZ457EBcJTSxRKI3yXRgtAj3PBf5B9/F36b1SVooml4[0m + +[0;36m# algorithm recommendations (for OpenSSH 5.6)[0m +[0;31m(rec) !diffie-hellman-group-exchange-sha256 -- kex algorithm to change (increase modulus size to 2048 bits or larger) [0m +[0;31m(rec) -3des-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes128-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes192-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes256-cbc -- enc algorithm to remove [0m +[0;31m(rec) -arcfour -- enc algorithm to remove [0m +[0;31m(rec) -arcfour128 -- enc algorithm to remove [0m +[0;31m(rec) -arcfour256 -- enc algorithm to remove [0m +[0;31m(rec) -blowfish-cbc -- enc algorithm to remove [0m +[0;31m(rec) -cast128-cbc -- enc algorithm to remove [0m +[0;31m(rec) -diffie-hellman-group-exchange-sha1 -- kex algorithm to remove [0m +[0;31m(rec) -diffie-hellman-group1-sha1 -- kex algorithm to remove [0m +[0;31m(rec) -hmac-md5 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-md5-96 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-ripemd160 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-ripemd160@openssh.com -- mac algorithm to remove [0m +[0;31m(rec) -hmac-sha1-96 -- mac algorithm to remove [0m +[0;31m(rec) -rijndael-cbc@lysator.liu.se -- enc algorithm to remove [0m +[0;31m(rec) -ssh-dss -- key algorithm to remove [0m +[0;31m(rec) -ssh-rsa -- key algorithm to remove [0m +[0;33m(rec) -diffie-hellman-group14-sha1 -- kex algorithm to remove [0m +[0;33m(rec) -hmac-sha1 -- mac algorithm to remove [0m +[0;33m(rec) -umac-64@openssh.com -- mac algorithm to remove [0m + +[0;36m# additional info[0m +[0;33m(nfo) For hardening guides on common OSes, please see: <https://www.ssh-audit.com/hardening_guides.html>[0m + diff --git a/test/docker/expected_results/openssh_5.6p1_test2.json b/test/docker/expected_results/openssh_5.6p1_test2.json new file mode 100644 index 0000000..64d1590 --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_test2.json @@ -0,0 +1 @@ +{"banner": {"comments": null, "protocol": [2, 0], "raw": "SSH-2.0-OpenSSH_5.6", "software": "OpenSSH_5.6"}, "compression": ["none", "zlib@openssh.com"], "enc": ["aes128-ctr", "aes192-ctr", "aes256-ctr", "arcfour256", "arcfour128", "aes128-cbc", "3des-cbc", "blowfish-cbc", "cast128-cbc", "aes192-cbc", "aes256-cbc", "arcfour", "rijndael-cbc@lysator.liu.se"], "fingerprints": [{"hash": "YZ457EBcJTSxRKI3yXRgtAj3PBf5B9/F36b1SVooml4", "hash_alg": "SHA256", "hostkey": "ssh-rsa"}, {"hash": "3c:c3:38:f8:55:39:c0:4a:5a:17:89:60:2c:a1:fc:6a", "hash_alg": "MD5", "hostkey": "ssh-rsa"}], "kex": [{"algorithm": "diffie-hellman-group-exchange-sha256", "keysize": 1024}, {"algorithm": "diffie-hellman-group-exchange-sha1", "keysize": 1024}, {"algorithm": "diffie-hellman-group14-sha1"}, {"algorithm": "diffie-hellman-group1-sha1"}], "key": [{"algorithm": "ssh-rsa", "keysize": 1024}, {"algorithm": "ssh-rsa-cert-v01@openssh.com", "casize": 1024, "keysize": 1024}], "mac": ["hmac-md5", "hmac-sha1", "umac-64@openssh.com", "hmac-ripemd160", "hmac-ripemd160@openssh.com", "hmac-sha1-96", "hmac-md5-96"], "target": "localhost"} diff --git a/test/docker/expected_results/openssh_5.6p1_test2.txt b/test/docker/expected_results/openssh_5.6p1_test2.txt new file mode 100644 index 0000000..2a6825f --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_test2.txt @@ -0,0 +1,153 @@ +[0;36m# general[0m +[0;32m(gen) banner: SSH-2.0-OpenSSH_5.6[0m +[0;32m(gen) software: OpenSSH 5.6[0m +[0;32m(gen) compatibility: OpenSSH 5.6-6.6, Dropbear SSH 0.53+ (some functionality from 0.52)[0m +[0;32m(gen) compression: enabled (zlib@openssh.com)[0m + +[0;36m# security[0m +[0;33m(cve) CVE-2018-15473 -- (CVSSv2: 5.3) enumerate usernames due to timing discrepencies[0m +[0;33m(cve) CVE-2016-3115 -- (CVSSv2: 5.5) bypass command restrictions via crafted X11 forwarding data[0m +[0;33m(cve) CVE-2016-1907 -- (CVSSv2: 5.0) cause DoS via crafted network traffic (out of bounds read)[0m +[0;33m(cve) CVE-2015-6564 -- (CVSSv2: 6.9) privilege escalation via leveraging sshd uid[0m +[0;33m(cve) CVE-2015-6563 -- (CVSSv2: 1.9) conduct impersonation attack[0m +[0;33m(cve) CVE-2014-2532 -- (CVSSv2: 5.8) bypass environment restrictions via specific string before wildcard[0m +[0;33m(cve) CVE-2014-1692 -- (CVSSv2: 7.5) cause DoS via triggering error condition (memory corruption)[0m +[0;33m(cve) CVE-2012-0814 -- (CVSSv2: 3.5) leak data via debug messages[0m +[0;33m(cve) CVE-2011-5000 -- (CVSSv2: 3.5) cause DoS via large value in certain length field (memory consumption)[0m +[0;33m(cve) CVE-2010-5107 -- (CVSSv2: 5.0) cause DoS via large number of connections (slot exhaustion)[0m +[0;33m(cve) CVE-2010-4755 -- (CVSSv2: 4.0) cause DoS via crafted glob expression (CPU and memory consumption)[0m +[0;33m(cve) CVE-2010-4478 -- (CVSSv2: 7.5) bypass authentication check via crafted values[0m + +[0;36m# key exchange algorithms[0m +[0;31m(kex) diffie-hellman-group-exchange-sha256 (1024-bit) -- [fail] using small 1024-bit modulus[0m + `- [info] available since OpenSSH 4.4 +[0;31m(kex) diffie-hellman-group-exchange-sha1 (1024-bit) -- [fail] using small 1024-bit modulus[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.3.0 +[0;33m(kex) diffie-hellman-group14-sha1 -- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 3.9, Dropbear SSH 0.53 +[0;31m(kex) diffie-hellman-group1-sha1 -- [fail] using small 1024-bit modulus[0m +[0;31m `- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;31m `- [fail] disabled (in client) since OpenSSH 7.0, logjam attack[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28 + +[0;36m# host-key algorithms[0m +[0;31m(key) ssh-rsa (1024-bit) -- [fail] using weak hashing algorithm[0m +[0;31m `- [fail] using small 1024-bit modulus[0m + `- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.28 + `- [info] a future deprecation notice has been issued in OpenSSH 8.2: https://www.openssh.com/txt/release-8.2 +[0;31m(key) ssh-rsa-cert-v01@openssh.com (1024-bit cert/1024-bit CA) -- [fail] using weak hashing algorithm[0m +[0;31m `- [fail] using small 1024-bit modulus[0m + `- [info] available since OpenSSH 5.6 + `- [info] a future deprecation notice has been issued in OpenSSH 8.2: https://www.openssh.com/txt/release-8.2 + +[0;36m# encryption algorithms (ciphers)[0m +[0;32m(enc) aes128-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;32m(enc) aes192-ctr -- [info] available since OpenSSH 3.7[0m +[0;32m(enc) aes256-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;31m(enc) arcfour256 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher[0m + `- [info] available since OpenSSH 4.2 +[0;31m(enc) arcfour128 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher[0m + `- [info] available since OpenSSH 4.2 +[0;31m(enc) aes128-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28 +[0;31m(enc) 3des-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.4, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 1.2.2, Dropbear SSH 0.28 +[0;31m(enc) blowfish-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;31m `- [fail] disabled since Dropbear SSH 0.53[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 1.2.2, Dropbear SSH 0.28 +[0;31m(enc) cast128-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(enc) aes192-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0 +[0;31m(enc) aes256-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.47 +[0;31m(enc) arcfour -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(enc) rijndael-cbc@lysator.liu.se -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0 + +[0;36m# message authentication code algorithms[0m +[0;31m(mac) hmac-md5 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 +[0;33m(mac) hmac-sha1 -- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 +[0;33m(mac) umac-64@openssh.com -- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using small 64-bit tag size[0m + `- [info] available since OpenSSH 4.7 +[0;31m(mac) hmac-ripemd160 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 2.5.0 +[0;31m(mac) hmac-ripemd160@openssh.com -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(mac) hmac-sha1-96 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.47 +[0;31m(mac) hmac-md5-96 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.5.0 + +[0;36m# fingerprints[0m +[0;32m(fin) ssh-rsa: SHA256:YZ457EBcJTSxRKI3yXRgtAj3PBf5B9/F36b1SVooml4[0m + +[0;36m# algorithm recommendations (for OpenSSH 5.6)[0m +[0;31m(rec) !diffie-hellman-group-exchange-sha256 -- kex algorithm to change (increase modulus size to 2048 bits or larger) [0m +[0;31m(rec) -3des-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes128-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes192-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes256-cbc -- enc algorithm to remove [0m +[0;31m(rec) -arcfour -- enc algorithm to remove [0m +[0;31m(rec) -arcfour128 -- enc algorithm to remove [0m +[0;31m(rec) -arcfour256 -- enc algorithm to remove [0m +[0;31m(rec) -blowfish-cbc -- enc algorithm to remove [0m +[0;31m(rec) -cast128-cbc -- enc algorithm to remove [0m +[0;31m(rec) -diffie-hellman-group-exchange-sha1 -- kex algorithm to remove [0m +[0;31m(rec) -diffie-hellman-group1-sha1 -- kex algorithm to remove [0m +[0;31m(rec) -hmac-md5 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-md5-96 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-ripemd160 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-ripemd160@openssh.com -- mac algorithm to remove [0m +[0;31m(rec) -hmac-sha1-96 -- mac algorithm to remove [0m +[0;31m(rec) -rijndael-cbc@lysator.liu.se -- enc algorithm to remove [0m +[0;31m(rec) -ssh-rsa -- key algorithm to remove [0m +[0;31m(rec) -ssh-rsa-cert-v01@openssh.com -- key algorithm to remove [0m +[0;33m(rec) -diffie-hellman-group14-sha1 -- kex algorithm to remove [0m +[0;33m(rec) -hmac-sha1 -- mac algorithm to remove [0m +[0;33m(rec) -umac-64@openssh.com -- mac algorithm to remove [0m + +[0;36m# additional info[0m +[0;33m(nfo) For hardening guides on common OSes, please see: <https://www.ssh-audit.com/hardening_guides.html>[0m + diff --git a/test/docker/expected_results/openssh_5.6p1_test3.json b/test/docker/expected_results/openssh_5.6p1_test3.json new file mode 100644 index 0000000..db22eed --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_test3.json @@ -0,0 +1 @@ +{"banner": {"comments": null, "protocol": [2, 0], "raw": "SSH-2.0-OpenSSH_5.6", "software": "OpenSSH_5.6"}, "compression": ["none", "zlib@openssh.com"], "enc": ["aes128-ctr", "aes192-ctr", "aes256-ctr", "arcfour256", "arcfour128", "aes128-cbc", "3des-cbc", "blowfish-cbc", "cast128-cbc", "aes192-cbc", "aes256-cbc", "arcfour", "rijndael-cbc@lysator.liu.se"], "fingerprints": [{"hash": "YZ457EBcJTSxRKI3yXRgtAj3PBf5B9/F36b1SVooml4", "hash_alg": "SHA256", "hostkey": "ssh-rsa"}, {"hash": "3c:c3:38:f8:55:39:c0:4a:5a:17:89:60:2c:a1:fc:6a", "hash_alg": "MD5", "hostkey": "ssh-rsa"}], "kex": [{"algorithm": "diffie-hellman-group-exchange-sha256", "keysize": 1024}, {"algorithm": "diffie-hellman-group-exchange-sha1", "keysize": 1024}, {"algorithm": "diffie-hellman-group14-sha1"}, {"algorithm": "diffie-hellman-group1-sha1"}], "key": [{"algorithm": "ssh-rsa", "keysize": 1024}, {"algorithm": "ssh-rsa-cert-v01@openssh.com", "casize": 3072, "keysize": 1024}], "mac": ["hmac-md5", "hmac-sha1", "umac-64@openssh.com", "hmac-ripemd160", "hmac-ripemd160@openssh.com", "hmac-sha1-96", "hmac-md5-96"], "target": "localhost"} diff --git a/test/docker/expected_results/openssh_5.6p1_test3.txt b/test/docker/expected_results/openssh_5.6p1_test3.txt new file mode 100644 index 0000000..657b22e --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_test3.txt @@ -0,0 +1,153 @@ +[0;36m# general[0m +[0;32m(gen) banner: SSH-2.0-OpenSSH_5.6[0m +[0;32m(gen) software: OpenSSH 5.6[0m +[0;32m(gen) compatibility: OpenSSH 5.6-6.6, Dropbear SSH 0.53+ (some functionality from 0.52)[0m +[0;32m(gen) compression: enabled (zlib@openssh.com)[0m + +[0;36m# security[0m +[0;33m(cve) CVE-2018-15473 -- (CVSSv2: 5.3) enumerate usernames due to timing discrepencies[0m +[0;33m(cve) CVE-2016-3115 -- (CVSSv2: 5.5) bypass command restrictions via crafted X11 forwarding data[0m +[0;33m(cve) CVE-2016-1907 -- (CVSSv2: 5.0) cause DoS via crafted network traffic (out of bounds read)[0m +[0;33m(cve) CVE-2015-6564 -- (CVSSv2: 6.9) privilege escalation via leveraging sshd uid[0m +[0;33m(cve) CVE-2015-6563 -- (CVSSv2: 1.9) conduct impersonation attack[0m +[0;33m(cve) CVE-2014-2532 -- (CVSSv2: 5.8) bypass environment restrictions via specific string before wildcard[0m +[0;33m(cve) CVE-2014-1692 -- (CVSSv2: 7.5) cause DoS via triggering error condition (memory corruption)[0m +[0;33m(cve) CVE-2012-0814 -- (CVSSv2: 3.5) leak data via debug messages[0m +[0;33m(cve) CVE-2011-5000 -- (CVSSv2: 3.5) cause DoS via large value in certain length field (memory consumption)[0m +[0;33m(cve) CVE-2010-5107 -- (CVSSv2: 5.0) cause DoS via large number of connections (slot exhaustion)[0m +[0;33m(cve) CVE-2010-4755 -- (CVSSv2: 4.0) cause DoS via crafted glob expression (CPU and memory consumption)[0m +[0;33m(cve) CVE-2010-4478 -- (CVSSv2: 7.5) bypass authentication check via crafted values[0m + +[0;36m# key exchange algorithms[0m +[0;31m(kex) diffie-hellman-group-exchange-sha256 (1024-bit) -- [fail] using small 1024-bit modulus[0m + `- [info] available since OpenSSH 4.4 +[0;31m(kex) diffie-hellman-group-exchange-sha1 (1024-bit) -- [fail] using small 1024-bit modulus[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.3.0 +[0;33m(kex) diffie-hellman-group14-sha1 -- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 3.9, Dropbear SSH 0.53 +[0;31m(kex) diffie-hellman-group1-sha1 -- [fail] using small 1024-bit modulus[0m +[0;31m `- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;31m `- [fail] disabled (in client) since OpenSSH 7.0, logjam attack[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28 + +[0;36m# host-key algorithms[0m +[0;31m(key) ssh-rsa (1024-bit) -- [fail] using weak hashing algorithm[0m +[0;31m `- [fail] using small 1024-bit modulus[0m + `- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.28 + `- [info] a future deprecation notice has been issued in OpenSSH 8.2: https://www.openssh.com/txt/release-8.2 +[0;31m(key) ssh-rsa-cert-v01@openssh.com (1024-bit cert/3072-bit CA) -- [fail] using weak hashing algorithm[0m +[0;31m `- [fail] using small 1024-bit modulus[0m + `- [info] available since OpenSSH 5.6 + `- [info] a future deprecation notice has been issued in OpenSSH 8.2: https://www.openssh.com/txt/release-8.2 + +[0;36m# encryption algorithms (ciphers)[0m +[0;32m(enc) aes128-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;32m(enc) aes192-ctr -- [info] available since OpenSSH 3.7[0m +[0;32m(enc) aes256-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;31m(enc) arcfour256 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher[0m + `- [info] available since OpenSSH 4.2 +[0;31m(enc) arcfour128 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher[0m + `- [info] available since OpenSSH 4.2 +[0;31m(enc) aes128-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28 +[0;31m(enc) 3des-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.4, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 1.2.2, Dropbear SSH 0.28 +[0;31m(enc) blowfish-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;31m `- [fail] disabled since Dropbear SSH 0.53[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 1.2.2, Dropbear SSH 0.28 +[0;31m(enc) cast128-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(enc) aes192-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0 +[0;31m(enc) aes256-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.47 +[0;31m(enc) arcfour -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(enc) rijndael-cbc@lysator.liu.se -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0 + +[0;36m# message authentication code algorithms[0m +[0;31m(mac) hmac-md5 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 +[0;33m(mac) hmac-sha1 -- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 +[0;33m(mac) umac-64@openssh.com -- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using small 64-bit tag size[0m + `- [info] available since OpenSSH 4.7 +[0;31m(mac) hmac-ripemd160 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 2.5.0 +[0;31m(mac) hmac-ripemd160@openssh.com -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(mac) hmac-sha1-96 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.47 +[0;31m(mac) hmac-md5-96 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.5.0 + +[0;36m# fingerprints[0m +[0;32m(fin) ssh-rsa: SHA256:YZ457EBcJTSxRKI3yXRgtAj3PBf5B9/F36b1SVooml4[0m + +[0;36m# algorithm recommendations (for OpenSSH 5.6)[0m +[0;31m(rec) !diffie-hellman-group-exchange-sha256 -- kex algorithm to change (increase modulus size to 2048 bits or larger) [0m +[0;31m(rec) -3des-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes128-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes192-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes256-cbc -- enc algorithm to remove [0m +[0;31m(rec) -arcfour -- enc algorithm to remove [0m +[0;31m(rec) -arcfour128 -- enc algorithm to remove [0m +[0;31m(rec) -arcfour256 -- enc algorithm to remove [0m +[0;31m(rec) -blowfish-cbc -- enc algorithm to remove [0m +[0;31m(rec) -cast128-cbc -- enc algorithm to remove [0m +[0;31m(rec) -diffie-hellman-group-exchange-sha1 -- kex algorithm to remove [0m +[0;31m(rec) -diffie-hellman-group1-sha1 -- kex algorithm to remove [0m +[0;31m(rec) -hmac-md5 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-md5-96 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-ripemd160 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-ripemd160@openssh.com -- mac algorithm to remove [0m +[0;31m(rec) -hmac-sha1-96 -- mac algorithm to remove [0m +[0;31m(rec) -rijndael-cbc@lysator.liu.se -- enc algorithm to remove [0m +[0;31m(rec) -ssh-rsa -- key algorithm to remove [0m +[0;31m(rec) -ssh-rsa-cert-v01@openssh.com -- key algorithm to remove [0m +[0;33m(rec) -diffie-hellman-group14-sha1 -- kex algorithm to remove [0m +[0;33m(rec) -hmac-sha1 -- mac algorithm to remove [0m +[0;33m(rec) -umac-64@openssh.com -- mac algorithm to remove [0m + +[0;36m# additional info[0m +[0;33m(nfo) For hardening guides on common OSes, please see: <https://www.ssh-audit.com/hardening_guides.html>[0m + diff --git a/test/docker/expected_results/openssh_5.6p1_test4.json b/test/docker/expected_results/openssh_5.6p1_test4.json new file mode 100644 index 0000000..a5c725d --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_test4.json @@ -0,0 +1 @@ +{"banner": {"comments": null, "protocol": [2, 0], "raw": "SSH-2.0-OpenSSH_5.6", "software": "OpenSSH_5.6"}, "compression": ["none", "zlib@openssh.com"], "enc": ["aes128-ctr", "aes192-ctr", "aes256-ctr", "arcfour256", "arcfour128", "aes128-cbc", "3des-cbc", "blowfish-cbc", "cast128-cbc", "aes192-cbc", "aes256-cbc", "arcfour", "rijndael-cbc@lysator.liu.se"], "fingerprints": [{"hash": "nsWtdJ9Z67Vrf7OsUzQov7esXhsWAfVppArGh25u244", "hash_alg": "SHA256", "hostkey": "ssh-rsa"}, {"hash": "18:e2:51:fe:21:6c:78:d0:b8:cf:32:d4:bd:56:42:e1", "hash_alg": "MD5", "hostkey": "ssh-rsa"}], "kex": [{"algorithm": "diffie-hellman-group-exchange-sha256", "keysize": 1024}, {"algorithm": "diffie-hellman-group-exchange-sha1", "keysize": 1024}, {"algorithm": "diffie-hellman-group14-sha1"}, {"algorithm": "diffie-hellman-group1-sha1"}], "key": [{"algorithm": "ssh-rsa", "keysize": 3072}, {"algorithm": "ssh-rsa-cert-v01@openssh.com", "casize": 1024, "keysize": 3072}], "mac": ["hmac-md5", "hmac-sha1", "umac-64@openssh.com", "hmac-ripemd160", "hmac-ripemd160@openssh.com", "hmac-sha1-96", "hmac-md5-96"], "target": "localhost"} diff --git a/test/docker/expected_results/openssh_5.6p1_test4.txt b/test/docker/expected_results/openssh_5.6p1_test4.txt new file mode 100644 index 0000000..fb48d1c --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_test4.txt @@ -0,0 +1,152 @@ +[0;36m# general[0m +[0;32m(gen) banner: SSH-2.0-OpenSSH_5.6[0m +[0;32m(gen) software: OpenSSH 5.6[0m +[0;32m(gen) compatibility: OpenSSH 5.6-6.6, Dropbear SSH 0.53+ (some functionality from 0.52)[0m +[0;32m(gen) compression: enabled (zlib@openssh.com)[0m + +[0;36m# security[0m +[0;33m(cve) CVE-2018-15473 -- (CVSSv2: 5.3) enumerate usernames due to timing discrepencies[0m +[0;33m(cve) CVE-2016-3115 -- (CVSSv2: 5.5) bypass command restrictions via crafted X11 forwarding data[0m +[0;33m(cve) CVE-2016-1907 -- (CVSSv2: 5.0) cause DoS via crafted network traffic (out of bounds read)[0m +[0;33m(cve) CVE-2015-6564 -- (CVSSv2: 6.9) privilege escalation via leveraging sshd uid[0m +[0;33m(cve) CVE-2015-6563 -- (CVSSv2: 1.9) conduct impersonation attack[0m +[0;33m(cve) CVE-2014-2532 -- (CVSSv2: 5.8) bypass environment restrictions via specific string before wildcard[0m +[0;33m(cve) CVE-2014-1692 -- (CVSSv2: 7.5) cause DoS via triggering error condition (memory corruption)[0m +[0;33m(cve) CVE-2012-0814 -- (CVSSv2: 3.5) leak data via debug messages[0m +[0;33m(cve) CVE-2011-5000 -- (CVSSv2: 3.5) cause DoS via large value in certain length field (memory consumption)[0m +[0;33m(cve) CVE-2010-5107 -- (CVSSv2: 5.0) cause DoS via large number of connections (slot exhaustion)[0m +[0;33m(cve) CVE-2010-4755 -- (CVSSv2: 4.0) cause DoS via crafted glob expression (CPU and memory consumption)[0m +[0;33m(cve) CVE-2010-4478 -- (CVSSv2: 7.5) bypass authentication check via crafted values[0m + +[0;36m# key exchange algorithms[0m +[0;31m(kex) diffie-hellman-group-exchange-sha256 (1024-bit) -- [fail] using small 1024-bit modulus[0m + `- [info] available since OpenSSH 4.4 +[0;31m(kex) diffie-hellman-group-exchange-sha1 (1024-bit) -- [fail] using small 1024-bit modulus[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.3.0 +[0;33m(kex) diffie-hellman-group14-sha1 -- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 3.9, Dropbear SSH 0.53 +[0;31m(kex) diffie-hellman-group1-sha1 -- [fail] using small 1024-bit modulus[0m +[0;31m `- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;31m `- [fail] disabled (in client) since OpenSSH 7.0, logjam attack[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28 + +[0;36m# host-key algorithms[0m +[0;31m(key) ssh-rsa (3072-bit) -- [fail] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.28 + `- [info] a future deprecation notice has been issued in OpenSSH 8.2: https://www.openssh.com/txt/release-8.2 +[0;31m(key) ssh-rsa-cert-v01@openssh.com (3072-bit cert/1024-bit CA) -- [fail] using weak hashing algorithm[0m +[0;31m `- [fail] using small 1024-bit modulus[0m + `- [info] available since OpenSSH 5.6 + `- [info] a future deprecation notice has been issued in OpenSSH 8.2: https://www.openssh.com/txt/release-8.2 + +[0;36m# encryption algorithms (ciphers)[0m +[0;32m(enc) aes128-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;32m(enc) aes192-ctr -- [info] available since OpenSSH 3.7[0m +[0;32m(enc) aes256-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;31m(enc) arcfour256 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher[0m + `- [info] available since OpenSSH 4.2 +[0;31m(enc) arcfour128 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher[0m + `- [info] available since OpenSSH 4.2 +[0;31m(enc) aes128-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28 +[0;31m(enc) 3des-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.4, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 1.2.2, Dropbear SSH 0.28 +[0;31m(enc) blowfish-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;31m `- [fail] disabled since Dropbear SSH 0.53[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 1.2.2, Dropbear SSH 0.28 +[0;31m(enc) cast128-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(enc) aes192-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0 +[0;31m(enc) aes256-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.47 +[0;31m(enc) arcfour -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(enc) rijndael-cbc@lysator.liu.se -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0 + +[0;36m# message authentication code algorithms[0m +[0;31m(mac) hmac-md5 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 +[0;33m(mac) hmac-sha1 -- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 +[0;33m(mac) umac-64@openssh.com -- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using small 64-bit tag size[0m + `- [info] available since OpenSSH 4.7 +[0;31m(mac) hmac-ripemd160 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 2.5.0 +[0;31m(mac) hmac-ripemd160@openssh.com -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(mac) hmac-sha1-96 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.47 +[0;31m(mac) hmac-md5-96 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.5.0 + +[0;36m# fingerprints[0m +[0;32m(fin) ssh-rsa: SHA256:nsWtdJ9Z67Vrf7OsUzQov7esXhsWAfVppArGh25u244[0m + +[0;36m# algorithm recommendations (for OpenSSH 5.6)[0m +[0;31m(rec) !diffie-hellman-group-exchange-sha256 -- kex algorithm to change (increase modulus size to 2048 bits or larger) [0m +[0;31m(rec) -3des-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes128-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes192-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes256-cbc -- enc algorithm to remove [0m +[0;31m(rec) -arcfour -- enc algorithm to remove [0m +[0;31m(rec) -arcfour128 -- enc algorithm to remove [0m +[0;31m(rec) -arcfour256 -- enc algorithm to remove [0m +[0;31m(rec) -blowfish-cbc -- enc algorithm to remove [0m +[0;31m(rec) -cast128-cbc -- enc algorithm to remove [0m +[0;31m(rec) -diffie-hellman-group-exchange-sha1 -- kex algorithm to remove [0m +[0;31m(rec) -diffie-hellman-group1-sha1 -- kex algorithm to remove [0m +[0;31m(rec) -hmac-md5 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-md5-96 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-ripemd160 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-ripemd160@openssh.com -- mac algorithm to remove [0m +[0;31m(rec) -hmac-sha1-96 -- mac algorithm to remove [0m +[0;31m(rec) -rijndael-cbc@lysator.liu.se -- enc algorithm to remove [0m +[0;31m(rec) -ssh-rsa -- key algorithm to remove [0m +[0;31m(rec) -ssh-rsa-cert-v01@openssh.com -- key algorithm to remove [0m +[0;33m(rec) -diffie-hellman-group14-sha1 -- kex algorithm to remove [0m +[0;33m(rec) -hmac-sha1 -- mac algorithm to remove [0m +[0;33m(rec) -umac-64@openssh.com -- mac algorithm to remove [0m + +[0;36m# additional info[0m +[0;33m(nfo) For hardening guides on common OSes, please see: <https://www.ssh-audit.com/hardening_guides.html>[0m + diff --git a/test/docker/expected_results/openssh_5.6p1_test5.json b/test/docker/expected_results/openssh_5.6p1_test5.json new file mode 100644 index 0000000..24523b8 --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_test5.json @@ -0,0 +1 @@ +{"banner": {"comments": null, "protocol": [2, 0], "raw": "SSH-2.0-OpenSSH_5.6", "software": "OpenSSH_5.6"}, "compression": ["none", "zlib@openssh.com"], "enc": ["aes128-ctr", "aes192-ctr", "aes256-ctr", "arcfour256", "arcfour128", "aes128-cbc", "3des-cbc", "blowfish-cbc", "cast128-cbc", "aes192-cbc", "aes256-cbc", "arcfour", "rijndael-cbc@lysator.liu.se"], "fingerprints": [{"hash": "nsWtdJ9Z67Vrf7OsUzQov7esXhsWAfVppArGh25u244", "hash_alg": "SHA256", "hostkey": "ssh-rsa"}, {"hash": "18:e2:51:fe:21:6c:78:d0:b8:cf:32:d4:bd:56:42:e1", "hash_alg": "MD5", "hostkey": "ssh-rsa"}], "kex": [{"algorithm": "diffie-hellman-group-exchange-sha256", "keysize": 1024}, {"algorithm": "diffie-hellman-group-exchange-sha1", "keysize": 1024}, {"algorithm": "diffie-hellman-group14-sha1"}, {"algorithm": "diffie-hellman-group1-sha1"}], "key": [{"algorithm": "ssh-rsa", "keysize": 3072}, {"algorithm": "ssh-rsa-cert-v01@openssh.com", "casize": 3072, "keysize": 3072}], "mac": ["hmac-md5", "hmac-sha1", "umac-64@openssh.com", "hmac-ripemd160", "hmac-ripemd160@openssh.com", "hmac-sha1-96", "hmac-md5-96"], "target": "localhost"} diff --git a/test/docker/expected_results/openssh_5.6p1_test5.txt b/test/docker/expected_results/openssh_5.6p1_test5.txt new file mode 100644 index 0000000..5ff250a --- /dev/null +++ b/test/docker/expected_results/openssh_5.6p1_test5.txt @@ -0,0 +1,151 @@ +[0;36m# general[0m +[0;32m(gen) banner: SSH-2.0-OpenSSH_5.6[0m +[0;32m(gen) software: OpenSSH 5.6[0m +[0;32m(gen) compatibility: OpenSSH 5.6-6.6, Dropbear SSH 0.53+ (some functionality from 0.52)[0m +[0;32m(gen) compression: enabled (zlib@openssh.com)[0m + +[0;36m# security[0m +[0;33m(cve) CVE-2018-15473 -- (CVSSv2: 5.3) enumerate usernames due to timing discrepencies[0m +[0;33m(cve) CVE-2016-3115 -- (CVSSv2: 5.5) bypass command restrictions via crafted X11 forwarding data[0m +[0;33m(cve) CVE-2016-1907 -- (CVSSv2: 5.0) cause DoS via crafted network traffic (out of bounds read)[0m +[0;33m(cve) CVE-2015-6564 -- (CVSSv2: 6.9) privilege escalation via leveraging sshd uid[0m +[0;33m(cve) CVE-2015-6563 -- (CVSSv2: 1.9) conduct impersonation attack[0m +[0;33m(cve) CVE-2014-2532 -- (CVSSv2: 5.8) bypass environment restrictions via specific string before wildcard[0m +[0;33m(cve) CVE-2014-1692 -- (CVSSv2: 7.5) cause DoS via triggering error condition (memory corruption)[0m +[0;33m(cve) CVE-2012-0814 -- (CVSSv2: 3.5) leak data via debug messages[0m +[0;33m(cve) CVE-2011-5000 -- (CVSSv2: 3.5) cause DoS via large value in certain length field (memory consumption)[0m +[0;33m(cve) CVE-2010-5107 -- (CVSSv2: 5.0) cause DoS via large number of connections (slot exhaustion)[0m +[0;33m(cve) CVE-2010-4755 -- (CVSSv2: 4.0) cause DoS via crafted glob expression (CPU and memory consumption)[0m +[0;33m(cve) CVE-2010-4478 -- (CVSSv2: 7.5) bypass authentication check via crafted values[0m + +[0;36m# key exchange algorithms[0m +[0;31m(kex) diffie-hellman-group-exchange-sha256 (1024-bit) -- [fail] using small 1024-bit modulus[0m + `- [info] available since OpenSSH 4.4 +[0;31m(kex) diffie-hellman-group-exchange-sha1 (1024-bit) -- [fail] using small 1024-bit modulus[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.3.0 +[0;33m(kex) diffie-hellman-group14-sha1 -- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 3.9, Dropbear SSH 0.53 +[0;31m(kex) diffie-hellman-group1-sha1 -- [fail] using small 1024-bit modulus[0m +[0;31m `- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;31m `- [fail] disabled (in client) since OpenSSH 7.0, logjam attack[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28 + +[0;36m# host-key algorithms[0m +[0;31m(key) ssh-rsa (3072-bit) -- [fail] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.28 + `- [info] a future deprecation notice has been issued in OpenSSH 8.2: https://www.openssh.com/txt/release-8.2 +[0;31m(key) ssh-rsa-cert-v01@openssh.com (3072-bit cert/3072-bit CA) -- [fail] using weak hashing algorithm[0m + `- [info] available since OpenSSH 5.6 + `- [info] a future deprecation notice has been issued in OpenSSH 8.2: https://www.openssh.com/txt/release-8.2 + +[0;36m# encryption algorithms (ciphers)[0m +[0;32m(enc) aes128-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;32m(enc) aes192-ctr -- [info] available since OpenSSH 3.7[0m +[0;32m(enc) aes256-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;31m(enc) arcfour256 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher[0m + `- [info] available since OpenSSH 4.2 +[0;31m(enc) arcfour128 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher[0m + `- [info] available since OpenSSH 4.2 +[0;31m(enc) aes128-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.28 +[0;31m(enc) 3des-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.4, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 1.2.2, Dropbear SSH 0.28 +[0;31m(enc) blowfish-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;31m `- [fail] disabled since Dropbear SSH 0.53[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 1.2.2, Dropbear SSH 0.28 +[0;31m(enc) cast128-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m +[0;33m `- [warn] using small 64-bit block size[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(enc) aes192-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0 +[0;31m(enc) aes256-cbc -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0, Dropbear SSH 0.47 +[0;31m(enc) arcfour -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(enc) rijndael-cbc@lysator.liu.se -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using weak cipher mode[0m + `- [info] available since OpenSSH 2.3.0 + +[0;36m# message authentication code algorithms[0m +[0;31m(mac) hmac-md5 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 +[0;33m(mac) hmac-sha1 -- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 +[0;33m(mac) umac-64@openssh.com -- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using small 64-bit tag size[0m + `- [info] available since OpenSSH 4.7 +[0;31m(mac) hmac-ripemd160 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 2.5.0 +[0;31m(mac) hmac-ripemd160@openssh.com -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 2.1.0 +[0;31m(mac) hmac-sha1-96 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.47 +[0;31m(mac) hmac-md5-96 -- [fail] removed (in server) since OpenSSH 6.7, unsafe algorithm[0m +[0;33m `- [warn] disabled (in client) since OpenSSH 7.2, legacy algorithm[0m +[0;33m `- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.5.0 + +[0;36m# fingerprints[0m +[0;32m(fin) ssh-rsa: SHA256:nsWtdJ9Z67Vrf7OsUzQov7esXhsWAfVppArGh25u244[0m + +[0;36m# algorithm recommendations (for OpenSSH 5.6)[0m +[0;31m(rec) !diffie-hellman-group-exchange-sha256 -- kex algorithm to change (increase modulus size to 2048 bits or larger) [0m +[0;31m(rec) -3des-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes128-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes192-cbc -- enc algorithm to remove [0m +[0;31m(rec) -aes256-cbc -- enc algorithm to remove [0m +[0;31m(rec) -arcfour -- enc algorithm to remove [0m +[0;31m(rec) -arcfour128 -- enc algorithm to remove [0m +[0;31m(rec) -arcfour256 -- enc algorithm to remove [0m +[0;31m(rec) -blowfish-cbc -- enc algorithm to remove [0m +[0;31m(rec) -cast128-cbc -- enc algorithm to remove [0m +[0;31m(rec) -diffie-hellman-group-exchange-sha1 -- kex algorithm to remove [0m +[0;31m(rec) -diffie-hellman-group1-sha1 -- kex algorithm to remove [0m +[0;31m(rec) -hmac-md5 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-md5-96 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-ripemd160 -- mac algorithm to remove [0m +[0;31m(rec) -hmac-ripemd160@openssh.com -- mac algorithm to remove [0m +[0;31m(rec) -hmac-sha1-96 -- mac algorithm to remove [0m +[0;31m(rec) -rijndael-cbc@lysator.liu.se -- enc algorithm to remove [0m +[0;31m(rec) -ssh-rsa -- key algorithm to remove [0m +[0;31m(rec) -ssh-rsa-cert-v01@openssh.com -- key algorithm to remove [0m +[0;33m(rec) -diffie-hellman-group14-sha1 -- kex algorithm to remove [0m +[0;33m(rec) -hmac-sha1 -- mac algorithm to remove [0m +[0;33m(rec) -umac-64@openssh.com -- mac algorithm to remove [0m + +[0;36m# additional info[0m +[0;33m(nfo) For hardening guides on common OSes, please see: <https://www.ssh-audit.com/hardening_guides.html>[0m + diff --git a/test/docker/expected_results/openssh_8.0p1_builtin_policy_test1.json b/test/docker/expected_results/openssh_8.0p1_builtin_policy_test1.json new file mode 100644 index 0000000..f907cde --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_builtin_policy_test1.json @@ -0,0 +1 @@ +{"errors": [], "host": "localhost", "passed": true, "policy": "Hardened OpenSSH Server v8.0 (version 1)"} diff --git a/test/docker/expected_results/openssh_8.0p1_builtin_policy_test1.txt b/test/docker/expected_results/openssh_8.0p1_builtin_policy_test1.txt new file mode 100644 index 0000000..1b6ddee --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_builtin_policy_test1.txt @@ -0,0 +1,3 @@ +Host: localhost:2222 +Policy: Hardened OpenSSH Server v8.0 (version 1) +Result: [0;32m✔ Passed[0m diff --git a/test/docker/expected_results/openssh_8.0p1_builtin_policy_test2.json b/test/docker/expected_results/openssh_8.0p1_builtin_policy_test2.json new file mode 100644 index 0000000..49a13bc --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_builtin_policy_test2.json @@ -0,0 +1 @@ +{"errors": [{"actual": ["umac-64-etm@openssh.com", "umac-128-etm@openssh.com", "hmac-sha2-256-etm@openssh.com", "hmac-sha2-512-etm@openssh.com", "hmac-sha1-etm@openssh.com", "umac-64@openssh.com", "umac-128@openssh.com", "hmac-sha2-256", "hmac-sha2-512", "hmac-sha1"], "expected_optional": [""], "expected_required": ["hmac-sha2-256-etm@openssh.com", "hmac-sha2-512-etm@openssh.com", "umac-128-etm@openssh.com"], "mismatched_field": "MACs"}], "host": "localhost", "passed": false, "policy": "Hardened OpenSSH Server v8.0 (version 1)"} diff --git a/test/docker/expected_results/openssh_8.0p1_builtin_policy_test2.txt b/test/docker/expected_results/openssh_8.0p1_builtin_policy_test2.txt new file mode 100644 index 0000000..de1f3e7 --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_builtin_policy_test2.txt @@ -0,0 +1,9 @@ +Host: localhost:2222 +Policy: Hardened OpenSSH Server v8.0 (version 1) +Result: [0;31m❌ Failed![0m +[0;33m +Errors: + * MACs did not match. + - Expected: hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, umac-128-etm@openssh.com + - Actual: umac-64-etm@openssh.com, umac-128-etm@openssh.com, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1-etm@openssh.com, umac-64@openssh.com, umac-128@openssh.com, hmac-sha2-256, hmac-sha2-512, hmac-sha1 +[0m diff --git a/test/docker/expected_results/openssh_8.0p1_custom_policy_test11.json b/test/docker/expected_results/openssh_8.0p1_custom_policy_test11.json new file mode 100644 index 0000000..2e105ff --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_custom_policy_test11.json @@ -0,0 +1 @@ +{"errors": [], "host": "localhost", "passed": true, "policy": "Docker policy: test11 (version 1)"} diff --git a/test/docker/expected_results/openssh_8.0p1_custom_policy_test11.txt b/test/docker/expected_results/openssh_8.0p1_custom_policy_test11.txt new file mode 100644 index 0000000..024bcb9 --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_custom_policy_test11.txt @@ -0,0 +1,3 @@ +Host: localhost:2222 +Policy: Docker policy: test11 (version 1) +Result: [0;32m✔ Passed[0m diff --git a/test/docker/expected_results/openssh_8.0p1_custom_policy_test12.json b/test/docker/expected_results/openssh_8.0p1_custom_policy_test12.json new file mode 100644 index 0000000..677fb96 --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_custom_policy_test12.json @@ -0,0 +1 @@ +{"errors": [{"actual": ["3072"], "expected_optional": [""], "expected_required": ["4096"], "mismatched_field": "RSA host key (rsa-sha2-256) sizes"}, {"actual": ["3072"], "expected_optional": [""], "expected_required": ["4096"], "mismatched_field": "RSA host key (rsa-sha2-512) sizes"}, {"actual": ["3072"], "expected_optional": [""], "expected_required": ["4096"], "mismatched_field": "RSA host key (ssh-rsa) sizes"}], "host": "localhost", "passed": false, "policy": "Docker policy: test12 (version 1)"} diff --git a/test/docker/expected_results/openssh_8.0p1_custom_policy_test12.txt b/test/docker/expected_results/openssh_8.0p1_custom_policy_test12.txt new file mode 100644 index 0000000..6fb0561 --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_custom_policy_test12.txt @@ -0,0 +1,17 @@ +Host: localhost:2222 +Policy: Docker policy: test12 (version 1) +Result: [0;31m❌ Failed![0m +[0;33m +Errors: + * RSA host key (rsa-sha2-256) sizes did not match. + - Expected: 4096 + - Actual: 3072 + + * RSA host key (rsa-sha2-512) sizes did not match. + - Expected: 4096 + - Actual: 3072 + + * RSA host key (ssh-rsa) sizes did not match. + - Expected: 4096 + - Actual: 3072 +[0m diff --git a/test/docker/expected_results/openssh_8.0p1_custom_policy_test13.json b/test/docker/expected_results/openssh_8.0p1_custom_policy_test13.json new file mode 100644 index 0000000..e412128 --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_custom_policy_test13.json @@ -0,0 +1 @@ +{"errors": [], "host": "localhost", "passed": true, "policy": "Docker policy: test13 (version 1)"} diff --git a/test/docker/expected_results/openssh_8.0p1_custom_policy_test13.txt b/test/docker/expected_results/openssh_8.0p1_custom_policy_test13.txt new file mode 100644 index 0000000..b8b4b25 --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_custom_policy_test13.txt @@ -0,0 +1,3 @@ +Host: localhost:2222 +Policy: Docker policy: test13 (version 1) +Result: [0;32m✔ Passed[0m diff --git a/test/docker/expected_results/openssh_8.0p1_custom_policy_test14.json b/test/docker/expected_results/openssh_8.0p1_custom_policy_test14.json new file mode 100644 index 0000000..e7a39f8 --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_custom_policy_test14.json @@ -0,0 +1 @@ +{"errors": [{"actual": ["2048"], "expected_optional": [""], "expected_required": ["4096"], "mismatched_field": "Group exchange (diffie-hellman-group-exchange-sha256) modulus sizes"}], "host": "localhost", "passed": false, "policy": "Docker policy: test14 (version 1)"} diff --git a/test/docker/expected_results/openssh_8.0p1_custom_policy_test14.txt b/test/docker/expected_results/openssh_8.0p1_custom_policy_test14.txt new file mode 100644 index 0000000..2bb59fb --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_custom_policy_test14.txt @@ -0,0 +1,9 @@ +Host: localhost:2222 +Policy: Docker policy: test14 (version 1) +Result: [0;31m❌ Failed![0m +[0;33m +Errors: + * Group exchange (diffie-hellman-group-exchange-sha256) modulus sizes did not match. + - Expected: 4096 + - Actual: 2048 +[0m diff --git a/test/docker/expected_results/openssh_8.0p1_custom_policy_test6.json b/test/docker/expected_results/openssh_8.0p1_custom_policy_test6.json new file mode 100644 index 0000000..04620b2 --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_custom_policy_test6.json @@ -0,0 +1 @@ +{"errors": [], "host": "localhost", "passed": true, "policy": "Docker policy: test6 (version 1)"} diff --git a/test/docker/expected_results/openssh_8.0p1_custom_policy_test6.txt b/test/docker/expected_results/openssh_8.0p1_custom_policy_test6.txt new file mode 100644 index 0000000..b0e9441 --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_custom_policy_test6.txt @@ -0,0 +1,3 @@ +Host: localhost:2222 +Policy: Docker policy: test6 (version 1) +Result: [0;32m✔ Passed[0m diff --git a/test/docker/expected_results/openssh_8.0p1_test1.json b/test/docker/expected_results/openssh_8.0p1_test1.json new file mode 100644 index 0000000..cf610a3 --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_test1.json @@ -0,0 +1 @@ +{"banner": {"comments": null, "protocol": [2, 0], "raw": "SSH-2.0-OpenSSH_8.0", "software": "OpenSSH_8.0"}, "compression": ["none", "zlib@openssh.com"], "enc": ["chacha20-poly1305@openssh.com", "aes128-ctr", "aes192-ctr", "aes256-ctr", "aes128-gcm@openssh.com", "aes256-gcm@openssh.com"], "fingerprints": [{"hash": "UrnXIVH+7dlw8UqYocl48yUEcKrthGDQG2CPCgp7MxU", "hash_alg": "SHA256", "hostkey": "ssh-ed25519"}, {"hash": "1e:0c:7b:34:73:bf:52:41:b0:f9:d1:a9:ab:98:c7:c9", "hash_alg": "MD5", "hostkey": "ssh-ed25519"}, {"hash": "nsWtdJ9Z67Vrf7OsUzQov7esXhsWAfVppArGh25u244", "hash_alg": "SHA256", "hostkey": "ssh-rsa"}, {"hash": "18:e2:51:fe:21:6c:78:d0:b8:cf:32:d4:bd:56:42:e1", "hash_alg": "MD5", "hostkey": "ssh-rsa"}], "kex": [{"algorithm": "curve25519-sha256"}, {"algorithm": "curve25519-sha256@libssh.org"}, {"algorithm": "ecdh-sha2-nistp256"}, {"algorithm": "ecdh-sha2-nistp384"}, {"algorithm": "ecdh-sha2-nistp521"}, {"algorithm": "diffie-hellman-group-exchange-sha256", "keysize": 2048}, {"algorithm": "diffie-hellman-group16-sha512"}, {"algorithm": "diffie-hellman-group18-sha512"}, {"algorithm": "diffie-hellman-group14-sha256"}, {"algorithm": "diffie-hellman-group14-sha1"}], "key": [{"algorithm": "rsa-sha2-512", "keysize": 3072}, {"algorithm": "rsa-sha2-256", "keysize": 3072}, {"algorithm": "ssh-rsa", "keysize": 3072}, {"algorithm": "ecdsa-sha2-nistp256"}, {"algorithm": "ssh-ed25519"}], "mac": ["umac-64-etm@openssh.com", "umac-128-etm@openssh.com", "hmac-sha2-256-etm@openssh.com", "hmac-sha2-512-etm@openssh.com", "hmac-sha1-etm@openssh.com", "umac-64@openssh.com", "umac-128@openssh.com", "hmac-sha2-256", "hmac-sha2-512", "hmac-sha1"], "target": "localhost"} diff --git a/test/docker/expected_results/openssh_8.0p1_test1.txt b/test/docker/expected_results/openssh_8.0p1_test1.txt new file mode 100644 index 0000000..d7e45b1 --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_test1.txt @@ -0,0 +1,85 @@ +[0;36m# general[0m +[0;32m(gen) banner: SSH-2.0-OpenSSH_8.0[0m +[0;32m(gen) software: OpenSSH 8.0[0m +[0;32m(gen) compatibility: OpenSSH 7.4+, Dropbear SSH 2018.76+[0m +[0;32m(gen) compression: enabled (zlib@openssh.com)[0m + +[0;36m# key exchange algorithms[0m +[0;32m(kex) curve25519-sha256 -- [info] available since OpenSSH 7.4, Dropbear SSH 2018.76[0m +[0;32m(kex) curve25519-sha256@libssh.org -- [info] available since OpenSSH 6.5, Dropbear SSH 2013.62[0m +[0;31m(kex) ecdh-sha2-nistp256 -- [fail] using weak elliptic curves[0m + `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62 +[0;31m(kex) ecdh-sha2-nistp384 -- [fail] using weak elliptic curves[0m + `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62 +[0;31m(kex) ecdh-sha2-nistp521 -- [fail] using weak elliptic curves[0m + `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62 +[0;32m(kex) diffie-hellman-group-exchange-sha256 (2048-bit) -- [info] available since OpenSSH 4.4[0m +[0;32m(kex) diffie-hellman-group16-sha512 -- [info] available since OpenSSH 7.3, Dropbear SSH 2016.73[0m +[0;32m(kex) diffie-hellman-group18-sha512 -- [info] available since OpenSSH 7.3[0m +[0;32m(kex) diffie-hellman-group14-sha256 -- [info] available since OpenSSH 7.3, Dropbear SSH 2016.73[0m +[0;33m(kex) diffie-hellman-group14-sha1 -- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 3.9, Dropbear SSH 0.53 + +[0;36m# host-key algorithms[0m +[0;32m(key) rsa-sha2-512 (3072-bit) -- [info] available since OpenSSH 7.2[0m +[0;32m(key) rsa-sha2-256 (3072-bit) -- [info] available since OpenSSH 7.2[0m +[0;31m(key) ssh-rsa (3072-bit) -- [fail] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.28 + `- [info] a future deprecation notice has been issued in OpenSSH 8.2: https://www.openssh.com/txt/release-8.2 +[0;31m(key) ecdsa-sha2-nistp256 -- [fail] using weak elliptic curves[0m +[0;33m `- [warn] using weak random number generator could reveal the key[0m + `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62 +[0;32m(key) ssh-ed25519 -- [info] available since OpenSSH 6.5[0m + +[0;36m# encryption algorithms (ciphers)[0m +[0;32m(enc) chacha20-poly1305@openssh.com -- [info] available since OpenSSH 6.5[0m + `- [info] default cipher since OpenSSH 6.9. +[0;32m(enc) aes128-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;32m(enc) aes192-ctr -- [info] available since OpenSSH 3.7[0m +[0;32m(enc) aes256-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;32m(enc) aes128-gcm@openssh.com -- [info] available since OpenSSH 6.2[0m +[0;32m(enc) aes256-gcm@openssh.com -- [info] available since OpenSSH 6.2[0m + +[0;36m# message authentication code algorithms[0m +[0;33m(mac) umac-64-etm@openssh.com -- [warn] using small 64-bit tag size[0m + `- [info] available since OpenSSH 6.2 +[0;32m(mac) umac-128-etm@openssh.com -- [info] available since OpenSSH 6.2[0m +[0;32m(mac) hmac-sha2-256-etm@openssh.com -- [info] available since OpenSSH 6.2[0m +[0;32m(mac) hmac-sha2-512-etm@openssh.com -- [info] available since OpenSSH 6.2[0m +[0;33m(mac) hmac-sha1-etm@openssh.com -- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 6.2 +[0;33m(mac) umac-64@openssh.com -- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using small 64-bit tag size[0m + `- [info] available since OpenSSH 4.7 +[0;33m(mac) umac-128@openssh.com -- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 6.2 +[0;33m(mac) hmac-sha2-256 -- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56 +[0;33m(mac) hmac-sha2-512 -- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56 +[0;33m(mac) hmac-sha1 -- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 + +[0;36m# fingerprints[0m +[0;32m(fin) ssh-ed25519: SHA256:UrnXIVH+7dlw8UqYocl48yUEcKrthGDQG2CPCgp7MxU[0m +[0;32m(fin) ssh-rsa: SHA256:nsWtdJ9Z67Vrf7OsUzQov7esXhsWAfVppArGh25u244[0m + +[0;36m# algorithm recommendations (for OpenSSH 8.0)[0m +[0;31m(rec) -ecdh-sha2-nistp256 -- kex algorithm to remove [0m +[0;31m(rec) -ecdh-sha2-nistp384 -- kex algorithm to remove [0m +[0;31m(rec) -ecdh-sha2-nistp521 -- kex algorithm to remove [0m +[0;31m(rec) -ecdsa-sha2-nistp256 -- key algorithm to remove [0m +[0;31m(rec) -ssh-rsa -- key algorithm to remove [0m +[0;33m(rec) -diffie-hellman-group14-sha1 -- kex algorithm to remove [0m +[0;33m(rec) -hmac-sha1 -- mac algorithm to remove [0m +[0;33m(rec) -hmac-sha1-etm@openssh.com -- mac algorithm to remove [0m +[0;33m(rec) -hmac-sha2-256 -- mac algorithm to remove [0m +[0;33m(rec) -hmac-sha2-512 -- mac algorithm to remove [0m +[0;33m(rec) -umac-128@openssh.com -- mac algorithm to remove [0m +[0;33m(rec) -umac-64-etm@openssh.com -- mac algorithm to remove [0m +[0;33m(rec) -umac-64@openssh.com -- mac algorithm to remove [0m + +[0;36m# additional info[0m +[0;33m(nfo) For hardening guides on common OSes, please see: <https://www.ssh-audit.com/hardening_guides.html>[0m + diff --git a/test/docker/expected_results/openssh_8.0p1_test2.json b/test/docker/expected_results/openssh_8.0p1_test2.json new file mode 100644 index 0000000..fb323eb --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_test2.json @@ -0,0 +1 @@ +{"banner": {"comments": null, "protocol": [2, 0], "raw": "SSH-2.0-OpenSSH_8.0", "software": "OpenSSH_8.0"}, "compression": ["none", "zlib@openssh.com"], "enc": ["chacha20-poly1305@openssh.com", "aes128-ctr", "aes192-ctr", "aes256-ctr", "aes128-gcm@openssh.com", "aes256-gcm@openssh.com"], "fingerprints": [{"hash": "UrnXIVH+7dlw8UqYocl48yUEcKrthGDQG2CPCgp7MxU", "hash_alg": "SHA256", "hostkey": "ssh-ed25519"}, {"hash": "1e:0c:7b:34:73:bf:52:41:b0:f9:d1:a9:ab:98:c7:c9", "hash_alg": "MD5", "hostkey": "ssh-ed25519"}], "kex": [{"algorithm": "curve25519-sha256"}, {"algorithm": "curve25519-sha256@libssh.org"}, {"algorithm": "ecdh-sha2-nistp256"}, {"algorithm": "ecdh-sha2-nistp384"}, {"algorithm": "ecdh-sha2-nistp521"}, {"algorithm": "diffie-hellman-group-exchange-sha256", "keysize": 2048}, {"algorithm": "diffie-hellman-group16-sha512"}, {"algorithm": "diffie-hellman-group18-sha512"}, {"algorithm": "diffie-hellman-group14-sha256"}, {"algorithm": "diffie-hellman-group14-sha1"}], "key": [{"algorithm": "ssh-ed25519"}, {"algorithm": "ssh-ed25519-cert-v01@openssh.com"}], "mac": ["umac-64-etm@openssh.com", "umac-128-etm@openssh.com", "hmac-sha2-256-etm@openssh.com", "hmac-sha2-512-etm@openssh.com", "hmac-sha1-etm@openssh.com", "umac-64@openssh.com", "umac-128@openssh.com", "hmac-sha2-256", "hmac-sha2-512", "hmac-sha1"], "target": "localhost"} diff --git a/test/docker/expected_results/openssh_8.0p1_test2.txt b/test/docker/expected_results/openssh_8.0p1_test2.txt new file mode 100644 index 0000000..a13be8a --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_test2.txt @@ -0,0 +1,77 @@ +[0;36m# general[0m +[0;32m(gen) banner: SSH-2.0-OpenSSH_8.0[0m +[0;32m(gen) software: OpenSSH 8.0[0m +[0;32m(gen) compatibility: OpenSSH 7.4+, Dropbear SSH 2018.76+[0m +[0;32m(gen) compression: enabled (zlib@openssh.com)[0m + +[0;36m# key exchange algorithms[0m +[0;32m(kex) curve25519-sha256 -- [info] available since OpenSSH 7.4, Dropbear SSH 2018.76[0m +[0;32m(kex) curve25519-sha256@libssh.org -- [info] available since OpenSSH 6.5, Dropbear SSH 2013.62[0m +[0;31m(kex) ecdh-sha2-nistp256 -- [fail] using weak elliptic curves[0m + `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62 +[0;31m(kex) ecdh-sha2-nistp384 -- [fail] using weak elliptic curves[0m + `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62 +[0;31m(kex) ecdh-sha2-nistp521 -- [fail] using weak elliptic curves[0m + `- [info] available since OpenSSH 5.7, Dropbear SSH 2013.62 +[0;32m(kex) diffie-hellman-group-exchange-sha256 (2048-bit) -- [info] available since OpenSSH 4.4[0m +[0;32m(kex) diffie-hellman-group16-sha512 -- [info] available since OpenSSH 7.3, Dropbear SSH 2016.73[0m +[0;32m(kex) diffie-hellman-group18-sha512 -- [info] available since OpenSSH 7.3[0m +[0;32m(kex) diffie-hellman-group14-sha256 -- [info] available since OpenSSH 7.3, Dropbear SSH 2016.73[0m +[0;33m(kex) diffie-hellman-group14-sha1 -- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 3.9, Dropbear SSH 0.53 + +[0;36m# host-key algorithms[0m +[0;32m(key) ssh-ed25519 -- [info] available since OpenSSH 6.5[0m +[0;32m(key) ssh-ed25519-cert-v01@openssh.com -- [info] available since OpenSSH 6.5[0m + +[0;36m# encryption algorithms (ciphers)[0m +[0;32m(enc) chacha20-poly1305@openssh.com -- [info] available since OpenSSH 6.5[0m + `- [info] default cipher since OpenSSH 6.9. +[0;32m(enc) aes128-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;32m(enc) aes192-ctr -- [info] available since OpenSSH 3.7[0m +[0;32m(enc) aes256-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;32m(enc) aes128-gcm@openssh.com -- [info] available since OpenSSH 6.2[0m +[0;32m(enc) aes256-gcm@openssh.com -- [info] available since OpenSSH 6.2[0m + +[0;36m# message authentication code algorithms[0m +[0;33m(mac) umac-64-etm@openssh.com -- [warn] using small 64-bit tag size[0m + `- [info] available since OpenSSH 6.2 +[0;32m(mac) umac-128-etm@openssh.com -- [info] available since OpenSSH 6.2[0m +[0;32m(mac) hmac-sha2-256-etm@openssh.com -- [info] available since OpenSSH 6.2[0m +[0;32m(mac) hmac-sha2-512-etm@openssh.com -- [info] available since OpenSSH 6.2[0m +[0;33m(mac) hmac-sha1-etm@openssh.com -- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 6.2 +[0;33m(mac) umac-64@openssh.com -- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using small 64-bit tag size[0m + `- [info] available since OpenSSH 4.7 +[0;33m(mac) umac-128@openssh.com -- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 6.2 +[0;33m(mac) hmac-sha2-256 -- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56 +[0;33m(mac) hmac-sha2-512 -- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56 +[0;33m(mac) hmac-sha1 -- [warn] using encrypt-and-MAC mode[0m +[0;33m `- [warn] using weak hashing algorithm[0m + `- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28 + +[0;36m# fingerprints[0m +[0;32m(fin) ssh-ed25519: SHA256:UrnXIVH+7dlw8UqYocl48yUEcKrthGDQG2CPCgp7MxU[0m + +[0;36m# algorithm recommendations (for OpenSSH 8.0)[0m +[0;31m(rec) -ecdh-sha2-nistp256 -- kex algorithm to remove [0m +[0;31m(rec) -ecdh-sha2-nistp384 -- kex algorithm to remove [0m +[0;31m(rec) -ecdh-sha2-nistp521 -- kex algorithm to remove [0m +[0;32m(rec) +rsa-sha2-256 -- key algorithm to append [0m +[0;32m(rec) +rsa-sha2-512 -- key algorithm to append [0m +[0;33m(rec) -diffie-hellman-group14-sha1 -- kex algorithm to remove [0m +[0;33m(rec) -hmac-sha1 -- mac algorithm to remove [0m +[0;33m(rec) -hmac-sha1-etm@openssh.com -- mac algorithm to remove [0m +[0;33m(rec) -hmac-sha2-256 -- mac algorithm to remove [0m +[0;33m(rec) -hmac-sha2-512 -- mac algorithm to remove [0m +[0;33m(rec) -umac-128@openssh.com -- mac algorithm to remove [0m +[0;33m(rec) -umac-64-etm@openssh.com -- mac algorithm to remove [0m +[0;33m(rec) -umac-64@openssh.com -- mac algorithm to remove [0m + +[0;36m# additional info[0m +[0;33m(nfo) For hardening guides on common OSes, please see: <https://www.ssh-audit.com/hardening_guides.html>[0m + diff --git a/test/docker/expected_results/openssh_8.0p1_test3.json b/test/docker/expected_results/openssh_8.0p1_test3.json new file mode 100644 index 0000000..5728136 --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_test3.json @@ -0,0 +1 @@ +{"banner": {"comments": null, "protocol": [2, 0], "raw": "SSH-2.0-OpenSSH_8.0", "software": "OpenSSH_8.0"}, "compression": ["none", "zlib@openssh.com"], "enc": ["chacha20-poly1305@openssh.com", "aes256-gcm@openssh.com", "aes128-gcm@openssh.com", "aes256-ctr", "aes192-ctr", "aes128-ctr"], "fingerprints": [{"hash": "UrnXIVH+7dlw8UqYocl48yUEcKrthGDQG2CPCgp7MxU", "hash_alg": "SHA256", "hostkey": "ssh-ed25519"}, {"hash": "1e:0c:7b:34:73:bf:52:41:b0:f9:d1:a9:ab:98:c7:c9", "hash_alg": "MD5", "hostkey": "ssh-ed25519"}], "kex": [{"algorithm": "curve25519-sha256"}, {"algorithm": "curve25519-sha256@libssh.org"}, {"algorithm": "diffie-hellman-group-exchange-sha256", "keysize": 2048}], "key": [{"algorithm": "ssh-ed25519"}], "mac": ["hmac-sha2-256-etm@openssh.com", "hmac-sha2-512-etm@openssh.com", "umac-128-etm@openssh.com"], "target": "localhost"} diff --git a/test/docker/expected_results/openssh_8.0p1_test3.txt b/test/docker/expected_results/openssh_8.0p1_test3.txt new file mode 100644 index 0000000..5b20c3f --- /dev/null +++ b/test/docker/expected_results/openssh_8.0p1_test3.txt @@ -0,0 +1,38 @@ +[0;36m# general[0m +[0;32m(gen) banner: SSH-2.0-OpenSSH_8.0[0m +[0;32m(gen) software: OpenSSH 8.0[0m +[0;32m(gen) compatibility: OpenSSH 7.4+, Dropbear SSH 2018.76+[0m +[0;32m(gen) compression: enabled (zlib@openssh.com)[0m + +[0;36m# key exchange algorithms[0m +[0;32m(kex) curve25519-sha256 -- [info] available since OpenSSH 7.4, Dropbear SSH 2018.76[0m +[0;32m(kex) curve25519-sha256@libssh.org -- [info] available since OpenSSH 6.5, Dropbear SSH 2013.62[0m +[0;32m(kex) diffie-hellman-group-exchange-sha256 (2048-bit) -- [info] available since OpenSSH 4.4[0m + +[0;36m# host-key algorithms[0m +[0;32m(key) ssh-ed25519 -- [info] available since OpenSSH 6.5[0m + +[0;36m# encryption algorithms (ciphers)[0m +[0;32m(enc) chacha20-poly1305@openssh.com -- [info] available since OpenSSH 6.5[0m + `- [info] default cipher since OpenSSH 6.9. +[0;32m(enc) aes256-gcm@openssh.com -- [info] available since OpenSSH 6.2[0m +[0;32m(enc) aes128-gcm@openssh.com -- [info] available since OpenSSH 6.2[0m +[0;32m(enc) aes256-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m +[0;32m(enc) aes192-ctr -- [info] available since OpenSSH 3.7[0m +[0;32m(enc) aes128-ctr -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52[0m + +[0;36m# message authentication code algorithms[0m +[0;32m(mac) hmac-sha2-256-etm@openssh.com -- [info] available since OpenSSH 6.2[0m +[0;32m(mac) hmac-sha2-512-etm@openssh.com -- [info] available since OpenSSH 6.2[0m +[0;32m(mac) umac-128-etm@openssh.com -- [info] available since OpenSSH 6.2[0m + +[0;36m# fingerprints[0m +[0;32m(fin) ssh-ed25519: SHA256:UrnXIVH+7dlw8UqYocl48yUEcKrthGDQG2CPCgp7MxU[0m + +[0;36m# algorithm recommendations (for OpenSSH 8.0)[0m +[0;32m(rec) +diffie-hellman-group14-sha256 -- kex algorithm to append [0m +[0;32m(rec) +diffie-hellman-group16-sha512 -- kex algorithm to append [0m +[0;32m(rec) +diffie-hellman-group18-sha512 -- kex algorithm to append [0m +[0;32m(rec) +rsa-sha2-256 -- key algorithm to append [0m +[0;32m(rec) +rsa-sha2-512 -- key algorithm to append [0m + diff --git a/test/docker/expected_results/tinyssh_20190101_test1.json b/test/docker/expected_results/tinyssh_20190101_test1.json new file mode 100644 index 0000000..6bf8f24 --- /dev/null +++ b/test/docker/expected_results/tinyssh_20190101_test1.json @@ -0,0 +1 @@ +{"banner": {"comments": "", "protocol": [2, 0], "raw": "", "software": "tinyssh_noversion"}, "compression": ["none"], "enc": ["chacha20-poly1305@openssh.com"], "fingerprints": [{"hash": "89ocln1x7KNqnMgWffGoYtD70ksJ4FrH7BMJHa7SrwU", "hash_alg": "SHA256", "hostkey": "ssh-ed25519"}, {"hash": "dd:9c:6d:f9:b0:8c:af:fa:c2:65:81:5d:5d:56:f8:21", "hash_alg": "MD5", "hostkey": "ssh-ed25519"}], "kex": [{"algorithm": "curve25519-sha256"}, {"algorithm": "curve25519-sha256@libssh.org"}, {"algorithm": "sntrup4591761x25519-sha512@tinyssh.org"}], "key": [{"algorithm": "ssh-ed25519"}], "mac": ["hmac-sha2-256"], "target": "localhost"} diff --git a/test/docker/expected_results/tinyssh_20190101_test1.txt b/test/docker/expected_results/tinyssh_20190101_test1.txt new file mode 100644 index 0000000..9e833c6 --- /dev/null +++ b/test/docker/expected_results/tinyssh_20190101_test1.txt @@ -0,0 +1,25 @@ +[0;36m# general[0m +[0;32m(gen) software: TinySSH noversion[0m +[0;32m(gen) compatibility: OpenSSH 8.0-8.4, Dropbear SSH 2018.76+[0m +[0;32m(gen) compression: disabled[0m + +[0;36m# key exchange algorithms[0m +[0;32m(kex) curve25519-sha256 -- [info] available since OpenSSH 7.4, Dropbear SSH 2018.76[0m +[0;32m(kex) curve25519-sha256@libssh.org -- [info] available since OpenSSH 6.5, Dropbear SSH 2013.62[0m +[0;33m(kex) sntrup4591761x25519-sha512@tinyssh.org -- [warn] using experimental algorithm[0m + `- [info] available since OpenSSH 8.0 + +[0;36m# host-key algorithms[0m +[0;32m(key) ssh-ed25519 -- [info] available since OpenSSH 6.5[0m + +[0;36m# encryption algorithms (ciphers)[0m +[0;32m(enc) chacha20-poly1305@openssh.com -- [info] available since OpenSSH 6.5[0m + `- [info] default cipher since OpenSSH 6.9. + +[0;36m# message authentication code algorithms[0m +[0;33m(mac) hmac-sha2-256 -- [warn] using encrypt-and-MAC mode[0m + `- [info] available since OpenSSH 5.9, Dropbear SSH 2013.56 + +[0;36m# fingerprints[0m +[0;32m(fin) ssh-ed25519: SHA256:89ocln1x7KNqnMgWffGoYtD70ksJ4FrH7BMJHa7SrwU[0m + |