RUB-NDS / Terrapin-Scanner

This repository contains a simple vulnerability scanner for the Terrapin attack present in the paper "Terrapin Attack: Breaking SSH Channel Integrity By Sequence Number Manipulation".
https://terrapin-attack.com
Apache License 2.0
931 stars 62 forks source link

Linux aarch64 binary #10

Closed ZIRAKrezovic closed 8 months ago

ZIRAKrezovic commented 8 months ago

Hi, is it possible to provide Linux AARCH 64 binary? I could build one via docker that I usually use for building images

Dockerfile

FROM --platform=${BUILDPLATFORM} golang:1.21-alpine3.19 AS builder

ENV TERRAPIN_SCANNER_URL https://github.com/RUB-NDS/Terrapin-Scanner/archive/refs/tags/v1.1.0.tar.gz

ARG TARGETPLATFORM
ARG BUILDPLATFORM

WORKDIR $GOPATH/src/github.com/RUB-NDS/Terrapin-Scanner

RUN set -eux; \
        wget -O terrapin-scanner.tar.gz "$TERRAPIN_SCANNER_URL"; \
        tar -xzf terrapin-scanner.tar.gz -C $GOPATH/src/github.com/RUB-NDS/Terrapin-Scanner --strip-components=1; \
        rm terrapin-scanner.tar.gz; \
        case ${TARGETPLATFORM} in \
            "linux/amd64")  GOARCH=amd64  ;; \
            # arm64 and arm64v8 are equivilant in go and do not require a goarm
            # https://github.com/golang/go/wiki/GoArm
            "linux/arm64" | "linux/arm/v8")  GOARCH=arm64  ;; \
            "linux/ppc64le")  GOARCH=ppc64le  ;; \
            "linux/arm/v6") GOARCH=arm GOARM=6  ;; \
            "linux/arm/v7") GOARCH=arm GOARM=7 ;; \
        esac; \
        printf "Building terrapin-scanner for arch ${GOARCH}\n"; \
        GOARCH=${GOARCH} CGO_ENABLED=false go build -a -o /terrapin-scanner github.com/RUB-NDS/Terrapin-Scanner; \
        ls

FROM alpine:3.19

COPY --from=builder /terrapin-scanner /usr/local/bin

docker-compose.yaml

services:
  terrapin-scanner:
    build: .
    image: terrapin-scanner:latest

Run command

docker compose build
docker run --rm terrapin-scanner:latest /usr/local/bin/terrapin-scanner --connect non-localhost-address