|
|
|
![]() |
|
Strumenti |
![]() |
#161 |
Bannato
Iscritto dal: Dec 2000
Messaggi: 2097
|
è più facile fare un eseguibile a sè stante (ovvero solo il virus) che infettare "a mano" un altro eseguibile
|
![]() |
![]() |
![]() |
#162 | |
Senior Member
Iscritto dal: May 2003
Città: Trieste, Pordenone
Messaggi: 920
|
Quote:
L'esempio dei .com e del jmp calza a pennello, però negli eseguibili per windows non è così facile. Un exe in formato PE a 32bit è dotato al suo interno di un'intestazione abbastanza dettagliata, di uno stub (quel prg DOS che dice "Questo programma richiede Microsoft Windows(C)" se si esegue un programma per windows sotto DOS puro), una IAT, un numero variabile di sezioni, ognuna con le sue caratteristiche di protezione in lettura, scrittura, eccetere. E' per questo che un virus per windows non può essere eseguito così com'è. E' fatto per vivere all'interno di una sezione di un exe ospitante. Per renderlo indipendente bisognerebbe inserirlo all'interno di una sezione di un PE, inserire manualmente sezioni, intestazioni, paddare le sezioni per ottenere il corretto allineamento, compilare le IAT, ... insomma non è banale!
__________________
buy here |
|
![]() |
![]() |
![]() |
#163 | |
Senior Member
Iscritto dal: May 2003
Città: Trieste, Pordenone
Messaggi: 920
|
Quote:
![]()
__________________
buy here |
|
![]() |
![]() |
![]() |
#164 |
Bannato
Iscritto dal: Dec 2000
Messaggi: 2097
|
si, lo fai manualmente una volta e poi? deve essere in grado di farlo automaticamente, in ogni caso, il virus... per quanto riguarda i classici vecchi EXE del dos (MZ) dovevi andare a sistemare l'header ricalcolando checksum (vado a memoria) e cagatine varie perchè la cosa funzionasse... però ripeto doveva essere il virus stesso in grado di farlo
|
![]() |
![]() |
![]() |
#165 | |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
|
|
![]() |
![]() |
![]() |
#166 | |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
![]() ![]() |
|
![]() |
![]() |
![]() |
#167 |
Senior Member
Iscritto dal: Jan 2004
Città: Padova
Messaggi: 1142
|
Per me questa shell "Monad" è una Monada... cmq bel lavoro, finalmente un SO invulnerabile!
![]()
__________________
![]() Alive in the superunknown first it steals your mind and the it steals your soul |
![]() |
![]() |
![]() |
#168 | ||
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
http://www.webopedia.com/TERM/v/virus.html A program or piece of code that is loaded onto your computer without your knowledge and runs against your wishes. Viruses can also replicate themselves. All computer viruses are manmade. A simple virus that can make a copy of itself over and over again is relatively easy to produce. Oppure: In computer security technology, a virus is a self-replicating program that spreads by inserting copies of itself into other executable code or documents Oppure: A virus is a type of program that can replicate itself by making (possibly modified) copies of itself. The main criterion for classifying a piece of executable code as a virus is that it spreads itself by means of 'hosts'. A virus can only spread from one computer to another when its host is taken to the uninfected computer, for instance by a user sending it over a network or carrying it on a removable disk Definizioni abbastanza inequivocabili e conclusive. Notare che per definizione stessa di virus, un virus semplice e' teoricamente fattibile su qualunque sistema operativo. Quote:
![]()
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA Ultima modifica di fek : 06-08-2005 alle 08:39. |
||
![]() |
![]() |
![]() |
#169 | |
Senior Member
Iscritto dal: May 2003
Città: Trieste, Pordenone
Messaggi: 920
|
Quote:
Sto solo dicendo che il virus è solo un pezzo di codice eseguibile senza intestazioni, senza risorse, icone, eccetera, un po' come quando compili un sorgente senza linkarlo. Non puoi eseguire un file oggetto. Calcolare il checksum, poi, non è necessario, visto che lo stesso visual studio riempie il campo checksum con una serie di zeri. Deve invece modificare il campo entrypoint dell'intestazione PE per farla puntare all'inizio del codice del virus stesso e mettere un long jump verso il vecchio entrypoint alla fine del virus per eseguire il codice dell'eseguibile ospitante. Edit: prima dell'avvento del service pack 1 di XP detenevo il record dell'eseguibile più piccolo in formato PE. Gli indirizzi delle API venivano inseriti nell'exe durante la sua creazione per evitare di sprecare spazio con la IAT. E' ancora accessibile dalla cache di google sul forum di anticrack.de : http://www.google.com/search?q=cache...php%3Ft%3D3036. Purtroppo, con l'avvento del SP1, è diventata obbligatoria la presenza della IAT, altrimenti Windows dice "formato di eseguibile non valido" o qlc del genere.
__________________
buy here Ultima modifica di fantoibed : 06-08-2005 alle 10:15. |
|
![]() |
![]() |
![]() |
#170 |
Senior Member
Iscritto dal: Apr 2005
Città: Napoli
Messaggi: 6817
|
Ma se l'utente che esegue (volente o per un bug di un programma) il file ospitante il virus non ha i permessi di scrittura su nessun file eseguibile (per esempio un normale user in un sistema Linux) il virus non si può replicare!
|
![]() |
![]() |
![]() |
#171 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Infine il virus e' da definizione qualunque programma in grado di autoreplicarsi, puo' essere tranquillamente un intero eseguibile, oppure parti di codice esegubile, o anche un file batch di testo in casi molto semplici come quelli riportati dalla news.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA Ultima modifica di fek : 06-08-2005 alle 11:33. |
|
![]() |
![]() |
![]() |
#172 | |||
Senior Member
Iscritto dal: May 2003
Città: Trieste, Pordenone
Messaggi: 920
|
Quote:
http://secunia.com/advisories/11633/ Quote:
Quote:
D'altra parte la regoletta è abbastanza semplice: se l'infezione si progaga nel computer senza che aumenti il numero totale di files è un virus, se invece aumentano i files è un worm. Questo perché i virii si inseriscono all'interno di programmi preesistenti, mentre i worm no.
__________________
buy here Ultima modifica di fantoibed : 06-08-2005 alle 12:29. |
|||
![]() |
![]() |
![]() |
#173 |
Senior Member
Iscritto dal: Apr 2005
Città: Napoli
Messaggi: 6817
|
Io indendevo dire in assenza di bug. Comunque hai ragione, sapevo anche io di questi tipi di bug, ma ne avevo sentiti per Linux, non sapevo che ce ne fosse anche per Windows ed addirittura non patchati!
Copy.com non è un virus, perchè devi dirgli esplicitamente di copiarsi, passandogli un parametro. Se lanci copy.com senza nessun parametro non fa nulla. Un file batch che si autocopia potrebbe essere un virus. Gli script della news si appendono o prependono ad altri script. Quindi si copiano. Per copia non si intende una copia integrale, ma anche una copia parziale o totale, "allegata" ad un file ospite. |
![]() |
![]() |
![]() |
#174 | ||||
Senior Member
Iscritto dal: May 2003
Città: Trieste, Pordenone
Messaggi: 920
|
Quote:
![]() Quote:
Quote:
http://service1.symantec.com/SUPPORT...99041209131106: Quote:
![]()
__________________
buy here |
||||
![]() |
![]() |
![]() |
#175 |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Qualche esempio di batch file virus per completare la definizione che ho riportato (da un testo di sicurezza informatica):
http://www.cknow.com/articles/79/1/Batch-File-Viruses There are several batch file viruses, but each works in a manner similar to that described above. The labels and batch file instructions may differ; but the method of operation is similar. http://www.ocf.berkeley.edu/~peterso...ch-virus.shtml Codice:
find "batvirus.xyz" %0.bat |find /v /i "%0.bat"> batvirus.xyz for %%b in (*.bat) do if not %%b==%0.BAT copy %%b + batvirus.xyz del batvirus.xyz BAT.Looper ---------- This is a dangerous script virus. It is written in BATCH for DOS. It is about 65 bytes in size. When launched, it looks for files as .ba? in the current directory, for files as .b?t in the parent directory, and for files ?*.*at in the C:\ drive root. It writes its code in the infected file, this way, it deletes the actual contents. The virus does not show its existence in any way. Un virus puo' essere anche un semplice script in formato testo, oppure una combinazione di testo e codice binario. La caratteristica e' l'essere una sequenza di istruzioni in qualunque formato eseguibile dal sistema operativo o da un'applicazione ospitata dal sistema operativo in grado di copiare se' stesso senza l'intervento dell'utente. E' tranquillamente possibile ad esempio scrivere virus in Ruby o Python (linguaggi di scripting interpretati) per qualunque sistema operativo che supporti questi ambienti. Virus in Perl: http://www.antiviraldp.com/virus_list/list_9.htm 3) PERL.DirWorm; 4) PERL.Intender; 5) PERL.Nirvana; 6) PERL.Qwax; 7) PERL.Rans; 8) PERL.Spoon; 9) PERL.Tict; Virus in PHP: http://www.google.com/search?q=php+virus 1) PHP.Alf; 2) PHP.Neworld; 3) PHP.Pirus; 4) PHP.Redz;
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA Ultima modifica di fek : 06-08-2005 alle 17:23. |
![]() |
![]() |
![]() |
#176 |
Senior Member
Iscritto dal: Nov 2001
Città: Bastia Umbra (PG)
Messaggi: 6395
|
Allora, amplio e specifico meglio quello che avevo scritto prima (sinceramente non ho letto tutto quello che avete scritto, mea culpa
![]() Allora, un virus è un programma autoeseguibile che si autoreplica, fin qui per la definizione ci siamo (l'ho scritta in modo veloce ma non penso ci siano grossi dubbi fin qui). La routine di infezione di un virus viene inserita all'interno di un file ospite vittima in vari modi: prima del codice, alla fine del codice o in mezzo. L'infezione iniziale parte da un file eseguibile, o fatto a mano e contenente il codice del virus, o lo stesso codice del virus autoeseguibile (vedi virus Bube). Tuttavia, una volta copiata la propria routine all'interno del file vittima, la suddetta diventa solamente una sezione del codice all'interno di un file che, se isolata dal resto del programma vittima, non può essere eseguita per ovvie lacune (Entry Point errato, header mancante ecc...ecc....). Per renderlo eseguibile bisognerebbe fixare tutti questi parametri. Se ci sono altri dubbi sono a disposizione ![]()
__________________
:: Il miglior argomento contro la democrazia è una conversazione di cinque minuti con l'elettore medio :: |
![]() |
![]() |
![]() |
#177 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#178 |
Senior Member
Iscritto dal: Nov 2001
Città: Bastia Umbra (PG)
Messaggi: 6395
|
si certo
![]() ![]() Comunque non è un semplice file di testo...è uno script ![]()
__________________
:: Il miglior argomento contro la democrazia è una conversazione di cinque minuti con l'elettore medio :: |
![]() |
![]() |
![]() |
#179 |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Si', vero. Quel file batch e' abbastanza impressionante nella sua semplicita'
![]()
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
![]() |
![]() |
![]() |
#180 |
Bannato
Iscritto dal: Dec 2000
Messaggi: 2097
|
tra l'altro fare una cosa del tipo che fa lo stesso per linux (che ovviamente si replica nei file .sh sui quali l'utente ha privilegi) è altrettanto facile, anzi, con linux si possono fare cose ben più complesse con i file .sh (tutto quello che fai da console, ovvero circa... tutto!
![]() ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:50.