Common Exploiting Problems
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Wenn ein Exploit an einen Remote-Server gesendet wird, der beispielsweise system('/bin/sh')
aufruft, wird dies im Serverprozess ausgeführt, und /bin/sh
erwartet Eingaben von stdin (FD: 0
) und gibt die Ausgaben in stdout und stderr (FDs 1
und 2
) aus. Der Angreifer kann also nicht mit der Shell interagieren.
Eine Möglichkeit, dies zu beheben, besteht darin anzunehmen, dass der Server beim Start die FD-Nummer 3
(zum Lauschen) erstellt hat und dass dann deine Verbindung in der FD-Nummer 4
sein wird. Daher ist es möglich, den Syscall dup2
zu verwenden, um stdin (FD 0) und stdout (FD 1) in FD 4 (die des Angreifers) zu duplizieren, sodass es möglich wird, mit der Shell zu kommunizieren, sobald sie ausgeführt wird.
Beachten Sie, dass socat bereits stdin
und stdout
an den Socket überträgt. Der pty
-Modus enthält DELETE-Zeichen. Wenn Sie also ein \x7f
( DELETE
-) senden, wird das vorherige Zeichen Ihres Exploits gelöscht.
Um dies zu umgehen, muss das Escape-Zeichen \x16
vor jedem gesendeten \x7f
hinzugefügt werden.
Hier können Sie ein Beispiel für dieses Verhalten finden.
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)