Shellcode: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: Modifico: ru:Шелл-код; modifiche estetiche |
|||
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]].
== Come funziona uno shellcode ==
Gli shellcode sono tipicamente inseriti nella memoria del computer sfruttando [[buffer overflow]] nello [[stack]] e nell'[[heap]], o tramite un [[format string attack]]. L'esecuzione dello shellcode può essere ottenuta sovrascrivendo l'indirizzo di ritorno dello stack con l'indirizzo dello shellcode. In questo modo quando la ''subroutine'' prova a ritornare al chiamante, ritorna invece al codice dello shellcode che apre una riga di comando che può essere usata dal cracker.
=== Scoprire l'inserimento di shellcode ===
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 (informatica)|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]].
Riga 13:
Per aggirare questo tipo di misure anti-intrusione, i cracker fanno a volte uso di [[crittazione]], [[codice auto-modificante]], [[codice polimorfico]] e [[codice alfanumerico]].
== Voci correlate ==
* [[Buffer overflow]]
* [[Heap overflow]]
Riga 19:
* [[Assembly]]
== Collegamenti esterni ==
* [http://www.shell-storm.org/shellcode/ Shell-Storm.org] Database di shellcodes multi-piattaforma.
* http://www.metasploit.com/shellcode/ Contiene esempi di shellcode [[x86]] e non-[[x86]] e un'interfaccia on-line per la generazione e la codifica automatica di shellcode.
Riga 37:
[[ms:Kod cangkerang]]
[[pl:Shellcode]]
[[ru:
|