SlideShare uma empresa Scribd logo
1 de 2
Baixar para ler offline
Desofuscando um webshell em PHP
POR RICARDO LOGAN
Ao ajudar um amigo em uma perícia sobre crimes virtuais
em um servidor Web comprometido, nos deparamos
com um código que nos deixou intrigados. O código
estava ofuscado, então resolvemos desofuscar e ver do que
se tratava. Foi então que chegamos a conclusão que era
um webshell (backdoor) feito em PHP, escondido dentro do
código de uma página de erro 404 (Not Found). O objetivo
desse artigo é demonstrar como foi feita a desofuscação do
webshell.
Um trecho do código encontrado na página de erro 404
pode ser visto no Código 1.
preg_replace é uma função que realiza busca e substituição
utilizando expressão regular. Ressalta-se o uso da flag “e”,
que ocasionará a execução de código presente na string.
A string que potencialmente possui código malicioso está
presente no segundo parâmetro da chamada da função
preg_replace (Código 1). Nota-se que ela está ofuscada. Para
fins didáticos, a string ofuscada foi dividida em 3 partes: a
ideia é separar a utilização de representação hexadecimal
(Partes 1 e 3) dos demais caracteres (Parte 3).
Olhando rapidamente para as Partes 1 e 3, aparentemente,
nota-se a utilização de caracteres ASCII representados em
hexadecimal. A fim de se obter os caracteres ASCII dessas
duas partes, foi desenvolvido o programa analise.c, que
pode ser observado no Código 2. A Listagem 1 ilustra a
execução de tal programa.
Bingo! Observando os resultados obtidos na Listagem 1,
podemos perceber que realmente as partes 1 e 3 tratam-se
de caracteres ASCII representados em hexadecimal.
A primeira parte da string nada mais é do que uma
chamada para as funções eval, gzinflate e base64_decode.
Essas funções serão interpretadas em tempo de execução
por causa do modificador “e”, que pode ser observado na
chamada da função preg_replace no Código 1.
Adicionalmente, ressalta-se que a segunda parte da string
será submetida diretamente à função base64_decode, logo
percebe-se que ela se trata de dados codificados com
Base64.
A terceira parte da string ofuscada simplesmente fecha os
parêntesis abertos pela primeira e encerra o comando PHP
com um“;”.
Até agora foi descoberto que a chamada a preg_replace,
observada no Código 1, ocasionará a interpretação do
código presente na Listagem 2.
Observando a Listagem 2, nota-se claramente que a
segunda parte da string é um parâmetro passado para a
função base64_decode. Logo, essa parte é uma string com
dados codificados em Base64. Desta forma, tem-se que o
primeiro e último caracteres da Parte 2 são, simplesmente,
indicadores para que o PHP interprete o resto dos dados
dessa parte como string.
A fim de desobfuscar a segunda parte da string, foi
desenvolvido o programa analise2.php (Código 3), cujo
objetivo é desfazer as ações realizadas pelas funções
presentes na Listagem 2.
A execução do programa analise2.php pode ser observada
na Listagem 4.
Código 1 –Trecho de código encontrado na página de erro 404. O código completo pode ser obtido em [1].
Parte 1 – Primeira parte da string ofuscada.
Parte 2 – Segunda parte da string ofuscada. Essa parte pode ser vista em sua totalidade em [2].
Parte 3 – Última parte da string ofuscada.
Código 2 – Programa analise.c.
Código 3 – Programa analise2.php.
Listagem 1 – Execução do programa analise.c nas Partes 1 e 3 da string ofuscada.[1].
Listagem 2 – Código a ser interpretado como resultado da chamada a preg_replace observada no Código 1.
21
Pronto! Agora basta abrir o arquivo
webshellfinal.php para ver a string que
estava ofuscada (Listagem 5).
Analisando a Listagem 2, percebe-se
que o código presente na Listagem
5 é o que, de fato, será interpretado
pelo PHP. Agora, fica a cargo do leitor
estudar o funcionamento do webshell.
NOTA DO EDITOR:
Durante o processo de revisão deste artigo,
notou-se que alguns antivírus consideraram
o documento .docx enviado pelo autor como
infectado. Após alguns testes, ficou claro que
o motivo de tal comportamento foi a presença
dasstringsrelativas aoscódigoselistagensaqui
presentes. Após alguns outros testes, obteve-se
um resultado curioso:
1. O código presente em [1] foi submetido
ao virustotal.com. Resultado: de 55 antivírus
utilizados, 28 detectaram o arquivo como sendo
malicioso.
2. Do código presente em [1], apenas uma
modificação foi realizada: na linha do preg_
replace(),aprimeirarepresentaçãohexadecimal
(“x65”)foisubstituídapelorespectivocaractere
(“e”).Utilizandoovirustotal.com,somente6dos
55 antivírus detectaram o arquivo como sendo
malicioso.
Fica uma sugestão de exercício aos leitores:
utilizar o código presente em [1] e o site
virustotal.com para estudar o comportamento
dos antivírus.
Referências:
[1]Códigocompleto.Disponívelem:http://pastebin.
com/GxNe5DhM. Acessado em: 07/09/2014.
[2] Parte 2 ofuscada. Disponível em: http://pastebin.
com/501LVZa6. Acessado em: 07/09/2014.
[3] Parte 2 desofuscada. Disponível em http://
pastebin.com/sAGqxJP9. Acessado em: 07/09/2014.
Listagem 4 – Execução do programa analise2.php.
Listagem 5 – Segunda parte da string desofuscada.
RICARDO LOGAN
Analista de segurança, formado em ciências da computação e pós-graduado
em segurança da informação. Entusiasta em pesquisas sobre malware e testes
de intrusão. Conhecimento em configuração, hardening e tunning em várias
plataformas, tais como Windows, Linux, Cisco. Contribui para comunidade
Slackware Brasil (Slackshow e Slackzine) e faz parte do Staff dos eventos H2HC,
SlackwareShow e Bsides SP.

Mais conteúdo relacionado

Mais procurados

Aula6 Cont
Aula6 ContAula6 Cont
Aula6 Contwillians
 
Rest fuuuu front-end
Rest fuuuu front-endRest fuuuu front-end
Rest fuuuu front-endIgor Santos
 
Compiladores e interpretadores
Compiladores e interpretadoresCompiladores e interpretadores
Compiladores e interpretadoresVictor Antoniazzi
 
Análise estática de malware com o pev
Análise estática de malware com o pevAnálise estática de malware com o pev
Análise estática de malware com o pevDiego Santos
 
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoPHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoRafael Jaques
 
Laboratório de Programação I: Arquivos (texto) em disco
Laboratório de Programação I: Arquivos (texto) em discoLaboratório de Programação I: Arquivos (texto) em disco
Laboratório de Programação I: Arquivos (texto) em discoAlex Camargo
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1Norivan Oliveira
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução BásicaChristian Perone
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básicoCezar Souza
 
REST-fuuuu - Boas práticas RESTful [PHPeste 2017]
REST-fuuuu - Boas práticas RESTful [PHPeste 2017]REST-fuuuu - Boas práticas RESTful [PHPeste 2017]
REST-fuuuu - Boas práticas RESTful [PHPeste 2017]Igor Santos
 
O que há de novo no PHP 5.3
O que há de novo no PHP 5.3O que há de novo no PHP 5.3
O que há de novo no PHP 5.3Jose Berardo
 
Trabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonTrabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonJanderson Campêlo
 

Mais procurados (14)

Aula6 Cont
Aula6 ContAula6 Cont
Aula6 Cont
 
Rest fuuuu front-end
Rest fuuuu front-endRest fuuuu front-end
Rest fuuuu front-end
 
Compiladores e interpretadores
Compiladores e interpretadoresCompiladores e interpretadores
Compiladores e interpretadores
 
Análise estática de malware com o pev
Análise estática de malware com o pevAnálise estática de malware com o pev
Análise estática de malware com o pev
 
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoPHP na Tela Escura: Aplicações Poderosas em Linha de Comando
PHP na Tela Escura: Aplicações Poderosas em Linha de Comando
 
Laboratório de Programação I: Arquivos (texto) em disco
Laboratório de Programação I: Arquivos (texto) em discoLaboratório de Programação I: Arquivos (texto) em disco
Laboratório de Programação I: Arquivos (texto) em disco
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1
 
Shell script
Shell script Shell script
Shell script
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 
Minicurso PHP básico
Minicurso PHP básicoMinicurso PHP básico
Minicurso PHP básico
 
REST-fuuuu - Boas práticas RESTful [PHPeste 2017]
REST-fuuuu - Boas práticas RESTful [PHPeste 2017]REST-fuuuu - Boas práticas RESTful [PHPeste 2017]
REST-fuuuu - Boas práticas RESTful [PHPeste 2017]
 
O que há de novo no PHP 5.3
O que há de novo no PHP 5.3O que há de novo no PHP 5.3
O que há de novo no PHP 5.3
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Trabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonTrabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - Python
 

Destaque

(130216) #fitalk potentially malicious ur ls
(130216) #fitalk   potentially malicious ur ls(130216) #fitalk   potentially malicious ur ls
(130216) #fitalk potentially malicious ur lsINSIGHT FORENSIC
 
Applying Anti-Reversing Techniques to Machine Code
Applying Anti-Reversing Techniques to Machine CodeApplying Anti-Reversing Techniques to Machine Code
Applying Anti-Reversing Techniques to Machine CodeTeodoro Cipresso
 
Binary Obfuscation from the Top Down: Obfuscation Executables without Writing...
Binary Obfuscation from the Top Down: Obfuscation Executables without Writing...Binary Obfuscation from the Top Down: Obfuscation Executables without Writing...
Binary Obfuscation from the Top Down: Obfuscation Executables without Writing...frank2
 
Intrusion detection and prevention
Intrusion detection and preventionIntrusion detection and prevention
Intrusion detection and preventionNicholas Davis
 
Generic attack detection engine
Generic attack detection engineGeneric attack detection engine
Generic attack detection engineVikrant Kansal
 
Applciation footprinting, discovery and enumeration
Applciation footprinting, discovery and enumerationApplciation footprinting, discovery and enumeration
Applciation footprinting, discovery and enumerationBlueinfy Solutions
 
Obfuscation, Golfing and Secret Operators in Perl
Obfuscation, Golfing and Secret Operators in PerlObfuscation, Golfing and Secret Operators in Perl
Obfuscation, Golfing and Secret Operators in PerlJosé Castro
 
TakeDownCon Rocket City: WebShells by Adrian Crenshaw
TakeDownCon Rocket City: WebShells by Adrian CrenshawTakeDownCon Rocket City: WebShells by Adrian Crenshaw
TakeDownCon Rocket City: WebShells by Adrian CrenshawEC-Council
 
Endpoint Security Evasion
Endpoint Security EvasionEndpoint Security Evasion
Endpoint Security EvasionInvincea, Inc.
 
Deobfuscation and beyond (ZeroNights, 2014)
Deobfuscation and beyond (ZeroNights, 2014)Deobfuscation and beyond (ZeroNights, 2014)
Deobfuscation and beyond (ZeroNights, 2014)ReCrypt
 
Top Tactics For Endpoint Security
Top Tactics For Endpoint SecurityTop Tactics For Endpoint Security
Top Tactics For Endpoint SecurityBen Rothke
 
Got database access? Own the network!
Got database access? Own the network!Got database access? Own the network!
Got database access? Own the network!Bernardo Damele A. G.
 
An Introduction of SQL Injection, Buffer Overflow & Wireless Attack
An Introduction of SQL Injection, Buffer Overflow & Wireless AttackAn Introduction of SQL Injection, Buffer Overflow & Wireless Attack
An Introduction of SQL Injection, Buffer Overflow & Wireless AttackTechSecIT
 
Roadsec 2016 Mach-o A New Threat
Roadsec 2016   Mach-o A New ThreatRoadsec 2016   Mach-o A New Threat
Roadsec 2016 Mach-o A New ThreatRicardo L0gan
 
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytesWindows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytesPeter Hlavaty
 

Destaque (20)

(130216) #fitalk potentially malicious ur ls
(130216) #fitalk   potentially malicious ur ls(130216) #fitalk   potentially malicious ur ls
(130216) #fitalk potentially malicious ur ls
 
Spo2 t19 spo2-t19
Spo2 t19 spo2-t19Spo2 t19 spo2-t19
Spo2 t19 spo2-t19
 
Applying Anti-Reversing Techniques to Machine Code
Applying Anti-Reversing Techniques to Machine CodeApplying Anti-Reversing Techniques to Machine Code
Applying Anti-Reversing Techniques to Machine Code
 
Binary Obfuscation from the Top Down: Obfuscation Executables without Writing...
Binary Obfuscation from the Top Down: Obfuscation Executables without Writing...Binary Obfuscation from the Top Down: Obfuscation Executables without Writing...
Binary Obfuscation from the Top Down: Obfuscation Executables without Writing...
 
Intrusion detection and prevention
Intrusion detection and preventionIntrusion detection and prevention
Intrusion detection and prevention
 
Generic attack detection engine
Generic attack detection engineGeneric attack detection engine
Generic attack detection engine
 
Applciation footprinting, discovery and enumeration
Applciation footprinting, discovery and enumerationApplciation footprinting, discovery and enumeration
Applciation footprinting, discovery and enumeration
 
Obfuscation, Golfing and Secret Operators in Perl
Obfuscation, Golfing and Secret Operators in PerlObfuscation, Golfing and Secret Operators in Perl
Obfuscation, Golfing and Secret Operators in Perl
 
EvasionTechniques
EvasionTechniquesEvasionTechniques
EvasionTechniques
 
Back to the CORE
Back to the COREBack to the CORE
Back to the CORE
 
Attack on the Core
Attack on the CoreAttack on the Core
Attack on the Core
 
CSIRT_16_Jun
CSIRT_16_JunCSIRT_16_Jun
CSIRT_16_Jun
 
TakeDownCon Rocket City: WebShells by Adrian Crenshaw
TakeDownCon Rocket City: WebShells by Adrian CrenshawTakeDownCon Rocket City: WebShells by Adrian Crenshaw
TakeDownCon Rocket City: WebShells by Adrian Crenshaw
 
Endpoint Security Evasion
Endpoint Security EvasionEndpoint Security Evasion
Endpoint Security Evasion
 
Deobfuscation and beyond (ZeroNights, 2014)
Deobfuscation and beyond (ZeroNights, 2014)Deobfuscation and beyond (ZeroNights, 2014)
Deobfuscation and beyond (ZeroNights, 2014)
 
Top Tactics For Endpoint Security
Top Tactics For Endpoint SecurityTop Tactics For Endpoint Security
Top Tactics For Endpoint Security
 
Got database access? Own the network!
Got database access? Own the network!Got database access? Own the network!
Got database access? Own the network!
 
An Introduction of SQL Injection, Buffer Overflow & Wireless Attack
An Introduction of SQL Injection, Buffer Overflow & Wireless AttackAn Introduction of SQL Injection, Buffer Overflow & Wireless Attack
An Introduction of SQL Injection, Buffer Overflow & Wireless Attack
 
Roadsec 2016 Mach-o A New Threat
Roadsec 2016   Mach-o A New ThreatRoadsec 2016   Mach-o A New Threat
Roadsec 2016 Mach-o A New Threat
 
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytesWindows Kernel Exploitation : This Time Font hunt you down in 4 bytes
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytes
 

Semelhante a Desofuscando um webshell em PHP

Semelhante a Desofuscando um webshell em PHP (12)

Slides do cuso_php
Slides do cuso_phpSlides do cuso_php
Slides do cuso_php
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programação
 
Módulo de php
Módulo de phpMódulo de php
Módulo de php
 
Oficina de Web Design Lecom - PHP e JavaScript
Oficina de Web Design Lecom - PHP e JavaScriptOficina de Web Design Lecom - PHP e JavaScript
Oficina de Web Design Lecom - PHP e JavaScript
 
Procergs php-seguro
Procergs php-seguroProcergs php-seguro
Procergs php-seguro
 
Guia php
Guia phpGuia php
Guia php
 
Gerador de Código-Objeto - Compiladores
Gerador de Código-Objeto - CompiladoresGerador de Código-Objeto - Compiladores
Gerador de Código-Objeto - Compiladores
 
Algoritmo e Complexidade - texto Aula1.docx
Algoritmo e Complexidade - texto Aula1.docxAlgoritmo e Complexidade - texto Aula1.docx
Algoritmo e Complexidade - texto Aula1.docx
 
Apostila: Curso de java I
Apostila: Curso de java IApostila: Curso de java I
Apostila: Curso de java I
 
Teste de Intrusão Em Redes corporativas
Teste de Intrusão Em Redes corporativasTeste de Intrusão Em Redes corporativas
Teste de Intrusão Em Redes corporativas
 
OpenMP Day1
OpenMP Day1OpenMP Day1
OpenMP Day1
 
Controle lpt em_c_sharp
Controle lpt em_c_sharpControle lpt em_c_sharp
Controle lpt em_c_sharp
 

Mais de Ricardo L0gan

Andsec Reversing on Mach-o File
Andsec Reversing on Mach-o FileAndsec Reversing on Mach-o File
Andsec Reversing on Mach-o FileRicardo L0gan
 
Bsides SP 2015 - Mach-O - A New Threat
Bsides SP 2015 - Mach-O - A New ThreatBsides SP 2015 - Mach-O - A New Threat
Bsides SP 2015 - Mach-O - A New ThreatRicardo L0gan
 
Latinoware 2015 Mach-O
Latinoware 2015 Mach-OLatinoware 2015 Mach-O
Latinoware 2015 Mach-ORicardo L0gan
 
Bhack 2015 - mach-o Uma Nova Ameaça
Bhack 2015 - mach-o Uma Nova AmeaçaBhack 2015 - mach-o Uma Nova Ameaça
Bhack 2015 - mach-o Uma Nova AmeaçaRicardo L0gan
 

Mais de Ricardo L0gan (6)

Nullbyte 6ed. 2019
Nullbyte 6ed. 2019Nullbyte 6ed. 2019
Nullbyte 6ed. 2019
 
H2HC - R3MF
H2HC - R3MFH2HC - R3MF
H2HC - R3MF
 
Andsec Reversing on Mach-o File
Andsec Reversing on Mach-o FileAndsec Reversing on Mach-o File
Andsec Reversing on Mach-o File
 
Bsides SP 2015 - Mach-O - A New Threat
Bsides SP 2015 - Mach-O - A New ThreatBsides SP 2015 - Mach-O - A New Threat
Bsides SP 2015 - Mach-O - A New Threat
 
Latinoware 2015 Mach-O
Latinoware 2015 Mach-OLatinoware 2015 Mach-O
Latinoware 2015 Mach-O
 
Bhack 2015 - mach-o Uma Nova Ameaça
Bhack 2015 - mach-o Uma Nova AmeaçaBhack 2015 - mach-o Uma Nova Ameaça
Bhack 2015 - mach-o Uma Nova Ameaça
 

Desofuscando um webshell em PHP

  • 1. Desofuscando um webshell em PHP POR RICARDO LOGAN Ao ajudar um amigo em uma perícia sobre crimes virtuais em um servidor Web comprometido, nos deparamos com um código que nos deixou intrigados. O código estava ofuscado, então resolvemos desofuscar e ver do que se tratava. Foi então que chegamos a conclusão que era um webshell (backdoor) feito em PHP, escondido dentro do código de uma página de erro 404 (Not Found). O objetivo desse artigo é demonstrar como foi feita a desofuscação do webshell. Um trecho do código encontrado na página de erro 404 pode ser visto no Código 1. preg_replace é uma função que realiza busca e substituição utilizando expressão regular. Ressalta-se o uso da flag “e”, que ocasionará a execução de código presente na string. A string que potencialmente possui código malicioso está presente no segundo parâmetro da chamada da função preg_replace (Código 1). Nota-se que ela está ofuscada. Para fins didáticos, a string ofuscada foi dividida em 3 partes: a ideia é separar a utilização de representação hexadecimal (Partes 1 e 3) dos demais caracteres (Parte 3). Olhando rapidamente para as Partes 1 e 3, aparentemente, nota-se a utilização de caracteres ASCII representados em hexadecimal. A fim de se obter os caracteres ASCII dessas duas partes, foi desenvolvido o programa analise.c, que pode ser observado no Código 2. A Listagem 1 ilustra a execução de tal programa. Bingo! Observando os resultados obtidos na Listagem 1, podemos perceber que realmente as partes 1 e 3 tratam-se de caracteres ASCII representados em hexadecimal. A primeira parte da string nada mais é do que uma chamada para as funções eval, gzinflate e base64_decode. Essas funções serão interpretadas em tempo de execução por causa do modificador “e”, que pode ser observado na chamada da função preg_replace no Código 1. Adicionalmente, ressalta-se que a segunda parte da string será submetida diretamente à função base64_decode, logo percebe-se que ela se trata de dados codificados com Base64. A terceira parte da string ofuscada simplesmente fecha os parêntesis abertos pela primeira e encerra o comando PHP com um“;”. Até agora foi descoberto que a chamada a preg_replace, observada no Código 1, ocasionará a interpretação do código presente na Listagem 2. Observando a Listagem 2, nota-se claramente que a segunda parte da string é um parâmetro passado para a função base64_decode. Logo, essa parte é uma string com dados codificados em Base64. Desta forma, tem-se que o primeiro e último caracteres da Parte 2 são, simplesmente, indicadores para que o PHP interprete o resto dos dados dessa parte como string. A fim de desobfuscar a segunda parte da string, foi desenvolvido o programa analise2.php (Código 3), cujo objetivo é desfazer as ações realizadas pelas funções presentes na Listagem 2. A execução do programa analise2.php pode ser observada na Listagem 4. Código 1 –Trecho de código encontrado na página de erro 404. O código completo pode ser obtido em [1]. Parte 1 – Primeira parte da string ofuscada. Parte 2 – Segunda parte da string ofuscada. Essa parte pode ser vista em sua totalidade em [2]. Parte 3 – Última parte da string ofuscada. Código 2 – Programa analise.c. Código 3 – Programa analise2.php. Listagem 1 – Execução do programa analise.c nas Partes 1 e 3 da string ofuscada.[1]. Listagem 2 – Código a ser interpretado como resultado da chamada a preg_replace observada no Código 1. 21
  • 2. Pronto! Agora basta abrir o arquivo webshellfinal.php para ver a string que estava ofuscada (Listagem 5). Analisando a Listagem 2, percebe-se que o código presente na Listagem 5 é o que, de fato, será interpretado pelo PHP. Agora, fica a cargo do leitor estudar o funcionamento do webshell. NOTA DO EDITOR: Durante o processo de revisão deste artigo, notou-se que alguns antivírus consideraram o documento .docx enviado pelo autor como infectado. Após alguns testes, ficou claro que o motivo de tal comportamento foi a presença dasstringsrelativas aoscódigoselistagensaqui presentes. Após alguns outros testes, obteve-se um resultado curioso: 1. O código presente em [1] foi submetido ao virustotal.com. Resultado: de 55 antivírus utilizados, 28 detectaram o arquivo como sendo malicioso. 2. Do código presente em [1], apenas uma modificação foi realizada: na linha do preg_ replace(),aprimeirarepresentaçãohexadecimal (“x65”)foisubstituídapelorespectivocaractere (“e”).Utilizandoovirustotal.com,somente6dos 55 antivírus detectaram o arquivo como sendo malicioso. Fica uma sugestão de exercício aos leitores: utilizar o código presente em [1] e o site virustotal.com para estudar o comportamento dos antivírus. Referências: [1]Códigocompleto.Disponívelem:http://pastebin. com/GxNe5DhM. Acessado em: 07/09/2014. [2] Parte 2 ofuscada. Disponível em: http://pastebin. com/501LVZa6. Acessado em: 07/09/2014. [3] Parte 2 desofuscada. Disponível em http:// pastebin.com/sAGqxJP9. Acessado em: 07/09/2014. Listagem 4 – Execução do programa analise2.php. Listagem 5 – Segunda parte da string desofuscada. RICARDO LOGAN Analista de segurança, formado em ciências da computação e pós-graduado em segurança da informação. Entusiasta em pesquisas sobre malware e testes de intrusão. Conhecimento em configuração, hardening e tunning em várias plataformas, tais como Windows, Linux, Cisco. Contribui para comunidade Slackware Brasil (Slackshow e Slackzine) e faz parte do Staff dos eventos H2HC, SlackwareShow e Bsides SP.