From cdb64aa54949ca6346c9c8d9ac49c483f124d96e Mon Sep 17 00:00:00 2001 From: Richard Lam <54393902+richlamdev@users.noreply.github.com> Date: Sat, 19 Apr 2025 00:17:52 -0700 Subject: [PATCH 1/3] add json file versions of tsv --- debian_ssh_banners.json | 107 ++++++++++++++ freebsd_ssh_banners.json | 289 ++++++++++++++++++++++++++++++++++++ raspbian_ssh_banners.json | 37 +++++ ubuntu_ssh_banners.json | 298 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 731 insertions(+) create mode 100644 debian_ssh_banners.json create mode 100644 freebsd_ssh_banners.json create mode 100644 raspbian_ssh_banners.json create mode 100644 ubuntu_ssh_banners.json diff --git a/debian_ssh_banners.json b/debian_ssh_banners.json new file mode 100644 index 0000000..f821b94 --- /dev/null +++ b/debian_ssh_banners.json @@ -0,0 +1,107 @@ +[ + { + "openssh_version": "9.2p1-2", + "os_version": "Debian 12.x Bookworm", + "ssh_banner": "SSH-2.0-OpenSSH_9.2p1 Debian-2" + }, + { + "openssh_version": "8.4p1-5", + "os_version": "Debian 11.x Bullseye", + "ssh_banner": "SSH-2.0-OpenSSH_8.4p1 Debian-5" + }, + { + "openssh_version": "7.9p1-10", + "os_version": "Debian 10.3 Buster", + "ssh_banner": "SSH-2.0-OpenSSH_7.9p1 Debian-10+deb10u2" + }, + { + "openssh_version": "7.9p1-10", + "os_version": "Debian 10.2 Buster", + "ssh_banner": "SSH-2.0-OpenSSH_7.9p1 Debian-10+deb10u1" + }, + { + "openssh_version": "7.9p1-10", + "os_version": "Debian 10.0 Buster", + "ssh_banner": "SSH-2.0-OpenSSH_7.9p1 Debian-10" + }, + { + "openssh_version": "7.4p1-10", + "os_version": "Debian 9.9 Stretch", + "ssh_banner": "SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u6" + }, + { + "openssh_version": "7.4p1-10", + "os_version": "Debian 9.0 Stretch", + "ssh_banner": "SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u6" + }, + { + "openssh_version": "6.7p1-5", + "os_version": "Debian 8.0 Jessie", + "ssh_banner": "SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u8" + }, + { + "openssh_version": "6.7p1-5", + "os_version": "Debian 8.7 Jessie", + "ssh_banner": "SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u8" + }, + { + "openssh_version": "6.0p1-4", + "os_version": "Debian 7.8 Wheezy", + "ssh_banner": "SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u2" + }, + { + "openssh_version": "6.0p1-4", + "os_version": "Debian 7.0 Wheezy", + "ssh_banner": "SSH-2.0-OpenSSH_6.0p1 Debian-4" + }, + { + "openssh_version": "5.8p1-4", + "os_version": "Debian 6.0 Squeeze", + "ssh_banner": "SSH-2.0-OpenSSH_5.8p1 Debian-4~squeeze+1" + }, + { + "openssh_version": "5.5p1-6", + "os_version": "Debian 6.0 Squeeze", + "ssh_banner": "SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze4" + }, + { + "openssh_version": "5.5p1-6", + "os_version": "Debian 6.0 Squeeze", + "ssh_banner": "SSH-2.0-OpenSSH_5.5p1 Debian-6" + }, + { + "openssh_version": "5.5p1-6", + "os_version": "Debian 6.0 Squeeze", + "ssh_banner": "SSH-2.0-OpenSSH_5.5p1 Debian-26+squeeze7" + }, + { + "openssh_version": "5.1p1-6", + "os_version": "Debian 5.0 Lenny", + "ssh_banner": "SSH-2.0-OpenSSH_5.1p1 Debian-5" + }, + { + "openssh_version": "5.1p1-5", + "os_version": "Debian 5.10 Lenny", + "ssh_banner": "SSH-2.0-OpenSSH_5.1p1 Debian-5" + }, + { + "openssh_version": "4.3p2-9", + "os_version": "Debian 4.0 Etch", + "ssh_banner": "SSH-2.0-OpenSSH_4.3p2 Debian-9" + }, + { + "openssh_version": "4.3p2-9", + "os_version": "Debian 4.0r8 Etch", + "ssh_banner": "SSH-2.0-OpenSSH_4.3p2 Debian-9-etch3" + }, + { + "openssh_version": "3.8.1p1", + "os_version": "Debian 3.1 Woody", + "ssh_banner": "SSH-2.0-OpenSSH_3.8.1p1 Debian-8.sarge.4" + }, + { + "openssh_version": "3.4p1-1", + "os_version": "Debian 3.0 Woody", + "ssh_banner": "SSH-2.0-OpenSSH_3.4p1 Debian 1:3.4p1-1.woody.3" + } +] \ No newline at end of file diff --git a/freebsd_ssh_banners.json b/freebsd_ssh_banners.json new file mode 100644 index 0000000..75ca155 --- /dev/null +++ b/freebsd_ssh_banners.json @@ -0,0 +1,289 @@ +{ + "freebsd": [ + { + "release": "14.2-RELEASE", + "openssh": "9.7", + "banner": "SSH-2.0-OpenSSH_9.7 FreeBSD-20240806" + }, + { + "release": "14.1-RELEASE", + "openssh": "9.7", + "banner": "SSH-2.0-OpenSSH_9.7 FreeBSD-20240318" + }, + { + "release": "14.0-RELEASE", + "openssh": "9.5", + "banner": "SSH-2.0-OpenSSH_9.5 FreeBSD-20231004" + }, + { + "release": "13.5-RELEASE", + "openssh": "9.9", + "banner": "SSH-2.0-OpenSSH_9.9 FreeBSD-20250219" + }, + { + "release": "13.2-RELEASE", + "openssh": "9.3", + "banner": "SSH-2.0-OpenSSH_9.3 FreeBSD-20230316" + }, + { + "release": "13.1-RELEASE", + "openssh": "8.8", + "banner": "SSH-2.0-OpenSSH_8.8 FreeBSD-20211221" + }, + { + "release": "13.0-RELEASE", + "openssh": "7.9", + "banner": "SSH-2.0-OpenSSH_7.9 FreeBSD-20200214" + }, + { + "release": "12.4-RELEASE", + "openssh": "9.1", + "banner": "SSH-2.0-OpenSSH_9.1 FreeBSD-20221019" + }, + { + "release": "12.3-RELEASE", + "openssh": "7.9", + "banner": "SSH-2.0-OpenSSH_7.9 FreeBSD-20200214" + }, + { + "release": "12.2-RELEASE", + "openssh": "7.9", + "banner": "SSH-2.0-OpenSSH_7.9 FreeBSD-20200214" + }, + { + "release": "12.1-RELEASE", + "openssh": "7.8", + "banner": "SSH-2.0-OpenSSH_7.8 FreeBSD-20180909" + }, + { + "release": "12.0-RELEASE", + "openssh": "7.8", + "banner": "SSH-2.0-OpenSSH_7.8 FreeBSD-20180909" + }, + { + "release": "11.3-RELEASE", + "openssh": "7.5", + "banner": "SSH-2.0-OpenSSH_7.5 FreeBSD-20170903" + }, + { + "release": "11.2-RELEASE", + "openssh": "7.5", + "banner": "SSH-2.0-OpenSSH_7.5 FreeBSD-20170903" + }, + { + "release": "11.1-RELEASE", + "openssh": "7.2", + "banner": "SSH-2.0-OpenSSH_7.2 FreeBSD-20161230" + }, + { + "release": "11.0-RELEASE", + "openssh": "7.2", + "banner": "SSH-2.0-OpenSSH_7.2 FreeBSD-20160310" + }, + { + "release": "10.4-RELEASE", + "openssh": "7.3", + "banner": "SSH-2.0-OpenSSH_7.3 FreeBSD-20170902" + }, + { + "release": "10.3-RELEASE", + "openssh": "7.2", + "banner": "SSH-2.0-OpenSSH_7.2 FreeBSD-20160310" + }, + { + "release": "10.2-RELEASE", + "openssh": "6.6.1", + "banner": "SSH-2.0-OpenSSH_6.6.1_hpn13v11 FreeBSD-20140420" + }, + { + "release": "10.1-RELEASE", + "openssh": "6.6.1", + "banner": "SSH-2.0-OpenSSH_6.6.1_hpn13v11 FreeBSD-20140420" + }, + { + "release": "10.0-RELEASE", + "openssh": "6.4", + "banner": "SSH-2.0-OpenSSH_6.4_hpn13v11 FreeBSD-20131111" + }, + { + "release": "9.3-RELEASE", + "openssh": "6.6.1", + "banner": "SSH-2.0-OpenSSH_6.6.1_hpn13v11 FreeBSD-20140420" + }, + { + "release": "9.2-RELEASE", + "openssh": "6.2", + "banner": "SSH-2.0-OpenSSH_6.2_hpn13v11 FreeBSD-20130515" + }, + { + "release": "9.1-RELEASE", + "openssh": "5.8p2", + "banner": "SSH-2.0-OpenSSH_5.8p2_hpn13v11 FreeBSD-20110503" + }, + { + "release": "9.0-RELEASE", + "openssh": "5.8p2", + "banner": "SSH-2.0-OpenSSH_5.8p2_hpn13v11 FreeBSD-20110503" + }, + { + "release": "8.4-RELEASE", + "openssh": "6.1", + "banner": "SSH-2.0-OpenSSH_6.1_hpn13v11 FreeBSD-20120901" + }, + { + "release": "8.3-RELEASE", + "openssh": "5.4p1", + "banner": "SSH-2.0-OpenSSH_5.4p1_hpn13v11 FreeBSD-20100308" + }, + { + "release": "8.2-RELEASE", + "openssh": "5.4p1", + "banner": "SSH-2.0-OpenSSH_5.4p1 FreeBSD-20100308" + }, + { + "release": "8.1-RELEASE", + "openssh": "5.4p1", + "banner": "SSH-2.0-OpenSSH_5.4p1 FreeBSD-20100308" + }, + { + "release": "8.0-RELEASE", + "openssh": "5.2p1", + "banner": "SSH-2.0-OpenSSH_5.2p1 FreeBSD-20090522" + }, + { + "release": "7.4-RELEASE", + "openssh": "5.1p1", + "banner": "SSH-2.0-OpenSSH_5.1p1 FreeBSD-20080901" + }, + { + "release": "7.3-RELEASE", + "openssh": "5.1p1", + "banner": "SSH-2.0-OpenSSH_5.1p1 FreeBSD-20080901" + }, + { + "release": "7.2-RELEASE", + "openssh": "5.1p1", + "banner": "SSH-2.0-OpenSSH_5.1p1 FreeBSD-20080901" + }, + { + "release": "7.1-RELEASE", + "openssh": "5.1p1", + "banner": "SSH-2.0-OpenSSH_5.1p1 FreeBSD-20080901" + }, + { + "release": "7.0-RELEASE", + "openssh": "4.5p1", + "banner": "SSH-2.0-OpenSSH_4.5p1 FreeBSD-20061110" + }, + { + "release": "6.4-RELEASE", + "openssh": "4.5p1", + "banner": "SSH-2.0-OpenSSH_4.5p1 FreeBSD-20061110" + }, + { + "release": "6.3-RELEASE", + "openssh": "4.5p1", + "banner": "SSH-2.0-OpenSSH_4.5p1 FreeBSD-20061110" + }, + { + "release": "6.2-RELEASE", + "openssh": "4.5p1", + "banner": "SSH-2.0-OpenSSH_4.5p1 FreeBSD-20061110" + }, + { + "release": "6.1-RELEASE", + "openssh": "4.2p1", + "banner": "SSH-2.0-OpenSSH_4.2p1 FreeBSD-20050903" + }, + { + "release": "6.0-RELEASE", + "openssh": "4.2p1", + "banner": "SSH-2.0-OpenSSH_4.2p1 FreeBSD-20050903" + }, + { + "release": "5.5-RELEASE", + "openssh": "3.8.1p1", + "banner": "SSH-2.0-OpenSSH_3.8.1p1 FreeBSD-20060123" + }, + { + "release": "5.4-RELEASE", + "openssh": "3.8.1p1", + "banner": "SSH-2.0-OpenSSH_3.8.1p1 FreeBSD-20040419" + }, + { + "release": "5.3-RELEASE", + "openssh": "3.8.1p1", + "banner": "SSH-2.0-OpenSSH_3.8.1p1 FreeBSD-20040419" + }, + { + "release": "5.2-RELEASE", + "openssh": "3.6.1p1", + "banner": "SSH-1.99-OpenSSH_3.6.1p1 FreeBSD-20030924" + }, + { + "release": "5.1-RELEASE", + "openssh": "3.6.1p1", + "banner": "SSH-1.99-OpenSSH_3.6.1p1 FreeBSD-20030423" + }, + { + "release": "5.0-RELEASE", + "openssh": "3.5p1", + "banner": "SSH-1.99-OpenSSH_3.5p1 FreeBSD-20021029" + }, + { + "release": "4.11-RELEASE", + "openssh": "3.5p1", + "banner": "SSH-1.99-OpenSSH_3.5p1 FreeBSD-20060930" + }, + { + "release": "4.11-RELEASE", + "openssh": "3.5p1", + "banner": "SSH-1.99-OpenSSH_3.5p1 FreeBSD-20030924" + }, + { + "release": "4.10-RELEASE", + "openssh": "3.5p1", + "banner": "SSH-1.99-OpenSSH_3.5p1 FreeBSD-20030924" + }, + { + "release": "4.9-RELEASE", + "openssh": "3.5p1", + "banner": "SSH-1.99-OpenSSH_3.5p1 FreeBSD-20030924" + }, + { + "release": "4.8-RELEASE", + "openssh": "3.5p1", + "banner": "SSH-1.99-OpenSSH_3.5p1 FreeBSD-20030201" + }, + { + "release": "4.7-RELEASE", + "openssh": "3.4p1", + "banner": "SSH-1.99-OpenSSH_3.4p1 FreeBSD-20020702" + }, + { + "release": "4.6.2-RELEASE", + "openssh": "3.4p1", + "banner": "SSH-1.99-OpenSSH_3.4p1 FreeBSD 20020702" + }, + { + "release": "4.6-RELEASE", + "openssh": "2.9", + "banner": "SSH-1.99-OpenSSH_2.9 FreeBSD localisations 20020307" + }, + { + "release": "4.5-RELEASE", + "openssh": "2.9", + "banner": "SSH-1.99-OpenSSH_2.9 FreeBSD localisations 20011202" + }, + { + "release": "4.4-RELEASE", + "openssh": "2.3", + "banner": "SSH-1.99-OpenSSH_2.3.0 FreeBSD localisations 20010713" + }, + { + "release": "4.3-RELEASE", + "openssh": "2.3.0", + "banner": "SSH-1.99-OpenSSH_2.3.0 green@FreeBSD.org 20010321" + } + ] +} \ No newline at end of file diff --git a/raspbian_ssh_banners.json b/raspbian_ssh_banners.json new file mode 100644 index 0000000..113cc04 --- /dev/null +++ b/raspbian_ssh_banners.json @@ -0,0 +1,37 @@ +[ + { + "openssh_version": "8.1p1-1", + "os_version": "Debian 11 \"Bullseye\" based", + "banner": "SSH-2.0-OpenSSH_8.1p1 Raspbian-1+deb11u1" + }, + { + "openssh_version": "7.9p1-10", + "os_version": "Debian 10 \"Buster\" based", + "banner": "SSH-2.0-OpenSSH_7.9p1 Raspbian-10+deb10u1" + }, + { + "openssh_version": "7.4p1-10", + "os_version": "Debian 9 \"Stretch\" based", + "banner": "SSH-2.0-OpenSSH_7.4p1 Raspbian-10+deb9u1" + }, + { + "openssh_version": "7.4p1-9", + "os_version": "Debian 9 \"Stretch\" based", + "banner": "SSH-2.0-OpenSSH_7.4p1 Raspbian-9+deb9u1" + }, + { + "openssh_version": "6.7p1-5", + "os_version": "Debian 8 \"Jessie\" based", + "banner": "SSH-2.0-OpenSSH_6.7p1 Raspbian-5+deb8u1" + }, + { + "openssh_version": "6.0p1-4", + "os_version": "Debian 7 \"Wheezy\" based", + "banner": "SSH-2.0-OpenSSH_6.0p1 Debian-4" + }, + { + "openssh_version": "6.0p1-2", + "os_version": "Debian 7 \"Wheezy\" based", + "banner": "SSH-2.0-OpenSSH_6.0p1 Debian-2" + } +] \ No newline at end of file diff --git a/ubuntu_ssh_banners.json b/ubuntu_ssh_banners.json new file mode 100644 index 0000000..4567aa5 --- /dev/null +++ b/ubuntu_ssh_banners.json @@ -0,0 +1,298 @@ +{ + "ubuntu": [ + { + "version": "25.04", + "openssh": "9.9p1", + "ubuntu_patch": "-3", + "codename": "Plucky Puffin", + "pattern": "SSH-2.0-OpenSSH_9.9p1 Ubuntu-3ubuntu3" + }, + { + "version": "24.10", + "openssh": "9.7p1", + "ubuntu_patch": "-7", + "codename": "Oracular Oriole", + "pattern": "SSH-2.0-OpenSSH_9.7p1 Ubuntu-7ubuntu4" + }, + { + "version": "24.04", + "openssh": "9.6p1", + "ubuntu_patch": "-3", + "codename": "Noble Numbat", + "pattern": "SSH-2.0-OpenSSH_9.6p1 Ubuntu-3ubuntu13" + }, + { + "version": "23.10", + "openssh": "9.3p1", + "ubuntu_patch": "-1", + "codename": "Mantic Minotaur", + "pattern": "SSH-2.0-OpenSSH_9.3p1 Ubuntu-1ubuntu3" + }, + { + "version": "23.04", + "openssh": "9.0p1", + "ubuntu_patch": "-1", + "codename": "Lunar Lobster", + "pattern": "SSH-2.0-OpenSSH_9.0p1 Ubuntu-1ubuntu8" + }, + { + "version": "22.10", + "openssh": "9.0p1", + "ubuntu_patch": "-1", + "codename": "Kinetic Kudu", + "pattern": "SSH-2.0-OpenSSH_9.0p1 Ubuntu-1ubuntu7" + }, + { + "version": "22.04", + "openssh": "8.9p1", + "ubuntu_patch": "-3", + "codename": "Jammy Jellyfish", + "pattern": "SSH-2.0-OpenSSH_8.9p1 Ubuntu-3" + }, + { + "version": "21.10", + "openssh": "8.4p1", + "ubuntu_patch": "-6", + "codename": "Impish Indri", + "pattern": "SSH-2.0-OpenSSH_8.4p1 Ubuntu-6ubuntu2" + }, + { + "version": "21.04", + "openssh": "8.4p1", + "ubuntu_patch": "-5", + "codename": "Hirsute Hippo", + "pattern": "SSH-2.0-OpenSSH_8.4p1 Ubuntu-5ubuntu1" + }, + { + "version": "20.10", + "openssh": "8.3p1", + "ubuntu_patch": "-1", + "codename": "Groovy Gorilla", + "pattern": "SSH-2.0-OpenSSH_8.3p1 Ubuntu-1" + }, + { + "version": "20.04", + "openssh": "8.2p1", + "ubuntu_patch": "-4", + "codename": "Focal Fossa", + "pattern": "SSH-2.0-OpenSSH_8.2p1 Ubuntu-4" + }, + { + "version": "19.10", + "openssh": "8.0p1", + "ubuntu_patch": "-6", + "codename": "Eoan Ermine", + "pattern": "SSH-2.0-OpenSSH_8.0p1 Ubuntu-6build1" + }, + { + "version": "19.04", + "openssh": "7.9p1", + "ubuntu_patch": "-10", + "codename": "Disco Dingo", + "pattern": "SSH-2.0-OpenSSH_7.9p1 Ubuntu-10" + }, + { + "version": "18.10", + "openssh": "7.7p1", + "ubuntu_patch": "-4", + "codename": "Cosmic Cuttlefish", + "pattern": "SSH-2.0-OpenSSH_7.7p1 Ubuntu-4" + }, + { + "version": "18.04", + "openssh": "7.6p1", + "ubuntu_patch": "-4", + "codename": "Bionic Beaver", + "pattern": "SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3" + }, + { + "version": "17.10", + "openssh": "7.5p1", + "ubuntu_patch": "-10", + "codename": "Artful Aardvark", + "pattern": "SSH-2.0-OpenSSH_7.5p1 Ubuntu-10ubuntu0.1" + }, + { + "version": "17.04", + "openssh": "7.4p1", + "ubuntu_patch": "-10", + "codename": "Zesty Zapus", + "pattern": "SSH-2.0-OpenSSH_7.4p1 Ubuntu-10" + }, + { + "version": "16.10", + "openssh": "7.3p1", + "ubuntu_patch": "-1", + "codename": "Yakkety Yak", + "pattern": "SSH-2.0-OpenSSH_7.3p1 Ubuntu-1" + }, + { + "version": "16.04", + "openssh": "7.2p2", + "ubuntu_patch": "-4", + "codename": "Xenial Xerus", + "pattern": "SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.7" + }, + { + "version": "15.10", + "openssh": "6.9p1", + "ubuntu_patch": "-2", + "codename": "Wily Werewolf", + "pattern": "SSH-2.0-OpenSSH_6.9p1 Ubuntu-2" + }, + { + "version": "15.04", + "openssh": "6.7p1", + "ubuntu_patch": "-5", + "codename": "Vivid Vervet", + "pattern": "SSH-2.0-OpenSSH_6.7p1 Ubuntu-5ubuntu1" + }, + { + "version": "14.10", + "openssh": "6.6.1p1", + "ubuntu_patch": "-8", + "codename": "Utopic Unicorn", + "pattern": "SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-8" + }, + { + "version": "14.04", + "openssh": "6.6.1p1", + "ubuntu_patch": "-2", + "codename": "Trusty Tahr", + "pattern": "SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2unbuntu2" + }, + { + "version": "13.10", + "openssh": "6.2p2", + "ubuntu_patch": "-6", + "codename": "Saucy Salamander", + "pattern": "SSH-2.0-OpenSSH_6.2p2 Ubuntu-6unbuntu0.4" + }, + { + "version": "13.04", + "openssh": "6.1p1", + "ubuntu_patch": "-4", + "codename": "Raring Ringtail", + "pattern": "SSH-2.0-OpenSSH_6.1p1 Debian-4" + }, + { + "version": "12.10", + "openssh": "6.0p1", + "ubuntu_patch": "-3", + "codename": "Quantal Quetzal", + "pattern": "SSH-2.0-OpenSSH_6.0p1 Debian-3ubuntu1.2" + }, + { + "version": "12.04", + "openssh": "5.9p1", + "ubuntu_patch": "-5", + "codename": "Precise Pangolin", + "pattern": "SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.10" + }, + { + "version": "11.10", + "openssh": "5.8p1", + "ubuntu_patch": "-7", + "codename": "Oneiric Ocelot", + "pattern": "SSH-2.0-OpenSSH_5.8p1 Debian-7ubuntu1" + }, + { + "version": "11.04", + "openssh": "5.8p1", + "ubuntu_patch": "-1", + "codename": "Natty Narwhal", + "pattern": "SSH-2.0-OpenSSH_5.8p1 Debian-1ubuntu3" + }, + { + "version": "10.10", + "openssh": "5.5p1", + "ubuntu_patch": "-4", + "codename": "Maverick Meerkat", + "pattern": "SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu" + }, + { + "version": "10.04", + "openssh": "5.3p1", + "ubuntu_patch": "-3", + "codename": "Lucid Lynx", + "pattern": "SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu3" + }, + { + "version": "9.10", + "openssh": "5.1p1", + "ubuntu_patch": "-6", + "codename": "Karmic Koala", + "pattern": "SSH-2.0-OpenSSH_5.1p1 Debian-6ubuntu2" + }, + { + "version": "9.04", + "openssh": "5.1p1", + "ubuntu_patch": "-5", + "codename": "Jaunty Jackalope", + "pattern": "SSH-2.0-OpenSSH_5.1p1 Debian-5ubuntu1" + }, + { + "version": "8.10", + "openssh": "5.1p1", + "ubuntu_patch": "-3", + "codename": "Intrepid Ibex", + "pattern": "SSH-2.0-OpenSSH_5.1p1 Debian-3ubuntu1" + }, + { + "version": "8.04", + "openssh": "4.7p1", + "ubuntu_patch": "-8", + "codename": "Hardy Heron", + "pattern": "SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu1" + }, + { + "version": "7.10", + "openssh": "4.6p1", + "ubuntu_patch": "-5", + "codename": "Gutsy Gibbon", + "pattern": "SSH-2.0-OpenSSH_4.6p1 Debian-5ubuntu0" + }, + { + "version": "7.04", + "openssh": "4.3p2", + "ubuntu_patch": "-8", + "codename": "Feisty Fawn", + "pattern": "SSH-2.0-OpenSSH_4.3p2 Debian-8ubuntu1" + }, + { + "version": "6.10", + "openssh": "4.3p2", + "ubuntu_patch": "-5", + "codename": "Edgy Eft", + "pattern": "SSH-2.0-OpenSSH_4.3p2 Debian-5ubuntu1" + }, + { + "version": "6.06", + "openssh": "4.2p1", + "ubuntu_patch": "-7", + "codename": "Dapper Drake", + "pattern": "SSH-2.0-OpenSSH_4.2p1 Debian-7ubuntu3" + }, + { + "version": "5.10", + "openssh": "4.1p1", + "ubuntu_patch": "-7", + "codename": "Breezy Badger", + "pattern": "SSH-2.0-OpenSSH_4.1p1 Debian-7ubuntu4" + }, + { + "version": "5.04", + "openssh": "3.9p1", + "ubuntu_patch": "-1", + "codename": "Hoary Hedgehog", + "pattern": "SSH-2.0-OpenSSH_3.9p1 Debian-1ubuntu2" + }, + { + "version": "4.10", + "openssh": "3.8.1p1", + "ubuntu_patch": "-11", + "codename": "Warty Warthog", + "pattern": "SSH-2.0-OpenSSH_3.8.1p1 Debian-11ubuntu3" + } + ] +} \ No newline at end of file From 0f6c036e791c9c569778921f5009d565f26066d2 Mon Sep 17 00:00:00 2001 From: Richard Lam <54393902+richlamdev@users.noreply.github.com> Date: Sun, 20 Apr 2025 21:22:51 -0700 Subject: [PATCH 2/3] remove json files; add ubuntu lua table file --- debian_ssh_banners.json | 107 -------------- freebsd_ssh_banners.json | 289 ------------------------------------ raspbian_ssh_banners.json | 37 ----- ssh-os.nse | 52 +------ ubuntu_ssh_banners.json | 298 -------------------------------------- ubuntu_ssh_banners.lua | 290 +++++++++++++++++++++++++++++++++++++ 6 files changed, 295 insertions(+), 778 deletions(-) delete mode 100644 debian_ssh_banners.json delete mode 100644 freebsd_ssh_banners.json delete mode 100644 raspbian_ssh_banners.json delete mode 100644 ubuntu_ssh_banners.json create mode 100644 ubuntu_ssh_banners.lua diff --git a/debian_ssh_banners.json b/debian_ssh_banners.json deleted file mode 100644 index f821b94..0000000 --- a/debian_ssh_banners.json +++ /dev/null @@ -1,107 +0,0 @@ -[ - { - "openssh_version": "9.2p1-2", - "os_version": "Debian 12.x Bookworm", - "ssh_banner": "SSH-2.0-OpenSSH_9.2p1 Debian-2" - }, - { - "openssh_version": "8.4p1-5", - "os_version": "Debian 11.x Bullseye", - "ssh_banner": "SSH-2.0-OpenSSH_8.4p1 Debian-5" - }, - { - "openssh_version": "7.9p1-10", - "os_version": "Debian 10.3 Buster", - "ssh_banner": "SSH-2.0-OpenSSH_7.9p1 Debian-10+deb10u2" - }, - { - "openssh_version": "7.9p1-10", - "os_version": "Debian 10.2 Buster", - "ssh_banner": "SSH-2.0-OpenSSH_7.9p1 Debian-10+deb10u1" - }, - { - "openssh_version": "7.9p1-10", - "os_version": "Debian 10.0 Buster", - "ssh_banner": "SSH-2.0-OpenSSH_7.9p1 Debian-10" - }, - { - "openssh_version": "7.4p1-10", - "os_version": "Debian 9.9 Stretch", - "ssh_banner": "SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u6" - }, - { - "openssh_version": "7.4p1-10", - "os_version": "Debian 9.0 Stretch", - "ssh_banner": "SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u6" - }, - { - "openssh_version": "6.7p1-5", - "os_version": "Debian 8.0 Jessie", - "ssh_banner": "SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u8" - }, - { - "openssh_version": "6.7p1-5", - "os_version": "Debian 8.7 Jessie", - "ssh_banner": "SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u8" - }, - { - "openssh_version": "6.0p1-4", - "os_version": "Debian 7.8 Wheezy", - "ssh_banner": "SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u2" - }, - { - "openssh_version": "6.0p1-4", - "os_version": "Debian 7.0 Wheezy", - "ssh_banner": "SSH-2.0-OpenSSH_6.0p1 Debian-4" - }, - { - "openssh_version": "5.8p1-4", - "os_version": "Debian 6.0 Squeeze", - "ssh_banner": "SSH-2.0-OpenSSH_5.8p1 Debian-4~squeeze+1" - }, - { - "openssh_version": "5.5p1-6", - "os_version": "Debian 6.0 Squeeze", - "ssh_banner": "SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze4" - }, - { - "openssh_version": "5.5p1-6", - "os_version": "Debian 6.0 Squeeze", - "ssh_banner": "SSH-2.0-OpenSSH_5.5p1 Debian-6" - }, - { - "openssh_version": "5.5p1-6", - "os_version": "Debian 6.0 Squeeze", - "ssh_banner": "SSH-2.0-OpenSSH_5.5p1 Debian-26+squeeze7" - }, - { - "openssh_version": "5.1p1-6", - "os_version": "Debian 5.0 Lenny", - "ssh_banner": "SSH-2.0-OpenSSH_5.1p1 Debian-5" - }, - { - "openssh_version": "5.1p1-5", - "os_version": "Debian 5.10 Lenny", - "ssh_banner": "SSH-2.0-OpenSSH_5.1p1 Debian-5" - }, - { - "openssh_version": "4.3p2-9", - "os_version": "Debian 4.0 Etch", - "ssh_banner": "SSH-2.0-OpenSSH_4.3p2 Debian-9" - }, - { - "openssh_version": "4.3p2-9", - "os_version": "Debian 4.0r8 Etch", - "ssh_banner": "SSH-2.0-OpenSSH_4.3p2 Debian-9-etch3" - }, - { - "openssh_version": "3.8.1p1", - "os_version": "Debian 3.1 Woody", - "ssh_banner": "SSH-2.0-OpenSSH_3.8.1p1 Debian-8.sarge.4" - }, - { - "openssh_version": "3.4p1-1", - "os_version": "Debian 3.0 Woody", - "ssh_banner": "SSH-2.0-OpenSSH_3.4p1 Debian 1:3.4p1-1.woody.3" - } -] \ No newline at end of file diff --git a/freebsd_ssh_banners.json b/freebsd_ssh_banners.json deleted file mode 100644 index 75ca155..0000000 --- a/freebsd_ssh_banners.json +++ /dev/null @@ -1,289 +0,0 @@ -{ - "freebsd": [ - { - "release": "14.2-RELEASE", - "openssh": "9.7", - "banner": "SSH-2.0-OpenSSH_9.7 FreeBSD-20240806" - }, - { - "release": "14.1-RELEASE", - "openssh": "9.7", - "banner": "SSH-2.0-OpenSSH_9.7 FreeBSD-20240318" - }, - { - "release": "14.0-RELEASE", - "openssh": "9.5", - "banner": "SSH-2.0-OpenSSH_9.5 FreeBSD-20231004" - }, - { - "release": "13.5-RELEASE", - "openssh": "9.9", - "banner": "SSH-2.0-OpenSSH_9.9 FreeBSD-20250219" - }, - { - "release": "13.2-RELEASE", - "openssh": "9.3", - "banner": "SSH-2.0-OpenSSH_9.3 FreeBSD-20230316" - }, - { - "release": "13.1-RELEASE", - "openssh": "8.8", - "banner": "SSH-2.0-OpenSSH_8.8 FreeBSD-20211221" - }, - { - "release": "13.0-RELEASE", - "openssh": "7.9", - "banner": "SSH-2.0-OpenSSH_7.9 FreeBSD-20200214" - }, - { - "release": "12.4-RELEASE", - "openssh": "9.1", - "banner": "SSH-2.0-OpenSSH_9.1 FreeBSD-20221019" - }, - { - "release": "12.3-RELEASE", - "openssh": "7.9", - "banner": "SSH-2.0-OpenSSH_7.9 FreeBSD-20200214" - }, - { - "release": "12.2-RELEASE", - "openssh": "7.9", - "banner": "SSH-2.0-OpenSSH_7.9 FreeBSD-20200214" - }, - { - "release": "12.1-RELEASE", - "openssh": "7.8", - "banner": "SSH-2.0-OpenSSH_7.8 FreeBSD-20180909" - }, - { - "release": "12.0-RELEASE", - "openssh": "7.8", - "banner": "SSH-2.0-OpenSSH_7.8 FreeBSD-20180909" - }, - { - "release": "11.3-RELEASE", - "openssh": "7.5", - "banner": "SSH-2.0-OpenSSH_7.5 FreeBSD-20170903" - }, - { - "release": "11.2-RELEASE", - "openssh": "7.5", - "banner": "SSH-2.0-OpenSSH_7.5 FreeBSD-20170903" - }, - { - "release": "11.1-RELEASE", - "openssh": "7.2", - "banner": "SSH-2.0-OpenSSH_7.2 FreeBSD-20161230" - }, - { - "release": "11.0-RELEASE", - "openssh": "7.2", - "banner": "SSH-2.0-OpenSSH_7.2 FreeBSD-20160310" - }, - { - "release": "10.4-RELEASE", - "openssh": "7.3", - "banner": "SSH-2.0-OpenSSH_7.3 FreeBSD-20170902" - }, - { - "release": "10.3-RELEASE", - "openssh": "7.2", - "banner": "SSH-2.0-OpenSSH_7.2 FreeBSD-20160310" - }, - { - "release": "10.2-RELEASE", - "openssh": "6.6.1", - "banner": "SSH-2.0-OpenSSH_6.6.1_hpn13v11 FreeBSD-20140420" - }, - { - "release": "10.1-RELEASE", - "openssh": "6.6.1", - "banner": "SSH-2.0-OpenSSH_6.6.1_hpn13v11 FreeBSD-20140420" - }, - { - "release": "10.0-RELEASE", - "openssh": "6.4", - "banner": "SSH-2.0-OpenSSH_6.4_hpn13v11 FreeBSD-20131111" - }, - { - "release": "9.3-RELEASE", - "openssh": "6.6.1", - "banner": "SSH-2.0-OpenSSH_6.6.1_hpn13v11 FreeBSD-20140420" - }, - { - "release": "9.2-RELEASE", - "openssh": "6.2", - "banner": "SSH-2.0-OpenSSH_6.2_hpn13v11 FreeBSD-20130515" - }, - { - "release": "9.1-RELEASE", - "openssh": "5.8p2", - "banner": "SSH-2.0-OpenSSH_5.8p2_hpn13v11 FreeBSD-20110503" - }, - { - "release": "9.0-RELEASE", - "openssh": "5.8p2", - "banner": "SSH-2.0-OpenSSH_5.8p2_hpn13v11 FreeBSD-20110503" - }, - { - "release": "8.4-RELEASE", - "openssh": "6.1", - "banner": "SSH-2.0-OpenSSH_6.1_hpn13v11 FreeBSD-20120901" - }, - { - "release": "8.3-RELEASE", - "openssh": "5.4p1", - "banner": "SSH-2.0-OpenSSH_5.4p1_hpn13v11 FreeBSD-20100308" - }, - { - "release": "8.2-RELEASE", - "openssh": "5.4p1", - "banner": "SSH-2.0-OpenSSH_5.4p1 FreeBSD-20100308" - }, - { - "release": "8.1-RELEASE", - "openssh": "5.4p1", - "banner": "SSH-2.0-OpenSSH_5.4p1 FreeBSD-20100308" - }, - { - "release": "8.0-RELEASE", - "openssh": "5.2p1", - "banner": "SSH-2.0-OpenSSH_5.2p1 FreeBSD-20090522" - }, - { - "release": "7.4-RELEASE", - "openssh": "5.1p1", - "banner": "SSH-2.0-OpenSSH_5.1p1 FreeBSD-20080901" - }, - { - "release": "7.3-RELEASE", - "openssh": "5.1p1", - "banner": "SSH-2.0-OpenSSH_5.1p1 FreeBSD-20080901" - }, - { - "release": "7.2-RELEASE", - "openssh": "5.1p1", - "banner": "SSH-2.0-OpenSSH_5.1p1 FreeBSD-20080901" - }, - { - "release": "7.1-RELEASE", - "openssh": "5.1p1", - "banner": "SSH-2.0-OpenSSH_5.1p1 FreeBSD-20080901" - }, - { - "release": "7.0-RELEASE", - "openssh": "4.5p1", - "banner": "SSH-2.0-OpenSSH_4.5p1 FreeBSD-20061110" - }, - { - "release": "6.4-RELEASE", - "openssh": "4.5p1", - "banner": "SSH-2.0-OpenSSH_4.5p1 FreeBSD-20061110" - }, - { - "release": "6.3-RELEASE", - "openssh": "4.5p1", - "banner": "SSH-2.0-OpenSSH_4.5p1 FreeBSD-20061110" - }, - { - "release": "6.2-RELEASE", - "openssh": "4.5p1", - "banner": "SSH-2.0-OpenSSH_4.5p1 FreeBSD-20061110" - }, - { - "release": "6.1-RELEASE", - "openssh": "4.2p1", - "banner": "SSH-2.0-OpenSSH_4.2p1 FreeBSD-20050903" - }, - { - "release": "6.0-RELEASE", - "openssh": "4.2p1", - "banner": "SSH-2.0-OpenSSH_4.2p1 FreeBSD-20050903" - }, - { - "release": "5.5-RELEASE", - "openssh": "3.8.1p1", - "banner": "SSH-2.0-OpenSSH_3.8.1p1 FreeBSD-20060123" - }, - { - "release": "5.4-RELEASE", - "openssh": "3.8.1p1", - "banner": "SSH-2.0-OpenSSH_3.8.1p1 FreeBSD-20040419" - }, - { - "release": "5.3-RELEASE", - "openssh": "3.8.1p1", - "banner": "SSH-2.0-OpenSSH_3.8.1p1 FreeBSD-20040419" - }, - { - "release": "5.2-RELEASE", - "openssh": "3.6.1p1", - "banner": "SSH-1.99-OpenSSH_3.6.1p1 FreeBSD-20030924" - }, - { - "release": "5.1-RELEASE", - "openssh": "3.6.1p1", - "banner": "SSH-1.99-OpenSSH_3.6.1p1 FreeBSD-20030423" - }, - { - "release": "5.0-RELEASE", - "openssh": "3.5p1", - "banner": "SSH-1.99-OpenSSH_3.5p1 FreeBSD-20021029" - }, - { - "release": "4.11-RELEASE", - "openssh": "3.5p1", - "banner": "SSH-1.99-OpenSSH_3.5p1 FreeBSD-20060930" - }, - { - "release": "4.11-RELEASE", - "openssh": "3.5p1", - "banner": "SSH-1.99-OpenSSH_3.5p1 FreeBSD-20030924" - }, - { - "release": "4.10-RELEASE", - "openssh": "3.5p1", - "banner": "SSH-1.99-OpenSSH_3.5p1 FreeBSD-20030924" - }, - { - "release": "4.9-RELEASE", - "openssh": "3.5p1", - "banner": "SSH-1.99-OpenSSH_3.5p1 FreeBSD-20030924" - }, - { - "release": "4.8-RELEASE", - "openssh": "3.5p1", - "banner": "SSH-1.99-OpenSSH_3.5p1 FreeBSD-20030201" - }, - { - "release": "4.7-RELEASE", - "openssh": "3.4p1", - "banner": "SSH-1.99-OpenSSH_3.4p1 FreeBSD-20020702" - }, - { - "release": "4.6.2-RELEASE", - "openssh": "3.4p1", - "banner": "SSH-1.99-OpenSSH_3.4p1 FreeBSD 20020702" - }, - { - "release": "4.6-RELEASE", - "openssh": "2.9", - "banner": "SSH-1.99-OpenSSH_2.9 FreeBSD localisations 20020307" - }, - { - "release": "4.5-RELEASE", - "openssh": "2.9", - "banner": "SSH-1.99-OpenSSH_2.9 FreeBSD localisations 20011202" - }, - { - "release": "4.4-RELEASE", - "openssh": "2.3", - "banner": "SSH-1.99-OpenSSH_2.3.0 FreeBSD localisations 20010713" - }, - { - "release": "4.3-RELEASE", - "openssh": "2.3.0", - "banner": "SSH-1.99-OpenSSH_2.3.0 green@FreeBSD.org 20010321" - } - ] -} \ No newline at end of file diff --git a/raspbian_ssh_banners.json b/raspbian_ssh_banners.json deleted file mode 100644 index 113cc04..0000000 --- a/raspbian_ssh_banners.json +++ /dev/null @@ -1,37 +0,0 @@ -[ - { - "openssh_version": "8.1p1-1", - "os_version": "Debian 11 \"Bullseye\" based", - "banner": "SSH-2.0-OpenSSH_8.1p1 Raspbian-1+deb11u1" - }, - { - "openssh_version": "7.9p1-10", - "os_version": "Debian 10 \"Buster\" based", - "banner": "SSH-2.0-OpenSSH_7.9p1 Raspbian-10+deb10u1" - }, - { - "openssh_version": "7.4p1-10", - "os_version": "Debian 9 \"Stretch\" based", - "banner": "SSH-2.0-OpenSSH_7.4p1 Raspbian-10+deb9u1" - }, - { - "openssh_version": "7.4p1-9", - "os_version": "Debian 9 \"Stretch\" based", - "banner": "SSH-2.0-OpenSSH_7.4p1 Raspbian-9+deb9u1" - }, - { - "openssh_version": "6.7p1-5", - "os_version": "Debian 8 \"Jessie\" based", - "banner": "SSH-2.0-OpenSSH_6.7p1 Raspbian-5+deb8u1" - }, - { - "openssh_version": "6.0p1-4", - "os_version": "Debian 7 \"Wheezy\" based", - "banner": "SSH-2.0-OpenSSH_6.0p1 Debian-4" - }, - { - "openssh_version": "6.0p1-2", - "os_version": "Debian 7 \"Wheezy\" based", - "banner": "SSH-2.0-OpenSSH_6.0p1 Debian-2" - } -] \ No newline at end of file diff --git a/ssh-os.nse b/ssh-os.nse index f6b58c7..9d6619c 100644 --- a/ssh-os.nse +++ b/ssh-os.nse @@ -1,6 +1,8 @@ local shortport = require "shortport" local stdnse = require "stdnse" local comm = require "comm" +local ubuntu_banners = require "ubuntu_ssh_banners" + description = [[ Identifies Ubuntu, FreeBSD, Debian, or Raspbian version based on response of SSH banner. @@ -87,53 +89,9 @@ local function get_ubuntu(ssh_banner) u_build_version = ssh_banner:match("%-%d+",start_offset) u_ssh_build = u_ssh_version .. u_build_version --- https://github.com/richlamdev/ssh-default-banners - local u_table = { - ["9.9p1-3"] = "Ubuntu 25.04 Plucky Puffin", - ["9.7p1-7"] = "Ubuntu 24.10 Oracular Oriole", - ["9.6p1-3"] = "Ubuntu 24.04 Noble Numbat", - ["9.3p1-1"] = "Ubuntu 23.10 Mantic Minotaur", - ["9.0p1-1"] = "Ubuntu 22.10 Kinetic Kudu or Ubuntu 23.04 Lunar Lobster", - ["8.9p1-3"] = "Ubuntu 22.04 Jammy Jellyfish", - ["8.4p1-6"] = "Ubuntu 21.10 Impish Indri", - ["8.4p1-5"] = "Ubuntu 21.04 Hirsute Hippo", - ["8.3p1-1"] = "Ubuntu 20.10 Groovy Gorilla", - ["8.2p1-4"] = "Ubuntu 20.04 Focal Fossa", - ["8.0p1-6"] = "Ubuntu 19.10 Eoan Ermine", - ["7.9p1-10"] = "Ubuntu 19.04 Disco Dingo", - ["7.7p1-4"] = "Ubuntu 18.10 Cosmic Cuttlefish", - ["7.6p1-4"] = "Ubuntu 18.04 Bionic Beaver", - ["7.5p1-10"] = "Ubuntu 17.10 Artful Aardvark", - ["7.4p1-10"] = "Ubuntu 17.04 Zesty Zapus", - ["7.3p1-1"] = "Ubuntu 16.10 Yakkety Yak", - ["7.2p2-4"] = "Ubuntu 16.04 Xenial Xerus", - ["6.9p1-2"] = "Ubuntu 15.10 Wily Werewolf", - ["6.7p1-5"] = "Ubuntu 15.04 Vivid Vervet", - ["6.6.1p1-8"] = "Ubuntu 14.10 Utopic Unicorn", - ["6.6.1p1-2"] = "Ubuntu 14.04 Trusty Tahr", - ["6.2p2-6"] = "Ubuntu 13.10 Saucy Salamander", - ["6.1p1-4"] = "Ubuntu 13.04 Raring Ringtail", - ["6.0p1-3"] = "Ubuntu 12.10 Quantal Quetzal", - ["5.9p1-5"] = "Ubuntu 12.04 Precise Pangolin", - ["5.8p1-7"] = "Ubuntu 11.10 Oneiric Ocelot", - ["5.8p1-1"] = "Ubuntu 11.04 Natty Narwhal", - ["5.5p1-4"] = "Ubuntu 10.10 Maverick Meerkat", - ["5.3p1-3"] = "Ubuntu 10.04 Lucid Lynx", - ["5.1p1-6"] = "Ubuntu 9.10 Karmic Koala", - ["5.1p1-5"] = "Ubuntu 9.04 Jaunty Jackalope", - ["5.1p1-3"] = "Ubuntu 8.10 Intrepid Ibex", - ["4.7p1-8"] = "Ubuntu 8.04 Hardy Heron", - ["4.6p1-5"] = "Ubuntu 7.10 Gutsy Gibbon", - ["4.3p2-8"] = "Ubuntu 7.04 Feisty Fawn", - ["4.3p2-5"] = "Ubuntu 6.10 Edgy Eft", - ["4.2p1-7"] = "Ubuntu 6.06 Dapper Drake", - ["4.1p1-7"] = "Ubuntu 5.10 Breezy Badger", - ["3.9p1-1"] = "Ubuntu 5.04 Hoary Hedgehog", - ["3.8.1p1-11"] = "Ubuntu 4.10 Warty Warthog" - } - - if u_table[u_ssh_build] then - ubuntu_ver = u_table[u_ssh_build] + local entry = ubuntu_banners[u_ssh_build] + if entry and entry.codename then + ubuntu_ver = entry.name else ubuntu_ver = "Unknown Ubuntu version" end diff --git a/ubuntu_ssh_banners.json b/ubuntu_ssh_banners.json deleted file mode 100644 index 4567aa5..0000000 --- a/ubuntu_ssh_banners.json +++ /dev/null @@ -1,298 +0,0 @@ -{ - "ubuntu": [ - { - "version": "25.04", - "openssh": "9.9p1", - "ubuntu_patch": "-3", - "codename": "Plucky Puffin", - "pattern": "SSH-2.0-OpenSSH_9.9p1 Ubuntu-3ubuntu3" - }, - { - "version": "24.10", - "openssh": "9.7p1", - "ubuntu_patch": "-7", - "codename": "Oracular Oriole", - "pattern": "SSH-2.0-OpenSSH_9.7p1 Ubuntu-7ubuntu4" - }, - { - "version": "24.04", - "openssh": "9.6p1", - "ubuntu_patch": "-3", - "codename": "Noble Numbat", - "pattern": "SSH-2.0-OpenSSH_9.6p1 Ubuntu-3ubuntu13" - }, - { - "version": "23.10", - "openssh": "9.3p1", - "ubuntu_patch": "-1", - "codename": "Mantic Minotaur", - "pattern": "SSH-2.0-OpenSSH_9.3p1 Ubuntu-1ubuntu3" - }, - { - "version": "23.04", - "openssh": "9.0p1", - "ubuntu_patch": "-1", - "codename": "Lunar Lobster", - "pattern": "SSH-2.0-OpenSSH_9.0p1 Ubuntu-1ubuntu8" - }, - { - "version": "22.10", - "openssh": "9.0p1", - "ubuntu_patch": "-1", - "codename": "Kinetic Kudu", - "pattern": "SSH-2.0-OpenSSH_9.0p1 Ubuntu-1ubuntu7" - }, - { - "version": "22.04", - "openssh": "8.9p1", - "ubuntu_patch": "-3", - "codename": "Jammy Jellyfish", - "pattern": "SSH-2.0-OpenSSH_8.9p1 Ubuntu-3" - }, - { - "version": "21.10", - "openssh": "8.4p1", - "ubuntu_patch": "-6", - "codename": "Impish Indri", - "pattern": "SSH-2.0-OpenSSH_8.4p1 Ubuntu-6ubuntu2" - }, - { - "version": "21.04", - "openssh": "8.4p1", - "ubuntu_patch": "-5", - "codename": "Hirsute Hippo", - "pattern": "SSH-2.0-OpenSSH_8.4p1 Ubuntu-5ubuntu1" - }, - { - "version": "20.10", - "openssh": "8.3p1", - "ubuntu_patch": "-1", - "codename": "Groovy Gorilla", - "pattern": "SSH-2.0-OpenSSH_8.3p1 Ubuntu-1" - }, - { - "version": "20.04", - "openssh": "8.2p1", - "ubuntu_patch": "-4", - "codename": "Focal Fossa", - "pattern": "SSH-2.0-OpenSSH_8.2p1 Ubuntu-4" - }, - { - "version": "19.10", - "openssh": "8.0p1", - "ubuntu_patch": "-6", - "codename": "Eoan Ermine", - "pattern": "SSH-2.0-OpenSSH_8.0p1 Ubuntu-6build1" - }, - { - "version": "19.04", - "openssh": "7.9p1", - "ubuntu_patch": "-10", - "codename": "Disco Dingo", - "pattern": "SSH-2.0-OpenSSH_7.9p1 Ubuntu-10" - }, - { - "version": "18.10", - "openssh": "7.7p1", - "ubuntu_patch": "-4", - "codename": "Cosmic Cuttlefish", - "pattern": "SSH-2.0-OpenSSH_7.7p1 Ubuntu-4" - }, - { - "version": "18.04", - "openssh": "7.6p1", - "ubuntu_patch": "-4", - "codename": "Bionic Beaver", - "pattern": "SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3" - }, - { - "version": "17.10", - "openssh": "7.5p1", - "ubuntu_patch": "-10", - "codename": "Artful Aardvark", - "pattern": "SSH-2.0-OpenSSH_7.5p1 Ubuntu-10ubuntu0.1" - }, - { - "version": "17.04", - "openssh": "7.4p1", - "ubuntu_patch": "-10", - "codename": "Zesty Zapus", - "pattern": "SSH-2.0-OpenSSH_7.4p1 Ubuntu-10" - }, - { - "version": "16.10", - "openssh": "7.3p1", - "ubuntu_patch": "-1", - "codename": "Yakkety Yak", - "pattern": "SSH-2.0-OpenSSH_7.3p1 Ubuntu-1" - }, - { - "version": "16.04", - "openssh": "7.2p2", - "ubuntu_patch": "-4", - "codename": "Xenial Xerus", - "pattern": "SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.7" - }, - { - "version": "15.10", - "openssh": "6.9p1", - "ubuntu_patch": "-2", - "codename": "Wily Werewolf", - "pattern": "SSH-2.0-OpenSSH_6.9p1 Ubuntu-2" - }, - { - "version": "15.04", - "openssh": "6.7p1", - "ubuntu_patch": "-5", - "codename": "Vivid Vervet", - "pattern": "SSH-2.0-OpenSSH_6.7p1 Ubuntu-5ubuntu1" - }, - { - "version": "14.10", - "openssh": "6.6.1p1", - "ubuntu_patch": "-8", - "codename": "Utopic Unicorn", - "pattern": "SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-8" - }, - { - "version": "14.04", - "openssh": "6.6.1p1", - "ubuntu_patch": "-2", - "codename": "Trusty Tahr", - "pattern": "SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2unbuntu2" - }, - { - "version": "13.10", - "openssh": "6.2p2", - "ubuntu_patch": "-6", - "codename": "Saucy Salamander", - "pattern": "SSH-2.0-OpenSSH_6.2p2 Ubuntu-6unbuntu0.4" - }, - { - "version": "13.04", - "openssh": "6.1p1", - "ubuntu_patch": "-4", - "codename": "Raring Ringtail", - "pattern": "SSH-2.0-OpenSSH_6.1p1 Debian-4" - }, - { - "version": "12.10", - "openssh": "6.0p1", - "ubuntu_patch": "-3", - "codename": "Quantal Quetzal", - "pattern": "SSH-2.0-OpenSSH_6.0p1 Debian-3ubuntu1.2" - }, - { - "version": "12.04", - "openssh": "5.9p1", - "ubuntu_patch": "-5", - "codename": "Precise Pangolin", - "pattern": "SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.10" - }, - { - "version": "11.10", - "openssh": "5.8p1", - "ubuntu_patch": "-7", - "codename": "Oneiric Ocelot", - "pattern": "SSH-2.0-OpenSSH_5.8p1 Debian-7ubuntu1" - }, - { - "version": "11.04", - "openssh": "5.8p1", - "ubuntu_patch": "-1", - "codename": "Natty Narwhal", - "pattern": "SSH-2.0-OpenSSH_5.8p1 Debian-1ubuntu3" - }, - { - "version": "10.10", - "openssh": "5.5p1", - "ubuntu_patch": "-4", - "codename": "Maverick Meerkat", - "pattern": "SSH-2.0-OpenSSH_5.5p1 Debian-4ubuntu" - }, - { - "version": "10.04", - "openssh": "5.3p1", - "ubuntu_patch": "-3", - "codename": "Lucid Lynx", - "pattern": "SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu3" - }, - { - "version": "9.10", - "openssh": "5.1p1", - "ubuntu_patch": "-6", - "codename": "Karmic Koala", - "pattern": "SSH-2.0-OpenSSH_5.1p1 Debian-6ubuntu2" - }, - { - "version": "9.04", - "openssh": "5.1p1", - "ubuntu_patch": "-5", - "codename": "Jaunty Jackalope", - "pattern": "SSH-2.0-OpenSSH_5.1p1 Debian-5ubuntu1" - }, - { - "version": "8.10", - "openssh": "5.1p1", - "ubuntu_patch": "-3", - "codename": "Intrepid Ibex", - "pattern": "SSH-2.0-OpenSSH_5.1p1 Debian-3ubuntu1" - }, - { - "version": "8.04", - "openssh": "4.7p1", - "ubuntu_patch": "-8", - "codename": "Hardy Heron", - "pattern": "SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu1" - }, - { - "version": "7.10", - "openssh": "4.6p1", - "ubuntu_patch": "-5", - "codename": "Gutsy Gibbon", - "pattern": "SSH-2.0-OpenSSH_4.6p1 Debian-5ubuntu0" - }, - { - "version": "7.04", - "openssh": "4.3p2", - "ubuntu_patch": "-8", - "codename": "Feisty Fawn", - "pattern": "SSH-2.0-OpenSSH_4.3p2 Debian-8ubuntu1" - }, - { - "version": "6.10", - "openssh": "4.3p2", - "ubuntu_patch": "-5", - "codename": "Edgy Eft", - "pattern": "SSH-2.0-OpenSSH_4.3p2 Debian-5ubuntu1" - }, - { - "version": "6.06", - "openssh": "4.2p1", - "ubuntu_patch": "-7", - "codename": "Dapper Drake", - "pattern": "SSH-2.0-OpenSSH_4.2p1 Debian-7ubuntu3" - }, - { - "version": "5.10", - "openssh": "4.1p1", - "ubuntu_patch": "-7", - "codename": "Breezy Badger", - "pattern": "SSH-2.0-OpenSSH_4.1p1 Debian-7ubuntu4" - }, - { - "version": "5.04", - "openssh": "3.9p1", - "ubuntu_patch": "-1", - "codename": "Hoary Hedgehog", - "pattern": "SSH-2.0-OpenSSH_3.9p1 Debian-1ubuntu2" - }, - { - "version": "4.10", - "openssh": "3.8.1p1", - "ubuntu_patch": "-11", - "codename": "Warty Warthog", - "pattern": "SSH-2.0-OpenSSH_3.8.1p1 Debian-11ubuntu3" - } - ] -} \ No newline at end of file diff --git a/ubuntu_ssh_banners.lua b/ubuntu_ssh_banners.lua new file mode 100644 index 0000000..6423499 --- /dev/null +++ b/ubuntu_ssh_banners.lua @@ -0,0 +1,290 @@ +-- ubuntu_ssh_banners.lua +return { + ["9.9p1-3"] = { + codename = "Plucky Puffin", + version = "25.04", + name = "Ubuntu 25.04 Plucky Puffin", + openssh = "9.9p1", + build = "3" + }, + ["9.7p1-7"] = { + codename = "Oracular Oriole", + version = "24.10", + name = "Ubuntu 24.10 Oracular Oriole", + openssh = "9.7p1", + build = "7" + }, + ["9.6p1-3"] = { + codename = "Noble Numbat", + version = "24.04", + name = "Ubuntu 24.04 Noble Numbat", + openssh = "9.6p1", + build = "3" + }, + ["9.3p1-1"] = { + codename = "Mantic Minotaur", + version = "23.10", + name = "Ubuntu 23.10 Mantic Minotaur", + openssh = "9.3p1", + build = "1" + }, + ["9.0p1-1"] = { + codename = "Kinetic Kudu or Lunar Lobster", + version = "22.10 or 23.04", + name = "Ubuntu 22.10 Kinetic Kudu or Ubuntu 23.04 Lunar Lobster", + openssh = "9.0p1", + build = "1" + }, + ["8.9p1-3"] = { + codename = "Jammy Jellyfish", + version = "22.04", + name = "Ubuntu 22.04 Jammy Jellyfish", + openssh = "8.9p1", + build = "3" + }, + ["8.4p1-6"] = { + codename = "Impish Indri", + version = "21.10", + name = "Ubuntu 21.10 Impish Indri", + openssh = "8.4p1", + build = "6" + }, + ["8.4p1-5"] = { + codename = "Hirsute Hippo", + version = "21.04", + name = "Ubuntu 21.04 Hirsute Hippo", + openssh = "8.4p1", + build = "5" + }, + ["8.3p1-1"] = { + codename = "Groovy Gorilla", + version = "20.10", + name = "Ubuntu 20.10 Groovy Gorilla", + openssh = "8.3p1", + build = "1" + }, + ["8.2p1-4"] = { + codename = "Focal Fossa", + version = "20.04", + name = "Ubuntu 20.04 Focal Fossa", + openssh = "8.2p1", + build = "4" + }, + ["8.0p1-6"] = { + codename = "Eoan Ermine", + version = "19.10", + name = "Ubuntu 19.10 Eoan Ermine", + openssh = "8.0p1", + build = "6" + }, + ["7.9p1-10"] = { + codename = "Disco Dingo", + version = "19.04", + name = "Ubuntu 19.04 Disco Dingo", + openssh = "7.9p1", + build = "10" + }, + ["7.7p1-4"] = { + codename = "Cosmic Cuttlefish", + version = "18.10", + name = "Ubuntu 18.10 Cosmic Cuttlefish", + openssh = "7.7p1", + build = "4" + }, + ["7.6p1-4"] = { + codename = "Bionic Beaver", + version = "18.04", + name = "Ubuntu 18.04 Bionic Beaver", + openssh = "7.6p1", + build = "4" + }, + ["7.5p1-10"] = { + codename = "Artful Aardvark", + version = "17.10", + name = "Ubuntu 17.10 Artful Aardvark", + openssh = "7.5p1", + build = "10" + }, + ["7.4p1-10"] = { + codename = "Zesty Zapus", + version = "17.04", + name = "Ubuntu 17.04 Zesty Zapus", + openssh = "7.4p1", + build = "10" + }, + ["7.3p1-1"] = { + codename = "Yakkety Yak", + version = "16.10", + name = "Ubuntu 16.10 Yakkety Yak", + openssh = "7.3p1", + build = "1" + }, + ["7.2p2-4"] = { + codename = "Xenial Xerus", + version = "16.04", + name = "Ubuntu 16.04 Xenial Xerus", + openssh = "7.2p2", + build = "4" + }, + ["6.9p1-2"] = { + codename = "Wily Werewolf", + version = "15.10", + name = "Ubuntu 15.10 Wily Werewolf", + openssh = "6.9p1", + build = "2" + }, + ["6.7p1-5"] = { + codename = "Vivid Vervet", + version = "15.04", + name = "Ubuntu 15.04 Vivid Vervet", + openssh = "6.7p1", + build = "5" + }, + ["6.6.1p1-8"] = { + codename = "Utopic Unicorn", + version = "14.10", + name = "Ubuntu 14.10 Utopic Unicorn", + openssh = "6.6.1p1", + build = "8" + }, + ["6.6.1p1-2"] = { + codename = "Trusty Tahr", + version = "14.04", + name = "Ubuntu 14.04 Trusty Tahr", + openssh = "6.6.1p1", + build = "2" + }, + ["6.2p2-6"] = { + codename = "Saucy Salamander", + version = "13.10", + name = "Ubuntu 13.10 Saucy Salamander", + openssh = "6.2p2", + build = "6" + }, + ["6.1p1-4"] = { + codename = "Raring Ringtail", + version = "13.04", + name = "Ubuntu 13.04 Raring Ringtail", + openssh = "6.1p1", + build = "4" + }, + ["6.0p1-3"] = { + codename = "Quantal Quetzal", + version = "12.10", + name = "Ubuntu 12.10 Quantal Quetzal", + openssh = "6.0p1", + build = "3" + }, + ["5.9p1-5"] = { + codename = "Precise Pangolin", + version = "12.04", + name = "Ubuntu 12.04 Precise Pangolin", + openssh = "5.9p1", + build = "5" + }, + ["5.8p1-7"] = { + codename = "Oneiric Ocelot", + version = "11.10", + name = "Ubuntu 11.10 Oneiric Ocelot", + openssh = "5.8p1", + build = "7" + }, + ["5.8p1-1"] = { + codename = "Natty Narwhal", + version = "11.04", + name = "Ubuntu 11.04 Natty Narwhal", + openssh = "5.8p1", + build = "1" + }, + ["5.5p1-4"] = { + codename = "Maverick Meerkat", + version = "10.10", + name = "Ubuntu 10.10 Maverick Meerkat", + openssh = "5.5p1", + build = "4" + }, + ["5.3p1-3"] = { + codename = "Lucid Lynx", + version = "10.04", + name = "Ubuntu 10.04 Lucid Lynx", + openssh = "5.3p1", + build = "3" + }, + ["5.1p1-6"] = { + codename = "Karmic Koala", + version = "9.10", + name = "Ubuntu 9.10 Karmic Koala", + openssh = "5.1p1", + build = "6" + }, + ["5.1p1-5"] = { + codename = "Jaunty Jackalope", + version = "9.04", + name = "Ubuntu 9.04 Jaunty Jackalope", + openssh = "5.1p1", + build = "5" + }, + ["5.1p1-3"] = { + codename = "Intrepid Ibex", + version = "8.10", + name = "Ubuntu 8.10 Intrepid Ibex", + openssh = "5.1p1", + build = "3" + }, + ["4.7p1-8"] = { + codename = "Hardy Heron", + version = "8.04", + name = "Ubuntu 8.04 Hardy Heron", + openssh = "4.7p1", + build = "8" + }, + ["4.6p1-5"] = { + codename = "Gutsy Gibbon", + version = "7.10", + name = "Ubuntu 7.10 Gutsy Gibbon", + openssh = "4.6p1", + build = "5" + }, + ["4.3p2-8"] = { + codename = "Feisty Fawn", + version = "7.04", + name = "Ubuntu 7.04 Feisty Fawn", + openssh = "4.3p2", + build = "8" + }, + ["4.3p2-5"] = { + codename = "Edgy Eft", + version = "6.10", + name = "Ubuntu 6.10 Edgy Eft", + openssh = "4.3p2", + build = "5" + }, + ["4.2p1-7"] = { + codename = "Dapper Drake", + version = "6.06", + name = "Ubuntu 6.06 Dapper Drake", + openssh = "4.2p1", + build = "7" + }, + ["4.1p1-7"] = { + codename = "Breezy Badger", + version = "5.10", + name = "Ubuntu 5.10 Breezy Badger", + openssh = "4.1p1", + build = "7" + }, + ["3.9p1-1"] = { + codename = "Hoary Hedgehog", + version = "5.04", + name = "Ubuntu 5.04 Hoary Hedgehog", + openssh = "3.9p1", + build = "1" + }, + ["3.8.1p1-11"] = { + codename = "Warty Warthog", + version = "4.10", + name = "Ubuntu 4.10 Warty Warthog", + openssh = "3.8.1p1", + build = "11" + } +} From a84dac838eb2a2733f11b1fcd55434f9dd088bf9 Mon Sep 17 00:00:00 2001 From: Richard Lam <54393902+richlamdev@users.noreply.github.com> Date: Mon, 21 Apr 2025 00:14:35 -0700 Subject: [PATCH 3/3] start freebsd detection via external lua table --- freebsd_ssh_banners.lua | 38 ++++++++++++++++++++++++++++++++++ ssh-os.nse | 45 +++-------------------------------------- 2 files changed, 41 insertions(+), 42 deletions(-) create mode 100644 freebsd_ssh_banners.lua diff --git a/freebsd_ssh_banners.lua b/freebsd_ssh_banners.lua new file mode 100644 index 0000000..464b17e --- /dev/null +++ b/freebsd_ssh_banners.lua @@ -0,0 +1,38 @@ +-- freebsd_banners.lua +return { + ["20240806"] = { release = "14.2-RELEASE", openssh = "9.7", banner = "SSH-2.0-OpenSSH_9.7 FreeBSD-20240806" }, + ["20240318"] = { release = "14.1-RELEASE", openssh = "9.7", banner = "SSH-2.0-OpenSSH_9.7 FreeBSD-20240318" }, + ["20231004"] = { release = "14.0-RELEASE", openssh = "9.5", banner = "SSH-2.0-OpenSSH_9.5 FreeBSD-20231004" }, + ["20250219"] = { release = "13.5-RELEASE", openssh = "9.9", banner = "SSH-2.0-OpenSSH_9.9 FreeBSD-20250219" }, + ["20230316"] = { release = "13.2-RELEASE", openssh = "9.3", banner = "SSH-2.0-OpenSSH_9.3 FreeBSD-20230316" }, + ["20211221"] = { release = "13.1-RELEASE", openssh = "8.8", banner = "SSH-2.0-OpenSSH_8.8 FreeBSD-20211221" }, + ["20200214"] = { release = "13.0/12.2/12.3-RELEASE", openssh = "7.9", banner = "SSH-2.0-OpenSSH_7.9 FreeBSD-20200214" }, + ["20221019"] = { release = "12.4-RELEASE", openssh = "9.1", banner = "SSH-2.0-OpenSSH_9.1 FreeBSD-20221019" }, + ["20180909"] = { release = "12.0/12.1-RELEASE", openssh = "7.8", banner = "SSH-2.0-OpenSSH_7.8 FreeBSD-20180909" }, + ["20170903"] = { release = "11.2/11.3-RELEASE", openssh = "7.5", banner = "SSH-2.0-OpenSSH_7.5 FreeBSD-20170903" }, + ["20161230"] = { release = "11.1-RELEASE", openssh = "7.2", banner = "SSH-2.0-OpenSSH_7.2 FreeBSD-20161230" }, + ["20160310"] = { release = "10.3/11.0-RELEASE", openssh = "7.2", banner = "SSH-2.0-OpenSSH_7.2 FreeBSD-20160310" }, + ["20170902"] = { release = "10.4-RELEASE", openssh = "7.3", banner = "SSH-2.0-OpenSSH_7.3 FreeBSD-20170902" }, + ["20140420"] = { release = "9.3/10.1/10.2-RELEASE", openssh = "6.6.1", banner = "SSH-2.0-OpenSSH_6.6.1_hpn13v11 FreeBSD-20140420" }, + ["20131111"] = { release = "10.0-RELEASE", openssh = "6.4", banner = "SSH-2.0-OpenSSH_6.4_hpn13v11 FreeBSD-20131111" }, + ["20130515"] = { release = "9.2-RELEASE", openssh = "6.2", banner = "SSH-2.0-OpenSSH_6.2_hpn13v11 FreeBSD-20130515" }, + ["20110503"] = { release = "9.0/9.1-RELEASE", openssh = "5.8p2", banner = "SSH-2.0-OpenSSH_5.8p2_hpn13v11 FreeBSD-20110503" }, + ["20120901"] = { release = "8.4-RELEASE", openssh = "6.1", banner = "SSH-2.0-OpenSSH_6.1_hpn13v11 FreeBSD-20120901" }, + ["20100308"] = { release = "8.1/8.2/8.3-RELEASE", openssh = "5.4p1", banner = "SSH-2.0-OpenSSH_5.4p1 FreeBSD-20100308" }, + ["20090522"] = { release = "8.0-RELEASE", openssh = "5.2p1", banner = "SSH-2.0-OpenSSH_5.2p1 FreeBSD-20090522" }, + ["20080901"] = { release = "7.1/7.2/7.3/7.4-RELEASE", openssh = "5.1p1", banner = "SSH-2.0-OpenSSH_5.1p1 FreeBSD-20080901" }, + ["20061110"] = { release = "6.2/6.3/6.4/7.0-RELEASE", openssh = "4.5p1", banner = "SSH-2.0-OpenSSH_4.5p1 FreeBSD-20061110" }, + ["20050903"] = { release = "6.0/6.1-RELEASE", openssh = "4.2p1", banner = "SSH-2.0-OpenSSH_4.2p1 FreeBSD-20050903" }, + ["20060123"] = { release = "5.5-RELEASE", openssh = "3.8.1p1", banner = "SSH-2.0-OpenSSH_3.8.1p1 FreeBSD-20060123" }, + ["20040419"] = { release = "5.3/5.4-RELEASE", openssh = "3.8.1p1", banner = "SSH-2.0-OpenSSH_3.8.1p1 FreeBSD-20040419" }, + ["20030924"] = { release = "4.9/4.10/4.11/5.2-RELEASE", openssh = "3.5p1/3.6.1p1", banner = "SSH-1.99-OpenSSH_3.5p1 FreeBSD-20030924" }, + ["20030423"] = { release = "5.1-RELEASE", openssh = "3.6.1p1", banner = "SSH-1.99-OpenSSH_3.6.1p1 FreeBSD-20030423" }, + ["20021029"] = { release = "5.0-RELEASE", openssh = "3.5p1", banner = "SSH-1.99-OpenSSH_3.5p1 FreeBSD-20021029" }, + ["20030201"] = { release = "4.8-RELEASE", openssh = "3.5p1", banner = "SSH-1.99-OpenSSH_3.5p1 FreeBSD-20030201" }, + ["20020702"] = { release = "4.6.2/4.7-RELEASE", openssh = "3.4p1", banner = "SSH-1.99-OpenSSH_3.4p1 FreeBSD-20020702" }, + ["20020307"] = { release = "4.6-RELEASE", openssh = "2.9", banner = "SSH-1.99-OpenSSH_2.9 FreeBSD localisations 20020307" }, + ["20011202"] = { release = "4.5-RELEASE", openssh = "2.9", banner = "SSH-1.99-OpenSSH_2.9 FreeBSD localisations 20011202" }, + ["20010713"] = { release = "4.4-RELEASE", openssh = "2.3", banner = "SSH-1.99-OpenSSH_2.3.0 FreeBSD localisations 20010713" }, + ["20010321"] = { release = "4.3-RELEASE", openssh = "2.3.0", banner = "SSH-1.99-OpenSSH_2.3.0 green@FreeBSD.org 20010321" } +} + diff --git a/ssh-os.nse b/ssh-os.nse index 9d6619c..4691fd5 100644 --- a/ssh-os.nse +++ b/ssh-os.nse @@ -2,6 +2,7 @@ local shortport = require "shortport" local stdnse = require "stdnse" local comm = require "comm" local ubuntu_banners = require "ubuntu_ssh_banners" +local freebsd_banners = require "freebsd_ssh_banners" description = [[ @@ -115,48 +116,8 @@ local function get_freebsd(ssh_banner) f_ssh_version = ssh_banner:match("%d+",28) end --- https://github.com/richlamdev/ssh-default-banners - local f_table = { - ["20240806"] = "FreeBSD 14.2-RELEASE", - ["20240318"] = "FreeBSD 14.1-RELEASE", - ["20231004"] = "FreeBSD 14.0-RELEASE", - ["20250219"] = "FreeBSD 13.5-RELEASE", - ["20230316"] = "FreeBSD 13.2-RELEASE", - ["20211221"] = "FreeBSD 13.1-RELEASE", - ["20200214"] = "FreeBSD 12.2, 12.3, 12.4 or 13.0-RELEASE", - ["20180909"] = "FreeBSD 12.0, or 12.1-RELEASE", - ["20170903"] = "FreeBSD 11.2, or 11.3-RELEASE", - ["20161230"] = "FreeBSD 11.1-RELEASE", - ["20160310"] = "FreeBSD 11.0-RELEASE", - ["20170902"] = "FreeBSD 10.4-RELEASE", - ["20160310"] = "FreeBSD 10.3-RELEASE", - ["20140420"] = "FreeBSD 10.1, or 10.2-RELEASE", - ["20131111"] = "FreeBSD 10.0-RELEASE", - ["20140420"] = "FreeBSD 9.3-RELEASE", - ["20130515"] = "FreeBSD 9.2-RELEASE", - ["20110503"] = "FreeBSD 9.0, or 9.1-RELEASE", - ["20120901"] = "FreeBSD 8.4-RELEASE", - ["20100308"] = "FreeBSD 8.1, or 8.2, or 8.3-RELEASE", - ["20090522"] = "FreeBSD 8.0-RELEASE", - ["20080901"] = "FreeBSD 7.1, or 7.2, or 7.3 or 7.4-RELEASE", - ["20061110"] = "FreeBSD 6.2, or 6.3, or 6.4, or 7.0-RELEASE", - ["20050903"] = "FreeBSD 6.0, or 6.1-RELEASE", - ["20060123"] = "FreeBSD 5.5-RELEASE", - ["20040419"] = "FreeBSD 5.3-RELEASE, or 5.4-RELEASE", - ["20030924"] = "FreeBSD 5.2-RELEASE", - ["20030423"] = "FreeBSD 5.1-RELEASE", - ["20021029"] = "FreeBSD 5.0-RELEASE", - ["20030924"] = "FreeBSD 4.9, or 4.10, or 4.11-RELEASE", - ["20030201"] = "FreeBSD 4.8-RELEASE", - ["20020702"] = "FreeBSD 4.6.2-RELEASE, or 4.7-RELEASE", - ["20020307"] = "FreeBSD 4.6-RELEASE", - ["20011202"] = "FreeBSD 4.5-RELEASE", - ["20010713"] = "FreeBSD 4.4-RELEASE", - ["20010321"] = "FreeBSD 4.3-RELEASE" - } - - if f_table[f_ssh_version] then - freebsd_ver = f_table[f_ssh_version] + if freebsd_banners[f_ssh_version] then + freebsd_ver = freebsd_banners[f_ssh_version].release else freebsd_ver = "Unknown FreeBSD version" end