Shellcode: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
CruccoBot (discussione | contributi)
m Robot-assisted disambiguation: DOS
.anacondabot (discussione | contributi)
m Sistemazione automatica della disambigua: Shell
Riga 1:
Uno '''shellcode''' è un programma in linguaggio [[assembly]] che tradizionalmente esegue una [[Shell (informatica)|shell]], come la [[shell Unix]] '/bin/sh' oppure la shell [[command.com]] sui [[sistema operativo|sistemi operativi]] [[MS-DOS|DOS]] e [[Microsoft Windows]]. Uno shellcode può essere utilizzato per sfruttare un [[exploit]], consentendo ad un [[hacker]] o un [[cracker]] di acquisire l'accesso alla [[riga di comando]] di un [[computer]].
 
==Come funziona uno shellcode==
Riga 9:
I cracker che scrivono gli shellcode utilizzano spesso tecniche per nascondere il loro attacco. Essi provano generalmente ad aggirare il modo in cui i gli [[Intrusion Detection System]]s (IDS) riconoscono un attacco in arrivo. Un tipico IDS di solito cerca in tutti i pacchetti in arrivo gli spezzoni di codice tipici degli shellcode (spesso un grande array di istruzioni NOP); se vengono trovati il pacchetto viene scartato prima di arrivare all'applicazione cui è destinato. Il punto debole degli IDS è che non possono fare delle ricerche effettivamente buone poiché richiederebbe troppo tempo, rallentando così la connessione ad [[Internet]].
 
Gli shellcode contengono spesso una stringa con il nome di una [[Shell (informatica)|shell]]. Tutti i pacchetti in arrivo che contengono una stringa del genere sono considerati abbastanza sospetti dal punto di vista dell'IDS. Inoltre, alcune applicazioni non accettano input non-alfanumerici (ossia, non accettano nient'altro che i caratteri a-z, A-Z, 0-9, e pochi altri).
 
Per aggirare questo tipo di misure anti-intrusione, i cracker fanno a volte uso di [[crittazione]], [[codice auto-modificante]], [[codice polimorfico]] e [[codice alfanumerico]].