ultimi 10 log - tail /var/log/syslog
ss -tun state established - reverse shell?
Per visualizzare tutte le connessioni TCP attive e ottenere l’elenco delle connessioni TCP in qualsiasi stato, con informazioni su indirizzo locale e remoto, basta digitare quanto segue:
ss -t
Se si volesse accedere ai socket in ascolto su TCP e UDP, con PID e nome processo, basta digitare il seguente comando:
ss -tulnp
Per ottenere il nome del processo, è generalmente necessario anteporre il comando sudo o guadagnare i diritti di root con sudo -i.
L’opzione “n” evita la risoluzione dei nomi a dominio usando il resolver DNS. Se si volesse abilitarla basta digitare ss -tulp.
Per trovare i socket associati a un dato PID (process ID), ad esempio il processo con identificativo 1234, basta scrivere così:
ss -p | grep pid=1234
# lsof with ports sort:
lsof -anP -i4 -sTCP:LISTEN | grep -v UDP | awk {'printf("%18s %-12s %8s %s %s %s\n", $9,$1,$2,$4,$3,$10)'} | sort -u
nmcli radio on off - wifi off/
nano /etc/bluetooth/main.conf to disable bluetooth
lspci -nnk | grep -i net -A 3 - schede rete
ip a | grep XX*
chmod 400 .pem
sudo tcpdump -w write.pcap
sudo netstat -plnut - tipo ss
Ecco una lista di comandi CMD pronti all'uso per un'analisi forense rapida (Incident Response) su sistemi Windows.
Nota Importante: Esegui sempre il Prompt dei Comandi come Amministratore per ottenere risultati completi.
1. Controllo Ultimo Accesso Fisico e Utenti
Per capire chi è entrato nel sistema e quando è stato avviato.
* Vedere chi è loggato attualmente (sessioni attive):
query user
* Tempo di avvio del sistema (Uptime):
Utile per capire se il PC è stato riavviato di recente per nascondere tracce.
systeminfo | find "Tempo di avvio"
(Nota: Se il sistema è in inglese, usa find "Boot Time")
* Ultimo login di uno specifico utente:
net user [nome_utente] | find "Ultimo accesso"
* Ricerca accessi fisici nei Log (Event ID 4624, Logon Type 2):
Usa wevtutil per interrogare i log direttamente da CMD (mostra gli ultimi 5 accessi riusciti).
wevtutil qe Security /c:5 /f:text /q:"*[System[(EventID=4624)]] and *[EventData[Data[@Name='LogonType']='2']]"
2. Porte Aperte e Connessioni Attive
Fondamentale per vedere cosa esce e cosa entra.
* Il comando "Gold Standard" (Richiede Admin):
Mostra tutte le connessioni, le porte in ascolto, i PID (Process ID) e il nome dell'eseguibile che ha aperto la porta.
netstat -anob
* -a: Mostra tutte le connessioni e porte in ascolto.
* -n: Mostra indirizzi e porte in formato numerico (non risolve i DNS, è più veloce e sicuro).
* -o: Mostra il PID del processo proprietario.
* -b: Mostra il nome dell'eseguibile (es. chrome.exe, malware.exe).
3. Rilevare una Reverse Shell
Una Reverse Shell è quando il computer della vittima si connette "in uscita" verso l'attaccante (per aggirare i firewall in entrata).
Procedura di caccia:
* Cerca connessioni "ESTABLISHED" verso IP sconosciuti:
netstat -ano | findstr "ESTABLISHED"
Analizza gli IP remoti. Se vedi connessioni verso IP pubblici su porte strane (es. 4444, 666, 1337 o anche 80/443 se non stai navigando), prendi nota del PID (l'ultimo numero a destra).
* Trova il processo legato a quel PID:
Supponiamo che il PID sospetto sia 1234.
tasklist /fi "PID eq 1234"
Red Flag (Segnale d'allarme):
Se il processo che ha stabilito la connessione verso l'esterno è cmd.exe, powershell.exe, o rundll32.exe e l'utente non lo sta usando attivamente, è molto probabile che sia una Reverse Shell.
4. Log Inusuali e Attività Sospette
Ricerca rapida di tentativi di intrusione o pulizia tracce.
* Tentativi di Login Falliti (Brute Force):
Cerca l'evento 4625 (Login fallito) negli ultimi 10 eventi.
wevtutil qe Security /c:10 /f:text /q:"*[System[(EventID=4625)]]"
* Controllo se i Log sono stati cancellati:
L'evento 1102 indica che il registro di controllo è stato cancellato (spesso opera di un hacker).
wevtutil qe Security /c:5 /f:text /q:"*[System[(EventID=1102)]]"
5. Regole Firewall e "Blindatura"
Verifica se il firewall è attivo e se ci sono regole strane (es. "Allow All").
* Stato del Firewall:
Verifica che sia ON su tutti i profili.
netsh advfirewall show allprofiles
* Esportare le regole attuali per analisi:
Cerca regole che permettono connessioni in entrata (Direction=In) con azione Allow su Any port.
netsh advfirewall firewall show rule name=all > firewall_rules.txt
* Comandi per "Blindare" (Hardening immediato):
Attenzione: questi comandi possono bloccare connessioni remote legittime (come RDP) se non configurati prima.
* Attiva il firewall su tutti i profili:
netsh advfirewall set allprofiles state on
* Blocca tutte le connessioni in entrata che non hanno una regola specifica:
netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
6. Security Check Generale (Persistenza)
Dove si nascondono i malware per riavviarsi col PC.
* Attività Pianificate (Scheduled Tasks):
I malware usano spesso le task pianificate per nascondersi.
schtasks /query /fo LIST /v | findstr "Nome Attività Da Eseguire"
Scorri la lista e cerca percorsi di file sospetti (es. in AppData o Temp).
* Chiavi di Registro "Run":
Programmi che partono all'avvio.
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run
* Servizi sospetti:
Cerca servizi non Windows.
wmic service get name,displayname,pathname,startmode | findstr /i /v "windows"