Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/sleepthegod/ssh-remote-code-execution
Payload-GenerierungExploitationBinary-Exploitation
GitHubsleepthegod/ssh-remote-code-execution

SSH-Remote-Code-Execution

# SSH Zero-Day von ClumsyLulz erstellt

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
1283215vor 8 MonatenVon Kitploit geprüft
Teilen

SSH Remote Code Execution

SSH Zero-Day | Erstellt von ClumsyLulz & Taylor Christian Newsome

Zusammenfassung

Dieses Repository enthält ein C-Programm, das Eingabeparameter akzeptiert und ein Paket erzeugt, das über das SSH-Protokoll an einen Server gesendet wird. Das Programm reserviert einen Puffer, um die Daten aufzunehmen, schreibt sie in eine Datei und erstellt eine Befehlszeilenzeichenfolge, um mithilfe der Funktion system eine SSH-Verbindung zu einem angegebenen Host und Port aufzubauen.

Identifizierte Probleme

In der aktuellen Implementierung bestehen mehrere Sicherheits- und Stabilitätsprobleme:

  1. Pufferüberlauf: Mit malloc werden nur 28 Bytes reserviert, aber 29 Bytes geschrieben, was zu Speicherkorruption oder Segmentierungsfehlern führen kann.
  2. Falsche Berechnung der Rücksprungadresse: Die Rücksprungadresse wird anhand der Paketlänge statt der Puffergröße berechnet, was zu einem ungültigen Wert führt.
  3. Problem mit der Formatzeichenfolge: Die printf-Anweisung für die Rücksprungadresse enthält eine fehlerhafte Formatzeichenfolge, was zu undefiniertem Verhalten führt.
  4. Ungeprüfte E/A-Operationen: Die Rückgabewerte von open und write werden nicht überprüft, was Datenverlust oder unvollständige Schreibvorgänge riskiert.
  5. Speicherlecks: Der für die Zeiger buffer und ssh reservierte Speicher wird nie freigegeben.
  6. Unsichere Befehlsausführung: Die Verwendung von system zur Ausführung des SSH-Befehls ermöglicht es, beliebige Befehle mit erweiterten Rechten auszuführen, was ein ernstes Sicherheitsrisiko darstellt.

Empfehlungen

Um die Sicherheit und Zuverlässigkeit des Programms zu verbessern, werden die folgenden Änderungen empfohlen:

  • Reservieren Sie mindestens 29 Bytes für den Puffer, um einen Überlauf zu verhindern.
  • Verwenden Sie bei der Berechnung der Rücksprungadresse die Puffergröße und nicht die Paketlänge.
  • Korrigieren Sie die Formatzeichenfolge in der printf-Anweisung für die Rücksprungadresse.
  • Überprüfen und behandeln Sie die Rückgabewerte der open- und write-Aufrufe.
  • Geben Sie den gesamten dynamisch reservierten Speicher für die Zeiger buffer und ssh frei.
  • Ersetzen Sie system durch eine sicherere Alternative wie execvp, um die Ausführung beliebiger Befehle zu vermeiden.

Die Umsetzung dieser Korrekturen erhöht die Stabilität des Programms und verringert potenzielle Sicherheitslücken.


root@vmi2865841:~/tools/SSH-Remote-Code-Execution# cat /etc/issue
Debian GNU/Linux 12 \n \l

root@vmi2865841:~/tools/SSH-Remote-Code-Execution# docker run -it --rm \
>   -v /root/tools/SSH-Remote-Code-Execution:/poc \
>   i386/debian:wheezy bash
root@29bcb37807cf:/# cat /etc/issue
Debian GNU/Linux 7 \n \l

root@29bcb37807cf:/# cat /etc/shadow
root:*:17955:0:99999:7:::
daemon:*:17955:0:99999:7:::
bin:*:17955:0:99999:7:::
sys:*:17955:0:99999:7:::
sync:*:17955:0:99999:7:::
games:*:17955:0:99999:7:::
man:*:17955:0:99999:7:::
lp:*:17955:0:99999:7:::
mail:*:17955:0:99999:7:::
news:*:17955:0:99999:7:::
uucp:*:17955:0:99999:7:::
proxy:*:17955:0:99999:7:::
www-data:*:17955:0:99999:7:::
backup:*:17955:0:99999:7:::
list:*:17955:0:99999:7:::
irc:*:17955:0:99999:7:::
gnats:*:17955:0:99999:7:::
nobody:*:17955:0:99999:7:::
libuuid:!:17955:0:99999:7:::
root@29bcb37807cf:/# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
root@29bcb37807cf:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0@if11: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP
    link/ether 1e:13:2e:66:6f:69 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
root@29bcb37807cf:/# cd /bin/
root@29bcb37807cf:/bin# ls
bash   chmod  dash  df     dnsdomainname  egrep  findmnt  gzexe     ip     ls     mknod   mount       nisdomainname  ping6  readlink  run-parts  sh.distrib  stty  tailf     touch   uname       which         zcmp    zfgrep  zless
cat    chown  date  dir    domainname     false  grep     gzip      ln     lsblk  mktemp  mountpoint  pidof          pwd    rm        sed        sleep       su    tar       true    uncompress  ypdomainname  zdiff   zforce  zmore
chgrp  cp     dd    dmesg  echo           fgrep  gunzip   hostname  login  mkdir  more    mv          ping           rbash  rmdir     sh         ss          sync  tempfile  umount  vdir        zcat          zegrep  zgrep   znew
root@29bcb37807cf:/bin# df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay         1.4T  977G  346G  74% /
tmpfs            64M     0   64M   0% /dev
shm              64M     0   64M   0% /dev/shm
/dev/sda1       1.4T  977G  346G  74% /poc
/dev/sda1       1.4T  977G  346G  74% /etc/resolv.conf
/dev/sda1       1.4T  977G  346G  74% /etc/hostname
/dev/sda1       1.4T  977G  346G  74% /etc/hosts
tmpfs            48G     0   48G   0% /proc/acpi
tmpfs            64M     0   64M   0% /proc/interrupts
tmpfs            64M     0   64M   0% /proc/kcore
tmpfs            64M     0   64M   0% /proc/keys
tmpfs            64M     0   64M   0% /proc/timer_list
tmpfs            48G     0   48G   0% /sys/firmware
root@29bcb37807cf:/bin# cat /proc/keys
root@29bcb37807cf:/bin# cat /etc/resolv.conf
# Generated by Docker Engine.
# This file can be edited; Docker Engine will not make further changes once it
# has been modified.

nameserver 1.1.1.1
nameserver 8.8.8.8
nameserver 213.136.95.10
nameserver 213.136.95.11
search .
Tool herunterladen