mirror of
https://github.com/jtesta/ssh-audit.git
synced 2026-05-26 16:01:23 +02:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a4f508374a | |||
| 6f39407a8c | |||
| cb0f6b63d7 |
+11
-8
@@ -1,16 +1,19 @@
|
|||||||
FROM python:3-slim
|
# syntax=docker/dockerfile:latest
|
||||||
|
FROM scratch AS files
|
||||||
|
|
||||||
WORKDIR /
|
# Copy ssh-audit code to temporary container
|
||||||
|
COPY ssh-audit.py /
|
||||||
|
COPY src/ /
|
||||||
|
|
||||||
|
FROM python:3-alpine AS runtime
|
||||||
|
|
||||||
# Update the image to remediate any vulnerabilities.
|
# Update the image to remediate any vulnerabilities.
|
||||||
RUN apt update && apt -y upgrade && apt -y dist-upgrade && rm -rf /var/lib/apt/lists/*
|
RUN apk upgrade -U --no-cache -a -l && \
|
||||||
|
|
||||||
# Remove suid & sgid bits from all files.
|
# Remove suid & sgid bits from all files.
|
||||||
RUN find / -xdev -perm /6000 -exec chmod ug-s {} \; 2> /dev/null || true
|
find / -xdev -perm /6000 -exec chmod ug-s {} \; 2> /dev/null || true
|
||||||
|
|
||||||
# Copy the ssh-audit code.
|
# Copy the ssh-audit code from files container.
|
||||||
COPY ssh-audit.py .
|
COPY --from=files / /
|
||||||
COPY src/ .
|
|
||||||
|
|
||||||
# Allow listening on 2222/tcp for client auditing.
|
# Allow listening on 2222/tcp for client auditing.
|
||||||
EXPOSE 2222
|
EXPOSE 2222
|
||||||
|
|||||||
@@ -187,6 +187,7 @@ For convenience, a web front-end on top of the command-line tool is available at
|
|||||||
- Snap builds are now architecture-independent.
|
- Snap builds are now architecture-independent.
|
||||||
- Gracefully handle rare exceptions (i.e.: crashes) while performing GEX tests.
|
- Gracefully handle rare exceptions (i.e.: crashes) while performing GEX tests.
|
||||||
- Added built-in policy for OpenSSH 9.7.
|
- Added built-in policy for OpenSSH 9.7.
|
||||||
|
- Changed Docker base image from `python:3-slim` to `python:3-alpine`, resulting in a 59% reduction in image size; credit [Daniel Thamdrup](https://github.com/dallemon).
|
||||||
|
|
||||||
### v3.1.0 (2023-12-20)
|
### v3.1.0 (2023-12-20)
|
||||||
- Added test for the Terrapin message prefix truncation vulnerability ([CVE-2023-48795](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-48795)).
|
- Added test for the Terrapin message prefix truncation vulnerability ([CVE-2023-48795](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-48795)).
|
||||||
|
|||||||
@@ -365,11 +365,8 @@ def output_recommendations(out: OutputBuffer, algs: Algorithms, algorithm_recomm
|
|||||||
for cve_list in VersionVulnerabilityDB.CVE['PuTTY']:
|
for cve_list in VersionVulnerabilityDB.CVE['PuTTY']:
|
||||||
vuln_version = float(cve_list[1])
|
vuln_version = float(cve_list[1])
|
||||||
cvssv2_severity = cve_list[4]
|
cvssv2_severity = cve_list[4]
|
||||||
|
max_vuln_version = max(vuln_version, max_vuln_version)
|
||||||
if vuln_version > max_vuln_version:
|
max_cvssv2_severity = max(cvssv2_severity, max_cvssv2_severity)
|
||||||
max_vuln_version = vuln_version
|
|
||||||
if cvssv2_severity > max_cvssv2_severity:
|
|
||||||
max_cvssv2_severity = cvssv2_severity
|
|
||||||
|
|
||||||
fn = out.warn
|
fn = out.warn
|
||||||
if max_cvssv2_severity > 8.0:
|
if max_cvssv2_severity > 8.0:
|
||||||
|
|||||||
@@ -246,8 +246,7 @@ class SSH_Socket(ReadBuf, WriteBuf):
|
|||||||
|
|
||||||
def send_banner(self, banner: str) -> None:
|
def send_banner(self, banner: str) -> None:
|
||||||
self.send(banner.encode() + b'\r\n')
|
self.send(banner.encode() + b'\r\n')
|
||||||
if self.__state < self.SM_BANNER_SENT:
|
self.__state = max(self.__state, self.SM_BANNER_SENT)
|
||||||
self.__state = self.SM_BANNER_SENT
|
|
||||||
|
|
||||||
def ensure_read(self, size: int) -> None:
|
def ensure_read(self, size: int) -> None:
|
||||||
while self.unread_len < size:
|
while self.unread_len < size:
|
||||||
|
|||||||
Reference in New Issue
Block a user