View Full Version : [VISUAL BASIC] HELP: VIRUS in BASIC
salve a tutti.... qualcuno mi saprebbe dire come creare dei semplici virus con visual basic? vorrei proporre questo argomento come ricerca per la scuola e il mio prof ne sarebbe molto contento se facesssi una bella argomentazione su questo tema...grazie confido in una vostra risposta:D
pur utilizzando .NET io comunque ci andrei di API Win32. proviamo qualcosa di molto basilare: un virus che si piazza in HKLM\..\Run, non si riesce a terminare, e cancella files casuali dalla cartella dei documenti.
primo punto: registrarsi in HKLM\..\Run. non è un problema ovviamente: non ricordo se .NET offre classi per gestire il registro, ma di sicuro è fattibile tramite API Win32: http://msdn2.microsoft.com/en-us/library/ms725505(VS.85).aspx
la cosa più divertente però è impedire che l'utente cancelli il valore dal registro, e lo si può fare monitorando la chiave Run e riaggiungendo nuovamente il valore qualora venisse cancellato; tutto molto semplice grazie a questa API: http://msdn2.microsoft.com/en-us/library/ms724892(VS.85).aspx
secondo punto: rendere il processo interminabile. conosco due maniere: la prima consiste in un banalissimo exploit del Task Manager che ho scoperto qualche tempo fa (cionci se lo ricorda di sicuro :D :D :D), mentre la seconda è un po' più complicata.
per sfruttare l'exploit basta che il programma abbia il nome di uno dei processi critici del sistema, come ad esempio winlogon.exe, lsass.exe, smss.exe, eccetera eccetera, ed ecco là che il Task Manager ottusamente ci casca e si rifiuta di terminarlo :D
il sistema un po' più complicato invece consiste nel piallare l'ACL del proprio processo: un'ACL vuota infatti non concede permessi a nessuno, e quindi nessuno può richiedere permessi di terminazione sul processo. nota bene: l'unico modo di terminare un processo con ACL vuota è esserne l'owner in modo tale da poterne cambiare comunque l'ACL, reinserire i permessi necessari, ed effettuare la terminazione; queste operazioni però che io sappia non sono fattibili tramite le normali interfacce grafiche di Windows (cioè il Task Manager) ma in realtà nemmeno tramite interfacce grafiche più avanzate (Process Explorer); di conseguenza questo secondo sistema basato sul "piallaggio" dell'ACL è preferibile solo se si prevede che la vittima è in grado di utilizzare il Process Explorer, il quale non casca banalmente nell'exploit del Task Manager, però non è in grado di terminare processi di cui è anche owner ma su cui non ha abbastanza permessi.
terzo ed ultimo punto: banale anche tramite tecnologia .NET :)
pur utilizzando .NET io comunque ci andrei di API Win32. proviamo qualcosa di molto basilare: un virus che si piazza in HKLM\..\Run, non si riesce a terminare, e cancella files casuali dalla cartella dei documenti.
primo punto: registrarsi in HKLM\..\Run. non è un problema ovviamente: non ricordo se .NET offre classi per gestire il registro, ma di sicuro è fattibile tramite API Win32: http://msdn2.microsoft.com/en-us/library/ms725505(VS.85).aspx
la cosa più divertente però è impedire che l'utente cancelli il valore dal registro, e lo si può fare monitorando la chiave Run e riaggiungendo nuovamente il valore qualora venisse cancellato; tutto molto semplice grazie a questa API: http://msdn2.microsoft.com/en-us/library/ms724892(VS.85).aspx
ok grazie mille ma non ho ben chiaro cosa sia .NET e API..... se me lo potresti spiegare meglio perchè sono un principiante......grazie ciao:D
Capisco che sia interessante parlare di certi argomenti, ma visto che è un forum pubblico non mi sembra il caso di spiegare a tutti come creare un virtus, posto anche che scrivere un buon virus in Visual Basic 6 è un'utopia ;)
ok grazie mille ma non ho ben chiaro cosa sia .NET e API..... ehm... ho capito, il Visual Basic ancora non l'hai manco scaricato :asd:
per sapere cos'è .NET vedi qui: http://en.wikipedia.org/wiki/.NET_Framework
API invece sta per Application Programming Interface; è un termine generico che si riferisce alle interfacce di programmazione che si usano per programmare qualcosa, e nello specifico in questo caso mi riferivo alle API Win32, ovverro le interfacce di programmazione che servono a programmare su Windows a 32 bit. nei link a MSDN che ho riportato sopra ci sono esempi di funzioni facenti parte delle API Win32.
Capisco che sia interessante parlare di certi argomenti, ma visto che è un forum pubblico non mi sembra il caso di spiegare a tutti come creare un virtus, posto anche che scrivere un buon virus in Visual Basic 6 è un'utopia ;) no guarda, mi rifiuto di credere che a Marzo del 2008 lui parlando di Visual Basic sottointendesse la versione 6 :asd:
[QUOTE=71104;21242966]ehm... ho capito, il Visual Basic ancora non l'hai manco scaricato :asd:[QUOTE]
no no stai tra...ho già fatto un bel pò di programmi con VisualBasic.....
la cosa più divertente però è impedire che l'utente cancelli il valore dal registro, e lo si può fare monitorando la chiave Run e riaggiungendo nuovamente il valore qualora venisse cancellato; tutto molto semplice grazie a questa API: http://msdn2.microsoft.com/en-us/library/ms724892(VS.85).aspx
la notifica si può disattivare, ma in effetti è stupefacente come MS venga incontro alle esigenze dei virus writer con opportune API :asd:
Capisco che sia interessante parlare di certi argomenti, ma visto che è un forum pubblico non mi sembra il caso di spiegare a tutti come creare un virtus, posto anche che scrivere un buon virus in Visual Basic 6 è un'utopia ;)
ah ok sono nuovo nel forum e nn avevo visto questa "regola" mi disp......:( comunque grazie di avermi avvisato
ehm... ho capito, il Visual Basic ancora non l'hai manco scaricato :asd:
per sapere cos'è .NET vedi qui: http://en.wikipedia.org/wiki/.NET_Framework
API invece sta per Application Programming Interface; è un termine generico che si riferisce alle interfacce di programmazione che si usano per programmare qualcosa, e nello specifico in questo caso mi riferivo alle API Win32, ovverro le interfacce di programmazione che servono a programmare su Windows a 32 bit. nei link a MSDN che ho riportato sopra ci sono esempi di funzioni facenti parte delle API Win32.
comunque ora è tutto chiaro grazie:)
Capisco che sia interessante parlare di certi argomenti, ma visto che è un forum pubblico non mi sembra il caso di spiegare a tutti come creare un virtus, posto anche che scrivere un buon virus in Visual Basic 6 è un'utopia ;)
*
no no stai tra... bella fra', questo è Spitty EH, il disco di Spitty... Milano... Roma... stto arivvando... e nuon dirre ppuorca misserria... cuando ce Spitty ne la arrea...
ho già fatto un bel pò di programmi con VisualBasic..... mi rifiuto di credere che utilizzando una versione di Visual Basic superiore alla 6 tu non abbia mai incontrato la parola ".NET"; e, mi rifiuto di credere che nel 2008 qualcuno non costretto scelga ancora di usare un programma di dieci anni fa :asd:
PS: mi rifiuto anche di credere che il fenomeno di inerzia tecnologica sia talmente imponente che il tuo professore obblighi i suoi studenti ad usare un programma di dieci anni fa :huh:
PPS: ripensandoci tuttavia potrebbe trattarsi non di inerzia tecnologica, ma di banale idiozia; quella in effetti è un fenomeno di proporzioni spropositate, specialmente in Italia...
In molte scuole superiori usano ancora VB6 ;) Ci sono persino scuole dove usano Turbo C++, quindi non meravigliamoci tanto :D
:asd: :asd: :asd:
guardate, domando scusa per aver fatto la figura del solito alienato, però francamente... stiamo parlando di usare un prodotto non solo *VECCHIO*, ma anche a pagamento in confronto ad uno nuovo e gratuito, e in cambio di cosa? mah, quanto ci vorrà a migrare da una versione all'altra, una settimana di apprendimento? :rolleyes:
per quanto riguarda Turbo C++ non mi pronuncio in quanto non lo conosco: se è in grado di produrre eseguibili a 32 bit potrebbe ancora avere senso utilizzarlo in ambito didattico per l'apprendimento del C++.
No...solo eseguibili a 16 bit per DOS e non rispettava lo standard nemmeno quando è uscito :D
ah ecco :|
stavo ripensando al fenomeno dell'inerzia tecnologica vs. quello dell'idiozia, e mi stavo chiedendo: per quale assurdo motivo dieci anni fa l'Italia stava al passo coi tempi (e nelle scuole si usava Visual Basic 6) e oggi invece no? :|
sarà mica colpa di Prodi? :asd:
mindwings
24-02-2008, 16:44
ah ecco :|
stavo ripensando al fenomeno dell'inerzia tecnologica vs. quello dell'idiozia, e mi stavo chiedendo: per quale assurdo motivo dieci anni fa l'Italia stava al passo coi tempi (e nelle scuole si usava Visual Basic 6) e oggi invece no? :|
sarà mica colpa di Prodi? :asd:
Sarà mica colpa che i prof sono "stagionati" e poco "tagliati" per le tecnologie informatiche :rolleyes:
nuovoUtente86
24-02-2008, 19:51
No...solo eseguibili a 16 bit per DOS e non rispettava lo standard nemmeno quando è uscito :D
A ecco ti riferivi al turbo c++ storico per DOS.Adesso esiste la versione con IDE grafico per windows per linguaggi Delphi e C++ e per .Net con linguaggi Delphi e C#
A ecco ti riferivi al turbo c++ storico per DOS.Adesso esiste la versione con IDE grafico per windows per linguaggi Delphi e C++ e per .Net con linguaggi Delphi e C#
Sì, chiaro, non la nuova serie Turbo.
A dimostrazione del fatto che è ancora molto usato ci sono tutti quegli utenti che vengono a fare domande sulla libreria conio.h :D
Sarà mica colpa che i prof sono "stagionati" e poco "tagliati" per le tecnologie informatiche :rolleyes: e perché ora lo sono e un tempo non lo erano? fidati che dev'essere colpa di Prodi, altrimenti non avremmo fatto tutto quel casino un anno fa in piazza san Giovanni :asd:
Lo sono sempre stati...il problema è che l'informatica è giovane ed i primi professori di informatica qualche anno fa erano appena usciti dall'università...ora però ci sono sempre gli stessi professori che evidentemente, in media, non hanno voglia di aggiornarsi.
bella fra', questo è Spitty EH, il disco di Spitty... Milano... Roma... stto arivvando... e nuon dirre ppuorca misserria... cuando ce Spitty ne la arrea...
mi rifiuto di credere che utilizzando una versione di Visual Basic superiore alla 6 tu non abbia mai incontrato la parola ".NET"; e, mi rifiuto di credere che nel 2008 qualcuno non costretto scelga ancora di usare un programma di dieci anni fa :asd:
PS: mi rifiuto anche di credere che il fenomeno di inerzia tecnologica sia talmente imponente che il tuo professore obblighi i suoi studenti ad usare un programma di dieci anni fa :huh:
PPS: ripensandoci tuttavia potrebbe trattarsi non di inerzia tecnologica, ma di banale idiozia; quella in effetti è un fenomeno di proporzioni spropositate, specialmente in Italia...
si guarda a scuola usiamo la 6.0...non è colpa mia!!!! e in terza abbiamo perfino imparato il C.......:O
cdimauro
25-02-2008, 08:27
Se non erro si rischia da 3 mesi a 3 anni di carcere con la normativa attuale: non capisco perché farsi del male dando indicazioni su come realizzare virus.
Alberto, a Regina Coeli non penso ti faranno smanettare col PC, specialmente se ci finisci per causa sua...
Art. 615 quinquies
Diffusione di programmi diretti a danneggiare o interrompere un sistema informatico
Chiunque diffonde, comunica o consegna un programma informatico da lui stesso o da altri redatto, avente per scopo o per effetto il danneggiamento di un sistema informatico o telematico, dei dati o dei programmi in esso contenuti o ad esso pertinenti, ovvero l'interruzione, totale o parziale, o l'alterazione del suo funzionamento, e' punito con la reclusione sino a due anni e con la multa sino a lire venti milioni.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.